A2osX/SYS/KERNEL.S.RUN.txt

93 lines
1.6 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

PR#3
PREFIX /A2OSX.SRC
NEW
INC 1
AUTO 6
.LIST OFF
*--------------------------------------
K.KernelRun jsr TSK.TskMgrRun
bcs .9
jsr EVT.GetEvents
bcs K.KernelRun CS=no event
jsr TSK.DispatchEvents
bcc K.KernelRun CC=All Events Dispatched
jsr PS.Select0
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
dey 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 K.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 ldy #S.EVT.DATAW2+1
.71 >PUSHB (pEvent),y
dey
bpl .71
>LDYAI MSG.DumpEvent
jsr K.PStrOutYA
.8 jsr EVT.DestroyEvent
.81 lda pEvent
clc
adc #S.EVT
sta pEvent
lda EVTMGR.COUNT
bne .1
jmp K.KernelRun
.9 jsr DevMgr.SYS.Select
>LDYAI MSG.KRNLPANIC
jsr K.PStrOutYA
bra *
*--------------------------------------
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