Added a SET CPU MODEL=(MicroVAX|VAXServer) to the VAX 3900 simulator
This commit is contained in:
parent
659873bebb
commit
8df4b94e7f
5 changed files with 27 additions and 13 deletions
|
@ -27,6 +27,7 @@
|
||||||
when connected to serial ports).
|
when connected to serial ports).
|
||||||
DHU11 (device VH) on Unibus systems now has 16 ports per multiplexer.
|
DHU11 (device VH) on Unibus systems now has 16 ports per multiplexer.
|
||||||
MicroVAX 3900 and MicroVAX II have SET CPU AUTOBOOT option
|
MicroVAX 3900 and MicroVAX II have SET CPU AUTOBOOT option
|
||||||
|
MicroVAX 3900 has a SET CPU MODEL=(MicroVAX|VAXServer) command to change between system types
|
||||||
|
|
||||||
#### Terminal Multiplexer additions
|
#### Terminal Multiplexer additions
|
||||||
Added support for TCP connections using IPv4 and/or IPv6.
|
Added support for TCP connections using IPv4 and/or IPv6.
|
||||||
|
|
|
@ -1623,17 +1623,12 @@ if (*rom == 0) { /* no boot? */
|
||||||
r = cpu_load_bootcode (BOOT_CODE_FILENAME, BOOT_CODE_ARRAY, BOOT_CODE_SIZE, TRUE, 0);
|
r = cpu_load_bootcode (BOOT_CODE_FILENAME, BOOT_CODE_ARRAY, BOOT_CODE_SIZE, TRUE, 0);
|
||||||
if (r != SCPE_OK)
|
if (r != SCPE_OK)
|
||||||
return r;
|
return r;
|
||||||
|
rom_wr_B (ROMBASE+4, sys_model ? 1 : 2); /* Set Magic Byte to determine system type */
|
||||||
}
|
}
|
||||||
sysd_powerup ();
|
sysd_powerup ();
|
||||||
return SCPE_OK;
|
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)
|
t_stat sysd_set_halt (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||||
{
|
{
|
||||||
ka_hltenab = val;
|
ka_hltenab = val;
|
||||||
|
@ -1698,6 +1693,24 @@ char *sysd_description (DEVICE *dptr)
|
||||||
{
|
{
|
||||||
return "system devices";
|
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)
|
t_stat cpu_model_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr)
|
||||||
{
|
{
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
|
|
||||||
#include "vax_defs.h"
|
#include "vax_defs.h"
|
||||||
|
|
||||||
char sim_name[] = "VAX";
|
char sim_name[] = "MicroVAX 3900";
|
||||||
|
|
||||||
extern DEVICE cpu_dev;
|
extern DEVICE cpu_dev;
|
||||||
extern DEVICE tlb_dev;
|
extern DEVICE tlb_dev;
|
||||||
|
|
|
@ -127,8 +127,8 @@
|
||||||
{ UNIT_MSIZE, (1u << 28), NULL, "256M", &cpu_set_size }, \
|
{ UNIT_MSIZE, (1u << 28), NULL, "256M", &cpu_set_size }, \
|
||||||
{ UNIT_MSIZE, (1u << 29), NULL, "512M", &cpu_set_size }
|
{ UNIT_MSIZE, (1u << 29), NULL, "512M", &cpu_set_size }
|
||||||
#define CPU_MODEL_MODIFIERS \
|
#define CPU_MODEL_MODIFIERS \
|
||||||
{ MTAB_XTD|MTAB_VDV, 0, "MODEL", NULL, \
|
{ MTAB_XTD|MTAB_VDV, 0, "MODEL", "MODEL={VAXServer|MicroVAX}", \
|
||||||
NULL, &cpu_show_model }, \
|
&cpu_set_model, &cpu_show_model }, \
|
||||||
{ MTAB_XTD|MTAB_VDV, 0, "AUTOBOOT", "AUTOBOOT", \
|
{ MTAB_XTD|MTAB_VDV, 0, "AUTOBOOT", "AUTOBOOT", \
|
||||||
&sysd_set_halt, &sysd_show_halt }, \
|
&sysd_set_halt, &sysd_show_halt }, \
|
||||||
{ MTAB_XTD|MTAB_VDV|MTAB_NMO, 1, "NOAUTOBOOT", "NOAUTOBOOT", \
|
{ MTAB_XTD|MTAB_VDV|MTAB_NMO, 1, "NOAUTOBOOT", "NOAUTOBOOT", \
|
||||||
|
|
BIN
doc/simh_faq.doc
BIN
doc/simh_faq.doc
Binary file not shown.
Loading…
Add table
Reference in a new issue