
                                The Arkive format

  Disclaimer: The description below is a mere extrapolation from the  files  I
have encountered.

  The archive format of the program Arkive has a structure that is similar  to
the Lynx format. The archives start with a byte showing the number of files in
in the archive, then comes the directory of the files in the  archive  (unlike
in Lynx, no BASIC program is prepended to the archive) which  is  followed  by
the files themselves, all aligned to sector boundary. Arkive archives  are  in
no way compressed, the files are simply linked after each other in it. Another
difference between Arkive and Lynx  archives  is  that  Arkive  puts  trailing
garbage even after the last file,  creating  an  archive  of  the  size  of  a
multiple of 254.

  A directory entry has the following structure:

  POSITION      DESCRIPTION
  $00           File attribute  (file  type,  "closed"  and  "write-protected"
                flag)
  $01           Number of used bytes plus 1 in the last sector (the same value
                as the second byte of the last sector of the original file)
  $02-$11       Original name of the file, with trailing Shift-spaces
  $12-$1A       Extended info (of relative files and GEOS files) found in  the
                directory entry of the original file
  $1B-$1C       Original length of the file in blocks

  The first file starts at the beginning of the block that  follows  the  last
block of the directory. All files are similarly aligned so that they start  at
the beginning of a block. This method has the  advantage  that  the  extractor
program running on a real Commodore machine doesn't have to  move  data,  only
cut the archive into the original files. Block alignment means  that,  in  DOS
files, the particular data starts at an offset of a multiple of 254:  when  it
is copied onto a disk or into a disk image, such an  offset  will  be  at  the
start of a sector.

  In the case of relative files, side sectors are stored after the file  data.
It is important that the sectors contain the correct record  length  and  side
sector number. Side sector links and data sectors links may be omitted because
these will be recalculated upon extraction anyway.
