[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: AUX memory question



In article <1epca4c.sf5woy64dob4N%dempson@actrix.gen.nz>,
David Empson <dempson@actrix.gen.nz> wrote:
>Matthew Russotto <russotto@wanda.pond.com> wrote:
>
>The aforementioned technote says that auxiliary memory locations below
>$0800 are permanently reserved for use by the system software.  With
>reference to the ProDOS-8 Technical Reference Manual: $0200-$03FF and
>$0080-$00FF are used by ProDOS, and $0000-$007F are left free for
>application use.  $0100-$01FF is the stack, of course, and $0400-$07FF
>is the auxliary half of the 80-column text screen.  (The screen holes in
>this area must be preserved.)

What the technote says and what the truth is, particularly if you
don't call any system services while auxiliary memory is switched in,
might be two different things.

>If you break these rules, you are likely to get stack corruption when an
>interrupt occurs, because the firmware and operating system expect these
>locations to be valid if the auxiliary stack is used.

Or you could just disable interrupts throughout the whole fetch from
auxiliary memory and save yourself some trouble.

>> I don't see why you couldn't write to AUX FFFE, FFFF -- the reset hardware
>> automatically switches to the main page, so it won't use the auxiliary
>> reset vector.
>
>The reset vector is FFFC/FFFD, not FFFE/FFFF.

Sorry, was working from memory here.

-- 
Matthew T. Russotto                                russotto@pond.com
"Extremism in defense of liberty is no vice, and moderation in pursuit
of justice is no virtue."