Actions

Talk

Sonic the Hedgehog:Enhanced Edition

From Sonic Retro

Revision as of 02:47, 31 May 2018 by Shadow05 (talk | contribs)

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.