mirror of
https://github.com/a2-4am/passport.git
synced 2024-12-21 13:29:19 +00:00
erase serial numbers while cracking Lock-It-Up disks, if present
This commit is contained in:
parent
ff6e074bee
commit
3129a8d4e2
@ -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)
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -147,3 +147,5 @@ s_targetfile = $8D
|
||||
s_targetcffa = $8E
|
||||
s_rw18 = $8F
|
||||
s_555 = $90
|
||||
s_erasingserialnumber = $91
|
||||
s_lockitupserial = $92
|
||||
|
Loading…
Reference in New Issue
Block a user