Skip to content

tekr/EmuBoy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Emu Boy

A Nintendo Game Boy emulator written in C++.

Why another emulator?

There are many PC-based emulators that have existed for some time including VBA and BGB. This project was intentionally started independently as a hobby/practice exercise.

Acknowledgments

Emu Boy has been built using Game Boy hardware information available online, primarily:

Game Boy CPU manual

CPU opcodes

Pan Docs

GB boot ROM

The repo includes a binary of GBSnake.

Dependencies

Emu Boy uses SFML for outputting video & audio, and Google Test for unit testing.

Current status

As of now Emu Boy is still in its early stages and is very much a work in progress. It currently supports the following:

  • Fairly cycle-accurate emulation of the LR35902 CPU (all documented instructions + interrupts)
  • Full graphics implementation (sprites + background + window support)
  • Runs (at least) the included snake and Super Mario World, though the latter has some graphical glitches
  • Unit testing of most CPU instructions
  • Windows-only (Visual Studio 2015 solution)
  • Simulates the slow response-time of the Game Boy LCD screen and smoothes upsized jagged pixels
  • Keyboard input

 

To-do list

Various features remain to be added including:

  • Sound
  • Menus & ROM file selector
  • Linux/Mac OSX support
  • Performance optimisation

About

A Game Boy emulator written in C++

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published