|

7-Zip von Igor Pavlov ist einer der vielseitigsten Packer überhaupt – und jetzt gibt es ihn im aktuellen Stand auch für den klassischen Amiga. Der Port bringt 7zz, die vollständige Kommandozeilenfassung von 7-Zip 26.04, nativ auf AmigaOS 3.x, mit allen Formaten eingebaut und gegen libnix gelinkt: Eine ixemul.library oder clib2 wird nicht benötigt. Packen kann 7zz nach 7z, zip, tar, gzip, bzip2, xz und wim, entpacken alles, was 7-Zip kennt, darunter rar und rar5, zstd, lha/lzh, arj, cab, iso, dmg und die Abbilder von FAT-, NTFS- und HFS-Datenträgern. Dazu kommen die AES-256-Verschlüsselung für 7z (auch mit verschlüsselten Dateinamen) und zip, Prüfsummen von CRC32 bis SHA3 und BLAKE2sp, mehrteilige Archive sowie Hinzufügen, Löschen und Umbenennen in bestehenden Archiven.
Beiliegen zwei Fassungen: 7zz_020 läuft auf jedem Amiga ab 68020, 7zz_040 ist für 68040, 68060 und den 68080 der Vampire übersetzt und läuft auch auf den LC-Prozessoren ohne FPU. Ein Installer wählt die passende Fassung nach der CPU vor, kopiert sie als C:7zz und fragt bei schon vorhandenen Dateien mit beiden Versionsnummern nach. Für den 68080 ist der Port eigens nachgeschärft: Wortzugriffe statt Einzelbytes beschleunigen die Prüfsummen, und 32-Bit-Wahrscheinlichkeiten im LZMA-Coder machen das Entpacken von 7z-Archiven rund zehn Prozent schneller.

Auf dem Amiga verhält sich 7zz wie ein Amiga-Programm: Pfade mit Laufwerken und Assigns funktionieren wie gewohnt, ein Laufwerksname landet aber nie im Archiv. Dateinamen werden in den Zeichensatz ISO-8859-1 von AmigaOS 3.x umgerechnet, ein Doppelpunkt im Namen wird zu „_“, damit kein Archiv auf fremde Laufwerke schreiben kann. Die Schutzbits RWED bleiben erhalten; mit dem Schalter -mamiga speichert 7zz in zip-Archiven sogar alle Schutzbits und die Dateikommentare wie Info-ZIP auf dem Amiga, und beim Entpacken solcher Archive kommen sie zurück. Ctrl-C bricht auch lange Schritte innerhalb einer Sekunde ab. Zeitstempel speichert 7zz wie auf anderen Systemen in UTC – die Zeitzone sollte deshalb in den Locale-Einstellungen stimmen.
Mit 7zSFX liegt das Modul für selbstentpackende Archive bei: ein Programm, das sich aus der Shell oder per Doppelklick auf sein Symbol selbst entpackt, ganz ohne 7-Zip auf dem Zielrechner. Das unter Windows übliche 7zz a -sfx taugt auf dem Amiga allerdings nicht, denn AmigaDOS lädt kein Programm mit angehängten Daten – das Archiv muss in einen eigenen Hunk des Moduls. Das erledigt LumiZip , die MUI-Oberfläche für 7zz, mit der Option „Selbstentpackend“.
Ganz ohne Arbeit an der Werkzeugkette ging es nicht: Der GCC 6.5 von Bebbo erzeugte an fünf Stellen fehlerhaften Code, vom falschen SHA256 über eine falsche Block-CRC bei BZip2 bis zu einem Absturz bei falschem Passwort. Alle fünf sind umgangen, getestet wurde unter Emulation (Amiberry, 68020 und 68040) und auf echter Hardware mit einer Vampire V4 Standalone und einem A1200. Zwei Grenzen bleiben: Der Port arbeitet mit einem einzigen Thread, und große Wörterbücher brauchen Speicher – mit den Vorgaben packt 7zz große Dateien mit rund 380 MB, mit -mx1 reichen etwa 12 MB, und zum Entpacken genügt bei kleinen Archiven ebenfalls ein Dutzend Megabyte. Download im Aminet unter util/arc/7zip .
|