Duncan Murdoch's Programs
These are programs I wrote many years ago. All are unsupported.
The programs that I write fall into 4 categories:
- General Utilities
- Programming Support
- Statistics and Probability
- Obsolete (?) Files
Some of these programs are free, some are shareware, a few are in the public
- TSR disk cache monitor. (I wrote this in 1990, so it probably isn't worth
downloading for the original purpose, but it includes full source code and
so might be useful to someone writing their own monitor.) Free for personal
- Move the floppy disk drive heads around to clean them.
- Echo with no CR/LF. Sometimes useful in a batch file.
- Log program arguments and I/O to a file. Sometimes useful when debugging
setups where one program calls another, and you want to find out what
calling sequence was used.
- Graphical display of files on disk. Shows the physical locations of your
files, and indicates how fragmented your disk is. Badly in need of an
update, it doesn't handle all large modern disks.
- Detects trashed registers. Some old DOS programs will stomp on the 32 bit
registers of the 386 and higher chips; this little program will detect them,
to help track down those nasty bugs.
- DesqView-like Mark/Transfer in Windows DOS box.
Most of these files have something to do with Turbo/Borland Pascal or
Delphi; some are more general.
- DJMDebug version 0.5
- Debug exceptions in Delphi programs. Uses TD32 debug information to resolve
addresses into symbolic names and file locations.
- DumpProg version 2.1
- Disassemble 16 bit .EXEs, both real mode and protected. Will make use of a
.MAP file to resolve addresses into symbolic names.
- Make Turbo Pascal BGI files into resources. This saves a few kilobytes of
- A list of bugs and surprises in Borland Pascal version 7, with some
workarounds. Free. See the TP 6 list too!
- Clear unused Turbo Pascal memory. Useful for debugging, since it makes bugs
- Close orphaned BP.EXE. Sometimes a Win 3.x DOS session will crash, leaving
the BP.EXE file open, so you can't run it again without rebooting. This
public domain program closes BP.EXE. Source code included.
- Turbo Pascal error 207 diagnostic unit. Error 207 can come from a large
number of different causes; this attempts to figure out which one.
- Full debug info for Turbo Pascal 6. Adds line number information from your
.OBJ files to .TPU files, so the integrated debugger can single step through
them. It was such a good idea, Borland did it themselves in version 7!
- Builds Delphi .KWF file from a .HLP file. This helps you link foreign help
files into the Delphi help system.
- Convert TurboPower .HLP to Borland TPH.
- Dumps interface for TP 4 .TPU. Useful when the unit isn't documented
properly, or when you're just curious.
- Incomplete TP 5.0 .TPU dumper. I partially updated the version 4 dumper,
but didn't get finished before version 5.5 came out.
- TP 5.5 TPU dumper. Besides the interface section, this will dump most of
- TP 6.0 TPU dumper. Another TPU dumper, for another version.
- TP/BP 7.0 .TPU dumper. And another --- this one written by Milan Dadok,
based on my version 6 dumper.
- Last minute checks of TP/BP/Delphi 1.0 programs. Looks for the things you
forgot: bad compiler options, etc.
- Get list of open files from DOS. This Turbo Pascal unit is useful for
tracking down bugs in programs that forget to close their files.
- Turbo Pascal device driver code - PAUSE command that you can put in your
CONFIG.SYS file, with source code.
- Scan TP/BP source code to build help.
- Skiplist implementation in Turbo Pascal. Skiplists are a nice data
structure, like a linked list but with easy sorting, insertion and deletion.
- Many kinds of streams for Turbo Pascal and Borland Pascal.
- Some versions of the TDSTRIP utility that comes with Borland Pascal will
damage your .EXE files, causing them to potentially crash the system. This
utility detects the damage. (The detection code is also built in to
- Shrink Turbo Debugger debug info, to allow you to debug larger programs.
- List of bugs in Turbo Pascal version 6. See the BP 7
- Call Fortran from TP5/6. This uses a pretty screwy calling method; it's
hard to believe it works!
- TP 6.0 system replacement helper. To replace the system unit, you need the
SYSTEM.TPS file. This generates one from the standard SYSTEM.TPU file.
- Finds undocumented function calls in Windows 3.x .EXEs, and lists various
things about them.
- This is a client to display searches of the online edition of the Current
Index to Statistics. You need to install the "TSFKAWS" server or a
workalike somewhere to provide the database. Updated to work with the latest
format in July, 2001. Freeware.
- Probability calculator for the normal, t, F and chi-square distributions.
On my work page you'll
find a Windows version of this program, that draws pretty graphs. I've never
had time to write the documentation for it though.
These are programs I wrote to solve problems with systems I don't use any
more. As far as I'm concerned they're obsolete, but if you're still using any of
those systems, you might find these useful.
- Desqview 2.26 80x87 fix: stops crashes. Freeware.
- Find a node in Fidonet nodelist.
- Find a word in PC Write dictionary.
- Fix mouse problems with Turbo Pascal 6 and DesqView.
- Find next cluster to be used by DOS.
- Fix NMI problems in Desqview.
- Find bogus Fidonet echomail packets.
- Turn off printscreen.
- Saves mouse status for later restore.
- Map VCPI memory usage.
Back to home page.
Last updated 21 October 2001 (with some obsolete entries deleted in October, 2009).