mirror of
https://github.com/a2-4am/passport.git
synced 2024-11-19 03:06:34 +00:00
add support for Pascal FBFF variant seen on multiple Courses By Computers disks
This commit is contained in:
parent
75080ec675
commit
ac89a16dec
@ -766,6 +766,7 @@ _applyToAll
|
|||||||
!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/fbffencrypted.a" ; gIsProDOS only
|
||||||
|
!source "patchers/fbffpascal.a" ; gIsPascal only
|
||||||
!source "patchers/polarware.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
|
||||||
|
48
src/patchers/fbffpascal.a
Normal file
48
src/patchers/fbffpascal.a
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
;-------------------------------
|
||||||
|
; #FBFF
|
||||||
|
; a variant of Activision's Timing Bit Detection
|
||||||
|
; linked as an Apple Pascal module
|
||||||
|
; (soft switches are hard-coded to slot 6)
|
||||||
|
;
|
||||||
|
; tested on several 'Courses By Computers' disks:
|
||||||
|
; Geometry: Simple Closed Curves (1985)
|
||||||
|
; Multiplication: Advanced Level (1985)
|
||||||
|
; Basic Fraction Concepts (1985)
|
||||||
|
;-------------------------------
|
||||||
|
!zone {
|
||||||
|
lda gIsPascal ; only seen this protection on Pascal disks
|
||||||
|
bne .exit
|
||||||
|
ldy #$26
|
||||||
|
jsr SearchTrack
|
||||||
|
!byte $AD,$E9,$C0; LDA $C0E9
|
||||||
|
!byte $A9,$A0 ; LDA #$A0
|
||||||
|
!byte $85,$03 ; STA $03
|
||||||
|
!byte $A9,$08 ; LDA #$08
|
||||||
|
!byte $C6,$02 ; DEC $02
|
||||||
|
!byte $D0,$04 ; BNE +
|
||||||
|
!byte $C6,$03 ; DEC $03
|
||||||
|
!byte $F0,$55 ; BEQ +55
|
||||||
|
!byte $AC,$EC,$C0; LDY $C0EC
|
||||||
|
!byte $10,$FB ; BPL -
|
||||||
|
!byte $C0,$FB ; CPY #$FB
|
||||||
|
!byte $D0,$ED ; BNE -
|
||||||
|
!byte $F0,$00 ; BEQ +
|
||||||
|
!byte $EA ; NOP
|
||||||
|
!byte $EA ; NOP
|
||||||
|
!byte $AC,$EC,$C0; LDY $C0EC
|
||||||
|
!byte $C0,$08 ; CMP #$08
|
||||||
|
!byte $2A ; ROL
|
||||||
|
!byte $B0,$0B ; BCS +
|
||||||
|
bcs .exit
|
||||||
|
sta gDisplayBytes
|
||||||
|
pha
|
||||||
|
lda #s_fbff
|
||||||
|
jsr PrintByID
|
||||||
|
pla
|
||||||
|
ldy #$03
|
||||||
|
jsr modify
|
||||||
|
; unconditional jump to success path
|
||||||
|
!byte $18 ; CLC
|
||||||
|
!byte $90,$5F ; BCC +
|
||||||
|
.exit
|
||||||
|
}
|
@ -144,7 +144,7 @@ StringTable
|
|||||||
; can be set directly before calling PrintByID.
|
; can be set directly before calling PrintByID.
|
||||||
;
|
;
|
||||||
.header
|
.header
|
||||||
!text "Passport by 4am 2018-07-03",$00
|
!text "Passport by 4am 2018-07-19",$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