rust-nes
A BLAZINGLY FAST rust emulator for the NES.
Install / Usage
- Clone the repository and navigate to it
git clone https://github.com/imagine-hussain/rust-nes.git
cd rust-nes
- Compile using
cargo
. If you don't have cargo, install it here.
cargo build --release
- Run. Information on Loading Rom Coming Soon
™️ .
cargo run
Status
Non-functional WIP.
TODO
-
Create instruction decoding
-
Implement all instructions
-
Decode and open
.iNes
files accurately -
Implement Cpu Cycling
-
Implement Ppu
-
Get a frontend working that renders something
-
Mappers. Aim is to have the 10 most common mappers complete, to allow most games to work. 2127 / 2418 = 88%.
- Mapper 001 | 677 (28%)
- Mapper 004 | 587 (24.28%)
- Mapper 002 | 267 (11.04%)
- Mapper 000 | 247 (10.22%)
- Mapper 003 | 155 (6.41%)
- Mapper 007 | 75 (3.1%)
- Mapper 206 | 44 (1.82%)
- Mapper 011 | 31 (1.28%)
- Mapper 005 | 24 (0.99%)
- Mapper 009 | 20 (0.83%)
-
APU
-
PPU
-
Additional Emulator Features
- Pause
- Speed-up / Slow-down Execution
- Pause / Inspect
- Save Game-State
- Scaling
- Crt Shader
-
Add GitHub CI/CD to ensure builds on Windows are succesful.