Difference between revisions of "Sonic the Hedgehog (16-bit)/Object Editing"
From Sonic Retro
KingofHarts (talk | contribs) (→Object Pointer List: Corrected and added mappings offsets. Will continue to update and fix this table.) |
m (grammar) |
||
(12 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{SCHG S1}} | {{SCHG S1}} | ||
− | ==Object Pointer | + | ==Object Pointer list== |
− | '' | + | This is the pointer list for every object in Sonic 1, including all zone objects, unused objects, etc. The offsets for the code and mappings are based on where they are found in a clean HG disassembly. These offsets may change even in a clean disassembly, however, due to the Revision variable. Changing this to either the REV 00 or REV JP1 version can result in slightly different offsets for the code, and mappings. The offsets shown on this table reflect the REV 00 version. |
− | + | <br><br>'''''NOTE:''' Code offsets were originally taken from the Nemesis guides, and do not all appear to be accurate. Object pointers are currently in a process of being checked and verified. Mappings offsets are currently 100% accurate, and reflect the point in the ROM where the mapping pointers start, rather than where the code for the pieces themselves start. This is also analogous to the data found in RAM at an objects obMap OST byte.'' | |
− | {| | + | {| class="prettytable" style="width: auto;" |
!ID # | !ID # | ||
!Description | !Description | ||
Line 13: | Line 13: | ||
|Sonic | |Sonic | ||
|$12BD8 | |$12BD8 | ||
− | |$ | + | |$211E2 |
| | | | ||
|- | |- | ||
Line 19: | Line 19: | ||
|???? | |???? | ||
|$D5B2 | |$D5B2 | ||
− | | | + | |N/A |
|rowspan=6|All of these point to ObjectFall, the subroutine directly after the object table; apparently a label for a null object was made but code was never added. | |rowspan=6|All of these point to ObjectFall, the subroutine directly after the object table; apparently a label for a null object was made but code was never added. | ||
|- | |- | ||
Line 25: | Line 25: | ||
|???? | |???? | ||
|$D5B2 | |$D5B2 | ||
− | | | + | |N/A |
|- | |- | ||
|04 | |04 | ||
|???? | |???? | ||
|$D5B2 | |$D5B2 | ||
− | | | + | |N/A |
|- | |- | ||
|05 | |05 | ||
|???? | |???? | ||
|$D5B2 | |$D5B2 | ||
− | | | + | |N/A |
|- | |- | ||
|06 | |06 | ||
|???? | |???? | ||
|$D5B2 | |$D5B2 | ||
− | | | + | |N/A |
|- | |- | ||
|07 | |07 | ||
|???? | |???? | ||
|$D5B2 | |$D5B2 | ||
− | | | + | |N/A |
|- | |- | ||
|08 | |08 | ||
|LZ water splash | |LZ water splash | ||
|$142F0 | |$142F0 | ||
− | |$ | + | |$145CC |
| | | | ||
|- | |- | ||
Line 56: | Line 56: | ||
|Sonic in Special Stage | |Sonic in Special Stage | ||
|$1B984 | |$1B984 | ||
− | |$ | + | |$211E2 |
| | | | ||
|- | |- | ||
Line 62: | Line 62: | ||
|Drowning countdown numbers | |Drowning countdown numbers | ||
|$13C98 | |$13C98 | ||
− | |$ | + | |$129CC |
| | | | ||
|- | |- | ||
Line 68: | Line 68: | ||
|LZ vertical pole | |LZ vertical pole | ||
|$11206 | |$11206 | ||
− | |$ | + | |$11322 |
| | | | ||
*$00 - Unbreakable | *$00 - Unbreakable | ||
− | *$ | + | *$0''x'' - Pole breaks in ''xx'' seconds. |
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|0C | |0C | ||
|LZ Flapping doors | |LZ Flapping doors | ||
|$11346 | |$11346 | ||
− | |$ | + | |$113F2 |
− | |$ | + | |$0''x'' - Door flaps open/shut in ''xx'' seconds. |
|- | |- | ||
|0D | |0D | ||
|End of level signpost | |End of level signpost | ||
|$EB28 | |$EB28 | ||
− | |$ | + | |$ED38 |
| | | | ||
|- | |- | ||
Line 93: | Line 88: | ||
|Sonic on the title screen | |Sonic on the title screen | ||
|$A61C | |$A61C | ||
− | |$ | + | |$A888 |
| | | | ||
|- | |- | ||
Line 99: | Line 94: | ||
|"PRESS START BUTTON" and "TM" from title screen | |"PRESS START BUTTON" and "TM" from title screen | ||
|$A69C | |$A69C | ||
− | |$ | + | |$A7C4 |
| | | | ||
|- | |- | ||
Line 105: | Line 100: | ||
|Blank object | |Blank object | ||
|$1C022 | |$1C022 | ||
− | | | + | |N/A |
| | | | ||
|- | |- | ||
Line 111: | Line 106: | ||
|GHZ Bridge | |GHZ Bridge | ||
|$7328 | |$7328 | ||
− | | | + | |$7934 |
− | | | + | |Subtype dictates # of logs |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|12 | |12 | ||
|Spinning light behind glass from SYZ | |Spinning light behind glass from SYZ | ||
|$E90C | |$E90C | ||
− | | | + | |$E982 |
| | | | ||
|- | |- | ||
− | |13/14 | + | |13 |
+ | |Fireball Maker (MZ/SLZ) | ||
+ | |$E296 | ||
+ | |N/A | ||
+ | |Subtype determines # of frames a fireball is spawned (30, 60, 90, 120, 150, 180) | ||
+ | |- | ||
+ | |14 | ||
|Fireball from MZ/SLZ | |Fireball from MZ/SLZ | ||
− | |$ | + | |$E304 |
− | |$ | + | |$B36E |
| | | | ||
*$17 - Goes left to right | *$17 - Goes left to right | ||
Line 141: | Line 132: | ||
|- | |- | ||
|15 | |15 | ||
− | | GHZ and MZ swinging platforms<br/> Spiked ball on a chain (SBZ)<br/> SLZ swinging platforms | + | |GHZ and MZ swinging platforms<br/>Spiked ball on a chain (SBZ)<br/> SLZ swinging platforms |
− | | $ | + | |$7952 |
− | | $ | + | | |
+ | *$7C48 (GHZ & MZ) | ||
+ | *$7C66 (SLZ) | ||
+ | *$10AA0 (SBZ) | ||
| | | | ||
|- | |- | ||
Line 149: | Line 143: | ||
|Spear from LZ | |Spear from LZ | ||
|$11F04 | |$11F04 | ||
− | |$ | + | |$11F9A |
| | | | ||
*$00 - Horizontal spear | *$00 - Horizontal spear | ||
Line 157: | Line 151: | ||
|Helix of spikes on a pole from GHZ | |Helix of spikes on a pole from GHZ | ||
|$7CA2 | |$7CA2 | ||
− | |$ | + | |$7DF8 |
|$10 | |$10 | ||
|- | |- | ||
Line 163: | Line 157: | ||
|GHZ platforms<br/>SLZ platforms<br/>SYZ platforms | |GHZ platforms<br/>SLZ platforms<br/>SYZ platforms | ||
|$7E32 | |$7E32 | ||
− | |$ | + | | |
+ | *$80FA (Unused) | ||
+ | *$813C (GHZ) | ||
+ | *$8188 (SYZ) | ||
+ | *$819A (SLZ) | ||
| | | | ||
*x0: Doesn't move | *x0: Doesn't move | ||
Line 182: | Line 180: | ||
|Blank object | |Blank object | ||
|$81A8 | |$81A8 | ||
− | | | + | |N/A |
| | | | ||
|- | |- | ||
|1A | |1A | ||
− | | | + | |Collapsing ledge from GHZ |
|$8210 | |$8210 | ||
− | |$ | + | |$85A0 |
| | | | ||
*$00 - Style 1 | *$00 - Style 1 | ||
Line 196: | Line 194: | ||
|Water surface from LZ | |Water surface from LZ | ||
|$110C6 | |$110C6 | ||
− | |$ | + | |$1116C |
| | | | ||
|- | |- | ||
|1C | |1C | ||
− | | | + | |Zone Scenery object |
|$87CA | |$87CA | ||
− | |$ | + | |$7934 |
| | | | ||
− | *$00 - Fireball launcher | + | *$00 - Fireball launcher (SLZ) |
− | *$03 - Bridge stump | + | *$03 - Bridge stump (GHZ) |
|- | |- | ||
|1D | |1D | ||
− | | | + | |Unused Switch object |
|$885E | |$885E | ||
− | |$ | + | |$891C |
| | | | ||
|- | |- | ||
Line 216: | Line 214: | ||
|Ballhog | |Ballhog | ||
|$8B4C | |$8B4C | ||
− | |$ | + | |$8E62 |
| | | | ||
|- | |- | ||
Line 222: | Line 220: | ||
|Crabmeat | |Crabmeat | ||
|$94F0 | |$94F0 | ||
− | |$ | + | |$9750 |
| | | | ||
|- | |- | ||
|20 | |20 | ||
− | | | + | |Cannonball that Ball Hog throws |
|$8C1C | |$8C1C | ||
− | | | + | |$8E62 |
| | | | ||
|- | |- | ||
Line 234: | Line 232: | ||
|SCORE, TIME, RINGS | |SCORE, TIME, RINGS | ||
|$1C548 | |$1C548 | ||
− | |$ | + | |$1C5B4 |
| | | | ||
|- | |- | ||
|22 | |22 | ||
− | |Buzz | + | |Buzz Bomber |
|$97DE | |$97DE | ||
− | |$ | + | |$9A36 |
| | | | ||
|- | |- | ||
Line 246: | Line 244: | ||
|Missile that Buzz Bomber throws | |Missile that Buzz Bomber throws | ||
|$9932 | |$9932 | ||
− | |$ | + | |$9B06 |
| | | | ||
|- | |- | ||
|24 | |24 | ||
− | | | + | |Buzz Bomber Missile's Dissolve Effect |
|$8CF2 | |$8CF2 | ||
− | |$ | + | |$8EA6 |
| | | | ||
|- | |- | ||
Line 258: | Line 256: | ||
|Ring | |Ring | ||
|$9B26 | |$9B26 | ||
− | |$ | + | |$9F92 |
| | | | ||
|- | |- | ||
Line 264: | Line 262: | ||
|Monitor | |Monitor | ||
|$A118 | |$A118 | ||
− | |$ | + | |$A58A |
| | | | ||
*$00 - Blank | *$00 - Blank | ||
Line 277: | Line 275: | ||
|- | |- | ||
|27 | |27 | ||
− | | | + | |Standard explosion |
|$8D62 | |$8D62 | ||
− | | | + | |$8EC6 |
| | | | ||
|- | |- | ||
Line 285: | Line 283: | ||
|Freed animals | |Freed animals | ||
|$8F22 | |$8F22 | ||
− | |$ | + | | |
+ | *$9466 (Rabbit & Penguin) | ||
+ | *$947E (Chicken, Seal & Flicky) | ||
+ | *$9496 (Pig & Squirrel) | ||
| | | | ||
|- | |- | ||
Line 291: | Line 292: | ||
|Points upon destroying | |Points upon destroying | ||
|$9412 | |$9412 | ||
− | |$ | + | |$94AE |
| | | | ||
|- | |- | ||
Line 297: | Line 298: | ||
|One way barrier from SBZ | |One way barrier from SBZ | ||
|$8934 | |$8934 | ||
− | |$ | + | |$89EC |
| | | | ||
|- | |- | ||
Line 303: | Line 304: | ||
|Chopper enemy | |Chopper enemy | ||
|$AB20 | |$AB20 | ||
− | |$ | + | |$ABCA |
| | | | ||
|- | |- | ||
Line 309: | Line 310: | ||
|Jaws enemy | |Jaws enemy | ||
|$ABDA | |$ABDA | ||
− | |$ | + | |$AC70 |
| | | | ||
|- | |- | ||
Line 315: | Line 316: | ||
|Burrobot enemy | |Burrobot enemy | ||
|$ACA4 | |$ACA4 | ||
− | |$ | + | |$AE5C |
| | | | ||
|- | |- | ||
Line 321: | Line 322: | ||
|Contents of monitor flying up from monitor being busted | |Contents of monitor flying up from monitor being busted | ||
|$A302 | |$A302 | ||
− | | | + | |$A58A |
| | | | ||
|- | |- | ||
Line 327: | Line 328: | ||
|Large platforms from MZ | |Large platforms from MZ | ||
|$AEB8 | |$AEB8 | ||
− | |$ | + | |$B2D4 |
| | | | ||
*$01 - Large oscillating platform | *$01 - Large oscillating platform | ||
Line 336: | Line 337: | ||
|Large glassy blocks from MZ | |Large glassy blocks from MZ | ||
|$B39E | |$B39E | ||
− | |$ | + | |$B5FA |
| | | | ||
*$01 - Oscillating block | *$01 - Oscillating block | ||
Line 345: | Line 346: | ||
|Metal stomping blocks on chains | |Metal stomping blocks on chains | ||
|$B67C | |$B67C | ||
− | |$ | + | |$BB4E |
| | | | ||
*$02, $12 - Large with spikes, short chain | *$02, $12 - Large with spikes, short chain | ||
Line 355: | Line 356: | ||
|Switch | |Switch | ||
|$BD2E | |$BD2E | ||
− | |$ | + | |$BEA4 |
| | | | ||
*$00-$0F: Switches 0-F | *$00-$0F: Switches 0-F | ||
Line 362: | Line 363: | ||
|Moveable block in MZ and LZ | |Moveable block in MZ and LZ | ||
|$BED2 | |$BED2 | ||
− | |$ | + | |$C2E6 |
| | | | ||
|- | |- | ||
Line 368: | Line 369: | ||
|Title card | |Title card | ||
|$C306 | |$C306 | ||
− | | | + | |$C9E6 |
| | | | ||
|- | |- | ||
Line 374: | Line 375: | ||
|Fireball that sits on the floor (MZ)<br/>(appears when you walk on sinking platforms) | |Fireball that sits on the floor (MZ)<br/>(appears when you walk on sinking platforms) | ||
|$B1DC | |$B1DC | ||
− | | | + | |$B36E |
| | | | ||
|- | |- | ||
Line 380: | Line 381: | ||
|Spikes | |Spikes | ||
|$CE28 | |$CE28 | ||
− | |$ | + | |$CFE8 |
|First nybble - mappings frame (0-5)<br /> | |First nybble - mappings frame (0-5)<br /> | ||
Second nybble - movement type: | Second nybble - movement type: | ||
Line 390: | Line 391: | ||
|Rings flying out from being hit | |Rings flying out from being hit | ||
|$9CB6 | |$9CB6 | ||
− | | | + | |$9F92 |
| | | | ||
|- | |- | ||
Line 396: | Line 397: | ||
|Shield and invincibility stars | |Shield and invincibility stars | ||
|$14158 | |$14158 | ||
− | |$ | + | |$143B2 |
| | | | ||
|- | |- | ||
Line 402: | Line 403: | ||
|"Game over"/"Time over" sprite | |"Game over"/"Time over" sprite | ||
|$C4B8 | |$C4B8 | ||
− | |$ | + | |$CBA4 |
| | | | ||
|- | |- | ||
Line 408: | Line 409: | ||
|End of level results screen | |End of level results screen | ||
|$C572 | |$C572 | ||
− | | | + | |$CBD8 |
| | | | ||
|- | |- | ||
Line 414: | Line 415: | ||
|GHZ purple rock | |GHZ purple rock | ||
|$D050 | |$D050 | ||
− | |$ | + | |$D10E |
| | | | ||
|- | |- | ||
Line 420: | Line 421: | ||
|Breakable walls in GHZ, SLZ | |Breakable walls in GHZ, SLZ | ||
|$D11C | |$D11C | ||
− | |$ | + | |$D2B6 |
| | | | ||
*$00 - Left edge | *$00 - Left edge | ||
Line 429: | Line 430: | ||
|Eggman (GHZ) | |Eggman (GHZ) | ||
|$17700 | |$17700 | ||
− | |$ | + | |$17D0C |
| | | | ||
|- | |- | ||
Line 435: | Line 436: | ||
|Egg prison | |Egg prison | ||
|$1AB22 | |$1AB22 | ||
− | |$ | + | |$1AD74 |
| | | | ||
|- | |- | ||
Line 441: | Line 442: | ||
|Large explosion | |Large explosion | ||
|$8DF6 | |$8DF6 | ||
− | | | + | |$8F0C |
| | | | ||
|- | |- | ||
Line 447: | Line 448: | ||
|Motobug | |Motobug | ||
|$F61A | |$F61A | ||
− | |$ | + | |$F7A0 |
| | | | ||
|- | |- | ||
Line 453: | Line 454: | ||
|Springs | |Springs | ||
|$DABE | |$DABE | ||
− | |$ | + | |$DD1A |
| | | | ||
*$00 - Red vertical spring | *$00 - Red vertical spring | ||
Line 463: | Line 464: | ||
|Newtron enemy (GHZ) | |Newtron enemy (GHZ) | ||
|$DD68 | |$DD68 | ||
− | |$ | + | |$D4F2 |
| | | | ||
*$00 - Flies along the ground | *$00 - Flies along the ground | ||
Line 471: | Line 472: | ||
|Roller enemy (SYZ) | |Roller enemy (SYZ) | ||
|$DFFA | |$DFFA | ||
− | |$ | + | |$E1A2 |
| | | | ||
|- | |- | ||
Line 477: | Line 478: | ||
|Wall barrier from GHZ | |Wall barrier from GHZ | ||
|$E1D4 | |$E1D4 | ||
− | |$ | + | |$E250 |
| | | | ||
*$00 - Type 1 (shading at top) | *$00 - Type 1 (shading at top) | ||
Line 486: | Line 487: | ||
|Spiked metal block from beta version (MZ) | |Spiked metal block from beta version (MZ) | ||
|$B99A | |$B99A | ||
− | |$ | + | |$BC5A |
| | | | ||
|- | |- | ||
Line 492: | Line 493: | ||
|Solid blocks and blocks that fall from the ceiling (MZ) | |Solid blocks and blocks that fall from the ceiling (MZ) | ||
|$E7D0 | |$E7D0 | ||
− | |$ | + | |$E904 |
| | | | ||
*$00 - Solid block | *$00 - Solid block | ||
Line 501: | Line 502: | ||
|Pinball bumper (SYZ) | |Pinball bumper (SYZ) | ||
|$E9D0 | |$E9D0 | ||
− | |$ | + | |$EB00 |
| | | | ||
|- | |- | ||
Line 507: | Line 508: | ||
|Swinging ball on a chain from GHZ boss | |Swinging ball on a chain from GHZ boss | ||
|$17AE4 | |$17AE4 | ||
− | |$ | + | |$17DD4 (Boss Item)<br/>$7C48 (Chain link)<br/>$81AA (Ball) |
| | | | ||
|- | |- | ||
Line 513: | Line 514: | ||
|Waterfall sound effect | |Waterfall sound effect | ||
|$D0BE | |$D0BE | ||
− | | | + | |N/A |
| | | | ||
|- | |- | ||
Line 519: | Line 520: | ||
|Special stage entry from beta | |Special stage entry from beta | ||
|$14254 | |$14254 | ||
− | |$ | + | |$1446C |
| | | | ||
|- | |- | ||
Line 525: | Line 526: | ||
|Giant ring | |Giant ring | ||
|$9E06 | |$9E06 | ||
− | |$ | + | |$9FD2 |
| | | | ||
|- | |- | ||
Line 531: | Line 532: | ||
|Lava geyser / lava that falls from the ceiling trigger (MZ) | |Lava geyser / lava that falls from the ceiling trigger (MZ) | ||
|$ED84 | |$ED84 | ||
− | |$ | + | |$F24A |
| | | | ||
*$01 - Falls from ceiling | *$01 - Falls from ceiling | ||
Line 539: | Line 540: | ||
|Lava geyser / lava that falls from ceiling | |Lava geyser / lava that falls from ceiling | ||
|$EE70 | |$EE70 | ||
− | | | + | |$F24A |
|Triggered by object $4C | |Triggered by object $4C | ||
|- | |- | ||
Line 545: | Line 546: | ||
|Advancing wall of lava (MZ) | |Advancing wall of lava (MZ) | ||
|$F05E | |$F05E | ||
− | |$ | + | |$F52E |
| | | | ||
|- | |- | ||
|4F | |4F | ||
|Blank object used for object $50 | |Blank object used for object $50 | ||
− | | | + | |??? |
− | | | + | |N/A |
| | | | ||
|- | |- | ||
Line 557: | Line 558: | ||
|Yadrin enemy (SYZ) | |Yadrin enemy (SYZ) | ||
|$F83A | |$F83A | ||
− | |$ | + | |$F92E |
| | | | ||
|- | |- | ||
Line 563: | Line 564: | ||
|Smashable green block (MZ) | |Smashable green block (MZ) | ||
|$FC92 | |$FC92 | ||
− | |$ | + | |$FDD4 |
| | | | ||
|- | |- | ||
Line 569: | Line 570: | ||
|Moving blocks (MZ, LZ, SBZ) | |Moving blocks (MZ, LZ, SBZ) | ||
|$FDF8 | |$FDF8 | ||
− | |$ | + | |$1004A (MZ & SBZ)<br/>$100A0 (LZ) |
| | | | ||
*$01 - MZ block that moves back and forth | *$01 - MZ block that moves back and forth | ||
Line 581: | Line 582: | ||
|Collapsing floors (MZ, SLZ, SBZ) | |Collapsing floors (MZ, SLZ, SBZ) | ||
|$8320 | |$8320 | ||
− | |$ | + | |$8746 |
| | | | ||
*$01 - MZ/SBZ collapsing blocks | *$01 - MZ/SBZ collapsing blocks | ||
Line 589: | Line 590: | ||
|Invisible lava tag (MZ) | |Invisible lava tag (MZ) | ||
|$F1B8 | |$F1B8 | ||
− | |$ | + | |$F210 |
| | | | ||
|- | |- | ||
Line 595: | Line 596: | ||
|Basaran enemy (MZ) | |Basaran enemy (MZ) | ||
|$100A8 | |$100A8 | ||
− | |$ | + | |$1023E |
| | | | ||
|- | |- | ||
Line 601: | Line 602: | ||
|Moving blocks (SYZ/SLZ/LZ) | |Moving blocks (SYZ/SLZ/LZ) | ||
|$10286 | |$10286 | ||
− | |$ | + | |$10700 |
| | | | ||
*$00 - SYZ Block | *$00 - SYZ Block | ||
Line 611: | Line 612: | ||
|Spiked ball on a chain | |Spiked ball on a chain | ||
|$10782 | |$10782 | ||
− | |$ | + | |$10956 (SYZ)<br/>$1095E (LZ) |
|Subparameters are set so the first half of the nybble sets the speed (lower is faster) and the second half determines the amount of links on the chain, starting with 2 at the 3 value. | |Subparameters are set so the first half of the nybble sets the speed (lower is faster) and the second half determines the amount of links on the chain, starting with 2 at the 3 value. | ||
|- | |- | ||
Line 617: | Line 618: | ||
|Spikeball | |Spikeball | ||
|$10976 | |$10976 | ||
− | | | + | |$10AA0 |
| | | | ||
*$01 - Moves side to side | *$01 - Moves side to side | ||
Line 626: | Line 627: | ||
|Raising platforms (SLZ) | |Raising platforms (SLZ) | ||
|$10AD2 | |$10AD2 | ||
− | |$ | + | |$10D48 |
| | | | ||
*$00 - Rises when stood on | *$00 - Rises when stood on | ||
Line 637: | Line 638: | ||
|Platforms that move in circles (SLZ) | |Platforms that move in circles (SLZ) | ||
|$10D5A | |$10D5A | ||
− | |$ | + | |$10E82 |
| | | | ||
*$00-03 - First through fourth platforms moving clockwise | *$00-03 - First through fourth platforms moving clockwise | ||
Line 645: | Line 646: | ||
|Blocks that form a staircase (SLZ) | |Blocks that form a staircase (SLZ) | ||
|$10E90 | |$10E90 | ||
− | |$ | + | |$1103C |
| | | | ||
*$00 - Regular staircase | *$00 - Regular staircase | ||
Line 653: | Line 654: | ||
|Metal girders in foreground (SLZ) | |Metal girders in foreground (SLZ) | ||
|$11044 | |$11044 | ||
− | |$ | + | |$11096 |
| | | | ||
|- | |- | ||
Line 659: | Line 660: | ||
|Fans (SLZ) | |Fans (SLZ) | ||
|$114FC | |$114FC | ||
− | |$ | + | |$11610 |
|$00-$02 | |$00-$02 | ||
|- | |- | ||
Line 665: | Line 666: | ||
|Seesaws (SLZ) | |Seesaws (SLZ) | ||
|$1163C | |$1163C | ||
− | |$ | + | |$119A4 (Seesaw)<br/>$119E6 (Spikeball) |
| | | | ||
|- | |- | ||
Line 671: | Line 672: | ||
|Walking bomb enemy (SLZ, SBZ) | |Walking bomb enemy (SLZ, SBZ) | ||
|$119F6 | |$119F6 | ||
− | |$ | + | |$11C28 |
| | | | ||
|- | |- | ||
Line 677: | Line 678: | ||
|Orbinaut enemy (LZ, SLZ, SBZ) | |Orbinaut enemy (LZ, SLZ, SBZ) | ||
|$11CCE | |$11CCE | ||
− | |$ | + | |$11EE4 |
| | | | ||
*$00 - Attacking type | *$00 - Attacking type | ||
Line 685: | Line 686: | ||
|Blocks (LZ) | |Blocks (LZ) | ||
|$11FD4 | |$11FD4 | ||
− | |$ | + | |$121C2 |
| | | | ||
*$01 - Block that falls when stood on | *$01 - Block that falls when stood on | ||
Line 695: | Line 696: | ||
|Gargoyle head (LZ) | |Gargoyle head (LZ) | ||
|$121E8 | |$121E8 | ||
− | |$ | + | |$12318 |
|$01-$04 | |$01-$04 | ||
|- | |- | ||
Line 701: | Line 702: | ||
|Platforms on a conveyor belt (LZ) | |Platforms on a conveyor belt (LZ) | ||
|$1233C | |$1233C | ||
− | |$ | + | |$1267C |
| | | | ||
*$7F - Conveyor belt wheels | *$7F - Conveyor belt wheels | ||
Line 709: | Line 710: | ||
|Bubbles (LZ) | |Bubbles (LZ) | ||
|$126A4 | |$126A4 | ||
− | |$ | + | |$129CC |
|$80-82 | |$80-82 | ||
|- | |- | ||
Line 715: | Line 716: | ||
|Waterfalls (LZ) | |Waterfalls (LZ) | ||
|$12A9E | |$12A9E | ||
− | |$ | + | |$12B54 |
| | | | ||
*$00, $07 - Vertical water | *$00, $07 - Vertical water | ||
Line 726: | Line 727: | ||
|Rotating disc that grabs Sonic (SBZ) | |Rotating disc that grabs Sonic (SBZ) | ||
|$1509A | |$1509A | ||
− | |$ | + | |$15292 |
| | | | ||
*$00-$03 - Changes direction when switches 0 through 3 are pressed | *$00-$03 - Changes direction when switches 0 through 3 are pressed | ||
Line 733: | Line 734: | ||
|Disc that you run around (SBZ)<br/>(Small object; actual disc is in level tiles) | |Disc that you run around (SBZ)<br/>(Small object; actual disc is in level tiles) | ||
|$154E2 | |$154E2 | ||
− | |$ | + | |$15686 |
|$40 | |$40 | ||
|- | |- | ||
|68 | |68 | ||
|Conveyor belts (SBZ)<br/>(Small object; actual belt is in level tiles) | |Conveyor belts (SBZ)<br/>(Small object; actual belt is in level tiles) | ||
− | | | + | |$1568E |
− | | | + | |N/A |
| | | | ||
*$20 - Belt going left | *$20 - Belt going left | ||
Line 747: | Line 748: | ||
|Spinning platforms and trapdoors (SBZ) | |Spinning platforms and trapdoors (SBZ) | ||
|$15730 | |$15730 | ||
− | |$ | + | |$158E0 (Trapdoor)<br/>$1593A (Spinning platform) |
| | | | ||
*$01, $02 - Trapdoor | *$01, $02 - Trapdoor | ||
Line 756: | Line 757: | ||
|Ground and ceiling saws (SBZ) | |Ground and ceiling saws (SBZ) | ||
|$1597C | |$1597C | ||
− | |$ | + | |$15B98 |
| | | | ||
*$01 - Ceiling saw, moves sideways | *$01 - Ceiling saw, moves sideways | ||
Line 765: | Line 766: | ||
|Stomper and platforms (SBZ) | |Stomper and platforms (SBZ) | ||
|$15C12 | |$15C12 | ||
− | |$ | + | |$15F68 |
| | | | ||
*$13, 24, 34 - Stomper | *$13, 24, 34 - Stomper | ||
Line 773: | Line 774: | ||
|Vanishing platforms (SBZ) | |Vanishing platforms (SBZ) | ||
|$15FF8 | |$15FF8 | ||
− | |$ | + | |$1612A |
|$00, $40, $80, $C0, $C6, $E6 | |$00, $40, $80, $C0, $C6, $E6 | ||
|- | |- | ||
|6D | |6D | ||
− | | | + | |Flamethrower (SBZ) |
|$E4E0 | |$E4E0 | ||
− | |$ | + | |$E5F4 |
|$43 | |$43 | ||
|- | |- | ||
Line 785: | Line 786: | ||
|Electrocution orbs (SBZ) | |Electrocution orbs (SBZ) | ||
|$16146 | |$16146 | ||
− | |$ | + | |$161E0 |
| | | | ||
*$02, $04, $06, $08 - Various speeds, lower is faster | *$02, $04, $06, $08 - Various speeds, lower is faster | ||
Line 792: | Line 793: | ||
|Spinning platforms that move around a conveyor belt (SBZ) | |Spinning platforms that move around a conveyor belt (SBZ) | ||
|$1626A | |$1626A | ||
− | | | + | |$1593A |
|$80-$85 | |$80-$85 | ||
|- | |- | ||
Line 798: | Line 799: | ||
|Large girder block (SBZ) | |Large girder block (SBZ) | ||
|$1652A | |$1652A | ||
− | |$ | + | |$16628 |
| | | | ||
|- | |- | ||
Line 804: | Line 805: | ||
|Invisible solid blocks | |Invisible solid blocks | ||
|$1141A | |$1141A | ||
− | |$ | + | |$114B6 |
|Various | |Various | ||
|- | |- | ||
Line 810: | Line 811: | ||
|Teleporter (SBZ) | |Teleporter (SBZ) | ||
|$16668 | |$16668 | ||
− | | | + | |N/A |
|$00-$08 | |$00-$08 | ||
|- | |- | ||
Line 816: | Line 817: | ||
|Eggman (MZ) | |Eggman (MZ) | ||
|$18230 | |$18230 | ||
− | | | + | |$17D0C (Eggman)<br/>$17DD4 (Boss Item) |
| | | | ||
|- | |- | ||
Line 822: | Line 823: | ||
|Lava that Eggman drops (MZ) | |Lava that Eggman drops (MZ) | ||
|$186A4 | |$186A4 | ||
− | | | + | |$B36E |
| | | | ||
|- | |- | ||
Line 828: | Line 829: | ||
|Eggman (SYZ) | |Eggman (SYZ) | ||
|$190EE | |$190EE | ||
− | | | + | |$17D0C (Eggman)<br/>$17DD4 (Boss Item) |
| | | | ||
|- | |- | ||
Line 834: | Line 835: | ||
|Blocks that Eggman picks up (SYZ) | |Blocks that Eggman picks up (SYZ) | ||
|$19692 | |$19692 | ||
− | |$ | + | |$197F8 |
| | | | ||
|- | |- | ||
Line 840: | Line 841: | ||
|Eggman (LZ) | |Eggman (LZ) | ||
|$17E36 | |$17E36 | ||
− | | | + | |$17D0C (Eggman) |
| | | | ||
|- | |- | ||
Line 846: | Line 847: | ||
|Caterkiller enemy (MZ, SBZ) | |Caterkiller enemy (MZ, SBZ) | ||
|$16934 | |$16934 | ||
− | |$ | + | |$16D6E |
| | | | ||
|- | |- | ||
Line 852: | Line 853: | ||
|Lamppost | |Lamppost | ||
|$16E2E | |$16E2E | ||
− | |$ | + | |$170F8 |
|$00-$09 - Posts 0 through 9 | |$00-$09 - Posts 0 through 9 | ||
|- | |- | ||
Line 858: | Line 859: | ||
|Eggman (SLZ) | |Eggman (SLZ) | ||
|$188B8 | |$188B8 | ||
− | | | + | |$17D0C (Eggman)<br/>$17DD4 (Boss Item) |
| | | | ||
|- | |- | ||
Line 864: | Line 865: | ||
|Exploding spikeys that the SLZ boss drops | |Exploding spikeys that the SLZ boss drops | ||
|$18CCE | |$18CCE | ||
− | |$ | + | |$190DE |
| | | | ||
|- | |- | ||
Line 870: | Line 871: | ||
|Giant Ring Flash Effect | |Giant Ring Flash Effect | ||
|$9ED6 | |$9ED6 | ||
− | |$ | + | |$A074 |
| | | | ||
|- | |- | ||
Line 876: | Line 877: | ||
|Hidden points at the end of a level | |Hidden points at the end of a level | ||
|$1715E | |$1715E | ||
− | |$ | + | |$17248 |
| | | | ||
*$01 - 1,000 points | *$01 - 1,000 points | ||
Line 885: | Line 886: | ||
|Special stage results screen | |Special stage results screen | ||
|$C7AE | |$C7AE | ||
− | | | + | |$CC9A |
| | | | ||
|- | |- | ||
Line 891: | Line 892: | ||
|Chaos Emeralds from the special stage results screen | |Chaos Emeralds from the special stage results screen | ||
|$C956 | |$C956 | ||
− | |$ | + | |$CDF4 |
| | | | ||
|- | |- | ||
Line 897: | Line 898: | ||
|Continue screen | |Continue screen | ||
|$4E42 | |$4E42 | ||
− | |$ | + | |$5056 |
| | | | ||
|- | |- | ||
Line 903: | Line 904: | ||
|Sonic on the continue screen | |Sonic on the continue screen | ||
|$4F5C | |$4F5C | ||
− | | | + | |$5056 |
| | | | ||
|- | |- | ||
Line 909: | Line 910: | ||
|Eggman (SBZ2) | |Eggman (SBZ2) | ||
|$19832 | |$19832 | ||
− | | | + | |$1AA56 (Eggman)<br/>$BEA4 (Button) |
| | | | ||
|- | |- | ||
Line 915: | Line 916: | ||
|Blocks that disintegrate when Eggman presses a switch | |Blocks that disintegrate when Eggman presses a switch | ||
|$19B60 | |$19B60 | ||
− | |$ | + | |$19D12 |
| | | | ||
|- | |- | ||
Line 921: | Line 922: | ||
|Cylinders Eggman hides in (FZ) | |Cylinders Eggman hides in (FZ) | ||
|$1A44E | |$1A44E | ||
− | |$ | + | |$1A676 |
| | | | ||
|- | |- | ||
Line 927: | Line 928: | ||
|Eggman (FZ) | |Eggman (FZ) | ||
|$19D58 | |$19D58 | ||
− | |$ | + | |$17D0C (Eggman)<br/>$19A34 (SBZ Eggman)<br/>$1A3DA (Damaged Eggmobile)<br/>$1A41C (Eggmobile Legs)<br/>$1A676 (Cylinder) |
| | | | ||
|- | |- | ||
Line 933: | Line 934: | ||
|Energy balls/launcher (FZ) | |Energy balls/launcher (FZ) | ||
|$1A7DA | |$1A7DA | ||
− | |$ | + | |$1AA56 (Launcher)<br/>$1AAA6 (Plasma Ball) |
| | | | ||
|- | |- | ||
Line 939: | Line 940: | ||
|Sonic on the ending sequence | |Sonic on the ending sequence | ||
|$53E2 | |$53E2 | ||
− | |$ | + | |$5680 |
| | | | ||
|- | |- | ||
Line 945: | Line 946: | ||
|Chaos Emeralds on the ending sequence | |Chaos Emeralds on the ending sequence | ||
|$553C | |$553C | ||
− | |$ | + | |$577A |
| | | | ||
|- | |- | ||
Line 951: | Line 952: | ||
|"SONIC THE HEDGEHOG" text on the ending sequence | |"SONIC THE HEDGEHOG" text on the ending sequence | ||
|$5616 | |$5616 | ||
− | |$ | + | |$57B2 |
| | | | ||
|- | |- | ||
Line 957: | Line 958: | ||
|"SONIC TEAM PRESENTS" and credits | |"SONIC TEAM PRESENTS" and credits | ||
|$17264 | |$17264 | ||
− | |$ | + | |$172E2 |
| | | | ||
|- | |- | ||
Line 969: | Line 970: | ||
|Chaos Emeralds on the "TRY AGAIN" screen | |Chaos Emeralds on the "TRY AGAIN" screen | ||
|$5AC2 | |$5AC2 | ||
− | | | + | |$577A |
| | | | ||
|} | |} | ||
+ | ==Dynamic pattern load cues== | ||
+ | In Sonic 1, DPLCs are utilized exclusively for Sonic's sprite. Nevertheless, an understanding of the format is useful to have. | ||
+ | |||
+ | The format starts out with relative pointers that are one word in length and stored with a big-endian byte order. | ||
+ | These pointers point to data signifying what to load and how much to load. | ||
+ | The format for this is: | ||
− | ==Mappings | + | The first byte contains a count of how many entries there. Each entry follows this format: |
+ | |||
+ | One word is stored and is divided up into nybbles where the highest nybble stores how many tiles are to be loaded minus one. | ||
+ | |||
+ | The next three nybbles store the offset relative to the beginning of the tileset in tiles meaning to get an offset in bytes you will have to multiply this value by 32 (or shift to the left by 5). | ||
+ | |||
+ | ==Mappings editing== | ||
Each mapping is 5 bytes long, taking the form TTTT TTTT 0000 WWHH PCCY XAAA AAAA AAAA LLLL LLLL. | Each mapping is 5 bytes long, taking the form TTTT TTTT 0000 WWHH PCCY XAAA AAAA AAAA LLLL LLLL. | ||
Line 987: | Line 1,000: | ||
The VRAM offset specified in an object's SST will be added to the PCCY XAAA AAAA AAAA word. | The VRAM offset specified in an object's SST will be added to the PCCY XAAA AAAA AAAA word. | ||
+ | |||
+ | ==References== | ||
+ | <references /> | ||
{{SCHGuides}} | {{SCHGuides}} | ||
− |
Latest revision as of 11:31, 16 July 2020
SCHG: Sonic the Hedgehog |
---|
|
Object Pointer list
This is the pointer list for every object in Sonic 1, including all zone objects, unused objects, etc. The offsets for the code and mappings are based on where they are found in a clean HG disassembly. These offsets may change even in a clean disassembly, however, due to the Revision variable. Changing this to either the REV 00 or REV JP1 version can result in slightly different offsets for the code, and mappings. The offsets shown on this table reflect the REV 00 version.
NOTE: Code offsets were originally taken from the Nemesis guides, and do not all appear to be accurate. Object pointers are currently in a process of being checked and verified. Mappings offsets are currently 100% accurate, and reflect the point in the ROM where the mapping pointers start, rather than where the code for the pieces themselves start. This is also analogous to the data found in RAM at an objects obMap OST byte.
ID # | Description | Code | Mappings | Subparameters |
---|---|---|---|---|
01 | Sonic | $12BD8 | $211E2 | |
02 | ???? | $D5B2 | N/A | All of these point to ObjectFall, the subroutine directly after the object table; apparently a label for a null object was made but code was never added. |
03 | ???? | $D5B2 | N/A | |
04 | ???? | $D5B2 | N/A | |
05 | ???? | $D5B2 | N/A | |
06 | ???? | $D5B2 | N/A | |
07 | ???? | $D5B2 | N/A | |
08 | LZ water splash | $142F0 | $145CC | |
09 | Sonic in Special Stage | $1B984 | $211E2 | |
0A | Drowning countdown numbers | $13C98 | $129CC | |
0B | LZ vertical pole | $11206 | $11322 |
|
0C | LZ Flapping doors | $11346 | $113F2 | $0x - Door flaps open/shut in xx seconds. |
0D | End of level signpost | $EB28 | $ED38 | |
0E | Sonic on the title screen | $A61C | $A888 | |
0F | "PRESS START BUTTON" and "TM" from title screen | $A69C | $A7C4 | |
10 | Blank object | $1C022 | N/A | |
11 | GHZ Bridge | $7328 | $7934 | Subtype dictates # of logs |
12 | Spinning light behind glass from SYZ | $E90C | $E982 | |
13 | Fireball Maker (MZ/SLZ) | $E296 | N/A | Subtype determines # of frames a fireball is spawned (30, 60, 90, 120, 150, 180) |
14 | Fireball from MZ/SLZ | $E304 | $B36E |
|
15 | GHZ and MZ swinging platforms Spiked ball on a chain (SBZ) SLZ swinging platforms |
$7952 |
|
|
16 | Spear from LZ | $11F04 | $11F9A |
|
17 | Helix of spikes on a pole from GHZ | $7CA2 | $7DF8 | $10 |
18 | GHZ platforms SLZ platforms SYZ platforms |
$7E32 |
|
|
19 | Blank object | $81A8 | N/A | |
1A | Collapsing ledge from GHZ | $8210 | $85A0 |
|
1B | Water surface from LZ | $110C6 | $1116C | |
1C | Zone Scenery object | $87CA | $7934 |
|
1D | Unused Switch object | $885E | $891C | |
1E | Ballhog | $8B4C | $8E62 | |
1F | Crabmeat | $94F0 | $9750 | |
20 | Cannonball that Ball Hog throws | $8C1C | $8E62 | |
21 | SCORE, TIME, RINGS | $1C548 | $1C5B4 | |
22 | Buzz Bomber | $97DE | $9A36 | |
23 | Missile that Buzz Bomber throws | $9932 | $9B06 | |
24 | Buzz Bomber Missile's Dissolve Effect | $8CF2 | $8EA6 | |
25 | Ring | $9B26 | $9F92 | |
26 | Monitor | $A118 | $A58A |
|
27 | Standard explosion | $8D62 | $8EC6 | |
28 | Freed animals | $8F22 |
|
|
29 | Points upon destroying | $9412 | $94AE | |
2A | One way barrier from SBZ | $8934 | $89EC | |
2B | Chopper enemy | $AB20 | $ABCA | |
2C | Jaws enemy | $ABDA | $AC70 | |
2D | Burrobot enemy | $ACA4 | $AE5C | |
2E | Contents of monitor flying up from monitor being busted | $A302 | $A58A | |
2F | Large platforms from MZ | $AEB8 | $B2D4 |
|
30 | Large glassy blocks from MZ | $B39E | $B5FA |
|
31 | Metal stomping blocks on chains | $B67C | $BB4E |
|
32 | Switch | $BD2E | $BEA4 |
|
33 | Moveable block in MZ and LZ | $BED2 | $C2E6 | |
34 | Title card | $C306 | $C9E6 | |
35 | Fireball that sits on the floor (MZ) (appears when you walk on sinking platforms) |
$B1DC | $B36E | |
36 | Spikes | $CE28 | $CFE8 | First nybble - mappings frame (0-5) Second nybble - movement type:
|
37 | Rings flying out from being hit | $9CB6 | $9F92 | |
38 | Shield and invincibility stars | $14158 | $143B2 | |
39 | "Game over"/"Time over" sprite | $C4B8 | $CBA4 | |
3A | End of level results screen | $C572 | $CBD8 | |
3B | GHZ purple rock | $D050 | $D10E | |
3C | Breakable walls in GHZ, SLZ | $D11C | $D2B6 |
|
3D | Eggman (GHZ) | $17700 | $17D0C | |
3E | Egg prison | $1AB22 | $1AD74 | |
3F | Large explosion | $8DF6 | $8F0C | |
40 | Motobug | $F61A | $F7A0 | |
41 | Springs | $DABE | $DD1A |
|
42 | Newtron enemy (GHZ) | $DD68 | $D4F2 |
|
43 | Roller enemy (SYZ) | $DFFA | $E1A2 | |
44 | Wall barrier from GHZ | $E1D4 | $E250 |
|
45 | Spiked metal block from beta version (MZ) | $B99A | $BC5A | |
46 | Solid blocks and blocks that fall from the ceiling (MZ) | $E7D0 | $E904 |
|
47 | Pinball bumper (SYZ) | $E9D0 | $EB00 | |
48 | Swinging ball on a chain from GHZ boss | $17AE4 | $17DD4 (Boss Item) $7C48 (Chain link) $81AA (Ball) |
|
49 | Waterfall sound effect | $D0BE | N/A | |
4A | Special stage entry from beta | $14254 | $1446C | |
4B | Giant ring | $9E06 | $9FD2 | |
4C | Lava geyser / lava that falls from the ceiling trigger (MZ) | $ED84 | $F24A |
|
4D | Lava geyser / lava that falls from ceiling | $EE70 | $F24A | Triggered by object $4C |
4E | Advancing wall of lava (MZ) | $F05E | $F52E | |
4F | Blank object used for object $50 | ??? | N/A | |
50 | Yadrin enemy (SYZ) | $F83A | $F92E | |
51 | Smashable green block (MZ) | $FC92 | $FDD4 | |
52 | Moving blocks (MZ, LZ, SBZ) | $FDF8 | $1004A (MZ & SBZ) $100A0 (LZ) |
|
53 | Collapsing floors (MZ, SLZ, SBZ) | $8320 | $8746 |
|
54 | Invisible lava tag (MZ) | $F1B8 | $F210 | |
55 | Basaran enemy (MZ) | $100A8 | $1023E | |
56 | Moving blocks (SYZ/SLZ/LZ) | $10286 | $10700 |
|
57 | Spiked ball on a chain | $10782 | $10956 (SYZ) $1095E (LZ) |
Subparameters are set so the first half of the nybble sets the speed (lower is faster) and the second half determines the amount of links on the chain, starting with 2 at the 3 value. |
58 | Spikeball | $10976 | $10AA0 |
|
59 | Raising platforms (SLZ) | $10AD2 | $10D48 |
|
5A | Platforms that move in circles (SLZ) | $10D5A | $10E82 |
|
5B | Blocks that form a staircase (SLZ) | $10E90 | $1103C |
|
5C | Metal girders in foreground (SLZ) | $11044 | $11096 | |
5D | Fans (SLZ) | $114FC | $11610 | $00-$02 |
5E | Seesaws (SLZ) | $1163C | $119A4 (Seesaw) $119E6 (Spikeball) |
|
5F | Walking bomb enemy (SLZ, SBZ) | $119F6 | $11C28 | |
60 | Orbinaut enemy (LZ, SLZ, SBZ) | $11CCE | $11EE4 |
|
61 | Blocks (LZ) | $11FD4 | $121C2 |
|
62 | Gargoyle head (LZ) | $121E8 | $12318 | $01-$04 |
63 | Platforms on a conveyor belt (LZ) | $1233C | $1267C |
|
64 | Bubbles (LZ) | $126A4 | $129CC | $80-82 |
65 | Waterfalls (LZ) | $12A9E | $12B54 |
|
66 | Rotating disc that grabs Sonic (SBZ) | $1509A | $15292 |
|
67 | Disc that you run around (SBZ) (Small object; actual disc is in level tiles) |
$154E2 | $15686 | $40 |
68 | Conveyor belts (SBZ) (Small object; actual belt is in level tiles) |
$1568E | N/A |
|
69 | Spinning platforms and trapdoors (SBZ) | $15730 | $158E0 (Trapdoor) $1593A (Spinning platform) |
|
6A | Ground and ceiling saws (SBZ) | $1597C | $15B98 |
|
6B | Stomper and platforms (SBZ) | $15C12 | $15F68 |
|
6C | Vanishing platforms (SBZ) | $15FF8 | $1612A | $00, $40, $80, $C0, $C6, $E6 |
6D | Flamethrower (SBZ) | $E4E0 | $E5F4 | $43 |
6E | Electrocution orbs (SBZ) | $16146 | $161E0 |
|
6F | Spinning platforms that move around a conveyor belt (SBZ) | $1626A | $1593A | $80-$85 |
70 | Large girder block (SBZ) | $1652A | $16628 | |
71 | Invisible solid blocks | $1141A | $114B6 | Various |
72 | Teleporter (SBZ) | $16668 | N/A | $00-$08 |
73 | Eggman (MZ) | $18230 | $17D0C (Eggman) $17DD4 (Boss Item) |
|
74 | Lava that Eggman drops (MZ) | $186A4 | $B36E | |
75 | Eggman (SYZ) | $190EE | $17D0C (Eggman) $17DD4 (Boss Item) |
|
76 | Blocks that Eggman picks up (SYZ) | $19692 | $197F8 | |
77 | Eggman (LZ) | $17E36 | $17D0C (Eggman) | |
78 | Caterkiller enemy (MZ, SBZ) | $16934 | $16D6E | |
79 | Lamppost | $16E2E | $170F8 | $00-$09 - Posts 0 through 9 |
7A | Eggman (SLZ) | $188B8 | $17D0C (Eggman) $17DD4 (Boss Item) |
|
7B | Exploding spikeys that the SLZ boss drops | $18CCE | $190DE | |
7C | Giant Ring Flash Effect | $9ED6 | $A074 | |
7D | Hidden points at the end of a level | $1715E | $17248 |
|
7E | Special stage results screen | $C7AE | $CC9A | |
7F | Chaos Emeralds from the special stage results screen | $C956 | $CDF4 | |
80 | Continue screen | $4E42 | $5056 | |
81 | Sonic on the continue screen | $4F5C | $5056 | |
82 | Eggman (SBZ2) | $19832 | $1AA56 (Eggman) $BEA4 (Button) |
|
83 | Blocks that disintegrate when Eggman presses a switch | $19B60 | $19D12 | |
84 | Cylinders Eggman hides in (FZ) | $1A44E | $1A676 | |
85 | Eggman (FZ) | $19D58 | $17D0C (Eggman) $19A34 (SBZ Eggman) $1A3DA (Damaged Eggmobile) $1A41C (Eggmobile Legs) $1A676 (Cylinder) |
|
86 | Energy balls/launcher (FZ) | $1A7DA | $1AA56 (Launcher) $1AAA6 (Plasma Ball) |
|
87 | Sonic on the ending sequence | $53E2 | $5680 | |
88 | Chaos Emeralds on the ending sequence | $553C | $577A | |
89 | "SONIC THE HEDGEHOG" text on the ending sequence | $5616 | $57B2 | |
8A | "SONIC TEAM PRESENTS" and credits | $17264 | $172E2 | |
8B | Robotnik on the "TRY AGAIN" and "END" screens | $59E2 | $5BCC | |
8C | Chaos Emeralds on the "TRY AGAIN" screen | $5AC2 | $577A |
Dynamic pattern load cues
In Sonic 1, DPLCs are utilized exclusively for Sonic's sprite. Nevertheless, an understanding of the format is useful to have.
The format starts out with relative pointers that are one word in length and stored with a big-endian byte order. These pointers point to data signifying what to load and how much to load. The format for this is:
The first byte contains a count of how many entries there. Each entry follows this format:
One word is stored and is divided up into nybbles where the highest nybble stores how many tiles are to be loaded minus one.
The next three nybbles store the offset relative to the beginning of the tileset in tiles meaning to get an offset in bytes you will have to multiply this value by 32 (or shift to the left by 5).
Mappings editing
Each mapping is 5 bytes long, taking the form TTTT TTTT 0000 WWHH PCCY XAAA AAAA AAAA LLLL LLLL.
- LLLL LLLL is the left co-ordinate of where the mapping appears.
- TTTT TTTT is the top co-ordinate of where the mapping appears.
- WW is the width of the mapping, in tiles minus one. So 0 means 8 pixels wide, 1 means 16 pixels wide, 2 means 24 pixels wide and 3 means 32 pixels wide.
- HH is the height of the mapping, in the same format as the width.
- P is the priority-flag. If P is set, the mapping will appear above everything else.
- CC is the palette line.
- X is the x-flip-flag. If X is set, the mapping will be flipped horizontally.
- Y is the y-flip-flag. If Y is set, the mapping will be flipped vertically.
- AAA AAAA AAAA is the tile index.
The VRAM offset specified in an object's SST will be added to the PCCY XAAA AAAA AAAA word.
References