Actions

Difference between revisions of "Disassemblies"

From Sonic Retro

(Fixed link to SVN disassembly)
m (Revision 01)
(41 intermediate revisions by 10 users not shown)
Line 1: Line 1:
This pages lists all the public '''disassemblies''' made by the Sonic hacking community. Some of these disassemblies are still being worked on on the [[Community SVN Project]], which are more up-to-date and accurate than those listed on this page, and are already split.
+
This pages lists all the public '''disassemblies''' made by the Sonic hacking community. Some of these disassemblies are still being worked on on the [[Sonic Retro on GitHub|GitHub account]], which are more up-to-date and accurate than those listed on this page, and are already split.
  
 
== Sonic 1 ==
 
== Sonic 1 ==
* '''The [http://svn.sonicretro.org/dl.php?repname=CommunityDisassemblies&path=%2FMega+Drive+Disassemblies%2FSonic+1+Disassembly%2F SVN version] is the most up to date version.'''
+
* '''The [https://github.com/sonicretro/s1disasm_git/archive/master.zip GitHub version] is the most up to date version.'''
* {{file|Sonic 1 Disassembly July 2010.7z|Sonic 1 SVN Disassembly}} - Snapshot taken 16 July 2010.
+
** [[MainMemory]] has made a [https://github.com/sonicretro/s1disasm_git/archive/MapMacros.zip MapMacros branch] that converts all sprite mappings to a macro format.
 +
** MainMemory has also made a [https://github.com/sonicretro/s1disasm_git/archive/AS.zip branch that targets the AS assembler].
 +
** [[User:Clownacy|Clownacy]] has made a [https://github.com/sonicretro/s1disasm_git/archive/ProjectSonic1TwoEight.zip branch that is based on Project Sonic 1: Two Eight].
 
* The following are kept for historical purposes only:
 
* The following are kept for historical purposes only:
**Old [[Hivebrain]] disassemblies:<small>
+
** {{file|Sonic 1 Disassembly July 2010.7z|Sonic 1 SVN Disassembly}} - Snapshot taken 16 July 2010.
***{{file|Sonic 1 (Split and Text by Hivebrain).zip|Sonic 1 (Split and Text by Hivebrain)}} - The June 2005 release of [[Hivebrain]]'s Sonic 1 split disassembly. [[SonED#SonED2|SonED2]] project files are available [[Media:SonED2Projects Quickman.zip|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!)''' :
+
**Old [[User:Hivebrain|Hivebrain]] disassemblies:<small>
***{{file|Sonic 1 (Split and Text by Hivebrain) (ASM68K).zip|Sonic 1 (Split and Text by Hivebrain) (ASM68K)}} - 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 SVN version of the Sonic 1 disassembly is based on this version.
+
***{{file|Sonic 1 (Split and Text by Hivebrain).zip|Sonic 1 (Split and Text by Hivebrain)}} - The June 2005 release of [[User:Hivebrain|Hivebrain]]'s Sonic 1 split disassembly. [[SonED2]] project files are available [[Media:SonED2Projects Quickman.zip|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!)''' .
 +
***{{file|Sonic 1 (Split and Text by Hivebrain) (ASM68K).zip|Sonic 1 (Split and Text by Hivebrain) (ASM68K)}} - 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 is based on this version.
 
***{{file|S1hive2005_AS.zip|Sonic 1 (Split and Text by Hivebrain) (AS)}} - 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. Tools for building for Linux are available {{file|S1hive2005 linux tools.zip|here}} and Mac users should click {{file|S1hive2005_mac_tools.zip|here}} for build tools.</small>
 
***{{file|S1hive2005_AS.zip|Sonic 1 (Split and Text by Hivebrain) (AS)}} - 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. Tools for building for Linux are available {{file|S1hive2005 linux tools.zip|here}} and Mac users should click {{file|S1hive2005_mac_tools.zip|here}} for build tools.</small>
 
**Old [[drx]] disassemblies:<small>
 
**Old [[drx]] disassemblies:<small>
 
***{{file|Sonic 1 (IDA Format by drx).zip|Sonic 1 (IDB by drx)}} - The very first Sonic 1 disassembly, by [[drx]]. This is an IDB file and can only be opened in IDA Pro.
 
***{{file|Sonic 1 (IDA Format by drx).zip|Sonic 1 (IDB by drx)}} - The very first Sonic 1 disassembly, by [[drx]]. This is an IDB file and can only be opened in IDA Pro.
 
***{{file|Sonic 1 (Text Format by drx).zip|Sonic 1 (Text Format by drx)}} - The very first Sonic 1 disassembly, by [[drx]]. This is in text format and can be opened in any editor. It targets SNASM68k.</small>
 
***{{file|Sonic 1 (Text Format by drx).zip|Sonic 1 (Text Format by drx)}} - The very first Sonic 1 disassembly, by [[drx]]. This is in text format and can be opened in any editor. It targets SNASM68k.</small>
*{{file|S1 z80 dasm.rar|Sonic 1 Z80 Sound Driver (Split+Text format by Puto)}} - A disassembly of the Z80 portion of the Sonic 1 sound driver. It targets the macro assembler AS, and it's cross-platform.
+
**[[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.
*[[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.
+
* {{file|S1_z80_dasm.7z|Sonic 1 Z80 Sound Driver (Text format by Flamewing)}} - A vastly improved version of Puto's disassembly of the Z80 sound driver.
 +
* The following is kept for historical purposes only:
 +
**{{file|S1 z80 dasm.rar|Sonic 1 Z80 Sound Driver (Split+Text format by Puto)}} - A disassembly of the Z80 portion of the Sonic 1 sound driver. It targets the macro assembler AS, and it's cross-platform.
  
 
== Sonic 2 ==
 
== Sonic 2 ==
 
=== Sonic 2 Master System ===
 
=== Sonic 2 Master System ===
*[[Media:S2sms-disasm.zip|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 on the SVN server.
+
*[[Media:S2sms-disasm.zip|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.
 
=== Sonic 2 Nick Arcade prototype ===
 
=== Sonic 2 Nick Arcade prototype ===
 
*[[Media:Sonic 2 Early Prototype (IDA Format by drx).zip|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.
 
*[[Media:Sonic 2 Early Prototype (IDA Format by drx).zip|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.
Line 24: Line 29:
 
=== Sonic 2 Wai prototype ===
 
=== Sonic 2 Wai prototype ===
 
*[[Media:Sonic 2 Beta (Split Format by Esrael).zip|Sonic 2 Beta (Split Format by Esrael)]] - A disassembly of the [[Sonic the Hedgehog 2 Beta|Sonic 2 Simon Wai Prototype]], by [[Esrael]].
 
*[[Media:Sonic 2 Beta (Split Format by Esrael).zip|Sonic 2 Beta (Split Format by Esrael)]] - A disassembly of the [[Sonic the Hedgehog 2 Beta|Sonic 2 Simon Wai Prototype]], by [[Esrael]].
 +
*[[Media:S2BDisasm.zip|Sonic 2 Beta (Split Format by Super Egg)]] - An updated version of Esrael's disassembly by [[User:Super Egg|Super Egg]] and [[Nayr T'nargh]]. [http://sonicresearch.org/forums/index.php?showtopic=3312]
  
 
=== Sonic 2 Beta 4 ===
 
=== Sonic 2 Beta 4 ===
Line 34: Line 40:
  
 
==== Revision 01 ====
 
==== Revision 01 ====
* '''The [http://svn.sonicretro.org/dl.php?repname=CommunityDisassemblies&path=%2FMega+Drive+Disassemblies%2FSonic+2+Split+Disassembly%2F SVN version] is the most up to date version.'''
+
* '''The [https://github.com/sonicretro/s2disasm_git/archive/master.zip GitHub version] is the most up to date version.'''
 +
** [[MainMemory]] has made a [https://github.com/sonicretro/s2disasm_git/archive/MapMacros.zip MapMacros branch] that converts all sprite mappings to a macro format.
 
* The following are kept for historical purposes only:
 
* The following are kept for historical purposes only:
**[[Media:Sonic_2_(Split_and_Text_by_Xenowhirl).zip|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 SVN version of the Sonic 2 disassembly is based on this version. Tools for building for Linux are available [[Media:S2dasm2007_linux_tools.tar.gz|here]] and Mac users should click [[Media:S2dasm2007_mac_tools.zip|here]] for build tools. '''Very highly recommended'''.
+
**[[Media:Sonic_2_(Split_and_Text_by_Xenowhirl).zip|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 [[Media:S2dasm2007_linux_tools.tar.gz|here]] and Mac users should click [[Media:S2dasm2007_mac_tools.zip|here]] for build tools. '''Very highly recommended'''.
 
**Old [[Nemesis]] disassemblies:<small>
 
**Old [[Nemesis]] disassemblies:<small>
 
***[[Media:Sonic_2_(IDA_Format_by_Nemesis).zip|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.
 
***[[Media:Sonic_2_(IDA_Format_by_Nemesis).zip|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.
Line 44: Line 51:
 
****[[Media:Sonic 2 (Text Format with Incbin by Xenowhirl).zip|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.</small>
 
****[[Media:Sonic 2 (Text Format with Incbin by Xenowhirl).zip|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.</small>
 
**[[Media:S2dasm.zip|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.
 
**[[Media:S2dasm.zip|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.
 +
 +
====Revision 02====
 +
On 2012-06-17, well-known hacker [[Esrael]] {{LinkRetro|post=693487|title=released}} his disassembly of the version of ''Sonic 2'' from ''[[Sonic Classics]]'' a.k.a. ''Sonic Compilation'', which has come to be thought of as ‘revision 2’/‘REV02’ and includes several bug-fixes and other changes when compared to earlier versions. The release followed a lengthy discussion on how to enhance ''Sonic 2'' with bug-fixes and other changes, several of which were noted by Esrael as having already been fixed in this relatively little-known revision, which he had become experienced with ''via'' using it as the code-base for recent versions of his hack ''[[Sonic 2 Delta]]''. Esrael had already released the unaltered ROM of this version earlier in the thread.
 +
*[[Media:Sonic2rev2.rar|Disassembly of ''Sonic 2'' revision 2 by Esrael]]
  
 
==Knuckles in Sonic 2==
 
==Knuckles in Sonic 2==
*[http://svn.sonicretro.org/dl.php?repname=CommunityDisassemblies&path=%2FMega+Drive+Disassemblies%2FKnuckles+in+Sonic+2+Disassembly%2F 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 on the SVN server and is available [http://svn.sonicretro.org/listing.php?repname=CommunityDisassemblies&path=/Mega+Drive+Disassemblies/Knuckles+in+Sonic+2+Disassembly/&#a8c44823ba9ee96de1575114fae4ebbfb here].
+
*[https://github.com/sonicretro/ktes2_git/archive/master.zip 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 and is available [https://github.com/sonicretro/ktes2_git here].
  
 
== Sonic & Knuckles ==
 
== Sonic & Knuckles ==
*[http://svn.sonicretro.org/dl.php?repname=CommunityDisassemblies&path=%2FMega+Drive+Disassemblies%2FSonic+%26+Knuckles+Split+Disassembly%2F 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 SVN version of this disassembly is available [http://svn.sonicretro.org/listing.php?repname=CommunityDisassemblies&path=/Mega+Drive+Disassemblies/Sonic+%26+Knuckles+Split+Disassembly/&#aebb96849fb5d8122a6eb8e9e1ca45236 here].
+
* '''The [https://github.com/sonicretro/skdisasm_git/archive/master.zip GitHub version] is the most up to date version.'''
*[[Media:Sonic & Knuckles (IDA Format by Stealth).rar|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.
+
* The following are kept for historical purposes only:
*[[Media:Sonic & Knuckles (Text Format by Pu7o).zip|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 [[Media:SnK S3K buildtools.zip|here]].
+
** 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.
 +
**[[Media:Sonic & Knuckles (IDA Format by Stealth).rar|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.
 +
**[[Media:Sonic & Knuckles (Text Format by Pu7o).zip|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 [[Media:SnK S3K buildtools.zip|here]].
  
 
== Sonic 3 & Knuckles ==
 
== Sonic 3 & Knuckles ==
*[[Media:Sonic 3 & Knuckles (Split Format by Hayate).zip|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]].
+
* '''The [https://github.com/sonicretro/skdisasm_git/archive/master.zip 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:
 +
**[[Media:Sonic 3 & Knuckles (Split Format by Hayate).zip|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 ==
Line 62: Line 77:
  
 
==Sonic 3D: Flickies' Island==
 
==Sonic 3D: Flickies' Island==
* [http://svn.sonicretro.org/dl.php?repname=CommunityDisassemblies&path=%2FMega+Drive+Disassemblies%2FSonic+3D+Blast+Disassembly%2F 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.
+
* [https://github.com/sonicretro/s3ddisasm_git/archive/master.zip 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 Spinball==
 
==Sonic Spinball==
* [http://svn.sonicretro.org/dl.php?repname=CommunityDisassemblies&path=%2FMega+Drive+Disassemblies%2FSonic+Spinball+Disassembly%2F 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.
+
* [https://github.com/sonicretro/spindisasm_git/archive/master.zip 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.
  
 
[[Category:Disassemblies| ]]
 
[[Category:Disassemblies| ]]

Revision as of 17:09, 27 August 2017

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.

Sonic 1

Sonic 2

Sonic 2 Master System

Sonic 2 Nick Arcade prototype

Sonic 2 Wai prototype

Sonic 2 Beta 4

Sonic 2 final

Revision 00

Revision 01

  • The GitHub version is the most up to date version.
  • 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.
    • Old Nemesis disassemblies:
    • 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.

Revision 02

On 2012-06-17, well-known hacker Esrael
Sonic Retro
released
his disassembly of the version of Sonic 2 from Sonic Classics a.k.a. Sonic Compilation, which has come to be thought of as ‘revision 2’/‘REV02’ and includes several bug-fixes and other changes when compared to earlier versions. The release followed a lengthy discussion on how to enhance Sonic 2 with bug-fixes and other changes, several of which were noted by Esrael as having already been fixed in this relatively little-known revision, which he had become experienced with via using it as the code-base for recent versions of his hack Sonic 2 Delta. Esrael had already released the unaltered ROM of this version earlier in the thread.

Knuckles in Sonic 2

Sonic & Knuckles

Sonic 3 & Knuckles

Sonic Crackers

Sonic 3D: Flickies' Island

Sonic Spinball