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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
.. RST source for alf(1) man page. Convert with:
.. rst2man.py alf.rst > alf.1
.. include:: ver.rst
.. |date| date::
===
alf
===
-------------------------------
create Atari 8-bit ALF archives
-------------------------------
:Manual section: 1
:Manual group: Urchlay's Atari 8-bit Tools
:Date: |date|
:Version: |version|
SYNOPSIS
========
alf [**--help**] [**-a** | **-o** ] *alf-file* *file* [*file* ...]
DESCRIPTION
===========
**alf** creates *ALF* archives.
*ALF* is a compressed archive format similar to **arc**\(1), though
not compatible with it. It was used on the Atari 8-bit platform
beginning in the late 1980s. The Atari executables are **LZ.COM**
for the compressor and **DZ.COM** for the decompressor. **alf** is a
rewrite of **LZ.COM** for modern operating systems, with added features.
By default, the *alf-file* is created, and the *file*\s are compressed
and added to it. If *alf-file* already existed, it is backed up by adding
a **~** to the filename.
OPTIONS
=======
-a
Append to *alf-file*. The files are added to the end of the archive. Be
careful not to add a file with the same name as as existing member of
the archive.
-o
Overwrite *alf-file* if it exists; do not make a **~** backup.
EXIT STATUS
===========
0
Success.
1
Fatal error (I/O or bad command-line arguments).
NOTES
=====
This **alf** is *intended* to be 100% compatible with the original
Atari **LZ.COM** aka **ALF.COM**, with the following differences:
- There is no interactive mode. The file to create and the files to add
must be given as command-line arguments.
- **LZ.COM** always appends to a file that already exists. This **alf**
overwrites (making a backup) by default, and can append with the **-a**
option.
Note that **alf** is a complete reverse-engineered rewrite in C, *not*
a port of the original 6502 code as **unalf** is. It's still being
tested, and may still contain bugs.
Performance is *horrible*, O(n^2) or worse. This shouldn't be a real
problem on modern multi-GHz CPU, especially since most Atari 8-bit
files are small (usually under 64KB). Compressing a 1.3MB text file
takes 5 seconds on the author's (rather modest) Intel i7 workstation.
A 50KB file takes 0.2 seconds, which is more typical of the files
you'd actually use this with.
COPYRIGHT
=========
The original AlfCrunch (**DZ.COM** and **LZ.COM**) for the Atari 8-bit
was released into the Public Domain. **alf** contains no code from
AlfCrunch.
**alf** is released under the WTPFL: Do WTF you want with this.
AUTHOR
======
The original AlfCrunch for the Atari 8-bit was written by Alfred, who
can be reached via the AtariAge.com forums with the username "Alfred".
This **alf** was written by B. Watson <urchlay@slackware.uk>.
SEE ALSO
========
**unalf**\(1), **alfls**\(1)
.. include:: manftr.rst
|