mirror of
https://github.com/simh/simh.git
synced 2026-02-10 18:21:15 +00:00
Added a SET CPU MODEL=(MicroVAX|VAXServer) to the VAX 3900 simulator
This commit is contained in:
@@ -1623,17 +1623,12 @@ if (*rom == 0) { /* no boot? */
|
||||
r = cpu_load_bootcode (BOOT_CODE_FILENAME, BOOT_CODE_ARRAY, BOOT_CODE_SIZE, TRUE, 0);
|
||||
if (r != SCPE_OK)
|
||||
return r;
|
||||
rom_wr_B (ROMBASE+4, sys_model ? 1 : 2); /* Set Magic Byte to determine system type */
|
||||
}
|
||||
sysd_powerup ();
|
||||
return SCPE_OK;
|
||||
}
|
||||
|
||||
t_stat cpu_print_model (FILE *st)
|
||||
{
|
||||
fprintf (st, "MicroVAX 3900 (KA655)");
|
||||
return SCPE_OK;
|
||||
}
|
||||
|
||||
t_stat sysd_set_halt (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
{
|
||||
ka_hltenab = val;
|
||||
@@ -1698,6 +1693,24 @@ char *sysd_description (DEVICE *dptr)
|
||||
{
|
||||
return "system devices";
|
||||
}
|
||||
t_stat cpu_set_model (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
{
|
||||
if ((cptr == NULL) || (!*cptr))
|
||||
return SCPE_ARG;
|
||||
if (MATCH_CMD(cptr, "VAXSERVER") == 0)
|
||||
sys_model = 0;
|
||||
else if (MATCH_CMD(cptr, "MICROVAX") == 0)
|
||||
sys_model = 1;
|
||||
else
|
||||
return SCPE_ARG;
|
||||
return SCPE_OK;
|
||||
}
|
||||
|
||||
t_stat cpu_print_model (FILE *st)
|
||||
{
|
||||
fprintf (st, "%s 3900 (KA655)", (sys_model ? "MicroVAX" : "VAXServer"));
|
||||
return SCPE_OK;
|
||||
}
|
||||
|
||||
t_stat cpu_model_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr)
|
||||
{
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
#include "vax_defs.h"
|
||||
|
||||
char sim_name[] = "VAX";
|
||||
char sim_name[] = "MicroVAX 3900";
|
||||
|
||||
extern DEVICE cpu_dev;
|
||||
extern DEVICE tlb_dev;
|
||||
|
||||
@@ -126,12 +126,12 @@
|
||||
{ UNIT_MSIZE, (1u << 27), NULL, "128M", &cpu_set_size }, \
|
||||
{ UNIT_MSIZE, (1u << 28), NULL, "256M", &cpu_set_size }, \
|
||||
{ UNIT_MSIZE, (1u << 29), NULL, "512M", &cpu_set_size }
|
||||
#define CPU_MODEL_MODIFIERS \
|
||||
{ MTAB_XTD|MTAB_VDV, 0, "MODEL", NULL, \
|
||||
NULL, &cpu_show_model }, \
|
||||
{ MTAB_XTD|MTAB_VDV, 0, "AUTOBOOT", "AUTOBOOT", \
|
||||
&sysd_set_halt, &sysd_show_halt }, \
|
||||
{ MTAB_XTD|MTAB_VDV|MTAB_NMO, 1, "NOAUTOBOOT", "NOAUTOBOOT",\
|
||||
#define CPU_MODEL_MODIFIERS \
|
||||
{ MTAB_XTD|MTAB_VDV, 0, "MODEL", "MODEL={VAXServer|MicroVAX}", \
|
||||
&cpu_set_model, &cpu_show_model }, \
|
||||
{ MTAB_XTD|MTAB_VDV, 0, "AUTOBOOT", "AUTOBOOT", \
|
||||
&sysd_set_halt, &sysd_show_halt }, \
|
||||
{ MTAB_XTD|MTAB_VDV|MTAB_NMO, 1, "NOAUTOBOOT", "NOAUTOBOOT", \
|
||||
&sysd_set_halt, &sysd_show_halt },
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user