!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
