SCP: Improve throttle help and cleaned up set help formatting

This commit is contained in:
Mark Pizzolato 2018-02-12 22:34:43 -08:00
parent ce8aea13bc
commit f33ca2a1d9

161
scp.c
View file

@ -1084,66 +1084,66 @@ static const char simh_help[] =
/***************** 80 character line width template *************************/ /***************** 80 character line width template *************************/
#define HLP_SET_CONSOLE "*Commands SET CONSOLE" #define HLP_SET_CONSOLE "*Commands SET CONSOLE"
"3Console\n" "3Console\n"
"+set console arg{,arg...} set console options\n" "+SET CONSOLE arg{,arg...} set console options\n"
"+set console WRU=value specify console drop to simh character\n" "+SET CONSOLE WRU=value specify console drop to simh character\n"
"+set console BRK=value specify console Break character\n" "+SET CONSOLE BRK=value specify console Break character\n"
"+set console DEL=value specify console delete character\n" "+SET CONSOLE DEL=value specify console delete character\n"
"+set console PCHAR=bitmask bit mask of printable characters in\n" "+SET CONSOLE PCHAR=bitmask bit mask of printable characters in\n"
"++++++++ range [31,0]\n" "++++++++ range [31,0]\n"
"+set console SPEED=speed{*factor}\n" "+SET CONSOLE SPEED=speed{*factor}\n"
"++++++++ specify console input data rate\n" "++++++++ specify console input data rate\n"
"+set console TELNET=port specify console telnet port\n" "+SET CONSOLE TELNET=port specify console telnet port\n"
"+set console TELNET=LOG=log_file\n" "+SET CONSOLE TELNET=LOG=log_file\n"
"++++++++ specify console telnet logging to the\n" "++++++++ specify console telnet logging to the\n"
"++++++++ specified destination {LOG,STDOUT,STDERR,\n" "++++++++ specified destination {LOG,STDOUT,STDERR,\n"
"++++++++ DEBUG or filename)\n" "++++++++ DEBUG or filename)\n"
"+set console TELNET=NOLOG disables console telnet logging\n" "+SET CONSOLE TELNET=NOLOG disables console telnet logging\n"
"+set console TELNET=BUFFERED[=bufsize]\n" "+SET CONSOLE TELNET=BUFFERED[=bufsize]\n"
"++++++++ specify console telnet buffering\n" "++++++++ specify console telnet buffering\n"
"+set console TELNET=NOBUFFERED\n" "+SET CONSOLE TELNET=NOBUFFERED\n"
"++++++++ disables console telnet buffering\n" "++++++++ disables console telnet buffering\n"
"+set console TELNET=UNBUFFERED\n" "+SET CONSOLE TELNET=UNBUFFERED\n"
"++++++++ disables console telnet buffering\n" "++++++++ disables console telnet buffering\n"
"+set console NOTELNET disable console telnet\n" "+SET CONSOLE NOTELNET disable console telnet\n"
"+set console SERIAL=serialport[;config]\n" "+SET CONSOLE SERIAL=serialport[;config]\n"
"++++++++ specify console serial port and optionally\n" "++++++++ specify console serial port and optionally\n"
"++++++++ the port config (i.e. ;9600-8n1)\n" "++++++++ the port config (i.e. ;9600-8n1)\n"
"+set console NOSERIAL disable console serial session\n" "+SET CONSOLE NOSERIAL disable console serial session\n"
"+set console SPEED=nn{*fac} specifies the maximum console port input rate\n" "+SET CONSOLE SPEED=nn{*fac} specifies the maximum console port input rate\n"
/***************** 80 character line width template *************************/ /***************** 80 character line width template *************************/
#define HLP_SET_REMOTE "*Commands SET REMOTE" #define HLP_SET_REMOTE "*Commands SET REMOTE"
"3Remote\n" "3Remote\n"
"+set remote TELNET=port specify remote console telnet port\n" "+SET REMOTE TELNET=port specify remote console telnet port\n"
"+set remote NOTELNET disables remote console\n" "+SET REMOTE NOTELNET disables remote console\n"
"+set remote BUFFERSIZE=bufsize\n" "+SET REMOTE BUFFERSIZE=bufsize\n"
"++++++++ specify remote console command output buffer\n" "++++++++ specify remote console command output buffer\n"
"++++++++ size\n" "++++++++ size\n"
"+set remote CONNECTIONS=n specify number of concurrent remote\n" "+SET REMOTE CONNECTIONS=n specify number of concurrent remote\n"
"++++++++ console sessions\n" "++++++++ console sessions\n"
"+set remote TIMEOUT=n specify number of seconds without input\n" "+SET REMOTE TIMEOUT=n specify number of seconds without input\n"
"++++++++ before automatic continue\n" "++++++++ before automatic continue\n"
"+set remote MASTER enable master mode remote console\n" "+SET REMOTE MASTER enable master mode remote console\n"
"+set remote NOMASTER disable remote master mode console\n" "+SET REMOTE NOMASTER disable remote master mode console\n"
#define HLP_SET_DEFAULT "*Commands SET Working_Directory" #define HLP_SET_DEFAULT "*Commands SET Working_Directory"
"3Working Directory\n" "3Working Directory\n"
"+set default <dir> set the current directory\n" "+SET DEFAULT <dir> set the current directory\n"
"+cd <dir> set the current directory\n" "+CD <dir> set the current directory\n"
#define HLP_SET_LOG "*Commands SET Log" #define HLP_SET_LOG "*Commands SET Log"
"3Log\n" "3Log\n"
" Interactions with the simulator session (at the \"sim>\" prompt\n" " Interactions with the simulator session (at the \"sim>\" prompt\n"
" can be recorded to a log file\n\n" " can be recorded to a log file\n\n"
"+set log log_file specify the log destination\n" "+SET LOG log_file specify the log destination\n"
"++++++++ (STDOUT,DEBUG or filename)\n" "++++++++ (STDOUT,DEBUG or filename)\n"
"+set nolog disables any currently active logging\n" "+SET NOLOG disables any currently active logging\n"
"4Switches\n" "4Switches\n"
" By default, log output is written at the end of the specified log file.\n" " By default, log output is written at the end of the specified log file.\n"
" A new log file can created if the -N switch is used on the command line.\n" " A new log file can created if the -N switch is used on the command line.\n"
#define HLP_SET_DEBUG "*Commands SET Debug" #define HLP_SET_DEBUG "*Commands SET Debug"
/***************** 80 character line width template *************************/ /***************** 80 character line width template *************************/
"3Debug\n" "3Debug\n"
"+set debug debug_file specify the debug destination\n" "+SET DEBUG debug_file specify the debug destination\n"
"++++++++ (STDOUT,STDERR,LOG or filename)\n" "++++++++ (STDOUT,STDERR,LOG or filename)\n"
"+set nodebug disables any currently active debug output\n" "+SET NODEBUG disables any currently active debug output\n"
"4Switches\n" "4Switches\n"
" Debug message output contains a timestamp which indicates the number of\n" " Debug message output contains a timestamp which indicates the number of\n"
" simulated instructions which have been executed prior to the debug event.\n\n" " simulated instructions which have been executed prior to the debug event.\n\n"
@ -1173,90 +1173,111 @@ static const char simh_help[] =
" EBCDIC characters.\n" " EBCDIC characters.\n"
#define HLP_SET_BREAK "*Commands SET Breakpoints" #define HLP_SET_BREAK "*Commands SET Breakpoints"
"3Breakpoints\n" "3Breakpoints\n"
"+set break <list> set breakpoints\n" "+SET BREAK <list> set breakpoints\n"
"+set nobreak <list> clear breakpoints\n" "+SET NOBREAK <list> clear breakpoints\n"
/***************** 80 character line width template *************************/ /***************** 80 character line width template *************************/
#define HLP_SET_THROTTLE "*Commands SET Throttle" #define HLP_SET_THROTTLE "*Commands SET Throttle"
"3Throttle\n" "3Throttle\n"
"+set throttle {x{M|K|%%}}|{x/t}\n" " Simulator instruction execution rate can be controlled by specifying\n"
"++++++++ set simulation rate\n" " one of the following throttle commands:\n\n"
"+set nothrottle set simulation rate to maximum\n" "+SET THROTTLE xM execute x million instructions per second\n"
"+SET THROTTLE xK execute x thousand instructions per second\n"
"+SET THROTTLE x%% occupy x percent of the host capacity\n"
"++++++++executing instructions\n"
"+SET THROTTLE x/t sleep for t milliseconds after executing x\n"
"++++++++instructions\n\n"
"+SET NOTHROTTLE set simulation rate to maximum\n\n"
" Throttling is only available on host systems that implement a precision\n"
" real-time delay function.\n\n"
" xM, xK and x%% modes require the simulator to execute sufficient\n"
" instructions to actually calibrate the desired execution rate relative\n"
" to wall clock time. Very short running programs may complete before\n"
" calibration completes and therefore before the simulated execution rate\n"
" can match the desired rate.\n\n"
" The SET NOTHROTTLE command turns off throttling. The SHOW THROTTLE\n"
" command shows the current settings for throttling and the calibration\n"
" results\n\n"
" Some simulators implement a different form of host CPU resource management\n"
" called idling. Idling suspends simulated execution whenever the program\n"
" running in the simulator is doing nothing, and runs the simulator at full\n"
" speed when there is work to do. Throttling and idling are mutually\n"
" exclusive.\n"
#define HLP_SET_CLOCKS "*Commands SET Clocks" #define HLP_SET_CLOCKS "*Commands SET Clocks"
"3Clock\n" "3Clock\n"
#if defined (SIM_ASYNCH_CLOCKS) #if defined (SIM_ASYNCH_CLOCKS)
"+set clock asynch enable asynchronous clocks\n" "+SET CLOCK asynch enable asynchronous clocks\n"
"+set clock noasynch disable asynchronous clocks\n" "+SET CLOCK noasynch disable asynchronous clocks\n"
#endif #endif
"+set clock nocatchup disable catchup clock ticks\n" "+SET CLOCK nocatchup disable catchup clock ticks\n"
"+set clock catchup enable catchup clock ticks\n" "+SET CLOCK catchup enable catchup clock ticks\n"
"+set clock calib=n%% specify idle calibration skip %%\n" "+SET CLOCK calib=n%% specify idle calibration skip %%\n"
"+set clock stop=n stop execution after n instructions\n\n" "+SET CLOCK stop=n stop execution after n instructions\n\n"
" The set clock stop command allows execution to have a bound when\n" " The SET CLOCK STOP command allows execution to have a bound when\n"
" execution starts with a BOOT, NEXT or CONTINUE command.\n" " execution starts with a BOOT, NEXT or CONTINUE command.\n"
#define HLP_SET_ASYNCH "*Commands SET Asynch" #define HLP_SET_ASYNCH "*Commands SET Asynch"
"3Asynch\n" "3Asynch\n"
"+set asynch enable asynchronous I/O\n" "+SET ASYNCH enable asynchronous I/O\n"
"+set noasynch disable asynchronous I/O\n" "+SET NOASYNCH disable asynchronous I/O\n"
#define HLP_SET_ENVIRON "*Commands SET Environment" #define HLP_SET_ENVIRON "*Commands SET Environment"
"3Environment\n" "3Environment\n"
"4Explicitily Changing A Variable\n" "4Explicitily Changing A Variable\n"
"+set environment name=val set environment variable\n" "+SET ENVIRONMENT name=val set environment variable\n"
"+set environment name clear environment variable\n" "+SET ENVIRONMENT name clear environment variable\n"
"4Gathering Input From A User\n" "4Gathering Input From A User\n"
" Input from a user can be obtained by:\n\n" " Input from a user can be obtained by:\n\n"
"+set environment -p \"Prompt String\" name=default\n\n" "+set environment -P \"Prompt String\" name=default\n\n"
" The -p switch indicates that the user should be prompted\n" " The -P switch indicates that the user should be prompted\n"
" with the indicated prompt string and the input provided\n" " with the indicated prompt string and the input provided\n"
" will be saved in the environment variable 'name'. If no\n" " will be saved in the environment variable 'name'. If no\n"
" input is provided, the value specified as 'default' will be\n" " input is provided, the value specified as 'default' will be\n"
" used.\n" " used.\n"
#define HLP_SET_ON "*Commands SET Command_Status_Trap_Dispatching" #define HLP_SET_ON "*Commands SET Command_Status_Trap_Dispatching"
"3Command Status Trap Dispatching\n" "3Command Status Trap Dispatching\n"
"+set on enables error checking after command\n" "+SET ON enables error checking after command\n"
"++++++++ execution\n" "++++++++ execution\n"
"+set noon disables error checking after command\n" "+SET NOON disables error checking after command\n"
"++++++++ execution\n" "++++++++ execution\n"
"+set on inherit enables inheritance of ON state and\n" "+SET ON INHERIT enables inheritance of ON state and\n"
"++++++++ actions into do command files\n" "++++++++ actions into do command files\n"
"+set on noinherit disables inheritance of ON state and\n" "+SET ON NOINHERIT disables inheritance of ON state and\n"
"++++++++ actions into do command files\n" "++++++++ actions into do command files\n"
#define HLP_SET_VERIFY "*Commands SET Command_Execution_Display" #define HLP_SET_VERIFY "*Commands SET Command_Execution_Display"
#define HLP_SET_VERIFY "*Commands SET Command_Execution_Display" #define HLP_SET_VERIFY "*Commands SET Command_Execution_Display"
"3Command Execution Display\n" "3Command Execution Display\n"
"+set verify re-enables display of command file\n" "+SET VERIFY re-enables display of command file\n"
"++++++++ processed commands\n" "++++++++ processed commands\n"
"+set verbose re-enables display of command file\n" "+SET VERBOSE re-enables display of command file\n"
"++++++++ processed commands\n" "++++++++ processed commands\n"
"+set noverify disables display of command file processed\n" "+SET NOVERIFY disables display of command file processed\n"
"++++++++ commands\n" "++++++++ commands\n"
"+set noverbose disables display of command file processed\n" "+SET NOVERBOSE disables display of command file processed\n"
"++++++++ commands\n" "++++++++ commands\n"
#define HLP_SET_MESSAGE "*Commands SET Command_Error_Status_Display" #define HLP_SET_MESSAGE "*Commands SET Command_Error_Status_Display"
"3Command Error Status Display\n" "3Command Error Status Display\n"
"+set message re-enables display of command file error\n" "+SET MESSAGE re-enables display of command file error\n"
"++++++++ messages\n" "++++++++ messages\n"
"+set nomessage disables display of command file error\n" "+SET NOMESSAGE disables display of command file error\n"
"++++++++ messages\n" "++++++++ messages\n"
#define HLP_SET_QUIET "*Commands SET Command_Output_Display" #define HLP_SET_QUIET "*Commands SET Command_Output_Display"
"3Command Output Display\n" "3Command Output Display\n"
"+set quiet disables suppression of some output and\n" "+SET QUIET disables suppression of some output and\n"
"++++++++ messages\n" "++++++++ messages\n"
"+set noquiet re-enables suppression of some output and\n" "+SET NOQUIET re-enables suppression of some output and\n"
"++++++++ messages\n" "++++++++ messages\n"
#define HLP_SET_PROMPT "*Commands SET Command_Prompt" #define HLP_SET_PROMPT "*Commands SET Command_Prompt"
"3Command Prompt\n" "3Command Prompt\n"
"+set prompt \"string\" sets an alternate simulator prompt string\n" "+SET PROMPT \"string\" sets an alternate simulator prompt string\n"
"3Device and Unit\n" "3Device and Unit\n"
"+set <dev> OCT|DEC|HEX|BIN set device display radix\n" "+SET <dev> OCT|DEC|HEX|BIN set device display radix\n"
"+set <dev> ENABLED enable device\n" "+SET <dev> ENABLED enable device\n"
"+set <dev> DISABLED disable device\n" "+SET <dev> DISABLED disable device\n"
"+set <dev> DEBUG{=arg} set device debug flags\n" "+SET <dev> DEBUG{=arg} set device debug flags\n"
"+set <dev> NODEBUG={arg} clear device debug flags\n" "+SET <dev> NODEBUG={arg} clear device debug flags\n"
"+set <dev> arg{,arg...} set device parameters (see show modifiers)\n" "+SET <dev> arg{,arg...} set device parameters (see show modifiers)\n"
"+set <unit> ENABLED enable unit\n" "+SET <unit> ENABLED enable unit\n"
"+set <unit> DISABLED disable unit\n" "+SET <unit> DISABLED disable unit\n"
"+set <unit> arg{,arg...} set unit parameters (see show modifiers)\n" "+SET <unit> arg{,arg...} set unit parameters (see show modifiers)\n"
"+help <dev> set displays the device specific set commands\n" "+HELP <dev> SET displays the device specific set commands\n"
"++++++++ available\n" "++++++++ available\n"
/***************** 80 character line width template *************************/ /***************** 80 character line width template *************************/
#define HLP_SHOW "*Commands SHOW" #define HLP_SHOW "*Commands SHOW"