Commit graph

716 commits

Author SHA1 Message Date
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
Mark Pizzolato
146f05d1f7 SCP: Cleanup compiler warning about potential buffer truncation 2020-02-25 00:17:49 -08:00
Mark Pizzolato
254e173fc1 SCP: Add support for a simulator specific release announce message 2020-02-16 21:46:40 -08:00
Mark Pizzolato
4096a73412 SCP: Fix Coverity identified error path problem 2020-01-30 11:29:44 -08:00
Mark Pizzolato
01f93e9507 SCP: Add SHOW RUNLIMIT to examine the state/condition of any execution limit 2020-01-09 23:53:41 -08:00
Mark Pizzolato
7581b92f9d SCP: Add a RUNLIMIT command to bound simulator execution time 2020-01-08 11:49:22 -08:00
Mark Pizzolato
35252369eb SCP: Identify the build tool chain in the SHOW VERSION output 2020-01-07 20:30:18 -08:00
Mark Pizzolato
787edb211c SCP: Fix pcre remaining issues 2020-01-03 19:55:22 -08:00
Mark Pizzolato
c8f7315518 SCP: Change regular expression API from regex to pcre 2020-01-02 06:42:46 -08:00
Mark Pizzolato
b18912cda8 SCP: Silence GCC optimizer warnings about unused function results 2019-12-30 15:33:51 -08:00
Mark Pizzolato
5213e1125d SCP: Add support to identify a simulator specific release version
Included from Dave Bryan's V3.11 extensions
2019-12-28 12:34:06 -08:00
Mark Pizzolato
e611e0ceed SCP: Add global variable with the program name
Included from Dave Bryan's V3.11 extensions
2019-12-28 11:00:59 -08:00
Mark Pizzolato
098a1634e6 SCP: Allow a suffix of k or m for numeric arguments to SEND and EXPECT commands 2019-12-16 07:13:09 -08:00
Mark Pizzolato
1314f9edfa SCP: process switches in MKDIR and RMDIR commands 2019-12-15 10:52:07 -08:00
Mark Pizzolato
753d5307c4 SCP: Increase the maximum SEND and EXPECT delay values to 2000000000 2019-12-15 02:01:02 -08:00
Mark Pizzolato
25d4e5c5f2 SCP: Clarify the HELP for a NOEXPECT command. 2019-12-15 01:24:02 -08:00
Mark Pizzolato
5859a8216b SCP: Add debug details when initially queuing pending SEND input 2019-12-15 01:21:55 -08:00
Mark Pizzolato
e5f9a7dca8 SCP: Cleanup path argument to MKDIR command
Also allow making a directory that already exists to return successfully
with a message.  The message can be suppressed with the -Q switch.
2019-12-14 14:38:25 -08:00