Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/irevoire/chrustip-8
A chip-8 emulator, mostly for learning emulation *and* rust
https://github.com/irevoire/chrustip-8
chip8 chip8-interpreter emulation emulator rust
Last synced: 2 days ago
JSON representation
A chip-8 emulator, mostly for learning emulation *and* rust
- Host: GitHub
- URL: https://github.com/irevoire/chrustip-8
- Owner: irevoire
- License: wtfpl
- Created: 2019-06-01T11:19:50.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-01-25T14:40:51.000Z (almost 5 years ago)
- Last Synced: 2025-01-20T04:32:31.766Z (5 days ago)
- Topics: chip8, chip8-interpreter, emulation, emulator, rust
- Language: Rust
- Homepage:
- Size: 105 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Chrustip 8
A chip 8 emulator in rust.
I've made this project to learn more about rust and emulation.
Since I wanted to try multiple crate for handling the UI / graphics, most of my implemntation are shit but I still kept everything.This repository is splitted in multiple part:
* **[chip8-cpu](chip8-cpu)**: Hold the code which simulate the chip-8 cpu with it's memory and registers
* **[chip8-minifb](chip8-minifb)**: My first implementation. It mostly works but there is a bug when a game wait for an input. You can see this for example when running the [KALEID](games/KALEID) game.
* **[chip8-ncurses](chip8-ncurses)**: My second implementation, it works in terminal. Getting any input is still shitty though.
* **[chip8-sdl](chip8-sdl)**: It's slow af I don't know why.## Requirement
* rust
* cargoThe easiest way to get all the rust environment is to install [rustup](http://rustup.rs/).
## Compile
### Compile all the binary
```
cargo build --release
```### Compile only one of the binary
```
cargo build --release --bin [bin name] # chip8-minifb for example
```To get the name of all the possidle binary just write `cargo build --bin` without inputing anything after.
## Execute
```
cargo run --release --bin [bin name] [path to game]
```## Run unit tests
```
cargo test --lib
```