Skip to content

Troubleshoot runtime error 200

Ben edited this page Mar 13, 2023 · 4 revisions

Troubleshoot - How do I fix a Runtime error 200?

Symptom: A legacy MS-DOS program crashed while leaving the cryptic error message.

Runtime error 200 in DOS

Solution

A runtime error 200 message usually occurs with old DOS applications written in Turbo and Borland Pascal. Turbo Pascal had a timing bug that would cause its complied programs to crash when they were operating on machines running at 200Mhz or faster. It is known as the CRT unit issue and can be fixed by applying a patch to the effected application. Otherwise you can run the application in DOSBox which can artificially slow down the speed of the emulated DOS session.

If you wish to patch the application we have created a guide to help you through it. Though this is only recommended for people experienced with DOS or the Windows command prompt.

  1. Download UNP 4.11 A Turbo Pascal decompression program.

  2. Download CRTFix 1.16 A CRT bug patching program.

  3. Create a temporary directory.

    MKDIR C:\TPATCH
    
  4. Unzip both downloaded packages into the temporary directory.

    PKUNZIP TurboPascal-Unpack.zip C:\TPATCH
    PKUNZIP crtfix16.zip C:\TPATCH
    

    Content of the unzipped archives

  5. In our example we are going to patch defacto.exe which is the binary from an early Defacto magazine that suffers from this bug. So run the UNP program to decompress the binary.

    UNP DEFACTO.EXE
    

    Running the UNP program

  6. Once the decompression is complete run the crtfix program to patch the binary.

    CRTFIX DEFACTO.EXE
    

    Running the CRTFIX program

That is it, if the crtfix returned a Fixing code... Fixed. response then the binary is now patched and in future those annoying runtime error 200 messages should be gone.