Revised by Matt Deatherage (May 1992)
Written by Matt Deatherage (July 1989)
This Technical Note documents the change history of BASIC.SYSTEM
through V1.5, which ships with Apple IIgs System Software 6.0. V1.0, the
initial release, is not documented in this Note, and V1.1 is described in
BASIC Programming with ProDOS.
Changes since September 1990: Revised to include BASIC.SYSTEM
- Fixed a bug in variable packing (used by CHAIN, STORE, and RESTORE).
- Changed the interpreter to use the ProDOS startup convention of a JMP
instruction followed by two $EE bytes and a startup pathname buffer.
- Removed a bad buffer address in the FIELD parameter of the READ
- Fixed a bug in APPEND so calls to OPEN and READ from a random-access
file would not cause the next call to APPEND to any file to use the record
length of the random-access file.
- Added the BYE command to allow ProDOS QUIT calls from BASIC.
- Removed the limited support for run-time capabilities which had been
- Changed the CATALOG command to ignore the number of entries in a
directory when listing it so AppleShare volumes could be cataloged
properly (this number can change on the fly on an AppleShare volume).
- Fixed another bug in CATALOG so pressing an unexpected key when a
catalog listing was paused with a Control-S would no longer abort the
- Changed BSAVE so it now truncates the length of the saved file when
the B parameter is not used. To replace the first part of a file without
truncation, use the B parameter with a value of zero. This behavior with
the B parameter is how V1.1 and V1.2 worked without the B parameter.
- Fixed a bug in CHAIN and STORE where they expected one branch to go
two ways at the same time.
- Added the MTR command for easier access to the Monitor from BASIC.
- Made internal changes to the assembly process for easier project
management. These changes do not affect the code image.
- Fixed a bug which caused a BLOAD into an address marked as used in the
global page to start performing a BSAVE on the file instead of returning
the NO BUFFERS AVAILABLE message. For this reason, BASIC.SYSTEM version
1.3 should not be used.
- Fixed a bug in the mark handling routines. When using the "B"
parameter to indicate a byte to use as a file mark, the third and most
significant byte would never be reset before the next use of B. For
example, if you used a B value of $010000 and then used a B value of
$2345, BASIC.SYSTEM 1.4 would use $012345 for the second B parameter
- Fixed centuries-old bug where NOTRACE after a THEN (as in IF/THEN)
disconnected BASIC.SYSTEM. Now it doesn't.
- BSAVE now modifies the auxtype of an existing file only if the file
type is $06 (BIN).
- BASIC.SYSTEM can now launch (with "-") GS/OS applications. Files of
type $B3 are passed through to an extended QUIT call to the ProDOS 8 MLI.
- $B3 files are now listed as S16 in the catalog.
- Fixed a bug in the READ command where reading from the slot 3 /RAM
disk passed errors back to BASIC, making the program break without
completing a legal operation.
- Code optimized and crunched slightly.
The Apple II Technical Notes
have been converted to HTML by Aaron Heiss
as a public service to the Apple II community, with permission by Apple Computer, Inc.
Any and all trademarks, registered and otherwise, are properties of their owners.