|
|
Line 1: |
Line 1: |
− | [http://wc1.worldcrossing.com/WebX/.1de609dd free alltel ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=222 sharp ringtones] [http://wc1.worldcrossing.com/WebX/.1de60a28 soma online] [http://wc1.worldcrossing.com/WebX/.1de60a1a free mtv ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=109&forum=13 levitra online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=127&forum=13 pharmacy online online] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=361 free real ringtones] [http://wc1.worldcrossing.com/WebX/.1de609df ambien online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=98&forum=13 diethylpropion online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=158&forum=13 cheap xanax] [http://news.engin.brown.edu/forums/thread-view.asp?tid=172 online lorazepam] [http://wc1.worldcrossing.com/WebX/.1de609ff real ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=220 free punk ringtones] [http://wc1.worldcrossing.com/WebX/.1de609dc albuterol online] [http://wc1.worldcrossing.com/WebX/.1de60a2e xanax online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=156 online fioricet] [http://wc1.worldcrossing.com/WebX/.1de60a10 cheap didrex] [http://wc1.worldcrossing.com/WebX/.1de60a35 free verizon ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=176 ultracet online] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=356 free tracfone ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=92&forum=13 clomid online] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=344 ativan online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=155 xanax online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=178 buy nexium] [http://wc1.worldcrossing.com/WebX/.1de60a04 free sonyericsson ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=182 cheap clomid] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=82&forum=13 cheap adipex] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=343 cialis] [http://news.engin.brown.edu/forums/thread-view.asp?tid=170 hydrocodone online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=169 levitra online] [http://wc1.worldcrossing.com/WebX/.1de609f3 free midi ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=111&forum=13 order lisinopril] [http://news.engin.brown.edu/forums/thread-view.asp?tid=224 wwe ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=153 cheap phentermine] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=147&forum=13 tracfone ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=181 sildenafil online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=212 free verizon ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=223 free midi ringtones] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=335 phentermine online] [http://wc1.worldcrossing.com/WebX/.1de60a00 cheap rivotril] [http://wc1.worldcrossing.com/WebX/.1de60a0a vicodin] [http://news.engin.brown.edu/forums/thread-view.asp?tid=187 cheap celexa] [http://wc1.worldcrossing.com/WebX/.1de609eb free funny ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=197 flexeril online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=105&forum=13 hoodia online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=188 tenuate online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=180 buy prozac] [http://wc1.worldcrossing.com/WebX/.1de60a05 free sprint ringtones] [http://wc1.worldcrossing.com/WebX/.1de609f9 norco online] [http://wc1.worldcrossing.com/WebX/.1de609f2 meridia online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=145&forum=13 free sprint ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=96&forum=13 diazepam online] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=338 fioricet] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=358 free mp3 ringtones] [http://wc1.worldcrossing.com/WebX/.1de60a21 buy paxil] [http://wc1.worldcrossing.com/WebX/.1de60a31 buy zanaflex] [http://wc1.worldcrossing.com/WebX/.1de609de but alprazolam] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=141&forum=13 soma online] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=342 cheap diazepam] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=157&forum=13 wwe ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=161&forum=13 but zoloft] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=112&forum=13 buy lorazepam] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=124&forum=13 norco] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=355 free free ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=88&forum=13 carisoprodol online] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=360 free qwest ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=167 cheap clonazepam] [http://wc1.worldcrossing.com/WebX/.1de60a0e celexa online] [http://wc1.worldcrossing.com/WebX/.1de609e4 cheap clonazepam] [http://wc1.worldcrossing.com/WebX/.1de60a17 buy lipitor] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=123&forum=13 free nokia ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=184 lisinopril online] [http://wc1.worldcrossing.com/WebX/.1de60a24 propecia online] [http://wc1.worldcrossing.com/WebX/.1de609f8 free nokia ringtones] [http://wc1.worldcrossing.com/WebX/.1de609fd free punk ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=154 carisoprodol online] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=339 ultram online] [http://wc1.worldcrossing.com/WebX/.1de60a34 sony ericsson ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=202 free tracfone ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=199 cheap zyban] [http://news.engin.brown.edu/forums/thread-view.asp?tid=198 cheap hoodia] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=332 cheap tramadol] [http://wc1.worldcrossing.com/WebX/.1de60a1d cingular ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=107&forum=13 jazz ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=219 free alltel ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=101&forum=13 flexeril] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=359 nextel ringtones] [http://wc1.worldcrossing.com/WebX/.1de60a15 kyocera ringtones] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=363 free samsung ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=117&forum=13 motorola ringtones] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=346 cheap meridia] [http://wc1.worldcrossing.com/WebX/.1de60a30 cheap xenical] [http://wc1.worldcrossing.com/WebX/.1de60a03 free sony ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=168 cheap paxil] [http://wc1.worldcrossing.com/WebX/.1de60a01 free sagem ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=160 ativan online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=136&forum=13 cheap rivotril] [http://wc1.worldcrossing.com/WebX/.1de609fb ortho online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=89&forum=13 celexa online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=139&forum=13 sharp ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=163 adipex online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=125&forum=13 ortho online] [http://wc1.worldcrossing.com/WebX/.1de609ee but hydrocodone] [http://news.engin.brown.edu/forums/thread-view.asp?tid=177 propecia online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=91&forum=13 cingular ringtones] [http://wc1.worldcrossing.com/WebX/.1de609f7 free nextel ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=215 free sagem ringtones] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=347 adipex] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=132&forum=13 punk ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=97&forum=13 didrex online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=144&forum=13 free sonyericsson ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=179 didrex online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=158 diazepam online] [http://wc1.worldcrossing.com/WebX/.1de60a25 samsung ringtones] [http://wc1.worldcrossing.com/WebX/.1de60a26 free sharp ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=162 meridia online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=217 free mono ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=152 cheap valium] [http://wc1.worldcrossing.com/WebX/.1de609ec hgh online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=205 nextel ringtones] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=357 free funny ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=191 lortab online] [http://wc1.worldcrossing.com/WebX/.1de60a2b but ultracet] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=153&forum=13 viagra online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=183 albuterol] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=349 cheap vicodin] [http://wc1.worldcrossing.com/WebX/.1de60a18 free motorola ringtones] [http://wc1.worldcrossing.com/WebX/.1de609f0 cheap lorazepam] [http://wc1.worldcrossing.com/WebX/.1de60a12 ericsson ringtones] [http://wc1.worldcrossing.com/WebX/.1de60a19 free mp3 ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=216 sonyericsson ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=161 cheap viagra] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=95&forum=13 cyclobenzaprine online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=192 vigrx] [http://wc1.worldcrossing.com/WebX/.1de60a0d wwe ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=185 cheap zoloft] [http://wc1.worldcrossing.com/WebX/.1de609e3 cheap clomid] [http://wc1.worldcrossing.com/WebX/.1de60a13 fioricet online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=138&forum=13 free samsung ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=83&forum=13 albuterol online] [http://wc1.worldcrossing.com/WebX/.1de60a29 buy tramadol] [http://news.engin.brown.edu/forums/thread-view.asp?tid=173 xenical online] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=350 online alprazolam] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=93&forum=13 cheap clonazepam] [http://news.engin.brown.edu/forums/thread-view.asp?tid=204 free mp3 ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=164 order norco] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=337 online xanax] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=119&forum=13 free mtv ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=206 qwest ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=151&forum=13 valium] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=140&forum=13 sildenafil online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=162&forum=13 zyban online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=166 alprazolam online] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=353 levitra] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=333 soma online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=189 ortho online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=159&forum=13 xenical online] [http://wc1.worldcrossing.com/WebX/.1de60a36 zyban online] [http://wc1.worldcrossing.com/WebX/.1de60a23 polyphonic ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=208 motorola ringtones] [http://wc1.worldcrossing.com/WebX/.1de60a1f cheap lisinopril] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=137&forum=13 sagem ringtones] [http://wc1.worldcrossing.com/WebX/.1de60a1b free music ringtones] [http://wc1.worldcrossing.com/WebX/.1de609e0 ativan online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=229 free jazz ringtones] [http://wc1.worldcrossing.com/WebX/.1de609e5 cool ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=99&forum=13 ericsson ringtones] [http://wc1.worldcrossing.com/WebX/.1de60a07 tracfone ringtones] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=348 norco] [http://wc1.worldcrossing.com/WebX/.1de60a09 cheap viagra] [http://news.engin.brown.edu/forums/thread-view.asp?tid=218 free sony ericsson ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=121&forum=13 cheap nexium] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=126&forum=13 paxil online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=94&forum=13 free cool ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=154&forum=13 vicodin online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=108&forum=13 kyocera ringtones] [http://wc1.worldcrossing.com/WebX/.1de60a14 jazz ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=210 free sprint ringtones] [http://wc1.worldcrossing.com/WebX/.1de60a0f cialis online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=175 cyclobenzaprine online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=200 nokia ringtones] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=352 paxil online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=110&forum=13 lipitor online] [http://wc1.worldcrossing.com/WebX/.1de609e6 cyclobenzaprine online] [http://wc1.worldcrossing.com/WebX/.1de60a33 prozac online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=157 ultram online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=190 cheap pharmacy online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=195 cheap rivotril] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=143&forum=13 free sony ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=100&forum=13 buy fioricet] [http://wc1.worldcrossing.com/WebX/.1de60a06 tenuate online] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=345 cheap viagra] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=135&forum=13 real ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=193 buy zanaflex] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=115&forum=13 free midi ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=87&forum=13 cheap ativan] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=351 clonazepam online] [http://wc1.worldcrossing.com/WebX/.1de60a11 diethylpropion online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=152&forum=13 verizon ringtones] [http://wc1.worldcrossing.com/WebX/.1de609ea free ringtones] {{stub}}
| + | {{stub}} |
| [[Sonic Community Hacking Guide|Back to SCHG main page]] | | [[Sonic Community Hacking Guide|Back to SCHG main page]] |
| | | |
Revision as of 02:58, 7 July 2007
|
This short article is in need of work. You can help Sonic Retro by adding to it.
|
Back to SCHG main page
ROM Hacking
Art Editing
There are several different tools that can be used to edit art besides the hex editor. SonED is probably the best tool to use for editing level art, and can also be used on palettes. HivePal is also a great tool for editing palettes. Sonik Sprite is useful for editing uncompressed art; it gets its name from its ability to edit Sonic's sprites. LOst Library is most likely the best choice for editing compressed art in the Nemesis format.
If, however, you still want to do it yourself, your best bet is to download the Sonic 1 Split disassembly. Decompress the archive into a new folder, and place your S1 ROM, in binary format and named "S1.bin", in that folder. Run the batch file "split.bat". This will split up all the art into its own binary files, which you can then decompress and edit. When you're done, run "combine.bat".
Uncompressed Art Locations
Most of this information was taken from Nemesis's guide. Please excuse any mistakes or misunderstandings, as that guide wasn't exactly well-written. A description is written in parentheses after the original name if I deem it necessary; if I don't know what it is, "Unknown" appears in that place. Please correct this if you know. It doesn't list the number of blocks taken up, so if you know, put it in. Otherwise, I'll find out eventually.
Uncompressed Art Locations
Offset |
Description |
# of blocks
|
Zone Independent
|
$1CADA
|
Numbers used on counters in game
|
?
|
$21AFE
|
Sonic
|
?
|
$6A324
|
Giant Ring
|
?
|
Green Hill Zone
|
$66AD6
|
Waterfall tiles
|
?
|
$66CD6
|
Flower with pointy petals
|
?
|
$670D6
|
Flower with curved petals
|
?
|
Marble Zone
|
$6755A
|
Lava surface
|
?
|
$67836
|
Lava
|
?
|
$67E56
|
Flame torch against stone
|
?
|
Scrap Brain Zone
|
$68156
|
Steam in background
|
?
|
Compressed Art Locations - Nemesis
See SCHG:Sonic the Hedgehog/Nemesis Compressed Art.
- $3DCF2 - GHZ main level patterns
- $414D4 - LZ main level patterns
- $46016 - MZ main level patterns
- $4A7FE - SLZ main level patterns
- $510F0 - SYZ main level patterns
- $57A66 - SBZ main level patterns
Palette Locations
Usually, it's not really necessary to edit a palette in hex. Palette editors give you instant feedback for each RGB value, and the palette can be easily saved as a separate binary and reimported into the ROM. However, it is sometimes desireable or necessary to do it in hex, and it can't hurt to know how it's done.
These are the ROM offsets of the palettes in Sonic 1, as listed by HivePal:
Name |
Offset
|
Sega Logo (Background)
|
$2208
|
Sega Logo (SEGA)
|
$20C0
|
Title Screen
|
$2288
|
Title Screen - Water Cycle
|
$1B66
|
Level Select
|
$2308
|
Sonic
|
$2388
|
Green Hill
|
$23A8
|
Green Hill - Water Cycle
|
$1B86
|
Labyrinth
|
$2408
|
Labyrinth - Sonic Underwater
|
$2828
|
Labyrinth - Sonic Underwater (Alt)
|
$2468
|
Labyrinth - Underwater
|
$2488
|
Labyrinth - Water Cycle
|
$1BA6
|
Labyrinth - Conveyor Cycle
|
$1BC6
|
Labyrinth - Conveyor Cycle Underwater
|
$1BD8
|
Marble
|
$24E8
|
Star Light
|
$2548
|
Star Light lights
|
$1C52
|
Spring Yard
|
$25A8
|
Spring Yard - Cycle 1
|
$1C76
|
Spring Yard - Cycle 2
|
$1C96
|
Scrap Brain Act 1
|
$2608
|
Scrap Brain Act 2/Final
|
$2668
|
Scrap Brain Act 3
|
$2748
|
Scrap Brain Act 3 - Sonic Underwater
|
$2848
|
Scrap Brain Act 3 - Sonic Underwater (Alt)
|
$27A8
|
Scrap Brain Act 3 - Underwater
|
$27C8
|
Scrap Brain Act 1/Act 2 - Cycle 1
|
$1D0A
|
Scrap Brain Act 1/Act 2 - Cycle 2
|
$1D1A
|
Scrap Brain Act 1/Act 2 - Cycle 3
|
$1D2A
|
Scrap Brain Act 1/Act 2 - Cycle 4
|
$1D3A
|
Scrap Brain Act 1/Act 2 - Cycle 5
|
$1D46
|
Scrap Brain Act 1/Act 2 - Cycle 6
|
$1D56
|
Scrap Brain Act 1/Act 2 - Cycle 7
|
$1D66
|
Scrap Brain Act 1/Act 2 - Cycle 8
|
$1D86
|
Scrap Brain Act 2 - Cycle 1
|
$1D90
|
Scrap Brain Act 2 - Cycle 2
|
$1DA0
|
Scrap Brain Act 3 - Water Cycle
|
$1BEA
|
Special Stage - Sonic
|
$26C8
|
Special Stage No. 1
|
$26E8
|
Special Stage No. 2
|
$2708
|
Special Stage No. 3
|
$2728
|
Special Stage Title Card
|
$2868
|
Special Stage Cycle 1
|
$4ACA
|
Special Stage Cycle 2
|
$4B12
|
Special Stage Cycle 3
|
$4B92
|
Continue - Sonic
|
$28E8
|
Continue
|
$2908
|
Ending - Sonic
|
$2928
|
Ending
|
$2948
|
Object Editing
Object Pointer List
ID #
|
Description
|
Code
|
Mappings
|
Subparameters
|
01
|
Sonic
|
$12BD8
|
??
|
|
02
|
????
|
$D5B2
|
??
|
|
03
|
????
|
$D5B2
|
??
|
|
04
|
????
|
$D5B2
|
??
|
|
05
|
????
|
$D5B2
|
??
|
|
06
|
????
|
$D5B2
|
??
|
|
07
|
????
|
$D5B2
|
??
|
|
08
|
LZ water splash
|
$142F0
|
??
|
|
09
|
Sonic in Special Stage
|
$1B984
|
??
|
|
0A
|
Drowning countdown numbers
|
$13C98
|
$14152
|
|
0B
|
LZ vertical pole
|
$11206
|
$11326
$11331
|
- $00 - Unbreakable
- $01 - Breaks in 1 Seconds
- $02 - Breaks in 2 Seconds
- $03 - Breaks in 3 Seconds
- $04 - Breaks in 4 Seconds
- $05 - Breaks in 5 Seconds
- $06 - Breaks in 6 Seconds
|
0C
|
LZ doors that open and close
|
$11346
|
??
|
$02
|
0D
|
End of level signpost
|
$EB28
|
??
|
|
0E
|
????
|
$A61C
|
??
|
|
0F
|
????
|
$A69C
|
??
|
|
10
|
????
|
$1C022
|
??
|
|
11
|
GHZ Bridge
|
$7328
|
??
|
- $06 - 6 logs
- $07 - 7 logs
- $08 - 8 logs
- $09 - 9 logs
- $0A - 10 logs
- $0B - 11 logs
- $0C - 12 logs
- $0D - 13 logs
- $0E - 14 logs
- $0F - 15 logs
|
Mappings Editing
Object Placement
RAM Hacking
Main System Memory Locations
This is a map of 68k memory as used by the main gameplay engine. Note that any numbers entered (for example, score or number of rings) will have to be converted to hex first.
These are the offsets in RAM. To convert them to Genecyst savestate offsets, add $2478.
RAM offset |
Description
|
$0000 - $7FFF
|
Metablock table
|
$F600
|
Screen Mode
- $00 - Sega Screen
- $04 - Title Screen
- $08 - Demo Mode
- $0C - Normal Level
- $10 - Special Stage
- $14 - Continue Screen
- $18 - Ending Sequence
- $1C - Credits
|
$F616-$F617
|
Camera Y Position for previous frame
|
$F618-$F619
|
Value of $F70C for previous frame
|
$F61A-$F61B
|
Camera X Position for previous frame
|
$F61C-$F61D
|
Value of $F708 for previous frame
|
$F61E-$F61F
|
Value of $F71C for previous frame
|
$F620-$F621
|
Value of $F718 for previous frame
|
$F680
|
Address queue for Pattern Load Cues
|
$F700-$F701
|
Camera X Position
|
$F704-$F705
|
Camera Y Position
|
$F744
|
Scroll Hold Flag (set to stop all scrolling dead)
|
$F754-$F755 $F756-$F757 $F758-$F759 $F75A-$F75B
|
Bitfields used by the scrolling engine
|
$F760-$F761
|
Sonic's Top Speed
|
$F762-$F763
|
Sonic's Acceleration
|
$F764-$F765
|
Sonic's Deceleration
|
$F7AA
|
Screen Lock Flag (Set to lock screen)
|
$F7C8
|
Control Lock Flag (Set to lock controls)
|
$FA00-$FA80
|
Underwater Palette Storage
|
$FE02
|
Restart Level Flag (Set to restart level)
|
$FE04
|
Level Timer
|
$FE10-$FE11
|
Zone/Act
|
$FE12-$FE13
|
Rings
|
$FE14
|
Remaining Air (When underwater)
|
$FE18
|
Continues
|
$FE1C
|
Lives Counter (Set to update lives total on screen)
|
$FE1D
|
Ring Counter (Set to update rings total on screen)
|
$FE1E
|
Time Counter (Set to update current time on screen)
|
$FE1F
|
Score Counter (Set to update score total on screen)
|
$FE26-$FE29
|
Score
|
$FE2C
|
Shield Flag (Set to take a single hit without losing rings)
|
$FE2D
|
Invincibility Flag (Set to make Sonic invincible)
|
$FE2E
|
Speed Shoes Flag (Set to activate speed shoe physics)
|
$FE30
|
Lamppost Counter
|
$FE57
|
Emeralds
|
$FFF4
|
Credits Index Number
|
Sprite Status Table
The Sprite Status Table is located at RAM address $D000. Each entry is $40 bytes long. Here is a list of all the values for one entry in the SST:
Offset |
Size |
Description
|
$00 |
byte |
Object type
|
$01 |
byte |
Action flags. The bitfield looks like this:
- Bit 0 is the horizontal mirror flag. If set, the object will be flipped on its horizontal axis.
- Bit 1 is the vertical mirror flag.
- Bit 2 is the coordinate system flag. If clear, the object will be positioned by absolute screen coordinates. This is used for things like the HUD and menu options. If set, the object will be positioned by the playfield coordinates, i.e. where it is in a level. Sonic uses the playfield positioning system.
- Bits 3, 4, and 5 are either unused, or their purpose is unknown.
- Bit 6 is Sonic's "Ride B" flag
- Bit 7 is the draw object flag. It will be set if the object was onscreen when it came time to draw things. Otherwise, it is clear. There should be no reason to edit this flag, but it's good to know what it does.
|
$02 |
word |
Starting art block.
- First nybble: Palette line the sprite will use.
- Latter 3 nybbles: Starting art block in VRAM for which the object reads from. Multiply by $20 to get VRAM address; divide VRAM address by $20 to get this value.
|
$04 |
long |
Mappings offset
|
$08 |
word |
- If in playfield positioning mode, it is the X playfield coordinate.
- If in screen positioning mode, it is the X screen coordinate.
|
$0A |
word |
- If the object is in playfield positioning mode, this is the X subpixel coordinate.
- If in screen positioning mode, it's the Y screen coordinate.
|
$0C |
word |
- If in playfield positioning mode, it is the Y playfield coordinate.
- If in screen positioning mode, it is unused.
|
$0E |
word |
- If the object is in playfield positioning mode, this is the Y subpixel coordinate.
- If in screen positioning mode, it is unused.
|
$10 |
word |
Horizontal (X) velocity
|
$12 |
word |
Vertical (Y) velocity
|
$14 |
byte |
Ground velocity (inertia).
|
$16 |
byte |
Height/2
|
$17 |
byte |
Width/2
|
$18 |
byte |
Sprite priority (00 = front).
|
$19 |
byte |
Width of the object, in pixels
|
$1A |
byte |
Current animation frame to display. i.e, the frame currently being displayed on-screen, according to the animation script (currently parsed mappings frame, in other words).
|
$1B |
byte |
Current frame in animation script. i.e, the frame entry IN the animation script being currently processed.
|
$1C |
byte |
Animation number. When an animation ID is moved here, it's processed and displayed.
|
$1D |
byte |
Restart animation flag (when $1D is not equal to $1C, animation restarts)
|
$1E |
byte |
Animation frame duration (time until next frame).
|
$20 |
byte |
Collision response bitfield. Tells what the object will do if hit by the character. The bitfield is in the format TTSS SSSS. TT is the type of collision - 00 is enemy, 01 increments the routine counter, 10 is harm, and 11 seems to be a special thing for the starpole. SSSSSS is the size, lifted from a lookup table in the collision response routine.
|
$21 |
byte |
Custom collision property, for special interaction with Sonic. This is used by bosses, badniks, bumpers and other objects. The way in which this byte is used is different for each object. Bosses use this byte as a hit counter.
|
$22 |
byte |
Status bitfield.
Counting from the least significant bit:
Bit |
Hex |
Description
|
0 |
$01 |
X Orientation. Clear is left and set is right.
|
1 |
$02 |
Y Orientation. Clear is right-side up, and set is upside-down
|
2 |
$04 |
Unknown or unused.
|
3 |
$08 |
Set if Sonic is standing on this object.
|
4 |
$10 |
Unknown or unused.
|
5 |
$20 |
Set if Sonic is pushing on this object.
|
6 |
$40 |
Unknown or unused.
|
7 |
$80 |
Unknown or unused.
| Note that these bits have different meanings for Sonic (see below).
|
$23 |
byte |
Respawn index reference number, used by badniks, rings and monitors. Each destroyable object is assigned an index number (01, 02, 03 etc.) which refers to a list at $FC00 in the RAM.
|
$24 |
byte |
Routine counter.
|
$25 |
byte |
Second routine counter. This is used for some of the more complicated objects.
|
$26 |
word |
Angle.
|
$28 |
byte |
Object subtype. For example, the current monitor selected. See the Object List above for values. Has a different meaning for Sonic.
|
$29-$3F |
|
Object's scratch RAM
|
Object-specific variables
|
Offset |
Size |
Description
|
$22 |
byte |
Sonic: Special bitfield. Counting from the least significant bit:
Bit |
Hex |
Description
|
0 |
$01 |
Orientation. Clear is left and set is right.
|
1 |
$02 |
Set if Sonic is in the air (jump counts).
|
2 |
$04 |
Set if jumping or rolling.
|
3 |
$08 |
Set if Sonic isn't on the ground but shouldn't fall. (Usually when he is on a object that should stop him falling, like a platform or a bridge.)
|
4 |
$10 |
Set if jumping after rolling.
|
5 |
$20 |
Set if pushing something.
|
6 |
$40 |
Set if underwater.
|
7 |
$80 |
Unused.
|
You can add the hex values together to use multiple settings at once. Also notice that the first 3 bits (0-2) are used in the character object as a second routine counter.
|
$28 |
byte
|
Sonic: Seconds of air left. Usually $1E; it decrements every second while the player is underwater. Beeps on $18, $13, and $0E. Countdown starts on $0B.
|
$2B |
byte
|
Sonic: Unused
|
$30-$31 |
word
|
Sonic: Remaining invulnerability time. Starts at $0078 after Sonic is hit, and seems to decrement every frame until it reaches $0000.
|
$32-$33 |
word |
Sonic: Remaining time of invincibility.
|
$34-$35 |
word |
Sonic: Remaining time of Speed Shoes.
|
$36 |
byte |
Sonic: Angle of ground at Sonic's front collision hot spot ($03 is "edge of ground")
|
$37 |
byte |
Sonic: Angle of ground at Sonic's rear collision hot spot
|
$39 |
byte |
Sonic: Unused.
|
$3A-$3B |
word
|
Sonic: Unused.
|
$3C |
byte |
Sonic: Set if jumping.
|
$3D |
byte |
Sonic: SST index of object currently being stood on. (multiply by $40 and add $D000 to get the object's address).
|
Boss Variables
|
Offset |
Size |
Description
|
$21 |
byte |
Hit counter. Number of hits it takes to defeat a boss.
|
$30 |
word |
X position
|
$38 |
word |
Y position
|
$3E |
byte |
Number of times to flash when hit
|