Skip to content

ITotalJustice/notorious_beeg

Repository files navigation

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

About

gba emulator written in c++23

Topics

Resources

License

Stars

Watchers

Forks