These pages are dedicated to my software projects. I taught myself how
to program in the late 1970s using programmable calculators (Texas
Instruments SR-56 and TI-59), the Radio Shack TRS-80, and my own
home-built microcomputers. I progressed from calculator languages to
BASIC, Z80 assembler, 8086 assembler, 68000 assembler, Pascal, C, and
C++. Today I program using a PC, Linux, and gcc.
I wrote all of the programs on these pages as a hobby. The programs may
be divided into four categories: Z80 software, 68000 software, Windows
software, and Linux software.
These programs were written between 1978 and 1984 for my first
home-built microcomputer, the Genius 1. Since the Genius 1 did not come
with any software, out of necessity I developed all types of software
including an operating system, high-level language, and applications.
Earlier programs were written in Z80 machine language. Later programs
were written in Z80 assembly language and BASIC. I learned a lot about
programming during this time.
Although the Genius 1 is long gone, its software continues to run under
Gem, the Genius computer emulator that I developed for the PC.
Gem runs my Z80 software 70 times faster than before!
These programs were written between 1984 and 1995 for my second
home-built microcomputer, the Genius 2. A
dual-processor machine, this computer could run the Z80 software written
for its predecessor. In addition, I developed a new operating system,
high-level language, and applications for the much more powerful 68000.
Only a small fraction of the Genius 2's software was written in assembly
language. The majority was written in a high-level language that I
invented, the E language.
Today the Genius 2 computer still runs my 68000 software. In addition,
E language software runs on the PC using the PC version of the compiler
and run-time library. A 3 GHz Pentium 4 runs this software 1,000 times
faster than an 8 MHz 68000!
By 1995, I had accumulated several hundred programs. However, my
home-built computers had become dinosaurs. Thus, I undertook a new
effort to port my software to the PC using the C language and
Microsoft's then-new Win32 API.
Simple programs were run under the emulator or were recompiled. Such
programs retain all of the features and limitations of the originals.
More sophisticated programs were rewritten in the C language and given
graphical user interfaces and additional features. Entirely new
programs were also created.
I used Unix a lot in college and at work, but Unix was always too
expensive for home use. Today, there is a Unix-like operating system
available at little or no cost: Linux. In December 2004, I installed
Slackware Linux 10.0 on my home PCs and started porting my software to
Linux using GTK+. Linux is a very good software development
The software museum chronicles my software projects over the years.
Click on the menu at the left to take a trip back in time.