This allows a single simulator executable to be a completely useful component (for those simulators which dynamically load ROM or other boot code).
Meanwhile, we continues to allow the explicit use of a user's preferred ROM or other boot code as well.
A build option is provided in the makefile to not build with the included ROM functionality if desired.
Note: Since NetBSD and OpenBSD are still actively developed operating systems, new versions of
these OSes are moving targets with regard to providing idle detection. At this time, recent versions
of OpenBSD have veered from the traditional OS idle approach taken in the other BSD derived OSes.
Determining a reasonable idle detection pattern does not seem possible for these versions.
Fixed handling of Jumbo Packets and LSO (Large Send Offload) behaviorst to:
1) Avoid truncation of very large sends
2) handle the case where the host network stack may not populate the IP header length for a large send.
and data traffic (SET VH DEBUG[=REG;INT;XMT;RCV])
- Added SET LOG and SET NOLOG support for logging mux
traffic
- Fixed SET VH LINES=n to correctly adjust the number
of lines available to be 8, 16, 24, or 32.
- Fixed performance issue avoiding redundant polling in unit
service routine (removed 75% of polling overhead)
pdp11_dz.c: - Added debugging support to trace register, interrupt
and data traffic (SET VH DEBUG[=REG;INT;XMT;RCV])
This is being done so that it is not entangled with the rest of
the simh sources and is at the same level presumed for the Windows
pcap components presumed in the Visual Studio Projects.
The PCAP-VMS components are presumed (by this procedure) to be located
in a directory at the same level as the directory containing the
simh source files. For example, if these exist here:
[]descrip.mms
[]scp.c
etc.
Then the following should exist:
[-.PCAP-VMS]BUILD_ALL.COM
[-.PCAP-VMS.PCAP-VCI]
[-.PCAP-VMS.PCAPVCM]
etc.
Revised VMS build to include new simulators and resolve other build issues
Added AsyncIO support
Fixed support for clean operation on VAX, AXP and IA64 and various VMS versions.
Cleaned up makefile to properly detect pcap and readline and cleanly build on all supported platforms which use the makefile:
X86 (mix of 32bit & 64bit) gcc:
Linux
NetBSD
OpenBSD
FreeBSD
Solaris
OSX
Sparc(big endian) gcc:
Linux
Solaris
Very minor in all cases, but the strange case of swtp_cpu.c
This module used expressions of the form:
PC = ++PC & ADDRMASK;
Officially, the C language says that expressions which modify the same variable in more than one place have undefined behavior.
These were changed to the legal form which performs the desired action:
PC = (PC + 1) & ADDRMASK;