Commit graph

2425 commits

Author SHA1 Message Date
Richard Cornwell
c717ee928f B5500: Added buffer size option to DTC.
Added buffer size option allowing buffers to be set at a multiple of
28 characters. This is to allow R/C to be run without modifications.
2016-05-24 20:36:22 -04:00
Mark Pizzolato
8bc31af29c PDP11, VAX: Allow Ethernet SET MAC arguments to have upper/lowe case values 2016-05-24 11:58:58 -07:00
Mark Pizzolato
451b53daeb TMXR: Allow Line based logging to be both disabled and enabled before attach
Previously attempts to disable logging for an unattached mux (or line) could
crash the simulator.
2016-05-24 08:53:05 -07:00
Mark Pizzolato
ae6f3b97e4 PDP11, VAX: Use generated unique default MAC addresses for Ethernet devices 2016-05-24 08:47:01 -07:00
Mark Pizzolato
3dcd5124e9 ETHER: issue explanatory messages when rejecting invalid MAC addresses. 2016-05-24 08:45:28 -07:00
Mark Pizzolato
2d907980f1 ETHER: Add support for generated interface MAC addresses
sim> SET XQ MAC=aa:bb:cc:dd:ee:ff{/bits}{>filespec}

where:

- all of the aa:bb:cc:dd:ee:ff values must be hex digits
- bits is the number of bits which are to be taken from the supplied
   MAC aa:bb:cc:dd:ee:ff with legal values from 16 to 48 and a default
   of 48 bits.
- filespec specifies a file which contains the MAC address to be used
   and if it doesn't exist an appropriate generated address will be stored
   in this file and a subsequent SET MAC invocation specifying the same
   file will use the value stored in the file rather than generating a new
   MAC.

As discussed in #317
2016-05-23 16:56:06 -07:00
Mark Pizzolato
63510629d9 makefile: isys8010 and isys8020 can now be compiled with a C++ compiler 2016-05-23 16:43:22 -07:00
Bill Beech
cbdcaec162 ISYS8010, ISYS8020: Cleanup Build issues for gcc and clang and g++ and clang++
Corrected declaration sizes to match for consistency across different modules.
2016-05-23 14:28:19 -07:00
Peter Schorn
9d2b7ee968 AltairZ80: Fixed NUM_CHIP_TYPE warning and added missing declaration 2016-05-23 13:26:17 -07:00
Mark Pizzolato
3d7c4dc510 Visual Studio Projects: Avoid compiler warnings when building pthreads
The project migration process from VS2008 to VS2015 doesn't bring in
project/solution wide migration compile defines that are introduced in
Visual Studio Community's migration which adds _USING_V110_SDK71.
This affects source modules which explicitly don't inherit project wide
defines.  The compile of pthread.c (in various projects) is such a case.
2016-05-22 11:36:39 -07:00
Mark Pizzolato
d3bc8f6633 ETHER: Fix compile issue when building on VMS. 2016-05-20 10:18:36 -07:00
Mark Pizzolato
d4ed9da2ff PDP11, VAX: Fix autoconfigure to properly allocate fixed vectors and addresses
Multiple devices sharing the same pool of fixed and/or vector addresses
need to properly account for earlier devices that may have already consumed
available fixed addresses or vectors.
2016-05-19 14:47:42 -07:00
Mark Pizzolato
385d14ee4f alpha: Fix pal_eval_intr() to properly reference the ev5_icsr
The original code mistakenly evaluated several constant expressions rather
than referencing the ev5_iscr variable.
2016-05-19 11:04:49 -07:00
Mark Pizzolato
7a7b4de971 DISK: Fix MinGW build when compiling under g++ 2016-05-18 15:36:13 -07:00
Mark Pizzolato
2c16110d94 ETHER: Properly describe const MAC address parameter in eth_mac_fmt
Fix problem reported in #316
2016-05-18 14:43:49 -07:00
Mark Pizzolato
253e9deea7 All VAX: Fix idle/inifinite loop detection for instructions with side effects
Recent enhancements to idle/infinite loop detection generalized handling
of detecting 'loop to self' cases.  This was done without considering that
some instructions have side effects (i.e. change other state like the stack
pointer) and thus aren't merely loop to self cases.

