Skip to content

dnlzrgz/chipster

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

chipster

screenshot

A lightweight CHIP-8 emulator written in Rust with minimal dependencies and clean architecture.

Motivation

I wanted to deep dive a bit more into low-level emulation in Rust and tackle a simpler project before attempting to write a Game Boy Advance (GBA) emulator.

Performance

Since this project is focused on correctness and clarity, it only incorporates some micro-optimizations like bitwise opcode parsing.

Key Map Translation

Classic CHIP-8 Keypad QWERTY Keyboard Mapping
1 2 3 C
4 5 6 D
7 8 9 E
A 0 B F
1 2 3 4
Q W E R
A S D F
Z X C V

Getting started

Prerequisites

You need the Rust toolchain installed. If you don't have it yet, set it up via rustup.rs.

Installing and running

  • Clone this repository:
git clone https://github.com/dnlzrgz/chipster
cd chipster
  • Run a ROM by providing its file path:
cargo run --release -- "./demos/Maze (alt) [David Winter, 199x].ch8"

Resources

Note

The ROMs in this repository have been extracted from kripod/chip8-roms.

About

A lightweight CHIP-8 emulator written in Rust with minimal dependencies and clean architecture.

Topics

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages