All notable changes to this project will be documented in this file.
Added:
- add
-baseflag for custom base address in binary mode - add
-o -flag for stdout output - add
-output-unofficialflag to output unofficial opcodes as mnemonics - add
-stop-at-unofficialflag to stop tracing at unofficial opcodes - add multi-bank ROM support with per-bank vectors
Fixed:
- fix binary mode incorrectly including NES segments
- fix tracing continuing after BRK instruction
- fix unconditional branch detection for complementary branch patterns
Added:
- add CHIP-8 architecture support with retroasm assembler
- add system auto-detection from file extensions (.nes, .ch8, .rom)
- add
-sflag for manual system specification (nes, chip8) - add NES ROM information in output file header comments
Changed:
- rename project from nesgodisasm to retrodisasm to reflect multi-system support
Fixed:
- fix instruction overlap detection for unofficial instructions
- fix jump engine detection and processing
- fix mapper validation for empty banks
- fix assembler binary detection
- fix CLI flag registration timing issues
Added:
- add -binary option to read raw binary files without header
- add asm6 multi bank support
- add option to write generated ca65 config to file
Changed:
- improve vectors start address calculation
- use ca65 as default assembler
Fixed:
- fix nmi handler crash
- fix scanning of last zero byte for prg segment
Added:
- add nesasm output compatibility support
- show warning of mapper is not nrom
- start of banking support
- support asm6f as a assembler parameter alias for asm6
- output data lines with address in comments
Fixed:
- fix assembler binary name for verification on windows
- fix crash when disassembling invalid irq handler addresses
- improve code base address handling for large PRG
- improve instruction parameter converter prefix and suffix handling
Added:
- added asm6 output compatibility support
Fixed:
- fix crashes when disassembling nesfab generated roms
Added:
- jump engine detection
- write CRC32 checksums of segments in the output header as comments
- batch processing of multiple input files
- new logger output with different verbosity levels
Changed:
- the project was moved into its own git repository
Fixed:
- data references into unofficial instruction opcodes
- data references before code base start
- instruction overlap with IRQ handler start address
- support different code base addresses
- variable detection for zero page access
- variable usage detection for indirect jumps
Added:
- add var aliases for zeropage accesses
- support code/data logs
- support more mappers
- unofficial instruction opcodes are bundled
Fixed:
- fix wrong address in comments for non standard rom base addresses
- support data references into instruction opcodes
First version of retrodisasm (formerly nesgodisasm) released.