patcher cleanup

This commit is contained in:
4am 2017-05-04 11:52:09 -04:00
parent 6554b44b3d
commit c1e40bcba8
22 changed files with 188 additions and 80 deletions

View File

@ -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

View File

@ -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
}

View File

@ -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

View File

@ -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

View File

@ -5,7 +5,6 @@
; e.g. Word Munchers v1.1
;-------------------------------
!zone {
_mecc3
jsr IDMECC
bcs .exit
jsr IDMECC3

View File

@ -5,7 +5,6 @@
; e.g. A-201 Conquering Whole Numbers
;-------------------------------
!zone {
_mecc4
jsr IDMECC
bcs .exit
jsr IDMECC4

View File

@ -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

View File

@ -7,7 +7,6 @@
; The Writing Workshop, Math Sequences
;-------------------------------
!zone {
_milliken
jsr IDMilliken1
bcs .exit
lda #$01

View File

@ -7,7 +7,6 @@
; module by qkumba
;-------------------------------
!zone {
_optimum
lda gIsOptimum
bne .jmpexit1
ldy #15

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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 =

View File

@ -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 =

View File

@ -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
}

View File

@ -9,7 +9,6 @@
; module by qkumba
;-------------------------------
!zone {
_sierra
lda .foundsierra
bne +
jmp .dosearch

View File

@ -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

View File

@ -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