4 releases

0.1.4 Nov 3, 2018
0.1.2 Nov 3, 2018
0.1.1 Nov 3, 2018
0.1.0 Nov 3, 2018

#41 in Emulators

Download history 56/week @ 2018-11-08 21/week @ 2018-11-15 17/week @ 2018-11-22 36/week @ 2018-11-29

6 downloads per month

MIT license

786 lines

Crates.io Build success


This is a working emulator for the CHIP-8 machine built in Rust. This probably should not be used in production and I am a beginner in Rust so there are probably better ways to write the code I wrote.

It handles sound, graphics and keyboard input using the SDL2 library.


Clone the repository and make sure Rust and Cargo are installed, then run:

$ cargo run

This will start the Pong game bundled with the emulator. The bundled Pong game was not made by me but it is in public domain. You can find a lot of games for the CHIP-8 if you type CHIP-8 free games on your favorite search engine.

If you have a CHIP-8 ROM file, you can run in the emulator with the following command:

$ cargo run your-rom-file.ch8

To get a list of options, run:

$ cargo run -- -h

This will list the options and explain them. For example, you can change the emulator speed and mute the audio.


If you find a better way to write the code, or if there is a mistake, feel free to send a pull request or to create an issue.


~59K SLoC