Listing of file='ISS.040U' on disk='vmedia/701-2423D.wvd.zip'
# Sector 379, program filename = 'ISS.040U'
0010 REM ISS.040U, RELEASE 5-1, (11/07/79) - COPYRIGHT WANG LABS. INC.
0049 COM Z9$8,Z8$8,Z1$(25)8,Z2$(25)8,Z3$(25)1,Z8,Z9
: DIM E$36
: DIM Z$(3)83,Z$16,Z1$3
: DIM M$8,D$32
0120 % THIS MUST BE STATEMENT 120
0220 S1$="ISS.200SISS.254SISS.050S"
: LOAD DC T#0,<LEN(S1$)/8>S1$10,0BEG 250
0250 GOSUB '50(4)
: $UNPACK(F=HEX(A003A003A0085003))Z$(Z1)TO I1$,I2$,M$,E
: GOSUB '60("DECOMPRESSION",4)
: GOSUB '61("INPUT ADDRESS",I1$,"80","DISK")
: GOSUB '61("MODE",M$,"81"," ")
: GOSUB '61("OUTPUT ADDRESS",I2$,"82","DISK")
: GOSUB '62("EXTRA SECTORS",E,"84")
0350 GOSUB '70
: SELECT #1<I1$>
: SELECT #2<I2$>
: GOSUB '42(M$,E)
0420 LOAD DC T#0,"ISS.041U"
: ERRORGOTO 430
0430 PRINT AT(1,0);"RE-MOUNT ISS DISK AT ";S$;TAB(S0)
: GOSUB '254
: F9$="M"
: GOTO 420
0480 DEFFN'15
: RETURN CLEAR ALL
0500 PRINT AT(1,0,3*S0);
: GOTO 350
0560 DEFFN'80
: GOSUB '40("ENTER INPUT ADDRESS")
: Z$,I1$=Z1$
: RETURN
0610 DEFFN'82
: GOSUB '40("ENTER OUTPUT ADDRESS")
: Z$,I2$=Z1$
: RETURN
0660 DEFFN'81
: PRINT AT(14,0);"1 - ALL 3 - RANGE"
: PRINT "2 - PART 4 - INDIRECT";
: GOSUB '200("1","4",1,0,"ENTER MODE",1)
: D$="ALL PART RANGE INDIRECT"
: Z$,M$=STR(D$,Q9*8-7,8)
: PRINT AT(14,0,2*S0)
: RETURN
0790 DEFFN'84
: GOSUB '200("1","250",3,0,"ENTER NUMBER OF EXTRA SECTORS",1)
: Z,E=Q9
: RETURN
0860 DEFFN'51
: $PACK(F=HEX(A003A003A0085003))Z$(Z1)FROMI1$,I2$,M$,E
: RETURN
0920 DEFFN'42(Z9$,Z8)
: Z9=0
: Z8$=" "
: IF Z9$="ALL"THEN 1050
: IF Z9$="RANGE"THEN 1120
: E$="MOUNT INPUT AND OUTPUT DISKS"
0980 PRINT AT(1,0,S0);E$
: GOSUB '254
: IF Z9$="INDIRECT"THEN 1220
: IF Z9$="PART"THEN 1330
: STOP "ERROR"
1050 IF I1$=I2$THEN GOSUB '113(1,"MODE AND ADDRESSES INCOMPATIBLE")
: Z1$(1)=ALL(HEX(00))
: Z2$(1)=ALL(HEX(FF))
: Z3$(1)=BIN(Z8+1)
: F9$="M"
: RETURN
1120 IF I1$=I2$THEN GOSUB '113(1,"MODE AND ADDRESSES INCOMPATIBLE")
1130 GOSUB '200(" "," ",8,0,"ENTER BEGINNING LIMIT FOR RANGE",2)
: Z1$(1)=Q6$
: GOSUB '200(" "," ",8,0,"ENTER ENDING LIMIT FOR RANGE",2)
: Z2$(1)=Q6$
: Z3$(1)=BIN(Z8+1)
: IF Z1$(1)>=Z2$(1)THEN GOSUB '113(2,"INVALID RANGE")
: F9$="M"
: RETURN
1220 SELECT #3<I1$>
1240 GOSUB '200(" "," ",8,0,"ENTER REFERENCE FILE NAME",2)
: Z8$=Q6$
: LIMITS T#1,Z8$,Z,Z,Z,Z
: ERRORE$="MOUNT INPUT DISK"
: PRINT HEX(07)
: GOTO 980
1280 IF Z<1THEN GOSUB '113(3,"NOT AN ACTIVE FILE ON INPUT DISK")
: IF Z=1THEN GOSUB '113(3,"WRONG FILE TYPE")
: RETURN
1330 PRINT AT(1,0);"ENTER FILE NAMES (0 = END)"
: PRINT AT(11,20);"INPUT OUTPUT SECTORS"
: GOTO 1460
1370 Y1=12
: FOR Y=MAX(1,Z9-1)TO Z9
: PRINT AT(Y1,15);TAB(S0);
: PRINT AT(Y1,15);Y;" ";STR(Z1$(Y),1);" ";STR(Z2$(Y),1);" ";
: IF VAL(Z3$(Y))-1=-1THEN PRINT AT(Y1,48);
: PRINT VAL(Z3$(Y))-1;TAB(10)
: Y1=Y1+1
: NEXT Y
1460 Y1=MIN(12+Z9,14)
: PRINT AT(Y1,0,63);
1490 PRINT AT(Y1,15);Z9+1;
: LINPUT ?Z1$(Z9+1)
: PRINT AT(3,0,50)
: IF Z1$(Z9+1)="0"THEN 1820
: LIMITS T#1,Z1$(Z9+1),Y,Y,Y,Y
: ERRORE$="MOUNT INPUT DISK"
: PRINT HEX(07)
: GOTO 980
1540 IF Y<1THEN GOSUB '113(4,"NOT AN ACTIVE FILE ON INPUT DISK")
: IF Y=2THEN GOSUB '113(4,"NOT A PROGRAM FILE")
: IF Z2$(Z9+1)=" "THEN Z2$(Z9+1)=Z1$(Z9+1)
1580 PRINT AT(Y1,31);
: LINPUT Z2$(Z9+1)
: PRINT AT(3,0,50)
: IF Z2$(Z9+1)="0"THEN GOSUB '113(5,"INVALID NAME")
: LIMITS T#2,Z2$(Z9+1),Y,Y,Y,Y
: ERRORE$="MOUNT OUTPUT DISK"
: PRINT HEX(07)
: GOTO 980
1630 IF Y<>0THEN GOSUB '113(4,"FILE ALREADY EXISTS ON OUTPUT DISK")
: MAT SEARCHSTR(Z2$(),1,Z9*8+1),=STR(Z2$(Z9+1),1)TO Z$STEP 8
: IF STR(Z$,1,2)<>HEX(0000)THEN GOSUB '113(4,"DUPLICATE OUTPUT FILE NAME")
: Z$=" "
: IF Z3$(Z9+1)<>" "THEN Y=VAL(Z3$(Z9+1))-1
: ELSE Y=Z8
: $PACK(D=HEX(0020))Z$FROMY
: IF STR(Z$,1,1)=" "THEN Z$=STR(Z$,2)
1700 PRINT AT(Y1,47);
: LINPUT STR(Z$,1,3)
: IF NUM(STR(Z$,1,LEN(Z$)))<>LEN(Z$)THEN GOSUB '113(6,"INVALID ENTRY")
: CONVERT Z$TO Z
: IF Z<-1OR Z>250THEN GOSUB '113(6,"1<= X <=250 (ddd.)")
: Z3$(Z9+1)=BIN(Z+1)
: PRINT AT(3,0,50)
: Z9=Z9+1
: IF Z9<25THEN 1370
1820 PRINT AT(11,0,5*S0)
: PRINT AT(1,0,2*S0)
: Z8=0
: RETURN
1880 DEFFN'113(Y,E$)
: RETURN CLEAR
1900 PRINT HEX(07);AT(3,0,50);"RE-ENTER, ";E$
: ON YGOTO 350,1130,1240,1490,1580,1700
1950 DEFFN'31
: PRINT HEX(03)
: COM CLEAR Z9$
1980 LOAD DC T#0,"ISS.100M"
: ERRORGOTO 1990
1990 PRINT HEX(010A);"MOUNT ISS DISK AT ADDRESS ";S$
: GOSUB '254
: GOTO 1980