VOGONS


First post, by davidiwharper

User metadata
Rank Newbie
Rank
Newbie

Well, we thought it would never happen - Ken Silverman had abandoned DOS game development, he said. But then he bought a computer pre-installed with Windows XP, and discovered that, surprise, surprise, VESA doesn't work.

So he has released a fix.

Here's the problem with VESA 2.0 running under Windows NT/2K/XP: The video card BIOS says the linear framebuffer exists, but when DOS applications try to set this video mode, the application exits with this error message: "DPMI_mapPhysicalToLinear() failed!". Most people never see this message because the screen is either black or jumbled at this point. I don't know why the call fails, but I have a workaround:

A TSR that patches the VESA driver by fooling DOS programs into thinking the VESA 2.0 linear framebuffer modes aren't supported. Run this in the CMD prompt before you start your DOS application. You can type "MEM /C" to see if it installed in memory correctly. To remove it from memory, just type 'exit' from the CMD shell.

NOTES: […]
Show full quote

NOTES:

NOLFB will only fix DOS VESA 2.0 applications that have a fallback code that supports the segmented video modes (from VESA 1.2). If the application does not run in segmented video mode, then it will exit with a visible error message instead of a black or jumbled screen.
NOLFB does not add any new VESA modes to your computer! In fact it does just the opposite. If your graphics adapter does not support standard VESA modes (such as 640x480x8) in any DOS application, then this patch will not help you.
Here's a list of programs I've tested that are fixed by this patch (assuming the above conditions are true): Duke Nukem 3D, Shadow Warrior, most of the Build engine tools, 2Draw, and some demos on my website that are linked to my DOS VESA code: "VES2.H".
NOLFB will not do much in Win95/98/ME other than cause the framerates to decrease in games. Use at your own risk!

(from http://www.advsys.net/ken/build.htm)

Reply 1 of 13, by Nicht Sehr Gut

User metadata
Rank l33t
Rank
l33t

Just tried it on "Duke Nukem 3D" at 800x600 on XP Home.
I'm stunned. It worked. In fact, it worked very well. No glitches, no artifacts, ran just like it would in DOS/Win9x.

This 130 byte program instantly fixed the video problems with 2000/XP. Now all that's left are the audio issues.

Didn't realize that VESA 1.2 (apparently) has full support in XP. By disabling the 2.0 modes it causes the game to use the 1.2 modes without any hacking or patching of the game.

Now I'm hungering for Win32 ports all over again...

If I'm understanding this correctly, this also means all those other VESA-NT issues are fixed as well. My mind is still boggled.

Reply 2 of 13, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

Unfortunately programs like SDD even if you DID disable the v2.0 modes it still wouldn't work...because SDD had to load it's driver to work correctly..which it couldn't do on an NT system....

Now to integrate this little proggy with VDMSound. 🤤

How To Ask Questions The Smart Way
Make your games work offline

Reply 3 of 13, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

Copied this thread over to Release Announcements.

Snover will do some VERY bad things *shudder* to you if you discuss in "Deep Thought"...

Oh the pain!

How To Ask Questions The Smart Way
Make your games work offline

Reply 7 of 13, by Stiletto

User metadata
Rank l33t++
Rank
l33t++

*declares all-out war* Try everything under the sun, folks! Post screenshots, too! 😀

"I see a little silhouette-o of a man, Scaramouche, Scaramouche, will you
do the Fandango!" - Queen

Stiletto

Reply 8 of 13, by Snover

User metadata
Rank l33t++
Rank
l33t++

You say that, but...

Actually, now that you mentioned "no UniVBE" I remember an old Mindscape game that never worked on my desktops (but, strangely enough, it does on my laptop) -- Angel Devoid. I'll try running that with this nifty little gadget. (Actually, I probably won't, but I'll say that I'm going to just for the sake of it.) Just don't try using this on an Itanium processor, hoo boy...

Yes, it’s my fault.

Reply 9 of 13, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

Hmmm, Using NOLFB with my GF4 and executing a BUILD game I get a black screen like the refresh rate is upped to high. Sound effects are running in the background and such but no picture.

With my 9700 it works fine.

Anyone test this with a GF4 yet? I've tested in 2K/XP with the same results.

How To Ask Questions The Smart Way
Make your games work offline

Reply 10 of 13, by Stiletto

User metadata
Rank l33t++
Rank
l33t++

Or create a quick list of problematic games by searching VOGONS for VESA, parsing out the duplicate games and the ones which have been explicitly mentioned as "fixed" by Ken. Alas, I don't have time tonight to do that.

"I see a little silhouette-o of a man, Scaramouche, Scaramouche, will you
do the Fandango!" - Queen

Stiletto

Reply 13 of 13, by Nicht Sehr Gut

User metadata
Rank l33t
Rank
l33t

Originally posted by krank Actually, it doesn't work...

Understand that all NOLFB does is eliminate LFB video modes. If the game doesn't support a Non-LFB video mode, you're still stuck.