mirror of
https://github.com/a2-4am/passport.git
synced 2025-01-03 08:33:18 +00:00
add support for identifying Diversi-DOS bootloader
This commit is contained in:
parent
9bdd5f371f
commit
16fac300e3
@ -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
20
src/id/diversidos.a
Normal 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
|
||||
}
|
@ -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
|
||||
;
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user