VOGONS


Reply 40 of 88, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie
Dog wrote on 2021-02-09, 07:07:

I'm still learning, but I was using VBEVSTST.EXE

Falcosoft wrote on 2017-12-13, 02:56:

I have written a little test (VBEVSTST.EXE attached, source code included) that can be used to discover if a card is affected. After staring the program in DOS/Win9x/XP you just have to press the arrow keys.

This seemed to imply it should at least run in XP and identify if the card was affected, but I can understand x64 may have required a separate build or change to source.

x64 version of XP (like all 64-bit versions of Windows) does not contain the necessary subsystem to run native DOS executable files (NTVDM). Win9x and XP (32-bit) are just mentioned since you can run native DOS programs on them so booting to pure DOS is not necessary for testing.
You can not write/build an x64 version of the test since there is no x64 version of DOS. And this issue is only relevant for DOS programs. In x64 Windows no VESA BIOS calls are/can be used anyway so writing an x64 Windows program to test this issue does not make any sense and is not even possible..

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 41 of 88, by RayeR

User metadata
Rank Oldbie
Rank
Oldbie

>ruthan
I didn't test such system but I expect it has only one intel video BIOS and the nvidia GPU is used through drivers in systems that supports it. It is not the same case like desktop MB where you switch separate videocards including their video BIOSes,

Gigabyte GA-P67-DS3-B3, Core i7-2600K @4,5GHz, 8GB DDR3, 128GB SSD, GTX970(GF7900GT), SB Audigy + YMF724F + DreamBlaster combo + LPC2ISA

Reply 42 of 88, by Methanoid

User metadata
Rank Newbie
Rank
Newbie

Thank you for the patch. Can i ask a dumb Q, is it possible to game on the VBEdrv in W95/98/2K? I have a Kepler GT740 that does multiple duties as a GPU for Win10,MacOS,Linux etc and would be great if I could use with patch and VBEdriver

Reply 43 of 88, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
Methanoid wrote on 2022-03-09, 10:29:

Thank you for the patch. Can i ask a dumb Q, is it possible to game on the VBEdrv in W95/98/2K? I have a Kepler GT740 that does multiple duties as a GPU for Win10,MacOS,Linux etc and would be great if I could use with patch and VBEdriver

Are you referring to VBEMP 9x/NT? The VBE driver is not accelerated, but if you have a good enough CPU you might be able to play a good amount of games of that period using pure software acceleration.

I don't use Win9x much recently so I'm not sure, but you can try loading this TSR before starting Win9x, to see if it makes any difference for DOS programs launched from Windows.

As for Win2K, I think there are modded nVidia drivers for Extended Kernel to allow making use of video cards supported by XP, which should include your GT740.

Reply 45 of 88, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
MarmotaArmy wrote on 2023-02-15, 14:34:

Hello
I can confirm the bug on a NVS 280 PCI.
The workaround works perfectly in windows 98

NVS 280 PCI... that seems to be a rather dated card of GeForce 5 FX series (NV3x)... I don't think it should be affected by this bug unless it is a special case.

This particular VESA BIOS bug is just a tip of the iceberg. It seems for nVidia, the Fermi family is the last to have a mostly sane VESA BIOS, which can pass this function test and could render most of the DOS stuffs okay.

An off-topic note: An old motherboard of mine, ASUS M2V, would not work with cards starting from nVidia Kepler and AMD Southern Islands. With such cards installed the system would not show anything and may beep about video card initialization errors, particularly with AMD ones.

Considering the information from this thread, as well as the info I found about AMD after googling, legacy VESA BIOS breakages indeed started from these generations and matched the ones since which my board would not be able to work with. So that particular board probably required a video card with a sane VESA BIOS to function properly.

The later the card's generation the worse the card's VESA BIOS would become, eventually to the point that CSM can no longer be safely turned on (particularly with only onboard graphics).

EDIT: This post, though mostly about onboard graphics (especially those on which CSM is not usable), might be of some interest. Wonder if it's possible to "patch" the VBIOS of newer video cards at the expense of some conventional memory.

Reply 46 of 88, by MarmotaArmy

