annotate level2/cmds/swset.asm @ 192:04ea18f57106

Migrated OS-9 Level Two command
author boisy
date Sun, 14 Jul 2002 05:23:06 +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 * SWSet - Set time in SmartWatch
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 * Copyright May, 1990 by Robert Gault
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
7 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
8 * SWSET will set the smartwatch in either 12hr or 24hr mode
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
9 * time will be sent to OS-9 in 24hr mode for compatability
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
10 * see new DATE which presents time in 12hr. mode with day of week
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
11 * and SWREAD which sends data from clock to OS-9
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
12 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
13 * Ed. Comments Who YY/MM/DD
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
14 * ------------------------------------------------------------------
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
15 * 1 Revised: clock disable; no relocation RG 95/07/04
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
16
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
17 nam SWSet
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
18 ttl Set time in SmartWatch
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
19
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
20 ifp1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
21 use defsfile
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
22 endc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
23
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
24 type set prgrm+objct
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
25 revs set reent+1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
26 edition set 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
27
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
28 mod pgrmend,name,type,revs,start,size
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
29
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
30
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
31 locblk0 rmb 2 pointer to block 0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
32 locblk3E rmb 2 pointer to block $3E ie. disk ROM
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
33 temp1 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
34 temp2 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
35 clkbyte rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
36 clkflag rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
37 mpiimage rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
38 alrtimag rmb 8 storage for the allert code with following:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
39 csec rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
40 sec rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
41 min rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
42 hour rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
43 daywk rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
44 daymn rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
45 month rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
46 year rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
47 stopbyte rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
48 rawdata rmb 18
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
49 stack rmb 200
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
50 size equ .
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
51
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
52 rom equ $FFDE
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
53 ram equ $FFDF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
54 multipac equ $FF7F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
55 cartI equ $FF22
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
56 skp1 equ $21
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
57 skp2 equ $8C code for cmpx #nn
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
58
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
59 name fcs /SWSet/
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
60 fcb edition
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
61
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
62 clknfnd fcb C$LF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
63 fcc /no clock found/
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
64 fcb C$LF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
65 fcc /I'm running Setime/
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
66 fcb C$CR
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
67 setime fcc /setime/
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
68 fcb C$CR
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
69 swread fcc /swread/
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
70 fcb C$CR
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
71
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
72 query lda #1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
73 os9 I$Writln
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
74 clra path 0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
75 leax temp1,u storage
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
76 ldy #1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
77 os9 I$Read
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
78 lda temp1 get key
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
79 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
80
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
81 start leax alrtimag,u point to image of allert code
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
82 ldb #8
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
83 leay allert,pcr
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
84 s1loop lda ,y+ transfer to data
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
85 sta ,x+
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
86 decb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
87 bne s1loop
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
88 ldb #8
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
89 s2loop clr ,x+ clear out the time date data
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
90 decb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
91 bne s2loop
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
92 dec ,x mark stop byte
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
93 lda multipac
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
94 anda #3 keep IRQ
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
95 ora #$30 start with slot 4
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
96 sta mpiimage save setting
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
97 lda #1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
98 leax crmesage,pcr copyright message
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
99 ldy #mesage1-crmesage
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
100 os9 I$WritLn
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
101 getfunc leax mesage1,pcr select time or disable clock
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
102 ldy #mesage2-mesage1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
103 bsr query
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
104 anda #$DF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
105 cmpa #'D disable
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
106 lbeq killit
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
107 cmpa #'T timer
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
108 lbeq doit
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
109 cmpa #'C clock
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
110 bne getfunc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
111 getday leax mesage2,pcr
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
112 ldy #mesage3-mesage2 get day of week
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
113 bsr query
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
114 suba #'0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
115 blo getday
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
116 cmpa #7
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
117 bhi getday
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
118 sta daywk convert from ascii to number
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
119 tmode leax mesage3,pcr 12 or 24 hour time
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
120 ldy #mesage4-mesage3
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
121 bsr query
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
122 cmpa #'1 error trap
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
123 blo tmode
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
124 cmpa #'2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
125 bhi tmode
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
126 beq date
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
127 lda #%10000000 12 hr bit
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
128 sta hour
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
129 getAMPM leax mesage4,pcr
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
130 ldy #mesage5-mesage4
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
131 lbsr query
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
132 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
133 anda #$df
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
134 cmpa #'A
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
135 beq AMPMcode
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
136 cmpa #'P
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
137 bne getAMPM
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
138 ldb #%100000 PM bit
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
139 AMPMcode orb hour
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
140 stb hour
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
141 date leax mesage5,pcr get date and time
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
142 lda #1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
143 ldy #endmes-mesage5
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
144 os9 I$Writln
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
145 clra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
146 leax rawdata,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
147 ldy #18
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
148 os9 I$ReadLn
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
149 leax rawdata,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
150 clr temp1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
151 bsr ascbcd
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
152 stb year
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
153 bsr ascbcd
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
154 stb month
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
155 bsr ascbcd
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
156 stb daymn
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
157 bsr ascbcd
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
158 tst hour
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
159 beq sthour
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
160 cmpb #$12 max in 12 hour mode
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
161 bhi date
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
162 orb hour
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
163 sthour stb hour
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
164 bsr ascbcd
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
165 stb min
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
166 bsr ascbcd
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
167 stb sec
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
168 bra doit
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
169
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
170 ascbcd clr temp2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
171 bsr data1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
172 bne noinfo
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
173 com temp2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
174 tfr a,b
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
175 bsr data1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
176 bne endasc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
177 lslb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
178 lslb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
179 lslb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
180 lslb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
181 pshs a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
182 addb ,s+
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
183 inca
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
184 endasc rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
185 noinfo leas 2,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
186 bra doit
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
187
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
188 data1 lda ,x+
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
189 beq nomore
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
190 cmpa #C$CR
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
191 beq nomore
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
192 cmpa #C$SPAC
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
193 beq data2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
194 cmpa #'/
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
195 beq data2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
196 cmpa #':
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
197 beq data2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
198 suba #'0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
199 bcs error
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
200 cmpa #9
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
201 bhi error
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
202 orcc #4
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
203 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
204 data2 tst temp2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
205 beq data1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
206 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
207 nomore com temp1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
208 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
209 error leas 4,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
210 lbra date
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
211
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
212 doit pshs u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
213 ldb #1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
214 ldx #$3E disk rom
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
215 os9 f$mapblk
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
216 bcs exit2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
217 stu locblk3E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
218 ldx #0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
219 os9 f$mapblk
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
220 bcs exit2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
221 leax ,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
222 stx locblk0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
223 ldu ,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
224 bsr reloc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
225 ldb #1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
226 ldu locblk3E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
227 os9 f$clrblk
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
228 ldb #1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
229 ldu locblk0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
230 os9 f$clrblk
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
231 puls u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
232 tst clkflag
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
233 bne exit
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
234 lda #2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
235 leax clknfnd,pcr
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
236 ldy #40
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
237 os9 I$Writln
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
238 lda #$11
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
239 ldb #2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
240 leax setime,pcr
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
241 ldy #0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
242 leas stack,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
243 leau size,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
244 os9 F$Chain
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
245 exit lda #$11
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
246 ldb #2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
247 leax swread,pcr
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
248 ldy #0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
249 leas stack,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
250 leau size,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
251 os9 F$Chain
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
252 exit2 leas 2,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
253 coma
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
254 os9 F$Exit
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
255
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
256 killit lda #C$SPAC
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
257 sta daywk
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
258 bra doit
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
259
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
260 reloc pshs cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
261 lda d.hinit,x get $FF90 image
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
262 ldb multipac
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
263 pshs d
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
264 anda #$CC external disk rom access
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
265 orcc #$50
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
266 sta $FF90 set for external ROM
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
267 sta rom
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
268 ldx locblk3E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
269 ldb mpiimage get new value
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
270 clr clkflag
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
271
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
272 findclk stb multipac set new slot
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
273 leay allert,pcr
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
274 lda 4,x clear clock
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
275 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
276 bita #1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
277 beq low
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
278 comb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
279 low stb clkbyte
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
280 bsr nxtbyte
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
281 bsr gettime
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
282 tst clkflag
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
283 bne found
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
284 ldb mpiimage
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
285 bitb #$30 test for last try
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
286 beq found
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
287 subb #$10 next slot
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
288 stb mpiimage
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
289 lbra findclk
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
290
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
291 nxtbyte ldb #8 bits/byte
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
292 lda ,y+
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
293 cmpa #-1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
294 bne nxtbit
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
295 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
296 nxtbit lsra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
297 bcs high
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
298 cmpa ,x talk to clock; faster than tst
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
299 fcb skp2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
300 high cmpa 1,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
301 decb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
302 bne nxtbit
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
303 bra nxtbyte
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
304
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
305 gettime lda #8 bytes to read
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
306 pshs a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
307 timebyte ldb #8
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
308 timebit lsr 4,x read clock
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
309 rora
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
310 decb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
311 bne timebit
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
312 cmpa clkbyte
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
313 beq maybe
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
314 inc clkflag
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
315 maybe dec ,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
316 bne timebyte
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
317 leas 1,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
318 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
319
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
320 found tst clkflag
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
321 beq noclk1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
322 leay alrtimag,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
323 lda 4,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
324 bsr nxtbyte
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
325 noclk1 sta ram
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
326 puls d
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
327 stb multipac
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
328 tst cartI
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
329 sta $ff90
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
330 puls cc,pc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
331
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
332 allert fcb $C5,$3A,$A3,$5C,$C5,$3A,$A3,$5C,$ff
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
333 crmesage fcb C$LF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
334 fcc /Set Smartwatch/
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
335 fcb C$LF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
336 fcc /(c) May, 1990 by Robert Gault/
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
337 fcb C$LF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
338 fcb C$CR
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
339 mesage1 fcc /Select clock, timer, or disable/
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
340 fcb C$LF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
341 fcc /<C>lock; <T>imer; <D>isable ->/
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
342 mesage2 fcb C$LF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
343 fcc /Enter the day 0-7; Mon=1 Sun=7/
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
344 fcb C$LF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
345 fcc /day = ->? /
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
346 mesage3 fcb C$LF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
347 fcc /Select 12 or 24 hour clock/
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
348 fcb C$LF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
349 fcc /<1> = 12; <2> = 24 ->/
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
350 mesage4 fcb C$LF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
351 fcc /Select <A>M or <P>M ->/
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
352 mesage5 fcb C$LF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
353 fcc /Enter as much of the date & time as desired/
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
354 fcb C$LF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
355 fcc !yy/mm/dd hh:mm:ss!
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
356 fcb C$LF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
357 fcc /->/
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
358 endmes equ *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
359 emod
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
360 pgrmend equ *