<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://fileformats.archiveteam.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://fileformats.archiveteam.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Taritta</id>
		<title>Just Solve the File Format Problem - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://fileformats.archiveteam.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Taritta"/>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/Special:Contributions/Taritta"/>
		<updated>2026-04-13T05:21:00Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.19.2</generator>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/MVI2</id>
		<title>MVI2</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/MVI2"/>
				<updated>2024-01-13T08:24:26Z</updated>
		
		<summary type="html">&lt;p&gt;Taritta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|formattype=electronic&lt;br /&gt;
|subcat=Video&lt;br /&gt;
}}&lt;br /&gt;
MovieCD is a proprietary video format used in the 1990's for home video playback, created by MotionPixels. MVI2 was the Windows incarnation of the MotionPixels codec.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/MovieCD&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://youtu.be/Kw5gutjmByc?si=955WZHrxsKqMoM5M&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://archive.org/download/GATEMINDSEYE-MovieCD/The%20Gate%20to%20the%20Mind%27s%20Eye/GATEMINDSEYE.iso/MPIXELS.95%2FMOREINFO.TXT&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Format Information==&lt;br /&gt;
MVI1 was only used in a limited capacity while MVI2 was used in more commercial and private products.&amp;lt;ref&amp;gt;https://archive.org/details/MovieCD-Pamphlets&amp;lt;/ref&amp;gt; It used the AVI container and a PCM audio stream. &lt;br /&gt;
&lt;br /&gt;
==Sample files==&lt;br /&gt;
* [https://archive.org/download/GATEMINDSEYE-MovieCD/The%20Gate%20to%20the%20Mind%27s%20Eye/GATEMINDSEYE.iso/VIDEOS%2FGATEMIND.AVI GATEMIND.AVI]&lt;br /&gt;
* [http://samples.mplayerhq.hu/V-codecs/MVI2/real-3.avi real-3.avi]&lt;br /&gt;
* [http://samples.mplayerhq.hu/V-codecs/MVI2/SEVEN1.AVI SEVEN1.AVI]&lt;br /&gt;
* [http://samples.mplayerhq.hu/drivers32/motionpixelsmoviecd/mortal-moviecd.avi mortal-moviecd.avi]&lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
* [https://archive.org/download/GATEMINDSEYE-MovieCD/The%20Gate%20to%20the%20Mind%27s%20Eye/GATEMINDSEYE.iso/ MovieCD ISO with playback software]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Taritta</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/MVI2</id>
		<title>MVI2</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/MVI2"/>
				<updated>2024-01-13T08:18:09Z</updated>
		
		<summary type="html">&lt;p&gt;Taritta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|formattype=electronic&lt;br /&gt;
|subcat=Video&lt;br /&gt;
}}&lt;br /&gt;
MovieCD is a proprietary video format used in the 1990's for home video playback, created by MotionPixels. MVI2 was the Windows incarnation of the MotionPixels codec.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/MovieCD&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://youtu.be/Kw5gutjmByc?si=955WZHrxsKqMoM5M&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://archive.org/download/GATEMINDSEYE-MovieCD/The%20Gate%20to%20the%20Mind%27s%20Eye/GATEMINDSEYE.iso/MPIXELS.95%2FMOREINFO.TXT&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Format Information==&lt;br /&gt;
MVI1 was only used in a limited capacity while MVI2 was used in more commercial and private products.&amp;lt;ref&amp;gt;https://archive.org/details/MovieCD-Pamphlets&amp;lt;/ref&amp;gt; It used the AVI container and a PCM audio stream. &lt;br /&gt;
&lt;br /&gt;
==Sample files==&lt;br /&gt;
* [https://archive.org/download/GATEMINDSEYE-MovieCD/The%20Gate%20to%20the%20Mind%27s%20Eye/GATEMINDSEYE.iso/VIDEOS%2FGATEMIND.AVI GATEMIND.AVI]&lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
* [https://archive.org/download/GATEMINDSEYE-MovieCD/The%20Gate%20to%20the%20Mind%27s%20Eye/GATEMINDSEYE.iso/ MovieCD ISO with playback software]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Taritta</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/MVI2</id>
		<title>MVI2</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/MVI2"/>
				<updated>2024-01-13T08:17:47Z</updated>
		
		<summary type="html">&lt;p&gt;Taritta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|formattype=electronic&lt;br /&gt;
|subcat=Video&lt;br /&gt;
}}&lt;br /&gt;
MovieCD is a proprietary video format used in the 1990's for home video playback, created by MotionPixels. MVI2 was the Windows incarnation of the MotionPixels codec.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/MovieCD&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://youtu.be/Kw5gutjmByc?si=955WZHrxsKqMoM5M&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://archive.org/download/GATEMINDSEYE-MovieCD/The%20Gate%20to%20the%20Mind%27s%20Eye/GATEMINDSEYE.iso/MPIXELS.95%2FMOREINFO.TXT&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Format Information==&lt;br /&gt;
MVI1 was only used in a limited capacity while MVI2 was used in more commercial and private products.&amp;lt;ref&amp;gt;https://archive.org/details/MovieCD-Pamphlets&amp;lt;/ref&amp;gt; It used the AVI container and a PCM audio stream. &lt;br /&gt;
&lt;br /&gt;
==Sample files==&lt;br /&gt;
* [https://archive.org/download/GATEMINDSEYE-MovieCD/The%20Gate%20to%20the%20Mind%27s%20Eye/GATEMINDSEYE.iso/VIDEOS%2FGATEMIND.AVI]&lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
* [https://archive.org/download/GATEMINDSEYE-MovieCD/The%20Gate%20to%20the%20Mind%27s%20Eye/GATEMINDSEYE.iso/ MovieCD ISO with playback software]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Taritta</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/LHA</id>
		<title>LHA</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/LHA"/>
				<updated>2023-11-04T22:26:08Z</updated>
		
		<summary type="html">&lt;p&gt;Taritta: /* Format documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|subcat=Archiving&lt;br /&gt;
|extensions={{ext|lzh}}, {{ext|lha}}&lt;br /&gt;
|mimetypes={{mimetype|application/x-lzh-compressed}}&lt;br /&gt;
|pronom={{PRONOM|fmt/626}}&lt;br /&gt;
|wikidata={{wikidata|Q368782}}&lt;br /&gt;
|kaitai struct=lzh&lt;br /&gt;
|released=1988&lt;br /&gt;
}}&lt;br /&gt;
'''LHA''' is an archiving program and file format created by Haruyasu Yoshizaki (a.k.a. Yoshi) in 1988. It was originally called '''LHarc''', then was briefly '''LH''' (v2.02–2.04), then '''LHa''' (v2.05–2.06), before settling on '''LHA''' (v2.10+). In the 1990s, it was the most popular archiving format on the Amiga platform. It also got some use on the PC platform including in the installers for id Software games such as Doom and Quake, because [[ZIP]] compression was inferior until the release of PKZIP 2.0, which brought the formats to parity.&lt;br /&gt;
&lt;br /&gt;
It was particularly popular in Japan. Most of the best information about it is in Japanese.&lt;br /&gt;
&lt;br /&gt;
It supports a number of different compression schemes, most of which use [[LZ77 with Huffman coding|LZ77 combined with Huffman coding]].&lt;br /&gt;
&lt;br /&gt;
The file format is also known as '''LZH'''. See the [[LZH|LZH disambiguation page]] for other &amp;quot;LZH&amp;quot; formats.&lt;br /&gt;
&lt;br /&gt;
This article covers the format used by LHarc/LHA, as well as &amp;quot;generalized&amp;quot; LHA format: the same file format, but with other compression schemes. The generalized format was possibly designed by Kazuhiko Miki in 1988 for [[LArc]], but confirmation of this is needed. If so, it was soon borrowed by LHarc, with new compression schemes.&lt;br /&gt;
&lt;br /&gt;
== Format details ==&lt;br /&gt;
=== File structure ===&lt;br /&gt;
An LHA file consists mainly of a sequence of elements, each representing a member file or directory. The sequence is usually terminated by an end-of-archive marker consisting of a single 0x00 byte (but take care, as level 2 headers could start with 0x00). There is no global archive-level header.&lt;br /&gt;
&lt;br /&gt;
=== Member format ===&lt;br /&gt;
There are at least four different formats that an element can have. (Note that this is independent of compression schemes.) In LHA jargon, the formats are known as &amp;quot;header levels&amp;quot;, and are usually called &amp;quot;header level 0&amp;quot;, &amp;quot;... 1&amp;quot;, &amp;quot;... 2&amp;quot;, and &amp;quot;... 3&amp;quot;. The header level is determined by the byte at offset 20 from the beginning of that element.&lt;br /&gt;
&lt;br /&gt;
The header levels are similar, but irritatingly different. They don't even follow the same principles with respect to how they must be parsed.&lt;br /&gt;
&lt;br /&gt;
=== LZH compression overview ===&lt;br /&gt;
From a decompression perspective, the LZ77+Huffman schemes work roughly as follows. (This is oversimplified.) There is a ''codes'' Huffman tree, and a separate ''offsets'' tree. A symbol is read using the codes tree which, depending on its value, represents either a literal byte value, or a ''length''. If it is a length, then an additional symbol is read using the offsets tree. Based on the offset and length, a run of recently-decompressed bytes is repeated.&lt;br /&gt;
&lt;br /&gt;
=== Compression schemes ===&lt;br /&gt;
Each member file has a 5-byte ''compression method'' field, composed of ASCII characters. The first and last characters are virtually always dashes (&amp;quot;&amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;&amp;quot;), and might be left off when discussing LHA compression schemes. Known schemes:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! ID !! Category !! Description and remarks&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh0-&amp;lt;/code&amp;gt; || || Uncompressed&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh1-&amp;lt;/code&amp;gt; || || [[LZ77 with Huffman coding|LZ77+Huffman]], 4k window, [[Adaptive Huffman coding|adaptive Huffman]] for codes, offsets use a pre-defined Huffman tree. See also [[LZHUF]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh2-&amp;lt;/code&amp;gt; || || LZ77+Huffman, 8k window, adaptive Huffman. Considered experimental/obsolete.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh3-&amp;lt;/code&amp;gt; || || LZ77+Huffman, 8k window, segmented, static Huffman for codes, offsets can use static Huffman or a pre-defined Huffman tree. Considered experimental/obsolete.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh4-&amp;lt;/code&amp;gt; || || Like lh5, but 4k window. Rare.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh5-&amp;lt;/code&amp;gt; || || [[LZ77 with Huffman coding|LZ77+Huffman]], 8k window, segmented, static Huffman. See also [[ar (Haruhiko Okumura)]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh6-&amp;lt;/code&amp;gt; || || Like lh5, but 32k window&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh7-&amp;lt;/code&amp;gt; || || Like lh5, but 64k window&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh7-&amp;lt;/code&amp;gt; || LHARK extension || Refer to [[LHARK]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh8-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;5&amp;quot;| Joe Jared extensions || Like lh5, but 64k window. (Same as lh7.)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh9-&amp;lt;/code&amp;gt; || Like lh5, but 128k window. Probably never used.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lha-&amp;lt;/code&amp;gt; || Like lh5, but 256k window. Probably never used.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lhb-&amp;lt;/code&amp;gt; || Like lh5, but 512k window. Probably never used.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lhc-&amp;lt;/code&amp;gt; || Like lh5, but 1M window. Probably never used.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lhd-&amp;lt;/code&amp;gt; || Special || Not a compression scheme. Indicates that the element represents a subdirectory.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lhe-&amp;lt;/code&amp;gt; || Joe Jared extensions || Like lh5, but 2M window. Probably never used.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lhx-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;2&amp;quot;| UNLHA32 extensions || &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lx1-&amp;lt;/code&amp;gt; || &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lz2-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;7&amp;quot;| LArc methods ||rowspan=&amp;quot;7&amp;quot;| Refer to [[LArc]]. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lz3-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lz4-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lz5-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lz7-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lz8-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lzs-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-pm0-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;3&amp;quot;| PMarc extensions ||rowspan=&amp;quot;3&amp;quot;| Refer to [[PMA]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-pm1-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-pm2-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-ah0-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;3&amp;quot;| MAR extensions ||rowspan=&amp;quot;3&amp;quot;| Refer to [[Micrognosis Compression Archiver]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-ari-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-hf0-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lZ0-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;3&amp;quot;| PUT/GET variants ||rowspan=&amp;quot;3&amp;quot;| Refer to [[PUT]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lZ1-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lZ5-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;␠LH0␠&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;2&amp;quot;| SAR variants ||rowspan=&amp;quot;2&amp;quot;| Refer to [[SAR (Streamline Design)]]. The compression IDs begin and end with a space (0x20).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;␠LH5␠&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Wikipedia article has [[Wikipedia:LHA (file format)#Compression methods|more information]] about some of the schemes.&lt;br /&gt;
&lt;br /&gt;
For reference, here are some other LHA-like identifiers:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! ID !! References and remarks&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-afx-&amp;lt;/code&amp;gt; || Refer to [[AFX (Atari ST)]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-arn-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;2&amp;quot;| Possibly used by [[Micrognosis Compression Archiver]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lzw-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-LD6-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;2&amp;quot;| Refer to [[LDArc and LDIFF]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lz6-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-ll0-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;2&amp;quot;| Refer to [[PAKLEO]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-ll1-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-pc1-&amp;lt;/code&amp;gt; || Used by [[PopCom!]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-pms-&amp;lt;/code&amp;gt; || Used by [[PMsfx]] and [[PMexe]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-sqx-&amp;lt;/code&amp;gt; || Refer to [[SQX]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-sw0-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;2&amp;quot;| Refer to [[SWG]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-sw1-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-TK1-&amp;lt;/code&amp;gt; || Unknown. (Recognized by [[IDArc]].)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Extended headers ===&lt;br /&gt;
For header levels 1 and higher, each member file has an associated list of &amp;quot;extended headers&amp;quot;, similar to [[ZIP#Extensible data fields|ZIP's extensible data fields]]. Each extended header is tagged with a single byte indicating its type. Extended headers are used to store platform-specific metadata, and to extend the format in other ways.&lt;br /&gt;
&lt;br /&gt;
* [https://web.archive.org/web/20110912035449/http://homepage1.nifty.com:80/dangan/en/Content/Program/Java/jLHA/Notes/ExtHeaderList.html List of extended headers] (from archive.org)&lt;br /&gt;
* [https://github.com/libarchive/libarchive/blob/master/libarchive/archive_read_support_format_lha.c libarchive: archive_read_support_format_lha.c] (look for &amp;quot;EXT_HEADER_CRC&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Header level 0 supports extended data in a more limited way. It allows for just one set of extended header fields (called the &amp;quot;extended area&amp;quot;), the content of which is determined by the initial one-byte &amp;quot;OS type&amp;quot; field.&lt;br /&gt;
&lt;br /&gt;
* [https://web.archive.org/web/20110909114523/http://homepage1.nifty.com:80/dangan/en/Content/Program/Java/jLHA/Notes/ExtendArea.html Extended area] (from archive.org)&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
LHA can be identified with high accuracy, but doing so can be laborious, due to the lack of a signature, and other complicating factors.&lt;br /&gt;
&lt;br /&gt;
Identification logic could be based on the header of the first member file. Check that the compression method (offset 2–6) and header level (offset 20) fields have valid values. When suitable and possible, validate the header checksum field -- this depends on the header level.&lt;br /&gt;
&lt;br /&gt;
See also the &amp;quot;[[#See also]]&amp;quot; section, for some formats that could masquerade as LHA.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[LHA/LHarc self-extracting archive]]&lt;br /&gt;
* [[LArc]]&lt;br /&gt;
* [[PMA]]&lt;br /&gt;
* [[LHARK]]&lt;br /&gt;
* [[LHice]]&lt;br /&gt;
* [[PUT]]&lt;br /&gt;
* [[Micrognosis Compression Archiver]]&lt;br /&gt;
* [[SAR (Streamline Design)]]&lt;br /&gt;
* [[LZHUF]]&lt;br /&gt;
* [[ar (Haruhiko Okumura)]]&lt;br /&gt;
&lt;br /&gt;
Other LHA-like formats to be aware of:&lt;br /&gt;
* [[AFX (Atari ST)]]&lt;br /&gt;
* [[ARX]]&lt;br /&gt;
* [[CAR (MylesHi!)]]&lt;br /&gt;
* [[LDArc and LDIFF]]&lt;br /&gt;
* [[SWG]]&lt;br /&gt;
&lt;br /&gt;
== Format documentation ==&lt;br /&gt;
* [http://dangan.g.dgdg.jp/ jLHA software]: LHA Notes&lt;br /&gt;
** [http://dangan.g.dgdg.jp/Content/Program/Java/jLHA/Notes/Notes.html Japanese]&lt;br /&gt;
** [https://web.archive.org/web/20120211104049/http://homepage1.nifty.com/dangan/en/Content/Program/Java/jLHA/Notes/Notes.html English (translation?)] (from archive.org)&lt;br /&gt;
* [http://apple2.org.za/gswv/a2zine/GS.WorldView/Resources/The.MacShrinkIt.Project/ARCHIVES.TXT Archive format info]&lt;br /&gt;
* [http://www.textfiles.com/programming/FORMATS/arc_fmts.txt LZH file header format (among other archive types)]&lt;br /&gt;
* [http://www33146ue.sakura.ne.jp/staff/iz/formats/lzh.html LZH format]&lt;br /&gt;
* [https://hwiegman.home.xs4all.nl/fileformats/lzh/lzhformat.html LZH format] (Aeco Systems)&lt;br /&gt;
* [https://github.com/libarchive/libarchive/blob/master/libarchive/archive_read_support_format_lha.c libarchive: archive_read_support_format_lha.c] - Has comments with information about the header formats&lt;br /&gt;
* [https://web.archive.org/web/20021005080911/http://www.osirusoft.com/joejared/lzhformat.html Joe Jared's LHA specification]&lt;br /&gt;
* [https://web.archive.org/web/20010614220103/http://www.osirusoft.com/llh7021q.zip Joe Jared's LHA for Linux]&lt;br /&gt;
* [https://encode.su/attachment.php?attachmentid=2155&amp;amp;d=1357879541 Joe Jared's LHA for DOS]&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
* [https://github.com/fragglet/lhasa lhasa]&lt;br /&gt;
* [[7-Zip]]&lt;br /&gt;
* [http://www.ponsoftware.com/en/ Explzh for Windows]&lt;br /&gt;
* [https://web.archive.org/web/20130906133859/http://homepage1.nifty.com/dangan/en/Content/Program/Java/jLHA/jLHA.html Java library] (from archive.org)&lt;br /&gt;
* [https://www.libarchive.org libarchive]&lt;br /&gt;
* [http://lha.osdn.jp/ LHa for Unix] · [https://github.com/jca02266/lha GitHub project]&lt;br /&gt;
** [https://web.archive.org/web/20200301124852/http://www2m.biglobe.ne.jp/~dolphin/lha/lha.htm LHa for Unix (Tsukao Okamoto)] (from archive.org)&lt;br /&gt;
* [https://micco.mars.jp/mysoft/unlha32.htm UNLHA32.DLL] and [https://micco.mars.jp/mysoft/lhmelt.htm LHMelt]&lt;br /&gt;
* LHarc/LHA&lt;br /&gt;
** For DOS&lt;br /&gt;
*** LHarc v1.00 - English (1989-03-04): [https://archive.org/details/RbbsInABoxVol1No2_640 RBBS in a Box, vol 1 no 2] → 014r/lharc10e.com&lt;br /&gt;
*** {{CdTextfiles|carousel344/013/LHARC12.ZIP|LHarc v1.12 Test version - English}} (1989-04-23)&lt;br /&gt;
*** LHarc v1.12b - English (1989-04-29): [https://archive.org/details/RbbsInABoxVol1No2_640 RBBS in a Box, vol 1 no 2] → add2/lharc12b.exe&lt;br /&gt;
*** {{CdTextfiles|bbox4/archiver/lharc113.exe|LHarc v1.13 Test version - English}} (1989-05-04)&lt;br /&gt;
*** {{CdTextfiles|hof91/ARC/LH113C.EXE|LHarc v1.13c - English}} (1989-05-31)&lt;br /&gt;
*** {{CdTextfiles|garbo/PC/GOLDIES/LH113DE.COM|LHarc v1.13d - English}} (1989-12-22)&lt;br /&gt;
*** LHarc v1.13d - Japanese: [https://archive.org/download/FMTownsFreeSoftwareCollection3 FM Towns Free Software Collection 3] → FREEWARE.{BIN,CUE} → ms_dos/lharc/*&lt;br /&gt;
*** {{CdTextfiles|californiacollect/his008/lha205e.exe|LHa v2.05 test version - English}} (1991-01-27)&lt;br /&gt;
*** {{CdTextfiles|hof91/ARC/LH205.EXE|LHa v2.05 test version - Japanese}}&lt;br /&gt;
*** {{CdTextfiles|hof91/ARC/LHA206E.EXE|LHa v2.06 - English}} (1991-02-14)&lt;br /&gt;
*** {{CdTextfiles|hof91/COMP/LHA210.EXE|LHA v2.10 - English}} (1991-02-24)&lt;br /&gt;
*** {{CdTextfiles|californiacollect/his008/lha211.exe|LHA v2.11 - English}} (1991-03-03)&lt;br /&gt;
*** {{CdTextfiles|californiacollect/his008/lha212.exe|LHA v2.12 - English}} (1991-03-21)&lt;br /&gt;
*** {{CdTextfiles|simtel/simtel20/MSDOS/ARCHIVRS/LHA213.EXE|LHA v2.13 - English}} (1991-07-20)&lt;br /&gt;
*** LHA v2.13 - Japanese: [https://archive.org/details/Nova_Win50GameVol7_Japan Win 50 Game+ Vol. 7 (Japan)] → Win 50 Game+ Vol. 7 (Japan).7z → Win 50 Game+ Vol. 7 (Japan).{bin,cue} → lha_file/lha/lha213.exe&lt;br /&gt;
*** {{CdTextfiles|pier02/002a/lha252.exe|LHA v2.52 - Japanese}} (1992-09-07)&lt;br /&gt;
*** LHA v2.54 - Japanese (1992-10-04): [https://archive.org/details/cg-network-4 CG Network 4] → pc/program/lha/lha.exe&lt;br /&gt;
*** LHA v2.55 - Japanese (1992-11-15): [https://archive.org/details/2014.03.ftp.eri.u-tokyo.ac.jp] → ftp.eri.u-tokyo.ac.jp/pub/DOS/tools/lha255.exe&lt;br /&gt;
*** {{CdTextfiles|pdos9606/ARCHIVER/TOOLS/LHA255B.EXE|LHA v2.55b}} (1992-11-24) - Japanese (LHA.EXE) and English (LHA_E.EXE)&lt;br /&gt;
*** [http://info.elf.stuba.sk/packages/pub/pc/pack/lha266.exe LHA v2.66 test version - Japanese] (1994-12-30)&lt;br /&gt;
**** [{{SACFTPURL|pack|lha266e.exe}} lha266e.exe] - Official(?) patch to convert error messages to English&lt;br /&gt;
*** Various versions at old-dos.ru: [http://old-dos.ru/index.php?page=files&amp;amp;mode=files&amp;amp;do=show&amp;amp;id=3432 LHarc], [http://old-dos.ru/index.php?page=files&amp;amp;mode=files&amp;amp;do=show&amp;amp;id=713 LHA]&lt;br /&gt;
** For Windows console&lt;br /&gt;
*** [http://info.elf.stuba.sk/packages/pub/pc/pack/lha267.exe LHA32 v2.67.00 test version - Japanese] (1995-10-07)&lt;br /&gt;
**** [{{SACFTPURL|pack|lha267e.exe}} lha267e.exe] - Official(?) patch to convert error messages to English&lt;br /&gt;
** Source code&lt;br /&gt;
*** {{CdTextfiles|simtel/simtel20/MSDOS/ARCHIVRS/LHARCSRC.ZIP|v1.13b}}&lt;br /&gt;
*** {{CdTextfiles|simtel/simtel20/MSDOS/ARCHIVRS/LHA211SR.ZIP|v2.11}}&lt;br /&gt;
* [http://old-dos.ru/index.php?page=files&amp;amp;mode=files&amp;amp;do=show&amp;amp;id=2836 Lha32] - by &amp;quot;Take&amp;quot;&lt;br /&gt;
* [[LZHUF]] - Source code related to &amp;quot;lh1&amp;quot; compression&lt;br /&gt;
* [[ar (Haruhiko Okumura)]] - Implementation of &amp;quot;lh5&amp;quot; compression&lt;br /&gt;
* [https://github.com/PascalVault/Lazarus_Unpacker Open-source library in Free Pascal]&lt;br /&gt;
* [https://github.com/temisu/ancient Ancient] - Has modern C++ code for decompressing most LHA schemes, but as of this writing there's no easy way to use it.&lt;br /&gt;
* {{Deark}} (e.g. with &amp;lt;code&amp;gt;-zip&amp;lt;/code&amp;gt; option)&lt;br /&gt;
&lt;br /&gt;
=== Software oddities ===&lt;br /&gt;
There are many customized versions of LHarc/LHA floating around. Some of them are listed here, either because they are notable, or because they are potentially misleading. (For DOS, unless otherwise indicated.)&lt;br /&gt;
&lt;br /&gt;
Worth noting is that LHA 2.x has a tamper-detection feature, invoked by running &amp;quot;LHA t LHA.EXE&amp;quot; (or &amp;quot;LHA_E t LHA_E.EXE&amp;quot;). Most (but not all) modified files fail the test, and print &amp;quot;No file found&amp;quot; or &amp;quot;Broken archive&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;LHarc v1.13&amp;quot; (1989-05-14): {{CdTextfiles|simtel0595/DISC1/CITADEL/K2NE608A.ZIP|K2NE608A.ZIP}} → LHARC.EXE - Suspect this is the v1.13 test version, edited to make it look like a full release.&lt;br /&gt;
* &amp;quot;LHarc v1.131c&amp;quot; by Steve Hoglund: [https://archive.org/details/bbs-1 BBS# 1] → DOCUMENT/TURBOBAS.LZH → LHARC.COM&lt;br /&gt;
* [[LHice]] - A hack of v1.13c.&lt;br /&gt;
* {{CdTextfiles|hof91/COMP/LHA114A.COM|&amp;quot;LHarc v1.14a&amp;quot;}} - A hack of v1.13c and/or LHice.&lt;br /&gt;
* {{CdTextfiles|hof91/ARC/LH114B.EXE|&amp;quot;LHARC v1.14β&amp;quot;}} - A hack of v1.13c and/or LHice.&lt;br /&gt;
* {{CdTextfiles|animfestival/SBPRO/LHARC.EXE|&amp;quot;LHarc v2.01a&amp;quot;}} - Apparently a hack of v1.13c.&lt;br /&gt;
* {{CdTextfiles|simtel/simtel9703/disk2/DISC2/ARCERS/LHA255E.EXE|&amp;quot;LHA v2.55E&amp;quot;}} (1992-11-15/1996-01-10) - English translation of v2.55, by Hitoshi Ozawa&lt;br /&gt;
&lt;br /&gt;
== Sample files ==&lt;br /&gt;
* [https://github.com/fragglet/lhasa/tree/master/test/archives lhasa test files]&lt;br /&gt;
* [https://github.com/libarchive/libarchive/tree/master/libarchive/test libarchive test files] → test_read_format_lha_*.lzh.uu&lt;br /&gt;
* [http://aminet.net/ aminet]&lt;br /&gt;
* {{CdTextfiles|hof91/}} ...&lt;br /&gt;
* https://telparia.com/fileFormatSamples/archive/lha/hexify.lha&lt;br /&gt;
&lt;br /&gt;
== Other links ==&lt;br /&gt;
* [[Wikipedia:LHA (file format)|Wikipedia article]]&lt;/div&gt;</summary>
		<author><name>Taritta</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/LHA</id>
		<title>LHA</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/LHA"/>
				<updated>2023-11-04T22:21:34Z</updated>
		
		<summary type="html">&lt;p&gt;Taritta: link to Joe Jared for Linux&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|subcat=Archiving&lt;br /&gt;
|extensions={{ext|lzh}}, {{ext|lha}}&lt;br /&gt;
|mimetypes={{mimetype|application/x-lzh-compressed}}&lt;br /&gt;
|pronom={{PRONOM|fmt/626}}&lt;br /&gt;
|wikidata={{wikidata|Q368782}}&lt;br /&gt;
|kaitai struct=lzh&lt;br /&gt;
|released=1988&lt;br /&gt;
}}&lt;br /&gt;
'''LHA''' is an archiving program and file format created by Haruyasu Yoshizaki (a.k.a. Yoshi) in 1988. It was originally called '''LHarc''', then was briefly '''LH''' (v2.02–2.04), then '''LHa''' (v2.05–2.06), before settling on '''LHA''' (v2.10+). In the 1990s, it was the most popular archiving format on the Amiga platform. It also got some use on the PC platform including in the installers for id Software games such as Doom and Quake, because [[ZIP]] compression was inferior until the release of PKZIP 2.0, which brought the formats to parity.&lt;br /&gt;
&lt;br /&gt;
It was particularly popular in Japan. Most of the best information about it is in Japanese.&lt;br /&gt;
&lt;br /&gt;
It supports a number of different compression schemes, most of which use [[LZ77 with Huffman coding|LZ77 combined with Huffman coding]].&lt;br /&gt;
&lt;br /&gt;
The file format is also known as '''LZH'''. See the [[LZH|LZH disambiguation page]] for other &amp;quot;LZH&amp;quot; formats.&lt;br /&gt;
&lt;br /&gt;
This article covers the format used by LHarc/LHA, as well as &amp;quot;generalized&amp;quot; LHA format: the same file format, but with other compression schemes. The generalized format was possibly designed by Kazuhiko Miki in 1988 for [[LArc]], but confirmation of this is needed. If so, it was soon borrowed by LHarc, with new compression schemes.&lt;br /&gt;
&lt;br /&gt;
== Format details ==&lt;br /&gt;
=== File structure ===&lt;br /&gt;
An LHA file consists mainly of a sequence of elements, each representing a member file or directory. The sequence is usually terminated by an end-of-archive marker consisting of a single 0x00 byte (but take care, as level 2 headers could start with 0x00). There is no global archive-level header.&lt;br /&gt;
&lt;br /&gt;
=== Member format ===&lt;br /&gt;
There are at least four different formats that an element can have. (Note that this is independent of compression schemes.) In LHA jargon, the formats are known as &amp;quot;header levels&amp;quot;, and are usually called &amp;quot;header level 0&amp;quot;, &amp;quot;... 1&amp;quot;, &amp;quot;... 2&amp;quot;, and &amp;quot;... 3&amp;quot;. The header level is determined by the byte at offset 20 from the beginning of that element.&lt;br /&gt;
&lt;br /&gt;
The header levels are similar, but irritatingly different. They don't even follow the same principles with respect to how they must be parsed.&lt;br /&gt;
&lt;br /&gt;
=== LZH compression overview ===&lt;br /&gt;
From a decompression perspective, the LZ77+Huffman schemes work roughly as follows. (This is oversimplified.) There is a ''codes'' Huffman tree, and a separate ''offsets'' tree. A symbol is read using the codes tree which, depending on its value, represents either a literal byte value, or a ''length''. If it is a length, then an additional symbol is read using the offsets tree. Based on the offset and length, a run of recently-decompressed bytes is repeated.&lt;br /&gt;
&lt;br /&gt;
=== Compression schemes ===&lt;br /&gt;
Each member file has a 5-byte ''compression method'' field, composed of ASCII characters. The first and last characters are virtually always dashes (&amp;quot;&amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;&amp;quot;), and might be left off when discussing LHA compression schemes. Known schemes:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! ID !! Category !! Description and remarks&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh0-&amp;lt;/code&amp;gt; || || Uncompressed&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh1-&amp;lt;/code&amp;gt; || || [[LZ77 with Huffman coding|LZ77+Huffman]], 4k window, [[Adaptive Huffman coding|adaptive Huffman]] for codes, offsets use a pre-defined Huffman tree. See also [[LZHUF]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh2-&amp;lt;/code&amp;gt; || || LZ77+Huffman, 8k window, adaptive Huffman. Considered experimental/obsolete.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh3-&amp;lt;/code&amp;gt; || || LZ77+Huffman, 8k window, segmented, static Huffman for codes, offsets can use static Huffman or a pre-defined Huffman tree. Considered experimental/obsolete.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh4-&amp;lt;/code&amp;gt; || || Like lh5, but 4k window. Rare.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh5-&amp;lt;/code&amp;gt; || || [[LZ77 with Huffman coding|LZ77+Huffman]], 8k window, segmented, static Huffman. See also [[ar (Haruhiko Okumura)]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh6-&amp;lt;/code&amp;gt; || || Like lh5, but 32k window&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh7-&amp;lt;/code&amp;gt; || || Like lh5, but 64k window&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh7-&amp;lt;/code&amp;gt; || LHARK extension || Refer to [[LHARK]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh8-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;5&amp;quot;| Joe Jared extensions || Like lh5, but 64k window. (Same as lh7.)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh9-&amp;lt;/code&amp;gt; || Like lh5, but 128k window. Probably never used.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lha-&amp;lt;/code&amp;gt; || Like lh5, but 256k window. Probably never used.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lhb-&amp;lt;/code&amp;gt; || Like lh5, but 512k window. Probably never used.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lhc-&amp;lt;/code&amp;gt; || Like lh5, but 1M window. Probably never used.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lhd-&amp;lt;/code&amp;gt; || Special || Not a compression scheme. Indicates that the element represents a subdirectory.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lhe-&amp;lt;/code&amp;gt; || Joe Jared extensions || Like lh5, but 2M window. Probably never used.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lhx-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;2&amp;quot;| UNLHA32 extensions || &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lx1-&amp;lt;/code&amp;gt; || &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lz2-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;7&amp;quot;| LArc methods ||rowspan=&amp;quot;7&amp;quot;| Refer to [[LArc]]. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lz3-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lz4-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lz5-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lz7-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lz8-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lzs-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-pm0-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;3&amp;quot;| PMarc extensions ||rowspan=&amp;quot;3&amp;quot;| Refer to [[PMA]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-pm1-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-pm2-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-ah0-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;3&amp;quot;| MAR extensions ||rowspan=&amp;quot;3&amp;quot;| Refer to [[Micrognosis Compression Archiver]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-ari-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-hf0-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lZ0-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;3&amp;quot;| PUT/GET variants ||rowspan=&amp;quot;3&amp;quot;| Refer to [[PUT]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lZ1-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lZ5-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;␠LH0␠&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;2&amp;quot;| SAR variants ||rowspan=&amp;quot;2&amp;quot;| Refer to [[SAR (Streamline Design)]]. The compression IDs begin and end with a space (0x20).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;␠LH5␠&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Wikipedia article has [[Wikipedia:LHA (file format)#Compression methods|more information]] about some of the schemes.&lt;br /&gt;
&lt;br /&gt;
For reference, here are some other LHA-like identifiers:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! ID !! References and remarks&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-afx-&amp;lt;/code&amp;gt; || Refer to [[AFX (Atari ST)]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-arn-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;2&amp;quot;| Possibly used by [[Micrognosis Compression Archiver]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lzw-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-LD6-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;2&amp;quot;| Refer to [[LDArc and LDIFF]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lz6-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-ll0-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;2&amp;quot;| Refer to [[PAKLEO]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-ll1-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-pc1-&amp;lt;/code&amp;gt; || Used by [[PopCom!]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-pms-&amp;lt;/code&amp;gt; || Used by [[PMsfx]] and [[PMexe]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-sqx-&amp;lt;/code&amp;gt; || Refer to [[SQX]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-sw0-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;2&amp;quot;| Refer to [[SWG]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-sw1-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-TK1-&amp;lt;/code&amp;gt; || Unknown. (Recognized by [[IDArc]].)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Extended headers ===&lt;br /&gt;
For header levels 1 and higher, each member file has an associated list of &amp;quot;extended headers&amp;quot;, similar to [[ZIP#Extensible data fields|ZIP's extensible data fields]]. Each extended header is tagged with a single byte indicating its type. Extended headers are used to store platform-specific metadata, and to extend the format in other ways.&lt;br /&gt;
&lt;br /&gt;
* [https://web.archive.org/web/20110912035449/http://homepage1.nifty.com:80/dangan/en/Content/Program/Java/jLHA/Notes/ExtHeaderList.html List of extended headers] (from archive.org)&lt;br /&gt;
* [https://github.com/libarchive/libarchive/blob/master/libarchive/archive_read_support_format_lha.c libarchive: archive_read_support_format_lha.c] (look for &amp;quot;EXT_HEADER_CRC&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Header level 0 supports extended data in a more limited way. It allows for just one set of extended header fields (called the &amp;quot;extended area&amp;quot;), the content of which is determined by the initial one-byte &amp;quot;OS type&amp;quot; field.&lt;br /&gt;
&lt;br /&gt;
* [https://web.archive.org/web/20110909114523/http://homepage1.nifty.com:80/dangan/en/Content/Program/Java/jLHA/Notes/ExtendArea.html Extended area] (from archive.org)&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
LHA can be identified with high accuracy, but doing so can be laborious, due to the lack of a signature, and other complicating factors.&lt;br /&gt;
&lt;br /&gt;
Identification logic could be based on the header of the first member file. Check that the compression method (offset 2–6) and header level (offset 20) fields have valid values. When suitable and possible, validate the header checksum field -- this depends on the header level.&lt;br /&gt;
&lt;br /&gt;
See also the &amp;quot;[[#See also]]&amp;quot; section, for some formats that could masquerade as LHA.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[LHA/LHarc self-extracting archive]]&lt;br /&gt;
* [[LArc]]&lt;br /&gt;
* [[PMA]]&lt;br /&gt;
* [[LHARK]]&lt;br /&gt;
* [[LHice]]&lt;br /&gt;
* [[PUT]]&lt;br /&gt;
* [[Micrognosis Compression Archiver]]&lt;br /&gt;
* [[SAR (Streamline Design)]]&lt;br /&gt;
* [[LZHUF]]&lt;br /&gt;
* [[ar (Haruhiko Okumura)]]&lt;br /&gt;
&lt;br /&gt;
Other LHA-like formats to be aware of:&lt;br /&gt;
* [[AFX (Atari ST)]]&lt;br /&gt;
* [[ARX]]&lt;br /&gt;
* [[CAR (MylesHi!)]]&lt;br /&gt;
* [[LDArc and LDIFF]]&lt;br /&gt;
* [[SWG]]&lt;br /&gt;
&lt;br /&gt;
== Format documentation ==&lt;br /&gt;
* [http://dangan.g.dgdg.jp/ jLHA software]: LHA Notes&lt;br /&gt;
** [http://dangan.g.dgdg.jp/Content/Program/Java/jLHA/Notes/Notes.html Japanese]&lt;br /&gt;
** [https://web.archive.org/web/20120211104049/http://homepage1.nifty.com/dangan/en/Content/Program/Java/jLHA/Notes/Notes.html English (translation?)] (from archive.org)&lt;br /&gt;
* [http://apple2.org.za/gswv/a2zine/GS.WorldView/Resources/The.MacShrinkIt.Project/ARCHIVES.TXT Archive format info]&lt;br /&gt;
* [http://www.textfiles.com/programming/FORMATS/arc_fmts.txt LZH file header format (among other archive types)]&lt;br /&gt;
* [http://www33146ue.sakura.ne.jp/staff/iz/formats/lzh.html LZH format]&lt;br /&gt;
* [https://hwiegman.home.xs4all.nl/fileformats/lzh/lzhformat.html LZH format] (Aeco Systems)&lt;br /&gt;
* [https://github.com/libarchive/libarchive/blob/master/libarchive/archive_read_support_format_lha.c libarchive: archive_read_support_format_lha.c] - Has comments with information about the header formats&lt;br /&gt;
* [https://web.archive.org/web/20021005080911/http://www.osirusoft.com/joejared/lzhformat.html Joe Jared's LHA specification]&lt;br /&gt;
* [https://web.archive.org/web/20010614220103/http://www.osirusoft.com/llh7021q.zip Joe Jared's LHA for Linux&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
* [https://github.com/fragglet/lhasa lhasa]&lt;br /&gt;
* [[7-Zip]]&lt;br /&gt;
* [http://www.ponsoftware.com/en/ Explzh for Windows]&lt;br /&gt;
* [https://web.archive.org/web/20130906133859/http://homepage1.nifty.com/dangan/en/Content/Program/Java/jLHA/jLHA.html Java library] (from archive.org)&lt;br /&gt;
* [https://www.libarchive.org libarchive]&lt;br /&gt;
* [http://lha.osdn.jp/ LHa for Unix] · [https://github.com/jca02266/lha GitHub project]&lt;br /&gt;
** [https://web.archive.org/web/20200301124852/http://www2m.biglobe.ne.jp/~dolphin/lha/lha.htm LHa for Unix (Tsukao Okamoto)] (from archive.org)&lt;br /&gt;
* [https://micco.mars.jp/mysoft/unlha32.htm UNLHA32.DLL] and [https://micco.mars.jp/mysoft/lhmelt.htm LHMelt]&lt;br /&gt;
* LHarc/LHA&lt;br /&gt;
** For DOS&lt;br /&gt;
*** LHarc v1.00 - English (1989-03-04): [https://archive.org/details/RbbsInABoxVol1No2_640 RBBS in a Box, vol 1 no 2] → 014r/lharc10e.com&lt;br /&gt;
*** {{CdTextfiles|carousel344/013/LHARC12.ZIP|LHarc v1.12 Test version - English}} (1989-04-23)&lt;br /&gt;
*** LHarc v1.12b - English (1989-04-29): [https://archive.org/details/RbbsInABoxVol1No2_640 RBBS in a Box, vol 1 no 2] → add2/lharc12b.exe&lt;br /&gt;
*** {{CdTextfiles|bbox4/archiver/lharc113.exe|LHarc v1.13 Test version - English}} (1989-05-04)&lt;br /&gt;
*** {{CdTextfiles|hof91/ARC/LH113C.EXE|LHarc v1.13c - English}} (1989-05-31)&lt;br /&gt;
*** {{CdTextfiles|garbo/PC/GOLDIES/LH113DE.COM|LHarc v1.13d - English}} (1989-12-22)&lt;br /&gt;
*** LHarc v1.13d - Japanese: [https://archive.org/download/FMTownsFreeSoftwareCollection3 FM Towns Free Software Collection 3] → FREEWARE.{BIN,CUE} → ms_dos/lharc/*&lt;br /&gt;
*** {{CdTextfiles|californiacollect/his008/lha205e.exe|LHa v2.05 test version - English}} (1991-01-27)&lt;br /&gt;
*** {{CdTextfiles|hof91/ARC/LH205.EXE|LHa v2.05 test version - Japanese}}&lt;br /&gt;
*** {{CdTextfiles|hof91/ARC/LHA206E.EXE|LHa v2.06 - English}} (1991-02-14)&lt;br /&gt;
*** {{CdTextfiles|hof91/COMP/LHA210.EXE|LHA v2.10 - English}} (1991-02-24)&lt;br /&gt;
*** {{CdTextfiles|californiacollect/his008/lha211.exe|LHA v2.11 - English}} (1991-03-03)&lt;br /&gt;
*** {{CdTextfiles|californiacollect/his008/lha212.exe|LHA v2.12 - English}} (1991-03-21)&lt;br /&gt;
*** {{CdTextfiles|simtel/simtel20/MSDOS/ARCHIVRS/LHA213.EXE|LHA v2.13 - English}} (1991-07-20)&lt;br /&gt;
*** LHA v2.13 - Japanese: [https://archive.org/details/Nova_Win50GameVol7_Japan Win 50 Game+ Vol. 7 (Japan)] → Win 50 Game+ Vol. 7 (Japan).7z → Win 50 Game+ Vol. 7 (Japan).{bin,cue} → lha_file/lha/lha213.exe&lt;br /&gt;
*** {{CdTextfiles|pier02/002a/lha252.exe|LHA v2.52 - Japanese}} (1992-09-07)&lt;br /&gt;
*** LHA v2.54 - Japanese (1992-10-04): [https://archive.org/details/cg-network-4 CG Network 4] → pc/program/lha/lha.exe&lt;br /&gt;
*** LHA v2.55 - Japanese (1992-11-15): [https://archive.org/details/2014.03.ftp.eri.u-tokyo.ac.jp] → ftp.eri.u-tokyo.ac.jp/pub/DOS/tools/lha255.exe&lt;br /&gt;
*** {{CdTextfiles|pdos9606/ARCHIVER/TOOLS/LHA255B.EXE|LHA v2.55b}} (1992-11-24) - Japanese (LHA.EXE) and English (LHA_E.EXE)&lt;br /&gt;
*** [http://info.elf.stuba.sk/packages/pub/pc/pack/lha266.exe LHA v2.66 test version - Japanese] (1994-12-30)&lt;br /&gt;
**** [{{SACFTPURL|pack|lha266e.exe}} lha266e.exe] - Official(?) patch to convert error messages to English&lt;br /&gt;
*** Various versions at old-dos.ru: [http://old-dos.ru/index.php?page=files&amp;amp;mode=files&amp;amp;do=show&amp;amp;id=3432 LHarc], [http://old-dos.ru/index.php?page=files&amp;amp;mode=files&amp;amp;do=show&amp;amp;id=713 LHA]&lt;br /&gt;
** For Windows console&lt;br /&gt;
*** [http://info.elf.stuba.sk/packages/pub/pc/pack/lha267.exe LHA32 v2.67.00 test version - Japanese] (1995-10-07)&lt;br /&gt;
**** [{{SACFTPURL|pack|lha267e.exe}} lha267e.exe] - Official(?) patch to convert error messages to English&lt;br /&gt;
** Source code&lt;br /&gt;
*** {{CdTextfiles|simtel/simtel20/MSDOS/ARCHIVRS/LHARCSRC.ZIP|v1.13b}}&lt;br /&gt;
*** {{CdTextfiles|simtel/simtel20/MSDOS/ARCHIVRS/LHA211SR.ZIP|v2.11}}&lt;br /&gt;
* [http://old-dos.ru/index.php?page=files&amp;amp;mode=files&amp;amp;do=show&amp;amp;id=2836 Lha32] - by &amp;quot;Take&amp;quot;&lt;br /&gt;
* [[LZHUF]] - Source code related to &amp;quot;lh1&amp;quot; compression&lt;br /&gt;
* [[ar (Haruhiko Okumura)]] - Implementation of &amp;quot;lh5&amp;quot; compression&lt;br /&gt;
* [https://github.com/PascalVault/Lazarus_Unpacker Open-source library in Free Pascal]&lt;br /&gt;
* [https://github.com/temisu/ancient Ancient] - Has modern C++ code for decompressing most LHA schemes, but as of this writing there's no easy way to use it.&lt;br /&gt;
* {{Deark}} (e.g. with &amp;lt;code&amp;gt;-zip&amp;lt;/code&amp;gt; option)&lt;br /&gt;
&lt;br /&gt;
=== Software oddities ===&lt;br /&gt;
There are many customized versions of LHarc/LHA floating around. Some of them are listed here, either because they are notable, or because they are potentially misleading. (For DOS, unless otherwise indicated.)&lt;br /&gt;
&lt;br /&gt;
Worth noting is that LHA 2.x has a tamper-detection feature, invoked by running &amp;quot;LHA t LHA.EXE&amp;quot; (or &amp;quot;LHA_E t LHA_E.EXE&amp;quot;). Most (but not all) modified files fail the test, and print &amp;quot;No file found&amp;quot; or &amp;quot;Broken archive&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;LHarc v1.13&amp;quot; (1989-05-14): {{CdTextfiles|simtel0595/DISC1/CITADEL/K2NE608A.ZIP|K2NE608A.ZIP}} → LHARC.EXE - Suspect this is the v1.13 test version, edited to make it look like a full release.&lt;br /&gt;
* &amp;quot;LHarc v1.131c&amp;quot; by Steve Hoglund: [https://archive.org/details/bbs-1 BBS# 1] → DOCUMENT/TURBOBAS.LZH → LHARC.COM&lt;br /&gt;
* [[LHice]] - A hack of v1.13c.&lt;br /&gt;
* {{CdTextfiles|hof91/COMP/LHA114A.COM|&amp;quot;LHarc v1.14a&amp;quot;}} - A hack of v1.13c and/or LHice.&lt;br /&gt;
* {{CdTextfiles|hof91/ARC/LH114B.EXE|&amp;quot;LHARC v1.14β&amp;quot;}} - A hack of v1.13c and/or LHice.&lt;br /&gt;
* {{CdTextfiles|animfestival/SBPRO/LHARC.EXE|&amp;quot;LHarc v2.01a&amp;quot;}} - Apparently a hack of v1.13c.&lt;br /&gt;
* {{CdTextfiles|simtel/simtel9703/disk2/DISC2/ARCERS/LHA255E.EXE|&amp;quot;LHA v2.55E&amp;quot;}} (1992-11-15/1996-01-10) - English translation of v2.55, by Hitoshi Ozawa&lt;br /&gt;
&lt;br /&gt;
== Sample files ==&lt;br /&gt;
* [https://github.com/fragglet/lhasa/tree/master/test/archives lhasa test files]&lt;br /&gt;
* [https://github.com/libarchive/libarchive/tree/master/libarchive/test libarchive test files] → test_read_format_lha_*.lzh.uu&lt;br /&gt;
* [http://aminet.net/ aminet]&lt;br /&gt;
* {{CdTextfiles|hof91/}} ...&lt;br /&gt;
* https://telparia.com/fileFormatSamples/archive/lha/hexify.lha&lt;br /&gt;
&lt;br /&gt;
== Other links ==&lt;br /&gt;
* [[Wikipedia:LHA (file format)|Wikipedia article]]&lt;/div&gt;</summary>
		<author><name>Taritta</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/Talk:LHA</id>
		<title>Talk:LHA</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/Talk:LHA"/>
				<updated>2023-11-04T21:17:29Z</updated>
		
		<summary type="html">&lt;p&gt;Taritta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There's lots of sample files here:&lt;br /&gt;
https://github.com/fragglet/lhasa/tree/master/test/archives&lt;br /&gt;
however there are no lx1 and no Joe Jared files. Anyone knows where to find those? [[User:Tarritta|Tarritta]] ([[User talk:Tarritta|talk]]) &lt;br /&gt;
&lt;br /&gt;
:&amp;quot;-lx1-&amp;quot; is, I guess, something supported (only?) by UNLHA32.DLL. Which, I guess, despite its name, can compress files, and not just decompress. Even with translation software, the language barrier makes it difficult to figure out. With enough effort, I might be able to create such a file, but it looks like more trouble than it's worth. -[[User:Jsummers|Jsummers]] ([[User talk:Jsummers|talk]]) 15:05, 1 November 2023 (UTC)&lt;br /&gt;
&lt;br /&gt;
Thank you! I will try to create LX1 with UnLHA32.DLL. [[User:Tarritta|Tarritta]] ([[User talk:Tarritta|talk]]) 22:22, 4 November 2023 (UTC)&lt;/div&gt;</summary>
		<author><name>Taritta</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/Quake_PAK</id>
		<title>Quake PAK</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/Quake_PAK"/>
				<updated>2023-11-01T12:55:16Z</updated>
		
		<summary type="html">&lt;p&gt;Taritta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
| name           = Quake PAK&lt;br /&gt;
| formattype     = electronic&lt;br /&gt;
| subcat         = Game data files&lt;br /&gt;
| subcat2        = &lt;br /&gt;
| subcat3        = &lt;br /&gt;
| subcat4        = &lt;br /&gt;
| subcat5        = &lt;br /&gt;
| thiscat        = &lt;br /&gt;
| extensions     = {{ext|pak}}&lt;br /&gt;
| mimetypes      = &lt;br /&gt;
| locfdd         = &lt;br /&gt;
| fourccs        =&lt;br /&gt;
| pronom         =&lt;br /&gt;
| type code      =&lt;br /&gt;
| uniform type   =&lt;br /&gt;
| kaitai struct  = quake_pak&lt;br /&gt;
| conforms to    = &lt;br /&gt;
| released       =&lt;br /&gt;
| image          =&lt;br /&gt;
| caption        =&lt;br /&gt;
&lt;br /&gt;
| magic = PACK&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Quake .pak''' is the container file format for storing game assets in versions 1 and 2 of [https://en.wikipedia.org/wiki/Id_Tech ID Tech] game engine and some derivatives of it, including following games:&lt;br /&gt;
&lt;br /&gt;
* [[Quake]]&lt;br /&gt;
* [[Quake 2]]&lt;br /&gt;
* [[Hexen II]]&lt;br /&gt;
* [[Half-Life]]&lt;br /&gt;
&lt;br /&gt;
Later Id Tech games (starting from Quake 3/ID Tech 3) switched to [[ZIP]] format with '''[[Quake PK3|.pk3]]''' extension.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
This file format is very simple. File starts with &amp;lt;code&amp;gt;PACK&amp;lt;/code&amp;gt; magic string (4 octets), then 4-byte offset to file table and 4-byte length (measured in bytes) of it.&lt;br /&gt;
&lt;br /&gt;
File table consists of entries consisting of:&lt;br /&gt;
&lt;br /&gt;
* file name, including path: 56-byte null-terminated string. No leading slash.&lt;br /&gt;
* file contents offset (from beginning of .pak file), 4 bytes&lt;br /&gt;
* file contents length, 4 bytes&lt;br /&gt;
&lt;br /&gt;
All numbers are [[Endianness|little-endian]]. Since each file entry of the table consists of 64 bytes, the header's file table length (offset 8 to 11) must always be a multiple of 64, and most likely never 0. If the 4 bytes for the file table offset (offset 4 to 7) would be &amp;lt;code&amp;gt;0x02 0x00 0x00 0x00&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0x03 0x00 0x00 0x00&amp;lt;/code&amp;gt; it would also match [[Git]]'s .pack files. If the first byte is &amp;lt;code&amp;gt;0x00&amp;lt;/code&amp;gt; it would also match [[Packdir]].&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
* [http://www.watto.org/game_extractor.html Game Extractor]&lt;br /&gt;
* [https://github.com/PascalVault/Lazarus_Unpacker Open-source library in Free Pascal]&lt;br /&gt;
&lt;br /&gt;
== Sample files ==&lt;br /&gt;
* https://telparia.com/fileFormatSamples/archive/quakePAK/&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [https://quakewiki.org/wiki/.pak .pak — Quake Wiki]&lt;br /&gt;
* [https://web.archive.org/web/20160711041711/http://debian.fmi.uni-sofia.bg/~sergei/cgsr/docs/pak.txt Quake PAK Format] (from archive.org)&lt;br /&gt;
&lt;br /&gt;
[[Category:Id Software]]&lt;br /&gt;
[[Category:Archiving]]&lt;/div&gt;</summary>
		<author><name>Taritta</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/Doom_WAD</id>
		<title>Doom WAD</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/Doom_WAD"/>
				<updated>2023-11-01T12:54:28Z</updated>
		
		<summary type="html">&lt;p&gt;Taritta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
 | subcat = Game data files&lt;br /&gt;
 | extensions = {{ext|wad}}&lt;br /&gt;
 | kaitai struct = doom_wad&lt;br /&gt;
}}&lt;br /&gt;
'''WAD''' (&amp;quot;Where's All the Data&amp;quot;) is the format in which the data (music, sound effects, textures and levels) for games using the Doom engine is stored.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
* [https://github.com/PascalVault/Lazarus_Unpacker Open-source library in Free Pascal]&lt;br /&gt;
&lt;br /&gt;
== Sample files ==&lt;br /&gt;
* http://cd.textfiles.com/doomcompanion/DOOM/DOOM1.WAD&lt;br /&gt;
* http://cd.textfiles.com/instantdoom/WADS/&lt;br /&gt;
* https://telparia.com/fileFormatSamples/archive/wad/&lt;br /&gt;
&lt;br /&gt;
== Extenal links ==&lt;br /&gt;
* [http://doomwiki.org/wiki/WAD WAD at The Doom Wiki]&lt;br /&gt;
* [http://www.teaser.fr/~amajorel/deutex/ Deutex]&lt;br /&gt;
* [[Wikipedia:Doom WAD]]&lt;br /&gt;
* [http://mashable.com/2016/01/15/doom-john-romero-new-level/ How to play the 'Doom' creator's first new level in 21 years]&lt;br /&gt;
&lt;br /&gt;
[[Category:Id Software]]&lt;br /&gt;
[[Category:Archiving]]&lt;br /&gt;
[[Category:DOOM (Game)]]&lt;/div&gt;</summary>
		<author><name>Taritta</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/Zoo</id>
		<title>Zoo</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/Zoo"/>
				<updated>2023-11-01T12:53:39Z</updated>
		
		<summary type="html">&lt;p&gt;Taritta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|subcat=Archiving&lt;br /&gt;
|extensions={{ext|zoo}}&lt;br /&gt;
|mimetypes={{mimetype|application/x-zoo}}&lt;br /&gt;
|pronom={{PRONOM|x-fmt/269}}&lt;br /&gt;
|wikidata={{wikidata|Q219983}}&lt;br /&gt;
|released=1986&lt;br /&gt;
}}&lt;br /&gt;
'''Zoo''' is a compressed archive format developed by Rahul Dhesi. It was one of the many competing archive formats in the 1980s, and was based (originally) on [[LZW]] compression. It had some popularity with Open/VMS and Amiga systems, but didn't ultimately win out over [[ZIP]].&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
The Zoo software encompassed several different utilities, which were sometimes distributed individually, and which had their own version numbers.&lt;br /&gt;
* '''Zoo''' - The main program&lt;br /&gt;
* '''Ooz''' - Extractor&lt;br /&gt;
* '''Booz''' (Barebones Ooz) - Extractor; some versions can also list files&lt;br /&gt;
* '''Looz''' (Ooz with List) - Extract/list/execute&lt;br /&gt;
* '''Atoz''' - Helper utility for converting other formats ([[ARC (compression format)|ARC]], [[LBR]]) to Zoo&lt;br /&gt;
* '''Fiz''' - Analyze damaged Zoo files&lt;br /&gt;
* '''Stuff''' - File finder&lt;br /&gt;
* '''Sez''' - Self-Extracting Zoo utility&lt;br /&gt;
&lt;br /&gt;
== Compression methods ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! ID !! Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
|0 || No packing || Uncompressed&lt;br /&gt;
|-&lt;br /&gt;
|1 || LZD || [[LZW]]. A fairly generic LZW implementation, with a dynamic code size from 9 to 13 bits, and two special codes: 256=Clear, 257=Stop.&lt;br /&gt;
|-&lt;br /&gt;
|2 || LZH || [[LZ77 with Huffman coding|LZ77+Huffman]]. Nearly identical to [[LHA]]'s &amp;quot;lh5&amp;quot; method. A small difference is that Zoo defines a way to mark the end of data. The format is pretty well documented in the comments in unzoo.c by Martin Schoenert (see below).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
Files have bytes {{magic|DC A7 C4 FD}} at offset 20.&lt;br /&gt;
&lt;br /&gt;
Zoo files typically start with &amp;quot;{{magic|ZOO&amp;amp;nbsp;?.??&amp;amp;nbsp;Archive.}}&amp;quot;, followed by the byte &amp;lt;code&amp;gt;0x1a&amp;lt;/code&amp;gt;, where each &amp;quot;&amp;lt;code&amp;gt;?&amp;lt;/code&amp;gt;&amp;quot; is a digit. Regarding this field, the source code says &amp;quot;The contents of the text message are however not used by Zoo and they may be anything.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Related formats ==&lt;br /&gt;
* [[Zoo filter format]]&lt;br /&gt;
* [[Zoo Z format‎]]&lt;br /&gt;
* [[Brik]] - same author&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
''[Ed. note: The Zoo format information in these documents is not of the highest quality. We haven't found a specification that is reasonably complete and correct.]''&lt;br /&gt;
&lt;br /&gt;
* [https://www.fileformat.info/format/zoo/corion.htm The ZOO Archive File Format] from Corion.net, via FileFormat.info&lt;br /&gt;
* [http://apple2.org.za/gswv/a2zine/GS.WorldView/Resources/The.MacShrinkIt.Project/ARCHIVES.TXT Archive format info, including ZOO]&lt;br /&gt;
* [http://www.textfiles.com/programming/FORMATS/arc_fmts.txt ZOO file header format (among other archive types)]&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
* [[Konvertor]]&lt;br /&gt;
* Zoo - DOS binaries&lt;br /&gt;
** {{CdTextfiles|megarom/megarom1/ARC_LBR/ZOO120.ZIP|v1.20}} (1986-09-06)&lt;br /&gt;
** {{CdTextfiles|carousel344/013/ZOO121.ZIP|v1.21}} (1986-09-21)&lt;br /&gt;
** v1.40 (1987-01-24): [https://archive.org/details/shareware-grab-bag] → Shareware_Grab_Bag_1988.zip → 014/zoo140.arc&lt;br /&gt;
** v1.41: [https://archive.org/details/os2sharewarebbs OS/2 Shareware BBS Full Collection] → 08-Other.zip → S12215.ZIP → ZOO.EXE (bare executable)&lt;br /&gt;
** {{CdTextfiles|rbbsv3n1/zzap/zoo200.exe|v2.00}} (~1988-02-06)&lt;br /&gt;
** {{CdTextfiles|hof91/ARC/ZOO201.EXE|v2.01}} (1988-08-25) - Also includes Fiz 2.0 and Stuff 1.0&lt;br /&gt;
** {{CdTextfiles|simtel/simtel20/MSDOS/ARCHIVRS/ZOO210.EXE|v2.10}} (1991-07-09)&lt;br /&gt;
* Other official Zoo utilities:&lt;br /&gt;
** {{CdTextfiles|simtelctc/disk1/ZOO/BOOZ20.ZIP;1|Booz 2.0}} - Extractor; includes source code and DOS binary&lt;br /&gt;
** {{CdTextfiles|carousel344/013/LOOZ210.ZIP|Looz 2.1}}&lt;br /&gt;
** {{CdTextfiles|carousel/013B/OOZ130.ZIP|Ooz 1.30}}&lt;br /&gt;
** Sez {{CdTextfiles|carousel344/013/SEZ200.ZIP|2.0}}, {{CdTextfiles|microhaus/mhblackbox3/ARCHIVER/SEZ230.ZIP|2.3}} - Makes self-extracting archives&lt;br /&gt;
** {{CdTextfiles|simtelctc/disk1/ZOO/ATOZ112.ZIP;1|Atoz 1.12}} - Conversion helper&lt;br /&gt;
** {{CdTextfiles|simtel/simtel9211/msdos/zoo/stuff2.zip|Stuff 2.0}}&lt;br /&gt;
* [https://www.amiga-stuff.com/archivers-download.html amiga-stuff.com: Archivers] - Lists several versions of Zoo for Amiga&lt;br /&gt;
* [http://archives.math.utk.edu/software/multi-platform/gap/util/unzoo.c unzoo.c] by Martin Schoenert (Does not support LZD.)&lt;br /&gt;
* [https://github.com/PascalVault/Lazarus_Unpacker Open-source library in Free Pascal]&lt;br /&gt;
* {{Deark}}&lt;br /&gt;
&lt;br /&gt;
Original(?) source code:&lt;br /&gt;
* v1.41 (1987-02-07): {{CdTextfiles|hof91/PROGLC/ZOO141_C.LZH|ZOO141_C.LZH}}&lt;br /&gt;
* v1.51 (1987-07-12)&lt;br /&gt;
** [https://archive.org/details/ASMEsMechanicalEngineeringToolkit1997December ASME's Mechanical Engineering Toolkit Dec. 1997] → C_LANG/Z150_SRC.LZH&lt;br /&gt;
** As posted to Usenet comp.sources.unix 1987-08: [{{CdTextfilesURL|sourcecode/usenet/compsrcs/unix/volume11/zoo/}}]&lt;br /&gt;
* v2.01 (1988-08-25)&lt;br /&gt;
** [http://www.nic.funet.fi/index/unix/tools/zoo/zoo-2.01.tar.gz zoo-2.01.tar.gz]&lt;br /&gt;
** [https://archive.org/details/ASMEsMechanicalEngineeringToolkit1997December ASME's Mechanical Engineering Toolkit Dec. 1997] → C_LANG/{Z201SRC1.Z00 + Z201SRC2.Z00}&lt;br /&gt;
** [https://archive.org/details/pegasus20 Pegasus 2.0] → pegasus/c_2/zoo_src.zip&lt;br /&gt;
* v2.10, a.k.a. v2.1 (1991-07-07)&lt;br /&gt;
** [http://www.nic.funet.fi/index/unix/tools/zoo/zoo-2.1.tar.gz zoo-2.1.tar.gz]&lt;br /&gt;
** {{CdTextfiles|aminet0294/AMINET/MISC/UNIX/ZOO_2_10.TAR|ZOO_2_10.TAR}}&lt;br /&gt;
&lt;br /&gt;
Other source code and packages:&lt;br /&gt;
* [http://distcache.freebsd.org/ports-distfiles/zoo-2.10pl1.tar.gz zoo-2.10pl1.tar.gz]&lt;br /&gt;
* [http://www.ibiblio.org/pub/Linux/utils/compress/zoo-2.10-3.src.rpm zoo-2.10-3.src.rpm]&lt;br /&gt;
&lt;br /&gt;
== Sample files ==&lt;br /&gt;
* {{CdTextfilesURL|aminet0294/AMINET/UTIL/ARC/}} → *.ZOO&lt;br /&gt;
* {{CdTextfilesURL|garbo/PC/}} → .../*.ZOO&lt;br /&gt;
* {{CdTextfilesURL|geminiatari/ZIP/PROGRAM/}} → *.ZOO&lt;br /&gt;
* https://telparia.com/fileFormatSamples/archive/zoo/&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [[Wikipedia: Zoo (file format)]]&lt;br /&gt;
* {{CdTextfiles|rbbsv3n1/zzap/zooplan1.zip|zooplan1.zip}} → ZOOPLAN1.TXT - A Zoo Manifesto, by Rahul Dhesi (1986-11-01)&lt;br /&gt;
* {{CdTextfiles|simtelctc/disk1/ZOO/UGUIDE.ZIP;1|The zoo Archiver User's Guide}}, by Bill Davidsen (for Zoo 2.01)&lt;br /&gt;
* [https://manpages.ubuntu.com/manpages/bionic/man1/zoo.1.html Zoo man page] - Includes a change log going back to v1.71&lt;br /&gt;
* {{CdTextfiles|carousel344/013/ZOO121.ZIP|Zoo 1.21}} → ZOOHSTRY.TXT - Has some historical information about older versions&lt;/div&gt;</summary>
		<author><name>Taritta</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/Ar_(Haruhiko_Okumura)</id>
		<title>Ar (Haruhiko Okumura)</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/Ar_(Haruhiko_Okumura)"/>
				<updated>2023-11-01T12:52:57Z</updated>
		
		<summary type="html">&lt;p&gt;Taritta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|name=ar (Haruhiko Okumura)&lt;br /&gt;
|formattype=electronic&lt;br /&gt;
|subcat=Archiving&lt;br /&gt;
|extensions={{ext|ar}}, others&lt;br /&gt;
|released=1990&lt;br /&gt;
}}&lt;br /&gt;
{{DISPLAYTITLE:ar (Haruhiko Okumura)}}'''ar''' is a compressed archive utility developed by Haruhiko Okumura. It is not related to the [[AR|Unix ar archiver]].&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
ar was essentially a preview of the influential family of compression methods used by [[LHA]] version 2.x: the &amp;quot;&amp;lt;code&amp;gt;lh5&amp;lt;/code&amp;gt;&amp;quot; method and related methods.&lt;br /&gt;
&lt;br /&gt;
There seem to have been two main versions of ar. Neither has a clear version number, but based on the distribution filenames, and other information from Okumura, we may call them '''ar001''' (or &amp;quot;ar v0.01&amp;quot;), and '''ar002''' (or &amp;quot;ar v0.02&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
ar was distributed mainly as source code, though most distributions of ar002 include a DOS binary.&lt;br /&gt;
&lt;br /&gt;
ar001 uses its own file format, not known to be compatible with anything else. ar002 uses [[LHA]] file format.&lt;br /&gt;
&lt;br /&gt;
== Format details ==&lt;br /&gt;
ar's compression is based on [[LZ77 with Huffman coding|LZ77 with static Huffman coding]]. ar001 by default uses a 4K history buffer, like LHA's &amp;quot;&amp;lt;code&amp;gt;lh4&amp;lt;/code&amp;gt;&amp;quot; method. ar002 by default uses an 8K history buffer, like &amp;quot;&amp;lt;code&amp;gt;lh5&amp;lt;/code&amp;gt;&amp;quot;. It's unclear whether the ar compression methods are 100% compatible with the standard LHA methods, but they're at least very close.&lt;br /&gt;
&lt;br /&gt;
The [[CRC-16]] algorithm used by ar001 is different from the one used by ar002 and LHA. It seems to be equivalent to the one called &amp;quot;CRC-16/IBM-SDLC&amp;quot; by [https://reveng.sourceforge.io/crc-catalogue/16.htm CRC RevEng].&lt;br /&gt;
&lt;br /&gt;
== Identifiers ==&lt;br /&gt;
Neither version of ar has a default or recommended filename extension.&lt;br /&gt;
&lt;br /&gt;
A version of ar002 by T. Melconian uses the '''.ar''' extension.&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
ar001 files have no signature. Robust identification would probably have to involve verifying the header CRC.&lt;br /&gt;
&lt;br /&gt;
For ar002, refer to [[LHA#Identification]].&lt;br /&gt;
&lt;br /&gt;
== Related formats ==&lt;br /&gt;
* [[LZSS (Haruhiko Okumura)]] - same author&lt;br /&gt;
* [[LZARI]] - same author&lt;br /&gt;
* [[Micrognosis Compression Archiver]]&lt;br /&gt;
&lt;br /&gt;
Formats derived from ar's compression scheme, directly or indirectly, include:&lt;br /&gt;
* [[LHA]] &amp;quot;lh5&amp;quot; compression&lt;br /&gt;
* [[Zoo]] &amp;quot;LZH&amp;quot; compression&lt;br /&gt;
* [[ARJ]]&lt;br /&gt;
* [[SCO compress LZH]]&lt;br /&gt;
* [[Disk Masher System]] &amp;quot;Heavy&amp;quot; compression&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
For the header formats, see the comments near the beginning of the ar.c file in the corresponding distribution.&lt;br /&gt;
&lt;br /&gt;
See also [[LHA#Format documentation]].&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
ar001:&lt;br /&gt;
* {{CdTextfiles|swexplorer/disk1/A065/AR001.ZIP|AR001.ZIP}} - Source code&lt;br /&gt;
* [https://www.pcorner.com/list/UTILITY/AR_EXE.ZIP/INFO/ AR_EXE.ZIP] - Unofficial DOS binary (untested)&lt;br /&gt;
&lt;br /&gt;
ar002:&lt;br /&gt;
* {{CdTextfiles|sourcecode/msdos/arc_lbr/ar002.zip|AR002.ZIP}} - Source code + DOS binary&lt;br /&gt;
* https://oku.edu.mie-u.ac.jp/~okumura/compression/ar002/&lt;br /&gt;
* [{{SACFTPURL|pack|ar_110.zip}} &amp;quot;AR v1.1&amp;quot;] - ar002 with modifications by Terran Melconian (DOS binary + source code)&lt;br /&gt;
* [https://github.com/PascalVault/Lazarus_Unpacker Open-source library in Free Pascal]&lt;br /&gt;
* See also [[LHA#Software]].&lt;br /&gt;
&lt;br /&gt;
== Sample files ==&lt;br /&gt;
* [https://github.com/PascalVault/Lazarus_Unpacker/tree/main/_TestFiles Sample .AR file (AR002)]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [https://oku.edu.mie-u.ac.jp/~okumura/compression/history.html History of Data Compression in Japan]&lt;/div&gt;</summary>
		<author><name>Taritta</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/LHA</id>
		<title>LHA</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/LHA"/>
				<updated>2023-11-01T12:52:10Z</updated>
		
		<summary type="html">&lt;p&gt;Taritta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|subcat=Archiving&lt;br /&gt;
|extensions={{ext|lzh}}, {{ext|lha}}&lt;br /&gt;
|mimetypes={{mimetype|application/x-lzh-compressed}}&lt;br /&gt;
|pronom={{PRONOM|fmt/626}}&lt;br /&gt;
|wikidata={{wikidata|Q368782}}&lt;br /&gt;
|kaitai struct=lzh&lt;br /&gt;
|released=1988&lt;br /&gt;
}}&lt;br /&gt;
'''LHA''' is an archiving program and file format created by Haruyasu Yoshizaki (a.k.a. Yoshi) in 1988. It was originally called '''LHarc''', then was briefly '''LH''' (v2.02–2.04), then '''LHa''' (v2.05–2.06), before settling on '''LHA''' (v2.10+). In the 1990s, it was the most popular archiving format on the Amiga platform. It also got some use on the PC platform including in the installers for id Software games such as Doom and Quake, because [[ZIP]] compression was inferior until the release of PKZIP 2.0, which brought the formats to parity.&lt;br /&gt;
&lt;br /&gt;
It was particularly popular in Japan. Most of the best information about it is in Japanese.&lt;br /&gt;
&lt;br /&gt;
It supports a number of different compression schemes, most of which use [[LZ77 with Huffman coding|LZ77 combined with Huffman coding]].&lt;br /&gt;
&lt;br /&gt;
The file format is also known as '''LZH'''. See the [[LZH|LZH disambiguation page]] for other &amp;quot;LZH&amp;quot; formats.&lt;br /&gt;
&lt;br /&gt;
This article covers the format used by LHarc/LHA, as well as &amp;quot;generalized&amp;quot; LHA format: the same file format, but with other compression schemes. The generalized format was possibly designed by Kazuhiko Miki in 1988 for [[LArc]], but confirmation of this is needed. If so, it was soon borrowed by LHarc, with new compression schemes.&lt;br /&gt;
&lt;br /&gt;
== Format details ==&lt;br /&gt;
=== File structure ===&lt;br /&gt;
An LHA file consists mainly of a sequence of elements, each representing a member file or directory. The sequence is usually terminated by an end-of-archive marker consisting of a single 0x00 byte (but take care, as level 2 headers could start with 0x00). There is no global archive-level header.&lt;br /&gt;
&lt;br /&gt;
=== Member format ===&lt;br /&gt;
There are at least four different formats that an element can have. (Note that this is independent of compression schemes.) In LHA jargon, the formats are known as &amp;quot;header levels&amp;quot;, and are usually called &amp;quot;header level 0&amp;quot;, &amp;quot;... 1&amp;quot;, &amp;quot;... 2&amp;quot;, and &amp;quot;... 3&amp;quot;. The header level is determined by the byte at offset 20 from the beginning of that element.&lt;br /&gt;
&lt;br /&gt;
The header levels are similar, but irritatingly different. They don't even follow the same principles with respect to how they must be parsed.&lt;br /&gt;
&lt;br /&gt;
=== LZH compression overview ===&lt;br /&gt;
From a decompression perspective, the LZ77+Huffman schemes work roughly as follows. (This is oversimplified.) There is a ''codes'' Huffman tree, and a separate ''offsets'' tree. A symbol is read using the codes tree which, depending on its value, represents either a literal byte value, or a ''length''. If it is a length, then an additional symbol is read using the offsets tree. Based on the offset and length, a run of recently-decompressed bytes is repeated.&lt;br /&gt;
&lt;br /&gt;
=== Compression schemes ===&lt;br /&gt;
Each member file has a 5-byte ''compression method'' field, composed of ASCII characters. The first and last characters are virtually always dashes (&amp;quot;&amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;&amp;quot;), and might be left off when discussing LHA compression schemes. Known schemes:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! ID !! Category !! Description and remarks&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh0-&amp;lt;/code&amp;gt; || || Uncompressed&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh1-&amp;lt;/code&amp;gt; || || [[LZ77 with Huffman coding|LZ77+Huffman]], 4k window, [[Adaptive Huffman coding|adaptive Huffman]] for codes, offsets use a pre-defined Huffman tree. See also [[LZHUF]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh2-&amp;lt;/code&amp;gt; || || LZ77+Huffman, 8k window, adaptive Huffman. Considered experimental/obsolete.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh3-&amp;lt;/code&amp;gt; || || LZ77+Huffman, 8k window, segmented, static Huffman for codes, offsets can use static Huffman or a pre-defined Huffman tree. Considered experimental/obsolete.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh4-&amp;lt;/code&amp;gt; || || Like lh5, but 4k window. Rare.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh5-&amp;lt;/code&amp;gt; || || [[LZ77 with Huffman coding|LZ77+Huffman]], 8k window, segmented, static Huffman. See also [[ar (Haruhiko Okumura)]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh6-&amp;lt;/code&amp;gt; || || Like lh5, but 32k window&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh7-&amp;lt;/code&amp;gt; || || Like lh5, but 64k window&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh7-&amp;lt;/code&amp;gt; || LHARK extension || Refer to [[LHARK]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh8-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;5&amp;quot;| Joe Jared extensions || Like lh5, but 64k window. (Same as lh7.)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh9-&amp;lt;/code&amp;gt; || Like lh5, but 128k window. Probably never used.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lha-&amp;lt;/code&amp;gt; || Like lh5, but 256k window. Probably never used.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lhb-&amp;lt;/code&amp;gt; || Like lh5, but 512k window. Probably never used.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lhc-&amp;lt;/code&amp;gt; || Like lh5, but 1M window. Probably never used.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lhd-&amp;lt;/code&amp;gt; || Special || Not a compression scheme. Indicates that the element represents a subdirectory.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lhe-&amp;lt;/code&amp;gt; || Joe Jared extensions || Like lh5, but 2M window. Probably never used.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lhx-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;2&amp;quot;| UNLHA32 extensions || &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lx1-&amp;lt;/code&amp;gt; || &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lz2-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;7&amp;quot;| LArc methods ||rowspan=&amp;quot;7&amp;quot;| Refer to [[LArc]]. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lz3-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lz4-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lz5-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lz7-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lz8-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lzs-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-pm0-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;3&amp;quot;| PMarc extensions ||rowspan=&amp;quot;3&amp;quot;| Refer to [[PMA]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-pm1-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-pm2-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-ah0-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;3&amp;quot;| MAR extensions ||rowspan=&amp;quot;3&amp;quot;| Refer to [[Micrognosis Compression Archiver]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-ari-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-hf0-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lZ0-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;3&amp;quot;| PUT/GET variants ||rowspan=&amp;quot;3&amp;quot;| Refer to [[PUT]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lZ1-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lZ5-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;␠LH0␠&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;2&amp;quot;| SAR variants ||rowspan=&amp;quot;2&amp;quot;| Refer to [[SAR (Streamline Design)]]. The compression IDs begin and end with a space (0x20).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;␠LH5␠&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Wikipedia article has [[Wikipedia:LHA (file format)#Compression methods|more information]] about some of the schemes.&lt;br /&gt;
&lt;br /&gt;
For reference, here are some other LHA-like identifiers:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! ID !! References and remarks&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-afx-&amp;lt;/code&amp;gt; || Refer to [[AFX (Atari ST)]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-arn-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;2&amp;quot;| Possibly used by [[Micrognosis Compression Archiver]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lzw-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-LD6-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;2&amp;quot;| Refer to [[LDArc and LDIFF]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lz6-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-ll0-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;2&amp;quot;| Refer to [[PAKLEO]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-ll1-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-pc1-&amp;lt;/code&amp;gt; || Used by [[PopCom!]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-pms-&amp;lt;/code&amp;gt; || Used by [[PMsfx]] and [[PMexe]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-sqx-&amp;lt;/code&amp;gt; || Refer to [[SQX]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-sw0-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;2&amp;quot;| Refer to [[SWG]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-sw1-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-TK1-&amp;lt;/code&amp;gt; || Unknown. (Recognized by [[IDArc]].)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Extended headers ===&lt;br /&gt;
For header levels 1 and higher, each member file has an associated list of &amp;quot;extended headers&amp;quot;, similar to [[ZIP#Extensible data fields|ZIP's extensible data fields]]. Each extended header is tagged with a single byte indicating its type. Extended headers are used to store platform-specific metadata, and to extend the format in other ways.&lt;br /&gt;
&lt;br /&gt;
* [https://web.archive.org/web/20110912035449/http://homepage1.nifty.com:80/dangan/en/Content/Program/Java/jLHA/Notes/ExtHeaderList.html List of extended headers] (from archive.org)&lt;br /&gt;
* [https://github.com/libarchive/libarchive/blob/master/libarchive/archive_read_support_format_lha.c libarchive: archive_read_support_format_lha.c] (look for &amp;quot;EXT_HEADER_CRC&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Header level 0 supports extended data in a more limited way. It allows for just one set of extended header fields (called the &amp;quot;extended area&amp;quot;), the content of which is determined by the initial one-byte &amp;quot;OS type&amp;quot; field.&lt;br /&gt;
&lt;br /&gt;
* [https://web.archive.org/web/20110909114523/http://homepage1.nifty.com:80/dangan/en/Content/Program/Java/jLHA/Notes/ExtendArea.html Extended area] (from archive.org)&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
LHA can be identified with high accuracy, but doing so can be laborious, due to the lack of a signature, and other complicating factors.&lt;br /&gt;
&lt;br /&gt;
Identification logic could be based on the header of the first member file. Check that the compression method (offset 2–6) and header level (offset 20) fields have valid values. When suitable and possible, validate the header checksum field -- this depends on the header level.&lt;br /&gt;
&lt;br /&gt;
See also the &amp;quot;[[#See also]]&amp;quot; section, for some formats that could masquerade as LHA.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[LHA/LHarc self-extracting archive]]&lt;br /&gt;
* [[LArc]]&lt;br /&gt;
* [[PMA]]&lt;br /&gt;
* [[LHARK]]&lt;br /&gt;
* [[LHice]]&lt;br /&gt;
* [[PUT]]&lt;br /&gt;
* [[Micrognosis Compression Archiver]]&lt;br /&gt;
* [[SAR (Streamline Design)]]&lt;br /&gt;
* [[LZHUF]]&lt;br /&gt;
* [[ar (Haruhiko Okumura)]]&lt;br /&gt;
&lt;br /&gt;
Other LHA-like formats to be aware of:&lt;br /&gt;
* [[AFX (Atari ST)]]&lt;br /&gt;
* [[ARX]]&lt;br /&gt;
* [[CAR (MylesHi!)]]&lt;br /&gt;
* [[LDArc and LDIFF]]&lt;br /&gt;
* [[SWG]]&lt;br /&gt;
&lt;br /&gt;
== Format documentation ==&lt;br /&gt;
* [http://dangan.g.dgdg.jp/ jLHA software]: LHA Notes&lt;br /&gt;
** [http://dangan.g.dgdg.jp/Content/Program/Java/jLHA/Notes/Notes.html Japanese]&lt;br /&gt;
** [https://web.archive.org/web/20120211104049/http://homepage1.nifty.com/dangan/en/Content/Program/Java/jLHA/Notes/Notes.html English (translation?)] (from archive.org)&lt;br /&gt;
* [http://apple2.org.za/gswv/a2zine/GS.WorldView/Resources/The.MacShrinkIt.Project/ARCHIVES.TXT Archive format info]&lt;br /&gt;
* [http://www.textfiles.com/programming/FORMATS/arc_fmts.txt LZH file header format (among other archive types)]&lt;br /&gt;
* [http://www33146ue.sakura.ne.jp/staff/iz/formats/lzh.html LZH format]&lt;br /&gt;
* [https://hwiegman.home.xs4all.nl/fileformats/lzh/lzhformat.html LZH format] (Aeco Systems)&lt;br /&gt;
* [https://github.com/libarchive/libarchive/blob/master/libarchive/archive_read_support_format_lha.c libarchive: archive_read_support_format_lha.c] - Has comments with information about the header formats&lt;br /&gt;
* [https://web.archive.org/web/20021005080911/http://www.osirusoft.com/joejared/lzhformat.html Joe Jared]&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
* [https://github.com/fragglet/lhasa lhasa]&lt;br /&gt;
* [[7-Zip]]&lt;br /&gt;
* [http://www.ponsoftware.com/en/ Explzh for Windows]&lt;br /&gt;
* [https://web.archive.org/web/20130906133859/http://homepage1.nifty.com/dangan/en/Content/Program/Java/jLHA/jLHA.html Java library] (from archive.org)&lt;br /&gt;
* [https://www.libarchive.org libarchive]&lt;br /&gt;
* [http://lha.osdn.jp/ LHa for Unix] · [https://github.com/jca02266/lha GitHub project]&lt;br /&gt;
** [https://web.archive.org/web/20200301124852/http://www2m.biglobe.ne.jp/~dolphin/lha/lha.htm LHa for Unix (Tsukao Okamoto)] (from archive.org)&lt;br /&gt;
* [https://micco.mars.jp/mysoft/unlha32.htm UNLHA32.DLL] and [https://micco.mars.jp/mysoft/lhmelt.htm LHMelt]&lt;br /&gt;
* LHarc/LHA&lt;br /&gt;
** For DOS&lt;br /&gt;
*** LHarc v1.00 - English (1989-03-04): [https://archive.org/details/RbbsInABoxVol1No2_640 RBBS in a Box, vol 1 no 2] → 014r/lharc10e.com&lt;br /&gt;
*** {{CdTextfiles|carousel344/013/LHARC12.ZIP|LHarc v1.12 Test version - English}} (1989-04-23)&lt;br /&gt;
*** LHarc v1.12b - English (1989-04-29): [https://archive.org/details/RbbsInABoxVol1No2_640 RBBS in a Box, vol 1 no 2] → add2/lharc12b.exe&lt;br /&gt;
*** {{CdTextfiles|bbox4/archiver/lharc113.exe|LHarc v1.13 Test version - English}} (1989-05-04)&lt;br /&gt;
*** {{CdTextfiles|hof91/ARC/LH113C.EXE|LHarc v1.13c - English}} (1989-05-31)&lt;br /&gt;
*** {{CdTextfiles|garbo/PC/GOLDIES/LH113DE.COM|LHarc v1.13d - English}} (1989-12-22)&lt;br /&gt;
*** LHarc v1.13d - Japanese: [https://archive.org/download/FMTownsFreeSoftwareCollection3 FM Towns Free Software Collection 3] → FREEWARE.{BIN,CUE} → ms_dos/lharc/*&lt;br /&gt;
*** {{CdTextfiles|californiacollect/his008/lha205e.exe|LHa v2.05 test version - English}} (1991-01-27)&lt;br /&gt;
*** {{CdTextfiles|hof91/ARC/LH205.EXE|LHa v2.05 test version - Japanese}}&lt;br /&gt;
*** {{CdTextfiles|hof91/ARC/LHA206E.EXE|LHa v2.06 - English}} (1991-02-14)&lt;br /&gt;
*** {{CdTextfiles|hof91/COMP/LHA210.EXE|LHA v2.10 - English}} (1991-02-24)&lt;br /&gt;
*** {{CdTextfiles|californiacollect/his008/lha211.exe|LHA v2.11 - English}} (1991-03-03)&lt;br /&gt;
*** {{CdTextfiles|californiacollect/his008/lha212.exe|LHA v2.12 - English}} (1991-03-21)&lt;br /&gt;
*** {{CdTextfiles|simtel/simtel20/MSDOS/ARCHIVRS/LHA213.EXE|LHA v2.13 - English}} (1991-07-20)&lt;br /&gt;
*** LHA v2.13 - Japanese: [https://archive.org/details/Nova_Win50GameVol7_Japan Win 50 Game+ Vol. 7 (Japan)] → Win 50 Game+ Vol. 7 (Japan).7z → Win 50 Game+ Vol. 7 (Japan).{bin,cue} → lha_file/lha/lha213.exe&lt;br /&gt;
*** {{CdTextfiles|pier02/002a/lha252.exe|LHA v2.52 - Japanese}} (1992-09-07)&lt;br /&gt;
*** LHA v2.54 - Japanese (1992-10-04): [https://archive.org/details/cg-network-4 CG Network 4] → pc/program/lha/lha.exe&lt;br /&gt;
*** LHA v2.55 - Japanese (1992-11-15): [https://archive.org/details/2014.03.ftp.eri.u-tokyo.ac.jp] → ftp.eri.u-tokyo.ac.jp/pub/DOS/tools/lha255.exe&lt;br /&gt;
*** {{CdTextfiles|pdos9606/ARCHIVER/TOOLS/LHA255B.EXE|LHA v2.55b}} (1992-11-24) - Japanese (LHA.EXE) and English (LHA_E.EXE)&lt;br /&gt;
*** [http://info.elf.stuba.sk/packages/pub/pc/pack/lha266.exe LHA v2.66 test version - Japanese] (1994-12-30)&lt;br /&gt;
**** [{{SACFTPURL|pack|lha266e.exe}} lha266e.exe] - Official(?) patch to convert error messages to English&lt;br /&gt;
*** Various versions at old-dos.ru: [http://old-dos.ru/index.php?page=files&amp;amp;mode=files&amp;amp;do=show&amp;amp;id=3432 LHarc], [http://old-dos.ru/index.php?page=files&amp;amp;mode=files&amp;amp;do=show&amp;amp;id=713 LHA]&lt;br /&gt;
** For Windows console&lt;br /&gt;
*** [http://info.elf.stuba.sk/packages/pub/pc/pack/lha267.exe LHA32 v2.67.00 test version - Japanese] (1995-10-07)&lt;br /&gt;
**** [{{SACFTPURL|pack|lha267e.exe}} lha267e.exe] - Official(?) patch to convert error messages to English&lt;br /&gt;
** Source code&lt;br /&gt;
*** {{CdTextfiles|simtel/simtel20/MSDOS/ARCHIVRS/LHARCSRC.ZIP|v1.13b}}&lt;br /&gt;
*** {{CdTextfiles|simtel/simtel20/MSDOS/ARCHIVRS/LHA211SR.ZIP|v2.11}}&lt;br /&gt;
* [http://old-dos.ru/index.php?page=files&amp;amp;mode=files&amp;amp;do=show&amp;amp;id=2836 Lha32] - by &amp;quot;Take&amp;quot;&lt;br /&gt;
* [[LZHUF]] - Source code related to &amp;quot;lh1&amp;quot; compression&lt;br /&gt;
* [[ar (Haruhiko Okumura)]] - Implementation of &amp;quot;lh5&amp;quot; compression&lt;br /&gt;
* [https://github.com/PascalVault/Lazarus_Unpacker Open-source library in Free Pascal]&lt;br /&gt;
* [https://github.com/temisu/ancient Ancient] - Has modern C++ code for decompressing most LHA schemes, but as of this writing there's no easy way to use it.&lt;br /&gt;
* {{Deark}} (e.g. with &amp;lt;code&amp;gt;-zip&amp;lt;/code&amp;gt; option)&lt;br /&gt;
&lt;br /&gt;
=== Software oddities ===&lt;br /&gt;
There are many customized versions of LHarc/LHA floating around. Some of them are listed here, either because they are notable, or because they are potentially misleading. (For DOS, unless otherwise indicated.)&lt;br /&gt;
&lt;br /&gt;
Worth noting is that LHA 2.x has a tamper-detection feature, invoked by running &amp;quot;LHA t LHA.EXE&amp;quot; (or &amp;quot;LHA_E t LHA_E.EXE&amp;quot;). Most (but not all) modified files fail the test, and print &amp;quot;No file found&amp;quot; or &amp;quot;Broken archive&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;LHarc v1.13&amp;quot; (1989-05-14): {{CdTextfiles|simtel0595/DISC1/CITADEL/K2NE608A.ZIP|K2NE608A.ZIP}} → LHARC.EXE - Suspect this is the v1.13 test version, edited to make it look like a full release.&lt;br /&gt;
* &amp;quot;LHarc v1.131c&amp;quot; by Steve Hoglund: [https://archive.org/details/bbs-1 BBS# 1] → DOCUMENT/TURBOBAS.LZH → LHARC.COM&lt;br /&gt;
* [[LHice]] - A hack of v1.13c.&lt;br /&gt;
* {{CdTextfiles|hof91/COMP/LHA114A.COM|&amp;quot;LHarc v1.14a&amp;quot;}} - A hack of v1.13c and/or LHice.&lt;br /&gt;
* {{CdTextfiles|hof91/ARC/LH114B.EXE|&amp;quot;LHARC v1.14β&amp;quot;}} - A hack of v1.13c and/or LHice.&lt;br /&gt;
* {{CdTextfiles|animfestival/SBPRO/LHARC.EXE|&amp;quot;LHarc v2.01a&amp;quot;}} - Apparently a hack of v1.13c.&lt;br /&gt;
* {{CdTextfiles|simtel/simtel9703/disk2/DISC2/ARCERS/LHA255E.EXE|&amp;quot;LHA v2.55E&amp;quot;}} (1992-11-15/1996-01-10) - English translation of v2.55, by Hitoshi Ozawa&lt;br /&gt;
&lt;br /&gt;
== Sample files ==&lt;br /&gt;
* [https://github.com/fragglet/lhasa/tree/master/test/archives lhasa test files]&lt;br /&gt;
* [https://github.com/libarchive/libarchive/tree/master/libarchive/test libarchive test files] → test_read_format_lha_*.lzh.uu&lt;br /&gt;
* [http://aminet.net/ aminet]&lt;br /&gt;
* {{CdTextfiles|hof91/}} ...&lt;br /&gt;
* https://telparia.com/fileFormatSamples/archive/lha/hexify.lha&lt;br /&gt;
&lt;br /&gt;
== Other links ==&lt;br /&gt;
* [[Wikipedia:LHA (file format)|Wikipedia article]]&lt;/div&gt;</summary>
		<author><name>Taritta</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/ARJ</id>
		<title>ARJ</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/ARJ"/>
				<updated>2023-11-01T12:51:20Z</updated>
		
		<summary type="html">&lt;p&gt;Taritta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|subcat=Archiving&lt;br /&gt;
|extensions={{ext|arj}}, {{ext|a01}}, {{ext|a02}}, ...&lt;br /&gt;
|pronom={{PRONOM|fmt/610}}&lt;br /&gt;
|wikidata={{wikidata|Q2693033}}&lt;br /&gt;
|released=1990 (beta), 1991 (v1.00)&lt;br /&gt;
}}&lt;br /&gt;
'''ARJ''' is a compressed archive format, and associated software. It was developed by Robert Jung.&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
ARJ was one of the leading compression tools during the 1990s. While it was a bit slower than [[ZIP|PKZIP]], it sported many more options, some of which were unique during that time (archives over multiple disks/volumes, fine-tuning of the compression algorithms used based on the data that was being compressed, recovery records to recover from simple transmission errors, etc.).&lt;br /&gt;
&lt;br /&gt;
=== ARJ software expiration ===&lt;br /&gt;
If you wish to use or research the official ARJ software, be aware that some of the free/evaluation and beta versions of ARJ and ARJ32 have a hard-coded expiration date. They do not work, or do not work as well, if they think they are being used after that date. Expiration can manifest in several ways.&lt;br /&gt;
&lt;br /&gt;
The 0.xx versions disable some features, based on the system clock, and the timestamp of the file being archived. Other versions only seem to care about the system clock.&lt;br /&gt;
&lt;br /&gt;
Some beta versions inexplicably print &amp;quot;CRC error!&amp;quot; if they're expired.&lt;br /&gt;
&lt;br /&gt;
At least one version prints a message about a time delay, but then seems to hang forever.&lt;br /&gt;
&lt;br /&gt;
Newer versions have a time delay whose duration depends on how long ago they expired. The delay can be several minutes.&lt;br /&gt;
&lt;br /&gt;
The newest versions that don't expire are apparently ARJ 2.76 and ARJ32 3.09.&lt;br /&gt;
&lt;br /&gt;
Suggest running expired DOS versions in [[DOSBox-X]], which lets you set the clock.&lt;br /&gt;
&lt;br /&gt;
== Format details ==&lt;br /&gt;
&lt;br /&gt;
=== Compression methods ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! ID !! Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
|0 || stored || No compression&lt;br /&gt;
|-&lt;br /&gt;
|1 || compressed most ||rowspan=&amp;quot;3&amp;quot;| [[LZ77 with Huffman coding|LZ77+Huffman]]. These are all essentially the same as [[LHA]]'s &amp;quot;lh6&amp;quot; method, but with the history window artificially limited to 26K, instead of 32K.&lt;br /&gt;
&lt;br /&gt;
It is possible for ARJ files to exist that violate the 26K limit, e.g. if they were created by [[ARJZ]], or by Open-Source ARJ with the &amp;lt;code&amp;gt;-hdd32750&amp;lt;/code&amp;gt; debug option.&lt;br /&gt;
|-&lt;br /&gt;
|2 || ...&lt;br /&gt;
|-&lt;br /&gt;
|3 || ...&lt;br /&gt;
|-&lt;br /&gt;
|4 || compressed fastest || An ARJ-specific implementation of [[LZ77]]/[[LZSS]].&lt;br /&gt;
&lt;br /&gt;
Note: This compression method was slightly different in ARJ v0.13–0.14.&lt;br /&gt;
|-&lt;br /&gt;
|8 || no data, no CRC || &lt;br /&gt;
|-&lt;br /&gt;
|9 || no data || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Format version number ===&lt;br /&gt;
The main header and each local file header have two 1-byte fields, named &amp;quot;archiver version&amp;quot; and &amp;quot;min archiver version to extract&amp;quot;. The main &amp;quot;archiver version&amp;quot; field in particular could be useful to help classify the file. It normally appears at file offset 5.&lt;br /&gt;
&lt;br /&gt;
The table below maps format versions to software versions and some relevant format changes. There is a similar table in the Open-Source ARJ FAQ (in resource/en/readme.txt), which includes some additional software.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Format ver. !! Used by !! Remarks&lt;br /&gt;
|-&lt;br /&gt;
|1 || ARJ 0.13-0.14&lt;br /&gt;
|-&lt;br /&gt;
|2 || ARJ 0.15-1.00 || Changed &amp;lt;code&amp;gt;-m4&amp;lt;/code&amp;gt; compression.&lt;br /&gt;
|-&lt;br /&gt;
|3 || ARJ 1.10-2.22 || Added support for directories.&lt;br /&gt;
|-&lt;br /&gt;
|4 || ARJ 2.30&lt;br /&gt;
|-&lt;br /&gt;
|5 || ARJ 2.39a-2.39b&lt;br /&gt;
|-&lt;br /&gt;
|6 || ARJ 2.39c-2.41a || Last-modified-time field added to main header.&lt;br /&gt;
|-&lt;br /&gt;
|7 || ARJ 2.42a-2.50a&lt;br /&gt;
|-&lt;br /&gt;
|8 || ARJ 2.55-2.61 || Encryption version field added to main header. Support for &amp;quot;chapters&amp;quot; added.&lt;br /&gt;
|-&lt;br /&gt;
|9 || ARJ 2.62-2.63[release 2 of 5?]&amp;lt;br&amp;gt;ARJ32 3.00 || Flags bit 0x02 redefined to mean &amp;quot;ANSIPAGE&amp;quot;. Creation-time and access-time fields added.&lt;br /&gt;
|-&lt;br /&gt;
|10 || ARJ 2.63[release 3 of 5?]-2.76 || &amp;quot;ARJ protection factor&amp;quot; field added to main header.&lt;br /&gt;
|-&lt;br /&gt;
|11 || ARJ 2.81-(at least 2.86) || &amp;quot;Flags (second series)&amp;quot; field added to main header.&lt;br /&gt;
|-&lt;br /&gt;
|50 || ARJZ || Used by [[ARJZ]], maybe only in the &amp;quot;min version&amp;quot; field.&lt;br /&gt;
|-&lt;br /&gt;
|51 || ARJZ || Used by [[ARJZ]].&lt;br /&gt;
|-&lt;br /&gt;
|100 || ARJ32 3.00a-3.01a || Feature-equivalent to 9.&lt;br /&gt;
|-&lt;br /&gt;
|101 || ARJ32 3.02-3.09 || Feature-equivalent to 10.&lt;br /&gt;
|-&lt;br /&gt;
|102 || ARJ32 3.10-(at least 3.20) || Feature-equivalent to 11.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Self-extracting archives ==&lt;br /&gt;
ARJ can create self-extracting archives. This is usually done with the &amp;lt;code&amp;gt;-je&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-je1&amp;lt;/code&amp;gt; option. The &amp;lt;code&amp;gt;-je1&amp;lt;/code&amp;gt; option creates an &amp;quot;SFXJR&amp;quot; archive, which is smaller, but has limited features.&lt;br /&gt;
&lt;br /&gt;
According to the documentation, the ASCII signature &amp;quot;{{magic|aRJsfX}}&amp;quot; appears somewhere in the first 1000 bytes of all such files made by ARJ v2.20+.&lt;br /&gt;
&lt;br /&gt;
Files made by ARJ for DOS use [[MS-DOS EXE|EXE]] format. The different versions are summarized below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Versions !! Option !! Remarks&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;lt;0.15 || || No such feature.&lt;br /&gt;
|-&lt;br /&gt;
| 0.15–0.15a || &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; || The executable part is pre-compressed with [[LZEXE]]. LZEXE's usual &amp;quot;&amp;lt;code&amp;gt;LZ91&amp;lt;/code&amp;gt;&amp;quot; signature appears at offset 28.&lt;br /&gt;
|-&lt;br /&gt;
| 0.20 || &amp;lt;code&amp;gt;-je&amp;lt;/code&amp;gt; || LZEXE w/&amp;quot;&amp;lt;code&amp;gt;LZ91&amp;lt;/code&amp;gt;&amp;quot; signature.&lt;br /&gt;
|-&lt;br /&gt;
| 1.00–2.00 || &amp;lt;code&amp;gt;-je&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-je1&amp;lt;/code&amp;gt; || Apparently uses [[DIET (compression)|DIET]] compression.&lt;br /&gt;
|-&lt;br /&gt;
| 2.10 || &amp;lt;code&amp;gt;-je&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-je1&amp;lt;/code&amp;gt; || LZEXE w/&amp;quot;&amp;lt;code&amp;gt;LZ91&amp;lt;/code&amp;gt;&amp;quot; signature.&lt;br /&gt;
|-&lt;br /&gt;
| 2.20+ || &amp;lt;code&amp;gt;-je&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-je1&amp;lt;/code&amp;gt; || LZEXE w/&amp;quot;&amp;lt;code&amp;gt;RJSX&amp;lt;/code&amp;gt;&amp;quot; signature.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
An ARJ archive starts with signature bytes {{magic|0x60 0xea}}. Byte &amp;lt;code&amp;gt;0x02&amp;lt;/code&amp;gt; appears at offset 10.&lt;br /&gt;
&lt;br /&gt;
The full identification algorithm used by the ARJ software is given in its technical documentation.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[ARJ-PROTECT data]]&lt;br /&gt;
* [[ARJZ]]&lt;br /&gt;
* [[JAR (ARJ Software)]]&lt;br /&gt;
* [[SARJ]]&lt;br /&gt;
* [[SDN (SDN Project)]]&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
* The ARJ/UNARJ distributions include detailed format information, in a file named TECHNOTE.TXT or similar.&lt;br /&gt;
** [https://github.com/FarGroup/FarManager/blob/master/plugins/multiarc/arc.doc/arj.txt A copy of the 2001-09 version] (with an addendum of some sort)&lt;br /&gt;
* [http://www.fileformat.info/format/arj/corion.htm The ARJ Archive File Format], from fileformat.info and Corion.net&lt;br /&gt;
* Some extensions are documented in the [http://arj.sourceforge.net/ Open-source ARJ] project, especially in [https://github.com/joncampbell123/arj/blob/master/resource/en/readme.txt#L373 resource/en/readme.txt], &amp;quot;INFORMATION FOR DEVELOPERS&amp;quot; section.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
* ARJ - Official compression/decompression software for DOS&lt;br /&gt;
** {{CdTextfiles|nightowl/carrs/015A/ARJ013A.ZIP|v0.13a}} (1990-09-29)&lt;br /&gt;
** {{CdTextfiles|hof91/ARC/ARJ100.LZH|v1.00}} (1991-02-07)&lt;br /&gt;
** {{CdTextfiles|pier/pier01/001a/arj230.exe|v2.30}} (1992-01-19)&lt;br /&gt;
** {{CdTextfiles|simtel/simtel20/MSDOS/ARCHIVRS/ARJ241A.EXE|v2.41a}} (1993-07-10)&lt;br /&gt;
** {{CdTextfiles|simtel/stmsdos9709/disk1/DISC1/ARCERS/ARJ250A.EXE|v2.50a}} (1995-12-12)&lt;br /&gt;
** {{CdTextfiles|ftp.wwiv.com/pub/GENUTIL/arj260.exe|v2.60}} (1997-11-16)&lt;br /&gt;
** [http://www.filegate.net/compress/arj271.exe v2.71] (1999-12-19)&lt;br /&gt;
** v2.76 (2001-06-18): [https://archive.org/details/chip_20018102_hu Chip CD 20018102 HU] → sac/pack/arj276.exe&lt;br /&gt;
** [https://www.sac.sk/download/pack/arj286.exe v2.86] (2012-01-02)&lt;br /&gt;
** [http://old-dos.ru/index.php?page=files&amp;amp;mode=files&amp;amp;do=show&amp;amp;id=779 Various versions at old-dos.ru]&lt;br /&gt;
* ARJ32 - Official compression/decompression software for Windows console&lt;br /&gt;
** [http://www.filegate.net/compress/arj32v3j.exe v3.04] (1999-12-19)&lt;br /&gt;
** v3.09 (2001-06-18): [https://archive.org/details/chip_20018102_hu Chip CD 20018102 HU] → sac/pack/arj32v3p.exe&lt;br /&gt;
** [https://www.sac.sk/download/pack/arj32320.exe v3.20] (2012-01-02)&lt;br /&gt;
** [http://old-dos.ru/index.php?page=files&amp;amp;mode=files&amp;amp;do=show&amp;amp;id=1463 Various versions at old-dos.ru]&lt;br /&gt;
* UNARJ - Official software, decompression only&lt;br /&gt;
** {{CdTextfiles|simtel/simtel20/MSDOS/ARCHIVRS/UNARJ241.ZIP|v2.41}} (1993-04) - Source code + DOS binary&lt;br /&gt;
** [https://www.sac.sk/download/pack/unarj265.exe v2.65] (2002-06) - Source code + DOS binary + Windows console binary&lt;br /&gt;
* ARJCRYPT - An add-on required to enable the &amp;quot;new&amp;quot; encryption method&lt;br /&gt;
** arjc270.exe: [http://www.filegate.net/pub/compress/arjc270.exe], [https://toogam.com/software/archive/archiver/arj/arjc270.exe]&lt;br /&gt;
** arj32c3i.exe: [http://www.filegate.net/pub/compress/arj32c3i.exe], [https://toogam.com/software/archive/archiver/arj/arj32c3i.exe]&lt;br /&gt;
* [https://github.com/PascalVault/Lazarus_Unpacker Open-source library in Free Pascal]&lt;br /&gt;
* [[7-Zip]]&lt;br /&gt;
* [http://arj.sourceforge.net/ Open-source ARJ]&lt;br /&gt;
* [[Konvertor]]&lt;br /&gt;
&lt;br /&gt;
''See also the notes about software expiration, elsewhere on this page.''&lt;br /&gt;
&lt;br /&gt;
== Sample files ==&lt;br /&gt;
* {{CdTextfilesURL|20mnn/HPTEXT/PHRACK/}}&lt;br /&gt;
* {{CdTextfiles|silvercollection/|The Silver Collection}} CDs have many ARJ files&lt;br /&gt;
* {{CdTextfilesURL|goldmedal/}}&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [[Wikipedia:ARJ|Wikipedia article]]&lt;br /&gt;
* [http://www.arjsoftware.com/ Official homepage of ARJ software]&lt;/div&gt;</summary>
		<author><name>Taritta</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/Ar_(Haruhiko_Okumura)</id>
		<title>Ar (Haruhiko Okumura)</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/Ar_(Haruhiko_Okumura)"/>
				<updated>2023-11-01T12:25:32Z</updated>
		
		<summary type="html">&lt;p&gt;Taritta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|name=ar (Haruhiko Okumura)&lt;br /&gt;
|formattype=electronic&lt;br /&gt;
|subcat=Archiving&lt;br /&gt;
|extensions={{ext|ar}}, others&lt;br /&gt;
|released=1990&lt;br /&gt;
}}&lt;br /&gt;
{{DISPLAYTITLE:ar (Haruhiko Okumura)}}'''ar''' is a compressed archive utility developed by Haruhiko Okumura. It is not related to the [[AR|Unix ar archiver]].&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
ar was essentially a preview of the influential family of compression methods used by [[LHA]] version 2.x: the &amp;quot;&amp;lt;code&amp;gt;lh5&amp;lt;/code&amp;gt;&amp;quot; method and related methods.&lt;br /&gt;
&lt;br /&gt;
There seem to have been two main versions of ar. Neither has a clear version number, but based on the distribution filenames, and other information from Okumura, we may call them '''ar001''' (or &amp;quot;ar v0.01&amp;quot;), and '''ar002''' (or &amp;quot;ar v0.02&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
ar was distributed mainly as source code, though most distributions of ar002 include a DOS binary.&lt;br /&gt;
&lt;br /&gt;
ar001 uses its own file format, not known to be compatible with anything else. ar002 uses [[LHA]] file format.&lt;br /&gt;
&lt;br /&gt;
== Format details ==&lt;br /&gt;
ar's compression is based on [[LZ77 with Huffman coding|LZ77 with static Huffman coding]]. ar001 by default uses a 4K history buffer, like LHA's &amp;quot;&amp;lt;code&amp;gt;lh4&amp;lt;/code&amp;gt;&amp;quot; method. ar002 by default uses an 8K history buffer, like &amp;quot;&amp;lt;code&amp;gt;lh5&amp;lt;/code&amp;gt;&amp;quot;. It's unclear whether the ar compression methods are 100% compatible with the standard LHA methods, but they're at least very close.&lt;br /&gt;
&lt;br /&gt;
The [[CRC-16]] algorithm used by ar001 is different from the one used by ar002 and LHA. It seems to be equivalent to the one called &amp;quot;CRC-16/IBM-SDLC&amp;quot; by [https://reveng.sourceforge.io/crc-catalogue/16.htm CRC RevEng].&lt;br /&gt;
&lt;br /&gt;
== Identifiers ==&lt;br /&gt;
Neither version of ar has a default or recommended filename extension.&lt;br /&gt;
&lt;br /&gt;
A version of ar002 by T. Melconian uses the '''.ar''' extension.&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
ar001 files have no signature. Robust identification would probably have to involve verifying the header CRC.&lt;br /&gt;
&lt;br /&gt;
For ar002, refer to [[LHA#Identification]].&lt;br /&gt;
&lt;br /&gt;
== Related formats ==&lt;br /&gt;
* [[LZSS (Haruhiko Okumura)]] - same author&lt;br /&gt;
* [[LZARI]] - same author&lt;br /&gt;
* [[Micrognosis Compression Archiver]]&lt;br /&gt;
&lt;br /&gt;
Formats derived from ar's compression scheme, directly or indirectly, include:&lt;br /&gt;
* [[LHA]] &amp;quot;lh5&amp;quot; compression&lt;br /&gt;
* [[Zoo]] &amp;quot;LZH&amp;quot; compression&lt;br /&gt;
* [[ARJ]]&lt;br /&gt;
* [[SCO compress LZH]]&lt;br /&gt;
* [[Disk Masher System]] &amp;quot;Heavy&amp;quot; compression&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
For the header formats, see the comments near the beginning of the ar.c file in the corresponding distribution.&lt;br /&gt;
&lt;br /&gt;
See also [[LHA#Format documentation]].&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
ar001:&lt;br /&gt;
* {{CdTextfiles|swexplorer/disk1/A065/AR001.ZIP|AR001.ZIP}} - Source code&lt;br /&gt;
* [https://www.pcorner.com/list/UTILITY/AR_EXE.ZIP/INFO/ AR_EXE.ZIP] - Unofficial DOS binary (untested)&lt;br /&gt;
&lt;br /&gt;
ar002:&lt;br /&gt;
* {{CdTextfiles|sourcecode/msdos/arc_lbr/ar002.zip|AR002.ZIP}} - Source code + DOS binary&lt;br /&gt;
* https://oku.edu.mie-u.ac.jp/~okumura/compression/ar002/&lt;br /&gt;
* [{{SACFTPURL|pack|ar_110.zip}} &amp;quot;AR v1.1&amp;quot;] - ar002 with modifications by Terran Melconian (DOS binary + source code)&lt;br /&gt;
* See also [[LHA#Software]].&lt;br /&gt;
&lt;br /&gt;
== Sample files ==&lt;br /&gt;
* [https://github.com/PascalVault/Lazarus_Unpacker/tree/main/_TestFiles Sample .AR file (AR002)]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [https://oku.edu.mie-u.ac.jp/~okumura/compression/history.html History of Data Compression in Japan]&lt;/div&gt;</summary>
		<author><name>Taritta</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/LHA</id>
		<title>LHA</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/LHA"/>
				<updated>2023-10-31T13:51:51Z</updated>
		
		<summary type="html">&lt;p&gt;Taritta: joe jared&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|subcat=Archiving&lt;br /&gt;
|extensions={{ext|lzh}}, {{ext|lha}}&lt;br /&gt;
|mimetypes={{mimetype|application/x-lzh-compressed}}&lt;br /&gt;
|pronom={{PRONOM|fmt/626}}&lt;br /&gt;
|wikidata={{wikidata|Q368782}}&lt;br /&gt;
|kaitai struct=lzh&lt;br /&gt;
|released=1988&lt;br /&gt;
}}&lt;br /&gt;
'''LHA''' is an archiving program and file format created by Haruyasu Yoshizaki (a.k.a. Yoshi) in 1988. It was originally called '''LHarc''', then was briefly '''LH''' (v2.02–2.04), then '''LHa''' (v2.05–2.06), before settling on '''LHA''' (v2.10+). In the 1990s, it was the most popular archiving format on the Amiga platform. It also got some use on the PC platform including in the installers for id Software games such as Doom and Quake, because [[ZIP]] compression was inferior until the release of PKZIP 2.0, which brought the formats to parity.&lt;br /&gt;
&lt;br /&gt;
It was particularly popular in Japan. Most of the best information about it is in Japanese.&lt;br /&gt;
&lt;br /&gt;
It supports a number of different compression schemes, most of which use [[LZ77 with Huffman coding|LZ77 combined with Huffman coding]].&lt;br /&gt;
&lt;br /&gt;
The file format is also known as '''LZH'''. See the [[LZH|LZH disambiguation page]] for other &amp;quot;LZH&amp;quot; formats.&lt;br /&gt;
&lt;br /&gt;
This article covers the format used by LHarc/LHA, as well as &amp;quot;generalized&amp;quot; LHA format: the same file format, but with other compression schemes. The generalized format was possibly designed by Kazuhiko Miki in 1988 for [[LArc]], but confirmation of this is needed. If so, it was soon borrowed by LHarc, with new compression schemes.&lt;br /&gt;
&lt;br /&gt;
== Format details ==&lt;br /&gt;
=== File structure ===&lt;br /&gt;
An LHA file consists mainly of a sequence of elements, each representing a member file or directory. The sequence is usually terminated by an end-of-archive marker consisting of a single 0x00 byte (but take care, as level 2 headers could start with 0x00). There is no global archive-level header.&lt;br /&gt;
&lt;br /&gt;
=== Member format ===&lt;br /&gt;
There are at least four different formats that an element can have. (Note that this is independent of compression schemes.) In LHA jargon, the formats are known as &amp;quot;header levels&amp;quot;, and are usually called &amp;quot;header level 0&amp;quot;, &amp;quot;... 1&amp;quot;, &amp;quot;... 2&amp;quot;, and &amp;quot;... 3&amp;quot;. The header level is determined by the byte at offset 20 from the beginning of that element.&lt;br /&gt;
&lt;br /&gt;
The header levels are similar, but irritatingly different. They don't even follow the same principles with respect to how they must be parsed.&lt;br /&gt;
&lt;br /&gt;
=== LZH compression overview ===&lt;br /&gt;
From a decompression perspective, the LZ77+Huffman schemes work roughly as follows. (This is oversimplified.) There is a ''codes'' Huffman tree, and a separate ''offsets'' tree. A symbol is read using the codes tree which, depending on its value, represents either a literal byte value, or a ''length''. If it is a length, then an additional symbol is read using the offsets tree. Based on the offset and length, a run of recently-decompressed bytes is repeated.&lt;br /&gt;
&lt;br /&gt;
=== Compression schemes ===&lt;br /&gt;
Each member file has a 5-byte ''compression method'' field, composed of ASCII characters. The first and last characters are virtually always dashes (&amp;quot;&amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;&amp;quot;), and might be left off when discussing LHA compression schemes. Known schemes:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! ID !! Category !! Description and remarks&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh0-&amp;lt;/code&amp;gt; || || Uncompressed&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh1-&amp;lt;/code&amp;gt; || || [[LZ77 with Huffman coding|LZ77+Huffman]], 4k window, [[Adaptive Huffman coding|adaptive Huffman]] for codes, offsets use a pre-defined Huffman tree. See also [[LZHUF]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh2-&amp;lt;/code&amp;gt; || || LZ77+Huffman, 8k window, adaptive Huffman. Considered experimental/obsolete.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh3-&amp;lt;/code&amp;gt; || || LZ77+Huffman, 8k window, segmented, static Huffman for codes, offsets can use static Huffman or a pre-defined Huffman tree. Considered experimental/obsolete.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh4-&amp;lt;/code&amp;gt; || || Like lh5, but 4k window. Rare.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh5-&amp;lt;/code&amp;gt; || || [[LZ77 with Huffman coding|LZ77+Huffman]], 8k window, segmented, static Huffman. See also [[ar (Haruhiko Okumura)]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh6-&amp;lt;/code&amp;gt; || || Like lh5, but 32k window&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh7-&amp;lt;/code&amp;gt; || || Like lh5, but 64k window&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh7-&amp;lt;/code&amp;gt; || LHARK extension || Refer to [[LHARK]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh8-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;5&amp;quot;| Joe Jared extensions || Like lh5, but 64k window. (Same as lh7.)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh9-&amp;lt;/code&amp;gt; || Like lh5, but 128k window. Probably never used.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lha-&amp;lt;/code&amp;gt; || Like lh5, but 256k window. Probably never used.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lhb-&amp;lt;/code&amp;gt; || Like lh5, but 512k window. Probably never used.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lhc-&amp;lt;/code&amp;gt; || Like lh5, but 1M window. Probably never used.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lhd-&amp;lt;/code&amp;gt; || Special || Not a compression scheme. Indicates that the element represents a subdirectory.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lhe-&amp;lt;/code&amp;gt; || Joe Jared extensions || Like lh5, but 2M window. Probably never used.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lhx-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;2&amp;quot;| UNLHA32 extensions || &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lx1-&amp;lt;/code&amp;gt; || &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lz2-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;7&amp;quot;| LArc methods ||rowspan=&amp;quot;7&amp;quot;| Refer to [[LArc]]. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lz3-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lz4-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lz5-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lz7-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lz8-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lzs-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-pm0-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;3&amp;quot;| PMarc extensions ||rowspan=&amp;quot;3&amp;quot;| Refer to [[PMA]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-pm1-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-pm2-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-ah0-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;3&amp;quot;| MAR extensions ||rowspan=&amp;quot;3&amp;quot;| Refer to [[Micrognosis Compression Archiver]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-ari-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-hf0-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lZ0-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;3&amp;quot;| PUT/GET variants ||rowspan=&amp;quot;3&amp;quot;| Refer to [[PUT]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lZ1-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lZ5-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;␠LH0␠&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;2&amp;quot;| SAR variants ||rowspan=&amp;quot;2&amp;quot;| Refer to [[SAR (Streamline Design)]]. The compression IDs begin and end with a space (0x20).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;␠LH5␠&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Wikipedia article has [[Wikipedia:LHA (file format)#Compression methods|more information]] about some of the schemes.&lt;br /&gt;
&lt;br /&gt;
For reference, here are some other LHA-like identifiers:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! ID !! References and remarks&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-afx-&amp;lt;/code&amp;gt; || Refer to [[AFX (Atari ST)]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-arn-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;2&amp;quot;| Possibly used by [[Micrognosis Compression Archiver]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lzw-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-LD6-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;2&amp;quot;| Refer to [[LDArc and LDIFF]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lz6-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-ll0-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;2&amp;quot;| Refer to [[PAKLEO]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-ll1-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-pc1-&amp;lt;/code&amp;gt; || Used by [[PopCom!]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-pms-&amp;lt;/code&amp;gt; || Used by [[PMsfx]] and [[PMexe]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-sqx-&amp;lt;/code&amp;gt; || Refer to [[SQX]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-sw0-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;2&amp;quot;| Refer to [[SWG]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-sw1-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-TK1-&amp;lt;/code&amp;gt; || Unknown. (Recognized by [[IDArc]].)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Extended headers ===&lt;br /&gt;
For header levels 1 and higher, each member file has an associated list of &amp;quot;extended headers&amp;quot;, similar to [[ZIP#Extensible data fields|ZIP's extensible data fields]]. Each extended header is tagged with a single byte indicating its type. Extended headers are used to store platform-specific metadata, and to extend the format in other ways.&lt;br /&gt;
&lt;br /&gt;
* [https://web.archive.org/web/20110912035449/http://homepage1.nifty.com:80/dangan/en/Content/Program/Java/jLHA/Notes/ExtHeaderList.html List of extended headers] (from archive.org)&lt;br /&gt;
* [https://github.com/libarchive/libarchive/blob/master/libarchive/archive_read_support_format_lha.c libarchive: archive_read_support_format_lha.c] (look for &amp;quot;EXT_HEADER_CRC&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Header level 0 supports extended data in a more limited way. It allows for just one set of extended header fields (called the &amp;quot;extended area&amp;quot;), the content of which is determined by the initial one-byte &amp;quot;OS type&amp;quot; field.&lt;br /&gt;
&lt;br /&gt;
* [https://web.archive.org/web/20110909114523/http://homepage1.nifty.com:80/dangan/en/Content/Program/Java/jLHA/Notes/ExtendArea.html Extended area] (from archive.org)&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
LHA can be identified with high accuracy, but doing so can be laborious, due to the lack of a signature, and other complicating factors.&lt;br /&gt;
&lt;br /&gt;
Identification logic could be based on the header of the first member file. Check that the compression method (offset 2–6) and header level (offset 20) fields have valid values. When suitable and possible, validate the header checksum field -- this depends on the header level.&lt;br /&gt;
&lt;br /&gt;
See also the &amp;quot;[[#See also]]&amp;quot; section, for some formats that could masquerade as LHA.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[LHA/LHarc self-extracting archive]]&lt;br /&gt;
* [[LArc]]&lt;br /&gt;
* [[PMA]]&lt;br /&gt;
* [[LHARK]]&lt;br /&gt;
* [[LHice]]&lt;br /&gt;
* [[PUT]]&lt;br /&gt;
* [[Micrognosis Compression Archiver]]&lt;br /&gt;
* [[SAR (Streamline Design)]]&lt;br /&gt;
* [[LZHUF]]&lt;br /&gt;
* [[ar (Haruhiko Okumura)]]&lt;br /&gt;
&lt;br /&gt;
Other LHA-like formats to be aware of:&lt;br /&gt;
* [[AFX (Atari ST)]]&lt;br /&gt;
* [[ARX]]&lt;br /&gt;
* [[CAR (MylesHi!)]]&lt;br /&gt;
* [[LDArc and LDIFF]]&lt;br /&gt;
* [[SWG]]&lt;br /&gt;
&lt;br /&gt;
== Format documentation ==&lt;br /&gt;
* [http://dangan.g.dgdg.jp/ jLHA software]: LHA Notes&lt;br /&gt;
** [http://dangan.g.dgdg.jp/Content/Program/Java/jLHA/Notes/Notes.html Japanese]&lt;br /&gt;
** [https://web.archive.org/web/20120211104049/http://homepage1.nifty.com/dangan/en/Content/Program/Java/jLHA/Notes/Notes.html English (translation?)] (from archive.org)&lt;br /&gt;
* [http://apple2.org.za/gswv/a2zine/GS.WorldView/Resources/The.MacShrinkIt.Project/ARCHIVES.TXT Archive format info]&lt;br /&gt;
* [http://www.textfiles.com/programming/FORMATS/arc_fmts.txt LZH file header format (among other archive types)]&lt;br /&gt;
* [http://www33146ue.sakura.ne.jp/staff/iz/formats/lzh.html LZH format]&lt;br /&gt;
* [https://hwiegman.home.xs4all.nl/fileformats/lzh/lzhformat.html LZH format] (Aeco Systems)&lt;br /&gt;
* [https://github.com/libarchive/libarchive/blob/master/libarchive/archive_read_support_format_lha.c libarchive: archive_read_support_format_lha.c] - Has comments with information about the header formats&lt;br /&gt;
* [https://web.archive.org/web/20021005080911/http://www.osirusoft.com/joejared/lzhformat.html Joe Jared]&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
* [https://github.com/fragglet/lhasa lhasa]&lt;br /&gt;
* [[7-Zip]]&lt;br /&gt;
* [http://www.ponsoftware.com/en/ Explzh for Windows]&lt;br /&gt;
* [https://web.archive.org/web/20130906133859/http://homepage1.nifty.com/dangan/en/Content/Program/Java/jLHA/jLHA.html Java library] (from archive.org)&lt;br /&gt;
* [https://www.libarchive.org libarchive]&lt;br /&gt;
* [http://lha.osdn.jp/ LHa for Unix] · [https://github.com/jca02266/lha GitHub project]&lt;br /&gt;
** [https://web.archive.org/web/20200301124852/http://www2m.biglobe.ne.jp/~dolphin/lha/lha.htm LHa for Unix (Tsukao Okamoto)] (from archive.org)&lt;br /&gt;
* [https://micco.mars.jp/mysoft/unlha32.htm UNLHA32.DLL] and [https://micco.mars.jp/mysoft/lhmelt.htm LHMelt]&lt;br /&gt;
* LHarc/LHA&lt;br /&gt;
** For DOS&lt;br /&gt;
*** LHarc v1.00 - English (1989-03-04): [https://archive.org/details/RbbsInABoxVol1No2_640 RBBS in a Box, vol 1 no 2] → 014r/lharc10e.com&lt;br /&gt;
*** {{CdTextfiles|carousel344/013/LHARC12.ZIP|LHarc v1.12 Test version - English}} (1989-04-23)&lt;br /&gt;
*** LHarc v1.12b - English (1989-04-29): [https://archive.org/details/RbbsInABoxVol1No2_640 RBBS in a Box, vol 1 no 2] → add2/lharc12b.exe&lt;br /&gt;
*** {{CdTextfiles|bbox4/archiver/lharc113.exe|LHarc v1.13 Test version - English}} (1989-05-04)&lt;br /&gt;
*** {{CdTextfiles|hof91/ARC/LH113C.EXE|LHarc v1.13c - English}} (1989-05-31)&lt;br /&gt;
*** {{CdTextfiles|garbo/PC/GOLDIES/LH113DE.COM|LHarc v1.13d - English}} (1989-12-22)&lt;br /&gt;
*** LHarc v1.13d - Japanese: [https://archive.org/download/FMTownsFreeSoftwareCollection3 FM Towns Free Software Collection 3] → FREEWARE.{BIN,CUE} → ms_dos/lharc/*&lt;br /&gt;
*** {{CdTextfiles|californiacollect/his008/lha205e.exe|LHa v2.05 test version - English}} (1991-01-27)&lt;br /&gt;
*** {{CdTextfiles|hof91/ARC/LH205.EXE|LHa v2.05 test version - Japanese}}&lt;br /&gt;
*** {{CdTextfiles|hof91/ARC/LHA206E.EXE|LHa v2.06 - English}} (1991-02-14)&lt;br /&gt;
*** {{CdTextfiles|hof91/COMP/LHA210.EXE|LHA v2.10 - English}} (1991-02-24)&lt;br /&gt;
*** {{CdTextfiles|californiacollect/his008/lha211.exe|LHA v2.11 - English}} (1991-03-03)&lt;br /&gt;
*** {{CdTextfiles|californiacollect/his008/lha212.exe|LHA v2.12 - English}} (1991-03-21)&lt;br /&gt;
*** {{CdTextfiles|simtel/simtel20/MSDOS/ARCHIVRS/LHA213.EXE|LHA v2.13 - English}} (1991-07-20)&lt;br /&gt;
*** LHA v2.13 - Japanese: [https://archive.org/details/Nova_Win50GameVol7_Japan Win 50 Game+ Vol. 7 (Japan)] → Win 50 Game+ Vol. 7 (Japan).7z → Win 50 Game+ Vol. 7 (Japan).{bin,cue} → lha_file/lha/lha213.exe&lt;br /&gt;
*** {{CdTextfiles|pier02/002a/lha252.exe|LHA v2.52 - Japanese}} (1992-09-07)&lt;br /&gt;
*** LHA v2.54 - Japanese (1992-10-04): [https://archive.org/details/cg-network-4 CG Network 4] → pc/program/lha/lha.exe&lt;br /&gt;
*** LHA v2.55 - Japanese (1992-11-15): [https://archive.org/details/2014.03.ftp.eri.u-tokyo.ac.jp] → ftp.eri.u-tokyo.ac.jp/pub/DOS/tools/lha255.exe&lt;br /&gt;
*** {{CdTextfiles|pdos9606/ARCHIVER/TOOLS/LHA255B.EXE|LHA v2.55b}} (1992-11-24) - Japanese (LHA.EXE) and English (LHA_E.EXE)&lt;br /&gt;
*** [http://info.elf.stuba.sk/packages/pub/pc/pack/lha266.exe LHA v2.66 test version - Japanese] (1994-12-30)&lt;br /&gt;
**** [{{SACFTPURL|pack|lha266e.exe}} lha266e.exe] - Official(?) patch to convert error messages to English&lt;br /&gt;
*** Various versions at old-dos.ru: [http://old-dos.ru/index.php?page=files&amp;amp;mode=files&amp;amp;do=show&amp;amp;id=3432 LHarc], [http://old-dos.ru/index.php?page=files&amp;amp;mode=files&amp;amp;do=show&amp;amp;id=713 LHA]&lt;br /&gt;
** For Windows console&lt;br /&gt;
*** [http://info.elf.stuba.sk/packages/pub/pc/pack/lha267.exe LHA32 v2.67.00 test version - Japanese] (1995-10-07)&lt;br /&gt;
**** [{{SACFTPURL|pack|lha267e.exe}} lha267e.exe] - Official(?) patch to convert error messages to English&lt;br /&gt;
** Source code&lt;br /&gt;
*** {{CdTextfiles|simtel/simtel20/MSDOS/ARCHIVRS/LHARCSRC.ZIP|v1.13b}}&lt;br /&gt;
*** {{CdTextfiles|simtel/simtel20/MSDOS/ARCHIVRS/LHA211SR.ZIP|v2.11}}&lt;br /&gt;
* [http://old-dos.ru/index.php?page=files&amp;amp;mode=files&amp;amp;do=show&amp;amp;id=2836 Lha32] - by &amp;quot;Take&amp;quot;&lt;br /&gt;
* [[LZHUF]] - Source code related to &amp;quot;lh1&amp;quot; compression&lt;br /&gt;
* [[ar (Haruhiko Okumura)]] - Implementation of &amp;quot;lh5&amp;quot; compression&lt;br /&gt;
* [https://github.com/temisu/ancient Ancient] - Has modern C++ code for decompressing most LHA schemes, but as of this writing there's no easy way to use it.&lt;br /&gt;
* {{Deark}} (e.g. with &amp;lt;code&amp;gt;-zip&amp;lt;/code&amp;gt; option)&lt;br /&gt;
&lt;br /&gt;
=== Software oddities ===&lt;br /&gt;
There are many customized versions of LHarc/LHA floating around. Some of them are listed here, either because they are notable, or because they are potentially misleading. (For DOS, unless otherwise indicated.)&lt;br /&gt;
&lt;br /&gt;
Worth noting is that LHA 2.x has a tamper-detection feature, invoked by running &amp;quot;LHA t LHA.EXE&amp;quot; (or &amp;quot;LHA_E t LHA_E.EXE&amp;quot;). Most (but not all) modified files fail the test, and print &amp;quot;No file found&amp;quot; or &amp;quot;Broken archive&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;LHarc v1.13&amp;quot; (1989-05-14): {{CdTextfiles|simtel0595/DISC1/CITADEL/K2NE608A.ZIP|K2NE608A.ZIP}} → LHARC.EXE - Suspect this is the v1.13 test version, edited to make it look like a full release.&lt;br /&gt;
* &amp;quot;LHarc v1.131c&amp;quot; by Steve Hoglund: [https://archive.org/details/bbs-1 BBS# 1] → DOCUMENT/TURBOBAS.LZH → LHARC.COM&lt;br /&gt;
* [[LHice]] - A hack of v1.13c.&lt;br /&gt;
* {{CdTextfiles|hof91/COMP/LHA114A.COM|&amp;quot;LHarc v1.14a&amp;quot;}} - A hack of v1.13c and/or LHice.&lt;br /&gt;
* {{CdTextfiles|hof91/ARC/LH114B.EXE|&amp;quot;LHARC v1.14β&amp;quot;}} - A hack of v1.13c and/or LHice.&lt;br /&gt;
* {{CdTextfiles|animfestival/SBPRO/LHARC.EXE|&amp;quot;LHarc v2.01a&amp;quot;}} - Apparently a hack of v1.13c.&lt;br /&gt;
* {{CdTextfiles|simtel/simtel9703/disk2/DISC2/ARCERS/LHA255E.EXE|&amp;quot;LHA v2.55E&amp;quot;}} (1992-11-15/1996-01-10) - English translation of v2.55, by Hitoshi Ozawa&lt;br /&gt;
&lt;br /&gt;
== Sample files ==&lt;br /&gt;
* [https://github.com/fragglet/lhasa/tree/master/test/archives lhasa test files]&lt;br /&gt;
* [https://github.com/libarchive/libarchive/tree/master/libarchive/test libarchive test files] → test_read_format_lha_*.lzh.uu&lt;br /&gt;
* [http://aminet.net/ aminet]&lt;br /&gt;
* {{CdTextfiles|hof91/}} ...&lt;br /&gt;
* https://telparia.com/fileFormatSamples/archive/lha/hexify.lha&lt;br /&gt;
&lt;br /&gt;
== Other links ==&lt;br /&gt;
* [[Wikipedia:LHA (file format)|Wikipedia article]]&lt;/div&gt;</summary>
		<author><name>Taritta</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/Talk:LHA</id>
		<title>Talk:LHA</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/Talk:LHA"/>
				<updated>2023-10-31T13:46:46Z</updated>
		
		<summary type="html">&lt;p&gt;Taritta: Samples discussion&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There's lots of sample files here:&lt;br /&gt;
https://github.com/fragglet/lhasa/tree/master/test/archives&lt;br /&gt;
however there are no lx1 and no Joe Jared files. Anyone knows where to find those?&lt;/div&gt;</summary>
		<author><name>Taritta</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/HA</id>
		<title>HA</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/HA"/>
				<updated>2023-10-25T20:23:43Z</updated>
		
		<summary type="html">&lt;p&gt;Taritta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|subcat=Archiving&lt;br /&gt;
|extensions={{ext|ha}}&lt;br /&gt;
|released=1993&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''HA''' is an archiver originally developed by Harri Hirvola for the (PC/MS) DOS platform, and later ported to Unix/Linux. It uses a compression method called HSC which is reportedly protected by patent, but since the pages mentioning this status are from as far back as 1995, the patent is likely to be expired by now.&lt;br /&gt;
&lt;br /&gt;
== Format info ==&lt;br /&gt;
All multi-byte numeric quantities are [[Endianness|little-endian]].&lt;br /&gt;
&lt;br /&gt;
The file header starts with &amp;quot;HA&amp;quot; (as ASCII characters).&lt;br /&gt;
&lt;br /&gt;
The next two bytes give the number of files in the archive.&lt;br /&gt;
&lt;br /&gt;
What follows is the header then contents of each file.&lt;br /&gt;
&lt;br /&gt;
Each file header starts with a single byte indicating version (in the upper 4 bits) and compression type (in the lower 4 bits): 0=CPY, 1=ASC, 2=HSC, E=DIR, F=Special&lt;br /&gt;
&lt;br /&gt;
Then 4 bytes comprise the compressed length, and 4 bytes comprise the uncompressed (original) length.&lt;br /&gt;
&lt;br /&gt;
4 bytes contain a [[CRC-32]] redundancy check.&lt;br /&gt;
&lt;br /&gt;
4 bytes contain the file date and time (unix timestamp).&lt;br /&gt;
&lt;br /&gt;
Next is the file pathname, null-terminated, then the filename, also null-terminated.&lt;br /&gt;
&lt;br /&gt;
One byte after that gives the length of the machine-specific information, followed by the bytes comprising this information, with the first byte specifying the information type.&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
* [https://ftp.openbsd.org/pub/OpenBSD/distfiles/ha0999.tgz ha0999.tgz] → format - Covers the file structure&lt;br /&gt;
* [https://www.fileformat.info/mirror/corion/index.htm#HA Info from FileFormat.Info and Corion.net]&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
* {{CdTextfiles|swextrav4/swextrav4-3/arch/ha098.zip|HA 0.98}} (1993-01) - DOS binary&lt;br /&gt;
* [https://www.sac.sk/download/pack/ha0999.zip HA 0.999 beta] (1995-01) - DOS binary + source code (in a HA file)&lt;br /&gt;
* [https://ftp.openbsd.org/pub/OpenBSD/distfiles/ha0999.tgz ha0999.tgz] - Unix port&lt;br /&gt;
* [https://ibiblio.org/pub/linux/utils/compress/ha0999p-linux.tar.gz ha0999p-linux.tar.gz] - An early Linux port&lt;br /&gt;
* [[Konvertor]]&lt;br /&gt;
* [{{SACFTPURL|pack|lgha11g.zip}} LGHA] - Optimized HA software for DOS. See also [[ARHANGEL]], for a related but incompatible format by the LGHA author.&lt;br /&gt;
&lt;br /&gt;
== Sample files ==&lt;br /&gt;
* https://telparia.com/fileFormatSamples/archive/ha/&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&amp;lt;!-- * [http://www.filewatcher.com/d/FreeBSD/9.1-release/i386/ha-0.999b_1.tbz.28472.html Info and download] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [http://terasaur.org/item/show/harri-hirvolas-ha-archiver-sources/4342 Another source for download] --&amp;gt;&lt;br /&gt;
* [http://manned.org/ha Man page]&lt;/div&gt;</summary>
		<author><name>Taritta</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/EGG_(ALZip)</id>
		<title>EGG (ALZip)</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/EGG_(ALZip)"/>
				<updated>2023-10-13T11:32:54Z</updated>
		
		<summary type="html">&lt;p&gt;Taritta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|formattype=electronic&lt;br /&gt;
|subcat=Archiving&lt;br /&gt;
|extensions={{ext|egg}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''EGG''' is an archiving format that is native to newer versions of the ALZip archiver software, which also supports a number of other formats (including the [[ALZ]] format of earlier ALZip versions).&lt;br /&gt;
&lt;br /&gt;
The makers of ALZip claim various advantages of EGG, including Unicode support and efficient compression which takes advantage of the similarities of data in multiple files in the same archive.&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
EGG archives begin with ASCII &amp;quot;{{magic|EGGA}}&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
* [http://www.altools.com/al/downloads/egg_module/EGG_Specification.zip EGG format spec] ([[ZIP]]ped [[PDF]])&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [https://github.com/PascalVault/File_Format_Info/tree/main/Archive/EGG Specification, unEGG sources]&lt;br /&gt;
* [http://www.altools.com/ALTools/ALZip/Egg-format.aspx EGG format info]&lt;br /&gt;
* [http://www.altools.com/ALTools/ALZip.aspx ALZip for Windows]&lt;br /&gt;
* [http://www.altools.com/ALTools/ALZipmac.aspx ALZip for Mac]&lt;br /&gt;
* [http://www.altools.com/al/downloads/egg_module/UnEGG.zip UnEGG module] (ZIPped download)&lt;br /&gt;
* [http://www.altools.com/al/downloads/egg_module/unegg_v0.5.tar.bz Unegg sources] (for Linux, in .[[Tape Archive|tar]].[[bzip|bz]] file)&lt;br /&gt;
* [[Wikipedia: ALZip]]&lt;/div&gt;</summary>
		<author><name>Taritta</name></author>	</entry>

	</feed>