Free Stuff

Some things really are free, but they are usually worth what you pay for them. You will have to be the judge for the programs here. I wrote them for myself, either because they do something that I wanted to be able to do, or as an experiment in some topic of computer science. In any case, if you find something you like here, let me know. Everything here is ancient, and I keep it posted mostly for my sentimental nature.

All archives were created using Info-ZIP's compression utility.


After reading an article in Computer Shopper I became interested in parsing. That prompted me to write my first calculator program. I used it for years and year, whenever I didn't have a calculator near my computer. It is written in Power C by Mix software.
calc.doc ( bytes) ( bytes) documentation and program


Donkey is a command line history and editing utility I wrote to supplement Novell Dos. I wasn't content with the history mechanism that existed so I decided to write my own. It was in several respects inspired by the PC Magazine utility PCMKEY.
donkey.doc ( bytes) ( bytes) documentation and program


Duplex is a program supplement to the Borland Sprint word processor sold in the late '80s. It allows the word processor to selectively print even or odd pages or print last pages first. It was written in the Sprint macro language and in Power C by Mix software.
duplex.doc ( bytes) ( bytes) documentation and program


When I learned about the Dvorak keyboard layout, I wanted to give it a shot. Only I use Novell DOS which doesn't have its own Dvorak driver (I believe that OpenDOS also lacks a Dvorak driver). So I decided to write my own keyboard mapping utility. It was done completely with the A86 assembler (and has also been ported to NASM) and follows Ralf Brown's AMIS specification for resident programs that can be removed out of order. Unlike other remapping programs I have seen, this one can be disabled so that both Qwerty and Dvorak are available. The layout matches the Dvorak driver that comes with Windows and Windows95.
dvorak.doc ( bytes) ( bytes) documentation and program and source


Like anyone who is interested in computer science, I had my sorting phase. Exsort is an external sort (based on the heapsort, my personal favorite) that is intended to replace the sort that comes with DOS. Written in Power C, with important functions in assembly.
exsort.doc ( bytes) ( bytes) documentation and program


Farm is a small collection of utilities for farmers. It contains modules for calculating European Corn Borer and Black Cut Worm infestations, as well as estimates for growing degree days and corn yields. It also contains modules for finding the volumes of rectangular and circular bins, and a flexible unit conversion module. It was written in Power C.
farm.doc ( bytes) ( bytes) documentation and program and source


This is a set of Sprint macros, designed to convert text to HTML. I use it primarily to convert fiction stories to post on the internet. Typically, the macros do the brunt of the conversion and I follow it with some minor editing. After running the .spm file, use [Alt]-[U]tilities-[M]acros-[E]nter html to run the conversion on a currently open file.
html.spm ( bytes)


This is a resident program that I wrote to take advantage of the power management feature of the Cyrix 6x86 processor under DOS. It does two things: enables the feature on the chip, and patches the DOS idle interrupt to halt the processor when DOS is idle (for instance when waiting for a key). It seems to have the added benefit of making the chip (and voltage regulator too I think) run much cooler. It was written with the A86 assembler and uses Ralf Brown's AMIS specification for resident programs. It was inspired by a program for Linux called set6x86. The sluggishness that IdleHalt caused with some programs (e.g. CHKDSK) has been solved in version 1.1.
idlehalt.doc ( bytes) ( bytes) documentation and program and source


My second experiment in parsing. It is based on the same parser as my other calculator, but this calculator is for doing integer operations. Also written in Power C.
intcalc.doc ( bytes) ( bytes) documentation and program


This is a very small utility that I wrote for my wife to use with her IBM Thinkpad. When you run it from a DOS prompt, it will power off the laptop. It uses the APM BIOS calls and is written in A86 or NASM assembler.
power.doc ( bytes) ( bytes) documentation, program, and source


My experiment in searching. As far as I know, this is the fastest text searching program around, but I haven't looked too hard (in case it isn't). I wrote it entirely in assembler, using A86, and used a hybrid Boyer-Moore, Knuth-Morris-Pratt algorithm.
search.doc ( bytes) ( bytes) documentation and program