6 releases

0.2.0 Nov 18, 2018
0.1.5 Nov 4, 2018

#9 in Emulators

Download history 35/week @ 2018-10-30 27/week @ 2018-11-06 26/week @ 2018-11-13 13/week @ 2018-11-20 30/week @ 2018-11-27 29/week @ 2018-12-04 13/week @ 2018-12-11 68/week @ 2018-12-18 1/week @ 2018-12-25 6/week @ 2019-01-01 8/week @ 2019-01-08 8/week @ 2019-01-15 1/week @ 2019-01-22

81 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