!Concatenate a number (4 expected) of hex-pair files from the SEESCAN board !into one IFF file. %include "inc:util.imp" %include "iffinc.imp" %begin %string (255) infile, outfile, param, in %integer csum, rc %record (iffhdr fm) iffhdr %routine do file(%string (255) infile) %integer a,b,c,n %on 9 %start close input %return %finish openinput(2, infile); selectinput(2) n=0 %cycle skipsymbol %while nextsymbol<'0' readsymbol(a); a=a-'0'; a=a-7 %if a>9 skipsymbol %while nextsymbol<'0' readsymbol(b); b=b-'0'; b=b-7 %if b>9 c=a<<4+b printsymbol(c); n=n+1 csum=(csum+c)&16_FFFF %repeat %end %integer i, c param = cli param outfile = "" %and infile = param %unless param -> infile.("/").outfile csum=0 rc = iff open file(outfile, iffhdr, iff write) iffhdr_ht=256; iffhdr_wid=256 prompt("Title:"); readline(iffhdr_title) rc = iff write header(iffhdr) infile=infile."," do file(in) %while infile -> in.(",").infile iff close file(iffhdr) selectoutput(0) %endofprogram