
 lib environment
 lib macdefs
 sttl System Startup Task
 pag
 name strtup
 global strtup


*
* strtup
*
* Startup regular system.  This is task 1.
*

strtup seti mask interrupts
 lda #$FF make sure kernal flag is OK
 sta kernal
 ldd #ts1cnt set pc on stack
 pshs d
 ldd #0 set rest to 0
 pshs d u reg
 pshs d y reg
 pshs d x reg
 ldd #0
 pshs d dp and b
 lda #$80 set e bit
 pshs d cc and a
 ldx #umem
 ldy #DATBOX+1*64 set up task map 1
 ldb #16 set count
10 pshs b compute map entry
 clra
 ldb ,x+
 lslb
 rola
 std ,y++
 addd #1
 std ,y++
 puls b
 decb
 bne 10b
 lda #1 Select Task 1
 sta TSR
 lda #6 set to fire in 2 cycles!
 sta FUSE
 rti
 ldx #bfhwms
 jmp blowup
bfhwms fcc 'UGH!',0

ts1cnt swi3
 fcb 2 exec
 fdb strtu4
 fdb strtu5
 ldx #noexec
 jmp blowup

noexec fcc "Can't execute /etc/init!!",0
strtu4 fcc '/etc/init',0
strtu5 fdb strtu6,0
strtu6 fcc 'tty_wait',0
