Commit graph

833 commits

Author SHA1 Message Date
Mark Pizzolato
5a9cd144d3 SCP: Save global switches before dispatching to DEVICE reset routines 2020-09-15 04:44:22 -07:00
Mark Pizzolato
60e5484541 SCP: Allow flexible switch presence on TESTLIB commands 2020-08-22 18:35:30 -07:00
Mark Pizzolato
76bf686648 SCP: Restore -D option for TESTLIB command
Adding the automatic detach_all ended up always clearing the switches.
2020-08-21 12:31:30 -07:00
Mark Pizzolato
407696ccc3 SCP: Allow overlapping input and result string while parsing glyphs 2020-08-21 12:09:17 -07:00
Mark Pizzolato
b9b8a496d6 SCP: Properly process program -T switch to invoke all library tests 2020-08-21 12:06:11 -07:00
Mark Pizzolato
dca1c45e80 SCP: Assure that library unit tests are run under reasonable conditions. 2020-08-16 06:40:49 -07:00
Larry Baker
4041894b67 TAPE: Fix potential crash in library unit tests
Improper declaration of state variables referenced in setjmp/longjmp.
2020-08-15 16:21:02 -07:00
Mark Pizzolato
961e1b0513 SCP: Move GET_SWITCHES and GET_RADIX macros from scp.c to scp.h 2020-08-11 07:27:51 -07:00
Mark Pizzolato
892f7d5636 SCP: Avoid additional potential buffer overflow formatting debug repeat count
As reported in #915
2020-07-16 14:46:15 -07:00
Mark Pizzolato
a6198d8fad SCP: Avoid potential buffer overflow when formatting debug repeat count
As reported in #915
2020-07-15 20:15:21 -07:00
Mark Pizzolato
166852935d SCP: Fix corner case formatting for long device name support 2020-07-08 12:48:11 -07:00
Mark Pizzolato
9711fc017b SCP: Silence potential compiler warning 2020-06-27 18:52:25 -07:00
Mark Pizzolato
fe4a2a28b6 SCP: Support output formatting when long DEVICE names are defined
As discussed in #901
2020-06-26 22:49:30 -07:00
Mark Pizzolato
1764e9fd08 SCP: Rework REGister Sanity Checks to reject 0 bit wide register definitions 2020-06-22 16:37:02 -07:00
Mark Pizzolato
09ae6da2cc SCP: Accommodate negative sim_interval while processing event queue
As discussed in #886
2020-06-15 02:29:05 -07:00
Mark Pizzolato
3e5bd84523 makefile, Visual Studio build: Report uncommitted changes in commit-id 2020-06-08 14:16:49 -07:00
Mark Pizzolato
65778c7664 REMOTE_CONSOLE: Make STEP behavior consistent in master mode
As discussed in #866
2020-06-06 08:40:49 -07:00
Mark Pizzolato
f519513f50 SCP, HP2100, HP3000, I650: Move one time initialization activities to cpu_reset
The paradigm of using a "weak" linker reference to find what was
previously the vm_init_routine() doesn't work reliably on all compile
environments supported by the simulators.  This has been reported
in #794 and it came up again in #862.  This change assures that
it will not come up again AND it reliably solves the problem with
Visual Studio compilers (and linker) that randomly chooses whether
to have the desired effect or not.

Of the 82 simulators which are currently part of simh, only these
three used the sim_vm_init() interface, so removing it had relatively
minor impact.
2020-05-26 06:25:01 -07:00
Mark Pizzolato
5b793198c6 SCP: Flush stdout after writing command prompt
Possibly address problem discussed in #861
2020-05-24 16:11:01 -07:00
Mark Pizzolato
5ec4b3f2f4 SCP: Fix remote console command table ordering to have STEP near the beginning
This allowed user entered S to match the SAMPLEOUT command instead
of STEP.  That then identified a bug in the intended socket output
processing to attempt to be written to the undefined debug file.

As discussed in #854
2020-05-22 10:12:11 -07:00
Mark Pizzolato
ca51776ec7 SCP: Enable global message suppression by library code
The global variable sim_show_message as 0 will suppress message
output which may be needed from time to time by library code.
2020-05-22 10:11:40 -07:00
Mark Pizzolato
6fdd917ee8 SCP: Properly handle MTAB entries with MTAB_QUOTE values 2020-05-18 16:41:21 -07:00
Mark Pizzolato
275cc417fe SCP: Add HELP info about debugging DO processing and expression evaluation
- Removed incorrect addition of SCP related DEBUG flags to the CPU
  DEVICE debug options.
2020-05-15 05:14:50 -07:00
Mark Pizzolato
345b87034a SCP: Document -Q for DELETE/RM command and suppress "file not found" with -Q 2020-05-13 05:48:04 -07:00
Mark Pizzolato
20aa661c43 SCP: Parse switches on file operation commands
DELETE, DIR, MKDIR, TYPE, COPY, etc.

