Reason:
There is a bug in the Borland CRT unit (low level code). In order to time delays in Turbo and Borland Pascal programs to 1 millisecond accuracy on machines that have a clock tick of 55 milliseconds, they count how many times the processor can run round a loop in one clock tick, then divide this by 55. Unfortunately, the new Pentium IIs can do more than 65536 loops per millisecond. When they divide the number by 55, the 16-bit division instruction overflows, reported as error 200, division by zero.
Workaround:
We have written a small utility that you can use to patch any program that has this problem. The downside is that any timing or delays done by the program will no longer run for the correct period. Download this 12,287 program tplfix.exe now!
To patch SIGAVG, at the DOS prompt, type
TPLFIX SIGAVG
Prudent users would take a copy of their application program before patching it. We can take no responsibility for the use of this tool on programs from other suppliers. We have tested it carefully and we believe that it will work without fault on our programs.
This fix is probably good until Pentium IIs reach 500MHz, when a bigger number will be required for the patch.
For programmers:
The TPLFIX utility can be used to cure the bug in previously built programs. If you are a programmer developing or rebuilding programs written in Borland Pascal, the FDelay unit can be used to correct the bug. The FDelay unit should be included in the USES statement of any program or unit that uses the CRT unit written by Borland, FDelay must be placed in the USES statement before CRT. We offer you fdelay.exe (4,025), a self-expanding file containing fdelay.pas.