passport/src/patchers/bademu.a

28 lines
808 B
Plaintext
Executable File

;-------------------------------
; #BADEMU
; RWTS checks for timing bit by
; checking if data latch is still
; $D5 after waiting "too long"
; but this confuses legacy emulators
; (AppleWin, older versions of MAME)
; so we patch it for compatibility
; e.g. Dino Dig, Make A Face
;-------------------------------
_bademu
lda gIsRWTS ; if DOS 3.3 RWTS
bne bademu_exit
lda #$03
ldx #$4F
ldy #$11
jsr compare ; and T00,S03,$4F ==
!byte $BD,$8C,$C0,$10,$FB,$C9,$D5,$D0
!byte $F0,$EA,$BD,$8C,$C0,$C9,$D5,$F0
!byte $12
bcs bademu_exit
lda #$03
ldx #$58
ldy #$02
jsr modify ; and set T00,S03,$58 =
!byte $F0,06
bademu_exit