mirror of
https://github.com/a2-4am/passport.git
synced 2024-11-19 03:06:34 +00:00
add jmpb412 patcher
This commit is contained in:
parent
b53bd0708b
commit
320872ff9e
@ -701,22 +701,23 @@ _applyToT00
|
|||||||
!source "patchers/jsr8b3.a"
|
!source "patchers/jsr8b3.a"
|
||||||
_applyToAll
|
_applyToAll
|
||||||
!source "patchers/universale7.a"
|
!source "patchers/universale7.a"
|
||||||
!source "patchers/runhello.a"
|
!source "patchers/runhello.a" ; !gIsProDOS && !gIsPascal only
|
||||||
!source "patchers/a6bc95.a"
|
!source "patchers/a6bc95.a" ; gIsPascal only
|
||||||
!source "patchers/a5count.a"
|
!source "patchers/a5count.a" ; gIsPascal only
|
||||||
!source "patchers/d5d5f7.a"
|
!source "patchers/d5d5f7.a"
|
||||||
!source "patchers/prodosrwts.a"
|
!source "patchers/prodosrwts.a" ; gIsProDOS only
|
||||||
!source "patchers/prodos6a.a"
|
!source "patchers/prodos6a.a" ; gIsProDOS only
|
||||||
!source "patchers/prodosmecc.a"
|
!source "patchers/prodosmecc.a" ; gIsProDOS only
|
||||||
!source "patchers/rwtsswapmecc.a"
|
!source "patchers/rwtsswapmecc.a"
|
||||||
!source "patchers/protecteddos.a"
|
!source "patchers/protecteddos.a" ; gIsProtDOS only
|
||||||
!source "patchers/fbff.a"
|
!source "patchers/fbff.a"
|
||||||
!source "patchers/sierra.a"
|
!source "patchers/sierra.a"
|
||||||
!source "patchers/corrupter.a"
|
!source "patchers/corrupter.a"
|
||||||
!source "patchers/ea.a"
|
!source "patchers/ea.a" ; gIsEA only (+gIsBoot0 for DOS titles)
|
||||||
!source "patchers/gamco.a"
|
!source "patchers/gamco.a" ; gIsEEEF only
|
||||||
!source "patchers/optimum.a"
|
!source "patchers/optimum.a" ; gIsOptimum only
|
||||||
!source "patchers/bootcounter.a"
|
!source "patchers/bootcounter.a" ; T01 only
|
||||||
|
!source "patchers/jmpb412.a" ; T02 only
|
||||||
|
|
||||||
lda gPatchCount
|
lda gPatchCount
|
||||||
beq .nopatches
|
beq .nopatches
|
||||||
|
57
src/patchers/jmpb412.a
Normal file
57
src/patchers/jmpb412.a
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
;-------------------------------
|
||||||
|
; #JMPB412
|
||||||
|
; Boot1 jumps to $B3C3 to read
|
||||||
|
; and decrypt a nibble check at
|
||||||
|
; $B412, which exits via $9D84
|
||||||
|
; if successful
|
||||||
|
;
|
||||||
|
; Zoo Goer
|
||||||
|
; Zoo Collector
|
||||||
|
; Zoo Builder
|
||||||
|
; America Coast to Coast (Mindscape release)
|
||||||
|
;-------------------------------
|
||||||
|
!zone {
|
||||||
|
lda gTrack
|
||||||
|
cmp #$02
|
||||||
|
bne .exit
|
||||||
|
|
||||||
|
lda #$00
|
||||||
|
ldx #$C3
|
||||||
|
ldy #$35
|
||||||
|
jsr compare ; if T02,S00,$C3 ==
|
||||||
|
!byte $A9,WILDCARD;LDA #$**
|
||||||
|
!byte $8D,$EC,$B7; STA $B7EC
|
||||||
|
!byte $A9,WILDCARD;LDA #$**
|
||||||
|
!byte $8D,$ED,$B7; STA $B7ED
|
||||||
|
!byte $A9,$B4 ; LDA #$B4
|
||||||
|
!byte $8D,$F1,$B7; STA $B7F1
|
||||||
|
!byte $A9,$00 ; LDA #$00
|
||||||
|
!byte $8D,$F3,$B7; STA $B7F3
|
||||||
|
!byte $8D,$EB,$B7; STA $B7EB
|
||||||
|
!byte $A9,$B7 ; LDA #$B7
|
||||||
|
!byte $A0,$E8 ; LDY #$E8
|
||||||
|
!byte $20,$B5,$B7; JSR $B7B5
|
||||||
|
!byte $A0,$00 ; LDY #$00
|
||||||
|
!byte $B9,$12,$B4; LDA $B412,Y
|
||||||
|
!byte $49,WILDCARD;EOR #$**
|
||||||
|
!byte $99,$12,$B4; STA $B412,Y
|
||||||
|
!byte $C8 ; INY
|
||||||
|
!byte $C0,$FF ; CPY #$FF
|
||||||
|
!byte $D0,$F3 ; BNE
|
||||||
|
!byte WILDCARD
|
||||||
|
!byte WILDCARD
|
||||||
|
!byte WILDCARD
|
||||||
|
!byte WILDCARD
|
||||||
|
!byte WILDCARD
|
||||||
|
!byte $4C,$12,$B4; JMP $B412
|
||||||
|
bcs .exit
|
||||||
|
sta gDisplayBytes
|
||||||
|
lda #s_jmpb412
|
||||||
|
jsr PrintByID
|
||||||
|
lda #$00
|
||||||
|
ldx #$F6
|
||||||
|
ldy #$02
|
||||||
|
jsr modify ; then set T02,S00,$F6 =
|
||||||
|
!byte $84,$9D
|
||||||
|
.exit
|
||||||
|
}
|
@ -2,6 +2,8 @@
|
|||||||
; #RWTSSWAPMECC
|
; #RWTSSWAPMECC
|
||||||
; post-boot RWTS swapper in MECC
|
; post-boot RWTS swapper in MECC
|
||||||
; disks
|
; disks
|
||||||
|
; TODO might be able to gate this on MECC fastloader
|
||||||
|
; (I think it's only used on Dataquest disks)
|
||||||
;-------------------------------
|
;-------------------------------
|
||||||
!zone {
|
!zone {
|
||||||
_rwtsswapmecc
|
_rwtsswapmecc
|
||||||
|
@ -96,7 +96,8 @@ s_daviddos = $4D
|
|||||||
s_quickdos = $4E
|
s_quickdos = $4E
|
||||||
s_diversidos = $4F
|
s_diversidos = $4F
|
||||||
s_prontodos = $50
|
s_prontodos = $50
|
||||||
STRINGCOUNT = $51
|
s_jmpb412 = $51
|
||||||
|
STRINGCOUNT = $52
|
||||||
|
|
||||||
!zone {
|
!zone {
|
||||||
StringTable
|
StringTable
|
||||||
@ -181,6 +182,7 @@ StringTable
|
|||||||
!word .quickdos
|
!word .quickdos
|
||||||
!word .diversidos
|
!word .diversidos
|
||||||
!word .prontodos
|
!word .prontodos
|
||||||
|
!word .jmpb412
|
||||||
;
|
;
|
||||||
; Text can contain substitution strings, which
|
; Text can contain substitution strings, which
|
||||||
; are replaced by current values at runtime. Each
|
; are replaced by current values at runtime. Each
|
||||||
@ -457,4 +459,7 @@ StringTable
|
|||||||
!text "T00,S00 Found Diversi-DOS bootloader",$8D,00
|
!text "T00,S00 Found Diversi-DOS bootloader",$8D,00
|
||||||
.prontodos
|
.prontodos
|
||||||
!text "T00,S00 Found Pronto-DOS bootloader",$8D,00
|
!text "T00,S00 Found Pronto-DOS bootloader",$8D,00
|
||||||
|
.jmpb412
|
||||||
|
!text "T02,S00 Disk calls a protection check",$8D
|
||||||
|
!text "at $B412 before initializing DOS.",$8D,00
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user