better sigcheck patch with no disk grinding

This commit is contained in:
4am 2021-09-13 12:20:36 -04:00
parent 5fb1e40e0a
commit d6a68f40f5
5 changed files with 27 additions and 38 deletions

View File

@ -83,10 +83,6 @@ FIRSTFILTER
!byte FALSE ; 0=true, 1=false
; reset before each operation
; set in IDVolumeName() after identifying ProDOS bootloader
;gPossibleSigCheck
!byte FALSE ; 0=true, 1=false
; reset before each operation
; set in IsWideTrack() after finding extra wide protection track
;gPossibleB4BBBasic
!byte FALSE ; 0=true, 1=false
; reset before each operation

View File

@ -182,8 +182,7 @@ gIsTSR = gIsDiversi-$01 ; byte
gPossibleMECCSwapper = gIsTSR-$01 ; byte
gPossibleWoodbury = gPossibleMECCSwapper-$01 ; byte
gPossibleB4BBBasic = gPossibleWoodbury-$01 ; byte
gPossibleSigCheck = gPossibleB4BBBasic-$01 ; byte
gIsLowDOS = gPossibleSigCheck-$01 ; byte
gIsLowDOS = gPossibleB4BBBasic-$01 ; byte
;LASTFILTER ; add new gIs* above this line
;gIsInfocom18 is a special case whose ID is not in the regular inspection path
gIsInfocom18 = gIsLowDOS-$01 ; byte

View File

@ -3,22 +3,25 @@
; productized extra wide track protection check
;
; tested on
; - Advanced Electricity
; - Complex Circuits
; - Projectile and Circular Motion
; - Advanced Electricity (EME)
; - Complex Circuits (EME)
; - Projectile and Circular Motion (EME)
; - Inca (Hayden)
; - Holy Grail (Hayden)
; - The Dam Busters (Accolade)
; - Conjecture (Robert Scott)
; - Solo Flight (MicroProse)
;-------------------------------
lda gPossibleSigCheck
lda gIsBoot0
bne +
ldy #$0A
ldy #$06
jsr SearchTrack
!byte $4C,$42,$61
!byte $A9,$00
!byte $F0,$02
!byte $A9,$FF
!byte $18 ; CLC
!byte $B0,$7E ; BCS +
!byte $A5,$00 ; LDA $00
!byte $48
bcs + ; passport-test-suite/Advanced Electricity.woz [C=0] matches
jsr inx8
jsr modify1
!byte $00
jsr modify3
!byte $A9,$00 ; LDA #$00
!byte $60 ; RTS
+

View File

@ -3,26 +3,19 @@
; productized extra wide track protection check
;
; tested on
; - Hardball
; - Hardball (Accolade)
; - Law of the West (Accolade)
;-------------------------------
; gTrack = 0
ldy #$0A
ldy #$06
jsr SearchTrack
!byte $4C,$42,$61
!byte $A9,$00
!byte $F0,$02
!byte $A9,$FF
!byte $18 ; CLC
!byte $B0,$7E ; BCS +
!byte $A5,$00 ; LDA $00
!byte $48
bcs + ; passport-test-suite/Hardball.woz [C=0] matches
inx
inx
inx
inx
inx
inx
inx
inx
jsr modify1
!byte $00
jsr modify3
!byte $A9,$00 ; LDA #$00
!byte $60 ; RTS
+

View File

@ -267,9 +267,7 @@ IsWideTrack
beq +
sec
rts
+ lda #TRUE
sta gPossibleSigCheck
clc
+ clc
rts
;-------------------------------