mirror of
https://github.com/a2-4am/passport.git
synced 2024-09-01 15:29:05 +00:00
patcher cleanup
This commit is contained in:
parent
6554b44b3d
commit
c1e40bcba8
@ -38,7 +38,7 @@
|
||||
jsr PrintByID
|
||||
lda #$02
|
||||
ldy #$0D
|
||||
jsr modify ; and set T00,S02,$F4 =
|
||||
jsr modify ; then set T00,S02,$F4 =
|
||||
!byte $A0,$56
|
||||
!byte $BD,$8C,$C0
|
||||
!byte $10,$FB
|
||||
|
@ -7,7 +7,6 @@
|
||||
; Backbones, EduCalc
|
||||
;-------------------------------
|
||||
!zone {
|
||||
_jsrbb03
|
||||
lda gIsBoot0 ; if DOS 3.3 boot0 loader
|
||||
bne .exit
|
||||
lda gIsBoot1 ; and DOS 3.3 boot1 loader
|
||||
@ -34,6 +33,10 @@ _jsrbb03
|
||||
ldx #$03
|
||||
ldy #$09
|
||||
jsr modify ; then set T00,S05,$03 =
|
||||
!byte $A9,$B5,$48,$A9,$18,$48,$4C,$93,$B7
|
||||
!byte $A9,$B5
|
||||
!byte $48
|
||||
!byte $A9,$18
|
||||
!byte $48
|
||||
!byte $4C,$93,$B7
|
||||
.exit
|
||||
}
|
||||
|
@ -1,11 +1,10 @@
|
||||
;-------------------------------
|
||||
; #MECCM8
|
||||
; #MECC1
|
||||
; MECC fastloader with custom
|
||||
; address and data prologues
|
||||
; e.g. Word Munchers
|
||||
;-------------------------------
|
||||
!zone {
|
||||
_meccm8
|
||||
jsr IDMECC
|
||||
bcs .exit
|
||||
jsr IDMECC1
|
||||
|
@ -1,11 +1,10 @@
|
||||
;-------------------------------
|
||||
; #MECCM7
|
||||
; #MECC2
|
||||
; MECC fastloader with custom
|
||||
; address and data prologues
|
||||
; e.g. Phonics Prime Time series
|
||||
;-------------------------------
|
||||
!zone {
|
||||
_meccm7
|
||||
jsr IDMECC
|
||||
bcs .exit
|
||||
jsr IDMECC2
|
||||
|
@ -5,7 +5,6 @@
|
||||
; e.g. Word Munchers v1.1
|
||||
;-------------------------------
|
||||
!zone {
|
||||
_mecc3
|
||||
jsr IDMECC
|
||||
bcs .exit
|
||||
jsr IDMECC3
|
||||
|
@ -5,7 +5,6 @@
|
||||
; e.g. A-201 Conquering Whole Numbers
|
||||
;-------------------------------
|
||||
!zone {
|
||||
_mecc4
|
||||
jsr IDMECC
|
||||
bcs .exit
|
||||
jsr IDMECC4
|
||||
|
@ -2,11 +2,10 @@
|
||||
; #METHODS
|
||||
; RWTS changes prologue with RWTS
|
||||
; swapper at $B6B4
|
||||
; e.g. "Alphabetizing: Blue Level"
|
||||
; e.g. Alphabetizing: Blue Level
|
||||
; and others by Methods & Solutions
|
||||
;-------------------------------
|
||||
!zone {
|
||||
_methods
|
||||
lda gIsBoot0 ; if DOS 3.3 boot0 loader
|
||||
bne .exit
|
||||
lda #$08
|
||||
|
@ -7,7 +7,6 @@
|
||||
; The Writing Workshop, Math Sequences
|
||||
;-------------------------------
|
||||
!zone {
|
||||
_milliken
|
||||
jsr IDMilliken1
|
||||
bcs .exit
|
||||
lda #$01
|
||||
|
@ -7,7 +7,6 @@
|
||||
; module by qkumba
|
||||
;-------------------------------
|
||||
!zone {
|
||||
_optimum
|
||||
lda gIsOptimum
|
||||
bne .jmpexit1
|
||||
ldy #15
|
||||
|
@ -3,10 +3,10 @@
|
||||
; disk allows either $D4 or $D5 for the
|
||||
; first address prologue nibble
|
||||
; (no patches required, but we want to
|
||||
; log it)
|
||||
; log it and pretend we patched something
|
||||
; so we get a nice CRACK COMPLETE message)
|
||||
;-------------------------------
|
||||
!zone {
|
||||
prodos6a
|
||||
lda gIsProDOS ; only if ProDOS (separate check for DOS)
|
||||
bne .exit
|
||||
lda #$0F
|
||||
@ -16,7 +16,10 @@ prodos6a
|
||||
ldx #$A5
|
||||
ldy #$08
|
||||
jsr compare
|
||||
!byte $BD,$8C,$C0,$10,$FB,$4A,$C9,$6A
|
||||
!byte $BD,$8C,$C0
|
||||
!byte $10,$FB
|
||||
!byte $4A
|
||||
!byte $C9,$6A
|
||||
bcs +
|
||||
lda #s_lsr6a
|
||||
jsr PrintByID
|
||||
@ -26,7 +29,10 @@ prodos6a
|
||||
ldx #$EF
|
||||
ldy #$07
|
||||
jsr compare
|
||||
!byte $48,$68,$BD,$8C,$C0,$C9,$08
|
||||
!byte $48
|
||||
!byte $68
|
||||
!byte $BD,$8C,$C0
|
||||
!byte $C9,$08
|
||||
bcs .nextsector
|
||||
lda #s_bcs08
|
||||
jsr PrintByID
|
||||
|
@ -5,7 +5,6 @@
|
||||
; [thanks LoGo]
|
||||
;-------------------------------
|
||||
!zone {
|
||||
_prodosmecc
|
||||
lda gIsProDOS
|
||||
beq +
|
||||
jmp .exit
|
||||
@ -13,7 +12,7 @@ _prodosmecc
|
||||
ldy #$0E
|
||||
jsr SearchTrack
|
||||
!byte $50,$54,$58,$5C,$60,$64,$68,$00
|
||||
!byte $20,$10,$30,$97,$AA,$EB
|
||||
!byte $20,$10,$30,WILDCARD,$AA,$EB
|
||||
bcs +
|
||||
sta gDisplayBytes
|
||||
inx
|
||||
@ -75,7 +74,7 @@ _prodosmecc
|
||||
; variation seen in e.g. A-232 Spelling Press
|
||||
|
||||
!byte $AD,$C4,$D1,$CD,$C8,$D4,$08,$2C
|
||||
!byte $81,$C0,$28,$D0,$09,$8D,$97,$97
|
||||
!byte $81,$C0,$28,$D0,$09,$8D,WILDCARD,WILDCARD
|
||||
!byte $C9,$DE,$F0,$02,$18,$24,$38,$60
|
||||
bcs +
|
||||
sta gDisplayBytes
|
||||
@ -111,7 +110,13 @@ _prodosmecc
|
||||
+
|
||||
ldy #$0C
|
||||
jsr SearchTrack
|
||||
!byte $30,$A2,$20,$00,$BF,$80,$97,$97,$B0,$98,$38,$60
|
||||
!byte $30,$A2
|
||||
!byte $20,$00,$BF
|
||||
!byte $80
|
||||
!byte WILDCARD,WILDCARD
|
||||
!byte $B0,$98
|
||||
!byte $38
|
||||
!byte $60
|
||||
bcs +
|
||||
inx
|
||||
inx
|
||||
|
@ -9,9 +9,16 @@ _prodosrwts
|
||||
bne .exit
|
||||
ldy #$14
|
||||
jsr SearchTrack
|
||||
!byte $29,$FC,$5D,$97,$97,$D0,$0C,$A6
|
||||
!byte $97,$BD,$8C,$C0,$10,$FB,$C9,$97
|
||||
!byte $18,$F0,$01,$38
|
||||
!byte $29,$FC
|
||||
!byte $5D,WILDCARD,WILDCARD
|
||||
!byte $D0,$0C
|
||||
!byte $A6,WILDCARD
|
||||
!byte $BD,$8C,$C0
|
||||
!byte $10,$FB
|
||||
!byte $C9,WILDCARD
|
||||
!byte $18
|
||||
!byte $F0,$01
|
||||
!byte $38
|
||||
bcs .exit
|
||||
sta gDisplayBytes
|
||||
inx
|
||||
|
@ -9,7 +9,6 @@
|
||||
; Math Blaster, Moebius
|
||||
;-------------------------------
|
||||
!zone {
|
||||
_protdos
|
||||
lda gIsProtDOS
|
||||
beq +
|
||||
jmp .exit
|
||||
@ -20,8 +19,11 @@ _protdos
|
||||
;
|
||||
ldy #$0C
|
||||
jsr SearchTrack
|
||||
!byte $A9,$B5,$85,$4E,$8D,$5D,$BD,$A9
|
||||
!byte $D5,$8D,$2C,$BF
|
||||
!byte $A9,$B5
|
||||
!byte $85,$4E
|
||||
!byte $8D,$5D,$BD
|
||||
!byte $A9,$D5
|
||||
!byte $8D,$2C,$BF
|
||||
bcs .specific
|
||||
sta .swapper2+1
|
||||
inx
|
||||
@ -96,8 +98,11 @@ _protdos
|
||||
ldx #$AF
|
||||
ldy #$0C
|
||||
jsr compare ; if T01,S02,$AF ==
|
||||
!byte $A2,$B5,$86,$4E,$8E,$5D,$BD,$A2
|
||||
!byte $D5,$8E,$2C,$BF
|
||||
!byte $A2,$B5
|
||||
!byte $86,$4E
|
||||
!byte $8E,$5D,$BD
|
||||
!byte $A2,$D5
|
||||
!byte $8E,$2C,$BF
|
||||
bcs .exitt1
|
||||
lda #$02
|
||||
ldx #$B0
|
||||
@ -183,10 +188,18 @@ _protdos
|
||||
ldx #$48
|
||||
ldy #$19
|
||||
jsr compare ; if T00,S07,$48 ==
|
||||
!byte $A0,$04,$48,$68,$A0,$B9,$BD,$88
|
||||
!byte $D0,$F8,$A9,$97,$20,$B8,$BD,$A9
|
||||
!byte $97,$20,$B8,$BD,$A9,$97,$20,$B8
|
||||
!byte $BD
|
||||
!byte $A0,$04
|
||||
!byte $48
|
||||
!byte $68
|
||||
!byte $A0,$B9,$BD
|
||||
!byte $88
|
||||
!byte $D0,$F8
|
||||
!byte $A9,WILDCARD
|
||||
!byte $20,$B8,$BD
|
||||
!byte $A9,WILDCARD
|
||||
!byte $20,$B8,$BD
|
||||
!byte $A9,WILDCARD
|
||||
!byte $20,$B8,$BD
|
||||
bcs .writeIsOK
|
||||
ldx #$4C
|
||||
ldy #$01
|
||||
|
@ -9,22 +9,55 @@ _rol1e
|
||||
ldx #$00
|
||||
ldy #$2F
|
||||
jsr compare ; if T00,S03,$00 ==
|
||||
!byte $86,$1B,$BA,$BD,$02,$01,$85,$03
|
||||
!byte $18,$69,$04,$85,$05,$A0,$00,$84
|
||||
!byte $02,$A0,$40,$84,$04,$A0,$39,$A9
|
||||
!byte $93,$91,$02,$C8,$A5,$03,$91,$02
|
||||
!byte $A0,$7F,$B1,$04,$99,$00,$08,$88
|
||||
!byte $10,$F8,$A6,$1B,$4C,$00,$08
|
||||
!byte $86,$1B
|
||||
!byte $BA
|
||||
!byte $BD,$02,$01
|
||||
!byte $85,$03
|
||||
!byte $18
|
||||
!byte $69,$04
|
||||
!byte $85,$05
|
||||
!byte $A0,$00
|
||||
!byte $84,$02
|
||||
!byte $A0,$40
|
||||
!byte $84,$04
|
||||
!byte $A0,$39
|
||||
!byte $A9,$93
|
||||
!byte $91,$02
|
||||
!byte $C8
|
||||
!byte $A5,$03
|
||||
!byte $91,$02
|
||||
!byte $A0,$7F
|
||||
!byte $B1,$04
|
||||
!byte $99,$00
|
||||
!byte $08
|
||||
!byte $88
|
||||
!byte $10,$F8
|
||||
!byte $A6,$1B
|
||||
!byte $4C,$00,$08
|
||||
bcs .exit
|
||||
lda #$03
|
||||
ldx #$40
|
||||
ldy #$28
|
||||
jsr compare ; and T00,S03,$40 ==
|
||||
!byte $A9,$00,$A0,$EC,$91,$02,$C8,$91
|
||||
!byte $02,$A9,$09,$A0,$F1,$91,$02,$A9
|
||||
!byte $08,$A0,$E1,$91,$02,$A9,$4C,$85
|
||||
!byte $01,$A9,$93,$85,$02,$20,$01,$00
|
||||
!byte $A0,$00,$84,$02,$A5,$1E,$85,$08
|
||||
!byte $A9,$00
|
||||
!byte $A0,$EC
|
||||
!byte $91,$02
|
||||
!byte $C8
|
||||
!byte $91,$02
|
||||
!byte $A9,$09
|
||||
!byte $A0,$F1
|
||||
!byte $91,$02
|
||||
!byte $A9,$08
|
||||
!byte $A0,$E1
|
||||
!byte $91,$02
|
||||
!byte $A9,$4C
|
||||
!byte $85,$01
|
||||
!byte $A9,$93
|
||||
!byte $85,$02
|
||||
!byte $20,$01,$00
|
||||
!byte $A0,$00
|
||||
!byte $84,$02
|
||||
!byte $A5,$1E
|
||||
!byte $85,$08
|
||||
bcs .exit
|
||||
lda #s_rol1e
|
||||
jsr PrintByID
|
||||
|
@ -6,7 +6,6 @@
|
||||
; e.g. Microzine 15, Alpine Tram Ride
|
||||
;-------------------------------
|
||||
!zone {
|
||||
_runhello
|
||||
lda gIsProDOS ; this exact protection is only
|
||||
beq .exit ; on DOS 3.3 disks (other patchers
|
||||
lda gIsPascal ; will catch other variations)
|
||||
|
@ -3,7 +3,6 @@
|
||||
; address prologue byte 1 (read)
|
||||
;-------------------------------
|
||||
!zone {
|
||||
rwtspatcher
|
||||
lda gIsRWTS ; if DOS 3.3 RWTS
|
||||
bne .ap1r
|
||||
lda #$03
|
||||
@ -638,7 +637,11 @@ rwtspatcher
|
||||
ldx #$4F
|
||||
ldy #$0A
|
||||
jsr compare ; and T00,S03,$4F ==
|
||||
!byte $BD,$8C,$C0,$10,$FB,$4A,$97,$6A,$D0,$EF
|
||||
!byte $BD,$8C,$C0
|
||||
!byte $10,$FB
|
||||
!byte $4A
|
||||
!byte WILDCARD,$6A
|
||||
!byte $D0,$EF
|
||||
bcs .lsr6a
|
||||
lda #s_lsr6a
|
||||
jsr PrintByID
|
||||
@ -659,7 +662,18 @@ rwtspatcher
|
||||
ldx #$8B
|
||||
ldy #$15
|
||||
jsr compare ; and T00,S03,$8B ==
|
||||
!byte $BD,$8C,$C0,$10,$FB,$C9,$DE,$F0,$0A,$48,$68,$BD,$8C,$C0,$C9,$08,$B0,$A5,$EA,$18,$60
|
||||
!byte $BD,$8C,$C0
|
||||
!byte $10,$FB
|
||||
!byte $C9,$DE
|
||||
!byte $F0,$0A
|
||||
!byte $48
|
||||
!byte $68
|
||||
!byte $BD,$8C,$C0
|
||||
!byte $C9,$08
|
||||
!byte $B0,$A5
|
||||
!byte $EA
|
||||
!byte $18
|
||||
!byte $60
|
||||
bcs .bcs08
|
||||
lda #s_bcs08
|
||||
jsr PrintByID
|
||||
|
@ -7,7 +7,6 @@
|
||||
; e.g. Puzzle Master
|
||||
;-------------------------------
|
||||
!zone {
|
||||
_rwtsswap
|
||||
lda gIsBoot0 ; if DOS 3.3 boot0 loader
|
||||
bne .exit
|
||||
lda gIsBoot1 ; and DOS 3.3 boot1 loader
|
||||
@ -16,17 +15,21 @@ _rwtsswap
|
||||
ldx #$69
|
||||
ldy #$0B
|
||||
jsr compare ; and T00,S04,$69 ==
|
||||
!byte $A0,$07,$B9,$DF,$BC,$99,$94,$B9
|
||||
!byte $88,$10,$F7
|
||||
!byte $A0,$07
|
||||
!byte $B9,$DF,$BC
|
||||
!byte $99,$94,$B9
|
||||
!byte $88
|
||||
!byte $10,$F7
|
||||
bcs .exit
|
||||
lda #$04
|
||||
ldx #$7F
|
||||
ldy #$0B
|
||||
jsr compare ; and T00,S04,$7F ==
|
||||
!byte $A0,$07,$B9,$E7,$BC,$99,$94,$B9
|
||||
!byte $88,$10,$F7
|
||||
!byte $A0,$07
|
||||
!byte $B9,$E7,$BC
|
||||
!byte $99,$94,$B9
|
||||
!byte $88
|
||||
!byte $10,$F7
|
||||
bcs .exit
|
||||
lda #$04
|
||||
ldx #$69
|
||||
ldy #$01
|
||||
jsr modify ; then set T00,S04,$69 =
|
||||
|
@ -14,19 +14,28 @@ _rwtsswap2
|
||||
ldx #$69
|
||||
ldy #$13
|
||||
jsr compare ; and T00,S04,$69 ==
|
||||
!byte $A9,$AB,$8D,$4B,$B8,$A9,$FF,$20
|
||||
!byte $DF,$BC,$20,$EC,$BC,$A9,$AA,$8D
|
||||
!byte $29,$BA,$60
|
||||
!byte $A9,$AB
|
||||
!byte $8D,$4B,$B8
|
||||
!byte $A9,$FF
|
||||
!byte $20,$DF,$BC
|
||||
!byte $20,$EC,$BC
|
||||
!byte $A9,$AA
|
||||
!byte $8D,$29,$BA
|
||||
!byte $60
|
||||
bcs .exit
|
||||
lda #$04
|
||||
ldx #$7D
|
||||
ldy #$15
|
||||
jsr compare ; and T00,S04,$7D ==
|
||||
!byte $A9,$FF,$8D,$4B,$B8,$A9,$DE,$20
|
||||
!byte $DF,$BC,$A9,$AA,$20,$EC,$BC,$A9
|
||||
!byte $96,$8D,$29,$BA,$60
|
||||
!byte $A9,$FF
|
||||
!byte $8D,$4B,$B8
|
||||
!byte $A9,$DE
|
||||
!byte $20,$DF,$BC
|
||||
!byte $A9,$AA
|
||||
!byte $20,$EC,$BC
|
||||
!byte $A9,$96
|
||||
!byte $8D,$29,$BA
|
||||
!byte $60
|
||||
bcs .exit
|
||||
lda #$04
|
||||
ldx #$69
|
||||
ldy #$01
|
||||
jsr modify ; then set T00,S04,$69 =
|
||||
|
@ -7,13 +7,19 @@
|
||||
_rwtsswapmecc
|
||||
ldy #$11
|
||||
jsr SearchTrack
|
||||
!byte $0A,$18,$69,$FF,$A8,$8D,$8B,$C0
|
||||
!byte $8D,$8B,$C0,$B9,$97,$97,$8D,$AC
|
||||
!byte $D5
|
||||
!byte $0A
|
||||
!byte $18
|
||||
!byte $69,$FF
|
||||
!byte $A8
|
||||
!byte $8D,$8B,$C0
|
||||
!byte $8D,$8B,$C0
|
||||
!byte $B9,WILDCARD,WILDCARD
|
||||
!byte $8D,$AC,$D5
|
||||
bcs .exit
|
||||
sta gDisplayBytes
|
||||
ldy #$03
|
||||
jsr modify
|
||||
!byte $A9,$00,$24
|
||||
!byte $A9,$00
|
||||
!byte $24
|
||||
.exit
|
||||
}
|
||||
|
@ -9,7 +9,6 @@
|
||||
; module by qkumba
|
||||
;-------------------------------
|
||||
!zone {
|
||||
_sierra
|
||||
lda .foundsierra
|
||||
bne +
|
||||
jmp .dosearch
|
||||
|
@ -7,7 +7,6 @@
|
||||
; patchers due to overlapping bytes
|
||||
;-------------------------------
|
||||
!zone {
|
||||
_sunburst
|
||||
sec
|
||||
lda gIsRWTS ; if DOS 3.3 RWTS
|
||||
bne .exit
|
||||
@ -27,18 +26,36 @@ _sunburst
|
||||
ldx #$69
|
||||
ldy #$2C
|
||||
jsr compare ; and T00,S04,$69 ==
|
||||
!byte $48,$A5,$2A,$4A,$A8,$B9,$29,$BA
|
||||
!byte $8D,$6A,$B9,$8D,$84,$BC,$B9,$34
|
||||
!byte $BA,$8D,$FC,$B8,$8D,$5D,$B8,$C0
|
||||
!byte $11,$D0,03,$A9,02,$AC,$A9,$0E
|
||||
!byte $8D,$C0,$BF,$68,$69,00,$48,$AD
|
||||
!byte $78,04,$90,$2B
|
||||
!byte $48
|
||||
!byte $A5,$2A
|
||||
!byte $4A
|
||||
!byte $A8
|
||||
!byte $B9,$29,$BA
|
||||
!byte $8D,$6A,$B9
|
||||
!byte $8D,$84,$BC
|
||||
!byte $B9,$34,$BA
|
||||
!byte $8D,$FC,$B8
|
||||
!byte $8D,$5D,$B8
|
||||
!byte $C0,$11
|
||||
!byte $D0,$03
|
||||
!byte $A9,$02
|
||||
!byte $AC
|
||||
!byte $A9,$0E
|
||||
!byte $8D,$C0,$BF
|
||||
!byte $68
|
||||
!byte $69,00
|
||||
!byte $48
|
||||
!byte $AD,$78,04
|
||||
!byte $90,$2B
|
||||
bcs .exit
|
||||
lda #$06
|
||||
ldx #$69
|
||||
ldy #$06
|
||||
jsr compare ; and T00,S06,$69 ==
|
||||
!byte $4C,$B8,$B6,$EA,$EA,$EA
|
||||
!byte $4C,$B8,$B6
|
||||
!byte $EA
|
||||
!byte $EA
|
||||
!byte $EA
|
||||
bcs .exit
|
||||
lda #$08
|
||||
ldx #$8C
|
||||
@ -63,7 +80,8 @@ _sunburst
|
||||
ldx #$69
|
||||
ldy #$06
|
||||
jsr modify ; and set T00,S06,$69 =
|
||||
!byte $20,$C3,$BC,$20,$C3,$BC
|
||||
!byte $20,$C3,$BC
|
||||
!byte $20,$C3,$BC
|
||||
lda #$08
|
||||
ldx #$8C
|
||||
ldy #$02
|
||||
|
@ -8,7 +8,6 @@
|
||||
; Dig Dug, Pac-Man, Galaxian
|
||||
;-------------------------------
|
||||
!zone {
|
||||
_thunder
|
||||
lda gIsBoot0 ; if DOS 3.3 boot0 loader
|
||||
bne .no
|
||||
lda gIsBoot1 ; and DOS 3.3 boot1 loader
|
||||
@ -17,7 +16,8 @@ _thunder
|
||||
ldx #$3E
|
||||
ldy #$04
|
||||
jsr compare ; and T00,S03,$3E ==
|
||||
!byte $4C,$B3,$B6,$EA
|
||||
!byte $4C,$B3,$B6
|
||||
!byte $EA
|
||||
bcc +
|
||||
.no
|
||||
jmp .exit
|
||||
|
Loading…
Reference in New Issue
Block a user