Commit graph

598 commits

Author SHA1 Message Date
Mark Pizzolato
0daff9026d SCP: Add TIME_MSEC predefined variable to provide time to milliseconds
- Assure that Internal variables are referencable during expression evaluation
- Add DEVNAME.REGNAME format for referencing non unique registers in
  expression evaluation.
- Extend global register search to also search known internal device list
  registers
- Allow expression variable names to have _ as a character within in the name
2018-05-24 01:46:24 -07:00
Mark Pizzolato
4734454bac SCP: Fix sim_dir_scan on Windows to return correct directory name
Also, change sim_dir_scan on all platforms to NOT return the contents
of a directory unless the filespec string asks for it.  This avoids the
potential catastrophe of a DEL command specifying a directory and
having its contents deleted.
Meanwhile, the DIR command now will list the contents of a directory
if the directory is specified with (or without) a wild card pattern.
2018-05-19 06:31:48 -07:00
Mark Pizzolato
b51d250598 SCP: Ignore trailing whitespace for all commands 2018-05-18 08:32:03 -07:00
Mark Pizzolato
cc31a50436 SCP: Allow empty SIM_BUILD_OS for compilers that don't support empty strings 2018-05-12 10:52:07 -07:00
Mark Pizzolato
cb53ddbc12 makefile: Make compile time Android Version visible in SHOW VERSION output 2018-05-10 21:55:15 -07:00
Mark Pizzolato
c0cda9ffd4 SCP: Remove leading / from sim_dir_scan file names when glob isn't available 2018-05-10 00:09:19 -07:00
Mark Pizzolato
818032fd24 SCP: Remove redundant DIR_ENTRY_CALLBACK declaration 2018-05-09 16:43:39 -07:00
Mark Pizzolato
b781834f31 SCP: Add sim_dir_scan API for general use. 2018-05-09 13:52:52 -07:00
Mark Pizzolato
6ccbfc7381 SCP: Report errno value when starting instruction execution fails 2018-05-08 02:51:17 -07:00
Mark Pizzolato
245a85d79e SCP: Fix Coverity identified memory leak in error expression evaluation path 2018-05-05 17:59:57 -07:00
Mark Pizzolato
a4b5160437 SCP: Add string comparison support to C Style expression evaluation
- Fix operator precedence interpretation
- Report expression parsing errors
2018-05-03 11:54:11 -07:00
Mark Pizzolato
96d3b5d26b SCP: Add SCP debug options to default device debug setup 2018-05-03 11:49:42 -07:00
Mark Pizzolato
130ad1c21f SCP: Fix potential error path expression evaluation memory leak (Coverity) 2018-05-01 23:07:57 -07:00
Mark Pizzolato
4e508cfc29 SCP: Add C style expression support for IF conditions and SET ENV -A
Expression evaluation code provided by Gabriel Pizzolato.
2018-05-01 22:08:06 -07:00
Mark Pizzolato
8fe02ad6d1 SCP: Updaeted HELP EVAL to provide meaningful examples. 2018-05-01 13:43:22 -07:00
Mark Pizzolato
396679a01a SCP: Add strtotsv to generally parse signed t_value data (t_svalue).
Allow for explicit Hex, Octal and Binary (0x. 0. 0b) prefix
2018-04-30 23:03:33 -07:00
Mark Pizzolato
b4ca9174fd SCP: Add formatting support for signed t_value (t_svalue).
PV_LEFTSIGN - left justified signed value
PV_RCOMMASIGN - right, space filled, Comma separated every 3 treat as signed
2018-04-30 21:35:20 -07:00
Mark Pizzolato
15e86fb4ed SCP, DISK: Fix Coverity identified debug path null pointer dereferences 2018-04-17 23:51:39 -07:00
Mark Pizzolato
adedce8556 SCP: Add quoted string argument to SET ENV otherwise trim whitespace
Previously, unexpected values might end up being set when using SET ENV
if there were trailing whitespace on the line being parsed.  Any such white
space is now explicitly trimmed before the environment variable is set.
Once we do that, we need to provide a way to deliberately set an environment
variable with trailing spaces.  This is now achieved by using a quoted string
value specified as:

    SET ENV -S var="value  "

The quotes are removed prior to setting the environment variable value.
The contents of the quoted string are parsed the same as EXPECT and SEND
arguments.
2018-04-16 13:52:54 -07:00
Mark Pizzolato
da31dfa7a9 SCP: Extend EXAMINE <dev> STATE to display elements of arrayed registers 2018-04-11 04:21:17 -07:00
Mark Pizzolato
114a29bc2f SCP: Add PCRE version to SHOW VERSION output 2018-04-08 17:13:54 -07:00
Mark Pizzolato
28e4311039 SCP: Extended debugging to allow for unit specific debug for disk and tape 2018-04-07 21:38:26 -07:00
Mark Pizzolato
e7090e784e SCP: Add support to compare file contents with IF -F "file1" == "file2" 2018-03-31 23:50:37 -07:00
Mark Pizzolato
0b209d2383 SCP: Allow UNIT_RO flag bit to be static when UNIT_ROABLE isn't present. 2018-03-25 18:09:07 -07:00
Mark Pizzolato
d0004b20aa SCP: Compiler const warning cleanup 2018-03-20 13:01:18 -07:00
Mark Pizzolato
2051422ee2 SCP: Remove redundant public SCP API declarations 2018-03-19 11:11:55 -07:00
Mark Pizzolato
c8ca4161fa SCP: Add git commit time to commit id version information 2018-03-09 02:58:40 -08:00
Mark Pizzolato
4cbf4e4144 SCP: Fix IF conditional expression parsing to not require spaces around operator
As reported in #536
2018-03-08 12:12:02 -08:00
Mark Pizzolato
d81ff1f17e SCP: Expose get_sim_opt globally so that local commands can parse switches 2018-03-06 16:41:42 -08:00
Mark Pizzolato
f33ca2a1d9 SCP: Improve throttle help and cleaned up set help formatting 2018-02-12 22:34:43 -08:00
Mark Pizzolato
8464b6bb39 SCP: Properly display disk sizes for small disks when capac is in sectors 2018-02-05 09:46:38 -08:00
Mark Pizzolato
045d7dba36 SCP: ON CONTROL_C cleanup and SHOW ON support 2018-02-02 05:51:22 -08:00
Mark Pizzolato
17e72adb93 SCP: Display HELP <dev> SET help text for modifiers that require values 2018-02-02 05:12:22 -08:00
Mark Pizzolato
760e7f2810 SCP: stop_cpu and sim_is_running variables t_bool 2018-02-02 05:02:27 -08:00
Mark Pizzolato
797feeaff3 SCP: Cleanup minor compiler warning 2018-01-30 03:59:04 -08:00
Mark Pizzolato
3a81f63ec1 SCP: Add support to handle CTRL+C while executing command files 2018-01-30 03:36:15 -08:00
Mark Pizzolato
cc6ff4fa51 SCP: Allow Environment variable names in IF/ASSERT string comparisons 2018-01-30 02:42:36 -08:00
Mark Pizzolato
4907dfb0e2 SCP: Display default delay values with SHOW SEND. 2018-01-22 22:02:03 -08:00
Mark Pizzolato
2cd2f8c1d3 SCP: Use explicit filename compare when built without HAVE_GLOB & HAVE_FNMATCH 2018-01-07 16:54:39 -08:00
Mark Pizzolato
0fc41cb3bd SCP: Properly cancel very long event waits
usecs_remaining must be zero to be sure that canceling is complete.
2018-01-07 13:58:28 -08:00
Mark Pizzolato
39c5217740 SCP: Properly reset the event queue prior to run/boot
Need to call sim_cancel to remove entries from the event queue since
canceling some events may involve other components.
2018-01-07 13:56:16 -08:00
Mark Pizzolato
eea15bfe4e SCP: Add DEBUG command to allow Debug enabling/disabling via Remote Console
This exposes the functionality of SET DEBUG and SET <dev> DEBUG without using
a general SET command which the remote console facility avoids.
2018-01-07 12:47:42 -08:00
Mark Pizzolato
154320bf71 SCP: Add support for BREAK/EXPECT/UNTIL/IF action steps in remote console 2018-01-07 12:09:35 -08:00
Mark Pizzolato
80c1c9e0fd SCP: Silence Coverity warning 2018-01-05 05:53:44 -08:00
Mark Pizzolato
833927d349 SCP: Cleanup compiler warnings 2018-01-04 17:06:58 -08:00
Mark Pizzolato
fbcf72abfc SCP: Allow commands to be enclosed in quotes.
This is useful when commands containing semi-colons are used in the
action steps of BREAK, EXPECT, UNTIL, IF commands.
2018-01-04 07:12:43 -08:00
Mark Pizzolato
9086b269b2 SCP: Allow semicolons within quoted strings while parsing action strings 2018-01-04 07:06:52 -08:00
Mark Pizzolato
72d4622ddf SCP: Add ECHOF command which takes a quoted string as an argument 2018-01-04 07:06:51 -08:00
Mark Pizzolato
9b1f44f787 SCP: Remove optional write_callback in the REGister structure
The REG structure exists to serve SCP's various activities.  It is
does not exist to provide capabilities to a VM.
2017-12-09 02:54:10 -08:00
Mark Pizzolato
a4a6a1d409 SCP: Fix regression which disabled limit check when parsing unsigned integers
This affected unit and tmxr line checks when there was only one unit or line.
2017-12-05 12:23:31 -08:00