mirror of https://github.com/a2-4am/passport.git
add support for unencrypted AdvInt [fixes Spiderman,War]
This commit is contained in:
parent
cc3a9c4f7e
commit
43a719aa56
|
@ -466,6 +466,8 @@ _byte_skip_hi:
|
||||||
rts
|
rts
|
||||||
|
|
||||||
!source "id/bootfailure.a"
|
!source "id/bootfailure.a"
|
||||||
|
nop
|
||||||
|
nop
|
||||||
!source "wholetrack.a"
|
!source "wholetrack.a"
|
||||||
!source "apicode.a" ; /!\ must be last
|
!source "apicode.a" ; /!\ must be last
|
||||||
|
|
||||||
|
|
|
@ -1,30 +1,66 @@
|
||||||
;-------------------------------
|
;-------------------------------
|
||||||
; #ADVINT
|
; #ADVINT
|
||||||
; encrypted protection check on
|
; protection check on Adventure International disks
|
||||||
; Adventure International disks
|
; usually encrypted but not always
|
||||||
;
|
;
|
||||||
; tested on
|
; tested on
|
||||||
; - Curse of Crowley Manor
|
; - Curse of Crowley Manor
|
||||||
; - Earthquake San Francisco 1906
|
; - Earthquake San Francisco 1906
|
||||||
; - QuestProbe featuring The Hulk
|
; - QuestProbe featuring The Hulk
|
||||||
|
; - QuestProbe featuring Spider-Man vB-258
|
||||||
|
; - QuestProbe featuring Spider-Man vF-261
|
||||||
; - SAGA1 - Adventureland v2.0-416
|
; - SAGA1 - Adventureland v2.0-416
|
||||||
; - SAGA1 - Adventureland v2.1-416
|
; - SAGA1 - Adventureland v2.1-416
|
||||||
; - SAGA2 - Pirate Adventure v2.1-408
|
; - SAGA2 - Pirate Adventure v2.1-408
|
||||||
; - SAGA3 - Mission Impossible v2.1/306
|
; - SAGA3 - Mission Impossible v2.1-306
|
||||||
; - SAGA4 - Voodoo Castle v2.1/119
|
; - SAGA4 - Voodoo Castle v2.1-119
|
||||||
; - SAGA5 - The Count v2.1-115
|
; - SAGA5 - The Count v2.1-115
|
||||||
; - SAGA6 - Strange Odyssey v2.1-119
|
; - SAGA6 - Strange Odyssey v2.1-119
|
||||||
;-------------------------------
|
;-------------------------------
|
||||||
!zone {
|
!zone {
|
||||||
lda gAdventureInternational
|
lda gAdventureInternational
|
||||||
bne .exit
|
bne .exit
|
||||||
|
; variant 0 - very old, possibly first generation
|
||||||
|
ldy #$09
|
||||||
|
jsr SearchTrack
|
||||||
|
!byte $C9,$9C
|
||||||
|
!byte $B0,$04
|
||||||
|
!byte $BD,$88,$C0
|
||||||
|
!byte $60
|
||||||
|
!byte $4C
|
||||||
|
bcs .variant1 ; passport-test-suite/War.woz [C=0] matches
|
||||||
|
jsr PrintByID
|
||||||
|
!byte s_advint
|
||||||
|
jsr inx8
|
||||||
|
jsr modify3
|
||||||
|
!byte $18 ;CLC
|
||||||
|
!byte $90,$F9 ;BCC -$F9
|
||||||
|
bvc .exit ; always branches
|
||||||
|
;-----
|
||||||
|
.variant1
|
||||||
|
; variant 1 - unencrypted
|
||||||
|
ldy #$08
|
||||||
|
jsr SearchTrack
|
||||||
|
!byte $4C,WILDCARD,WILDCARD ;JMP $****
|
||||||
|
!byte $BD,$8C,$C0 ;LDA $C08C,X
|
||||||
|
!byte $10,$FB ;BPL -$FB
|
||||||
|
bcs .variant2 ; passport-test-suite/Spiderman B.woz [C=0] matches
|
||||||
|
jsr PrintByID
|
||||||
|
!byte s_advint
|
||||||
|
jsr modify3
|
||||||
|
!byte $18 ;CLC
|
||||||
|
!byte $90,$6E ;BCC +$6E
|
||||||
|
bvc .exit ; always branches
|
||||||
|
;-----
|
||||||
|
.variant2
|
||||||
|
; variant 2 - bytes are XOR'd with #$C9 on disk
|
||||||
|
; comments show decrypted code
|
||||||
ldy #$08
|
ldy #$08
|
||||||
jsr SearchTrack
|
jsr SearchTrack
|
||||||
; bytes are XORd with #$C9 on disk -- comments show decrypted code
|
|
||||||
!byte $85,WILDCARD,WILDCARD ;JMP $****
|
!byte $85,WILDCARD,WILDCARD ;JMP $****
|
||||||
!byte $74,$45,$09 ;LDA $C08C,X
|
!byte $74,$45,$09 ;LDA $C08C,X
|
||||||
!byte $D9,$32 ;BPL -$FB
|
!byte $D9,$32 ;BPL -$FB
|
||||||
bcs .exit ; passport-test-suite/S.A.G.A. 6.woz [C=0] matches
|
bcs .exit ; passport-test-suite/S.A.G.A. 6.woz [C=0] matches
|
||||||
jsr PrintByID
|
jsr PrintByID
|
||||||
!byte s_advint
|
!byte s_advint
|
||||||
jsr modify3
|
jsr modify3
|
||||||
|
|
|
@ -387,7 +387,7 @@ StringTableHigh ; must be kept in sync with constants in enid.a
|
||||||
.passport
|
.passport
|
||||||
!text "Passport ",$00
|
!text "Passport ",$00
|
||||||
.header
|
.header
|
||||||
!text "@",s_passport,"by 4am@",s_space7,"@",s_space7," 2024-03-27",$00
|
!text "@",s_passport,"by 4am@",s_space7,"@",s_space7," 2024-04-28",$00
|
||||||
.bar9
|
.bar9
|
||||||
!text "_________",$00
|
!text "_________",$00
|
||||||
.bar18
|
.bar18
|
||||||
|
|
|
@ -87,6 +87,8 @@ SkipTrack
|
||||||
cmp #$22
|
cmp #$22
|
||||||
clc
|
clc
|
||||||
bne @donotskip
|
bne @donotskip
|
||||||
|
lda #TRUE
|
||||||
|
sta gAdventureInternational
|
||||||
lda gIsProDOS
|
lda gIsProDOS
|
||||||
bne @donotskip
|
bne @donotskip
|
||||||
sta gPossibleGamco
|
sta gPossibleGamco
|
||||||
|
|
Loading…
Reference in New Issue