[z-machine] stream/window interaction

Amir Karger amirkargerweb@yahoo.com
Fri, 21 Nov 2003 11:02:30 -0800 (PST)


I didn't find anywhere in the spec a description of which windows get
written to which streams (for versions other than 6, which looks like
it has a window attribute for that). My impression is that when the
upper window is selected and a given stream is selected, then:

Stream 1: of course gets written
Stream 2: does not get written
Stream 3: does get written
Stream 4: Um, are you allowed to do a read in the upper window? I don't
think I saw anything about that in the spec either :)

That's what Frotz2002 does, at any rate.

Should I be keeping a list of the clarifications I think would be
useful for spec1.1, or is someone else (like the spec1.1 author)
reading my emails and keeping such a list, or do people think the
clarifications I'm suggesting are obvious points that don't need to be
in there? If anyone is keeping such a list, please add a request that
8.7.2 (or 7.2? or both?) should include a description of when the
interpreter should write upper window output to which stream.

The fact that stream 2 doesn't get written but stream 3 does makes
breaking the system down into objects kind of complicated. If streams
2/3 did not get written, then I could say that the upper window & lower
window are objects, and the lower window contains streams 2-4. If they
did get written, then I could say that each stream contains a lower and
upper window. As it is, it's sort of both. (I suspect what's really
happening here is that I don't understand OO analysis and design. But
I'm finding it tough to break down the Z-machine into pieces, because
all the pieces (streams, windows, IO, etc.) overlap.)

-Amir

__________________________________
Do you Yahoo!?
Free Pop-Up Blocker - Get it now
http://companion.yahoo.com/