view docs/nitros9guide/go51.appendix @ 2322:61fb37b19edd

Edition #3 - for vtio instead of cc3io Willard Goosey
author aaronwolfe
date Mon, 11 Jan 2010 04:20:41 +0000
parents f9c66ad345d1
children
line wrap: on
line source

<appendix>
<title>GO51...The 51 Column by 24 Line Video Display</title>
<para>
An alternative video screen device driver, which provides a 51
column by 24 line display with upper and lower case character sets,
can be incorporated into OS-9 with the command:
<screen>
GO51
</screen>
This command replaces the normal text screen driver with one that
uses high resolution graphics to &quot;draw&quot; the characters. As there
are fewer pixels (dots) per character in this mode more characters
can be displayed on the screen, albeit with some loss of character
definition.
</para>
<para>
Note, however, that the use of a high resolution graphics page
means that an extra 6K bytes will be needed in this mode. This
extra memory requirement is not normally a problem but in memory-critical
applications, such as the C and Pascal compilers, the user
can simply avoid the use of GO51.
</para>
<para>
This mode of display has a set of <emphasis>escape sequences</emphasis>
(commands) to
emulate commercial data terminals. In addition to the video screen
driver, GO51 provides a new keyboard driver which features auto-repeat.
The keyboard code allocation is the same as described in
section 2.4.3 and Appendix D.
</para>
<section>
<title>The GO51 Display Functions</title>
<para>
Like the normal 32 by 16 video display functions described in
Appendix C the 51 by 24 mode provides many built in facilities to
control the display. These functions are activated by the use of
the various escape sequences and control characters described below:
</para>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="1.5in"/>
<colspec colwidth="3.5in"/>
<thead>
<row>
<entry>Escape Sequence (Hex)</entry>
<entry>Name/Function</entry>
</row>
</thead>

<tbody>
<row>
<entry>1B 41 X Y</entry>
<entry>CURSOR XY - move cursor to column X(0-50)
and Y(0-23) where X and Y are single byte values.</entry>
</row>
<row>
<entry>1B 42</entry>
<entry>CLEAR EOL - clear from cursor to the end of
line. Cursor position remains unchanged.</entry>
</row>
<row>
<entry>1B 43</entry>
<entry>CURSOR RIGHT - move cursor right by one character position.</entry>
</row>
<row>
<entry>1B 44</entry>
<entry>CURSOR UP - move cursor up by one line.</entry>
</row>
<row>
<entry>1B 45</entry>
<entry>CURSOR DOWN - move cursor down one line.</entry>
</row>
<row>
<entry>1B 46</entry>
<entry>REVERSE ON - turn reverse field on.</entry>
</row>
<row>
<entry>1B 47</entry>
<entry>REVERSE OFF - turn reverse field off.</entry>
</row>
<row>
<entry>1B 48</entry>
<entry>UNDERLINE ON - turn underline on.</entry>
</row>
<row>
<entry>1B 49</entry>
<entry>UNDERLINE OFF - turn underline off.</entry>
</row>
<row>
<entry>1B 4A</entry>
<entry>CLEAR EOS - clear from cursor to end of
screen. Cursor position remains unchanged.</entry>
</row>
</tbody>
</tgroup>
</informaltable>




<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="1.5in"/>
<colspec colwidth="3.5in"/>
<thead>
<row>
<entry>Control Character (Hex)</entry>
<entry>Name/Function</entry>
</row>
</thead>
<tbody>
<row>
<entry>07</entry>
<entry>BELL - generates a short audible tone.</entry>
</row>
<row>
<entry>08</entry>
<entry>BACKSPACE (CURSOR LEFT) - moves cursor left one character position.</entry>
</row>
<row>
<entry>0A</entry>
<entry>LINE FEED - move cursor down by one line.</entry>
</row>
<row>
<entry>0B</entry>
<entry>CURSOR HOME - move cursor to home position 0,0 (top left).</entry>
</row>
<row>
<entry>0C</entry>
<entry>CLEAR SCREEN - clears the screen and home cursor.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</section>
</appendix>