Retain Rings Between Acts in Sonic 1
From Sonic Retro
This is a very simple guide to retaining rings between acts in Sonic 1. It's extremely easy, but, for those of you 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.
<asm> move.w d0,($FFFFFE20).w ; clear rings</asm>
Then, add this line to KillSonic.
<asm> move.l #0,($FFFFFE20).w ; clear rings</asm>
Place it between these two lines.
<asm> bne.s Kill_NoDeath ; if yes, branch move.b #0,($FFFFFE2D).w ; remove invincibility</asm>
And... that's all. I'm not going to bother with an example ROM because it takes all of two minutes to do this yourself.