Squash (RISC OS)

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
m (Change telparia.com samples link to template)
 
Line 41: Line 41:
 
* [https://github.com/mjwoodcock/riscosarc/ RISC OS de-archiver]
 
* [https://github.com/mjwoodcock/riscosarc/ RISC OS de-archiver]
 
* {{Deark}}
 
* {{Deark}}
 +
* [https://github.com/Xelitan/RISC-OS-Squash-in-Free-Pascal Open source Command Line Squash]
 
* Or see the [[#Format details]] section above, for a way to convert to [[compress]] format.
 
* Or see the [[#Format details]] section above, for a way to convert to [[compress]] format.
 +
 +
== Library ==
 +
* [https://github.com/Xelitan/RISC-OS-Squash-in-Free-Pascal Open source library in Free Pascal]
  
 
== Sample files ==
 
== Sample files ==

Latest revision as of 07:58, 30 May 2026

File Format
Name Squash (RISC OS)
Ontology

Squash files (file type FCA, Squash) contain compressed data for single files on RISC OS systems.

The file command calls this format "squished".

Contents

[edit] Format details

According to the help text for the Squash application, "The Squash module currently compresses using a 12-bit LZW algorithm but no guarantee is made that this will be so in the future."

The compressed data is preceded by a header, with offsets measured in bytes and all values stored in little-endian byte order:

Offset Description
0 "SQSH" (4 byte ID)
4 Length of the original, uncompressed file in bytes
8 Load address of the original file
12 Execution address of the original file
16 Reserved (should be 0)

As with a number of data formats related to filing systems on RISC OS, the load and execution addresses are actually used to hold the file type and date stamp of the original file.

The remaining data in the file (from offset 20 to the end) is in compress format, and can be decompressed using gunzip. One way to do this is to run the following in a bash shell:

 dd if=input_file skip=20 bs=1 | gunzip -c - > output_file

[edit] Software

[edit] Library

[edit] Sample files

[edit] References

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox