NEW: patch encrypted FBFF checks used by Polarware and others

This commit is contained in:
4am 2018-01-27 10:32:49 -05:00
parent 0cba115097
commit 31666546f6
4 changed files with 86 additions and 1 deletions

View File

@ -744,6 +744,8 @@ _applyToAll
!source "patchers/rwtsswapmecc.a" ; gIsMECCFastloader only
!source "patchers/protecteddos.a" ; gIsProtDOS only
!source "patchers/fbff.a"
!source "patchers/fbffencrypted.a" ; gIsProDOS only
!source "patchers/polarware.a" ; gIsProDOS only
!source "patchers/sierra.a" ; gIsBoot0 only
!source "patchers/corrupter.a" ; T13 only
!source "patchers/ea.a" ; (gIsEA || gIsBoot0) only

View 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
View 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
}

View File

@ -138,7 +138,7 @@ StringTable
; can be set directly before calling PrintByID.
;
.header
!text "Passport by 4am 2018-01-25",$00
!text "Passport by 4am 2018-01-26",$00
.mainmenu
!text "________________________________________",$8D,$8D,$8D,$8D,$8D,$8D,$8D
!text " "