First post, by an64
NVIDIA vbe function 0A fix for gtx 9xx and newer(not tested)
For warcraft II and maybe other games
I have noticed that one of the VESA (VBE) functions always fails on my
Geforce GTX 980Ti.
This is a Function 0Ah - Return VBE Protected Mode Interface , it always
returns ax=014fh (Function call failed).
This bug prevents warcraft II to run, it crashes or displays distorted image,
depends of environment.
So i sat down, read docs, remember x86 assembler and created this small TSR.
It intercepts int 10h func 0ah and return its own protected mode code for
vbe func 5 ,7 and 9.
This code then routes trough DPMI 0300h (SIMULATE REAL MODE INTERRUPT)
to the plain real mode vbe functions.
This may lead in theory to some micro slowdown, but who cares
of this on the modern cpu? )
Tested with Warcraft II dos version under these environments:
dos , dos+emm386 , dos+jemmex , dos+jemmex+hdpmi32i+sbemu , OS/2 vdm
Start nvvbe0a.com , then war2.exe
If war2.exe crashes , try to run it with dos32a:
dos32a.exe war2.exe
Feel free to test this TSR with other programs/games, potentially it can fix
ones, wich uses bank swithching and vbe protected mode interface.
Ps
Thanks crazii for amazing sbemu!
It works fine here with sblive.
SBEMU: Sound Blaster emulation on AC97
Thanks Falcosoft for MSKVBEF7 , take it if you want to play DukeNukem3d on
the newer nvidia card
NVIDIA Kepler/Maxwell/Pascal VESA Bios Bug (workaround found)