DZ80 - freeware Z80 symbolic disassembler This software is free for any use. The author cannot be held responsible for any problems it might cause, in no case. If you don't understand or accept this, delete dz80 immediately. Purpose: DZ80 was written to allow a rather sophisticated disassembly of programs for the Z80 microprocessor. It was written to disassemble (and understand) the BASIC ROM of the Colour Genie. Operation: You call dz80.exe with a filename of a data file containing the Z80 code you want to disassemble. There are several options too: -a assembly output, no address and data columns -t input file is in the Colour Genie *.cas machine code tape format -i print block info (starting and ending address) -o load from specified offset -j DEF file options -jd include cgdos.def (Colour DOS symbol definitions) -jc file is a Colour Compiler output (with relocator code) DEF file format: The standard symbols and data type definitions are always included from the file cgenie.def. DZ80 tries to read symbol and data type information from a additional file by the name .def, so if you want to disassemble 'myprog.bin' you should have a file 'myprog.def' too. The format of the DEF files is as follows: addr1 option name/comment addr2 option name/comment ... addrX is a (up to) 4 digit hexadezimal address. option is one or two characters, describing the type of that entry. name/comment is either a symbol name or a free form comment. options: + comment add the comment after the disassembled opcode (same line) ; comment block comment, this is inserted in extra lines = symbol generic symbol value (ala EQU) c [symbol] code beginning with this address [and optional symbol name] b [symbol] byte sized data starts here [and optional symbol name] 7 [symbol] 7bit data starts here [and optional symbol name] a [symbol] ASCII data starts here [and optional symbol name] w [symbol] word sized data starts here [and optional symbol name] e [symbol] entry point data (words pointing to code) [and optional symbol name] s [symbol] single precision floating point [and optional symbol name] d [symbol] double precision floating point [and optional symbol name] oc [symbol] words containing offsets to code [and optional symbol name] o7 [symbol] words containing offsets to 7bit data [and optional symbol name] oa [symbol] words containing offsets to ASCII data [and optional symbol name] ob [symbol] words containing offsets to byte data [and optional symbol name] ow [symbol] words containing offsets to word data [and optional symbol name] ow [symbol] words containing offsets to entry points [and optional symbol name] Included files: The EXE is currently translated with CGENIE defined to 0, so it by default includes the CGENIE.DEF files and the CGDOS.DEF file if the -jd switch is given. Request: The tables arent very complete and certainly wrong in some parts. If you find time to check and correct them, your help would be very appreciated and I would of course publish your improved tables. Regards, Juergen Buchmueller