TECHNICAL SUPPORT

Pentium Problem

Some Programs Crash When Run on Some Faster Pentium-Based Computers

Affects:

  • MicroCAT Compiler for DOS (MC.EXE)
  • Possibly some other DOS-based programs

Problem

The above products crash upon starting when run on a computer using an Intel Pentium II (and possibly Celeron) processor running above 180 MHz. The crash usually results in a "Runtime Error 200" message.

Solution 1

Download the file pent2.exe into the directory containing the problematic program. After making a copy of the program that needs the fix (in case this experimental solution doesn't work), run the Pent2 program on it. For example, to modify MC.EXE, type the following red text at a DOS prompt:
C:\MICROCAT\>COPY MC.EXE MC.OLD
       1 file(s) copied     (DOS will reply with this message)

C:\MICROCAT\>PENT2 MC.EXE

Pentium 2 Delay Bug Fixer, (Borland: CRT unit, TurboPower: OPCRT, APTIMER)

Searching...

Fixed at byte position: 186863

Try running the program; if it doesn't work, try Solution 2 below.

Solution 2

Disable the internal cache in your computer's BIOS (this process differs from one manufacturer to another, so you will need to consult the computer's manual). If you don't feel comfortable making this kind of change to your computer, consult your local technology specialist or adolescent. Because this slows Windows severely (and essentially turns your computer into the equivalent of an 80386), we recommend rebooting into the Command Prompt only to run the DOS program. Re-enable the cache before even attempting to use Windows. Trust me, it isn't fun without the caches!

If it still doesn't work, e-mail us and we'll get to work on finding another solution. 

Techno-Babble - For those too curious for their own good...

Some applications written using Borland Pascal may generate this error message when running on fast machines. The cause of this error is a timing loop that occurs as part of the initialization of the program. This timing loop counts how many clock ticks occur within the loop and then divides that number by 55. The result of this division is a number too large to fit into an integer value. The "Divide by 0"/"Runtime Error 200" error messages are the catch-all errors displayed when this overflow occurs.

Curiously, although Intel's Web site reports that the "problem is dependent on the speed the processor is running, but it is not a processor issue" [italics added], this problem has yet to appear (for ASC products) while using Pentium III- or any AMD-based computers (even those running as high as 450 MHz). We leave any conclusions given that information to the reader.

Sources:

Assessment Systems Corporation technical support
Dr. John Stockton's Borland Pascal Web site
Borland (formerly Inprise, formerly Borland) Web site
Intel Web site