aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--fonts/FauxtariScalableMono.ttfbin57484 -> 57484 bytes
-rw-r--r--listamsb.1123
-rw-r--r--listamsb.rst61
4 files changed, 185 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 608c1a7..d20cd88 100644
--- a/Makefile
+++ b/Makefile
@@ -21,7 +21,7 @@ CFLAGS=-Wall $(COPT) -ansi -D_GNU_SOURCE -DVERSION=\"$(VERSION)\"
# BINS and SCRIPTS go in $BINDIR, DOCS go in $DOCDIR
BINS=a8eol atr2xfd atrsize axe blob2c blob2xex cart2xex cxrefbas dumpbas fenders protbas renumbas rom2cart unmac65 unprotbas vxrefbas xex1to2 xexamine xexcat xexsplit xfd2atr listbas a8cat a8xd whichbas bas2aplus listamsb
SCRIPTS=dasm2atasm diffbas a8diff
-MANS=a8eol.1 xfd2atr.1 atr2xfd.1 blob2c.1 cart2xex.1 fenders.1 xexsplit.1 xexcat.1 atrsize.1 rom2cart.1 unmac65.1 axe.1 dasm2atasm.1 blob2xex.1 xexamine.1 xex1to2.1 unprotbas.1 protbas.1 renumbas.1 dumpbas.1 vxrefbas.1 cxrefbas.1 listbas.1 a8cat.1 a8xd.1 whichbas.1 diffbas.1 a8diff.1 bas2aplus.1
+MANS=a8eol.1 xfd2atr.1 atr2xfd.1 blob2c.1 cart2xex.1 fenders.1 xexsplit.1 xexcat.1 atrsize.1 rom2cart.1 unmac65.1 axe.1 dasm2atasm.1 blob2xex.1 xexamine.1 xex1to2.1 unprotbas.1 protbas.1 renumbas.1 dumpbas.1 vxrefbas.1 cxrefbas.1 listbas.1 a8cat.1 a8xd.1 whichbas.1 diffbas.1 a8diff.1 bas2aplus.1 listamsb.1
MAN5S=xex.5
MAN7S=atascii.7 fauxtari.7
DOCS=README.txt equates.inc *.dasm LICENSE ksiders/atr.txt
diff --git a/fonts/FauxtariScalableMono.ttf b/fonts/FauxtariScalableMono.ttf
index d69425f..590bc3b 100644
--- a/fonts/FauxtariScalableMono.ttf
+++ b/fonts/FauxtariScalableMono.ttf
Binary files differ
diff --git a/listamsb.1 b/listamsb.1
new file mode 100644
index 0000000..0cd2a05
--- /dev/null
+++ b/listamsb.1
@@ -0,0 +1,123 @@
+.\" 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 "LISTAMSB" 1 "2025-02-25" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.SH NAME
+listamsb \- List the source of a tokenized Atari Microsoft BASIC program
+.SH SYNOPSIS
+.sp
+listamsb [\fB\-a\fP] [\fB\-v\fP] [\fB\-h\fP] [\fB\-i\fP] [\fB\-u\fP] [\fB\-t\fP] [\fB\-m\fP] [\fB\-s\fP] [\fBinput\-file\fP]
+.SH DESCRIPTION
+.sp
+\fBlistamsb\fP acts like the \fILIST\fP command in Atari Microsoft BASIC. It reads a
+tokenized (SAVEd) AMSB program and prints the code in human\-readable
+format.
+.sp
+By default, output is piped to \fBa8cat\fP(1), which converts the
+ATASCII output to something that\(aqs human\-readable on modern terminals.
+This means \fBa8cat\fP must be availabe somewhere in \fB$PATH\fP\&.
+.sp
+\fBlistamsb\fP supports both versions of Atari Microsoft BASIC: the
+disk\-based version 1 and the cartridge\-based version 2. The language
+is the same for both versions, so there\(aqs no need to specify it.
+.sp
+\fBinput\-file\fP must be a tokenized AMSB program. If no \fBinput\-file\fP is given,
+input is read from stdin.
+.sp
+Output is to stdout. Use shell redirection to save the output to a file.
+.SH OPTIONS
+.INDENT 0.0
+.TP
+.B \fB\-a\fP
+Output raw ATASCII. This option must be used with a pipe or redirection, as
+\fBlistamsb\fP will not write ATASCII to a terminal. \fBa8cat\fP is not used,
+with this option.
+.TP
+.B \fB\-v\fP
+Verbose output, on stderr.
+.TP
+.B \fB\-h\fP
+Print built\-in help and exit.
+.TP
+.B \fB\-i\fP, \fB\-u\fP, \fB\-t\fP, \fB\-m\fP, \fB\-s\fP
+These options are passed to \fBa8cat\fP\&. See its man page for details. If
+the \fB\-a\fP option is used, these options have no effect.
+.UNINDENT
+.SH EXIT STATUS
+.sp
+0 for success, 1 if there was an error reading the input (e.g. file
+not found), or 2 if the input file has invalid tokens (if this
+happens, you will also see a warning about it on stderr).
+.SH COPYRIGHT
+.sp
+WTFPL. See \fI\%http://www.wtfpl.net/txt/copying/\fP for details.
+.SH AUTHOR
+.INDENT 0.0
+.IP B. 3
+Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\&.
+.UNINDENT
+.SH SEE ALSO
+.sp
+\fBa8cat\fP(1),
+\fBa8eol\fP(1),
+\fBa8xd\fP(1),
+\fBatr2xfd\fP(1),
+\fBatrsize\fP(1),
+\fBaxe\fP(1),
+\fBbas2aplus\fP(1),
+\fBblob2c\fP(1),
+\fBblob2xex\fP(1),
+\fBcart2xex\fP(1),
+\fBcxrefbas\fP(1),
+\fBdasm2atasm\fP(1),
+\fBdiffbas\fP(1),
+\fBdumpbas\fP(1),
+\fBf2toxex\fP(1),
+\fBfenders\fP(1),
+\fBlistbas\fP(1),
+\fBprotbas\fP(1),
+\fBrenumbas\fP(1),
+\fBrom2cart\fP(1),
+\fBunmac65\fP(1),
+\fBunprotbas\fP(1),
+\fBvxrefbas\fP(1),
+\fBwhichbas\fP(1),
+\fBxex1to2\fP(1),
+\fBxexamine\fP(1),
+\fBxexcat\fP(1),
+\fBxexsplit\fP(1),
+\fBxfd2atr\fP(1),
+\fBxex\fP(5),
+\fBatascii\fP(7),
+\fBfauxtari\fP(7).
+.sp
+Any good Atari 8\-bit book: \fIDe Re Atari\fP, \fIThe Atari BASIC Reference
+Manual\fP, the \fIOS Users\(aq Guide\fP, \fIMapping the Atari\fP, etc.
+.\" Generated by docutils manpage writer.
+.
diff --git a/listamsb.rst b/listamsb.rst
new file mode 100644
index 0000000..6bde24d
--- /dev/null
+++ b/listamsb.rst
@@ -0,0 +1,61 @@
+========
+listamsb
+========
+
+------------------------------------------------------------
+List the source of a tokenized Atari Microsoft BASIC program
+------------------------------------------------------------
+
+.. include:: manhdr.rst
+
+SYNOPSIS
+========
+
+listamsb [**-a**\] [**-v**\] [**-h**\] [**-i**\] [**-u**\] [**-t**\] [**-m**\] [**-s**\] [**input-file**\]
+
+DESCRIPTION
+===========
+
+**listamsb** acts like the *LIST* command in Atari Microsoft BASIC. It reads a
+tokenized (SAVEd) AMSB program and prints the code in human-readable
+format.
+
+By default, output is piped to **a8cat**\(1), which converts the
+ATASCII output to something that's human-readable on modern terminals.
+This means **a8cat** must be availabe somewhere in **$PATH**\.
+
+**listamsb** supports both versions of Atari Microsoft BASIC: the
+disk-based version 1 and the cartridge-based version 2. The language
+is the same for both versions, so there's no need to specify it.
+
+**input-file** must be a tokenized AMSB program. If no **input-file** is given,
+input is read from stdin.
+
+Output is to stdout. Use shell redirection to save the output to a file.
+
+OPTIONS
+=======
+
+**-a**
+ Output raw ATASCII. This option must be used with a pipe or redirection, as
+ **listamsb** will not write ATASCII to a terminal. **a8cat** is not used,
+ with this option.
+
+**-v**
+ Verbose output, on stderr.
+
+**-h**
+ Print built-in help and exit.
+
+**-i**\, **-u**\, **-t**\, **-m**\, **-s**
+ These options are passed to **a8cat**. See its man page for details. If
+ the **-a** option is used, these options have no effect.
+
+EXIT STATUS
+===========
+
+0 for success, 1 if there was an error reading the input (e.g. file
+not found), or 2 if the input file has invalid tokens (if this
+happens, you will also see a warning about it on stderr).
+
+.. include:: manftr.rst