erase serial numbers while cracking Lock-It-Up disks, if present

This commit is contained in:
4am 2021-06-07 17:03:11 -04:00
parent ff6e074bee
commit 3129a8d4e2
4 changed files with 38 additions and 2 deletions

View File

@ -452,6 +452,8 @@ Development (unreleased)
The Desecration, Depreciation Log)
- "BB00 protection" renamed to its
marketing name "Lock-It-Up"
- Serial numbers will be erased while
cracking Lock-It-Up disks, if present
- Update Passport disk to ProDOS 2.4.2
- Matching updates to the
[Passport test suite](https://github.com/a2-4am/passport-test-suite)

View File

@ -1,4 +1,4 @@
;-------------------------------
; #JMPBBFE
; marketed as 'Lock-It-Up'
; boot0 jumps to ($BBFE) instead of ($08FD)
@ -135,5 +135,29 @@ _jmpbbfe
jsr modify
+ !byte $FD ; SMC (byte offset of new entry point)
ldx #$5E
ldy #$02
jsr compare ; check for code that branches over serial number
!byte $D0,$05
bcs .exit
inx
inx
ldy #$05
jsr compare ; see if there is actually a non-zero serial number
!byte $00,$00,$00,$00,$00
bcc .exit ; passport-test-suite/Quadrilaterals.woz [C=1] here
sta gDisplayBytes+5
ldy #4
- lda $1560, y
sta gDisplayBytes, y
lda #0
sta $1560, y
dey
bpl -
lda #s_lockitupserial
jsr PrintByID
.exit
}

View File

@ -164,6 +164,8 @@ StringTableLow
!byte <.targetcffa
!byte <.rw18
!byte <.x555
!byte <.erasingserialnumber
!byte <.lockitupserial
StringTableHigh
!byte >.header
@ -311,6 +313,8 @@ StringTableHigh
!byte >.targetcffa
!byte >.rw18
!byte >.x555
!byte >.erasingserialnumber
!byte >.lockitupserial
;
; Text can contain substitution strings, which
@ -416,6 +420,8 @@ StringTableHigh
!text "accepts any value for the",$00
.addressepilogue
!text "address epilogue ",$00
.erasingserialnumber
!text "Erasing serial number ",$00
.lockitup
!text "@",s_found,"Lock-It-Up protection",$8D
!text "T00,S0A @",s_maybeunreadable,$8D,$00
@ -582,7 +588,9 @@ StringTableHigh
.decryptrwts
!text "T00 Decrypting RWTS before writing",$8D,$00
.protserial
!text "T%t,S%3 Erasing serial number %0%1%2",$8D,$00
!text "T%t,S%3 @",s_erasingserialnumber,"%0%1%2",$8D,$00
.lockitupserial
!text "T%t,S%5 @",s_erasingserialnumber,"%0%1%2%3%4",$00
.fbff
!text "@",s_found,"FBFF @",s_protectioncheck,$8D,$00
.encoded44

View File

@ -147,3 +147,5 @@ s_targetfile = $8D
s_targetcffa = $8E
s_rw18 = $8F
s_555 = $90
s_erasingserialnumber = $91
s_lockitupserial = $92