Various pieces of software, in semi-chronological order:

Hyssop (circa 1989)  ;   [Turbo Pascal/MsDOS]
This was a hospital patient/epidemiological database and management software package. It run on DOS, and included its own window management system, complete with pull down menus, pretty fonts, and the works. You will need fonts in .fon format in the directory from which you run it in order to see any text. Please don't ask me where to get .fon fonts. Go find an old MSDOS system yourself.
hyssop.tgz. MD5 (hyssop.tgz) 26f6de6dce77b770809d9edb4bbf72f0


demoOS (circa 1998)  ;   [C/SPARC Assembler]
This was an undergraduate researhc project. I locked myself in my apartment for a semester, read Douglas Comer's Operating System Design, the XINU approach, and implemented an operating system for the Fujitsu SPARCLite MB86831 microcontroller.
demoOS.tgz MD5 =


shload (circa 1999)  ;   [C]
This is a program that should run on most Unixes, and enables you to download Motorola S-Record format files to Hitachi development systems with either the old CMON firmware or the newer firmware on the SH7708US-EDK.
shload.c


ppcload (circa 1999/2000)  ;   [C]
This is a utility to download code to the firmware (DINK32/MDINK32) on the Motorola PPC603e "Excimer" evaluation board.
ppcload.c


myrmigki (circa 2001)  ;   [C]
This is an instruction set simulator for the Hitachi architecture. Originally started out as my course project for a computer architecture class, evolved to become the basis for experimentation done for my M.Sc. thesis. Includes instruction level power models for the SH7708F60.
http://www.myrmigki.org


Scylla (circa 2001)  ;   [C/Hitachi SH assembler]
This is a virtual machine for embedded systems.
scylla


Scyasm (circa 2001)  ;   [C]
This is an assembler for Scylla assembly language programs.
scyasm


devmyrmigki (circa 2002)  ;   [C]
This is a version of the Myrmigki simulator that is available as a device driver for the Inferno operating system, enabling the execution of C programs over Inferno. It essentially provides a second virtual machine, which is a Hitachi SH processor, so you can just compile programs with any compiler that will generate code for the SH and have them run (safely) over Inferno.
devmyrmigki.tgz MD5 (devmyrmigki.tgz) = fe622e4eb53fc183cac1d18f90079d5f







Inferno Software.

I often write software for the Inferno OS, in the Limbo language. Limbo is my favorite programming language. I maintain separate pages for my Inferno software here. There are also the complete examples from the ipwl book here. The more interesting ones (for me, that is) are mirrored here:

Esdaudiodev (2003)  ;   [Limbo]
This is a small filesystem server that serves /dev/ and /dev/audioctl, and speaks the ESD protocol to a local or remote server, enabling you to play PCM audio locally or on any machine on the internet that is running ESD.
esdaudiodev.b


{cb} (circa 2002)  ;   [Limbo]
This is a strange one. It reads in any kind of input, text, audio, video, etc, and outputs images. A paper describing it appears in the DSTM Journal vol. 0 no. 0. A draft of the article is here.
cb.b


{banner} (circa 2002)  ;   [Limbo]
This is a clone of the unix banner(1) utility.
banner.b


gameoflife (circa 2002)  ;   [Limbo]
This is an implementation of John Conway's Game of Life, and appears as an example in the ipwl book.
gameoflife-wm.b








Currently Under Development...

m (circa 2003)  ;   [Limbo]
I'm implementing a compiler for a language called M.


myrmigkia (circa 2003)  ;   [C]
I continue work on the Myrmigki simulator, it is now probably better named Myrmigkia. It simulates a network of heterogeneous processors, of either the Hitachi SH architecture of the TI MSP430, interconnection links, battery discharge characteristics, DC-DC converters, failures in devices and links, and a lot more.


Collaborative Development...
I'm working with Vasil Daskalopoulos on way too many projects: Edisong, Lineart and more, too secret to even mention :-)