Mercurial > hg > Members > kono > os9 > sbc09
comparison src/os9/level1/clock.asm @ 60:84d2d5a54ed0
level1 clock fixed
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 24 Jul 2018 17:04:46 +0900 |
parents | 2088fd998865 |
children |
comparison
equal
deleted
inserted
replaced
59:7c6dc25c2b05 | 60:84d2d5a54ed0 |
---|---|
37 SysTbl fcb F$Time | 37 SysTbl fcb F$Time |
38 fdb FTime-*-2 | 38 fdb FTime-*-2 |
39 fcb $80 | 39 fcb $80 |
40 | 40 |
41 | 41 |
42 ClockIRQ clra | 42 ClockIRQ ldx #TimerPort |
43 tfr a,dp | |
44 ldx #TimerPort | |
45 lda ,x | 43 lda ,x |
46 bita #$10 | 44 bita #$10 |
47 beq L00B4 | 45 bne L00B4 |
46 L00AE jsr [>D.Poll] poll ISRs | |
47 bcc L00AE keep polling until carry set | |
48 jmp [>D.AltIRQ] jump into an alternate IRQ if available | |
49 | |
50 L00B4 | |
48 ldb #$8f start timer | 51 ldb #$8f start timer |
49 stb ,x | 52 stb ,x |
50 L00B4 | 53 |
51 jmp [>D.SvcIRQ] | 54 dec <D.Tick |
55 bne L007F go around if not zero | |
56 ldb <D.Sec get minutes/seconds | |
57 * Seconds increment | |
58 incb increment seconds | |
59 cmpb #60 full minute? | |
60 blo L007F | |
61 ldb <D.TSec | |
62 stb <D.Tick | |
63 bsr FTime | |
64 L007F stb <D.Sec | |
65 | |
66 jmp [>D.Clock] | |
52 | 67 |
53 ClkEnt equ * | 68 ClkEnt equ * |
54 ldd #59*256+$01 last second and last tick | 69 ldd #59*256+$01 last second and last tick |
55 std <D.Sec will prompt RTC read at next time slice | 70 std <D.Sec will prompt RTC read at next time slice |
56 * ldb #TkPerSec | 71 ldb #TkPerSec |
57 * stb <D.TSec set ticks per second | 72 stb <D.TSec set ticks per second |
73 stb <D.Tick set ticks per second | |
58 ldb #TkPerTS get ticks per time slice | 74 ldb #TkPerTS get ticks per time slice |
59 stb <D.TSlice set ticks per time slice | 75 stb <D.TSlice set ticks per time slice |
60 stb <D.Slice set first time slice | 76 stb <D.Slice set first time slice |
61 pshs cc | 77 pshs cc |
62 orcc #FIRQMask+IRQMask mask ints | 78 orcc #FIRQMask+IRQMask mask ints |
75 ldy #TimerPort | 91 ldy #TimerPort |
76 ldb #$04 | 92 ldb #$04 |
77 stb ,y | 93 stb ,y |
78 ldd 1,y | 94 ldd 1,y |
79 std ,x | 95 std ,x |
96 std <D.Year | |
80 ldd 3,y | 97 ldd 3,y |
81 std 2,x | 98 std 2,x |
99 std <D.Day | |
82 ldd 5,y | 100 ldd 5,y |
83 std 4,x | 101 std 4,x |
102 std <D.Min | |
84 clrb | 103 clrb |
85 | |
86 rts | 104 rts |
87 | 105 |
88 emod | 106 emod |
89 eom equ * | 107 eom equ * |
90 end | 108 end |