A decompilation and port of Sonic Advance 2-a GameBoy Advance game written in C
Sonic Advance 2:一款用 C 语言编写的 GameBoy Advance 游戏的逆向工程与移植
Navigation Menu
切换导航 Sign in
- Product
- GitHub Copilot Write better code with AI
- Security Find and fix vulnerabilities
- Actions Automate any workflow
- Codespaces Instant dev environments
- Issues Plan and track work
- Code Review Manage code changes
- Discussions Collaborate outside of code
- Code Search Find more, search less Explore
- All features
- Documentation
- GitHub Skills
- Blog
- Solutions By company size
- Resources Topics
- Open Source
- Enterprise
- Pricing
Search or jump to...
Search code, repositories, users, issues, pull requests...
Search Clear Search syntax tips
Provide feedback
We read every piece of feedback, and take your input very seriously. Include my email address so I can be contacted Cancel Submit feedback
Saved searches
Use saved searches to filter your results more quickly
Name Query To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up Reseting focus You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} SAT-R / **sa2 ** Public
- Notifications You must be signed in to change notification settings
- Fork 26
- Star 323
A decompilation and port of Sonic Advance 2 - a GameBoy Advance game written in C sa2.dev 323 stars 26 forks Branches Tags Activity Star Notifications You must be signed in to change notification settings
Additional navigation options
SAT-R/sa2
main BranchesTags Go to file Code
Folders and files
Name| Name| Last commit message| Last commit date
---|---|---|---
Latest commit
History
1,410 Commits
.devcontainer| .devcontainer
.github/workflows| .github/workflows
.vscode| .vscode
asm| asm
chao_garden| chao_garden
constants| constants
data| data
docs| docs
graphics| graphics
include| include
libagbsyscall| libagbsyscall
multi_boot| multi_boot
scripts| scripts
sound| sound
src| src
tools| tools
.clang-format| .clang-format
.git-blame-ignore-revs| .git-blame-ignore-revs
.gitattributes| .gitattributes
.gitignore| .gitignore
INSTALL.md| INSTALL.md
Makefile| Makefile
README.md| README.md
config.mk| config.mk
graphics.mk| graphics.mk
ldscript.txt| ldscript.txt
sa2.sha1| sa2.sha1
sa2_europe.sha1| sa2_europe.sha1
sa2_japan.sha1| sa2_japan.sha1
songs.mk| songs.mk
View all files
Repository files navigation
Sonic Advance 2
⚠️ 此项目尚未完成,仍在积极开发中
这是一个正在进行中的、对 Sonic Advance 2 进行匹配的反编译项目。
到目前为止,它可以构建以下 ROM:
- sa2.gba
sha1: 7bcd6a07af7c894746fa28073fe0c0e34408022d
(USA) (En,Ja,Fr,De,Es,It) - sa2_europe.gba
sha1: b0f64bdca097f2de8f05ac4c8caea2b80c5faeb1
(Europe) (En,Ja,Fr,De,Es,It) - 🚧 sa2_japan.gba
sha1: dffd0188fc78154b42b401398a224ae0713edf23
(Japan) (En,Ja,Fr,De,Es,It) (开发中)
它还可以构建:
- sa2.sdl
make sdl
(Linux/MacOS SDL 64位移植) - sa2.sdl_win32.exe
make sdl_win32
(Windows SDL 64位移植) - 🚧 sa2.win32.exe
make win32
(Win32 原生移植,尚未实现功能)
当前状态
- 🎉 构建 100% 来自 C 文件,目前有 约 80 个函数不匹配
- 所有汇编代码都已被提取、反汇编并手动反编译为 C 语言等效代码
- 所有歌曲都已被提取,并记录为匹配的 MIDI 文件
- 所有精灵动画帧都已提取到 PNG 格式,并用于构建匹配的 ROM
- 所有 tilemaps(背景)都已记录,并提取了它们的 tiles
- 游戏编译为适用于多个平台的宽屏移植版 (426x240)
- “子游戏”(Chao Garden 和 Collect The Rings)已被反汇编,但尚未反编译
设置仓库
请遵循这些说明
社区
加入我们的 Discord 以开始提供帮助
备注
- Kirby & The Amazing Mirror 反编译使用了非常相似的代码库,因为它是由同一个开发团队 (Dimps) 编写的
- https://decomp.me 是帮助创建匹配函数的一个很好的资源
ldscript.txt
告诉链接器文件应链接的顺序- 有关更多信息,请参阅 TMC 的 FAQs section
贡献者
- JaceCear 致力于理解图形引擎的内部结构,编写工具来提取此数据,并在为反编译过程做出巨大贡献,_并_设置 PC 移植
- 向 @froggestspirit 致敬,感谢他们推动了此项目的建立
- 特别感谢 @normmatt 进行了初始仓库设置和声音反编译
- Pokemon Reverse Engineering Tools 社区为该项目提供的帮助以及用于 GBA 反编译的工具
- Kermalis 感谢 他们的工具,该工具用于转储游戏 midi
- 琪姬 感谢他们出色的工作,记录了匹配 midi 的所有怪癖
关于
A decompilation and port of Sonic Advance 2 - a GameBoy Advance game written in C sa2.dev
Topics
c gba reverse-engineering sonic-the-hedgehog decompilation
Resources
Readme Activity Custom properties
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published