An eclectic assortment of downloadable things

Here are a few things I've written over the years. To download a file, you may need to do a shift-click on it. Your browser should prompt you for where to save it. Enjoy!



Linux Programming
avl_2010.tar.gz 12182Feb 20, 2010 AVL / Balance Tree functions with ordinal indexing and duplicate key support in C. See here for more.
weastat-1.1.tar.gz 21135Jun 06, 2003 This is software for Linux to interface to a Davis Weather Monitor II RS-232 weather station. It should work with some other Davis models as well. See our Greenlake Weather page for a demonstration.
shafile.tar.gz 4808Nov 26, 2002 Compute the SHA hash of a file. The SHA hash of shafile.tar.gz is 7925CAF298DC3689FB01A3A3F008812A1F07A2F9

Graphics Programming
tri.prc 50613Jan 27, 2000 3D graphics demo for Palm OS featuring LaPlacian operators to do Z-buffer edge detection for display on low resolution B/W displays.
tri.zip 43685Mar 07, 2001 Source code for the above. See http://www.cryogenius.com/palm/ for more info.
fear.zip 348095Mar 30, 1999 Demo of a texture-mapped room. DOS4GW, Watcom C, DOS. Includes fixed point math routines, floor drawing, mapping a PCX file onto a wall, and so forth.
fearsrc.zip 33217Mar 30, 1999 C source code to the above
fearbsp.zip 219383Mar 30, 1999 Done with a BSP tree.

8086 Assembler
midicom.zip 46441Mar 30, 1999 MIDI protocol interpreter with a DOS text mode menuing system that I wrote to do MIDI Sysex backups of synthesizer patches. Supports Key Electronic's MIDIATOR and Sound Blaster compatible MIDI ports.
atman.zip 26971Mar 30, 1999 A simple character-mode arcade game that I wrote ages ago. Loosely based on Donkey Kong, it runs the same way on anything from a monochrome 4.77 Mhz XT to a 900 Mhz Thunderbird. It includes source examples of how to identify video cards, hook timer and keyboard interrupts, and deinstall handlers without crashing anything.
gy.zip 18259Mar 30, 1999 Text search. Prints lines above and below the matched line.
chop.zip 5050Mar 30, 1999 Chops a file up into floppy-sized pieces and CRCs them. Obviously, this is fairly old. Some things nowadays would take more floppies than a human could carry.
benchmrk.zip 5896Mar 30, 1999 Time various CPU operations. I wrote this around the time when a fast machine was a 16Mhz 386.