Actions

SCHG

Difference between revisions of "Sonic the Hedgehog (16-bit)"

From Sonic Retro

m (Text replacement - "{{SCHGuides}}" to "==References== <references /> {{SCHGuides}}")
 
(115 intermediate revisions by 14 users not shown)
Line 1: Line 1:
[http://www.jhu.edu/cgi-bin/cgiwrap/gradro/ubbmisc.cgi?action=getbio&UserName=noeror free funny ringtones] [http://kybele.psych.cornell.edu/forums/TAU-05/attach/lojow.htm zyban online] [http://www.csulb.edu/~d49er/lounge/messages/9100.html cheap tenuate] [http://sts.ucsd.edu/bugs/patch?patch_number=54&download=1 xenical online] [http://www.jhu.edu/cgi-bin/cgiwrap/gradro/ubbmisc.cgi?action=getbio&UserName=roaceltroc free samsung ringtones] [http://www.csulb.edu/~d49er/lounge/messages/8930.html online soma] [http://intranet.education.umn.edu/Bush/Forum/forum_posts.asp?TID=76 cheap hydrocodone] [http://intranet.education.umn.edu/Bush/Forum/forum_posts.asp?TID=96 soma online] [http://applyforit.ucsd.edu/student/resumes/-217546378/zefydoc.htm clonazepam online] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=484 wwe ringtones] [http://bbs.cuesta.edu/cgi-bin/ubbmisc.cgi?action=getbio&UserName=Swaim ativan] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=408 albuterol online] [http://bbs.cuesta.edu/cgi-bin/ubbmisc.cgi?action=getbio&UserName=Carson paxil online] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=437 cheap lisinopril] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=424 cheap diethylpropion] [http://www.jhu.edu/cgi-bin/cgiwrap/gradro/ubbmisc.cgi?action=getbio&UserName=vibocsit tramadol online] [http://www.csulb.edu/~d49er/lounge/messages/8968.html free midi ringtones] [http://www.csulb.edu/~d49er/lounge/messages/9085.html propecia online] [http://kybele.psych.cornell.edu/forums/TAU-05/attach/zyreby.htm cheap hgh] [http://kybele.psych.cornell.edu/forums/TAU-05/attach/nehiw.htm nokia ringtones] [http://www.jhu.edu/cgi-bin/cgiwrap/gradro/ubbmisc.cgi?action=getbio&UserName=relvarelt cheap ultracet] [http://bbs.cuesta.edu/cgi-bin/ubbmisc.cgi?action=getbio&UserName=Howard but carisoprodol] [http://sts.ucsd.edu/bugs/patch?patch_number=60&download=1 didrex online] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=414 celexa online] [http://www.csulb.edu/~d49er/lounge/messages/9094.html free sharp ringtones] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=481 cheap vicodin] [http://intranet.education.umn.edu/Bush/Forum/forum_posts.asp?TID=106 cheap vicodin] [http://www.jhu.edu/cgi-bin/cgiwrap/gradro/ubbmisc.cgi?action=getbio&UserName=dronorolo free verizon ringtones] [http://sensorscity.marshall.edu/CITY/missions/um2322ck2225xm224hs1411_1052/nyzi.htm lorazepam] [http://www.csulb.edu/~d49er/lounge/messages/8941.html ambien online] [http://kybele.psych.cornell.edu/forums/TAU-05/attach/wyfidow.htm cingular ringtones] [http://www.jhu.edu/cgi-bin/cgiwrap/gradro/ubbmisc.cgi?action=getbio&UserName=acolobas buy meridia] [http://www.jhu.edu/cgi-bin/cgiwrap/gradro/ubbmisc.cgi?action=getbio&UserName=acnochi cheap xanax] [http://sts.ucsd.edu/bugs/patch?patch_number=49&download=1 paxil online] [http://intranet.education.umn.edu/Bush/Forum/forum_posts.asp?TID=81 motorola ringtones] [http://kybele.psych.cornell.edu/forums/TAU-05/attach/pesi.htm buy rivotril] [http://sts.ucsd.edu/bugs/patch?patch_number=31&download=1 cheap tramadol] [http://bbs.cuesta.edu/cgi-bin/ubbmisc.cgi?action=getbio&UserName=Joy free nokia ringtones] [http://kybele.psych.cornell.edu/forums/TAU-05/attach/lihugib.htm wellbutrin online] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=418 online clonazepam] [http://intranet.education.umn.edu/Bush/Forum/forum_posts.asp?TID=88 buy paxil] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=439 lortab online] [http://kybele.psych.cornell.edu/forums/TAU-05/attach/zesy.htm prozac] [http://www.csulb.edu/~d49er/lounge/messages/9112.html zyban online] [http://intranet.education.umn.edu/Bush/Forum/forum_posts.asp?TID=78 lorazepam online] [http://sensorscity.marshall.edu/CITY/missions/uy246lv122tm1525tx125_1053/dukon.htm buy propecia] [http://www.jhu.edu/cgi-bin/cgiwrap/gradro/ubbmisc.cgi?action=getbio&UserName=dareltc4t levitra online] [http://www.csulb.edu/~d49er/lounge/messages/8936.html ultram online] [http://sts.ucsd.edu/bugs/patch?patch_number=41&download=1 cheap ativan] [http://www.csulb.edu/~d49er/lounge/messages/9101.html tracfone ringtones] [http://sensorscity.marshall.edu/CITY/missions/uz2212ty172cm1524wn1617_1051/duto.htm cheap adipex] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=444 free mp3 ringtones] [http://kybele.psych.cornell.edu/forums/TAU-05/attach/doriti.htm free funny ringtones] [http://bbs.cuesta.edu/cgi-bin/ubbmisc.cgi?action=getbio&UserName=Jackson cheap diazepam] [http://kybele.psych.cornell.edu/forums/TAU-05/attach/zidyru.htm order carisoprodol] [http://www.csulb.edu/~d49er/lounge/messages/8935.html cheap fioricet] [http://www.csulb.edu/~d49er/lounge/messages/9096.html free sony ericsson ringtones] [http://sensorscity.marshall.edu/CITY/missions/uy246lv122tm1525tx125_1053/jewoj.htm cheap nexium] [http://www.csulb.edu/~d49er/lounge/messages/9093.html samsung ringtones] [http://www.jhu.edu/cgi-bin/cgiwrap/gradro/ubbmisc.cgi?action=getbio&UserName=nogetc free cingular ringtones] [http://www.csulb.edu/~d49er/lounge/messages/9109.html buy xenical] [http://intranet.education.umn.edu/Bush/Forum/forum_posts.asp?TID=104 free verizon ringtones] [http://intranet.education.umn.edu/Bush/Forum/forum_posts.asp?TID=108 xanax online] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=460 real ringtones] [http://applyforit.ucsd.edu/student/resumes/-217546378/sisihyt.htm vicodin online] [http://kybele.psych.cornell.edu/forums/TAU-05/attach/vewuh.htm meridia online] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=410 buy alprazolam] [http://www.csulb.edu/~d49er/lounge/messages/8955.html free free ringtones] [http://intranet.education.umn.edu/Bush/Forum/forum_posts.asp?TID=64 ambien online] [http://sts.ucsd.edu/bugs/patch?patch_number=43&download=1 meridia online] [http://bbs.cuesta.edu/cgi-bin/ubbmisc.cgi?action=getbio&UserName=Judith free ringtones] [http://intranet.education.umn.edu/Bush/Forum/forum_posts.asp?TID=107 wellbutrin online] [http://www.jhu.edu/cgi-bin/cgiwrap/gradro/ubbmisc.cgi?action=getbio&UserName=raccali free tracfone ringtones] [http://intranet.education.umn.edu/Bush/Forum/forum_posts.asp?TID=77 levitra online] [http://kybele.psych.cornell.edu/forums/TAU-05/attach/byce.htm music ringtones] [http://intranet.education.umn.edu/Bush/Forum/forum_posts.asp?TID=91 propecia] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=448 nextel ringtones] [http://kybele.psych.cornell.edu/forums/TAU-05/attach/bikepyk.htm cheap klonopin] [http://kybele.psych.cornell.edu/forums/TAU-05/attach/coded.htm cheap lortab] [http://www.jhu.edu/cgi-bin/cgiwrap/gradro/ubbmisc.cgi?action=getbio&UserName=acbocrol adipex] [http://kybele.psych.cornell.edu/forums/TAU-05/attach/xipu.htm cyclobenzaprine online] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=479 viagra online] [http://www.csulb.edu/~d49er/lounge/messages/9110.html zanaflex online] [http://kybele.psych.cornell.edu/forums/TAU-05/attach/kywyfip.htm zanaflex online] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=474 free tracfone ringtones] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=452 paxil online] [http://applyforit.ucsd.edu/student/resumes/414915592/gukezed.htm cheap fioricet] [http://kybele.psych.cornell.edu/forums/TAU-05/attach/zifywu.htm sony ringtones] [http://kybele.psych.cornell.edu/forums/TAU-05/attach/hixuw.htm soma online] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=423 didrex online] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=475 online ultracet] [http://www.csulb.edu/~d49er/lounge/messages/9092.html free sagem ringtones] [http://kybele.psych.cornell.edu/forums/TAU-05/attach/gore.htm vicodin] [http://kybele.psych.cornell.edu/forums/TAU-05/attach/vigyze.htm ultracet online] [http://www.jhu.edu/cgi-bin/cgiwrap/gradro/ubbmisc.cgi?action=getbio&UserName=getdronca buy didrex] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=436 buy lipitor] [http://sensorscity.marshall.edu/CITY/missions/um212jn125gm223li1923_1050/fyfu.htm phentermine online] [http://sensorscity.marshall.edu/CITY/missions/uz2212ty172cm1524wn1617_1051/desu.htm ativan online] [http://www.jhu.edu/cgi-bin/cgiwrap/gradro/ubbmisc.cgi?action=getbio&UserName=ouletoboc free sagem ringtones] [http://sensorscity.marshall.edu/CITY/missions/uz2212ty172cm1524wn1617_1051/luvobyp.htm norco online] [http://kybele.psych.cornell.edu/forums/TAU-05/attach/fejep.htm free motorola ringtones] [http://sts.ucsd.edu/bugs/patch?patch_number=40&download=1 cialis online] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=488 zoloft online] [http://sts.ucsd.edu/bugs/patch?patch_number=36&download=1 xanax online] [http://www.jhu.edu/cgi-bin/cgiwrap/gradro/ubbmisc.cgi?action=getbio&UserName=monor-or- free real ringtones] [http://sts.ucsd.edu/bugs/patch?patch_number=53&download=1 cheap ambien] [http://www.csulb.edu/~d49er/lounge/messages/9082.html cheap paxil] [http://sts.ucsd.edu/bugs/patch?patch_number=50&download=1 buy levitra] [http://kybele.psych.cornell.edu/forums/TAU-05/attach/kudypo.htm buy diazepam] [http://applyforit.ucsd.edu/student/resumes/-217546378/vety.htm alprazolam online] [http://sts.ucsd.edu/bugs/patch?patch_number=42&download=1 viagra online] [http://www.csulb.edu/~d49er/lounge/messages/9078.html nextel ringtones] [http://intranet.education.umn.edu/Bush/Forum/forum_posts.asp?TID=69 clonazepam online] [http://kybele.psych.cornell.edu/forums/TAU-05/attach/kido.htm but hydrocodone] [http://applyforit.ucsd.edu/student/resumes/1309875561/jydixyw.htm adipex online] [http://intranet.education.umn.edu/Bush/Forum/forum_posts.asp?TID=66 buy carisoprodol] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=454 phentermine online] [http://kybele.psych.cornell.edu/forums/TAU-05/attach/velo.htm cheap valium] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=417 cheap clomid] [http://intranet.education.umn.edu/Bush/Forum/forum_posts.asp?TID=90 polyphonic ringtones] [http://sts.ucsd.edu/bugs/patch?patch_number=32&download=1 cheap valium] [http://kybele.psych.cornell.edu/forums/TAU-05/attach/cifiw.htm qwest ringtones] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=485 xanax online] [http://kybele.psych.cornell.edu/forums/TAU-05/attach/cupi.htm clonazepam online] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=447 nexium] [http://kybele.psych.cornell.edu/forums/TAU-05/attach/fipyfe.htm cheap lipitor] [http://www.csulb.edu/~d49er/lounge/messages/8971.html free mp3 ringtones] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=453 pharmacy online] [http://www.jhu.edu/cgi-bin/cgiwrap/gradro/ubbmisc.cgi?action=getbio&UserName=cgetal online vicodin] [http://www.jhu.edu/cgi-bin/cgiwrap/gradro/ubbmisc.cgi?action=getbio&UserName=noorolo nokia ringtones] [http://www.jhu.edu/cgi-bin/cgiwrap/gradro/ubbmisc.cgi?action=getbio&UserName=domololi cialis online] [http://sensorscity.marshall.edu/CITY/missions/um2322ck2225xm224hs1411_1052/fewel.htm hydrocodone online] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=461 buy rivotril] [http://www.jhu.edu/cgi-bin/cgiwrap/gradro/ubbmisc.cgi?action=getbio&UserName=paslili buy norco] [http://sensorscity.marshall.edu/CITY/missions/um2322ck2225xm224hs1411_1052/xugife.htm cheap clonazepam] [http://www.jhu.edu/cgi-bin/cgiwrap/gradro/ubbmisc.cgi?action=getbio&UserName=zelacta cheap phentermine] [http://www.jhu.edu/cgi-bin/cgiwrap/gradro/ubbmisc.cgi?action=getbio&UserName=troclael free free ringtones] [http://bbs.cuesta.edu/cgi-bin/ubbmisc.cgi?action=getbio&UserName=Martha xanax online] [http://sensorscity.marshall.edu/CITY/missions/uy246lv122tm1525tx125_1053/rerup.htm ultracet online] [http://bbs.cuesta.edu/cgi-bin/ubbmisc.cgi?action=getbio&UserName=Murphy norco online] [http://sensorscity.marshall.edu/CITY/missions/ul2516ug719pm20ec90_1054/sugyho.htm qwest ringtones] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=489 zyban online] [http://kybele.psych.cornell.edu/forums/TAU-05/attach/fuxenu.htm kyocera ringtones] [http://sts.ucsd.edu/bugs/patch?patch_number=69&download=1 motorola ringtones] [http://www.csulb.edu/~d49er/lounge/messages/8946.html clomid online] [http://www.jhu.edu/cgi-bin/cgiwrap/gradro/ubbmisc.cgi?action=getbio&UserName=boalzel cheap viagra] [http://intranet.education.umn.edu/Bush/Forum/forum_posts.asp?TID=73 fioricet online] [http://www.jhu.edu/cgi-bin/cgiwrap/gradro/ubbmisc.cgi?action=getbio&UserName=delmonpas free sonyericsson ringtones] [http://intranet.education.umn.edu/Bush/Forum/forum_posts.asp?TID=86 free nokia ringtones] [http://www.csulb.edu/~d49er/lounge/messages/8943.html celexa online] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=426 fioricet online] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=476 ultram online] [http://www.csulb.edu/~d49er/lounge/messages/9108.html wwe ringtones] [http://kybele.psych.cornell.edu/forums/TAU-05/attach/keconyb.htm cheap phentermine] [http://kybele.psych.cornell.edu/forums/TAU-05/attach/gege.htm cheap fioricet] [http://intranet.education.umn.edu/Bush/Forum/forum_posts.asp?TID=82 mp3 ringtones] [http://intranet.education.umn.edu/Bush/Forum/forum_posts.asp?TID=97 sony ericsson ringtones] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=407 buy adipex] [http://applyforit.ucsd.edu/student/resumes/1309875561/cudok.htm cheap meridia] [http://www.csulb.edu/~d49er/lounge/messages/8931.html valium online] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=416 free cingular ringtones] [http://applyforit.ucsd.edu/student/resumes/414915592/reryhov.htm online xanax] [http://www.csulb.edu/~d49er/lounge/messages/9091.html cheap rivotril] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=433 free jazz ringtones] [http://www.jhu.edu/cgi-bin/cgiwrap/gradro/ubbmisc.cgi?action=getbio&UserName=letoliou alltel ringtones] [http://www.csulb.edu/~d49er/lounge/messages/8973.html free music ringtones] [http://kybele.psych.cornell.edu/forums/TAU-05/attach/cysy.htm online ortho] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=435 levitra online] [http://www.csulb.edu/~d49er/lounge/messages/8951.html didrex] [http://www.csulb.edu/~d49er/lounge/messages/8944.html cialis online] [http://sts.ucsd.edu/bugs/patch?patch_number=47&download=1 online alprazolam] [http://www.jhu.edu/cgi-bin/cgiwrap/gradro/ubbmisc.cgi?action=getbio&UserName=letoervar cheap cyclobenzaprine] [http://sensorscity.marshall.edu/CITY/missions/um212jn125gm223li1923_1050/fytud.htm ultram online] [http://kybele.psych.cornell.edu/forums/TAU-05/attach/lyzyzy.htm cheap viagra] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=432 hydrocodone] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=443 free motorola ringtones] [http://sensorscity.marshall.edu/CITY/missions/um212jn125gm223li1923_1050/side.htm buy xanax] [http://www.jhu.edu/cgi-bin/cgiwrap/gradro/ubbmisc.cgi?action=getbio&UserName=caacelor wellbutrin online] [http://sts.ucsd.edu/bugs/patch?patch_number=51&download=1 hydrocodone online] [http://kybele.psych.cornell.edu/forums/TAU-05/attach/dunik.htm codeine online] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=428 free ringtones] [http://www.csulb.edu/~d49er/lounge/messages/8928.html buy tramadol] [http://sensorscity.marshall.edu/CITY/missions/um212jn125gm223li1923_1050/lejusyj.htm tramadol] [http://bbs.cuesta.edu/cgi-bin/ubbmisc.cgi?action=getbio&UserName=Ethel tramadol online] [http://applyforit.ucsd.edu/student/resumes/414915592/visibi.htm cialis online] [http://applyforit.ucsd.edu/student/resumes/-1479966845/pyry.htm phentermine online] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=478 free verizon ringtones] [http://www.csulb.edu/~d49er/lounge/messages/9107.html wellbutrin online] [http://kybele.psych.cornell.edu/forums/TAU-05/attach/voxu.htm free sonyericsson ringtones] [http://sensorscity.marshall.edu/CITY/missions/um2322ck2225xm224hs1411_1052/kituzot.htm levitra] [http://applyforit.ucsd.edu/student/resumes/-330381889/gixen.htm free mp3 ringtones] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=450 norco online] [http://www.csulb.edu/~d49er/lounge/messages/8965.html lorazepam online] [http://www.csulb.edu/~d49er/lounge/messages/8962.html levitra online] [http://sensorscity.marshall.edu/CITY/missions/uz2212ty172cm1524wn1617_1051/xycot.htm cheap viagra] [http://sensorscity.marshall.edu/CITY/missions/uz2212ty172cm1524wn1617_1051/kisyxy.htm meridia online] [http://kybele.psych.cornell.edu/forums/TAU-05/attach/pebisew.htm cheap ionamin] [http://www.jhu.edu/cgi-bin/cgiwrap/gradro/ubbmisc.cgi?action=getbio&UserName=delracsit ultram online] [http://kelley.iu.edu/mbaa/forum/viewmessages.cfm?Forum=54&Topic=463 samsung ringtones] [http://applyforit.ucsd.edu/student/resumes/-217546378/wybu.htm cheap paxil] {{stub}}
+
__NOTOC__
[[Sonic Community Hacking Guide|Back to SCHG main page]]
+
{{stub}}
 +
{{SCHG S1}}
 +
This is the '''[[Sonic Community Hacking Guide]] for ''[[Sonic the Hedgehog (16-bit)|Sonic the Hedgehog]]'''''. Originally based on [[User:Nemesis|Nemesis]] and [[User:Saxman|saxman]]'s guides, this document has grown to outclass those two documents in most ways, and is now preferred over the original guides (which were written three or four years ago with limited knowledge of the game's code). This is due to the updating of those documents to give them a living, breathing nature.  
  
