Commit graph

3230 commits

Author SHA1 Message Date
Mark Pizzolato
05f84879ad DISK: Cleanup compiler warnings 2019-05-09 16:32:57 -07:00
John Forecast
e47a7e9ef7 DISK: Add RT11 file system disk size detection 2019-05-09 16:16:31 -07:00
Mark Pizzolato
39f36f273b Visual Studio Projects: Fix build test script for newer Visual Studio versions
As reported and suggested in #700
2019-05-08 18:26:35 -07:00
Mark Pizzolato
b1f3441f7f ETHER: Start newly opened interfaces blocking all packets
A device simulator is responsible for specifying exactly what categories of
packets it wants to receive.  It should do that after having opened the device.
This change avoids collecting packets that aren't actually interesting until
after the device designates which packets it is interested in.
2019-05-07 18:41:36 -07:00
Mark Pizzolato
f88c1b8b2a VAX: Add build time diag execution for many new simulators 2019-05-07 12:03:49 -07:00
Mark Pizzolato
efaca56da4 New VAXen: Add missing REG list terminator in XS (Lance Ethernet) controller 2019-05-07 11:31:03 -07:00
Mark Pizzolato
52a31597ec TAPE: Add ANSIFILES tape format 2019-05-07 05:26:20 -07:00
Mark Pizzolato
81b48e2ebf SCP: Fix potential crash with mixed path separators on Windows 2019-05-07 05:25:56 -07:00
Mark Pizzolato
287655da92 SCP: Document the -A switch for the ATTACH command.
As mentioned in #668
2019-05-04 14:12:42 -07:00
Mark Pizzolato
758bfb7853 All VAX: Fix Coverity identified issues 2019-05-02 22:20:20 -07:00
Mark Pizzolato
ab3e07a401 Visual Studio Projects: Correct project dependencies 2019-05-01 22:56:54 -07:00
Mark Pizzolato
d861fa224a SLIRP: Fix coverity identified complaint 2019-05-01 21:48:47 -07:00
Mark Pizzolato
52fab988e3 DISK: Handle Windows RAW disk reads at EOF as success reading 0's
This was the root cause of the problem reported in #696
2019-05-01 18:30:34 -07:00
Mark Pizzolato
6c7da6c68b Chip Based VAXes: Fix CIS and EMULATED instruction implemented test 2019-05-01 04:55:36 -07:00
Mark Pizzolato
6ae9b8025a Full VAX Simulators: Fix inverted instruction set test 2019-05-01 04:20:51 -07:00
Matt Burke
4aa4f639e6 VAX8200: Added missing error bit to DWBUA CSR
As reported in #690
2019-05-01 09:00:40 +01:00
Mark Pizzolato
95c24b4f81 MicroVAX I: Make SID register reflect D-FLOAT or G-FLOAT instruction set
- Limit choices to explicitly either G-FLOAT or D-FLOAT for SET CPU INST=
- Compile in all instruction implementations and dynamically use the
  enabled ones.
2019-04-30 17:39:56 -07:00
Mark Pizzolato
621e97e170 MicroVAX1, all VAX: Add model specific instruction execution and emulation
- Different VAX models had different groups of instructions which were
  implemented in hardware vs trappng to the OS for emulation.  Functionality
  has been added to differentiate the various mix of instruction groups for
  different models and to display both the groups and the actual instructions.
- Visibility to Instruction groups is provided by SHOW CPU INSTRUCTIONS
  and the list of the active instructions implemented and emulated via
  SHOW CPU -V INSTRUCTIONS.
- The MicroVAX I CPU handled some execution fault conditions differently
  from other VAX systems these differences are now specifically handled.
- Add build time test support to MicroVAX I running EHKAA v1.13
  suggested in #683
- Add more CPU debug details relating to exception and interrupt processing
2019-04-30 14:28:37 -07:00
Matt Burke
5e540cea98 VAX440: Fixed memory sizing and DMA address mapping
Fixes #687
2019-04-30 01:42:20 +01:00
Matt Burke
63d2eccd64 VAX440, IS1000: Removed duplicate entry for RRW11 in RZ modifiers table 2019-04-30 01:42:20 +01:00
Matt Burke
0cc6f85937 VAX410, VAX420, VAX43: Further naming corrections to simulators 2019-04-30 01:42:20 +01:00
Seth Morabito
8832511204 3b2: Correct behavior for NI attach and detach
Previously, the NI ethernet device expected to do all
autoconfiguration at attach time. Furthermore, if attaching failed for
some reason (e.g., permission issues on a tap device, etc.) the card
would be left autoconfigured, but in a broken state that could lead to
reading uninitialized memory.

