diff options
| author | B. Watson <urchlay@slackware.uk> | 2025-11-26 03:15:39 -0500 |
|---|---|---|
| committer | B. Watson <urchlay@slackware.uk> | 2025-11-26 03:15:39 -0500 |
| commit | 5ca2a6212cab09d06252ba9a6443a45c239a7d6c (patch) | |
| tree | 7fbb964df473adbceb56df17ee111adb2a6c7d66 | |
| parent | d4f425b842b532ae16c8f3a226cbd1b98dbd98ad (diff) | |
| download | unalf-5ca2a6212cab09d06252ba9a6443a45c239a7d6c.tar.gz | |
Add alf man page.
| -rw-r--r-- | src/Makefile | 2 | ||||
| -rw-r--r-- | src/alf.1 | 129 | ||||
| -rw-r--r-- | src/alf.rst | 107 | ||||
| -rw-r--r-- | src/unalf.1 | 2 |
4 files changed, 238 insertions, 2 deletions
diff --git a/src/Makefile b/src/Makefile index 7a992e9..d09d8dc 100644 --- a/src/Makefile +++ b/src/Makefile @@ -45,7 +45,7 @@ ALF_OBJS=alf.o .PHONY: all clean install crosswin windows windows-upload realclean -all: unalf unalf.1 alfsum alfsum.1 alf +all: unalf unalf.1 alfsum alfsum.1 alf alf.1 # unalf and alfsum need explicit rules for BSD make compatibility. # without them, bmake tries to run "cc -o unalf unalf.c" which ain't diff --git a/src/alf.1 b/src/alf.1 new file mode 100644 index 0000000..eb5b0b7 --- /dev/null +++ b/src/alf.1 @@ -0,0 +1,129 @@ +.\" Man page generated from reStructuredText. +. +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.TH "ALF" 1 "2025-11-26" "0.2.0" "Urchlay's Atari 8-bit Tools" +.SH NAME +alf \- create Atari 8-bit ALF archives +.\" RST source for alf(1) man page. Convert with: +. +.\" rst2man.py alf.rst > alf.1 +. +.SH SYNOPSIS +.sp +alf [\fB\-\-help\fP] [\fB\-a\fP | \fB\-o\fP ] \fIalf\-file\fP \fIfile\fP [\fIfile\fP ...] +.SH DESCRIPTION +.sp +\fBalf\fP creates \fIALF\fP archives. +.sp +\fIALF\fP is a compressed archive format similar to \fBarc\fP(1), though +not compatible with it. It was used on the Atari 8\-bit platform +beginning in the late 1980s. The Atari executables are \fBLZ.COM\fP +for the compressor and \fBDZ.COM\fP for the decompressor. \fBalf\fP is a +rewrite of \fBLZ.COM\fP for modern operating systems, with added features. +.sp +By default, the \fIalf\-file\fP is created, and the \fIfile\fPs are compressed +and added to it. If \fIalf\-file\fP already existed, it is backed up by adding +a \fB~\fP to the filename. +.SH OPTIONS +.INDENT 0.0 +.TP +.B \-a +Append to \fIalf\-file\fP\&. 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. +.TP +.B \-o +Overwrite \fIalf\-file\fP if it exists; do not make a \fB~\fP backup. +.UNINDENT +.SH EXIT STATUS +.INDENT 0.0 +.TP +.B 0 +Success. +.TP +.B 1 +Fatal error (I/O or bad command\-line arguments). +.UNINDENT +.SH NOTES +.sp +This \fBalf\fP is \fIintended\fP to be 100% compatible with the original +Atari \fBLZ.COM\fP aka \fBALF.COM\fP, with the following differences: +.INDENT 0.0 +.IP \(bu 2 +There is no interactive mode. The file to create and the files to add +must be given as command\-line arguments. +.IP \(bu 2 +\fBLZ.COM\fP always appends to a file that already exists. This \fBalf\fP +overwrites (making a backup) by default, and can append with the \fB\-a\fP +option. +.UNINDENT +.sp +Note that \fBalf\fP is a complete reverse\-engineered rewrite in C, \fInot\fP +a port of the original 6502 code as \fBunalf\fP is. It\(aqs still being +tested, and may still contain bugs. +.sp +Performance is \fIhorrible\fP, O(n^2) or worse. This shouldn\(aqt 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\(aqs (rather modest) Intel i7 workstation. +A 50KB file takes 0.2 seconds, which is more typical of the files +you\(aqd actually use this with. +.SH COPYRIGHT +.sp +The original AlfCrunch (\fBDZ.COM\fP and \fBLZ.COM\fP) for the Atari 8\-bit +was released into the Public Domain. \fBalf\fP contains no code from +AlfCrunch. +.sp +\fBalf\fP is released under the WTPFL: Do WTF you want with this. +.SH AUTHOR +.sp +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". +.sp +This \fBalf\fP was written by B. Watson <\fI\%urchlay@slackware.uk\fP>. +.SH SEE ALSO +.sp +\fBunalf\fP(1), \fBalfls\fP(1) +.sp +The git repository for \fBunalf\fP: +.INDENT 0.0 +.INDENT 3.5 +\fI\%https://slackware.uk/~urchlay/repos/unalf\fP +.UNINDENT +.UNINDENT +.sp +Other Atari\-related projects by the author, including \fBbw\-atari8\-tools\fP +and \fBunmac65\fP: +.INDENT 0.0 +.INDENT 3.5 +\fI\%https://slackware.uk/~urchlay/repos/\fP +.UNINDENT +.UNINDENT +.\" Generated by docutils manpage writer. +. diff --git a/src/alf.rst b/src/alf.rst new file mode 100644 index 0000000..fbfd2c6 --- /dev/null +++ b/src/alf.rst @@ -0,0 +1,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 diff --git a/src/unalf.1 b/src/unalf.1 index b8a0566..59709ee 100644 --- a/src/unalf.1 +++ b/src/unalf.1 @@ -372,7 +372,7 @@ can be reached via the AtariAge.com forums with the username "Alfred". This \fBunalf\fP was written by B. Watson <\fI\%urchlay@slackware.uk\fP>. .SH SEE ALSO .sp -\fBalfls\fP(1) +\fBalf\fP(1), \fBalfls\fP(1) .sp The git repository for \fBunalf\fP: .INDENT 0.0 |
