passport/src/id/d5d5f7.a
2021-06-20 00:18:55 -04:00

34 lines
1.1 KiB
Plaintext

;-------------------------------
; IDD5D5F7
; Identify specific version of DOS 3.3 bootloader
; shared by all disks that use the D5D5F7 check.
; Note: this detection pattern makes no logical
; sense; it just happens to be a useful filter for
; the D5D5F7 patcher to use later. It filters out
; about 2/3 of disks on which I've never seen a
; D5D5F7 protection check, so we can save time by
; not doing full-track searches on those disks.
;
; in: $0800..$08FF contains T00,S00
; IDDOS33 returned success
; A = 0
; out: A = 0
; Y preserved
; all other flags and registers clobbered
;-------------------------------
!macro IDD5D5F7 {
ldx #$08
cpx $08F2
beq @d5yes ; passport-test-suite/Trivia Fever (BB03 variant 3).woz [Z=1] matches
cpx $084C
bne @d5no
ldx $08B0
cpx #$B6
bne @d5no
ldx $08D0
cpx #$20
bne @d5no
@d5yes sta gPossibleD5D5F7 ; passport-test-suite/RoboMath.woz [Z=1] matches
@d5no
}