[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 )