Skip to content
/ garapa Public

A gameboy emulator, written in C with an optional tetris AI and Julia API

License

Notifications You must be signed in to change notification settings

h3nnn4n/garapa

Repository files navigation

Garapa

A Game Boy emulator as tasty as the Brazilian Garapa

Garapa is GameBoy Emulator written in C. The main objective of the emulator was to be a leaning experiece for me. I am trying to make it as accurate as possible, using several test roms available on the internet, namely blargg's and gekkio's. Last time I checked, Garapa passed all of gekkio's tests and failed only on interrupt timing for blargg's. The emulator is very accurate so far to what has been measured. The APU is fully functional and so is the PPU. In some edge cases the PPU draws incorrectly, even though it is cycle accurate.

On the accuracy side the emulator is pretty good. On the other hand... The usability side is pretty much non existent and should stay as is.

The master branch stores the pure emulator. The branch

Garapa is divided in several subprojects:

  • master - The standalone emulator;
  • gabate - Genetic Algorithm Based Agent for TEtris is a Tetris AI that learns how to play it from scratch. It runs on top of garapa;
  • gabate_tests - Same as above, but it is a frozen version that was used for a paper;
  • julia_api - The full emulator with a simple julia api. For now it has a simpler version of gabate in julia being written.

Acknowledgments

I would like to thank mehcode and gekkio for all the help and support they gave me, also for everyone else at EmuDev's slack.

License

See LICENSE for more info.

About

A gameboy emulator, written in C with an optional tetris AI and Julia API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages