Sonic and Sega Retro Message Board: In before 2007 - Sonic and Sega Retro Message Board

Jump to content

Hey there, Guest!  (Log In · Register) Help
  • 2 Pages +
  • 1
  • 2
    Locked
    Locked Forum

In before 2007

#1 User is offline Stealth 

Posted 31 December 2006 - 03:29 AM

  • Posts: 546
  • Joined: 31-July 05
  • Gender:Male
  • Project:HCGE, Project HC, Sonic Megamix, SonED2, [...]
  • Wiki edits:19
What a pain. You're all very lucky right now :P

This has been my on-again, off-again (and mostly off-again) project this year after the long start I got on it last. I had invisioned this having some accompaniment, but circumstances forbid. I actually thought I was having trouble with this at the beginning of the year and "privately" asked for some help that didn't come along until too late, which is where all of the new Sonic 3 knowledge that's been showing up this year came from :P

Anyway, here it is, the world's first functioning Sonic and Knuckles disassembly:
http://www.s2beta.co...th/skdisasm.rar

In the rar is an IDB database of the main Sonic and Knuckles ROM (no "upmem"), which has been disassembled, analyzed, and corrected to the point where I can't find any errors during gameplay from start to finish, even with Sonic 3 "locked-on" (Considering certain changes in the coding style between Sonic 2 and Sonic 3, as well as IDA's inherent inability to handle some of it, I see this as a pretty hefty accomplishment). No scripts were used in the process, as I wanted to make absolutely sure I covered everything myself. Alot of routines and data are identified or at least categorized, and all data areas are formatted as seemed appropriate. There's also an extra segment added to the end to accommodate for Sonic 3 address space, which allows the use of labels in reference to data that only exists in Sonic 3. The space is filled with ds.b directives, so when using the output ASM as-is, all the labels will always point to the proper relative position in Sonic 3 (affixing an existing Sonic 3 ROM to the end of the built Sonic and Knuckles ROM will produce a working Sonic 3 and Knuckles*). The package also has some of the notes I took down for myself all throughout the time I spent working on the disassembly

Here is a ROM built from the above disassembly, with the code and data shifted from their original position (*with the exception of the sound drivers and data for BOTH Sonic and Knuckles and Sonic 3 aligned to their original positions). A clean Sonic 3 ROM is attached directly to the new end of the Sonic and Knuckles ROM. The only problem you should see during playback is the torn "Sonic/Miles" background on the level select, which I just didn't bother to align:
http://www.s2beta.co...th/s3kshift.rar

