add support for identifying Quick-DOS bootloader

This commit is contained in:
4am 2017-05-04 19:51:35 -04:00
parent c1e40bcba8
commit 9bdd5f371f
4 changed files with 37 additions and 1 deletions

View File

@ -162,6 +162,13 @@ IDBootloader
bcs +
lda #s_daviddos
jsr PrintByID
;
; Quick-DOS
;
+ jsr IDQuickDOS
bcs +
lda #s_quickdos
jsr PrintByID
+
.useuniv

24
src/id/quickdos.a Normal file
View File

@ -0,0 +1,24 @@
;-------------------------------
; IDQuickDOS
; identify Quick-DOS bootloader
;
; in: $0800..$08FF contains T00,S00
; first page of track buffer also contains T00,S00
; out: C clear if Quick-DOS bootloader found
; C set otherwise
; all registers clobbered
; all other flags clobbered
;-------------------------------
!zone {
IDQuickDOS
lda #$00
ldx #$01
ldy #$0A
jsr compare ; if T00,S00,$01 ==
!byte $A5,$27 ; LDA $27
!byte $C9,$09 ; CMP #$09
!byte $D0,$27 ; BNE +$27
!byte $78 ; SEI
!byte $AD,$83,$C0; LDA $C083
rts
}

View File

@ -154,6 +154,7 @@ FirstMover
!source "id/ea.a"
!source "id/milliken.a"
!source "id/daviddos.a"
!source "id/quickdos.a"
!source "print.a"
!source "compare.a"
!source "modify.a"

View File

@ -93,7 +93,8 @@ s_bootcounter = $4A
s_milliken = $4B
s_jsr8b3 = $4C
s_daviddos = $4D
STRINGCOUNT = $4E
s_quickdos = $4E
STRINGCOUNT = $4F
!zone {
StringTable
@ -175,6 +176,7 @@ StringTable
!word .milliken
!word .jsr8b3
!word .daviddos
!word .quickdos
;
; Text can contain substitution strings, which
; are replaced by current values at runtime. Each
@ -445,4 +447,6 @@ StringTable
!text "T00,S00 Found JSR $08B3 bootloader",$8D,00
.daviddos
!text "T00,S00 Found David-DOS bootloader",$8D,00
.quickdos
!text "T00,S00 Found Quick-DOS bootloader",$8D,00
}