image of READY prompt

Wang2200.org

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

# Sector 828, program filename = 'I54D010A'
0010 REM - D2254A - 2254 DIAGNOSTIC A -11/12/76  10 AM  DA
0030 COM A$(5)1
   : DIM B$10,O$1,P$8,P1$8,Y$16,X$64,L1$31
   : SELECT #104C,#204D,#304E,INPUT 001
   : INIT(0A)Y$
   : STR(Y$,1,1)=HEX(01)
   : INIT(09)X$
   : STR(X$,1,1)=HEX(00)
   : FOR I=0TO 30
   : BIN(STR(L1$,I+1))=I+32
   : NEXT I
   : INIT(00)B$
   : GOTO 8010
0200 INIT(O$)P$
   : Q$=HEX(8040201008040201)
   : AND (P$,Q$)
   : Q$=HEX(0180014001200110010801040102)
   : $TRAN(P$,Q$)R
   : OR (P$,30)
   : RETURN
0220 SELECT INPUT 04D
   : RETURN
0500 A$(4)=" "
   : A$(5)="@"
0510 B$=A$(4)
   : STR(B$,2)=A$(5)
   : $GIOUNLLADTAD#1(443F4610462044D08601,B$)
   : O$=B$
   : GOSUB 200
   : IF STR(P$,7)="00"THEN 520
   : IF STR(P$,7)="11"THEN 530
   : STOP "ERROR -  MLA NOT SAME AS MTA"
0520 ADD(A$(4),01)
   : ADD(A$(5),01)
   : IF A$(4)<"?"THEN 510
0530 RETURN
2010 PRINT HEX(03)
   : GOSUB 8000
   : E,N=0
   : PRINT STR(Y$,1,8);"      TESTING SRQ, PARALLEL POLL FUNCTIONS:"
   : PRINT "SET PP JUMPERS TO A SPECIFIC SETTING AND MAKE SURE"
   : PRINT "THE CORRECT SETTING IS DISPLAYED TO THE SCREEN."
   : PRINT
   : PRINT
2050 $GIOTFQ#1(44A0,B$)
   : $GIOPP#1(44878601,B$)
   : IF STR(B$,1,1)=HEX(00)THEN 2060
   : E=E+1
   : PRINT STR(Y$,1,10);"PP NOT ZERO WITH SRQ OFF",,
2060 $GIOTNQ#1(44B0,B$)
   : $GIOPP#1(44878601,B$)
   : PRINT STR(Y$,1,12);"PARALLEL POLL =";
   : A$(2)=B$
   : HEXPRINT A$(2)
   : N=N+1
   : PRINT HEX(010A);E;"  ERRORS",,"PASS";N
   : KEYIN O$,8190,8190
   : GOTO 2050
2110 PRINT HEX(03)
   : GOSUB 8000
   : E,N=0
   : PRINT STR(Y$,1,8);"      TESTING TAD, LAD, UNT, UNL:"
   : PRINT "SET 5 BIT ADDRESS SWITCHES TO SPECIFIC SETTINGS AND MAKE SURE"
   : PRINT "THE CORRECT SETTING IS DISPLAYED TO THE SCREEN."
2140 $GIOIFC#1(4586,B$)
   : $GIOSTATUS#1(44D08601,B$)
   : O$=B$
   : GOSUB 200
   : IF STR(P$,2,7)="0000100"THEN 2145
   : STOP "IMPROPER STATUS AFTER IFC"
2145 $GIOUNTUNL#1(445F443F,B$)
   : P=0
   : FOR I=0TO 31
   : BIN(B$)=I+64
   : $GIOTAD#1(461044D08601,B$)
   : O$=B$
   : GOSUB 200
   : P1$=P$
   : BIN(B$)=I+32
   : $GIOLAD#1(445F461044D08601,B$)
   : O$=B$
   : GOSUB 200
   : IF STR(P1$,7,1)=STR(P$,8,1)THEN 2170
   : STOP "ERROR -TALK ADDRESS DOESN'T AGREE WITH LISTEN ADDRESS"
