blob: 024b5194271b7eb6154698348f14a223b3ddc61e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
### AlfCrunch
# Reference:
# https://slackware.uk/~urchlay/repos/alftools/plain/doc/fileformat.txt
# https://slackware.uk/~urchlay/repos/alftools/plain/doc/compression.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 LZ.COM and DZ.COM can't create or
# extract them anyway).
#
# Offset 29 is the first byte of the compressed stream. It will always
# be 0x80, because the stream always starts with a 9-bit "reset" code
# (for normal files), or an "end" code (for 0-byte files). Either way,
# the high 8 bits of the code are 0x80.
#
# magicbits=61.7
#
0 uleshort 0x0f1a
>18 ubyte 0x00
>>28 ubyte 0x00
>>>29 ubyte 0x80
>>>>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
|