PR#3 PREFIX /A2OSX.SRC NEW INC 1 AUTO 6 .LIST OFF *-------------------------------------- S.KernelRun jsr S.TskMgrRun bcc S.KernelRun.EVT jsr DevMgr.SYS.Select >LDYAI MSG.KRNLPANIC jsr S.PSTROutYA bra * S.KernelRun.EVT jsr S.GetEvents bcs S.KernelRun CS=no event jsr S.DispatchEvents bcc S.KernelRun CC=All Events Dispatched jsr S.SelectProcess0 stz pEvent .1 lda (pEvent) beq .81 bmi .8 Discard any timer event bit #S.EVT.F.KEY any special key? beq .7 ldy #S.EVT.DATAHI Open-Apple? lda (pEvent),y bpl .7 ldy #S.EVT.DATALO lda (pEvent),y cmp #'1' bcc .8 cmp #'5' bcs .8 and #$0F cmp A2osX.ASCREEN beq .8 tax lda A2osX.SCRNDEVS-1,x beq .8 jsr S.GetDevByIDA bcs .8 >STYA pDev ldx #DEVMGR.SELECT jsr pDevJmp bcs .8 ldy #S.EVT.DATALO lda (pEvent),y and #$0F sta A2osX.ASCREEN bra .8 .7 jsr S.DumpEvent .8 jsr S.DestroyEvent .81 lda pEvent clc adc #S.EVT sta pEvent lda EVTMGR.COUNT bne .1 jmp S.KernelRun *-------------------------------------- S.DumpEvent ldy #S.EVT.DATAW2+1 >PUSHB (pEvent),y dey >PUSHB (pEvent),y ldy #S.EVT.DATAW1+1 >PUSHB (pEvent),y dey >PUSHB (pEvent),y ldy #S.EVT.DATAHI >PUSHB (pEvent),y ldy #S.EVT.DATALO >PUSHB (pEvent),y ldy #S.EVT.hDEV >PUSHB (pEvent),y >PUSHB (pEvent) >LDYAI MSG.DumpEvent jmp S.PSTROutYA *-------------------------------------- MSG.DumpEvent >PSTRING "!Unhandled Event:Flags=%h,DevID=%h,DATALO=%h,DATAHI=%h,W1=%H,W2=%H\n" MSG.KRNLPANIC >PSTRING "\n!!!Kernel Panic!!!\n" *-------------------------------------- MAN SAVE SYS/KERNEL.S.RUN LOAD SYS/KERNEL.S ASM