Listing of file='ISS.051U' on disk='vmedia/701-2423D.wvd.zip'
# Sector 437, program filename = 'ISS.051U'
0010 REM ISS.051U, RELEASE 5-1, (11/07/79) - COPYRIGHT WANG LABS. INC.
0070 DIM B$(256)1,H1$32,C(9),N$(D)10,L$(D)2,L1$(D)2,B$1,B1$1,A$2
0120 % THIS MUST BE STATEMENT 120
0300 S1$="ISS.200SISS.254S"
: LOAD DC T#0,<LEN(S1$)/8>S1$10,0BEG 320
0320 IF S$(1)<>" "THEN SELECT #4<S$(1)>
: D=INT((SPACE-100)/14)
: LOAD DC T#0,"ISS.000E"10,0BEG 380
0380 PRINT AT(1,0,S0);"MOUNT DISK TO BE LISTED"
: GOSUB '254
: DATA LOAD BA T#1,(0)B$()
: ERRORPRINT HEX(07)
: GOTO 380
0420 C=0
: N$()=ALL(HEX(FF))
: MAT SORTN$()TO L$(),L1$()
: C(6)=VAL(B$(2))
: C(7)=VAL(STR(B$(),5,2),2)-1
: C(8)=VAL(STR(B$(),3,2),2)-1
: PRINT AT(0,0);"SCANNING DISK INDEX"
: FOR J=0TO C(6)-1
: DATA LOAD BA T#1,(J)B$()
: FOR I=(2-SGN(J))*16-15TO 256STEP 16
: B$=B$(I)
: B1$=B$(I+1)
: IF B$=HEX(10)AND B1$=HEX(00)THEN C(1)=C(1)+1
0680 IF B$=HEX(11)AND B1$=HEX(00)THEN C(2)=C(2)+1
: IF B$=HEX(10)AND B1$=HEX(80)THEN C(3)=C(3)+1
: IF B$=HEX(11)AND B1$=HEX(80)THEN C(4)=C(4)+1
: IF B$=HEX(00)THEN 920
: IF B$=HEX(21)THEN 910
: IF B$=HEX(11)AND F$="ACTIVE"THEN 910
: IF B$=HEX(10)AND F$="SCRATCHED"THEN 910
: C=C+1
: N$(C)=STR(B$(),I+8,8)
: B$(I+2)=AND HEX(7F)
: STR(N$(C),9)=STR(B$(),I+2,2)
: IF C<DTHEN 910
: I=256
0870 J=C(6)-1
: PRINT AT(1,0);"INSUFFICIENT MEMORY FOR FULL INDEX LISTING"
: GOSUB '254
0910 NEXT I
0920 NEXT J
: PRINT AT(0,0,40)
: IF C=0THEN GOSUB '31
: IF O$="NAME"THEN MAT SORTN$()(1,8)TO L$(),L1$()
: IF O$="STARTING SECTOR"THEN MAT SORTN$()(9,2)TO L$(),L1$()
1050 C(5),C(9),L,P=0
: IF D$="CRT"THEN 1110
: GOSUB '94
: SELECT PRINT <S$(1)>
1110 FOR I=1TO C
: IF L=0THEN GOSUB 1590
: N$=STR(N$(VAL(L1$(I),2)),1,8)
: LIMITS T#1,N$,X,Y,Z,A
: A$=" ?"
: IF ABS(A)=1THEN A$=" P"
: IF ABS(A)=2THEN A$=" D"
: IF A<0THEN STR(A$,1,1)="S"
: PRINTUSING 2360,I,N$,A$,X,Y,Z,(Y-X+1)-Z
: C(5)=C(5)+Z
: C(9)=C(9)+(Y-X+1)-Z
: L=L-1
: NEXT I
: GOSUB 1830
1340 DEFFN'0
: SELECT PRINT 005
: $CLOSE#4
1370 PRINT HEX(030A0A0A0A0A);,"OPTIONS AVAILABLE ( STATION # =";S2;")"
: PRINT ,"---------------------------"
: PRINT ,"1 - REPRINT LIST ON CRT"
: PRINT ,"2 - REPRINT LIST ON PRINTER"
: PRINT ,"3 - RETURN TO MENU"
: GOSUB '200("1","3",1,0,"ENTER THE NUMBER OF THE DESIRED OPTION.",1)
: IF Q9=3THEN GOSUB '31
1440 IF Q9=1THEN D$="CRT"
: IF Q9=2THEN 1480
: GOTO 1050
1480 D$="PRINTER"
: GOSUB '44
: IF P$=" "THEN 1050
: PRINT HEX(07010A);"PRINTER REQUIRED"
: GOSUB '254
: GOTO 1370
1590 P=P+1
: IF D$="CRT"AND P>1THEN GOSUB '254
: PRINT HEX(0D0C0E03);H$
: IF D$="CRT"THEN PRINT HEX(0A0A0A)
: PRINTUSING 2370,I1$,Q1$,P
: IF P>1THEN 1710
: PRINT
: PRINT " INDEX SECTORS =";C(6)
: PRINT " END CAT. AREA =";C(7)
: PRINT " CURRENT END =";C(8)
1710 PRINT
: PRINTUSING 2360,"ITEM"," NAME","TYPE","START"," END"," USED"," FREE"
: IF D$="PRINTER"THEN L=50
: IF D$="CRT"AND S0=64THEN L=8
: IF D$="CRT"AND S0=80THEN L=16
: IF P=1THEN L=L-4
: RETURN
1830 IF D$="CRT"THEN GOSUB '254
: IF D$="PRINTER"AND L<16OR D$="CRT"THEN PRINT HEX(0D0C0E03);H$
: PRINT HEX(0A0A)
: PRINT "SUMMARY OF DISK USAGE"
: PRINT
: PRINT ,"PROGRAM FILES","DATA FILES"
: PRINT "ACTIVE",C(3),C(1)
: PRINT "SCRATCHED",C(4),C(2)
: PRINT "TOTAL",C(3)+C(4),C(1)+C(2)
: PRINT
: PRINT "NUMBER OF SECTORS USED BY ";F$;" FILES =";C(5)
1940 PRINT "NUMBER OF FREE SECTORS WITHIN ";F$;" FILES =";C(9)
: PRINT "NUMBER OF SECTORS ALLOCATED TO ";F$;" FILES =";C(5)+C(9)
: IF C>=DTHEN PRINT HEX(0A0E);"PARTIAL LISTING"
: IF D$="CRT"THEN GOSUB '254
: RETURN
2020 DEFFN'94
2040 $OPEN 2110,#4
2050 $GIO#4(010A02001212400040004000,C$)
: IF STR(C$,8,1)=HEX(00)THEN RETURN
: PRINT AT(1,0,S0);"SELECT PRINTER"
: GOSUB '254
: GOTO 2050
2110 PRINT AT(1,0,S0);"PRINTER HOGGED"
: GOSUB '254
: GOTO 2040
2170 DEFFN'44
: P$=" 000005"
: MAT SEARCHP$,=S$(1)TO P$
: IF STR(P$,1,2)=HEX(0000)THEN P$=" "
: ELSE P$="P"
: RETURN
2250 DEFFN'31
: SELECT PRINT 005
: PRINT HEX(03)
: $CLOSE#4
: COM CLEAR F$
2300 LOAD DC T#0,"ISS.100M"
: ERRORGOTO 2310
2310 PRINT HEX(010A);"MOUNT ISS DISK AT ADDRESS ";S$
: GOSUB '254
: GOTO 2300
2360 % #### ######## #### ##### ##### ##### #####
2370 %DISK - ### DATE - ######## PAGE -###