4 SPARK(5)() MISC. REFERENCE MANUAL PAGES SPARK(5)()
9 spark - Archive file format for RISC OS version of the PC
13 Strings are given in ASCII with C-style escapes. No ter-
14 minating is present if not explicitily included.
16 Words are 32 bit little-endian numbers.
18 Half words are 16 bit little-endian numbers.
22 An archive file consists of a sequence of archive marker,
23 archive header and file data, ie. marker1, header1, data1,
24 marker2, header2, data2, etc. The archive marker is a sin-
25 gle byte of value 0x1a (26). The archive finishes with an
26 archive marker followed by a zero byte.
28 _
\bH_
\be_
\ba_
\bd_
\be_
\br _
\bv_
\be_
\br_
\bs_
\bi_
\bo_
\bn _
\bn_
\bu_
\bm_
\bb_
\be_
\br
29 This tells you how the file data is stored and how many
30 bytes there are in the header. The header version numbers
31 for the PC, are detailed below. An Archimedes header version
32 number is identical to the corresponding PC number except it
34 1 Old style, no compression
35 2 New style, no compression
36 3 Compression of repeated characters only (RLE)
37 4 As 3 plus Huffman Squeezing
38 5 Lempel-Ziv packing of repeated strings (old style)
39 6 Lempel-Ziv packing of repeated strings (new style)
40 7 Lempel-Ziv Welch packing with improved hash function
41 8 Dynamic Lempel-Ziv packing with adaptive reset
42 9 PKARC style squashing
45 _
\bF_
\bi_
\bl_
\be_
\bn_
\ba_
\bm_
\be
46 14 bytes of name, zero terminated.
48 _
\bC_
\bo_
\bm_
\bp_
\br_
\be_
\bs_
\bs_
\be_
\bd _
\bl_
\be_
\bn_
\bg_
\bt_
\bh
49 Compressed data length, one word.
53 year = (date >> 9) & 0x7f;
54 month = (date >> 5) & 0x0f;
59 hour = (time >> 11) & 0x1f;
63 Sun Release 4.1 Last change: 1
70 SPARK(5)() MISC. REFERENCE MANUAL PAGES SPARK(5)()
74 minute = (time >> 5) & 0x3f;
75 second = (time & 0x1f) * 2;
77 The time and date fields are always filled in. If the file
78 has a load and exec address, these are the time and date
79 when the file was added to the archive otherwise, they are
80 derived from the Archimedes datestamp. In all extract opera-
81 tions on Archimedes format archives, the contents of the
82 load and exec fields take precedence.
85 One half-word, Cyclic Redundancy Check.
87 _
\bO_
\br_
\bi_
\bg_
\bi_
\bn_
\ba_
\bl _
\bf_
\bi_
\bl_
\be _
\bl_
\be_
\bn_
\bg_
\bt_
\bh
88 Original file length, one word, only present if header type
91 _
\bL_
\bo_
\ba_
\bd _
\ba_
\bd_
\bd_
\br_
\be_
\bs_
\bs
92 Load address of the file, one word, only present if bit-7 of
93 the header version number is set.
95 _
\bE_
\bx_
\be_
\bc _
\ba_
\bd_
\bd_
\br_
\be_
\bs_
\bs
96 Exec address of the file, one word, only present if bit-7 of
97 the header version number is set.
99 _
\bA_
\bt_
\bt_
\br_
\bi_
\bb_
\bu_
\bt_
\be_
\bs
100 Attributes of the file, one word, only present if bit-7 of
101 the header version number is set.
103 _
\bC_
\bo_
\bm_
\bp_
\br_
\be_
\bs_
\bs_
\be_
\bd _
\bd_
\ba_
\bt_
\ba...
104 Directories are stored as non-compressed archives within
105 archives, ie. their load address & 0xffffff00=0xfffddc.
109 PC and Archimedes formats may be mixed in one archive for
110 use on the Archimedes.
129 Sun Release 4.1 Last change: 2