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