image of READY prompt

Wang2200.org

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

# Sector 924, program filename = 'T27D030B'
0005 REM MOD 1/15/80  J. BROOKS
0010 REM T27D030B 06/30/77  - SYSTEM 2200 16K TC TEST DIAGNOSTIC
0015 COM Z$,Z9
   : Z$="T27D030B"
   : GOTO 2230
0020 DIM D$4,D1$4,D2$4,D3$4,D4$4
0040 PRINT
   : RETURN
0060 GOSUB '202(1)
   : PRINT HEX(01);"#1= ";F$;
   : ON L GOTO 40
   : PRINT "#2= ";F2$
   : RETURN
0070 GOSUB '202(2)
   : PRINT HEX(01);"#1= ";F$;"  #2= ";F2$
   : RETURN
0080 FOR J=1TO 8
   : PRINT TAB(64)
   : NEXT J
   : PRINT HEX(010A0A0A0A0A0A0A)
   : RETURN
   : DIM L$2,H$2,R$(4)2
   : DIM E$(10),E(10),B$1,C$1,X$(51)16,Y$(30)16
   : DIM B$(5)4,S$(7)1,R$1,X5$1
0370 %###### ERRORS OCCURRED IN ###### PASSES
0380 IF N>1THEN 390
0390 K1=K1+1
0400 K=K+1
   : FOR I=1TO 999
   : NEXT I
0420 PRINT HEX(03);TAB(16);"--";B;"-- REV=";R9;B1$;" BOARD -- 16K  T.C. DIAGNO
     STIC --"
   : PRINTUSING 370,K1,K-1
   : IF K1=0THEN 450
   : PRINTUSING 2190,E(1),E(2),E(3)
   : PRINTUSING 2200,E(4),E(8),E(5)
0450 IF L>2THEN 520
   : IF W=0THEN 460
   : GOSUB 4210
0460 C=1
   : GOSUB 60
   : L$=R$(1)
   : H$=R$(2)
   : GOSUB 760
   : L$=R$(3)
   : IF L$=HEX(0000)THEN 480
   : H$=R$(4)
   : GOSUB 760
0480 IF B=1THEN 520
   : C=2
   : GOSUB 70
   : L$=R$(1)
   : H$=R$(2)
   : GOSUB 760
   : L$=R$(3)
   : IF L$=HEX(0000)THEN 520
   : H$=R$(4)
   : GOSUB 760
0520 B$(1)=D2$
   : B$(2)=HEX(14000000)
   : B$(3)=HEX(00000000)
   : B$(4)=HEX(00000000)
   : B$(5)=HEX(00000000)
   : ON LGOTO 580,610,700,620
0580 C=2
   : GOSUB '202(3)
   : STR(B$(1),2,1)=HEX(20)
   : GOSUB 1190
   : GOTO 400
0610 GOSUB 660
0620 GOSUB 60
   : GOSUB 1910
   : FOR I=1TO 500
   : NEXT I
   : GOSUB 70
   : GOSUB 1910
   : GOTO 400
0660 C=3
   : GOSUB 60
   : GOSUB 1190
   : PRINT "REVERSE DIRECTION"
   : C=5
   : GOSUB 70
   : GOSUB 1190
   : RETURN
0700 C=10
   : GOSUB 60
   : B$=STR(B$(1),1)
   : AND (B$,F0)
   : BIN(C$)=R
   : OR (C$,B$)
   : STR(B$(1),1,1)=C$
   : GOSUB 1190
   : GOSUB 70
   : GOSUB 1190
   : R=R+1
   : IF R<16THEN 700
   : RETURN
0760 PRINT HEX(010A0A0A0A0A0A);"-------------------------MEMORY TEST----------
     -------------"
   : GOSUB 80
0820 X$(1)=HEX(0102030405060708090A0B0C0D0E0F10)
   : J=25
   : FOR I=2TO J
   : X$(I)=X$(I-1)
   : ADD(X$(I),10)
   : NEXT I
   : FOR I=27TO 50
   : X$(I)=X$(I-1)
   : NEXT I
   : INIT(00)Y$()
0900 PRINT "RESET CONTROLLER NUMBER ";C
   : ON Z9GOTO 920
   : $GIO#1(4580,A$)
0920 GOSUB 3140
   : X5$=STR(X$(26),1,1)
   : PRINT "WRITE RAM WITH TEST PATTERN ";
   : HEXPRINT X5$
   : A$,A1$=L$
   : PRINT "READ BACK FROM RAM    AND COMPARE RESULTS  FROM ";
   : HEXPRINT L$;
   : PRINT " TO ";
   : HEXPRINT H$
0970 I=1
0980 A1$=A$
   : STR(A$,3)=HEX(10)
   : PRINT "RAM ADDRESS=";
   : HEXPRINT STR(A$,1,2);
   : PRINT "  WRITE  ";
   : $GIO#1(W0$,A1$)X$(I+25)
   : IF STR(A1$,8,1)<>HEX(00)THEN 1770
   : PRINT "READ  ";
   : $GIO#1(R0$,A$)Y$(I)
   : IF STR(A$,8,1)<>HEX(00)THEN 1780
   : ADD(STR(A$,2,1),10)
   : IF STR(A$,2,1)<>HEX(00)THEN 1090
   : ADD(STR(A$,1,1),01)
1090 PRINT "  COMPARE";HEX(0D);
   : IF X$(I+25)<>Y$(I)THEN 1790
   : IF STR(A$,1,2)>STR(H$,1,2)THEN 1150
   : I=I+1
   : IF I<=JTHEN 980
   : GOTO 970
1150 PRINT HEX(010A0A0A0A0A);"......MEMORY TEST ";C;" PASSED......"
   : RETURN
1180 % CHARS RECEIVED=##### ON LOOP ### OF ###  MODE=###
1190 PRINT HEX(010A0A0A0A0A0A);"-----------------------LOOPBACK TEST----------
     ------------"
   : GOSUB 1350
   : X=25
   : GOSUB 1450
   : IF L=2THEN 1220
   : RETURN
1220 PRINT HEX(010A0A0A0A0A0A);"----------------END OF RECORD LOOPBACK TEST---
     ------------"
   : B$(1)=D4$
   : B$(2)=HEX(14010000)
   : GOSUB 1350
   : INIT(20)X$()
   : X$(5)="@ABCDEFGHIJKLMNO"
   : STR(X$(6),1,1)=HEX(D0)
   : $GIOSETRCVTABLE#2(G3$,A$)X$()<1,256>
   : X=25
   : FOR J=1TO X
   : X$(J)="ABCDEFGHIJKLMNOP"
   : NEXT J
1310 C=C+1
   : GOSUB 1450
   : IF S$(5)>HEX(00)THEN 1840
   : RETURN
1350 GOSUB 80
   : PRINT "**CCV=";
   : HEXPRINT B$()
   : GOSUB 2910
   : $GIOLOADCCV#1(G0$,A$)B$()
   : $GIOLOADCCV#2(G0$,A$)B$()
   : RETURN
1400 PRINT HEX(010A0A0A0A0A0A0A0A0A0A0A);"COMMUNICATIONS STATUS VECTOR:  .B.M.
     E.#.L.T.R"
   : $GIO#1(G1$,A$)S$()
   : PRINT " ON SEND";TAB(31);
   : HEXPRINT S$()
   : $GIO#2(G1$,A$)S$()
   : PRINT " ON RCV";TAB(31);
   : HEXPRINT S$()
   : RETURN
1450 PRINT
   : PRINT "TRANSMIT/RECEIVE TEST DATA"
   : $GIOSTARTRECV#2(G6$,A$)
   : FOR J=1TO 100
   : NEXT J
   : INIT(00)Y$()
   : N=1
   : FOR I=1TO X
   : $GIOSENDDATA#1(G8$,A$)X$(I)
1510 GOSUB 1400
   : IF S$(3)<>HEX(FF)THEN 1540
   : PRINT "LOOPING 1175-1160 ON ILLEGAL CSV"
   : INIT(77)S$()
   : GOTO 1510
1540 IF S$(3)<>HEX(00)THEN 1800
   : IF I>8THEN 1560
   : PRINTUSING 1180,N-1,I,X,"SND"
   : GOTO 1590
1560 $GIOINPUTRECEIVEDDATA#2(G7$,A$)Y$()<N>
   : N=N+VAL(STR(A$,10,1))
   : PRINTUSING 1180,N-1,I,X,"S/R"
1590 NEXT I
1630 GOSUB 1400
   : IF S$(3)<>HEX(00)THEN 1800
   : $GIOINPUTRECEIVEDDATA#2(G7$,A$)Y$()<N>
   : N=N+VAL(STR(A$,10,1))
   : PRINTUSING 1180,N-1,I,X,"RCV"
   : IF S$(6)<>HEX(00)THEN 1630
   : PRINT "COMPARE REC'D, ORIGINAL DATA";HEX(01)
   : FOR I=1TO X
   : IF X$(I)<>Y$(I)THEN 1810
   : NEXT I
   : PRINT HEX(010A0A0A0A0A);"....LOOPBACK TEST";C;" PASSED...."
   : RETURN
1770 E=1
   : GOTO 1860
1780 E=2
   : GOTO 1860
1790 E=3
   : GOTO 1860
1800 E=4
   : GOTO 1860
1810 E=5
   : GOTO 1860
1820 E=6
   : GOTO 1860
1830 E=7
   : GOTO 1860
1840 E=8
   : GOTO 1860
   : E=9
   : GOTO 1860
1860 PRINT HEX(010A0A0A);"************************* E R R O R ****************
     *********"
   : E(E)=E(E)+1
   : IF E<4THEN 1895
   : IF E>5THEN 1897
   : IF E=4THEN 1898
   : PRINT E$(E)
   : PRINT "TRANSMITTED DATA IS        ";
   : HEXPRINT X$(I)
   : PRINT "RECEIVED DATA IS           ";
   : HEXPRINT Y$(I)
   : PRINT "CHECK LOOPBACK CONNECTION";TAB(64)
1892 PRINT "************************* E R R O R *************************"
   : RETURN CLEAR
   : GOTO 380
1895 PRINT E$(E)
   : IF E=1THEN 1896
   : PRINT "RECEIVED DATA IS           ";
   : HEXPRINT Y$(I)
1896 GOTO 1892
1897 PRINT E$(E)
   : GOTO 1892
1898 PRINT E$(E);
   : PRINT " = PARITY/FRAMING/RECEIVE BUFFER OVERRUN"
   : PRINT "CHECK CSV WITH S.F.'14             "
   : GOTO 1892
1910 PRINT HEX(010A0A0A0A0A0A);"-----------------------BREAK-TEST-------------
     ------------"
   : GOSUB 80
1911 B$(1)=D3$
   : B$(2)=HEX(14000000)
   : B$(3)=HEX(120C0000)
   : $GIOLOADCCV#1(G0$,A$)B$()
   : PRINT "CCV FOR #1=";
   : HEXPRINT B$()
   : $GIOLOADCCV#2(G0$,A$)B$()
   : PRINT "CCV FOR #2=";
   : HEXPRINT B$()
   : GOSUB 2910
2000 PRINT
   : PRINT "   .1.2.3.4.5.6.7.8.9.0"
   : $GIOREADSTATUS#2(G1$,A$)S$()
   : PRINT HEX(010A0A0A0A0A0A0A0A0A0A0A);"COMMUNICATIONS STATUS VECTOR:  ";
   : HEXPRINT S$()
   : IF S$(1)<>HEX(00)THEN 1830
   : $GIOSENDDATA#2(G8$,A$)X$(1)
   : FOR J=1TO 20
   : NEXT J
   : $GIOSENDBREAK#1(G5$,A$)
2080 $GIO READ CSV /01C (4403 1020 02FF 03FF 1223 C620, G$) A$
2130 PRINT HEX(010A0A0A0A0A);"....TEST ";C;"BREAK ";
2140 $GIOREAD CSV /01C (4403 1020 02FF 03FF 1223 C620, G$) A$
2170 PRINT " PASSED...."
   : RETURN
2190 %MEMORY TEST ERRORS... ###  WRITE     ### READ   ### VERIFY
2200 %LOOPBACK TEST ERRORS  ###  RECEIVE   ### EOR    ### VERIFY
2230 W0$=HEX(440042104220A000440C)
   : R0$=HEX(4401421042204230C620)
   : G0$=HEX(4402A000440C)
   : G1$=HEX(4403C620)
   : G2$=HEX(4404A000440C)
   : G3$=HEX(4405A000440C)
   : G4$=HEX(4406)
   : G5$=HEX(4407)
   : G6$=HEX(4408)
   : G7$=HEX(4409C620)
   : G8$=HEX(440AA000440C)
   : G9$=HEX(440BA000440C)
   : E$(1)="RAM WRITE ERROR"
2361 E$(2)="RAM READ ERROR"
   : E$(3)="RAM VERIFY ERROR"
   : E$(4)="RECEIVE ERROR"
   : E$(5)="LOOPBACK ERROR"
   : E$(6)="BRK NOT DETECTED"
   : E$(7)="BRK NOT CLEARED"
   : E$(8)="EOR NOT ZERO"
   : DIM P2$(16)4,P3$(4),P4$(4),P6$(4)
   : P2$(1)="50"
   : P2$(2)="75"
   : P2$(3)="100"
   : P2$(4)="110"
2440 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"
2470 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"
2480 GOSUB '102("#1")
   : GOSUB '102("#2")
   : GOSUB '200
   : GOSUB 3000
2500 PRINT HEX(03),,"WANG SYSTEM DIAGNOSTIC FOR 16K ";B1$
   : PRINT "S.F. '1 = 1 BOARD ENTRY--LOOPBACK CONNECTION   ADDR.= ";F$
   : PRINT "S.F. '2 = 2 BOARD ENTRY--CABLED TOGETHER  ADDR= ";F$;" AND ";F2$
   : PRINT "S.F. '3 = 2 BOARD TEST (VARYING BAUD RATE)"
   : PRINT "S.F. '13 = BREAK TEST"
2550 PRINT "S.F. '14 = SHOW CSV"
   : PRINT "S.F. '15 = SHOW CCV"
   : STOP " KEY DESIRED START-UP"
2580 DEFFN'1
   : B,L=1
   : GOSUB 4200
   : GOTO 2640
2590 DEFFN'2
   : B,L=2
   : GOSUB 4200
   : GOTO 2640
2600 DEFFN'3
   : B=2
   : L=3
   : PRINT HEX(03),,"LOOPBACK WITH VARYING BAUD RATE"
   : INPUT "LOW BAUD RATE  0-15",R1
2640 K=1
   : K1=0
   : FOR J=1TO 10
   : E(J)=0
   : NEXT J
2660 R=R1
   : GOSUB 420
   : K=K+1
   : GOTO 2660
2670 DEFFN'13
   : L=4
   : GOTO 2640
2680 DEFFN'29
   : PRINT "START RCV "
   : $GIO#2(G6$,A$)
   : RETURN
2700 DEFFN'30
   : PRINT "READ CSV"
   : $GIO#2(G1$,A$)S$()
2710 DEFFN'14
   : PRINT "CSV  (COMMUNICATIONS STATUS VECTOR)="
   : PRINT ".1.2.3.4.5.6.7  CHARACTER POSITION"
   : PRINT
   : HEXPRINT S$()
   : PRINT
   : PRINT ".B.M.E.C.E.T.L   MEANING"
   : PRINT ".R.O.R.O.N.I.E"
   : PRINT ".E.D.R.U.D.M.F"
   : PRINT ".A.E.O.N.S.E.T"
   : PRINT ".K.M.R.T...R.."
   : RETURN
2800 DEFFN'15
   : PRINT "CCV  (COMMUNICATIONS CONTROL VECTOR)="
   : PRINT "...................1.1.1.1.1.1.1.1.1.1.2  CHARACTER"
   : PRINT ".1.2.3.4.5.6.7.8.9.0.1.2.3.4.5.6.7.8.9.0  POSITION"
   : PRINT
   : HEXPRINT B$();
   : PRINT "  VALUE"
   : PRINT
   : PRINT "SBMBBP.E.T.E.U.D.B.B.   MEANING"
   : PRINT "TAORIA.R.I.O.P.W.R.R."
2860 PRINT "OUDETR.R.M.R. .N.K.K."
   : PRINT "PDEASI.C.E.  C.C. . ."
   : PRINT "   K T H.O.F H.H.S.D."
   : PRINT "     Y A.U.L A.A.N.E."
   : PRINT "       R.T.G R.R.D.T."
2910 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--";
   : R1$=P2$(VAL(C$)+1)
   : 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--"
2960 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
3000 SELECT PRINT 005(64)
   : PRINT HEX(03);TAB(11);"WANG SYSTEM 2200 16K TC CONTROLLER DIAGNOSTIC"
   : PRINT "KEY  A NUMBER AND  (EXEC) TO SELECT CONTROLLER TYPE"
   : ON Z9GOTO 3100
3001 PRINT " 1 = 2227B"
   : PRINT " 2 = 2228"
   : PRINT " 3 = 2228B"
   : PRINT  " 4 = OP 62"
   : PRINT  " 5 = OP 62B"
   : INPUT "KEY DESIRED OPTION",B1
   : B1$=" "
   : ON B1GOSUB 3080,3090,3110,3120,3130
   : IF B1$=" "THEN 3000
   : RETURN
3070 DEFFN'99(B1$,R9,R$(1),R$(2),R$(3),R$(4))
   : BIN(R$)=R9
   : RETURN
3080 GOSUB '99("2227B",6,HEX(1000),HEX(1388),HEX(0000),HEX(0000))
   : RETURN
3090 $GIO/01C(4580,A$)
   : LOAD DC T"2228LOAD"
3100 B1=2
   : GOSUB '99("2228",0,HEX(1800),HEX(1B60),HEX(0000),HEX(0000))
   : RETURN
3110 GOSUB '99("2228B",3,HEX(1100),HEX(1488),HEX(1500),HEX(2FFF))
   : RETURN
3120 GOSUB '99("OP 62",2,HEX(1100),HEX(1488),HEX(1500),HEX(1FFF))
   : RETURN
3130 GOSUB '99("OP 62B",3,HEX(1100),HEX(1488),HEX(1500),HEX(2FFF))
   : RETURN
3140 A$=HEX(03FF01)
   : B$=HEX(FF)
   : IF B1=2THEN 3210
   : INIT(00)B$()
   : $GIO#1(G0$,A$)B$()
   : $GIOREADREVNUMBER#1(R0$,A$)B$
   : IF B$<R$THEN 3180
   : R9=VAL(B$)
   : RETURN
3180 PRINT HEX(03);"DIAGNOSTIC IS FOR PROM REVISION >=";
   : HEXPRINT R$
   : PRINT "CONTROLLER BOARD IS SET WITH PROM=";
   : HEXPRINT B$
   : STOP "CORRECT CONDITION"
3210 RETURN
3220 DEFFN'0
   : LOAD DC T"START"
4000 PRINT HEX(03010A0A0A0A0A0A);"---------------------MEMORY TEST------------
     ---------"
   : DIM Q3$(1)
   : Q=1
   : SELECT PRINT 005(64)
   : PRINT "ENTER RAM TEST PATTERN AND (EXEC)"
