mirror of
https://github.com/a2-4am/passport.git
synced 2025-01-11 16:30:22 +00:00
add support for identifying Pronto-DOS bootloader
This commit is contained in:
parent
16fac300e3
commit
b53bd0708b
@ -1,16 +1,17 @@
|
||||
;-------------------------------
|
||||
; IDDiversiDOS
|
||||
; IDDiversi
|
||||
; identify Diversi-DOS bootloader
|
||||
;
|
||||
; in: $0800..$08FF contains T00,S00
|
||||
; first page of track buffer also contains T00,S00
|
||||
; bootloader was identified as DOS 3.3-shaped (IDDOS33 returned success)
|
||||
; out: C clear if Diversi-DOS bootloader found
|
||||
; C set otherwise
|
||||
; all registers clobbered
|
||||
; all other flags clobbered
|
||||
;-------------------------------
|
||||
!zone {
|
||||
IDDiversiDOS
|
||||
IDDiversi
|
||||
lda #$00
|
||||
ldx #$F1
|
||||
ldy #$0B
|
||||
|
@ -51,12 +51,17 @@ IDBootloader
|
||||
bcs +
|
||||
lda #TRUE
|
||||
sta gIsBoot0
|
||||
jsr IDDiversiDOS
|
||||
jsr IDDiversi
|
||||
bcc .diversi
|
||||
jsr IDPronto
|
||||
bcc .pronto
|
||||
lda #s_dosb0
|
||||
!byte $2c
|
||||
.diversi
|
||||
lda #s_diversidos
|
||||
!byte $2c
|
||||
.pronto
|
||||
lda #s_prontodos
|
||||
jsr PrintByID
|
||||
jmp TraceDOS33
|
||||
;
|
||||
|
23
src/id/prontodos.a
Normal file
23
src/id/prontodos.a
Normal file
@ -0,0 +1,23 @@
|
||||
;-------------------------------
|
||||
; IDPronto
|
||||
; identify Pronto-DOS bootloader
|
||||
;
|
||||
; in: $0800..$08FF contains T00,S00
|
||||
; first page of track buffer also contains T00,S00
|
||||
; bootloader was identified as DOS 3.3-shaped (IDDOS33 returned success)
|
||||
; out: C clear if Pronto-DOS bootloader found
|
||||
; C set otherwise
|
||||
; all registers clobbered
|
||||
; all other flags clobbered
|
||||
;-------------------------------
|
||||
!zone {
|
||||
IDPronto
|
||||
lda #$00
|
||||
ldx #$5E
|
||||
ldy #$07
|
||||
jsr compare ; if T00,S00,$5E ==
|
||||
!byte $B0,$50 ; BCS +$50
|
||||
!byte $AD,$CB,$B5; LDA $B5CB
|
||||
!byte $85,$42 ; STA $42
|
||||
rts
|
||||
}
|
@ -156,6 +156,7 @@ FirstMover
|
||||
!source "id/daviddos.a"
|
||||
!source "id/quickdos.a"
|
||||
!source "id/diversidos.a"
|
||||
!source "id/prontodos.a"
|
||||
!source "print.a"
|
||||
!source "compare.a"
|
||||
!source "modify.a"
|
||||
|
@ -95,7 +95,8 @@ s_jsr8b3 = $4C
|
||||
s_daviddos = $4D
|
||||
s_quickdos = $4E
|
||||
s_diversidos = $4F
|
||||
STRINGCOUNT = $50
|
||||
s_prontodos = $50
|
||||
STRINGCOUNT = $51
|
||||
|
||||
!zone {
|
||||
StringTable
|
||||
@ -179,6 +180,7 @@ StringTable
|
||||
!word .daviddos
|
||||
!word .quickdos
|
||||
!word .diversidos
|
||||
!word .prontodos
|
||||
;
|
||||
; Text can contain substitution strings, which
|
||||
; are replaced by current values at runtime. Each
|
||||
@ -453,4 +455,6 @@ StringTable
|
||||
!text "T00,S00 Found Quick-DOS bootloader",$8D,00
|
||||
.diversidos
|
||||
!text "T00,S00 Found Diversi-DOS bootloader",$8D,00
|
||||
.prontodos
|
||||
!text "T00,S00 Found Pronto-DOS bootloader",$8D,00
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user