home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_100 / 125_01 / libo1.c < prev    next >
Text File  |  1985-03-10  |  2KB  |  162 lines

  1. /*   DISK CATALOG : HEADERS.DOC
  2.     
  3. C Users Group Volume Number 125 - VIDEO TERMINAL LIRARIES
  4. Cataloged By Ben Rockefeller 5/15/85    
  5.  
  6. */
  7.  
  8. /*           HEADER: CUG125.09; 
  9.  
  10.           TITLE: VIDEO TERMINAL LIBRARIES;
  11.             VERSION: 1.0;
  12.                   DATE: 5/15/85;
  13.         DESCRIPTION: "Library of video terminal routines
  14.               to use control codes for the Osborne 1";
  15.        KEYWORDS: Osborne 1, video terminal routines;
  16.              SYSTEM: Osborne 1, CP/M;
  17.            FILENAME: LIBO1.C;
  18.        WARNINGS: "Runs only on Osborne 1";
  19.        SEE-ALSO: LIBO1.NRO;
  20.             AUTHORS: Stephen L. Browning;
  21.           COMPILERS: BDC C;
  22. */
  23.  
  24.  
  25. /*
  26. *    Library of routines to utilize
  27. *    control codes for the Osborne 1.
  28. *
  29. *    Stephen L. Browning
  30. *    5723 North Parker Avenue
  31. *    Indianapolis, Indiana 46220
  32. */
  33.  
  34. #include "crt.h"
  35.  
  36. #define ESC    033
  37.  
  38. /*
  39. *    Home the cursor and clear the screen
  40. */
  41.  
  42. clrscrn()
  43. {
  44.     putchar('\032');
  45. }
  46.  
  47. /*
  48. *    Erase entire line
  49. */
  50.  
  51. eralin(_y)
  52. int _y;
  53. {
  54.     putchar(ESC);
  55.     putchar('=');
  56.     putchar(23-_y+' ');
  57.     putchar(' ');
  58.     putchar(ESC);
  59.     putchar('T');
  60. }
  61.  
  62.  
  63. /*
  64. *    Erase from cursor to end of line
  65. */
  66.  
  67. erteol()
  68. {
  69.     putchar(ESC);
  70.     putchar('T');
  71. }
  72.  
  73.  
  74. /*
  75. *    Set terminal in graphics mode
  76. */
  77.  
  78. graphics()
  79. {
  80.     putchar(ESC);
  81.     putchar('g');
  82. }
  83.  
  84.  
  85. /*
  86. *    Move cursor to home position
  87. */
  88.  
  89. homcur()
  90. {
  91.     putchar('\036');
  92. }
  93.  
  94.  
  95. /*
  96. *    Move cursor to one of eight adjacent
  97. *    locations
  98. */
  99.  
  100. movcur(_dir)
  101. int _dir;
  102. {
  103.     switch (_dir) {
  104.     case N:
  105.         putchar('\013');
  106.         break;
  107.     case NE:
  108.         putchar('\013');
  109.         putchar('\014');
  110.         break;
  111.     case E:
  112.         putchar('\014');
  113.         break;
  114.     case SE:
  115.         putchar('\012');
  116.         putchar('\014');
  117.         break;
  118.     case S:
  119.         putchar('\012');
  120.         break;
  121.     case SW:
  122.         putchar('\012');
  123.         putchar('\010');
  124.         break;
  125.     case W:
  126.         putchar('\010');
  127.         break;
  128.     case NW:
  129.         putchar('\013');
  130.         putchar('\010');
  131.         break;
  132.     }
  133. }
  134.  
  135. /*
  136. *    Set terminal to its default
  137. *    power up mode.
  138. */
  139.  
  140. normal()
  141. {
  142.     putchar(ESC);
  143.     putchar('G');
  144. }
  145.  
  146.  
  147. /*
  148. *    Set cursor to coordinate value.
  149. *    0,0 is lower left corner of display
  150. *    with "window" set to upper left
  151. *    of the video ram.
  152. */
  153.  
  154. setcur(_x,_y)
  155. int _x, _y;
  156. {
  157.     putchar(ESC);
  158.     putchar('=');
  159.     putchar(23 - _y + ' ');
  160.     putchar(_x + ' ');
  161. }
  162.