Commit graph

1315 commits

Author SHA1 Message Date
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
Mark Pizzolato
4c55f1af0c VAX: Make sure that Ultrix 1.X specific behaviors are only in effect with that OS 2014-07-17 10:04:40 -07:00
Mark Pizzolato
6d64924685 MicroVAX I: Fix to allow reboot when the initial boot didn't specify a boot device (i.e. a sniff boot) 2014-07-17 10:02:29 -07:00
Mark Pizzolato
9a0d035e78 ETHER: Fix asynch reader thread rundown in error recovery path. 2014-07-17 08:58:50 -07:00
Mark Pizzolato
4d817f1deb VAX: Added support for the DEQNA device on Ultrix 1.x. Henry Bent observed that the deqna driver in this OS counted on older DEQNA firmware which automatically enabled interrupts after a software reset.
CPU Idle detection for this OS is now supported and the combination of SET CPU IDLE=ULTRIX-1.X and explicitly using a DEQNA device (SET XQ TYPE=DEQNA) will enable the automatic enabling of device interrupt generation.
2014-07-14 12:29:53 -07:00
Mark Pizzolato
a0a7eb27b6 VAX: Allow potentially pending console output to be delivered prior to halting back to the sim> prompt 2014-07-12 16:20:43 -07:00
Mark Pizzolato
c1c5535d0b sigma: Fix shutdown/detach issue with tape devices.
Also add makefile and Visual Studio Project definitions to build the incomplete/unsupported sigma and alpha simulators.
2014-07-10 14:57:18 -07:00
Mark Pizzolato
b907790cc1 ETHER: Fix to allow proper building and operation when networking support is undesired or unavailable. #143 2014-07-10 14:53:21 -07:00
Peter Schorn
a0c978f5f7 AltairZ80: Improved Altair Minidisk support from Mike Douglas 2014-07-05 09:44:20 +02:00
Mark Pizzolato
f961a98ba9 Documentation update from Bob Supnik 2014-06-11 16:39:40 -07:00
Mark Pizzolato
d26bf25e97 Compiler suggested cleanups 2014-06-10 14:21:11 -07:00
Mark Pizzolato
fc4fb737f1 Compiler indicated cleanup - Reported by Peter Schorn 2014-06-10 13:15:47 -07:00
Mark Pizzolato
c15c0058f4 ETHER: Made LAN connections more robust under failing network conditions.
Avoid permanent network network hangs when a network transport starts to return errors for various reasons.
These hangs also result in at least one thread in a CPU bound loop attempting to read on a pcap connection which will never be useful again.

When transmit or receive errors occur, the invoking thread sleeps for 1 second and subsequent operations proceed.  When the total of read + write errors reaches a multiple of ETH_ERROR_REOPEN_THRESHOLD the current transport connection (usually pcap) is closed and re-opened after a ETH_ERROR_REOPEN_PAUSE second delay.  If the open succeeds, we're happy.  If it fails, then the link behaves as if it were never attached until some subsequent operator intervention is performed.

