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 domain.


General Utilities

CACHEMON.ZIP
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 use.
12255 bytes.
CLEAN.ZIP
Move the floppy disk drive heads around to clean them.
8434 bytes.
ECHON.ZIP
Echo with no CR/LF. Sometimes useful in a batch file.
825 bytes.
LOGGER.ZIP
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.
6210 bytes.
SHOWF251.ZIP
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.
31013 bytes.
TRASH.ZIP
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.
22500 bytes.
WINDV10.ZIP
DesqView-like Mark/Transfer in Windows DOS box.
28960 bytes.

Programming Support

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.
53738 bytes.
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.
46944 bytes.
BGIRES.ZIP
Make Turbo Pascal BGI files into resources. This saves a few kilobytes of memory. Free.
8566 bytes.
BP7BUGS2.ZIP
A list of bugs and surprises in Borland Pascal version 7, with some workarounds. Free. See the TP 6 list too!
17944 bytes.
CLEARMEM.ZIP
Clear unused Turbo Pascal memory. Useful for debugging, since it makes bugs repeatable.
1713 bytes.
CLOSEBP.ZIP
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.
5861 bytes.
ERR87_13.ZIP
Turbo Pascal error 207 diagnostic unit. Error 207 can come from a large number of different causes; this attempts to figure out which one.
13551 bytes.
FULLDB13.ZIP
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!
14180 bytes.
HLP2KW12.ZIP
Builds Delphi .KWF file from a .HLP file. This helps you link foreign help files into the Delphi help system.
17708 bytes.
HLP2TPH.ZIP
Convert TurboPower .HLP to Borland TPH.
33906 bytes.
INTRFC4.ZIP
Dumps interface for TP 4 .TPU. Useful when the unit isn't documented properly, or when you're just curious.
20332 bytes.
INTRFC5.ZIP
Incomplete TP 5.0 .TPU dumper. I partially updated the version 4 dumper, but didn't get finished before version 5.5 came out.
33581 bytes.
INTRFC55.ZIP
TP 5.5 TPU dumper. Besides the interface section, this will dump most of the file.
47335 bytes.
INTRFC63.ZIP
TP 6.0 TPU dumper. Another TPU dumper, for another version.
56214 bytes.
INTRFC70.ZIP
TP/BP 7.0 .TPU dumper. And another --- this one written by Milan Dadok, based on my version 6 dumper.
65940 bytes.
LASTL114.ZIP
Last minute checks of TP/BP/Delphi 1.0 programs. Looks for the things you forgot: bad compiler options, etc.
30612 bytes.
OPENFIL5.ZIP
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.
5786 bytes.
PAUSEDEV.ZIP
Turbo Pascal device driver code - PAUSE command that you can put in your CONFIG.SYS file, with source code.
5936 bytes.
SCANH336.ZIP
Scan TP/BP source code to build help.
103070 bytes.
SKIPLIST.ZIP
Skiplist implementation in Turbo Pascal. Skiplists are a nice data structure, like a linked list but with easy sorting, insertion and deletion.
12046 bytes.
STREAM16.ZIP
Many kinds of streams for Turbo Pascal and Borland Pascal.
72733 bytes.
STRIPPED.ZIP
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 LASTLOOK).
8443 bytes.
TDHIDE.ZIP
Shrink Turbo Debugger debug info, to allow you to debug larger programs.
14021 bytes.
TP6BUGS7.ZIP
List of bugs in Turbo Pascal version 6. See the BP 7 list too!
30522 bytes.
TPFORT18.ZIP
Call Fortran from TP5/6. This uses a pretty screwy calling method; it's hard to believe it works!
27944 bytes.
TPU2TPS.ZIP
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.
7730 bytes.
UNDOCFCT.ZIP
Finds undocumented function calls in Windows 3.x .EXEs, and lists various things about them.
24796 bytes.

Statistics and Probability

CISCLient version 1.40
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.
234661 bytes.
PROB20.ZIP
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.
69101 bytes.

Obsolete (?) Files

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.

DV87.ZIP
Desqview 2.26 80x87 fix: stops crashes. Freeware.
1135 bytes.
FINDNODE.ZIP
Find a node in Fidonet nodelist.
16616 bytes.
FINDWORD.ZIP
Find a word in PC Write dictionary.
19581 bytes.
MOUSEFIX.ZIP
Fix mouse problems with Turbo Pascal 6 and DesqView.
8299 bytes.
NEXTCLUS.ZIP
Find next cluster to be used by DOS.
3406 bytes.
NMI.ZIP
Fix NMI problems in Desqview.
1343 bytes.
NOBOG134.ZIP
Find bogus Fidonet echomail packets.
54378 bytes.
NOPRTSCR.ZIP
Turn off printscreen.
280 bytes.
SAVEMOUS.ZIP
Saves mouse status for later restore.
8696 bytes.
VCPIMAP.ZIP
Map VCPI memory usage.
4892 bytes.

Back to home page.


Last updated 21 October 2001 (with some obsolete entries deleted in October, 2009).