From 8df4b94e7fdf20cf7890f61bffe73186f844c356 Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Tue, 29 Jan 2013 08:37:58 -0800 Subject: [PATCH] Added a SET CPU MODEL=(MicroVAX|VAXServer) to the VAX 3900 simulator --- README.md | 1 + VAX/vax_sysdev.c | 25 +++++++++++++++++++------ VAX/vax_syslist.c | 2 +- VAX/vaxmod_defs.h | 12 ++++++------ doc/simh_faq.doc | Bin 90624 -> 89600 bytes 5 files changed, 27 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index fc8864f0..c98975c5 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,7 @@ when connected to serial ports). DHU11 (device VH) on Unibus systems now has 16 ports per multiplexer. 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 Added support for TCP connections using IPv4 and/or IPv6. diff --git a/VAX/vax_sysdev.c b/VAX/vax_sysdev.c index 86353b26..d8b68bd2 100644 --- a/VAX/vax_sysdev.c +++ b/VAX/vax_sysdev.c @@ -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) { diff --git a/VAX/vax_syslist.c b/VAX/vax_syslist.c index fed69143..df1f9d38 100644 --- a/VAX/vax_syslist.c +++ b/VAX/vax_syslist.c @@ -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; diff --git a/VAX/vaxmod_defs.h b/VAX/vaxmod_defs.h index 1d03939a..a037e9ae 100644 --- a/VAX/vaxmod_defs.h +++ b/VAX/vaxmod_defs.h @@ -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 }, diff --git a/doc/simh_faq.doc b/doc/simh_faq.doc index 244ecfd54cbe84a3af8eabcb8de4b47f06df04ea..fc2ddb1349eeab4b35c053db203ecd50d36e252a 100644 GIT binary patch delta 8344 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