SCP: Add ESC and ENQ to the default set of console output characters in 7B mode.

Also added mnemonic character names to the output produced when
displaying the printable character mask with SHOW CONSOLE PCHAR.
This commit is contained in:
Mark Pizzolato 2015-12-31 16:12:14 -08:00
parent 59947e8ceb
commit 9c977e9392

View file

@ -165,7 +165,7 @@ static t_stat sim_set_delay (int32 flag, char *cptr);
int32 sim_int_char = 005; /* interrupt character */
int32 sim_brk_char = 000; /* break character */
int32 sim_tt_pchar = 0x00002780;
int32 sim_tt_pchar = 0x080027A0;
#if defined (_WIN32) || defined (__OS2__) || (defined (__MWERKS__) && defined (macintosh))
int32 sim_del_char = '\b'; /* delete character */
#else
@ -1320,8 +1320,25 @@ return SCPE_OK;
t_stat sim_show_pchar (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr)
{
if (sim_devices[0]->dradix == 16)
fprintf (st, "pchar mask = %X\n", sim_tt_pchar);
else fprintf (st, "pchar mask = %o\n", sim_tt_pchar);
fprintf (st, "pchar mask = %X", sim_tt_pchar);
else fprintf (st, "pchar mask = %o", sim_tt_pchar);
if (sim_tt_pchar) {
static char *pchars[] = {"NUL(^@)", "SOH(^A)", "STX(^B)", "ETX(^C)", "EOT(^D)", "ENQ(^E)", "ACK(^F)", "BEL(^G)",
"BS(^H)" , "TAB(^I)", "LF(^J)", "VT(^K)", "FF(^L)", "CR(^M)", "SO(^N)", "SI(^O)",
"DLE(^P)", "DC1(^Q)", "DC2(^R)", "DC3(^S)", "DC4(^T)", "NAK(^U)", "SYN(^V)", "ETB(^W)",
"CAN(^X)", "EM(^Y)", "SUB(^Z)", "ESC", "FS", "GS", "RS", "US"};
int i;
t_bool found = FALSE;
fprintf (st, " {");
for (i=0; i<32; i++)
if (sim_tt_pchar & (1 << i)) {
fprintf (st, "%s%s", found ? "," : "", pchars[i]);
found = TRUE;
}
fprintf (st, "}");
}
fprintf (st, "\n");
return SCPE_OK;
}