My Software "Projects"

Most of the software on this page is very old and crufty. A lot of it is for MS-DOS. I may add some more useful stuff here soon.

OEM Character Chart

An MS-DOS program that uses direct video memory access to display the full 256-character "OEM" character set. Shows characters that are difficult to get Windows to display any other way.




A perl module that runs the NT/Win2K "nbtstat" command and parses and understands the output for you. Doesn't tell you too much that you couldn't grok from just eyeballing the output, but still adds enough tp be useful for reporting and such.

Man Page

SourceForge Project


Hacked-2-Basics mixes and continuously loops up to 10 sounds. Each sound is mapped to one of the numerical keys of the keyboard which is used to toggle that individual sound on and off.

Hacked-2-Basics is designed to run on low-end computers with low-end soundcards. It was developed and tested on a 133 mhz machine with 80 megs of RAM and a Soundblaster 16. It has a simple text UI, no fancy graphics. I suppose it is theoretically possible that your hardware might even be "too good" to run Hacked-2-Basics.

This only runs on Linux, although porting to other Unix-like systems would probably not be difficult. Porting to Windows would be not be worth the effort. Trust me. If I want these this in Windows I will re-write the whole thing in Java or something.

This project has been moved to SourceForge. The fact that web space and CVS can be had for free by a silly little project like this one is a testament that the days of the free Internet are not over yet...


Project Page for downloads, CVS access, etc.

AnsiMan, version 1.2

Uses BBS-style ANSI art to draw the Mandelbrot set. I wrote this in, like, 1995, and I haven't really looked at it much since. I'm sure its full of bugs. Source code included, so fix them!



Evil Grinn, the game

Another, even stupider, mid-90's hack. This is a "game" written for MS-DOS, but it seems to run okay on Win9x. Its basically the simplest imaginable Pacman ripoff.

I seem to have lost the source code. Oh well, its a plain old 16-bit DOS executable so DEBUG.COM shouldn't have any problem dissassembling it for you.



Another version of Evil Grinn

This is a slightly different version of the Evil Grinn game, written in 1994. This version was "lost" until recently I found it on an old hard drive. I think it may still have some bugs in it. Uses the same level maps as the other one, but the graphics and play style are different. Source code (in Quick Basic!) is included.

Note: you must use the numeric keypad, with NUM LOCK turned on, to play this game.



Benny and Kenny Defense

This game started out as something I wrote in BASIC on the Commodore 64 in about 1989 or so. I later re-wrote it in QuickBasic after I got my first 386 in 1991. In 1994 I re-wrote it one last time in C, mostly so I could try to run it on Linux.

There are two versions provided here. The first is the older, and uses ANSI.SYS to display all the "graphics". This version will work under Windows if you have ANSI.SYS loaded, will work over a telnet session, will also work on Linux if you re-compile it, and was used as BBW door.

The second version does not use ANSI. It will not work under nearly as many circumstances as the above, but it has the advantage that it will pretty much run out of the box on Win95/NT/2000/XP without needing to set up ANSI.SYS. The graphics are identical; they were made using TheDraw's built-in ability to save an ANSI file as a C source file. Unless you want to fool around with setting up weird stuff on your PC, get this one.

The story behind the name of the game is that Benny and Kenny were these two twin brothers (about 10 years old at the time) that were generally regarded as troublemakers. The plot is that they have raised an army of little hellions and are trying to take over the town, and you have to stop them.


Download ANSI Version

Download NON-ANSI Version


This was my first JAPH:

#!/usr/bin/perl   --    Jeff Robertson     

Here's a slightly more compact variation:

@q=split '',"|/\\_ \n";print map{$q[($r=ord($_)-32)/10].
$q[ $r %10] } split '', q'ABLLLLLCHLIB>BH>KLB>B#LBLC4#$'