Listing of file='STARTTC1' on disk='vmedia/mvp-diag-2.6.2.wvd.zip'
# Sector 4138, program filename = 'STARTTC1' 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" : $OPEN #1 : $GIO#1(G1$,A$)S$() : PRINT " ON SEND";TAB(31); : HEXPRINT S$() : $GIO#2(G1$,A$)S$() : PRINT " ON RCV";TAB(31); : HEXPRINT S$() : $CLOSE : RETURN 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(4403C620) : G2$=HEX(4404A000440C) : G3$=HEX(4405A000440C) : G4$=HEX(4406) : G5$=HEX(4407) : G6$=HEX(4408) 2320 G7$=HEX(4409C620) : 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