AppleTalk #1
Identifying AppleTalk

Revised by Jim Luther (March 1990)
Written by Dan Strnad (November 1988)

This Technical Note describes the correct methods for identifying AppleTalk under ProDOS 8 and GS/OS, as the ATLK ROM signature is no longer used.

Changes since July 1989: Added warning concerning ProDOS 8, version 1.4.


To determine if an application has been launched over the network, refer to the NetLaunch code fragment found in the AppleShare Programmer's Guide for the Apple IIGS.

Under ProDOS, to identify both AppleTalk and the slot with which it is associated for printing, refer to Apple II AppleTalk Technical Note #4, Printing Through the Firmware.

To identify AppleTalk under ProDOS 8:

  1. Issue an AppleShare GetInfo call.
  2. If there is no error result, AppleTalk is installed.

    InfoParams    DB  $00        ;Synchronous only
                  DB  $02        ;GetInfo call number
    InfoResult    DS  13         ;<- results returned here
    
    CheckATalk    JSR $BF00
                  DB  $42        ;$42 command # for AppleTalk calls
                  DW  InfoParams ;Parameter list address
                  BCS NoATalk    ;handle the error
    IsATalk       ...            ;AppleTalk installed when here
    
    NoATalk       ...            ;AppleTalk not installed when here

Warning: Due to a bug in ProDOS 8, version 1.4, using the $42 call crashes ProDOS 8 if AppleTalk is not installed. Applications that use this routine to check for AppleTalk should ship with ProDOS 8 version 1.5 or greater, thus avoiding this bug. (ProDOS 8 Technical Note #21, Identifying ProDOS Devices contains a routine which correctly identifies the presence AppleTalk under all versions of ProDOS 8.)

To identify AppleTalk protocols and AppleShare file system under System Software 5.0:

  1. Set up the parameter block for a GS/OS GetFSTInfo call using fstNum = 1.
  2. Issue the GetFSTInfo call.
  3. If the fileSysID is $0D the AppleShare FST and AppleShare are present.
  4. If a parameter out of range error ($53) results, the AppleShare file system is not present.
  5. Otherwise, if steps 3 and 4 are inconclusive, increment the fstNum and loop back to step 2.

To identify AppleTalk protocols, including LAP through PFI but excluding the file system, under System Software 5.0:

  1. Set up the parameter block for a GS/OS DInfo call using device number one.
  2. Issue the DInfo call.
  3. If the deviceID is $1D, the AppleTalk main driver and AppleTalk are present.
  4. If a parameter out of range error ($53) results, the AppleTalk protocols are not present.
  5. Otherwise, if steps 3 and 4 are inconclusive, increment the device number and loop back to step 2.

To identify AppleTalk protocols, including LAP through ASP but excluding the file system, under System Software 4.0:

  1. Issue an an SPGetStatus call
  2. If the call returns without error, AppleTalk is present.
Note: With the release of System Software 5.0, earlier versions are not supported.

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.