Clean up output formatting for SHOW DEVICE, SHOW CONFIG and changed SHOW SYSTEM to SHOW FEATURES
This commit is contained in:
parent
7ceba3715c
commit
7a9db0fe64
4 changed files with 47 additions and 27 deletions
|
@ -1284,7 +1284,7 @@ t_stat cr_show_trans ( FILE *st,
|
||||||
int32 val,
|
int32 val,
|
||||||
void *desc )
|
void *desc )
|
||||||
{
|
{
|
||||||
fprintf (st, "translation %s", trans[table]);
|
fprintf (st, "translation=%s", trans[table]);
|
||||||
return (SCPE_OK);
|
return (SCPE_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -731,7 +731,7 @@ t_stat xq_show_type (FILE* st, UNIT* uptr, int32 val, void* desc)
|
||||||
case XQ_T_DELQA_PLUS: fprintf(st, "DELQA-T"); break;
|
case XQ_T_DELQA_PLUS: fprintf(st, "DELQA-T"); break;
|
||||||
}
|
}
|
||||||
if (xq->var->type != xq->var->mode) {
|
if (xq->var->type != xq->var->mode) {
|
||||||
fprintf(st, ",mode=");
|
fprintf(st, ", mode=");
|
||||||
switch (xq->var->mode) {
|
switch (xq->var->mode) {
|
||||||
case XQ_T_DEQNA: fprintf(st, "DEQNA"); break;
|
case XQ_T_DEQNA: fprintf(st, "DEQNA"); break;
|
||||||
case XQ_T_DELQA: fprintf(st, "DELQA"); break;
|
case XQ_T_DELQA: fprintf(st, "DELQA"); break;
|
||||||
|
|
|
@ -1628,7 +1628,7 @@ return SCPE_OK;
|
||||||
|
|
||||||
t_stat cpu_print_model (FILE *st)
|
t_stat cpu_print_model (FILE *st)
|
||||||
{
|
{
|
||||||
fprintf (st, "VAX 3900");
|
fprintf (st, "MicroVAX 3900");
|
||||||
return SCPE_OK;
|
return SCPE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
68
scp.c
68
scp.c
|
@ -371,7 +371,7 @@ t_stat show_break (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr);
|
||||||
t_stat show_on (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr);
|
t_stat show_on (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr);
|
||||||
t_stat show_device (FILE *st, DEVICE *dptr, int32 flag);
|
t_stat show_device (FILE *st, DEVICE *dptr, int32 flag);
|
||||||
t_stat show_unit (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag);
|
t_stat show_unit (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag);
|
||||||
int show_all_mods (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flg);
|
t_stat show_all_mods (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flg, int32 *toks);
|
||||||
t_stat show_one_mod (FILE *st, DEVICE *dptr, UNIT *uptr, MTAB *mptr, char *cptr, int32 flag);
|
t_stat show_one_mod (FILE *st, DEVICE *dptr, UNIT *uptr, MTAB *mptr, char *cptr, int32 flag);
|
||||||
t_stat sim_check_console (int32 sec);
|
t_stat sim_check_console (int32 sec);
|
||||||
t_stat sim_save (FILE *sfile);
|
t_stat sim_save (FILE *sfile);
|
||||||
|
@ -404,6 +404,7 @@ t_value strtotv (const char *inptr, char **endptr, uint32 radix);
|
||||||
void fprint_help (FILE *st);
|
void fprint_help (FILE *st);
|
||||||
void fprint_stopped (FILE *st, t_stat r);
|
void fprint_stopped (FILE *st, t_stat r);
|
||||||
void fprint_capac (FILE *st, DEVICE *dptr, UNIT *uptr);
|
void fprint_capac (FILE *st, DEVICE *dptr, UNIT *uptr);
|
||||||
|
void fprint_sep (FILE *st, int32 *tokens);
|
||||||
char *read_line (char *ptr, int32 size, FILE *stream);
|
char *read_line (char *ptr, int32 size, FILE *stream);
|
||||||
char *read_line_p (char *prompt, char *ptr, int32 size, FILE *stream);
|
char *read_line_p (char *prompt, char *ptr, int32 size, FILE *stream);
|
||||||
REG *find_reg_glob (char *ptr, char **optr, DEVICE **gdptr);
|
REG *find_reg_glob (char *ptr, char **optr, DEVICE **gdptr);
|
||||||
|
@ -2338,7 +2339,7 @@ SHTAB *shtb, *shptr;
|
||||||
static SHTAB show_glob_tab[] = {
|
static SHTAB show_glob_tab[] = {
|
||||||
{ "CONFIGURATION", &show_config, 0 },
|
{ "CONFIGURATION", &show_config, 0 },
|
||||||
{ "DEVICES", &show_config, 1 },
|
{ "DEVICES", &show_config, 1 },
|
||||||
{ "SYSTEM", &show_config, 2 },
|
{ "FEATURES", &show_config, 2 },
|
||||||
{ "QUEUE", &show_queue, 0 },
|
{ "QUEUE", &show_queue, 0 },
|
||||||
{ "TIME", &show_time, 0 },
|
{ "TIME", &show_time, 0 },
|
||||||
{ "MODIFIERS", &show_mod_names, 0 },
|
{ "MODIFIERS", &show_mod_names, 0 },
|
||||||
|
@ -2450,7 +2451,7 @@ t_stat show_device (FILE *st, DEVICE *dptr, int32 flag)
|
||||||
{
|
{
|
||||||
uint32 j, udbl, ucnt;
|
uint32 j, udbl, ucnt;
|
||||||
UNIT *uptr;
|
UNIT *uptr;
|
||||||
int mods;
|
int32 toks = 0;
|
||||||
|
|
||||||
fprintf (st, "%s", sim_dname (dptr)); /* print dev name */
|
fprintf (st, "%s", sim_dname (dptr)); /* print dev name */
|
||||||
if ((flag == 2) && dptr->description) {
|
if ((flag == 2) && dptr->description) {
|
||||||
|
@ -2467,18 +2468,24 @@ for (j = ucnt = udbl = 0; j < dptr->numunits; j++) { /* count units */
|
||||||
else if (uptr->flags & UNIT_DISABLE)
|
else if (uptr->flags & UNIT_DISABLE)
|
||||||
udbl++; /* count user-disabled */
|
udbl++; /* count user-disabled */
|
||||||
}
|
}
|
||||||
mods = show_all_mods (st, dptr, dptr->units, MTAB_VDV); /* show dev mods */
|
show_all_mods (st, dptr, dptr->units, MTAB_VDV, &toks); /* show dev mods */
|
||||||
if (dptr->numunits == 0) {
|
if (dptr->numunits == 0) {
|
||||||
if (mods)
|
if (toks)
|
||||||
fprintf (st, "\n");
|
fprintf (st, "\n");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (ucnt == 0)
|
if (ucnt == 0) {
|
||||||
fprintf (st, "%sall units disabled\n", mods ? ", " : "\t");
|
fprint_sep (st, &toks);
|
||||||
else if ((ucnt > 1) || (udbl > 0))
|
fprintf (st, "all units disabled\n");
|
||||||
fprintf (st, "%s%d units\n", mods ? ", " : "\t", ucnt + udbl);
|
}
|
||||||
else if (mods || (flag == 1) || ((flag == 2) && !dptr->description))
|
else if ((ucnt > 1) || (udbl > 0)) {
|
||||||
fprintf (st, "\n");
|
fprint_sep (st, &toks);
|
||||||
|
fprintf (st, "%d units\n", ucnt + udbl);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
if ((flag != 2) || !dptr->description || toks)
|
||||||
|
fprintf (st, "\n");
|
||||||
|
toks = 0;
|
||||||
}
|
}
|
||||||
if (flag) /* dev only? */
|
if (flag) /* dev only? */
|
||||||
return SCPE_OK;
|
return SCPE_OK;
|
||||||
|
@ -2490,27 +2497,40 @@ for (j = 0; j < dptr->numunits; j++) { /* loop thru units */
|
||||||
return SCPE_OK;
|
return SCPE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void fprint_sep (FILE *st, int32 *tokens)
|
||||||
|
{
|
||||||
|
fprintf (st, (*tokens > 0) ? ", " : "\t");
|
||||||
|
*tokens += 1;
|
||||||
|
}
|
||||||
|
|
||||||
t_stat show_unit (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag)
|
t_stat show_unit (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag)
|
||||||
{
|
{
|
||||||
int32 u = (int32)(uptr - dptr->units);
|
int32 u = (int32)(uptr - dptr->units);
|
||||||
|
int32 toks = 0;
|
||||||
|
|
||||||
if (flag > 1)
|
if (flag > 1)
|
||||||
fprintf (st, " %s%d", sim_dname (dptr), u);
|
fprintf (st, " %s%d", sim_dname (dptr), u);
|
||||||
else if (flag < 0)
|
else if (flag < 0)
|
||||||
fprintf (st, "%s%d", sim_dname (dptr), u);
|
fprintf (st, "%s%d", sim_dname (dptr), u);
|
||||||
if (uptr->flags & UNIT_FIX) {
|
if (uptr->flags & UNIT_FIX) {
|
||||||
fprintf (st, ", ");
|
fprint_sep (st, &toks);
|
||||||
fprint_capac (st, dptr, uptr);
|
fprint_capac (st, dptr, uptr);
|
||||||
}
|
}
|
||||||
if (uptr->flags & UNIT_ATT) {
|
if (uptr->flags & UNIT_ATT) {
|
||||||
fprintf (st, ", attached to %s", uptr->filename);
|
fprint_sep (st, &toks);
|
||||||
|
fprintf (st, "attached to %s", uptr->filename);
|
||||||
if (uptr->flags & UNIT_RO)
|
if (uptr->flags & UNIT_RO)
|
||||||
fprintf (st, ", read only");
|
fprintf (st, ", read only");
|
||||||
}
|
}
|
||||||
else if (uptr->flags & UNIT_ATTABLE)
|
else {
|
||||||
fprintf (st, ", not attached");
|
if (uptr->flags & UNIT_ATTABLE) {
|
||||||
show_all_mods (st, dptr, uptr, MTAB_VUN); /* show unit mods */
|
fprint_sep (st, &toks);
|
||||||
fprintf (st, "\n");
|
fprintf (st, "not attached");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
show_all_mods (st, dptr, uptr, MTAB_VUN, &toks); /* show unit mods */
|
||||||
|
if (toks || (flag < 0) || (flag > 1))
|
||||||
|
fprintf (st, "\n");
|
||||||
return SCPE_OK;
|
return SCPE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2815,11 +2835,9 @@ if ((dptr->flags & DEV_DEBUG) && dptr->debflags) {
|
||||||
return SCPE_OK;
|
return SCPE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int show_all_mods (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag)
|
t_stat show_all_mods (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, int32 *toks)
|
||||||
{
|
{
|
||||||
MTAB *mptr;
|
MTAB *mptr;
|
||||||
t_bool first_mod = TRUE;
|
|
||||||
int mods_shown = 0;
|
|
||||||
|
|
||||||
if (dptr->modifiers == NULL)
|
if (dptr->modifiers == NULL)
|
||||||
return SCPE_OK;
|
return SCPE_OK;
|
||||||
|
@ -2827,13 +2845,15 @@ for (mptr = dptr->modifiers; mptr->mask != 0; mptr++) {
|
||||||
if (mptr->pstring && ((mptr->mask & MTAB_XTD)?
|
if (mptr->pstring && ((mptr->mask & MTAB_XTD)?
|
||||||
((mptr->mask & flag) && !(mptr->mask & MTAB_NMO)):
|
((mptr->mask & flag) && !(mptr->mask & MTAB_NMO)):
|
||||||
((MTAB_VUN & flag) && ((uptr->flags & mptr->mask) == mptr->match)))) {
|
((MTAB_VUN & flag) && ((uptr->flags & mptr->mask) == mptr->match)))) {
|
||||||
fputs (first_mod ? "\t" : ", ", st);
|
if (*toks > 2) {
|
||||||
first_mod = FALSE;
|
fprintf (st, "\n");
|
||||||
|
*toks = 0;
|
||||||
|
}
|
||||||
|
fprint_sep (st, toks);
|
||||||
show_one_mod (st, dptr, uptr, mptr, NULL, 0);
|
show_one_mod (st, dptr, uptr, mptr, NULL, 0);
|
||||||
++mods_shown;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return mods_shown;
|
return SCPE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
t_stat show_one_mod (FILE *st, DEVICE *dptr, UNIT *uptr, MTAB *mptr,
|
t_stat show_one_mod (FILE *st, DEVICE *dptr, UNIT *uptr, MTAB *mptr,
|
||||||
|
|
Loading…
Add table
Reference in a new issue