mirror of
https://github.com/simh/simh.git
synced 2026-01-11 23:52:58 +00:00
VAXen with ROM boots: Fix missing boot file names
This commit is contained in:
parent
c540d2e3b1
commit
ede493ac41
@ -35,6 +35,8 @@
|
||||
|
||||
#include "vax_is1000_bin.h" /* Defines BOOT_CODE_FILENAME and BOOT_CODE_ARRAY, etc */
|
||||
|
||||
const char *boot_code_filename = BOOT_CODE_FILENAME;
|
||||
|
||||
t_stat is1000_boot (int32 flag, CONST char *ptr);
|
||||
|
||||
/* Special boot command, overrides regular boot */
|
||||
|
||||
@ -33,6 +33,8 @@
|
||||
|
||||
#include "vax_ka410_bin.h" /* Defines BOOT_CODE_FILENAME and BOOT_CODE_ARRAY, etc */
|
||||
|
||||
const char *boot_code_filename = BOOT_CODE_FILENAME;
|
||||
|
||||
t_stat vax410_boot (int32 flag, CONST char *ptr);
|
||||
|
||||
/* Special boot command, overrides regular boot */
|
||||
|
||||
@ -46,6 +46,7 @@
|
||||
#include "vax_ka42b_bin.h" /* Defines BOOT_CODE_FILENAME and BOOT_CODE_ARRAY, etc */
|
||||
#endif
|
||||
|
||||
const char *boot_code_filename = BOOT_CODE_FILENAME;
|
||||
|
||||
t_stat vax420_boot (int32 flag, CONST char *ptr);
|
||||
|
||||
|
||||
@ -34,6 +34,8 @@
|
||||
|
||||
#include "vax_ka43a_bin.h" /* Defines BOOT_CODE_FILENAME and BOOT_CODE_ARRAY, etc */
|
||||
|
||||
const char *boot_code_filename = BOOT_CODE_FILENAME;
|
||||
|
||||
t_stat vax43a_boot (int32 flag, CONST char *ptr);
|
||||
|
||||
/* Special boot command, overrides regular boot */
|
||||
|
||||
@ -40,6 +40,7 @@
|
||||
#include "vax_ka48a_bin.h" /* Defines BOOT_CODE_FILENAME and BOOT_CODE_ARRAY, etc */
|
||||
#endif
|
||||
|
||||
const char *boot_code_filename = BOOT_CODE_FILENAME;
|
||||
|
||||
t_stat vax460_boot (int32 flag, CONST char *ptr);
|
||||
|
||||
|
||||
@ -232,18 +232,17 @@ fprintf (st, "Read-only memory (ROM)\n\n");
|
||||
fprintf (st, "The boot ROM consists of a single unit, simulating the %uKB boot ROM. It has\n", ROMSIZE >> 10);
|
||||
fprintf (st, "no registers. The boot ROM is loaded with a binary byte stream using the \n");
|
||||
fprintf (st, "LOAD -r command:\n\n");
|
||||
fprintf (st, " LOAD -r %s load ROM image %s\n\n", BOOT_CODE_FILENAME, BOOT_CODE_FILENAME);
|
||||
fprintf (st, " LOAD -r %s load ROM image %s\n\n", boot_code_filename, boot_code_filename);
|
||||
fprintf (st, "When the simulator starts running (via the BOOT command), if the ROM has\n");
|
||||
if (BOOT_CODE_ARRAY != NULL) {
|
||||
fprintf (st, "not yet been loaded, an internal 'built-in' copy of the %s image\n", BOOT_CODE_FILENAME);
|
||||
#if !defined (DONT_USE_INTERNAL_ROM)
|
||||
fprintf (st, "not yet been loaded, an internal 'built-in' copy of the %s image\n", boot_code_filename);
|
||||
fprintf (st, "will be loaded into the ROM address space.\n");
|
||||
}
|
||||
else {
|
||||
#else
|
||||
fprintf (st, "not yet been loaded, an attempt will be made to automatically load the\n");
|
||||
fprintf (st, "ROM image from the file %s in the current working directory.\n", BOOT_CODE_FILENAME);
|
||||
fprintf (st, "ROM image from the file %s in the current working directory.\n", boot_code_filename);
|
||||
fprintf (st, "If that load attempt fails, then a copy of the missing ROM file is\n");
|
||||
fprintf (st, "written to the current directory and the load attempt is retried.\n");
|
||||
}
|
||||
#endif
|
||||
fprintf (st, "Once the ROM address space has been populated execution will be started.\n\n");
|
||||
fprintf (st, "ROM accesses a use a calibrated delay that slows ROM-based execution to\n");
|
||||
fprintf (st, "about 500K instructions per second. This delay is required to make the\n");
|
||||
|
||||
@ -262,18 +262,17 @@ fprintf (st, "Read-only memory (ROM)\n\n");
|
||||
fprintf (st, "The boot ROM consists of a single unit, simulating the %uKB boot ROM. It has\n", ROMSIZE >> 10);
|
||||
fprintf (st, "no registers. The boot ROM is loaded with a binary byte stream using the \n");
|
||||
fprintf (st, "LOAD -r command:\n\n");
|
||||
fprintf (st, " LOAD -r %s load ROM image %s\n\n", BOOT_CODE_FILENAME, BOOT_CODE_FILENAME);
|
||||
fprintf (st, " LOAD -r %s load ROM image %s\n\n", boot_code_filename, boot_code_filename);
|
||||
fprintf (st, "When the simulator starts running (via the BOOT command), if the ROM has\n");
|
||||
if (BOOT_CODE_ARRAY != NULL) {
|
||||
fprintf (st, "not yet been loaded, an internal 'built-in' copy of the %s image\n", BOOT_CODE_FILENAME);
|
||||
#if !defined (DONT_USE_INTERNAL_ROM)
|
||||
fprintf (st, "not yet been loaded, an internal 'built-in' copy of the %s image\n", boot_code_filename);
|
||||
fprintf (st, "will be loaded into the ROM address space.\n");
|
||||
}
|
||||
else {
|
||||
#else
|
||||
fprintf (st, "not yet been loaded, an attempt will be made to automatically load the\n");
|
||||
fprintf (st, "ROM image from the file %s in the current working directory.\n", BOOT_CODE_FILENAME);
|
||||
fprintf (st, "ROM image from the file %s in the current working directory.\n", boot_code_filename);
|
||||
fprintf (st, "If that load attempt fails, then a copy of the missing ROM file is\n");
|
||||
fprintf (st, "written to the current directory and the load attempt is retried.\n");
|
||||
}
|
||||
#endif
|
||||
fprintf (st, "Once the ROM address space has been populated execution will be started.\n\n");
|
||||
fprintf (st, "ROM accesses a use a calibrated delay that slows ROM-based execution to\n");
|
||||
fprintf (st, "about 500K instructions per second. This delay is required to make the\n");
|
||||
|
||||
@ -41,6 +41,7 @@
|
||||
#include "vax_ka630_bin.h" /* Defines BOOT_CODE_FILENAME and BOOT_CODE_ARRAY, etc */
|
||||
#endif
|
||||
|
||||
const char *boot_code_filename = BOOT_CODE_FILENAME;
|
||||
|
||||
#define UNIT_V_NODELAY (UNIT_V_UF + 0) /* ROM access equal to RAM access */
|
||||
#define UNIT_NODELAY (1u << UNIT_V_NODELAY)
|
||||
@ -347,18 +348,17 @@ fprintf (st, "Read-only memory (ROM)\n\n");
|
||||
fprintf (st, "The boot ROM consists of a single unit, simulating the %uKB boot ROM. It has\n", ROMSIZE >> 10);
|
||||
fprintf (st, "no registers. The boot ROM is loaded with a binary byte stream using the \n");
|
||||
fprintf (st, "LOAD -r command:\n\n");
|
||||
fprintf (st, " LOAD -r %s load ROM image %s\n\n", BOOT_CODE_FILENAME, BOOT_CODE_FILENAME);
|
||||
fprintf (st, " LOAD -r %s load ROM image %s\n\n", boot_code_filename, boot_code_filename);
|
||||
fprintf (st, "When the simulator starts running (via the BOOT command), if the ROM has\n");
|
||||
if (BOOT_CODE_ARRAY != NULL) {
|
||||
fprintf (st, "not yet been loaded, an internal 'built-in' copy of the %s image\n", BOOT_CODE_FILENAME);
|
||||
#if !defined (DONT_USE_INTERNAL_ROM)
|
||||
fprintf (st, "not yet been loaded, an internal 'built-in' copy of the %s image\n", boot_code_filename);
|
||||
fprintf (st, "will be loaded into the ROM address space.\n");
|
||||
}
|
||||
else {
|
||||
#else
|
||||
fprintf (st, "not yet been loaded, an attempt will be made to automatically load the\n");
|
||||
fprintf (st, "ROM image from the file %s in the current working directory.\n", BOOT_CODE_FILENAME);
|
||||
fprintf (st, "ROM image from the file %s in the current working directory.\n", boot_code_filename);
|
||||
fprintf (st, "If that load attempt fails, then a copy of the missing ROM file is\n");
|
||||
fprintf (st, "written to the current directory and the load attempt is retried.\n");
|
||||
}
|
||||
#endif
|
||||
fprintf (st, "Once the ROM address space has been populated execution will be started.\n\n");
|
||||
fprintf (st, "ROM accesses a use a calibrated delay that slows ROM-based execution to\n");
|
||||
fprintf (st, "about 500K instructions per second. This delay is required to make the\n");
|
||||
|
||||
@ -123,7 +123,6 @@ t_stat sim_load (FILE *fileref, CONST char *cptr, CONST char *fnam, int flag)
|
||||
{
|
||||
t_stat r;
|
||||
int32 i;
|
||||
extern void va_mem_wr_B (int32 pa, int32 val);
|
||||
uint32 origin, limit, step = 1;
|
||||
|
||||
if (flag) /* dump? */
|
||||
@ -139,10 +138,14 @@ else {
|
||||
step = 2;
|
||||
}
|
||||
else {
|
||||
#if !defined(VAX_620)
|
||||
if (sim_switches & SWMASK ('V')) { /* VCB02 ROM? */
|
||||
origin = QDMBASE;
|
||||
limit = QDMBASE + QDMSIZE;
|
||||
step = 1;
|
||||
#else
|
||||
if (0) {
|
||||
#endif
|
||||
}
|
||||
else {
|
||||
origin = 0; /* memory */
|
||||
@ -161,8 +164,15 @@ while ((i = Fgetc (fileref)) != EOF) { /* read byte stream */
|
||||
if (sim_switches & SWMASK ('R')) /* ROM? */
|
||||
rom_wr_B (origin, i); /* not writeable */
|
||||
else {
|
||||
if (sim_switches & SWMASK ('V')) /* VCB02 ROM? */
|
||||
#if !defined(VAX_620)
|
||||
if (sim_switches & SWMASK ('V')) { /* VCB02 ROM? */
|
||||
extern void va_mem_wr_B (int32 pa, int32 val);
|
||||
|
||||
va_mem_wr_B (origin, i);
|
||||
#else
|
||||
if (0) {
|
||||
#endif
|
||||
}
|
||||
else
|
||||
WriteB (origin, i); /* store byte */
|
||||
}
|
||||
|
||||
@ -49,7 +49,6 @@
|
||||
#endif
|
||||
|
||||
#include "sim_defs.h"
|
||||
#include <setjmp.h>
|
||||
|
||||
/* Stops and aborts */
|
||||
|
||||
@ -1043,5 +1042,6 @@ extern int32 int_req[IPL_HLVL]; /* intr, IPL 14-17 */
|
||||
extern uint32 *M; /* Memory */
|
||||
extern DEVICE cpu_dev; /* CPU */
|
||||
extern UNIT cpu_unit; /* CPU */
|
||||
extern const char *boot_code_filename;
|
||||
|
||||
#endif /* _VAX_DEFS_H */
|
||||
|
||||
@ -61,6 +61,8 @@
|
||||
|
||||
#include "vax_ka655x_bin.h" /* Defines BOOT_CODE_FILENAME and BOOT_CODE_ARRAY, etc */
|
||||
|
||||
const char *boot_code_filename = BOOT_CODE_FILENAME;
|
||||
|
||||
#define UNIT_V_NODELAY (UNIT_V_UF + 0) /* ROM access equal to RAM access */
|
||||
#define UNIT_NODELAY (1u << UNIT_V_NODELAY)
|
||||
|
||||
@ -604,18 +606,17 @@ fprintf (st, "Read-only memory (ROM)\n\n");
|
||||
fprintf (st, "The boot ROM consists of a single unit, simulating the %uKB boot ROM. It\n", ROMSIZE >> 10);
|
||||
fprintf (st, "has no registers. The boot ROM can be loaded with a binary byte stream\n");
|
||||
fprintf (st, "using the LOAD -r command:\n\n");
|
||||
fprintf (st, " LOAD -r %s load ROM image %s\n\n", BOOT_CODE_FILENAME, BOOT_CODE_FILENAME);
|
||||
fprintf (st, " LOAD -r %s load ROM image %s\n\n", boot_code_filename, boot_code_filename);
|
||||
fprintf (st, "When the simulator starts running (via the BOOT command), if the ROM has\n");
|
||||
if (BOOT_CODE_ARRAY != NULL) {
|
||||
fprintf (st, "not yet been loaded, an internal 'built-in' copy of the %s image\n", BOOT_CODE_FILENAME);
|
||||
#if !defined (DONT_USE_INTERNAL_ROM)
|
||||
fprintf (st, "not yet been loaded, an internal 'built-in' copy of the %s image\n", boot_code_filename);
|
||||
fprintf (st, "will be loaded into the ROM address space.\n");
|
||||
}
|
||||
else {
|
||||
#else
|
||||
fprintf (st, "not yet been loaded, an attempt will be made to automatically load the\n");
|
||||
fprintf (st, "ROM image from the file %s in the current working directory.\n", BOOT_CODE_FILENAME);
|
||||
fprintf (st, "If that load attempt fails, then a copy of the missing ROM file is\n");
|
||||
fprintf (st, "written to the current directory and the load attempt is retried.\n");
|
||||
}
|
||||
#endif
|
||||
fprintf (st, "Once the ROM address space has been populated execution will be started.\n\n");
|
||||
fprintf (st, "ROM accesses a use a calibrated delay that slows ROM-based execution to\n");
|
||||
fprintf (st, "about 500K instructions per second. This delay is required to make the\n");
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user