Listing of file='ISS.001U' on disk='vmedia/701-2423D.wvd.zip'
# Sector 146, program filename = 'ISS.001U' 0010 REM ISS.001U, RELEASE 5-1, (11/07/79) - COPYRIGHT WANG LABS. INC. 0070 DIM C1$(4)64,C2$(4)64,N1$8,N2$8,E$64,Z5$64,I$2 0120 % THIS MUST BE STATEMENT 120 0140 S1$="ISS.254SISS.226SISS.217SISS.229S" : LOAD DC T#0,<LEN(S1$)/8>S1$10,0BEG 160 0160 IF S$(1)<>" "THEN SELECT #4<S$(1)> : C0=1 : IF F9$=" "THEN 280 0200 PRINT AT(1,0,S0);"MOUNT PLATTERS AT THE INDICATED ADDRESSES" : GOSUB '254 : DATA LOAD BA T#1,(0)C1$() : ERRORGOTO 200 0230 DATA LOAD BA T#2,(0)C2$() : ERRORGOTO 200 0280 GOSUB '91 : IF N1$=HEX(0000000000000000)THEN 430 : Q6$=" " : IF M1$="VERIFY"THEN 360 : PRINT HEX(01);"COPYING FILE NUMBER";C0-1,TAB(80) : PRINT "INPUT FILE NAME = ";N1$,"OUTPUT FILE NAME = ";N2$;TAB(80) : GOSUB 960 : IF Q6$="E"OR M1$="COPY"THEN 280 0360 PRINT HEX(01);"VERIFYING FILE NUMBER";C0-1,TAB(80) : PRINT "INPUT FILE NAME = ";N1$,"OUTPUT FILE NAME = ";N2$;TAB(80) : GOSUB 750 : GOTO 280 0430 DEFFN'31 : SELECT PRINT 005 : $CLOSE#4 : PRINT HEX(03) : IF Z8$<>" "THEN GOSUB '219(Z8$,3,S2," ",0) : COM CLEAR Z9$ 0490 LOAD DC T#0,"ISS.100M" : ERRORGOTO 500 0500 PRINT HEX(010A);"MOUNT ISS DISK AT ADDRESS ";S$ : GOSUB '254 : GOTO 490 0570 E$="FILE - "&STR(N1$,1)&" - DOES NOT EXIST ON INPUT PLATTER." : GOTO 680 0590 E$="FILE - "&STR(N2$,1)&" - DOES NOT EXIST ON OUTPUT PLATTER." : GOTO 680 0610 E$="FILE - "&STR(N1$,1)&" - CAN NOT BE COPIED" : GOTO 680 0630 E$="FILE - "&STR(N1$,1)&" - DOES NOT VERIFY" : GOTO 680 0650 E$="FILE - "&STR(N1$,1)&" - DIFFERENT NUMBER OF SECTORS USED" 0680 GOSUB '92(E$) : Q6$="E" : RETURN 0750 LIMITS T#1,N1$,X1,Y1,Z1,N1 : LIMITS T#2,N2$,X2,Y2,Z2,N2 : IF N1<=0THEN 570 : IF N2<=0THEN 590 : IF Z1<>Z2THEN 650 : Z1=Z1+(1-SGN(Z1-1))*(Y1-X1) : FOR I=ABS(N1-2)TO Z1-N1-1 : DATA LOAD BA T#1,(X1+I,Y1)C1$() : DATA LOAD BA T#2,(X2+I,Y2)C2$() : IF C1$()<>C2$()THEN 630 : NEXT I : RETURN 0960 LIMITS T#1,N1$,X1,Y1,Z1,N1 : IF N1<=0THEN 570 : Z1=Z1+(1-SGN(Z1-1))*(Y1-X1) : A=Z1+N+(N1-2)*3 : IF N<0THEN A=Y1-X1+1+(N1-2)*3 : IF A>65534THEN 610 : LIMITS T#2,N2$,X2,Y2,Z2,N2 : IF M2$="ADD"OR M2$="ADD/REPLACE"AND N2=0THEN 1220 : IF M2$="REPLACE"OR M2$="ADD/REPLACE"AND N2<>0AND Z1<=Y2-X2+1THEN 1120 : GOTO 610 1120 IF N1=2AND N2=2THEN 1290 : SCRATCH T#2,N2$ : IF N1=1THEN SAVE DC T#2,(N2$)N2$10,0 : ELSE DATA SAVE DC OPEN T#2,(N2$)N2$ : GOTO 1290 1190 SAVE DC T#2,(A)N2$10,0 : ERRORGOTO 610 1200 GOTO 1260 1220 IF N1=1THEN 1190 : DATA SAVE DC OPEN T#2,(A)N2$ : ERRORGOTO 610 1260 LIMITS T#2,N2$,X2,Y2,Z2,N2 1290 Z2=SGN(Y1-X1) : COPY T#1,(Y1-Z2,Y1)TO T#2,(Y2-Z2) : COPY T#1,(X1+SGN(2-N1),X1+(Z1-2)*Z2)TO T#2,(X2+SGN(2-N1)) : IF N1$<>Z8$OR Z9$<>"INDIRECT"THEN RETURN : DATA LOAD BA T#2,(Y2)C1$() : STR(C1$(),32+S2,1)=" " : DATA SAVE BA T#2,(Y2)C1$() : RETURN 1390 DEFFN'91 : IF Z9$="INDIRECT"THEN 1740 : IF Z9$="PART"THEN 1620 : IF Z9=0THEN N1$=ALL(HEX(00)) : IF Z9=0THEN Z9=1 1470 GOSUB '226(1,N1$) : N1$,N2$=R9$ : IF N1$=HEX(0000000000000000)THEN RETURN : N=VAL(Z3$(1),2)-1 : IF R<1THEN 1470 : IF N1$<Z1$(1)THEN 1470 : IF N1$>Z2$(1)THEN 1470 : IF Z9$="PROGRAM"AND R=2THEN 1470 : IF Z9$="DATA"AND R=1THEN 1470 : C0=C0+1 : RETURN 1620 Z8=Z8+1 : IF Z8>Z9THEN 1710 : N1$=Z1$(Z8) : N2$=Z2$(Z8) : N=VAL(Z3$(Z8),2)-1 : C0=C0+1 : RETURN 1710 N1$=ALL(HEX(00)) : RETURN 1740 MAT REDIM Z1$(14)8,Z2$(14)8,Z3$(14)1 : IF Z9=1THEN 1820 1770 GOSUB '217(Z8$,3,S2,-2,2,"ISS 4.0 REF"," ",0) : IF Q$<>" "THEN 1980 : Z9=1 : Z8=0 1820 IF Z8=0THEN DATA LOAD DC #3,STR(Z1$(),1),STR(Z2$(),1),STR(Z3$(),1) : IF END THEN 1940 : Z8=Z8+1 : N1$=Z1$(Z8) : N2$=Z2$(Z8) : N=VAL(Z3$(Z8))-1 : IF Z8=14THEN Z8=0 : IF N1$=" "THEN 1820 : C0=C0+1 : RETURN 1940 N1$=ALL(HEX(00)) : GOSUB '219(Z8$,3,S2," ",0) : RETURN 1980 PRINT AT(1,0);"ERROR IN REFERENCE FILE OPEN = ";Q$ : GOSUB '254 : GOTO 1770 2040 DEFFN'92(Z5$) : IF S$(1)=" "THEN 2140 : GOSUB '94 : SELECT PRINT <S$(1)> : IF N3$=" "AND S$(1)<>"005"THEN PRINT HEX(0C0E);"COPY/VERIFY ERRORS";HEX(0 A0A0D);" " : N3$=N2$ : PRINT Z5$ : SELECT PRINT 005 : RETURN 2140 PRINT AT(1,0);Z5$;TAB(80) : GOSUB '254 : RETURN 2200 DEFFN'94 2220 $OPEN 2300,#4 : $CLOSE#4 2240 $GIO#4(010A02001212400040004000,A$) : IF STR(A$,8,1)=HEX(00)THEN RETURN : PRINT AT(1,0,S0);"SELECT PRINTER" : GOSUB '254 : GOTO 2240 2300 PRINT AT(1,0,S0);"PRINTER HOGGED" : GOSUB '254 : GOTO 2220