Product Promotion
0x5a.live
for different kinds of informations and explorations.
GitHub - starrhorne/chip8-rust: Yet another rust chip8 emulator
Yet another rust chip8 emulator. Contribute to starrhorne/chip8-rust development by creating an account on GitHub.
Visit SiteGitHub - starrhorne/chip8-rust: Yet another rust chip8 emulator
Yet another rust chip8 emulator. Contribute to starrhorne/chip8-rust development by creating an account on GitHub.
Powered by 0x5a.live 💗
Introduction
This is a chip-8 VM built in rust. If you're reading this, chances are that you're thinking of writing your own chip8 emulator. You should! It gives you a great feel for how home computers worked back in the late 70s. It's also a nice project for people new to Rust, because you don't need any of the language's more advanced features (like generics and traits).
Resources
These were the most useful chip-8 references I found.
Requirements
You need to have sdl2 installed with headers. On Ubuntu 17.04, this did the trick:
sudo apt-get install libsdl2-dev libsdl2-gfx-dev
Usage
Clone this repository, then run:
cargo run /path/to/game
You can find public-domain games here.
Comments
Feel free to let me know if you have any questions or comments about this code. At the time I'm writing this, I'm pretty new to Rust so it may not be 100% idiomatic. You can reach me on twitter @StarrHorne, or by opening an issue on this repo.
Credits
Most of the SDL-related code was taken from the sdl2 crate's documentation and examples. I also used Mike Zaby's rust chip8 repository as a reference, though I didn't use any of his code.
Rust Resources
are all listed below.
Made with ❤️
to provide different kinds of informations and resources.