Spark

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
Line 42: Line 42:
 
== Sample files ==
 
== 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])
 
* 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] → [ftp://www.arcade-bbs.net/data/027500/028850/028864 level1]
+
** E.g. [http://www.arcade-bbs.net/filepages/file77.htm Sprite Picture files] → {{ArcadeBBSLink|028864|level1}}
  
 
[[Category:RISC OS]]
 
[[Category:RISC OS]]

Revision as of 12:24, 4 October 2022

File Format
Name Spark
Ontology
Extension(s) .spk, .arc

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

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.

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.

Software

Sample files

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox