Latest release of ProDOS is 2.4.2

ProDOS 2.5 alpha 8 pre-release is available

ProDOS 8 Technical Note #24


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.


  • 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.


  • 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.


  • 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 value.


  • 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

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.