aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bas2aplus.125
-rw-r--r--bas2aplus.rst29
2 files changed, 40 insertions, 14 deletions
diff --git a/bas2aplus.1 b/bas2aplus.1
index d263293..bdb1dd3 100644
--- a/bas2aplus.1
+++ b/bas2aplus.1
@@ -29,17 +29,17 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
..
.TH "BAS2APLUS" 1 "2024-07-21" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
-bas2aplus \- Convert Atari BASIC (and some BASIC XL) programs to BASIC/A+
+bas2aplus \- Convert Atari BASIC (and some BASIC XL/XE) programs to BASIC/A+
.SH SYNOPSIS
.sp
bas2aplus \fIinput\-file\fP \fIoutput\-file\fP
.SH DESCRIPTION
.sp
-\fBbas2aplus\fP reads an Atari BASIC or BASIC XL tokenized (SAVEd) program
+\fBbas2aplus\fP reads an Atari BASIC or BASIC XL/XE tokenized (SAVEd) program
and converts it to BASIC/A+.
.sp
All Atari BASIC programs can be successfully converted. Some BASIC
-XL operators have no equivalent in BASIC/A+, so programs using these
+XL/XE tokens have no equivalent in BASIC/A+, so programs using these
can\(aqt be converted (you will see messages on standard error, in that
case).
.SH OPTIONS
@@ -81,8 +81,8 @@ same developers. The token lists were rearranged so that it\(aqs
token\-compatible with Atari BASIC, and includes all the extra
commands/functions/etc from BASIC/A+... with different token numbers.
.sp
-BASIC XL has keywords and operators that don\(aqt exist in BASIC/A+. These
-are:
+BASIC XL has keywords and operators that don\(aqt exist in BASIC/A+,
+which can\(aqt be translated by \fBbas2aplus\fP\&. These are:
.INDENT 0.0
.TP
.B \fBNUM\fP
@@ -116,9 +116,22 @@ Also, BASIC XL supports hex constants, with a leading \fB$\fP\&. A+
doesn\(aqt support these, so they get converted to the equivalent decimal
constant. This is basically a cosmetic change; \fBA=$0600\fP assigns the
same value as \fBA=1536\fP\&.
+.SH BASIC XE
+.sp
+BASIC XE is the last in the series of OSS BASIC interpreters. It adds
+a few keywords to BASIC XL, which also don\(aqt exist in A+. These are:
+.INDENT 0.0
+.TP
+.B \fBEXTEND\fP
+This command is direct\-mode only, so it will never appear in a SAVEd
+program anyway.
+.TP
+.B \fBHITCLR\fP, \fBINVERSE\fP, \fBNORMAL\fP, \fBBLOAD\fP, \fBBSAVE\fP
+Not supported in either A+ or XL.
+.UNINDENT
.SH EXIT STATUS
.sp
-0 for success, non\-zero for failuse.
+0 for success, non\-zero for failure.
.SH COPYRIGHT
.sp
WTFPL. See \fI\%http://www.wtfpl.net/txt/copying/\fP for details.
diff --git a/bas2aplus.rst b/bas2aplus.rst
index 0eb44d6..18e70e7 100644
--- a/bas2aplus.rst
+++ b/bas2aplus.rst
@@ -2,9 +2,9 @@
bas2aplus
=========
-------------------------------------------------------------
-Convert Atari BASIC (and some BASIC XL) programs to BASIC/A+
-------------------------------------------------------------
+---------------------------------------------------------------
+Convert Atari BASIC (and some BASIC XL/XE) programs to BASIC/A+
+---------------------------------------------------------------
.. include:: manhdr.rst
@@ -16,11 +16,11 @@ bas2aplus *input-file* *output-file*
DESCRIPTION
===========
-**bas2aplus** reads an Atari BASIC or BASIC XL tokenized (SAVEd) program
+**bas2aplus** reads an Atari BASIC or BASIC XL/XE tokenized (SAVEd) program
and converts it to BASIC/A+.
All Atari BASIC programs can be successfully converted. Some BASIC
-XL operators have no equivalent in BASIC/A+, so programs using these
+XL/XE tokens have no equivalent in BASIC/A+, so programs using these
can't be converted (you will see messages on standard error, in that
case).
@@ -57,8 +57,8 @@ same developers. The token lists were rearranged so that it's
token-compatible with Atari BASIC, and includes all the extra
commands/functions/etc from BASIC/A+... with different token numbers.
-BASIC XL has keywords and operators that don't exist in BASIC/A+. These
-are:
+BASIC XL has keywords and operators that don't exist in BASIC/A+,
+which can't be translated by **bas2aplus**. These are:
**NUM**
Rarely found in a program (usually only used in direct mode).
@@ -91,9 +91,22 @@ doesn't support these, so they get converted to the equivalent decimal
constant. This is basically a cosmetic change; **A=$0600** assigns the
same value as **A=1536**.
+BASIC XE
+========
+
+BASIC XE is the last in the series of OSS BASIC interpreters. It adds
+a few keywords to BASIC XL, which also don't exist in A+. These are:
+
+**EXTEND**
+ This command is direct-mode only, so it will never appear in a SAVEd
+ program anyway.
+
+**HITCLR**, **INVERSE**, **NORMAL**, **BLOAD**, **BSAVE**
+ Not supported in either A+ or XL.
+
EXIT STATUS
===========
-0 for success, non-zero for failuse.
+0 for success, non-zero for failure.
.. include:: manftr.rst