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
mg_notes:apple_ii_atlk:undoc_functionality [2018/01/23 17:21]
M.G. [Init (function $01)]
mg_notes:apple_ii_atlk:undoc_functionality [2018/01/23 17:22] (current)
M.G. [Init (function $01)]
Line 25: Line 25:
 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 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.+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.