The description of @print_table in ZMS 1.1 is quite spare:
Print a rectangle of text on screen spreading right and down from the current cursor position, of given
height, from the table of ZSCII text given. (Height is optional and defaults to 1.) If a
skipvalue is given, then that many characters of text are skipped over in between each line and the next. (So one could make this display, for instance, a 2 by 3 window onto a giant 40 by 40 character graphics map.)
Its behavior seems to vary across different interpreters, which is perhaps understandable given the above. Is there any additional documentation on this opcode anywhere? If not, can anyone answer:
- What kind of memory structure is referred to as a “table” in the above?
- What constitutes a “line” in the above?
- What does it mean for a character to be “skipped over” in the above?
The terminology of “table” and “line” seems similar to that used when describing the @print_form opcode, but the behavior of the two opcodes is quite different when feeding the same data structure to both (at least on Frotz 2.53 and WinFrotz 1.21), so it’s not clear that it is supposed to be the same kind of table.