Apple II Technical Notes _____________________________________________________________________________ Developer Technical Support 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 _____________________________________________________________________________ o Inside AppleTalk o AppleShare Programmer's Guide for the Apple IIGS o GS/OS Reference o Apple II AppleTalk Technical Note #4, Printing Through the Firmware o ProDOS 8 Technical Note #21, Identifying ProDOS Devices