{"id":14530878,"url":"https://github.com/marethyu/awesome-emu-resources","last_synced_at":"2026-01-25T14:09:24.286Z","repository":{"id":50449389,"uuid":"293648117","full_name":"marethyu/awesome-emu-resources","owner":"marethyu","description":"A curated list of emulator development resources","archived":false,"fork":false,"pushed_at":"2024-09-03T05:07:00.000Z","size":203,"stargazers_count":98,"open_issues_count":0,"forks_count":7,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-12-29T06:00:29.277Z","etag":null,"topics":["awesome","awesome-list","dmg","documentation","emulator","gameboy","gameboy-advance","gameboy-emulator","gb-emulator","gb-resources","gba","list","nes","nes-emulator","nintendo","psx","psx-emulator","resources","tools"],"latest_commit_sha":null,"homepage":"","language":null,"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/marethyu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-09-07T22:52:53.000Z","updated_at":"2024-12-26T09:11:21.000Z","dependencies_parsed_at":"2024-02-10T03:26:36.603Z","dependency_job_id":"9414c0c8-f3d5-42f3-8f05-862db38d8883","html_url":"https://github.com/marethyu/awesome-emu-resources","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marethyu%2Fawesome-emu-resources","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marethyu%2Fawesome-emu-resources/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marethyu%2Fawesome-emu-resources/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marethyu%2Fawesome-emu-resources/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marethyu","download_url":"https://codeload.github.com/marethyu/awesome-emu-resources/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":231737294,"owners_count":18418992,"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":["awesome","awesome-list","dmg","documentation","emulator","gameboy","gameboy-advance","gameboy-emulator","gb-emulator","gb-resources","gba","list","nes","nes-emulator","nintendo","psx","psx-emulator","resources","tools"],"created_at":"2024-09-05T00:01:10.545Z","updated_at":"2026-01-25T14:09:24.252Z","avatar_url":"https://github.com/marethyu.png","language":null,"funding_links":[],"categories":["Emulator"],"sub_categories":["TypeScript"],"readme":"# Awesome Emulator Development Resources\n\n## GB Resources\n\n### Emulators\n* BGB http://bgb.bircd.org/\n* https://www.amidog.com/amiga/gbe/ (includes source code)\n\n### Documentation\n* pandocs http://bgb.bircd.org/pandocs.htm\n* gb cycle timing http://blog.kevtris.org/blogfiles/Nitty%20Gritty%20Gameboy%20VRAM%20Timing.txt\n* gb memory map http://gameboy.mongenel.com/dmg/asmmemmap.html\n* gb opcodes http://gameboy.mongenel.com/dmg/opcodes.html\n* gb cpu manual http://marc.rawer.de/Gameboy/Docs/GBCPUman.pdf\n* pandocs http://problemkaputt.de/pandocs.htm\n* gb opcodes http://www.devrs.com/gb/files/opcodes.html\n* z80 cpu manual http://www.myquest.nl/z80undocumented/z80cpu_um.pdf\n* decoding gb opcodes https://gb-archive.github.io/salvage/decoding_gbz80_opcodes/Decoding%20Gamboy%20Z80%20Opcodes.html\n* architecture overview https://www.copetti.org/projects/consoles/game-boy/\n* full opcode reference https://rednex.github.io/rgbds/gbz80.7.html\n* gb opcodes https://www.pastraiser.com/cpu/gameboy/gameboy_opcodes.html\n* gb technical reference https://gekkio.fi/files/gb-docs/gbctr.pdf\n* gb architecture overview https://thomas.spurden.name/gameboy/\n* gb programming info https://fms.komkon.org/GameBoy/Tech/Software.html\n* gb bootstrap rom https://gbdev.gg8.se/wiki/articles/Gameboy_Bootstrap_ROM\n* gb sound hardware https://gbdev.gg8.se/wiki/articles/Gameboy_sound_hardware\n* pandocs https://gbdev.io/pandocs/\n* cycle accurate gb docs https://github.com/AntonioND/giibiiadvance/blob/master/docs/TCAGBD.pdf\n* gb sound https://github.com/AntonioND/giibiiadvance/blob/master/docs/other_docs/GBSOUND.txt\n* gb overview https://github.com/Baekalfen/PyBoy/blob/master/PyBoy.pdf\n* wiki https://github.com/dooskington/gamelad/wiki\n* gb programming manual v1.1 https://ia803208.us.archive.org/9/items/GameBoyProgManVer1.1/GameBoyProgManVer1.1.pdf\n* gb opcodes https://izik1.github.io/gbops/\n* hardware report http://www.cs.columbia.edu/~sedwards/classes/2019/4840-spring/reports/GameBoy.pdf\n* zilog cpu user manual https://zany80.github.io/documentation/Z80/UserManual.html\n* ppu docs https://github.com/mattcurrie/mealybug-tearoom-tests/blob/master/the-comprehensive-game-boy-ppu-documentation.md\n* ppu timing https://pastebin.com/XQesgVaD\n\n### Tests\n* blargg tests https://gbdev.gg8.se/files/roms/blargg-gb-tests/\n* mooneye gb test roms https://github.com/Gekkio/mooneye-gb/tree/master/tests\n* test roms https://gbdev.gg8.se/wiki/articles/Test_ROMs\n* mooneye gb test roms https://gekkio.fi/files/mooneye-gb/latest/\n* yet another test roms https://github.com/mattcurrie/mealybug-tearoom-tests\n* test roms https://github.com/retrio/gb-test-roms\n* collection of test roms https://github.com/c-sp/gameboy-test-roms\n\n### Tutorials\n* how to build gb http://emudev.de/gameboy-emulator/overview/\n* gb emulator in js http://imrannazar.com/GameBoy-Emulation-in-JavaScript:-The-CPU\n* audio https://nightshade256.github.io/2021/03/27/gb-sound-emulation.html\n* building gb emulator guide http://www.codeslinger.co.uk/pages/projects/gameboy.html\n* book https://blog.ryanlevick.com/DMG-01/public/book/\n* memory bank switching explained https://b13rg.github.io/Gameboy-Bank-Switching/\n* gpu modes explained https://dandigit.com/posts/bigboy-writing-a-gameboy-emulator\n* simple state machine for the different rendering steps https://mattbruv.github.io/gameboy-crust/\n* building gb emu https://brianbove.com/blog/2017/05/29/building-a-gameboy-clone-from-scratch-part-1-emulation/\n* building cinoop https://cturt.github.io/cinoop.html\n* booting gb with custom logo https://dhole.github.io/post/gameboy_custom_logo/\n* writing an emulator https://github.com/lazy-stripes/writing-an-emulator and https://blog.tigris.fr/category/emulator/\n* building realboy https://realboyemulator.wordpress.com/posts/\n* learning gb https://www.retroreversing.com/gameboy/\n* https://hacktix.github.io/GBEDG/\n\n### Others\n* blog post http://blog.rekawek.eu/2017/02/09/coffee-gb/\n* gb logo generator http://catskull.net/GB-Logo-Generator/\n* gpu implementation https://github.com/mattbruv/Gameboy-Crust/blob/master/src/core/gpu.rs\n* ultimate gameboy talk https://www.youtube.com/watch?v=HyzD8pNlpwI\n* awesome list of gb resources https://github.com/gbdev/awesome-gbdev\n* sample daa implementation https://www.reddit.com/r/EmuDev/comments/cdtuyw/gameboy_emulator_fails_blargg_daa_test/etwcyvy/\n* youtube playlist https://www.youtube.com/playlist?list=PLye7LM1YVhDHR4TGMklN3tMt_J2jIrn1w\n* how boot rom works https://realboyemulator.wordpress.com/2013/01/03/a-look-at-the-game-boy-bootstrap-let-the-fun-begin/\n* gb resources https://github.com/cslarsen/gameboy#references\n* gb gotchas https://github.com/fwsGonzo/gamebro/blob/master/POSTERITY.md\n* how mb switching works https://retrocomputing.stackexchange.com/questions/11732/how-does-the-gameboys-memory-bank-switching-work\n* nintendo logo decoding https://stackoverflow.com/questions/21119904/how-to-decode-the-nintendo-logo-from-gameboy\n* goboy blog post https://tmjohnson.co.uk/posts/goboy-1/\n* gb sound resources https://www.reddit.com/r/EmuDev/comments/5gkwi5/gb_apu_sound_emulation/dat3zni/\n* project tips https://www.reddit.com/r/EmuDev/comments/ac4upo/gb_emulator_project_tips/\n* https://www.reddit.com/r/EmuDev/comments/kqwgot/gameboy_emulator_my_experience/\n* https://www.reddit.com/r/EmuDev/comments/l7k23y/gbcemu_yet_another_gameboy_color_emulator_written/\n* see GB section in emudev.org/system_resources\n* custom Boot ROM https://github.com/Hacktix/Bootix\n* PokeGB https://binji.github.io/posts/pokegb/\n* https://keichi.dev/post/write-yourself-a-game-boy-emulator/\n* https://gbdev.io/gb-asm-tutorial/index\n\n## GBA resources\n\n### Emulator source codes\n* https://github.com/AntonioND/giibiiadvance (includes gb and gbc)\n* https://github.com/fleroviux/NanoboyAdvance\n* https://github.com/DenSinH/DSHBA\n\n### Documentation\n* programming manual http://cdn.preterhuman.net/texts/gaming_and_diversion/Gameboy%20Advance%20Programming%20Manual%20v1.1.pdf\n* arm datasheet http://datasheets.chipdb.org/ARM/arm.pdf\n* gba technical info http://problemkaputt.de/gbatek.htm (includes docs for other consoles like DS)\n* arm instruction set http://vision.gel.ulaval.ca/~jflalonde/cours/1001/h17/docs/arm-instructionset.pdf\n* gba technical info http://www.akkit.org/info/gbatek.htm\n* architecture overview https://www.copetti.org/projects/consoles/game-boy-advance/\n* gba hardware overview https://www.coranac.com/tonc/text/hardware.htm\n* cowbite gba emu docs https://www.cs.rit.edu/~tjh8300/CowBite/CowBiteSpec.htm\n* arm datasheet https://www.dwedit.org/files/ARM7TDMI.pdf\n* programming manual https://www.scribd.com/document/198178973/GameBoy-Advance-Programming-Manual\n* arm decoding table https://merryhime.github.io/gba-doc/CPU/arm-table.html\n* https://www.intel.com/content/dam/support/us/en/programmable/support-resources/bulk-container/pdfs/literature/third-party/ddi0100e-arm-arm.pdf\n* https://github.com/mara-kr/GBA/tree/master/doc\n* https://merryhime.github.io/gba-doc/\n* http://gbadev.net/gbadoc/intro.html\n* https://github.com/nba-emu/hw-docs\n* https://github.com/falvarez/gba-doc\n\n### Tutorials\n* gba programming guide http://www.coranac.com/tonc/text/toc.htm\n* gba dev https://jamiedstewart.github.io/category/Game%20Boy%20Advance.html\n* writing gba game https://www.reinterpretcast.com/writing-a-game-boy-advance-game\n* https://www.chibialiens.com/arm/helloworld.php#LessonH2\n* https://emudev.org/2021/01/31/cached-interpreter.html\n\n### Others\n* gba resources https://en.wikibooks.org/wiki/GBA_Development/Resources\n* blog post https://medium.com/@michelheily/hello-gba-journey-of-making-an-emulator-part-1-8793000e8606\n* https://macabeus.medium.com/reverse-engineering-a-gameboy-advance-game-introduction-ec185bd8e02\n* https://github.com/gbdev/awesome-gbadev\n* https://www.gregorygaines.com/blog/decoding-the-arm7tdmi-instruction-set-game-boy-advance/\n* https://www.gregorygaines.com/blog/emulator-polling-vs-scheduler-game-loop/\n* https://beanmachine.alt.icu/post/rtc/\n* https://github.com/JimB16/GBABios/blob/master/GBABios.s\n* http://ianfinlayson.net/class/cpsc305/notes/13-tiles\n* https://www.reddit.com/r/EmuDev/comments/7y3s1b/yet_another_gba_emulator_question_by_a_total_noob/\n* https://mgba.io/2015/06/27/cycle-counting-prefetch/\n\n### Tests\n* https://github.com/destoer/armwrestler-gba-fixed\n* https://github.com/jsmolka/gba-suite\n* https://github.com/DenSinH/GBARoms\n* https://github.com/destoer/gba_tests\n* https://github.com/ladystarbreeze/GBA-Test-Collection\n* https://github.com/DenSinH/FuzzARM\n* https://github.com/PeterLemon/GBA\n* https://github.com/shonumi/Emu-Docs/tree/master/GameBoy%20Advance/test_roms\n* https://github.com/nba-emu/hw-test\n* https://github.com/mgba-emu/suite\n* https://tcrf.net/AGS_Aging_Cartridge\n* https://github.com/skylersaleh/GBA-Logs\n* https://github.com/samkravitz/gba-acid\n\n## NDS resources\n\n- https://www.copetti.org/writings/consoles/nintendo-ds/ (see resources inside)\n- nds section in https://emudev.org/system_resources\n- https://web.archive.org/web/20150812193438/http://www.auia.net/ds/\n- https://www.patater.com/files/projects/manual/manual.html\n- https://github.com/RockPolish/rockwrestler\n- https://github.com/Atem2069/armwrestler-fixed\n\n## NES resources\n\n### Docs\n* http://wiki.nesdev.com/w/index.php/Nesdev_Wiki\n* http://problemkaputt.de/everynes.htm\n* https://www.nesdev.com/NESDoc.pdf\n* http://www.cs.columbia.edu/~sedwards/classes/2020/4840-spring/reports/nes.pdf\n* http://hp.vector.co.jp/authors/VA042397/nes/index.html\n\n### CPU\n* http://nesdev.com/6502_cpu.txt\n* https://www.nesdev.com/6502.txt\n* http://www.slack.net/~ant/nes-emu/6502.html\n* http://www.obelisk.me.uk/6502/\n* https://www.masswerk.at/6502/6502_instruction_set.html\n* https://github.com/davepoo/6502Emulator\n* http://www.6502.org/tutorials/6502opcodes.html\n* https://codegolf.stackexchange.com/questions/12844/emulate-a-mos-6502-cpu (have tests inside)\n* http://6502asm.com/ (interesting programs inside)\n* https://www.reddit.com/r/EmuDev/comments/ojhf1y/a_minimal_singlestepped_and_beginner_friendly/\n\n### Graphics\n* https://web.archive.org/web/20190630142035/https://n3s.io/index.php?title=How_It_Works\n* https://www.reddit.com/r/EmuDev/comments/7k08b9/not_sure_where_to_start_with_the_nes_ppu/\n* https://wiki.nesdev.com/w/images/d/d1/Ntsc_timing.png\n* https://www.reddit.com/r/EmuDev/comments/evu3u2/what_does_the_nes_ppu_actually_do/\n* https://www.reddit.com/r/EmuDev/comments/d49igt/how_should_i_implement_ppu_nes/\n* https://www.reddit.com/r/EmuDev/comments/ht0ajj/ppu_emulation_issue/\n* https://www.reddit.com/r/EmuDev/comments/1amxrdu/can_someone_explain_to_me_the_purpose_of_shift/\n* https://austinmorlan.com/posts/nes_rendering_overview/\n\n### APU\n* http://www.slack.net/~ant/nes-emu/apu_ref.txt\n\n### Tests\n* https://github.com/koute/pinky/tree/master/mos6502/roms\n* http://wiki.nesdev.com/w/index.php/Emulator_tests\n* https://github.com/Klaus2m5/6502_65C02_functional_tests\n* http://www.qmtpro.com/~nes/misc/ (nestest inside)\n* http://tasvideos.org/EmulatorResources/NESAccuracyTests.html\n* https://github.com/christopherpow/nes-test-roms\n\n### Useful guides\n* https://jeffreyxiao.me/blog/writing-an-nes-emulator-with-rust-and-webassembly\n* https://www.reddit.com/r/EmuDev/comments/9s755i/is_there_a_comprehensive_nes_emulation_guide/ (some links inside)\n* http://www.michaelburge.us/2019/03/18/nes-design.html\n* https://emudev.de/nes-emulator/overview/ (some links inside)\n* https://nwidger.github.io/blog/post/writing-an-nes-emulator-in-go-part-1/\n* https://yizhang82.dev/nes-emu-overview\n* https://nesdev.com/NES%20emulator%20development%20guide.txt\n* http://fceux.com/web/help/NESProcessor.html\n* https://bugzmanov.github.io/nes_ebook/chapter_1.html\n* https://hacktixme.ga/NESEDG/\n\n### Implementation\n* https://prilik.com/ANESE/\n* https://github.com/PeterLemon/NES\n* https://github.com/OneLoneCoder/olcNES\n* https://github.com/yizhang82/neschan\n* https://github.com/Xyene/Emulator.NES\n* https://github.com/AndreaOrru/LaiNES\n* https://github.com/amhndu/SimpleNES\n* https://github.com/wpmed92/MedNES\n\n### Tools\n* http://www.6502.org/tools/asm/\n* http://manpages.ubuntu.com/manpages/trusty/man1/as86.1.html\n\n### Other\n* https://www.copetti.org/writings/consoles/nes/\n* https://emudev.org/system_resources#nintendo-entertainment-system\n* https://www.youtube.com/playlist?app=desktop\u0026list=PLrOv9FMX8xJHqMvSGB_9G9nZZ_4IgteYf\n* http://www.qmtpro.com/~nes/\n* https://www.youtube.com/watch?v=y71lli8MS8s\n* https://bheisler.github.io/post/nes-rom-parser-with-nom/\n* https://github.com/pjhades/tolarian-academy/blob/master/nes-architecture.md\n* https://github.com/pjhades/tolarian-academy/blob/master/nes-irq.md\n* https://github.com/pjhades/tolarian-academy/blob/master/nes-ppu.md\n* http://nnarain.github.io/2020/04/15/nescore-NES-Emulator-written-in-Rust.html\n\n#### Building NES games\n* https://famicom.party/book/\n* http://skilldrick.github.io/easy6502/ (also cpu tutorial)\n* https://en.wikibooks.org/wiki/Category:Book:NES_Programming\n* https://nesdoug.com/\n* https://shiru.untergrund.net/articles/programming_nes_games_in_c.htm\n* https://github.com/jmk/cc65-nes-examples\n* https://cc65.github.io/doc/nes.html\n* https://nerdy-nights.nes.science/\n* https://taywee.github.io/NerdyNights/nerdynights.html\n* https://gist.github.com/wkjagt/9043907 (snake game)\n* https://cppchriscpp.github.io/nes-starter-kit//home.html\n* https://mike42.me/blog/2021-04-building-my-first-nes-game-a-retrospective\n* http://gikofami.fc2web.com/ (jp)\n\n## PS1\n\n### General\n- https://ps1.consoledev.net/\n- https://www.copetti.org/writings/consoles/playstation/#sources\n- https://problemkaputt.de/psx-spx.htm\n- https://ffhacktics.com/wiki/PSX_instruction_set\n- https://web.archive.org/web/20190713020355/http://www.elisanet.fi/6581/PSX/doc/Playstation_Hardware.pdf - has a really clear explaination of vram and texture pages along with other confusing stuff\n- http://hitmen.c02.at/files/docs/psx/psx.pdf\n- http://hitmen.c02.at/html/psx_docs.html\n- https://drhell.web.fc2.com/ps1/index.html\n\n### Guides\n- https://github.com/simias/psx-guide\n- https://www.reddit.com/r/EmuDev/comments/fmhtcn\n- https://www.reddit.com/r/emulation/comments/8017j9/how_does_playstations_texture_cache_work/ (also see the same question posted earlier)\n\n### Emulators\n- https://github.com/grumpycoders/pcsx-redux - really good one with debugger\n- no$psx https://problemkaputt.de/psx.htm\n- https://gitlab.com/flio/rustation-ng/\n- https://github.com/UnsafePointer/ruby\n\n### tests\n- https://emulation.gametechwiki.com/index.php/PS1_Tests\n- https://github.com/PeterLemon/PSX (fork: https://github.com/RobertPeip/PSX)\n- https://github.com/JaCzekanski/ps1-tests\n- https://gitlab.com/psx-emu-dev/psx-hardware-tests/-/tree/master/src\n- https://github.com/simias/psx-hardware-tests/tree/master/tests\n- https://www.pouet.net/prodlist.php?order=thumbup\u0026platform%5B0%5D=Playstation\u0026page=1\n- https://github.com/nicolasnoble/pcsx-redux/tree/2f882a4d0bc8a83f13077f24538db6ab05c8247e/src/mips/tests/cdrom\n\n### Others\n- https://emudev.org/2020/03/27/PSX_BIOS.html\n- psx section in https://emudev.org/system_resources\n- http://lameguy64.net/tutorials/pstutorials/index.html (has some good explanations on various stuff)\n- https://github.com/m35/jpsxdec/blob/readme/jpsxdec/PlayStation1_STR_format.txt\n\n## JIT\n\n* https://github.com/spencertipping/jit-tutorial\n* https://github.com/antocuni/jit30min\n* https://csl.name/post/python-jit/\n* https://github.com/tekknolagi/ghuloum\n\n## Miscellaneous\n\n* emudev http://emudev.de/\n* Common bugs https://github.com/mattrberry/common-emudev-bugs\n* Guide to writing emulators http://emulator101.com/\n* How emulators work http://imrannazar.com/How-Emulators-Work%3A-a-presentation\n* console architecture overview https://copetti.org/projects/consoles/\n* collection of 8 bit processor emulators https://github.com/MoleskiCoder/EightBit\n* emudev https://emudev.org/\n* emudev discord server resources\n* emu docs https://github.com/shonumi/Emu-Docs\n* japanese docs https://github.com/pokemium/emu-docs-ja\n* emulators https://problemkaputt.de/\n* https://old.reddit.com/r/EmuDev/comments/jorn6a/which_parts_of_an_emulator_can_run_in_parallel/\n* ??? https://scrapbox.io/gameboy/\n* how emulators work https://stackoverflow.com/questions/448673/how-do-emulators-work-and-how-are-they-written/448689\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarethyu%2Fawesome-emu-resources","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarethyu%2Fawesome-emu-resources","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarethyu%2Fawesome-emu-resources/lists"}