z80dasm

18.06.2007 13:59

Introduction

z80dasm is a disassembler for the Zilog Z80 microprocessor and compatibles. It can be used to reverse engineer programs and operating systems for 1980's microcomputers using this processor architecture (for example ZX81, Spectrum, Galaksija and many others).

Generated assembly code can be assembled back with a number of Z80 assemblers. Compatibility with z80asm was thoroughly tested.

z80dasm is based largely on dz80 3.0, written by Jan Panteltje. z80dasm was extensively tested, a lot of bugs were fixed and a more UNIX-like command line interface was added. Specifically:

  • "2c" opcode is correctly recognized as "inc l".
  • Positive and negative relative offsets for "jr" and "djnz" instructions are calculated correctly and can be printed in original Zilog or zasm syntax depending on a command-line parameter.
  • "cb 30" opcode is correctly recognized as "sli" undocumented instruction.
  • Illegal sequences and partial opcodes are handled correctly and are included in the output as data bytes with "defb".

Supported platforms

In theory any UNIX-like operating system. z80dasm is developed on Debian GNU/Linux.

There is also a Windows binary available, provided by Adrien Destugues.

Dependencies

None except a sane C compiler.

Download

See http://www.tablix.org/~avian/z80dasm for source, Debian packages and Windows binary releases.

To get source directly from git repository:

$ git clone http://www.tablix.org/~avian/git/z80dasm.git