mirror of
https://github.com/A2osX/A2osX.git
synced 2024-10-05 03:57:31 +00:00
Kernel 0.9.1 : KERNEL, Preemtive mode, Code cleaning....step by step....
This commit is contained in:
parent
b974fded06
commit
fa3273bebb
Binary file not shown.
Binary file not shown.
@ -7,7 +7,7 @@ AUTO 4,1
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
A2osX.MAIN.S .EQ A2osX.AUX-A2osX.MAIN
|
A2osX.MAIN.S .EQ A2osX.AUX-A2osX.MAIN
|
||||||
A2osX.AUX.S .EQ A2osX.GP-A2osX.AUX
|
A2osX.AUX.S .EQ A2osX.GP-A2osX.AUX
|
||||||
A2osX.GP.S .EQ A2osX.D1-A2osX.GP
|
A2osX.GP.S .EQ GP.CodeEnd-GP.CodeStart
|
||||||
A2osX.D1.S .EQ A2osX.D2-A2osX.D1
|
A2osX.D1.S .EQ A2osX.D2-A2osX.D1
|
||||||
A2osX.D2.S .EQ A2osX.E0-A2osX.D2
|
A2osX.D2.S .EQ A2osX.E0-A2osX.D2
|
||||||
A2osX.E0.S .EQ A2osX.E0.E-A2osX.E0
|
A2osX.E0.S .EQ A2osX.E0.E-A2osX.E0
|
||||||
@ -17,6 +17,9 @@ A2osX.E0.S .EQ A2osX.E0.E-A2osX.E0
|
|||||||
.FIN
|
.FIN
|
||||||
.DO A2osX.AUX.S>$C00
|
.DO A2osX.AUX.S>$C00
|
||||||
* ERROR:AUX too big
|
* ERROR:AUX too big
|
||||||
|
.FIN
|
||||||
|
.DO A2osX.GP.S>$1E0
|
||||||
|
* ERROR:GP too big
|
||||||
.FIN
|
.FIN
|
||||||
.DO A2osX.D1.S>$1000
|
.DO A2osX.D1.S>$1000
|
||||||
* ERROR:BNK1 too big
|
* ERROR:BNK1 too big
|
||||||
|
@ -8,7 +8,7 @@ AUTO 4,1
|
|||||||
* X = SYSfnc.Index
|
* X = SYSfnc.Index
|
||||||
* Y,A = free for Inline param
|
* Y,A = free for Inline param
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
jmp GP.SysCall
|
GP.CodeStart jmp GP.SysCall
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* LIBCALL (AUXLC to AUXLC)
|
* LIBCALL (AUXLC to AUXLC)
|
||||||
* Used by user
|
* Used by user
|
||||||
@ -281,34 +281,9 @@ GP.IrqH.DEV sta SETALTZP switch to aux LC
|
|||||||
ldx A2osX.SaveSX
|
ldx A2osX.SaveSX
|
||||||
txs
|
txs
|
||||||
|
|
||||||
>LDYAI Dev.Table
|
jsr K.IrqH.DEV
|
||||||
>STYA $fe
|
|
||||||
|
|
||||||
ldx DevMgr.Count
|
tsx go back to Main
|
||||||
|
|
||||||
.4 ldy #S.DEV.S
|
|
||||||
lda ($fe),y
|
|
||||||
and #S.DEV.S.IRQ
|
|
||||||
beq .6
|
|
||||||
|
|
||||||
phx
|
|
||||||
jsr GP.IrqHJMP
|
|
||||||
plx
|
|
||||||
bcc .8 CC, IRQ cleared by device
|
|
||||||
|
|
||||||
.6 lda $fe
|
|
||||||
clc
|
|
||||||
adc #S.DEV
|
|
||||||
sta $fe
|
|
||||||
bcc .7
|
|
||||||
inc $ff
|
|
||||||
|
|
||||||
.7 dex
|
|
||||||
bne .4
|
|
||||||
|
|
||||||
sec
|
|
||||||
|
|
||||||
.8 tsx go back to Main
|
|
||||||
stx A2osX.SaveSX
|
stx A2osX.SaveSX
|
||||||
ldx A2osX.SaveSM
|
ldx A2osX.SaveSM
|
||||||
txs
|
txs
|
||||||
@ -316,9 +291,6 @@ GP.IrqH.DEV sta SETALTZP switch to aux LC
|
|||||||
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
GP.IrqHJMP ldx #DEVMGR.IRQ
|
|
||||||
jmp ($fe)
|
|
||||||
*--------------------------------------
|
|
||||||
IRQ.SkipA2osX .BS 1
|
IRQ.SkipA2osX .BS 1
|
||||||
IRQ.Tick .BS 1
|
IRQ.Tick .BS 1
|
||||||
IRQ.InKernel .BS 1
|
IRQ.InKernel .BS 1
|
||||||
@ -333,7 +305,7 @@ IRQ.VBL.MRM jmp $0000
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
*BrkHandler bra *
|
*BrkHandler bra *
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.BS $BEE0-*
|
GP.CodeEnd .BS $BEE0-*
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* $BEE0->$BEEF : Public Variables
|
* $BEE0->$BEEF : Public Variables
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -126,8 +126,8 @@ K.IrqH.VBL jsr IRQ.VBL.MSM SERVEMOUSE
|
|||||||
bcs K.IrqH.DEV Not From Mouse
|
bcs K.IrqH.DEV Not From Mouse
|
||||||
|
|
||||||
ldx IRQ.VBL.0n
|
ldx IRQ.VBL.0n
|
||||||
lda $778,x
|
lda MOUSESTSx,x
|
||||||
and #$08 IRQ was caused by VBL ?
|
and #MOUSESTSx.INTVBL IRQ was caused by VBL ?
|
||||||
beq K.IrqH.DEV
|
beq K.IrqH.DEV
|
||||||
|
|
||||||
ldx IRQ.VBL.MRM+2 $Cn
|
ldx IRQ.VBL.MRM+2 $Cn
|
||||||
|
@ -399,16 +399,18 @@ K.GetPSList.YA >STYA ZPPtr1
|
|||||||
lda CORE.InKernelStat
|
lda CORE.InKernelStat
|
||||||
sta (ZPPtr1),y
|
sta (ZPPtr1),y
|
||||||
|
|
||||||
|
iny
|
||||||
|
|
||||||
.1 lda PS.Table.PID,x
|
.1 lda PS.Table.PID,x
|
||||||
beq .2
|
beq .2
|
||||||
|
|
||||||
lda PS.Table.hMem,x
|
lda PS.Table.hMem,x
|
||||||
iny
|
|
||||||
sta (ZPPtr1),y
|
sta (ZPPtr1),y
|
||||||
|
iny
|
||||||
|
|
||||||
lda PS.Table.Stat,x
|
lda PS.Table.Stat,x
|
||||||
iny
|
|
||||||
sta (ZPPtr1),y
|
sta (ZPPtr1),y
|
||||||
|
iny
|
||||||
|
|
||||||
.2 inx
|
.2 inx
|
||||||
cpx CORE.PSCount
|
cpx CORE.PSCount
|
||||||
|
Loading…
Reference in New Issue
Block a user