Kernel 0.9.1 : Kernel, Fix ThunderClock support for system TICK

This commit is contained in:
Rémy GIBERT 2017-12-18 17:36:21 +01:00
parent 0454699b6e
commit cd3ae76382
7 changed files with 28 additions and 30 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -13,7 +13,7 @@ AUTO 6
.INB /A2OSX.BUILD/INC/IO.I .INB /A2OSX.BUILD/INC/IO.I
.INB /A2OSX.BUILD/INC/NET.TELNET.I .INB /A2OSX.BUILD/INC/NET.TELNET.I
*-------------------------------------- *--------------------------------------
CURSOR.BLINK.SPEED .EQ 8 CURSOR.BLINK.SPEED .EQ 2
ESCSEQ.MAXLEN .EQ 16 ESCSEQ.MAXLEN .EQ 16
*-------------------------------------- *--------------------------------------
ZPBaseL1 .EQ ZPDRV ZPBaseL1 .EQ ZPDRV

View File

@ -161,33 +161,34 @@ CORE.GetEvents lda #Evt.Table
sta CORE.VBLState save new sta CORE.VBLState save new
bpl .8 Up2down transition,no tick bpl .8 Up2down transition,no tick
lda SYS.BASL0+38 .2 lda #0
eor #$80
sta SYS.BASL0+38
.2 inc A2osX.TIMER16
bne .3
inc A2osX.TIMER16+1
.3 lda #0
dec CORE.TickSec dec CORE.TickSec
bne .4 not yet One Sec bne .3 not yet One Sec
lda SYS.BASL0+38
eor #$C0
sta SYS.BASL0+38
ldx CORE.TickPerSec ldx CORE.TickPerSec
stx CORE.TickSec stx CORE.TickSec
ora #S.EVT.F.T1SEC lda #S.EVT.F.T1SEC
bra .4 Force Resync T1 & T10...
.4 dec CORE.Tick10t .3 dec CORE.Tick10t
bne .6
.4 inc A2osX.TIMER16
bne .5 bne .5
inc A2osX.TIMER16+1
ldx CORE.TickPer10t .5 ldx CORE.TickPer10t
stx CORE.Tick10t stx CORE.Tick10t
ora #S.EVT.F.T10TH ora #S.EVT.F.T10TH
.5 tax Finally, do we have an event ? .6 tax Finally, do we have an event ?
beq .8 no.... beq .8 no....
sta (pEvent) sta (pEvent)

View File

@ -573,7 +573,7 @@ IrqMgrInit >LDYAI MSG.IRQ
jsr IrqMgrInit.Mouse jsr IrqMgrInit.Mouse
bcs .1 bcs .1
lda #'v' lda #"V"
sta SYS.BASL0+38 sta SYS.BASL0+38
>LDYAI K.IrqH.VBL >LDYAI K.IrqH.VBL
@ -587,7 +587,7 @@ IrqMgrInit >LDYAI MSG.IRQ
.1 jsr IrqMgrInit.TClock .1 jsr IrqMgrInit.TClock
bcs .8 bcs .8
lda #'c' lda #"C"
sta SYS.BASL0+38 sta SYS.BASL0+38
>LDYAI K.IrqH.TClock >LDYAI K.IrqH.TClock
@ -601,7 +601,7 @@ IrqMgrInit >LDYAI MSG.IRQ
.8 jsr IrqMgrInit.HZ2Tick .8 jsr IrqMgrInit.HZ2Tick
lda #'p' lda #"P"
sta SYS.BASL0+38 sta SYS.BASL0+38
>LDYAI MSG.IRQ.POLL >LDYAI MSG.IRQ.POLL
@ -729,6 +729,9 @@ IrqMgrInit.TClock
cmp #$C8 cmp #$C8
bne .1 bne .1
sec
rts
.4 lda ZPPtr1+1 get $Cn .4 lda ZPPtr1+1 get $Cn
and #$f and #$f
tax get $0n tax get $0n
@ -739,6 +742,9 @@ IrqMgrInit.TClock
tay get $n0 tay get $n0
sty IRQ.VBL.n0 sty IRQ.VBL.n0
php
sei
lda #$40 Enable interrupt lda #$40 Enable interrupt
sta $c080,y sta $c080,y
sta $478,x sta $478,x
@ -754,10 +760,9 @@ IrqMgrInit.TClock
dec CORE.IRQMode dec CORE.IRQMode
clc plp
rts
.9 sec clc
rts rts
TClock.SIG .HS 0878282c58ff700538b00118b8087848 TClock.SIG .HS 0878282c58ff700538b00118b8087848

View File

@ -68,10 +68,6 @@ K.IrqH.TCLOCK ldy IRQ.VBL.n0
inc CORE.IRQTick inc CORE.IRQTick
lda SYS.BASL0+38
eor #$80
sta SYS.BASL0+38
clc clc
rts rts
*-------------------------------------- *--------------------------------------
@ -89,10 +85,6 @@ K.IrqH.VBL jsr IRQ.VBL.MSM SERVEMOUSE
inc CORE.IRQTick inc CORE.IRQTick
lda SYS.BASL0+38
eor #$80
sta SYS.BASL0+38
clc clc
rts rts
*-------------------------------------- *--------------------------------------