AppleTalk #2
ProDOS 8 Compatibility on the IIe and IIGS
Written by Mark Day (November 1988)
This Technical Note describes areas which could cause an application to run
under the AppleShare Apple IIe workstation software, but fail under the Apple
IIGS workstation software.
- If code is running in auxiliary memory in emulation mode (e.g., ProDOS
8 programs that run code from auxiliary memory), make sure $0100 in
auxiliary memory is set to the normal stack pointer and $0101 in auxiliary
memory is set to the auxiliary (alternate) stack pointer. (See page 93
of the Apple IIe Technical Reference Manual.)
- Make sure ProDOS calls are not made from auxiliary memory; Apple has
never recommended doing this, and it is not supported.
- Make sure interrupts are enabled when making ProDOS 8 calls.
- Make sure interrupts are not disabled for long periods of time, nor
for a high percentage of time. Whenever interrupts are disabled, there is
a chance that an AppleTalk packet will be missed (which could cause
AppleShare volumes to be unmounted). The more interrupts are disabled,
the more likely that packets will be missed. This risk is inherent for
any application that disables interrupts (directly or indirectly),
therefore, interrupts should be disabled with discretion and only when
absolutely necessary.
- Make sure programs get the completion routine return address from the
GetInfo call when they are started.
- Make sure to identify AppleTalk by calling GetInfo and checking for an
invalid call number error (which means AppleTalk is not present). Do not
use the ATLK signature bytes for identification. See Apple II AppleTalk Technical Note #1, Identifying
AppleTalk.
Further Reference
This and all of the other 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.