Mercurial > hg > Members > kono > nitros9-code
annotate level1/cmds/tuneport.asm @ 1528:1c5a50add566
Megaread added
author | boisy |
---|---|
date | Wed, 07 Apr 2004 01:43:41 +0000 |
parents | 84ea83668304 |
children | 20841f236e32 |
rev | line source |
---|---|
97 | 1 ******************************************************************** |
2 * TunePort - Tune Printer Port | |
3 * | |
4 * $Id$ | |
5 * | |
1325
84ea83668304
Redid comments, reset all rev nibbles that weren't explictly set to 0
boisy
parents:
927
diff
changeset
|
6 * Edt/Rev YYYY/MM/DD Modified by |
84ea83668304
Redid comments, reset all rev nibbles that weren't explictly set to 0
boisy
parents:
927
diff
changeset
|
7 * Comment |
97 | 8 * ------------------------------------------------------------------ |
1325
84ea83668304
Redid comments, reset all rev nibbles that weren't explictly set to 0
boisy
parents:
927
diff
changeset
|
9 * 3 ????/??/?? |
84ea83668304
Redid comments, reset all rev nibbles that weren't explictly set to 0
boisy
parents:
927
diff
changeset
|
10 * From Tandy OS-9 Level One VR 02.00.00. |
97 | 11 |
12 nam TunePort | |
13 ttl Tune Printer Port | |
14 | |
15 ifp1 | |
16 use os9defs | |
17 use scfdefs | |
18 endc | |
19 | |
927 | 20 DOHELP set 0 |
21 | |
97 | 22 tylg set Prgrm+Objct |
23 atrv set ReEnt+rev | |
1325
84ea83668304
Redid comments, reset all rev nibbles that weren't explictly set to 0
boisy
parents:
927
diff
changeset
|
24 rev set $00 |
200
e9ce43cc215e
Made major changes to headers for consistency and identification
boisy
parents:
163
diff
changeset
|
25 edition set 3 |
97 | 26 |
27 mod eom,name,tylg,atrv,start,size | |
924 | 28 |
29 org 0 | |
97 | 30 u0000 rmb 1 |
31 u0001 rmb 1 | |
32 u0002 rmb 1 | |
33 u0003 rmb 2 | |
34 u0005 rmb 2 | |
35 u0007 rmb 2 | |
36 u0009 rmb 1 | |
37 u000A rmb 1 | |
38 u000B rmb 2 | |
39 u000D rmb 2 | |
40 u000F rmb 2 | |
41 u0011 rmb 1 | |
42 u0012 rmb 1 | |
43 u0013 rmb 3 | |
44 size equ . | |
45 | |
46 name fcs /TunePort/ | |
200
e9ce43cc215e
Made major changes to headers for consistency and identification
boisy
parents:
163
diff
changeset
|
47 fcb edition |
97 | 48 |
49 AdjPmpt fcb C$CR | |
50 fcb C$LF | |
51 fcc " TO ADJUST YOUR PORT ENTER A" | |
52 fcb C$CR | |
53 fcb C$LF | |
54 fcc "NEW VALUE FOR THE LOOP DELAY" | |
55 fcb C$CR | |
56 fcb C$LF | |
57 fcc "AFTER THE PROMPT AND CURRENT" | |
58 fcb C$CR | |
59 fcb C$LF | |
60 fcc "VALUE ARE GIVEN. HIT [ENTER]" | |
61 fcb C$CR | |
62 fcb C$LF | |
63 fcc "TO END." | |
64 fcb C$CR | |
65 fcb C$LF | |
66 PmptLen equ *-AdjPmpt | |
67 | |
68 DoneMsg fcb C$LF | |
69 fcb C$CR | |
70 fcb $20 | |
71 fcc "YOUR PORT IS NOW ADJUSTED FOR" | |
72 fcb C$CR | |
73 fcb C$LF | |
74 fcc "THE CURRENT BAUD RATE AND THE" | |
75 fcb C$CR | |
76 fcb C$LF | |
77 fcc "CRC OF THE MODULE HAS BEEN UP-" | |
78 fcb C$CR | |
79 fcb C$LF | |
80 fcc "DATED. TO MAKE THE CHANGE" | |
81 fcb C$CR | |
82 fcb C$LF | |
83 fcc "PERMANENT IN THE BOOT USE THE" | |
84 fcb C$CR | |
85 fcb C$LF | |
86 fcc "COBBLER OR OS9GEN UTILITIES" | |
87 fcb C$CR | |
88 fcb C$LF | |
89 fcc "OR THE -S OPTION OF TUNEPORT" | |
90 fcb C$CR | |
91 fcc "AT SYSTEM STARTUP" | |
92 fcb C$CR | |
93 DoneLen equ *-DoneMsg | |
94 | |
927 | 95 IFNE DOHELP |
97 | 96 HelpMsg fcc "USE:TUNEPORT </P OR /T1> [-OPT]" |
97 fcb C$CR | |
98 fcb C$LF | |
99 fcc " ADJUST BAUD RATE DELAY ON" | |
100 fcb C$CR | |
101 fcb C$LF | |
102 fcc " SERIAL PORTS." | |
103 fcb C$CR | |
104 fcb C$LF | |
105 fcc "Opt: -S=VALUE TO SET LOOP DELAY" | |
106 fcb C$CR | |
107 fcb C$LF | |
108 fcc " FOR CURRENT BAUD VALUE" | |
109 fcb C$CR | |
110 HelpLen equ *-HelpMsg | |
927 | 111 ENDC |
97 | 112 |
113 ErrMsg fcc "TUNEPORT: CURRENT BAUD RATE" | |
114 fcb C$CR | |
115 fcb C$LF | |
116 fcc "IS OUT OF RANGE" | |
117 fcb C$CR | |
118 ErrLen equ *-ErrMsg | |
119 L0241 fcb C$BELL | |
120 | |
121 TestNow fcb C$CR | |
122 fcc "NOW TESTING ....." | |
123 TestLen equ *-TestNow | |
124 | |
125 NewVMsg fcb C$CR | |
126 fcc "NEW VALUE = " | |
127 NewVLen equ *-NewVMsg | |
128 | |
129 CurVMsg fcb C$LF | |
130 fcb C$CR | |
131 fcb C$LF | |
132 fcc "CURRENT VALUE = " | |
133 CurVLen equ *-CurVMsg | |
134 | |
135 TestMsg fcc " This is a test line for the TunePort utility" | |
136 fcb C$CR | |
137 TMsgLen equ *-TestMsg | |
138 | |
139 start stu <u0003 | |
140 clr <u0002 | |
141 lbsr L0455 | |
142 stx <u0009 | |
143 cmpb #C$CR | |
144 lbeq L03FB | |
145 cmpb #'/ | |
146 lbne L03FB | |
147 lda #Devic+Objct | |
148 leax $01,x | |
149 os9 F$Link | |
150 lbcs L03E6 | |
151 stu <u000B | |
152 lda <u0012,u | |
153 ldu <u0003 | |
154 cmpa #$00 | |
155 lbne L03FB | |
156 ldy <u000B | |
157 leax <IT.BAU,y | |
158 lda ,x | |
159 anda #$0F | |
160 cmpa #$06 | |
161 lbgt L03E9 | |
162 sta <u0000 | |
163 leax M$PDev,y | |
164 ldd ,x | |
165 leax d,y | |
166 leay <$19,u | |
167 L02EA lda ,x+ | |
168 bmi L02F2 | |
169 sta ,y+ | |
170 bra L02EA | |
171 L02F2 anda #$7F | |
172 sta ,y+ | |
173 lda #C$CR | |
174 sta ,y+ | |
175 ldu <u000B | |
176 os9 F$UnLink | |
177 lbcs L03E6 | |
178 ldu <u0003 | |
179 ldx <u0009 | |
180 lda #WRITE. | |
181 os9 I$Open | |
182 lbcs L03E6 | |
183 sta <u0001 | |
184 lbsr L0455 | |
185 cmpb #C$CR | |
186 beq L031D | |
187 inc <u0002 | |
188 stx <u0009 | |
189 L031D lda #Drivr+Objct | |
190 leax <$19,u | |
191 os9 F$Link | |
192 lbcs L03DE | |
193 stu <u000B | |
194 sty <u000D | |
195 ldu <u0003 | |
196 tst <u0002 | |
197 bne L0345 | |
198 lda #$01 | |
199 leax >AdjPmpt,pcr | |
200 ldy #PmptLen | |
201 os9 I$Write | |
202 lbcs L03D7 | |
203 L0345 ldd <u000D | |
204 subd #$000E | |
205 tfr d,x | |
206 lda <u0000 | |
207 lsla | |
208 leax a,x | |
209 stx <u000F | |
210 tst <u0002 | |
211 bne L035D | |
212 lbsr L045E | |
213 lbsr L040D | |
214 L035D tst <u0002 | |
215 beq L038E | |
216 ldx <u0009 | |
217 ldb ,x | |
218 cmpb #'- | |
219 lbne L03FB | |
220 leax $01,x | |
221 ldb ,x+ | |
222 cmpb #'S | |
223 beq L037A | |
163 | 224 cmpb #'s |
97 | 225 beq L037A |
226 lbra L03FB | |
227 L037A ldb ,x+ | |
163 | 228 cmpb #'= |
97 | 229 bne L03FB |
230 stx <u0009 | |
231 lbsr L04F1 | |
232 ldd <u0005 | |
233 ldx <u000F | |
234 std ,x | |
235 clrb | |
236 bra L03D7 | |
237 L038E lbsr L0432 | |
238 lbsr L04DC | |
239 bcc L039D | |
240 lbsr L0444 | |
241 andcc #^Carry | |
242 bra L038E | |
243 L039D ldd <u0005 | |
244 beq L03A9 | |
245 ldx <u000F | |
246 std ,x | |
247 bsr L040D | |
248 bra L038E | |
249 L03A9 ldx <u000B | |
250 ldd $02,x | |
251 subd #$0003 | |
252 tfr d,y | |
253 leau d,x | |
254 ldd #$FFFF | |
255 std u0001,u | |
256 sta ,u | |
257 os9 F$CRC | |
258 com ,u | |
259 com u0001,u | |
260 com u0002,u | |
261 ldu <u0003 | |
262 clra | |
263 leax >DoneMsg,pcr | |
264 ldy #DoneLen | |
265 os9 I$Write | |
266 bcs L03E6 | |
267 lbsr L045E | |
268 L03D7 ldu <u000B | |
269 os9 F$UnLink | |
270 bcs L03E6 | |
271 L03DE lda <u0001 | |
272 os9 I$Close | |
273 bcs L03E6 | |
274 clrb | |
275 L03E6 os9 F$Exit | |
276 L03E9 lda #$02 | |
277 leax >ErrMsg,pcr | |
278 ldy #ErrLen | |
279 os9 I$Write | |
280 bcs L03E6 | |
281 clrb | |
282 bra L03E6 | |
927 | 283 L03FB equ * |
284 IFNE DOHELP | |
285 lda #$02 | |
97 | 286 leax >HelpMsg,pcr |
287 ldy #HelpLen | |
288 os9 I$Write | |
289 bcs L03E6 | |
927 | 290 ENDC |
97 | 291 clrb |
292 bra L03E6 | |
293 L040D lda #$01 | |
294 leax >TestNow,pcr | |
295 ldy #TestLen | |
296 os9 I$Write | |
297 bcs L03E6 | |
298 lda <u0001 | |
299 leax >TestMsg,pcr | |
300 ldy #TMsgLen | |
301 os9 I$WritLn | |
302 bcs L03E6 | |
303 ldx #$000A | |
304 os9 F$Sleep | |
305 rts | |
306 L0432 bsr L045E | |
307 lda #$01 | |
308 leax >NewVMsg,pcr | |
309 ldy #NewVLen | |
310 os9 I$Write | |
311 bcs L03E6 | |
312 rts | |
313 L0444 pshs y,x,b,a | |
314 lda #$02 | |
315 leax >L0241,pcr | |
316 ldy #$0001 | |
317 os9 I$Write | |
318 puls pc,y,x,b,a | |
319 L0455 ldb ,x+ | |
320 cmpb #C$SPAC | |
321 beq L0455 | |
322 leax -$01,x | |
323 rts | |
324 L045E pshs y,x,b,a | |
325 lda #$01 | |
326 leax >CurVMsg,pcr | |
327 ldy #CurVLen | |
328 os9 I$Write | |
329 lbcs L03E6 | |
330 ldx <u000F | |
331 ldd ,x | |
332 std <u0005 | |
333 leay >L04D0,pcr | |
334 leax <u0013,u | |
335 stx <u0011 | |
336 L0480 ldd ,y | |
337 beq L04BC | |
338 ldd <u0005 | |
339 pshs b,a | |
340 ldd ,y++ | |
341 lbsr L053F | |
342 cmpb #$00 | |
343 bne L0498 | |
344 leax <u0013,u | |
345 cmpx <u0011 | |
346 beq L0480 | |
347 L0498 std <u0007 | |
348 addb #$30 | |
349 ldx <u0011 | |
350 stb ,x+ | |
351 stx <u0011 | |
352 ldx <u0007 | |
353 leax -$01,x | |
354 leay -$02,y | |
355 ldd ,y++ | |
356 std <u0007 | |
357 L04AC addd <u0007 | |
358 leax -$01,x | |
359 bne L04AC | |
360 std <u0007 | |
361 ldd <u0005 | |
362 subd <u0007 | |
363 std <u0005 | |
364 bra L0480 | |
365 L04BC ldx <u0011 | |
366 lda #$0D | |
367 sta ,x | |
368 leax <u0013,u | |
369 lda #$01 | |
370 ldy #$0006 | |
371 os9 I$WritLn | |
372 puls pc,y,x,b,a | |
373 L04D0 fcb $27,$10,$03,$e8,$00,$64,$00,$0a,$00,$01,$00,$00 | |
374 L04DC pshs y,x,b,a | |
375 clra | |
376 leax <u0013,u | |
377 L04E2 ldy #$0006 | |
378 os9 I$ReadLn | |
379 lbcs L03E6 | |
380 bsr L0504 | |
381 puls pc,y,x,b,a | |
382 L04F1 pshs y,x,b,a | |
383 ldx <u0009 | |
384 leay <u0013,u | |
385 L04F8 lda ,x+ | |
386 sta ,y+ | |
387 cmpa #C$CR | |
388 bne L04F8 | |
389 bsr L0504 | |
390 puls pc,y,x,b,a | |
391 L0504 pshs y,x,b,a | |
392 clra | |
393 clrb | |
394 std <u0005 | |
395 leay <u0013,u | |
396 L050D ldb ,y+ | |
397 cmpb #'0 | |
398 blt L0537 | |
399 cmpb #'9 | |
400 bgt L0537 | |
401 pshs b | |
402 ldx #$0009 | |
403 ldd <u0005 | |
404 std <u0007 | |
405 L0520 addd <u0007 | |
406 leax -$01,x | |
407 bne L0520 | |
408 std <u0005 | |
409 puls b | |
410 subb #'0 | |
411 clra | |
412 std <u0007 | |
413 ldd <u0005 | |
414 addd <u0007 | |
415 std <u0005 | |
416 bra L050D | |
417 L0537 cmpb #C$CR | |
418 beq L053D | |
419 orcc #Carry | |
420 L053D puls pc,y,x,b,a | |
421 L053F pshs b,a | |
422 leas -$02,s | |
423 clr ,s | |
424 clr $01,s | |
425 lda #$01 | |
426 L0549 inca | |
427 lsl $03,s | |
428 rol $02,s | |
429 bpl L0549 | |
430 sta ,s | |
431 ldd $06,s | |
432 clr $06,s | |
433 clr $07,s | |
434 L0558 subd $02,s | |
435 bcc L0562 | |
436 addd $02,s | |
437 andcc #^Carry | |
438 bra L0564 | |
439 L0562 orcc #Carry | |
440 L0564 rol $07,s | |
441 rol $06,s | |
442 lsr $02,s | |
443 ror $03,s | |
444 dec ,s | |
445 bne L0558 | |
446 std $02,s | |
447 tst $01,s | |
448 beq L057E | |
449 ldd $06,s | |
450 nega | |
451 negb | |
452 sbca #$00 | |
453 std $06,s | |
454 L057E ldx $04,s | |
455 ldd $06,s | |
456 std $04,s | |
457 stx $06,s | |
458 ldx $02,s | |
459 ldd $04,s | |
460 leas $06,s | |
461 rts | |
462 | |
463 emod | |
464 eom equ * | |
465 end | |
466 |