Listing of file='ISS.012U' on disk='vmedia/701-2423D.wvd.zip'
# Sector 192, program filename = 'ISS.012U' 0010 REM ISS.012U, RELEASE 5-1, (11/07/79) - COPYRIGHT WANG LABS. INC. 0070 DIM F1$(10)11,A$4,P$32,A1$4,K$1,E$(16)16,F9$1 0120 % THIS MUST BE STATEMENT 120 0170 S1$="ISS.254S" : LOAD DC T#0,<LEN(S1$)/8>S1$10,0BEG 210 0210 IF F9$=" "THEN 274 0230 PRINT AT(1,0,S0);"MOUNT INPUT DISK" : GOSUB '254 0260 LIMITS T#1,N$,A1,A1,A1,A2 : ERRORGOTO 230 0270 IF A2<>2THEN 230 0274 PRINT HEX(0306);"BUILDING INDEX DISPLAY" 0290 F1$()=ALL(HEX(00)) : DATA LOAD BA T#1,(0)E$() : I9=VAL(STR(E$(),2,1))*16 : FOR J=1TO 10 : GOSUB '55(10) : NEXT J : FOR J=1TO 5 : GOSUB '55(1) : NEXT J : IF K$=HEX(07)THEN GOSUB 2850 : ELSE GOTO 430 : GOTO 630 0430 PRINT HEX(03);AT(1,0);"FN'0 - INDEX CONTROL FN'16 - END DISK ADDRESS = ";I1$ : PRINT "FN'1 - FILE CONTROL FILE NAME = ";N$ : PRINT AT(4,0);" INDEX INPUT OUTPUT X-SEC" 0460 PRINT AT(5,0);"---------- --------------------------------" : PRINT AT(11,11);"<========>" : GOSUB 2850 : I=1 : GOSUB 2630 : GOTO 630 0580 DEFFN'0 : RETURN CLEAR ALL 0610 PRINT AT(0,0);TAB(S0) 0630 PRINT AT(11,0); 0640 KEYIN K$,640,640 : KEYIN K$,,790 : IF K$<>HEX(0D)OR STR(F1$(6),10)=HEX(0000)OR F2$(I)<>" "THEN 630 : F2$(I)=F1$(6) : IF I<E1THEN I=I+1 : GOSUB 2630 : GOSUB '55(10) : GOSUB 2850 : GOTO 630 0790 IF K$=HEX(01)THEN 1120 : IF K$=HEX(10)THEN GOSUB '16 : IF K$=HEX(1F)THEN GOSUB '31 : IF K$=HEX(07)THEN 290 : IF K$<HEX(0B)OR K$>HEX(0E)THEN 630 : ON VAL(K$)-10GOTO 880,930,1040,990 0880 GOSUB '55(10) : GOSUB '55(10) : GOSUB '55(10) : GOSUB '55(10) 0930 GOSUB '55(10) : GOSUB 2850 : GOTO 630 0990 GOSUB '55(1) : GOSUB '55(1) : GOSUB '55(1) : GOSUB '55(1) 1040 GOSUB '55(1) : GOSUB 2850 : GOTO 630 1120 PRINT AT(11,27); : LINPUT ?F2$(I) : GOSUB 2110 : PRINT AT(0,0,40) : PRINT AT(11,37); : IF F3$(I)<>" "THEN 1210 : F3$(I)=F2$(I) : F4$(I)=BIN(E+1) 1210 LINPUT F3$(I) : GOSUB 2150 : PRINT AT(0,0,40) : IF STR(M$,5,3)="OLD"THEN 1330 1260 PRINT AT(11,48); : CONVERT VAL(F4$(I))-1TO A$,(-###) : LINPUT A$ : GOSUB 2180 : F4$(I)=BIN(A+1) : PRINT AT(0,0,40) 1330 IF I<E1THEN I=I+1 : GOSUB 2630 : GOTO 1120 1410 DEFFN'4 : I=MAX(INT(LEN(F2$())/8+1),LEN(F2$())/8) : IF I>E1THEN I=E1 : GOSUB 2630 : RETURN CLEAR 1460 GOTO 1120 1480 DEFFN'7 : I=1 : GOSUB 2630 : RETURN CLEAR 1520 GOTO 1120 1540 DEFFN'8 : F2$(I),F3$(I)=" " : F4$(I)=BIN(E+1) : GOSUB 2630 : RETURN CLEAR 1590 GOTO 1120 1610 DEFFN'9 : IF I=E1THEN 1700 : STR(F2$(),I*8-7)=STR(F2$(),I*8+1) : STR(F3$(),I*8-7)=STR(F3$(),I*8+1) : STR(F4$(),I)=STR(F4$(),I+1) 1660 F4$(E1)=BIN(E+1) : GOSUB 2630 : RETURN CLEAR 1690 GOTO 1120 1700 STR(F2$(),I*8-7)=" " : STR(F3$(),I*8-7)=" " : GOTO 1660 1740 DEFFN'10 : IF F2$(E1)<>" "THEN 1120 : MAT COPY -F2$()<I*8-7,(E1-I)*8>TO -F2$()<I*8-7> : MAT COPY -F3$()<I*8-7,(E1-I)*8>TO -F3$()<I*8-7> : MAT COPY -F4$()<I,E1-I>TO -F4$()<I> : F4$(I)=BIN(E+1) : GOSUB 2630 : RETURN CLEAR 1820 GOTO 1120 1840 DEFFN'11 : I=MIN(I+5,E1) : GOSUB 2630 : RETURN CLEAR 1880 GOTO 1120 1900 DEFFN'12 : I=MIN(I+1,E1) : GOSUB 2630 : RETURN CLEAR 1940 GOTO 1120 1960 DEFFN'13 : I=MAX(1,I-1) : GOSUB 2630 : RETURN CLEAR 2000 GOTO 1120 2020 DEFFN'14 : I=MAX(1,I-5) : GOSUB 2630 : RETURN CLEAR 2060 GOTO 1120 2110 LIMITS T#1,F2$(I),M,M,M,M : IF M<1THEN GOSUB '113(1,"NOT AN ACTIVE FILE") : RETURN 2150 IF F2$(I)=" "THEN GOSUB '113(1,"INPUT FIELD NOT DEFINED") : RETURN 2180 IF NUM(STR(A$,1,LEN(A$)))<>LEN(A$)THEN GOSUB '113(2,"-1 <= EXTRA SECTORS <= 250") : CONVERT A$TO A : IF A<-1OR A>250THEN GOSUB '113(2,"-1 <= EXTRA SECTORS <= 250") : IF F2$(I)=" "THEN GOSUB '113(1,"INPUT FIELD NOT DEFINED") : IF F3$(I)=" "THEN GOSUB '113(1,"OUTPUT FIELD NOT DEFINED") : RETURN 2270 DEFFN'113(F,P$) : RETURN CLEAR ALL 2290 PRINT HEX(07010D);P$;TAB(80) : ON FGOTO 1120,1260 : GOSUB '254 : GOTO 260 2360 DEFFN'55(I5) : I8=VAL(STR(F1$(I5),10),2) : IF I5=10THEN F1$()=STR(F1$(),12) : ELSE MAT COPY -F1$()<1,99>TO -F1$()<12> : F1$(I5)=" " : STR(F1$(I5),10)=HEX(0000) 2450 I8=MOD(I8+SGN(I5-2),I9) : IF I8=0THEN RETURN : IF I7<>INT(I8/16)THEN DATA LOAD BA T#1,(INT(I8/16))E$() : I7=INT(I8/16) : IF STR(E$(MOD(I8,16)+1),1,1)<>HEX(10)THEN 2450 : F1$(I5)=STR(E$(MOD(I8,16)+1),9) : IF STR(E$(MOD(I8,16)+1),2,1)=HEX(80)THEN STR(F1$(I5),9)="P" : ELSE STR(F1$(I5),9)="D" : STR(F1$(I5),10)=BIN(I8,2) : RETURN 2630 PRINT HEX(06); : IF I>5THEN 2680 : FOR J=6TO 11-I : PRINT AT(J,22,35); : NEXT J 2680 K=MAX(11-I,5) : FOR J=MAX(1,I-5)TO MIN(E1,I+4) : K=K+1 : CONVERT JTO A1$,(####) : A$=" " : IF F3$(J)<>" "AND STR(M$,5,3)="NEW"THEN CONVERT VAL(F4$(J))-1TO A$,(-###) : PRINT AT(K,22);A1$;" ";STR(F2$(J),1);" ";STR(F3$(J),1);" ";STR(A$,1); : NEXT J : IF K>14THEN RETURN : FOR J=K+1TO 15 : PRINT AT(J,22,35); : NEXT J : RETURN 2850 PRINT HEX(06); : FOR J=1TO 10 : PRINT AT(5+J,0);STR(F1$(J),1,8);" ";STR(F1$(J),9,1); : NEXT J : RETURN 2920 DEFFN'16 : RETURN CLEAR ALL 2950 PRINT HEX(06);AT(0,0,S0);"*** FINAL CHECK IN PROGRESS ***" : FOR I=1TO E1 : GOSUB 2630 : IF F2$(I)=" "AND F3$(I)=" "THEN 3110 : F=1 : GOSUB 2110 : F=2 : GOSUB 2150 : IF STR(M$,5,3)="OLD"THEN 3110 : F=3 : CONVERT VAL(F4$(I))-1TO A$,(-###) : GOSUB 2180 3110 NEXT I 3150 LOAD DC T#0,"ISS.013U" : ERRORGOTO 3160 3160 PRINT HEX(010A);"MOUNT ISS DISK AT ADDRESS ";S$;TAB(S0) : GOSUB '254 : GOTO 3150 3220 DEFFN'31 : PRINT HEX(03) : COM CLEAR N$ 3250 LOAD DC T#0,"ISS.100M" : ERRORGOTO 3260 3260 PRINT HEX(010A);"MOUNT ISS DISK AT ADDRESS ";S$ : GOSUB '254 : GOTO 3250