ProductPromotion
Logo

Rust

made by https://0x3d.site

GitHub - pcwalton/sprocketnes: NES emulator written in Rust
NES emulator written in Rust. Contribute to pcwalton/sprocketnes development by creating an account on GitHub.
Visit Site

GitHub - pcwalton/sprocketnes: NES emulator written in Rust

GitHub - pcwalton/sprocketnes: NES emulator written in Rust

sprocketnes is an emulator for the Nintendo Entertainment System written in the Rust programming language.

Its purpose is to serve as a technology demonstration to show how the Rust programming language is suitable for systems software such as emulators. It has many shortcomings and is not intended to be a production-quality emulator. sprocketnes is also designed to be a relatively clean example codebase, showing off various Rust idioms.

The NES was chosen for this project because:

  • It's familiar to most hackers.

  • It's a reasonably simple system to emulate.

  • Because of its popularity, its workings are relatively well-documented.

  • It's CPU-bound, so it can serve as a benchmark to help optimize Rust code.

  • The audio requires some measure of real-time operation, which tests Rust's real-time capabilities.

The main controls are as follows:

  • A: Z

  • B: X

  • Start: Enter

  • Select: Right shift

  • D-Pad: Arrows

Other keys:

  • Save state: S

  • Load state: L

  • Quit: Escape

If you want to build sprocketnes, you will first need the Speex codec library installed; on the Mac you can install it with brew install speex.

To build (add --release if you actually want playable speed):

cargo build

There are numerous demos and games available for free for use with this emulator at http://nesdev.com/.

Enjoy!

More Resources
to explore the angular.

mail [email protected] to add your project or resources here 🔥.

Related Articles
to learn about angular.

FAQ's
to learn more about Angular JS.

mail [email protected] to add more queries here 🔍.

More Sites
to check out once you're finished browsing here.

0x3d
https://www.0x3d.site/
0x3d is designed for aggregating information.
NodeJS
https://nodejs.0x3d.site/
NodeJS Online Directory
Cross Platform
https://cross-platform.0x3d.site/
Cross Platform Online Directory
Open Source
https://open-source.0x3d.site/
Open Source Online Directory
Analytics
https://analytics.0x3d.site/
Analytics Online Directory
JavaScript
https://javascript.0x3d.site/
JavaScript Online Directory
GoLang
https://golang.0x3d.site/
GoLang Online Directory
Python
https://python.0x3d.site/
Python Online Directory
Swift
https://swift.0x3d.site/
Swift Online Directory
Rust
https://rust.0x3d.site/
Rust Online Directory
Scala
https://scala.0x3d.site/
Scala Online Directory
Ruby
https://ruby.0x3d.site/
Ruby Online Directory
Clojure
https://clojure.0x3d.site/
Clojure Online Directory
Elixir
https://elixir.0x3d.site/
Elixir Online Directory
Elm
https://elm.0x3d.site/
Elm Online Directory
Lua
https://lua.0x3d.site/
Lua Online Directory
C Programming
https://c-programming.0x3d.site/
C Programming Online Directory
C++ Programming
https://cpp-programming.0x3d.site/
C++ Programming Online Directory
R Programming
https://r-programming.0x3d.site/
R Programming Online Directory
Perl
https://perl.0x3d.site/
Perl Online Directory
Java
https://java.0x3d.site/
Java Online Directory
Kotlin
https://kotlin.0x3d.site/
Kotlin Online Directory
PHP
https://php.0x3d.site/
PHP Online Directory
React JS
https://react.0x3d.site/
React JS Online Directory
Angular
https://angular.0x3d.site/
Angular JS Online Directory