Commit graph

3129 commits

Author SHA1 Message Date
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
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