Apple IIGS BASIC, available through APDA (Apple Programmer's and Developer's
Association), is a RAM-based BASIC language for the Apple IIGS. Apple IIGS
BASIC requires at least 512K RAM and one 3.5" disk drive.
 
Differences between Apple IIGS BASIC and Applesoft BASIC
--------------------------------------------------------
Apple IIGS BASIC is entirely RAM-based. It doesn't rely on Applesoft at all.
GS BASIC has additional commands, and many of the Applesoft commands do
different things in GS BASIC. Some Applesoft commands (PR#, IN#, and HGR, for
example) don't appear in GS BASIC at all.
 
Because GS BASIC and Applesoft files are stored differently on the disk,
they are not interchangeable. GS BASIC is designed to run under ProDOS 16,
whereas Applesoft can run only under ProDOS 8.
 
Summary of Apple IIGS BASIC Features
------------------------------------
- Includes all standard BASIC commands.
 
- Provides access to external routines, which allow a BASIC programmer to
  call the Apple IIGS's ToolBox routines (QuickDraw II, Menu Manager, Window
  Manager, Sound Manager, etc.).
 
- Can define and call library routines. These are loaded with the INVOKE
  command, and called with the PERFORM and EXFN commands.
 
- Permits formatted program listings. Users can specify how much space appears
  between a line number and the first statement, and the amount of indenting
  to perform when listing program statement within a loop.
 
- Contains built-in constants and variables, such as PI, VPOS and HPOS.
 
- Enhances the GOTO, GOSUB, and ON xxx commands by allowing the programmer
  to specify destination by labels instead of line numbers.
 
- Allows programmers to define specific procedures that are called with the
  PROC command. Not only does the PROC command perform the same functions of
  AppleSoft's GOSUB, but it also lets the programmer pass local parameters.
 
- Enhances the looping capabilities of Applesoft with the following looping
  structures:
 
        IF..THEN..ELSE
        FOR..NEXT..STEP
        DO..WHILE..UNTIL
 
- Implements PRINT USING and INPUT USING.
 
- Gives the programmer the variable types Integer, Real, String, Double Real,
  Double Integer, and Long Integer.
 
- Has a powerful line editor.
 
- Includes some primitives (built-in low-level commands) that let the user
  interact with the ToolBox routines. The commands Eventdef, Menudef, and
  Taskpoll are included in GS BASIC itself because they provide a tying bind
  between the ToolBox and BASIC line numbers.
 
Variable Specifications
-----------------------
Real:           (+ or - 1.7E38) (less than 1.5E-45 equals 0)
Double real:    (+ or - 1.7E308) (less than 5.0E-324 equals 0)
Integer:        (%) (2 bytes) (-32768 to 32767)
Double integer: (@) (4 bytes) (-2147483648 to 2147483647)
Long integer:   (&) (8 bytes) (-9223372036854775808 to 9223372036854775807)
String:         ($) 255 characters
Arrays:         (!)