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