2170 IF STR(P$,8)="0"THEN 2180
   : BIN(O$)=I
   : PRINT STR(Y$,1,11);TAB(1.9*I);
   : HEXPRINT O$;
   : PRINT TAB(64)
   : P=P+1
   : IF STR(P1$,8)<>STR(P$,7,1)THEN 2178
   : IF STR(P1$,8)<>"0"THEN 2178
   : $GIOUNL#1(443F44D08601,B$)
   : O$=B$
   : GOSUB 200
   : IF STR(P$,7)="00"THEN 2180
2178 STOP "ERROR - UNLISTEN/UNTALK DON'T WORK"
2180 NEXT I
   : IF P>0THEN 2190
   : PRINT STR(Y$,1,11);"    1F; NO TALK/LISTEN ADDRESS";TAB(64)
   : GOTO 2210
2190 IF P=1THEN 2210
   : STOP "ERROR - MORE THAN ONE BUS ADDRESS HAS RESPONDED"
2210 N=N+1
   : PRINT HEX(010A);E;"  ERRORS",,"PASS";N
   : KEYIN O$,8190,8190
   : GOTO 2140
2310 PRINT HEX(03)
   : GOSUB 8000
   : E,N=0
   : PRINT STR(Y$,1,8);"      TESTING IFC, DEVICE CLEAR FUNCTIONS:"
2360 B$=HEX(0001)
   : P$=HEX(86D0)
   : $GIOIFCSTAT(A50012128601,B$)P$
   : IF STR(B$,8,1)>HEX(00)THEN 2370
   : STOP "IFC IS TOO SHORT"
2370 B$=HEX(0001)
   : P$=HEX(86D0)
   : $GIOIFCSTAT(1211A50012128601,B$)P$
   : IF STR(B$,8,1)>HEX(00)THEN 2380
   : STOP "IFC IS TOO SHORT"
2380 B$=HEX(0002)
   : P$=HEX(86D0)
   : $GIOIFCSTAT(1211A50012128601,B$)P$
   : IF STR(B$,8,1)>HEX(00)THEN 2390
   : STOP "IFC IS TOO SHORT"
2385 PRINT "CHANGE BUS ADDRESS SWITCH TO SOMETHING OTHER THAN 1F"
   : INPUT "PRESS EXEC WHEN CHANGED",A$
2390 $GIOLISTENALL#1(A400,B$)L1$
   : $GIOSTATUS#1(44D08601,B$)
   : O$=B$
   : GOSUB 200
   : IF STR(P$,8)<>"1"THEN 2385
   : $GIOIFC#1(448644D08601,B$)
   : O$=B$
   : GOSUB 200
   : IF STR(P$,8)="0"THEN 2400
   : STOP "ERROR - IFC DIDN'T CLEAR LISTENER"
2400 $GIOSRQON#1(44B0,B$)
   : $IF ON #32410
2403 STOP "ERROR - SRQ NOT DETECTED AT THIRD ADDRESS"
2410 $GIOIFC#1(4486,B$)
   : $IF ON #32420
   : GOTO 2430
2420 STOP "ERROR - SRQ NOT TURNED OFF PROPERLY BY IFC/TFQ"
2430 $GIOSRQON#1(44B0,B$)
   : $IF ON #32440
   : GOTO 2403
2440 $GIOSRQOFF#1(44A0,B$)
   : $IF ON #32420
   : N=N+1
   : PRINT HEX(010A);E;"  ERRORS",,"PASS";N
   : KEYIN O$,8190,8190
   : GOTO 2360
2599 DEFFN'4
2610 PRINT HEX(03)
   : GOSUB 8000
   : E,N=0
   : PRINT STR(Y$,1,8);"      TESTING BUF, UNBUF, KEYIN, END:"
2630 $GIOIFC#1(4586,B$)
   : GOSUB 500
   : IF A$(4)<"?"THEN 2640
   : INPUT "CHANGE BUS ADDRESS TO SOMETHING OTHER THAN 1F",A$
   : GOTO 2610
2640 $GIOSTAT#1(44D08601,B$)
   : O$=B$
   : GOSUB 200
   : IF P$="00000011"THEN 2650
