Skip to content

Latest commit

 

History

History
96 lines (69 loc) · 3.4 KB

README.md

File metadata and controls

96 lines (69 loc) · 3.4 KB

gba emu

gb / gbc / gba emulator witten in c++23.

Img Img
Img Img
Img Img

Img

notable features:

  • reasonably accurate gba emulation, most games should just work.
  • waitloop detection. can remove most idle loops which improves performance.
  • very fast gb/gbc emulation.
  • reasonably accurate gb/gbc emulation.
  • complete ezflash emulation, this is the only emulator with this feature.
  • emulation of most fat devices used in dkp libfat. this means you can access files from a virtual sd card with homebrew. i believe this is the only emulator that supports this.

building

a c++23 compiler is needed (gcc12+ clang15+ msvc12+) and cmake.

sdl2 vcpkg (simple frontend)

cmake --preset sdl2-vcpkg
cmake --build --preset sdl2-vcpkg

imgui vcpkg (complex debugger frontend)

cmake --preset imgui-vcpkg
cmake --build --preset imgui-vcpkg

you can checkout the rest of the presets in

there are a number of presets to help with building


web builds

web builds are the easiest way to quickly test a game. builds are automatically built from master. please report any bugs you find, giving as much info as possible such as browser, os, game etc.

gh-pages version doesn't support threads / mutexs. may crash.

netlify version supports threads / mutexes, won't crash.


yet to implement

list of stuff that i haven't yet implemented. for the most part, everything is done!

ppu

  • mosaic bg
  • mosaic obj

apu

dma

  • dma3 special

misc

  • correct openbus behaviour
  • correct rom access timings
  • lots of optimisations. ppu rendering is not optimised at all. dma can be further optimised. mem access can be better optimised for vram and bios access

thanks