PROTBAS(1)

NAME
protbas - LIST-protect Atari 8-bit BASIC programs

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.

  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.

  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.

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.

COPYRIGHT

WTFPL. See http://www.wtfpl.net/txt/copying/ for details.

AUTHOR

B.  Watson <urchlay@slackware.uk>; Urchlay on irc.libera.chat ##atari.

SEE ALSO

a8cat(1), a8eol(1), a8xd(1), atr2xfd(1), atrsize(1), axe(1), bas2aplus(1), blob2c(1), blob2xex(1), cart2xex(1), cxrefbas(1), dasm2atasm(1), diffbas(1), dumpbas(1), f2toxex(1), fenders(1), listbas(1), listamsb(1), protbas(1), renumbas(1), rom2cart(1), unmac65(1), unprotbas(1), vxrefbas(1), whichbas(1), xex1to2(1), xexamine(1), xexcat(1), xexsplit(1), xfd2atr(1), xex(5), atascii(7), fauxtari(7).

Any good Atari 8-bit book: De Re Atari, The Atari BASIC Reference Manual, the OS Users' Guide, Mapping the Atari, etc.