Sonic and Sega Retro Message Board: Sonic Chaos Hacking - Sonic and Sega Retro Message Board

Jump to content

Hey there, Guest!  (Log In · Register) Help
Loading News Feed...
 

Sonic Chaos Hacking Both SMS and GG

#1 User is offline Ravenfreak 

Posted 02 February 2011 - 10:56 PM

  • Beast Boy Stahp
  • Posts: 2172
  • Joined: 24-November 08
  • Gender:Female
  • Location:O'Fallon Mo
  • Project:Mighty No. 9 Universe,various hacking projects
  • Wiki edits:112
This game needs some documentation doesn't it? So since I'm taking a break from my Sonic 1 SMS disassembly (for now xP) I decided to look into Sonic Chaos, since there seems to be no documentation on this game. These are my notes (I'm still adding more info. to them as I speak. xP) And yes, I did disassemble Sonic Chaos, but I'm not releasing it to the public. (Yet. xP)

CODE
Sonic Chaos Master System
$104F- This is where Sonic's animations start. The first byte determines which frame to use.
The second and third bytes load his mappings, whereas the fourth one seems to do nothing.
So, Sonic's first walking animation looks like this in a hex editor:
04 00 80 07
$11D3- This is where Tails' animations start. See above on how the game loads the animations.
$45D0- Allows the player to "stick" to slopes, but he can't jump.
$5A18-$5A1E Intro Data (Collision and art specifically.)There's always a null
byte before each byte of data.The first three bytes determine
what mappings are to be drawn, and the next byte loads the collision. Changing this byte will result in the
death of Sonic, and the intro sequence ends only if 1/2 buttons are pressed.

These older notes are inaccurate, please read the newer ones. v.png
This post has been edited by Ravenfreak: 14 February 2011 - 04:20 AM

#2 User is offline Espilonarge 

Posted 03 February 2011 - 05:59 AM

  • Posts: 38
  • Joined: 19-April 08
Just to note, Tile Layer Pro can view some sprites, namely Sonic and Tails, but other things like enemies/bosses and objects (rings, monitors, etc) are all compressed. Sonic Team didn't make it easy on SMS hacking Sonic games, that's for sure.

#3 User is offline nineko 

Posted 03 February 2011 - 05:27 PM

  • I am the Holy Cat
  • Posts: 5255
  • Joined: 17-August 06
  • Gender:Male
  • Location:italy
  • Project:I... don't even know anymore :U
  • Wiki edits:5,251
QUOTE (Espilonarge @ Feb 3 2011, 11:59 AM)
Just to note, Tile Layer Pro can view some sprites, namely Sonic and Tails, but other things like enemies/bosses and objects (rings, monitors, etc) are all compressed. Sonic Team didn't make it easy on SMS hacking Sonic games, that's for sure.
Also Aspect_Edit.

Nice to see that the 8-bit titles are getting more love.

#4 User is offline Ravenfreak 

Posted 10 February 2011 - 07:30 AM

  • Beast Boy Stahp
  • Posts: 2172
  • Joined: 24-November 08
  • Gender:Female
  • Location:O'Fallon Mo
  • Project:Mighty No. 9 Universe,various hacking projects
  • Wiki edits:112
Time for a brief update. Though later on today, I'll be adding more so expect this post to be edited.
Edit: Added the Demo header format. Told you I'd edit this post. xP Also added, HUD layout. Also I'll be releasing my disassembly sometime soon.

CODE
$8D0-$AC0 Level Select Text
$AF6-$C28 Sound Test Text both are in ASCII.
$2499- Initiate Port 1 (Joypad Port)
$24A9- Controls Sonic/Tails in Demos.
$2BD6- Demo Time, Word. determines how long a demo should play. The lower the value, the shorter
the demo.
$2C72- This is where the demo headers start. This is the format and the first demo header:
Level Bank Control Sequence Pointer
$02,  $1F, $00, $94
$29C4- HUD Layout each icon has four lines of three bytes. Format is as follows (Note this is the Life Icon
layout, and is the first one in the array):
hpos vpos char
$10, $28, $2E  
$10, $20, $34
$10, $10, $48
$10, $18, $4A
So if you like having the life icon in the bottom left hand corner like the previous games, you would change
the horizontal postion to $AF, as that's the position on screen the life icon is located at in the older games.
It's as simple as that.

Hopefully my notes help a bit for now. v.png
This post has been edited by Ravenfreak: 10 February 2011 - 05:25 PM

#5 User is offline MarkeyJester 

Posted 11 February 2011 - 05:12 AM

  • Posts: 1441
  • Joined: 22-July 08
  • Gender:Male
  • Location:Japan
  • Wiki edits:16
While I don't have much interest in SMS/GG games, I find it great that you're doing this general research with them and documenting the details. Knowledge is power as they say. Keep up the great work though if no-one else will =P

#6 User is offline Skeledroid 

Posted 11 February 2011 - 06:56 AM

  • Posts: 215
  • Joined: 17-November 06
  • Project:Platformer Engine
  • Wiki edits:1
Hivebrain posted this a few years back:

QUOTE
Here you go. Each chunk of data is adjacent to the next, unless otherwise specified. "Art" is uncompressed, "CompArt" is compressed using the standard Sonic SMS/GG art compression format, level layouts are compressed using FF as a byte repetition flag.
CODE
Sonic Chaos (SMS) ROM Contents
==============================

8D8    ASCII - level select
AD0    
E464    Blank
10000    Art - Sonic
13D00    Blank
14000    Art - more Sonic
16940    Art - Tails
17680    Art - MGHZ pole climber boss
17EA0    Blank
18000    Art - Tails
1BC80    Blank
1C000    Art - more Sonic
1FA40    CompArt - HUD numbers, Km/h
1FC6E    Blank
20000    Art - more Tails
23340    CompArt - HUD numbers, Km/h, life icon, monitors, spike, 16x16 block (some of this stuff gets overwritten by other stuff in the VRAM)
23B92    Blank
24000    
24440    Art - end of act signpost
253C0    CompArt - cone enemy (SEZ)
255A0    CompArt - flying enemy - facing right (THZ, GPZ, EEZ)
25690    CompArt - flying enemy - facing left (THZ, GPZ, EEZ)
25780    CompArt - beetle enemy (GPZ)
25950    CompArt - spring enemy (SEZ)
25AB0    CompArt - motobug enemy (THZ)
25CD0    CompArt - spring enemy (MGHZ)
25EE0    CompArt - coconut bomb (MGHZ)
26030    CompArt - spring (THZ, others)
261C0    CompArt - platform (THZ)
262C0    CompArt - platform (GPZ)
26370    CompArt - platform (SEZ)
26470    CompArt - platform (MGHZ)
26570    CompArt - platform (APZ)
26630    CompArt - platform (EEZ)
26720    CompArt - shooting star (GPZ)
26780    CompArt - oil splash (MGHZ)
26840    CompArt - spring that Sonic stands on (SEZ)
26A50    CompArt - bomb enemy (EEZ)
26B60    CompArt - water surface wave (APZ)
26D20    CompArt - laser cannons on ceiling (EEZ)
26F10    CompArt - oil splash (MGHZ) duplicate
26FD0    CompArt - small bit of something (EEZ) ###unused###
26FF0    CompArt - sliding cart (EEZ)
27090    CompArt - harpoon (APZ)
27150    CompArt - penguin enemy (APZ)
272C0    CompArt - bubbles (APZ)
273E0    CompArt - spring - 1 frame only
274A0    CompArt - splash (APZ)
27600    CompArt - Robotnik (intro)
27B60    CompArt - Tails (intro)
27D90    CompArt - sparkles (good ending)
27EC0    Art - "TM"
27F40    Blank
28000    Art - more Tails
28940    Art - THZ motobug boss
29280    Art - GPZ caterpillar boss
29F80    Art - SEZ spring boss
2A840    Art - APZ pod boss
2B8C0    Blank
2C000    Art - final boss
2FE40    Blank
2FD00    Art - smoke puff from monitor/enemy
30000    
3359C    Blank
34000    
354BC    Art - end of act signpost (final frame)
360BC    Mappings?
372BC    Blank
38000    Sprite mappings?
38970    
399A0    Art - monitors
3A3A0    
3A3C0    CompArt - small fragment of a smashed block (THZ)
3A3F0    CompArt - small fragment of a smashed block (GPZ)
3A420    CompArt - small fragment of a smashed block (SEZ)
3A448    CompArt - small fragment of a smashed block (MGHZ)
3A478    CompArt - small fragment of a smashed block (APZ)
3A4A0    CompArt - small fragment of a smashed block (EEZ)
3A4D0    CompArt - small fragment of a smashed block (SS1/2)
3A4F4    CompArt - small fragment of a smashed block (?)
3A51A    CompArt - blue chaos emerald (SS1)
3A63A    CompArt - orange chaos emerald (SS2)
3A79A    CompArt - green chaos emerald (SS3)
3A90A    CompArt - grey chaos emerald (SS4)
3AA6A    CompArt - purple chaos emerald (SS5)
3ABDA    CompArt - "END" and Tails hanging from the "D" (tails good ending)
3B23A    CompArt - "E" "N" "D" letters by themselves (sonic good ending)
3B45A    
3B64D    Pal -
3B67D    Pal - end of level results #1
3B68D    Pal - end of level results #2
3B69D    
3B6AD    Pal - THZ
3B6BD    Pal - GPZ
3B6CD    Pal - SEZ
3B6DD    Pal - MGHZ
3B6ED    Pal - APZ
3B6FD    Pal - EEZ
3B70D    Pal - THZ boss
3B71D    Pal - GPZ boss
3B72D    Pal - SEZ boss
3B73D    Pal - MGHZ boss
3B74D    Pal - APZ boss
3B75D    Pal - EEZ boss
3B76D    Pal - special stage 1/2/4
3B77D    Pal - special stage 3
3B78D    Pal - special stage 5
3B79D    Pal - Sonic - THZ
3B7AD    Pal - Sonic - GPZ
3B7BD    Pal - Sonic - SEZ
3B7CD    Pal - Sonic - MGHZ
3B7DD    Pal - Sonic - APZ
3B7ED    Pal - Sonic - EEZ
3B7FD    Pal - title screen #1
3B80D    Pal - title screen #2
3B81D    
3B82D    Pal - character select
3B83D    
3B84D    
3B85D    Pal - title cards
3B86D    Pal - Sonic - continue screen?
3B87D    
3B88D    Pal - Sonic - continue screen?
3B89D    Pal - try again screen
3B8AD    Pal - Sonic - special stage 1/2/4
3B8BD    Pal - Sonic - special stage 3/5
3B8CD    Pal - Sonic - intro
3B8DD    Pal - intro
3B8ED    Pal - good ending #1
3B8FD    Pal - good ending #2
3B90D    Pal - good ending #3
3B91D    Pal - good ending #4
3B92D    Pal - good ending #5
3B93D    Pal - good ending #6
3B94D    
3B95D    
3B96D    Blank
3C000    Sprite mappings?
40000    CompArt - Sega logo
4039E    Mappings?
40670    CompArt - text (level select, credits?)
40A70    CompArt - "TIME OVER"
40F16    Mappings?
40F9E    CompArt - THZ/intro tiles
42478    CompArt - GPZ tiles
43E24    Blank    
44000    32x32 - THZ/intro
45640    32x32 - GPZ
46A40    32x32 - SEZ
477C0    Blank
48000    THZ1 layout
48BA9    THZ2 layout
49815    THZ3 layout
49C25    GPZ1 layout
4AA00    GPZ2 layout
4B987    GPZ3 layout
4BD4D    Blank
4C000    CompArt - player select screen
4CE9C    Mappings?
4D49C    CompArt - end of act results screen
4E7E6    CompArt - title card (THZ)
4F5B0~    CompArt - continue screen
4FEC5    
50000    32x32 - MGHZ
51320    32x32 - APZ
53460    SEZ3 layout
53DD2    Blank
54000    SEZ1 layout
54CC8    SEZ2 layout
559D4    MGHZ1 layout
566B8    MGHZ2 layout
572FB    MGHZ3 layout
57AF3    APZ3 layout
57E0D    Blank
58000    CompArt - APZ tiles
59800    CompArt - EEZ tiles
5B6F0    Blank
5C000    APZ1 layout
5C7C1    APZ2 layout
5CF3A    EEZ1 layout
5DB73    EEZ2 layout
5E853    EEZ3 layout
5F407    Intro level layout
5F74D    Blank
60000    CompArt - SEZ tiles
619F0    CompArt - MGHZ tiles
6301C    Blank
64000    CompArt - SS1/2/4 tiles
65590    CompArt - SS3/5 tiles
66C72    
6757A    Blank
68000    SS1 layout
685A8    SS2 layout
68848    SS3 layout
68C1E    SS4 layout
69258    SS5 layout
695DC    CompArt - credits text and giant emerald that Sonic runs around in (good ending)
6B0F2    ASCII - credits
6B2EC    
6B7D1    Blank
6C000    32x32 - SS1/2/4
6CF60    32x32 - SS3/5
6DE00    CompArt - title screen
6FA14    
6FD18    Blank
70000    
705AE    ObjPos - THZ1
         (followed by other levels' ObjPos)
719B4    Blank
74000    
7455D    Art - rings
7475D    Art -
74FBD    Art - conveyor belt (EEZ)
7513D    Art - giant rings
7593D


#7 User is offline Ravenfreak 

Posted 11 February 2011 - 02:07 PM

  • Beast Boy Stahp
  • Posts: 2172
  • Joined: 24-November 08
  • Gender:Female
  • Location:O'Fallon Mo
  • Project:Mighty No. 9 Universe,various hacking projects
  • Wiki edits:112
Well that would certainly help people using Aspect Edit, I didn't know about his notes. v.png Well in that case, later on today I'll post where the music starts and then work on my disassembly until it's ready for a release. (Which should be soon since I've been identifying and labeling things non stop. ^_^) Also shouldn't the notes be on the wiki?

#8 User is offline nineko 

Posted 11 February 2011 - 05:44 PM

  • I am the Holy Cat
  • Posts: 5255
  • Joined: 17-August 06
  • Gender:Male
  • Location:italy
  • Project:I... don't even know anymore :U
  • Wiki edits:5,251
QUOTE (Ravenfreak @ Feb 11 2011, 08:07 PM)
later on today I'll post where the music starts
In case you need a nudge in the right direction, I documented that on October 8th, 2009, though I didn't bother to look for all the songs, so I only know where the music data starts:
Sonic Chaos (1.0 gg): 91B7
Sonic Chaos (1.2 sms): 9169
From there, all the songs follow. I think they are in the same order as the sound test. To locate them, just look for FD 49 (in the 1.2 sms version) or 4B 4A (in the 1.0 gg version). Them all should start with that.

Trivia: the 1.0 game gear version is dated 1993/09/01 internally, while the 1.2 master system version is dated 1993/08/03 internally. I wonder why they gave them backwards version numbers.
This post has been edited by nineko: 11 February 2011 - 05:51 PM

#9 User is offline Ravenfreak 

Posted 11 February 2011 - 10:54 PM

  • Beast Boy Stahp
  • Posts: 2172
  • Joined: 24-November 08
  • Gender:Female
  • Location:O'Fallon Mo
  • Project:Mighty No. 9 Universe,various hacking projects
  • Wiki edits:112
Whoops I meant not exactly where their data starts, but the offsets that determine which song to play in which act. ^^' Since you didn't document all their data, if you don't mind could I expand upon what you've found? Anyway, they start at offset $18BA and end at $18E0. Also didn't the GG prerelease have a weird version number too? I remember the thread you posted a few months back about SMS Power!'s release of that version and I believe it was Evilhamwizard that pointed it out.

#10 User is offline Glaber 

Posted 12 February 2011 - 02:38 AM

  • Has Beaten Sonic Genesis for GBA
  • Posts: 553
  • Joined: 14-January 03
  • Gender:Male
  • Location:Mobius
  • Project:Gmod Ragdolls and Props, Pony maps
  • Wiki edits:10
seeing that the game gear version and the SMS version have different pointers, I'm wondering what all the Game Gear ones are. (Want's to hack the Game gear version, not the SMS version)

