Skip to content
/ wx_gb Public

WIP Game Boy emulator in Rust, built purely for learning emulation and hardware behavior.

License

Notifications You must be signed in to change notification settings

wxemu/wx_gb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

wx_gb

A Game Boy emulator written in Rust.

⚠️ This project is purely educational.
The main goal is not to write clean, fast, or idiomatic Rust code, but to learn how emulation works and understand the Game Boy hardware.


Current Notice

Currently, I'm learning how the Game Boy works. At first, I thought I was ready to write the emulator. Instead, after watching some videos, I decided to start slowly.

About

This emulator was built mainly for learning purposes.

Resources used while developing it:

For testing, I used:

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


Features

Work in Progress

  • Cartridge
  • Address Bus
  • Memory map
  • CPU (SM83)
  • Timer
  • PPU
  • Input
  • Audio

Notes

This project is not perfect by design:

  • No strong focus on optimization, architecture, or Rust best practices
  • Bugs and incorrect behavior are expected
  • The goal is learning, not production-quality code

Pull requests are welcome, especially for:

  • Bug fixes
  • Improving accuracy or ROM compatibility
  • Correcting mistakes in the implementation
  • Suggesting improvements or refactors

Contributing

If you want to contribute:

  1. Fork the repository
  2. Create a branch for your changes
  3. Submit a pull request explaining what you changed and why

Feedback is always appreciated.


License

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

About

WIP Game Boy emulator in Rust, built purely for learning emulation and hardware behavior.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages