A2osX/SYS/KERNEL.S.RUN.txt

108 lines
2.0 KiB
Plaintext
Raw Normal View History

2016-06-07 06:10:18 +00:00
PR#3
PREFIX /A2OSX.SRC
LOMEM $900
2016-06-07 06:10:18 +00:00
INC 1
AUTO 6
.LIST OFF
*--------------------------------------
SYS.BASL0 .EQ $800
*--------------------------------------
K.KernelRun jsr TSK.TskMgrRun
2016-09-29 15:30:15 +00:00
jsr EVT.GetEvents
2017-01-12 17:43:45 +00:00
bcs .4 CS=no event
2016-06-07 06:10:18 +00:00
2016-09-29 15:30:15 +00:00
jsr TSK.DispatchEvents
bcc .4 CC=All Events Dispatched
2016-06-07 06:10:18 +00:00
2016-09-29 15:30:15 +00:00
jsr PS.Select0
2016-06-07 06:10:18 +00:00
stz pEvent
.1 lda (pEvent)
beq .3
2016-06-07 06:10:18 +00:00
bmi .2 Ignore & Discard any timer event
jsr RUN.DumpEvent
.2 jsr EVT.DestroyEvent
2016-06-07 06:10:18 +00:00
.3 lda pEvent
2016-06-07 06:10:18 +00:00
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
inc A2osX.RANDOM16
2017-01-12 17:43:45 +00:00
lda KBD
sta A2osX.RANDOM16+1
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
2016-06-07 06:10:18 +00:00
>STYA pDev
2017-01-12 17:43:45 +00:00
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
2016-06-07 06:10:18 +00:00
*--------------------------------------
2017-01-12 17:43:45 +00:00
MSG.DumpEvent >CSTR "!Evt:F=%b,Dev=$%h,LO=$%h,HI=$%h,W1=$%H,W2=$%H\n"
SYS.CPULOADI .BS 1
SYS.CPULOADC .AS "|/-\"
2016-06-07 06:10:18 +00:00
*--------------------------------------
MAN
SAVE SYS/KERNEL.S.RUN
LOAD SYS/KERNEL.S
ASM