This allows -Q to suppress output if desired.
2020-05-12 08:25:10 -07:00
Mark Pizzolato
8edb55ac87 SCP: During expression evaluation, make lookups (REG, Env) consistent
Both REGister and Environment Variable name lookup now do a precise
name lookup with the presented name followed by an upcased name
lookup.
2020-05-12 03:57:22 -07:00
Mark Pizzolato
c3fef9befc SCP: Fix expression evaluation of empty string to numeric value
Previously, numeric values incorrectly had a string representation of
"".  This allowed arbitrary equality comparisons to succeed in unexpected
ways.

Reported by Robert Sancho Villas
2020-05-11 16:23:26 -07:00
Mark Pizzolato
781c73fe21 SCP: Fix != comparison in memory search compare logic (Roberto Sancho Villa) 2020-05-11 06:53:27 -07:00
Mark Pizzolato
df63d4ff9f SCP: Reject undefined device with TESTLIB command
Also remove some otherwise unused variables (assignments but never used).
2020-05-05 12:57:43 -07:00
Mark Pizzolato
7082e212ea DISK: Avoid autosizing if file system can't be determined
Add DISKINFO command to display information about a disk container file.
2020-04-29 13:21:12 -07:00
Mark Pizzolato
b561de671b SCP: Cleanup C++ compile of changed help string management 2020-04-21 21:43:41 -07:00
Mark Pizzolato
2b68660876 SCP: Add a TESTLIB command to invoke sim_* library test on devices
- Previously invoking a simulator with -T was the only way to invoke the
  library tests for ALL devices.  That still works now with the additional
  flexibility to invoke a specific device's test from the sim> prompt.
- Adding TESTLIB help text encountered a maximum constant string length
  limit in the C compiler.  Reworked to allow multiple strings which are then
  concatenated on the first HELP command invocation.
2020-04-17 17:22:43 -07:00
Mark Pizzolato
35780cf5e2 SCP: Enhance SCP library testing to report and stop on errors 2020-04-11 13:03:00 -07:00
Mark Pizzolato
049ba32505 DISK: Add robust disk container validation 2020-04-11 13:01:48 -07:00
Mark Pizzolato
d0de8b807f SCP: Add missing new entry in the scp_errors array 2020-04-04 09:13:22 -07:00
Mark Pizzolato
b168114f61 SCP: Remove duplicate time message in SHOW VERSION output 2020-04-03 13:12:39 -07:00
Mark Pizzolato
3d2394a2fb SOCK: Add tmxr (and socket) library tests 2020-03-31 09:07:39 -07:00
Mark Pizzolato
261abfc35f SCP: Fix missing string from format in help output 2020-03-26 15:26:35 -07:00
Mark Pizzolato
083080e71d SCP: Add SET <dev|unit> APPEND|EOF to position to EOF
Sequential devices (LPT, PTR , PTP, etc.) can be positioned to EOF.
Readable devices will encounter EOF on the next I/O operation.
Writable devices will append.  Either APPEND or EOF produce
the same result independent of whether the device is opened for
oread or write.
2020-03-26 09:58:24 -07:00
Mark Pizzolato
7d1a81b9f9 SCP: Add GOTO :EOF as a means of returning from a DO command 2020-03-25 14:41:03 -07:00
Mark Pizzolato
03466a6806 SCP: Tolerate commas in decimal numbers during expression evaluation 2020-03-22 18:55:14 -07:00
Mark Pizzolato
ee317e0cb4 SCP: Adjust RUNLIMIT time values on slow host systems
As reported and discussed in #819
2020-03-21 21:30:58 -07:00
Mark Pizzolato
09896679bb SCP: Add SHOW DO to display the DO file nesting state 2020-03-09 23:38:48 -07:00
Mark Pizzolato
036e3bb933 SCP: Fix Coverity generated warnings 2020-03-08 18:44:33 -07:00
Mark Pizzolato
0170b7c6ab SCP: Convert more SHOW and debug output to use sim_vm_interval_units 2020-03-08 11:43:30 -07:00
Mark Pizzolato
b2272c8cd6 SCP: Add ability to "DO <stdin>"
This allows a running script to nest a procedure call get input from
stdin and return to the running script (or executing simulator).
2020-03-08 09:52:41 -07:00
Mark Pizzolato
4b45b04c29 SCP: Enable Runtime REGister entry validation and checking during build 2020-03-07 20:17:36 -08:00
Mark Pizzolato
7015ad395c SCP: sim_timer_init must only run early, and potential NULL dereference 2020-03-07 19:54:25 -08:00
Mark Pizzolato
938aa58f3a SCP: Provide ways for VM to specify sim_interval adjustment and step units
This affects the output of some SCP commands (including help).  The
results are cosmetic, but allows the simulator to provide correct descriptive
information.
2020-03-07 10:13:18 -08:00
Mark Pizzolato
b76fd3ed44 SCP: Preparing for dynamic testing of simulator REGister definitions at startup 2020-03-06 15:28:52 -08:00