Re:The 100 MHz 6502
by flenserboy on Wednesday October 13, 2021 @01:48PM
(#28855211)
Indeed. Consider that this was done even for some of the more primitive machines of the day —
Without a memory mapper or scheduler it's hard to write a multitasking OS.
Not in the sense we usually mean nowadays, but assigning pages to processes and switching between them, with a small non-paged segment for general data/code lets you build multitasking systems. E.g. I believe early multiuser BBSes ran on systems like that.
There were tools that added multitasking to the C64, such as e.g. BASIC Lightning that let you run multiple BASIC "threads" + sprite animations at the same time.
It's easy to write a scheduler for a 6502 as there's so little to save, though you'll need to be very careful about stack usage, and you might do better with a specialised scheduler (e.g. for C64 BASIC) as a lot of code you might want to run may store additional state in fixed locations.
Why wouldn't a faster machine with more RAM be a multitasking machine? (Obviously without extras you are limited regarding security etc, but plenty early multitasking machines didn't have that)