Difference between revisions of "Retain Rings Between Acts in Sonic 1"
From Sonic Retro
Scarred Sun (talk | contribs) m (Text replacement - "</asm>" to "</syntaxhighlight>") |
Scarred Sun (talk | contribs) m (Text replacement - "<asm>" to "<syntaxhighlight lang="asm">") |
||
Line 7: | Line 7: | ||
In Level_LoadObj, delete this line. | In Level_LoadObj, delete this line. | ||
− | <asm> move.w d0,($FFFFFE20).w ; clear rings</syntaxhighlight> | + | <syntaxhighlight lang="asm"> move.w d0,($FFFFFE20).w ; clear rings</syntaxhighlight> |
Then, add this line to KillSonic. | Then, add this line to KillSonic. | ||
− | <asm> move.w #0,($FFFFFE20).w ; clear rings</syntaxhighlight> | + | <syntaxhighlight lang="asm"> move.w #0,($FFFFFE20).w ; clear rings</syntaxhighlight> |
Place it between these two lines. | Place it between these two lines. | ||
− | <asm> bne.s Kill_NoDeath ; if yes, branch | + | <syntaxhighlight lang="asm"> bne.s Kill_NoDeath ; if yes, branch |
move.b #0,($FFFFFE2D).w ; remove invincibility</syntaxhighlight> | move.b #0,($FFFFFE2D).w ; remove invincibility</syntaxhighlight> | ||
Revision as of 21:44, 20 December 2015
(Original guide by Afti)
This is a very simple guide to retaining rings between acts in Sonic 1. It's extremely easy, but, for those who literally have no ASM ability whatsoever...
Well, here it is. You literally need to delete one line, and add one line elsewhere.
In Level_LoadObj, delete this line.
move.w d0,($FFFFFE20).w ; clear rings
Then, add this line to KillSonic.
move.w #0,($FFFFFE20).w ; clear rings
Place it between these two lines.
bne.s Kill_NoDeath ; if yes, branch
move.b #0,($FFFFFE2D).w ; remove invincibility
And... that's all. No example ROM will be provided because it takes all of two minutes to do this.