%begin
%include "inc:fs.imp"
%include "inc:fsutil.imp"
%include "inc:util.imp"
%include "inc:region.imp"

%string(255) directory, pxlfile
%integer pixel size, ref, size, split
%bytename buffer
%integer %array temp(0:127)

  %on %event 9 %start
    close input
    %stop
  %finish

  printstring("Directory ")
  readline(directory)
  open input(1,directory."directory")

  %cycle
    readline(pxlfile)
    printstring(pxlfile)
    printsymbol(9)
    %if length(pxlfile)<8 %then %start
      printsymbol(32)
      printsymbol(9)
    %finish

    access file (directory.pxlfile, 0, ref, size)
    buffer == byte integer(addr(temp))
    %cycle
       split=128
       size = size-512
       read region(ref, size, 512, buffer)
       split=split-1 %until split=0 %or temp(split)=1001
    %repeat %until temp(split)=1001
    size = size + split*4 + 4
    pixel size = size - (1+512+5)*4
    write(pixel size,0); newline
    deaccess file(ref)
  %repeat

%endofprogram
