Mercurial > hg > Members > kono > os9 > sbc09
diff os9/level1/clock.asm @ 34:2032755628dc
fix for nitros9
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 15 Jul 2018 14:18:19 +0900 |
parents | 7c5379eb406e |
children | fc10b7ae23d0 |
line wrap: on
line diff
--- a/os9/level1/clock.asm Sat Jul 14 15:22:54 2018 +0900 +++ b/os9/level1/clock.asm Sun Jul 15 14:18:19 2018 +0900 @@ -23,6 +23,9 @@ rev set $01 edition set $06 TimerPort set $e030 +TkPerSec set 60 +TkPerTS equ TkPerSec/10 ticks per time slice + mod eom,name,tylg,atrv,ClkEnt,size @@ -38,22 +41,33 @@ ClockIRQ clra tfr a,dp -L00AE jsr [>D.Poll] - bcc L00AE -L00B4 jmp [>D.AltIRQ] - rts + ldx #TimerPort + lda ,x + bita #$10 + beq L00B4 + ldb #$8f start timer + stb ,x +L00B4 + jmp [>D.SvcIRQ] ClkEnt equ * + ldd #59*256+$01 last second and last tick + std <D.Sec will prompt RTC read at next time slice +* ldb #TkPerSec +* stb <D.TSec set ticks per second + ldb #TkPerTS get ticks per time slice + stb <D.TSlice set ticks per time slice + stb <D.Slice set first time slice pshs cc orcc #FIRQMask+IRQMask mask ints - leax >ClockIRQ,pcr + leax <ClockIRQ,pcr stx <D.IRQ * install system calls - leay >SysTbl,pcr + leay <SysTbl,pcr os9 F$SSvc ldx #TimerPort - ldb #$8f start timer - stb ,x +* ldb #$8f start timer +* stb ,x puls pc,cc * F$Time system call code @@ -68,6 +82,7 @@ ldd 5,y std 4,x clrb + rts emod