1
0
mirror of https://github.com/simh/simh.git synced 2026-02-13 03:15:25 +00:00

Addition of DUP11 simulation to all Unibus simulators (PDP11, PDP10, and all Unibus VAXen)

This commit is contained in:
Mark Pizzolato
2013-05-27 16:24:18 -07:00
parent f30d43209e
commit 89bd58a6fa
21 changed files with 1215 additions and 3 deletions

View File

@@ -205,6 +205,7 @@ extern t_stat cpu_show_memory (FILE* st, UNIT* uptr, int32 val, void* desc);
#define VH_MUXES 4 /* max # of DHQ muxes */
#define DLX_LINES 16 /* max # of KL11/DL11's */
#define DCX_LINES 16 /* max # of DC11's */
#define DUP_LINES 8 /* max # of DUP11's */
#define MT_MAXFR (1 << 16) /* magtape max rec */
#define DEV_V_UBUS (DEV_V_UF + 0) /* Unibus */
@@ -256,6 +257,8 @@ typedef struct {
#define INT_V_XU 9
#define INT_V_DMCRX 10
#define INT_V_DMCTX 11
#define INT_V_DUPRX 12
#define INT_V_DUPTX 13
#define INT_V_LPT 0 /* BR4 */
#define INT_V_PTR 1
@@ -282,6 +285,8 @@ typedef struct {
#define INT_CR (1u << INT_V_CR)
#define INT_DMCRX (1u << INT_V_DMCRX)
#define INT_DMCTX (1u << INT_V_DMCTX)
#define INT_DUPRX (1u << INT_V_DUPRX)
#define INT_DUPTX (1u << INT_V_DUPTX)
#define IPL_DZRX (0x15 - IPL_HMIN)
#define IPL_DZTX (0x15 - IPL_HMIN)
@@ -301,6 +306,8 @@ typedef struct {
#define IPL_VHTX (0x14 - IPL_HMIN)
#define IPL_DMCRX (0x15 - IPL_HMIN)
#define IPL_DMCTX (0x15 - IPL_HMIN)
#define IPL_DUPRX (0x15 - IPL_HMIN)
#define IPL_DUPTX (0x15 - IPL_HMIN)
/* Device vectors */

View File

@@ -53,6 +53,7 @@ extern DEVICE dz_dev;
extern DEVICE vh_dev;
extern DEVICE xu_dev, xub_dev;
extern DEVICE dmc_dev[];
extern DEVICE dup_dev;
extern UNIT cpu_unit;
extern void WriteB (uint32 pa, int32 val);
@@ -88,6 +89,7 @@ DEVICE *sim_devices[] = {
&dmc_dev[1],
&dmc_dev[2],
&dmc_dev[3],
&dup_dev,
NULL
};

View File

@@ -295,6 +295,8 @@ typedef struct {
#define INT_V_XU 8
#define INT_V_DMCRX 9
#define INT_V_DMCTX 10
#define INT_V_DUPRX 11
#define INT_V_DUPTX 12
#define INT_V_LPT 0 /* BR4 */
#define INT_V_PTR 1
@@ -320,6 +322,8 @@ typedef struct {
#define INT_CR (1u << INT_V_CR)
#define INT_DMCRX (1u << INT_V_DMCRX)
#define INT_DMCTX (1u << INT_V_DMCTX)
#define INT_DUPRX (1u << INT_V_DUPRX)
#define INT_DUPTX (1u << INT_V_DUPTX)
#define IPL_DZRX (0x15 - IPL_HMIN)
#define IPL_DZTX (0x15 - IPL_HMIN)
@@ -338,6 +342,8 @@ typedef struct {
#define IPL_VHTX (0x14 - IPL_HMIN)
#define IPL_DMCRX (0x15 - IPL_HMIN)
#define IPL_DMCTX (0x15 - IPL_HMIN)
#define IPL_DUPRX (0x15 - IPL_HMIN)
#define IPL_DUPTX (0x15 - IPL_HMIN)
/* Device vectors */

View File

@@ -55,6 +55,7 @@ extern DEVICE dz_dev;
extern DEVICE vh_dev;
extern DEVICE xu_dev, xub_dev;
extern DEVICE dmc_dev[];
extern DEVICE dup_dev;
extern UNIT cpu_unit;
extern void WriteB (uint32 pa, int32 val);
@@ -93,6 +94,7 @@ DEVICE *sim_devices[] = {
&dmc_dev[1],
&dmc_dev[2],
&dmc_dev[3],
&dup_dev,
NULL
};

View File

@@ -247,6 +247,7 @@ extern t_stat cpu_show_memory (FILE* st, UNIT* uptr, int32 val, void* desc);
#define VH_MUXES 4 /* max # of DHU muxes */
#define DLX_LINES 16 /* max # of KL11/DL11's */
#define DCX_LINES 16 /* max # of DC11's */
#define DUP_LINES 8 /* max # of DUP11's */
#define MT_MAXFR (1 << 16) /* magtape max rec */
#define DEV_V_UBUS (DEV_V_UF + 0) /* Unibus */
@@ -306,6 +307,8 @@ typedef struct {
#define INT_V_XU 8
#define INT_V_DMCRX 9
#define INT_V_DMCTX 10
#define INT_V_DUPRX 11
#define INT_V_DUPTX 12
#define INT_V_LPT 0 /* BR4 */
#define INT_V_PTR 1
@@ -331,6 +334,8 @@ typedef struct {
#define INT_CR (1u << INT_V_CR)
#define INT_DMCRX (1u << INT_V_DMCRX)
#define INT_DMCTX (1u << INT_V_DMCTX)
#define INT_DUPRX (1u << INT_V_DUPRX)
#define INT_DUPTX (1u << INT_V_DUPTX)
#define IPL_DZRX (0x15 - IPL_HMIN)
#define IPL_DZTX (0x15 - IPL_HMIN)
@@ -349,6 +354,8 @@ typedef struct {
#define IPL_VHTX (0x14 - IPL_HMIN)
#define IPL_DMCRX (0x15 - IPL_HMIN)
#define IPL_DMCTX (0x15 - IPL_HMIN)
#define IPL_DUPRX (0x15 - IPL_HMIN)
#define IPL_DUPTX (0x15 - IPL_HMIN)
/* Device vectors */

View File

@@ -55,6 +55,7 @@ extern DEVICE dz_dev;
extern DEVICE vh_dev;
extern DEVICE xu_dev, xub_dev;
extern DEVICE dmc_dev[];
extern DEVICE dup_dev;
extern UNIT cpu_unit;
extern void WriteB (uint32 pa, int32 val);
@@ -95,6 +96,7 @@ DEVICE *sim_devices[] = {
&dmc_dev[1],
&dmc_dev[2],
&dmc_dev[3],
&dup_dev,
NULL
};

View File

@@ -342,6 +342,9 @@ typedef struct {
#define INT_V_XU 8
#define INT_V_DMCRX 9
#define INT_V_DMCTX 10
#define INT_V_DUPRX 11
#define INT_V_DUPTX 12
#define INT_V_LPT 0 /* BR4 */
#define INT_V_PTR 1
#define INT_V_PTP 2
@@ -366,6 +369,9 @@ typedef struct {
#define INT_CR (1u << INT_V_CR)
#define INT_DMCRX (1u << INT_V_DMCRX)
#define INT_DMCTX (1u << INT_V_DMCTX)
#define INT_DUPRX (1u << INT_V_DUPRX)
#define INT_DUPTX (1u << INT_V_DUPTX)
#define IPL_DZRX (0x15 - IPL_HMIN)
#define IPL_DZTX (0x15 - IPL_HMIN)
#define IPL_HK (0x15 - IPL_HMIN)
@@ -383,6 +389,8 @@ typedef struct {
#define IPL_VHTX (0x14 - IPL_HMIN)
#define IPL_DMCRX (0x15 - IPL_HMIN)
#define IPL_DMCTX (0x15 - IPL_HMIN)
#define IPL_DUPRX (0x15 - IPL_HMIN)
#define IPL_DUPTX (0x15 - IPL_HMIN)
/* Device vectors */

View File

@@ -55,6 +55,7 @@ extern DEVICE dz_dev;
extern DEVICE vh_dev;
extern DEVICE xu_dev, xub_dev;
extern DEVICE dmc_dev[];
extern DEVICE dup_dev;
extern UNIT cpu_unit;
extern void WriteB (uint32 pa, int32 val);
@@ -93,6 +94,7 @@ DEVICE *sim_devices[] = {
&dmc_dev[1],
&dmc_dev[2],
&dmc_dev[3],
&dup_dev,
NULL
};