add support for MAK secondary protection on Hartley disks

[fixes Kittens, Kids, and a Frog]
This commit is contained in:
4am 2022-06-03 17:48:21 -04:00
parent 829b031a4f
commit 11086cd3e6
3 changed files with 43 additions and 1 deletions

View File

@ -378,6 +378,7 @@ AnalyzeTrack
!source "patchers/harvey.a" ; gIsBoot0 && T01 only
!source "patchers/jmpb400.a" ; gIsBoot0 && T02 only
!source "patchers/jmpb412.a" ; gIsBoot0 && T02 only
!source "patchers/mak.a" ; gIsBoot0 && T02 only
!source "patchers/jsr8635.a" ; gIsBoot0 only
!source "patchers/sierra.a" ; gIsBoot0 only
_endDOS33Patchers

41
src/patchers/mak.a Normal file
View File

@ -0,0 +1,41 @@
;-------------------------------
; #MAK
; Boot1 jumps to $B3BB to read
; two sectors on track $23
;
; so named because it prints the
; initials 'MAK' on screen before
; executing the protection check
;
; Kittens, Kids, and a Frog 03.12.86 (Hartley)
; Who What Where When Why 02.05.86 (Hartley)
;-------------------------------
!zone {
; gIsBoot0 is TRUE here
lda gTrack
cmp #$02
bne .exit
lda #$02
ldx #$BB
ldy #$0A
jsr compare ; if T02,S02,$BB ==
!byte $20,$58,$FC; JSR $FC58
!byte $A9,$CD ; LDA #$CD
!byte $20,$ED,$FD; JSR $FDED
!byte $A9,$C1 ; LDA #$C1
bcs .exit ; passport-test-suite/Kittens, Kids, and a Frog.woz [C=0] matches
ldy #$B3
sty gDisplayBytes+1 ; address (hi)
ldy #$BB
sty gDisplayBytes+2 ; address (lo)
jsr PrintByID
!byte s_beforedos
ldx #$BB
jsr modify3 ; then set T02,S02,$BB =
!byte $4C,$84,$9D
.exit
}

View File

@ -365,7 +365,7 @@ StringTableHigh ; must be kept in sync with constants in enid.a
.passport
!text "Passport ",$00
.header
!text "@",s_passport,"by 4am@",s_space7,"@",s_space7," 2022-06-01",$00
!text "@",s_passport,"by 4am@",s_space7,"@",s_space7," 2022-06-03",$00
.bar9
!text "_________",$00
.bar18