

                              Ultima 2 Speed Fix

If you're tired of letting the U2.Com file "fix" the UltimaII.Exe file on
the fly, this file will describe how to implement the speed-fix permanently.
I take no repsonsibility if you screw this up!!!

NOTE:  If you wish to play the "Original" Ultima 2, then apply the Ultima 2
       Patch (U2Patch.Zip) file first, then perform this modification.

Keep in mind that if you perform this change, you will NOT need the U2.Com
file to start Ultima 2 anymore.  This patch does exactly what the COM file
does.  Use this patch or the COM file, you don't need to use both!
You have been told!

Pop into your favorite Hex editor (I like UltraEdit 32 for Windows 95) and
load up the file UltimaII.Exe.

Search for:
08a0h:0000  xx xx xx xx xx xx xx xx   xx xx xx xx B4 00 CD 1A
08b0h:0000  89 0E 52 

Change:  B4 00 CD 1A 89 0E 52
    To:  C7 06 74 00 FF 00 C3

Ultima 2 performs a speed check in this section of code.  It does this by
setting a byte to zero.  It then adds 1 to this value for a certain amount
of time.  Unfortunately, today's computers force this value well beyond the
255 limit, and often resets the value back to zero.  It then uses this
number to divide into some magical "speed indicator" value.  But since by
this time the variable is zero, Ultima 2 errors out with a Division by Zero
error.

What this patch effectively does is skip the check-routine completely, and
instead forces the value 255 (FF) into the variable for use as the divisor.
I chose 255 to let the game know that this is one fast computer that it's
running on.  You can change the value FF to anything you want, but it
shouldn't change anything.  DO NOT SET 'FF' TO ZERO!  Doing so will
simply force the game to error out *all the time*--even with Mo-Slo!

Now you don't need U2.Com anymore!
