[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 6502 Multitasking OS announce
[Apple and Atari groups left in in case they do anything like this; homebuilt
group in case someone wants to build something like this]
In article <4ijuic$iiq@gatekeeper.liffe.com>,
Ralph Mason <ralph.mason@liffe.com> wrote:
>Michael Ellis <michael@anest4.anest.ufl.edu> wrote:
>
>> The way to get around this is to pass all parameters on the stack, and use separate
>> stacks for the separate tasks.
>
>All well & good BUT the 6502 does not have a relocatable stack pointer
>so your kinda left with a bit of a problem when it commes to
>multitasking, ie you cant give each process it's own stack without
>copying the whole stack ( maybe just to the current sp value? )during
>each context switch.
On the Commodore 128, one of the few useful things their MMU actually does
is to allow the user to relocate addresses $0000-$00FF and $0100-$01FF to
any page in memory. With such an MMU a full multi-tasking operating system
can become a practical option since tasks can freely use zero page and stack
without needing to allocate them; they can then access the rest of memory
using indirect indexed or indexed indirect addressing (which if they have all
of zero page to play with should be quite adequate).
--
-------------------------------------------------------------------------------
supercat@mcs.com | "Je crois que je ne vais jamais voir... | J\_/L
John Payson | Un animal aussi beau qu'un chat." | ( o o )