[net.micro.trs-80] Model 100 Term. program

spoo@utcsrgv.UUCP (Suk Lee) (04/19/84)

I've found that the 100 makes a pretty
good portable RS232 debugger (for 
finding spurious escape sequences,
etc).  Here's the program I use:

10 MAXFILES=2
20 DEFINT B-Z:DEFSTR A
30 DIM BR(9),AP(24)
40 DATA 75,110,300,600,1200
50 DATA 2400,4800,9600,19200
60 FOR I=1 TO 9
70   READ T:BR(I)=T
80 NEXT
90 CLS:PRINT CHR$(27)+"Q";
100 PRINT CHR$(27);"p";"       RS-232 debugger - baud rate      ";CHR$(27);"q"
110 PRINT @133,"Transmit "
120 PRINT @173,"Receive  "
130 PRINT:PRINT:PRINT " T    R        Done";
140 F=1:TX=3:RX=3
150 PRINT @143,"";
160 PRINT USING "#####";BR(TX)
170 PRINT @183,"";
180 PRINT USING "#####";BR(RX)
190 ON KEY GOSUB 220,250,,280:KEY ON
200 IF F GOTO 200
210 GOTO 290
220 TX=1+TX MOD 9
230 PRINT @143,"";
240 PRINT USING "#####";BR(TX):RETURN
250 RX=1+RX MOD 9
260 PRINT @183,"";
270 PRINT USING "#####";BR(RX):RETURN
280 F=0:KEY OFF:RETURN
290 DATA "E","v","e","n"," "," "
300 DATA "O","d","d"," "," "," "
310 DATA "I","g","n","o","r","e"
320 DATA "N","o","n","e"," "," "
330 FOR I=1 TO 24
340   READ A:AP(I)=A
350 NEXT
360 CLS
370 PRINT CHR$(27);"p";"       RS-232 debugger - word setup     ";CHR$(27);"q"
380 PRINT @130,"Word length "
390 PRINT @170,"Parity  "
400 PRINT @210,"Stop bits"
410 PRINT:PRINT " W    P    S   Done";
420 ON KEY GOSUB 520,550,590,600
430 WL=2:P=4:S=1:F=1:KEY ON
440 PRINT @143,"";
450 PRINT USING "#";WL+5
460 P6=6*(P-1)+1
470 PRINT @183,"";
480 PRINT USING "\    \";AP(P6)+AP(P6+1)+AP(P6+2)+AP(P6+3)+AP(P6+4)+AP(P6+5)
490 PRINT @222,S
500 IF F GOTO 500
510 GOTO 610
520 WL=1+WL MOD 3
530 PRINT @143,"";
540 PRINT USING "#";WL+5:RETURN
550 P=1+P MOD 4
560 P6=6*(P-1)+1
570 PRINT @183,"";
580 PRINT USING "\    \";AP(P6)+AP(P6+1)+AP(P6+2)+AP(P6+3)+AP(P6+4)+AP(P6+5):RETURN
590 IF S=1 THEN S=2:PRINT @222,S:RETURN ELSE S=1:PRINT @222,S:RETURN
600 F=0:KEY OFF:RETURN
610 A=CHR$(WL+53)+AP(P6)+CHR$(S+48)+"E"
620 AR="COM:"+CHR$(RX+48)+A
630 AT="COM:"+CHR$(TX+48)+A
640 OPEN AR FOR INPUT AS 1
650 OPEN AT FOR OUTPUT AS 2
660 CLS:PRINT CHR$(27)+"P";
670 ON COM GOSUB 710:COM ON
680 F=0
690 ON KEY GOSUB 740,,,:KEY ON
700 AO=INKEY$:PRINT #2,AO;:GOTO 700
710 IF EOF(1) THEN BEEP:CLOSE #1:OPEN AR FOR INPUT AS 1:RETURN 
720 AI=INPUT$(1,1)
730 IF F THEN PRINT "          "+AI+"         ";ASC(AI):RETURN ELSE PRINT AI;:RETURN
740 IF F=0 THEN F=1:PRINT CHR$(27)+"Q":RETURN ELSE F=0:PRINT CHR$(27)+"P":RETURN


After you've gone through the menus,
hitting F1 toggles ascii decoding on
and off.

I don't think the 100 can actually
suport independant transmit and
receive speeds, but what the heck...



-- 

From the pooped paws of:
Suk Lee
..!{decvax,linus,allegra,ihnp4}!utcsrgv!spoo