aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--a8eol.14
-rw-r--r--a8utf8.14
-rw-r--r--atascii.74
-rw-r--r--atr2xfd.14
-rw-r--r--atrsize.14
-rw-r--r--axe.14
-rw-r--r--blob2c.14
-rw-r--r--blob2xex.14
-rw-r--r--cart2xex.14
-rw-r--r--dasm2atasm.14
-rw-r--r--fenders.14
-rw-r--r--manftr.rst2
-rw-r--r--protbas.c4
-rw-r--r--rom2cart.14
-rw-r--r--unmac65.14
-rw-r--r--unprotbas.158
-rw-r--r--unprotbas.rst57
-rw-r--r--xex.54
-rw-r--r--xex1to2.14
-rw-r--r--xexamine.14
-rw-r--r--xexcat.14
-rw-r--r--xexsplit.14
-rw-r--r--xfd2atr.14
24 files changed, 89 insertions, 110 deletions
diff --git a/Makefile b/Makefile
index afd7b55..97bdcdd 100644
--- a/Makefile
+++ b/Makefile
@@ -18,7 +18,7 @@ CFLAGS=-Wall $(COPT) -ansi -D_GNU_SOURCE -DVERSION=\"$(VERSION)\"
# BINS and SCRIPTS go in $BINDIR, DOCS go in $DOCDIR
BINS=a8eol xfd2atr atr2xfd blob2c cart2xex fenders xexsplit xexcat atrsize rom2cart unmac65 axe blob2xex xexamine xex1to2 unprotbas protbas
SCRIPTS=dasm2atasm a8utf8
-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 a8utf8.1 blob2xex.1 xexamine.1 xex1to2.1 unprotbas.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 a8utf8.1 blob2xex.1 xexamine.1 xex1to2.1 unprotbas.1 protbas.1
MAN5S=xex.5
MAN7S=atascii.7
DOCS=README.txt equates.inc *.dasm LICENSE ksiders/atr.txt
diff --git a/a8eol.1 b/a8eol.1
index b68779d..0a7ce29 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-05-03" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "A8EOL" 1 "2024-06-03" "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:
@@ -472,8 +472,10 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
\fBdasm2atasm\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBprotbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
+\fBunprotbas\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
diff --git a/a8utf8.1 b/a8utf8.1
index beee34b..3a3f0bd 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-05-03" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "A8UTF8" 1 "2024-06-03" "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:
@@ -103,8 +103,10 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
\fBdasm2atasm\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBprotbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
+\fBunprotbas\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
diff --git a/atascii.7 b/atascii.7
index 4498caf..21728a4 100644
--- a/atascii.7
+++ b/atascii.7
@@ -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 "ATASCII" 7 "2024-05-03" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "ATASCII" 7 "2024-06-03" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
atascii \- Atari 8-bit character set
.\" RST source for atascii(7) man page. Convert with:
@@ -2163,8 +2163,10 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
\fBdasm2atasm\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBprotbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
+\fBunprotbas\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
diff --git a/atr2xfd.1 b/atr2xfd.1
index a192c2c..2e2b4d2 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-05-05" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "ATR2XFD" 1 "2024-06-03" "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:
@@ -192,8 +192,10 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
\fBdasm2atasm\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBprotbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
+\fBunprotbas\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
diff --git a/atrsize.1 b/atrsize.1
index 031e230..b756001 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-05-03" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "ATRSIZE" 1 "2024-06-03" "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:
@@ -206,8 +206,10 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
\fBdasm2atasm\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBprotbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
+\fBunprotbas\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
diff --git a/axe.1 b/axe.1
index f22b54f..8ea527e 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-05-03" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "AXE" 1 "2024-06-03" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
axe \- ATR/XFD Editor
.\" RST source for axe(1) man page. Convert with:
@@ -147,8 +147,10 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
\fBdasm2atasm\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBprotbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
+\fBunprotbas\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
diff --git a/blob2c.1 b/blob2c.1
index f59dbe2..c1afaf8 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-05-03" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "BLOB2C" 1 "2024-06-03" "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:
@@ -127,8 +127,10 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
\fBdasm2atasm\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBprotbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
+\fBunprotbas\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
diff --git a/blob2xex.1 b/blob2xex.1
index a13f982..ac149ce 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-05-17" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "BLOB2XEX" 1 "2024-06-03" "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:
@@ -218,8 +218,10 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
\fBdasm2atasm\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBprotbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
+\fBunprotbas\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
diff --git a/cart2xex.1 b/cart2xex.1
index 19ea56b..ffa7818 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-05-03" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "CART2XEX" 1 "2024-06-03" "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:
@@ -237,8 +237,10 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
\fBdasm2atasm\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBprotbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
+\fBunprotbas\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
diff --git a/dasm2atasm.1 b/dasm2atasm.1
index 699f97d..7e8e0fc 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-05-03" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "DASM2ATASM" 1 "2024-06-03" "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:
@@ -234,8 +234,10 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
\fBdasm2atasm\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBprotbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
+\fBunprotbas\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
diff --git a/fenders.1 b/fenders.1
index ba1d7d4..5bcd3a2 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-05-09" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "FENDERS" 1 "2024-06-03" "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:
@@ -281,8 +281,10 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
\fBdasm2atasm\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBprotbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
+\fBunprotbas\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
diff --git a/manftr.rst b/manftr.rst
index 12e78d2..e412fd9 100644
--- a/manftr.rst
+++ b/manftr.rst
@@ -22,8 +22,10 @@ SEE ALSO
**dasm2atasm**\(1),
**f2toxex**\(1),
**fenders**\(1),
+**protbas**\(1),
**rom2cart**\(1),
**unmac65**\(1),
+**unprotbas**\(1),
**xexamine**\(1),
**xexcat**\(1),
**xexsplit**\(1),
diff --git a/protbas.c b/protbas.c
index e57ead3..5b62496 100644
--- a/protbas.c
+++ b/protbas.c
@@ -136,9 +136,9 @@ void parse_args(int argc, char **argv) {
default:
{
char *e;
- varname_char = (int)strtol(&(*argv)[2], &e, 16);
+ varname_char = (int)strtol(optarg, &e, 16);
if(*e != 0 || varname_char > 0xff)
- die("Invalid hex value for -x option (range is 0 to ff).");
+ fprintf(stderr, "%s: Invalid hex value '%s' for -x option (range is 0 to ff).\n", self, optarg);
}
}
break;
diff --git a/rom2cart.1 b/rom2cart.1
index a3dfcb9..ec91561 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-05-03" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "ROM2CART" 1 "2024-06-03" "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:
@@ -250,8 +250,10 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
\fBdasm2atasm\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBprotbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
+\fBunprotbas\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
diff --git a/unmac65.1 b/unmac65.1
index 8e17857..c5ce47c 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-05-03" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "UNMAC65" 1 "2024-06-03" "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:
@@ -382,8 +382,10 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
\fBdasm2atasm\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBprotbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
+\fBunprotbas\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
diff --git a/unprotbas.1 b/unprotbas.1
index 34fe14f..06e8af7 100644
--- a/unprotbas.1
+++ b/unprotbas.1
@@ -27,31 +27,27 @@ 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-05-30" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "UNPROTBAS" 1 "2024-06-03" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
-unprotbas \- Unprotect or create LIST-protected Atari 8-bit BASIC programs
+unprotbas \- Unprotect LIST-protected Atari 8-bit BASIC programs
.SH SYNOPSIS
.sp
unprotbas [\fB\-v\fP] [\fB\-f\fP] [\fB\-n\fP] [\fB\-g\fP] [\fB\-c\fP] [\fB\-r\fP | \fB\-w\fP] \fBinput\-file\fP \fBoutput\-file\fP
-.sp
-unprotbas [\fB\-v\fP] [\fB\-p\fP | \fB\-pc\fP | \fB\-pv\fP] [\fB\-x\fP[\fIr|NN\fP] \fBinput\-file\fP \fBoutput\-file\fP
.SH DESCRIPTION
.sp
-\fBunprotbas\fP modifies a LIST\-protected Atari 8\-bit BASIC program,
-creating a new non\-protected copy. See \fBDETAILS\fP, below, to
-understand how the protection and unprotection works. It\(aqs also
-capable of LIST\-protecting an unprotected program (see the \fB\-p\fP
-option).
+\fBunprotbas\fP modifies a tokenized LIST\-protected Atari 8\-bit BASIC
+program, creating a new non\-protected copy. See \fBDETAILS\fP, below,
+to understand how the protection and unprotection works.
.sp
\fBinput\-file\fP must be a tokenized (SAVEd) Atari BASIC program. Use
\fI\-\fP to read from standard input, but \fBunprotbas\fP will refuse to
read from standard input if it\(aqs a terminal.
.sp
-\fBoutput\-file\fP will be the unprotected (or protected, with
-\fB\-p\fP) tokenized BASIC program. If it already exists, it will be
-overwritten. Use \fI\-\fP to write to standard output, but \fBunprotbas\fP
-will refuse to write to standard output if it\(aqs a terminal (since
-tokenized BASIC is binary data and may confuse the terminal).
+\fBoutput\-file\fP will be the unprotected tokenized BASIC program. If it
+already exists, it will be overwritten. Use \fI\-\fP to write to standard
+output, but \fBunprotbas\fP will refuse to write to standard output if
+it\(aqs a terminal (since tokenized BASIC is binary data and may confuse
+the terminal).
.SH OPTIONS
.sp
Options may appear in any order. The first non\-option argument is used
@@ -106,43 +102,17 @@ 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 Protection Options
-.INDENT 0.0
-.TP
-.B \fB\-p\fP, \fB\-pc\fP, \fB\-pv\fP
-LIST\-protect the program, rather than unprotecting it. \fB\-pc\fP sets
-an invalid (0) next\-line pointer on the last line of code. \fB\-pv\fP
-replaces the variable names with the Atari EOL character (\fB$9B\fP).
-\fB\-p\fP does both. None of the other options except \fB\-v\fP (verbose)
-and \fB\-x\fP can be used with these.
-.TP
-.B \fB\-xr\fP, \fB\-xNN\fP
-Character to use for variable name protection, with \fB\-p\fP or
-\fB\-pv\fP\&. \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. Do not put a space between the \fB\-x\fP and the hex digits or \fBr\fP\&.
-This option only works if \fB\-p\fP or \fB\-pv\fP is used.
-.TP
-.B \fB\-s\fP
-Shrink variable name table to one byte per variable name, with
-\fB\-p\fP or \fB\-pv\fP\&. Programs protected this way are very similar to
-ones protected with \fBPROTECT.BAS\fP\&.
-.UNINDENT
.SH EXIT STATUS
.INDENT 0.0
.TP
.B 0
\fBinput\-file\fP was protected, unprotection was successful.
-With \fB\-p\fP, \fB\-pc\fP, \fB\-pv\fP: \fBinput\-file\fP was not
-protected, protection was successful.
.TP
.B 1
I/O error, or \fBinput\-file\fP isn\(aqt a valid BASIC program.
.TP
.B 2
\fBinput\-file\fP is already an unprotected BASIC program.
-With \fB\-p\fP, \fB\-pc\fP, \fB\-pv\fP: \fBinput\-file\fP is already a
-protected BASIC program.
.UNINDENT
.SH DETAILS
.sp
@@ -212,7 +182,7 @@ The program \fBPROTECT.BAS\fP, found on Disk 2 of the Holmes Archive,
creates protected BASIC programs that only use variable name
scrambling.
.sp
-\fBunprotbas \-pv\fP also does variable name scrambling.
+\fBprotbas\fP(1) also does variable name scrambling.
.TP
.B Bad next\-line pointer
Every line of tokenized BASIC contains a line length byte, which
@@ -255,9 +225,7 @@ The program \fBUNPROTEC\fP, from the \fIPirate\(aqs Treasure Chest\fP, can
fix bad pointers in protected programs, though it doesn\(aqt do
anything about variable name scrambling.
.sp
-\fBunprotbas \-pc\fP also does this type of protection. It works by
-adding a line 32767 to the program, with a bad next\-line pointer.
-This will fail if there\(aqs already a line 32767.
+\fBprotbas\fP also does this type of protection.
.UNINDENT
.sp
One more thing \fBunprotbas\fP can do is remove extra data from the end
@@ -381,8 +349,10 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
\fBdasm2atasm\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBprotbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
+\fBunprotbas\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
diff --git a/unprotbas.rst b/unprotbas.rst
index 1af8fd8..d24b1f3 100644
--- a/unprotbas.rst
+++ b/unprotbas.rst
@@ -2,9 +2,9 @@
unprotbas
=========
--------------------------------------------------------------
-Unprotect or create LIST-protected Atari 8-bit BASIC programs
--------------------------------------------------------------
+---------------------------------------------------
+Unprotect LIST-protected Atari 8-bit BASIC programs
+---------------------------------------------------
.. include:: manhdr.rst
@@ -13,26 +13,22 @@ SYNOPSIS
unprotbas [**-v**] [**-f**] [**-n**] [**-g**] [**-c**] [**-r** | **-w**] **input-file** **output-file**
-unprotbas [**-v**] [**-p** | **-pc** | **-pv**] [**-x**\[*r|NN*] **input-file** **output-file**
-
DESCRIPTION
===========
-**unprotbas** modifies a LIST-protected Atari 8-bit BASIC program,
-creating a new non-protected copy. See **DETAILS**, below, to
-understand how the protection and unprotection works. It's also
-capable of LIST-protecting an unprotected program (see the **-p**
-option).
+**unprotbas** modifies a tokenized LIST-protected Atari 8-bit BASIC
+program, creating a new non-protected copy. See **DETAILS**, below,
+to understand how the protection and unprotection works.
**input-file** must be a tokenized (SAVEd) Atari BASIC program. Use
*-* to read from standard input, but **unprotbas** will refuse to
read from standard input if it's a terminal.
-**output-file** will be the unprotected (or protected, with
-**-p**) tokenized BASIC program. If it already exists, it will be
-overwritten. Use *-* to write to standard output, but **unprotbas**
-will refuse to write to standard output if it's a terminal (since
-tokenized BASIC is binary data and may confuse the terminal).
+**output-file** will be the unprotected tokenized BASIC program. If it
+already exists, it will be overwritten. Use *-* to write to standard
+output, but **unprotbas** will refuse to write to standard output if
+it's a terminal (since tokenized BASIC is binary data and may confuse
+the terminal).
OPTIONS
=======
@@ -88,42 +84,17 @@ Unprotection Options
Read variable names from **varnames.txt**, and use them instead of
generating the names. See **VARIABLE NAMES**, below.
-Protection Options
-------------------
-**-p**, **-pc**, **-pv**
- LIST-protect the program, rather than unprotecting it. **-pc** sets
- an invalid (0) next-line pointer on the last line of code. **-pv**
- replaces the variable names with the Atari EOL character (**$9B**).
- **-p** does both. None of the other options except **-v** (verbose)
- and **-x** can be used with these.
-
-**-xr**, **-xNN**
- Character to use for variable name protection, with **-p** or
- **-pv**. *NN* is the character code in hex, e.g. **-x20** to use
- a space. Default is **9b** (the EOL character). **-xr** means random
- codes. Do not put a space between the **-x** and the hex digits or **r**.
- This option only works if **-p** or **-pv** is used.
-
-**-s**
- Shrink variable name table to one byte per variable name, with
- **-p** or **-pv**. Programs protected this way are very similar to
- ones protected with **PROTECT.BAS**.
-
EXIT STATUS
===========
0
**input-file** was protected, unprotection was successful.
- With **-p**, **-pc**, **-pv**: **input-file** was not
- protected, protection was successful.
1
I/O error, or **input-file** isn't a valid BASIC program.
2
**input-file** is already an unprotected BASIC program.
- With **-p**, **-pc**, **-pv**: **input-file** is already a
- protected BASIC program.
DETAILS
=======
@@ -185,7 +156,7 @@ Variable name table scrambling
creates protected BASIC programs that only use variable name
scrambling.
- **unprotbas -pv** also does variable name scrambling.
+ **protbas**\(1) also does variable name scrambling.
Bad next-line pointer
Every line of tokenized BASIC contains a line length byte, which
@@ -228,9 +199,7 @@ Bad next-line pointer
fix bad pointers in protected programs, though it doesn't do
anything about variable name scrambling.
- **unprotbas -pc** also does this type of protection. It works by
- adding a line 32767 to the program, with a bad next-line pointer.
- This will fail if there's already a line 32767.
+ **protbas** also does this type of protection.
One more thing **unprotbas** can do is remove extra data from the end
of the file. It's possible for BASIC files to contain extra data that
diff --git a/xex.5 b/xex.5
index 82774fe..14b6883 100644
--- a/xex.5
+++ b/xex.5
@@ -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 "XEX" 5 "2024-05-03" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "XEX" 5 "2024-06-03" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
xex \- Atari 8-bit executable file format.
.\" RST source for xex(5) man page. Convert with:
@@ -309,8 +309,10 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
\fBdasm2atasm\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBprotbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
+\fBunprotbas\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
diff --git a/xex1to2.1 b/xex1to2.1
index 18ef638..a9468cd 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-05-03" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "XEX1TO2" 1 "2024-06-03" "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:
@@ -83,8 +83,10 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
\fBdasm2atasm\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBprotbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
+\fBunprotbas\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
diff --git a/xexamine.1 b/xexamine.1
index 381deb8..83963b6 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-05-03" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "XEXAMINE" 1 "2024-06-03" "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:
@@ -141,8 +141,10 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
\fBdasm2atasm\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBprotbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
+\fBunprotbas\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
diff --git a/xexcat.1 b/xexcat.1
index 0b6708b..686a463 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-05-03" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "XEXCAT" 1 "2024-06-03" "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:
@@ -201,8 +201,10 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
\fBdasm2atasm\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBprotbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
+\fBunprotbas\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
diff --git a/xexsplit.1 b/xexsplit.1
index efe9ba0..ec232a5 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-05-03" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "XEXSPLIT" 1 "2024-06-03" "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:
@@ -194,8 +194,10 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
\fBdasm2atasm\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBprotbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
+\fBunprotbas\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
diff --git a/xfd2atr.1 b/xfd2atr.1
index 468361b..091dc15 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-05-03" "0.2.1" "Urchlay's Atari 8-bit Tools"
+.TH "XFD2ATR" 1 "2024-06-03" "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:
@@ -122,8 +122,10 @@ Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\
\fBdasm2atasm\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
+\fBprotbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
+\fBunprotbas\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),