Difference between revisions of "Sonic the Hedgehog:Enhanced Edition"
From Sonic Retro
(Created page with "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. *Glichy Sonic in SBZ1 *Pe...") |
|||
Line 2: | Line 2: | ||
==Bugs== | ==Bugs== | ||
*Static after roll sound. | *Static after roll sound. | ||
− | *Rings not deleted during credits. | + | *Rings not deleted during credits. (Fixed) |
− | *Glichy Sonic in SBZ1 | + | *Glichy Sonic in SBZ1 (Fixed) |
*Peelout sound sometimes missing a channel. | *Peelout sound sometimes missing a channel. | ||
==Solutions== | ==Solutions== | ||
− | + | How to fix Ending bugs. | |
+ | |||
+ | go to "'''''Credits:'''''" and find this bit of coding: | ||
+ | <syntaxhighlight lang="asm"> | ||
+ | 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 | ||
+ | </syntaxhighlight> | ||
+ | Change it to this | ||
+ | <syntaxhighlight lang="asm"> | ||
+ | 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 | ||
+ | move.b #0,(Rings_manager_routine).w | ||
+ | jsr RingsManager | ||
+ | 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 | ||
+ | </syntaxhighlight> | ||
+ | I found this out because i was just looking at the code. | ||
==Future Features== | ==Future Features== | ||
*REV01 effects. | *REV01 effects. | ||
*Spike bug fix. | *Spike bug fix. | ||
*Control Options. | *Control Options. |
Revision as of 02:47, 31 May 2018
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)
- Glichy Sonic in SBZ1 (Fixed)
- Peelout sound sometimes missing a channel.
Solutions
How to fix Ending bugs.
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
move.b #0,(Rings_manager_routine).w
jsr RingsManager
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.