2645 STOP "ERROR - IMPROPER STATUS WORD"
2650 $GIOTALK#1(4040,B$)
   : $IF ON #1,2665
   : $GIOSTAT#1(45D08601,B$)
   : O$=B$
   : GOSUB 200
   : IF P$="00100011"THEN 2660
   : STOP "ERROR - OUTPUT BUFFER DID NOT HANG ONTO CHARACTER"
2660 $IF ON #2,2665
   : $GIOINP#1(8601,B$)
   : IF STR(B$,1,1)="@"THEN 2670
   : STOP "ERROR - WRONG CHARACTER RECEIVED"
2665 STOP "ERROR - RB IS INCORRECT"
2670 $GIOBUF#1(44F044D08601,B$)
   : O$=B$
   : GOSUB 200
   : IF P$<>"00000111"THEN 2645
   : $GIOOUT#1(4041,B$)
   : $IF ON #1,2680
   : GOTO 2665
2680 $GIOSTAT#1(44D08601,B$)
   : O$=B$
   : GOSUB 200
   : IF P$<>"01000011"THEN 2645
   : $IF ON #2,2690
   : GOTO 2665
2690 GOSUB 220
   : KEYIN O$,2700,2695
   : SELECT INPUT 001
   : GOTO 2665
2695 SELECT INPUT 001
   : STOP "ERROR - ENDI RECEIVED ERRONEOUSLY"
2700 IF O$="A"THEN 2710
   : STOP "ERROR - WRONG CHARACTER RECEIVED"
2710 $GIOSTAT#1(44D08601,B$)
   : O$=B$
   : GOSUB 200
   : IF P$<>"00000111"THEN 2645
   : $IF ON #2,2665
   : $GIOUNBUF#1(44E044D08601,B$)
   : O$=B$
   : GOSUB 200
   : IF P$<>"00000011"THEN 2645
   : $GIOUNL#1(443F,B$)
2720 $GIOSTAT#1(44D08601,B$)
   : O$=B$
   : GOSUB 200
   : IF P$<>"00000110"THEN 2645
   : $GIOOUT#1(404245D08601,B$)
   : O$=B$
   : GOSUB 200
   : IF P$<>"00000110"THEN 2645
   : $IF ON #12730
   : GOTO 2665
2730 $GIOMLA#1(A40044904042,B$)A$(4)
   : $GIOSTAT#1(45D08601,B$)
   : O$=B$
   : GOSUB 200
   : IF P$<>"00100011"THEN 2645
   : $IF ON #1,2665
   : $IF ON #2,2665
   : $GIOIN#1(C660,B$)O$
   : IF STR(B$,8,1)=HEX(00)THEN 2800
2740 IF STR(B$,6,1)<>"B"THEN 2800
   : $GIOBUF#1(44F0404344904044,B$)
   : $GIOSTAT#1(45D08601,B$)
   : O$=B$
   : GOSUB 200
   : IF P$<>"01100011"THEN 2645
   : $IF ON #1,2665
   : $IF ON #2,2750
   : GOTO 2665
2750 GOSUB 220
   : KEYIN O$,2760,2800
   : GOTO 2665
2760 IF O$<>"C"THEN 2800
   : KEYIN O$,2800,2770
   : GOTO 2665
2770 SELECT INPUT 001
   : N=N+1
   : PRINT HEX(010A);E;"  ERRORS",,"PASS";N
   : KEYIN O$,8190,8190
   : GOTO 2630
2800 SELECT INPUT 001
   : STOP "ERROR - END OR KEYIN NOT WORKING"
   : STOP "WHOOPS 7900"
7920 B$=HEX(000001)
   : FOR I=0TO 255
   : BIN(B$)=I
   : $GIO(731012224480,B$)
   : IF STR(B$,8,1)>HEX(00)THEN 7970
   : PRINT "READY ";I;
   : HEXPRINT STR(B$,1,1)
7970 NEXT I
   : GOTO 7920
8000 GOSUB 9000
   : PRINT
   : PRINT
   : PRINT "CONTROLLER       -";A$(1)
   : PRINT "PARALLEL POLL    ";
   : HEXPRINT A$(2)
   : PRINT "RESET CAUSES IFC -";A$(3)
   : RETURN
