add support for TAY/BIT any-checksum protection [fixes SVS Rapid Reader, E-Z Learner]

This commit is contained in:
4am 2023-05-28 20:02:43 -04:00
parent d20981ed0e
commit 25634996e2
3 changed files with 25 additions and 2 deletions

View File

@ -154,9 +154,26 @@ _rwtslog_start
!byte $10,$FB
!byte $C9,$AA
!byte $EA,$EA
bcs _rwtslog_end ; passport-test-suite/La Guillotine.woz [C=0] matches
bcs @cmpnopnop_end ; passport-test-suite/La Guillotine.woz [C=0] matches
jsr PrintByID
!byte s_cmpnopnop
inc gPatchCount
@cmpnopnop_end
;-------------------------------
; RWTS "TAY / BIT" identification
; disk allows any value for
; for address field checksum
;-------------------------------
lda #$03
ldx #$88
ldy #$03
jsr compare ; if T00,S03,$88 ==
!byte $A8
!byte $24,$B7
bcs _rwtslog_end ; passport-test-suite/E-Z Learner.woz [C=0] matches
jsr PrintByID
!byte s_anychecksum
inc gPatchCount
_rwtslog_end

View File

@ -219,6 +219,7 @@ StringTableLow ; must be kept in sync with constants in enid.a
!byte <.neosoft
!byte <.probs5
!byte <.didatech
!byte <.anychecksum
StringTableHigh ; must be kept in sync with constants in enid.a
!byte >.header
@ -377,11 +378,12 @@ StringTableHigh ; must be kept in sync with constants in enid.a
!byte >.neosoft
!byte >.probs5
!byte >.didatech
!byte >.anychecksum
.passport
!text "Passport ",$00
.header
!text "@",s_passport,"by 4am@",s_space7,"@",s_space7," 2023-05-04",$00
!text "@",s_passport,"by 4am@",s_space7,"@",s_space7," 2023-05-28",$00
.bar9
!text "_________",$00
.bar18
@ -781,3 +783,6 @@ StringTableHigh ; must be kept in sync with constants in enid.a
.didatech
!text "@",s_found,"Didatech disk",$8D
!text "T02,S07 @",s_maybeunreadable,$8D,$00
.anychecksum
!text "@",s_rwts,"@",s_acceptsany,$8D
!text "address field checksum",$8D,$00

View File

@ -157,3 +157,4 @@ s_sfc = $98
s_neosoft = $99
s_probs5 = $9A
s_didatech = $9B
s_anychecksum = $9C