N.B. I did not write this code!
However, way back in 1978 I modified the terminal i/o routines to work on my homebrew 2.0Mhz 8080 computer. The code will no longer run on an IMSAI 8080, as it did originally. Not that anyone is hankering to do so.
Name Size Description
BASIC4K.ASM 103K IMSAI 8080 4K BASIC I8080ASM.ASM 27K IMSAI 8080 4K Assembler
The code was originally written in 8080 assembly language, but I converted it to Z80 assembly because the only tool I had at my disposal was a Z80 cross-assembler. Using only the 8080 subset of Z80 code I was able to generate pure 8080 object code.
Interestingly, the cross-assembler was written in FORTRAN and ran on a CDC Cyber 170 supercomputer. The Z80 code itself was painstakingly keypunched onto 80 column punch cards! Over the years, it migrated to 7-track tape, 9-track tape, 3.5" floppies, CDROM, and then finally found a home here on the Web.