home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1993 / Internet Info CD-ROM (Walnut Creek) (1993).iso / standards / misc / tektronix.codes < prev    next >
Encoding:
Text File  |  1993-07-15  |  41.9 KB  |  1,544 lines

  1. Xref: world comp.graphics:2864 comp.terminals.bitgraph:6
  2. Path: world!xylogics!bu.edu!snorkelwacker!tut.cis.ohio-state.edu!pt.cs.cmu.edu!andrew.cmu.edu!pd1h+
  3. From: pd1h+@andrew.cmu.edu (Philip H. Dye)
  4. Newsgroups: comp.graphics,comp.terminals.bitgraph
  5. Subject: Re: Looking for Tektronix's 4014 escape sequences
  6. Message-ID: <wa6ES9K00XcL4Hd_Jn@andrew.cmu.edu>
  7. Date: 3 Apr 90 20:28:57 GMT
  8. Organization: Mathematics, Carnegie Mellon, Pittsburgh, PA
  9. Lines: 1533
  10.  
  11.  
  12.  
  13. Here is the scribe source (.mss) and postscript output (.ps) for
  14. tektronix escape sequences.  These files were extracted from the
  15. ibmpc part of the kermit manual.
  16.  
  17.  
  18. ------------------------------------------------------------------------------
  19. | Philip H. Dye                   | Internet:   pd1h@andrew.cmu.edu          |
  20. | Physics & Mathematics           |     UUCP:   psuvax1!andrew.cmu.edu!pd1h  |
  21. | Carnegie Mellon University      |   Bitnet:   pd1h%andrew.cmu.edu@cmccvb   |
  22. |---------------------------------|------------------------------------------|
  23. | P.O. Box 190, CMU               | Network support of remote authentication |
  24. | Pittsburgh, PA 15213            | using any form of transmitted key is     |
  25. | (412) 683-3728                  | insecure.         - Random DOD Document  |
  26. ------------------------------------------------------------------------------
  27.  
  28. ------------------------------ cut here ------------------------------
  29.  
  30. #! /bin/sh
  31. # This is a shell archive.  Remove anything before this line, then unpack
  32. # it by saving it into a file and typing "sh file".  To overwrite existing
  33. # files, type "sh file -c".  You can also feed this as standard input via
  34. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  35. # will see the following message at the end:
  36. #              "End of shell archive."
  37. # Contents:  tek.mss tek.ps
  38. # Wrapped by phdye@LEO.FAC.CS.CMU.EDU on Thu Mar 15 18:13:07 1990
  39. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  40. if test -f tek.mss -a "${1}" != "-c" ; then
  41.   echo shar: Will not over-write existing file \"tek.mss\"
  42. else
  43. echo shar: Extracting \"tek.mss\" \(12039 characters\)
  44. sed "s/^X//" >tek.mss <<'END_OF_tek.mss'
  45. X@device(postscript)
  46. X
  47. X@center<Tektronix 4010/4014 Graphics Terminal Functions>
  48. X
  49. X@begin<table>
  50. X@bar()
  51. X@blankspace(1)
  52. X@begin<format>
  53. X@tabclear()
  54. X@case[device,file="@tabset(1.6inch,3.0inch,3.75inch)",
  55. X        else="@tabset(1.5inch,3.0inch,3.75inch)"
  56. X]
  57. X@ux<Control Code>@\@\@ux<Action>
  58. X@q<FS, > Control-@q<\>@\Backslash@\draw dots
  59. X@q<GS, > Control-@q<]>@\Right square bracket@\draw lines
  60. X@q<RS, > Control-@q<^>@\Caret@\Draw dots incrementally
  61. X@q<US, > Control-@q<_>@\Underscore@\Display text
  62. X@q<BEL,> Control-@q<G>@\@\Beep, make a noise
  63. X@q<BS, > Control-@q<H>@\@\Backspace, non-destructive
  64. X@q<HT, > Control-@q<I>@\@\Tab, convert to single space
  65. X@q<LF, > Control-@q<J>@\@\Line feed, go down one line
  66. X@q<VT, > Control-@q<K>@\@\Move up one text line
  67. X@q<FF, > Control-@q<L>@\@\Clears the screen
  68. X@q<CR, > Control-@q<M>@\@\Carriage return, start of line
  69. X@q<CAN,> Control-@q<X>@\@\Exit Tek sub-mode, or ignore
  70. XDEL, RUBOUT@\@\Delete code, same as BS
  71. X
  72. X@ux<Escape Sequence>@\@\@ux<Action>
  73. X@q<ESC >Control-@q<E>@\@\Send a status report, turn on Bypass mode
  74. X@q<ESC >Control-@q<L>@\@\Clear the screen (enter sub-mode from VT102)
  75. X@q<ESC >Control-@q<X>@\@\Turn on Bypass mode
  76. X@q<ESC >Control-@q<Z>@\@\Activate crosshairs (GIN mode) and Bypass mode
  77. X@q<ESC Z>@\@\Send terminal identification
  78. X@q<ESC `> (accent grave)@\@\Use solid lines in drawing
  79. X@q<ESC a> through @q<ESC e>@\@\Use dashed line patterns:
  80. X@\@\@ a=fine dots, b=short dashes
  81. X@\@\@ c=dash dot,  d=long dash dot
  82. X@\@\@ e=dash dot dot.
  83. X@q<ESC [ Pn ; Pn m>@\@\Set ANSI colors. Same as for VT102.
  84. X@q<ESC [ ? 3 8 l>@\@\Exit Tek mode (become text terminal, VT102 etc)
  85. X@q<ESC [ ? 3 8 h>@\@\Enter Tek mode (from VT102 mode)
  86. X@end<format>
  87. X@caption<Response of Tektronix Emulator to Received Characters>
  88. X@bar()
  89. X@end(table)
  90. X
  91. XIn the table, US is the name for the ASCII character Control-Underscore, 31
  92. Xdecimal.  Text is written starting with the last drawn point being the lower
  93. Xleft corner of the first 8 by 8 character cell.  The drawing position is
  94. Xupdated by 8 dots to the right for each character, and lines wrap at column 80
  95. X(column 90 for Hercules boards).  If text extends "below the screen" the sign
  96. X"@q(More >)" is shown at the bottom right corner and the user needs to press a
  97. Xkey to continue.  Then the screen will be cleared and the new text will start
  98. Xat the top of the screen (no scrolling is done in graphics mode).  A real Tek
  99. X4010 begins new text at column 40 and will overwrite dots from older material.
  100. XText mode is interrupted by the drawing commands discussed
  101. Xbelow.
  102. X
  103. X@subu<Bypass Mode>:
  104. X
  105. XCertain Tektronix commands turn on or off "Bypass" mode whereby incoming
  106. Xtext is not displayed on the screen. Removal of echos of the GIN mode,
  107. Xdiscussed below, is the major use of Bypass. Bypass mode is turned on by
  108. Xreceipt of
  109. X        ESC Control-E, ESC Control-X, and ESC Control-Z
  110. Xand it is turned off upon receipt of
  111. X        BEL, LF, CR, US, other escape sequences, and resetting the terminal.
  112. X
  113. X@subu<Drawing commands GS, FS, RS>:
  114. X
  115. X1. Draw a line or move to a point: GS <@i(xy) @i(xy) @value<ellips> @i(xy)>
  116. X
  117. XGS is the name for ASCII character Control-@q<]> (right square bracket),
  118. Xdecimal 29.  <@i(xy)> stands for an encoded x,y coordinate as explained below.
  119. XOne or more x,y coordinates may follow GS and line segments are drawn from
  120. Xpoint to point.  The first point is reached without drawing so that GS and the
  121. Xinitial <@i(xy)> is a simple "move-to" command rather than a "draw-to" command.XLines may be constructed from six dash patterns described in Table
  122. X@ref(-mstekrc).  <@i(xy)> coordinates are encoded by separating the 10 bit
  123. Xvalue of x and of y into 5 bit components and then adding two high bits to eachXto identify which component is being represented: high-y, low-y, high-x, or
  124. Xlow-x. They are transmitted in that order, with the low-x byte always sent
  125. Xlast.  In fact, bytes may be omitted if they do not change from point to point,Xprovided that low-x is always sent.  These bytes range from ASCII space (32
  126. Xdecimal) to ASCII DEL (127 decimal).  Details are given below, and summarized
  127. Xin Table @ref(-mstekxy).  This mode completes when a new command or a CR LF
  128. X(carriage return, line feed) arrives; escape sequences are processed
  129. Xtransparently but other control codes are ignored.  The interrupting character
  130. Xis accepted and processed next.
  131. X
  132. X2. Draw dots at given locations: FS <@i(xy) @i(xy) @value<ellips> @i(xy)>
  133. X
  134. XFS is the name for the ASCII character Control-\ (backslash), decimal 28.
  135. X<@i(xy)> is in the same form as above.  A dot is drawn at each x,y point.  ThisXmode completes when a new command or a CRLF character arrives; escape sequencesXare processed transparently but other control codes are ignored.  The
  136. Xinterrupting character is accepted and processed next.
  137. X
  138. X3. Draw dots from the current location: RS @i(<pen> <direction> <direction>
  139. X@value<ellips> <direction>)
  140. X
  141. XRS is the name for the ASCII character Control-@q(^) (caret), decimal 30.
  142. X@i<pen> is the character Space (32 decimal) to move without drawing or P (80
  143. Xdecimal) to draw while moving.  @i(<direction>) is one of the letters A, E, D,
  144. XF, B, J, H, I as shown in Table @ref<-mstekdd>.
  145. X
  146. X@begin<table>
  147. X@bar()
  148. X@blankspace(1)
  149. X@begin<format>
  150. X@tabclear()@tabset(0.5inch,1.25inch,3.50inch)
  151. X@ux(@i[<direction>])@\@ux<Move One Tek Dot This Way>
  152. X@\A@\East (right)
  153. X@\E@\East and North@\@q< F   D   E>
  154. X@\D@\North (up)
  155. X@\F@\North and West@\@q< B   *   A>     (@q<*> is current location)
  156. X@\B@\West
  157. X@\J@\South and West@\@q< J   H   I>
  158. X@\H@\South
  159. X@\I@\South and East
  160. X@end<format>
  161. X@caption<Tektronix Dot-Drawing Commands>
  162. X@bar()
  163. X@end(table)
  164. X
  165. XExample: @q<RS P J J J> (no spaces here, naturally) means draw three dots in
  166. Xthe southwest direction, stepping to each in turn.  This mode completes when a
  167. Xnew command or a non-@i(<pen>) or non-@i(<direction>) character arrives; the
  168. Xinterrupting character is accepted and processed next.
  169. X
  170. X@subu[Graphics INput (GIN) mode]:
  171. X
  172. XGraphics input mode is entered when ESC Control-Z is received.  A crosshair is
  173. Xdrawn on the screen and may be moved by the numeric keypad arrows (fine scale
  174. Xmotion) or the Shift key and these arrows (coarse scale motion).  Pressing an
  175. XASCII-producing key sends the position of the crosshairs to the host as the
  176. Xsequence of: pressed key, X coordinate, Y coordinate, carriage return, then
  177. Xremoves the crosshairs, and then returns to text mode.  The coordinates are
  178. Xencoded by splitting them into five bit fields, adding an ascii space (20H)
  179. Xto each, and are sent as high-y, low-y, high-x and low-x bytes. Bypass mode
  180. Xis active while the report is sent to supress echos of the report.
  181. XOne may prematurely exit GIN mode by typing Control-C or Control-Break.
  182. XShift-PrtSc (DOS screen dump) remains active, however.
  183. X
  184. X@subu(Status or Position Report):
  185. X
  186. XESCAPE Control-E requests a status report from the emulator.  Tek terminals
  187. Xhave many sub-fields.  Kermit-MS sends a byte of 24 hex for being in text mode
  188. Xor 20 hex otherwise, followed by the encoded X then Y coordinates and a
  189. Xcarriage return.  Coordinates are encoded 5 bits at a time similar to the GIN
  190. Xreport.
  191. X
  192. X@subu(Identification Report):
  193. X
  194. XESCAPE Z requests terminal identification, as for VT52 and VT102.  Currently
  195. Xthis report is the 10 character sequence @w(@q<IBM_TEK ESCAPE / Z>) (no
  196. Xspaces).
  197. X
  198. X@subu(Coordinate Encoding):
  199. X
  200. XCoordinate 0,0 is the lower left corner and the X axis is horizontal. TektronixXpositions are mapped into the typically 640 dots wide by 200 or 350 dots high
  201. XPC screen and thus adjacent Tek positions may yield the same PC screen dot.
  202. X
  203. X4010-like devices use positions from 0 to 1023 for both X and Y, although only
  204. X0 to 779 are visible for Y due to screen geometry.  The Tek screen is 10.24 by
  205. X7.80 inches and coordinates are sent as 1-4 characters.
  206. X
  207. X4014-like devices use positions 0 to 4095, but each movement is a multiple of 4Xpositions unless the high-resolution LSBXY are sent.  This makes it compatible
  208. Xwith the 4010 in that a full sized plot fills the screen.  The emulator acceptsXthe LSBXY components but does not use them.
  209. X
  210. XThe various modes are summarized in Table @ref<-mstekxy>, in which the
  211. Xfollowing notation is used:
  212. X@begin(display)
  213. XHIX, HIY = High order 5 bits of a 10 or 12 bit position.
  214. XLOX, LOY = Middle order 5 bits of position (low order of Tek 4010).
  215. XLSBXY = Low order 2 bits of X + low order 2 bits of Y (4014 mode),
  216. X   recognized by the Tek emulator but not used to calculate position.
  217. X@end(display)
  218. X
  219. X@begin<table>
  220. X@bar()
  221. X@blankspace(1)
  222. X@begin<format>
  223. X@tabclear()
  224. X@tabset(0.75inch,1.5inch,2.25inch,3.0inch,3.6inch,4.1inch,4.7inch,
  225. X        5.3inch,5.95inch)
  226. X@ux<Hi Y>@\@ux<Lo Y>@\@ux<Hi X>@\@ux<LSBXY>@\@ux<Characters Sent @~
  227. X(Lo-X Always Sent)>
  228. XSame@\Same@\Same@\Same@\@\@\@\@\Lo-X
  229. XSame@\Same@\Same@\Diff@\@\LSB,@\Lo-Y,@\@\Lo-X@\4014
  230. XSame@\Same@\Diff@\Same@\@\@\Lo-Y,@\Hi-X,@\Lo-X
  231. XSame@\Same@\Diff@\Diff@\@\LSB,@\Lo-Y,@\Hi-X,@\Lo-X@\4014
  232. XSame@\Diff@\Same@\Same@\@\@\Lo-Y,@\@\Lo-X
  233. XSame@\Diff@\Same@\Diff@\@\LSB,@\Lo-Y,@\@\Lo-X@\4014
  234. XSame@\Diff@\Diff@\Same@\@\@\Lo-Y,@\Hi-X,@\Lo-X
  235. XSame@\Diff@\Diff@\Diff@\@\LSB,@\Lo-Y,@\Hi-X,@\Lo-X@\4014
  236. XDiff@\Same@\Same@\Same@\Hi-Y,@\@\@\@\Lo-X
  237. XDiff@\Same@\Same@\Diff@\Hi-Y,@\LSB,@\Lo-Y,@\@\Lo-X@\4014
  238. XDiff@\Same@\Diff@\Same@\Hi-Y,@\@\Lo-Y,@\Hi-X,@\Lo-X
  239. XDiff@\Same@\Diff@\Diff@\Hi-Y,@\LSB,@\Lo-Y,@\Hi-X,@\Lo-X@\4014
  240. XDiff@\Diff@\Same@\Same@\Hi-Y,@\@\Lo-Y,@\@\Lo-X
  241. XDiff@\Diff@\Same@\Diff@\Hi-Y,@\LSB,@\Lo-Y,@\@\Lo-X@\4014
  242. XDiff@\Diff@\Diff@\Same@\Hi-y,@\@\Lo-Y,@\Hi-X,@\Lo-X
  243. XDiff@\Diff@\Diff@\Diff@\Hi-y,@\LSB,@\Lo-Y,@\Hi-X,@\Lo-X@\4014
  244. X@end<format>
  245. X@begin<format>
  246. X@tabclear()
  247. X@tabset(3.0inch,3.6inch,4.1inch,4.7inch,5.3inch,5.95inch)
  248. XKind code for byte:@\20h@\60h@\60h@\20h@\40h
  249. X@\(transmitted left to right)
  250. X@end<format>
  251. X@caption<Tektronix Coordinate Interpretation>
  252. X@bar()
  253. X@end(table)
  254. X
  255. XNote that LO-Y must be sent if HI-X has changed so that the Tektronix knows theXHI-X byte (in the range of 20h-3Fh) is HI-X and not HI-Y.  LO-Y must also be
  256. Xsent if LSBXY has changed, so that the 4010 will ignore LSBXY and accept LO-Y.
  257. XThe LSBXY byte is
  258. X@MD<60h + (MARGIN * 10h) + (LSBY * 4) + LSBX>
  259. XMARGIN is 0 here and refers to splitting the screen left and right for text
  260. Xrollover, which the Kermit Tek emulator does not do.
  261. X
  262. X@subu<Tek 4010 Example>:
  263. X
  264. XSuppose <@i(xy)> is point y = 300, x = 500 in Tektronix coordinates.  Split
  265. Xeach 10-bit coordinate into 5-bit groups, add add the Kind code to each. Send
  266. Xthe X part last.
  267. X@begin<example>
  268. X                HI-Y     LO-Y                   HI-X     LO-X
  269. XY=300d=012Ch=  01001    01100   X=500d=01F4h=  01111    10100
  270. X  +Kind code +@u<100000> +@u<1100000>     +kind code +@u<100000> +@u<1000000>
  271. XBinary        101001 01101100                 101111  1000100
  272. XASCII            )       l                       /       D
  273. X@end<example>
  274. XSo <@i(xy)> = (500,300) is sent or received in a GS command as @qq<)l/D>.  An
  275. Xexample in C (program fragments):
  276. X@begin<example,leftmargin 0,group,blanklines hinge>
  277. X#define ESC  27
  278. X#define GS   29
  279. X#define US   31
  280. XFILE *fp;                      /* File descriptor for terminal */
  281. X . . .
  282. X
  283. X    fputc( GS, fp); coord( 75, 65);       /* Move to 75,65      */
  284. X    fputc( ESC, fp); fputs("[31m", fp);   /* Set foreground to red */
  285. X    fputc( US, fp); fputs("A House", fp); /* Annotate at 75,65  */
  286. X    fputc( ESC, fp); fputs("[33m", fp);   /* Set foreground to yellow */
  287. X    fputc( GS, fp);                       /* Now draw lines...  */
  288. X    coord( 50, 50); coord(300, 50);       /* Bottom side        */
  289. X    coord(300,200); coord( 50,200);       /* Right wall, top    */
  290. X    coord(175,250); coord(300,200);       /* Roof               */
  291. X    fputc( GS, fp);                       /* Start a new line   */
  292. X    coord( 50, 50); coord( 50,200);       /* Left wall at 50,50 */
  293. X    fputc( ESC, fp); fputs("[37m", fp);   /* Set foreground to white */
  294. X    . . .
  295. X
  296. Xcoord(x, y) int x, y; {        /* Send x,y coordinates to Tek 4010 */
  297. X    fputc((y / 32) + 32, fp);             /* High y */
  298. X    fputc((y % 32) + 96, fp);             /* Low  y */
  299. X    fputc((x / 32) + 32, fp);             /* High x */
  300. X    fputc((x % 32) + 64, fp);             /* Low  x */
  301. X}
  302. X@end<example>
  303. X
  304. END_OF_tek.mss
  305. if test 12039 -ne `wc -c <tek.mss`; then
  306.     echo shar: \"tek.mss\" unpacked with wrong size!
  307. fi
  308. # end of overwriting check
  309. fi
  310. if test -f tek.ps -a "${1}" != "-c" ; then
  311.   echo shar: Will not over-write existing file \"tek.ps\"
  312. else
  313. echo shar: Extracting \"tek.ps\" \(26708 characters\)
  314. sed "s/^X//" >tek.ps <<'END_OF_tek.ps'
  315. X%!PS-Adobe-1.0
  316. X%%Title: kuser.mss
  317. X%%DocumentFonts: (atend)
  318. X%%Creator: Walter Lloyd Wimer, III and Scribe 5(1501)-5
  319. X%%CreationDate: 3 May 1988 03:31
  320. X%%Pages: (atend)
  321. X%%EndComments
  322. X% PostScript Prelude for Scribe.
  323. X/BS {/SV save def 0.0 792.0 translate .01 -.01 scale} bind def
  324. X/ES {showpage SV restore} bind def
  325. X/SC {setrgbcolor} bind def
  326. X/FMTX matrix def
  327. X/RDF {WFT SLT 0.0 eq
  328. X  {SSZ 0.0 0.0 SSZ neg 0.0 0.0 FMTX astore}
  329. X  {SSZ 0.0 SLT sin SLT cos div SSZ mul SSZ neg 0.0 0.0 FMTX astore}
  330. X  ifelse makefont setfont} bind def
  331. X/SLT 0.0 def
  332. X/SI { /SLT exch cvr def RDF} bind def
  333. X/WFT /Courier findfont def
  334. X/SF { /WFT exch findfont def RDF} bind def
  335. X/SSZ 1000.0 def
  336. X/SS { /SSZ exch 100.0 mul def RDF} bind def
  337. X/AF { /WFT exch findfont def /SSZ exch 100.0 mul def RDF} bind def
  338. X/MT /moveto load def
  339. X/XM {currentpoint exch pop moveto} bind def
  340. X/UL {gsave newpath moveto dup 2.0 div 0.0 exch rmoveto
  341. X   setlinewidth 0.0 rlineto stroke grestore} bind def
  342. X/LH {gsave newpath moveto setlinewidth
  343. X   0.0 rlineto
  344. X   gsave stroke grestore} bind def
  345. X/LV {gsave newpath moveto setlinewidth
  346. X   0.0 exch rlineto
  347. X   gsave stroke grestore} bind def
  348. X/BX {gsave newpath moveto setlinewidth
  349. X   exch
  350. X   dup 0.0 rlineto
  351. X   exch 0.0 exch neg rlineto
  352. X   neg 0.0 rlineto
  353. X   closepath
  354. X   gsave stroke grestore} bind def
  355. X/BX1 {grestore} bind def
  356. X/BX2 {setlinewidth 1 setgray stroke grestore} bind def
  357. X/PB {/PV save def translate 100.0 -100.0 scale pop} bind def
  358. X/PE {PV restore} bind def
  359. X/SH /show load def
  360. X/MX {exch show 0.0 rmoveto} bind def
  361. X/W {0 32 4 -1 roll widthshow} bind def
  362. X/WX {0 32 5 -1 roll widthshow 0.0 rmoveto} bind def
  363. X%%EndProlog
  364. X%%Page: 141 142
  365. XBS
  366. X0 SI
  367. X10 /Helvetica-Bold AF
  368. X8280 4329 MT
  369. X(MS-DOS KERMIT)SH
  370. X50744 XM
  371. X(Page 141)SH
  372. X/Courier-Bold SF
  373. X8880 7874 MT
  374. X(ESC t)
  375. XSH( HEKS)
  376. X5400 W( *Enter)
  377. X6000 W( Keypad shifted mode, not supported)SH
  378. X8880 9005 MT
  379. X(ESC u)
  380. XSH( HXKS)
  381. X5400 W( *Exit)
  382. X6000 W( Keypad shifted mode, not supported)SH
  383. X8880 10136 MT
  384. X(ESC v)
  385. XSH( HEWA)
  386. X5400 W( Wrap)
  387. X6000 W( around at end of line)SH
  388. X8880 11267 MT
  389. X(ESC w)
  390. XSH( HXWA)
  391. X5400 W( Discard)
  392. X6000 W( at end of line)SH
  393. X8880 12398 MT
  394. X(ESC x Ps)
  395. XSH( HSM)
  396. X3600 W( Set)
  397. X6600 W( Mode. See table below)SH
  398. X8880 13529 MT
  399. X(ESC y Ps)
  400. XSH( HRM)
  401. X3600 W( Reset)
  402. X6600 W( Mode. See table below)SH
  403. X13680 15791 MT
  404. X(Ps Mnemonic)
  405. X2400 W( Mode)
  406. X3600 W( Set)
  407. X6600 W( \050x\051)
  408. XSH( Reset)
  409. X4200 W( \050y\051)SH
  410. X13680 16922 MT
  411. X(1 HSM/HRM)
  412. X3000 W( 25th)
  413. X4200 W( line)
  414. XSH( enabled +disabled)3600 W
  415. X13680 18053 MT
  416. X(2 *keyclick)
  417. X11400 W( off)
  418. X4200 W( on)6600 W
  419. X13680 19184 MT
  420. X(3 *holdscreen)
  421. X11400 W( enabled)
  422. X3000 W( disabled)4200 W
  423. X13680 20315 MT
  424. X(4 cursor)
  425. X12000 W( type)
  426. XSH( block  underline)2400 W
  427. X13680 21446 MT
  428. X(5 cursor)
  429. X12000 W( on/off)
  430. XSH( on)
  431. X1200 W( off)7200 W
  432. X13680 22577 MT
  433. X(6 *keypad-shifted)
  434. X11400 W( shifted)
  435. X600 W( unshifted)4200 W
  436. X13680 23708 MT
  437. X(7 alt)
  438. X12000 W( app keypad  enabled)
  439. XSH( disabled)4200 W
  440. X13680 24839 MT
  441. X(8 *linefeed)
  442. X11400 W( lf=>cr/lf)
  443. X4200 W( lf=>lf)3000 W
  444. X13680 25970 MT
  445. X(9 newline)
  446. X12000 W( mode)
  447. XSH( cr=>cr/lf)
  448. X1800 W( cr=>cr)3000 W
  449. X26280 27101 MT
  450. X(+ disabling the 25th line also clears it)SH
  451. X8880 29363 MT
  452. X(ESC z)
  453. XSH( HRAM)
  454. X5400 W( Reset)
  455. X6000 W( to power-up configuration)SH
  456. X8880 30494 MT
  457. X(ESC =)
  458. XSH( HAKM)
  459. X5400 W( Enter)
  460. X6000 W( Alternate Keypad mode)SH
  461. X8880 31625 MT
  462. X(ESC >)
  463. XSH( HXAM)
  464. X5400 W( Exit)
  465. X6000 W( Alternate Keypad mode)SH
  466. X8880 32756 MT
  467. X(ESC <)
  468. XSH( HEAM)
  469. X5400 W( Enter)
  470. X6000 W( ANSI mode \050ESC [ stuff\051)SH
  471. X8880 33887 MT
  472. X(ESC @)
  473. XSH( HEIM)
  474. X5400 W( Enter)
  475. X6000 W( Insert Char mode)SH
  476. X8880 35018 MT
  477. X(ESC [)
  478. XSH( HEHS *Enter)
  479. X5400 W( Hold Screen mode, not supported)SH
  480. X8880 36149 MT
  481. X(ESC \134)
  482. XSH( HXHS *Exit)
  483. X5400 W( Hold Screen mode, not supported)SH
  484. X8880 37280 MT
  485. X(ESC { and })
  486. XSH( HEK,)
  487. X1800 W( HDK)
  488. XSH( *Keyboard)
  489. X3000 W( enable/disable, not supported)SH
  490. X8880 38411 MT
  491. X(ESC ])
  492. XSH( HX25 *Transmit)
  493. X5400 W( 25th line, not supported)SH
  494. X8880 39542 MT
  495. X(ESC #)
  496. XSH( HXMP *Transmit)
  497. X5400 W( page, not supported)SH
  498. X12 /Helvetica-Bold AF
  499. X8280 42895 MT
  500. X(7.15.6. Heath-19 Functions While in ANSI Mode)SH
  501. X10 /Courier-Bold AF
  502. X8880 44908 MT
  503. X(Escape Seq)
  504. XSH( Mnenonic)
  505. X2400 W( Description)
  506. X3600 W( of Action)SH
  507. X8880 47170 MT
  508. X(ESC [ s)
  509. XSH( PSCP)
  510. X4200 W( Save)
  511. X6000 W( cursor position & attributes)SH
  512. X8880 48301 MT
  513. X(ESC [ u)
  514. XSH( PRCP)
  515. X4200 W( Restore)
  516. X6000 W( cursor position & attributes)SH
  517. X8880 49432 MT
  518. X(ESC [ z)
  519. XSH( PRAM)
  520. X4200 W( Reset)
  521. X6000 W( to power-up configuration)SH
  522. X8880 50563 MT
  523. X(ESC [ 2 J)
  524. XSH( ED)
  525. X3000 W( Erase)
  526. X7200 W( entire screen but do not move cursor;)SH
  527. X26880 51694 MT
  528. X(regular Heath-19 moves cursor to Home.)SH
  529. X8880 52825 MT
  530. X(ESC [ ? 2 h)
  531. XSH( PEHM)
  532. X1800 W( Revert)
  533. X6000 W( to normal Heath-19 non-ANSI mode)SH
  534. X8880 53956 MT
  535. X(ESC [ > Ps h)
  536. XSH( SM)
  537. X1200 W( Same)
  538. X7200 W( as ESC x Ps)SH
  539. X8880 55087 MT
  540. X(ESC [ > Ps l)
  541. XSH( RM)
  542. X1200 W( Same)
  543. X7200 W( as ESC y Ps)SH
  544. X/Helvetica SF
  545. X8280 56947 MT
  546. X(Plus most of the ANSI escape sequences listed for the VT102.)SH
  547. X12 /Helvetica-Bold AF
  548. X8280 60300 MT
  549. X(7.15.7. Tektronix 4010/4014 Graphics Terminal Functions)SH
  550. X10 /Helvetica AF
  551. X8280 62368 MT
  552. X(MS-Kermit's Tektronix 4010 emulator responds to ordinary text, several special control)
  553. X5 W( codes \050for drawing)4 W
  554. X8280 63511 MT
  555. X(lines and dots\051, and several)
  556. X114 W( escape sequences, as shown in Table 7-8.  The commands SET DEBUG)115 W
  557. X8280 64654 MT
  558. X(and SET TRANSLATION INPUT are effective in Tek mode.)SH
  559. X8280 66940 MT
  560. X(In the table, US is the name for the ASCII character Control-Underscore, 31 decimal.  Text)
  561. X154 W( is written)153 W
  562. X8280 68083 MT
  563. X(starting with the)
  564. X23 W( last drawn point being the lower left corner of the first 8 by 8 character cell.  The drawing)24 W
  565. X8280 69226 MT
  566. X(position is updated by 8 dots to the right for each character,)
  567. X56 W( and lines wrap at column 80 \050column 90 for)55 W
  568. X8280 70369 MT
  569. X(Hercules boards\051.  If)
  570. X2 W( text extends "below the screen" the sign "More >" is shown at the bottom right corner)3 W
  571. X8280 71512 MT
  572. X(and the user needs to press a key to continue.  Then the screen will)
  573. X18 W( be cleared and the new text will start)17 W
  574. XES
  575. X%%Page: 142 143
  576. XBS
  577. X0 SI
  578. X10 /Helvetica-Bold AF
  579. X8280 4329 MT
  580. X(MS-DOS KERMIT)SH
  581. X50744 XM
  582. X(Page 142)SH
  583. X46800 50 8280 8129 UL
  584. X/Helvetica SF
  585. X8280 10969 MT
  586. X(Control Code)SH
  587. X29880 XM
  588. X(Action)SH
  589. X5891 50 8280 11169 UL
  590. X2779 50 29880 11169 UL
  591. X8280 12112 MT
  592. X(FS, Control-\134)278 W
  593. X19080 XM
  594. X(Backslash)SH
  595. X29880 XM
  596. X(draw dots)SH
  597. X8280 13255 MT
  598. X(GS, Control-])278 W
  599. X19080 XM
  600. X(Right square bracket)SH
  601. X29880 XM
  602. X(draw lines)SH
  603. X8280 14398 MT
  604. X(RS, Control-^)278 W
  605. X19080 XM
  606. X(Caret)SH
  607. X29880 XM
  608. X(Draw dots incrementally)SH
  609. X8280 15541 MT
  610. X(US, Control-_)278 W
  611. X19080 XM
  612. X(Underscore)SH
  613. X29880 XM
  614. X(Display text)SH
  615. X8280 16684 MT
  616. X(BEL, Control-G)SH
  617. X29880 XM
  618. X(Beep, make a noise)SH
  619. X8280 17827 MT
  620. X(BS, Control-H)278 W
  621. X29880 XM
  622. X(Backspace, destructive delete)SH
  623. X8280 18970 MT
  624. X(HT, Control-I)278 W
  625. X29880 XM
  626. X(Tab, convert to single space)SH
  627. X8280 20113 MT
  628. X(LF, Control-J)278 W
  629. X29880 XM
  630. X(Line feed, go down one line)SH
  631. X8280 21256 MT
  632. X(VT, Control-K)278 W
  633. X29880 XM
  634. X(Move up one text line)SH
  635. X8280 22399 MT
  636. X(FF, Control-L)278 W
  637. X29880 XM
  638. X(Clears the screen)SH
  639. X8280 23542 MT
  640. X(CR, Control-M)278 W
  641. X29880 XM
  642. X(Carriage return, start of line)SH
  643. X8280 24685 MT
  644. X(CAN, Control-X)SH
  645. X29880 XM
  646. X(Exit Tek sub-mode, or ignore)SH
  647. X8280 25828 MT
  648. X(DEL, RUBOUT)SH
  649. X29880 XM
  650. X(Delete code, same as BS)SH
  651. X8280 28114 MT
  652. X(Escape Sequence)SH
  653. X29880 XM
  654. X(Action)SH
  655. X8116 50 8280 28314 UL
  656. X2779 50 29880 28314 UL
  657. X8280 29257 MT
  658. X(ESC Control-E)SH
  659. X29880 XM
  660. X(Send a status report)SH
  661. X8280 30400 MT
  662. X(ESC Control-L)SH
  663. X29880 XM
  664. X(Clear the screen)SH
  665. X8280 31543 MT
  666. X(ESC Control-Z)SH
  667. X29880 XM
  668. X(Activate crosshairs \050GIN mode\051)SH
  669. X8280 32686 MT
  670. X(ESC Z)SH
  671. X29880 XM
  672. X(Send terminal identification)SH
  673. X8280 33829 MT
  674. X(ESC ` \050accent grave\051)SH
  675. X29880 XM
  676. X(Use solid lines in drawing)SH
  677. X8280 34972 MT
  678. X(ESC a through ESC e)SH
  679. X29880 XM
  680. X(Use dashed line patterns:)SH
  681. X30158 36115 MT
  682. X(a=fine dots, b=short dashes)SH
  683. X30158 37258 MT
  684. X(c=dash dot,  d=long dash dot)SH
  685. X30158 38401 MT
  686. X(e=dash dot dot.)SH
  687. X8280 39544 MT
  688. X(ESC [ ? 3 8 l)SH
  689. X29880 XM
  690. X(Exit Tek mode \050become text terminal, VT102 etc\051)SH
  691. X8280 40687 MT
  692. X(ESC [ ? 3 8 h)SH
  693. X29880 XM
  694. X(Enter Tek mode \050from VT102 mode\051)SH
  695. X/Helvetica-Bold SF
  696. X13924 42370 MT
  697. X(Table 7-8:)SH
  698. X/Helvetica SF
  699. X19426 XM
  700. X(Response of MS-Kermit Tektronix Emulator to Received Characters)SH
  701. X46800 50 8280 44253 UL
  702. X8280 45925 MT
  703. X(at the top of the screen \050no scrolling is done in graphics mode\051.  A real Tek)
  704. X140 W( 4010 begins new text at)141 W
  705. X8280 47068 MT
  706. X(column 40 and will overwrite)
  707. X37 W( dots from older material.  The high resolution EGA screen and the Hercules)36 W
  708. X8280 48211 MT
  709. X(screen will hold 43 lines, the CGA)
  710. X21 W( and Monochome screens hold 25 lines, and the AT&T screen holds 50)22 W
  711. X8280 49354 MT
  712. X(lines. Hercules)
  713. X776 W( screens are 90 characters wide and)
  714. X249 W( others are 80 characters wide.  Monochrome)248 W
  715. X8280 50497 MT
  716. X(systems lack graphics so the text is the normal hardware character font placed at the nearest)
  717. X146 W( normal)147 W
  718. X8280 51640 MT
  719. X(80x25 location \050similarly, "drawing" on Monochrome systems is achieved)
  720. X97 W( by using a text plus \050"+"\051 sign)96 W
  721. X8280 52783 MT
  722. X(where a dot would appear\051.  Text mode is interrupted by the drawing commands discussed below.)SH
  723. X8280 55069 MT
  724. X(Drawing commands GS, FS, RS:)SH
  725. X3667 50 8280 55269 UL
  726. X4890 50 12225 55269 UL
  727. X1723 50 17393 55269 UL
  728. X1556 50 19394 55269 UL
  729. X1389 50 21228 55269 UL
  730. X8280 57355 MT
  731. X(1. Draw a line or move to a point: GS <)SH
  732. X/Helvetica-Oblique SF
  733. X(xy xy)SH
  734. X/Helvetica SF
  735. X28094 XM
  736. X(. . .)SH
  737. X/Helvetica-Oblique SF
  738. X30040 XM
  739. X(xy)SH
  740. X/Helvetica SF
  741. X(>)SH
  742. X8280 59641 MT
  743. X(GS is the name for ASCII character)
  744. X163 W( Control-] \050right square bracket\051, decimal 29.  <)164 W
  745. X/Helvetica-Oblique SF
  746. X(xy)SH
  747. X/Helvetica SF
  748. X(> stands for an)164 W
  749. X8280 60784 MT
  750. X(encoded x,y coordinate as explained below.  One or more x,y coordinates may follow)
  751. X233 W( GS and line)232 W
  752. X8280 61927 MT
  753. X(segments are drawn from point to point.  The first)
  754. X96 W( point is reached without drawing so that GS and the)97 W
  755. X8280 63070 MT
  756. X(initial <)41 W
  757. X/Helvetica-Oblique SF
  758. X(xy)SH
  759. X/Helvetica SF
  760. X(> is a simple "move-to" command rather than a "draw-to" command.  Lines may be constructed)40 W
  761. X8280 64213 MT
  762. X(from six dash patterns)
  763. X107 W( described in Table 7-8.  <)108 W
  764. X/Helvetica-Oblique SF
  765. X(xy)SH
  766. X/Helvetica SF
  767. X(> coordinates are encoded by separating the 10 bit)108 W
  768. X8280 65356 MT
  769. X(value of x and of y into)
  770. X209 W( 5 bit components, adding an ASCII space \05032\051 to each to form a printable)208 W
  771. X8280 66499 MT
  772. X(character, and then adding two high bits to each)
  773. X218 W( to identify which component is being represented:)219 W
  774. X8280 67642 MT
  775. X(high-y, low-y, high-x, or low-x.  They are transmitted in that)
  776. X23 W( order, with the low-x byte always sent last.  In)22 W
  777. X8280 68785 MT
  778. X(fact, bytes may)
  779. X81 W( be omitted if they do not change from point to point, provided that low-x is always sent.)82 W
  780. X8280 69928 MT
  781. X(These bytes range from ASCII)
  782. X37 W( space \05032 decimal\051 to ASCII DEL \050127 decimal\051.  Details are given below,)36 W
  783. X8280 71071 MT
  784. X(and summarized in Table)
  785. X76 W( 7-10.  This mode completes when a new command or CRLF \050carriage return,)77 W
  786. XES
  787. X%%Page: 143 144
  788. XBS
  789. X0 SI
  790. X10 /Helvetica-Bold AF
  791. X8280 4329 MT
  792. X(MS-DOS KERMIT)SH
  793. X50744 XM
  794. X(Page 143)SH
  795. X/Helvetica SF
  796. X8280 7929 MT
  797. X(line feed\051 arrives; escape sequences are processed transparently but other
  798. control codes)
  799. X137 W( are ignored.)136 W
  800. X8280 9072 MT
  801. X(The interrupting character is accepted and processed next.)SH
  802. X8280 11358 MT
  803. X(2. Draw dots at given locations: FS <)SH
  804. X/Helvetica-Oblique SF
  805. X(xy xy)SH
  806. X/Helvetica SF
  807. X27149 XM
  808. X(. . .)SH
  809. X/Helvetica-Oblique SF
  810. X29095 XM
  811. X(xy)SH
  812. X/Helvetica SF
  813. X(>)SH
  814. X8280 13644 MT
  815. X(FS is the name for the ASCII character Control-\134 \050backslash\051, decimal 28.  <)88 W
  816. X/Helvetica-Oblique SF
  817. X(xy)SH
  818. X/Helvetica SF
  819. X(> is in the same form as)88 W
  820. X8280 14787 MT
  821. X(above. A)
  822. X662 W( dot is drawn at each x,y point.  This mode completes when a new command)X192 W( or a CRLF)191 W
  823. X8280 15930 MT
  824. X(character arrives; escape sequences are)
  825. X143 W( processed transparently but other control codes are ignored.)144 W
  826. X8280 17073 MT
  827. X(The interrupting character is accepted and processed next.)SH
  828. X8280 19359 MT
  829. X(3. Draw dots from the current location: RS)SH
  830. X/Helvetica-Oblique SF
  831. X27176 XM
  832. X(<pen> <direction> <direction> . . .  <direction>)SH
  833. X/Helvetica SF
  834. X8280 21645 MT
  835. X(RS is the name for the ASCII)
  836. X123 W( character Control-^ \050caret\051, decimal 30.)122 W
  837. X/Helvetica-Oblique SF
  838. X40852 XM
  839. X(pen)SH
  840. X/Helvetica SF
  841. X42920 XM
  842. X(is the character Space \05032)122 W
  843. X8280 22788 MT
  844. X(decimal\051 to move)
  845. X163 W( without drawing or P \05080 decimal\051 to draw while moving.)164 W
  846. X/Helvetica-Oblique SF
  847. X43751 XM
  848. X(<direction>)SH
  849. X/Helvetica SF
  850. X49140 XM
  851. X(is one of the)164 W
  852. X8280 23931 MT
  853. X(letters A, E, D, F, B, J, H, I as shown in Table 7-9.)SH
  854. X46800 50 8280 26003 UL
  855. X/Helvetica-Oblique SF
  856. X8280 28843 MT
  857. X(<direction>)SH
  858. X/Helvetica SF
  859. X17280 XM
  860. X(Move One Tek Dot This Way)SH
  861. X4947 50 8280 29043 UL
  862. X12837 50 17280 29043 UL
  863. X11880 29986 MT
  864. X(A)SH
  865. X17280 XM
  866. X(East \050right\051)SH
  867. X11880 31129 MT
  868. X(E)SH
  869. X17280 XM
  870. X(East and North)SH
  871. X33758 XM
  872. X(F D E)556 W
  873. X11880 32272 MT
  874. X(D)SH
  875. X17280 XM
  876. X(North \050up\051)SH
  877. X11880 33415 MT
  878. X(F)SH
  879. X17280 XM
  880. X(North and West)SH
  881. X33758 XM
  882. X(B * A)
  883. X556 W( \050*)
  884. X1112 W( is current location\051)SH
  885. X11880 34558 MT
  886. X(B)SH
  887. X17280 XM
  888. X(West)SH
  889. X11880 35701 MT
  890. X(J)SH
  891. X17280 XM
  892. X(South and West)SH
  893. X33758 XM
  894. X(J H I)556 W
  895. X11880 36844 MT
  896. X(H)SH
  897. X17280 XM
  898. X(South)SH
  899. X11880 37987 MT
  900. X(I)SH
  901. X17280 XM
  902. X(South and East)SH
  903. X/Helvetica-Bold SF
  904. X21261 39670 MT
  905. X(Table 7-9:)SH
  906. X/Helvetica SF
  907. X26763 XM
  908. X(Tektronix Dot-Drawing Commands)SH
  909. X46800 50 8280 41553 UL
  910. X8280 43639 MT
  911. X(Example: RS)
  912. X194 W( P J J J \050no spaces here, naturally\051 means draw three dots in the southwest direction,)193 W
  913. X8280 44782 MT
  914. X(stepping to each in turn.  This mode completes when a new command)
  915. X16 W( or a non-)17 W
  916. X/Helvetica-Oblique SF
  917. X(<pen>)SH
  918. X/Helvetica SF
  919. X46948 XM
  920. X(or non-)17 W
  921. X/Helvetica-Oblique SF
  922. X(<direction>)SH
  923. X/Helvetica SF
  924. X8280 45925 MT
  925. X(character arrives; the interrupting character is accepted and processed next.)SH
  926. X8280 48211 MT
  927. X(Graphics INput \050GIN\051 mode:)SH
  928. X4001 50 8280 48411 UL
  929. X2390 50 12559 48411 UL
  930. X2444 50 15227 48411 UL
  931. X2501 50 17949 48411 UL
  932. X8280 50497 MT
  933. X(Graphics input mode is entered when ESC Control-Z is received.  A crosshair)
  934. X16 W( is drawn on the screen and)15 W
  935. X8280 51640 MT
  936. X(may be moved by the numeric keypad arrows \050fine scale motion\051 or the Shift key and)
  937. X193 W( these arrows)194 W
  938. X8280 52783 MT
  939. X(\050coarse scale motion\051.  Pressing an ASCII-producing key sends the position of the)
  940. X49 W( crosshairs to the host)48 W
  941. X8280 53926 MT
  942. X(as the sequence of: pressed key, X coordinate, Y coordinate,)
  943. X337 W( carriage return, then removes the)338 W
  944. X8280 55069 MT
  945. X(crosshairs, and then returns to)
  946. X44 W( text mode.  The coordinates are encoded as for a GS command, but with)43
  947. W
  948. X8280 56212 MT
  949. X(the Kind bits omitted \050see Table 7-10\051.  If the host)
  950. X178 W( echos the report Kermit tries to absorb it without)179 W
  951. X8280 57355 MT
  952. X(comment; otherwise, the text might be shown starting at the crosshairs.)
  953. X77 W( One)
  954. X431 W( may prematurely exit GIN)76 W
  955. X8280 58498 MT
  956. X(mode by typing Control-C or Control-Break.  Shift-PrtSc \050DOS screen dump\051 remains active, however.)SH
  957. X8280 60784 MT
  958. X(The six byte report string might be echoed by the host so the emulator attempts to read the next six)155 W
  959. X8280 61927 MT
  960. X(incoming bytes and suppress them while they match the report. Normally, the host is prepared to)
  961. X35 W( receive)34 W
  962. X8280 63070 MT
  963. X(the report and it should turn off echoing during the process.)SH
  964. X8280 65356 MT
  965. X(Status or Position Report:)SH
  966. X2835 50 8280 65556 UL
  967. X889 50 11393 65556 UL
  968. X3557 50 12560 65556 UL
  969. X3001 50 16395 65556 UL
  970. X8280 67642 MT
  971. X(ESCAPE Control-E requests a status report from the emulator.  Tek terminals have many sub-fields.)179 W
  972. X8280 68785 MT
  973. X(Kermit-MS sends a byte of 24 hex for being in text mode or 20 hex otherwise,)
  974. X28 W( followed by the encoded X)27 W
  975. X8280 69928 MT
  976. X(then Y coordinates and a)
  977. X125 W( carriage return.  Coordinates are encoded 5 bits at a time similar to the GS)126 W
  978. X8280 71071 MT
  979. X(command except the Kind bits are omitted \050see Table 7-10\051.)SH
  980. XES
  981. X%%Page: 144 145
  982. XBS
  983. X0 SI
  984. X10 /Helvetica-Bold AF
  985. X8280 4329 MT
  986. X(MS-DOS KERMIT)SH
  987. X50744 XM
  988. X(Page 144)SH
  989. X/Helvetica SF
  990. X8280 7929 MT
  991. X(Identification Report:)SH
  992. X5614 50 8280 8129 UL
  993. X3001 50 14172 8129 UL
  994. X8280 10215 MT
  995. X(ESCAPE Z requests terminal identification, as for VT52 and VT102.  Currently this report is the 10)219 W
  996. X8280 11358 MT
  997. X(character sequence IBM_TEK ESCAPE / Z \050no spaces\051.)SH
  998. X8280 13644 MT
  999. X(Screen Capturing:)SH
  1000. X3168 50 8280 13844 UL
  1001. X4335 50 11726 13844 UL
  1002. X8280 15930 MT
  1003. X(Kermit does not implement)
  1004. X752 W( a graphics screen capture facility.  There are many such)753 W
  1005. X8280 17073 MT
  1006. X(Terminate-and-Stay-Resident \050TSR\051 programs)
  1007. X57 W( in circulation, as either public domain offerings or parts of)56 W
  1008. X8280 18216 MT
  1009. X(commercial packages \050Paint programs and even)
  1010. X190 W( GRAPHICS.COM from DOS\051.  High resolution EGA)191 W
  1011. X8280 19359 MT
  1012. X(screens require more)
  1013. X100 W( than the GRAPHICS.COM program.  MS Windows tells the program \050Kermit-MS\051)99 W
  1014. X8280 20502 MT
  1015. X(the system is using a pure text-only monochrome adapter so dots are shown as plus signs.)SH
  1016. X8280 22788 MT
  1017. X(Although Kermit cannot save graphics screens directly)
  1018. X156 W( \050e.g. via the ^]F connect-mode command\051, the)157 W
  1019. X8280 23931 MT
  1020. X(received Tektronix escape sequences can still be logged to)
  1021. X11 W( a PC file using the LOG SESSION command.)10 W
  1022. X8280 25074 MT
  1023. X(The resulting log cannot be "played back" directly on the PC,)
  1024. X25 W( but it can be transferred to the host and run)26 W
  1025. X8280 26217 MT
  1026. X(through Kermit's Tek emulator again, just like a character-mode Kermit session log.)SH
  1027. X8280 28503 MT
  1028. X(VGA Modes:)SH
  1029. X2112 50 8280 28703 UL
  1030. X3001 50 10670 28703 UL
  1031. X8280 30789 MT
  1032. X(Considerable effort went into ensuring the graphics display would work automatically)
  1033. X150 W( and not damage)149 W
  1034. X8280 31932 MT
  1035. X(monitors. Thus,)
  1036. X626 W( Kermit-MS safely tests the active display adapter)
  1037. X174 W( for its kind and capabilities before)175 W
  1038. X8280 33075 MT
  1039. X(starting graphics mode.  Recent EGA+ display boards are capable of)
  1040. X82 W( the 640 by 480 scan-line 16-color)81 W
  1041. X8280 34218 MT
  1042. X("VGA" mode which is now available on IBM PS/2 computers.  The Tek emulator will happily run with 480)38 W
  1043. X8280 35361 MT
  1044. X(scan lines, but: there is no easy and safe way to test systems if they fully support it,)
  1045. X153 W( and the normal)152 W
  1046. X8280 36504 MT
  1047. X(256KB of video memory is insufficient to save a full graphics image.  So activating)
  1048. X13 W( these higher resolution)14 W
  1049. X8280 37647 MT
  1050. X(modes is left to individuals to modify three)
  1051. X40 W( simple constants in the source code of file MSGIBM.ASM and)39 W
  1052. X8280 38790 MT
  1053. X(experiment with their own system.  Other systems can be added by individuals in the same manner.)SH
  1054. X8280 41076 MT
  1055. X(Coordinate Encoding:)SH
  1056. X4891 50 8280 41276 UL
  1057. X4169 50 13449 41276 UL
  1058. X8280 43362 MT
  1059. X(Coordinate 0,0 is the lower left corner and the X)
  1060. X191 W( axis is the horizontal one.  Tektronix positions are)192 W
  1061. X8280 44505 MT
  1062. X(mapped into the typically 640 dots wide by 200 or)
  1063. X198 W( 350 dots high PC screen and thus adjacent Tek)197 W
  1064. X8280 45648 MT
  1065. X(positions may yield the same PC screen dot.)SH
  1066. X8280 47934 MT
  1067. X(4010-like devices use positions from 0 to 1023 for both X and)
  1068. X55 W( Y, although only 0 to 779 are visible for Y)56 W
  1069. X8280 49077 MT
  1070. X(due to screen geometry.  The Tek screen is 10.24 by 7.80 inches and)
  1071. X204 W( coordinates are sent as 1-4)203 W
  1072. X8280 50220 MT
  1073. X(characters.)SH
  1074. X8280 52506 MT
  1075. X(4014-like devices use positions 0 to 4095,)
  1076. X153 W( but each movement is a multiple of 4 positions unless the)154 W
  1077. X8280 53649 MT
  1078. X(high-resolution LSBXY)
  1079. X80 W( are sent.  This makes it compatible with the 4010 in that a full sized plot fills the)79 W
  1080. X8280 54792 MT
  1081. X(screen. The)
  1082. X278 W( emulator accepts the LSBXY components but does not use them.)SH
  1083. X8280 57078 MT
  1084. X(The various modes are summarized in Table 7-10, in which the following notation is used:)SH
  1085. X10504 58667 MT
  1086. X(HIX, HIY = High order 5 bits of a 10 or 12 bit position.)SH
  1087. X10504 59810 MT
  1088. X(LOX, LOY = Middle order 5 bits of position \050low order of Tek 4010\051.)SH
  1089. X10504 60953 MT
  1090. X(LSBXY = Low order 2 bits of X + low order 2 bits of Y \0504014 mode\051,)SH
  1091. X11338 62096 MT
  1092. X(recognized by the Tek emulator but not used to calculate position.)SH
  1093. X8280 64382 MT
  1094. X(Note that LO-Y must be sent if HI-X has changed)
  1095. X30 W( so that the Tektronix knows the HI-X byte \050in the range)31 W
  1096. X8280 65525 MT
  1097. X(of 20h-3Fh\051 is HI-X and not HI-Y.  LO-Y must)
  1098. X72 W( also be sent if LSBXY has changed, so that the 4010 will)71 W
  1099. X8280 66668 MT
  1100. X(ignore LSBXY and accept)
  1101. X171 W( LO-Y.  The LSBXY byte is @MD<60h + \050MARGIN * 10h\051 + \050LSBY * 4\051 +)172 W
  1102. X8280 67811 MT
  1103. X(LSBX> MARGIN is 0 here and refers to splitting the)
  1104. X8 W( screen left and right for text rollover, which the Kermit)7 W
  1105. X8280 68954 MT
  1106. X(Tek emulator does not do.)SH
  1107. X8280 71240 MT
  1108. X(Tek 4010 Example:)SH
  1109. X1667 50 8280 71440 UL
  1110. X2224 50 10225 71440 UL
  1111. X3890 50 12727 71440 UL
  1112. XES
  1113. X%%Page: 145 146
  1114. XBS
  1115. X0 SI
  1116. X10 /Helvetica-Bold AF
  1117. X8280 4329 MT
  1118. X(MS-DOS KERMIT)SH
  1119. X50744 XM
  1120. X(Page 145)SH
  1121. X46800 50 8280 8129 UL
  1122. X/Helvetica SF
  1123. X8280 10969 MT
  1124. X(Hi Y)SH
  1125. X13680 XM
  1126. X(Lo Y)SH
  1127. X19080 XM
  1128. X(Hi X)SH
  1129. X24480 XM
  1130. X(LSBXY)SH
  1131. X29880 XM
  1132. X(Characters Sent \050Lo-X Always Sent\051)SH
  1133. X1889 50 8280 11169 UL
  1134. X2057 50 13680 11169 UL
  1135. X1889 50 19080 11169 UL
  1136. X3224 50 24480 11169 UL
  1137. X16061 50 29880 11169 UL
  1138. X8280 12112 MT
  1139. X(Same)SH
  1140. X13680 XM
  1141. X(Same)SH
  1142. X19080 XM
  1143. X(Same)SH
  1144. X24480 XM
  1145. X(Same)SH
  1146. X46440 XM
  1147. X(Lo-X)SH
  1148. X8280 13255 MT
  1149. X(Same)SH
  1150. X13680 XM
  1151. X(Same)SH
  1152. X19080 XM
  1153. X(Same)SH
  1154. X24480 XM
  1155. X(Diff)SH
  1156. X34200 XM
  1157. X(LSB,)SH
  1158. X37800 XM
  1159. X(Lo-Y,)SH
  1160. X46440 XM
  1161. X(Lo-X)SH
  1162. X51120 XM
  1163. X(4014)SH
  1164. X8280 14398 MT
  1165. X(Same)SH
  1166. X13680 XM
  1167. X(Same)SH
  1168. X19080 XM
  1169. X(Diff)SH
  1170. X24480 XM
  1171. X(Same)SH
  1172. X37800 XM
  1173. X(Lo-Y,)SH
  1174. X42120 XM
  1175. X(Hi-X,)SH
  1176. X46440 XM
  1177. X(Lo-X)SH
  1178. X8280 15541 MT
  1179. X(Same)SH
  1180. X13680 XM
  1181. X(Same)SH
  1182. X19080 XM
  1183. X(Diff)SH
  1184. X24480 XM
  1185. X(Diff)SH
  1186. X34200 XM
  1187. X(LSB,)SH
  1188. X37800 XM
  1189. X(Lo-Y,)SH
  1190. X42120 XM
  1191. X(Hi-X,)SH
  1192. X46440 XM
  1193. X(Lo-X)SH
  1194. X51120 XM
  1195. X(4014)SH
  1196. X8280 16684 MT
  1197. X(Same)SH
  1198. X13680 XM
  1199. X(Diff)SH
  1200. X19080 XM
  1201. X(Same)SH
  1202. X24480 XM
  1203. X(Same)SH
  1204. X37800 XM
  1205. X(Lo-Y,)SH
  1206. X46440 XM
  1207. X(Lo-X)SH
  1208. X8280 17827 MT
  1209. X(Same)SH
  1210. X13680 XM
  1211. X(Diff)SH
  1212. X19080 XM
  1213. X(Same)SH
  1214. X24480 XM
  1215. X(Diff)SH
  1216. X34200 XM
  1217. X(LSB,)SH
  1218. X37800 XM
  1219. X(Lo-Y,)SH
  1220. X46440 XM
  1221. X(Lo-X)SH
  1222. X51120 XM
  1223. X(4014)SH
  1224. X8280 18970 MT
  1225. X(Same)SH
  1226. X13680 XM
  1227. X(Diff)SH
  1228. X19080 XM
  1229. X(Diff)SH
  1230. X24480 XM
  1231. X(Same)SH
  1232. X37800 XM
  1233. X(Lo-Y,)SH
  1234. X42120 XM
  1235. X(Hi-X,)SH
  1236. X46440 XM
  1237. X(Lo-X)SH
  1238. X8280 20113 MT
  1239. X(Same)SH
  1240. X13680 XM
  1241. X(Diff)SH
  1242. X19080 XM
  1243. X(Diff)SH
  1244. X24480 XM
  1245. X(Diff)SH
  1246. X34200 XM
  1247. X(LSB,)SH
  1248. X37800 XM
  1249. X(Lo-Y,)SH
  1250. X42120 XM
  1251. X(Hi-X,)SH
  1252. X46440 XM
  1253. X(Lo-X)SH
  1254. X51120 XM
  1255. X(4014)SH
  1256. X8280 21256 MT
  1257. X(Diff)SH
  1258. X13680 XM
  1259. X(Same)SH
  1260. X19080 XM
  1261. X(Same)SH
  1262. X24480 XM
  1263. X(Same)SH
  1264. X29880 XM
  1265. X(Hi-Y,)SH
  1266. X46440 XM
  1267. X(Lo-X)SH
  1268. X8280 22399 MT
  1269. X(Diff)SH
  1270. X13680 XM
  1271. X(Same)SH
  1272. X19080 XM
  1273. X(Same)SH
  1274. X24480 XM
  1275. X(Diff)SH
  1276. X29880 XM
  1277. X(Hi-Y,)SH
  1278. X34200 XM
  1279. X(LSB,)SH
  1280. X37800 XM
  1281. X(Lo-Y,)SH
  1282. X46440 XM
  1283. X(Lo-X)SH
  1284. X51120 XM
  1285. X(4014)SH
  1286. X8280 23542 MT
  1287. X(Diff)SH
  1288. X13680 XM
  1289. X(Same)SH
  1290. X19080 XM
  1291. X(Diff)SH
  1292. X24480 XM
  1293. X(Same)SH
  1294. X29880 XM
  1295. X(Hi-Y,)SH
  1296. X37800 XM
  1297. X(Lo-Y,)SH
  1298. X42120 XM
  1299. X(Hi-X,)SH
  1300. X46440 XM
  1301. X(Lo-X)SH
  1302. X8280 24685 MT
  1303. X(Diff)SH
  1304. X13680 XM
  1305. X(Same)SH
  1306. X19080 XM
  1307. X(Diff)SH
  1308. X24480 XM
  1309. X(Diff)SH
  1310. X29880 XM
  1311. X(Hi-Y,)SH
  1312. X34200 XM
  1313. X(LSB,)SH
  1314. X37800 XM
  1315. X(Lo-Y,)SH
  1316. X42120 XM
  1317. X(Hi-X,)SH
  1318. X46440 XM
  1319. X(Lo-X)SH
  1320. X51120 XM
  1321. X(4014)SH
  1322. X8280 25828 MT
  1323. X(Diff)SH
  1324. X13680 XM
  1325. X(Diff)SH
  1326. X19080 XM
  1327. X(Same)SH
  1328. X24480 XM
  1329. X(Same)SH
  1330. X29880 XM
  1331. X(Hi-Y,)SH
  1332. X37800 XM
  1333. X(Lo-Y,)SH
  1334. X46440 XM
  1335. X(Lo-X)SH
  1336. X8280 26971 MT
  1337. X(Diff)SH
  1338. X13680 XM
  1339. X(Diff)SH
  1340. X19080 XM
  1341. X(Same)SH
  1342. X24480 XM
  1343. X(Diff)SH
  1344. X29880 XM
  1345. X(Hi-Y,)SH
  1346. X34200 XM
  1347. X(LSB,)SH
  1348. X37800 XM
  1349. X(Lo-Y,)SH
  1350. X46440 XM
  1351. X(Lo-X)SH
  1352. X51120 XM
  1353. X(4014)SH
  1354. X8280 28114 MT
  1355. X(Diff)SH
  1356. X13680 XM
  1357. X(Diff)SH
  1358. X19080 XM
  1359. X(Diff)SH
  1360. X24480 XM
  1361. X(Same)SH
  1362. X29880 XM
  1363. X(Hi-y,)SH
  1364. X37800 XM
  1365. X(Lo-Y,)SH
  1366. X42120 XM
  1367. X(Hi-X,)SH
  1368. X46440 XM
  1369. X(Lo-X)SH
  1370. X8280 29257 MT
  1371. X(Diff)SH
  1372. X13680 XM
  1373. X(Diff)SH
  1374. X19080 XM
  1375. X(Diff)SH
  1376. X24480 XM
  1377. X(Diff)SH
  1378. X29880 XM
  1379. X(Hi-y,)SH
  1380. X34200 XM
  1381. X(LSB,)SH
  1382. X37800 XM
  1383. X(Lo-Y,)SH
  1384. X42120 XM
  1385. X(Hi-X,)SH
  1386. X46440 XM
  1387. X(Lo-X)SH
  1388. X51120 XM
  1389. X(4014)SH
  1390. X8280 30940 MT
  1391. X(Kind code for byte:)SH
  1392. X29880 XM
  1393. X(20h)SH
  1394. X34200 XM
  1395. X(60h)SH
  1396. X37800 XM
  1397. X(60h)SH
  1398. X42120 XM
  1399. X(20h)SH
  1400. X46440 XM
  1401. X(40h)SH
  1402. X29880 32083 MT
  1403. X(\050transmitted left to right\051)SH
  1404. X/Helvetica-Bold SF
  1405. X18425 33766 MT
  1406. X(Table 7-10:)SH
  1407. X/Helvetica SF
  1408. X24483 XM
  1409. X(MS-Kermit Tektronix Coordinate Interpretation)SH
  1410. X46800 50 8280 35649 UL
  1411. X8280 37735 MT
  1412. X(Suppose <)81 W
  1413. X/Helvetica-Oblique SF
  1414. X(xy)SH
  1415. X/Helvetica SF
  1416. X(> is point y)
  1417. X81 W( = 300, x = 500 in Tektronix coordinates.  Split each 10-bit coordinate into 5-bit)82 W
  1418. X8280 38878 MT
  1419. X(groups, add ASCII Space \05032\051 and add the Kind code to each.  Send the X
  1420. part last.)SH
  1421. X/Courier-Bold SF
  1422. X20280 40683 MT
  1423. X(HI-Y LO-Y)
  1424. X2400 W( HI-X)
  1425. X10800 W( LO-X)2400 W
  1426. X10680 41814 MT
  1427. X(Y=300d=012Ch= 01001  01100)
  1428. X600 W( X=500d=01F4h=)
  1429. X1200 W( 01111  10100)600 W
  1430. X11880 42945 MT
  1431. X(+32d=+20h +10000 +10000)
  1432. X1200 W( +32d=+20h)
  1433. X2400 W( +10000)
  1434. X1200 W( +100100)600 W
  1435. X11880 44076 MT
  1436. X(+Kind code +100000 +1100000)
  1437. XSH( +kind)
  1438. X2400 W( code +100000 +1000000)SH
  1439. X3600 50 19080 44276 UL
  1440. X4200 50 23880 44276 UL
  1441. X3600 50 38280 44276 UL
  1442. X4200 50 43080 44276 UL
  1443. X10680 45207 MT
  1444. X(Binary 111001)
  1445. X4200 W( 1111100)
  1446. X600 W( 111111)
  1447. X9600 W( 1100100)600 W
  1448. X10680 46338 MT
  1449. X(ASCII 9)
  1450. X6600 W( |)
  1451. X3600 W( ?)
  1452. X13200 W( d)3600 W
  1453. X/Helvetica SF
  1454. X8280 48198 MT
  1455. X(So <)226 W
  1456. X/Helvetica-Oblique SF
  1457. X(xy)SH
  1458. X/Helvetica SF
  1459. X(> = \050500,300\051 is sent or received in a)
  1460. X226 W( GS command as "9|?d".  An example in C \050program)225 W
  1461. X8280 49341 MT
  1462. X(fragments\051:)SH
  1463. X/Courier-Bold SF
  1464. X8280 51146 MT
  1465. X(#define GS)
  1466. XSH( 29)1200 W
  1467. X8280 52277 MT
  1468. X(#define US)
  1469. XSH( 31)1200 W
  1470. X8280 53408 MT
  1471. X(FILE *fp;)
  1472. XSH( /*)
  1473. X12600 W( File descriptor for terminal */)SH
  1474. X8880 54539 MT
  1475. X(. . .)SH
  1476. X10680 56344 MT
  1477. X(fputc\050 GS, fp\051; coord\050 75, 65\051;)
  1478. XSH( /*)
  1479. X3600 W( Move to 75,65)
  1480. XSH( */)3000 W
  1481. X10680 57475 MT
  1482. X(fputc\050 US, fp\051; fputs\050"A House", fp\051; /* Annotate at 75,65  */)SH
  1483. X10680 58606 MT
  1484. X(fputc\050 GS, fp\051;)
  1485. XSH( /*)
  1486. X13200 W( Now draw lines...  */)SH
  1487. X10680 59737 MT
  1488. X(coord\050 50, 50\051; coord\050300, 50\051;)
  1489. XSH( /*)
  1490. X3600 W( Bottom side)
  1491. XSH( */)4200 W
  1492. X10680 60868 MT
  1493. X(coord\050300,200\051; coord\050 50,200\051;)
  1494. XSH( /*)
  1495. X3600 W( Right wall, top)
  1496. XSH( */)1800 W
  1497. X10680 61999 MT
  1498. X(coord\050175,250\051; coord\050300,200\051;)
  1499. XSH( /*)
  1500. X3600 W( Roof)
  1501. XSH( */)8400 W
  1502. X10680 63130 MT
  1503. X(fputc\050 GS, fp\051;)
  1504. XSH( /*)
  1505. X13200 W( Start a new line)
  1506. XSH( */)1200 W
  1507. X10680 64261 MT
  1508. X(coord\050 50, 50\051; coord\050 50,200\051;)
  1509. XSH( /*)
  1510. X3600 W( Left wall at 50,50 */)SH
  1511. X10680 65392 MT
  1512. X(. . .)SH
  1513. X8280 67197 MT
  1514. X(coord\050x, y\051 int x, y; {)
  1515. XSH( /*)
  1516. X4200 W( Send x,y coordinates to Tek 4010 */)SH
  1517. X10680 68328 MT
  1518. X(fputc\050\050y / 32\051 + 32, fp\051;)
  1519. XSH( /*)
  1520. X7200 W( High y */)SH
  1521. X10680 69459 MT
  1522. X(fputc\050\050y % 32\051 + 96, fp\051;)
  1523. XSH( /*)
  1524. X7200 W( Low  y */)SH
  1525. X10680 70590 MT
  1526. X(fputc\050\050x / 32\051 + 32, fp\051;)
  1527. XSH( /*)
  1528. X7200 W( High x */)SH
  1529. X10680 71721 MT
  1530. X(fputc\050\050x % 32\051 + 64, fp\051;)
  1531. XSH( /*)
  1532. X7200 W( Low  x */)SH
  1533. XES
  1534. X%%Trailer
  1535. X%%Pages: 164
  1536. X%%DocumentFonts: Helvetica Helvetica-Bold Helvetica-Oblique Symbol Courier-BoldEND_OF_tek.ps
  1537. if test 26708 -ne `wc -c <tek.ps`; then
  1538.     echo shar: \"tek.ps\" unpacked with wrong size!
  1539. fi
  1540. # end of overwriting check
  1541. fi
  1542. echo shar: End of shell archive.
  1543. exit 0
  1544.