;------------------------------- ; #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