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.
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.
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.
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.
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++.
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.
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.
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.