aboutsummaryrefslogtreecommitdiff
path: root/src/alf.rst
diff options
context:
space:
mode:
Diffstat (limited to 'src/alf.rst')
-rw-r--r--src/alf.rst20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/alf.rst b/src/alf.rst
index bb55282..8108d7d 100644
--- a/src/alf.rst
+++ b/src/alf.rst
@@ -67,6 +67,9 @@ EXIT STATUS
NOTES
=====
+Compatibility
+-------------
+
This **alf** is *intended* to be 100% compatible with the original
Atari **LZ.COM** aka **ALF.COM**, with the following differences:
@@ -77,10 +80,16 @@ Atari **LZ.COM** aka **ALF.COM**, with the following differences:
overwrites (making a backup) by default, and can append with the **-a**
option.
+- Turning the screen off for speed makes no sense on modern operating
+ systems, so there's no option for that.
+
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.
+File Size Limits
+----------------
+
**alf** (and **LZ.COM**) have a 16MB file size limit. **uanlf**
actually can't handle files above about 15MB, if you compress one with
**alf**. Real Atari 8-bit files are never this large anyway, so it's
@@ -88,15 +97,24 @@ a pathological case. A real Atari would take hours or even days to
compress/decompress such files, and you'd have to have a hard disk and
a DOS capable of handling multi-megabyte files...
+It's also impossible to compress empty (0-byte) files. **alf** will
+skip them, if any are found.
+
+Performance
+-----------
+
Performance is *horrible*. This shouldn't be a real problem on
modern multi-GHz CPU, especially since most Atari 8-bit files are
small (usually under 64KB). Interestingly, it's not O(n^2), it scales
linearly, O(1): Compressing a 1.3MB text file takes 0.7 seconds on the
author's (rather modest) Intel i7 workstation, and a file 10x as large
takes approximately 10x as long (7 seconds). A 50KB file is almost
-instantaneous, 0.5 seconds, which is more typical of the files you'd
+instantaneous, 0.05 seconds, which is more typical of the files you'd
actually use this with.
+Timestamps
+----------
+
The date/time stamps stored in the archive are the **mtime**\s of
the files (which is the same time **ls**\(1) shows, by default), and
your local timezone is assumed. Only a 2-digit year is displayed by