Listing of file='ASK?TTY' on disk='vmedia/701-2358C.wvd.zip'
# Sector 258, program filename = 'ASK?TTY'
0010 REM ASK?TTY 04/07/83,COPYRIGHT WANG LABS,1981
: GOTO 1500
: ON A GOTO 2010,2030
1490 REM %Prompt screen load 1
1500 P0=40
: P=1
: GOSUB '33
: GOSUB 2600
1540 REM %Prompt screen load 2
1550 P0=31
: P=2
: GOSUB '33
1552 IF STR(Z$,37,2)="10"THEN STR(Z$,38,1)="1"
: REM /.Adjust TC board 0 to 1
1555 REM .Save input selection
1560 A=1
: GOSUB 2400
: A=VAL(C$(A))
: STR(N$,21)=D$(A)
: ON AGOSUB 100,1820,1830
: GOSUB 2510
: STR(W$,17)=STR(D$(A),1,8)
1582 REM .Save Host Responds
1585 GOSUB 2950
1590 REM .Save output selection
1600 A=3
: GOSUB 2400
: A=VAL(C$(A))
: STR(N$,43)=D$(A)
: ON AGOTO 1620
: A=VAL(C$(4))+1
1620 GOSUB 2550
: STR(W$,25)=STR(D$(A),1,8)
: LOAD DC T#0,N$(6)
1820 A=VAL(C$(4))+1
: RETURN
1830 A=4
: RETURN
1990 REM %..ASKAPARM -- TTY question interface
2000 REM ......TTY I/O
2010 ON PGOSUB 2160,2390
: RETURN
2030 ON PGOSUB 2140,2390
: RETURN
2130 REM %^.TTY Screen 1 Prompts
2140 D$="T T Y P a r a m e t e r s"
: P9=7
: IF L=80THEN 2160
: D1=1
: D=1
2160 INIT(20)D$()
: ON AGOTO 2170,2200,2230,2260,2280,2290,2320
2169 REM .?1
2170 A$="BAUD RATE"
: D$(1)="110"
: D$(2)="150"
: D$(3)="300"
: D$(4)="1200"
: D$(5)="7200 (null modem)"
: D$(6)="9600 (null modem)"
: RETURN
2199 REM .?2
2200 A$="PARITY"
: D$(1)="Even"
: D$(2)="Odd"
: D$(3)="None"
: RETURN
2229 REM .?3
2230 A$="STOP BITS"
: D$(1)="1"
: D$(2)="1.5"
: D$(3)="2"
: RETURN
2259 REM .?4
2260 A$="BITS PER CHARACTER"
: D$(1)="7"
: D$(2)="8"
: RETURN
2279 REM .?5
2280 A$="LINE PROTOCOL"
: D$(1)="TTY Terminal"
: D$(2)="TTY Host"
: RETURN
2289 REM .?6
2290 A$="MODEM OPERATION"
: D$(1)="Full Duplex"
: D$(2)="Half Duplex"
: RETURN
2319 REM .?7
2320 IF C$(6)=HEX(02)THEN 110
: IF C$(5)=HEX(02)THEN 110
2330 A$="HOST ECHO EACH CHAR.?"
: D$(1)="No"
: D$(2)="Yes"
: RETURN
2380 REM %^.TTY Screen 2 Prompts
2390 D$="I n p u t / O u t p u t M o d u l e s"
: P9=7
2395 IF L=80THEN 2400
: D1=1
: D=1
2400 INIT(20)D$()
: ON AGOTO 2410,2430,2440,2450,2460,2470,2480
2409 REM .? 1
2410 A$="SEND FROM"
: D$(1)="Keyboard Only"
: D$(2)="Disk"
: RETURN
2420 D$(3)="Memory"
: RETURN
2429 REM .? 2
2430 IF C$(1)=HEX(01)THEN 110
: IF STR(Z$,45,1)="2"THEN 2434
2432 A$="HOST REPLIES WITH"
: D$(1)="LF only"
: D$(2)="LF + other"
: D$(3)="Nothing"
: RETURN
2434 C$(2)=HEX(03)
: GOTO 110
2439 REM .? 3
2440 A$="RECEIVE TO"
: D$(1)="CRT/Line printer"
: D$(2)="Disk"
: RETURN
2449 REM .? 4
2450 IF C$(1)=HEX(02)THEN 2454
: REM /Branch if send from disk
2452 IF C$(3)=HEX(01)THEN 110
: REM /Branch if not buffered print
2454 A$="DISK ACCESS METHOD"
: D$(1)="via Search"
: D$(2)="via On Error"
: RETURN
2459 REM .? 5
2460 A$="BUFFER PRINT IN CPU?"
: D$(1)="No"
: D$(2)="Yes--uses 2K memory"
: RETURN
2469 REM .? 6
2470 A$="T.C. BOARD TYPE"
: D$(1)="2227B, 28B or 28C"
: D$(2)="MXE"
: RETURN
2479 REM .? 7
2480 A$="T.C. BOARD ADDRESS"
: IF C$(6)=HEX(02)THEN 2490
: AND (C$(7),0F)
: D$(1)="1C"
: D$(2)="1D"
: D$(3)="1E"
: D$(4)="1F"
: RETURN
2490 GOSUB '205("T.C. PORT ON MXE",29,2,"08")
: RETURN
2500 DEFFN'205(A$,C1,C2,D1$)
: E=2
: D$(3)="Use MXE port number 02-16"
: D$(4)="02 03 04 05 06 07 08 09 10 11 12"
: D$(5)="13 14 15 16"
: BIN(C$)=1
: IF STR(Z$,C1,C2)=" "THEN STR(Z$,C1,C2)=D1$
: D$(1)=STR(Z$,C1,C2)
: RETURN
2505 REM %.INPUT MODULES
2506 REM . 1=KBD 2=DISK/SEARCH 3=DISK/ERROR 4=(MEMORY)
2510 D$(1)=" "
: D$(2)="CIOA010"
: D$(3)="CIOA070"
: D$(4)="CIO*180"
: RETURN
2545 REM %.OUTPUT MODULES
2546 REM . 1=CRT 2=DISK/SEARCH 3=DISK/ERROR
2550 D$(1)=" "
: D$(2)="CIOA040"
: D$(3)="CIOA080"
: RETURN
2580 REM %..SET PARAMETERS FROM RESPONSES
2590 REM .Set TTY Communications Control Vector
2600 INIT(00)STR(Z$,1,20)
2610 STR(Z$,4,1)=HEX(5E)
: REM /.PARITY FRAMING CHARACTER
2620 STR(Z$,6,1)=HEX(01)
: REM /ENABLE END OF RECORD DETECTION
2630 STR(Z$,9,2)=HEX(120C)
: REM /BREAK SEND DETECT INTERVALS
2640 STR(Z$,2,1)=HEX(01)
: REM /FULL W/DEL BREAK ENABLED
2650 STR(Z$,5,1)=HEX(02)
: REM /TIMEOUT INTERVAL (.2 SECONDS)
2660 REM .? 1 **** BAUD RATE **** 110/150/300/1200/7200/9600
2670 A$=HEX(030507090E0F)
: B$=STR(A$,VAL(C$(1)))
: OR (STR(Z$,1,1),B$)
2690 REM .? 2 **** PARITY **** EVEN/ODD/NO
2700 A$=HEX(010300)
: B$=STR(A$,VAL(C$(2)))
: OR (STR(Z$,3,1),B$)
2705 REM .? 3 **** STOP BITS **** 1/1.5/2
2710 A$=HEX(102030)
: B$=STR(A$,VAL(C$(3)))
: OR (STR(Z$,1,1),B$)
2720 REM .? 4 **** BITS/CHAR **** 7/8
2730 A$=HEX(2030)
: B$=STR(A$,VAL(C$(4)))
: OR (STR(Z$,3,1),B$)
2740 REM .? 5 **** LINE PROTOCOL **** Terminal/Host
2750 IF C$(5)=HEX(01)THEN 2790
: C$(7)=HEX(01)
2780 REM .? 6 **** MODEM DUPLEX **** FULL/HALF
2790 A$=HEX(3010)
: B$=STR(A$,VAL(C$(6)))
: OR (STR(Z$,2,1),B$)
2810 REM .? 7 **** HOST ECHO **** NO/YES
2820 A$=HEX(0001)
: STR(Z$,19,1)=STR(A$,VAL(C$(7)),1)
: W$="TTY*010B"
: N$="TELETYPE EMULATOR"
: RETURN
2940 REM ? 2 **** HOST RESPONDS **** LF/LF+/Nothing
2950 A$=HEX(010200)
: STR(Z$,20,1)=STR(A$,VAL(C$(2)),1)
2960 REM %.Operator may modify the following before saving configuration.
2970 IF STR(Z$,45,1)<>"2"THEN 2975
: STR(Z$,21,8)=HEX(0D0A)
: REM /1-8 BYTE EOM SEQ ON SEND (FROM HOST)
: GOTO 2980
2975 STR(Z$,21,8)=HEX(0D)
: REM /1-8 BYTE EOM SEQ ON SEND (FROM TERMINAL)
2980 STR(Z$,51)=HEX(5BC75DC35CCC5FC45CA15F827F81)
2990 REM ...........[sin]cos\pi _exp\Lod_RunClr
3000 REM .Special symbols are keyed by the following keys.
3010 REM .. 1B--5B [ or SIN( 1D--5D ] or COS( 1E--5E ^
3020 REM .. 1C--5C \ PI or LOAD 1F--5F _ EXP( or RUN 7F CLEAR
3030 RETURN