This problem was reported in #315
2016-05-18 09:02:22 -07:00
Mark Pizzolato
0c2bc4c617 Visual Studio Projects: Allow building network capable simulators with C++ 2016-05-17 23:01:05 -07:00
Mark Pizzolato
e8ce83073f DISK: Allow building with g++ on Windows with MinGW 2016-05-17 22:58:32 -07:00
Mark Pizzolato
89f8aff2cf TAPE: Fix potential compiler warning. 2016-05-16 20:04:10 -07:00
Mark Pizzolato
ef9018c9a7 HP2100: Reformulated the definitions of op_mask (from Dave Bryan) 2016-05-16 19:03:48 -07:00
Mark Pizzolato
64716dad74 makefile: Fix MinGW build to allow C++ compiles 2016-05-16 16:17:22 -07:00
Richard Cornwell
0e1f84357c B5500: Changes to allow DCMCP to use DTC device.
Also changed how interrupts are generated. When a line changes state
and interrupt should be generated. Once this is read no further
notification should be posted. If no characters are written in a
record the DTC should transition to IDLE state.
2016-05-16 08:14:44 -07:00
Richard Cornwell
44f523a036 B5500: Fixed bug with Alpha mode reads
If the record ended as a multiple of 8 characters, an extra gm would be
addded and an extra word written.
2016-05-16 08:13:11 -07:00
Mark Pizzolato
03445f5f94 B5500: Promote sim_card to a top level simh library
Rich Cornwell's sim_card module is about to be used by another new simulator
so it is being promoted.
2016-05-15 18:01:38 -07:00
Sergey Svishchev
504bc7c61f VAX: 2681 UART: implement ACR and IPR 2016-05-15 15:44:15 -07:00
Sergey Svishchev
ba4b951bd6 VAX: replace magic numbers with constants 2016-05-15 15:44:14 -07:00
Mark Pizzolato
5531ccb175 ALL: Massive 'const' cleanup
These changes facilitate more robust parameter type checking and helps
to identify unexpected coding errors.

Most simulators can now also be compiled with a C++ compiler without
warnings.

Additionally, these changes have also been configured to facilitate easier
backporting of simulator and device simulation modules to run under the
simh v3.9+ SCP framework.
2016-05-15 15:25:33 -07:00
Peter Schorn
60a8a2d43d AltairZ80: Fixed device descriptions for all devices. 2016-05-15 14:44:09 -07:00
Mark Pizzolato
5fc2207774 NOVA: Extend character input delay to 300 for PTR device
As discussed in #203
2016-05-13 11:50:55 -07:00
Mark Pizzolato
e70606c75b PDP11, all VAX: Fix handling of TU58 initialization command.
The processing of initialization commands improperly attempted to initialize
all controllers AND these attempts (for controllers beyond 0) referenced
beyond the bounds of the unit array.  This problem was reported in issue #309
2016-05-13 11:43:09 -07:00
Mark Pizzolato
fdca6384f2 SCP: Issue reason message before calling abort when sim_cancel fails 2016-05-13 11:22:39 -07:00
Mark Pizzolato
7bd58c6d7f PDP11, VAX8600, VAX780, VAX750: Fix prior Massbus auto configure.
As discussed in #307
2016-05-09 10:40:58 -07:00
Mark Pizzolato
550e360769 VAX750, VAX780, VAX8600: Fix Massbus device description output 2016-05-07 16:32:09 -07:00
Mark Pizzolato
576f5b39e5 SCP: Add ability to display device description if -D specified on SHOW DEVICE
The SHOW FEATURES will enumerate all devices in a simulator and for each of
them display the device specific description if one is available.

This change allows the description to be optionally visible for a single device
displayed with SHOW DEVICE.
2016-05-07 15:21:40 -07:00
Mark Pizzolato
1af590d806 PDP11, VAX8600, VAX780, VAX750: Fix to auto configure Massbus adapters
When a mix of Massbus devices are configured with some enabled and
others disabled, the MBA's need to be allocated and properly configured
in the desired preferred order (RP, TU, RS).  On the PDP11, this interacts
with auto-configure since the RH devices are visible in the Unibus I/O
page.  On the PDP11 the second Massbus device can only be configured
if the TM device is disabled since the auto-configure assigned vectors
overlap for RHB and TM.

