TERSE

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(Software)
m (Related formats)
 
(4 intermediate revisions by 2 users not shown)
Line 3: Line 3:
 
|subcat=Compression
 
|subcat=Compression
 
|released=1984?
 
|released=1984?
 +
|wikidata={{wikidata|Q28452000}}
 +
|developed by=IBM
 +
|reference impl=https://www.ibm.com/docs/en/zos/2.3.0?topic=aids-amaterse-pack-unpack-data-set
 
}}
 
}}
 
'''TERSE''' is a data compression format used on OS/2, and on IBM mainframes. It is still in regular use on IBM mainframes to this day.
 
'''TERSE''' is a data compression format used on OS/2, and on IBM mainframes. It is still in regular use on IBM mainframes to this day.
Line 8: Line 11:
 
More research is needed to understand the scope of what TERSE was used for, and how many versions of it there are.
 
More research is needed to understand the scope of what TERSE was used for, and how many versions of it there are.
  
It can at least be used for single-file compression, as is done by the Advantis software listed below. This file format does not appear to have a conventional filename extension – compressed files may keep their original name.
+
There appear to be two compression algorithms, called PACK and SPACK. There are also two different modes - native and compatibility. Native mode files would not necessarily be able to interpreted on a different machine than they were created on. As such, there aren't many examples of native mode files available.
 +
 
 +
It can at least be used for single-file compression, as is done by the Advantis software listed below. This file format does not appear to have a conventional filename extension – compressed files may keep their original name. However, the extensions .PACK, .SPACK, and .TRS have been observed (with filenames in all-caps per z/OS conventions).
  
 
== Identification ==
 
== Identification ==
At least some TERSE-compressed files start with bytes {{magic|05 01 01 00}}.
+
TERSE files use either a 4 or 12 byte header, depending on if it is using native or compatibility mode. Native mode have a header of either {{magic|01 89 69 A5}} or {{magic|07 89 69 A5}}, apparently depending on which version they were created with. Compatibility mode headers start with {{magic|02 00}} or {{magic|02 01}} for PACK and {{magic|05 00}} or {{magic|05 01}} for SPACK. In both cases, the second byte being 1 indicates [https://www.ibm.com/docs/en/zos/2.1.0?topic=options-record-format-recfm RECFM=V]. It is assumed the alternative is RECFM=U, but this is uncertain.
  
 
== Related formats ==
 
== Related formats ==
Line 19: Line 24:
 
  18 - File is compressed using IBM TERSE (new)
 
  18 - File is compressed using IBM TERSE (new)
  
So, apparently, [[PKWARE DCL Implode]] is closely related to TERSE.
+
So, apparently, [[PKWARE DCL Implode]] is closely related to TERSE. It's possible that this distinction is or is related to the PACK/SPACK distinction in the file type.
 +
 
 +
[[BSQ (W1GOH)]] is apparently related to TERSE.
  
 
== Software ==
 
== Software ==
Line 26: Line 33:
 
** [https://www.sac.sk/download/pack/terse.zip terse.zip] - OS/2 binaries
 
** [https://www.sac.sk/download/pack/terse.zip terse.zip] - OS/2 binaries
 
** [https://www.ibm.com/support/knowledgecenter/SSB27H_6.2.0/fa2ut_part3_terse.html IBM Knowledge Center: Terse Utility]
 
** [https://www.ibm.com/support/knowledgecenter/SSB27H_6.2.0/fa2ut_part3_terse.html IBM Knowledge Center: Terse Utility]
* [https://github.com/openmainframeproject/tersedecompress TerseDecompress] – open source (Apache2 licensed) Java program, written by IBM, to decompresses TERSE files for mainframe.
+
* [https://github.com/openmainframeproject/tersedecompress TerseDecompress] – open source (Apache2 licensed) Java program, written by IBM, to decompress TERSE files for mainframe.
 +
** [https://github.com/openmainframeproject/tersedecompress-testdata] Canterbury Corpus files compressed with both PACK and SPACK
  
 
== Links ==
 
== Links ==

Latest revision as of 15:26, 26 December 2023

File Format
Name TERSE
Ontology
Wikidata ID Q28452000
Reference Implementation https://www.ibm.com/docs/en/zos/2.3.0?topic=aids-amaterse-pack-unpack-data-set
Developed By IBM
Released 1984?

TERSE is a data compression format used on OS/2, and on IBM mainframes. It is still in regular use on IBM mainframes to this day.

More research is needed to understand the scope of what TERSE was used for, and how many versions of it there are.

There appear to be two compression algorithms, called PACK and SPACK. There are also two different modes - native and compatibility. Native mode files would not necessarily be able to interpreted on a different machine than they were created on. As such, there aren't many examples of native mode files available.

It can at least be used for single-file compression, as is done by the Advantis software listed below. This file format does not appear to have a conventional filename extension – compressed files may keep their original name. However, the extensions .PACK, .SPACK, and .TRS have been observed (with filenames in all-caps per z/OS conventions).

Contents

[edit] Identification

TERSE files use either a 4 or 12 byte header, depending on if it is using native or compatibility mode. Native mode have a header of either 01 89 69 A5 or 07 89 69 A5, apparently depending on which version they were created with. Compatibility mode headers start with 02 00 or 02 01 for PACK and 05 00 or 05 01 for SPACK. In both cases, the second byte being 1 indicates RECFM=V. It is assumed the alternative is RECFM=U, but this is uncertain.

[edit] Related formats

The ZIP format documentation (APPNOTE) lists two "TERSE" compression methods:

10 - PKWARE Data Compression Library Imploding (old IBM TERSE)
18 - File is compressed using IBM TERSE (new)

So, apparently, PKWARE DCL Implode is closely related to TERSE. It's possible that this distinction is or is related to the PACK/SPACK distinction in the file type.

BSQ (W1GOH) is apparently related to TERSE.

[edit] Software

[edit] Links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox