Listing of file='ISS.081U' on disk='vmedia/701-2423D.wvd.zip'
# Sector 557, program filename = 'ISS.081U' 0010 REM ISS.081U, RELEASE 5-1, (11/07/79) - COPYRIGHT WANG LABS. INC. 0068 DIM Z5$60,Z6$4,E$64 : DIM N1$8,N2$8,M1$2,M2$2,M$4 : DIM I1$(256)1,I2$(256)1,L1$(256)1,L2$(256)1,C$(256)1,L$(256)2,F$3,F0$3,L1 $2,L2$2,E1$1,E2$1,B9$1 0120 % THIS MUST BE STATEMENT 120 0230 S1$="ISS.254SISS.226SISS.229SISS.217SISS.200S" : LOAD DC T#0,<LEN(S1$)/8>S1$10,0BEG 250 0250 IF S$(1)<>" "THEN SELECT #4<S$(1)> : IF F9$=" "THEN 310 0280 PRINT AT(1,0);"MOUNT PLATTERS AT INDICATED ADDRESSES" : GOSUB '254 : DATA LOAD BA T#1,(0)C$() : ERRORGOTO 280 0310 D=0 : A5=0 : A9=0 : IF O$="PRINTER"THEN GOSUB '94 : F$=" " 0390 IF A8<>0THEN A9=A8+1 : INIT(20)B9$ : F0$="NEW" : IF O$="CRT"THEN PRINT AT(1,0,2*S0);"SCANNING INDEX FOR FILE NAME" : GOSUB '91 : IF N1$=HEX(0000000000000000)THEN 4220 : IF D=0OR O$<>"CRT"THEN 550 : PRINT AT(1,0,2*S0) : PRINT AT(1,0,S0);"READY TO COMPARE NEXT PAIR OF FILES" : GOSUB '254 : A5=0 0550 D=D+1 : PRINT HEX(03);"COMPARING PAIR #";D : GOSUB 3950 : LIMITS T#1,N1$,A1,A2,A3,A4 : ERRORGOTO 2590 0610 IF A4<>1THEN 2590 : DATA LOAD BA T#1,(A1)C$() : AND (C$(1),F0) : IF C$(1)=HEX(50)THEN 2510 : LIMITS T#2,N2$,B1,B2,B3,B4 : ERRORGOTO 2590 0690 IF B4<>1THEN 2590 : DATA LOAD BA T#2,(B1)C$() : AND (C$(1),F0) : IF C$(1)=HEX(50)THEN 2550 : GOSUB 820 : GOTO 390 0820 I1=A1+1 : I2=B1+1 : L1$,L2$=HEX(0000) : I1$(),I2$()=HEX(00FD) 0870 IF E1$=" "THEN GOSUB 1090 : IF E2$=" "THEN GOSUB 1310 : E1$,E2$=" " : IF L1$=HEX(FFFF)AND L2$=HEX(FFFF)THEN 2440 : IF L1$>L2$AND L1$<>HEX(FFFF)THEN GOSUB 2630 : IF L2$>L1$AND L2$<>HEX(FFFF)THEN GOSUB 2690 : IF L1$=HEX(FFFF)AND L2$<>HEX(FFFF)THEN 2750 : IF L2$=HEX(FFFF)AND L1$<>HEX(FFFF)THEN 2810 : IF L1$=L2$AND STR(L1$(),1,L1)<>STR(L2$(),1,L2)THEN GOSUB 2870 : KEYIN B9$,1030,1030 1030 IF B9$=HEX(00)THEN 390 : GOTO 870 1090 IF I1$(2)=HEX(FD)THEN 1530 : IF I1$(2)=HEX(FE)THEN 1240 : L1=POS(I1$()=0D)+1 : L1$=STR(I1$(),3,2) : L1$()=STR(I1$(),5,L1-6) : I1$()=STR(I1$(),L1+1) : L1=L1-6 : RETURN 1240 M1$=L1$ : L1$=ALL(FF) : RETURN 1310 IF I2$(2)=HEX(FD)THEN 1620 : IF I2$(2)=HEX(FE)THEN 1460 : L2=POS(I2$()=0D)+1 : L2$=STR(I2$(),3,2) : L2$()=STR(I2$(),5,L2-6) : I2$()=STR(I2$(),L2+1) : L2=L2-6 : RETURN 1460 M2$=L2$ : L2$=ALL(FF) : RETURN 1530 DATA LOAD BA T#1,(I1,I1)C$() : GOSUB 1710 : I1$()=C$() : GOTO 1090 1620 DATA LOAD BA T#2,(I2,I2)C$() : GOSUB 1710 : I2$()=C$() : GOTO 1310 1710 P$=HEX(FB20FC22FD27FE3A2020) : P1$=HEX(20FB22FC27FD3AFE2020) : C$(1)=HEX(00) : P1=POS(C$()=FD) : P2=POS(C$()=FE) : IF P1*P2=0THEN P3=MAX(P1,P2) : ELSE P3=MIN(P1,P2) : IF P3<256THEN STR(C$(),P3+1)=" " : P=0 1820 P1=POS(STR(C$(),P+1)=HEX(FF)) : IF P1=0THEN 1880 : P=P+P1 : $TRAN(STR(C$(),P+1,2),P$)R : GOTO 1820 1880 P=0 1890 P1=POS(STR(C$(),P+1)=HEX(D8)) : IF P1=0THEN 1970 : P=P+P1 : P1=POS(STR(C$(),P+1)=HEX(0D)) : $TRAN(STR(C$(),P,P1),P$)R : P=P+1 : GOTO 1890 1970 P=POS(C$()=HEX(A2)) : IF P=0THEN 2120 : P3=MAX(POS(-STR(C$(),1,P)=":"),POS(-STR(C$(),1,P)=HEX(FF))) : P1=POS(STR(C$(),P3+1)=":") : P2=POS(STR(C$(),P3+1)=HEX(0D)) : IF P1*P2=0THEN P4=MAX(P1,P2)+P3 : ELSE P4=MIN(P1,P2)+P3 : IF C$(P3)=HEX(FF)AND C$(P4)=":"THEN 2070 : IF C$(P3)=HEX(FF)AND C$(P4)=HEX(0D)THEN 2090 : STR(C$(),P3)=STR(C$(),P4) : GOTO 1970 2070 STR(C$(),P3+3)=STR(C$(),P4+1) : GOTO 1970 2090 STR(C$(),P3-1)=STR(C$(),P4+2) : GOTO 1970 2120 P=0 2130 P1=POS(STR(C$(),P+1)=HEX(27)) : IF P1=0THEN 2210 : P=P+P1 : P2=POS(-STR(C$(),1,P-1)<>" ") : IF STR(C$(),P2,1)=HEX(CE)OR STR(C$(),P2,1)=HEX(9A)OR STR(C$(),P2,1)=HEX(8 0)THEN $TRAN(STR(C$(),P,1),P$)R : GOTO 2130 2210 P=0 2220 P2=POS(STR(C$(),P+1)=HEX(27)) : P3=POS(STR(C$(),P+1)=HEX(22)) : IF P2*P3=0THEN P1=MAX(P2,P3) : ELSE P1=MIN(P2,P3) : IF P1=0THEN 2320 : P=P+P1 : P1=POS(STR(C$(),P+1)=C$(P)) : $TRAN(STR(C$(),P,P1),P$)R : P=P+P1 : GOTO 2220 2320 MAT SEARCHC$(),<>" "TO L$() : P=256 : MAT MOVE C$(),L$(),PTO C$() : IF P<256THEN STR(C$(),P+1)=" " : $TRAN(STR(C$(),1,P-1),P1$)R : RETURN 2440 RETURN CLEAR ALL 2460 GOTO 390 2510 Z5$="FILE "&N1$&" IS PROTECTED" : GOSUB '100(Z5$) : GOTO 390 2550 Z5$="FILE "&N2$&" IS PROTECTED" : GOSUB '100(Z5$) : GOTO 390 2590 Z5$="ERROR IN OPEN" : GOSUB '100(Z5$) : GOTO 390 2630 HEXUNPACKL2$TO M$ : Z5$="LINE "&M$&" MISSING IN INPUT ONE" : GOSUB '100(Z5$) : E1$="W" : RETURN 2690 HEXUNPACKL1$TO M$ : Z5$="LINE "&M$&" MISSING IN INPUT TWO" : GOSUB '100(Z5$) : E2$="W" : RETURN 2750 RETURN CLEAR ALL 2760 HEXUNPACKM1$TO M$ : Z5$="INPUT ONE ENDS ON LINE "&M$&" BUT INPUT TWO CONTINUES" : GOSUB '100(Z5$) : GOTO 390 2810 RETURN CLEAR ALL 2820 HEXUNPACKM2$TO M$ : Z5$="INPUT TWO ENDS ON LINE "&M$&" BUT INPUT ONE CONTINUES" : GOSUB '100(Z5$) : GOTO 390 2870 HEXUNPACKL1$TO M$ : Z5$="TEXT DOES NOT MATCH ON LINES "&M$ : GOSUB '100(Z5$) : RETURN 2940 DEFFN'91 : IF Z9$="INDIRECT"THEN 3230 : IF Z9$="PART"THEN 3120 : IF Z9=0THEN N1$=ALL(HEX(00)) : IF Z9=0THEN Z9=1 3020 GOSUB '226(1,N1$) : N1$,N2$=R9$ : IF N1$=HEX(0000000000000000)THEN RETURN : IF R<>1THEN 3020 : IF N1$<Z1$(1)THEN 3020 : IF N1$>Z2$(1)THEN 3020 : RETURN 3120 Z8=Z8+1 : IF Z8>Z9THEN 3200 : N1$=Z1$(Z8) : N2$=Z2$(Z8) : N=VAL(Z3$(Z8))-1 : RETURN 3200 N1$=ALL(HEX(00)) : RETURN 3230 MAT REDIM Z1$(14)8,Z2$(14)8,Z3$(14)1 : IF Z9=1THEN 3310 3260 GOSUB '217(Z8$,3,S2,-2,2,"ISS 4.0 REF"," ",0) : IF Q$<>" "THEN 3460 : Z9=1 : Z8=0 3310 IF Z8=0THEN DATA LOAD DC #3,STR(Z1$(),1),STR(Z2$(),1),STR(Z3$(),1) : IF END THEN 3420 : Z8=Z8+1 : N1$=Z1$(Z8) : N2$=Z2$(Z8) : N=VAL(Z3$(Z8))-1 : IF Z8=14THEN Z8=0 : IF N1$=" "THEN 3310 : RETURN 3420 N1$=ALL(HEX(00)) : GOSUB '219(Z8$,3,S2," ",0) : RETURN 3460 PRINT AT(1,0);"ERROR IN REFERENCE FILE OPEN = ";Q$ : GOSUB '254 : GOTO 3260 3520 DEFFN'100(Z5$) : IF A9=1THEN RETURN CLEAR : ELSE GOTO 3560 : GOTO 390 3560 IF O$="PRINTER"THEN GOSUB 3770 : ELSE GOSUB 3630 : A9=A9-1 : SELECT PRINT 005 : RETURN 3630 IF A5=MAX(S0-61,11)THEN GOSUB 3690 : A5=A5+1 : PRINT AT(A5+4,0);Z5$; : RETURN 3690 PRINT AT(1,0,2*S0);"READY FOR NEXT DISPLAY" : INPUT "KEY RETURN(EXEC) TO RESUME",A6 : PRINT AT(1,0,2*S0) : PRINT AT(5,0,); : A5=0 : RETURN 3770 SELECT PRINT <S$(1)> : IF F$=" "THEN 3840 : IF F0$="NEW"THEN 3880 : GOTO 3910 3840 F$="ERR" : PRINT HEX(0C0D0E);"PROGRAM COMPARE ERRORS" : PRINT HEX(0D0E);"INPUT ONE";" (";I1$;")";TAB(25);"INPUT TWO";" (";I2$;")" 3880 F0$="OLD" : PRINT HEX(0D0E);N1$;TAB(25);N2$;HEX(0D);" " 3910 PRINT Z5$ : RETURN 3950 IF O$="CRT"THEN 4000 : PRINT "INPUT ONE - ";N1$;" INPUT TWO - ";N2$;TAB(64) : RETURN 4000 PRINT AT(3,0,S0);"INPUT ONE - ";N1$;" (";I1$;")";TAB(S0-30);"INPUT TWO - ";N2$;" (";I2$;")" : PRINT AT(4,0,S0);"-----------------------";TAB(S0-30);"------------------ --------"; : RETURN 4060 DEFFN'94 4080 $OPEN 4150,#4 4090 $GIO#4(010A02001212400040004000,A$) : IF STR(A$,8,1)=HEX(00)THEN RETURN : PRINT AT(1,0,S0);"SELECT PRINTER" : GOSUB '254 : GOTO 4090 4150 PRINT AT(1,0,S0);"PRINTER HOGGED" : GOSUB '254 : GOTO 4080 4220 IF D<>0THEN 4270 : SELECT PRINT 005 : PRINT AT(1,0,2*S0);"NO PROGRAMS FOUND" : GOSUB '254 : GOSUB '31 4270 IF O$="PRINTER"THEN 4310 : PRINT AT(1,0,2*S0);"ALL SPECIFIED PROGRAMS PROCESSED" : GOSUB '254 : GOTO 4360 4310 SELECT PRINT <S$(1)> : IF F$<>"ERR"THEN PRINT HEX(0D0C0E);"INPUT ONE";" (";I1$;")";TAB(25);"INPU T TWO";" (";I2$;")" : PRINT HEX(0D0A);"ALL SPECIFIED PROGRAMS PROCESSED" 4360 SELECT PRINT 005(S0) : $CLOSE#4 : IF Z9$<>"PART"THEN Z9=0 : Z8=0 : PRINT HEX(03);AT(MAX(6,S0-70),S0/2-20);"1. RERUN WITH PRINTER OUTPUT";HEX (0D0A);TAB(MAX(S0/2-20));"2. RERUN WITH CRT OUTPUT";HEX(0D0A);TAB(S0/2-20 );"3. RETURN TO MENU"; 4410 GOSUB '200("1","3",1,0,"ENTER THE NUMBER OF THE DESIRED OPTION",1) : IF Q9=1THEN 4460 : IF Q9=3THEN GOSUB '31 : ELSE O$="CRT" : GOTO 310 4460 O$="PRINTER" : GOSUB '44 : IF P$=" "THEN 310 : PRINT HEX(070D010D0A);"PRINTER REQUIRED"; : GOSUB '254 : GOTO 4410 4550 DEFFN'31 : SELECT PRINT 005 : PRINT HEX(03) : $CLOSE#4 : IF Z8$<>" "THEN GOSUB '219(Z8$,3,S2," ",0) : COM CLEAR Z9$ 4610 LOAD DC T#0,"ISS.100M" : ERRORGOTO 4620 4620 PRINT HEX(010A);"MOUNT ISS DISK AT ADDRESS ";S$ : GOSUB '254 : GOTO 4610 4680 DEFFN'44 : P$=" 000005" : MAT SEARCHP$,=S$(1)TO P$ : IF STR(P$,1,2)=HEX(0000)THEN P$=" " : ELSE P$="P" : RETURN