Skip to content

(Yet another) CHIP-8 interpreter implemented in Rust.

License

Notifications You must be signed in to change notification settings

rafael-graunke/chip-8-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CHIP-8 in Rust

This project started as a way for me to learn:

  • Low-level stuff;
  • Rust;
  • Hardware/Console emulation.

(I'm new to all of the above)

I've started the main implementation but decide to start over and document my progress here.

Dependencies

To be able to build and run the project you will first need to have Rust installed. It's also necessary to have SDL2 lib installed on your system. For ubuntu based systems run the following command:

sudo apt-get install libsdl2-dev

Running

To test out the project, use the following command:

cargo run -- <path> <ipf>
  • path: Path to ROM file.
  • ipf: Instructions per frame.

Current State

The following checklist shows a bit of the progress and current state of the emulator. Currently working on quirks and bug fixes.

  • Memory, stack, registers and PC;
  • ROM reading;
  • Fonts;
  • Cycle accurate loop;
  • OpCode matching;
  • Display to screen;
  • Basic OpCodes (for IBM logo e.g.);
  • All OpCodes;
  • Quirk configurability.

About

(Yet another) CHIP-8 interpreter implemented in Rust.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages