Kernel version 0.9 : ....More IRQ/VBL enhancement

This commit is contained in:
Rémy GIBERT 2017-02-08 17:42:32 +01:00
parent 3e1bb79081
commit 1b2e875626
7 changed files with 46 additions and 49 deletions

Binary file not shown.

Binary file not shown.

View File

@ -5,8 +5,6 @@ INC 1
AUTO 6
.LIST OFF
*--------------------------------------
DevMgr.SYS.BASL0 .EQ $800
*--------------------------------------
DevMgr.LoMem .EQ *
*--------------------------------------
DevMgr.NUL.Code cld
@ -65,8 +63,7 @@ DevMgr.SYS.Stat .DA #S.DEV.S.WRITE+S.DEV.S.READ
.DA #0
.DA $0900
*--------------------------------------
DevMgr.SYS.Open stz DevMgr.SYS.CPULOADI
stz DevMgr.SYS.CH
DevMgr.SYS.Open stz DevMgr.SYS.CH
stz DevMgr.SYS.CV
ldx #0
@ -105,14 +102,6 @@ DevMgr.SYS.Read lda A2osX.ASCREEN
cmp #2 is SYS active?
bne .9
ldx DevMgr.SYS.CPULOADI
lda DevMgr.SYS.CPULOADC,x
sta DevMgr.SYS.BASL0+38
dex
bpl .1
ldx #3
.1 stx DevMgr.SYS.CPULOADI
lda OPENAPPLE
bmi .9 Open apple key, not for us...
lda KBD
@ -120,15 +109,7 @@ DevMgr.SYS.Read lda A2osX.ASCREEN
sta KBDSTROBE
and #$7F
ldy #S.EVT.DATALO
sta (pEvent),y
iny S.EVT.DATAHI
lda #0
sta (pEvent),y
lda #S.EVT.F.KEY
sta (pEvent)
clc
rts
@ -298,8 +279,6 @@ DevMgr.SYS.SetCharAtYX
*--------------------------------------
DevMgr.SYS.CH .BS 1
DevMgr.SYS.CV .BS 1
DevMgr.SYS.CPULOADI .BS 1
DevMgr.SYS.CPULOADC .AS -"|/-\"
*--------------------------------------
DevMgr.SYS.TITLE >CSTR "A2osX System Screen"
DevMgr.SYS.BASEL .HS 00.80.00.80.00.80.00.80.28.A8.28.A8.28.A8.28.A8.50.D0.50.D0.50.D0.50.D0

View File

@ -1,6 +1,6 @@
PR#3
PREFIX /A2OSX.SRC
LOMEM $A00
LOMEM $900
INC 1
AUTO 6
.LIST OFF
@ -216,14 +216,20 @@ A2osX.SaveY .BS 1
ProDOS.INTNUM .BS 1
*--------------------------------------
IrqHandler cld
lda RDALTZP
sta .2+1
bmi .1
sta SETALTZP
tsx
stx A2osX.SaveSM
ldx A2osX.SaveSX
txs
jsr K.IrqHandler
.1 jsr K.IrqHandler
.2 lda #$ff
bmi .3
tsx
stx A2osX.SaveSX
@ -231,7 +237,7 @@ IrqHandler cld
txs
sta CLRALTZP
rts
.3 rts
*--------------------------------------
BrkHandler bra *
*--------------------------------------

View File

@ -67,6 +67,7 @@ Kernel.Init3 jsr MemMgrInit
bit RRAMWRAMBNK2
bit RRAMWRAMBNK2
>DEBUG
jmp K.KernelRun
.9 >PUSHA
@ -212,12 +213,12 @@ IrqMgrInit php
bit RROMBNK2 Renable ROM to allow MOUSE II firmware works properly
ldy #INITMOUSE Reset
lda #8
ldy #SETMOUSE
jsr GOMOUSE
bcs *
lda #8
ldy #SETMOUSE
ldy #INITMOUSE Reset
jsr GOMOUSE
bcs *

View File

@ -70,7 +70,7 @@ K.IrqHandler lda K.IrkMgr.VBL
inc K.IrkMgr.VBLINT
lda #$ff
lda #$80
sta K.IrkMgr.VBL Confirm VBL signal valid for EvtMgr
clc

View File

@ -1,13 +1,13 @@
PR#3
PREFIX /A2OSX.SRC
NEW
LOMEM $900
INC 1
AUTO 6
.LIST OFF
*--------------------------------------
SYS.BASL0 .EQ $800
*--------------------------------------
K.KernelRun jsr TSK.TskMgrRun
bcs *
jsr EVT.GetEvents
bcs .4 CS=no event
@ -23,16 +23,8 @@ K.KernelRun jsr TSK.TskMgrRun
bmi .2 Ignore & Discard any timer event
ldy #S.EVT-1
jsr RUN.DumpEvent
.10 lda (pEvent),y
>PUSHA
dey
bpl .10
>LDYAI MSG.DumpEvent
jsr K.CPrintFYA
.2 jsr EVT.DestroyEvent
.3 lda pEvent
@ -42,7 +34,21 @@ K.KernelRun jsr TSK.TskMgrRun
lda EVTMGR.COUNT
bne .1
.4 bit OPENAPPLE
.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
@ -81,14 +87,19 @@ K.KernelRun jsr TSK.TskMgrRun
jsr .5
jmp K.KernelRun
.5 jmp $ffff
*--------------------------------------
.9 jsr DevMgr.SYS.Control
>LDYAI MSG.KRNLPANIC
jsr K.CPrintFYA
bra *
*--------------------------------------
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"
MSG.KRNLPANIC >CSTR "\n!!!Kernel Panic!!!\n"
SYS.CPULOADI .BS 1
SYS.CPULOADC .AS -"|/-\"
*--------------------------------------
MAN
SAVE SYS/KERNEL.S.RUN