SD_FOUNT/IOW_FONT
This trap sets the font for a window.
Call Parameters | Return Parameters | ||
---|---|---|---|
D0.B | $25 | D0.L | Error code. |
D1.L | Unused. | D1.L | Corrupted. |
D2.L | 0 or "DEFF" | D2.L | Preserved. |
D3.W | Timeout. | D3.L | Preserved. |
A0.L | Channel ID. | A0.L | Preserved. |
A1.L | Base of 1st Font. | A1.L | Corrupted. |
A2.L | Base of 2nd Font. | A2.L | Preserved. |
Errors
ERR_NC | Not complete. |
ERR_NO | Channel not found. |
Notes
- All registers not shown above are not used on entry and are preserved on exit.
- The registers A1 and A2 each either point to a font or are zero in which case the relevant default font is set.
- Each font must be stored in memory in a particular way as shown below.
- The value in D2.L is ignored by QDOS, but if it is "DEFF" in SMSQ/E then any font set by this call is used in subsequently opened channels.
- If a character sent to a window is a valid character in the first font it is printed otherwise if it is a valid character in the second font that will be printed. If no valid character is found in either font the first character in the second font will be printed.
Font Format
Address | Length | Item |
---|---|---|
$00 | Byte | 1st valid character |
$01 | Byte | Number of valid characters |
$02 | 9 bytes | 1st character |
$0B | 9 bytes | 2nd character |
.. | .. | .. |
Each character consists of a 5x9 array printed in a 6x10 rectangle and is stored in bits 6 to 2 in each byte of a set of 9 representing the printable rows from top to bottom. The top row in the 6x10 rectangle is blank.