attached is the Version 0.1 of my NoUniVBE DOS TSR (first DOS asm project in 30years, my first DOS-TSR ever)
the tool should (in the End) prevent in-game integrated UniVBE to load - because the Dosbox VESA Implementation is superior
i've heard that Mortal Kombat Trilogy is one of the games that forces UniVBE loading (with old buggy UniVBE code) - but i can't find the DOS Version on ebay
anyone around:
-who knows a game that works better when UniVBE (for example: versions 5.3a) is loaded before the game?
-who is interested in testing some versions of my tool?
currently the tool justs overloads the VESA OEM-String that gets returned by the VESA-Info BIOS function with 'Universal VESA VBE 5.3a'
its not clear if that is already enough - due to absend of good test games
my next idea is to fake the UniVBE memory layout and detection feature of several UniVBE versions with my tool to hoax the in-game UniVBE installation checks
or UniVBE.exe loads in game provided batch files
im just looking for test-games /testers to make progress with my tool
GTA was always a pain in the butt with VBE, though I am not sure if that exactly fits your use case.
These are the DOS games that come to mind that all have some kind of VBE interactions:
Ascendancy
Star Wars Tie CD
One of the Warcrafts (I think Warcraft II)
Torin's Passage
Mortal Kombat Tril (like you said)
DiscWorld 2
Nascar 2
Constructor
GTA
Silent Hunter
Torin
yes - prevention of detouring original VESA BIOS/dosbox code with old UniVBE code
my ultimate goal is to add this tiny hoax code to dosbox to always prevent the UniVBE loading
do you know a game that benfits directly from using Rob Muller's tool in dosbox?
These modified files are "drivers" that uses the VESA VBE BIOS that is currently implemented on the video card which in your case it would be using the VESA implementation that is on DOSBox.
Games that comes with UVCONFIG.EXE and requires UNIVBE.DRV prior running them are the ones that would benefit from this in DOSBox.
yes - prevention of detouring original VESA BIOS/dosbox code with old UniVBE code
my ultimate goal is to add this tiny hoax code to dosbox to always prevent the UniVBE loading
do you know a game that benfits directly from using Rob Muller's tool in dosbox?
These modified files are "drivers" that uses the VESA VBE BIOS that is currently implemented on the video card which in your case it would be using the VESA implementation that is on DOSBox.
Games that comes with UVCONFIG.EXE and requires UNIVBE.DRV prior running them are the ones that would benefit from this in DOSBox.
i know how the modified driver from Rob Muller work - im just missing games that directly benefit (can then run, better speed, better resolution) using them in DOSBOX as a comparison for my own tool behavior
- so at best games that really suffering from the internal loaded UniVBE driver
it try to come up with a solution for dosbox that do not involve chaging files or something - the TSR is just a testbed for the ideas that i want to integrate directly into dosbox in the end
NoUniVBE 0.3 TSR - currently behavior-near enough to the original UniVBE 5.3a so that the original UniVBE TSR think its already installed, even Options-On/Off setting works
first run installes the TSR, second run de-installes it
UVBCHECK - a tool that checks for VESA information and if UniVBE 5.3a is installed (checking the same Interrupts/Memory values as UniVBE 5.3a do)
just run under dos/dosbox with/without pre-loaded UniVBE (with > if you want to get the output in an editor...)
1UVBCHECK.EXE > out.txt
TODO:
NoUniVBE is missing the Int 2Fh detouring and some License Data to get accepted as a pre-loaded UniVBE in games that directly linking the UniVBE library (like Tilt!, Street Racer, Mortal Kombat Trilogy, ...)
Findings: using UniVBE 5.3a still bringst higher refersh rate for some games - even with the superior VESA implementation of dosbox - hope i can solve this mystery with my little fun project
both tools come with full source and built executeables
i still try to understand some data comming from the original UniVBE TSR (marked as unknown1??? in the above UVBCHECK output)
The attachment searching.png is no longer available
i think the two missing blocks of data are someway related to the license id or something (because they are also in the IO.IDX file that gets generated by the REGISTER.EXE) - or a crypted text - any idea?
I don't think I ever played a game that would absolutely require UNIVBE/SDD to operate. Some recommend using it, but will work fine without it in DOSBox, like Duke Nukem 3D. There isn't any performance increase to be expected from using NoUniVBE in such cases, right? I've just tried Duke3D with VESA 2.0 320x200 mode with and without NoUniVBE and using DNRATE to show frame rate ticker, and the pre-recorded demos showed identical values in either case.
I don't think I ever played a game that would absolutely require UNIVBE/SDD to operate. Some recommend using it, but will work fine without it in DOSBox, like Duke Nukem 3D. There isn't any performance increase to be expected from using NoUniVBE in such cases, right? I've just tried Duke3D with VESA 2.0 320x200 mode with and without NoUniVBE and using DNRATE to show frame rate ticker, and the pre-recorded demos showed identical values in either case.
my NoUniVBE is currently (im working on that) not able to inhibit in-game linked UniVBE loading, so it won't do anything if Duke comes with a internal UniVBE (i don't know)
UniVBE overloads the VESA feature of dosbox with its own - that "can" be a problem for performance or gaming quality - that is part of my ongoing investigation
my hope is to find a trivial concept to easily prevent all UniVBE interaction and have only pure dosbox VESA code active - maybe directly integrated in dosbox, so
that there is no need to do anything to get the best possible experience (but that is in the far future)
for example "Street Racer" comes with an internal linked UniVBE and pre-loading UniVBE 5.3a gives a doubled refresh rate - i want to understand the reason for such difference
its currently more or less a Pure Fun/Legacy TSR Coding/Reverse Engineering project that im touching time by time - not clear what the outcome will be 😀
10.1 fake UniVBE oem string, does not hose UNIVE.exe detection 20.2 fake special int 10h/4F0Fh function, now UNIVBE.exe think its already installed 30.3 fake version - UNIVBE.exe ON|OFF VBE2|LFB|... option setting work (i think they don't needed for anything) 40.4 replicate the TSR layout 100%, added int 2fh handler, exe instead of com executable