100 REM ***********************************************************************
110 REM *                                                                     *
120 REM * Name: PORTS                                                         *
130 REM * Rev.: 1.0                                                           *
140 REM * Date: June 10, 1982                                                 *
150 REM *                                                                     *
160 REM * Desc: Serial Port Parameter Setup Utility                           *
170 REM *                                                                     *
180 REM *                                                                     *
190 REM ***********************************************************************
200 ESC=27
210 WIDTH 100
220 HIGH$ = CHR$(ESC) + "U" + CHR$(34)
230 NORM$ = CHR$(ESC) + "U "
240 ULINE$ = CHR$(ESC) + "U" + "("
250 GRAPH A
260 PRINT CHR$(ESC);"S1";"         ATTACHE";CHR$(ESC);"S0";CHR$(ESC);"U0";"tm  ";CHR$(ESC);"U ";"SERIAL PORT SETUP UTILITY"
270 PRINT "                   COPYRIGHT 1982  OTRONA CORP., BOULDER, CO"
280 GRAPH L(6,1): PRINT ULINE$;"Serial Port Function";NORM$
290 GRAPH L(6,31): PRINT "[default]"
300 GRAPH L(6,50): PRINT ULINE$;"Function Options";NORM$
320 GRAPH L(8,1): PRINT "Port Selection:                                    "
330 GRAPH L(8,33): PRINT "[ C ]        Options:  (C)omm, (P)rinter"
340 GRAPH L(8,17): INPUT A$
350 IF LEN (A$) = 0 THEN PORT% = 241: GOTO 390
360 IF A$ <> "C" AND A$ <> "c" AND A$ <> "P" AND A$ <> "p" THEN 320
370 IF A$ = "C" OR A$ = "c" THEN PORT% = 241
380 IF A$ = "P" OR A$ = "p" THEN PORT% = 243
390 OUT PORT%,0
400 OUT PORT%,0 : OUT PORT%,216
410 GRAPH L(10,1): PRINT "Number of Stop Bits:                              "
420 GRAPH L(10,33): PRINT "[ 1 ]        Options:  1, 1.5, 2"
430 GRAPH L(10,22): INPUT A$
440 IF LEN (A$) = 0 THEN CTRL% = 4: GOTO 500
450 STBITS = VAL (A$)
460 IF STBITS <> 1 AND STBITS <> 1.5 AND STBITS <> 2 THEN GOTO 410
470 IF STBITS = 1 THEN CTRL% = 4 : GOTO 500
480 IF STBITS = 1.5 THEN CTRL% = 8 : GOTO 500
490 IF STBITS = 2 THEN CTRL% = 12: GOTO 500
500 GRAPH L(12,1): PRINT "Parity Useage:                                    "
510 GRAPH L(12,33): PRINT "[ N ]        Options:  (N)one, (E)ven, (O)dd"
520 GRAPH L(12,16): INPUT A$
530 IF LEN (A$) = 0 THEN GOTO 580
540 IF A$ <> "N" AND A$ <> "n" AND A$ <> "E" AND A$ <> "e" AND A$ <> "O" AND A$ <> "o" THEN GOTO 500
550 IF A$ = "N" OR A$ = "n" THEN GOTO 580
560 IF A$ = "E" OR A$ = "e" THEN CTRL%=CTRL%+3 : GOTO 580
570 IF A$ = "O" OR A$ = "o" THEN CTRL%=CTRL%+1 : GOTO 580
580 OUT PORT%,4 : OUT PORT%,CTRL%+64
590 OUT PORT%,1 : OUT PORT%,96
600 GRAPH L(14,1): PRINT "Number of Data Bits:                              "
610 GRAPH L(14,33): PRINT "[ 8 ]        Options:  7, 8"
620 GRAPH L(14,22): INPUT A$
630 IF LEN (A$) = 0 THEN CTRL% = 192: GOTO 680
640 IF A$ <> "7" AND A$ <> "8" THEN 600
650 BITS% = VAL (A$)
660 IF BITS% = 7 THEN CTRL% = 64 : GOTO 680
670 IF BITS% = 8 THEN CTRL% = 192
680 OUT PORT%,3 : OUT PORT%,CTRL%+1
690 OUT PORT%,5 : OUT PORT%,CTRL%/2+138
700 GRAPH L(20,1): PRINT "More changes:                                     "
710 GRAPH L(20,33): PRINT "[ N ]        Options: N, Y"
720 GRAPH L(20,15): INPUT A$
730 IF LEN (A$) = 0 THEN SYSTEM
740 IF A$ <> "Y" AND A$ <>"y" THEN GOTO 700
750 RUN
s: N, Y"
720 GRAPH L(20