Commit graph

3875 commits

Author SHA1 Message Date
Mark Pizzolato
f3f0d074e0 Compiler suggested cleanups 2014-10-27 17:15:31 -07:00
Mark Pizzolato
c548b34772 Compiler suggested cleanups. 2014-10-27 17:14:28 -07:00
Mark Pizzolato
c638492048 VAX QVSS: Increase LK keyboard mode map to avoid a potential out of bounds array reference 2014-10-27 04:40:41 -07:00
Mark Pizzolato
2e1167d4a0 Compiler suggested cleanups - mostly const fixups 2014-10-26 17:06:24 -07:00
Mark Pizzolato
5c45aec68f SCP: Cleanup minor remote console behaviors (stutter prompt and broken single mode command) 2014-10-26 15:55:36 -07:00
Mark Pizzolato
611a7e94f0 SCP: Added a Remote Console Master Mode.
This capability will allow a GDB RSB stub to be created to support dynamic debugging of code running in a simulator.

This capability will also allow a complete front panel emulation system to operate a simulator.

This capability is engaged in a simulator by:
     sim> set remote telnet=remoteconsoleport#
     sim> set console telnet=consoleport#
     sim> set remote master

Master mode will provide a TCP session which accepts SCP commands that allow full control of the simulator.
2014-10-26 15:15:31 -07:00
Mark Pizzolato
4dbac410da SCP: Added const declarations to various APIs to reflect the appropriate usage. Moved parameter values for run_cmd and exdep_cmd to scp.h 2014-10-26 14:52:22 -07:00
Mark Emmer
f6e750471a SCP: Fix SEND <dev>:line when after=nn and delay=nn not specified
For a command like:  SEND MUX:0 "abc"
in which a device is specified but there are no after=nn and delay=nn parameters, the code neglected to update cptr, resulting in an illegal argument error condition.
2014-10-26 13:42:49 -06:00
Mark Pizzolato
b4fb149b8d SCP: Fix help text for expect command. 2014-10-25 15:21:55 -07:00
Mark Pizzolato
e8358703be SCP: Fix NOEXPECT to actually delete a single indicated expect rule. Allow expect actions to be provided. Fix match buffer management when expect regular expressions are in use. 2014-10-25 11:14:36 -07:00
Mark Pizzolato
995ab8f1e2 More General cleanup migrate to using sim_printf vs separate calls to printf and fprintf(sim_log). 2014-10-24 14:37:37 -07:00
Peter Schorn
ebf53c9cda Replaced printf with sim_printf. 2014-10-24 23:10:54 +02:00
Mark Emmer
e48cb518e8 SDS: Correct ill-formed statement
VMS compiler objected to variable ch being modified in two places in the same statement. Expand into full if statement instead.
2014-10-23 21:43:55 -05:00
Mark Pizzolato
ebf4e0cb64 SCP: Add support for legacy form of console expect and send string commands (from Dave Bryan) 2014-10-23 05:58:43 -07:00
Mark Pizzolato
3256c10c77 General cleanup migrate to using sim_printf vs separate calls to printf and fprintf(sim_log). 2014-10-22 17:12:14 -07:00
Mark Pizzolato
593a5950d1 SCP: Cleaned up the Remote Console Help output 2014-10-22 13:39:33 -07:00
Mark Pizzolato
bff7521c56 SCP: Migrate more output written to sim_log to use sim_printf. 2014-10-22 13:25:42 -07:00
Mark Pizzolato
6c5a700191 SCP: Added numeric value comparisons to IF and ASSERT compares.
Compare operations will do a literal compare of basic string values unless the all of each string contains numeric data.  If numeric data is there then a numeric comparison will be made.  For example:

	If "+1" == "1" echo equal

