VAX420: Added ROM patch to correct boot problem on MicroVAX 3100 M10/M20

This commit is contained in:
Matt Burke 2019-05-08 01:02:54 +01:00
parent 0dff31427f
commit 650cfd4864
5 changed files with 16422 additions and 16401 deletions

Binary file not shown.

24
VAX/ka41a_patch.com Normal file
View file

@ -0,0 +1,24 @@
$!
$! This procedure patches KA41A.BIN (V1.6) Boot ROM image to work under
$! the SIMH simulator
$!
$ PATCH /ABSOLUTE /NEW_VERSION /OUTPUT=KA41A.BIN KA41A_ORIG.BIN
!
! Test D - NVR
!
! - This appears to be a bug in the ROM code, which
! causes an endless loop if the NVR is not initialised.
! The subroutine loops until a particular value is found
! in the SIE register however the SIE is a constant and
! never matches the expected value. There are no other
! exit conditions from this loop. The KA41-D V1.0 ROM
! has the same subroutine however the loop is exited
! when the expected value is not found in the SIE.
!
REPLACE/INSTRUCTION 0284C = 'BNEQ 0000280E'
'BNEQ 0000285B'
EXIT
!
UPDATE
EXIT
$

View file

@ -1022,9 +1022,6 @@ if (*rom == 0) { /* no boot? */
#if defined (VAX_41A) || defined (VAX_41D)
rom_wr_B (ROMBASE+4, sys_model ? 2 : 1); /* Set Magic Byte to determine system type */
#endif
#if defined (VAX_41A)
rom_wr_B (ROMBASE+7, 8); /* ROM goes into endless loop without this? */
#endif
for (i = 0; i < OR_COUNT; i++) /* unmap all option ROMs */
or_unmap (i);
for (i = 0; (cdptr = sim_devices[i]) != NULL; i++) { /* loop over all devices */

File diff suppressed because it is too large Load diff

View file

@ -46,7 +46,7 @@ struct ROM_File_Descriptor {
{"VAX/ka410.bin", "VAX/vax_ka410_bin.h", 262144, 0xFEDA0B61, "vax_ka410_bin"},
{"VAX/ka411.bin", "VAX/vax_ka411_bin.h", 262144, 0xFECB7EE3, "vax_ka411_bin"},
{"VAX/ka412.bin", "VAX/vax_ka412_bin.h", 262144, 0xFED96BB4, "vax_ka412_bin"},
{"VAX/ka41a.bin", "VAX/vax_ka41a_bin.h", 262144, 0xFECBAC7B, "vax_ka41a_bin"},
{"VAX/ka41a.bin", "VAX/vax_ka41a_bin.h", 262144, 0xFECBAD2E, "vax_ka41a_bin"},
{"VAX/ka41d.bin", "VAX/vax_ka41d_bin.h", 262144, 0xFECB8513, "vax_ka41d_bin"},
{"VAX/ka42a.bin", "VAX/vax_ka42a_bin.h", 262144, 0xFED8967F, "vax_ka42a_bin"},
{"VAX/ka42b.bin", "VAX/vax_ka42b_bin.h", 262144, 0xFECBB2EF, "vax_ka42b_bin"},