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.

Calc

After reading an article in Computer Shopper I became
interested in parsing. That prompted me to write my first
calculator program. I still use it frequently, whenever I don't
have a calculator near my computer. It is written in Power C by
Mix software.calc.doc ( bytes)calc13.zip ( 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. Although it is
version 1.0, I have been using it myself for years and I just
recently decided to clean it up a little and put it out for
others.donkey.doc ( bytes)donkey1_0.zip ( bytes)
documentation and program

Duplex

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)duplex1_1.zip ( bytes)
documentation and program

Dvorak

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)dvorak96.zip ( 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)exsort12.zip ( 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)farm10.zip ( 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)

IdleHalt

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)idlehalt.zip ( 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)icalc14.zip ( 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)power.zip ( 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)search10.zip ( bytes) documentation
and program