The Programmer's Guide to TRSDOS Version 6 - Tim Mann's Home ...
The Programmer's Guide to TRSDOS Version 6 - Tim Mann's Home ...
The Programmer's Guide to TRSDOS Version 6 - Tim Mann's Home ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Offset Contents<br />
+0 Contains the last character entered.<br />
+1 Contains the repeat time check which is the system's timer value that when<br />
reached will result in a repeat of the last character if the keycode scanned<br />
has not changed.<br />
+2 Contains the waiting time in timer units that must transpire before a<br />
character can initially be repeated. This value is altered by SETKI (W=dd).<br />
+3 Contains the repeat rate in timer units. This value is altered by SETKI<br />
(R=dd).<br />
3.6.2 Video driver [system driver assigned <strong>to</strong> *DO]<br />
All @CTL requests are treated as if they were @PUT requests.<br />
<strong>The</strong> module name assigned <strong>to</strong> this driver is "$DO". Its data area includes the following:<br />
Offset Contents<br />
+0 Bits 0-2 contain the number of video lines <strong>to</strong> protect against scrolling. Bit<br />
3 denotes the action <strong>to</strong> be taken for character values in the range . If set, the values are treated as displayable characters. If reset,<br />
the values are treated as space compression codes in excess 192 (i.e. 0-63).<br />
Bit 4 will denote the action <strong>to</strong> be taken for character values in the range<br />
. If set, the value is interpreted as a displayable character. If<br />
reset, the value is treated as a video function code as identified in your<br />
operating system user manual. Bits 5-7 are reserved by the DOS.<br />
+1 Contains the low order address of the cursor. You must use the @VDCTL<br />
SuperVisor <strong>to</strong> reference the cursor by row,column.<br />
+2 Contains the high order address of the cursor. You must use the @VDCTL<br />
SuperVisor <strong>to</strong> reference the cursor by row,column.<br />
+3 Contains the character that is currently at the cursor position.<br />
+4 Contains the character code defining the cursor.<br />
3.6.3 Printer driver [system driver assigned <strong>to</strong> *PR]<br />
<strong>The</strong> printer driver is transparent <strong>to</strong> all code values when requested by the @PUT<br />
SuperVisor Call. That means that all values from X'00' through X'FF' (0-255) can be sent<br />
<strong>to</strong> the printer. <strong>The</strong> printer driver accepts a function value of X'00' via the @CTL request<br />
<strong>to</strong> return the printer status. If the printer is available, the Z-flag will be set and the<br />
usual A register status image is an X'30'. If the Z-flag is reset, the accumula<strong>to</strong>r will<br />
contain the four high-order bits of the parallel printer port (bits 4-7).<br />
<strong>The</strong> module name assigned <strong>to</strong> this driver is "$PR". <strong>The</strong>re exists no data area within the<br />
printer driver.<br />
3.6.4 Forms Filter [non-resident system filter for forms control]<br />
If the FORMS filter is attached <strong>to</strong> the *PR device, then various codes are trapped and<br />
used by the filter according <strong>to</strong> user options as follows:<br />
Code Filter Action<br />
X'0D' Generates a carriage return and optionally a line feed (ADDLF). It will form<br />
feed as required.<br />
X'0A' Is treated the same as X'0D'.<br />
X'0C' Will form feed (via repeated line feeds if soft form feed).<br />
X'09' Will advance <strong>to</strong> the next tab column.<br />
X'06' Will set <strong>to</strong>p-of-form by resetting the internal line counter <strong>to</strong> zero.<br />
Other character codes may be altered depending on the user translation option (XLATE).<br />
<strong>The</strong> FORMS filter's module name is "$FF". Its data area includes the following:<br />
3-15