Phase 1 - Define Terminal Capabilities
— William Schaub, Dale Sinder and Steve Zoppi 2025/05/09
Tutorial Phases
Tip
The tutorial phases are arranged in a prescribed order, wherein each phase builds upon the previous. Performing these activities out of order will leave the installation in an inconsistent, or perhaps inoperable state.
Objective
The Level One PLATO Protocol requires that a terminal emulator supports an array of new features that need to be individually tracked and available to lesson authors in the form of system defined variables 1) These variables (among other things) express the capabilities of the connected terminal.
Phase 1 accomplishes this by defining an appropriate place to store the information. One word is added to the student bank 2) and another to the station bank 3) The student bank is available to the PLATO executor while the station bank is available to both the executor and formatter.
Procedure
Extend the Student Bank
The Student Bank describes terminal capabilities which an author can interrogate/use. This needs to be our first modification as other system component rely on interrogating these properties / capabilities in the course of normal execution.
Follow Along
Code fileplmods000
Block7d - tbtcap
We extend this bank by one 60-bit word having the following properties:
Extend the Station Bank
In the station bank, 4) we extend the field list by one word with the following properties:
Add System Reserved Word
Follow Along
Code fileplmods000
Block7e - tbtcap
Among other new system reserved words, add ztlevel whose value is:
- 0 for standard terminal
- 1 for level 1 terminal
The other system reserved words follow ztlevel:
Success
At this point, the critical system definitions have been mapped-out and we are now ready to move on to the next phase: Phase 2 - Set the 'Capabilities' Values