Activities which are known to induce this problems include (but are not limited to) when a simulator is running in a Windows Virtual Machine on a Hyper-V host system and the Hyper-V host system performs a SAVE and a subsequent Restart of the Guest Windows Virtual Machine.  This operation can occur due to specific operator requests or merely when the Hyper-V host system reboots.
2014-06-10 10:20:02 -07:00
Mark Pizzolato
e9b312f26a PDP11, VAX: Added Ethernet packet transmission throttling support to XQ and XU devices.
Migrated the XQ help to the hierarchical help model.  This is a work in progress which will eventually merge much from 0readme_ethernet.txt into the device help.
2014-06-06 15:03:31 -07:00
Mark Pizzolato
753e4dc925 PDP10, PDP11, VAX: Fix buffer leak while generating NAK messages 2014-06-03 12:09:43 -07:00
Mark Pizzolato
a6161c16b1 PDP10, PDP11, VAX: Fix out of order packet numbers after processing some NAK data. Also restart outgoing packet flow consistently if an output stall occurred. 2014-06-01 14:06:46 -07:00
Mark Pizzolato
959ebe7210 PDP10, PDP11, VAX: Fixed DMC/DMR DDCMP implementation to only send a single NAK when a data packet arrives out of order. 2014-05-31 13:26:46 -07:00
Mark Pizzolato
a8a0182f74 PDP10, PDP11, VAX: Fixed Sync Data corruption Troll to actually discard transmit packets which it thinks it wants to. 2014-05-31 13:24:49 -07:00
Mark Pizzolato
779e2437bd PDP10, PDP11, VAX: Fix DMC/DMR DDCMP implementation to not crash due to buffer exhaustion while generating NAK packets for missing packets. 2014-05-30 11:30:07 -07:00
Mark Pizzolato
963ff98da4 PDP10, PDP11, VAX780, VAX750, VAX730: Fixed DMC/DMR DDCMP implementation to be tolerant of packet corruption. 2014-05-29 15:48:00 -07:00
Mark Pizzolato
06a63e5704 PDP10, PDP11, VAX780, VAX750, VAX730: Fix DMC/DMR simulation to generate NAK messages with the correct reason for CRC errors. 2014-05-29 09:43:17 -07:00
Mark Pizzolato
d57e37a392 ETHER, PDP11, VAX: Added a built-in loopback agent which all ethernet devices can leverage to detect MAC address conflicts.
Some of this behavior was previously available in the pdp11_xq simulation for the DELQA device variants, but not the DEQNA.  This adds the behavior for all ethernet devices.

The helps to avoid MAC address conflicts since the Ethernet physical address is completely user settable, and starts with a static value.  Multiple simulators on the same LAN will have conflicting addresses if they don't specifically set unique values.
2014-05-29 09:42:02 -07:00
Peter Schorn
f8020a2c4c AltairZ80: Addressed Microsoft compiler generated warnings 2014-05-29 18:12:18 +02:00
Peter Schorn
589aca19f4 AltairZ80: Added Motorola 68000 CPU support for CP/M-68K, support for Altair mini-disk format, added descriptions for all device registers 2014-05-27 20:01:30 +02:00
Mark Pizzolato
709016c356 PDP10, PDP11, VAX: Revert effort to Avoid returning "Line Unit" test failed after DMC/DMR master clear if a line is not attached. To be addressed more thoroughly later. 2014-05-26 05:32:38 -07:00
Mark Pizzolato
340e7eb40b PDP11, VAX780, VAX8600, VAX750, VAX730: Fix second DEUNA/DELUA device which would crash the simulator when detaching. Problem reported by Jordi Guillaumes Pons. 2014-05-26 04:47:57 -07:00
Mark Pizzolato
27a8a14927 VAX730: Fix 3MB memory setting. Found by Brad Parker. 2014-05-22 07:11:45 -07:00
Mark Pizzolato
cdd39d1fe9 OSX build: Revise to fix prior change. 2014-05-20 11:18:19 -07:00
Mark Pizzolato
ef392b8ab9 OSX build: Added more flexible toolchain support for more recent OS X and xCode versions. 2014-05-20 10:51:00 -07:00
Mark Pizzolato
2c0cedcc9c PDP11, VAX: Added ability to set the size of RAUSER devices to be n binary MB (1024*1024) with the -B switch. Added SHOW -B to display drive capacities in binary MB using the SHOW -B switch. 2014-05-16 15:13:56 -07:00
Mark Pizzolato
c0f9c2e86c PDP11, VAX: Better support for various positioning operations which different OS drivers use. Fix to properly record/tolerate skip n records reaching a tape mark. Fix to #139 2014-05-16 12:46:08 -07:00
Mark Pizzolato
f4771affe7 SCP: Fix SET VERIFY which didn't work while processing command procedures 2014-05-16 05:49:42 -07:00
Mark Pizzolato
fc2f3675fc TAPES: Make sure that all activities related to TPC formatted tapes are read only.
- A -R flag is forced (attach READ ONLY) when TPC formatted tapes are attached.  This should avoid updating file modified timestamps by any simh simulator.
- All write operations to TPC formatted tapes will fail with a write protected status.
2014-05-16 05:22:45 -07:00
Mark Pizzolato
4299ee96db PDP10, PDP11, VAX: Avoid returning "Line Unit" test failed after DMC/DMR master clear if a line is not attached. Let the attached state (if it needs to be determined) be reflected by sensing modem status bits. 2014-05-14 00:16:14 -07:00