aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--a8eol.12
-rw-r--r--a8utf8.12
-rw-r--r--atr2xfd.12
-rw-r--r--atrsize.12
-rw-r--r--axe.12
-rw-r--r--blob2c.12
-rw-r--r--blob2xex.12
-rw-r--r--cart2xex.12
-rw-r--r--cxrefbas.14
-rw-r--r--cxrefbas.rst12
-rw-r--r--dasm2atasm.12
-rw-r--r--dumpbas.126
-rw-r--r--dumpbas.rst14
-rw-r--r--fenders.12
-rw-r--r--genopts.rst11
-rw-r--r--protbas.128
-rw-r--r--protbas.rst14
-rw-r--r--renumbas.166
-rw-r--r--renumbas.rst47
-rw-r--r--rom2cart.12
-rw-r--r--unmac65.12
-rw-r--r--unprotbas.128
-rw-r--r--unprotbas.rst14
-rw-r--r--vxrefbas.14
-rw-r--r--vxrefbas.rst12
-rw-r--r--xex1to2.12
-rw-r--r--xexamine.12
-rw-r--r--xexcat.12
-rw-r--r--xexsplit.12
-rw-r--r--xfd2atr.12
31 files changed, 123 insertions, 193 deletions
diff --git a/Makefile b/Makefile
index 41373a2..8847086 100644
--- a/Makefile
+++ b/Makefile
@@ -154,7 +154,7 @@ cart2rom: rom2cart
manpages: $(MANS) $(MAN5S) $(MAN7S)
-%.1: %.rst manhdr.rst manftr.rst
+%.1: %.rst manhdr.rst manftr.rst genopts.rst
$(RST2MAN) $< > $@
%.5: %.rst manhdr5.rst manftr.rst
diff --git a/a8eol.1 b/a8eol.1
index 9fada03..7974b79 100644
--- a/a8eol.1
+++ b/a8eol.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "A8EOL" 1 "2024-06-16" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "A8EOL" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
a8eol \- convert Atari 8-bit text files to/from UNIX/Windows/Mac
.\" RST source for a8eol(1) man page. Convert with:
diff --git a/a8utf8.1 b/a8utf8.1
index 8648ebc..7b07d3a 100644
--- a/a8utf8.1
+++ b/a8utf8.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "A8UTF8" 1 "2024-06-16" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "A8UTF8" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
a8utf8 \- Convert Atari 8-bit text to UTF-8 encoded Unicode.
.\" RST source for a8utf8(1) man page. Convert with:
diff --git a/atr2xfd.1 b/atr2xfd.1
index 8700a5e..2e7d419 100644
--- a/atr2xfd.1
+++ b/atr2xfd.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "ATR2XFD" 1 "2024-06-16" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "ATR2XFD" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
atr2xfd \- Convert an Atari 8-bit ATR disk image to a raw (XFD) image
.\" RST source for atr2xfd(1) man page. Convert with:
diff --git a/atrsize.1 b/atrsize.1
index dd24af8..66cc590 100644
--- a/atrsize.1
+++ b/atrsize.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "ATRSIZE" 1 "2024-06-16" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "ATRSIZE" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
atrsize \- Change the size of an Atari 8-bit ATR disk image, or create a blank ATR image
.\" RST source for atrsize(1) man page. Convert with:
diff --git a/axe.1 b/axe.1
index 6241004..68ec7cd 100644
--- a/axe.1
+++ b/axe.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "AXE" 1 "2024-06-16" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "AXE" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
axe \- ATR/XFD Editor
.\" RST source for axe(1) man page. Convert with:
diff --git a/blob2c.1 b/blob2c.1
index b292a36..ca61f2f 100644
--- a/blob2c.1
+++ b/blob2c.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "BLOB2C" 1 "2024-06-16" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "BLOB2C" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
blob2c \- Create C source and header files from a binary file
.\" RST source for blob2c(1) man page. Convert with:
diff --git a/blob2xex.1 b/blob2xex.1
index 1fb19a4..ba699a4 100644
--- a/blob2xex.1
+++ b/blob2xex.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "BLOB2XEX" 1 "2024-06-16" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "BLOB2XEX" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
blob2xex \- Create Atari 8-bit executables from arbitrary data
.\" RST source for blob2xex(1) man page. Convert with:
diff --git a/cart2xex.1 b/cart2xex.1
index a1be462..90f092f 100644
--- a/cart2xex.1
+++ b/cart2xex.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "CART2XEX" 1 "2024-06-16" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "CART2XEX" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
cart2xex \- Convert an Atari 8-bit ROM cartridge image to a binary load file
.\" RST source for cart2xex(1) man page. Convert with:
diff --git a/cxrefbas.1 b/cxrefbas.1
index 6572532..bc028ef 100644
--- a/cxrefbas.1
+++ b/cxrefbas.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "CXREFBAS" 1 "2024-06-17" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "CXREFBAS" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
cxrefbas \- Code cross-reference for tokenized Atari 8-bit BASIC files
.SH SYNOPSIS
@@ -69,6 +69,8 @@ warning on standard error, e.g. \fIGOTO A\fP or \fIGOSUB 100*A\fP\&. Even \fIGOT
.sp
Line numbers above 32767, e.g. \fITRAP 40000\fP, are not listed.
.SH OPTIONS
+.sp
+There are no application\-specific options.
.SS General Options
.INDENT 0.0
.TP
diff --git a/cxrefbas.rst b/cxrefbas.rst
index 50c4dbc..3966e9c 100644
--- a/cxrefbas.rst
+++ b/cxrefbas.rst
@@ -51,17 +51,9 @@ Line numbers above 32767, e.g. *TRAP 40000*, are not listed.
OPTIONS
=======
-General Options
----------------
-**--help**
- Print usage message and exit.
+There are no application-specific options.
-**--version**
- Print version number and exit.
-
-**-v**
- Verbose operation. When displaying a number in verbose mode, it will
- be prefixed with *$* if it's in hex, or no prefix for decimal.
+.. include:: genopts.rst
EXAMPLE
=======
diff --git a/dasm2atasm.1 b/dasm2atasm.1
index 2c7fd04..b8cbdf0 100644
--- a/dasm2atasm.1
+++ b/dasm2atasm.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "DASM2ATASM" 1 "2024-06-16" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "DASM2ATASM" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
dasm2atasm \- Convert 6502 assembly source from dasm syntax to atasm or ca65 syntax.
.\" RST source for dasm2atasm(1) man page. Convert with:
diff --git a/dumpbas.1 b/dumpbas.1
index 1471885..2b7f115 100644
--- a/dumpbas.1
+++ b/dumpbas.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "DUMPBAS" 1 "2024-06-16" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "DUMPBAS" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
dumpbas \- Formatted hexdump for tokenized Atari 8-bit BASIC files
.SH SYNOPSIS
@@ -50,6 +50,18 @@ It\(aqs assumed the user has at least some knowledge of BASIC\(aqs tokenized
SAVE format. The \fBAtari BASIC Sourcebook\fP is a good starting point
for learning the tokenized format.
.SH OPTIONS
+.SS Dump Options
+.INDENT 0.0
+.TP
+.B \fB\-s\fP \fIstart\-lineno\fP
+Don\(aqt dump lines before \fBstart\-lineno\fP\&. Default: \fI0\fP\&.
+.TP
+.B \fB\-e\fP \fIend\-lineno\fP
+Don\(aqt dump lines after \fBstart\-lineno\fP\&. Default: \fI32768\fP\&.
+.TP
+.B \fB\-l\fP \fIlineno\fP
+Only dump one line. This is exactly equivalent to "\fB\-s\fP \fIlineno\fP \fB\-e\fP \fIlineno\fP".
+.UNINDENT
.SS General Options
.INDENT 0.0
.TP
@@ -63,18 +75,6 @@ Print version number and exit.
Verbose operation. When displaying a number in verbose mode, it will
be prefixed with \fI$\fP if it\(aqs in hex, or no prefix for decimal.
.UNINDENT
-.SS Dump Options
-.INDENT 0.0
-.TP
-.B \fB\-s\fP \fIstart\-lineno\fP
-Don\(aqt dump lines before \fBstart\-lineno\fP\&. Default: \fI0\fP\&.
-.TP
-.B \fB\-e\fP \fIend\-lineno\fP
-Don\(aqt dump lines after \fBstart\-lineno\fP\&. Default: \fI32768\fP\&.
-.TP
-.B \fB\-l\fP \fIlineno\fP
-Only dump one line. This is exactly equivalent to "\fB\-s\fP \fIlineno\fP \fB\-e\fP \fIlineno\fP".
-.UNINDENT
.SH FORMATTING
.sp
Every byte in the file is displayed in hex. However, they are grouped by line
diff --git a/dumpbas.rst b/dumpbas.rst
index 59cf93b..6dc32b9 100644
--- a/dumpbas.rst
+++ b/dumpbas.rst
@@ -32,18 +32,6 @@ for learning the tokenized format.
OPTIONS
=======
-General Options
----------------
-**--help**
- Print usage message and exit.
-
-**--version**
- Print version number and exit.
-
-**-v**
- Verbose operation. When displaying a number in verbose mode, it will
- be prefixed with *$* if it's in hex, or no prefix for decimal.
-
Dump Options
------------
**-s** *start-lineno*
@@ -55,6 +43,8 @@ Dump Options
**-l** *lineno*
Only dump one line. This is exactly equivalent to "**-s** *lineno* **-e** *lineno*".
+.. include:: genopts.rst
+
FORMATTING
==========
Every byte in the file is displayed in hex. However, they are grouped by line
diff --git a/fenders.1 b/fenders.1
index 7adf27f..48aad8e 100644
--- a/fenders.1
+++ b/fenders.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "FENDERS" 1 "2024-06-16" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "FENDERS" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
fenders \- Install Fenders 3-sector loader in boot sectors of an ATR image
.\" RST source for fenders(1) man page. Convert with:
diff --git a/genopts.rst b/genopts.rst
new file mode 100644
index 0000000..dfc588a
--- /dev/null
+++ b/genopts.rst
@@ -0,0 +1,11 @@
+General Options
+---------------
+**--help**
+ Print usage message and exit.
+
+**--version**
+ Print version number and exit.
+
+**-v**
+ Verbose operation. When displaying a number in verbose mode, it will
+ be prefixed with *$* if it's in hex, or no prefix for decimal.
diff --git a/protbas.1 b/protbas.1
index 0b716c6..9c8b35f 100644
--- a/protbas.1
+++ b/protbas.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "PROTBAS" 1 "2024-06-16" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "PROTBAS" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
protbas \- LIST-protect Atari 8-bit BASIC programs
.SH SYNOPSIS
@@ -57,19 +57,6 @@ a bad next\-line pointer. This will fail if there\(aqs already a line
Options may appear in any order. The first non\-option argument is used
for \fBinput\-file\fP; the second is \fBoutput\-file\fP\&. A third non\-option
argument is an error.
-.SS General Options
-.INDENT 0.0
-.TP
-.B \fB\-\-help\fP
-Print usage message and exit.
-.TP
-.B \fB\-\-version\fP
-Print version number and exit.
-.TP
-.B \fB\-v\fP
-Verbose operation. When displaying a number in verbose mode, it will
-be prefixed with \fI$\fP if it\(aqs in hex, or no prefix for decimal.
-.UNINDENT
.SS Protection Options
.INDENT 0.0
.TP
@@ -89,6 +76,19 @@ Character to use for variable name protection. \fINN\fP is the
character code in hex, e.g. \fB\-x20\fP to use a space. Default is
\fB9b\fP (the EOL character). \fB\-xr\fP means random codes.
.UNINDENT
+.SS General Options
+.INDENT 0.0
+.TP
+.B \fB\-\-help\fP
+Print usage message and exit.
+.TP
+.B \fB\-\-version\fP
+Print version number and exit.
+.TP
+.B \fB\-v\fP
+Verbose operation. When displaying a number in verbose mode, it will
+be prefixed with \fI$\fP if it\(aqs in hex, or no prefix for decimal.
+.UNINDENT
.SH EXIT STATUS
.INDENT 0.0
.TP
diff --git a/protbas.rst b/protbas.rst
index 5ceb838..56fb7c1 100644
--- a/protbas.rst
+++ b/protbas.rst
@@ -41,18 +41,6 @@ Options may appear in any order. The first non-option argument is used
for **input-file**; the second is **output-file**. A third non-option
argument is an error.
-General Options
----------------
-**--help**
- Print usage message and exit.
-
-**--version**
- Print version number and exit.
-
-**-v**
- Verbose operation. When displaying a number in verbose mode, it will
- be prefixed with *$* if it's in hex, or no prefix for decimal.
-
Protection Options
------------------
**-nc**
@@ -71,6 +59,8 @@ Protection Options
character code in hex, e.g. **-x20** to use a space. Default is
**9b** (the EOL character). **-xr** means random codes.
+.. include:: genopts.rst
+
EXIT STATUS
===========
diff --git a/renumbas.1 b/renumbas.1
index 33d54db..e2c50d2 100644
--- a/renumbas.1
+++ b/renumbas.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "RENUMBAS" 1 "2024-06-16" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "RENUMBAS" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
renumbas \- Renumber Atari 8-bit BASIC programs
.SH SYNOPSIS
@@ -53,11 +53,13 @@ e.g. if line 100 gets changed to 200, any other line that does a GOTO
100 (or GOSUB, RESTORE, TRAP, etc) will be updated with the new line
number.
.sp
-Computed line numbers can\(aqt be updated (e.g. GOTO A or GOSUB
-1000+A*100). These will draw warnings on stderr, so you can fix them
+Computed line numbers can\(aqt be updated (e.g. \fIGOTO A or GOSUB
+1000+A*100\fP). These will cause warnings on stderr, so you can fix them
manually.
.sp
-Line numbers that don\(aqt exist will not be changed (e.g. TRAP 40000).
+Valid line numbers (0 to 32767) that don\(aqt exist will not be changed,
+but will cause a warning. Invalid line numbers (e.g. \fITRAP 40000\fP)
+will be ignored (no change, no warning).
.sp
Remember that the maximum line number for Atari BASIC is 32767.
Renumbering will fail, if the chosen start and increment values
@@ -67,19 +69,6 @@ would result in lines with numbers higher than this.
Options may appear in any order. The first non\-option argument is used
for \fBinput\-file\fP; the second is \fBoutput\-file\fP\&. A third non\-option
argument is an error.
-.SS General Options
-.INDENT 0.0
-.TP
-.B \fB\-\-help\fP
-Print usage message and exit.
-.TP
-.B \fB\-\-version\fP
-Print version number and exit.
-.TP
-.B \fB\-v\fP
-Verbose operation. When displaying a number in verbose mode, it will
-be prefixed with \fI$\fP if it\(aqs in hex, or no prefix for decimal.
-.UNINDENT
.SS Renumber Options
.INDENT 0.0
.TP
@@ -93,26 +82,20 @@ Line number increment between successive lines. Default: 10.
Line number in original program where renumbering will start. Lines
numbered lower that this will not be renumbered. Default: 0.
.UNINDENT
-.SH LIMITATIONS
-.SS Computed line numbers with ON
-.sp
-If an ON/GOTO or ON/GOSUB uses computed line numbers (and causes a
-warning), none of the line numbers after the first computed one will
-be updated, even if they are constant. Example:
+.SS General Options
.INDENT 0.0
-.INDENT 3.5
-.sp
-.nf
-.ft C
-100 ON X GOTO 10,20*Y,30
-.ft P
-.fi
-.UNINDENT
+.TP
+.B \fB\-\-help\fP
+Print usage message and exit.
+.TP
+.B \fB\-\-version\fP
+Print version number and exit.
+.TP
+.B \fB\-v\fP
+Verbose operation. When displaying a number in verbose mode, it will
+be prefixed with \fI$\fP if it\(aqs in hex, or no prefix for decimal.
.UNINDENT
-.sp
-The 10 will be changed to whatever line 10 got renumbered to, as expected. The 20
-will \fInot\fP be changed. \fBrenumbas\fP just gives up, after the first computed
-line number.
+.SH LIMITATIONS
.sp
A pathological case:
.INDENT 0.0
@@ -120,19 +103,18 @@ A pathological case:
.sp
.nf
.ft C
-100 ON X GOTO 10+0,20+0
+100 GOTO 200+0
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
-The 10+0 and 20+0 are considered computed line numbers, even though
-the results of the computation are constant. This is because neither
-Atari BASIC nor \fBrenumbas\fP does constant folding.
+200+0 is considered a computed line number, even though the results of
+the computation are constant. This is because neither Atari BASIC nor
+\fBrenumbas\fP does constant folding.
.sp
-None of this should be a real\-world problem: computed line numbers in
-ON/GOTO or ON/GOSUB are exceedingly rare. The whole \fIpoint\fP of ON is
-to avoid computing line numbers.
+This shouldn\(aqt be a real\-world problem; did \fIyou\fP ever write code like
+that in Atari BASIC?
.SS Warning line numbers
.sp
Any warning that includes a line number (such as "Computed line number") will
diff --git a/renumbas.rst b/renumbas.rst
index a0b79ba..7d963b1 100644
--- a/renumbas.rst
+++ b/renumbas.rst
@@ -32,11 +32,13 @@ e.g. if line 100 gets changed to 200, any other line that does a GOTO
100 (or GOSUB, RESTORE, TRAP, etc) will be updated with the new line
number.
-Computed line numbers can't be updated (e.g. GOTO A or GOSUB
-1000+A*100). These will draw warnings on stderr, so you can fix them
+Computed line numbers can't be updated (e.g. *GOTO A or GOSUB
+1000+A*100*). These will cause warnings on stderr, so you can fix them
manually.
-Line numbers that don't exist will not be changed (e.g. TRAP 40000).
+Valid line numbers (0 to 32767) that don't exist will not be changed,
+but will cause a warning. Invalid line numbers (e.g. *TRAP 40000*)
+will be ignored (no change, no warning).
Remember that the maximum line number for Atari BASIC is 32767.
Renumbering will fail, if the chosen start and increment values
@@ -49,18 +51,6 @@ Options may appear in any order. The first non-option argument is used
for **input-file**; the second is **output-file**. A third non-option
argument is an error.
-General Options
----------------
-**--help**
- Print usage message and exit.
-
-**--version**
- Print version number and exit.
-
-**-v**
- Verbose operation. When displaying a number in verbose mode, it will
- be prefixed with *$* if it's in hex, or no prefix for decimal.
-
Renumber Options
----------------
**-s** *start-lineno*
@@ -73,32 +63,21 @@ Renumber Options
Line number in original program where renumbering will start. Lines
numbered lower that this will not be renumbered. Default: 0.
+.. include:: genopts.rst
+
LIMITATIONS
===========
-Computed line numbers with ON
------------------------------
-If an ON/GOTO or ON/GOSUB uses computed line numbers (and causes a
-warning), none of the line numbers after the first computed one will
-be updated, even if they are constant. Example::
-
- 100 ON X GOTO 10,20*Y,30
-
-The 10 will be changed to whatever line 10 got renumbered to, as expected. The 20
-will *not* be changed. **renumbas** just gives up, after the first computed
-line number.
-
A pathological case::
- 100 ON X GOTO 10+0,20+0
+ 100 GOTO 200+0
-The 10+0 and 20+0 are considered computed line numbers, even though
-the results of the computation are constant. This is because neither
-Atari BASIC nor **renumbas** does constant folding.
+200+0 is considered a computed line number, even though the results of
+the computation are constant. This is because neither Atari BASIC nor
+**renumbas** does constant folding.
-None of this should be a real-world problem: computed line numbers in
-ON/GOTO or ON/GOSUB are exceedingly rare. The whole *point* of ON is
-to avoid computing line numbers.
+This shouldn't be a real-world problem; did *you* ever write code like
+that in Atari BASIC?
Warning line numbers
--------------------
diff --git a/rom2cart.1 b/rom2cart.1
index 28ac181..ebd838f 100644
--- a/rom2cart.1
+++ b/rom2cart.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "ROM2CART" 1 "2024-06-16" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "ROM2CART" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
rom2cart \- Convert a raw ROM image to an Atari800 CART image, or vice versa
.\" RST source for rom2cart(1) man page. Convert with:
diff --git a/unmac65.1 b/unmac65.1
index fcc5469..a311eab 100644
--- a/unmac65.1
+++ b/unmac65.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "UNMAC65" 1 "2024-06-16" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "UNMAC65" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
unmac65 \- Detokenize Atari 8-bit Mac/65 SAVEd files.
.\" RST source for unmac65(1) man page. Convert with:
diff --git a/unprotbas.1 b/unprotbas.1
index 1cbbd98..c12345d 100644
--- a/unprotbas.1
+++ b/unprotbas.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "UNPROTBAS" 1 "2024-06-16" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "UNPROTBAS" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
unprotbas \- Unprotect LIST-protected Atari 8-bit BASIC programs
.SH SYNOPSIS
@@ -57,19 +57,6 @@ argument is an error.
Option bundling is not supported, use e.g. \fB\-v \-f\fP, not \fB\-vf\fP\&.
To use filenames beginning with \fI\-\fP, write them as \fI\&./\-file\fP, or they
will be treated as options.
-.SS General Options
-.INDENT 0.0
-.TP
-.B \fB\-\-help\fP
-Print usage message and exit.
-.TP
-.B \fB\-\-version\fP
-Print version number and exit.
-.TP
-.B \fB\-v\fP
-Verbose operation. When displaying a number in verbose mode, it will
-be prefixed with \fI$\fP if it\(aqs in hex, or no prefix for decimal.
-.UNINDENT
.SS Unprotection Options
.INDENT 0.0
.TP
@@ -102,6 +89,19 @@ already exists, it will be overwritten.
Read variable names from \fBvarnames.txt\fP, and use them instead of
generating the names. See \fBVARIABLE NAMES\fP, below.
.UNINDENT
+.SS General Options
+.INDENT 0.0
+.TP
+.B \fB\-\-help\fP
+Print usage message and exit.
+.TP
+.B \fB\-\-version\fP
+Print version number and exit.
+.TP
+.B \fB\-v\fP
+Verbose operation. When displaying a number in verbose mode, it will
+be prefixed with \fI$\fP if it\(aqs in hex, or no prefix for decimal.
+.UNINDENT
.SH EXIT STATUS
.INDENT 0.0
.TP
diff --git a/unprotbas.rst b/unprotbas.rst
index d24b1f3..21bbdb1 100644
--- a/unprotbas.rst
+++ b/unprotbas.rst
@@ -41,18 +41,6 @@ Option bundling is not supported, use e.g. **-v -f**, not **-vf**.
To use filenames beginning with *-*, write them as *./-file*, or they
will be treated as options.
-General Options
----------------
-**--help**
- Print usage message and exit.
-
-**--version**
- Print version number and exit.
-
-**-v**
- Verbose operation. When displaying a number in verbose mode, it will
- be prefixed with *$* if it's in hex, or no prefix for decimal.
-
Unprotection Options
--------------------
**-f**
@@ -84,6 +72,8 @@ Unprotection Options
Read variable names from **varnames.txt**, and use them instead of
generating the names. See **VARIABLE NAMES**, below.
+.. include:: genopts.rst
+
EXIT STATUS
===========
diff --git a/vxrefbas.1 b/vxrefbas.1
index 6ea268f..10fd8cc 100644
--- a/vxrefbas.1
+++ b/vxrefbas.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "VXREFBAS" 1 "2024-06-16" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "VXREFBAS" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
vxrefbas \- Variable cross-reference for tokenized Atari 8-bit BASIC files
.SH SYNOPSIS
@@ -86,6 +86,8 @@ Variable was set by \fILOCATE\fP on this line.
The last line of output shows the total number of variables and the
number of unreferenced variables.
.SH OPTIONS
+.sp
+There are no application\-specific options.
.SS General Options
.INDENT 0.0
.TP
diff --git a/vxrefbas.rst b/vxrefbas.rst
index 5a17cdb..d77e6c5 100644
--- a/vxrefbas.rst
+++ b/vxrefbas.rst
@@ -68,17 +68,9 @@ number of unreferenced variables.
OPTIONS
=======
-General Options
----------------
-**--help**
- Print usage message and exit.
+There are no application-specific options.
-**--version**
- Print version number and exit.
-
-**-v**
- Verbose operation. When displaying a number in verbose mode, it will
- be prefixed with *$* if it's in hex, or no prefix for decimal.
+.. include:: genopts.rst
EXIT STATUS
===========
diff --git a/xex1to2.1 b/xex1to2.1
index eadf8f2..7ccc3c2 100644
--- a/xex1to2.1
+++ b/xex1to2.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "XEX1TO2" 1 "2024-06-16" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "XEX1TO2" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
xex1to2 \- Convert an Atari DOS 1.0 executable to a standard Atari executable
.\" RST source for xex1to2(1) man page. Convert with:
diff --git a/xexamine.1 b/xexamine.1
index 8311ea8..b7bbb61 100644
--- a/xexamine.1
+++ b/xexamine.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "XEXAMINE" 1 "2024-06-16" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "XEXAMINE" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
xexamine \- Show information on Atari 8-bit executables (XEX)
.\" RST source for xexamine(1) man page. Convert with:
diff --git a/xexcat.1 b/xexcat.1
index a7b571d..17f662c 100644
--- a/xexcat.1
+++ b/xexcat.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "XEXCAT" 1 "2024-06-16" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "XEXCAT" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
xexcat \- Concatenate Atari 8-bit executables (XEX) into a single XEX file.
.\" RST source for xexcat(1) man page. Convert with:
diff --git a/xexsplit.1 b/xexsplit.1
index ba7b2ac..cef9f7d 100644
--- a/xexsplit.1
+++ b/xexsplit.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "XEXSPLIT" 1 "2024-06-16" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "XEXSPLIT" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
xexsplit \- Split a multi-segment Atari 8-bit executable (XEX) into multiple single-segment files.
.\" RST source for xexsplit(1) man page. Convert with:
diff --git a/xfd2atr.1 b/xfd2atr.1
index a4511f5..27f56c3 100644
--- a/xfd2atr.1
+++ b/xfd2atr.1
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "XFD2ATR" 1 "2024-06-16" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "XFD2ATR" 1 "2024-06-18" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
xfd2atr \- Convert an Atari 8-bit XFD (raw) disk image to an ATR image.
.\" RST source for xfd2atr(1) man page. Convert with: