From f33ca2a1d96c7ef10fe01e69545c9764c3f7c82d Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Mon, 12 Feb 2018 22:34:43 -0800 Subject: [PATCH] SCP: Improve throttle help and cleaned up set help formatting --- scp.c | 161 +++++++++++++++++++++++++++++++++------------------------- 1 file changed, 91 insertions(+), 70 deletions(-) diff --git a/scp.c b/scp.c index 623a2957..ae408823 100644 --- a/scp.c +++ b/scp.c @@ -1084,66 +1084,66 @@ static const char simh_help[] = /***************** 80 character line width template *************************/ #define HLP_SET_CONSOLE "*Commands SET CONSOLE" "3Console\n" - "+set console arg{,arg...} set console options\n" - "+set console WRU=value specify console drop to simh character\n" - "+set console BRK=value specify console Break character\n" - "+set console DEL=value specify console delete character\n" - "+set console PCHAR=bitmask bit mask of printable characters in\n" + "+SET CONSOLE arg{,arg...} set console options\n" + "+SET CONSOLE WRU=value specify console drop to simh character\n" + "+SET CONSOLE BRK=value specify console Break character\n" + "+SET CONSOLE DEL=value specify console delete character\n" + "+SET CONSOLE PCHAR=bitmask bit mask of printable characters in\n" "++++++++ range [31,0]\n" - "+set console SPEED=speed{*factor}\n" + "+SET CONSOLE SPEED=speed{*factor}\n" "++++++++ specify console input data rate\n" - "+set console TELNET=port specify console telnet port\n" - "+set console TELNET=LOG=log_file\n" + "+SET CONSOLE TELNET=port specify console telnet port\n" + "+SET CONSOLE TELNET=LOG=log_file\n" "++++++++ specify console telnet logging to the\n" "++++++++ specified destination {LOG,STDOUT,STDERR,\n" "++++++++ DEBUG or filename)\n" - "+set console TELNET=NOLOG disables console telnet logging\n" - "+set console TELNET=BUFFERED[=bufsize]\n" + "+SET CONSOLE TELNET=NOLOG disables console telnet logging\n" + "+SET CONSOLE TELNET=BUFFERED[=bufsize]\n" "++++++++ specify console telnet buffering\n" - "+set console TELNET=NOBUFFERED\n" + "+SET CONSOLE TELNET=NOBUFFERED\n" "++++++++ disables console telnet buffering\n" - "+set console TELNET=UNBUFFERED\n" + "+SET CONSOLE TELNET=UNBUFFERED\n" "++++++++ disables console telnet buffering\n" - "+set console NOTELNET disable console telnet\n" - "+set console SERIAL=serialport[;config]\n" + "+SET CONSOLE NOTELNET disable console telnet\n" + "+SET CONSOLE SERIAL=serialport[;config]\n" "++++++++ specify console serial port and optionally\n" "++++++++ the port config (i.e. ;9600-8n1)\n" - "+set console NOSERIAL disable console serial session\n" - "+set console SPEED=nn{*fac} specifies the maximum console port input rate\n" + "+SET CONSOLE NOSERIAL disable console serial session\n" + "+SET CONSOLE SPEED=nn{*fac} specifies the maximum console port input rate\n" /***************** 80 character line width template *************************/ #define HLP_SET_REMOTE "*Commands SET REMOTE" "3Remote\n" - "+set remote TELNET=port specify remote console telnet port\n" - "+set remote NOTELNET disables remote console\n" - "+set remote BUFFERSIZE=bufsize\n" + "+SET REMOTE TELNET=port specify remote console telnet port\n" + "+SET REMOTE NOTELNET disables remote console\n" + "+SET REMOTE BUFFERSIZE=bufsize\n" "++++++++ specify remote console command output buffer\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" - "+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" - "+set remote MASTER enable master mode remote console\n" - "+set remote NOMASTER disable remote master mode console\n" + "+SET REMOTE MASTER enable master mode remote console\n" + "+SET REMOTE NOMASTER disable remote master mode console\n" #define HLP_SET_DEFAULT "*Commands SET Working_Directory" "3Working Directory\n" - "+set default set the current directory\n" - "+cd set the current directory\n" + "+SET DEFAULT set the current directory\n" + "+CD set the current directory\n" #define HLP_SET_LOG "*Commands SET Log" "3Log\n" " Interactions with the simulator session (at the \"sim>\" prompt\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" - "+set nolog disables any currently active logging\n" + "+SET NOLOG disables any currently active logging\n" "4Switches\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" #define HLP_SET_DEBUG "*Commands SET Debug" /***************** 80 character line width template *************************/ "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" - "+set nodebug disables any currently active debug output\n" + "+SET NODEBUG disables any currently active debug output\n" "4Switches\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" @@ -1173,90 +1173,111 @@ static const char simh_help[] = " EBCDIC characters.\n" #define HLP_SET_BREAK "*Commands SET Breakpoints" "3Breakpoints\n" - "+set break set breakpoints\n" - "+set nobreak clear breakpoints\n" + "+SET BREAK set breakpoints\n" + "+SET NOBREAK clear breakpoints\n" /***************** 80 character line width template *************************/ #define HLP_SET_THROTTLE "*Commands SET Throttle" "3Throttle\n" - "+set throttle {x{M|K|%%}}|{x/t}\n" - "++++++++ set simulation rate\n" - "+set nothrottle set simulation rate to maximum\n" + " Simulator instruction execution rate can be controlled by specifying\n" + " one of the following throttle commands:\n\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" "3Clock\n" #if defined (SIM_ASYNCH_CLOCKS) - "+set clock asynch enable asynchronous clocks\n" - "+set clock noasynch disable asynchronous clocks\n" + "+SET CLOCK asynch enable asynchronous clocks\n" + "+SET CLOCK noasynch disable asynchronous clocks\n" #endif - "+set clock nocatchup disable catchup clock ticks\n" - "+set clock catchup enable catchup clock ticks\n" - "+set clock calib=n%% specify idle calibration skip %%\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" + "+SET CLOCK nocatchup disable catchup clock ticks\n" + "+SET CLOCK catchup enable catchup clock ticks\n" + "+SET CLOCK calib=n%% specify idle calibration skip %%\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" " execution starts with a BOOT, NEXT or CONTINUE command.\n" #define HLP_SET_ASYNCH "*Commands SET Asynch" "3Asynch\n" - "+set asynch enable asynchronous I/O\n" - "+set noasynch disable asynchronous I/O\n" + "+SET ASYNCH enable asynchronous I/O\n" + "+SET NOASYNCH disable asynchronous I/O\n" #define HLP_SET_ENVIRON "*Commands SET Environment" "3Environment\n" "4Explicitily Changing A Variable\n" - "+set environment name=val set environment variable\n" - "+set environment name clear environment variable\n" + "+SET ENVIRONMENT name=val set environment variable\n" + "+SET ENVIRONMENT name clear environment variable\n" "4Gathering Input From A User\n" " Input from a user can be obtained by:\n\n" - "+set environment -p \"Prompt String\" name=default\n\n" - " The -p switch indicates that the user should be prompted\n" + "+set environment -P \"Prompt String\" name=default\n\n" + " The -P switch indicates that the user should be prompted\n" " with the indicated prompt string and the input provided\n" " will be saved in the environment variable 'name'. If no\n" " input is provided, the value specified as 'default' will be\n" " used.\n" #define HLP_SET_ON "*Commands SET Command_Status_Trap_Dispatching" "3Command Status Trap Dispatching\n" - "+set on enables error checking after command\n" + "+SET ON enables error checking after command\n" "++++++++ execution\n" - "+set noon disables error checking after command\n" + "+SET NOON disables error checking after command\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" - "+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" #define HLP_SET_VERIFY "*Commands SET Command_Execution_Display" #define HLP_SET_VERIFY "*Commands SET Command_Execution_Display" "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" - "+set verbose re-enables display of command file\n" + "+SET VERBOSE re-enables display of command file\n" "++++++++ processed commands\n" - "+set noverify disables display of command file processed\n" + "+SET NOVERIFY disables display of command file processed\n" "++++++++ commands\n" - "+set noverbose disables display of command file processed\n" + "+SET NOVERBOSE disables display of command file processed\n" "++++++++ commands\n" #define HLP_SET_MESSAGE "*Commands SET Command_Error_Status_Display" "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" - "+set nomessage disables display of command file error\n" + "+SET NOMESSAGE disables display of command file error\n" "++++++++ messages\n" #define HLP_SET_QUIET "*Commands SET Command_Output_Display" "3Command Output Display\n" - "+set quiet disables suppression of some output and\n" + "+SET QUIET disables suppression of some output and\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" #define HLP_SET_PROMPT "*Commands SET Command_Prompt" "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" - "+set OCT|DEC|HEX|BIN set device display radix\n" - "+set ENABLED enable device\n" - "+set DISABLED disable device\n" - "+set DEBUG{=arg} set device debug flags\n" - "+set NODEBUG={arg} clear device debug flags\n" - "+set arg{,arg...} set device parameters (see show modifiers)\n" - "+set ENABLED enable unit\n" - "+set DISABLED disable unit\n" - "+set arg{,arg...} set unit parameters (see show modifiers)\n" - "+help set displays the device specific set commands\n" + "+SET OCT|DEC|HEX|BIN set device display radix\n" + "+SET ENABLED enable device\n" + "+SET DISABLED disable device\n" + "+SET DEBUG{=arg} set device debug flags\n" + "+SET NODEBUG={arg} clear device debug flags\n" + "+SET arg{,arg...} set device parameters (see show modifiers)\n" + "+SET ENABLED enable unit\n" + "+SET DISABLED disable unit\n" + "+SET arg{,arg...} set unit parameters (see show modifiers)\n" + "+HELP SET displays the device specific set commands\n" "++++++++ available\n" /***************** 80 character line width template *************************/ #define HLP_SHOW "*Commands SHOW"