image of READY prompt

Wang2200.org

Listing of file='T27D010B' on disk='vmedia/mvp-diag-2.6.2.wvd.zip'

# Sector 4170, 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"
   : $OPEN #1
   : $GIO#1(G1$,A$)S$()
   : $CLOSE#1
   : PRINT " ON SEND";TAB(31);
   : HEXPRINT S$()
   : $GIO/000(752075FF75FF)
   : $OPEN #2
   : $GIO#2(G1$,A$)S$()
   : $CLOSE#2
   : PRINT " ON RCV";TAB(31);
   : HEXPRINT S$()
   : 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