FR80 hardware characters have a maximum height of 277 raster units, inadequately small for some graphics users. To draw larger characters they must be simulated using vectors, produced either by each host software package or by the FR80 itself. It has been decided to modify the FR80 displayer to simulate characters larger than 277 raster units. The difficulty with this method is that source of the FR80 Displayer is not available. All is not lost however; FRAH has spent most of his evenings recently decoding the FR80 binary. The character routines are now thought to be understood.
Large software characters will be simulated in the FR80 Displayer by a patch at the point at which it issues the character IOT, HSCP (Plot Character). If the character height is less than or equal to 277 raster units, control will be passed to a routine, SMCHAR, which simulates the hardware character by generating vector IOTs. Proper character and line spacing will be output without patching. Control returns to the FR80 character routines as if an HSCP had been executed.
The format of Standard Data commands Set Character Spacing (118), Set Text Line Spacing (128), and Select Character Height (248) will be modified to accept spacing and height values in the range 0 to 16383. As only 9 bits are currently available in these command words, an optional second word will be added. If a value of 511 (7778) is entered in the first command word, the second command word will contain the 14-bit spacing or height. The new formats are:
The large character alternative is used when the parameter is greater than 510.
All commands currently included in the Standard Data Format will continue to work after the proposed modifications to the FR80 Displayer, including Set Character Rotation and Set Character Size. The latter command should not be used by the host packages; Set Character Height should be used instead. The single word version of the command should be used where possible. Note that hardware characters will not be output when character height is greater than 27710 raster units.