Dissector
Dissector disassembles 6502 code. As of now, this is a commandline-tool. This might change in the future. It runs on 64 bit versions of Linux, MacOS, Windows and other systems supported by Python.
see: https://github.com/fieserWolF/dissector
Why Dissector?
open source - easy to modify and to improve, any useful contribution is highly welcome
portable - available on Linux, MacOS, Windows and any other system supported by Python3
illegals - full illegal opcode support
cycles - used cpu-cycles shown for each opcode
extensive info - extensive C64 memory map carefully gathered from best sources I could find online
assemblers - ACME and KickAssembler supported, easy to implement other assemblers
Usage
dissector v1.00 [21.08.2021] *** by fieserWolF
usage: dissector.py [-h] [-lf LABEL_FILE] [-o OFFSET] [-l LIMIT] [-t {acme,kickass}] [-d] [-i] [-ll] [-cc] input_file output_file startaddress
This program disassembles 6502 code.
positional arguments:
input_file binary input file
output_file sourcecode output file
startaddress startaddress in hex
optional arguments:
-h, --help show this help message and exit
-lf LABEL_FILE, --label-file LABEL_FILE
labels json-file, default="c64labels.json"
-o OFFSET, --offset OFFSET
offset in hex
-l LIMIT, --limit LIMIT
limit in hex
-t {acme,kickass}, --asmtype {acme,kickass}
assembler-type
-d, --dump show memory-dump
-i, --illegals use illegal opcodes
-ll, --labels show label-list
-cc, --cycles show cycles
Example: ./dissector.py test.prg test.a 2000 -lf c64labels.json -o 2 -l 100 -t acme --dump --labels --illegals --cycles |