Short: Patches executables to use '020+ math instructions Uploader: Mark Knibbs lambada oit unc edu Type: util/misc Architecture: m68k-amigaos PatchMath020 This program "snoops" through other programs looking for 32 bit interger multiply, divide and modulus subroutines and replaces them with 68020 multiply, divide and modulus instructions. The 68000 only has 16 bit multiply and 16 bit divide (divide a 32 bit number by a 16 bit number giving a 16 bit result and a 16 bit modulus) instructions. C compilers for the Amiga all generate 68000 code so they must make subroutine calls to perform full 32 bit math. This program recognizes several of these library modules and can replace 20 or thirty opcodes with two: the multiply or divide followed by RTS. Programs which use 32 bit math intensively may run significantly faster after being treated with PatchMath020. A few modified programs run 2 to 3 times faster than the originals. A more common result is 15 to 20 percent faster due to the fact that multiply/divide/modulus is usually a small fraction of the instructions executed. As an example, Sculpt 3D's object editor runs 15% faster after being modified by PatchMath020. Silver runs an additional 40% faster. Note that the program is modified "in place" so be sure to make a backup before running PatchMath020 on you program. Also note that these modified programs will no longer run on normal Amigas. [PatchMath020 was supplied with Hurricane accelerator cards. It works with many programs, such as SA4D 2.09, Imagine 2.0, etc. It needs to be updated to recognise the routines used by recent compilers.]