200 Error Runtime
Contents |
CRT.ASM unit included with these compilers. DOS based programs that were compiled using these buggy versions of the CRT unit will generate the RTE200 error when started dos runtime error 200 on a CPU that is faster then 200 Mhz (though some non-Intel CPU's would avoid the
Runtime Error 200 Fix
error up to 350 Mhz). One solution is to recompile the source code using a later version of Pascal, or a fixed CRT.ASM
Runtime Error 200 Xp
unit. Obviously that's only possible if you have the source code available. The more common solution is to patch the .EXE file to disable the bug. There are several programs that allow this. The one I recommend is
Runtime Error 200 Vista
PatchCRT by Kennedy Software. This one is more compatible then most others, including TPPatch (which is less effecent, and uses German results and error text). I'd suggest keeping PatchCRT.exe in your path, so that you can run it from any directory simply by typing it followed by the name of the .EXE to be patched. PatchCRT will only be able to patch .EXE files which have not been compressed by an EXE compressor, such as aPACK, runtime error 200 message Diet, LZEXE, PKLite, Petite, UPX, etc. If PatchCRT fails to patch the .EXE, there is a good chance it is because the .EXE has been compressed. The best tool I have found to uncompress .EXE files is UNP. This has worked for about 80% of the compressed .EXE files I have encountered. The nice thing about UNP is it runs well under Windows. My second choice would be CUP386, but this works best in a plain DOS environment without any extended memory manager (including himem.sys or emm386.sys) installed. I have used this tool to uncompress several .EXE's which UNP was unable to do. Once you have sucessfully uncompressed a compressed .EXE file, you should then be able to run PatchCRT on it to remove the RTE200 bug. If all the above fails, the other option is to run a TSR (Terminate and Stay Resident) utility that will provide a kluge to the division by zero issue by catching this error as the .EXE is being run, and telling DOS to ignore it. The best TSR I have found to do this is TP7p5fix. Simply run the TP7P5.EXE to load the TSR into memory, and any programs being run in that DOS window will avoid the RTE200. Keep in mind that once you close this DOS Window, or open other DOS Windows the TSR will not be active unl
fix RunTime Errors on some apps A freeware utility, which patches some older MS-DOS EXE files, to permit them to run on fast Pentium CPUs. This speed problem applies only on CPUs which match or exceed the speed of a Pentium 200 (approx), and applies only runtime error 200 pascal to some older versions of a specific software module named CRT.ASM, which was part runtime error 200 patch of the Turbo-Pascal offerings from Borland. Be aware that this CRT.ASM module has been used in a variety of other products, and it runtime error 2001 is often not initially obvious that some flawed CRT.ASM code is embedded in other apps. The symptom is a Divide-by-Zero error message when the app is run on a fast CPU, or a Divide Overflow error message, http://www.pcmicro.com/elebbs/faq/rte200.html or a Runtime Error 200 message, or similar. Unfortunately, the error message usually won't simply say that the CPU is too fast !. The preferred solution is to use an updated version of CRT.ASM, or to contact the software developer, and request that an updated CRT.ASM be used to re-build the app/utility. However, if this is not possible, then PatchCRT can be tried. Similar CRT.ASM "patchers" are available from others - though feedback suggests that http://www.kennedysoftware.ie/patchcrt.htm a few different versions of flawed CRT.ASM code were released, and that this patcher copes with all known releases. Note: we've seen a few EXE files with the 200 error, but which PatchCRT, up to ver 1.5, would not adjust. On looking inside these EXEs, we noticed some code which is similar to published versions of CRT.ASM, but not EXACTLY the same. As of Jan 2000, we released ver 1.6, which also recognises this similar code, and patches it accordingly. Which is another way of saying - TEST your app carefully, if PatchCRT patches it !!. This program is freeware: use it at your own risk; take good backups first; test carefully - the usual small print. We'd appreciate feedback, if it works for you, and feedback if it does not !. Download PatchCRT.ZIP. This file-size is about 30k. (See Download Instructions). Note-1: Sometimes, EXE files are Compressed. PatchCRT does not include any de-compression code, and therefore will not repair compressed EXE files. If PatchCRT does not work for you, you might check if the EXE file is compressed, eg using PKLITE, LZEXE, etc. (To do so, you'll probably need to analyse the internal structure of the EXE file, which is WAY outside the scope of this brief note!!). If it's compressed, identify the compressor that was used, run the appropriate de-compresso
games running before you start asking questions. Topic locked 3 posts • Page 1 of 1 Fix "Error 200" (Divide by zero) - by Snover and Stiletto, with thanks to edelbeb by Snover » http://www.vogons.org/viewtopic.php?t=93 2002-7-26 @ 00:40 If you're trying to play an old game and it was https://github.com/Defacto2/defacto2.net/wiki/Troubleshoot-runtime-error-200 written in Turbo Pascal, chances are, on any machine over 200MHz, you will get an Error 200 (Divide by zero error). This program corrects the problem by patching your executable. From the readme... ctbppat v1.2 © Andreas Stiller [April 2000]ctbppat fixes programs coded in Borland Pascal that cause runtime error 200 on systems with clock speeds of over runtime error 200MHz. This error occurs due to incorrect initialisation of the DELAY counter.ctbppat is also a universal EXE scanner, monitor, and patcher. It supports the usual EXE formats -- MZ for DOS; NE for OS/2, DPMI, and Windows 3.11; and PE for 32-bit environments -- and can detect the language with which the file was created. Running "bppatch *.* /s [/p]" will list all file formats in the current directory.If you use the switches runtime error 200 /NE, /MZ, or /PE, ctbppat will be restricted to the respective EXE format. This will increase the speed with which it can analyse files. Running in pure DOS mode with SmartDrive (if possible) will also increase analysation speed.If ctbppat finds an executable made with Borland Pascal 7.0, it will examine the file further to determine if it uses an original or changed CRT unit, whether this unit is already patched, and whether the DELAY function is called at all. (If it is not, patching is unnecessary.)Depending on the result of this examination, ctbppat may offer to patch the file. If the DELAY function is used, it can be fixed by using a different delay routine that should function properly up to ~4GHz.To do this, the BREAK routine in the CRT unit is shortened and the delay code patched into the free space.If DELAY is not used, the divisor is simply increased to 65535. This will prevent DELAY from operating; however, this will ensure that the program is able to run (theorhetically) on a 300GHz CPU.If the CRT unit has been changed, but contains the same incorrect initialisation, ctbppat will modify the faulty divisor (255 => 1).ctbppat only analyses original CRT units -- routines with similar incorrect code in Tool Boxes remain unchanged. However, by running "ctbppat [filename.
Support Search GitHub This repository Watch 0 Star 1 Fork 0 Defacto2/defacto2.net Code Issues 8 Pull requests 0 Projects 4 Wiki Pulse Graphs Troubleshoot runtime error 200 Ben Garrett edited this page Apr 10, 2015 · 2 revisions Pages 11 Home Can I batch download the files How to run DOS programs Troubleshoot d3drm.dll Troubleshoot npmod32.dll Troubleshoot runtime error 200 Troubleshoot shrinker.err Wanted uploads What are DOS Programs What are RAR 7z ZIP ACE files What are the best tools for viewing and editing NFO DIZ files Clone this wiki locally Clone in Desktop Troubleshoot - How do I fix a Runtime error 200? Symptom: A legacy MS-DOS program crashed while leaving the cryptic error message. 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. Download UNP 4.11 A Turbo Pascal decompression program. Download CRTFix 1.16 A CRT bug patching program. Create a temporary directory. MKDIR C:\TPATCH Unzip both downloaded packages into the temporary directory. PKUNZIP TurboPascal-Unpack.zip C:\TPATCH PKUNZIP crtfix16.zip C:\TPATCH 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 Once the decompression is complete run the crtfix program t