image of READY prompt

Wang2200.org

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 -###