Actions

Difference between revisions of "Sonic Advance/Technical information"

From Sonic Retro

 
Line 1: Line 1:
 
{{Cleanup1|1=Wikify/Stylize}}
 
{{Cleanup1|1=Wikify/Stylize}}
 +
Base notes by [[ThunderSpeed]].
 +
 
These are my hacking notes on Sonic Advance. It's not much, but it should help stir something up regarding Advance hacking.
 
These are my hacking notes on Sonic Advance. It's not much, but it should help stir something up regarding Advance hacking.
  

Revision as of 07:09, 23 January 2007

Template:Cleanup1 Base notes by ThunderSpeed.

These are my hacking notes on Sonic Advance. It's not much, but it should help stir something up regarding Advance hacking.

onic Advance: Memory

In my effort to find objects, and possibly start locations for Sonic/characters, I've looked into memory.

Around $A00 in WRAM, things change when you jump. Around $2510 in WRAM, things change when you bring up the insta-shield Around $2580 in WRAM, things change for jumping as well as somersaulting.

Sonic's X location?(!): $03000408 (IRAM) Sonic's Y location?(!): $03000418 (IRAM)

General object RAM, starts around $ 03001B30, in IRAM. Use to find obj positions.


currently: Sonicxy: 0025 0054

NOTE: I did a search for start positions based off of the ram variables. I found nothing in the rom.

Sonic Advance: Art Stuffs

From what I understand about this game, all of the art in this game is uncompressed. I have created a list of the locations needed for a basic art hack.

 _______________________________________________________________________