will display equal, while the simple string comparison will be not-equal.
2014-10-22 11:54:08 -07:00
Mark Pizzolato
1f9d21ad2e SCP: Added IF command and string comparision behaviors to the ASSERT and IF command operations. 2014-10-22 11:28:28 -07:00
Mark Pizzolato
916bab3c2a SCP: Cleaned up help for EXPECT and SEND commands. Added optional case insensitive match option to regular expression EXPECT rules. 2014-10-22 11:27:38 -07:00
Mark Pizzolato
1413e762a4 VisualStudioProjects: Revised build dependency checking logic to check for the updated SDL 2.0.3 version in the windows-build components. 2014-10-20 17:01:07 -07:00
Mark Pizzolato
5a4bbbad8d SCP: Extended EXPECT and SEND to have more flexible activation delays
- EXPECT will now tolerate a HALTAFTER=n parameter which delay the simulator stopping execution for n instructions.  Unpredictable behavior will happen if multiple EXPECT conditions see matching data before the first actualy halt occurs.
- SEND has an AFTER=n argument which delays the initial stuffed data from being input for at least n instructions.  It also has a DELAY=m argument which specifies the minimum number of instructions which must execute between stuffed input data.
- Changed run_cmd() to no longer clear pending breakpoint actions before starting instruction execution.
- Added a -Q switch to the commands which dispatch through run_cmd() (RUN, STEP, NEXT, GO, BOOT, etc.).  This switch will suppress status output when execution stops.  This will allow sequences of breakpoint action commands to silently execute when needed.
2014-10-20 16:47:33 -07:00
Mark Pizzolato
7bb57ca979 MicroVAX2, MicroVAX1: Updated build configuration to link against the newly updated SDL 2.0.3 code in the windows-build package. Fixes issue #93 2014-10-20 16:36:24 -07:00
Mark Pizzolato
5af6210ed9 SCP: Add RegEx support to EXPECT string processing 2014-10-20 04:42:25 -07:00
Mark Pizzolato
ddc29fb2c9 SCP: Added debugging support for EXPECT and SEND activities. Fixed SEND buffer queuing bug. 2014-10-17 11:34:06 -07:00
Mark Pizzolato
02e90de6a4 SCP: Added EXPECT and SEND commands to react to data from and inject data into the simulated console port (and other MUX ports)
Ideas based on Dave Bryan's console halt efforts.

	sim> SEND {<mux>:line} {DELAY=n,}"string"

Where <mux> is the name of the device pointed to by the TMXR structure.  If <mux>:line isn't specified, then the console device is implicitly being referenced.
Delay is optional and once set persists for subsequent SEND operations to the same device.  Delay defaults to 1000.  The DELAY value is a minimum number of instructions which must execute before the next character in the provided string will be injected to the console port.  The DELAY value has effect between the characters delivered as well.  "string" requires quotes and within the quoted string, common C escape character syntax is available (\r\r\t, etc.).

Each device (console, and each line in each mux) has a separate value for DELAY.

An arbitrary number of 'expect' conditions can be defined.  The command syntax is:

              sim> EXPECT {<mux>:line} {[cnt]} "matchstring" {actioncommand {; actioncommand ...}}

Where <mux> is the name of the device pointed to by the TMXR structure.  If <mux>:line isn't specified, then the console device is implicitly being referenced.
"matchstring" requires quotes and within the quoted string, common C escape character syntax is available (\r\r\t, etc.).  The quotes used can be single or double quotes, but the closing quote must match the opening quote.  The match string might be extended to allow the use of perl style regular expressions in the "matchstring" when a -R switch is specified on the command line.

              sim> EXPECT "Enter Color: "  SEND "Red\r"; g

A specific 'expect' condition can be removed with:

              sim> NOEXPECT {<mux>:line} "matchstring"

All 'expect' conditions can be removed with:

              sim> NOEXPECT {<mux>:line}

'expect' conditions can be examined with:

              sim> SHOW EXPECT {<mux>:line}