This change fixes those bugs, and allows the device to be attached and
detached more freely. The card is now autoconfigured when it is
enabled.  Attaching and detaching are analogous to connecting or
disconnecting an ethernet transceiver from the physical device.
2019-04-29 08:21:52 -07:00
Mark Pizzolato
c5e3becc73 SCP: Display capacity as KB or MB for even multiple sizes 2019-04-28 16:36:57 -07:00
Matt Burke
1d133bfc8e VAX420: Fix for LANCE when system memory > 16MB
Fixes #689
2019-04-29 00:26:49 +01:00
Paul Koning
4b43f32deb PDP11: fix SysID message data for LQA
Correct the MOP data type code for the Device Type field in the SysID
message, and the value used for device type DELQA.
2019-04-25 15:20:10 -04:00
Bob Supnik
3f9a77bd10 VAX, VAX780: Added hook for unpredictable indexed immediate
Originally, the VAX allowed immediate operands (8F) to be used without
restrictions in address mode instructions, either standalone or indexed.
Starting with MicroVAX II, immediate indexed became reserved. This
remained true for all subsequent chip implementations. The SRM was
ECOed in March, 1985 to make immediate indexed unpredictable.

In MicroVAX II, immediate g-floating operands didn't work correctly. The
problem was found a couple of months after tape-out. While the index
flows could be fixed, and were fixed according to the microcode revision
history:

;    7-May-84    [RMS]    Fixed FD problem in index flows (JLR)

the problem in indexed immediate could only be fixed by a significant
hardware change in an area that was already packed full. The VAX
Architecture Team, which had always been very sympathetic to the
VAX chip efforts, proposed a much simpler solution: make immediate
indexed unpredictable. It was useless, in any case.

I'm rather surprised that this wasn't flagged by the 780 diagnostics.
Maybe it was never tested. It was tested in HCORE (the original MicroVAX I
core diagnostic that is failing), but I removed it subsequently:

; 8-may-85    rms    removed indexed immediate tests

Bottom line - the simulator is right for the chip VAXes (including, I think,
V11) and wrong for MicroVAX I and probably the 8600, 780, 750, and 730.

# Conflicts:
#	VAX/vax_cpu.c
2019-04-23 22:58:02 -07:00
Matt Burke
7eee73770d makefile: Add missing SDL support for VAXstation simulators.
- Minor naming corrections to VAX simulators
2019-04-23 18:21:16 -07:00
Matt Burke
39ce971e2e SCSI: Added write support for tapes. Fixed set command for changing device type 2019-04-23 18:06:15 -07:00
Mark Pizzolato
2ebf9216af VCB02: Fix compiler warnings 2019-04-23 10:44:30 -07:00
Mark Pizzolato
b1766b6dcf VAX8200: Fix access to watch chip wtc_rd() and wtc_wr()
- Recent changes in vax_watch.c changed the input parameter from a
  physical address to a register address within the watch chip.
- vax630_sysdev.c called the older wtc_wr() with the new parameter,
  but the length argument has been removed.
- The watch chip never starts as valid.  Make it valid when the TODR is
  attached (i.e. reflecting a connected battery).
- 64 bytes of bus addresses for the watch chip can sometimes be dispatched
  to wtc_rd() and wtc_wr().  Make sure that reasonable memory is always
  referenced for all potential accesses.
