Added DMC11 Device to the VAX simulator
This commit is contained in:
parent
f8ae8d2741
commit
ecbbcc7228
4 changed files with 29 additions and 2 deletions
|
@ -51,6 +51,8 @@ extern DEVICE dz_dev;
|
||||||
extern DEVICE csi_dev, cso_dev;
|
extern DEVICE csi_dev, cso_dev;
|
||||||
extern DEVICE xq_dev, xqb_dev;
|
extern DEVICE xq_dev, xqb_dev;
|
||||||
extern DEVICE vh_dev;
|
extern DEVICE vh_dev;
|
||||||
|
extern DEVICE dmc_dev[];
|
||||||
|
extern DEVICE dmp_dev[];
|
||||||
|
|
||||||
extern int32 sim_switches;
|
extern int32 sim_switches;
|
||||||
extern void WriteB (uint32 pa, int32 val);
|
extern void WriteB (uint32 pa, int32 val);
|
||||||
|
@ -83,6 +85,11 @@ DEVICE *sim_devices[] = {
|
||||||
&tq_dev,
|
&tq_dev,
|
||||||
&xq_dev,
|
&xq_dev,
|
||||||
&xqb_dev,
|
&xqb_dev,
|
||||||
|
&dmc_dev[0],
|
||||||
|
&dmc_dev[1],
|
||||||
|
&dmc_dev[2],
|
||||||
|
&dmc_dev[3],
|
||||||
|
&dmp_dev[0],
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -318,6 +318,8 @@ typedef struct {
|
||||||
#define IOLN_PTR 004
|
#define IOLN_PTR 004
|
||||||
#define IOBA_PTP (IOPAGEBASE + 017554) /* PC11 punch */
|
#define IOBA_PTP (IOPAGEBASE + 017554) /* PC11 punch */
|
||||||
#define IOLN_PTP 004
|
#define IOLN_PTP 004
|
||||||
|
#define IOBA_DMC (IOPAGEBASE + 017060) /* DMC11 */
|
||||||
|
#define IOLN_DMC 010
|
||||||
|
|
||||||
/* The KA65x maintains 4 separate hardware IPL levels, IPL 17 to IPL 14;
|
/* The KA65x maintains 4 separate hardware IPL levels, IPL 17 to IPL 14;
|
||||||
however, DEC Qbus controllers all interrupt on IPL 14
|
however, DEC Qbus controllers all interrupt on IPL 14
|
||||||
|
@ -356,6 +358,8 @@ typedef struct {
|
||||||
#define INT_V_VHTX 18
|
#define INT_V_VHTX 18
|
||||||
#define INT_V_QDSS 19 /* QDSS */
|
#define INT_V_QDSS 19 /* QDSS */
|
||||||
#define INT_V_CR 20
|
#define INT_V_CR 20
|
||||||
|
#define INT_V_DMCRX 21 /* DMC11 */
|
||||||
|
#define INT_V_DMCTX 22
|
||||||
|
|
||||||
#define INT_CLK (1u << INT_V_CLK)
|
#define INT_CLK (1u << INT_V_CLK)
|
||||||
#define INT_RQ (1u << INT_V_RQ)
|
#define INT_RQ (1u << INT_V_RQ)
|
||||||
|
@ -379,6 +383,8 @@ typedef struct {
|
||||||
#define INT_VHTX (1u << INT_V_VHTX)
|
#define INT_VHTX (1u << INT_V_VHTX)
|
||||||
#define INT_QDSS (1u << INT_V_QDSS)
|
#define INT_QDSS (1u << INT_V_QDSS)
|
||||||
#define INT_CR (1u << INT_V_CR)
|
#define INT_CR (1u << INT_V_CR)
|
||||||
|
#define INT_DMCRX (1u << INT_V_DMCRX)
|
||||||
|
#define INT_DMCTX (1u << INT_V_DMCTX)
|
||||||
|
|
||||||
#define IPL_CLK (0x16 - IPL_HMIN) /* relative IPL */
|
#define IPL_CLK (0x16 - IPL_HMIN) /* relative IPL */
|
||||||
#define IPL_RQ (0x14 - IPL_HMIN)
|
#define IPL_RQ (0x14 - IPL_HMIN)
|
||||||
|
@ -402,6 +408,8 @@ typedef struct {
|
||||||
#define IPL_VHTX (0x14 - IPL_HMIN)
|
#define IPL_VHTX (0x14 - IPL_HMIN)
|
||||||
#define IPL_QDSS (0x14 - IPL_HMIN)
|
#define IPL_QDSS (0x14 - IPL_HMIN)
|
||||||
#define IPL_CR (0x14 - IPL_HMIN)
|
#define IPL_CR (0x14 - IPL_HMIN)
|
||||||
|
#define IPL_DMCRX (0x14 - IPL_HMIN)
|
||||||
|
#define IPL_DMCTX (0x14 - IPL_HMIN)
|
||||||
|
|
||||||
#define IPL_HMAX 0x17 /* highest hwre level */
|
#define IPL_HMAX 0x17 /* highest hwre level */
|
||||||
#define IPL_HMIN 0x14 /* lowest hwre level */
|
#define IPL_HMIN 0x14 /* lowest hwre level */
|
||||||
|
@ -428,6 +436,8 @@ typedef struct {
|
||||||
#define VEC_DZTX (VEC_Q + 0304)
|
#define VEC_DZTX (VEC_Q + 0304)
|
||||||
#define VEC_VHRX (VEC_Q + 0310)
|
#define VEC_VHRX (VEC_Q + 0310)
|
||||||
#define VEC_VHTX (VEC_Q + 0314)
|
#define VEC_VHTX (VEC_Q + 0314)
|
||||||
|
#define VEC_DMCRX (VEC_Q + 0310)
|
||||||
|
#define VEC_DMCTX (VEC_Q + 0314)
|
||||||
|
|
||||||
/* Interrupt macros */
|
/* Interrupt macros */
|
||||||
|
|
||||||
|
|
|
@ -207,6 +207,10 @@
|
||||||
RelativePath="..\PDP11\pdp11_cr.c"
|
RelativePath="..\PDP11\pdp11_cr.c"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\PDP11\pdp11_dmc.c"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\PDP11\pdp11_dz.c"
|
RelativePath="..\PDP11\pdp11_dz.c"
|
||||||
>
|
>
|
||||||
|
@ -365,6 +369,10 @@
|
||||||
Name="Header Files"
|
Name="Header Files"
|
||||||
Filter="h;hpp;hxx;hm;inl;inc"
|
Filter="h;hpp;hxx;hm;inl;inc"
|
||||||
>
|
>
|
||||||
|
<File
|
||||||
|
RelativePath="..\PDP11\pdp11_dmc.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\PDP11\pdp11_io_lib.h"
|
RelativePath="..\PDP11\pdp11_io_lib.h"
|
||||||
>
|
>
|
||||||
|
|
|
@ -616,7 +616,8 @@ VAX_SOURCE2 = $(PDP11_DIR)PDP11_IO_LIB.C,\
|
||||||
$(PDP11_DIR)PDP11_TS.C,$(PDP11_DIR)PDP11_DZ.C,\
|
$(PDP11_DIR)PDP11_TS.C,$(PDP11_DIR)PDP11_DZ.C,\
|
||||||
$(PDP11_DIR)PDP11_LP.C,$(PDP11_DIR)PDP11_TQ.C,\
|
$(PDP11_DIR)PDP11_LP.C,$(PDP11_DIR)PDP11_TQ.C,\
|
||||||
$(PDP11_DIR)PDP11_XQ.C,$(PDP11_DIR)PDP11_CR.C,\
|
$(PDP11_DIR)PDP11_XQ.C,$(PDP11_DIR)PDP11_CR.C,\
|
||||||
$(PDP11_DIR)PDP11_RY.C,$(PDP11_DIR)PDP11_VH.C
|
$(PDP11_DIR)PDP11_RY.C,$(PDP11_DIR)PDP11_VH.C,\
|
||||||
|
$(PDP11_DIR)PDP11_DMC.C
|
||||||
.IFDEF ALPHA_OR_IA64
|
.IFDEF ALPHA_OR_IA64
|
||||||
VAX_OPTIONS = /INCL=($(SIMH_DIR),$(VAX_DIR),$(PDP11_DIR)$(PCAP_INC))\
|
VAX_OPTIONS = /INCL=($(SIMH_DIR),$(VAX_DIR),$(PDP11_DIR)$(PCAP_INC))\
|
||||||
/DEF=($(CC_DEFS),"VM_VAX=1","USE_ADDR64=1","USE_INT64=1"$(PCAP_DEFS))
|
/DEF=($(CC_DEFS),"VM_VAX=1","USE_ADDR64=1","USE_INT64=1"$(PCAP_DEFS))
|
||||||
|
@ -646,7 +647,8 @@ VAX780_SOURCE2 = $(PDP11_DIR)PDP11_RL.C,$(PDP11_DIR)PDP11_RQ.C,\
|
||||||
$(PDP11_DIR)PDP11_XU.C,$(PDP11_DIR)PDP11_RY.C,\
|
$(PDP11_DIR)PDP11_XU.C,$(PDP11_DIR)PDP11_RY.C,\
|
||||||
$(PDP11_DIR)PDP11_CR.C,$(PDP11_DIR)PDP11_RP.C,\
|
$(PDP11_DIR)PDP11_CR.C,$(PDP11_DIR)PDP11_RP.C,\
|
||||||
$(PDP11_DIR)PDP11_TU.C,$(PDP11_DIR)PDP11_HK.C,\
|
$(PDP11_DIR)PDP11_TU.C,$(PDP11_DIR)PDP11_HK.C,\
|
||||||
$(PDP11_DIR)PDP11_VH.C,$(PDP11_DIR)PDP11_IO_LIB.C
|
$(PDP11_DIR)PDP11_VH.C,$(PDP11_DIR)PDP11_DMC.C,\
|
||||||
|
$(PDP11_DIR)PDP11_IO_LIB.C
|
||||||
.IFDEF ALPHA_OR_IA64
|
.IFDEF ALPHA_OR_IA64
|
||||||
VAX780_OPTIONS = /INCL=($(SIMH_DIR),$(VAX780_DIR),$(PDP11_DIR)$(PCAP_INC))\
|
VAX780_OPTIONS = /INCL=($(SIMH_DIR),$(VAX780_DIR),$(PDP11_DIR)$(PCAP_INC))\
|
||||||
/DEF=($(CC_DEFS),"VM_VAX=1","USE_ADDR64=1","USE_INT64=1"$(PCAP_DEFS),"VAX_780=1")
|
/DEF=($(CC_DEFS),"VM_VAX=1","USE_ADDR64=1","USE_INT64=1"$(PCAP_DEFS),"VAX_780=1")
|
||||||
|
|
Loading…
Add table
Reference in a new issue