simh-testsetgenerator/VAX
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
..
tests VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
is1000.bin VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
is1000_defs.h VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
is1000_sysdev.c VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
is1000_syslist.c VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
ka4xx_4pln.bin VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
ka4xx_8pln.bin VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
ka4xx_dz.bin VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
ka4xx_spx.bin VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
ka41a.bin VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
ka41d.bin VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
ka42a.bin VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
ka42a_orig.bin VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
ka42a_patch.com VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
ka42b.bin VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
ka42b_orig.bin VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
ka42b_patch.com VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
ka43a.bin VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
ka46a.bin VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
ka47a.bin VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
ka48a.bin VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
ka410.bin VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
ka410_orig.bin VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
ka410_patch.com VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
ka410_xs.bin VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
ka410_xs_patch.com VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
ka411.bin VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
ka412.bin VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
ka420_rdrz.bin VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
ka420_rzrz.bin VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
ka610.bin Addition of MicroVAX I (VAX610) processor simulator from Matt Burke 2012-10-25 11:58:10 -07:00
ka620.bin Addition of MicroVAX II (VAX630) and rtVAX 1000 (or Industrial VAX 620) processor simulators from Matt Burke 2012-11-09 12:18:15 -08:00
ka620_orig.bin MicroVAX I, MicroVAX II: Add missing original ROM images 2017-01-09 14:16:55 -08:00
ka620_patch.com Addition of MicroVAX II (VAX630) and rtVAX 1000 (or Industrial VAX 620) processor simulators from Matt Burke 2012-11-09 12:18:15 -08:00
ka630.bin Addition of MicroVAX II (VAX630) and rtVAX 1000 (or Industrial VAX 620) processor simulators from Matt Burke 2012-11-09 12:18:15 -08:00
ka630_orig.bin MicroVAX I, MicroVAX II: Add missing original ROM images 2017-01-09 14:16:55 -08:00
ka630_patch.com Addition of MicroVAX II (VAX630) and rtVAX 1000 (or Industrial VAX 620) processor simulators from Matt Burke 2012-11-09 12:18:15 -08:00
ka655_orig.bin VAX: Re-enable the boot ROM interval timer diagnostic tests 2017-01-02 14:03:39 -08:00
ka655_patch.com VAX: Re-enable the boot ROM interval timer diagnostic tests 2017-01-02 14:03:39 -08:00
ka655x.bin VAX: Re-enable the boot ROM interval timer diagnostic tests 2017-01-02 14:03:39 -08:00
ka750_new.bin VAX750: Added VAX. 11.750 Boot ROM booting options 2015-09-10 21:42:16 -07:00
ka750_old.bin VAX750: Added VAX. 11.750 Boot ROM booting options 2015-09-10 21:42:16 -07:00
vax4nn_stddev.c VAX8200: Fix access to watch chip wtc_rd() and wtc_wr() 2019-04-23 10:41:10 -07:00
vax4xx_dz.c makefile: Add missing SDL support for VAXstation simulators. 2019-04-23 18:21:16 -07:00
vax4xx_rd.c VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax4xx_rz80.c SCSI: Added write support for tapes. Fixed set command for changing device type 2019-04-23 18:06:15 -07:00
vax4xx_rz94.c SCSI: Added write support for tapes. Fixed set command for changing device type 2019-04-23 18:06:15 -07:00
vax4xx_stddev.c VAX8200: Fix access to watch chip wtc_rd() and wtc_wr() 2019-04-23 10:41:10 -07:00
vax4xx_va.c VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax4xx_vc.c VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax4xx_ve.c VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax7x0_mba.c VAX: Fix help text for MBA devices to describe their device relationships 2017-02-10 11:23:29 -08:00
vax43_defs.h VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax43_sysdev.c VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax43_syslist.c VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax410_defs.h VAX, VAX780: Added hook for unpredictable indexed immediate 2019-04-23 22:58:02 -07:00
vax410_sysdev.c makefile: Add missing SDL support for VAXstation simulators. 2019-04-23 18:21:16 -07:00
vax410_syslist.c VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax420_defs.h VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax420_sysdev.c makefile: Add missing SDL support for VAXstation simulators. 2019-04-23 18:21:16 -07:00
vax420_syslist.c makefile: Add missing SDL support for VAXstation simulators. 2019-04-23 18:21:16 -07:00
vax440_defs.h VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax440_sysdev.c VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax440_syslist.c VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax610_defs.h VAX, VAX780: Added hook for unpredictable indexed immediate 2019-04-23 22:58:02 -07:00
vax610_io.c PDP11: Properly range check DMA access to the I/O page 2018-09-06 11:03:45 -07:00
vax610_mem.c MicroVAXI: Add memory controller CSR Address visibility 2019-04-22 01:47:55 -07:00
vax610_stddev.c All VAX: Properly record clock tick acknowledgments 2018-10-08 22:33:00 -07:00
vax610_sysdev.c makefile: Add missing SDL support for VAXstation simulators. 2019-04-23 18:21:16 -07:00
vax610_syslist.c SCP: Properly define sim_name array to avoid potential overrun 2017-03-29 07:43:11 -07:00
vax630_defs.h VAX, VAX780: Added hook for unpredictable indexed immediate 2019-04-23 22:58:02 -07:00
vax630_io.c MicroVAX2: Let QDSS Qbus memory window be programmatically set 2019-04-13 12:44:02 -07:00
vax630_stddev.c All VAX: Properly record clock tick acknowledgments 2018-10-08 22:33:00 -07:00
vax630_sysdev.c makefile: Add missing SDL support for VAXstation simulators. 2019-04-23 18:21:16 -07:00
vax630_syslist.c MicroVAX2: Added new video device (VCB02) 2019-04-10 22:01:52 -07:00
vax730_defs.h VAX, VAX780: Added hook for unpredictable indexed immediate 2019-04-23 22:58:02 -07:00
vax730_mem.c ALL: Massive 'const' cleanup 2016-05-15 15:25:33 -07:00
vax730_rb.c VAX730: Add missing value in DIB structure for proper auto-configure behavior 2016-06-21 05:24:51 -07:00
vax730_stddev.c All VAX: Properly record clock tick acknowledgments 2018-10-08 22:33:00 -07:00
vax730_sys.c VAX: Parse for switches in BOOT command implementations 2018-09-27 06:35:31 -07:00
vax730_syslist.c PDP10, PDP11, Unibus VAXen: CH11 Chaosnet interface. 2018-11-22 07:50:57 +01:00
vax730_uba.c PDP11: Properly range check DMA access to the I/O page 2018-09-06 11:03:45 -07:00
vax750_cmi.c VAX: Parse for switches in BOOT command implementations 2018-09-27 06:35:31 -07:00
vax750_defs.h VAX, VAX780: Added hook for unpredictable indexed immediate 2019-04-23 22:58:02 -07:00
vax750_mem.c PDP11, PDP18b, PDP8, VAX750, SCP: Silence Coverity identified complaints 2019-02-20 08:32:37 -08:00
vax750_stddev.c All VAX: Properly record clock tick acknowledgments 2018-10-08 22:33:00 -07:00
vax750_syslist.c PDP10, PDP11, Unibus VAXen: CH11 Chaosnet interface. 2018-11-22 07:50:57 +01:00
vax750_uba.c PDP11: Properly range check DMA access to the I/O page 2018-09-06 11:03:45 -07:00
vax780_bug_history.txt VAX, VAX780: Added hook for unpredictable indexed immediate 2019-04-23 22:58:02 -07:00
vax780_defs.h VAX, VAX780: Added hook for unpredictable indexed immediate 2019-04-23 22:58:02 -07:00
vax780_fload.c ALL: Massive 'const' cleanup 2016-05-15 15:25:33 -07:00
vax780_mem.c VAX780: Fix potentially uninitialized variable reference (COVERITY) 2017-03-11 09:50:39 -08:00
vax780_sbi.c VAX: Parse for switches in BOOT command implementations 2018-09-27 06:35:31 -07:00
vax780_stddev.c All VAX: Properly record clock tick acknowledgments 2018-10-08 22:33:00 -07:00
vax780_syslist.c PDP10, PDP11, Unibus VAXen: CH11 Chaosnet interface. 2018-11-22 07:50:57 +01:00
vax780_uba.c PDP11: Properly range check DMA access to the I/O page 2018-09-06 11:03:45 -07:00
vax820_bi.c VAX8200: Fix access to watch chip wtc_rd() and wtc_wr() 2019-04-23 10:41:10 -07:00
vax820_defs.h VAX: New simulator for VAX 8200 2019-04-21 09:09:32 -07:00
vax820_ka.c VAX: New simulator for VAX 8200 2019-04-21 09:09:32 -07:00
vax820_mem.c VAX: New simulator for VAX 8200 2019-04-21 09:09:32 -07:00
vax820_stddev.c VAX8200: Fix access to watch chip wtc_rd() and wtc_wr() 2019-04-23 10:41:10 -07:00
vax820_syslist.c VAX8200: Fix access to watch chip wtc_rd() and wtc_wr() 2019-04-23 10:41:10 -07:00
vax820_uba.c VAX: New simulator for VAX 8200 2019-04-21 09:09:32 -07:00
vax860_abus.c VAX: Parse for switches in BOOT command implementations 2018-09-27 06:35:31 -07:00
vax860_defs.h VAX, VAX780: Added hook for unpredictable indexed immediate 2019-04-23 22:58:02 -07:00
vax860_sbia.c ALL: Massive 'const' cleanup 2016-05-15 15:25:33 -07:00
vax860_stddev.c All VAX: Properly record clock tick acknowledgments 2018-10-08 22:33:00 -07:00
vax860_syslist.c PDP10, PDP11, Unibus VAXen: CH11 Chaosnet interface. 2018-11-22 07:50:57 +01:00
vax_2681.c MicroVAX2: Added new video device (VCB02) 2019-04-10 22:01:52 -07:00
vax_2681.h VAX: 2681 UART: implement ACR and IPR 2016-05-15 15:44:15 -07:00
vax_bi.h VAX: New simulator for VAX 8200 2019-04-21 09:09:32 -07:00
vax_cis.c GRI, PDP11, PDP8, VAX: Misc formatting and typo cleanups 2018-03-09 14:04:19 -08:00
vax_cmode.c VAX, VAX780: Added hook for unpredictable indexed immediate 2019-04-23 22:58:02 -07:00
vax_cpu.c VAX, VAX780: Added hook for unpredictable indexed immediate 2019-04-23 22:58:02 -07:00
vax_cpu1.c All VAX: extend REI debugging support 2018-09-27 06:41:40 -07:00
vax_defs.h VAX, VAX780: Added hook for unpredictable indexed immediate 2019-04-23 22:58:02 -07:00
vax_fpa.c VAX: Move CPU register and routine declarations into vax_defs.h 2016-02-29 16:37:18 -08:00
vax_gpx.c VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax_gpx.h VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax_io.c PDP11: Properly range check DMA access to the I/O page 2018-09-06 11:03:45 -07:00
vax_is1000_bin.h VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax_ka4xx_4pln_bin.h VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax_ka4xx_8pln_bin.h VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax_ka4xx_dz_bin.h VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax_ka4xx_spx_bin.h VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax_ka41a_bin.h VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax_ka41d_bin.h VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax_ka42a_bin.h VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax_ka42b_bin.h VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax_ka43a_bin.h VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax_ka46a_bin.h VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax_ka47a_bin.h VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax_ka48a_bin.h VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax_ka410_bin.h VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax_ka410_xs_bin.h VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax_ka411_bin.h VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax_ka412_bin.h VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax_ka420_rdrz_bin.h VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax_ka420_rzrz_bin.h VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax_ka610_bin.h VAX: Make line endings consistent with simh project 2019-04-13 12:33:56 -07:00
vax_ka620_bin.h VAX: Make line endings consistent with simh project 2019-04-13 12:33:56 -07:00
vax_ka630_bin.h VAX: Make line endings consistent with simh project 2019-04-13 12:33:56 -07:00
vax_ka655x_bin.h VAX: Re-enable the boot ROM interval timer diagnostic tests 2017-01-02 14:03:39 -08:00
vax_ka750_bin_new.h VAX750: Added VAX. 11.750 Boot ROM booting options 2015-09-10 21:42:16 -07:00
vax_ka750_bin_old.h VAX750: Added VAX. 11.750 Boot ROM booting options 2015-09-10 21:42:16 -07:00
vax_lk.c VAXStations: Improvements and bug fixes to keyboard and mouse devices 2017-04-23 10:40:00 -07:00
vax_lk.h VAX: Make line endings consistent with simh project 2019-04-13 12:33:56 -07:00
vax_mmu.c VAX: Move CPU register and routine declarations into vax_defs.h 2016-02-29 16:37:18 -08:00
vax_mmu.h PDP11, PDP10, all VAX: General extern cleanup. 2017-02-04 19:37:20 -08:00
vax_nar.c VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax_octa.c VAX: Add octaword result information to instruction history 2016-05-28 06:03:21 -07:00
vax_rzdev.h VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax_stddev.c All VAX: Properly record clock tick acknowledgments 2018-10-08 22:33:00 -07:00
vax_sys.c VAX: Add -8 -16 switch support for EXAMINE commands 2017-09-03 09:20:19 -07:00
vax_syscm.c SCP: Migrate all stdio writes to pass through SCP provided Fprintf() 2017-01-14 20:48:09 -08:00
vax_sysdev.c makefile: Add missing SDL support for VAXstation simulators. 2019-04-23 18:21:16 -07:00
vax_syslist.c SCP: Properly define sim_name array to avoid potential overrun 2017-03-29 07:43:11 -07:00
vax_va.c VCB02: Fix compiler warnings 2019-04-23 10:44:30 -07:00
vax_vc.c MicroVAX2: Added new video device (VCB02) 2019-04-10 22:01:52 -07:00
vax_vcb02_bin.h VAX: Make line endings consistent with simh project 2019-04-13 12:33:56 -07:00
vax_vmb_exe.h Updated vmb_exe include file 2013-03-24 16:47:25 -07:00
vax_vs.c VAXStations: Improvements and bug fixes to keyboard and mouse devices 2017-04-23 10:40:00 -07:00
vax_vs.h VAX: Make line endings consistent with simh project 2019-04-13 12:33:56 -07:00
vax_watch.c VAX8200: Fix access to watch chip wtc_rd() and wtc_wr() 2019-04-23 10:41:10 -07:00
vax_watch.h VAX8200: Fix access to watch chip wtc_rd() and wtc_wr() 2019-04-23 10:41:10 -07:00
vax_xs.c VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vax_xs.h VAX: Added many different model VAX simulators 2019-04-21 16:29:45 -07:00
vaxmod_defs.h VAX, VAX780: Added hook for unpredictable indexed immediate 2019-04-23 22:58:02 -07:00
vcb02.bin MicroVAX2: Added new video device (VCB02) 2019-04-10 22:01:52 -07:00
VMB-exe-Patch.com Patched VMB.EXE to support boot block booting with the same logic that all of the ROM based VMB systems (MicroVAX I onward) handle interpreting the boot block. Many alternate operating system installation media assumes that all VAX boot logic works this way. 2013-03-24 12:37:35 -07:00
vmb.exe Patched VMB.EXE to support boot block booting with the same logic that all of the ROM based VMB systems (MicroVAX I onward) handle interpreting the boot block. Many alternate operating system installation media assumes that all VAX boot logic works this way. 2013-03-24 12:37:35 -07:00