1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

Section 1: General Intro to this FAQ and Applesoft Environment

1.1: Statement of Purpose

This document is not (yet?) a tutorial, instructions on how to
program, or the like. It is assumed that the reader has at least a
basic introduction to programming, such as variables, flow of
execution, as well as a general understanding of either DOS 3.3 or
ProDOS for the Apple II.

With the proliferation of Applesoft BASIC addons in the 70s, 80s and
90s, this FAQ does not attempt to cover any of them, though it may
make reference to a few of them from time to time. The only "variants"
to Applesoft that will be commented on in this FAQ are (1) the version
built into the ROM of all Apples since the ][+, (2) the ROM version
running under DOS 3.3 and 100% compatible clones, (3) the ROM version
running in conjunction with ProDOS's BASIC.SYSTEM. Most of the time,
these versions are nearly identical, so Applesoft information should
be regarded as applying to all 3 unless otherwise specified.

A few versions of Applesoft, namely the ones loaded from cassette and
disk on systems without Applesoft in ROM, lack a few features. Those
differences may be noted from time to time, but those notations may
not be complete yet.

About the only change in the ROM versions of Applesoft was the
inclusion of lowercase support starting with the //c and then
spreading to the enhanced //e, GS and IIc+. With that, Applesoft could
be entered in lowercase, but everything except for strings which
remained untouched would be uppercased. Also, the //c, IIc+ and GS
have no cassette port, so the cassette functions were removed. Support
for double lo-res was added instead.

1.2 Conventions and the like used by this FAQ:

Applesoft commands and the like are shown in uppercase and usually
within single quotes ('). For example, 'PRINT "HELLO, WORLD"' is the
way for the computer to announce to the world that it's alive, and
also a simple test of Applesoft. All Applesoft keywords are noted in
uppercase, and should be a hypertext link to the fuller description in
this FAQ. Optional parts of commands are noted in brackets '[]'. Words
in lowercase are usually intended to represent variables, expressions,
line numbers, etc.

1.3 Determining which OS is running, etc.

First, make sure you are at the Applesoft ']' prompt. Type 'CATALOG'
(case sensitive, even if you're running on a //c, enhanced //e, GS or
the like) and hit return. If you got a '?SYNTAX ERROR' and a beep
despite typing it correctly, you're likely not running under any
operating system. If you get a disk listing of files, you're under DOS
3.x or ProDOS. A DOS 3.x (3.2, 3.2.1 and 3.3, though 3.3 is by far the
most common) catalog would tend to look like