
Apple II
Technical Notes
_____________________________________________________________________________
                                                  Developer Technical Support

SmartPort
#6:    Apple IIgs SmartPort Errata

Revised by:    Matt Deatherage                                  November 1990
Written by:    Matt Deatherage                                  November 1988

This Technical Note documents two bugs in the Apple IIgs SmartPort firmware.
Changes since November 1988:  Documented corrections in ROM 03 and an
additional ROM 03 bug.
_____________________________________________________________________________

Developers should be aware of the following two bugs in the Apple IIgs ROM 01
SmartPort firmware:

1.    SmartPort accidentally uses locations $57 through $5A on the zero
      page without saving and restoring them first.  There is some
      confusion as to whether these bytes are used on the absolute zero
      page or on the caller's direct page.  This is a moot point--
      SmartPort calls are required to be made from full-emulation mode.
      This requirement means the emulation bit must be set and the data
      bank and direct page registers must both be set to zero.  The
      bytes are used on the absolute zero page, as that should be the
      direct page when SmartPort is called.
2.    If an extended SmartPort CONTROL call is made, the CONTROL list
      must not start at $FFFE or $FFFF of any bank.  The IIgs SmartPort
      interface does not increment the bank pointer when moving past the
      two-byte CONTROL list length.  If a CONTROL list starts one or two
      bytes before a bank boundary, SmartPort will incorrectly read the
      list from the beginning of that bank, instead of the beginning of
      the next bank.

The ROM 03 firmware fixes these bugs; however, it has a bug in the ResetHook
device-specific CONTROL call for the Apple 3.5" Drive.  With this bug, hook
numbers of nine or greater crash the machine.  At present, hook numbers in this
range are invalid, so this bug should not be a problem.


Further Reference
_____________________________________________________________________________
  o  Apple IIgs Firmware Reference

