Listing of file='TBO.XDAD' on disk='vmedia/toolbox.wvd.zip'
# Sector 786, program filename = 'TBO.XDAD' 0010 REM TBO.XDAD 11/08/89 0020 SELECT PRINT 005(80) 0030 DIM D$(32)4,K1$80,A$(16)16,C$1,T$1,D$3,D2$2,M$70 0035 DIM G$40,E$40,E$(4)4 : E$()="D10 B10 D11 310" 0040 PRINT HEX(03);"What disks are attached to the system" 0060 D$()="D10" : GOSUB 200 : PRINT 0070 D$()="D20" : GOSUB 200 : PRINT 0080 D$()="D30" : GOSUB 200 : PRINT 0090 PRINT "This is the status of possible disk addressing on this system" : PRINT "Key - '0 to EXIT '1 to TBO.STAT - '15 RECALL - other for disk n otes"; : PRINT HEX(0D); : KEYIN C$ 0100 IF C$=HEX(0F)THEN 40 : IF C$=HEX(00)THEN 180 : IF C$=HEX(01)THEN 190 0105 PRINT HEX(03);"---Comments on disks-----";TAB(80) 0110 PRINT "2270 -- Dual or triple (1231) maximum sectors, white label 2 or 3 addr." 0112 PRINT "2260 -- two master and two slave addresses" 0114 PRINT "2280 -- six master and six slave addresses" 0120 PRINT "Winchester (3873) maximum sectors, red label" 0130 PRINT "2275's -- DSDD max.sectors (1292) maximum sectors, 5 1/4 inch" 0140 PRINT "2275-30 -- DSDD on D.0 (1292) Winchester on D.1 and D.2 ( 18900)" 0150 PRINT "2275-60 -- No diskette -- 4 Winchester surfaces on D.0 thru D.3 ( 64023)" 0160 PRINT "Phoenix -- No diskette -- surfaces on D.0 thru D.F ( 52763)" 0162 PRINT "DS cabinet -- DSDD on D.0 (1292) surface on D.0" : PRINT " or -- DSHD on D.0 (4159) surface on D.0" 0163 PRINT " Sw.1 -- Winchester drives surfaces D-1 thru D-E (40 bit=0)" 0164 PRINT " DS-10R -- Removable 10 MB surface D-F" 0165 PRINT " Sw.2 -- Winchester drives surfaces D-1 thru D-E (40 bit=1)" 0170 KEYIN C$ : ON VAL(C$)+1GOTO 180,190 : GOTO 10 0180 DEFFN'0 : LOAD DC T#0,"START" 0190 DEFFN'1 : LOAD DC T#0,"TBO.STAT" 0200 J=0 : PRINT BOX(1,79);" Disk controller ";STR(D$(),2,2);" "; 0210 J=J+1 : D$=D$(J) : IF D$=" "THEN RETURN 0220 K1$=" " : GOSUB '200(D$,D$()) : ON X4GOSUB 280,290,300,310 0225 IF E=48THEN 245 : IF E=91THEN 245 0228 PRINTUSING " ### ",D$; 0229 C$=" " : IF STR(A$(),,1)>HEX(00)THEN C$="'" : CONVERT ATO G$,(###) : STR(G$,4)=C$ 0230 IF K1$="Yes"THEN PRINTUSING 260,G$,B,C; : ELSE PRINT K1$ 0240 IF K1$="Yes"THEN 210 : GOTO 210 0245 IF T=4AND J<31THEN 210 : IF T=3AND J<4THEN 210 : IF T=2AND J<11THEN 210 : K1$=K1$&" None" : D$()=" " 0248 IF J/2=INT(J/2)THEN PRINT : RETURN 0250 % ################################ ! 0260 %Idx=#### Cur.End=##### Max=##### ! 0270 REM %.Get Rcv Disk address 0280 K1$=K1$&" disk not in table" : RETURN 0290 K1$="Hogged or not configured" : PRINT K1$ : D$()=" " : RETURN CLEAR : RETURN 0300 K1$="Is unavailable" : RETURN CLEAR 0305 PRINT HEX(0D);K1$ : PRINT : D$()=" " : RETURN 0310 K1$="disk not in list" : RETURN 0320 DEFFN'200(D$,D$()) 0330 X4=0 : MAT SEARCHD$(),=STR(D$,,3)TO X7$STEP 4 : IF VAL(X7$,2)=0THEN 440 : SELECT #2<D$> : ERRORX=ERR : RETURN 0340 $OPEN 430,#2 : ERRORX4=2 : $CLOSE#2 : RETURN 0350 $CLOSE#2 : Z$=" " : HEXPACKZ$FROMSTR(D$,2,1) : IF J=1THEN GOSUB 500 0360 $GIO(731002000301122270A040008600,Z$) : ERRORX=ERR : X4=3 : K1$="FROM $GIO AT 360" : RETURN 0370 IF STR(Z$,8,1)=HEX(00)THEN 380 : X4=3 : RETURN 0380 LIMITS T#2,"START",A,B,C,E : ERRORE=ERR : M$=ERR$(E) : K1$="Error " : CONVERT ETO STR(K1$,7,2),(##) : K1$=K1$&" "&M$ : RETURN 0390 K1$="Yes" : E=0 0400 DATA LOAD BA T#2,(0)A$() 0410 A=VAL(STR(A$(1),2)) : B=VAL(STR(A$(1),3),2)-1 : C=VAL(STR(A$(1),5),2)-1 0420 RETURN 0430 X4=2 : RETURN 0440 X4=4 : RETURN 0490 DIM G$(15)1 0500 $GIOGETDISKTYPE#2(0200030F12220600070070A04000870B,G$()) 0510 T$=G$(11) : PRINT "Disk type ";HEXOF(T$);" ... "; : T=POS(HEX(C0D0)=T$) : IF T=0THEN 600 : IF T=2THEN GOSUB 1000 0520 ON TGOSUB 1400,1300,1200,1100 : PRINT K1$ 0525 D$=D$(1) 0530 FOR E=1TO 4 : STR(E$(E),2,1)=STR(D$,2,1) : NEXT E : PRINT " ";E$(1);" is the equivalent of ";E$(2);" ! ";E$(3);" is the equivalent of ";E$(4) 0540 RETURN 0600 PRINT "Unknown disk type check connector" : D$()=" " : RETURN CLEAR : RETURN 1000 REM %^.Check for DS cabinet 1010 G$=HEX(30) : STR(G$,2,7)=ALL(00) : $GIOSTATUSREQUEST#2(0E140F0012E20600070070A0400288D070406A106816400087051 A00C340,G$)G$;STR(E$,,VAL(STR(G$,5,1))) 1015 T=VAL(E$)-47 1020 G1$=STR(G$,8,1)AND HEX(10) : IF G1$=HEX(00)THEN 1030 : K1$="Disk unavailable" : RETURN 1030 IF STR(G$,8,1)<>HEX(00)THEN 1040 : IF STR(E$,1,1)=HEX(33)THEN 1060 : IF I=32AND STR(E$,1,2)=HEX(4533)THEN 1050 1040 REM "specified disk is not a DS" : RETURN 1050 STR(E$,1,2)=HEX(3345) 1060 RETURN 1100 K1$="DS cabinet" : D$()=" " : D2$="D"&STR(D$,2,1) : E$="0123456789ABCDE" : FOR A=1TO 15 : D$(A)=D2$&STR(E$,A,1) : NEXT A : ADD(STR(D2$,2,1),04) : FOR A=2TO 15 : D$(A+14)=D2$&STR(E$,A,1) : NEXT A : RETURN 1200 K1$="2275 type" : D$()=" " : D2$="D"&STR(D$,2,1) : E$="01234" : FOR A=1TO 5 : D$(A)=D2$&STR(E$,A,1) : NEXT A : RETURN 1300 K1$="Phoenix type" : D$()=" " : D2$="D"&STR(D$,2,1) : E$="012345" : FOR A=1TO 6 : D$(A)=D2$&STR(E$,A,1) : NEXT A : ADD(STR(D2$,2,1),04) : FOR A=1TO 6 : D$(A+6)=D2$&STR(E$,A,1) : NEXT A : RETURN 1400 K1$="2270 type" : D$()=" " : D2$="D"&STR(D$,2,1) : D$(1)=D2$&"0" : D$(2)=D2$&"1" : ADD(STR(D2$,2,1),04) : D$(3)=D2$&"0" : RETURN