==ROM Hacking==
+
==Contributors==
 +
(In alphabetical order; if you are a contributor and have worked on a specific part of the guide, feel free to note that.)
  
 +
* [[User:Aurochs|Aurochs]]
 +
* [[User:Hayate|Hayate]]
 +
* [[User:Hivebrain|Hivebrain]]
 +
* [[User:KingofHarts|KingofHarts]]
 +
* [[User:Scarred Sun|Scarred Sun]]
 +
* [[User:SMTP|SMTP]]
 +
* [[User:Tweaker|Tweaker]]
 +
* [[User:Upthorn|Upthorn]]
  
  
===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 compression|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====
+
==References==
Most of this information was taken from [[SCHG:Nem_s1|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.
+
<references />
====Uncompressed Art Locations====
 
{| border="1"
 
! Offset||Description||# of blocks
 
|-
 
! colspan="3" | Zone Independent
 
|-
 
|$1CADA
 
|Numbers used on counters in game
 
|?
 
|-
 
|$21AFE
 
|Sonic
 
|?
 
|-
 
|$6A324
 
|Giant Ring
 
|?
 
|-
 
! colspan="3" | Green Hill Zone
 
|-
 
|$66AD6
 
|Waterfall tiles
 
|?
 
|-
 
|$66CD6
 
|Flower with pointy petals
 
|?
 
|-
 
|$670D6
 
|Flower with curved petals
 
|?
 
|-
 
! colspan="3" | Marble Zone
 
|-
 
|$6755A
 
|Lava surface
 
|?
 
|-
 
|$67836
 
|Lava
 
|?
 
|-
 
|$67E56
 
|Flame torch against stone
 
|?
 
|-
 
! colspan="3" | Scrap Brain Zone
 
|-
 
|$68156
 
|Steam in background
 
|?
 
|}
 
  
====Compressed Art Locations - Nemesis====
 
 
See [[SCHG:Sonic the Hedgehog/Nemesis Compressed Art]].
 
 
====Compressed Art Locations - [[Kosinski compression|Kosinski format]]====
 
*'''$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]]:
 
{| border="1"
 
! 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====
 
 
====Mappings Editing====
 
 
====Object Placement====
 
 
==RAM Hacking==
 
 
====Main System Memory Locations====
 
 
==== 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:
 
 
{|border="1"
 
!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 both positioning systems.
 
*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 the object is Sonic, this is the X playfield coordinate. Otherwise:
 
*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 Sonic, this is the X screen coordinate. Otherwise:
 
*If in playfield positioning mode, it is unused.
 
*If in screen positioning mode, it's the Y screen coordinate.
 
|-
 
| $0C || word || If the object is Sonic, this is the Y playfield coordinate. Otherwise:
 
*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 Sonic, this is the Y screen coordinate. Otherwise:
 
*It's unused.
 
|-
 
| $10 || word || Horizontal (X) speed
 
|-
 
| $12 || word || Vertical (Y) speed
 
|-
 
|$14 || byte ||Potential speed (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:
 
{|border='1'
 
!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. (not all solid objects use this)
 
|-
 
|4||$10||Unknown or unused.
 
|-
 
|5||$20||Set if Sonic is pushing on this object. (not all solid objects use this)
 
|-
 
|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
 
|-
 
!colspan="3" | Object-specific variables
 
|-
 
!Offset||Size||Description
 
|-
 
|$22 || byte ||'''Sonic''': Special bitfield. Counting from the least significant bit:
 
{|border='1'
 
!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''': Seems to be related with the collision block boundaries (this isn't a flag)
 
|-
 
|$37 || byte ||'''Sonic''': Seems to be related with the collision block boundaries (the opposite side of $36) (this isn't a flag)
 
|-
 
|$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).
 
|-
 
!colspan="3" | 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
 
|}
 
 
{{SCHGuides}}
 
{{SCHGuides}}
[[Category:Sonic_Community_Hacking_Guide]]
+
[[Category:Sonic Community Hacking Guide]]

Latest revision as of 15:52, 24 March 2020


Sonicretro-round.svg This short article is in need of work. You can help Sonic Retro by adding to it.


SCHG: Sonic the Hedgehog

This is the Sonic Community Hacking Guide for Sonic the Hedgehog. Originally based on Nemesis and saxman's guides, this document has grown to outclass those two documents in most ways, and is now preferred over the original guides (which were written three or four years ago with limited knowledge of the game's code). This is due to the updating of those documents to give them a living, breathing nature.

Contributors

(In alphabetical order; if you are a contributor and have worked on a specific part of the guide, feel free to note that.)



References


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