A2osX/SYS/KERNEL.S.RUN.txt
2016-06-07 08:10:18 +02:00

108 lines
1.9 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
*--------------------------------------
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