[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Multitasking apple II
Simon Williams wrote:
>Okay, here's a thought... 8-bit Apple IIs are expandable to 1.125 MB but
>aside from Appleworks, most 8-bit software is quite happy running in 64K
>or 128K. Would it be possible to hack Prodos to swap 128K at a time
>without quitting the current program?
>I imagine this would require the OS to take a "snapshot" of the
>currently running 128K and move it up, and then move a different 128K
>bank into main memory.... maybe this is similar to how Proterm is able
>to switch between terminal and editor.
>Now this is well beyond my abilities, since I'm sure a confusing web of
>GOTOs in Applesoft won't quite do the trick... but it seems like the
>kind of thing that might add to the utility of the Apple II without
>having to bother with a 32-bit processor or create some Frankensteinian
>concoction of orphaned motherboards ;-)
>Of course, it also occurs to me that if this were feasible it would
>likely have been done by now.
IIRC, it or something very much like it has been done.
I've thought briefly about it in the past, but have always found
it easier to switch programs the usual way or to keep another
//e running. ;-)
Of course, any such solution would actually need to "live"
somewhere in the memory space to be used. If it is in the
"swapped" part, it would have to be duplicated in each "bank".
If it were in non-swapped space (like I/O expansion space)
it could just sit there to be called.
It would probably be necessary to intercept keyboard input
to allow the swap to be controlled by the user.
An issue arises about whether it would support "virtual machines"
which could run different instances of operating systems, or if it
would keep a single OS intact through any swaps. There are
different problems with each approach that would have to be
addressed.
Because of the length of time required to do a swap, it would
not, in general, be practical to simulate multiple simultaneously
running system states. Instead, it would be a "switch among
multiple contexts" utility.
In other words, it supports the user multitasking, not the
computer. ;-)
-michael
Check out parallel computing for 8-bit Apples on my
Home page: http://members.aol.com/MJMahon/