https://github.com/bgourlie/rs-nes
A work-in-progress NES emulator written in Rust
https://github.com/bgourlie/rs-nes
emulation nes-emulator rust
Last synced: 8 months ago
JSON representation
A work-in-progress NES emulator written in Rust
- Host: GitHub
- URL: https://github.com/bgourlie/rs-nes
- Owner: bgourlie
- License: mit
- Created: 2015-06-29T03:41:35.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2023-03-02T16:15:44.000Z (over 3 years ago)
- Last Synced: 2025-01-29T08:11:16.941Z (over 1 year ago)
- Topics: emulation, nes-emulator, rust
- Language: Rust
- Homepage:
- Size: 1.63 MB
- Stars: 100
- Watchers: 8
- Forks: 4
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# rs-nes [](https://travis-ci.org/bgourlie/rs-nes)
A work-in-progress NES emulator written in rust.
### Debugger
The old debugger has been removed as I refactor the code. Checkout [this](https://github.com/bgourlie/rs-nes/commit/178a96a514f0f49d25842c86e83a8b7617be78a7) commit to use the debugger. The demo for the debugger can be seen on [youtube](https://www.youtube.com/watch?v=YC2FvozglPc).
### Running
```
cd rs-nes
cargo run --bin native_client --release --features="native_client" -- path/to/rom.nes
```
### Current Status
- The CPU is fully-implemented and well-tested.
- The PPU is fairly accurately emulated but has a few minor bugs.
- Audio is not implemented yet.
- Mappers
- NROM (Mario Bros., Super Mario Bros., Excite Bike, etc)
- UxROM is partially implemented (Mega Man, Castlevania, Contra, etc)
### Controls
W: Up
A: Left
S: Down
D: Right
J: B
K: A
Shift: Select
Enter: Start
**Attribution**
Much of the inline documentation for NES specific components (PPU, APU) are taken directly from [The NES dev wiki](https://wiki.nesdev.com/).