Sonic Retro on GitHub
From Sonic Retro
The Sonic Retro GitHub (an idea originally proposed by Tweaker) allows members to collaborate on projects such as disassemblies and programs. As the name suggests, it uses GitHub to enable multiple members to easily work together on projects of common interest. The repositories are located at http://github.com/sonicretro, and can be accessed with a Git client or a web browser.
Until January 2012 it used Subversion as a version control system, but this was changed to Mercurial due to technical issues involving software used to support the repostiory (for instance, the web client would not clean up its cache).
In December 2013 the projects were moved to GitHub as Mercurial was also causing problems.
Note: Currently only approved users can gain push access. If you wish to contribute you must ask one of the organization owners (currently FraGag, MainMemory, Andlabs, and SeanieB). Others are free to fork the projects and may send pull requests for consideration for inclusion in the main projects.
- 1 Hosted Projects
- 1.1 Knuckles in Sonic 2 disassembly
- 1.2 Sonic 3D Blast disassembly
- 1.3 Sonic Adventure disassembly
- 1.4 Sonic Adventure DX (PC) disassembly
- 1.5 Sonic Adventure DX (PC) decompilation
- 1.6 Sonic Adventure Tools
- 1.7 Sonic & Knuckles Collection disassembly
- 1.8 Sonic the Hedgehog disassembly
- 1.9 Sonic the Hedgehog 2 SMS disassembly
- 1.10 Sonic the Hedgehog 2 disassembly
- 1.11 SonicState
- 1.12 SonLVL
- 1.13 SAModel
- 1.14 SADXPCTools
- 2 External links
Hosted ProjectsThe repository currently hosts the following projects. Before uploading a new project, post about it in the forum so it can be decided whether the project merits inclusion.
Knuckles in Sonic 2 disassembly
Puto has uploaded his disassembly of Knuckles in Sonic 2. It is incomplete in the sense that shifting code and data around produces a non-working ROM, and its main use thus far has been porting the Knuckles object contained in it to Sonic 1 and Sonic 2.
Sonic 3D Blast disassembly
The Sonic 3D Blast disassembly in the repository was uploaded by Sik. It is not a complete disassembly, although some major routines, including ones which handle level loading, have been identified and labelled.
Sonic Adventure disassembly
MainMemory uploaded IDBs for a few files, labeled much of the model and level data for the SCHG and his SA1LVL program. These files are here if somebody wants to do a further disassembly, although MainMemory himself has no plans to learn Dreamcast's SH-4 assembly language.
Sonic Adventure DX (PC) disassembly
Sonic Adventure DX (PC) decompilation
FraGag uploaded this project in January 2011. This project aims to recreate the main executable (sonic.exe) and the several DLLs that make up the Windows port of Sonic Adventure DX: Director's Cut in C and C++.
Sonic Adventure Tools
Sonic & Knuckles Collection disassembly
Sonic the Hedgehog disassembly
The Sonic the Hedgehog disassembly on the repository is an updated version of Hivebrain's 2005 disassembly. It is now based on ASM68K, adds symbols for the RAM variables and other constants, as well as macros. Some labels have been replaced with local labels. Also, the code has been split to separate files (only data was split in the previous version) and the ability to switch revisions from the original version to the Japanese Rev01 version has been added using a variable.
Sonic the Hedgehog 2 SMS disassembly
Glitch uploaded his disassembly of the Master System version of Sonic the Hedgehog 2 in February 2009. It can be changed to build the 2.2 version of the game using a variable. One major thing to note that this disassembly uses Z80 ASM instead of the 68K language used in the Sega Mega Drive disassemblies.
Sonic the Hedgehog 2 disassembly
The Sonic the Hedgehog 2 disassembly on the repository is based off Xenowhirl's 2007 disassembly. It was uploaded by Scarred Sun, then FraGag quickly committed some important changes. The disassembly has since been worked on by numerous other contributors. Major additions include a dynamic IDs system which allows entries to be removed from tables such as the game modes array without having to change hardcoded constants throughout the game, a more dynamic way to declare the RAM variables, and the labelling and commenting of numerous routines.
SADXPCTools is a collection of programs for editing SADXPC.