User metadata
Rank Newbie
Rank
Newbie
LSS10999 wrote on 2023-02-16, 02:25:
NVS 280 PCI... that seems to be a rather dated card of GeForce 5 FX series (NV3x)... I don't think it should be affected by this […]
Show full quote
MarmotaArmy wrote on 2023-02-15, 14:34:

Hello
I can confirm the bug on a NVS 280 PCI.
The workaround works perfectly in windows 98

NVS 280 PCI... that seems to be a rather dated card of GeForce 5 FX series (NV3x)... I don't think it should be affected by this bug unless it is a special case.

This particular VESA BIOS bug is just a tip of the iceberg. It seems for nVidia, the Fermi family is the last to have a mostly sane VESA BIOS, which can pass this function test and could render most of the DOS stuffs okay.

An off-topic note: An old motherboard of mine, ASUS M2V, would not work with cards starting from nVidia Kepler and AMD Southern Islands. With such cards installed the system would not show anything and may beep about video card initialization errors, particularly with AMD ones.

Considering the information from this thread, as well as the info I found about AMD after googling, legacy VESA BIOS breakages indeed started from these generations and matched the ones since which my board would not be able to work with. So that particular board probably required a video card with a sane VESA BIOS to function properly.

The later the card's generation the worse the card's VESA BIOS would become, eventually to the point that CSM can no longer be safely turned on (particularly with only onboard graphics).

EDIT: This post, though mostly about onboard graphics (especially those on which CSM is not usable), might be of some interest. Wonder if it's possible to "patch" the VBIOS of newer video cards at the expense of some conventional memory.

Falcosoft,
I'm sorry I didn't test it properly as stated in the OP.

