First post, by Fizzban
- Rank
- Newbie
Hi.. 😀
I have found out why Orion Burger (and a few other games) works fine with UniVBE but the display is truncated after the first 65536 pixels with the built-in VESA driver.
The VBE2.0 specifications for the function "Display Window Control" says to set DX to the "Window number in video memory in window granularity units". However, in the actual VESA implementations, only the value of DL is processed.
That's why Orion Burgerjust sets DL and leaves DH to its current value.. which happens to be 1, so the value of DX is always much too high and the DOSBOX implementations of the function fails.
After changing the function so it just uses DL, the game works fine without UniVBE. I have attached a diff with my changes.