To run:
python debugger.py <rom path>
then type 'g'
'?' will show you debugger commands
Todo:
- finish instructions
- unit tests
- abstract out memory from cpu
- abstract out mappers from memory
- create the cartridge rom parser/loader
- [] create the PPU
- [] create the APU
- [] speed up cpu and ppu
- [] sort out instruction timing
Tested with:
- Python 2.7.10 on macOS 10.13.2
- Python 2.7.14 on macOS 10.13.2
- SDL2, the cross-platform hardware abstraction layer for media software
- Python 2
- PySDL2, the Python bindings for SDL2
On macOS:
brew install sdl2
sudo python -m pip install pysdl2
git clone https://github.com/pusscat/refNes
cd refNes
python debugger.py /path/to/rom.nes
# First, place a valid smb1.nes file in the refNes directory.
cd refNes/tests
python instruction_tests.py
python cart_tests.py