| Description						|  Offset	|
|-------------------------------------------------------+---------------|
| location for the Sega screen art:			|  $000D6554	|
| location for Sonic's game play art:			|  $0011E254	|
| location for Tails' game play art:			|  $0018F614	|
| location for Knux' game play art:			|  $0021D374	|
| location for Amy's game play art:			|  $00296A34	|
| location for Super Sonic art:				|  $00316554	|
|-------------------------------------------------------+---------------|
| location for Coconuts Badnick art:			|  $0031DE54	|
| location for Buzz Bomber art:				|  $0031F4D4	|
| location for Crabmeat art:				|  $00320154	|
| location for Wierd Green Badnick:			|  $00321294	|
| location for Frog Art:				|  $00322194	|
| Cloud / Explosion art:				|  $00322E14	|
| Projectiles:						|  $00323614	|
| PufferFish like badnick:				|  $003237B4	|
| Fire work launching snake:				|  $00323DB4	|
| Penguin badnick:					|  $003283D4	|
| Chamelion badnick:					|  $003288F4	|
| Wierd Round Thing:					|  $00329C14	|
| Wierd 3D object. Looks like a D&D 8 sided die		|  $00329D94	|
| Another wierd 3Dish object:				|  $0032A394	|
| Gun turret from Egg Rocket				|  $0032A894	|
| Oil Drum						|  $0032AD94	|
|-Animals---------------------------------------Animals-+---------------|
| Gorilla						|  $0032B594	|
| Turkey						|  $0032B714	|
| Lion							|  $0032B894	|
| Purple Sea Lion					|  $0032BA14	|
| Flicky						|  $0032BB94	|
| Penguin						|  $0032BD14	|
| Rabbit						|  $0032BE94	|
| I dunno what this animal is				|  $0032C014	|
| Deer/goat/four legged hoofed mammal			|  $0032C194	|
| Skunk							|  $0032C314	|
| Bird							|  $0032C494	|
| Kangaroo						|  $0032C614	|
| Koala Bear						|  $0032C794	|
| Elephant						|  $0032C914	|
|-General---------------------------------------General-+---------------|
| Star Poll						|  $0032CA94	|
| Sign post						|  $0032D714	|
| Spikes						|  $0032ED14	|
| Springs						|  $0032F294	|
|-Level Specific-------------------------Level Specific-+---------------|
| Boulder						|  $00331314	|
| Rock							|  $00331B14	|
| Trampoline						|  $00331EB4	|
| Bouncing wood block					|  $00332FF4	|
| Bendy speed flags					|  $00334574	|
| Speed Boosters					|  $00335B74	|
| Fire? Water? Dunno. Couldn't tell with current pal	|  $00336B74	|
| Casino Night styled Triangle bumpers			|  $00338214	|
| Pinball Flippers					|  $00338994	|
| Balloons, the explosions, and bits left over		|  $00339954	|
| Hexagon bumper					|  $0033D234	|
| Round bumper						|  $0033D5F4	|
| Spinning bowl thing					|  $0033D7F4	|
| Thing Sonic grabs and spins around/spinning elevator	|  $0033E6F4	|
| Swinging Boat						|  $0033F5F4	|
| Large light up letters that spell out SONIC and SEGA	|  $0033FCF4	|
|   - The S is shared between both			|		|
| Floating star drum					|  $00344CF4	|
| Large moving block from the Casino Level		|  $00344F74	|
| Rotating door from the casino level			|  $00345634	|
| I dunno, it's stripy					|  $00346234	|
| Hook from Secret Base					|  $00347ED4	|
| I dunno. A platform?					|  $003481F4	|
| Bouncing block from Secret Base			|  $003493F4	|
| Conveyor belt						|  $00349574	|
| the art continues...					|		|
|-------------------------------------------------------+---------------|
| Egg Prison						|  $00360AD4	|
|-------------------------------------------------------+---------------|
| Metal Knuckles					|  $00391074	|
| Unused(?) Chao sprites. looks to be gameplay styled	|  $00391074	|
|-------------------------------------------------------+---------------|
| Item Box(monitor) and contents			|  $003BFC54	|
| Rings, sparkles, points, emeralds, HUD ring		|  $003C06D4	|
|-------------------------------------------------------+---------------|
| Sonic's character selection				|  $003C6274	|
| Tails' character selection				|  $003C8A34	|
| Knux' character selection				|  $003CBA94	|
| Amy  character selection				|  $003CEF14	|
| BG Art from the character selection			|  $003D33B4	|
| Level Select "Zone,Act,Number" Art			|  $003E54B4	|
| Level Select Icons					|  $003E9F34	|
| Sparkles from ending sequence(?)			|  $003EB334	|
| Ending Sequence					|  $003EBD34	|
| Gigantic Sonic art(showing his face)			|  $003EED34	|
| Back view of the Tornado, followed by side view	|  $003F1D34	|
| Eggman when you don't have all the emeralds on the	|		|
|   Credits.(?)						|  $003F4734	|
| More level select icons				|  $003F86B4	|
| Spin Dash Dust					|  $003F97F4	|
| Normal Green Shield					|  $003FBC54	|
| Magnet Shield						|  $003FD754	|
| Invincibility Star thingie				|  $003FFB54	|
| Emerald that falls into Eggman's hand in the intro	|  $0040E134	|
| Unused Title Card Names(Forest Chao, or something)	|  $004620B4	|
|-------------------------------------------------------+---------------|
| Art for some gigantic wheel of some sort		|  $00486660	|
|  - This keeps showing up. I don't know if it changes	|		|
|    Between each occurance of it			|		|
|-Foreground Art----------------------------------------+---------------|
| Neo Green Hill Act 1 Art				|  $004A7670	|
|   - Animated Flowers(act 1)				|  $004AF130	|
| Neo Green Hill Act 2 Art				|  $004BF418	|
|   - Animated Flowers(act 2)				|  $004C6ED8	|
| Secret Base Act 1 Art					|  $004D66D0	|
| Secret Base Act 2 Art					|  $004EF514	|
| Casino Level Art					|  $00507188	|
|   - Act 1 and 2 use the same art			|		|
| Ice Mountain Act 1 Art				|  $0053D93C	|
| Ice Mountain Act 2 Art				|  $0055B370	|
| Angel Island Act 1 Art				|  $00578028	|
| Angel Island Act 2 Art				|  $005952E8	|
| Egg Rocket Art					|  $005B1E40	|
| Cosmic Angel Art					|  $005D0210	|
| X Zone(whatever it's called) art			|  $005EA710	|
| Moon Zone art. Not much to it.			|  $005F2158	|
|-Background Art----------------------------------------+---------------|
| Neo Green Hill Background				|  $0062D274	|
| Secret Base Background				|  $0062F490	|
| Casino Paradise Background				|  $006318AC	|
| Ice Mountain Background				|  $006332C8	|
| Angel Island Background				|  $006382E4	|
| Egg Rocket Backgrounds				|  $0063ABD0	|
| Cosmic Angel Background				|  $00641BCC	|
| X Zone(whatever it's called) Background		|  $00645268	|
| Moon Zone Background					|  $0064A92C	|
|  - Then after that, the "unused" level BGs		|		|
|    That are only accessable by cheating		|		|
|-Misc--------------------------------------------------+---------------|
| Life Icons						|  $0065A098	|
| Title Cards in the following order: Son,Tai,Knu,Amy	|  $0065A538	|
| Title Cards For the level names			|  $00660558	|
 ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

This compilation of art locations is nowhere near complete, but the locations listed will allow for a basic art hack of this game. All locations were based on a US Sonic Advance rom. I'm not sure if the other versions will have the same locations.

Due to not knowing where the mappings for the levels are, level art edits have to be kept to the basic shape of the current art.

Neo Green Hill Stuff:

Palette: $4A7470-$4A7670 Foreground Art: $4A7670-$4AF830 Collision: $4AF830-$4B1AB8 128x128 mappings: $4B1AB8-$4BE1D8 Level Layout: $4BE1D8-$4BF1BC 16x16 mappings: I don't think they exist, as 128x128 mappings are made up by individual 8x8 tiles. Object positions: Haven't found them yet.

Palette: The palette is easy to edit. 2 bytes for every color entry. These bytes are in little endian format, meaning the bytes are swapped. For example, 7FFF(which is white) would = FF7F. Sonic Advance Pal Tool is excellent for finding out the color coding for your appropriate color.

Foreground Art: The foreground art is uncompressed, meaning you can open it in any tile editor that supports GBA 4BPP, or 4 bits per pixel. 8BPP is optional, if you want to edit the Title Screen art.

Collision: I'm not exactly sure how this works. But this is uncompressed. Anyways, since nobody knows how it works yet, or what the collision definitions are, editting this will be a bitch.

128x128 mappings: The 128x mappings are built up from 8x8 tiles. Each definition of an 8x8 tile is 2 bytes in little endian format(swapped). For example, if you wanted the right petal of the animated flower, it would be 0100, instead of 0001. I'm not sure how palette switching/flip/mirroring works yet.

Level Layout: The level layout is extremely similar to Sonic 1, where the layout goes horizontally until it ends that row, then starts the next row. The difference between Sonic 1 is that it doesn't appear to have a 'limit' on the tiles for each row, that I can find at least. The layout starts off with BG 1(as labeled in VBA), then goes to BG 2, which I call the scenery layer. This layer isn't solid at all. Then it comes to BG 3, which I call the solid layer, as every collision here is, well, solid. Well, here's a tile list.

00 - Blank 01 - Top of a wooden railing 02 - Top of a grind railing 03 - Another piece of the grind railing 04 - Top of a palm tree 05 - Full wooden railing 06 - Left piece of a wooden support beam 07 - Right piece of a wooden support beam 08 - Blank 09 - Blank 0A - Blank 0B - Top right corner of a loop 0C - Piece of a grind railing that connects it to the ground 0D - Continuance of a grind railing 0E - Palm tree stem with a coconut next to it 0F - Palm tree stem without a coconut next to it 10 - A support beam that sticks out of the sand(left) 11 - Blank 12 - Blank 13 - A support beam that sticks out of the sand(right) 14 - Blank 15 - Blank ... 34 - Straight Sand 35 - Sand that slopes up going to the right 36 - Top of the slope


NOTES:

Offset $4BF1B0-4BF1B4 Appears to load the 128x128 mappings. Offset $4BF1B4-4BF1C0 Appears to be coding regarding animated art. a few bytes control which tiles are loaded, and a few control the speed of the animations.

Notes2: Start of Solid Layer in NGHZ 1(that's where you start at least): 004BEB68

Title screen art Part 1: $BF948-C7C88

 - This is a bitch. The title screen takes advantage of a 256 color palette, meaning that editting this in TLP will be extremely dificult. To effectively edit this, open up Visual Boy Advance's palette viewer, count to the color you want(horizontally and in hex values) and type that byte in. 1 byte is one pixel. Also, the title screen does bother with mappings, so that could get in your way. Or, if you want the easy way, download TilEd 2002, or something similar.

This 'guide' is no guide at all. In fact, it's barely got any info in it. If you'd like to hunt for other level specific info, such as layouts for another layout, locate the foreground art for that level/act, and after that, the data should be there in the following order: foreground art, collision, 128x128 mappings, and the level layout. After level layout, some stuff regarding animated patterns may be present.