146
|
1 <appendix>
|
|
2 <title>GO51...The 51 Column by 24 Line Video Display</title>
|
|
3 <para>
|
|
4 An alternative video screen device driver, which provides a 51
|
|
5 column by 24 line display with upper and lower case character sets,
|
|
6 can be incorporated into OS-9 with the command:
|
|
7 <screen>
|
|
8 GO51
|
|
9 </screen>
|
|
10 This command replaces the normal text screen driver with one that
|
|
11 uses high resolution graphics to "draw" the characters. As there
|
150
|
12 are fewer pixels (dots) per character in this mode more characters
|
146
|
13 can be displayed on the screen, albeit with some loss of character
|
|
14 definition.
|
|
15 </para>
|
|
16 <para>
|
|
17 Note, however, that the use of a high resolution graphics page
|
|
18 means that an extra 6K bytes will be needed in this mode. This
|
|
19 extra memory requirement is not normally a problem but in memory-critical
|
|
20 applications, such as the C and Pascal compilers, the user
|
|
21 can simply avoid the use of GO51.
|
|
22 </para>
|
|
23 <para>
|
|
24 This mode of display has a set of <emphasis>escape sequences</emphasis>
|
|
25 (commands) to
|
|
26 emulate commercial data terminals. In addition to the video screen
|
|
27 driver, GO51 provides a new keyboard driver which features auto-repeat.
|
|
28 The keyboard code allocation is the same as described in
|
|
29 section 2.4.3 and Appendix D.
|
|
30 </para>
|
|
31 <section>
|
|
32 <title>The GO51 Display Functions</title>
|
|
33 <para>
|
|
34 Like the normal 32 by 16 video display functions described in
|
|
35 Appendix C the 51 by 24 mode provides many built in facilities to
|
|
36 control the display. These functions are activated by the use of
|
|
37 the various escape sequences and control characters described below:
|
|
38 </para>
|
|
39 <informaltable frame="none">
|
|
40 <tgroup cols="2">
|
|
41 <colspec colwidth="1.5in">
|
|
42 <colspec colwidth="3.5in">
|
|
43 <thead>
|
|
44 <row>
|
|
45 <entry>Escape Sequence (Hex)</entry>
|
|
46 <entry>Name/Function</entry>
|
|
47 </row>
|
|
48 </thead>
|
|
49
|
|
50 <tbody>
|
|
51 <row>
|
|
52 <entry>1B 41 X Y</entry>
|
|
53 <entry>CURSOR XY - move cursor to column X(0-50)
|
|
54 and Y(0-23) where X and Y are single byte values.</entry>
|
|
55 </row>
|
|
56 <row>
|
|
57 <entry>1B 42</entry>
|
|
58 <entry>CLEAR EOL - clear from cursor to the end of
|
|
59 line. Cursor position remains unchanged.</entry>
|
|
60 </row>
|
|
61 <row>
|
|
62 <entry>1B 43</entry>
|
|
63 <entry>CURSOR RIGHT - move cursor right by one character position.</entry>
|
|
64 </row>
|
|
65 <row>
|
|
66 <entry>1B 44</entry>
|
|
67 <entry>CURSOR UP - move cursor up by one line.</entry>
|
|
68 </row>
|
|
69 <row>
|
|
70 <entry>1B 45</entry>
|
|
71 <entry>CURSOR DOWN - move cursor down one line.</entry>
|
|
72 </row>
|
|
73 <row>
|
|
74 <entry>1B 46</entry>
|
|
75 <entry>REVERSE ON - turn reverse field on.</entry>
|
|
76 </row>
|
|
77 <row>
|
|
78 <entry>1B 47</entry>
|
|
79 <entry>REVERSE OFF - turn reverse field off.</entry>
|
|
80 </row>
|
|
81 <row>
|
|
82 <entry>1B 48</entry>
|
|
83 <entry>UNDERLINE ON - turn underline on.</entry>
|
|
84 </row>
|
|
85 <row>
|
|
86 <entry>1B 49</entry>
|
|
87 <entry>UNDERLINE OFF - turn underline off.</entry>
|
|
88 </row>
|
|
89 <row>
|
|
90 <entry>1B 4A</entry>
|
|
91 <entry>CLEAR EOS - clear from cursor to end of
|
|
92 screen. Cursor position remains unchanged.</entry>
|
|
93 </row>
|
|
94 </tbody>
|
|
95 </tgroup>
|
|
96 </informaltable>
|
|
97
|
|
98
|
|
99
|
|
100
|
|
101 <informaltable frame="none">
|
|
102 <tgroup cols="2">
|
|
103 <colspec colwidth="1.5in">
|
|
104 <colspec colwidth="3.5in">
|
|
105 <thead>
|
|
106 <row>
|
|
107 <entry>Control Character (Hex)</entry>
|
|
108 <entry>Name/Function</entry>
|
|
109 </row>
|
|
110 </thead>
|
|
111 <tbody>
|
|
112 <row>
|
|
113 <entry>07</entry>
|
|
114 <entry>BELL - generates a short audible tone.</entry>
|
|
115 </row>
|
|
116 <row>
|
|
117 <entry>08</entry>
|
|
118 <entry>BACKSPACE (CURSOR LEFT) - moves cursor left one character position.</entry>
|
|
119 </row>
|
|
120 <row>
|
|
121 <entry>0A</entry>
|
|
122 <entry>LINE FEED - move cursor down by one line.</entry>
|
|
123 </row>
|
|
124 <row>
|
|
125 <entry>0B</entry>
|
|
126 <entry>CURSOR HOME - move cursor to home position 0,0 (top left).</entry>
|
|
127 </row>
|
|
128 <row>
|
|
129 <entry>0C</entry>
|
|
130 <entry>CLEAR SCREEN - clears the screen and home cursor.</entry>
|
|
131 </row>
|
|
132 </tbody>
|
|
133 </tgroup>
|
|
134 </informaltable>
|
|
135 </section>
|
|
136 </appendix>
|