Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/djrideout/chippy

CHIP-8 interpreter in Rust
https://github.com/djrideout/chippy

chip-8 chip-8-emulator chip-8-interpreter chip8 chip8-emulator chip8-interpreter emulator interpreter rust rust-lang

Last synced: about 1 month ago
JSON representation

CHIP-8 interpreter in Rust

Awesome Lists containing this project

README

        

# chippy
CHIP-8 interpreter written in Rust. Targets CHIP-8, SUPER-CHIP (Modern), SUPER-CHIP (Legacy), and XO-CHIP.

![Cargo Build & Test](https://github.com/djrideout/chippy/actions/workflows/ci.yml/badge.svg)

# Options
```
// The CHIP-8 ROM to load
-i, --input

// Number of instructions to run per frame, defaults are different depending on the target
-c, --clock

// The platform to target
-t, --target [default: super-modern] [possible values: chip, super-modern, super-legacy, xo]
```

# Build requirements
- [Rust/Cargo](https://www.rust-lang.org/tools/install)

# Run interpreter
`cargo run -- `

# Run test suite
`cargo test`

# Build & run (release)
```
cargo build --release
./target/release/chippy.exe
```

# Debugging in VSCode
There is a VSCode launch config for debugging using LLDB in `.vscode/launch.json`.
To use it, modify the args in `.vscode/launch.json` with the options you want from above
and run the configuration `Debug with CHIP-8 ROM` in the `Run and Debug` sidebar tab.