mirror of
https://github.com/a2-4am/passport.git
synced 2025-01-03 08:33:18 +00:00
NEW: patch encrypted FBFF checks used by Polarware and others
This commit is contained in:
parent
0cba115097
commit
31666546f6
@ -744,6 +744,8 @@ _applyToAll
|
|||||||
!source "patchers/rwtsswapmecc.a" ; gIsMECCFastloader only
|
!source "patchers/rwtsswapmecc.a" ; gIsMECCFastloader only
|
||||||
!source "patchers/protecteddos.a" ; gIsProtDOS only
|
!source "patchers/protecteddos.a" ; gIsProtDOS only
|
||||||
!source "patchers/fbff.a"
|
!source "patchers/fbff.a"
|
||||||
|
!source "patchers/fbffencrypted.a" ; gIsProDOS only
|
||||||
|
!source "patchers/polarware.a" ; gIsProDOS only
|
||||||
!source "patchers/sierra.a" ; gIsBoot0 only
|
!source "patchers/sierra.a" ; gIsBoot0 only
|
||||||
!source "patchers/corrupter.a" ; T13 only
|
!source "patchers/corrupter.a" ; T13 only
|
||||||
!source "patchers/ea.a" ; (gIsEA || gIsBoot0) only
|
!source "patchers/ea.a" ; (gIsEA || gIsBoot0) only
|
||||||
|
45
src/patchers/fbffencrypted.a
Normal file
45
src/patchers/fbffencrypted.a
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
;-------------------------------
|
||||||
|
; #FBFFENCRYPTED
|
||||||
|
; an encrypted variant of Activision's Timing Bit Detection
|
||||||
|
;
|
||||||
|
; see 4am crack no. 622 The Electric Crayon: ABCs
|
||||||
|
; for full explanation
|
||||||
|
;
|
||||||
|
; tested on many Polarware disks:
|
||||||
|
; The Electric Crayon: ABCs (1986)
|
||||||
|
; The Electric Crayon: Fun on the Farm (1986)
|
||||||
|
; The Electric Crayon: This Land is Your Land (1986)
|
||||||
|
; The Spy's Adventures in North America
|
||||||
|
; The Spy's Adventures in Europe
|
||||||
|
; The Crimson Crown
|
||||||
|
; Oo-Topos
|
||||||
|
;
|
||||||
|
; and several non-Polarware disks:
|
||||||
|
; Clue Master Detective
|
||||||
|
; RISK (1988, Leisure Genius)
|
||||||
|
; ESL Writer (1989, Scholastic)
|
||||||
|
; Magic Spells v2.1 (1985, The Learning Company)
|
||||||
|
;
|
||||||
|
;-------------------------------
|
||||||
|
!zone {
|
||||||
|
lda gIsProDOS ; only seen this protection on ProDOS disks
|
||||||
|
bne .exit
|
||||||
|
ldy #$06
|
||||||
|
jsr SearchTrack
|
||||||
|
!byte $39,$FD
|
||||||
|
!byte $2F,$FB
|
||||||
|
!byte $39,$FC
|
||||||
|
bcs .exit
|
||||||
|
inx
|
||||||
|
inx
|
||||||
|
inx
|
||||||
|
sta gDisplayBytes
|
||||||
|
pha
|
||||||
|
lda #s_fbff
|
||||||
|
jsr PrintByID
|
||||||
|
pla
|
||||||
|
ldy #$01
|
||||||
|
jsr modify
|
||||||
|
!byte $A2
|
||||||
|
.exit
|
||||||
|
}
|
38
src/patchers/polarware.a
Normal file
38
src/patchers/polarware.a
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
;-------------------------------
|
||||||
|
; #POLARWARE
|
||||||
|
; a delayed secondary protection check
|
||||||
|
; seen on Polarware games
|
||||||
|
; similar to #FBFFENCRYPTED but the encryption key is different
|
||||||
|
; and the routine ultimately returns regardless of success or failure
|
||||||
|
; (but the value in the accumulator is different and is used later
|
||||||
|
; to trigger hilarious in-game failure)
|
||||||
|
;
|
||||||
|
; tested on
|
||||||
|
; The Spy's Adventures in North America
|
||||||
|
; The Spy's Adventures in Europe
|
||||||
|
; The Crimson Crown
|
||||||
|
; Oo-Topos
|
||||||
|
;
|
||||||
|
;-------------------------------
|
||||||
|
!zone {
|
||||||
|
lda gIsProDOS ; only seen this protection on ProDOS disks
|
||||||
|
bne .exit
|
||||||
|
ldy #$06
|
||||||
|
jsr SearchTrack
|
||||||
|
!byte $29,$6D
|
||||||
|
!byte $3F,$EB
|
||||||
|
!byte $29,$60
|
||||||
|
bcs .exit
|
||||||
|
inx
|
||||||
|
inx
|
||||||
|
inx
|
||||||
|
sta gDisplayBytes
|
||||||
|
pha
|
||||||
|
lda #s_fbff
|
||||||
|
jsr PrintByID
|
||||||
|
pla
|
||||||
|
ldy #$01
|
||||||
|
jsr modify
|
||||||
|
!byte $B2
|
||||||
|
.exit
|
||||||
|
}
|
@ -138,7 +138,7 @@ StringTable
|
|||||||
; can be set directly before calling PrintByID.
|
; can be set directly before calling PrintByID.
|
||||||
;
|
;
|
||||||
.header
|
.header
|
||||||
!text "Passport by 4am 2018-01-25",$00
|
!text "Passport by 4am 2018-01-26",$00
|
||||||
.mainmenu
|
.mainmenu
|
||||||
!text "________________________________________",$8D,$8D,$8D,$8D,$8D,$8D,$8D
|
!text "________________________________________",$8D,$8D,$8D,$8D,$8D,$8D,$8D
|
||||||
!text " "
|
!text " "
|
||||||
|
Loading…
Reference in New Issue
Block a user