Problem originally reported in #301.
2016-05-07 15:17:24 -07:00
Mark Pizzolato
820d77ef69 GRI, I1401, PDP10, SDS: Fix compiler detected inconsistencies 2016-05-05 03:50:21 -07:00
Mark Pizzolato
0f013a582e alpha: Fix iteration count for MINSW4, MINUW4, MAXUW4, MAXSW4 instructions
Also properly type the return value for pal_eval_instr()
and the arguments to vax_sqrt() and ieee_sqrt().
2016-05-04 15:59:08 -07:00
Richard Cornwell
d8aafde723 B5500: Fixed bugs in handling of ? and empty writes to DTC device.
This is to allow for DCMP to do remote job entry.
2016-04-29 08:22:33 -07:00
Richard Cornwell
f4300500e8 B5500: Added EBCDIC support to sim_card. 2016-04-29 08:22:04 -07:00
Mark Pizzolato
3f4eed7517 VAX: Add debug support to the CLK device 2016-04-27 12:23:49 -07:00
Mark Pizzolato
717f3820b9 VIDEO: cleanup SHOW VERSION output when video support isn't available. 2016-04-26 20:58:05 -07:00
Mark Pizzolato
a08cc1b09c PDP7: Remove nested comments in pdp18b_defs 2016-04-26 20:57:27 -07:00
Mark Pizzolato
faeff88ce5 makefile: Disable link time optimization when building with clang.
Recent clang versions on OS X and Linux no longer buildingn with
-flto -fwhole-program
2016-04-26 20:55:14 -07:00
Mark Pizzolato
c55b6a8a8b makefile: Document supported build requirements and allow unsupported builds
Users wanting to build simulators with locally build dependent packages or
packages provided by an unsupported package management system can
override where this procedure looks for include files and/or libraries.

Overrides can be specified by define exported environment variables or
GNU make command line arguments which specify INCLUDES and/or LIBRARIES.
Each of these, if specified, must be the complete list include directories
or library directories that should be used with each element separated by
colons. (i.e. INCLUDES=/usr/include/:/usr/local/include/:...)

Binaries built with unsupported library components will have a 'unsupported' tag
in the output of the SHOW VERSION command.
2016-04-26 20:24:01 -07:00
Mark Pizzolato
2498fafd46 MicroVAX II, rtVAX1000: Fix NVR behavior to precisely reflect original hardware
Observations made about NVR behavior on real hardware:
    1) Aligned writes only affect a single RAM location
       without regard to the size of write, so no double
       pumping on writes.
    2) Unaligned (offset 3) writes do nothing without regard to size of the write
    3) Unaligned (offset 1) write 0 to the next higher NVR RAM location.
    4) Longword aligned and Unaligned (offset 3) reads return the same NVR RAM
       value in the the upper and lower words of the result.
    5) Unaligned (offset 1) reads reference the next higher NVR RAM cell for
       word and longword reads.

- Fix write behavior to match hardware.
- Fix read behavior to double pump word values for all unaligned word and longword
  reads.
2016-04-26 12:32:13 -07:00
Mark Pizzolato
b502558df7 SCP: Change handling of EXPECT return status to allow message in verbose mode
The previous change in handling or SCPE_EXPECT transformed it to SCPE_OK
to avoid unexpected exiting or condition trapping.  This didn't allow the
SCPE_EXPECT reason to be display if verbose mode was on.
2016-04-13 15:57:56 -07:00
Mark Pizzolato
4a47113faa TMXR: Properly initialize incoming line ring state to accepe connections 2016-04-13 12:48:33 -07:00
Mark Pizzolato
b4b4a88a4e MicroVAX2: Fix watch chip implementation
- In VMS mode, the day and month have to behave correctly to map the
  current day of year to the equivalent day of year in 1982
- The month maintained and returned by the watch chip has January as 1
  while the tm_mon field in the 'struct tm' has 0 for January.
2016-04-13 12:12:29 -07:00
Mark Pizzolato
14d1c4e2da SOCKET: Include system include files prior to referencing macros that they may define.
Fix #302
2016-04-12 13:08:31 -07:00
Mark Pizzolato
5a5df503af MicroVAX2: NVR watch chip simulation cleanup
- Fix NVR EXAMINE & DEPOSIT and SAVE/RESTORE as suggested by Bob Supnik.
- Properly initialize NVR contents when ATTACHed to a new/empty file.
2016-04-12 13:03:56 -07:00