Skip to content

Guilospanck/nes-emulator-rust

Repository files navigation

NES Emulator Rust

A simple NES Emulator written in Rust.

codecov

Goal

Have a simple, but working, NES emulator written in rust.

Current project

As writing an emulator (when you've never done it) takes a lot of time, currently this one only emulates some opcodes necessary to run a basic Snake Game. In other words, it's only focused on the CPU part of it.

You can play it by using the WASD keys.

Installation

Rust

Be sure to have Rust installed in your system. You can do that by following the instructions of this link.

SDL2

This emulator is using the Rust crate for SDL2 (rust-sdl2). SDL (Simple DirectMedia Layer) is a library that provides low level access to many resources, like graphics hardware, keyboard, mouse, joystick and so on.

To install it on MacOS, do the following:

brew install sdl2
brew link sdl2 

Then, edit .zshenv (and not .zshrc, if you are using ZSH, of course) and add:

export LIBRARY_PATH="$LIBRARY_PATH:/opt/homebrew/lib"

Project

Git clone this repository:

git clone https://github.com/Guilospanck/nes-emulator-rust.git

How to run

After the process of installation above, change directory into the project folder:

cd nes-emulator-rust/

And then run:

cargo run .

Useful Links

Here are some of the links that were (are being) used to get to this point of the project. Be sure to check them out the have more context.