Skip to content

Nintendo Entertainment System emulator

Notifications You must be signed in to change notification settings

Laastine/nes-emulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NES-emulator

CI

Learning project to build Nintendo Entertainment System emulator. The goal is to build NES emulator using only rust libraries so no SDL-library requirement.

Controls

Keyboard

Arrow keys - D-pad
S - Start
A - Select
Z - Button B
X - Button A
R - Reset
Space - Pause/continue emulation
Esc - Quit

Supports gamepad

TODO

  • CPU
  • Display RAM & CPU status in terminal for debugging
  • ROM reader & mapper
  • Graphics window
  • Controls (keyboard & gamepad)
  • PPU (Pixel Processing Unit)
    • PPU background rendering
    • PPU sprites
  • More ROM mappers
  • Cross-platform (MacOS, Linux, Windows)

✍️ APU (Audio Processing Unit)

Usage

USAGE:
nes-emulator [FLAGS]

FLAGS:
-h, --help                      Prints help information
-v, --version                   Prints version information
-r, --rom                       Rom filename to load
-d, --debug                     Show memory debug on terminal

Quick testing

cargo run --release -- --rom rom-file-here

References