From ec9bb5b6b6512fcf157119b8075b6df0a8decff5 Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Thu, 13 Jun 2024 15:31:49 -0400 Subject: add missing files. --- manhdr5.rst | 7 +++ protbas.1 | 142 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ protbas.rst | 86 ++++++++++++++++++++++++++++++++++++ 3 files changed, 235 insertions(+) create mode 100644 manhdr5.rst create mode 100644 protbas.1 create mode 100644 protbas.rst diff --git a/manhdr5.rst b/manhdr5.rst new file mode 100644 index 0000000..e0b3c67 --- /dev/null +++ b/manhdr5.rst @@ -0,0 +1,7 @@ +.. include:: ver.rst +.. |date| date:: + +:Manual section: 5 +:Manual group: Urchlay's Atari 8-bit Tools +:Date: |date| +:Version: |version| diff --git a/protbas.1 b/protbas.1 new file mode 100644 index 0000000..33946b7 --- /dev/null +++ b/protbas.1 @@ -0,0 +1,142 @@ +.\" 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 "PROTBAS" 1 "2024-06-13" "0.2.1" "Urchlay's Atari 8-bit Tools" +.SH NAME +protbas \- LIST-protect Atari 8-bit BASIC programs +.SH SYNOPSIS +.sp +protbas [\fB\-v\fP] [\fB\-nc | **\-nv\fP] [\fB\-s\fP] [\fB\-xr\fP | \fB\-xNN\fP] \fBinput\-file\fP \fBoutput\-file\fP +.SH DESCRIPTION +.sp +\fBprotbas\fP reads a tokenized Atari 8\-bit BASIC program and writes a +LIST\-protected copy of the program. See the \fBDETAILS\fP section of the +\fBunprotbas\fP(1) man page, to understand how the protection works. +.sp +\fBinput\-file\fP must be a tokenized (SAVEd) Atari BASIC program. Use +\fI\-\fP to read from standard input, but \fBprotbas\fP will refuse to +read from standard input if it\(aqs a terminal. +.sp +\fBoutput\-file\fP will be the protected tokenized BASIC program. If it +already exists, it will be overwritten. Use \fI\-\fP to write to standard +output, but \fBprotbas\fP will refuse to write to standard output if +it\(aqs a terminal (since tokenized BASIC is binary data and may confuse +the terminal). +.sp +The code protection 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. +.SH OPTIONS +.sp +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 +.B \fB\-nc\fP +Do not code\-protect the program; only protect the variable names. +.TP +.B \fB\-nv\fP +Do not protect the variable names; only code\-protect the program. +.TP +.B \fB\-s\fP +Shrink variable name table to minimum size, one byte per variable +name. Programs protected this way are very similar to ones +protected with \fBPROTECT.BAS\fP\&. +.TP +.B \fB\-xr\fP, \fB\-x\fP \fINN\fP +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 +.SH EXIT STATUS +.INDENT 0.0 +.TP +.B 0 +\fBinput\-file\fP was unprotected, 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 a protected BASIC program. +.UNINDENT +.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 +\fBa8eol\fP(1), +\fBa8utf8\fP(1), +\fBatr2xfd\fP(1), +\fBatrsize\fP(1), +\fBaxe\fP(1), +\fBblob2c\fP(1), +\fBblob2xex\fP(1), +\fBcart2xex\fP(1), +\fBdasm2atasm\fP(1), +\fBdumpbas\fP(1), +\fBf2toxex\fP(1), +\fBfenders\fP(1), +\fBprotbas\fP(1), +\fBrenumbas\fP(1), +\fBrom2cart\fP(1), +\fBunmac65\fP(1), +\fBunprotbas\fP(1), +\fBvxrefbas\fP(1), +\fBxexamine\fP(1), +\fBxexcat\fP(1), +\fBxexsplit\fP(1), +\fBxfd2atr\fP(1), +\fBxex\fP(5), +\fBatascii\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/protbas.rst b/protbas.rst new file mode 100644 index 0000000..5ceb838 --- /dev/null +++ b/protbas.rst @@ -0,0 +1,86 @@ +======= +protbas +======= + +--------------------------------------- +LIST-protect Atari 8-bit BASIC programs +--------------------------------------- + +.. include:: manhdr.rst + +SYNOPSIS +======== + +protbas [**-v**] [**-nc | **-nv**] [**-s**] [**-xr** | **-xNN**] **input-file** **output-file** + +DESCRIPTION +=========== + +**protbas** reads a tokenized Atari 8-bit BASIC program and writes a +LIST-protected copy of the program. See the **DETAILS** section of the +**unprotbas**\(1) man page, to understand how the protection works. + +**input-file** must be a tokenized (SAVEd) Atari BASIC program. Use +*-* to read from standard input, but **protbas** will refuse to +read from standard input if it's a terminal. + +**output-file** will be the protected tokenized BASIC program. If it +already exists, it will be overwritten. Use *-* to write to standard +output, but **protbas** will refuse to write to standard output if +it's a terminal (since tokenized BASIC is binary data and may confuse +the terminal). + +The code protection 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. + +OPTIONS +======= + +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** + Do not code-protect the program; only protect the variable names. + +**-nv** + Do not protect the variable names; only code-protect the program. + +**-s** + Shrink variable name table to minimum size, one byte per variable + name. Programs protected this way are very similar to ones + protected with **PROTECT.BAS**. + +**-xr**, **-x** *NN* + Character to use for variable name protection. *NN* is the + character code in hex, e.g. **-x20** to use a space. Default is + **9b** (the EOL character). **-xr** means random codes. + +EXIT STATUS +=========== + +0 + **input-file** was unprotected, protection was successful. + +1 + I/O error, or **input-file** isn't a valid BASIC program. + +2 + **input-file** is already a protected BASIC program. + +.. include:: manftr.rst -- cgit v1.2.3