Skip to content
/ gameman Public

WIP embeddable and embedded GameBoy and GameBoy Color emulator focusing on clean code (i hope)

License

Notifications You must be signed in to change notification settings

velllu/gameman

Repository files navigation

GameMan

The GameBoy emulator that does not play around™

Screesnhots

What can the emulator actually run?

I am at a very early stage, this emulator will not run any game.
Here's a list of things I need to implement

  • CPU
    • Barebones CPU for testing graphics
    • All opcodes implemented (i just need the STOP one but it's not a priority)
    • All interrupts implemented
  • GPU
    • Barebones and graphicless implementation
    • Background rendering
    • Window rendering
    • Sprite rendering
  • Input Handling
  • GameBoy Color support
  • SPU (Sound), I have yet to research this

Here's a list of roms and games that work on the emulator

  • dmg-acid2
  • The panda rom, couldn't find the link

What makes this emulator different?

  • It's embeddable, you can embed this into any UI framework, gtk, iced etc. This is not actually an emulator per se, it's the "backend", the "frontend" is up to you to implement, altough I will probably make one myself. As of now, you can try cargo run --example debugger -- rom.gb to get a primitive debugger, and cargo run --example screen -- rom.gb to see the actual gameboy screen.
  • It will probably be embedded as well in the future, meaning you will be able to run this on a microcontroller
  • Focused on clean code, this emulator's focus is neither speed or accuracy, if I delivered on this front is up to you, feel free to open an issue or a pull request if you think something can be improved

About

WIP embeddable and embedded GameBoy and GameBoy Color emulator focusing on clean code (i hope)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages