Listing of file='T27D010B' on disk='vmedia/702-0079.wvd.zip'
# Sector 235, program filename = 'T27D010B'
0010 REM T27D010B 6/30/77
0015 COM Z$,Z9
: Z$="T27D010B"
: GOTO 2230
0040 PRINT
: RETURN
0060 PRINT HEX(01);"#1= ";F$;
: 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$(26)16,Y$(26)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 -- 8K T.C. DIAGNOST
IC --"
: 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
: GOSUB 4210
: 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 GOTO 520
0520 B$(1)=HEX(170031AA)
: B$(2)=HEX(14000000)
: B$(3)=HEX(00000000)
: B$(4)=HEX(00000000)
: B$(5)=HEX(00000000)
: ON LGOTO 580,40,40,620
0580 C=2
: STR(B$(1),2,1)=HEX(20)
: GOSUB 1190
: GOTO 400
0620 GOTO 400
0760 PRINT HEX(010D0A0A0A0A0A0A);"-------------------------MEMORY TEST--------
-------------"
: GOSUB 80
: J=25
: FOR I=2TO 25
: X$(I)=X$(I-1)
: NEXT I
: X5$=STR(X$(1),1,1)
: PRINT "WRITE RAM WITH TEST PATTERN ";
: HEXPRINT X5$
: INIT(00)Y$()
: ON Z9GOTO 920
: $GIO#1(4580,A$)
0920 GOSUB 3140
: 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)
: 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)<>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
: RETURN
1350 GOSUB 80
: PRINT "**CCV=";
: HEXPRINT B$()
: PRINT "1 STOP BIT-300 BAUD-FULL DUPLEX-DISABLE BREAK-8 DATA BITS-EVEN PA
RITY"
: $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
: X$(1)=HEX(0102030405060708090A0B0C0D0E0F10)
: J=25
: FOR I=2TO 25
: X$(I)=X$(I-1)
: ADD(X$(I),10)
: NEXT I
1450 X$(1)=HEX(0102030405060708090A0B0C0D0E0F10)
: J=25
: FOR I=2TO 25
: X$(I)=X$(I-1)
: ADD(X$(I),10)
: NEXT I
: $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
1860 PRINT HEX(03010A0A0A);"*************************E R R O R****************
*********"
: E(E)=E(E)+1
: IF E<4THEN 1895
: IF E=4THEN 1897
: 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)
: PRINT "RAM ADDRESS IS ";
: HEXPRINT STR(A$,1,2)
: IF E=1THEN 1892
: PRINT "DATA WRITTEN TO RAM IS ";
: HEXPRINT X$(I)
: PRINT "DATA READ FROM RAM IS ";
: HEXPRINT Y$(I)
: GOTO 1892
1897 PRINT E$(E);
: PRINT " = PARITY/FRAMING/RECEIVE BUFFER OVERRUN"
: PRINT "CHECK CSV WITH S.F.'14"
: GOTO 1892
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(4403102002FF03FF1223C620)
: G2$=HEX(4404A000440C)
: G3$=HEX(4405A000440C)
: G4$=HEX(4406)
: G5$=HEX(4407)
: G6$=HEX(4408)
2320 G7$=HEX(4409102002FF03FF1223C620)
: G8$=HEX(440AA000440C)
: G9$=HEX(440BA000440C)
: E$(1)="MEMORY TEST FAILURE"
: E$(5)="VERIFY ERROR"
: E$(6)="NOT DETECTED"
: E$(7)="NOT CLEARED"
: E$(5)="VERIFY ERROR"
2330 E$(1)="RAM WRITE ERROR"
: E$(2)="RAM READ ERROR"
: E$(3)="RAM VERIFY ERROR"
: E$(4)="RECEIVE ERROR"
: E$(5)="LOOPBACK ERROR"
: E$(8)="EOR NOT ZERO"
: GOSUB 5000
: GOSUB 3000
: PRINT HEX(03),,"WANG SYSTEM DIAGNOSTIC FOR ";B1$
: PRINT "S.F. '1 = 1 BOARD ENTRY--LOOPBACK CONNECTION ADDR.=";F$
2520 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
2640 K=1
: K1=0
: FOR J=1TO 10
: E(J)=0
: NEXT J
2660 R=R1
: GOSUB 420
: K=K+1
: GOTO 2660
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$()
: 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$()
: RETURN
3000 SELECT PRINT 005(64)
: PRINT HEX(03);TAB(12);"WANG SYSTEM 2200 8K TC CONTROLLER DIAGNOSTIC"
: PRINT "KEY A NUMBER AND (EXEC) TO SELECT CONTROLLER TYPE"
: ON Z9GOTO 3100
: PRINT " 1 = 2227B"
: PRINT " 2 = 2228"
: PRINT " 3 = 2228B"
: 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#1,(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
4200 D=255
: INPUT "MEMORY TEST---ENTER NUMBER CORRESPONDING TO DESIRED PATTERN
(1)RANDOM (2)CYCLIC",W
4210 IF W=2THEN 4270
: BIN(Z$)=INT(256*RND(1))
: FOR I=1TO 16
: STR(X$(1),I,1)=STR(Z$,1,1)
: NEXT I
: RETURN
4270 BIN(Z$)=D
: FOR I=1TO 16
: STR(X$(1),I,1)=STR(Z$,1,1)
: NEXT I
: D=D+1
: IF D<256THEN 4320
: D=0
4320 RETURN
5000 SELECT PRINT 005(64)
: PRINT HEX(03);TAB(12);"WANG SYSTEM 2200 8K TC CONTROLLER DIAGNOSTIC"
: PRINT HEX(0A0A);"1. 01A","2. 01B","3. 01C"
: PRINT HEX(0A);"4. 01D","5. 01E","6. 01F"
5010 PRINT HEX(0C0C0C0C);
: INPUT "SELECT CONTROLLER ADDRESS ",Q
: ON Q GOTO 5200,5210,5220,5230,5240,5250
5200 SELECT #101A,#201A
: F$="01A"
: RETURN
5210 SELECT #101B,#201B
: F$="01B"
: RETURN
5220 SELECT #101C,#201C
: F$="01C"
: RETURN
5230 SELECT #101D,#201D
: F$="01D"
: RETURN
5240 SELECT #101E,#201E
: F$="01E"
: RETURN
5250 SELECT #101F,#201F
: F$="01F"
: RETURN