Site Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
mg_notes:apple_ii_atlk:undoc_functionality [2017/08/04 01:09]
M.G. [Init (function $01)]
mg_notes:apple_ii_atlk:undoc_functionality [2018/01/23 17:22] (current)
M.G. [Init (function $01)]
Line 22: Line 22:
 | $80   | Full init, no MLI global page update \\ Used during IIgs boot | | $80   | Full init, no MLI global page update \\ Used during IIgs boot |
 | $40   | Full init, MLI global page update \\ Used by ATINIT and boot block LOGON | | $40   | Full init, MLI global page update \\ Used by ATINIT and boot block LOGON |
 +
 +To initialize AppleTalk just enough to do ATP when ProDOS is not loaded, set up an IRQ handler that does ''​JSR $Cn19 ''​ followed by ''​RTI''​ (where n is the slot number of the Workstation Card) and issue the init call with all parameters 0 except for the command byte of $01, then do ''​JSR $Cn14''​ in the manner of a ProDOS MLI call to initialize it.  When it returns, enable interrupts. ​ Example code is in [[projects:​netboot_lc|NetBoot LC]].
 +
 +To initalize AppleTalk for use by ProDOS (in, say, an ATINIT file), you must make the call with init flags = $40 and the P8 entry address as $0000BF00. ​ After the init call returns success the following must take place: ​ Use the ProDOS 8 ALLOC_INTERRUPT to allocate an interrupt routine with $Cn19 as the routine address, then update the global page MLI vector to go to $Cn14, and finally, enable interrupts.
 +
  
 ===== FIUserPrefix (function $2A) ===== ===== FIUserPrefix (function $2A) =====