bsittler's Home Page

(Formerly or

Note: some other software I have written is available elsewhere.

Some free software I have written (or improved) is available for download. The source code for Trade and cdr_compress is in the public domain; VS Bomber and SMOKE-16 Version 1 are distributed under the GNU General Public License, Version 2; the source code for MyMan and my_getopt is distributed under a BSD-style license.

I once contributed to TuxNES as well.

MyMan - Version 0.7.0

MyMan is a text-mode videogame inspired by Namco's Pac-Man. It has been ported to a variety of operating systems using the following for user interaction: ncurses, PDcurses, XCurses, sysV-curses, S/Lang slcurses, Win32 console, raw stdio and termios, GGI, Allegro, aalib, libcaca, TWin, and Carbon. New: Massive overhaul of the configuration and build system, and began the refactoring that should eventually make this code easier to port and maintain; now with over 200 different game variations and more than 30 different display styles; the default game variation has changed.

NOTICE: Future announcements and releases will be found on the MyMan home page hosted by SourceForge.

File Description
myman-0.7.0.tar.gz (gzip'ed tar) The source package, distributed under a BSD-style license. (ZIP archive) A binary package for 32-bit Windows using the Win32 console for user interaction.
myman-0.7.0-powerpc-apple-darwin8.0.dmg (Disk image) A "fat" binary package (both 32-bit PowerPC and 32-bit Intel) for Mac OS X using Carbon for user interaction.
myman-0.7.0-i486-pc-linux-gnu.tar.gz (gzip'ed tar) A binary package for Debian 4.0 (32-bit Intel) using raw stdio and termios for user interaction.
myman.tgz (155K gzip'd tar) Older public-domain C sources and executables for Linux/ncurses (libc5/libc6 and ncurses4) and DJGPP/PDCurses (DOS/Win32.) (158K ZIP) The same older public-domain version as a ZIP file.
myman.png (2K PNG, 640x516) Ancient screenshot
myman.txt (4K text) Description of the older public-domain release

SMOKE-16 Version 1 - Release 20020728 [2002.07.28]

SMOKE-16 Version 1 is a 16-bit RISC-ish virtual machine I designed, simulated, and wrote development tools for. The tools and simulator require gcc, and have been used under DOS, Linux, and several other operating systems.

File Description
smoke16.tgz (356K gzip'd tar) GPL2'ed C Sources
README README from SMOKE-16 distribution
a_out.txt Description of SMOKE-16 "a.out" object-file format
opcodes.txt Description of SMOKE-16 instructions and calling conventions
portable.txt Description of the SMOKE-16 portable character encoding.
magic Magic numbers for SMOKE-16 executables and object files.

VS Bomber - Release 0.3 [1998.10.08]

VS Bomber is a videogame bearing a slight resemblance to HudsonSoft's Bomberman and DynaBlaster games. It uses the excellent (and free) Allegro games-programming library by Shawn Hargreaves, and has been built under DOS and Linux (using XWinAlleg.)

File Description (235K ZIP) GPL2'ed C Sources and DOS Executable built with DJGPP
vs0_3.txt (2K text) Description of this release
vs0_3.png (21K PNG, 640x480) Screenshot

Trade [2000.01.31]

I loved playing Star Traders/Star Lanes on the Kaypro 2x. Recently someone asked me about this game, so I copied it off the old CP/M floppy and improved it quite a bit for the PC. The file (81K ZIP) includes both the original and improved versions. Program sources (in BASIC and TurboBasic) and executables (for DOS) are included. If you get a black screen or strange garbage on the screen at start-up, press the TAB key twice.

Note: I didn't write this game, I just modified it and built executables.

It seems Brian "Beej" Hall once wrote a game called starlanes (gzip'd tar) for Linux/ncurses. It even supports color!

my_getopt - Version 1.5 [2006.12.29]

I needed a command-line argument parser compatible with GNU getopt, getopt_long and getopt_long_only on machines where the GNU C library was unavailable, so I implemented GNU-style argument parsers from scratch.

File Description
my_getopt-1.5.tgz (13K gzip'ed tar) ANSI C sources, documentation and an example program.
README Description of this release.
LICENSE BSD-style license under which my_getopt is distributed. Does not apply to the example (which is in the public domain) or manual page (see getopt.3 for details)

The my_getopt package grew out of the SMOKE-16 distribution, which includes a GPL'ed version of the argument parser.

cdr_compress [2000.07.11]

I like listening to classical music, but sometimes I'm in a noisy environment where the large dynamic range of 16-bit CD audio is unusable. In coöperation with my father I wrote a simple dynamic-range compressor in C. It processes audio tracks in raw CD-Recordable format, and has an adjustable compression/expansion ratio and look-ahead to avoid noticable level changes. The file cdr_compress.c is a portable C implementation of the compressor, suitable for compiling and running on a wide variety of platforms (it requires ANSI C and UNIX-style getopt().)

I am registered Linux user number 330410.