Jim Keohane wrote:
> A 6502 task context
> would therefore require moving about 1KB, which would take about 4,500
> instructions (at one instruction per cycle.) On a circa-1980's
> machine, with a 1MHz clock, that would take about 4.5 msec.
Pat Finnegan wrote:
This gives me awfully devious ideas... First, were
there any
'multitasking machines' designed around the 6502? If you wanted to do
multitasking, it seems like you could design a fairly simple MMU that
would swap out the zero-page and stack (or all of the memory pages) for
different ones, depending on the running task. Leaving only a few
registers that need to be saved, it would leave a very small overhead
for task swapping.
The Apple /// hardware supports this. It allows you to select an alternate
pair of pages to replace page zero and page one. AFAIK, it was never used
for user-level multitasking, but was used to provide separate user and
OS contexts.