Note that Sonic 3 (and Knuckles) is NOT ideal for "hacking", as there's alot of specialty code for most of the levels and events, and beginners will probably have a harder time picking up on the way things work in Sonic 3 than the way they work in Sonic 1 and 2. Sonic 3 is best used as a reference or for interest's sake. Also, for developing certain Sonic3-esque features for other games, remember that some of them are easier than they look, and try to use Sonic 3 only as a last resort (Read: I don't want this disassembly to breed laziness :P). In some cases, it will end up easier than trying to "port" it anyway :P

That said, I hope you all enjoy it thoroughly, especially after the effort I put into it. Hopefully it will entertain and inspire throughout the new year

#2 User is offline Tweaker 

Posted 31 December 2006 - 03:45 AM

  • Posts: 12389
  • Joined: 27-June 04
  • Gender:Male
Cool shit! Hopefully this can help the lot of us understand Sonic 3/Sonic & Knuckles better (hell, they were about the same anyway, right? :P), and perhaps give some inspiration and whatnot to aspiring hackers to learn some better ASM techniques, since I hear the programming was brilliant in this little clique of the Sonic series. Hell, KosinskiM's no joke... XD

And yeah, I hope this doesn't turn into a leechfest either. Everybody seems to think porting stuff is cool these days. How curious... =P

#3 User is offline Ultima 

Posted 31 December 2006 - 04:33 AM

  • Games Publisher
  • Posts: 2394
  • Joined: 26-January 03
  • Gender:Male
  • Location:London, England
  • Project:Publishing mobile games!
Porting stuff can be cool if done right.

Anyway, yet again stealth makes an awesome achievement, and just in time for the end of the year.

Congrats ;P

#4 User is offline drx 

Posted 31 December 2006 - 06:25 AM

  • <Shade> fuck MJ
  • Posts: 2119
  • Joined: 02-March 04
  • Gender:Male
  • Project::rolleyes:
  • Wiki edits:8
Great job. :P

edit: stupid emoticons
This post has been edited by drx: 31 December 2006 - 06:27 AM

#5 User is offline Upthorn 

Posted 31 December 2006 - 06:25 AM

  • TAS
  • Posts: 239
  • Joined: 23-October 06
  • Gender:Male
  • Wiki edits:23
Awesome. Now I can (in theory) get to work on the project I tabled because I didn't have an S&K disasm.

(getting a character swap monitor, and making the debug monitor conditional)

#6 User is offline Miles Prower 

Posted 31 December 2006 - 11:57 AM

  • Renard
  • Posts: 658
  • Joined: 25-January 03
  • Gender:Male
  • Project:HRA
  • Wiki edits:1
Neat!

#7 User is offline ddrmaxromance 

Posted 31 December 2006 - 01:21 PM

  • Posts: 477
  • Joined: 06-January 06
  • Wiki edits:40
Happy new year to you too. :( This should bring in more S3 / K hacks finally.
This post has been edited by ddrmaxromance: 31 December 2006 - 01:22 PM

#8 User is offline Tweaker 

Posted 31 December 2006 - 01:31 PM

  • Posts: 12389
  • Joined: 27-June 04
  • Gender:Male
Not really... I think what a few of you failed to notice is that this is just the IDB database - you're not gonna be doing much direct hacking unless you decide to make a split disassembly of it yourself, which, even if you're capable of doing so, isn't exactly a fun task.

#9 User is offline drx 

Posted 31 December 2006 - 01:37 PM

  • <Shade> fuck MJ
  • Posts: 2119
  • Joined: 02-March 04
  • Gender:Male
  • Project::rolleyes:
  • Wiki edits:8
I think you just don't know that it's possible to export & assemble it without splitting it to separate files.

#10 User is offline Tweaker 

Posted 31 December 2006 - 01:41 PM

  • Posts: 12389
  • Joined: 27-June 04
  • Gender:Male

View Postdrx, on Dec 31 2006, 01:37 PM, said:

I think you just don't know that it's possible to export & assemble it without splitting it to separate files.

I know it IS, but the last time I exported this disassembly to an asm file it was too big to open. :P

#11 User is offline drx 

Posted 31 December 2006 - 01:42 PM

  • <Shade> fuck MJ
  • Posts: 2119
  • Joined: 02-March 04
  • Gender:Male
  • Project::rolleyes:
  • Wiki edits:8
There are better text editors than notepad.exe =P

#12 User is offline Puto 

Posted 31 December 2006 - 01:44 PM

  • Shin'ichi Kudō, detective.
  • Posts: 2007
  • Joined: 31-July 05
  • Gender:Male
  • Location:Portugal, Oeiras
  • Project:Part of Team Megamix, but haven't done any actual work in ages.
  • Wiki edits:51
Notepad2 ftw.

#13 User is offline Hayate 

Posted 31 December 2006 - 01:47 PM

  • Posts: 2376
  • Joined: 01-February 04
  • Gender:Male
  • Location:Torquay, England
  • Wiki edits:70

View Postdrx, on Dec 31 2006, 06:37 PM, said:

I think you just don't know that it's possible to export & assemble it without splitting it to separate files.


Speaking of which, could somebody upload an ASM version of it?

#14 User is offline jman2050 

Posted 31 December 2006 - 02:08 PM

  • Teh Sonik Haker
  • Posts: 615
  • Joined: 10-December 05
  • Wiki edits:4
Excellent work, as usual. Having looked at the disassembly extensively, there's a LOT of interesting crap in there that hackers can learn from when making their own objects. Because of the differences in coding styles, it isn't ideal for porting, but trust me when I say that looking at S3 objects and methods will be no less than inspiring.

However, there are a few things I do believe deserve the port treatment. S3K's superior drawing method is one of them, as well as its vastly superior level format. I also like the style that's used for level events and layer deformation and the like, so emulating that (not porting it, since it's level specific) would be pretty nice as well.

But yeah, don't take stuff like the porting of the shields (which I didn't even do completely. Stealth was the first to truly port it to the full) and the porting ofgravity as something you can do willy-nilly. If (key word, IF) you decide to port select things from this disassembly, be ready to put some elbow-grease into it. As Stealth said, it's likely better to just write it from scratch.

#15 User is offline Puto 

Posted 31 December 2006 - 02:54 PM

  • Shin'ichi Kudō, detective.
  • Posts: 2007
  • Joined: 31-July 05
  • Gender:Male
  • Location:Portugal, Oeiras
  • Project:Part of Team Megamix, but haven't done any actual work in ages.
  • Wiki edits:51

View PostKeiji, on Dec 31 2006, 06:47 PM, said:

View Postdrx, on Dec 31 2006, 06:37 PM, said:

I think you just don't know that it's possible to export & assemble it without splitting it to separate files.


Speaking of which, could somebody upload an ASM version of it?


http://pu7o.planetac...pt/sandk.asm.gz <- use WinRAR to decompress it or something.

  • 2 Pages +
  • 1
  • 2
    Locked
    Locked Forum

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users