Turbo Pascal Bug in CUPS, PAS Waves Interference, etc.
The following information is provided by Dr Aly Gillies of the University of St Andrews regarding the way he has solved certain problems in CUPS and other packages that appear to be down to a bug in Turbo Pascal.
Borland: Runtime Error 200 - 'Divide by 0'
Applications that use the CRT unit may generate this error message when running on very fast machines (i.e. Pentium Pro 180 and above). The cause of this error is a timing loop that occurs as part of the initialization of the CRT unit. This timing loop counts how many clock ticks occur within the loop and then that number is divided by 55. The result of this division is a value that is too large to fit into an integer value. The 'Divide by 0' error message is the catch-all error that is displayed when this overflow occurs.
There are currently no Borland endorsed patches for this problem. There are several user provided patches available on the internet that patch both the CRT unit as well as existing EXE files. The easiest way to obtain these patches is to go to www.altavista.digital.com and search on '+ bp7patch.zip + tppatch.zip' without the quotes.
These patches are not endorsed or supported by Borland and are used at your own risk.
St Andrews action
At the University of St Andrews we have patched our CUPS and PAS Wave Interference executables using a patch obtained via searching the web as described above. This has cured the problem and we are happily running all CUPS applications (site licence) and the PAS Wave Interference (single copy) these apps. in our PC classroom on PIII 700MHz machines under NT4.
Diclaimer: The patches are not endorsed or supported by the Special Interest Group, the LTSN, or the University of St Andrews and are used at your own risk.
Return to SIG - Simulations in Physics and Astronomy Home Page