Ultima 7 Earthquake Fix

Produced by: ripsaw8080
Website: Ultima VII Earthquake effect (screen shaking) @ Vogons

[wpdm_file id=282]

Over at Vogons, the DOSBox forums, someone has devised a much-needed patch that drastically improves the earthquake effect in Ultima 7 when the game is run under DOSBox (it behaves very erratically otherwise). Here’s his explanation of the fix:

“Loading some VGA BIOS with a debug build improves the shaking effect, so I tried adding a fixed number of cycles to the scroll functions by waiting in a loop. It does improve the bouncing of the screen, but doesn’t work very well, and appears to depend on how many cycles DOSBox is running at compared to how many are consumed by the wait loop. What I usually see is random horizontal bands of the screen moving.

Another approach with vertical retrace turned out much better. The entire screen bounces up and down with little of the “tearing” seen in the other approach, and it’s independent of how many cycles DOSBox is running at. I don’t know if any video BIOS checks for retrace in its scroll functions, but it could improve the effect on real hardware as well.

I made a small loader program that waits for retrace before the scroll functions are called; and also patches INTRO.EXE in memory to use its code segment instead of the system BIOS segment for the white noise effect, which creates a more “snowy” result in DOSBox. Simply run the program in the folder where U7 is installed. Source code is included in the attached archive.”

Since the earthquake effect is first used, assuming Forge of Virtue is installed — which is the case with the GOG Ultima 7 bundle, mere moments into the game, this should be a welcome patch for pretty much anyone wanting to play Ultima 7 outside of Exult.

Leave a Reply