Listing of file='27B*RCV' on disk='vmedia/tbo_81.wvd.zip'
# Sector 62, program filename = '27B*RCV' 0010 REM 27B*RCV 04/07/79---PREPARED BY TYLER OLSEN, WANG LABS R&D 0020 DIM E$(7)8 : GOTO 530 : REM /SET-UP 0030 DIM C2$(16)16, I$(250)1, B$1,C$1, B$(5)4, S$(6)1 0060 REM %T.C. INPUT ONLY TEST LOOP 0065 REM .RCV ONLY IF BYTE COUNT IS LARGE 0070 REM 0080 $GIO READ STATUS #1 (G1$,A$)S$() 0090 IF S$(3)>HEX(00)THEN 280 : REM /ERROR 0100 IF S$(1)>HEX(00)THEN 290 : REM /TEST BREAK 0110 IF S$(4)<HEX(40)THEN 70 : REM / TEST COUNT 0120 $GIO INPUT RCVD DATA #1 (G7$,A$) I$()<1> 0130 A= VAL(STR(A$,10)) 0140 $GIO/005(A000 ,Z$)I$()<1,A> 0150 GOTO 80 0280 PRINT E$(VAL(S$(3))); : GOTO 80 : REM /RCV ERROR 0290 PRINT "...BREAK RECEIVED" : GOTO 70 0510 REM %^ INITIALIZATION 0520 REM DEFINE $GIO ARGUMENTS TO OPERATE CONTROLLER 0530 G0$=HEX(45804402A000440C) : REM /SET COM. CTRL VECTOR 0540 G1$=HEX(4403C620) : REM /READ COM. STAT VECTOR 0560 G3$=HEX(4405A000440C) : REM /LOAD RX CODE TABLE 0590 G6$=HEX(4408) : REM /START RECEIVE 0600 G7$=HEX(4409C620) : REM /INPUT RECEIVED DATA 0620 G9$=HEX(440BA000440C) : REM /SEND-THEN-RECEIVE DATA 0630 SELECT #1 01C : REM / SELECT 2227B AS #1 0680 REM % VALUES FOR RCV TRANSLATION 0690 REM VALUE 7F (RUBOUT) CONVERT TO NULL 0700 REM VALUE 0D (RETURN) SET AS TERMINATOR 0710 REM VALUE 11 (X-ON) SET AS TERMINATOR/SHOW AS SPACE 0720 C2$(1),C2$(9) =HEX(000102030405060708090A0B0C0D0E0F) 0730 C2$(2),C2$(10)=HEX(102012131415161718191A1B1C1D1E1F) 0740 C2$(3),C2$(11)=HEX(202122232425262728292A2B2C2D2E2F) 0750 C2$(4),C2$(12)=HEX(303132333435363738393A3B3C3D3E3F) 0760 C2$(5),C2$(13)=HEX(404142434445464748494A4B4C4D4E4F) 0770 C2$(6),C2$(14)=HEX(505152535455565758595A5B5C5D5E5F) 0780 C2$(7),C2$(15)=HEX(606162636465666768696A6B6C6D6E6F) 0790 C2$(8),C2$(16)=HEX(707172737475767778797A7B7C7D7E00) 0800 O=1 : REM /PRINTER FLAG -1=ON +1=OFF 0830 PRINT HEX(03),,"2227B KEYBOARD/TIME SHARE INTERACTION" 0840 PRINT "S.F. '1 = EMULATE TELETYPE 110 BAUD" 0850 PRINT "S.F. '2 = EMULATE TELETYPE 300 BAUD" 0860 PRINT "S.F. '3 = EMULATE TELETYPE 1200 BAUD" 0870 PRINT "S.F. '14 = PRINTER ON/OFF LINE FLAG" 0880 PRINT : PRINT "RECEIVED ERRORS WILL DISPLAY AS FOLLOWS:" 0882 REM SET CRT REMARK ON RECEIVE ERRORS 0884 E$(1)=HEX(7E) : REM /PARITY ERROR 0886 E$(7),E$(6),E$(3),E$(2)=".OVERRUN." : REM /OVERRUN 0888 E$(5),E$(4)=HEX(7F) : REM /FRAMING ERROR 0890 PRINT " PARITY="; : PRINT E$(1) 0900 PRINT " OVERRUN="; : PRINT E$(2) 0910 PRINT " FRAMING="; : PRINT E$(4) 0920 STOP " KEY DESIRED START-UP" 0925 REM %^ DEFINE EMULATOR 0930 DEFFN'1 : PRINT HEX(03),,"EMULATE TTY 110 BAUD" 0940 B$(1)=HEX(3311217F) 0950 B$(2)=HEX(00010000) 0960 B$(3)=HEX(1C0C0000) : REM /BREAK SND=200 DET=120 0970 B$(4)=HEX(00000000) 0980 B$(5)=HEX(00000000) 0990 GOSUB 1200 : REM /SHOW PARAMETERS IN USE 1000 C$=HEX(00) : D,I=1 : PRINT 1010 PRINT "S.F. KEYS MAY BE USED TO SEND CONTROL CODE EQUIVALENTS" 1020 PRINT " E.G. '27=HEX(1B)=ESCAPE" 1030 PRINT " '17=HEX(11)=X-ON" 1040 PRINT " S.F. '14 PUTS OUTPUT ON/OFF LINE PRINTER" 1050 PRINT " S.F. '15 IS PROGRAMMED TO SEND A BREAK SIGNAL." 1060 $GIO RESET #1(4580,A$) 1070 $GIO SET CONTROLS #1 (G0$,A$)B$() 1080 $GIO SET RCV TABLE #1(G3$,A$)C2$() 1090 $GIO START RCV #1 (G6$,A$) 1100 PRINT : PRINT : PRINT "KEYBOARD/T.C. NOW ACTIVE" : GOTO 70 1110 DEFFN'2 : PRINT HEX(03),,"EMULATE TTY 300 BAUD" 1120 B$(1)=HEX(1711217F) 1130 GOTO 950 1140 DEFFN'3 : PRINT HEX(03),,"EMULATE TTY 1200 BAUD" 1150 B$(1)=HEX(1923217F) 1160 GOTO 950 1170 REM %^ PARAMETER DESCRIPTIONS 1180 DIM P2$(16)4,P3$(4),P4$(4),P6$(4) 1190 REM %..BAUD RATE 1200 P2$(1)="50" : P2$(2)="75" : P2$(3)="100" : P2$(4)="110" 1210 P2$(5)="134" : P2$(6)="150" : P2$(7)="200" : P2$(8)="300" 1220 P2$(9)="600" : P2$(10)="1200" : P2$(11)="1800" : P2$(12)="2400" 1230 P2$(13)="3600" : P2$(14)="4800" : P2$(15)="7200" : P2$(16)="9600" 1240 REM %..MODE 1250 P3$(1)="HALF DUPLEX" : P3$(2)="HALF W/DEL" : P3$(3)="FULL DUPLEX" : P3$(4)="FULL W/DEL" 1260 REM %..BREAK HANDLING 1270 P4$(1)="DISABLE" : P4$(2)="ENABLE T/R" : P4$(3)="BRK ON 2ND" : P4$(4)="BRK INVERTED" 1280 REM %..PARITY 1290 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--"; 1310 C$=STR(B$(1),1) : AND (C$,0F) : PRINT P2$(VAL(C$)+1);" BAUD--"; 1320 C$=STR(B$(1),2) : ROTATE(C$,4) : AND (C$,0F) : PRINT P3$(VAL(C$)+1);" MODE--"; 1330 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--"; 1350 C$=STR(B$(1),3) : AND (C$,0F) : PRINT P6$(VAL(C$)+1);" PARITY"; 1360 RETURN