annotate level2/modules/clock2_disto.asm @ 722:edea65d8200b

Fixed apparent bug in L-I code
author boisy
date Sat, 04 Jan 2003 23:38:50 +0000
parents 6641a883d6b0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1 ********************************************************************
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
2 * Clock2 - Disto 2N1/4N1 clock driver
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
3 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
4 * $Id$
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
5 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
6 * Ed. Comments Who YY/MM/DD
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
7 * ------------------------------------------------------------------
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
8 * 1 MPI slot dependent Disto RTC where edition BRI 89/10/12
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
9 * byte is really MPI slot code.
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
10
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
11 nam Clock2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
12 ttl Disto 2N1/4N1 clock driver
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
13
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
14 ifp1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
15 use defsfile
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
16 endc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
17
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
18 tylg set Systm+Objct
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
19 atrv set ReEnt+rev
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
20 rev set 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
21 edition set 3
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
22
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
23
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
24 RTCMPSlt equ $33
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
25 RTCBase equ $FF50 clock base address
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
26
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
27 mod eom,name,tylg,atrv,start,RTCBase
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
28
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
29 name fcs "Clock2"
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
30 fcb edition
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
31 MPISlot fcb RTCMPSlt
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
32
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
33 start bra Init
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
34 nop
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
35 bra GetTime
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
36 nop
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
37 lbra SetTime
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
38
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
39 Init pshs x,a,cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
40 ldx M$Mem,pcr get hw addr of disto clock
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
41 orcc #IntMasks mask IRQ and FIRQ
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
42 sta >$FFD8 slow down CoCo 3 to .89MHz
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
43 ldb >MPI.Slct get current MPI slot
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
44 pshs b save it
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
45 lda >MPISlot,pcr get our slot selection
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
46 sta >MPI.Slct select it!
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
47 ldd #$010F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
48 stb 1,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
49 sta ,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
50 ldd #$0504
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
51 sta ,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
52 stb ,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
53 puls b get original slot
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
54 stb >MPI.Slct select it!
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
55 stb >$FFD9 speed Coco 3 up to 1.78MHz
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
56 ldb #59 last second in minute
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
57 stb <D.Sec force RTC read
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
58 puls x,a,cc fall through to RTC read ebelow
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
59
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
60 GetTime clrb return no error
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
61 pshs u,y,x,b,a,cc save regs to be altered
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
62 ldb <D.Sec get current second
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
63 incb next...
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
64 cmpb #60 minute done?
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
65 bcc L005E yes, go read RTC...
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
66 stb <D.Sec set new second
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
67 bra GTExit go clean up & return
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
68 L005E ldx M$Mem,pcr get clock base addr
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
69 orcc #IntMasks
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
70 sta >$FFD8
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
71 ldb >MPI.Slct
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
72 pshs b
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
73 lda >MPISlot,pcr
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
74 sta >MPI.Slct
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
75 ldy #D.Time
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
76 ldb #$0B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
77 bsr L0098
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
78 bsr L0098
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
79 bsr L0098
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
80 ldb #$05
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
81 stb 1,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
82 decb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
83 lda ,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
84 anda #$03
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
85 bsr L009F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
86 bsr L0098
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
87 bsr L0098
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
88 puls b
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
89 stb >MPI.Slct
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
90 stb >$FFD9
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
91 GTExit puls pc,u,y,x,b,a,cc recover regs & return
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
92
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
93 L0098 stb $01,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
94 decb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
95 lda ,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
96 anda #$0F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
97 L009F pshs b
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
98 ldb #$0A
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
99 mul
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
100 pshs b
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
101 ldb $01,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
102 stb $01,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
103 lda ,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
104 anda #$0F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
105 adda ,s+
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
106 puls b
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
107 decb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
108 sta ,y+
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
109 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
110
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
111 SetTime clrb no error for return...
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
112 pshs u,y,x,b,a,cc save regs to be altered
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
113 ldx M$Mem,pcr get clock base addres
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
114 orcc #IntMasks
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
115 sta >$FFD8
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
116 ldb >MPI.Slct
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
117 pshs b
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
118 lda >MPISlot,pcr
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
119 sta >MPI.Slct
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
120 ldy #D.Time
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
121 ldb #$0B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
122 bsr L00EA
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
123 bsr L00EA
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
124 bsr L00EA
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
125 bsr L00EA
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
126 bsr L00EA
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
127 bsr L00EA
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
128 puls b
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
129 stb >MPI.Slct
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
130 stb >$FFD9
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
131 puls pc,u,y,x,b,a,cc restore altered regs & return
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
132
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
133 L00EA stb $01,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
134 decb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
135 clra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
136 pshs b,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
137 ldb ,y+
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
138 clr ,-s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
139 L00F4 subb #$0A
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
140 bcs L00FC
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
141 inc ,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
142 bra L00F4
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
143 L00FC addb #$0A
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
144 puls a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
145 ora ,s+
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
146 sta ,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
147 tfr b,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
148 puls b
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
149 stb $01,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
150 decb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
151 sta ,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
152 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
153
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
154 emod
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
155 eom equ *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
156 end
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
157