Actions

Sonic Advance/Technical information

From Sonic Retro

Back to: Sonic Advance.
Sonicretro-round.svg This article needs cleanup.

This article needs to be edited to conform to a higher standard of article quality.
After the article has been cleaned up, you may remove this message. See How to Edit a Page for help.

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

Sonic Retro emblem.svg 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
Neo Green Hill Zone metatiles, gridded for reference

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
SonicAdvance title.png

Main page (N|Android)
Comparisons
Maps
Credits


Manuals
Promotional material
Magazine articles
Video coverage (N)
Reception


Development
Hidden content
Bugs
Technical information
Bootlegs

Sonic Community Hacking Guide
General
SonED2 Manual | Subroutine Equivalency List
Game-Specific
Sonic the Hedgehog (16-bit) | Sonic the Hedgehog (8-bit) | Sonic CD (prototype 510) | Sonic CD | Sonic CD (PC) | Sonic CD (2011) | Sonic 2 (Simon Wai prototype) | Sonic 2 (16-bit) | Sonic 2 (Master System) | Sonic 3 | Sonic 3 & Knuckles | Chaotix | Sonic Jam | Sonic Jam 6 | Sonic Adventure | Sonic Adventure DX: Director's Cut | Sonic Adventure DX: PC | Sonic Adventure (2010) | Sonic Adventure 2 | Sonic Adventure 2: Battle | Sonic Adventure 2 (PC) | Sonic Heroes | Sonic Riders | Sonic the Hedgehog (2006) | Sonic & Sega All-Stars Racing | Sonic Unleashed (Xbox 360/PS3) | Sonic Colours | Sonic Generations | Sonic Forces
Technical information
Sonic Eraser | Sonic 2 (Nick Arcade prototype) | Sonic CD (prototype; 1992-12-04) | Dr. Robotnik's Mean Bean Machine | Sonic Triple Trouble | Tails Adventures | Sonic Crackers | Sonic 3D: Flickies' Island | Sonic & Knuckles Collection | Sonic R | Sonic Shuffle | Sonic Advance | Sonic Advance 3 | Sonic Battle | Shadow the Hedgehog | Sonic Rush | Sonic Classic Collection | Sonic Free Riders | Sonic Lost World
Legacy Guides
The Nemesis Hacking Guides The Esrael Hacking Guides
ROM: Sonic 1 | Sonic 2 | Sonic 2 Beta | Sonic 3

Savestate: Sonic 1 | Sonic 2 Beta/Final | Sonic 3

Sonic 1 (English / Portuguese) | Sonic 2 Beta (English / Portuguese) | Sonic 2 and Knuckles (English / Portuguese)
Move to Sega Retro
Number Systems (or scrap) | Assembly Hacking Guide | 68000 Instruction Set | 68000 ASM-to-Hex Code Reference | SMPS Music Hacking Guide | Mega Drive technical information