outsbart / gameman

A gameboy emulator in Rust

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

gameman Build Status

gameman is a Game Boy (DMG) emulator written in Rust as a hobby project. I'm doing it mostly for learning Rust and to have fun with the challenges of emulation.

A pokemon game running in gameman

Status

Major games like Tetris, Mario, Kirby, Zelda and Pokemon are fully working and playable.

Save files will be put in the same directory as the rom file, but with a .sav extension.

Audio works, but needs more testing on different platforms.

Accuracy

Accuracy is currently at instruction level.

blargg's cpu_instrs, instrs_timing, dmg_sound test roms are passing.

TODO

  • Fix sprite rendering priority
  • Machine cycle accuracy
  • Properly abstract emulation code to easily allow other frontends integration
  • Save states
  • Refactor, refactor and refactor code
  • Extend cartridge types support
  • Gameboy Color support?

Dependencies

At the moment, SDL2 is required for sound, input and rendering.

How to run

cargo run --release <rom location>

Buttons

Use keyboard arrows for directions and...

GameboyABSelectStart
KeyboardZXAS

About

A gameboy emulator in Rust

License:GNU General Public License v3.0


Languages

Language:Rust 100.0%