Apple Computer Reading List

Apple II Programmer's Reference

][ in a Mac Emulator

Old Computer Book Gallery

Ray Borrill & The Data Domain

Chittenango ovate amber snail


Apple II Programmer's Reference

Here's a brief list of Applesoft, Integer Basic, DOS 3.3, and ProDOS commands with descriptions.

I found these in the back of a manual for II in a Mac, one of the first Apple II emulators that ran on the original Mac and Mac 512. It came out in 1985.

Statements and Lines
A line typed without a line number is executed immediately; those lines typed with a line number are saved for execution with the RUN command.
: Separates multiple statements on the same line.
REM Designates a remark for comments.
Operations on Whole Programs
NEW Erases the current program and clears all variables.
CLEAR Resets all variables.
LIST Displays the entire current program.
LIST 11-12 Displays the lines from 11 to 12.
RUN Executes the current program.
RUN n Executes the current program from line n.
LOAD Loads a program from the cassette I/O port.
SAVE Saves a program to the cassette I/O port.
Real AB +/- 9.9999999 E+37
Integer AB% +/- 32767
String AB$ 0 to 255 characters
Real AB(x,y,z)
Integer AB%(x,y,z)
String AB$(x,y,z)

Where A is a letter, B is a letter or digit. The size of an array is limited only by the available memory.

DIM a (x,y,z) Defines the array a with maximum subscripts of x, y and z.
Arithmetic Operators
= Assigns a value to a variable
- Subtraction
+ Addition
/ Division
* Multiplication
^ Exponentiation
Logical Operators
AND Both true
OR Either one or both true
NOT Is false
Relational Operators
= Equal to
< Less than
> Greater than
<= =< Less than or equal to
>= => Greater than or equal to
<> >< Not equal to
Arithmetic Functions
ABS(x) Absolute value of x
SGN(x) -1 if x<0, 0 if x=0, 1 if x>0
INT(x) Integer portion of x
SQR(x) Square root of x
SIN(x) Sine of x
COS(x) Cosine of x
TAN(x) Tangent of x
ATN(x) Arctangent of x
EXP(x) e raised to the xth power
LOG(x) Natural logarithm of x
RND(x) if x>0, random number between 0 and 1
if x=0, repeats last random number
if x<0, begins new repeatable sequence
DEF FN (x) = expr Defines a function
String Operations
+ Concatenates Strings
LEN(s) Length of string s
LEFT$(s,x) Leftmost x characters of string s
MID$(s,x,y) y characters from s, beginning at position x
RIGHT$(s,x) Rightmost x characters of string s
STR$(x) String representing x
VAL(s) Numeric value of string s
CHR$(x) Character with ASCII code x
ASC(s) ASCII code for first character in string s
GOTO n Branches to line n
ON expr GOTO n1,n2,n3... Branches to line n1,n2,n3...depending on the value of expr
IF cond THEN s1:s2:s3 Executes statements s1,s2,s3...if expr is true
IF expr GOTO line Shorthand for "IF expr THEN GOTO line", but the interpreter remembers the syntax (it doesn't tokenize it as an if-then-goto, but rather as if-goto)
FOR v=x TO y STEP z Begins a loop for all values of v from x to y by z; if step is omitted, 1 is understood.
NEXT v Repeats loop for next value of v
GOSUB n Branches to subroutine at line n
RETURN Returns to point of call from a subroutine
ON expr GOSUB n1,n2,n3... Branches to subroutine at line n1,n2,n3...depending on the value of expr
POP Removes one address from the return stack
ONERR GOTO n Sets the line number branched to when an error occurs.
RESUME Re-executes statement causing an error.
STOP Halts program and print line number
CONT Resumes program execution
END Halts program execution
Utility Statements
PEEK(addr) Value of memory location addr
POKE addr,x Sets memory location addr to x
CALL addr Executes machine language routine at addr
USR(x) Passes argument to machine language routine
HIMEM:addr Sets highest available memory to addr
LOMEM:addr Sets lowest available memory to addr.
FRE(0) Amount of available storage
TRACE Displays the number of each executed line
NOTRACE Turns line numbering off
GR Sets lores graphics mode and clears screen
COLOR=x Sets lores drawing color to x
PLOT x,y Draws a dot at location x,y
HLIN x1,x2 at y Draws a horizontal line from x1,y to x2,y
VLIN y1,y2 at x Draws a vertical line from x,y1 to x,y2
SCRN(x,y) Color on the screen at x,y
HGR Displays hires page1, mixed mode.
HGR2 Displays hires page2, full screen graphics
HCOLOR=x Sets hires drawing color to x
HPLOT x,y Plots a dot at coordinate x,y
HPLOT x1,y1 TO x2,y2 Draws a hires line from x1,y1 to x2,y2
DRAW n AT x,y Draws shape n at coordinate x,y
XDRAW n AT x,y Draws shape n at x,y using exclusive-or
SCALE=x Sets scale to x for shape drawing
ROT=x Sets rotation to x for shape drawing
IN# n Re-directs input from slot number n
INPUT s;x,y,... Prompts with string s, then reads x,y,...
GET c Reads a single character from keyboard
READ x,y,... Reads values from DATA list into x,y,...
DATA x,y,... List of data value
RESTORE Restarts DATA list from beginning
PDL(n) Value of paddle n, either 0 or 1
PR# n Re-directs output to slot number n
PRINT x,y,... Prints values x,y,...
? Shorthand for PRINT
TEXT Sets text mode
HOME Clears the text screen
HTAB x Sets cursor horizontal to x
VTAB x Sets cursor vertical to x
INVERSE Sets text printing to black on white
NORMAL Sets text printing to white on black
FLASH Makes text flash on screen
Links to other command sets: Integer Basic | DOS 3.3 | ProDOS
July 7, 2009