[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Multitasking apple II
Roy wrote:
>Simon Williams wrote:
>> Okay, here's a thought... 8-bit Apple IIs are expandable to 1.125 MB
>
>At one point the limit was 8 megabytes. I believe it was later extended.
>I don't recall the limit, but 32 megabytes keeps coming to the fore of
>my mind.
Since in the case of 8-bit Apples we are talking about bank-switched
solutions, not direct addressing, there is no theoretical limit on the
amount of bank-switched memory.
A practical limit would be the number of 64K banks that can be
selected by an 8-bit bank number, to keep the bank switching code
down to a single store. That would mean 256x64K, or 16MB.
>>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?
>
>No hacking necessary. The REAL power is "paging" so that at 256 bytes at
>a time your data grows well beyond 64K.
But this would require augmenting the Apple II with a page map, which
would keep track of which bank each addressable memory page actually
belonged to and generate page faults on a mismatch with the currently
selected bank number (assuming that you plan to keep programs in their
own banks and fault in pages as required).
A more conventional virtual memory scheme would require larger-than-
16-bit addresses to be generated by the processor, which would then
be mapped by a page table & translation lookaside buffer into either
a page fault or a real memory page number. Of course, this could not
be supported by a 6502.
Anything other than a "full space swap" solution for 8-bit Apples
would be very difficult, since each application assumes that it
controls all of the 64K/128K space, and low memory.
-michael
Check out parallel computing for 8-bit Apples on my
Home page: http://members.aol.com/MJMahon/