#11 User is offline Ravenfreak 

Posted 12 February 2011 - 03:54 AM

  • Beast Boy Stahp
  • Posts: 2172
  • Joined: 24-November 08
  • Gender:Female
  • Location:O'Fallon Mo
  • Project:Mighty No. 9 Universe,various hacking projects
  • Wiki edits:112
Well, I just started to hack the Game Gear version too. smile.png So I'll change the name of this topic to a general Sonic Chaos hacking thread. v.png It shouldn't take too long to find the GG offsets, since I've disassembled that too I'll compare. But I will say this, I won't have any time to work on this tomorrow, until late (after 1:00 a.m. CST) but I usually hack late anyways and I'm already comparing offsets so you might see an edit (since I don't like double posting.) Edit: the level music for the GG version starts at $18ED to $1922, sorry I forgot to post that. v.png Edit 2: Might as well add the ASCII text location for the Level Select screen and Credits:
CODE
The ASCII text in the Game Gear version is located here:
Level Select: $980-$B00
Sound Test:  $B30 "Sound Test" text $850 "Sound Select" text
Credits: $6A8B9-$6AABB

This post has been edited by Ravenfreak: 12 February 2011 - 04:17 AM

#12 User is offline nineko 

  Posted 12 February 2011 - 09:29 AM

  • I am the Holy Cat
  • Posts: 5255
  • Joined: 17-August 06
  • Gender:Male
  • Location:italy
  • Project:I... don't even know anymore :U
  • Wiki edits:5,251
QUOTE (Ravenfreak @ Feb 12 2011, 04:54 AM)
if you don't mind could I expand upon what you've found?
lol sure why should I mind? It's not like I "own" Sonic Chaos music hacking v.png
Besides, as I said, I did a terribly incomplete job, documenting the start of the song data but not the start of the individual songs because I was lazy. Maybe I will do that later today though. I would be glad to help with this since I think the 8-bit games deserve more love.

edit:

For the sake of it, these are the locations of all the songs AND sound effects in the Master System version 1.2:
CODE
81 9169
82 963F
83 9793
84 9CE8
85 9EB2
86 9F7A
87 A005
88 A0A5
89 A152
8A A1E1
8B A23D
8C A948
8D AF69
8E B634
8F B6C4
90 B8EB
91 BEF6
92 C3DD
93 C8B6
94 CFDD
95 D206
96 D7DC
97 D881
98 D91C
99 D991
9A DBCA
9B DE54
9C DE6E
9D DE88
9E DEA2
9F DEBC
A0 DED6 <-- sound effects start here
A1 DF05
A2 DF1B
A3 DF42
A4 DF6D
A5 DFAC
A6 DFC4
A7 DFF5
A8 E00B
A9 E04B
AA E079
AB E08C
AC E0A5
AD E0D4
AE E0EC
AF E10F
B0 E132
B1 E150
B2 E16B
B3 E193
B4 E1B9
B5 E1E1
B6 E1FC
B7 E22E
B8 E24C
B9 E267
BA E29B
BB E2DD
BC E30D
BD E330
BE E358
BF E376
C0 E391
C1 E3B4
C2 E3CC
C3 E40C
C4 E434
And these are the locations of all the songs AND sound effects in the Game Gear version 1.0:
CODE
81 91B7
82 975F
83 985D
84 9DB2
85 9F7C
86 A044
87 A0CF
88 A16F
89 A21C
8A A2AB
8B A307
8C AA12
8D B033
8E B6FE
8F B78E
90 B9B5
91 BFC0
92 C4B4
93 C98D
94 D0F9
95 D322
96 D8F6
97 D99B
98 DA36
99 DAAB
9A DCE4
9B DF6E
9C E52D
9D EBCC
9E ECF4
9F F16F
A0 F2BF <-- sound effects start here
A1 F2EE
A2 F304
A3 F32B
A4 F356
A5 F395
A6 F3AD
A7 F3DE
A8 F3F4
A9 F434
AA F462
AB F475
AC F48E
AD F4BD
AE F4D5
AF F4F8
B0 F51B
B1 F539
B2 F554
B3 F57C
B4 F5A2
B5 F5CA
B6 F5E5
B7 F617
B8 F635
B9 F650
BA F684
BB F6C6
BC F6F6
BD F719
BE F741
BF F75F
C0 F77A
C1 F79D
C2 F7B5
C3 F7F5
C4 F81D
Song numbers are as per sound test order; after the last sound effect there is a streak of FFs (in both versions), probably padding. There seems to be some differences in the songs between the two versions.

And a handy RAR file with all the songs extracted from both versions.
This post has been edited by nineko: 12 February 2011 - 11:14 AM

#13 User is offline ICEknight 

Posted 12 February 2011 - 11:48 AM

  • Posts: 8692
  • Joined: 11-January 03
  • Gender:Male
  • Location:Spain
  • Wiki edits:18
At the risk of being slightly off-topic, is there any reason why the songs start at "81" precisely? I remember that happening in Sonic 1 MD as well.
This post has been edited by ICEknight: 12 February 2011 - 11:50 AM

#14 User is offline nineko 

Posted 12 February 2011 - 11:58 AM

  • I am the Holy Cat
  • Posts: 5255
  • Joined: 17-August 06
  • Gender:Male
  • Location:italy
  • Project:I... don't even know anymore :U
  • Wiki edits:5,251
I started this: SCHG:Sonic Chaos/sandbox

I think we should wait for Ravenfreak before we start the proper SCHG page though. Also I didn't feel like labeling the sound effects :U

#15 User is offline Overlord 

Posted 12 February 2011 - 01:22 PM

  • Что, вы ожидали что-то остроумное?
  • Posts: 13303
  • Joined: 12-January 03
  • Gender:Male
  • Location:Berkshire, England
  • Project:VGDB
  • Wiki edits:3,204
QUOTE (ICEknight @ Feb 12 2011, 04:48 PM)
At the risk of being slightly off-topic, is there any reason why the songs start at "81" precisely? I remember that happening in Sonic 1 MD as well.

It's slap-bang in the middle of the range from 01 to FF (assuming 00 is left blank and ununsed) - might be a factor in some way?

  • 2 Pages +
  • 1
  • 2
    Locked
    Locked Forum

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