home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_100 / 178_01 / tvx_term.ic < prev    next >
Text File  |  1986-01-17  |  24KB  |  448 lines

  1. /* ------------------------>>> tvx_term.ic <<<----------------------------*/
  2. /* -----------------  Various terminal definitions ---------------------- */
  3. /* ********************************************************************** */
  4. #ifdef IBMPC
  5.     EXTERN int addx = 31;        /* amount to add to get x */
  6.     EXTERN int addy = 31;        /* to get y */
  7.     EXTERN char cxychr = 0;        /* true if convert xy bin to ascii */
  8.     EXTERN char cversn[12] = "IBM-PC";     /* a version to identify config */
  9.     EXTERN char cxy1st = 'l';            /* l if line first, c if column 1st */
  10.     EXTERN char cxybeg[8] = {18,0,0,0,0,0,0,0};    /* start xy control seq  */
  11.     EXTERN char cxymid[8] = {0,0,0,0,0,0,0,0};  /* middle xy control seq */
  12.     EXTERN char cxyend[8] = {0,0,0,0,0,0,0,0};  /* end sequence */
  13.     EXTERN char cerrbg[8] = {16,0,0,0,0,0,0,0}; /* string to print when errors start */
  14.     EXTERN char cerred[8] = {14,0,0,0,0,0,0,0};  /* when errors done */
  15.     EXTERN char ctopb[8] = {3,0,0,0,0,0,0,0}; /* top blanks = reverse linefeed */
  16.     EXTERN char cinit[20] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
  17.     /* start up sequence */
  18.     EXTERN char cendit[20] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
  19.     /* to end session */
  20.     EXTERN char cbotb[8] = {10,0,0,0,0,0,0,0};  /* bottom blank line sequence */
  21.     EXTERN char celin[8] = {1,0,0,0,0,0,0,0};        /* erase to end of line */
  22.     EXTERN char cescr[8] = {2,0,0,0,0,0,0,0};        /* erase to end of screen */
  23.     EXTERN char ccsrcm[8] = {20,0,0,0,0,0,0,0};    /* set cursor to command mode */
  24.     EXTERN char ccsrin[8] = {19,0,0,0,0,0,0,0};    /* set cursor to insert mode */
  25.     EXTERN char ciline[8] = {3,0,0,0,0,0,0,0};        /* insert a line */
  26.     EXTERN char ckline[8] = {6,0,0,0,0,0,0,0};        /* kill a line */
  27.     EXTERN char cundlb[8] = {4,0,0,0,0,0,0,0};    /* turn on underline */
  28.     EXTERN char cundle[8] = {5,0,0,0,0,0,0,0};    /* turn off underline */
  29.     EXTERN char cboldb[8] = {11,0,0,0,0,0,0,0};    /* start bold */
  30.     EXTERN char cbolde[8] = {12,0,0,0,0,0,0,0};    /* end bold */
  31.  
  32.     EXTERN int ddline = 16;
  33.     EXTERN int dscrl = 0;
  34.     EXTERN int dxcase = 0;
  35. #ifdef USECTRLZ
  36.     EXTERN int usecz = 1;
  37. #else
  38.     EXTERN int usecz = 0;
  39. #endif
  40.     EXTERN int autoin = 0;    /* TRUE if auto indent, FALSE otherwise */
  41.     EXTERN int logdef = 0;    /* backup log file by default 0->no, 1-> yes */
  42.     EXTERN char delkey = 8;
  43.     EXTERN int tvlins = 25;    /* number of lines on screen */
  44.     EXTERN int tvcols = 80;    /* number of columns on screen */
  45.     EXTERN int tvhardlines = 25;    /* real number of lines */
  46.     EXTERN int tvx = 0;        /* current x cursor position */
  47.     EXTERN int tvy = 0;        /* current y cursor position */
  48.     EXTERN int tvdlin = 0;     /* the "active" display line */
  49.     EXTERN int dsplin = 0;     /* the default display line */
  50.     EXTERN int tabspc = 8;     /* spacing for tabs */
  51.     EXTERN int leftmg = 0;    /* left margin of display */
  52.     EXTERN int wraplm = 0;    /* auto wrap? */
  53.     EXTERN int isibmpc = 1;    /* for possible use with a general version */
  54.  
  55.     EXTERN char synofr[20] =    /* from table */
  56.       {' ',13,'[',']',000,000,000,000,000,000,00,00,00,00,00,00,00,00,00,00};
  57.     EXTERN char synoto[20] =        /* translate to table */
  58.       {'r','d','{','{',000,0,000,00,00,000,00,00,00,00,00,00,00,00,00,00};
  59.     EXTERN char funkey = 0;        /* leading char for function key */
  60.     EXTERN char funchar[50] =    /* code sent by function key */
  61.       {     /* make keypad function keys work like you would expect */
  62.      71,  72,  73,  75,  77,  79,  82,  83,  80,  81,
  63.      59, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  64.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  65.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  66.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  67.       };
  68.     EXTERN char funcmd[50] =    /* equivalent command */
  69.       {
  70.     'b',  21, 'h', 'l', 'r', 'e', 'i',  11,   4, 'p',
  71.     '&', 000, 000, 000, 000, 000, 000, 000, 000, 000,
  72.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  73.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  74.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  75.       };
  76. #endif
  77. /* ********************************************************************** */
  78. #ifdef TERMCAP
  79.     EXTERN int addx = 0;        /* amount to add to get x */
  80.     EXTERN int addy = 0;            /* to get y */
  81.     EXTERN char cxychr = 0;        /* true if convert xy bin to ascii */
  82.     EXTERN char cversn[12] = ":";     /* a version to identify config */
  83.     EXTERN char cxy1st = 0;            /* l if line first, c if column 1st */
  84.     EXTERN char cxybeg[8] = {0,0,0,0,0,0,0,0};    /* start xy control seq  */
  85.     EXTERN char cxymid[8] = {0,0,0,0,0,0,0,0};  /* middle xy control seq */
  86.     EXTERN char cxyend[8] = {0,0,0,0,0,0,0,0};  /* end sequence */
  87.     EXTERN char cerrbg[8] = {0,0,0,0,0,0,0,0}; /* string to print when errors start */
  88.     EXTERN char cerred[8] = {0,0,0,0,0,0,0,0};  /* when errors done */
  89.     EXTERN char ctopb[8] = {0,0,0,0,0,0,0,0}; /* top blanks = reverse linefeed */
  90.     EXTERN char cinit[20] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
  91.     /* start up sequence */
  92.     EXTERN char cendit[20] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
  93.     /* to end session */
  94.     EXTERN char cbotb[8] = {10,0,0,0,0,0,0,0};  /* bottom blank line sequence */
  95.     EXTERN char celin[8] = {0,0,0,0,0,0,0,0};        /* erase to end of line */
  96.     EXTERN char cescr[8] = {0,0,0,0,0,0,0,0};        /* erase to end of screen */
  97.     EXTERN char ccsrcm[8] = {0,0,0,0,0,0,0,0};    /* set cursor to command mode */
  98.     EXTERN char ccsrin[8] = {0,0,0,0,0,0,0,0};    /* set cursor to insert mode */
  99.     EXTERN char ciline[8] = {0,0,0,0,0,0,0,0};        /* insert a line */
  100.     EXTERN char ckline[8] = {0,0,0,0,0,0,0,0};        /* kill a line */
  101.     EXTERN char cundlb[8] = {0,0,0,0,0,0,0,0};    /* turn on underline */
  102.     EXTERN char cundle[8] = {0,0,0,0,0,0,0,0};    /* turn off underline */
  103.     EXTERN char cboldb[8] = {0,0,0,0,0,0,0,0};    /* start bold */
  104.     EXTERN char cbolde[8] = {0,0,0,0,0,0,0,0};    /* end bold */
  105.  
  106.     EXTERN int ddline = 12;    /* unix really needs scroll window */
  107.     EXTERN int dscrl = 6;
  108.     EXTERN int dxcase = 0;
  109. #ifdef USECTRLZ
  110.     EXTERN int usecz = 1;
  111. #else
  112.     EXTERN int usecz = 0;
  113. #endif
  114.     EXTERN int autoin = 0;    /* TRUE if auto indent, FALSE otherwise */
  115.     EXTERN int logdef = 0;    /* backup log file by default 0->no, 1-> yes */
  116.     EXTERN char delkey = 8;
  117.     EXTERN int tvlins = 0;    /* number of lines on screen */
  118.     EXTERN int tvcols = 0;    /* number of columns on screen */
  119.     EXTERN int tvhardlines = 0;    /* real number of lines */
  120.     EXTERN int tvx = 0;        /* current x cursor position */
  121.     EXTERN int tvy = 0;        /* current y cursor position */
  122.     EXTERN int tvdlin = 0;     /* the "active" display line */
  123.     EXTERN int dsplin = 0;     /* the default display line */
  124.     EXTERN int tabspc = 8;     /* spacing for tabs */
  125.     EXTERN int leftmg = 0;    /* left margin of display */
  126.     EXTERN int wraplm = 0;    /* auto wrap? */
  127.     EXTERN int isibmpc = 0;    /* for possible use with a general version */
  128.  
  129.     EXTERN char synofr[20] =    /* from table */
  130.       {' ',13,'[',']',000,000,000,000,000,000,00,00,00,00,00,00,00,00,00,00};
  131.     EXTERN char synoto[20] =        /* translate to table */
  132.       {'r','d','{','{',000,0,000,00,00,000,00,00,00,00,00,00,00,00,00,00};
  133.     EXTERN char funkey = 0;        /* leading char for function key */
  134.     EXTERN char funchar[50] =    /* code sent by function key */
  135.       {
  136.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  137.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  138.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  139.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  140.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000
  141.       };
  142.     EXTERN char funcmd[50] =    /* equivalent command */
  143.       {
  144.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  145.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  146.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  147.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  148.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000
  149.       };
  150. #endif
  151. /* ********************************************************************** */
  152. #ifdef VT100 
  153.     EXTERN int addx = 0;        /* amount to add to get x */
  154.     EXTERN int addy = 0;            /* to get y */
  155.     EXTERN char cxychr = 1;        /* true if convert xy bin to ascii */
  156.     EXTERN char cversn[12] = "VT-100";     /* a version to identify config */
  157.     EXTERN char cxy1st = 'l';            /* l if line first, c if column 1st */
  158.     EXTERN char cxybeg[8] = {27,'[',0,0,0,0,0,0};    /* start xy control seq  */
  159.     EXTERN char cxymid[8] = {';',0,0,0,0,0,0,0};  /* middle xy control seq */
  160.     EXTERN char cxyend[8] = {'H',0,0,0,0,0,0,0};  /* end sequence */
  161.     EXTERN char cerrbg[8] = {7,0,0,0,0,0,0,0}; /* string to print when errors start */
  162.     EXTERN char cerred[8] = {0,0,0,0,0,0,0,0};  /* when errors done */
  163.     EXTERN char ctopb[8] = {27,'M',0,0,0,0,0,0}; /* top blanks = reverse linefeed */
  164.     EXTERN char cinit[20] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
  165.     /* start up sequence */
  166.     EXTERN char cendit[20] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
  167.     /* to end session */
  168.     EXTERN char cbotb[8] = {10,0,0,0,0,0,0,0};  /* bottom blank line sequence */
  169.     EXTERN char celin[8] = {27,'[','K',0,0,0,0,0}; /* erase to end of line */
  170.     EXTERN char cescr[8] = {27,'[','J',0,0,0,0,0};        /* erase to end of screen */
  171.     EXTERN char ccsrcm[8] = {0,0,0,0,0,0,0,0};    /* set cursor to command mode */
  172.     EXTERN char ccsrin[8] = {0,0,0,0,0,0,0,0};    /* set cursor to insert mode */
  173.     EXTERN char ciline[8] = {0,0,0,0,0,0,0,0};        /* insert a line */
  174.     EXTERN char ckline[8] = {0,0,0,0,0,0,0,0};        /* kill a line */
  175.     EXTERN char cundlb[8] = {0,0,0,0,0,0,0,0};    /* turn on underline */
  176.     EXTERN char cundle[8] = {0,0,0,0,0,0,0,0};    /* turn off underline */
  177.     EXTERN char cboldb[8] = {0,0,0,0,0,0,0,0};    /* start bold */
  178.     EXTERN char cbolde[8] = {0,0,0,0,0,0,0,0};    /* end bold */
  179.  
  180.     EXTERN int ddline = 16;
  181.     EXTERN int dscrl = 0;
  182.     EXTERN int dxcase = 0;
  183. #ifdef USECTRLZ
  184.     EXTERN int usecz = 1;
  185. #else
  186.     EXTERN int usecz = 0;
  187. #endif
  188.     EXTERN int autoin = 0;    /* TRUE if auto indent, FALSE otherwise */
  189.     EXTERN int logdef = 0;    /* backup log file by default 0->no, 1-> yes */
  190.     EXTERN char delkey = 8;
  191.     EXTERN int tvlins = 24;    /* number of lines on screen */
  192.     EXTERN int tvcols = 80;    /* number of columns on screen */
  193.     EXTERN int tvhardlines = 24;    /* real number of lines */
  194.     EXTERN int tvx = 0;        /* current x cursor position */
  195.     EXTERN int tvy = 0;        /* current y cursor position */
  196.     EXTERN int tvdlin = 0;     /* the "active" display line */
  197.     EXTERN int dsplin = 0;     /* the default display line */
  198.     EXTERN int tabspc = 8;     /* spacing for tabs */
  199.     EXTERN int leftmg = 0;    /* left margin of display */
  200.     EXTERN int wraplm = 0;    /* auto wrap? */
  201.     EXTERN int isibmpc = 0;    /* for possible use with a general version */
  202.  
  203.     EXTERN char synofr[20] =    /* from table */
  204.       {' ',13,'[',']',000,000,000,000,000,000,00,00,00,00,00,00,00,00,00,00};
  205.     EXTERN char synoto[20] =        /* translate to table */
  206.       {'r','d','{','{',000,0,000,00,00,000,00,00,00,00,00,00,00,00,00,00};
  207.     EXTERN char funkey = 0;        /* leading char for function key */
  208.     EXTERN char funchar[50] =    /* code sent by function key */
  209.       {
  210.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  211.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  212.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  213.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  214.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000
  215.       };
  216.     EXTERN char funcmd[50] =    /* equivalent command */
  217.       {
  218.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  219.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  220.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  221.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  222.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000
  223.       };
  224. #endif
  225. /* ********************************************************************** */
  226. #ifdef H19
  227.     EXTERN int addx = 31;        /* amount to add to get x */
  228.     EXTERN int addy = 31;            /* to get y */
  229.     EXTERN char cxychr = 0;        /* true if convert xy bin to ascii */
  230.     EXTERN char cversn[12] = "H19";     /* a version to identify config */
  231.     EXTERN char cxy1st = 'l';            /* l if line first, c if column 1st */
  232.     EXTERN char cxybeg[8] = {27,'Y',0,0,0,0,0,0};    /* start xy control seq  */
  233.     EXTERN char cxymid[8] = {0,0,0,0,0,0,0,0};  /* middle xy control seq */
  234.     EXTERN char cxyend[8] = {0,0,0,0,0,0,0,0};  /* end sequence */
  235.     EXTERN char cerrbg[8] = {27,'p',0,0,0,0,0,0}; /* string to print when errors start */
  236.     EXTERN char cerred[8] = {27,'q',0,0,0,0,0,0};  /* when errors done */
  237.     EXTERN char ctopb[8] = {27,'I',0,0,0,0,0,0}; /* top blanks = reverse linefeed */
  238.     EXTERN char cinit[20] = {27,'w',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
  239.     /* start up sequence */
  240.     EXTERN char cendit[20] = {27,'v',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
  241.     /* to end session */
  242.     EXTERN char cbotb[8] = {10,0,0,0,0,0,0,0};  /* bottom blank line sequence */
  243.     EXTERN char celin[8] = {27,'K',0,0,0,0,0,0};        /* erase to end of line */
  244.     EXTERN char cescr[8] = {27,'J',0,0,0,0,0,0};        /* erase to end of screen */
  245.     EXTERN char ccsrcm[8] = {27,'y','4',0,0,0,0,0};    /* set cursor to command mode */
  246.     EXTERN char ccsrin[8] = {27,'x','4',0,0,0,0,0};    /* set cursor to insert mode */
  247.     EXTERN char ciline[8] = {27,'L',0,0,0,0,0,0};        /* insert a line */
  248.     EXTERN char ckline[8] = {27,'M',0,0,0,0,0,0};        /* kill a line */
  249.     EXTERN char cundlb[8] = {27,'p',0,0,0,0,0,0};    /* turn on underline */
  250.     EXTERN char cundle[8] = {27,'q',0,0,0,0,0,0};    /* turn off underline */
  251.     EXTERN char cboldb[8] = {27,'p',0,0,0,0,0,0};    /* start bold */
  252.     EXTERN char cbolde[8] = {27,'q',0,0,0,0,0,0};    /* end bold */
  253.  
  254.     EXTERN int ddline = 16;
  255.     EXTERN int dscrl = 0;
  256.     EXTERN int dxcase = 0;
  257. #ifdef USECTRLZ
  258.     EXTERN int usecz = 1;
  259. #else
  260.     EXTERN int usecz = 0;
  261. #endif
  262.     EXTERN int autoin = 0;    /* TRUE if auto indent, FALSE otherwise */
  263.     EXTERN int logdef = 0;    /* backup log file by default 0->no, 1-> yes */
  264.     EXTERN char delkey = 8;
  265.     EXTERN int tvlins = 24;    /* number of lines on screen */
  266.     EXTERN int tvcols = 80;    /* number of columns on screen */
  267.     EXTERN int tvhardlines = 24;    /* real number of lines */
  268.     EXTERN int tvx = 0;        /* current x cursor position */
  269.     EXTERN int tvy = 0;        /* current y cursor position */
  270.     EXTERN int tvdlin = 0;     /* the "active" display line */
  271.     EXTERN int dsplin = 0;     /* the default display line */
  272.     EXTERN int tabspc = 8;     /* spacing for tabs */
  273.     EXTERN int leftmg = 0;    /* left margin of display */
  274.     EXTERN int wraplm = 0;    /* auto wrap? */
  275.     EXTERN int isibmpc = 0;    /* for possible use with a general version */
  276.  
  277.     EXTERN char synofr[20] =    /* from table */
  278.       {' ',13,'[',']',000,000,000,000,000,000,00,00,00,00,00,00,00,00,00,00};
  279.     EXTERN char synoto[20] =        /* translate to table */
  280.       {'r','d','{','{',000,0,000,00,00,000,00,00,00,00,00,00,00,00,00,00};
  281.     EXTERN char funkey = 0;        /* leading char for function key */
  282.     EXTERN char funchar[50] =    /* code sent by function key */
  283.       {
  284.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  285.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  286.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  287.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  288.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000
  289.       };
  290.     EXTERN char funcmd[50] =    /* equivalent command */
  291.       {
  292.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  293.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  294.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  295.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  296.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000
  297.       };
  298. #endif
  299. /* ********************************************************************** */
  300. #ifdef ATARI520
  301.     EXTERN int addx = 31;        /* amount to add to get x */
  302.     EXTERN int addy = 31;            /* to get y */
  303.     EXTERN char cxychr = 0;        /* true if convert xy bin to ascii */
  304.     EXTERN char cversn[12] = "520ST";     /* a version to identify config */
  305.     EXTERN char cxy1st = 'l';            /* l if line first, c if column 1st */
  306.     EXTERN char cxybeg[8] = {27,'Y',0,0,0,0,0,0};    /* start xy control seq  */
  307.     EXTERN char cxymid[8] = {0,0,0,0,0,0,0,0};  /* middle xy control seq */
  308.     EXTERN char cxyend[8] = {0,0,0,0,0,0,0,0};  /* end sequence */
  309.     EXTERN char cerrbg[8] = {27,'p',0,0,0,0,0,0}; /* string to print when errors start */
  310.     EXTERN char cerred[8] = {27,'q',0,0,0,0,0,0};  /* when errors done */
  311.     EXTERN char ctopb[8] = {27,'I',0,0,0,0,0,0}; /* top blanks = reverse linefeed */
  312.     EXTERN char cinit[20] = {27,'w',27,'e',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
  313.     /* start up sequence */
  314.     EXTERN char cendit[20] = {27,'v',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
  315.     /* to end session */
  316.     EXTERN char cbotb[8] = {10,0,0,0,0,0,0,0};  /* bottom blank line sequence */
  317.     EXTERN char celin[8] = {27,'K',0,0,0,0,0,0};        /* erase to end of line */
  318.     EXTERN char cescr[8] = {27,'J',0,0,0,0,0,0};        /* erase to end of screen */
  319.     EXTERN char ccsrcm[8] = {0,'y','4',0,0,0,0,0};    /* set cursor to command mode */
  320.     EXTERN char ccsrin[8] = {0,'x','4',0,0,0,0,0};    /* set cursor to insert mode */
  321.     EXTERN char ciline[8] = {27,'L',0,0,0,0,0,0};        /* insert a line */
  322.     EXTERN char ckline[8] = {27,'M',0,0,0,0,0,0};        /* kill a line */
  323.     EXTERN char cundlb[8] = {27,'p',0,0,0,0,0,0};    /* turn on underline */
  324.     EXTERN char cundle[8] = {27,'q',0,0,0,0,0,0};    /* turn off underline */
  325.     EXTERN char cboldb[8] = {27,'p',0,0,0,0,0,0};    /* start bold */
  326.     EXTERN char cbolde[8] = {27,'q',0,0,0,0,0,0};    /* end bold */
  327.  
  328.     EXTERN int ddline = 16;
  329.     EXTERN int dscrl = 0;
  330.     EXTERN int dxcase = 0;
  331. #ifdef USECTRLZ
  332.     EXTERN int usecz = 1;
  333. #else
  334.     EXTERN int usecz = 0;
  335. #endif
  336.     EXTERN int autoin = 0;    /* TRUE if auto indent, FALSE otherwise */
  337.     EXTERN int logdef = 0;    /* backup log file by default 0->no, 1-> yes */
  338.     EXTERN char delkey = 8;
  339.     EXTERN int tvlins = 25;    /* number of lines on screen */
  340.     EXTERN int tvcols = 80;    /* number of columns on screen */
  341.     EXTERN int tvhardlines = 25;    /* real number of lines */
  342.     EXTERN int tvx = 0;        /* current x cursor position */
  343.     EXTERN int tvy = 0;        /* current y cursor position */
  344.     EXTERN int tvdlin = 0;     /* the "active" display line */
  345.     EXTERN int dsplin = 0;     /* the default display line */
  346.     EXTERN int tabspc = 8;     /* spacing for tabs */
  347.     EXTERN int leftmg = 0;    /* left margin of display */
  348.     EXTERN int wraplm = 0;    /* auto wrap? */
  349.     EXTERN int isibmpc = 0;    /* for possible use with a general version */
  350.  
  351.     EXTERN char synofr[20] =    /* from table */
  352.       {' ',13,'[',']',000,000,000,000,000,000,00,00,00,00,00,00,00,00,00,00};
  353.     EXTERN char synoto[20] =        /* translate to table */
  354.       {'r','d','{','{',000,0,000,00,00,000,00,00,00,00,00,00,00,00,00,00};
  355.     EXTERN char funkey = 0;        /* leading char for function key */
  356.     EXTERN char funchar[50] =    /* code sent by function key */
  357.       {
  358.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  359.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  360.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  361.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  362.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000
  363.       };
  364.     EXTERN char funcmd[50] =    /* equivalent command */
  365.       {
  366.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  367.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  368.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  369.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  370.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000
  371.       };
  372. #endif
  373. /* ********************************************************************** */
  374. #ifdef HP2621
  375.     EXTERN int addx = -1;        /* amount to add to get x */
  376.     EXTERN int addy = -1;            /* to get y */
  377.     EXTERN char cxychr = 1;        /* true if convert xy bin to ascii */
  378.     EXTERN char cversn[12] = "HP2621x";     /* a version to identify config */
  379.     EXTERN char cxy1st = 'l';            /* l if line first, c if column 1st */
  380.     EXTERN char cxybeg[8] = {27,'&','a',0,0,0,0,0};    /* start xy control seq  */
  381.     EXTERN char cxymid[8] = {'y',0,0,0,0,0,0,0};  /* middle xy control seq */
  382.     EXTERN char cxyend[8] = {'C',0,0,0,0,0,0,0};  /* end sequence */
  383.     EXTERN char cerrbg[8] = {7,0,0,0,0,0,0,0}; /* string to print when errors start */
  384.     EXTERN char cerred[8] = {0,0,0,0,0,0,0,0};  /* when errors done */
  385.     EXTERN char ctopb[8] = {27,'L',0,0,0,0,0,0}; /* top blanks = reverse linefeed */
  386.     EXTERN char cinit[20] = {27,'&','j','@',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
  387.     /* start up sequence */
  388.     EXTERN char cendit[20] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
  389.     /* to end session */
  390.     EXTERN char cbotb[8] = {10,0,0,0,0,0,0,0};  /* bottom blank line sequence */
  391.     EXTERN char celin[8] = {27,'K',0,0,0,0,0,0};        /* erase to end of line */
  392.     EXTERN char cescr[8] = {27,'J',0,0,0,0,0,0};        /* erase to end of screen */
  393.     EXTERN char ccsrcm[8] = {27,'&','j','@',0,0,0,0};    /* set cursor to command mode */
  394.     EXTERN char ccsrin[8] = {27,'&','j','B',0,0,0,0};    /* set cursor to insert mode */
  395.     EXTERN char ciline[8] = {0,'L',0,0,0,0,0,0};        /* insert a line */
  396.     EXTERN char ckline[8] = {27,'M',0,0,0,0,0,0};        /* kill a line */
  397.     EXTERN char cundlb[8] = {0,'p',0,0,0,0,0,0};    /* turn on underline */
  398.     EXTERN char cundle[8] = {0,'q',0,0,0,0,0,0};    /* turn off underline */
  399.     EXTERN char cboldb[8] = {0,'p',0,0,0,0,0,0};    /* start bold */
  400.     EXTERN char cbolde[8] = {0,'q',0,0,0,0,0,0};    /* end bold */
  401.  
  402.     EXTERN int ddline = 12;
  403.     EXTERN int dscrl = 6;
  404.     EXTERN int dxcase = 0;
  405. #ifdef USECTRLZ
  406.     EXTERN int usecz = 1;
  407. #else
  408.     EXTERN int usecz = 0;
  409. #endif
  410.     EXTERN int autoin = 0;    /* TRUE if auto indent, FALSE otherwise */
  411.     EXTERN int logdef = 0;    /* backup log file by default 0->no, 1-> yes */
  412.     EXTERN char delkey = 8;
  413.     EXTERN int tvlins = 24;    /* number of lines on screen */
  414.     EXTERN int tvcols = 79;    /* number of columns on screen */
  415.     EXTERN int tvhardlines = 24;    /* real number of lines */
  416.     EXTERN int tvx = 0;        /* current x cursor position */
  417.     EXTERN int tvy = 0;        /* current y cursor position */
  418.     EXTERN int tvdlin = 0;     /* the "active" display line */
  419.     EXTERN int dsplin = 0;     /* the default display line */
  420.     EXTERN int tabspc = 8;     /* spacing for tabs */
  421.     EXTERN int leftmg = 0;    /* left margin of display */
  422.     EXTERN int wraplm = 0;    /* auto wrap? */
  423.     EXTERN int isibmpc = 0;    /* for possible use with a general version */
  424.  
  425.     EXTERN char synofr[20] =    /* from table */
  426.       {' ',13,'[',']',000,000,000,000,000,000,00,00,00,00,00,00,00,00,00,00};
  427.     EXTERN char synoto[20] =        /* translate to table */
  428.       {'r','d','{','{',000,0,000,00,00,000,00,00,00,00,00,00,00,00,00,00};
  429.     EXTERN char funkey = 0;        /* leading char for function key */
  430.     EXTERN char funchar[50] =    /* code sent by function key */
  431.       {
  432.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  433.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  434.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  435.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  436.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000
  437.       };
  438.     EXTERN char funcmd[50] =    /* equivalent command */
  439.       {
  440.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  441.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  442.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  443.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000,
  444.     000, 000, 000, 000, 000, 000, 000, 000, 000, 000
  445.       };
  446. #endif
  447. /* ********************************************************************** */
  448.