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
Last revision Both sides next 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:21]
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, you must update the global page MLI vector to go to $Cn14, and enable interrupts.
 +
  
 ===== FIUserPrefix (function $2A) ===== ===== FIUserPrefix (function $2A) =====