passport/src/patchers/bademu2.a

28 lines
805 B
Plaintext
Executable File

;-------------------------------
; #BADEMU2
; 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. Dinosaur Days
;-------------------------------
_bademu2
lda gIsRWTS ; if DOS 3.3 RWTS
bne bademu2_exit
lda #$03
ldx #$4F
ldy #$11
jsr compare ; and T00,S03,$4F ==
!byte $BD,$8C,$C0,$10,$FB,$4A,$C9,$6A
!byte $D0,$EF,$BD,$8C,$C0,$C9,$D5,$F0
!byte $12
bcs bademu2_exit
lda #$03
ldx #$59
ldy #$02
jsr modify ; and set T00,S03,$59 =
!byte $F0,05
bademu2_exit