Commit graph

1603 commits

Author SHA1 Message Date
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
Mark Pizzolato
60a0cf7468 AltairZ80: Reworked the conditional compile time debug code to use the runtime sim_debug() APIs. 2014-09-16 11:07:15 -07:00
Mark Pizzolato
1e0b83ca10 SCP: Avoid building sim_video code when it isn't used by a simulator.
This results in smaller simulator binaries.
2014-09-16 11:05:31 -07:00
Mark Pizzolato
bc3582c194 SCP: Added sim_set_fsize and sim_set_fsizeo to sim_fio to support specific expanding or truncation of files. 2014-09-16 09:20:02 -07:00
Mark Pizzolato
b8dc8f01b5 SCP: Fix to have sim_printf expand newlines to CRLF when writing to stdout with the simulator running. Allow sim_debug to be called with a NULL device pointer and return producing no output. 2014-09-16 09:18:57 -07:00
Peter Schorn
899b7a654e Improved DSK handling from Mike Douglas and bug fix in URLContens. 2014-09-09 18:27:25 +02:00
Mark Pizzolato
8b19805f04 WINDOWS_BUILD: Added the ability to cleanly start generating windows builds from a new local platform. 2014-09-06 05:30:40 -07:00
Mark Pizzolato
3e01bef859 VAX: Fix the PxBR and SBR validation tests to correctly reflect the 780 microcode patch 38 from Bob Supnik
This fix allows older Unix operating systems to once again run with the VAX 780 simulator.
2014-09-05 13:59:12 -07:00
Mark Pizzolato
d6456e506d VAX: Simplified idle detection which allows more operating systems to properly detect when they are idling.
Removed the recently added SET CPU IDLE=SYSV since any SET CPU IDLE command will work for SysV.  Existing configurations probably did a SET CPU IDLE=32V which works fine now.

Changed things based on the realization that ANY branch instruction which tests memory and then branches to itself is an idle loop if the branch is taken.  This is without regard to address space, access mode, If interrupts are disabled, then it is a hung system and the simulation should halt.
2014-09-05 11:39:41 -07:00
Mark Pizzolato
7c9e33663c WINDOWS-BUILD: Fix to properly get/generate the .git-commit-id file on a newly cloned repo 2014-09-04 14:28:31 -07:00
Mark Pizzolato
26cf38804b VAX780: Added idle support for SysVR2
A new idle mode (SYSV) is now available:

    sim> SET CPU IDLE=SYSV
2014-09-04 14:08:59 -07:00
Mark Pizzolato
0dff1076a0 VAX, PDP11: Fix VHD support to save the correct updated part of the Block Allocation Table (BAT) when new blocks are added to a VHD. 2014-09-03 13:21:38 -07:00
François Revol
b2aaec0b3e Haiku has socklen_t 2014-08-31 22:31:30 +02:00
François Revol
2b718becd2 Work around missing nice() on Haiku 2014-08-31 22:31:19 +02:00
François Revol
04ba4d8d3c MAKEFILE: Add support for building under Haiku
Find the header and library paths with findpaths.

We need -lnetwork for sockets.

We do support pthread, it's in libroot.

We do support dlopen, it's in libroot.
2014-08-31 22:26:54 +02:00
Mark Pizzolato
bfcbabcb12 VMSBUILD: Fix minor issue building the ssem simulator on VMS host platforms 2014-08-29 07:44:45 -07:00
Mark Pizzolato
3b15398cf0 WINDOWS-BUILD: Fix buildall to work on platforms which have multiple versions of Visual Studio installed
- Added checks for dependencies before execution
- Added setup and update support for local Win32-Development-Binaries repo init
- Added support for operation under both a CMD.EXE invoked from either a git bash process or a natural windows CMD.EXE
- Fixed proper operation for first build operation after the local build repo has been cloned
- Make sure the build is of the latest code in the master branch from the origin repository
2014-08-14 17:19:50 -07:00
Mark Pizzolato
a01917e88c MAKEFILE: Fix gcc availability test for more/most platforms 2014-08-03 03:38:38 -07:00
Mark Pizzolato
1458712547 MAKEFILE: Added support to attempt to use the OS provided cc if gcc isn't available or otherwise specified by GCC= on the make command line. 2014-08-02 18:53:44 -07:00
Mark Pizzolato
89ca7bda3b Fix to avoid excessive compiler optimization of MicroVAX II ROM access spinwait. Found by Cory Smelosky and Jordi Guillaumes Pons.
Used same solution as the MicroVAX 3900 ROM access logic suggested by Sergy Oboguev in April 2012.
2014-08-02 15:43:39 -07:00
Mark Pizzolato
04b3548920 Compiler suggested cleanup 2014-08-02 15:24:16 -07:00
Mark Pizzolato
3116ce5265 VAX8600: Fix for console I/O from Johnny Billquist
Writing to the TXCS register always updated the transmit enable mask, even when the "Write Mask Now" bit was not set. That bit needs to be set for the write to the register to actually update the transmit enable mask.
2014-07-23 15:28:26 -07:00
Mark Pizzolato
cad8bf1cfc Compiler suggested cleanups - Johnny Billquist 2014-07-23 13:59:51 -07:00