• Stars
    star
    229
  • Rank 174,666 (Top 4 %)
  • Language
    Rust
  • Created almost 6 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A NES emulator made to learn the Rust programming language

nes-emulator

Building

$ rustc --version
rustc 1.32.0 (9fda7c223 2019-01-16)
$ cargo --version
cargo 1.32.0 (8610973aa 2019-01-02)

$ cargo build --release
$ cargo run --release --bin nes-emulator

The emulator loads a ROM in iNES format located at the hardcoded path roms/mario.nes.

On Windows, you may need to statically-link SDL by enabling the appropriate feature:

$ cargo run --release --bin nes-emulator --features 'sdl2/bundled'

Inputs

The emulator has been tested with an Xbox 360 controller, but should work with any controller the SDL library recognizes.

Additionally, these keyboard keys control the emulator:

  • Escape: Exits the emulator
  • Pause: (Developer use) Breaks a command-line debugger
  • F5: Saves a savestate
  • F6: Loads the most recent savestate
  • F7: Restart the current ROM and playback a video of recorded inputs
  • F8: Set video recording start point
  • Tab: Toggles "turbo mode", which removes the 60 FPS limit.

More Repositories

1

pyramid-scheme

Pyramid is a language to create Ethereum smart contracts
Racket
250
star
2

haskoin

Proof-of-concept Blockchain in Haskell
Haskell
90
star
3

pornview

Porn browser formally-verified in Coq
Coq
51
star
4

lambda-exchange

Data structures/API for a Bitcoin exchange
Haskell
20
star
5

leafy-mode

Emacs minor-mode built on top of org-mode for working with ChatGPT
Emacs Lisp
19
star
6

redshift-shellcode

Example of injecting x64 shellcode into Amazon Redshift
PLpgSQL
16
star
7

yxdb-utils

Utilities for parsing Alteryx Database format
Haskell
12
star
8

pond.js

Programs compete for CPU in the same memory space
JavaScript
7
star
9

js-jit

An x64 JIT compiler for a subset of Javascript
Haskell
5
star
10

goodsteins-theorem

A formal proof of Goodstein's theorem
Coq
4
star
11

ceagle

C compiler targeting Pyramid Scheme, which targets the Ethereum Virtual Machine
Racket
4
star
12

file-graph

graphviz example with Haskell
Haskell
3
star
13

underrail-unpacker

Does some minimal unpacking of Underrail files, specifically global.dat
C#
3
star
14

project-euler

A dump of my Project Euler solutions
Haskell
3
star
15

stockfighter-jailbreak

Command line tools for the Stockfighter Jailbreak game
Haskell
3
star
16

haskell-authorize-net

Haskell SDK for the Authorize.NET API
Haskell
2
star
17

delta-debugging-example

C++
2
star
18

monads

A list of things that monads are
JavaScript
2
star
19

ethereum

Typed Racket implementation of common Ethereum libraries
Racket
2
star
20

HaXml

Development copy of HaXml
Haskell
1
star
21

mandelbrot

Go
1
star
22

ExampleDB

Haskell
1
star
23

ChineseChess

C++
1
star
24

rockstar-problem

Perl
1
star
25

matroids

Coq
1
star