aboutsummaryrefslogtreecommitdiff
path: root/magic/alf
diff options
context:
space:
mode:
authorB. Watson <urchlay@slackware.uk>2025-11-19 16:27:16 -0500
committerB. Watson <urchlay@slackware.uk>2025-11-19 16:27:16 -0500
commit6259ba06fcf9574eae28c9c3222e14605c2cf27b (patch)
tree191ec1ed3340ac18b8732d02035acaf4ded692e7 /magic/alf
parent82c7a4d367f5f7ba42d31acfdcf66b787c0bdb78 (diff)
downloadunalf-6259ba06fcf9574eae28c9c3222e14605c2cf27b.tar.gz
Add file(1) magic.
Diffstat (limited to 'magic/alf')
-rw-r--r--magic/alf25
1 files changed, 25 insertions, 0 deletions
diff --git a/magic/alf b/magic/alf
new file mode 100644
index 0000000..4517d0d
--- /dev/null
+++ b/magic/alf
@@ -0,0 +1,25 @@
+### AlfCrunch
+# Author: B. Watson (urchlay@slackware.uk)
+#
+# Reference:
+# https://slackware.uk/~urchlay/repos/unalf/plain/doc/fileformat.txt
+#
+# This is very similar to ARC (see Magdir/archive), but doesn't
+# overlap with it. The . in the filename is always present, even
+# if there's no extender after it.
+#
+# Offsets 18 and 28 are the high bytes of the 32-bit original and
+# compressed sizes. These will always be 0, since Atari files are
+# never >16MB in size (and since the UNALF dearchiver can't handle
+# them anyway).
+#
+# magicbits=53.7
+#
+0 uleshort 0x0f1a
+>18 ubyte 0x00
+>>28 ubyte 0x00
+>>>2 regex/13 [A-Z][A-Z0-9@_]{0,7}\.[A-Z0-9@_]{0,3}
+>>>>&0 ubyte 0
+>>>>>2 string x Atari 8-bit AlfCrunch data, first filename %s
+!:mime application/x-atari-8bit-alfcrunch
+!:ext alf