image of READY prompt

Wang2200.org

Listing of file='T27D040B' on disk='vmedia/702-0079.wvd.zip'

# Sector 667, program filename = 'T27D040B'
0010 REM T27D040B 05/26/77 -WITH PRT---2227B TTY EMULATOR---PREPARED BY TYLER
     OLSEN, WANG LABS R&D
0020 DIM E$(7)8
   : GOTO 530
   : DIM C2$(16)16,I$(250)1,B$1,C$1,B$(5)4,S$(6)1
0050 $GIOSENDDATA#1(G9$,A$)C$
0070 $IF ON /001,320
0080 $GIOREADSTATUS#1(G1$,A$)S$()
   : IF S$(3)>HEX(00)THEN 280
   : IF S$(1)>HEX(00)THEN 290
   : IF S$(4)=HEX(00)THEN 70
   : $GIOINPUTRCVDDATA#1(G7$,A$)I$()<I>
   : A=VAL(STR(A$,10))
   : IF A+D>64THEN 180
   : $GIO/005(A000,A$)I$()<I,A>
   : D=D+A
   : GOTO 220
0180 B=65-D
   : $GIO/005(A000400D400A,A$)I$()<I,B>
   : D=A-B
   : $GIO/005(A000,A$)I$()<I+B,D>
0220 I=I+A
   : A=I-1
   : IF I$(A)<>HEX(0D)THEN 70
   : PRINT
   : ON OGOTO 270
   : $GIO/215(A000,A$)I$()<1,A>
0270 INIT(00)I$()
   : D,I=1
   : GOTO 70
0280 PRINT E$(VAL(S$(3)));
   : GOTO 80
0290 PRINT "...BREAK RECEIVED"
   : GOTO 70
0320 SELECT PRINT 005
   : KEYIN C$,330,460
0330 ON OGOTO 370
   : ON IGOTO 360
   : $GIO/215(A000,A$)I$()<1,I-1>
   : I=1
   : SELECT PRINT 215
   : PRINT "<<K.B. RESPONSE>>";
   : SELECT PRINT 005
0360 $GIO/215(A000,A$)C$
0370 IF C$<HEX(20)THEN 410
0380 PRINT C$;
   : D=D+1
   : IF D<65THEN 50
   : PRINT
   : D=1
   : GOTO 50
0400 PRINT
   : INIT(00)I$()
   : D,I=1
   : GOTO 50
0410 ON VAL(C$)-7GOTO 430,380,420,50,50,400
   : GOTO 50
0420 PRINT C$;
   : GOTO 50
0430 D=D-1
   : IF D>0THEN 440
   : D=64
   : PRINT HEX(0C);
0440 PRINT HEX(082008);
   : GOTO 50
0460 ON VAL(C$)-6GOTO 420,430,380,420,50,50,50,470,490
   : GOTO 50
0470 O=-O
   : PRINT "PRT ";
   : ON OGOTO 480
   : PRINT "ON"
   : GOTO 70
0480 PRINT "OFF"
   : GOTO 70
0490 PRINT "....SEND BREAK"
   : $GIO#1(4407,A$)
   : GOTO 70
0530 G0$=HEX(4402A000440C)
   : G1$=HEX(4403102002FF03FF1223C620)
   : G3$=HEX(4405A000440C)
   : G6$=HEX(4408)
   : G7$=HEX(4409102002FF03FF1223C620)
   : G9$=HEX(440BA000440C)
   : SELECT #101C
   : C2$(1),C2$(9)=HEX(00010203040506070809000B0C8D0E0F)
   : C2$(2),C2$(10)=HEX(10A012131415161718191A1B1C1D1E1F)
0740 C2$(3),C2$(11)=HEX(202122232425262728292A2B2C2D2E2F)
   : C2$(4),C2$(12)=HEX(303132333435363738393A3B3C3D3E3F)
   : C2$(5),C2$(13)=HEX(404142434445464748494A4B4C4D4E4F)
   : C2$(6),C2$(14)=HEX(505152535455565758595A5B5C5D5E5F)
0780 C2$(7),C2$(15)=HEX(606162636465666768696A6B6C6D6E6F)
   : C2$(8),C2$(16)=HEX(707172737475767778797A7B7C7D7E00)
   : O=1
   : PRINT HEX(03),,"2227B KEYBOARD/TIME SHARE INTERACTION"
   : PRINT "S.F. '1 = EMULATE TELETYPE   110 BAUD"
   : PRINT "S.F. '2 = EMULATE TELETYPE   300 BAUD"
0860 PRINT "S.F. '3 = EMULATE TELETYPE  1200 BAUD"
   : PRINT "S.F. '14 = PRINTER ON/OFF LINE FLAG"
   : PRINT
   : PRINT "RECEIVED ERRORS WILL DISPLAY AS FOLLOWS:"
   : E$(1)=HEX(7E)
   : E$(7),E$(6),E$(3),E$(2)=".OVERRUN."
   : E$(5),E$(4)=HEX(7F)
   : PRINT " PARITY=";
   : PRINT E$(1)
   : PRINT " OVERRUN=";
   : PRINT E$(2)
0910 PRINT " FRAMING=";
   : PRINT E$(4)
   : STOP " KEY DESIRED START-UP"
0930 DEFFN'1
   : PRINT HEX(03),,"EMULATE TTY 110 BAUD"
   : B$(1)=HEX(3311217F)
0950 B$(2)=HEX(00010000)
   : B$(3)=HEX(1C0C0000)
   : B$(4)=HEX(00000000)
   : B$(5)=HEX(00000000)
   : GOSUB 1200
   : C$=HEX(00)
   : D,I=1
   : PRINT
   : PRINT "S.F. KEYS MAY BE USED TO SEND CONTROL CODE EQUIVALENTS"
   : PRINT " E.G. '27=HEX(1B)=ESCAPE"
   : PRINT "      '17=HEX(11)=X-ON"
   : PRINT " S.F. '14 PUTS OUTPUT ON/OFF LINE PRINTER"
1050 PRINT " S.F. '15 IS PROGRAMMED TO SEND A BREAK SIGNAL."
   : ON Z9GOTO 1070
   : $GIORESET#1(4580,A$)
1070 $GIOSETCONTROLS#1(G0$,A$)B$()
   : $GIOSETRCVTABLE#1(G3$,A$)C2$()
   : $GIOSTARTRCV#1(G6$,A$)
   : PRINT
   : PRINT
   : PRINT "KEYBOARD/T.C. NOW ACTIVE"
   : GOTO 70
1110 DEFFN'2
   : PRINT HEX(03),,"EMULATE TTY 300 BAUD"
   : B$(1)=HEX(1711217F)
   : GOTO 950
1140 DEFFN'3
   : PRINT HEX(03),,"EMULATE TTY 1200 BAUD"
   : B$(1)=HEX(1913217F)
   : GOTO 950
   : DIM P2$(16)4,P3$(4),P4$(4),P6$(4)
1200 P2$(1)="50"
   : P2$(2)="75"
   : P2$(3)="100"
   : P2$(4)="110"
   : P2$(5)="134"
   : P2$(6)="150"
   : P2$(7)="200"
   : P2$(8)="300"
   : P2$(9)="600"
   : P2$(10)="1200"
   : P2$(11)="1800"
   : P2$(12)="2400"
   : P2$(13)="3600"
   : P2$(14)="4800"
   : P2$(15)="7200"
   : P2$(16)="9600"
1250 P3$(1)="HALF DUPLEX"
   : P3$(2)="HALF W/DEL"
   : P3$(3)="FULL DUPLEX"
   : P3$(4)="FULL W/DEL"
   : P4$(1)="DISABLE"
   : P4$(2)="ENABLE T/R"
   : P4$(3)="BRK ON 2ND"
   : P4$(4)="BRK INVERTED"
   : P6$(1)="NO"
   : P6$(2)="EVEN"
   : P6$(3)="NO"
   : P6$(4)="ODD"
1300 C$=STR(B$(1),1)
   : ROTATE(C$,4)
   : AND (C$,0F)
   : PRINT ((VAL(C$)+1))/2;" STOP BITS--";
   : C$=STR(B$(1),1)
   : AND (C$,0F)
   : PRINT P2$(VAL(C$)+1);" BAUD--";
   : C$=STR(B$(1),2)
   : ROTATE(C$,4)
   : AND (C$,0F)
   : PRINT P3$(VAL(C$)+1);" MODE--";
   : C$=STR(B$(1),2)
   : AND (C$,0F)
   : PRINT P4$(VAL(C$)+1);" BREAK--"
1340 C$=STR(B$(1),3)
   : ROTATE(C$,4)
   : AND (C$,0F)
   : PRINT VAL(C$)+5;" DATA BITS--";
   : C$=STR(B$(1),3)
   : AND (C$,0F)
   : PRINT P6$(VAL(C$)+1);" PARITY";
   : RETURN