diff --git a/PDP11/pdp11_cpumod.c b/PDP11/pdp11_cpumod.c index d21ff0a6..3d6f1124 100644 --- a/PDP11/pdp11_cpumod.c +++ b/PDP11/pdp11_cpumod.c @@ -250,7 +250,7 @@ CNFTAB cnf_tab[] = { static const char *opt_name[] = { "Unibus", "Qbus", "EIS", "NOEIS", "FIS", "NOFIS", "FPP", "NOFPP", "CIS", "NOCIS", "MMU", "NOMMU", - "RH11", "RH70", "PARITY", "NOPARITY", "Unibus map", "No map", + "Unused", "Unused", "PARITY", "NOPARITY", "Unibus map", "No map", "BEVENT enabled", "BEVENT disabled", NULL }; diff --git a/PDP11/pdp11_cpumod.h b/PDP11/pdp11_cpumod.h index 98100849..37d7b279 100644 --- a/PDP11/pdp11_cpumod.h +++ b/PDP11/pdp11_cpumod.h @@ -1,6 +1,6 @@ /* pdp11_cpumod.h: PDP-11 CPU model definitions - Copyright (c) 2004-2021, Robert M Supnik + Copyright (c) 2004-2022, Robert M Supnik Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), @@ -84,7 +84,7 @@ #define MM0_1144 0160557 #define MM3_1144 0000077 -#define SOP_1145 (BUS_U|OPT_EIS|OPT_FPP|OPT_MMU|OPT_RH11) +#define SOP_1145 (BUS_U|OPT_EIS|OPT_FPP|OPT_MMU) #define OPT_1145 (OPT_FPP|OPT_MMU) #define PSW_1145 0174377 #define PAR_1145 0007777 @@ -100,7 +100,7 @@ #define MM0_1160 0160557 #define SOP_1170 (BUS_U|OPT_EIS|OPT_FPP|OPT_MMU|OPT_UBM) -#define OPT_1170 (OPT_FPP|OPT_RH11) +#define OPT_1170 (OPT_FPP) #define PSW_1170 0174377 #define PAR_1170 0177777 #define PDR_1170 0077717 @@ -124,13 +124,13 @@ #define SOP_1183 (BUS_Q|OPT_EIS|OPT_FPP|OPT_MMU) #define OPT_1183 (OPT_CIS) -#define SOP_1184 (BUS_U|OPT_EIS|OPT_FPP|OPT_MMU|OPT_UBM|OPT_RH11) +#define SOP_1184 (BUS_U|OPT_EIS|OPT_FPP|OPT_MMU|OPT_UBM) #define OPT_1184 (OPT_CIS) #define SOP_1193 (BUS_Q|OPT_EIS|OPT_FPP|OPT_MMU) #define OPT_1193 (OPT_CIS) -#define SOP_1194 (BUS_U|OPT_EIS|OPT_FPP|OPT_MMU|OPT_UBM|OPT_RH11) +#define SOP_1194 (BUS_U|OPT_EIS|OPT_FPP|OPT_MMU|OPT_UBM) #define OPT_1194 (OPT_CIS) #define MOD_MAX 20 diff --git a/PDP11/pdp11_defs.h b/PDP11/pdp11_defs.h index 89737084..52e9a1bf 100644 --- a/PDP11/pdp11_defs.h +++ b/PDP11/pdp11_defs.h @@ -1,6 +1,6 @@ /* pdp11_defs.h: PDP-11 simulator definitions - Copyright (c) 1993-2017, Robert M Supnik + Copyright (c) 1993-2022, Robert M Supnik Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), @@ -26,6 +26,7 @@ The author gratefully acknowledges the help of Max Burnet, Megan Gentry, and John Wilson in resolving questions about the PDP-11 + 25-Jul-22 RMS Removed OPT_RH11 (Mark Pizzolato) 10-Feb-17 RMS Fixed RJS11 register block length (Mark Hill) 19-Jan-17 RMS Moved CR11 to BR6, leaving CD11 at BR4 (Mark Pizzolato) 10-Mar-16 RMS Added UC15 support @@ -173,7 +174,7 @@ #define OPT_FPP (1u << 3) /* FPP */ #define OPT_CIS (1u << 4) /* CIS */ #define OPT_MMU (1u << 5) /* MMU */ -#define OPT_RH11 (1u << 6) /* RH11 */ +#define OPT_RSRV (1u << 6) /* unused */ #define OPT_PAR (1u << 7) /* parity */ #define OPT_UBM (1u << 8) /* UBM */ #define OPT_BVT (1u << 9) /* BEVENT */ diff --git a/PDP11/pdp11_rh.c b/PDP11/pdp11_rh.c index 548b4946..5d2d5cb7 100644 --- a/PDP11/pdp11_rh.c +++ b/PDP11/pdp11_rh.c @@ -1,6 +1,6 @@ /* pdp11_rh.c: PDP-11 Massbus adapter simulator - Copyright (c) 2005-2013, Robert M Supnik + Copyright (c) 2005-2022, Robert M Supnik Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), @@ -25,6 +25,7 @@ rha, rhb RH11/RH70 Massbus adapter + 25-Jul-22 RMS Removed OPT_RH11, changed adapter type test 02-Sep-13 RMS Added third Massbus adapter, debug printouts 19-Mar-12 RMS Fixed declaration of cpu_opt (Mark Pizzolato) 02-Feb-08 RMS Fixed DMA memory address limit test (John Dundas) @@ -145,7 +146,7 @@ /* Declarations */ -#define RH11 (cpu_opt & OPT_RH11) +#define RH11 (UNIBUS && (cpu_model != MOD_1170)) typedef struct { uint32 cs1; /* ctrl/status 1 */ @@ -160,7 +161,7 @@ typedef struct { MBACTX massbus[MBA_NUM]; -extern uint32 cpu_opt; +extern uint32 cpu_opt, cpu_model; extern int32 cpu_bme; extern uint16 *M; extern int32 int_req[IPL_HLVL]; @@ -169,7 +170,6 @@ extern UNIT cpu_unit; t_stat mba_reset (DEVICE *dptr); t_stat mba_rd (int32 *val, int32 pa, int32 access); t_stat mba_wr (int32 val, int32 pa, int32 access); -t_stat mba_set_type (UNIT *uptr, int32 val, char *cptr, void *desc); t_stat mba_show_type (FILE *st, UNIT *uptr, int32 val, void *desc); int32 mba0_inta (void); int32 mba1_inta (void); @@ -180,7 +180,6 @@ void mba_upd_cs1 (uint32 set, uint32 clr, uint32 mb); void mba_set_cs2 (uint32 flg, uint32 mb); int32 mba_map_pa (int32 pa, int32 *ofs); - extern uint32 Map_Addr (uint32 ba); /* Massbus register dispatches */ @@ -235,6 +234,8 @@ MTAB mba0_mod[] = { &set_addr, &show_addr, NULL }, { MTAB_XTD|MTAB_VDV, 0, "VECTOR", "VECTOR", &set_vec, &show_vec, NULL }, + { MTAB_XTD|MTAB_VDV, 0, "TYPE", NULL, + NULL, &mba_show_type, NULL }, { 0 } }; @@ -268,6 +269,8 @@ MTAB mba1_mod[] = { &set_addr, &show_addr, NULL }, { MTAB_XTD|MTAB_VDV, 0, "VECTOR", "VECTOR", &set_vec, &show_vec, NULL }, + { MTAB_XTD|MTAB_VDV, 0, "TYPE", NULL, + NULL, &mba_show_type, NULL }, { 0 } }; @@ -301,6 +304,8 @@ MTAB mba2_mod[] = { &set_addr, &show_addr, NULL }, { MTAB_XTD|MTAB_VDV, 0, "VECTOR", "VECTOR", &set_vec, &show_vec, NULL }, + { MTAB_XTD|MTAB_VDV, 0, "TYPE", NULL, + NULL, &mba_show_type, NULL }, { 0 } }; @@ -864,6 +869,18 @@ fprintf (st, "Massbus adapter %d", dibp->ba); return SCPE_OK; } +/* Show adapter type */ + +t_stat mba_show_type (FILE *st, UNIT *uptr, int32 val, void *desc) +{ +if (RH11) + fprintf (st, "RH11"); +else if (UNIBUS) + fprintf (st, "RH70"); +else fprintf (st, "RH70 emulator"); +return SCPE_OK; +} + /* Init Mbus tables */ void init_mbus_tab (void) diff --git a/PDP11/pdp11_vh.c b/PDP11/pdp11_vh.c index 487e3808..7c179711 100644 --- a/PDP11/pdp11_vh.c +++ b/PDP11/pdp11_vh.c @@ -1,6 +1,6 @@ /* pdp11_vh.c: DHQ11 asynchronous terminal multiplexor simulator - Copyright (c) 2004-2018, John A. Dundas III + Copyright (c) 2004-2022, John A. Dundas III Portions derived from work by Robert M Supnik Permission is hereby granted, free of charge, to any person obtaining a