ProDOS 8 #24: BASIC.SYSTEM Revisions
Apple II Technical Notes Developer Technical Support 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 1.5.
V1.1
- 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 routine.
- 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 present.
V1.2
- 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 catalog.
V1.3
- 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.
V1.4
- 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.
V1.4.1
- 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 value.
V1.5
- 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.
Further Reference
- BASIC Programming with ProDOS
- ProDOS 8 Technical Reference Manual