It is wise to turn off word-breaking while printing to the upper window. This opcode is unfortunately incorrectly implemented on some interpreters and so it can't safely be used to erase individual windows. The keyboard can be read in remarkably flexible ways. Once again, the function is called every time tenths of a second and may stop this process early. The result is 6 bytes long and usually represents between 1 and 9 letters.
Text can be output to a variety of different 'streams', possibly simultaneously.
If number is 0 this does nothing. This is useful to get the program out of large recursive tangles in a hurry. Afterwards, result holds the number of bytes successfully read. Some of these features may not work well on obsolete interpreters which do not adhere to the Z-Machine Standard. In a role-playing game campaign, you might want several scenarios, each implemented as a separate Inform game.