I quick read the OP and then just applied the workaround for my problem and it worked (DUKE3d with awful flickering and XCOM ufo Defense just didn't worked).
But i didn't test it with VBEVSTST.EXE. I'll test it next week when I come back home

Reply 47 of 88, by RayeR

User metadata
Rank Oldbie
Rank
Oldbie

I wonder too as I had tested GT 230 and was not bugged. I should have somewhere 260 or 270 so I could test it. Maybe quadro NVS has more different vbios than GT/GTX...

Gigabyte GA-P67-DS3-B3, Core i7-2600K @4,5GHz, 8GB DDR3, 128GB SSD, GTX970(GF7900GT), SB Audigy + YMF724F + DreamBlaster combo + LPC2ISA

Reply 48 of 88, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
RayeR wrote on 2023-02-16, 13:02:

I wonder too as I had tested GT 230 and was not bugged. I should have somewhere 260 or 270 so I could test it. Maybe quadro NVS has more different vbios than GT/GTX...

If referring to the Quadro NVS line as a whole... the model numbers can be rather confusing... The ATI/AMD counterpart, the FireMV line, is quite similar in this aspect.

These are multi display focused low-end video cards with models covering quite a few generations, and the usual numbering rules don't apply. In some cases, a lower model number might belong to a newer generation than a higher one.

AFAICT Quadro cards don't vary as much as GeForce ones, though the VBIOS may not be trivially interchangeable as they may contain different subsystem ID depending on the OEM, such as HP, Dell, or generic. The difference in subsystem ID may prevent NVFLASH from accepting the BIOS without forcing.

Reply 49 of 88, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie
MarmotaArmy wrote on 2023-02-16, 12:47:
Falcosoft, I'm sorry I didn't test it properly as stated in the OP. […]
Show full quote

Falcosoft,
I'm sorry I didn't test it properly as stated in the OP.

I quick read the OP and then just applied the workaround for my problem and it worked (DUKE3d with awful flickering and XCOM ufo Defense just didn't worked).
But i didn't test it with VBEVSTST.EXE. I'll test it next week when I come back home

Hi,
I do not think you have to apologize 😀
Meanwhile I also got reports that the patch worked for other cards that theoretically were not affected by this same bug. An example from a Russian forum
(in this case the problematic card was a Geforce FX5500):
https://www.old-games.ru/forum/threads/starye … 08#post-1756750
And I myself also encountered a Geforce 7600 GT that occasionally flickered in DN3D and the patch cured this problem perfectly. Yet this card worked perfectly with the test program so I suspect that your NVS 280 PCI should also work with the VBEVSTST test.

The conclusion is that the patch seems to be able to cure other bugs related to VBE 2.0 linear frame buffer implementations when multiple video pages are used.
I have also noticed that even in case of non-buggy cards the patch can cure some massive slowdowns (e.g. in DN3D when mirrors are located in a room).
NOLFB and VESA12 can also cure the same problems but generally it seems MSKVBEF7 does not affect performance negatively while NOLFB and VESA12 do.

The reason can be that NOLFB and VESA12 completely disable linear frame buffer modes thus forcing the games to use VESA 1.2 compatible banked video modes while MSKVBEF7 only disables multiple video pages but otherwise enables the games to use VESA 2.0 compatible linear frame buffer modes.

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 50 of 88, by RayeR

User metadata
Rank Oldbie
Rank
Oldbie

Hm, I didn't observed any flicker issues when I used 7600GT, 7900GT and 6600GT in the past...

Gigabyte GA-P67-DS3-B3, Core i7-2600K @4,5GHz, 8GB DDR3, 128GB SSD, GTX970(GF7900GT), SB Audigy + YMF724F + DreamBlaster combo + LPC2ISA

Reply 51 of 88, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie
RayeR wrote on 2023-02-16, 17:35:

Hm, I didn't observed any flicker issues when I used 7600GT, 7900GT and 6600GT in the past...

The flickering happens only in 1280x1024. Lower resolutions work perfectly. And 1280x1204 is only problematic in DN3D but works correctly e.g. in Quake. So this is a completely different issue.
BTW the card is a 256MB PCIe Geforce 7600 GT that is attached through DVI to an 1920x1080 display. In this case the highest available VESA resolution is only 1280x1024 despite the fact that the card scales any VESA resolutions internally so always outputs at the native resolution of the display (in this case 1920x1080).

But the point is that if you load MSKVBEF7 then 1280x1024 works perfectly in DN3D with this card.

BIOS version of this card:

GF7600GT.png
Filename
GF7600GT.png
File size
159.37 KiB
Views
2117 views
File license
Public domain

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 52 of 88, by eddman

User metadata
Rank Member
Rank
Member
Falcosoft wrote on 2023-02-16, 14:54:

The conclusion is that the patch seems to be able to cure other bugs related to VBE 2.0 linear frame buffer implementations when multiple video pages are used.
I have also noticed that even in case of non-buggy cards the patch can cure some massive slowdowns (e.g. in DN3D when mirrors are located in a room).

I just stumbled upon this, and man, it massively improves voodoo 3's performance in PCem in Duke 3D running on Windows 98 (not just mirrors, but as a whole). When standing in the same spot, the fps went from 36 to 56-58. That's ~58% higher! It now more or less performs similar to Virge/DX.

Many thanks for making this TSR. I was baffled by the card's low performance but couldn't figure out what the issue was. I tried to use UniVBE but it doesn't support V3, and I gave up after that and chose the easier workaround of switching to other cards.

Are V3, and perhaps banshee cards, known to have similar performance issues in other games?

EDIT:

Did a bit more light Duke Nukem 3D benchmarking with a Pentium MMX 200 on a P55T2P4, at 640 x 480, in PCem. It's not thorough or super accurate but gives a good overview nonetheless.

Duke3D with MSKVBEF7.png
Filename
Duke3D with MSKVBEF7.png
File size
9.18 KiB
Views
1881 views
File license
CC-BY-4.0

Reply 53 of 88, by Kordanor

User metadata
Rank Member
Rank
Member

Experienced some issues with my Geforce 4 4200 TI (a single incorrect frame every minute or so, explained here: Re: Geforce 4 and VESA ? ) which ONLY happen if the DVI Out is used.

I first ran the testfile to check, but apparently my card has no issues there.
Then I ran the MSKVBEF7 anyways. The result is similar to the NOLFB: It reduces the framerate quite a bit (from over 40 down to 30), however I can't see any visible tearing, which was quite bad with NOLFB. So still not great, but it seems to be a better fix than nolfb.

Reply 54 of 88, by an64

User metadata
Rank Newbie
Rank
Newbie

I have an idea.
If someone with gtx5xx or 4xx can extract and post here protected mode procedures from his videocard, then i will look at this and try test and adopt to newer cards. So i hope we will have working doublebuffering.

So, if you want to help, download attached psave.com , run it and it will create file named pmtable.bin , please post it here

Attachments

  • Filename
    PSAVE.ZIP
    File size
    254 Bytes
    Downloads
    48 downloads
    File license
    Public domain

Reply 55 of 88, by RayeR

User metadata
Rank Oldbie
Rank
Oldbie

Good idea, unfortunatelly I don't have any from this range, only 230, 270, 670, 970. Couldn't you extract from full image file for card vbios update?

BTW a friend of mine found and compiled nvidia XSOD DOS utility that can enable/switch different VGA outputs e.g. CRT/DVI/LCD display, mostly useful for laptops but also work on my desktop GTX970 to switch between CRT and DVI but this card cannot enable multiple outputs, only one of them.

http://www.laaca.borec.cz/soubory/xsod.zip

Gigabyte GA-P67-DS3-B3, Core i7-2600K @4,5GHz, 8GB DDR3, 128GB SSD, GTX970(GF7900GT), SB Audigy + YMF724F + DreamBlaster combo + LPC2ISA

Reply 56 of 88, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
an64 wrote on 2023-08-30, 04:40:

I have an idea.
If someone with gtx5xx or 4xx can extract and post here protected mode procedures from his videocard, then i will look at this and try test and adopt to newer cards. So i hope we will have working doublebuffering.

So, if you want to help, download attached psave.com , run it and it will create file named pmtable.bin , please post it here

Just tried this on my Quadro 2000 (equivalent to GTS 450), but I noticed something.

I first did a PSAVE from a DOS environment with drivers such as JEMM386 loaded, then did a PSAVE without loading any driver (clean). In both cases I get a 257-byte PMTABLE.BIN file.

Comparing the two results I found that there are 19 bytes completely different at the end. The first 48 bytes have identical contents, while the rest of the bytes before the different ones at the end are all zeroes in both cases.

Here are both PMTABLE.BIN files. The PMTABLE.0 file is the one I took first (in an environment with drivers loaded), and the PMTABLE.1 file is the one I took later (in a clean environment, without any driver). I don't know if the data at the end of the files (that are different) matter.

Attachments

  • Filename
    quadro-2000-pmtable.zip
    File size
    420 Bytes
    Downloads
    45 downloads
    File comment
    PMTABLE files from Quadro 2000.
    File license
    Fair use/fair dealing exception

Reply 58 of 88, by an64

User metadata
Rank Newbie
Rank
Newbie
RayeR wrote on 2023-08-30, 11:45:

Good idea, unfortunatelly I don't have any from this range, only 230, 270, 670, 970. Couldn't you extract from full image file for card vbios update?

No, its very complicated

RayeR wrote on 2023-08-30, 11:45:

BTW a friend of mine found and compiled nvidia XSOD DOS utility that can enable/switch different VGA outputs e.g. CRT/DVI/LCD display, mostly useful for laptops but also work on my desktop GTX970 to switch between CRT and DVI but this card cannot enable multiple outputs, only one of them.

Thanks!!

Reply 59 of 88, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
an64 wrote on 2023-08-31, 23:39:

Hmm, seems i has a bug in psave
Please try again this

Tried your second PSAVE on my system. Looks like it's producing something useful. I'm getting a 395-byte PMTABLE.BIN file with more contents.

In case something might be different depending on system configurations, I did two PSAVE under the same circumstances (one with TSRs, the other clean). Both files are identical this time.

Here it is.

Attachments

  • Filename
    PMTABLE.BIN.zip
    File size
    507 Bytes
    Downloads
    50 downloads
    File comment
    New PMTABLE.BIN file extracted from Quadro 2000 using new PSAVE.
    File license
    Fair use/fair dealing exception