add support for identifying Diversi-DOS bootloader

This commit is contained in:
4am 2017-05-04 20:25:34 -04:00
parent 9bdd5f371f
commit 16fac300e3
5 changed files with 35 additions and 5 deletions

View File

@ -23,9 +23,9 @@ IDDavid
ldx #$4A
ldy #$0B
jsr compare ; and T00,S00,$4A ==
!byte $A2,$0D ; LDX #$0D
!byte $BD,$B9,$08; LDA $08B9,X
!byte $9D,$0D,$04; STA $040D,X
!byte $A2,WILDCARD ; LDX #$**
!byte $BD,WILDCARD,$08; LDA $08**,X
!byte $9D,WILDCARD,$04; STA $04**,X
!byte $CA ; DEX
!byte $10,$F7 ; BPL -
.exit rts

20
src/id/diversidos.a Normal file
View File

@ -0,0 +1,20 @@
;-------------------------------
; IDDiversiDOS
; identify Diversi-DOS bootloader
;
; in: $0800..$08FF contains T00,S00
; first page of track buffer also contains T00,S00
; out: C clear if Diversi-DOS bootloader found
; C set otherwise
; all registers clobbered
; all other flags clobbered
;-------------------------------
!zone {
IDDiversiDOS
lda #$00
ldx #$F1
ldy #$0B
jsr compare ; if T00,S00,$F1 ==
!byte $B3,$A3,$A0,$D2,$CF,$D2,$D2,$C5,$8D,$87,$8D
rts
}

View File

@ -51,7 +51,12 @@ IDBootloader
bcs +
lda #TRUE
sta gIsBoot0
jsr IDDiversiDOS
bcc .diversi
lda #s_dosb0
!byte $2c
.diversi
lda #s_diversidos
jsr PrintByID
jmp TraceDOS33
;

View File

@ -94,7 +94,7 @@ flag = $FF ; byte
}
; Application constants (not zero addresses)
RELBASE = $6400 ; address to move Passport code
RELBASE = $6300 ; address to move Passport code
; so that it's out of the way
LOWPOINT = $4300 ; lowest available address for code
BASEPAGE = $10 ; Special Delivery tracer assumes
@ -155,6 +155,7 @@ FirstMover
!source "id/milliken.a"
!source "id/daviddos.a"
!source "id/quickdos.a"
!source "id/diversidos.a"
!source "print.a"
!source "compare.a"
!source "modify.a"

View File

@ -94,7 +94,8 @@ s_milliken = $4B
s_jsr8b3 = $4C
s_daviddos = $4D
s_quickdos = $4E
STRINGCOUNT = $4F
s_diversidos = $4F
STRINGCOUNT = $50
!zone {
StringTable
@ -177,6 +178,7 @@ StringTable
!word .jsr8b3
!word .daviddos
!word .quickdos
!word .diversidos
;
; Text can contain substitution strings, which
; are replaced by current values at runtime. Each
@ -449,4 +451,6 @@ StringTable
!text "T00,S00 Found David-DOS bootloader",$8D,00
.quickdos
!text "T00,S00 Found Quick-DOS bootloader",$8D,00
.diversidos
!text "T00,S00 Found Diversi-DOS bootloader",$8D,00
}