Spark
Dan Tobias (Talk | contribs) |
Dexvertbot (Talk | contribs) m (Change telparia.com samples link to template) |
||
(15 intermediate revisions by 5 users not shown) | |||
Line 2: | Line 2: | ||
|formattype=electronic | |formattype=electronic | ||
|subcat=Archiving | |subcat=Archiving | ||
− | |extensions={{ext|spk}} | + | |extensions={{ext|spk}}, {{ext|arc}} |
}} | }} | ||
+ | '''Spark''' (Acorn Spark compressed archive) is a type of compressed file archive traditionally found on RISC OS systems, with [[RISC OS filetype|file type]] DDC (Archive). Created by SparkFS, these archives were often used to transfer data in a form that could be unpacked by the freely redistributable SparkPlug tool. | ||
− | == | + | == Format details == |
+ | The format is an incompatible variant of [[ARC (compression format)|ARC]]. The most obvious differences from ARC are that the high bit of the ''compression method'' byte is set, and the member file header has an additional 12 bytes, for RISC OS file attributes. Subdirectories are possible, in a way, by storing them as nested Spark archives. | ||
− | + | === Compression methods === | |
+ | Spark uses a subset of [[ARC (compression format)|ARC]]'s compression methods, with the same numbering scheme (taking the compression method to be the low 7 bits of the compression byte). It adds one method of its own ("compressed"). | ||
− | + | It's not completely clear which compression methods are supposed to be allowed in Spark format. Here are the methods supported by ''nspark'', which claims to support all methods supported by ''!Spark for UNIX'' 1 and 2, as well as method 9. | |
− | [ | + | {| class="wikitable" |
+ | ! ID (8-bit) !! ID (7-bit) !! Name !! Description and remarks | ||
+ | |- | ||
+ | |<code>0x80</code> or <code>0x00</code> || 0 || End-of-archive marker ||rowspan="6"| Refer to [[ARC (compression format)#Compression methods|ARC]] for more information. | ||
+ | |- | ||
+ | |<code>0x81</code> || 1 || Uncompressed | ||
+ | |- | ||
+ | |<code>0x82</code> || 2 || Uncompressed | ||
+ | |- | ||
+ | |<code>0x83</code> || 3 || Packed | ||
+ | |- | ||
+ | |<code>0x88</code> || 8 || Crunched | ||
+ | |- | ||
+ | |<code>0x89</code> || 9 || Squashed | ||
+ | |- | ||
+ | |<code>0xff</code> || 127 || Compressed || [[LZW]]. Like method #8, but does not use RLE, and has a configurable maximum code size up to 16 bits. | ||
+ | |} | ||
+ | |||
+ | == Software == | ||
+ | * [https://www.riscosopen.org/wiki/documentation/show/Software%20information:%20SparkFS%20(self-extracting) SparkFS] | ||
+ | * [https://armclub.org.uk/products/arcfs/ ArcFS] | ||
+ | * [https://github.com/mjwoodcock/nspark nspark] - a tool to catalogue and unpack Spark archives (in source code form) | ||
+ | * [http://www.svgalib.org/rus/nomarch.html nomarch] v1.3 can unpack Spark archives. | ||
+ | * [https://github.com/mjwoodcock/riscosarc/ RISC OS de-archiver] | ||
+ | * [https://www.davidpilling.com/riscos.html], [https://www.davidpilling.com/free.html] → Spark, SparkPlug | ||
+ | * {{Deark}} | ||
+ | * [http://xmp.sourceforge.net/ xmp] | ||
+ | |||
+ | == Sample files == | ||
+ | * Many of the files at [http://www.arcade-bbs.net/filepages/findex.htm The Arcade BBS Filebase] ([ftp://www.arcade-bbs.net/ ftp]) | ||
+ | ** E.g. [http://www.arcade-bbs.net/filepages/file77.htm Sprite Picture files] → {{ArcadeBBSLink|028864|level1}} | ||
+ | * {{DexvertSamples|archive/acornSpark}} | ||
[[Category:RISC OS]] | [[Category:RISC OS]] |
Latest revision as of 02:55, 28 December 2023
Spark (Acorn Spark compressed archive) is a type of compressed file archive traditionally found on RISC OS systems, with file type DDC (Archive). Created by SparkFS, these archives were often used to transfer data in a form that could be unpacked by the freely redistributable SparkPlug tool.
Contents |
[edit] Format details
The format is an incompatible variant of ARC. The most obvious differences from ARC are that the high bit of the compression method byte is set, and the member file header has an additional 12 bytes, for RISC OS file attributes. Subdirectories are possible, in a way, by storing them as nested Spark archives.
[edit] Compression methods
Spark uses a subset of ARC's compression methods, with the same numbering scheme (taking the compression method to be the low 7 bits of the compression byte). It adds one method of its own ("compressed").
It's not completely clear which compression methods are supposed to be allowed in Spark format. Here are the methods supported by nspark, which claims to support all methods supported by !Spark for UNIX 1 and 2, as well as method 9.
ID (8-bit) | ID (7-bit) | Name | Description and remarks |
---|---|---|---|
0x80 or 0x00 |
0 | End-of-archive marker | Refer to ARC for more information. |
0x81 |
1 | Uncompressed | |
0x82 |
2 | Uncompressed | |
0x83 |
3 | Packed | |
0x88 |
8 | Crunched | |
0x89 |
9 | Squashed | |
0xff |
127 | Compressed | LZW. Like method #8, but does not use RLE, and has a configurable maximum code size up to 16 bits. |
[edit] Software
- SparkFS
- ArcFS
- nspark - a tool to catalogue and unpack Spark archives (in source code form)
- nomarch v1.3 can unpack Spark archives.
- RISC OS de-archiver
- [1], [2] → Spark, SparkPlug
- Deark
- xmp
[edit] Sample files
- Many of the files at The Arcade BBS Filebase (ftp)
- E.g. Sprite Picture files → level1
- dexvert samples — archive/acornSpark