- restore vax8200 to makefile which got lost in a prior merge.
2019-04-23 10:41:10 -07:00
Mark Pizzolato
a712ba29a6 MicroVAXI: Add memory controller CSR Address visibility 2019-04-22 01:47:55 -07:00
Matt Burke
f028802bff VAX: Added many different model VAX simulators
- MicroVAX 2000 & VAXstation 2000
- MicroVAX 3100 M10/M20
- MicroVAX 3100 M10e/M20e
- InfoServer 100
- InfoServer 150 VXT
- VAXstation 3100 M30
- VAXstation 3100 M38
- VAXstation 3100 M76
- VAXstation 4000 VLC
- VAXstation 4000 M60
- MicroVAX 3100 M80
- InfoServer 1000
2019-04-21 16:29:45 -07:00
Matt Burke
1d15966191 VAX: New simulator for VAX 8200 2019-04-21 09:09:32 -07:00
Mark Pizzolato
4e0450cff9 SCP: Add support to uniquely identify SIGTERM in do procedures
As discussed in #681
2019-04-18 20:03:17 -07:00
Mark Pizzolato
590be6b0dd SCP: Give priority to device names in intial HELP commands 2019-04-18 01:48:16 -07:00
Mark Pizzolato
8d172a4049 SCP: Fix ON ERROR default declaration
- Additionally, be sure that ON actions are saved with unexpanded variables

As reported #681
2019-04-17 20:12:21 -07:00
Mark Pizzolato
0c39921fb7 TAPE: Full speed performance of tape image validation scan
- Force the detection point of a tape structure error to be the logical EOM
  on the tape.
- Enable SIGINT abort of a possibly long running validation scan
- Add -L detail record structure option at ATTACH time
- Add extra garbage at end of generated test data files
2019-04-16 18:20:25 -07:00
Mark Pizzolato
ef1805b233 SERIAL: Correct inverted error sense of Windows modem status API (Dave Bryan) 2019-04-16 17:09:32 -07:00
Mark Pizzolato
5343dae137 ETHER: Fix potential compile warning about buffer overrun 2019-04-16 15:56:32 -07:00
Mark Pizzolato
a95a835b98 PDP11: Fix typo in formatting instruction history including the SP 2019-04-16 15:55:54 -07:00
Bob Supnik
cdfb7c0878 PDP11: Add SP to instruction history 2019-04-15 22:01:08 -07:00
Bob Supnik
d8eeb1ce00 i1401: Fix comment in operation table 2019-04-15 21:56:20 -07:00
Bob Supnik
37533d7891 Sigma: Fix spelling in comment 2019-04-15 21:55:46 -07:00
Mark Pizzolato
456aa3ed5d ETHER: Gracefully handle dynamic pcap library initialization errors
- Test BPF using all available Ethernet capable interfaces
2019-04-15 16:49:08 -07:00
Bob Supnik
2f0db74483 VAX: Provide support for MTPR/MFPR opcodes to set V & C condition codes 2019-04-13 12:49:43 -07:00
Mark Pizzolato
e7787c8db5 MicroVAX2: Let QDSS Qbus memory window be programmatically set
A write the the I/O page Qbus CSR configures the desired Qbus memory
window that the rest of the interface to this board is accessed through.
2019-04-13 12:44:02 -07:00
Mark Pizzolato
51feb87be4 rtvax1000: Avoid all QDSS (VCB02) components during build 2019-04-13 12:42:56 -07:00
Mark Pizzolato
eb8791c227 VAX: Make line endings consistent with simh project 2019-04-13 12:33:56 -07:00
Seth Morabito
7455d28126 3b2: Soft-power shutdown via TIMER command
This change enables the simulator to be shut down cleanly via a
soft-power shutdown command. This is implemented in the real 3B2/400
through the sanity timer, which, if it reaches zero, sets a bus timeout
flag in the CSR and issues an interrupt at IPL 15. The operating
system (System V UNIX) treats this as a shutdown request and enters
runlevel 0.

To use this change in a SIMH startup script, for example to implement a
3B2 simulator as a service, one could add these commands:

    # [... simulator setup ...]
    BOOT
    SET TIMER SHUTDOWN
    CONTINUE
    EXIT

On catching a SIGTERM, SIGINT, or SIGHUP, the simulator would return to
SCP control, set the soft power shutdown flag, and then continue
simulator execution. After the system is cleanly shut down, the
simulator would then exit back to the operating system.
2019-04-13 11:36:02 -07:00
Mark Pizzolato
ad9cb1d42d MicroVAX2: Cleanup build of rtvax1000 avoiding QDSS which isn't supported 2019-04-12 06:11:06 -07:00