void displayOneLineMessage(char *msg) { int center = page / lineLength / 2; clr_line(center - 1); clr_line(center + 1); displayCentered(msg, center); }
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); }
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); }
void displayCentered(char *msg, int line) { clr_line(line); move(line, (COLS - strlen(msg)) / 2); PRINTW(("%s", msg)); }