z80hai - a Z80 disassembler (for Windows, written in C)
Having completed work on the zxian ZX Spectrum emulator, I moved on to write z80hai, a Z80 disassembler. From the start, I sacrificed some emulator performance for the sake of having decoded instructions also generate an assembler-friendly, human-readable mnemonic string.

For example,

01 37 13
would also internally generate the string

ld BC, 0x1337

Further, to support the writing of a disassembler, I also built a "decode only" mode into the CPU code of the emulator. Since an emulator's modus operandi is roughly "decode-then-execute" and a disassembler's is "decode", this was factored out and wrapped in a command line, file-generating application and z80hai was born.


z80hai v1 disassembler - no configuration needed. Run without arguments to see usage details.
z80hai v1 source - load the solution file in Visual Studio to build z80hai yourself.