Это работа, соответствующая декомпиляции Sonic Advance 2
До сих пор строит следующие ПЗУ:
sha1: 7bcd6a07af7c894746fa28073fe0c0e34408022d (США) (EN, JA, FR, DE, ES, IT)sha1: b0f64bdca097f2de8f05ac4c8caea2b80c5faeb1 (Европа) (EN, JA, FR, DE, ES, IT)sha1: dffd0188fc78154b42b401398a224ae0713edf23 (Япония) (EN, JA, FR, DE, ES, IT) (: предупреждение: работа в процессе)agbccПрисоединяйтесь к нам в Discord, чтобы начать помощь
Разработчик контейнер
Если вы используете vscode , рассмотрите возможность использования предоставленного Dev Container, который пропускает требование для любой настройки. Это требует, чтобы Docker был установлен в вашей системе. После бега пропустите, чтобы построить ПЗУ
Установить системные требования (без контейнера Dev)
На Linux Systems
sudo apt install build-essential binutils-arm-none-eabi gcc-arm-none-eabi libpng-dev xorg-dev libsdl2-dev gcc-mingw-w64 libarchive-tools
На macOS и Windows установить DevKitarm
Установите agbcc в репо
Клонировать репо agbcc в другую папку
Внутри agbcc Repo и запустите ./build.sh , а затем установите компилятор в этом репо ./install.sh path/to/sa2
Построить ПЗУ
На Linux и MacOS запустите, make в корне репо, чтобы построить.
В Windows вы можете построить, используя make в среде MSYS, предоставленную DevKitarm.
Эта команда также создаст все необходимые инструменты в каталоге tools . Справочник tools содержит кучу инструментов (созданных PRET), который используется для создания активов и создания соответствующего ПЗУ.
Если ROM успешно построен, вы увидите этот вывод
sa2.gba: OK Примечание . Вы можете значительно ускорить начальное время сборки, пропустив количество процессов, которые вы хотите использовать для сборки сборки make -j<number>
Весь C-код в этом репо отформатирован с помощью clang-format-13 . При использовании Dev Container он установлен автоматически.
Для формата кода запустить make format
ldscript.txt сообщает линкеру порядок, какой файлы должны быть связаны