passport/src/patchers/thunder.a

58 lines
1.7 KiB
Plaintext
Executable File

;-------------------------------
; #THUNDER
; boot1 jumps to $B3C1 to change RWTS,
; epilogue checker jumps to $B6B3 to
; check timing bits, late DOS routes
; through nibble check at $B74B
; e.g. Thunder Mountain versions of
; Dig Dug, Pac-Man, Galaxian
;-------------------------------
_thunder
lda gIsBoot0 ; if DOS 3.3 boot0 loader
bne thunder_no
lda gIsBoot1 ; and DOS 3.3 boot1 loader
bne thunder_no
lda #$03
ldx #$3E
ldy #$04
jsr compare ; and T00,S03,$3E ==
!byte $4C,$B3,$B6,$EA
bcc +
thunder_no
jmp thunder_exit
+
lda #$01
ldx #$47
ldy #$4C
jsr compare ; and T00,S01,$47 ==
!byte $4C
!byte $C1,$B3,$60,$48,$A9,02,$8D,$EC
!byte $B7,$A9,00,$8D,$EB,$B7,$8D,$F2
!byte $B7,$A9,05,$8D,$ED,$B7,$A9,$36
!byte $8D,$F0,$B7,$A9,$B4,$8D,$F1,$B7
!byte $A9,01,$8D,$E1,$B7,$8D,$F4,$B7
!byte $20,$93,$B7,$90,09,$4C,$62,$FA
!byte $EA,$EA,$EA,$EA,$EA,$EA,$20,$36
!byte $B4,$68,$F0,03,$6C,$72,$AA,$6C
!byte $58,$9D,00,$A9,00,$F0,$BC,$A9
!byte 01,$D0,$B8
bcs thunder_exit
lda #s_thunder
jsr PrintByID
lda #$01
ldx #$48
ldy #$02
jsr modify ; then set T00,S01,$48 =
!byte $1F,$B4
lda #$01
ldx #$7E
ldy #$01
jsr modify ; and set T00,S01,$7E =
!byte $2C
lda #$03
ldx #$3E
ldy #$04
jsr modify ; and set T00,S03,$3E =
!byte $C9,$AA,$F0,$5C
thunder_exit