This 256-byte area is used to hold the strings for the ten programmable keys supported by the 128’s screen editor routines: F1-F8, SHIFT-RUN/STOP, and HELP. Each of the first 10 bytes of the area (4096-4105/$1000-$1009) holds the length of one of the definition strings:
Location | Key |
---|---|
4096/$1000 | F1 |
4097/$1001 | F2 |
4098/$1002 | F3 |
4099/$1003 | F4 |
4100/$1004 | F5 |
4101/$1005 | F6 |
4102/$1006 | F7 |
4103/$1007 | F8 |
4104/$1008 | SHIFT-RUN/STOP |
4105/$1009 | HELP |
The remaining 246 bytes (4106-4351/$100A-$10FF) are available for definition strings. There is no particular limit on the length of an individual definition string, except that the combined length of all the definition strings cannot exceed 246 bytes. The definition strings correspond to keys in the order shown above. The offset to the first character in a particular string is found by adding the lengths of all preceding definitions. No special characters are used to separate the strings. It is possible for a key to have no associated definition string, in which case the length location for the key should be set to 0/$00. The default definitions for the keys are as follows:
Key | Default definition |
---|---|
F1 | GRAPHIC |
F2 | DLOAD” |
F3 | DIRECTORY{RETURN} |
F4 | SCNCLR{RETURN} |
F5 | DSAVE” |
F6 | RUN{RETURN} |
F7 | LIST{RETURN} |
F8 | MONITOR{RETURN} |
SHIFT-RUN/STOP | DL”*{RETURN}RUN{RETURN} |
HELP | HELP{RETURN} |
These definitions, along with the corresponding length values, are copied from locations 52904-52980/$CEA8-$CEF4 in screen editor ROM during the Kernal CINT routine $C07B. In BASIC, the KEY statement can be used to change definitions. From machine language, the Kernal PFKEY routine $FF65 (or screen editor KEYSET routine $C021) can be used. Programmable keys are handled by a subroutine $C6CA within the screen editor keyscan routine.