comparison level1/cmds/tuneport.asm @ 97:e42a6ba46d18

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