image of READY prompt

Wang2200.org

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