Skip to content
/ wx_chip8 Public

Educational CHIP-8 emulator in Rust, focused on learning emulation concepts rather than production-ready code.

License

Notifications You must be signed in to change notification settings

wxemu/wx_chip8

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

wx_chip8

A CHIP-8 emulator written in Rust.

⚠️ This project is purely educational. The main goal is not to write clean, performant, or idiomatic Rust code, but to learn about emulation and how CHIP-8 works.


About

This project was based on the following tutorial:

And follows the official CHIP-8 specifications:

For testing, I used the following ROM:

I tried to write most of the code myself, using minimal AI assistance, only to clarify doubts while learning.


Features

  • Implements all CHIP-8 opcodes
  • Supports testing ROMs (like corax89)
  • Simple screen rendering (on/off pixels)
  • Delay and sound timers
  • Basic keyboard input

Notes

This project is not perfect:

  • It doesn’t focus on optimization, readability, or Rust best practices
  • Any bugs or odd behaviors are welcome to be corrected
  • Pull requests are encouraged, especially for:
    • Fixing bugs
    • Improving ROM compatibility
    • Suggesting improvements or refactoring

Contributing

If you want to contribute:

  1. Fork the repository
  2. Create a branch for your changes
  3. Submit a pull request explaining your changes
  4. Feedback and bug fixes are always welcome

License

MIT License. Feel free to study, modify, and use this project as a reference.

About

Educational CHIP-8 emulator in Rust, focused on learning emulation concepts rather than production-ready code.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages