Skip to content

Latest commit

 

History

165 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rust-nes

This is a Nintendo emulator written in Rust.

Super Mario Brothers Castlevania
Legend of Zelda

The goal of this project is purely educational to both learn Rust and also learn more about systems programming/writing an emulator. This emulator uses NTSC timing.

The emulator supports the following mappers:

Getting Started

Install Rust

To run this project, Rust needs to be installed: Download Rust

Clone repository:

git clone https://github.com/caklimas/rust-nes.git

Build project(if you don't build under release the program will run very slowly):

cargo build --release

Run executable

Navigate to /target/release folder. There are two ways to run a ROM.

The first is specifying the location of a .nes or .qks file:

rust-nes.exe {path-to-rom}

Ex: rust-nes.exe "C:\ROMS\test-rom.nes"

The second is running the executable and then dragging and dropping a .nes or .qks file into the window

Controls

This is the keyboard mapping from the NES Controller:

NES Keyboard
A Z
B X
Start Enter
Select R-Shift
Up Up
Down Down
Left Left
Right Right

Extra controls

This emulator also supports quicksave and quickload. To save hit F7 which will save it under a .qks file. To load that simply pass it in as an argument in place of the .nes file

About

NES emulator done in Rust

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages