[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80468":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":30,"readmeContent":31,"aiSummary":32,"trendingCount":16,"starSnapshotCount":16,"syncStatus":17,"lastSyncTime":33,"discoverSource":34},80468,"ghidra-snes","joshleaves\u002Fghidra-snes","joshleaves","Ghidra scripts for SNES ROM reverse engineering","",null,"Java",67,5,63,4,0,2,3,43.63,"MIT License",false,"master",true,[25,26,27,28,29],"65816","ghidra","reverse-engineering","romhacking","snes","2026-06-11 04:07:13","![](src\u002Fmain\u002Fresources\u002Fimages\u002Fghidra-snes.png)\n\nSNES tooling for Ghidra.\n\nThis project provides a Ghidra extension for loading and working with SNES ROMs. It currently includes:\n\n- a SNES ROM loader\n- a 65816 language specification tailored for SNES analysis\n- SNES memory helpers (MMIO, WRAM, mirrors) and register\u002Fvector labels\n\n# Features\n## SNES ROM loader\n\nThe loader maps SNES ROMs into the SNES CPU address space at import time instead of treating them as raw binary blobs.\n\nSupported mappings (canonical):\n\n- LoROM: `80–FF:8000–FFFF`\n- HiROM: `C0–FF:0000–FFFF`\n- WRAM: `7E–7F:0000–FFFF`\n- SNES MMIO register ranges\n\nROM mapping detection is score-based and compares LoROM and HiROM header candidates. It also supports optional `0x200`-byte SMC header adjustment.\n\nThe loader creates primary (canonical) ROM banks and required mirror banks (`00:0000-5FFF` for SNES system RAM & I\u002FO, and `00:8000-FFFF` for ROM). Other mirrors can be managed by the (coming next) plugin UI.\n\nLoader implementation:\n\n- `src\u002Fmain\u002Fjava\u002Fghidra_snes\u002Floader\u002FSnesRomLoader.java`\n\n### Carts support\n\n- ✅ [LoROM](https:\u002F\u002Fproblemkaputt.de\u002Ffullsnes.htm#snescartlorommappingromdividedinto32kbanksaround1500games): Supported.\n- ✅ [HiROM](https:\u002F\u002Fproblemkaputt.de\u002Ffullsnes.htm#snescarthirommappingromdividedinto64kbanksaround500games): Supported.\n- ✅ [ExHiROM](https:\u002F\u002Fproblemkaputt.de\u002Ffullsnes.htm#snescartridgeromimageinterleave): Supported.\n- ✅ [SA-1](https:\u002F\u002Fproblemkaputt.de\u002Ffullsnes.htm#snescartsa1programmable65c816cpuakasuperaccelerator35games): Supported.\n- ✅ [GSU-n](https:\u002F\u002Fproblemkaputt.de\u002Ffullsnes.htm#snescartgsunprogrammablerisccpuakasuperfxmariochip10games): Supported.\n- ✅ [Capcom CX-4](https:\u002F\u002Fproblemkaputt.de\u002Ffullsnes.htm#snescartcapcomcx4programmablerisccpumegamanx232games): Supported.\n- ✅ [DSP-n](https:\u002F\u002Fproblemkaputt.de\u002Ffullsnes.htm#snescartdspnst010st011preprogrammednecupd77c25cpu23games): Supported.\n- ✅ [OBC1](https:\u002F\u002Fproblemkaputt.de\u002Ffullsnes.htm#snescartobc1objcontroller1game): Supported.\n- ⚠️ [S-DD1](https:\u002F\u002Fproblemkaputt.de\u002Ffullsnes.htm#snescartsdd1datadecompressor2games): Partial support. Canonical ROM views are available, but some mappings currently differ from emulator behavior.\n- ⚠️ [SPC7110](https:\u002F\u002Fproblemkaputt.de\u002Ffullsnes.htm#snescartspc7110datadecompressor3games): Partial support. Canonical ROM views are available, but some mappings currently differ from emulator behavior.\n\nMore details: [Functional tests](FUNCTIONAL.md)\n\n## 65816 language support\n\nThe extension includes a SNES-oriented 65816 language definition:\n\n- language id: `65816:LE:24:snes`\n- compiler spec: `default`\n\nThis allows imported ROMs to use native 24-bit 65816 addressing directly in Ghidra.\n\n# Build\n\nSet `GHIDRA_INSTALL_DIR` to your local Ghidra install and run:\n\n```shell\nGHIDRA_INSTALL_DIR=\u002Fpath\u002Fto\u002Fghidra .\u002Fgradlew clean buildExtension\n```\n\nThe built extension zip will be created in `dist\u002F`.\n\n# Install\n\n1. Open Ghidra.\n2. Go to **File → Install Extensions...**\n3. Click **+** and select the zip from `dist\u002F`.\n4. Restart Ghidra.\n\nWhen importing a ROM, select the **SNES ROM Loader** format.\n\n# Third-party code notice\n\n- This project includes code originally sourced from [ghidra-65816](https:\u002F\u002Fgithub.com\u002Fachan1989\u002Fghidra-65816), licensed under the MIT License. Parts of the codebase, notably the 65816 language specification, are derived from that repository, with modifications for compatibility, fixes, and integration.\n\n- Parts of the SPC7110 checksum behavior were implemented based on observations from [SuperFamiCheck](https:\u002F\u002Fgithub.com\u002FOptiroc\u002FSuperFamicheck), licensed under the MIT License.\n\n## Additional resources\n\n- A lot of informations about the SNES Memory Map was taken from the [SNESDev Wiki](https:\u002F\u002Fsnes.nesdev.org\u002Fwiki\u002FMemory_map).\n- The SNES register list is based on [undisbeliever's Register Cheat Sheet](https:\u002F\u002Fundisbeliever.net\u002Fsnesdev\u002Fregisters\u002Fcheatsheet.html).\n- The Super Famicom logo icon is sourced from [Wikimedia Commons](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FFile:Super_Famicom_logo.svg). It is considered to be in the public domain due to lack of originality, but may still be subject to trademark laws.\n- One test ROM embeds the complete text of Aleph One's famous [Smashing The Stack For Fun And Profit](https:\u002F\u002Fphrack.org\u002Fissues\u002F49\u002F14), originally published in Phrack 49, for testing and debugging purposes.\n\n# Special thanks\n\nSpecial thanks to Near (formerly known as byuu), whose contributions to SNES documentation, emulation, and preservation have had a lasting impact on the community.\n","该项目为Ghidra提供了一个用于SNES ROM逆向工程的扩展。它主要包含一个SNES ROM加载器和针对SNES分析定制的65816语言规范，以及SNES内存辅助工具（如MMIO、WRAM等）和寄存器\u002F向量标签。该加载器能够将SNES ROM映射到SNES CPU地址空间，并支持多种ROM映射类型，包括LoROM、HiROM和其他特殊映射。此外，项目还提供了对不同SNES卡带类型的广泛支持。此扩展适用于需要对SNES游戏进行深入分析或修改的研究人员及爱好者。","2026-06-11 04:00:52","CREATED_QUERY"]