Virtual H19 Terminal

The virtual H19 terminal implements many of the terminal features. The following keys from a modern computer keyboard are mapped to the H19 Keys as follows:

All other "standard" keys should have the expected results, given a direct translation to H19 keys.

Note that the H19 keypad shifted/unshifted is handled strictly by your computer and keyboard. For example, Num Lock changes the codes sent by your keyboard, and so the H19 Terminal emulation does not need to modify the codes. It also means that keypad shifted/unshifted is not under software control.

While most standard features are implemented, the following terminal features are NOT implemented:

Note that the above codes are accepted (will not cause stray characters on the screen), but do not perform the prescribed function.

Basic copy-paste is supported. Clicking (button 1) and dragging will show a faint blue area around selected text. The area will remain highlighted for about 2 seconds after releasing the mouse button, but text is copied to the clipboard immediately. Text from the clipboard may be pasted into the Z19 "keyboard" stream using the middle mouse button. Note, however, that pasting large amounts of text may overrun the program as the data can arrive faster than human typing speed. See properties h19_paste_rate and h19_paste_cr_wait.

The following properties control the basic and initial functioning of the virtual terminal:

The name of the (TrueType) font file to use for the H19 CRT screen. Default is "h19a.ttf" which is built-in to the JAR. This font closely resembles the original character generator (and video characteristics) of the H19. Font may be a TTF file included in the JAR, or an absolute pathname to a TTF file on your system, or the name of an installed (ISO character set) font on your system, or a JAVA generic font name (e.g. "Monospaced"). Note that only monospaced fonts are likely to work well.

For custom TTF fonts:

Fonts built in to your system:

This selects the size of the font used for the H19 CRT screen. Most systems require this number to be a multiple of 10 in order to display clean characters. Default is 20, which is probably the most useful value.
Selects the color to use for the H19 CRT screen. This color must have a good contrast ratio to the dark background of the screen. Format is 6 hexadecimal digits where each pair (octet) represents, respectively from hi to low, red, green, and blue. Default is "00ff00" which is the green. An amber color is "ffc000" and white would be "ffffff".
Selects the WAV file to use for the H19 "beep" sound. The default is the built-in "h19beep.wav" which is the 1/2-second, 1024Hz, beep. Other built-in files allow for different durations, "h19beep250.wav" and "h19beep125.wav", for 1/4 and 1/8 second respectively. Sound file must exist in the JAR file.
The volume to set when sounding the H19 "beep". Values are percent of maximum volume.
h19_s401, h19_s402
Dipswitch settings for the H19. See H19/Z19 owner's manual. Settings related to serial port (s401) have no affect, but many terminal features defaults (s402) are supported. Values are 8-bit binary, with the left-most digit being the MSB, corresponding to switch 7. A "0" represents an OFF switch.
h19_paste_rate, h19_paste_cr_wait
These are used to control the rate at which text is pasted to the computer console. "h19_paste_rate" is the rate for normal characters, in characters per second (values 1 to 1000). The default is 30. "h19_paste_cr_wait" is the delay in milliseconds used after RETURN, in place of h19_paste_rate. Default is 100 mS. These values are used to prevent overrun of the computer software for pasted text.