Sonic Advance/Technical information
From Sonic Retro
- Back to: Sonic Advance.
This article needs cleanup. This article needs to be edited to conform to a higher standard of article quality. |
Contents
ROM hacking
Art editing
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.
Description | Offset |
---|---|
Main Art | |
Sega screen art | $000D655 |
Sonic's game play art | $0011E254 |
Tails' game play art: | $0018F614 |
Knuckles' game play art | $0021D374 |
Amy's game play art | $00296A34 |
Super Sonic art | $00316554 |
Coconuts Badnik art | $0031DE54 |
Buzz Bomber art | $0031F4D4 |
Crabmeat art | $00320154 |
Weird Green Badnik | $00321294 |
Frog Art | $00322194 |
Cloud / Explosion art | $00322E14 |
Projectiles | $00323614 |
Pufferfish-like badnik | $003237B4 |
Firework-launching snake | $00323DB4 |
Penguin badnik | $003283D4 |
Chameleon badnik | $003288F4 |
Weird Round Thing | $00329C14 |
Weird 3D object. Looks like a D&D 8 sided die | $00329D94 |
Another weird 3Dish object | $0032A394 |
Gun turret from Egg Rocket | $0032A894 |
Oil Drum | $0032AD94 |
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 | |
Star Poll | $0032CA94 |
Sign post | $0032D714 |
Spikes | $0032ED14 |
Springs | $0032F294 |
Level Specific | |
Boulder | $00331314 |
Rock | $00331B14 |
Trampoline | $00331EB4 |
Bouncing wood block | $00332FF4 |
Bendy speed flags | $00334574 |
Speed Boosters | $00335B74 |
Fire? Water? Can't tell | $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 (letter S is shared) |
$0033FCF4 |
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 |
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 |
Knuckles' character selection | $003CBA94 |
Amy's 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 in 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 |
Foreground Art | |
Neo Green Hill Act 1 Art | $004A7670 |
NGHZ Act 1 Animated Flowers | $004AF130 |
Neo Green Hill Act 2 Art | $004BF418 |
NGHZ Act 2 Animated Flowers | $004C6ED8 |
Secret Base Act 1 Art | $004D66D0 |
Secret Base Act 2 Art | $004EF514 |
Casino Level Art (Acts 1 and 2 use same art) | $00507188 |
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 Art | $005EA710 |
Moon Zone Art | $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 Background | $00645268 |
Moon Zone Background | $0064A92C |
Then after that, the "unused" level BGs that are only accessible by cheating | |
Misc | |
Life Icons | $0065A098 |
Title Cards in the following order: Son,Tai,Knu,Amy | $0065A538 |
Title Cards For the level names | $00660558 |
Animation format
Main page: SCHG:Sonic Advance/Animation Format |
Level-specific information
Neo Green Hill Zone
Palette | $4A7470-$4A7670 |
Foreground Art | $4A7670-$4AF830 |
Collision | $4AF830-$4B1AB8 |
96x96 mappings | $4B1AB8-$4BE1D8 |
Level Layout | $4BE1D8-$4BF1BC |
16x16 mappings | I don't think they exist, as 96x96 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, editing this will be a bitch.
96x96 mappings
Sonic Advance is strange compared to the Gen/MD Sonic games in that it uses 96x96 metablocks, instead of the 256x256 or 128x128 in Sonic 1 or Sonic 2. The 96x96 mappings are built up from 8x8 tiles, and not 16x16 as in the Gen/MD Sonic games. 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. If the list does not interest you, click on the image next to this section.
- 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
Miscellaneous
Offset $4BF1B0-4BF1B4 appears to load the 96x96 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.
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 editing this in TLP will be extremely difficult. 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.
RAM editing
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.
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, 96x96 mappings, and the level layout. After level layout, some stuff regarding animated patterns may be present.
References
Sonic Advance | |
---|---|
Main page (N|Android|Gameloft) Manuals Development |
show;hide
|