8010 PRINT HEX(03);
   : GOSUB 9000
   : PRINT
   : PRINT
   : PRINT "THIS DIAGNOSTIC WILL FUNCTIONALLY CHECK OUT MOST OF A 2254"
   : PRINT " WITHOUT ANY EXTERNAL CONNECTOR OR ADDITIONAL CPU CONNECTED."
8020 PRINT
   : PRINT "MOUNT THE BOARD, PREFERABLY ON AN EXTENDER, WITH NO CONNECTIONS"
   : PRINT "TO THE BUS CONNECTOR. DEVICE ADDRESS MUST BE SET TO /04C."
   : PRINT "WHAT CONFIGURATION DOES THE BOARD HAVE?"
   : PRINT TAB(20);"C - CONTROLLER"
   : PRINT TAB(20);"N - NON-CONTROLLER"
   : PRINT TAB(20);"? - YOU TELL ME"
8070 A$(1)="?"
   : INPUT A$(1)
   : IF A$(1)="?"THEN 8110
   : IF A$(1)="C"THEN 8130
   : IF A$(1)<>"N"THEN 8070
8080 PRINT "NON-CONTROLLERS CANNOT BE TESTED BY THIS PROGRAM"
   : PRINT "PLEASE CHANGE IT AND RE-RUN THE PROGRAM"
   : END
8110 $GIOIFC#1(45C04586,B$)
   : B$=HEX(0001)
   : $GIOPP#1(1212448701FF8607,B$)
   : IF STR(B$,8,1)=HEX(00)THEN 8130
   : IF STR(B$,1,1)=HEX(00)THEN 8120
   : A$(1)="N"
   : GOTO 8080
8120 PRINT "THE BOARD IS NOT READY, EVEN AFTER AN IFC."
   : PRINT "CHECK THAT DEVICE ADDRESS IS PROPERLY SET TO /04C."
   : END
8130 A$(1)="C"
8140 IF STR(B$,7,1)=HEX(00)THEN 8150
   : HEXPRINT STR(B$,7,1);
   : PRINT "   IS THE PARALLEL POLL RESPONSE AFTER AN IFC!!!"
   : STOP "PARALLEL POLL SHOULD HAVE ALL ZEROES HERE"
   : GOTO 8140
8150 $GIOSRQPPSTATHALF#1(44B04487860144D0,B$)
   : A$(2)=B$
   : $IF ON #1,8165
8160 L$="RESET TEST"
   : PRINT "  PLEASE PRESS RESET, FOLLOWED BY SF '0";
   : $GIO/000(8600,B$)
   : GOTO 8160
8165 STOP "BOARD DID NOT GO BUSY AFTER HALF OF A STATUS REQUEST"
   : GOTO 8165
8170 DEFFN'0
   : IF L$<>"RESET TEST"THEN 8150
   : L$=" "
   : A$(3)="Y"
   : $IF ON #1,8190
   : A$(3)="N"
8190 $GIOIFC#1(4586,B$)
   : PRINT HEX(03)
   : GOSUB 8000
   : PRINT
   : PRINT "THE FOLLOWING OPTIONS ARE AVAILABLE"
   : PRINT "1.  SRQ/PP TEST",,"4.  BUF/UNBUF/EOI"
   : PRINT "2.  TAD/LAD",,"5.  ?????"
   : PRINT "3.  IFC/DVC/SRQ",,"6.  ?????"
8540 O$=" "
   : INPUT "WHICH OPTION",O$
   : IF NUM(O$)=0THEN 8540
   : CONVERT O$TO O
   : ON OGOTO 2010,2110,2310,2610
   : GOTO 8540
8990 DEFFN'31
   : LOAD DC T"START"
9000 PRINT HEX(01);"2200 HARDWARE DIAGNOSTIC TEST - IEEE INTEFACE ------------
     ------"
   : PRINT HEX(0A0A0A0A0A0A0A0A0A0A0A0A0A0A)
   : PRINT "TO DISPLAY SYSTEM MENU KEY HALT/STEP & SF'31";HEX(01)
   : RETURN