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
@@ -33,6 +33,8 @@
|
||||
|
||||
;; #ALIAS# SELDEV = KERNAL_0.SELDEV
|
||||
|
||||
;; #ALIAS# blade_autoboot = KERNAL_0.blade_autoboot
|
||||
|
||||
;
|
||||
; MEGA65 specific parts
|
||||
;
|
||||
|
||||
@@ -50,6 +50,20 @@ basic_cold_start_internal:
|
||||
; This is for maximum C64 compatibility
|
||||
jsr copy_CHRGET
|
||||
|
||||
}
|
||||
|
||||
!ifdef CONFIG_ARNITECH_BLADE {
|
||||
|
||||
; A Blade starts its program itself: LOAD"*",8 and RUN, unless RUN/STOP is held or the
|
||||
; LOAD fails (arnitech's ADR 0030). Out of direct mode, LOAD's own end RUNs the program.
|
||||
|
||||
jsr blade_autoboot
|
||||
bcs @3
|
||||
lda #$00
|
||||
sta VERCKB
|
||||
sta CURLIN+1
|
||||
jmp cmd_load_no_error
|
||||
@3:
|
||||
}
|
||||
|
||||
; jump into warm start loop
|
||||
|
||||
@@ -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