https://www.kennedysoftware.ie/patchcrt.htm                          2021-11-21
-------------------------------------------------------------------------------
PatchCRT - 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 to some older versions of a specific
software module named CRT.ASM, which was part 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 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, 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 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[1], if it works for you, and feedback if it does not !.

Download PatchCRT.ZIP[2]. This file-size is about 30k.
(See Download Instructions[3]).

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-compressor and retry PatchCRT on the de-compressed
file. If it works, you can probably re-compress the updated file, or just use
the de-compressed version.

Note-2: We think there is some other software product out there with the same
name (PatchCRT). We apologise if this is a source of confusion. We could change
the name of this utility, if needed, though it has been on Compuserve (and on
this website!) for some years, and it's probably now "late-in-the-day" to
change it. Also, the need for this utility is quite small, and a duplicate name
is probably of little concern.

Note-3: Some nice comments, and variour useful advice, links, etc, at:
http://www.pcmicro.com/elebbs/faq/rte200.html. Thank you!

[1] https://www.kennedysoftware.ie/feedback.htm
[2] https://www.kennedysoftware.ie/download/patchcrt.zip
[3] https://www.kennedysoftware.ie/index.html
