*** ARC (compressed ARChive)
*** Document revision: 1.4
*** Last updated: March 11, 2004
*** Contributors/sources: Chris Smeets (source code)

  The name is likely a shortened version  of  "ARChive".  It  is  a  direct
relative of SDA, as SDA's are simply self-dissolving ARC  files.  ARC  does
not contain the dissolving code on the front of the file.  Do  not  confuse
these ARC files with C64 ARKive files (made with the  ARKIVE  program),  or
with PC .ARC files, as they are all completely different. Below is  a  dump
of the first 48 bytes of an ARC file...

      00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F        ASCII
      -----------------------------------------------   ----------------
0000: 02 01 20 9D 47 01 00 01 00 50 01 41 FE 3A 21 FE   ..??G.?.?P.A?:!?
0010: 00 01 FE 00 02 FE 03 02 A9 00 20 90 FF A9 02 A6   ?.??.?..??????.?
0020: BA A0 01 20 BA FF A9 04 A2 35 A0 02 20 BD FF A2   |?.?|??.?5?.????

       Byte:   $00 - ARChive version
                     $01 = original
                      02 = extended header
                01 - Compression mode
                     $00 - Stored
                      01 - Packed
                      02 - Squeezed
                      03 - Crunched (ARC version 2 only)
                      04 - Squeezed and packed (ARC version 2 only)
                      05 - Crunched in 1 pass (ARC version 2 only)
             02-03 - Checksum (low/high format)
             04-06 - Original file size  in  bytes  (low/med/high  format).
                     This value is not valid if the compression mode  (from
                     above) is 5, a one pass crunch)
             07-08 - Number of blocks compressed file takes (low/high,  254
                     bytes/block)
                09 - Filetype ("P", "S",  "U",  "R",  uppercase  in  ASCII,
                     lowercase in PETASCII )
                0A - Filename length
      0B-0B+length - Filename (in PETASCII, no longer than  16  characters)
       0B+length+1 - Relative file record length (only for ARC version 2)
       0B+length+2 - Date (2 bytes, in MSDOS format, only in ARC vers. 2)

  The header can also have some extra fields, depending on what version the
archive is. Version 1 archives do not  have  the  RECORD  length  and  DATE
fields, meaning they cannot contain REL files. The RECORD  length  is  only
used when the filetype is REL.

  Immediately following the filename (for version 1 archives)  is  the  RLE
control byte, and then follows the LZ table and compressed data.

  Watch out for "extra" data at the end of the file, typically many  $00's.
Some files which exist have this, and it makes reading the  contained  file
list more difficult.

  64COPY can unpack ARC files easily, and just hitting return on them  will
open the archive. Simply select what files you want to  extract,  and  copy
them out.