Listing of file='2229STRT' on disk='vmedia/2229_diagnostics.wvd.zip'
# Sector 140, program filename = '2229STRT' 0010 REM % "2229STRT" - 2229 Utilities package - first file 0015 REM % COPYRIGHT WANG LABORATORIES, INC., 1986,1987 0020 REM ST 01/24/1986 0030 REM Changes ---> version 2.0 0100 SELECT PRINT 005(80),CO 005(80),LIST 005(80) : RETURN CLEAR ALL 0110 COM D5$3,O$3,F$8,D9 : D9=1 : REM FIRST LOAD ONLY : D9=0 : REM NO UNLOADS 0120 REM TITLES AND DISPLAYS : DIM T$70,O1$30 0130 REM uCODE FILE AND GIO REGISTERS : DIM X$2,X1$3,X$(4)60,R$16,S$30 0140 T$="2229 UTILITIES release 2.0" : PRINT HEX(03);AT(0,40-(LEN(T$)/2));HEX(020402040E);T$;HEX(0F) 0145 T$="Copyright Wang Laboratories Inc., 1986" : PRINT AT(1,40-(LEN(T$)/2));T$ 0150 A,B=0 : IF D5$=" "THEN D5$="D10" : PRINT AT(3,0); : LINPUT "2229 Utilities address ",-D5$ : IF VER(D5$,"HHH")=3THEN 155 : PRINT AT(3,30,30);"Error ";HEX(07) : GOTO 150 0155 SELECT #1<D5$> : ERRORA=1 : GOTO 170 0160 PRINT HEX(06) : VERIFY T#1,(0,0)A : ERRORA=1 0170 IF A=0THEN 180 : PRINT AT(3,30,30);"Error ";ERR;HEX(07); : GOTO 150 0180 PRINT AT(3,30,50); : LIMITS T#1,"2229STRT",B,B,B,B : ERRORA=1 0185 IF A=0AND B=1THEN 190 : PRINT AT(3,30);"File 2229STRT not resident";HEX(07); : GOTO 150 0190 PRINT AT(4,0); : IF O$=" "THEN O$="018" : A=0 : LINPUT "Tape controller address ",-O$ 0195 IF STR(O$,1,2)="01"THEN 198 0196 PRINT AT(4,30);"Illegal address";HEX(07) : GOTO 190 0198 SELECT #4<O$> : ERRORPRINT AT(4,30);"Error ";ERR;HEX(07) : GOTO 190 0200 $GIO#4(4501) : ERRORA=1 : GOTO 196 0210 $IF ON #4,230 : ERRORPRINT AT(4,30);"Error ";ERR;HEX(07) : GOTO 190 0220 PRINT HEX(06);AT(4,30,40);"Power up diagnostics in progress" : $BREAK : $GIO(75FF 75FF) : P=P+1 : IF P<20THEN 210 : PRINT HEX(06),AT(4,0,);"Controller is not ready - check address and try a gain" : STOP : GOTO 10 0230 GOSUB '102 : REM CONTROLLER STATUS 0240 REM % DOWNLOAD ROUTINE FOR 2229 TAPE CONTROLLER : INIT(01)X1$ : PRINT HEX(06);AT(1,0,) : F$="@2229" : LIMITS T#1,F$,A,A,A,A : IF A=2THEN 250 : STOP "Microcode file @2229 not on utilities platter" : GOTO 10 0250 D=0 : PRINT AT(4,0,);"Loading: "; : DATA LOAD DC OPEN T#1,F$ : ERRORGOTO 310 0260 DATA LOAD DC #1,X$,X1$,X$() : ERRORGOTO 310 0270 IF END THEN 290 : IF STR(X$,1,1)=HEX(01)THEN 280 : IF D=1THEN 260 : IF STR(X$,1,1)<>HEX(00)THEN 260 : PRINT X$(1) : D=1 : GOTO 260 0280 STR(R$,1,2)=X1$ : STR(R$,3,1)=STR(X1$,3) : $GIO#4(4440 4210 4220 4230 1800 1300 A000,R$)STR(X$(),1,VAL(STR(X1$,3))) : GOTO 260 0290 $GIO#4 (4441,R$) : PRINT AT(5,0,79);"Controller microcode loaded" : $GIO(75FF ) 0300 LOAD T#1,F9$BEG 20 : REM PASS CONTROL TO BACKUP/RECOVERY FILE 0310 PRINT "Disk error ";ERR : STOP 0320 DEFFN'126 : LOAD T"@MENU" 0330 DEFFN'102 : REM CONTROLLER STATUS : R$=ALL(01) 0340 $GIO#4(4402 8701 1800 C340,R$)STR(S$,1,VAL(STR(R$,1,1))) : ERRORPRINT AT(3,0,150);"Error ";ERR;" taking controller status";HEX(07) : PRINT "Press any key to continue" : KEYIN K$ : GOTO 10 0350 IF STR(S$,10,1)=HEX(00)THEN RETURN 0360 PRINT "Power up diagnostic failure code ";HEXOF(STR(S$,10,1)) : PRINT "Error information: ";HEXOF(STR(S$,11,6)) : PRINT : PRINT "Press any key to try again" : KEYIN K$ : GOTO 10