diff --git a/VAX/vax610_stddev.c b/VAX/vax610_stddev.c index 59cfe468..afb2e80e 100644 --- a/VAX/vax610_stddev.c +++ b/VAX/vax610_stddev.c @@ -91,6 +91,8 @@ t_stat clk_reset (DEVICE *dptr); char *tti_description (DEVICE *dptr); char *tto_description (DEVICE *dptr); char *clk_description (DEVICE *dptr); +t_stat tti_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr); +t_stat tto_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr); void txdb_func (int32 data); extern int32 sysd_hlt_enb (void); @@ -131,7 +133,7 @@ DEVICE tti_dev = { 1, 10, 31, 1, 16, 8, NULL, NULL, &tti_reset, NULL, NULL, NULL, - &tti_dib, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, + &tti_dib, 0, 0, NULL, NULL, NULL, &tti_help, NULL, NULL, &tti_description }; @@ -171,7 +173,7 @@ DEVICE tto_dev = { 1, 10, 31, 1, 16, 8, NULL, NULL, &tto_reset, NULL, NULL, NULL, - &tto_dib, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, + &tto_dib, 0, 0, NULL, NULL, NULL, &tto_help, NULL, NULL, &tto_description }; @@ -363,6 +365,16 @@ sim_activate_abs (&tti_unit, KBD_WAIT (tti_unit.wait, tmr_poll)); return SCPE_OK; } +t_stat tti_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr) +{ +fprintf (st, "Console Terminal Input (TTI)\n\n"); +fprintf (st, "The terminal input (TTI) polls the console keyboard for input.\n\n"); +fprint_set_help (st, dptr); +fprint_show_help (st, dptr); +fprint_reg_help (st, dptr); +return SCPE_OK; +} + char *tti_description (DEVICE *dptr) { return "console terminal input"; @@ -402,6 +414,16 @@ sim_cancel (&tto_unit); /* deactivate unit */ return SCPE_OK; } +t_stat tto_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr) +{ +fprintf (st, "Console Terminal Output (TTO)\n\n"); +fprintf (st, "The terminal output (TTO) writes to the simulator console.\n\n"); +fprint_set_help (st, dptr); +fprint_show_help (st, dptr); +fprint_reg_help (st, dptr); +return SCPE_OK; +} + char *tto_description (DEVICE *dptr) { return "console terminal output"; diff --git a/VAX/vax630_stddev.c b/VAX/vax630_stddev.c index e3b70565..6cda6973 100644 --- a/VAX/vax630_stddev.c +++ b/VAX/vax630_stddev.c @@ -68,6 +68,8 @@ t_stat clk_reset (DEVICE *dptr); char *tti_description (DEVICE *dptr); char *tto_description (DEVICE *dptr); char *clk_description (DEVICE *dptr); +t_stat tti_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr); +t_stat tto_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr); extern int32 sysd_hlt_enb (void); @@ -106,7 +108,7 @@ DEVICE tti_dev = { 1, 10, 31, 1, 16, 8, NULL, NULL, &tti_reset, NULL, NULL, NULL, - &tti_dib, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, + &tti_dib, 0, 0, NULL, NULL, NULL, &tti_help, NULL, NULL, &tti_description }; @@ -146,7 +148,7 @@ DEVICE tto_dev = { 1, 10, 31, 1, 16, 8, NULL, NULL, &tto_reset, NULL, NULL, NULL, - &tto_dib, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, + &tto_dib, 0, 0, NULL, NULL, NULL, &tto_help, NULL, NULL, &tto_description }; @@ -298,6 +300,21 @@ sim_activate_abs (&tti_unit, KBD_WAIT (tti_unit.wait, tmr_poll)); return SCPE_OK; } +t_stat tti_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr) +{ +fprintf (st, "Console Terminal Input (TTI)\n\n"); +fprintf (st, "The terminal input (TTI) polls the console keyboard for input.\n\n"); +fprintf (st, "When the console terminal is attached to a Telnet session or the simulator is\n"); +fprintf (st, "running from a Windows command prompt, it recognizes BREAK. If BREAK is\n"); +fprintf (st, "entered, and BDR<7> is set (also known as SET CPU NOAUTOBOOT), control returns\n"); +fprintf (st, "to the console firmware; otherwise, BREAK is treated as a normal terminal\n"); +fprintf (st, "input condition.\n\n"); +fprint_set_help (st, dptr); +fprint_show_help (st, dptr); +fprint_reg_help (st, dptr); +return SCPE_OK; +} + char *tti_description (DEVICE *dptr) { return "console terminal input"; @@ -337,6 +354,16 @@ sim_cancel (&tto_unit); /* deactivate unit */ return SCPE_OK; } +t_stat tto_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr) +{ +fprintf (st, "Console Terminal Output (TTO)\n\n"); +fprintf (st, "The terminal output (TTO) writes to the simulator console.\n\n"); +fprint_set_help (st, dptr); +fprint_show_help (st, dptr); +fprint_reg_help (st, dptr); +return SCPE_OK; +} + char *tto_description (DEVICE *dptr) { return "console terminal output"; diff --git a/VAX/vax730_stddev.c b/VAX/vax730_stddev.c index ed53e783..cce81c8a 100644 --- a/VAX/vax730_stddev.c +++ b/VAX/vax730_stddev.c @@ -220,6 +220,9 @@ char *tto_description (DEVICE *dptr); char *clk_description (DEVICE *dptr); char *tmr_description (DEVICE *dptr); char *td_description (DEVICE *dptr); +t_stat tti_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr); +t_stat tto_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr); +t_stat clk_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr); t_stat clk_attach (UNIT *uptr, char *cptr); t_stat clk_detach (UNIT *uptr); t_stat tmr_reset (DEVICE *dptr); @@ -264,7 +267,7 @@ DEVICE tti_dev = { 1, 10, 31, 1, 16, 8, NULL, NULL, &tti_reset, NULL, NULL, NULL, - NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, 0, 0, NULL, NULL, NULL, &tti_help, NULL, NULL, &tti_description }; @@ -300,7 +303,7 @@ DEVICE tto_dev = { 1, 10, 31, 1, 16, 8, NULL, NULL, &tto_reset, NULL, NULL, NULL, - NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, 0, 0, NULL, NULL, NULL, &tto_help, NULL, NULL, &tto_description }; @@ -325,7 +328,7 @@ DEVICE clk_dev = { 1, 0, 8, 4, 0, 32, NULL, NULL, &clk_reset, NULL, &clk_attach, &clk_detach, - NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, 0, 0, NULL, NULL, NULL, &clk_help, NULL, NULL, &clk_description }; @@ -691,6 +694,16 @@ sim_activate_abs (&tti_unit, KBD_WAIT (tti_unit.wait, tmr_poll)); return SCPE_OK; } +t_stat tti_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr) +{ +fprintf (st, "Console Terminal Input (TTI)\n\n"); +fprintf (st, "The terminal input (TTI) polls the console keyboard for input.\n\n"); +fprint_set_help (st, dptr); +fprint_show_help (st, dptr); +fprint_reg_help (st, dptr); +return SCPE_OK; +} + char *tti_description (DEVICE *dptr) { return "console terminal input"; @@ -729,6 +742,16 @@ sim_cancel (&tto_unit); /* deactivate unit */ return SCPE_OK; } +t_stat tto_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr) +{ +fprintf (st, "Console Terminal Output (TTO)\n\n"); +fprintf (st, "The terminal output (TTO) writes to the simulator console.\n\n"); +fprint_set_help (st, dptr); +fprint_show_help (st, dptr); +fprint_reg_help (st, dptr); +return SCPE_OK; +} + char *tto_description (DEVICE *dptr) { return "console terminal output"; @@ -896,6 +919,37 @@ if (clk_unit.filebuf == NULL) { /* make sure the TODR is return SCPE_OK; } +t_stat clk_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr) +{ +fprintf (st, "Real-Time Clock (CLK)\n\n"); +fprintf (st, "The real-time clock autocalibrates; the clock interval is adjusted up or down\n"); +fprintf (st, "so that the clock tracks actual elapsed time.\n\n"); +fprintf (st, "There are two modes of TODR operation:\n\n"); +fprintf (st, " Default VMS mode. Without initializing the TODR it returns the current\n"); +fprintf (st, " time of year offset which VMS would set the clock to\n"); +fprintf (st, " if VMS knew the correct time (i.e. by manual input).\n"); +fprintf (st, " This is correct almost all the time unless a VMS disk\n"); +fprintf (st, " hadn't been booted from in the current year. This mode\n"); +fprintf (st, " produces strange time results for non VMS OSes on each\n"); +fprintf (st, " system boot.\n"); +fprintf (st, " OS Agnostic mode. This mode behaves precisely like the VAX780 TODR and\n"); +fprintf (st, " works correctly for all OSes. This mode is enabled by\n"); +fprintf (st, " attaching the CLK to a battery backup state file for the\n"); +fprintf (st, " TOY clock (i.e. sim> attach CLK TOY_CLOCK). When\n"); +fprintf (st, " operating in OS Agnostic mode, the TODR will initially\n"); +fprintf (st, " start counting from 0 and be adjusted differently when\n"); +fprintf (st, " an OS specifically writes to the TODR. VMS determines\n"); +fprintf (st, " if the TODR currently contains a valid time if the value\n"); +fprintf (st, " it sees is less than about 1 month. If the time isn't\n"); +fprintf (st, " valid VMS will prompt to set the time during the system\n"); +fprintf (st, " boot. While prompting for the time it will wait for an\n"); +fprintf (st, " answer to the prompt for up to the SYSGEN parameter\n"); +fprintf (st, " TIMEPROMPTWAIT seconds. A value of 0 for TIMEPROMPTWAIT\n"); +fprintf (st, " will disable the clock setting prompt.\n"); +fprint_reg_help (st, dptr); +return SCPE_OK; +} + char *clk_description (DEVICE *dptr) { return "time of year clock"; diff --git a/VAX/vax750_stddev.c b/VAX/vax750_stddev.c index 99683e1d..62eca7ae 100644 --- a/VAX/vax750_stddev.c +++ b/VAX/vax750_stddev.c @@ -216,6 +216,9 @@ t_stat clk_reset (DEVICE *dptr); char *tti_description (DEVICE *dptr); char *tto_description (DEVICE *dptr); char *clk_description (DEVICE *dptr); +t_stat tti_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr); +t_stat tto_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr); +t_stat clk_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr); t_stat clk_attach (UNIT *uptr, char *cptr); t_stat clk_detach (UNIT *uptr); t_stat tmr_reset (DEVICE *dptr); @@ -264,7 +267,7 @@ DEVICE tti_dev = { 1, 10, 31, 1, 16, 8, NULL, NULL, &tti_reset, NULL, NULL, NULL, - NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, 0, 0, NULL, NULL, NULL, &tti_help, NULL, NULL, &tti_description }; @@ -300,7 +303,7 @@ DEVICE tto_dev = { 1, 10, 31, 1, 16, 8, NULL, NULL, &tto_reset, NULL, NULL, NULL, - NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, 0, 0, NULL, NULL, NULL, &tto_help, NULL, NULL, &tto_description }; @@ -325,7 +328,7 @@ DEVICE clk_dev = { 1, 0, 8, 4, 0, 32, NULL, NULL, &clk_reset, NULL, &clk_attach, &clk_detach, - NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, 0, 0, NULL, NULL, NULL, &clk_help, NULL, NULL, &clk_description }; @@ -687,6 +690,16 @@ csi_int = 0; return SCPE_OK; } +t_stat tti_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr) +{ +fprintf (st, "Console Terminal Input (TTI)\n\n"); +fprintf (st, "The terminal input (TTI) polls the console keyboard for input.\n\n"); +fprint_set_help (st, dptr); +fprint_show_help (st, dptr); +fprint_reg_help (st, dptr); +return SCPE_OK; +} + char *tti_description (DEVICE *dptr) { return "console terminal input"; @@ -726,6 +739,16 @@ sim_cancel (&tto_unit); /* deactivate unit */ return SCPE_OK; } +t_stat tto_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr) +{ +fprintf (st, "Console Terminal Output (TTO)\n\n"); +fprintf (st, "The terminal output (TTO) writes to the simulator console.\n\n"); +fprint_set_help (st, dptr); +fprint_show_help (st, dptr); +fprint_reg_help (st, dptr); +return SCPE_OK; +} + char *tto_description (DEVICE *dptr) { return "console terminal output"; @@ -893,6 +916,37 @@ if (clk_unit.filebuf == NULL) { /* make sure the TODR is return SCPE_OK; } +t_stat clk_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr) +{ +fprintf (st, "Real-Time Clock (CLK)\n\n"); +fprintf (st, "The real-time clock autocalibrates; the clock interval is adjusted up or down\n"); +fprintf (st, "so that the clock tracks actual elapsed time.\n\n"); +fprintf (st, "There are two modes of TODR operation:\n\n"); +fprintf (st, " Default VMS mode. Without initializing the TODR it returns the current\n"); +fprintf (st, " time of year offset which VMS would set the clock to\n"); +fprintf (st, " if VMS knew the correct time (i.e. by manual input).\n"); +fprintf (st, " This is correct almost all the time unless a VMS disk\n"); +fprintf (st, " hadn't been booted from in the current year. This mode\n"); +fprintf (st, " produces strange time results for non VMS OSes on each\n"); +fprintf (st, " system boot.\n"); +fprintf (st, " OS Agnostic mode. This mode behaves precisely like the VAX780 TODR and\n"); +fprintf (st, " works correctly for all OSes. This mode is enabled by\n"); +fprintf (st, " attaching the CLK to a battery backup state file for the\n"); +fprintf (st, " TOY clock (i.e. sim> attach CLK TOY_CLOCK). When\n"); +fprintf (st, " operating in OS Agnostic mode, the TODR will initially\n"); +fprintf (st, " start counting from 0 and be adjusted differently when\n"); +fprintf (st, " an OS specifically writes to the TODR. VMS determines\n"); +fprintf (st, " if the TODR currently contains a valid time if the value\n"); +fprintf (st, " it sees is less than about 1 month. If the time isn't\n"); +fprintf (st, " valid VMS will prompt to set the time during the system\n"); +fprintf (st, " boot. While prompting for the time it will wait for an\n"); +fprintf (st, " answer to the prompt for up to the SYSGEN parameter\n"); +fprintf (st, " TIMEPROMPTWAIT seconds. A value of 0 for TIMEPROMPTWAIT\n"); +fprintf (st, " will disable the clock setting prompt.\n"); +fprint_reg_help (st, dptr); +return SCPE_OK; +} + char *clk_description (DEVICE *dptr) { return "time of year clock"; diff --git a/VAX/vax780_stddev.c b/VAX/vax780_stddev.c index 77324d18..c1c1dc14 100644 --- a/VAX/vax780_stddev.c +++ b/VAX/vax780_stddev.c @@ -234,6 +234,9 @@ char *tto_description (DEVICE *dptr); char *clk_description (DEVICE *dptr); char *tmr_description (DEVICE *dptr); char *fl_description (DEVICE *dptr); +t_stat tti_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr); +t_stat tto_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr); +t_stat clk_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr); t_stat clk_attach (UNIT *uptr, char *cptr); t_stat clk_detach (UNIT *uptr); t_stat tmr_reset (DEVICE *dptr); @@ -280,7 +283,7 @@ DEVICE tti_dev = { 1, 10, 31, 1, 16, 8, NULL, NULL, &tti_reset, NULL, NULL, NULL, - NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, 0, 0, NULL, NULL, NULL, &tti_help, NULL, NULL, &tti_description }; @@ -307,7 +310,7 @@ REG tto_reg[] = { MTAB tto_mod[] = { { TT_MODE, TT_MODE_7B, "7b", "7B", NULL, NULL, NULL, "Set 7 bit mode" }, { TT_MODE, TT_MODE_8B, "8b", "8B", NULL, NULL, NULL, "Set 8 bit mode" }, - { TT_MODE, TT_MODE_7P, "7p", "7P", NULL, NULL, NULL, "Set 7 bit mode (suppress non printing)" }, + { TT_MODE, TT_MODE_7P, "7p", "7P", NULL, NULL, NULL, "Set 7 bit mode (suppress non printing output)" }, { 0 } }; @@ -316,7 +319,7 @@ DEVICE tto_dev = { 1, 10, 31, 1, 16, 8, NULL, NULL, &tto_reset, NULL, NULL, NULL, - NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, 0, 0, NULL, NULL, NULL, &tto_help, NULL, NULL, &tto_description }; @@ -341,7 +344,7 @@ DEVICE clk_dev = { 1, 0, 8, 4, 0, 32, NULL, NULL, &clk_reset, NULL, &clk_attach, &clk_detach, - NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, 0, 0, NULL, NULL, NULL, &clk_help, NULL, NULL, &clk_description }; @@ -504,6 +507,16 @@ sim_activate (&tti_unit, KBD_WAIT (tti_unit.wait, tmr_poll)); return SCPE_OK; } +t_stat tti_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr) +{ +fprintf (st, "Console Terminal Input (TTI)\n\n"); +fprintf (st, "The terminal input (TTI) polls the console keyboard for input.\n\n"); +fprint_set_help (st, dptr); +fprint_show_help (st, dptr); +fprint_reg_help (st, dptr); +return SCPE_OK; +} + char *tti_description (DEVICE *dptr) { return "console terminal input"; @@ -543,6 +556,16 @@ sim_cancel (&tto_unit); /* deactivate unit */ return SCPE_OK; } +t_stat tto_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr) +{ +fprintf (st, "Console Terminal Output (TTO)\n\n"); +fprintf (st, "The terminal output (TTO) writes to the simulator console.\n\n"); +fprint_set_help (st, dptr); +fprint_show_help (st, dptr); +fprint_reg_help (st, dptr); +return SCPE_OK; +} + char *tto_description (DEVICE *dptr) { return "console terminal output"; @@ -710,6 +733,37 @@ if (clk_unit.filebuf == NULL) { /* make sure the TODR is return SCPE_OK; } +t_stat clk_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr) +{ +fprintf (st, "Real-Time Clock (CLK)\n\n"); +fprintf (st, "The real-time clock autocalibrates; the clock interval is adjusted up or down\n"); +fprintf (st, "so that the clock tracks actual elapsed time.\n\n"); +fprintf (st, "There are two modes of TODR operation:\n\n"); +fprintf (st, " Default VMS mode. Without initializing the TODR it returns the current\n"); +fprintf (st, " time of year offset which VMS would set the clock to\n"); +fprintf (st, " if VMS knew the correct time (i.e. by manual input).\n"); +fprintf (st, " This is correct almost all the time unless a VMS disk\n"); +fprintf (st, " hadn't been booted from in the current year. This mode\n"); +fprintf (st, " produces strange time results for non VMS OSes on each\n"); +fprintf (st, " system boot.\n"); +fprintf (st, " OS Agnostic mode. This mode behaves precisely like the VAX780 TODR and\n"); +fprintf (st, " works correctly for all OSes. This mode is enabled by\n"); +fprintf (st, " attaching the CLK to a battery backup state file for the\n"); +fprintf (st, " TOY clock (i.e. sim> attach CLK TOY_CLOCK). When\n"); +fprintf (st, " operating in OS Agnostic mode, the TODR will initially\n"); +fprintf (st, " start counting from 0 and be adjusted differently when\n"); +fprintf (st, " an OS specifically writes to the TODR. VMS determines\n"); +fprintf (st, " if the TODR currently contains a valid time if the value\n"); +fprintf (st, " it sees is less than about 1 month. If the time isn't\n"); +fprintf (st, " valid VMS will prompt to set the time during the system\n"); +fprintf (st, " boot. While prompting for the time it will wait for an\n"); +fprintf (st, " answer to the prompt for up to the SYSGEN parameter\n"); +fprintf (st, " TIMEPROMPTWAIT seconds. A value of 0 for TIMEPROMPTWAIT\n"); +fprintf (st, " will disable the clock setting prompt.\n"); +fprint_reg_help (st, dptr); +return SCPE_OK; +} + char *clk_description (DEVICE *dptr) { return "time of year clock"; diff --git a/VAX/vax860_stddev.c b/VAX/vax860_stddev.c index 497edda1..00736480 100644 --- a/VAX/vax860_stddev.c +++ b/VAX/vax860_stddev.c @@ -250,6 +250,9 @@ char *tto_description (DEVICE *dptr); char *clk_description (DEVICE *dptr); char *tmr_description (DEVICE *dptr); char *rlcs_description (DEVICE *dptr); +t_stat tti_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr); +t_stat tto_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr); +t_stat clk_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr); t_stat clk_attach (UNIT *uptr, char *cptr); t_stat clk_detach (UNIT *uptr); t_stat tmr_reset (DEVICE *dptr); @@ -299,7 +302,7 @@ DEVICE tti_dev = { 4, 10, 31, 1, 16, 8, NULL, NULL, &tti_reset, NULL, NULL, NULL, - NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, 0, 0, NULL, NULL, NULL, &tti_help, NULL, NULL, &tti_description }; @@ -340,7 +343,7 @@ DEVICE tto_dev = { 4, 10, 31, 1, 16, 8, NULL, NULL, &tto_reset, NULL, NULL, NULL, - NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, 0, 0, NULL, NULL, NULL, &tto_help, NULL, NULL, &tto_description }; @@ -365,7 +368,7 @@ DEVICE clk_dev = { 1, 0, 8, 4, 0, 32, NULL, NULL, &clk_reset, NULL, &clk_attach, &clk_detach, - NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, 0, 0, NULL, NULL, NULL, &clk_help, NULL, NULL, &clk_description }; @@ -622,6 +625,16 @@ sim_activate_abs (&tti_unit[ID_CT], KBD_WAIT (tti_unit[ID_CT].wait, tmr_poll)); return SCPE_OK; } +t_stat tti_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr) +{ +fprintf (st, "Console Terminal Input (TTI)\n\n"); +fprintf (st, "The terminal input (TTI) polls the console keyboard for input.\n\n"); +fprint_set_help (st, dptr); +fprint_show_help (st, dptr); +fprint_reg_help (st, dptr); +return SCPE_OK; +} + char *tti_description (DEVICE *dptr) { return "console terminal input"; @@ -674,6 +687,16 @@ sim_cancel (&tto_unit[ID_LC]); return SCPE_OK; } +t_stat tto_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr) +{ +fprintf (st, "Console Terminal Output (TTO)\n\n"); +fprintf (st, "The terminal output (TTO) writes to the simulator console.\n\n"); +fprint_set_help (st, dptr); +fprint_show_help (st, dptr); +fprint_reg_help (st, dptr); +return SCPE_OK; +} + char *tto_description (DEVICE *dptr) { return "console terminal output"; @@ -841,6 +864,37 @@ if (clk_unit.filebuf == NULL) { /* make sure the TODR is return SCPE_OK; } +t_stat clk_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr) +{ +fprintf (st, "Real-Time Clock (CLK)\n\n"); +fprintf (st, "The real-time clock autocalibrates; the clock interval is adjusted up or down\n"); +fprintf (st, "so that the clock tracks actual elapsed time.\n\n"); +fprintf (st, "There are two modes of TODR operation:\n\n"); +fprintf (st, " Default VMS mode. Without initializing the TODR it returns the current\n"); +fprintf (st, " time of year offset which VMS would set the clock to\n"); +fprintf (st, " if VMS knew the correct time (i.e. by manual input).\n"); +fprintf (st, " This is correct almost all the time unless a VMS disk\n"); +fprintf (st, " hadn't been booted from in the current year. This mode\n"); +fprintf (st, " produces strange time results for non VMS OSes on each\n"); +fprintf (st, " system boot.\n"); +fprintf (st, " OS Agnostic mode. This mode behaves precisely like the VAX780 TODR and\n"); +fprintf (st, " works correctly for all OSes. This mode is enabled by\n"); +fprintf (st, " attaching the CLK to a battery backup state file for the\n"); +fprintf (st, " TOY clock (i.e. sim> attach CLK TOY_CLOCK). When\n"); +fprintf (st, " operating in OS Agnostic mode, the TODR will initially\n"); +fprintf (st, " start counting from 0 and be adjusted differently when\n"); +fprintf (st, " an OS specifically writes to the TODR. VMS determines\n"); +fprintf (st, " if the TODR currently contains a valid time if the value\n"); +fprintf (st, " it sees is less than about 1 month. If the time isn't\n"); +fprintf (st, " valid VMS will prompt to set the time during the system\n"); +fprintf (st, " boot. While prompting for the time it will wait for an\n"); +fprintf (st, " answer to the prompt for up to the SYSGEN parameter\n"); +fprintf (st, " TIMEPROMPTWAIT seconds. A value of 0 for TIMEPROMPTWAIT\n"); +fprintf (st, " will disable the clock setting prompt.\n"); +fprint_reg_help (st, dptr); +return SCPE_OK; +} + char *clk_description (DEVICE *dptr) { return "time of year clock"; diff --git a/VAX/vax_stddev.c b/VAX/vax_stddev.c index 284b7f03..771095aa 100644 --- a/VAX/vax_stddev.c +++ b/VAX/vax_stddev.c @@ -122,8 +122,10 @@ t_stat clk_detach (UNIT *uptr); t_stat todr_resync (void); char *tti_description (DEVICE *dptr); char *tto_description (DEVICE *dptr); -t_stat clk_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr); char *clk_description (DEVICE *dptr); +t_stat tti_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr); +t_stat tto_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr); +t_stat clk_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr); extern int32 sysd_hlt_enb (void); extern int32 fault_PC; @@ -163,7 +165,7 @@ DEVICE tti_dev = { 1, 10, 31, 1, 16, 8, NULL, NULL, &tti_reset, NULL, NULL, NULL, - &tti_dib, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, + &tti_dib, 0, 0, NULL, NULL, NULL, &tti_help, NULL, NULL, &tti_description }; @@ -193,7 +195,7 @@ REG tto_reg[] = { MTAB tto_mod[] = { { TT_MODE, TT_MODE_7B, "7b", "7B", NULL, NULL, NULL, "Set 7 bit mode" }, { TT_MODE, TT_MODE_8B, "8b", "8B", NULL, NULL, NULL, "Set 8 bit mode" }, - { TT_MODE, TT_MODE_7P, "7p", "7P", NULL, NULL, NULL, "Set 7 bit mode (suppress non printing)" }, + { TT_MODE, TT_MODE_7P, "7p", "7P", NULL, NULL, NULL, "Set 7 bit mode (suppress non printing output)" }, { MTAB_XTD|MTAB_VDV, 0, "VECTOR", NULL, NULL, &show_vec, NULL, "Display interrupt vector" }, { 0 } }; @@ -203,7 +205,7 @@ DEVICE tto_dev = { 1, 10, 31, 1, 16, 8, NULL, NULL, &tto_reset, NULL, NULL, NULL, - &tto_dib, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, + &tto_dib, 0, 0, NULL, NULL, NULL, &tto_help, NULL, NULL, &tto_description }; @@ -361,6 +363,21 @@ sim_activate (&tti_unit, KBD_WAIT (tti_unit.wait, tmr_poll)); return SCPE_OK; } +t_stat tti_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr) +{ +fprintf (st, "Console Terminal Input (TTI)\n\n"); +fprintf (st, "The terminal input (TTI) polls the console keyboard for input.\n\n"); +fprintf (st, "When the console terminal is attached to a Telnet session or the simulator is\n"); +fprintf (st, "running from a Windows command prompt, it recognizes BREAK. If BREAK is\n"); +fprintf (st, "entered, and BDR<7> is set (also known as SET CPU NOAUTOBOOT), control returns\n"); +fprintf (st, "to the console firmware; otherwise, BREAK is treated as a normal terminal\n"); +fprintf (st, "input condition.\n\n"); +fprint_set_help (st, dptr); +fprint_show_help (st, dptr); +fprint_reg_help (st, dptr); +return SCPE_OK; +} + char *tti_description (DEVICE *dptr) { return "console terminal input"; @@ -400,6 +417,16 @@ sim_cancel (&tto_unit); /* deactivate unit */ return SCPE_OK; } +t_stat tto_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr) +{ +fprintf (st, "Console Terminal Output (TTO)\n\n"); +fprintf (st, "The terminal output (TTO) writes to the simulator console.\n\n"); +fprint_set_help (st, dptr); +fprint_show_help (st, dptr); +fprint_reg_help (st, dptr); +return SCPE_OK; +} + char *tto_description (DEVICE *dptr) { return "console terminal output"; @@ -539,7 +566,7 @@ fprintf (st, " Default VMS mode. Without initializing the TODR it returns the fprintf (st, " time of year offset which VMS would set the clock to\n"); fprintf (st, " if VMS knew the correct time (i.e. by manual input).\n"); fprintf (st, " This is correct almost all the time unless a VMS disk\n"); -fprintf (st, " hadn’t been booted from in the current year. This mode\n"); +fprintf (st, " hadn't been booted from in the current year. This mode\n"); fprintf (st, " produces strange time results for non VMS OSes on each\n"); fprintf (st, " system boot.\n"); fprintf (st, " OS Agnostic mode. This mode behaves precisely like the VAX780 TODR and\n"); @@ -548,10 +575,14 @@ fprintf (st, " attaching the CLK to a battery backup state fprintf (st, " TOY clock (i.e. sim> attach CLK TOY_CLOCK). When\n"); fprintf (st, " operating in OS Agnostic mode, the TODR will initially\n"); fprintf (st, " start counting from 0 and be adjusted differently when\n"); -fprintf (st, " an OS specifically writes to the TODR. VMS will prompt\n"); -fprintf (st, " to set the time on each boot (if the TODR value is less\n"); -fprintf (st, " than about 1 month) unless the SYSGEN parameter\n"); -fprintf (st, " TIMEPROMPTWAIT is set to 0.\n"); +fprintf (st, " an OS specifically writes to the TODR. VMS determines\n"); +fprintf (st, " if the TODR currently contains a valid time if the value\n"); +fprintf (st, " it sees is less than about 1 month. If the time isn't\n"); +fprintf (st, " valid VMS will prompt to set the time during the system\n"); +fprintf (st, " boot. While prompting for the time it will wait for an\n"); +fprintf (st, " answer to the prompt for up to the SYSGEN parameter\n"); +fprintf (st, " TIMEPROMPTWAIT seconds. A value of 0 for TIMEPROMPTWAIT\n"); +fprintf (st, " will disable the clock setting prompt.\n"); fprint_reg_help (st, dptr); return SCPE_OK; } diff --git a/doc/vax780_doc.doc b/doc/vax780_doc.doc index 7b708901..fdc37d9f 100644 Binary files a/doc/vax780_doc.doc and b/doc/vax780_doc.doc differ diff --git a/doc/vax_doc.doc b/doc/vax_doc.doc index c3e305c9..28f6eaae 100644 Binary files a/doc/vax_doc.doc and b/doc/vax_doc.doc differ