mirror of
https://github.com/a2-4am/passport.git
synced 2024-08-31 08:29:14 +00:00
add support for encrypted E7Everywhere [fixes Language Carnival]
This commit is contained in:
parent
7829069ff4
commit
b2686f485e
@ -404,6 +404,7 @@ _endDiversiPatchers
|
||||
+
|
||||
!source "patchers/bbf9.a" ; gIsProDOS only
|
||||
!source "patchers/fbffencrypted.a" ; gIsProDOS only
|
||||
!source "patchers/e7everywhere.encrypted.a" ; gIsProDOS only
|
||||
!source "patchers/pfs.prodos.a" ; gIsProDOS && T05 only
|
||||
!source "patchers/leisure.a" ; gIsProDOS && T22 only
|
||||
!source "patchers/memory.config.a" ; gIsProDOS only
|
||||
|
@ -3,8 +3,9 @@
|
||||
; E7 bitstream in the track seam of every track
|
||||
;
|
||||
; We can't attack the bitstream itself (like #UNIVERSALE7) because it's not
|
||||
; within any sector data, so we search for the code instead. AFAIK the code
|
||||
; is never encrypted.
|
||||
; within any sector data, so we search for the code instead. Encrypted
|
||||
; variant is handled elsewhere.
|
||||
;
|
||||
; This does a full-track search on every track, which is unfortunate. I've
|
||||
; only seen this protection on DOS and ProDOS disks, so we filter on that
|
||||
; to optimize performance a little bit.
|
||||
|
30
src/patchers/e7everywhere.encrypted.a
Executable file
30
src/patchers/e7everywhere.encrypted.a
Executable file
@ -0,0 +1,30 @@
|
||||
;------------------------------------------------------------------------------
|
||||
; #E7EVERYWHERE.ENCRYPTED
|
||||
; E7 bitstream in the track seam of every track
|
||||
;
|
||||
; We can't attack the bitstream itself (like #UNIVERSALE7) because it's not
|
||||
; within any sector data, so we search for the code instead.
|
||||
;
|
||||
; tested on
|
||||
; - Language Carnival 1 & 2 (DLM)
|
||||
;------------------------------------------------------------------------------
|
||||
; gIsProDOS is TRUE here
|
||||
lda #$0F
|
||||
sta .sector+1
|
||||
.sector lda #$FF ; modified at runtime
|
||||
ldx #$0C
|
||||
ldy #$0A
|
||||
jsr compare
|
||||
!byte $F5
|
||||
!byte $20,$00,$20
|
||||
!byte $90,$04
|
||||
!byte $20,$B0,$FE
|
||||
!byte $60
|
||||
bcs .nextsector ; passport-test-suite/Language Carnival.woz [C=0] matches
|
||||
jsr PrintByID
|
||||
!byte s_e7everywhere
|
||||
jsr modify1 ; change branch target to success path
|
||||
!byte $09
|
||||
.nextsector
|
||||
dec .sector+1
|
||||
bpl .sector
|
@ -387,7 +387,7 @@ StringTableHigh ; must be kept in sync with constants in enid.a
|
||||
.passport
|
||||
!text "Passport ",$00
|
||||
.header
|
||||
!text "@",s_passport,"by 4am@",s_space7,"@",s_space7," 2024-04-28",$00
|
||||
!text "@",s_passport,"by 4am@",s_space7,"@",s_space7," 2024-04-29",$00
|
||||
.bar9
|
||||
!text "_________",$00
|
||||
.bar18
|
||||
|
Loading…
Reference in New Issue
Block a user