Short: 7-Zip 26.04 archiver, all formats Author: Igor Pavlov (7-Zip), Matthias Muench (Port) Uploader: 7zip amigaworld de (Matthias Muench) Type: util/arc Version: 26.04 Requires: 68020+, AmigaOS 3.0+ Architecture: m68k-amigaos >= 3.0.0 Distribution: Aminet 7-Zip for AmigaOS 3.x (m68k) ============================ This is a native port of 7zz, the full command line version of 7-Zip 26.04 by Igor Pavlov, to classic AmigaOS. All archive formats of 7-Zip are built in. The program is linked against libnix, so no additional library (no ixemul, no clib2) is needed. Two versions are included: 7zz_020 for 68020 and 68030 (runs on any 68020 or better) 7zz_040 for 68040, 68060 and 68080 (Vampire); also runs on the 68LC040/68LC060 without FPU and the module for self-extracting archives: 7zSFX the 7-Zip SFX (7z only, unpacking only), see below Features -------- Packing: 7z, zip, tar, gzip, bzip2, xz, wim Unpacking: all formats of 7-Zip, among them 7z, zip, rar, rar5, tar, gzip, bzip2, xz, zstd, lzh/lha, arj, cab, iso, udf, wim, cpio, rpm, deb, dmg, hfs, ntfs, fat, squashfs, vhd, vmdk Methods: LZMA, LZMA2, PPMd, BZip2, Deflate, Deflate64, BCJ/BCJ2, Delta and more Encryption: AES-256 for 7z (also encrypted headers) and zip Hashes: CRC32, CRC64, SHA1, SHA256, SHA512, SHA3, BLAKE2sp, MD5, XXH64 (command "h") Also: multi volume archives (switch -v), update/delete/rename in archives, benchmark (command "b"), self-extracting 7z archives (module 7zSFX, see below) Installation ------------ Double-click "Install" in the drawer 7zip. The installer preselects the version for your CPU, copies it as C:7zz and, if you like, 7zSFX as C:7zSFX. If a file is already there, it asks with both versions. By hand: copy the version for your CPU to C: and rename it to 7zz: Copy 7zip/7zz_040 C:7zz For self-extracting archives also copy the SFX module: Copy 7zip/7zSFX C:7zSFX Usage ----- 7zz a archive.7z drawer pack a drawer into archive.7z 7zz x archive.7z unpack with full paths 7zz x -oWork:out archive.7z unpack into Work:out 7zz x -pSecret archive.7z unpack an encrypted archive 7zz l archive.7z list the contents 7zz t archive.7z test the archive 7zz a -tzip archive.zip files create a zip archive 7zz h -scrcSHA256 file show the SHA256 of a file 7zz b benchmark 7zz show all commands and switches The full 7-Zip documentation for the command line version applies. Self-extracting archives ------------------------ 7zSFX is the console SFX of 7-Zip for AmigaOS. A self-extracting archive is this module with a 7z archive inside: a program that unpacks itself, from the Shell or by double-click on its icon. Nobody needs 7-Zip for it. prog unpack into the current directory prog x -oWork:out unpack into Work:out prog l list the contents prog t test prog x -pSecret unpack an encrypted archive Started from the Workbench it opens a console window, unpacks into its own drawer and keeps the window open until you close it. On AmigaOS "7zz a -sfx7zSFX ..." does NOT give a working program: it just appends the archive to the module, and AmigaDOS refuses to load a program with data behind its last hunk ("file is not executable"). The archive has to go into a debug hunk of the module instead. LumiZip (a MUI front end for 7zz) does this with its option "Self-extracting". 7zSFX always has the same version as 7zz; use the two from one package. AmigaOS notes ------------- - Amiga paths work as usual: "Work:data", "RAM:test.7z", assigns. A volume or assign name is never stored inside an archive. - Use quotes for names with spaces: 7zz a test.7z "Work:My Files" - 7-Zip uses its own wildcards: '*' and '?', not the AmigaDOS pattern '#?'. - ':' is not allowed in AmigaOS file names. If an archive contains such a name, it is replaced by '_' while unpacking. So an archive can't write to other volumes. - File names are converted to ISO-8859-1, the character set of AmigaOS 3.x. Characters outside of it are replaced by '_'. - The protection bits R, W, E and D are kept (as POSIX permissions). H, S, P, A and file comments are not stored. When unpacking zip archives made on the Amiga (Info-ZIP, host "Amiga"), all protection bits and the file comments are restored. - zip only, switch -mamiga: store all protection bits and the file comments like Info-ZIP on the Amiga (host "Amiga"), e.g. 7zz a -tzip -mamiga archive.zip drawer Other systems then unpack the files without Unix permissions. - When overwriting, a file without the D or W bit is replaced as well (like a read-only file on Windows). - Ctrl-C (Break) stops 7zz within about a second, also in long steps without any output. - Self-extracting archives (7zSFX) of 2.5 MB and more open as 7z archives. Before, 7zz took an Amiga program for a Windows object file (COFF) and reported "Headers Error". - A file without the R bit can't be read. When packing, 7zz skips it with a warning and ends with return code 1, like on other systems. - Only the modification date is kept: AmigaOS has no creation or access date. Time stamps are stored in UTC like on other systems, so set your time zone in the Locale preferences. - Temporary files are written to T:. - The port is single threaded: switch -mmt has no effect. Memory ------ With the default settings 7zz packs 7z archives with LZMA2 and a 32 MB dictionary. For big files this needs about 380 MB of RAM. For small files 7-Zip lowers the dictionary automatically. With less RAM use: 7zz a -mx1 archive.7z drawer (about 12 MB) 7zz a -m0=LZMA2:d1m archive.7z drawer (about 20 MB) 7zz a -tzip archive.zip drawer (about 12 MB) Unpacking needs a bit more than the dictionary size of the archive: about 85 MB for big archives packed with the default settings, and about 12 MB for small ones. (Values measured with 7-Zip 26.03.) Speed ----- Benchmark "7zz b 1 -md18" on a Vampire V4 Standalone (68080, ~77 MHz): Packing Unpacking Rating 7zz_020 61 KB/s 782 KB/s 59 MIPS 7zz_040 68 KB/s 799 KB/s 63 MIPS Tests ----- Both versions were tested under emulation (Amiberry, 68020 and 68040) and on real hardware (Vampire V4 Standalone, AmigaOS 3.2). Archives created by the Linux version of 7-Zip were unpacked on the Amiga and checked with SHA256; archives created on the Amiga were tested and unpacked with the Linux version. Covered: all formats listed above for packing, many formats for unpacking, AES encryption, wrong passwords, unpacking of multi volume archives, Amiga paths, names with spaces and umlauts, update/delete/rename, time stamps and protection bits. Notes on the port ----------------- The port is built with the GCC 6.5 cross compiler by Stefan "Bebbo" Franke. Five problems of this toolchain were found and worked around, so the results are correct also on real hardware: - SHA256 was wrong (and different on each run) with -O2, because uninitialized memory was read. Emulators don't show this, as their memory is zeroed. - The BZip2 encoder wrote a wrong block CRC with -O1/-O2. - With -m68040 the compiler creates soft float code, but the linker specs add hard float libraries, so all floating point results were 0. - The exception tables of about every second object file were misaligned, so some C++ exceptions (e.g. Ctrl-C) ended in abort() instead of a clean exit. - The register renaming of Bebbo's optimizer (-fbbb, part "r") ignores exception edges. A small archive with encrypted headers and a wrong password could hang the machine (Guru 81000005). The port is built without this part. Also libnix needed some help: its wide character functions don't work with the 32-bit wchar_t of GCC (wmemcpy() copies bytes), lseek() can't move beyond the end of a file, and some POSIX functions are missing. History ------- 26.04 (2026-10-08) update to 7-Zip 26.04 of 2026-10-05 (bug and security fixes by Igor Pavlov) 26.03 (2026-09-17) first release of the AmigaOS port, based on 7-Zip 26.03 of 2026-09-03: 7zz for 68020 and for 68040/060/080, and 7zSFX, the module for self-extracting 7z archives (shell and Workbench) Licence ------- 7-Zip is free software under the GNU LGPL, some parts under the BSD 3-clause licence. The code for RAR is under the unRAR licence ("You may not use the code to develop a RAR (WinRAR) compatible archiver"). See License.txt, copying.txt and unRarLicense.txt in the archive. The source code of 7-Zip is available at https://www.7-zip.org/.