Skip to content

rlintott/gba-mu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gba-mu

gba-mu is a WIP Game Boy Advance emulator. It is written in C++ with an object-oriented design. There's still a lot of work to be done on it

Upcoming Features and TODOs:

  • Miscellaneous bugs
  • All PPU modes and features
  • Sound controller
  • Optimizations
  • Instruction cycle counting / Gamepak prefetch emulation

Alt text

Building

  • Dependencies: cmake, c++17, sfml
  • cd build ./build.sh
  • Has only been tested on MacOS, but feel free to try it on Linux and Windows and provide feedback

Running

  • To run tests: cd build ./build.sh ctest
  • To run a ROM: cd build ./gba <path_to_gba_rom>

Controls

  • d-pad = WASD
  • A = k
  • B = m
  • start = spacebar
  • select = rshift
  • debug mode = z
  • exit debug mode = x

Resources

Here are some resources I have been using to aid in developing this emulator

  • GBATek Documentation is an authoritative reference for GBA's hardware
  • TONC GBA Programming guide is a great resouce that provides a lot of demo ROMs, indispensible for testing various components.
  • ARM7TDMI Data Sheet: ftp://ftp.dca.fee.unicamp.br/pub/docs/ea871/ARM/ARM7TDMIDataSheet.pdf CPU reference sheet
  • Emudev Discord Server a welcoming and helpful EmuDev community

About

A WIP GBA emulator written in C++

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages