Commit graph

842 commits

Author SHA1 Message Date
Mark Pizzolato
371e5fe5cc SCP: Remove duplicate SET CONSOLE SPEED help text.
Fix #618
2018-09-13 08:20:22 -07:00
Mark Pizzolato
8bd73b3243 SCP: Fix ELSE command implementation
Reject nested IF & ELSE commands.
2018-08-29 20:39:05 -07:00
Mark Pizzolato
0daa80e03d SCP: Add support for library unit test routines 2018-08-26 18:15:30 -07:00
Mark Pizzolato
b2ff00ab87 SCP: Make debug duplicate message reduction properly the default behavior 2018-08-24 10:08:59 -07:00
Mark Pizzolato
c0f79d8812 SCP: Fix Xcode static analysis identified issues (Peter Schorn) 2018-08-12 03:16:44 -07:00
Mark Pizzolato
6070692581 SCP: Add unit to AIO_VALIDATE context message 2018-08-08 11:51:54 -07:00
Mark Pizzolato
482b6f1be4 SCP: Add ELSE command extension to the IF command processing. 2018-08-06 18:22:46 -07:00
Mark Pizzolato
a62789a505 SCP: Make repeated debug message summarization the default
The -F debug switch can now be used to avoid the repetitive message
summarization.  This will trade off debug log file size vs CPU cost to
summarize the output.
2018-08-06 07:37:04 -07:00
Mark Pizzolato
a8d4fe8846 SCP: Fix potential NULL pointer dereference - Coverity 2018-08-04 08:28:12 -07:00
Mark Pizzolato
b18fa8c045 SCP: Prepare for new sim_card interfaces 2018-07-29 19:51:09 -07:00
Mark Pizzolato
7a08f2368e SCP: Add debug duplicate line output summary support 2018-07-27 13:56:18 -07:00
Mark Pizzolato
9cc726790e SCP: Avoid "Unexpected internal error" for expected conditions 2018-07-27 08:39:23 -07:00
Mark Pizzolato
15fd71b97c SCP: Fix Coverity identified issues 2018-07-17 22:05:05 -07:00
Mark Pizzolato
65e931c1ff SCP: Provide context for unexpected event processing errors 2018-07-17 08:48:11 -07:00
Mark Pizzolato
97bee79faa TIMER: Fix overflow error in sim_idle_ms_sleep() timespec tv_nsec field
Backed out commit 484889ea5a since the overflow of the timespec tv_nsec
field was the real cause of the problem.  No need for an extra mutex.

As reported in #595
2018-07-15 10:11:14 -07:00
Mark Pizzolato
5d7dc4d676 SCP: Fix uninitialized variable reference 2018-07-15 07:18:59 -07:00
Mark Pizzolato
82ea9c59ca SCP: Add substring and string substitution to environment variable expansion 2018-07-14 18:29:26 -07:00
Mark Pizzolato
2c55ad0cfa SCP: Let sim_messagef() be well behaved when stat is SCPE_OK 2018-07-13 18:05:30 -07:00
Mark Pizzolato
484889ea5a TIMER: Changed sim_idle_ms_sleep() to use a mutex which is unique to idling
It seems that the prior use of sim_asynch_lock RECURSIVE mutex could
cause a pthread_cond_timedwait() failure with EINVAL returned.
As discussed in #595
2018-07-11 11:59:05 -07:00
Mark Pizzolato
d593cdb98b SCP: Add prompt prior to fatal exit allowing error messages reading
As discussed in #594
2018-07-08 14:55:55 -07:00
Mark Pizzolato
58ccb38d7b SCP: Add ability to ECHOF output to TMXR lines 2018-07-06 17:57:05 -07:00
Mark Pizzolato
d3da865e9b TMXR: Fix MUX transmit scheduling when buffer is empty
Also:
- Enhance SHOW MUX to support "SHOW MUX <dev>"
- Fix potential null pointer dereference with unusual ATTACH combinations
- Allow BPS factor to change without specifying an explicit speed.
2018-06-23 11:30:02 -07:00
Mark Pizzolato
c9dae318df SCP: Avoid need for TMXR devices to have dummy DEVICE examine and deposit values 2018-06-19 23:58:22 -07:00
Mark Pizzolato
3b8442ce71 SCP: Set UNIT_IDLE in the step unit so idline can happen during "STEP -t nnn" 2018-06-19 23:41:09 -07:00
Mark Pizzolato
6b7798781d TIMER: Allow recording of elapsed time when asynch events arrive while idling
As discussed in #578
2018-06-14 12:40:22 -07:00
Mark Pizzolato
d39864669a SCP: Fix potential null pointer dereference in debug expression 2018-06-14 01:36:05 -07:00
Mark Pizzolato
3973963b0c SCP: Make expression evaluation consistent 2018-06-13 00:36:22 -07:00
Mark Pizzolato
f89a65ff2f SCP: Revert pre-insertion of %n to be done during normal expansion. 2018-06-12 02:03:07 -07:00
Mark Pizzolato
2203608f4a SCP: Fix adjacent insertion of %n DO command arguments 2018-06-11 17:06:20 -07:00
Mark Pizzolato
2b112b0e13 SCP: Allow single digit argument insertion for DO command arguments 2018-06-11 14:51:27 -07:00
Mark Pizzolato
ed2abaa2d8 SCP: Enhance debug output while tracking event and timer activity 2018-06-11 03:13:29 -07:00
Mark Pizzolato
4fff142444 SCP: Fix EXPECT bookkeeping to avoid reference after free error 2018-06-11 02:35:07 -07:00
Mark Pizzolato
5700b1f477 SCP: Properly handle literal strings in expression string comparisons 2018-06-09 08:16:39 -07:00
Mark Pizzolato
5ca02d3f98 SCP: Add missing case independent string compare in expressions 2018-06-09 06:20:32 -07:00
Mark Pizzolato
15cd4d35ac SCP: Enhance command procedure processing and add debugging support
- push new action commands ahead of any previously unprocessed pending
   action commands.
- Add ACTION and DO debug to CPU (SCP) command processing support
- Insert %n command arguments before storing command line for potential
   deferred processing of action parameters to some commands (IF, BREAK,
   EXPECT, etc.)
2018-06-08 18:09:10 -07:00
Mark Pizzolato
9e18e0bb8d SCP: Cleanup expression evaluation logic errors
- Conversion to postfix ends up with operator ordering in different from the
   initial assumption resulting all relative compares being wrong.
- Parsing of Hex, Binary and Octal numeric tokens need to properly terminate
- Environment variable names can start with the _ character
2018-06-07 17:34:35 -07:00
Mark Pizzolato
06654d1ff5 TMXR: Make sure all MUX devices can leverage all debug selectors 2018-06-07 16:39:26 -07:00
Mark Pizzolato
ce5c3f0ff5 SCP: Allow symbols (environment variables) to describe contain addresses
This allows:
   sim> SET ENV X=80004324
   sim> EXAMINE X
   80004324: xxxxxxxxxx
   sim> DEPOSIT X nnnnn
2018-06-05 22:24:46 -07:00
Mark Pizzolato
b40e586ef3 SCP: Assure that action commands (IF/ASSERT,BREAK, ON, etc.) are trimmed 2018-05-31 15:30:19 -07:00
Mark Pizzolato
6e35bee5c5 SCP: Fixed Coverity identified issues 2018-05-28 01:56:14 -07:00
Mark Pizzolato
b1318f5c37 SCP: Always clear uptr->fileref on detach 2018-05-26 12:37:26 -07:00
Mark Pizzolato
874f60cbaa SCP: Fix potentially uninitialized variable reference 2018-05-25 10:21:35 -07:00
Mark Pizzolato
5f2c7b2a48 SCP: Defer substitution for IF/ASSERT command action commands 2018-05-24 13:31:07 -07:00
Mark Pizzolato
c294787aed SCP: Fix expression evaluation divide by zero, and avoid parameter substitution
This allows bare the % character to to properly be the moduls operator and
avoids potential ambiguous variable insertions.
2018-05-24 12:59:23 -07:00
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