PR#3 PREFIX /A2OSX.SRC LOMEM $900 INC 1 AUTO 6 .LIST OFF *-------------------------------------- SYS.BASL0 .EQ $800 *-------------------------------------- K.KernelRun jsr TSK.TskMgrRun stx A2osX.RANDOM16 jsr EVT.GetEvents txa eor KBD sta A2osX.RANDOM16+1 bcs .4 CS=no event jsr TSK.DispatchEvents bcc .4 CC=All Events Dispatched jsr PS.Select0 stz pEvent .1 lda (pEvent) beq .3 bmi .2 Ignore & Discard any timer event jsr RUN.DumpEvent .2 jsr EVT.DestroyEvent .3 lda pEvent clc adc #S.EVT sta pEvent lda EVTMGR.COUNT bne .1 .4 lda A2osX.ASCREEN cmp #2 is SYS active? bne .42 lda K.IrkMgr.VBL if verified = $80 ldx SYS.CPULOADI ora SYS.CPULOADC,x sta SYS.BASL0+38 dex bpl .41 ldx #3 .41 stx SYS.CPULOADI .42 bit OPENAPPLE bpl K.KernelRun lda KBD bpl K.KernelRun cmp #"1" bcc K.KernelRun cmp #"5" bcs K.KernelRun sta KBDSTROBE and #$0F cmp A2osX.ASCREEN Same as active screen...nothing to do beq K.KernelRun tax lda A2osX.SCRNDEVS-1,x No device claimed this screen beq K.KernelRun jsr K.GetDevByIDA x unmodified..... bcs K.KernelRun ??? stx A2osX.ASCREEN >STYA pDev lda (pDev) sta .5+1 ldy #1 lda (pDev),y sta .5+2 ldx #DEVMGR.CONTROL jsr .5 jmp K.KernelRun .5 jmp $ffff *-------------------------------------- RUN.DumpEvent ldy #S.EVT-1 .1 >PUSHB (pEvent),y dey bpl .1 >LDYAI MSG.DumpEvent jmp K.CPrintFYA *-------------------------------------- MSG.DumpEvent >CSTR "!Evt:F=%b,Dev=$%h,LO=$%h,HI=$%h,W1=$%H,W2=$%H\n" SYS.CPULOADI .BS 1 SYS.CPULOADC .AS "|/-\" *-------------------------------------- MAN SAVE SYS/KERNEL.S.RUN LOAD SYS/KERNEL.S ASM