“C” language 8008 emulator, debugger, disassembler source posted

Here is a link to the “C” language source for my 8008 debugger/disassembler. Though it has been a while since the code diverged, the core 8008 instruction emulator is essentially the same as used in my Macintosh OS/X app. Some of the output could be cleaned up a bit and I want to add an emulated cassette interface, but I think it has been pretty useful in creating and debugging 8008 software.

It takes 1 or 2 arguments, an Intel HEX file with the program to debug and an optional starting address (in decimal).

Here is a list of commands.

  • b – set break point
  • d – dump memory
  • r – run – note that unless you have a break point set, or the program encounters a halt instruction, there is no way to halt the program
  • s – step
  • n – next – steps over calls
  • h – display numeric values in hexidecimal (except for disassembly)
  • o – display values in octal
  • u – disassemble range of memory – use more readable format
  • a – disassemble range of memory – use format compatible with AS8 assembler
  • x – exit to shell
  • Thanks to Cameron Cooper helped me with the initial conversion of the step display to include instruction nmumonics.

    Things to do – add support for emulated SCELBI cassette interface.