Apple II
Technical Notes
_____________________________________________________________________________
                                                  Developer Technical Support

ProDOS 8
#24:    BASIC.SYSTEM Revisions

Revised by:    Matt Deatherage                                 September 1990
Written by:    Matt Deatherage                                      July 1989

This Technical Note documents the change history of BASIC.SYSTEM through 
V1.4.1, which ships with Apple IIgs System Software 5.0.3 and Apple II System 
Software 3.2.  V1.0, the initial release, is not documented in this Note, and 
V1.1 is described in BASIC Programming with ProDOS.
Changes since November 1989:  Revised to include BASIC.SYSTEM 1.4.1.
_____________________________________________________________________________

V1.1

  o  Fixed a bug in variable packing (used by CHAIN, STORE, and 
     RESTORE).
  o  Changed the interpreter to use the ProDOS startup convention of a 
     JMP instruction followed by two $EE bytes and a startup pathname 
     buffer.
  o  Removed a bad buffer address in the FIELD parameter of the READ 
     routine.
  o  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.
  o  Added the BYE command to allow ProDOS QUIT calls from BASIC.
  o  Removed the limited support for run-time capabilities which had 
     been present.

V1.2

  o  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).
  o  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

  o  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.
  o  Fixed a bug in CHAIN and STORE where they expected one branch to 
     go two ways at the same time.
  o  Added the MTR command for easier access to the Monitor from BASIC.
  o  Made internal changes to the assembly process for easier project 
     management.  These changes do not affect the code image.

V1.4

  o  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

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


Further Reference
_____________________________________________________________________________
  o  BASIC Programming with ProDOS
  o  ProDOS 8 Technical Reference Manual

