View Single Post
Old 14 July 2019, 09:39   #34
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 45
Posts: 23,639
Quote:
Originally Posted by Retro-Nerd View Post
Great, thanks for investigating this. Menace is fixed now. Xenon pause key works too. Only the Snow Bros problem is left, if you select "Second button to jump" at the slash screen. Not sure if this indicates an improper WHDLoad patch solution though.
Patch does word read from $bfe001 which wasn't handled correctly (because weird CIA accesses were originally only made to work with bad 68000 programs and 68000 can't do word/long odd accesses. This is apparently first known 68020+ program that does odd word CIA access )

It also has another strange code sequence in fire button read code:

Code:
_PatchFIRE1
		bsr	_CD32_Read
		BSR	 _CD32_Fire1_Red
		BEQ	.Fire1Pressed
		move.l	d7,-(a7)
		move.b	#-1,d7
		tst.l d7
		move.l	(a7)+,d7
		rts
.Fire1Pressed
		tst.w	$bfe001	
		rts
It tries to change condition codes but move.l (a7)+,d7 overwrites them.

EDIT: Looks like game is 68000 compatible so tst.w probably should be fixed. (If those unnecessarily big movem.l's don't slow it down too much on 68000..)

Last edited by Toni Wilen; 14 July 2019 at 12:03.
Toni Wilen is online now  
 
Page generated in 0.04226 seconds with 11 queries