A vibe coded NES emulator written in Rust.
- CPU — Full 6502 processor emulation with all official opcodes and addressing modes
- PPU — Picture Processing Unit with background and sprite rendering
- APU — Audio Processing Unit with pulse, triangle, and noise channels
- Cartridge — iNES ROM format parsing with Mapper 0 (NROM) support
- Input — Keyboard-based controller input via SDL2
- Save States — Save and load emulator state with a single keypress
Requires Rust and SDL2.
cargo build --releasecargo run --release -- <rom.nes>| Key | NES Button |
|---|---|
| Z | A |
| X | B |
| Enter | Start |
| Right Shift | Select |
| Arrow Keys | D-Pad |
| Key | Action |
|---|---|
| F5 | Save state |
| F9 | Load state |
| Escape | Quit |