{"id":18543897,"url":"https://github.com/itotaljustice/notorious_beeg","last_synced_at":"2025-04-09T19:30:40.513Z","repository":{"id":41869636,"uuid":"473384488","full_name":"ITotalJustice/notorious_beeg","owner":"ITotalJustice","description":"gba emulator written in c++23","archived":false,"fork":false,"pushed_at":"2023-01-17T21:07:47.000Z","size":8712,"stargazers_count":30,"open_issues_count":28,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2023-03-05T10:28:46.526Z","etag":null,"topics":["cpp","gameboy-advance","gb","gba-emulator","gbc"],"latest_commit_sha":null,"homepage":"https://notorious-beeg.netlify.app/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ITotalJustice.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-03-23T22:57:31.000Z","updated_at":"2023-02-18T03:49:33.000Z","dependencies_parsed_at":"2023-02-10T12:00:52.918Z","dependency_job_id":null,"html_url":"https://github.com/ITotalJustice/notorious_beeg","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ITotalJustice%2Fnotorious_beeg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ITotalJustice%2Fnotorious_beeg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ITotalJustice%2Fnotorious_beeg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ITotalJustice%2Fnotorious_beeg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ITotalJustice","download_url":"https://codeload.github.com/ITotalJustice/notorious_beeg/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223407854,"owners_count":17140562,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","gameboy-advance","gb","gba-emulator","gbc"],"created_at":"2024-11-06T20:14:49.620Z","updated_at":"2024-11-06T20:14:49.879Z","avatar_url":"https://github.com/ITotalJustice.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gba emu\n\ngb / gbc / gba emulator witten in c++23.\n\n|                          |                          |\n:-------------------------:|:-------------------------:\n![Img](assets/screenshots/poke_fr.png) | ![Img](assets/screenshots/poke_em.png)\n![Img](assets/screenshots/kirby.png) | ![Img](assets/screenshots/yugioh.png)\n![Img](assets/screenshots/poke_blue.png) | ![Img](assets/screenshots/ags.png)\n\n![Img](assets/screenshots/debug.png)\n\n\nnotable features:\n- reasonably accurate gba emulation, most games should just work.\n- waitloop detection. can remove most idle loops which improves performance.\n- very fast gb/gbc emulation.\n- reasonably accurate gb/gbc emulation.\n- complete ezflash emulation, this is the only emulator with this feature.\n- 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.\n---\n\n## building\n\na c++23 compiler is needed (gcc12+ clang15+ msvc12+) and cmake.\n\n### sdl2 vcpkg (simple frontend)\n\n```sh\ncmake --preset sdl2-vcpkg\ncmake --build --preset sdl2-vcpkg\n```\n\n### imgui vcpkg (complex debugger frontend)\n\n```sh\ncmake --preset imgui-vcpkg\ncmake --build --preset imgui-vcpkg\n```\n\nyou can checkout the rest of the presets in\n\nthere are a number of presets to help with building\n\n---\n\n## web builds\n\nweb 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.\n\n[gh-pages](https://itotaljustice.github.io/notorious_beeg) version doesn't support threads / mutexs. may crash.\n\n[netlify](https://notorious-beeg.netlify.app) version supports threads / mutexes, won't crash.\n\n---\n\n## yet to implement\n\nlist of stuff that i haven't yet implemented. for the most part, everything is done!\n\n### ppu\n- mosaic bg\n- mosaic obj\n\n### apu\n- correct fifo \u003chttps://github.com/mgba-emu/mgba/issues/1847\u003e\n\n### dma\n- dma3 special\n\n### misc\n- correct openbus behaviour\n- correct rom access timings\n- 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\n\n---\n\n## thanks\n- cowbite spec \u003chttps://www.cs.rit.edu/~tjh8300/CowBite/CowBiteSpec.htm\u003e\n- gbatek \u003chttps://problemkaputt.de/gbatek.htm\u003e\n- tonc \u003chttps://www.coranac.com/tonc/text/toc.htm\u003e\n- belogic for apu \u003chttp://belogic.com/gba/\u003e\n- dillion for flashmem \u003chttps://dillonbeliveau.com/2020/06/05/GBA-FLASH.html\u003e\n- dennis for eeprom \u003chttps://densinh.github.io/DenSinH/emulation/2021/02/01/gba-eeprom.html\u003e\n- emudev discord\n- jsmolka for their very helpful tests \u003chttps://github.com/jsmolka/gba-tests\u003e\n- normmatt (and vba) for the builtin bios \u003chttps://github.com/Nebuleon/ReGBA/tree/master/bios\u003e\n- endrift for mgba \u003chttps://github.com/mgba-emu/mgba\u003e\n- ocornut for imgui \u003chttps://github.com/ocornut/imgui\u003e\n- ocornut for imgui_club \u003chttps://github.com/ocornut/imgui_club\u003e\n- everyone that has contributed to the bios decomp \u003chttps://github.com/Gericom/gba_bios\u003e\n- xproger for openlara (fixed several bugs in my emu) \u003chttps://github.com/XProger/OpenLara\u003e\n- zayd for info on rtc \u003chttps://beanmachine.alt.icu/post/rtc/\u003e\n- pokeemerald for a being a good reference \u003chttps://github.com/pret/pokeemerald\u003e\n- kenney for the onscreen control buttons \u003chttps://www.kenney.nl/assets/onscreen-controls\u003e\n- ifeelfine for yoshi gif \u003chttps://tenor.com/view/yoshi-bloated-cute-gif-12835998\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitotaljustice%2Fnotorious_beeg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitotaljustice%2Fnotorious_beeg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitotaljustice%2Fnotorious_beeg/lists"}