Skip to content

Latest commit

 

History

History
78 lines (57 loc) · 2.41 KB

README.md

File metadata and controls

78 lines (57 loc) · 2.41 KB

chippy

CHIP-8 emulator written in Rust. This is intended to be a project for gaining experience writing emulators and practice Rust.

Dependencies

You'll need to install the SDL2.0 Development Libraries. The README of the rust-sdl2 project has very detailed information on how to install it in different platforms and it also covers scenarios that may be relevant to you.

Usage

$ cargo run -- games/<GAME>

You should replace <GAME> with whatever game tickles your fancy. The games under games/ are public domain.

Testing

$ cargo test

Keypad

The original CHIP-8 16-key hexadecimal keypad has the following layout:

+---+---+---+---+
| 1 | 2 | 3 | C |
+---+---+---+---+
| 4 | 5 | 6 | D |
+---+---+---+---+
| 7 | 8 | 9 | E |
+---+---+---+---+
| A | 0 | B | F |
+---+---+---+---+

I'm using the following mapping:

+---+---+---+---+
| 1 | 2 | 3 | 4 |
+---+---+---+---+
| Q | W | E | R |
+---+---+---+---+
| A | S | D | F |
+---+---+---+---+
| Z | X | C | V |
+---+---+---+---+

Screenshots

Space Invaders

alt text

Blinky

alt text

References

And here is a list of some of the projects that I've read and used as a source of inspiration. I didn't copy any of the code, but some names may be exactly the same simply because there was no better alternative.

License

See LICENSE.