Disassemblies
From Sonic Retro
This pages lists all the public disassemblies made by the Sonic hacking community. Some of these disassemblies are still being worked on on the GitHub account, which are more up-to-date and accurate than those listed on this page, and are already split.
Contents
Sonic 1
Revision 00
- The GitHub version is the most up to date version.
- A branch targeting the ASM68K assembler is also available.
- A reworked version of the above by Hivebrain is also available.
- Another reworked version of the above by Kramlat is also available.
- MainMemory has made a MapMacros branch that converts all sprite mappings to a macro format.
- Kramlat has made a fork of the MapMacros branch targeting the AS assembler, allowing for cross-platform building for Linux and Mac users. (WIP; currently in the process of rebase)
- MainMemory has also made a branch that targets the AS assembler, which has now been set as the default.
- Clownacy has made a branch that is based on Project Sonic 1: Two Eight.
- Kramlat has also made a fork of the Project Sonic 1: Two-Eight branch targeting the AS assembler, allowing for cross-platform building for Linux and Mac users. (WIP; currently in the process of rebase)
- MainMemory has made a MapMacros branch that converts all sprite mappings to a macro format.
- The following are kept for historical purposes only:
- Sonic 1 SVN Disassembly (info) (676 kB) - Snapshot taken 16 July 2010.
- Old Hivebrain disassemblies:
- Sonic 1 (Split and Text by Hivebrain) (ASM68K) (info) (1,023 kB) - A modified version of Hivebrain's split disassembly targeting ASM68K. As a result, it builds much faster, does not need to use an external program for includes (and hence bypasses s1comb.asm), and can be optimized in various ways. The GitHub version of the Sonic 1 disassembly was based on this version.
- Sonic 1 (Split and Text by Hivebrain) (AS) (info) (1.29 MB) - A modified version of Hivebrain's split disassembly targeting AS. As a result, it does not need to use an external program for includes (and hence bypasses s1comb.asm), and AS-specific features such as functions, nameless temporary labels and improved macro facilities can be used. The GitHub version of the Sonic 1 disassembly is now based on this version. Tools for building for Linux are available here (info) (1.51 MB) and Mac users should click here (info) (1.4 MB) for build tools.
- Sonic 1 (Split and Text by Hivebrain) (info) (1.31 MB) - The June 2005 release of Hivebrain's Sonic 1 split disassembly. SonED2 project files are available here. It targets SNASM68k. Very well labeled, but because of certain problems with SNASM68k it is recommended to use either the ASM68k version or the AS version of this disassembly (also note that this version doesn't work with any 64 bit OS and may not work with Windows 2000/XP/Vista/7!) .
- Project Sonic 1: Two-Eight (by MarkeyJester) - Modifies the game's level layout engine to use Sonic 2's 128x128-pixel chunks and path-swapping system.
- Old drx disassemblies:
- Sonic 1 (IDB by drx) (info) (1.14 MB) - The very first Sonic 1 disassembly, by drx. This is an IDB file and can only be opened in IDA Pro.
- Sonic 1 (Text Format by drx) (info) (673 kB) - The very first Sonic 1 disassembly, by drx. This is in text format and can be opened in any editor. It targets SNASM68k.
- Sonic 1 Z80 Sound Driver (Text format by Flamewing) (info) (1.05 MB) - A vastly improved version of Puto's disassembly of the Z80 sound driver.
- The following is kept for historical purposes only:
- Sonic 1 Z80 Sound Driver (Split+Text format by Puto) (info) (1.2 MB) - A disassembly of the Z80 portion of the Sonic 1 sound driver. It targets the Macro Assembler AS, and is cross-platform.
Revision 01
- The GitHub version allows for a complete building of revision 1.
Revision 02/XB (Sonic Mega Collection)
- The latest update of the GitHub version allows for a complete building of revision 2.
Sonic 2
Sonic 2 Master System
- Sonic 2 Master System (Split format by Glitch) - A split disassembly of the Master System version of Sonic the Hedgehog 2 (8-bit), by Glitch. This disassembly has been uploaded to GitHub and is available here.
Sonic 2 final
Revision 00
- The GitHub version of Revision 01 allows for a complete building of revision 00.
- Sonic 2 Rev 00 (Text Format by drx) - A disassembly of Sonic the Hedgehog 2 revision 00, by drx. It targets SNASM68k.
Revision 01
- The GitHub version is the most up to date version.
- MainMemory has made a MapMacros branch that converts all sprite mappings to a macro format.
- Clownacy has made branches that are based on the Mega Play and Sonic Classics (Sonic Compilation) versions of Sonic 2.
- The following are kept for historical purposes only:
- Sonic 2 (Split and Text by Xenowhirl) - The 2007 release of the disassembly of Sonic the Hedgehog 2, by Xenowhirl. It is far better labeled than its predecessors and the assembly times are very fast (1-5 seconds). The disassembly itself is fully SonED2 compatible, and project files are bundled. It targets the Macro Assembler AS, and is cross-platform. The GitHub version of the Sonic 2 disassembly is based on this version. Tools for building for Linux are available here and Mac users should click here for build tools. Very highly recommended.
- Sonic 2 (Split and Text by Aurochs) - The 2006 release of the disassembly of Sonic the Hedgehog 2, by Aurochs. It is better labeled than Nemesis' disassembly and the compile times are much faster. The disassembly itself is fully SonED2 compatible, and project files are bundled. It targets the Macro Assembler AS, and is cross-platform.
- Old Nemesis disassemblies:
- Sonic 2 (IDB by Nemesis) - A disassembly of Sonic the Hedgehog 2, by Nemesis. This is an IDB file and can only be opened in IDA Pro.
- Sonic 2 (Text Format by Nemesis) - A disassembly of Sonic the Hedgehog 2, by Nemesis. This is in text format and can be opened in any editor. It targets SNASM68k.
- Sonic 2 (Split Format by Nemesis) - Nemesis's Sonic 2 split disassembly, targeting SNASM68k. This disassembly is rather slow to rebuild due to the use of an external program (combine.exe) to insert binary files into the ROM - the following two disassemblies work around this by using incbins instead of combine.exe:
- Sonic 2 (Text Format with Incbin by shobiz) - A drop-in replacement for the s2.asm file in Nemesis' Sonic 2 split disassembly, by shobiz. This disassembly uses incbins to greatly speed up compile times. It is also fully SonED2 compatible without requiring any modifications. This disassembly targets SNASM68k and works on Windows 2000/XP.
- Sonic 2 (Text Format with Incbin by Xenowhirl) - Identical to shobiz's modified disassembly, but works on Windows 95/98/ME/NT as well as DOSBox. It does not work on Windows 2000 or XP due to a difference in the way these operating systems handle 8.3 short filenames.
Revision 02
- The GitHub version of Revision 01 allows for a complete building of revision 02.
- Sonic 2 revision 2 (Split Format by Esrael) - A disassembly of Sonic 2 revision 2 released in 2012 by Esrael. It targets SNASM68k.
Sonic 2 Nick Arcade prototype
- Sonic 2 Early Prototype (Split Format by Super Egg) - A split disassembly of the Sonic the Hedgehog 2 Nick Arcade Prototype by Super Egg, targeting ASM68k.
- Sonic 2 Early Prototype (IDB by drx) - A disassembly of the Sonic the Hedgehog 2 Nick Arcade Prototype, by drx. This is an IDB file and can only be opened in IDA Pro.
- Sonic 2 Early Prototype (Text Format by drx) - A disassembly of the Sonic the Hedgehog 2 Nick Arcade Prototype, by drx. This is in text format and can be opened in any editor. It targets SNASM68k.
Sonic 2 Wai prototype
- Sonic 2 Beta (Split Format by Esrael) - A disassembly of the Sonic 2 Simon Wai Prototype, by Esrael. It targets SNASM68k.
- Sonic 2 Beta (Split Format by Super Egg) - An updated version of Esrael's disassembly by Super Egg and Nayr T'nargh. [1]
- Sonic 2 Beta (Split Format by Alex Field) - Another updated version of Esrael's disassembly by Alex Field. It targets the Macro Assembler AS, and is cross-platform. This disassembly attempts to be more like the GitHub version of the final game in terms of formatting, such as using its label and variable names. It comes pre-packaged with SonLVL project files.
Sonic 2 August 21, 1992 "Alpha" prototype
- Sonic 2 August 21, 1992 prototype (Split Format by Esrael) - A split disassembly of the Sonic the Hedgehog 2 (alpha), by Esrael. It targets SNASM68k.
- Sonic 2 August 21, 1992 prototype (Split Format by Nyper Yuhgard) - A revised version of Esrael's Sonic 2 August 21 disassembly by Nyper Yuhgard, targeting ASM68k.
Sonic 2 September 14, 1992 "Pre-Beta" prototype
- Sonic 2 September 14, 1992 prototype (Split Format by Esrael) - A split disassembly of the Sonic the Hedgehog 2 (pre-beta), by Esrael. It targets SNASM68k.
- Sonic 2 September 14, 1992 prototype (Split Format by Nyper Yuhgard) - A revised version of Esrael's Sonic 2 September 14 disassembly by Nyper Yuhgard, targeting ASM68k.
Sonic 2 Beta 4
- Sonic 2 Beta 4 (Split format by Esrael) - A split disassembly of Sonic the Hedgehog 2 Beta 4, by Esrael. It targets SNASM68k.
- Sonic 2 Beta 4 (Split format by Puto) - A revised version of Esrael's Sonic 2 Beta 4 disassembly by Puto. Edits include IDA-like formatting and support for ASM68K.
Sonic 2 Beta 8
- The GitHub version of Revision 01 has a branch that allows for a complete building of Sonic 2 Beta 8.
Knuckles in Sonic 2
- The GitHub version of Revision 01 has a branch that allows for a complete building of Knuckles in Sonic 2.
- Knuckles in Sonic 2 (Text & IDA Format by Puto) - A disassembly of the Knuckles in Sonic 2 UPMEM by Puto. This disassembly has been uploaded to GitHub.
- Knuckles in Sonic 2 (Text & IDA Format by Nyper Yuhgard) - A disassembly of the Knuckles in Sonic 2 UPMEM by Nyper Yuhgard.
Sonic 3
- The GitHub version of the Sonic & Knuckles disassembly allows building a complete version of Sonic 3, and is the most up to date version.
Sonic 3 November 3, 1993 prototype
- Sonic 3 November 3, 1993 prototype (Split Format by Esrael) - A split disassembly of the Sonic the Hedgehog 3 (prototype; 1993-11-03), by Esrael. It targets SNASM68k.
- Sonic 3 November 3, 1993 prototype (Split Format by Nyper Yuhgard) - A revised version of Esrael's Sonic 3 November 3, 1993 prototype by Nyper Yuhgard with help from MarkeyJester, targeting ASM68k.
Sonic & Knuckles
- The GitHub version is the most up to date version.
- The following are kept for historical purposes only:
- Sonic & Knuckles (Split Format by jman2050) A split disassembly of Sonic & Knuckles created by jman2050 and a variety of other contributors, using Stealth's disassembly. The GitHub version is based on this disassembly.
- Sonic & Knuckles (IDB by Stealth) - The first complete Sonic & Knuckles disassembly, by Stealth. Includes support for Sonic 3 lock-on. This is an IDB file and can only be opened in IDA Pro.
- Sonic & Knuckles (Text Format by Puto) - A text file exported by Puto from Stealth's Sonic & Knuckles disassembly for those who do not have IDA Pro. Tools for assembling (provided by snkenjoi) are available here.
Sonic 3 & Knuckles
- The GitHub version of the Sonic & Knuckles disassembly allows building a complete version of Sonic 3 & Knuckles, and is the most up to date version.
- The following are kept for historical purposes only:
- Sonic 3 & Knuckles (Split Format by Hayate) - An IDA export of Puto's Sonic 3 & Knuckles disassembly ran through a couple of Python scripts by Hayate.
Sonic Crackers
- Sonic Crackers (Split Format by MarkeyJester) - A split disassembly of Sonic Crackers by MarkeyJester.
- Sonic Crackers (IDB by Stealth) - A Sonic Crackers disassembly by Stealth. This is an IDB file and can only be opened in IDA Pro.
- Sonic Crackers (Text Format by Shobiz) - A text file exported by shobiz from Stealth's Sonic Crackers disassembly for those who do not have IDA Pro.
Sonic 3D: Flickies' Island
- Sonic 3D: Flickies' Island disassembly (IDB/Text by Sik) - Hybrid IDB and text split of the Mega Drive version of Sonic 3D: Flickies' Island by Sik. Can only be opened in IDA Pro.
- Sonic 3D Blast proto 73 disassembly (Split by DelayHacks) - A split disassembly of Sonic 3D Blast proto 73 by DelayHacks. It targets ASM68k with AURORA☆FIELDS' Z80 extensions so that Z80 code can be disassembled/assembled.
Sonic Spinball
- Sonic Spinball disassembly (IDB by andlabs) - A Sonic Spinball disassembly by Andlabs. This is an IDB file and can only be opened by IDA Pro.