Expect rules are one-shots (i.e. they disappear once a match has occurred) unless they are explicitly described as persistent with the -P switch.
The -C switch is available when defining expect rules.  The effect of a rule defined with the -C flag is that when an expect match occurs for that rule, ALL rules are cleared for that device (console or <mux>:line).
2014-10-14 10:49:24 -07:00
Mark Pizzolato
d0865d37f5 SCP: Fix recently revised breakpoint setup to behave properly breakpoint action is NULL 2014-10-11 04:19:15 -07:00
Mark Pizzolato
3951ad2432 Cleanup of unneeded global extern declarations 2014-10-10 08:18:15 -07:00
Mark Pizzolato
0b1050853e SCP: Allow for the potential of a breakpoint action to remove the establishing breakpoint while still completing pending actions 2014-10-10 08:03:22 -07:00
Mark Pizzolato
9c5df04de4 PDP11, VAX: Make sure to initialize amount of data processed for incoming packets which get read into multiple buffer descriptors 2014-10-09 11:15:11 -07:00
Mark Pizzolato
004fe0de62 VisualStudioProjects: Added better detection and reporting of windows-build dependency issues. 2014-10-08 06:48:52 -07:00
Mark Pizzolato
501c5ac69d VisualStudioProjects: Cleaned up and made consistent project settings. 2014-10-05 16:06:19 -07:00
Mark Pizzolato
c317f685a1 VisualStudioProjects: Suppress warnings generated in remaining projects after conversion of projects to Visual Studio 2013. 2014-10-05 07:02:43 -07:00
Mark Pizzolato
ab7befb4da SCP: Fix SET TELNET command to process all arguments on a command line. 2014-10-05 06:50:48 -07:00
Mark Pizzolato
8cb4262352 VisualStudioProjects: Suppress Winsock deprecation warnings which is needed after conversion of projects to Visual Studio 2013. 2014-10-05 06:49:54 -07:00
Mark Pizzolato
01c725fcdf ETHER: Avoid compiling internal support routines for simulators which don't have ethernet devices 2014-10-04 12:44:05 -07:00
Mark Pizzolato
7c1f909752 PDQ-3: Compiler suggested warning cleanup (gcc & Visual C++) from Holger Veit 2014-10-04 12:37:45 -07:00
Mark Pizzolato
5b288b0d98 PDP11, VAX: Enhance help SET RQn FORMAT description 2014-09-29 03:08:59 -07:00
Mark Pizzolato
a262852ef1 Merge remote-tracking branch 'psco/master' 2014-09-22 04:18:11 -07:00
Mark Pizzolato
9b02e16ce4 ETHER: Remove support for statically linking libpcap on Linux and OS X platforms 2014-09-21 16:31:49 -07:00
Mark Pizzolato
56236ac5f0 RTVAX1000: Finish making sure that a rtvax1000 can't have any part of a VCB01 (found by Dan Gahlinger) 2014-09-21 07:49:52 -07:00
Peter Schorn
977712b9c5 AltairZ80: More debug information available when using IMD disks 2014-09-21 09:42:26 +02:00
Mark Pizzolato
0b89e63d41 RTVAX1000: Make sure that rtvax1000 doesn't contain any parts of the VCB01 board which was never supported.
This fix makes sure that builds are clean when SDLlib is available at compile time for this system.
2014-09-20 18:50:39 -07:00
Mark Pizzolato
7154ca1fe1 WINDOWS_BUILD: Fixed race condition which can occur during a parallel build creating the .git-commit-id.h file
Also, make a best effort attempt to populate the .git-commit-id file when installing the git-hooks on a newly cloned repository
2014-09-19 10:46:15 -07:00
Mark Pizzolato
9bfc87f2dc Compiler suggest cleanup. 2014-09-18 03:29:58 -07:00
Mark Pizzolato
e2524e7feb Beta Simulators (PDQ-3 and SAGE) from Holger Veit 2014-09-17 17:31:40 -07:00
Mark Pizzolato
7087f1e1c6 Compiler suggested cleanup 2014-09-17 17:10:13 -07:00
Mark Pizzolato
437f86fb4a FIO: Removed sim_set_fsizeo since it is not currently used and it can't be compiled under MinGW 2014-09-17 14:17:34 -07:00
Mark Pizzolato
f355749eb5 SCP: Provide a way to display an arbitrary buffer contents as hex in debug output 2014-09-17 09:08:12 -07:00
Mark Pizzolato
defe5f07d9 AltairZ80: Promote sim_imd.c to a top level simh library to be used as needed by various simulators 2014-09-16 11:29:19 -07:00