mirror of
https://github.com/a2-4am/passport.git
synced 2024-12-24 17:29:40 +00:00
add patchers/f7f6 for SSPROT1 encrypted nibble check with checksum 35
This commit is contained in:
parent
f7693d117d
commit
48706b4067
@ -738,6 +738,7 @@ _applyToAll
|
|||||||
!source "patchers/sierra13.a" ; gIsDOS32 only
|
!source "patchers/sierra13.a" ; gIsDOS32 only
|
||||||
!source "patchers/t11diskvol.a" ; T11 && gIsRWTS only
|
!source "patchers/t11diskvol.a" ; T11 && gIsRWTS only
|
||||||
!source "patchers/t02volumename.a" ; T02 && gIsBoot0 only
|
!source "patchers/t02volumename.a" ; T02 && gIsBoot0 only
|
||||||
|
!source "patchers/f7f6.a" ; gIsBoot0 only
|
||||||
|
|
||||||
lda gPatchCount
|
lda gPatchCount
|
||||||
beq .nopatches
|
beq .nopatches
|
||||||
|
62
src/patchers/f7f6.a
Normal file
62
src/patchers/f7f6.a
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
;-------------------------------
|
||||||
|
; #F7F6
|
||||||
|
; nibble check hidden inside encrypted startup program SSPROT$$1
|
||||||
|
;
|
||||||
|
; tested on
|
||||||
|
; Grammar Lab 1 (1986, Southwell)
|
||||||
|
; Grammar Lab 2 (1986, Southwell)
|
||||||
|
; Mathematics Activities Courseware Level 4 (1983, Houghton Mifflin)
|
||||||
|
; Mathematics Activities Courseware Level 6 (1983, Houghton Mifflin)
|
||||||
|
; Sailing Through Story Problems (1987, DLM)
|
||||||
|
; Spanish Grammar Review - Future and Conditional Tenses of Regular and Irregular Verbs (1984, Gessler)
|
||||||
|
; Spanish Grammar Review - Familiar and Formal Commands in the Affirmative and Negative (1984, Gessler)
|
||||||
|
; Spanish Grammar Review - Por vs. Para (1984, Gessler)
|
||||||
|
; Water in the Air Quiz (1985, EME)
|
||||||
|
;-------------------------------
|
||||||
|
!zone {
|
||||||
|
lda gIsBoot0
|
||||||
|
bne .exit
|
||||||
|
lda #$0F
|
||||||
|
sta .sector+1
|
||||||
|
.sector lda #$FF ; modified above
|
||||||
|
sta gDisplayBytes
|
||||||
|
ldx #$00
|
||||||
|
ldy #$08
|
||||||
|
jsr compare
|
||||||
|
!byte $00,$08,$02,$03
|
||||||
|
!byte $D8 ; CLD
|
||||||
|
!byte $20,$0B,$08 ; JSR $080B
|
||||||
|
bcs .nextsector
|
||||||
|
ldx #$17
|
||||||
|
ldy #$0C
|
||||||
|
jsr compare
|
||||||
|
!byte $A9,$00 ; LDA #$00
|
||||||
|
!byte $AA ; TAX
|
||||||
|
!byte $5D,$00,$08 ; EOR $0800,X
|
||||||
|
!byte $CA ; DEX
|
||||||
|
!byte $F0,$03 ; BEQ +3
|
||||||
|
!byte $4C,$16,$08 ; JMP $0816
|
||||||
|
bcs .nextsector
|
||||||
|
ldx #$76
|
||||||
|
ldy #$03
|
||||||
|
jsr compare
|
||||||
|
!byte $23,$2A,$28
|
||||||
|
bcs .nextsector
|
||||||
|
lda #s_f7f6
|
||||||
|
jsr PrintByID
|
||||||
|
lda .sector+1
|
||||||
|
ldx #$20
|
||||||
|
ldy #$03
|
||||||
|
jsr modify
|
||||||
|
!byte $EA ; NOP
|
||||||
|
!byte $A9,$35 ; LDA #$35
|
||||||
|
lda .sector+1
|
||||||
|
ldx #$76
|
||||||
|
ldy #$02
|
||||||
|
jsr modify
|
||||||
|
!byte $AA,$A2 ; new JMP entry point ($0900 when decrypted)
|
||||||
|
.nextsector
|
||||||
|
dec .sector+1
|
||||||
|
bpl .sector
|
||||||
|
.exit
|
||||||
|
}
|
@ -112,6 +112,7 @@ StringTable
|
|||||||
!word .origin
|
!word .origin
|
||||||
!word .volumename
|
!word .volumename
|
||||||
!word .dinkeydos
|
!word .dinkeydos
|
||||||
|
!word .f7f6
|
||||||
;
|
;
|
||||||
; Text can contain substitution strings, which
|
; Text can contain substitution strings, which
|
||||||
; are replaced by current values at runtime. Each
|
; are replaced by current values at runtime. Each
|
||||||
@ -137,7 +138,7 @@ StringTable
|
|||||||
; can be set directly before calling PrintByID.
|
; can be set directly before calling PrintByID.
|
||||||
;
|
;
|
||||||
.header
|
.header
|
||||||
!text "Passport by 4am 2017-12-12",$00
|
!text "Passport by 4am 2017-12-24",$00
|
||||||
.mainmenu
|
.mainmenu
|
||||||
!text "________________________________________",$8D,$8D,$8D,$8D,$8D,$8D,$8D
|
!text "________________________________________",$8D,$8D,$8D,$8D,$8D,$8D,$8D
|
||||||
!text " "
|
!text " "
|
||||||
@ -428,4 +429,6 @@ StringTable
|
|||||||
!text "T%t,S%0 Volume name is ",$00
|
!text "T%t,S%0 Volume name is ",$00
|
||||||
.dinkeydos
|
.dinkeydos
|
||||||
!text "T00,S0B Found Dinkey-DOS",$8D,$00
|
!text "T00,S0B Found Dinkey-DOS",$8D,$00
|
||||||
|
.f7f6
|
||||||
|
!text "T%t,S%0 Found F7F6 protection check",$8D,$00
|
||||||
}
|
}
|
||||||
|
@ -100,4 +100,5 @@ s_muse = $5E
|
|||||||
s_origin = $5F
|
s_origin = $5F
|
||||||
s_volumename = $60
|
s_volumename = $60
|
||||||
s_dinkeydos = $61
|
s_dinkeydos = $61
|
||||||
STRINGCOUNT = $62
|
s_f7f6 = $62
|
||||||
|
STRINGCOUNT = $63
|
||||||
|
Loading…
Reference in New Issue
Block a user