On 4/4/07, David Betz <dbetz at xlisper.com> wrote:
1) Can you
specify which pages to swap? For the Z-machine, one would
want to swap the game data first, then the interpreter (if at all).
I'm afraid I don't remember much about its architecture. I don't
think there was a way to "lock" pages into memory.
There was not. The interpreter peered at the game header and
determined at instantiation time what was pure and what was impure.
The game file layout was sort-of segmented. Once the interpreter
determined where the end of impure storage was in the game file, any
pages above that address in the game file could be overwritten in
memory without any repercussions.
This all went away with larger architectures like the 68000 and x86,
but for any small machine, where the 96Kbyte-128Kbyte game file
exceeds the target's physical memory, pure/impure demand-paging is how
Infocom did it, regardless of OS or instruction set.
-ethan