Exemple #1
0
void displayOneLineMessage(char *msg)
{
  int center = page / lineLength / 2;
  clr_line(center - 1);
  clr_line(center + 1);
  displayCentered(msg, center);
}
Exemple #2
0
void displayTwoLineMessage(char *msg1, char *msg2)
{
  int center = page / lineLength / 2;
  clr_line(center - 2);
  clr_line(center + 1);
  displayCentered(msg1, center - 1);
  displayCentered(msg2, center);
}
int
in_jis ()                       /*  returns code for a moji  */
{
  char buffer[5];
  int code;
  int c_p = 0;                  /* 何文字はいったかを示す */
  int c, k;
  extern int t_quit ();
  extern int henkan_off ();
  int not_redrawtmp = not_redraw;
  not_redraw = 1;               /*リドローしない */

  for (k = 0; k < 5; k++)
    {
      buffer[k] = ' ';
    }

completely_start:
  throw_c (0);                  /* モード表示の後に出す */
  printf (MSG_GET (6));
  /*
     printf("JISコード: ");
   */
  clr_line ();
  flush ();
start:
  while (1)
    {

      throw_c (10);
      h_r_on ();
      for (k = 0; k < 4; k++)
        {
          putchar (buffer[k]);
        }
      h_r_off ();
      clr_line ();
      flush ();

      c = keyin ();
      if ((c == ESC) || (t_quit == main_table[5][c]))
        {
          throw_c (0);
          clr_line ();
          flush ();
          not_redraw = not_redrawtmp;
          return (-1);
        }
      else if (henkan_off == main_table[5][c])
        {                       /*きたない! */
          henkan_off ();
        }
      else if (c_p < 4 && ((c <= '9' && c >= '0') || (c <= 'F' && c >= 'A') || (c <= 'f' && c >= 'a')))
        {
          if ((c_p == 0 || c_p == 2) ? (c <= 'F' && c >= 'A') ||        /* For EUC */
              (c <= 'f' && c >= 'a') || /* For EUC */
              (c <= '7' && c >= '2') :
              !(((buffer[c_p - 1] == '2' ||
                  buffer[c_p - 1] == 'A' || buffer[c_p - 1] == 'a') && c == '0') || ((buffer[c_p - 1] == '7' || buffer[c_p - 1] == 'F' || buffer[c_p - 1] == 'f') && (c == 'F' || c == 'f'))))
            {
              buffer[c_p++] = (char) c;
            }
          else
            {
              ring_bell ();
            }
        }
      else if (c == rubout_code && c_p)
        {
          buffer[--c_p] = ' ';
        }
      else if (c == rubout_code && c_p == 0)
        {
          throw_c (0);
          clr_line ();
          flush ();
          not_redraw = not_redrawtmp;
          return (-1);
        }
      else if (c == NEWLINE || c == CR)
        {
          if (c_p <= 1)
            {
              goto start;
            }
          else if (c_p == 4)
            {
              code = 0;
              for (k = 0; k < 4; k++)
                {
                  code = code * 16 + hextodec (buffer[k]);
                }
              code |= 0x8080;   /* ujis にして返す */
              break;
            }
          if ((code = get_jis_ichiran (buffer, c_p)) == -1)
            {
              goto completely_start;
            }
          break;
        }
      else
        {
          ring_bell ();
        }
    }
  throw_c (0);
  clr_line ();
  not_redraw = not_redrawtmp;
  return (code);
}
Exemple #4
0
int broadcst (void)
{
    unsigned short TR, SA, WC;
    unsigned short data[32];
    char m_str[132];

    return 0;

    /*print(0,"Broadcast data\n"); */
    TR = 0;
    SA = 2;
    WC = (-1);
    print (2, "Mdrop(TR[%d] SA[%d] WC[0-31])\r", TR, SA);
    do {
	if (++WC == 32) {	/* On fait WC[0,31] avec SA[2,31] pour TR=write */
	    WC = 0;
	    if (++SA == 32)
		break;		/* on a fini */
	    print (2, "Mdrop(TR[%d] SA[%d] WC[0-31])\n", TR, SA);
	}
	if (mdrop (bc, 31, TR, SA, WC, &status, (char *) data) == (-1)) {
	    sprintf (m_str, "system error in mdrop(RT[31]TR[%d]SA[%d]WC[%d])", TR, SA, WC);
	    BAD (m_str);
	}
	/* execution d'un MC2 (Read last status) */
	if (mdrop (bc, rt, 1, 31, 2, &status, (char *) data) == (-1)) {
	    sprintf (m_str, "system error in mdrop(RT[%d]TR[1]SA[31]WC[2])", rt);
	    BAD (m_str);
	}
	if ((status & 0x0010) != 0x0010) {
	    print (1, "Erreur de status du bit Broadcast du RT [%X]\n", status);
	    erreur++;
	    if (t_err)
		continue;
	}
	if (XILINX == 0)
	    continue;		/* pas de last command pour les vieilles cartes */
	/* execution d'un MC18 (Read last command) */
	if (mdrop (bc, rt, 1, 31, 18, &status, (char *) data) == (-1)) {
	    sprintf (m_str, "system error in mdrop(RT[%d]TR[1]SA[31]WC[18])", rt);
	    BAD (m_str);
	}
	if (valid_MC (31, TR, SA, WC, data[0]) != 0) {
	    print (1, "Erreur: mc18 donne la mauvaise commande[%X]\n", data[0]);
	    erreur++;
	    if (t_err)
		continue;
	}
    } while (go_on);

    clr_line ();
    if (erreur)
	print (0, "Broadcast data a donne %d erreurs\n", erreur);

    erreur = 0;
    go_on = 1;
    WC = (-1);
    TR = 1;
    /*print(0,"Broadcast mode code\n"); */
    do {
	if (++WC == 16)
	    TR = 0;		/* Les mode codes 1-15 sont en read et 16-31 en write */
	if (WC == 32)
	    break;		/* C'est tout pour aujourd'hui */
	if ((WC == 2) || (WC == 8) || (WC == 18))
	    continue;		/* mode codes speciaux */
	print (2, "Broadcast Mode code(TR[%d] SA[0] WC[%d])\n", TR, WC);
	if (mdrop (bc, 31, TR, 0, WC, &status, (char *) data) == (-1)) {
	    sprintf (m_str, "system error in mdrop(RT[31]TR[%d]SA[0]WC[%d])", TR, WC);
	    BAD (m_str);
	}
	if ((status & 0x0010) != 0x0010 && t_err == 1) {
	    print (1, "Erreur de status du bit Broadcast [%X] pour le MC[%d]\n", status, WC);
	    erreur++;
	    if (t_err)
		continue;
	}
	if (XILINX == 0)
	    continue;		/* pas de last command pour les vieilles cartes */
	if (mdrop (bc, rt, 1, 31, 18, &status, (char *) data) == (-1)) {
	    sprintf (m_str, "system error in mdrop(RT[%d]TR[1]SA[31]WC[18])", rt);
	    BAD (m_str);
	}
	if (valid_MC (31, TR, 0, WC, data[0]) != 0) {
	    print (1, "Erreur: mc18 donne la mauvaise commande[%X]\n", data[0]);
	    erreur++;
	    if (t_err)
		continue;
	}
    } while (go_on);

    clr_line ();
    if (erreur)
	print (0, "Broadcast mode code a donne %d erreurs\n", erreur);
    return (erreur);
}
Exemple #5
0
void displayCentered(char *msg, int line)
{
  clr_line(line);
  move(line, (COLS - strlen(msg)) / 2);
  PRINTW(("%s", msg));
}