Sonic the Hedgehog:Enhanced Edition
From Sonic Retro
Now i don't have to post bugs on the main page also post you're solutions here.
Bugs
- Static after roll sound.
- Rings not deleted during credits. (Fixed Nearly)
- Glichy Sonic in SBZ1
- Peelout sound sometimes missing a channel.
Solutions
How to fix Bug #2.
go to "Credits:" and find this bit of coding:
Cred_ClrPallet:
move.l d0,(a1)+
dbf d1,Cred_ClrPallet ; fill pallet with black ($0000)
moveq #3,d0
bsr.w PalLoad1 ; load Sonic's pallet
move.b #$8A,($FFFFD080).w ; load credits object
jsr ObjectsLoad
jsr BuildSprites
bsr.w EndingDemoLoad
moveq #0,d0
move.b ($FFFFFE10).w,d0
lsl.w #4,d0
lea (MainLoadBlocks).l,a2 ; load block mappings etc
lea (a2,d0.w),a2
moveq #0,d0
move.b (a2),d0
beq.s loc_5862
bsr.w LoadPLC ; load level patterns
loc_5862:
moveq #1,d0
bsr.w LoadPLC ; load standard level patterns
move.w #120,($FFFFF614).w ; display a credit for 2 seconds
bsr.w Pal_FadeTo
Cred_WaitLoop:
move.b #4,($FFFFF62A).w
bsr.w DelayProgram
bsr.w RunPLC_RAM
tst.w ($FFFFF614).w ; have 2 seconds elapsed?
bne.s Cred_WaitLoop ; if not, branch
tst.l ($FFFFF680).w ; have level gfx finished decompressing?
bne.s Cred_WaitLoop ; if not, branch
cmpi.w #9,($FFFFFFF4).w ; have the credits finished?
beq.w TryAgainEnd ; if yes, branch
rts
Change it to this
Cred_ClrPallet:
move.l d0,(a1)+
dbf d1,Cred_ClrPallet ; fill pallet with black ($0000)
moveq #3,d0
bsr.w PalLoad1 ; load Sonic's pallet
move.b #$8A,($FFFFD080).w ; load credits object
jsr ObjectsLoad
jsr BuildSprites
bsr.w EndingDemoLoad
moveq #0,d0
move.b ($FFFFFE10).w,d0
lsl.w #4,d0
lea (MainLoadBlocks).l,a2 ; load block mappings etc
lea (a2,d0.w),a2
moveq #0,d0
move.b (a2),d0
beq.s loc_5862
bsr.w LoadPLC ; load level patterns
loc_5862:
moveq #1,d0
bsr.w LoadPLC ; load standard level patterns
move.w #120,($FFFFF614).w ; display a credit for 2 seconds
bsr.w Pal_FadeTo
Cred_WaitLoop:
move.b #4,($FFFFF62A).w
bsr.w DelayProgram
jsr RingsManager
bsr.w RunPLC_RAM
tst.w ($FFFFF614).w ; have 2 seconds elapsed?
bne.s Cred_WaitLoop ; if not, branch
tst.l ($FFFFF680).w ; have level gfx finished decompressing?
bne.s Cred_WaitLoop ; if not, branch
cmpi.w #9,($FFFFFFF4).w ; have the credits finished?
beq.w TryAgainEnd ; if yes, branch
rts
I found this out because i was just looking at the code.
Future Features
- REV01 effects.
- Spike bug fix.
- Control Options.