A (to-be performant) Rust-based emulation of the Nintendo Entertainment System, rendered with macroquad.
- NES 6502 implementation
- Basic PPU function
ROM | Status |
---|---|
Pac-man | ✅ |
Balloon Fight | crashes after 3rd room? |
Donkey Kong | ✅ |
nestest | ✅ |
The Legend of Zelda | ❌ |
Final Fantasy | ❌ |
Copy a ROM into the repo and change the filename in main.rs
. Then, navigate to src
and run
cargo build --release
cargo run --release
.
I'm planning on implementing nicer UI later.
- CPU
- Official instructions
- BUS
- Unofficial instructions
- Cycle accuracy
- Cartridges
- iNES format
- Mapper 1
- PPU
- PPU registers
- NMI interrupt
- Background rendering
- Foreground rendering
- Scrolling
- Correct DMA behavior
- UI
- Controller mappings
- FPS
- APU
- APU
- Testing/docs
- 6502 test suite
- Blargg CPU/PPU tests
- Docs