feat(arnitech): a Blade autoboots the first program on device 8
With ARNITECH_BLADE, BASIC's cold start calls blade_autoboot before READY.: it loads "*" from device 8 to BASIC's start, as LOAD"*",8 does, and BASIC then ends that LOAD as a program's, which RUNs what it loaded. RUN/STOP held on the Terminal Card, no Floppy, or no file goes on to READY.
This commit is contained in:
1 parent
b1fbc1c693
commit
9ad7e292f8
3 files changed
+56
No files matched your search
@@ -0,0 +1,40 @@
|
||||
;; #LAYOUT# STD * #TAKE
|
||||
;; #LAYOUT# * * #IGNORE
|
||||
|
||||
;
|
||||
; Autoboot of the Blade Firmware (mc64blade only, arnitech's ADR 0030): BASIC's cold start, before
|
||||
; READY., has a Blade LOAD"*",8, the first program on its internal drive's Floppy, and RUNs it.
|
||||
;
|
||||
; Out: carry clear if the program loaded, with X/Y the address after its end; carry set if
|
||||
; RUN/STOP is held on the Terminal Card, or the LOAD failed (no Floppy, no file, no drive).
|
||||
;
|
||||
|
||||
!ifdef CONFIG_ARNITECH_BLADE {
|
||||
|
||||
blade_autoboot:
|
||||
|
||||
jsr terminal_find
|
||||
bcs @1
|
||||
lda TERMINAL_STATUS, x
|
||||
and #TERMINAL_STOP_HELD
|
||||
beq @1
|
||||
sec
|
||||
rts
|
||||
@1:
|
||||
lda #$01
|
||||
ldx #<blade_autoboot_name
|
||||
ldy #>blade_autoboot_name
|
||||
jsr JSETNAM
|
||||
lda #$00
|
||||
ldx #$08
|
||||
ldy #$00 ; secondary address 0: to BASIC's start
|
||||
jsr JSETFLS
|
||||
lda #$00 ; LOAD, not VERIFY
|
||||
ldx TXTTAB+0
|
||||
ldy TXTTAB+1
|
||||
jmp JLOAD
|
||||
|
||||
blade_autoboot_name:
|
||||
|
||||
!byte $2A ; "*"
|
||||
}
|
||||
Reference in new issue
Block a user