SCP: Initial merge of old style single line help with hierarchical help

This commit is contained in:
Mark Pizzolato 2014-02-01 07:04:44 -08:00
parent 235ffdb6f0
commit eaae19463c
10 changed files with 983 additions and 353 deletions

View file

@ -124,7 +124,7 @@ DEVICE sysd_dev = {
CTAB vax610_cmd[] = { CTAB vax610_cmd[] = {
{ "BOOT", &vax610_boot, RU_BOOT, { "BOOT", &vax610_boot, RU_BOOT,
"bo{ot} <device>{/R5:flg} boot device\n" "bo{ot} <device>{/R5:flg} boot device\n"
" type HELP CPU to see bootable devices\n", &run_cmd_message }, " type HELP CPU to see bootable devices\n", NULL, &run_cmd_message },
{ NULL } { NULL }
}; };

View file

@ -61,7 +61,7 @@ int32 sys_model = 0; /* MicroVAX or VAXstatio
CTAB vax630_cmd[] = { CTAB vax630_cmd[] = {
{ "BOOT", &vax630_boot, RU_BOOT, { "BOOT", &vax630_boot, RU_BOOT,
"bo{ot} boot simulator\n", &run_cmd_message }, "bo{ot} boot simulator\n", NULL, &run_cmd_message },
{ NULL } { NULL }
}; };

View file

@ -141,7 +141,7 @@ DEVICE sysb_dev = {
CTAB vax730_cmd[] = { CTAB vax730_cmd[] = {
{ "BOOT", &vax730_boot, RU_BOOT, { "BOOT", &vax730_boot, RU_BOOT,
"bo{ot} <device>{/R5:flg} boot device\n" "bo{ot} <device>{/R5:flg} boot device\n"
" type HELP CPU to see bootable devices\n", &run_cmd_message }, " type HELP CPU to see bootable devices\n", NULL, &run_cmd_message },
{ NULL } { NULL }
}; };

View file

@ -168,7 +168,7 @@ DEVICE cmi_dev = {
CTAB vax750_cmd[] = { CTAB vax750_cmd[] = {
{ "BOOT", &vax750_boot, RU_BOOT, { "BOOT", &vax750_boot, RU_BOOT,
"bo{ot} <device>{/R5:flg} boot device\n" "bo{ot} <device>{/R5:flg} boot device\n"
" type HELP CPU to see bootable devices\n", &run_cmd_message }, " type HELP CPU to see bootable devices\n", NULL, &run_cmd_message },
{ NULL } { NULL }
}; };

View file

@ -206,7 +206,7 @@ DEVICE sbi_dev = {
CTAB vax780_cmd[] = { CTAB vax780_cmd[] = {
{ "BOOT", &vax780_boot, RU_BOOT, { "BOOT", &vax780_boot, RU_BOOT,
"bo{ot} <device>{/R5:flg} boot device\n" "bo{ot} <device>{/R5:flg} boot device\n"
" type HELP CPU to see bootable devices\n", &run_cmd_message }, " type HELP CPU to see bootable devices\n", NULL, &run_cmd_message },
{ "FLOAD", &vax780_fload, 0, { "FLOAD", &vax780_fload, 0,
"fl{oad} <file> {<start>} load file from console floppy\n" }, "fl{oad} <file> {<start>} load file from console floppy\n" },
{ NULL } { NULL }

View file

@ -303,7 +303,7 @@ return SCPE_OK;
CTAB vax860_cmd[] = { CTAB vax860_cmd[] = {
{ "BOOT", &vax860_boot, RU_BOOT, { "BOOT", &vax860_boot, RU_BOOT,
"bo{ot} <device>{/R5:flg} boot device\n" "bo{ot} <device>{/R5:flg} boot device\n"
" type HELP CPU to see bootable devices\n", &run_cmd_message }, " type HELP CPU to see bootable devices\n", NULL, &run_cmd_message },
{ NULL } { NULL }
}; };

View file

@ -72,7 +72,7 @@ int32 sys_model = 0;
CTAB vax_cmd[] = { CTAB vax_cmd[] = {
{ "BOOT", &vax_boot, RU_BOOT, { "BOOT", &vax_boot, RU_BOOT,
"bo{ot} boot simulator\n", &run_cmd_message }, "bo{ot} boot simulator\n", NULL, &run_cmd_message },
{ NULL } { NULL }
}; };

1305
scp.c

File diff suppressed because it is too large Load diff

14
scp.h
View file

@ -110,9 +110,9 @@ char *sim_dname (DEVICE *dptr);
char *sim_uname (UNIT *dptr); char *sim_uname (UNIT *dptr);
t_stat get_yn (char *ques, t_stat deflt); t_stat get_yn (char *ques, t_stat deflt);
char *get_sim_opt (int32 opt, char *cptr, t_stat *st); char *get_sim_opt (int32 opt, char *cptr, t_stat *st);
char *get_glyph (char *iptr, char *optr, char mchar); char *get_glyph (const char *iptr, char *optr, char mchar);
char *get_glyph_nc (char *iptr, char *optr, char mchar); char *get_glyph_nc (const char *iptr, char *optr, char mchar);
char *get_glyph_quoted (char *iptr, char *optr, char mchar); char *get_glyph_quoted (const char *iptr, char *optr, char mchar);
t_value get_uint (char *cptr, uint32 radix, t_value max, t_stat *status); t_value get_uint (char *cptr, uint32 radix, t_value max, t_stat *status);
char *get_range (DEVICE *dptr, char *cptr, t_addr *lo, t_addr *hi, char *get_range (DEVICE *dptr, char *cptr, t_addr *lo, t_addr *hi,
uint32 rdx, t_addr max, char term); uint32 rdx, t_addr max, char term);
@ -159,13 +159,13 @@ void fprint_stopped_gen (FILE *st, t_stat v, REG *pc, DEVICE *dptr);
#define SCP_HELP_ONECMD (1u << 30) /* Display one topic, do not prompt */ #define SCP_HELP_ONECMD (1u << 30) /* Display one topic, do not prompt */
#define SCP_HELP_ATTACH (1u << 29) /* Top level topic is ATTACH help */ #define SCP_HELP_ATTACH (1u << 29) /* Top level topic is ATTACH help */
t_stat scp_help (FILE *st, struct sim_device *dptr, t_stat scp_help (FILE *st, struct sim_device *dptr,
struct sim_unit *uptr, int32 flag, const char *help, char *cptr, ...); struct sim_unit *uptr, int32 flag, const char *help, const char *cptr, ...);
t_stat scp_vhelp (FILE *st, struct sim_device *dptr, t_stat scp_vhelp (FILE *st, struct sim_device *dptr,
struct sim_unit *uptr, int32 flag, const char *help, char *cptr, va_list ap); struct sim_unit *uptr, int32 flag, const char *help, const char *cptr, va_list ap);
t_stat scp_helpFromFile (FILE *st, struct sim_device *dptr, t_stat scp_helpFromFile (FILE *st, struct sim_device *dptr,
struct sim_unit *uptr, int32 flag, const char *help, char *cptr, ...); struct sim_unit *uptr, int32 flag, const char *help, const char *cptr, ...);
t_stat scp_vhelpFromFile (FILE *st, struct sim_device *dptr, t_stat scp_vhelpFromFile (FILE *st, struct sim_device *dptr,
struct sim_unit *uptr, int32 flag, const char *help, char *cptr, va_list ap); struct sim_unit *uptr, int32 flag, const char *help, const char *cptr, va_list ap);
/* Global data */ /* Global data */

View file

@ -549,7 +549,8 @@ struct sim_ctab {
t_stat (*action)(int32 flag, char *cptr); t_stat (*action)(int32 flag, char *cptr);
/* action routine */ /* action routine */
int32 arg; /* argument */ int32 arg; /* argument */
char *help; /* help string */ const char *help; /* help string/structured locator */
const char *help_base; /* structured help base*/
void (*message)(const char *unechoed_cmdline, t_stat stat); void (*message)(const char *unechoed_cmdline, t_stat stat);
/* message printing routine */ /* message printing routine */
}; };