Listing of file='ISS.030U' on disk='vmedia/701-2423D.wvd.zip'
# Sector 332, program filename = 'ISS.030U'
0010 REM ISS.030U, 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
: COM O
: DIM Z1$3,E$36
: DIM Z$(3)83
: 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(3)
: $UNPACK(F=HEX(A003A003A0085003))Z$(Z1)TO I1$,I2$,M$,O
: GOSUB '60("COMPRESSION",4)
: GOSUB '61("INPUT ADDRESS",I1$,"80","DISK")
: GOSUB '61("MODE",M$,"81"," ")
: GOSUB '61("OUTPUT ADDRESS",I2$,"82","DISK")
: GOSUB '62("LENGTH OPTION",O,"83")
0350 GOSUB '70
: SELECT #1<I1$>
: SELECT #2<I2$>
: GOSUB '42(M$,2)
0420 LOAD DC T#0,"ISS.031U"
: ERRORGOTO 430
0430 PRINT AT(1,0);"RE-MOUNT ISS DISK AT ";S$;TAB(S0)
: GOSUB '254
: F9$=" "
: 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'83
: IF O=256THEN O=180
: ELSE O=256
: Z=O
: RETURN
0860 DEFFN'51
: $PACK(F=HEX(A003A003A0085003))Z$(Z1)FROMI1$,I2$,M$,O
: RETURN
0920 DEFFN'42(Z9$,Z8)
: Z9=0
: Z8$=" "
: IF Z9$="ALL"THEN 1050
: IF Z9$="RANGE"THEN 1110
: E$="MOUNT INPUT AND OUTPUT DISKS"
0980 PRINT AT(1,0,S0);E$;
: GOSUB '254
: IF Z9$="INDIRECT"THEN 1200
: IF Z9$="PART"THEN 1310
: STOP "ERROR"
1050 IF I1$=I2$THEN GOSUB '113(1,"MODE AND ADDRESSES INCOMPATIBLE")
: Z1$(1)=ALL(HEX(00))
: Z2$(1)=ALL(HEX(FF))
: RETURN
1110 IF I1$=I2$THEN GOSUB '113(1,"MODE AND ADDRESSES INCOMPATIBLE")
1120 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$
: IF Z1$(1)>=Z2$(1)THEN GOSUB '113(2,"INVALID RANGE")
: RETURN
1200 SELECT #3<I1$>
1220 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
1260 IF Z<1THEN GOSUB '113(3,"NOT AN ACTIVE FILE ON INPUT DISK")
: IF Z=1THEN GOSUB '113(3,"WRONG FILE TYPE")
: RETURN
1310 PRINT AT(1,0);"ENTER FILE NAMES (0 = END)"
: PRINT AT(11,20);"INPUT OUTPUT"
: GOTO 1410
1350 Y1=12
: FOR Y=MAX(1,Z9-1)TO Z9
: PRINT AT(Y1,15);Y;" ";STR(Z1$(Y),1);" ";STR(Z2$(Y),1)
: Y1=Y1+1
: NEXT Y
1410 Y1=MIN(12+Z9,14)
: PRINT AT(Y1,0,63);
1440 PRINT AT(Y1,15);Z9+1;
: LINPUT ?Z1$(Z9+1)
: PRINT AT(3,0,50)
: IF Z1$(Z9+1)="0"THEN 1680
: LIMITS T#1,Z1$(Z9+1),Y,Y,Y,Y
: ERRORE$="MOUNT INPUT DISK"
: PRINT HEX(07)
: GOTO 980
1490 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)
1530 PRINT AT(Y1,31);
: LINPUT Z2$(Z9+1)
: PRINT AT(3,0,50)
: LIMITS T#2,Z2$(Z9+1),Y,Y,Y,Y
: ERRORE$="MOUNT OUTPUT DISK"
: PRINT HEX(07)
: GOTO 980
1570 IF Y<>0THEN GOSUB '113(4,"FILE ALREADY EXISTS ON OUTPUT DISK")
: IF Z2$(Z9+1)="0"THEN GOSUB '113(5,"INVALID NAME")
: 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")
: Z3$(Z9+1)=BIN(Z8+1)
: Z9=Z9+1
: IF Z9<25THEN 1350
1680 PRINT AT(10,0,5*S0)
: PRINT AT(1,0,2*S0)
: Z8=0
: RETURN
1740 DEFFN'113(Y,E$)
: RETURN CLEAR
1760 PRINT HEX(07);AT(3,0,50);"RE-ENTER, ";E$
: ON YGOTO 350,1120,1220,1440,1530
1810 DEFFN'31
: PRINT HEX(03)
: COM CLEAR Z9$
1840 LOAD DC T#0,"ISS.100M"
: ERRORGOTO 1850
1850 PRINT HEX(010A);"MOUNT ISS DISK AT ADDRESS ";S$
: GOSUB '254
: GOTO 1840