4040 KEYIN T$,4050,4040
   : GOTO 4040
4050 IF T$>"F"THEN 4040
   : IF T$<"0"THEN 4100
   : IF T$<="9"THEN 4060
   : IF T$<"A"THEN 4040
4060 STR(S0$,Q,1)=T$
   : Q1=2
4080 PRINT T$;
   : Q=Q+1
   : IF Q<=Q1THEN 4040
4090 Q=Q-1
   : PRINT HEX(08);
   : GOTO 4040
4100 IF T$<>HEX(08)THEN 4110
   : IF Q<2THEN 4040
   : GOTO 4090
4110 IF T$<>" "THEN 4120
   : T$=HEX(09)
   : GOTO 4080
4120 IF T$<>HEX(0D)THEN 4040
   : FOR Q=1TO Q1/2
   : R2$=STR(S0$,2*Q-1,1)
   : IF R2$<="9"THEN 4140
   : ADD(R2$,F9)
4140 ROTATE(R2$,4)
   : AND (R2$,F0)
   : R1$=R2$
   : R2$=STR(S0$,2*Q,1)
   : IF R2$<="9"THEN 4150
   : ADD(R2$,F9)
4150 AND (R2$,0F)
   : OR (R1$,R2$)
   : STR(Q3$(1),Q+3,1)=R1$
   : NEXT Q
   : FOR I=1TO 16
   : STR(X$(26),I,1)=STR(R1$,1,1)
   : NEXT I
   : RETURN
4200 D=255
   : INPUT "MEMORY TEST---ENTER NUMBER CORRESPONDING TO DESIRED PATTERN
          (0)INPUT FROM CRT     (1)RANDOM     (2)CYCLIC",W
4210 IF W=1THEN 4220
   : IF W=2THEN 4270
   : GOTO 4000
4220 BIN(Z$)=INT(256*RND(1))
   : FOR I=1TO 16
   : STR(X$(26),I,1)=STR(Z$,1,1)
   : NEXT I
   : RETURN
4270 BIN(Z$)=D
   : FOR I=1TO 16
   : STR(X$(26),I,1)=STR(Z$,1,1)
   : NEXT I
   : D=D+1
   : IF D<256THEN 4320
   : D=0
4320 RETURN
4500 DEFFN'102(F1$)
   : SELECT PRINT 005(64)
   : PRINT HEX(03);TAB(11);"WANG SYSTEM 2200 16K TC CONTROLLER DIAGNOSTIC"
   : PRINT HEX(0A0A0D);"1. 01A","2. 01B","3. 01C"
4510 PRINT
   : PRINT "4. 01D","5. 01E","6. 01F"
   : PRINT HEX(0C0C0C0C);" SELECT CONTROLLER ";F1$;" ADDRESS ";
4511 INPUT P
   : IF P2=P THEN 4700
4515 IF F1$<>"#1" THEN 4600
   : P2=P
4520 ON P2 GOTO 4530,4540,4550,4560,4570,4580
4530 SELECT #101A
   : F$="01A"
   : RETURN
4540 SELECT #101B
   : F$="01B"
   : RETURN
4550 SELECT #101C
   : F$="01C"
   : RETURN
4560 SELECT #101D
   : F$="01D"
   : RETURN
4570 SELECT #101E
   : F$="01E"
   : RETURN
4580 SELECT #101F
   : F$="01F"
   : RETURN
4600 ON P GOTO 4620,4630,4640,4650,4660,4670
4620 SELECT #201A
   : F2$="01A"
   : RETURN
4630 SELECT #201B
   : F2$="01B"
   : RETURN
4640 SELECT #201C
   : F2$="01C"
   : RETURN
4650 SELECT #201D
   : F2$="01D"
   : RETURN
4660 SELECT #201E
   : F2$="01E"
   : RETURN
4670 SELECT #201F
   : F2$="01F"
   : RETURN
4700 PRINT HEX(0C0C);"CONTROLLER #2 CAN NOT BE THE SAME ADDRESS AS CONTROLLER
     #1"
   : PRINT HEX(090909090909090909090909090909090909090909090909090909090909);
   : GOTO 4511
4800 DEFFN'202(P4)
   : IF P4=2THEN 4820
   : IF P4=3 THEN 4830
   : GOSUB 4520
   : GOSUB 4600
   : RETURN
4820 P5=P
   : P=P2
   : P2=P5
   : GOSUB 4520
   : GOSUB 4600
   : RETURN
4830 P=P2
   : GOSUB 4520
   : GOSUB 4600
   : RETURN
5000 DEFFN'200
   : PRINT HEX(010A0A0A0A0A0A0A0A);
   : PRINT "BAUD RATE "
5005 PRINT
   : PRINT "50    75    100    110    134    150    200    300"
5006 PRINT      "600   1200  1800   2400   3600   4800   7200   9600"
5007 PRINT HEX(0C0C0C0C09090909090909090909);
   : INPUT D1$
5010 RESTORE
5020 P1=P1+1
   : READ D$
   : IF D$<>" "THEN 5025
   : PRINT "INCORRECT BAUD RATE ------- PLEASE RE-ENTER !"
   : P1=0
   : GOTO 5000
5025 IF D$<>D1$ THEN 5020
   : GOTO 5030
5030 ON P1 GOTO 5050,5060,5070,5080,5090,6000,6010,6020,6030,6040,6050,6060,60
     70,6080,6090,6100
5050 D2$=HEX(100031AA)
   : D3$=HEX(100231AA)
   : D4$=HEX(100021AA)
   : RETURN
5060 D2$=HEX(110031AA)
   : D3$=HEX(110231AA)
   : D4$=HEX(110021AA)
   : RETURN
5070 D2$=HEX(120031AA)
   : D3$=HEX(120231AA)
   : D4$=HEX(120021AA)
   : RETURN
5080 D2$=HEX(130031AA)
   : D3$=HEX(130231AA)
   : D4$=HEX(130021AA)
   : RETURN
5090 D2$=HEX(140031AA)
   : D3$=HEX(140231AA)
   : D4$=HEX(140021AA)
   : RETURN
6000 D2$=HEX(150031AA)
   : D3$=HEX(150231AA)
   : D4$=HEX(150021AA)
   : RETURN
6010 D2$=HEX(160031AA)
   : D3$=HEX(160231AA)
   : D4$=HEX(160021AA)
   : RETURN
6020 D2$=HEX(170031AA)
   : D3$=HEX(170231AA)
   : D4$=HEX(170021AA)
   : RETURN
6030 D2$=HEX(180031AA)
   : D3$=HEX(180231AA)
   : D4$=HEX(180021AA)
   : RETURN
6040 D2$=HEX(190031AA)
   : D3$=HEX(190231AA)
   : D4$=HEX(190021AA)
   : RETURN
6050 D2$=HEX(1A0031AA)
   : D3$=HEX(1A0231AA)
   : D4$=HEX(1A0021AA)
   : RETURN
6060 D2$=HEX(1B0031AA)
   : D3$=HEX(1B0231AA)
   : D4$=HEX(1B0021AA)
   : RETURN
6070 D2$=HEX(1C0031AA)
   : D3$=HEX(1C0231AA)
   : D4$=HEX(1C0021AA)
   : RETURN
6080 D2$=HEX(1D0031AA)
   : D3$=HEX(1D0231AA)
   : D4$=HEX(1D0021AA)
   : RETURN
6090 D2$=HEX(1E0031AA)
   : D3$=HEX(1E0231AA)
   : D4$=HEX(1E0021AA)
   : RETURN
6100 D2$=HEX(1F0031AA)
   : D3$=HEX(1F0231AA)
   : D4$=HEX(1F0021AA)
   : RETURN
6200 DATA "50","75","100","110","134","150","200","300","600","1200","1800","2
     400","3600","4800","7200","9600"," "