Commit graph

479 commits

Author SHA1 Message Date
Matt Burke
650cfd4864 VAX420: Added ROM patch to correct boot problem on MicroVAX 3100 M10/M20 2019-05-16 22:15:53 +01:00
Matt Burke
0dff31427f VAX420, VAX43: Corrections to configuration & test register
Video devices now working on VAXstation 3100 M76
2019-05-16 22:15:53 +01:00
Matt Burke
b16841218c GPX: Fixed coverity complaints 2019-05-16 22:15:53 +01:00
Mark Pizzolato
94f5034712 VAX, MicroVAX I & II: Revamped Qbus memory access as Qbus peripheral 2019-05-12 21:52:06 -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
758bfb7853 All VAX: Fix Coverity identified issues 2019-05-02 22:20:20 -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
Matt Burke
1d133bfc8e VAX420: Fix for LANCE when system memory > 16MB
Fixes #689
2019-04-29 00:26:49 +01: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
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
Mark Pizzolato
ad9cb1d42d MicroVAX2: Cleanup build of rtvax1000 avoiding QDSS which isn't supported 2019-04-12 06:11:06 -07:00
Matt Burke
4babf7f529 MicroVAX2: Added new video device (VCB02) 2019-04-10 22:01:52 -07:00
Mark Pizzolato
880c8a89b7 PDP11, PDP18b, PDP8, VAX750, SCP: Silence Coverity identified complaints 2019-02-20 08:32:37 -08:00
Mark Pizzolato
bacf1a7445 SCP: Use internal device SCP-PROCESS for SCP level debugging 2019-01-22 15:48:48 -08:00
Lars Brinkhoff
da256fcc28 PDP10, PDP11, Unibus VAXen: CH11 Chaosnet interface. 2018-11-22 07:50:57 +01:00
Mark Pizzolato
d372899a2f VAX: Fix spelling in message output while running diagnostic tests
As mentioned in #634
2018-10-19 14:49:39 -07:00
Mark Pizzolato
74a640d04a All VAX: Properly record clock tick acknowledgments 2018-10-08 22:33:00 -07:00
Mark Pizzolato
31c512c6e7 makefile: Avoid using PCRE REGEX support on OS X
- OS X libpcreposix segfaults when a compiled regular expression is freed.
- Revise regular expression syntax used in VAX diagnostic scripts to avoid
  Perl oriented extensions.
2018-09-30 12:37:49 -07:00
Mark Pizzolato
a274a1f208 VAX: Fix test script for the VAX simulators that don't have available diags 2018-09-28 21:09:27 -07:00
Mark Pizzolato
a56e55b8ac All VAX: fix makefile invocation of VAX diagbistuc tests 2018-09-28 15:46:50 -07:00
Mark Pizzolato
6747c7fdc2 All VAX: Extend tests to include available DEC instruction diagnostics
- Diagnostic execution happens as a normal part of the makefile build.
- Diagnostic execution can be suppressed by invoking make with TESTS=0
  on the command line
- Diagnostic execution during build is produced in summary form.
2018-09-27 22:00:38 -07:00
Mark Pizzolato
be52190067 All VAX: extend REI debugging support
Identify reserved operand fault reason details.
2018-09-27 06:41:40 -07:00
Mark Pizzolato
0ca011cd46 VAX: Parse for switches in BOOT command implementations 2018-09-27 06:35:31 -07:00
Mark Pizzolato
0fe4bf3281 VAX tests: Fix spelling error in success/fail messages 2018-09-19 22:36:48 -07:00
Mark Pizzolato
49cfac9019 VAX: Add EHKAA (aka HCORE) Harware Core Instruction test for MicroVAX 3900 2018-09-19 21:51:28 -07:00
Mark Pizzolato
1adc76a5dd All Unibus VAX: Simplify output produced by Hardware Core Instruction test 2018-09-19 19:57:55 -07:00
Mark Pizzolato
22ad3706bc All Unibus VAX: Add execution of CPU hardcore instruction test EVKAA to build 2018-09-19 14:53:35 -07:00
Mark Pizzolato
7677dad67d PDP11: Properly range check DMA access to the I/O page
Make sure that DMA access to the I/O page can only see addresses on the
Qbus/Unibus and not internal CPU registers
2018-09-06 11:03:45 -07:00
Mark Pizzolato
dc13df7b7b VAX: Set CPU model correctly on each boot
Previously the CPU model was only being set when the CPU ROM was
implicitly loaded from the internal ROM image at boot time.  Other
loading of ROM code never set the configured model correctly.
2018-08-02 11:26:43 -07:00
Mark Pizzolato
4431350bd1 VAXStations: Fix set model message text when video isn't available 2018-07-13 02:25:22 -07:00
Mark Pizzolato
cc6140fd31 I1401, VAX, PDP11: Fix nested comments consistently with Supnik-Current branch 2018-06-03 20:59:36 -07:00
Mark Pizzolato
cc7721b96e PDP11: Allow DZ devices Unibus and Qbus to have correct number of lines 2018-04-09 18:05:53 -07:00