From 2c141364739a37c5e7c25412f13c81eb9064055a Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Wed, 19 Dec 2012 11:33:39 -0800 Subject: [PATCH] Added DMC to VAX730, VAX750, VAX620 and VAX630 and VH to VAX730, and VAX750. --- PDP11/pdp11_defs.h | 8 +- PDP11/pdp11_vh.c | 5 +- VAX/vax610_defs.h | 6 +- VAX/vax630_defs.h | 12 ++- VAX/vax730_defs.h | 16 +++ VAX/vax730_syslist.c | 7 ++ VAX/vax750_defs.h | 16 +++ VAX/vax750_syslist.c | 7 ++ VAX/vax780_defs.h | 12 +-- VAX/vaxmod_defs.h | 6 +- Visual Studio Projects/PDP10.vcproj | 4 - Visual Studio Projects/VAX620.vcproj | 8 ++ Visual Studio Projects/VAX630.vcproj | 8 ++ Visual Studio Projects/VAX730.vcproj | 12 +++ Visual Studio Projects/VAX750.vcproj | 12 +++ descrip.mms | 141 ++++++++++++++++++++++++++- makefile | 9 +- 17 files changed, 259 insertions(+), 30 deletions(-) diff --git a/PDP11/pdp11_defs.h b/PDP11/pdp11_defs.h index bf79a4f7..bfa0e01b 100644 --- a/PDP11/pdp11_defs.h +++ b/PDP11/pdp11_defs.h @@ -518,6 +518,8 @@ typedef struct pdp_dib DIB; /* I/O page layout - XUB, RQB,RQC,RQD float based on number of DZ's */ +#define IOBA_FLOAT (0) /* Assigned by Auto Configure */ + #define IOBA_DZ (IOPAGEBASE + 000100) /* DZ11 */ #define IOLN_DZ 010 #define IOBA_XUB (IOPAGEBASE + 000330 + (020 * (DZ_MUXES / 2))) @@ -528,8 +530,6 @@ typedef struct pdp_dib DIB; #define IOLN_RQC 004 #define IOBA_RQD (IOPAGEBASE + IOBA_RQC + IOLN_RQC) #define IOLN_RQD 004 -#define IOBA_VH (IOPAGEBASE + 000440) /* DHQ11 */ -#define IOLN_VH 020 #define IOBA_UBM (IOPAGEBASE + 010200) /* Unibus map */ #define IOLN_UBM (UBM_LNT_LW * sizeof (int32)) #define IOBA_KG (IOPAGEBASE + 010700) /* KG11-A */ @@ -780,6 +780,8 @@ typedef struct pdp_dib DIB; /* Device vectors */ +#define VEC_FLOAT (0) /* Assigned by Auto Configure */ + #define VEC_Q 0000 /* vector base */ #define VEC_PIRQ 0240 #define VEC_TTI 0060 @@ -813,8 +815,6 @@ typedef struct pdp_dib DIB; #define VEC_DCO 0304 #define VEC_DZRX 0300 #define VEC_DZTX 0304 -#define VEC_VHRX 0310 -#define VEC_VHTX 0314 /* Interrupt macros */ diff --git a/PDP11/pdp11_vh.c b/PDP11/pdp11_vh.c index 23722268..c193cbe0 100644 --- a/PDP11/pdp11_vh.c +++ b/PDP11/pdp11_vh.c @@ -341,15 +341,16 @@ static t_stat vh_set_nolog (UNIT *uptr, int32 val, char *cptr, void *desc); static t_stat vh_show_log (FILE *st, UNIT *uptr, int32 val, void *desc); /* SIMH I/O Structures */ +#define IOLN_VH 020 static DIB vh_dib = { - IOBA_VH, + IOBA_FLOAT, IOLN_VH * VH_MUXES, &vh_rd, /* read */ &vh_wr, /* write */ 2, /* # of vectors */ IVCL (VHRX), - VEC_VHRX, + VEC_FLOAT, { &vh_rxinta, &vh_txinta } /* int. ack. routines */ }; diff --git a/VAX/vax610_defs.h b/VAX/vax610_defs.h index 01609c81..d90b9f83 100644 --- a/VAX/vax610_defs.h +++ b/VAX/vax610_defs.h @@ -190,6 +190,8 @@ typedef struct { /* I/O page layout - RQB,RQC,RQD float based on number of DZ's */ +#define IOBA_FLOAT (0) /* Assigned by Auto Configure */ + #define IOBA_DZ (IOPAGEBASE + 000100) /* DZ11 */ #define IOLN_DZ 010 #define IOBA_RQB (IOPAGEBASE + 000334 + (020 * (DZ_MUXES / 2))) @@ -198,8 +200,6 @@ typedef struct { #define IOLN_RQC 004 #define IOBA_RQD (IOPAGEBASE + IOBA_RQC + IOLN_RQC) #define IOLN_RQD 004 -#define IOBA_VH (IOPAGEBASE + 000440) /* DHQ11 */ -#define IOLN_VH 020 #define IOBA_MEM (IOPAGEBASE + 012100) /* MSV11-P */ #define IOLN_MEM 040 #define IOBA_RQ (IOPAGEBASE + 012150) /* RQDX3 */ @@ -331,6 +331,8 @@ typedef struct { /* Device vectors */ +#define VEC_FLOAT (0) /* Assigned by Auto Configure */ + #define VEC_QBUS 1 /* Qbus system */ #define VEC_Q 0x200 /* Qbus vector offset */ #define VEC_PTR (VEC_Q + 0070) diff --git a/VAX/vax630_defs.h b/VAX/vax630_defs.h index 1c150f2b..9e91fa1a 100644 --- a/VAX/vax630_defs.h +++ b/VAX/vax630_defs.h @@ -235,6 +235,8 @@ typedef struct { /* I/O page layout - RQB,RQC,RQD float based on number of DZ's */ +#define IOBA_FLOAT (0) /* Assigned by Auto Configure */ + #define IOBA_DZ (IOPAGEBASE + 000100) /* DZ11 */ #define IOLN_DZ 010 #define IOBA_RQB (IOPAGEBASE + 000334 + (020 * (DZ_MUXES / 2))) @@ -243,8 +245,6 @@ typedef struct { #define IOLN_RQC 004 #define IOBA_RQD (IOPAGEBASE + IOBA_RQC + IOLN_RQC) #define IOLN_RQD 004 -#define IOBA_VH (IOPAGEBASE + 000440) /* DHQ11 */ -#define IOLN_VH 020 #define IOBA_RQ (IOPAGEBASE + 012150) /* RQDX3 */ #define IOLN_RQ 004 #define IOBA_TS (IOPAGEBASE + 012520) /* TS11 */ @@ -318,6 +318,8 @@ typedef struct { #define INT_V_QDSS 19 /* QDSS */ #define INT_V_CR 20 #define INT_V_QVSS 21 /* QVSS */ +#define INT_V_DMCRX 22 +#define INT_V_DMCTX 23 #define INT_CLK (1u << INT_V_CLK) #define INT_RQ (1u << INT_V_RQ) @@ -342,6 +344,8 @@ typedef struct { #define INT_QDSS (1u << INT_V_QDSS) #define INT_CR (1u << INT_V_CR) #define INT_QVSS (1u << INT_V_QVSS) +#define INT_DMCRX (1u << INT_V_DMCRX) +#define INT_DMCTX (1u << INT_V_DMCTX) #define IPL_CLK (0x16 - IPL_HMIN) /* relative IPL */ #define IPL_RQ (0x14 - IPL_HMIN) @@ -366,6 +370,8 @@ typedef struct { #define IPL_QDSS (0x14 - IPL_HMIN) #define IPL_CR (0x14 - IPL_HMIN) #define IPL_QVSS (0x14 - IPL_HMIN) +#define IPL_DMCRX (0x15 - IPL_HMIN) +#define IPL_DMCTX (0x15 - IPL_HMIN) #define IPL_HMAX 0x17 /* highest hwre level */ #define IPL_HMIN 0x14 /* lowest hwre level */ @@ -374,6 +380,8 @@ typedef struct { /* Device vectors */ +#define VEC_FLOAT (0) /* Assigned by Auto Configure */ + #define VEC_QBUS 1 /* Qbus system */ #define VEC_Q 0x200 /* Qbus vector offset */ #define VEC_PTR (VEC_Q + 0070) diff --git a/VAX/vax730_defs.h b/VAX/vax730_defs.h index cfcb327d..46905c0d 100644 --- a/VAX/vax730_defs.h +++ b/VAX/vax730_defs.h @@ -234,6 +234,8 @@ typedef struct { /* Unibus I/O page layout - XUB,RQB,RQC,RQD float based on number of DZ's */ +#define IOBA_FLOAT (0) /* Assigned by Auto Configure */ + #define IOBA_DZ (IOPAGEBASE + 000100) /* DZ11 */ #define IOLN_DZ 010 #define IOBA_XUB (IOPAGEBASE + 000330 + (020 * (DZ_MUXES / 2))) @@ -289,11 +291,15 @@ typedef struct { #define INT_V_TS 7 #define INT_V_RY 8 #define INT_V_XU 9 +#define INT_V_DMCRX 10 +#define INT_V_DMCTX 11 #define INT_V_LPT 0 /* BR4 */ #define INT_V_PTR 1 #define INT_V_PTP 2 #define INT_V_CR 3 +#define INT_V_VHRX 4 +#define INT_V_VHTX 5 #define INT_DZRX (1u << INT_V_DZRX) #define INT_DZTX (1u << INT_V_DZTX) @@ -306,9 +312,13 @@ typedef struct { #define INT_XU (1u << INT_V_XU) #define INT_RB (1u << INT_V_RB) #define INT_LPT (1u << INT_V_LPT) +#define INT_VHRX (1u << INT_V_VHRX) +#define INT_VHTX (1u << INT_V_VHTX) #define INT_PTR (1u << INT_V_PTR) #define INT_PTP (1u << INT_V_PTP) #define INT_CR (1u << INT_V_CR) +#define INT_DMCRX (1u << INT_V_DMCRX) +#define INT_DMCTX (1u << INT_V_DMCTX) #define IPL_DZRX (0x15 - IPL_HMIN) #define IPL_DZTX (0x15 - IPL_HMIN) @@ -324,9 +334,15 @@ typedef struct { #define IPL_PTR (0x14 - IPL_HMIN) #define IPL_PTP (0x14 - IPL_HMIN) #define IPL_CR (0x14 - IPL_HMIN) +#define IPL_VHRX (0x14 - IPL_HMIN) +#define IPL_VHTX (0x14 - IPL_HMIN) +#define IPL_DMCRX (0x15 - IPL_HMIN) +#define IPL_DMCTX (0x15 - IPL_HMIN) /* Device vectors */ +#define VEC_FLOAT (0) /* Assigned by Auto Configure */ + #define VEC_QBUS 0 #define VEC_Q 0x200 #define VEC_PTR (VEC_Q + 0070) diff --git a/VAX/vax730_syslist.c b/VAX/vax730_syslist.c index f0ce5b84..e33ce16a 100644 --- a/VAX/vax730_syslist.c +++ b/VAX/vax730_syslist.c @@ -50,7 +50,9 @@ extern DEVICE ry_dev; extern DEVICE ts_dev; extern DEVICE tq_dev; extern DEVICE dz_dev; +extern DEVICE vh_dev; extern DEVICE xu_dev, xub_dev; +extern DEVICE dmc_dev[]; extern int32 sim_switches; extern UNIT cpu_unit; @@ -68,6 +70,7 @@ DEVICE *sim_devices[] = { &tto_dev, &td_dev, &dz_dev, + &vh_dev, &cr_dev, &lpt_dev, &rl_dev, @@ -82,6 +85,10 @@ DEVICE *sim_devices[] = { &tq_dev, &xu_dev, &xub_dev, + &dmc_dev[0], + &dmc_dev[1], + &dmc_dev[2], + &dmc_dev[3], NULL }; diff --git a/VAX/vax750_defs.h b/VAX/vax750_defs.h index 0ba24e7c..b186b78b 100644 --- a/VAX/vax750_defs.h +++ b/VAX/vax750_defs.h @@ -270,6 +270,8 @@ typedef struct { /* Unibus I/O page layout - XUB,RQB,RQC,RQD float based on number of DZ's Massbus devices (RP, TU) do not appear in the Unibus IO page */ +#define IOBA_FLOAT (0) /* Assigned by Auto Configure */ + #define IOBA_DZ (IOPAGEBASE + 000100) /* DZ11 */ #define IOLN_DZ 010 #define IOBA_XUB (IOPAGEBASE + 000330 + (020 * (DZ_MUXES / 2))) @@ -322,11 +324,15 @@ typedef struct { #define INT_V_TS 6 #define INT_V_RY 7 #define INT_V_XU 8 +#define INT_V_DMCRX 9 +#define INT_V_DMCTX 10 #define INT_V_LPT 0 /* BR4 */ #define INT_V_PTR 1 #define INT_V_PTP 2 #define INT_V_CR 3 +#define INT_V_VHRX 4 +#define INT_V_VHTX 5 #define INT_DZRX (1u << INT_V_DZRX) #define INT_DZTX (1u << INT_V_DZTX) @@ -338,9 +344,13 @@ typedef struct { #define INT_RY (1u << INT_V_RY) #define INT_XU (1u << INT_V_XU) #define INT_LPT (1u << INT_V_LPT) +#define INT_VHRX (1u << INT_V_VHRX) +#define INT_VHTX (1u << INT_V_VHTX) #define INT_PTR (1u << INT_V_PTR) #define INT_PTP (1u << INT_V_PTP) #define INT_CR (1u << INT_V_CR) +#define INT_DMCRX (1u << INT_V_DMCRX) +#define INT_DMCTX (1u << INT_V_DMCTX) #define IPL_DZRX (0x15 - IPL_HMIN) #define IPL_DZTX (0x15 - IPL_HMIN) @@ -355,9 +365,15 @@ typedef struct { #define IPL_PTR (0x14 - IPL_HMIN) #define IPL_PTP (0x14 - IPL_HMIN) #define IPL_CR (0x14 - IPL_HMIN) +#define IPL_VHRX (0x14 - IPL_HMIN) +#define IPL_VHTX (0x14 - IPL_HMIN) +#define IPL_DMCRX (0x15 - IPL_HMIN) +#define IPL_DMCTX (0x15 - IPL_HMIN) /* Device vectors */ +#define VEC_FLOAT (0) /* Assigned by Auto Configure */ + #define VEC_QBUS 0 #define VEC_Q 0x200 #define VEC_PTR (VEC_Q + 0070) diff --git a/VAX/vax750_syslist.c b/VAX/vax750_syslist.c index b339104b..3d895757 100644 --- a/VAX/vax750_syslist.c +++ b/VAX/vax750_syslist.c @@ -52,7 +52,9 @@ extern DEVICE ts_dev; extern DEVICE tq_dev; extern DEVICE tu_dev; extern DEVICE dz_dev; +extern DEVICE vh_dev; extern DEVICE xu_dev, xub_dev; +extern DEVICE dmc_dev[]; extern int32 sim_switches; extern UNIT cpu_unit; @@ -72,6 +74,7 @@ DEVICE *sim_devices[] = { &tto_dev, &td_dev, &dz_dev, + &vh_dev, &cr_dev, &lpt_dev, &rp_dev, @@ -87,6 +90,10 @@ DEVICE *sim_devices[] = { &tq_dev, &xu_dev, &xub_dev, + &dmc_dev[0], + &dmc_dev[1], + &dmc_dev[2], + &dmc_dev[3], NULL }; diff --git a/VAX/vax780_defs.h b/VAX/vax780_defs.h index 48563b72..8305a58c 100644 --- a/VAX/vax780_defs.h +++ b/VAX/vax780_defs.h @@ -277,6 +277,8 @@ typedef struct { /* Unibus I/O page layout - XUB,RQB,RQC,RQD float based on number of DZ's Massbus devices (RP, TU) do not appear in the Unibus IO page */ +#define IOBA_FLOAT (0) /* Assigned by Auto Configure */ + #define IOBA_DZ (IOPAGEBASE + 000100) /* DZ11 */ #define IOLN_DZ 010 #define IOBA_XUB (IOPAGEBASE + 000330 + (020 * (DZ_MUXES / 2))) @@ -287,8 +289,6 @@ typedef struct { #define IOLN_RQC 004 #define IOBA_RQD (IOPAGEBASE + IOBA_RQC + IOLN_RQC) #define IOLN_RQD 004 -#define IOBA_VH (IOPAGEBASE + 000440) /* DHU11 */ -#define IOLN_VH 020 #define IOBA_RQ (IOPAGEBASE + 012150) /* UDA50 */ #define IOLN_RQ 004 #define IOBA_TS (IOPAGEBASE + 012520) /* TS11 */ @@ -319,8 +319,6 @@ typedef struct { #define IOLN_PTR 004 #define IOBA_PTP (IOPAGEBASE + 017554) /* PC11 punch */ #define IOLN_PTP 004 -#define IOBA_DMC (IOPAGEBASE + 0760060) /* DMC11 */ -#define IOLN_DMC 010 /* Interrupt assignments; within each level, priority is right to left */ @@ -381,6 +379,8 @@ typedef struct { /* Device vectors */ +#define VEC_FLOAT (0) /* Assigned by Auto Configure */ + #define VEC_QBUS 0 #define VEC_Q 0000 #define VEC_PTR 0070 @@ -398,10 +398,6 @@ typedef struct { #define VEC_RY 0264 #define VEC_DZRX 0300 #define VEC_DZTX 0304 -#define VEC_VHRX 0310 -#define VEC_VHTX 0314 -#define VEC_DMCRX 0310 -#define VEC_DMCTX 0314 /* Interrupt macros */ diff --git a/VAX/vaxmod_defs.h b/VAX/vaxmod_defs.h index 8527f1b0..3e56d146 100644 --- a/VAX/vaxmod_defs.h +++ b/VAX/vaxmod_defs.h @@ -285,6 +285,8 @@ typedef struct { /* I/O page layout - RQB,RQC,RQD float based on number of DZ's */ +#define IOBA_FLOAT (0) /* Assigned by Auto Configure */ + #define IOBA_DZ (IOPAGEBASE + 000100) /* DZ11 */ #define IOLN_DZ 010 #define IOBA_RQB (IOPAGEBASE + 000334 + (020 * (DZ_MUXES / 2))) @@ -293,8 +295,6 @@ typedef struct { #define IOLN_RQC 004 #define IOBA_RQD (IOPAGEBASE + IOBA_RQC + IOLN_RQC) #define IOLN_RQD 004 -#define IOBA_VH (IOPAGEBASE + 000440) /* DHQ11 */ -#define IOLN_VH 020 #define IOBA_RQ (IOPAGEBASE + 012150) /* RQDX3 */ #define IOLN_RQ 004 #define IOBA_TS (IOPAGEBASE + 012520) /* TS11 */ @@ -427,6 +427,8 @@ typedef struct { /* Device vectors */ +#define VEC_FLOAT (0) /* Assigned by Auto Configure */ + #define VEC_QBUS 1 /* Qbus system */ #define VEC_Q 0x200 /* Qbus vector offset */ #define VEC_PTR (VEC_Q + 0070) diff --git a/Visual Studio Projects/PDP10.vcproj b/Visual Studio Projects/PDP10.vcproj index 766ca9e9..0b0e6fdd 100644 --- a/Visual Studio Projects/PDP10.vcproj +++ b/Visual Studio Projects/PDP10.vcproj @@ -247,10 +247,6 @@ RelativePath="..\PDP11\pdp11_ry.c" > - - diff --git a/Visual Studio Projects/VAX620.vcproj b/Visual Studio Projects/VAX620.vcproj index 9f690213..7e30e928 100644 --- a/Visual Studio Projects/VAX620.vcproj +++ b/Visual Studio Projects/VAX620.vcproj @@ -207,6 +207,10 @@ RelativePath="..\PDP11\pdp11_cr.c" > + + @@ -369,6 +373,10 @@ Name="Header Files" Filter="h;hpp;hxx;hm;inl;inc" > + + diff --git a/Visual Studio Projects/VAX630.vcproj b/Visual Studio Projects/VAX630.vcproj index 2eb6b7eb..259d5230 100644 --- a/Visual Studio Projects/VAX630.vcproj +++ b/Visual Studio Projects/VAX630.vcproj @@ -207,6 +207,10 @@ RelativePath="..\PDP11\pdp11_cr.c" > + + @@ -369,6 +373,10 @@ Name="Header Files" Filter="h;hpp;hxx;hm;inl;inc" > + + diff --git a/Visual Studio Projects/VAX730.vcproj b/Visual Studio Projects/VAX730.vcproj index 446cafcd..201977df 100644 --- a/Visual Studio Projects/VAX730.vcproj +++ b/Visual Studio Projects/VAX730.vcproj @@ -202,6 +202,10 @@ RelativePath="..\PDP11\pdp11_cr.c" > + + @@ -238,6 +242,10 @@ RelativePath="..\PDP11\pdp11_ts.c" > + + @@ -371,6 +379,10 @@ RelativePath="..\dec_dz.h" > + + diff --git a/Visual Studio Projects/VAX750.vcproj b/Visual Studio Projects/VAX750.vcproj index f64d767e..982d4998 100644 --- a/Visual Studio Projects/VAX750.vcproj +++ b/Visual Studio Projects/VAX750.vcproj @@ -202,6 +202,10 @@ RelativePath="..\PDP11\pdp11_cr.c" > + + @@ -246,6 +250,10 @@ RelativePath="..\PDP11\pdp11_tu.c" > + + @@ -379,6 +387,10 @@ RelativePath="..\dec_dz.h" > + + diff --git a/descrip.mms b/descrip.mms index 2ac2de0a..e86bcd7e 100644 --- a/descrip.mms +++ b/descrip.mms @@ -43,6 +43,8 @@ # SWTP6800MP-A2 Just Build The SWTP6800MP-A2. # VAX Just Build The DEC VAX. # VAX610 Just Build The DEC VAX610 (MicroVAX I). +# VAX620 Just Build The DEC VAX610 (rtVAX 1000). +# VAX630 Just Build The DEC VAX610 (MicroVAX II). # VAX730 Just Build The DEC VAX730. # VAX750 Just Build The DEC VAX750. # VAX780 Just Build The DEC VAX780. @@ -661,6 +663,62 @@ VAX610_OPTIONS = /INCL=($(SIMH_DIR),$(VAX610_DIR),$(PDP11_DIR)$(PCAP_INC))\ VAX610_SIMH_LIB = $(SIMH_LIB) .ENDIF +# Digital Equipment VAX630 (MicroVAX II) Simulator Definitions. +# +VAX630_DIR = SYS$DISK:[.VAX] +VAX630_LIB1 = $(LIB_DIR)VAX630L1-$(ARCH).OLB +VAX630_SOURCE1 = $(VAX630_DIR)VAX_CPU.C,$(VAX630_DIR)VAX_CPU1.C,\ + $(VAX630_DIR)VAX_FPA.C,$(VAX630_DIR)VAX_CIS.C,\ + $(VAX630_DIR)VAX_OCTA.C,$(VAX630_DIR)VAX_CMODE.C,\ + $(VAX630_DIR)VAX_MMU.C,$(VAX630_DIR)VAX_SYS.C,\ + $(VAX630_DIR)VAX_SYSCM.C,$(VAX630_DIR)VAX630_STDDEV.C,\ + $(VAX630_DIR)VAX630_MEM.C,$(VAX630_DIR)VAX630_SYSDEV.C,\ + $(VAX630_DIR)VAX630_IO.C,$(VAX630_DIR)VAX630_SYSLIST.C +VAX630_LIB2 = $(LIB_DIR)VAX630L2-$(ARCH).OLB +VAX630_SOURCE2 = $(PDP11_DIR)PDP11_IO_LIB.C,\ + $(PDP11_DIR)PDP11_RL.C,$(PDP11_DIR)PDP11_RQ.C,\ + $(PDP11_DIR)PDP11_TS.C,$(PDP11_DIR)PDP11_DZ.C,\ + $(PDP11_DIR)PDP11_LP.C,$(PDP11_DIR)PDP11_TQ.C,\ + $(PDP11_DIR)PDP11_XQ.C,$(PDP11_DIR)PDP11_CR.C,\ + $(PDP11_DIR)PDP11_RY.C,$(PDP11_DIR)PDP11_VH.C +.IFDEF ALPHA_OR_IA64 +VAX630_OPTIONS = /INCL=($(SIMH_DIR),$(VAX630_DIR),$(PDP11_DIR)$(PCAP_INC))\ + /DEF=($(CC_DEFS),"VM_VAX=1","USE_ADDR64=1","USE_INT64=1"$(PCAP_DEFS),"VAX_630=1") +VAX630_SIMH_LIB = $(SIMH_LIB64) +.ELSE +VAX630_OPTIONS = /INCL=($(SIMH_DIR),$(VAX630_DIR),$(PDP11_DIR)$(PCAP_INC))\ + /DEF=($(CC_DEFS),"VM_VAX=1"$(PCAP_DEFS),"VAX_630=1") +VAX630_SIMH_LIB = $(SIMH_LIB) +.ENDIF + +# Digital Equipment VAX620 (rtVAX 1000) Simulator Definitions. +# +VAX620_DIR = SYS$DISK:[.VAX] +VAX620_LIB1 = $(LIB_DIR)VAX620L1-$(ARCH).OLB +VAX620_SOURCE1 = $(VAX620_DIR)VAX_CPU.C,$(VAX620_DIR)VAX_CPU1.C,\ + $(VAX620_DIR)VAX_FPA.C,$(VAX620_DIR)VAX_CIS.C,\ + $(VAX620_DIR)VAX_OCTA.C,$(VAX620_DIR)VAX_CMODE.C,\ + $(VAX620_DIR)VAX_MMU.C,$(VAX620_DIR)VAX_SYS.C,\ + $(VAX620_DIR)VAX_SYSCM.C,$(VAX620_DIR)VAX620_STDDEV.C,\ + $(VAX620_DIR)VAX620_MEM.C,$(VAX620_DIR)VAX620_SYSDEV.C,\ + $(VAX620_DIR)VAX620_IO.C,$(VAX620_DIR)VAX620_SYSLIST.C +VAX620_LIB2 = $(LIB_DIR)VAX620L2-$(ARCH).OLB +VAX620_SOURCE2 = $(PDP11_DIR)PDP11_IO_LIB.C,\ + $(PDP11_DIR)PDP11_RL.C,$(PDP11_DIR)PDP11_RQ.C,\ + $(PDP11_DIR)PDP11_TS.C,$(PDP11_DIR)PDP11_DZ.C,\ + $(PDP11_DIR)PDP11_LP.C,$(PDP11_DIR)PDP11_TQ.C,\ + $(PDP11_DIR)PDP11_XQ.C,$(PDP11_DIR)PDP11_CR.C,\ + $(PDP11_DIR)PDP11_RY.C,$(PDP11_DIR)PDP11_VH.C +.IFDEF ALPHA_OR_IA64 +VAX620_OPTIONS = /INCL=($(SIMH_DIR),$(VAX620_DIR),$(PDP11_DIR)$(PCAP_INC))\ + /DEF=($(CC_DEFS),"VM_VAX=1","USE_ADDR64=1","USE_INT64=1"$(PCAP_DEFS),"VAX_620=1") +VAX620_SIMH_LIB = $(SIMH_LIB64) +.ELSE +VAX620_OPTIONS = /INCL=($(SIMH_DIR),$(VAX620_DIR),$(PDP11_DIR)$(PCAP_INC))\ + /DEF=($(CC_DEFS),"VM_VAX=1"$(PCAP_DEFS),"VAX_620=1") +VAX620_SIMH_LIB = $(SIMH_LIB) +.ENDIF + # Digital Equipment VAX730 Simulator Definitions. # VAX730_DIR = SYS$DISK:[.VAX] @@ -679,6 +737,7 @@ VAX730_SOURCE2 = $(PDP11_DIR)PDP11_RL.C,$(PDP11_DIR)PDP11_RQ.C,\ $(PDP11_DIR)PDP11_LP.C,$(PDP11_DIR)PDP11_TQ.C,\ $(PDP11_DIR)PDP11_XU.C,$(PDP11_DIR)PDP11_RY.C,\ $(PDP11_DIR)PDP11_CR.C,$(PDP11_DIR)PDP11_HK.C,\ + $(PDP11_DIR)PDP11_VH.C,$(PDP11_DIR)PDP11_DMC.C,\ $(PDP11_DIR)PDP11_IO_LIB.C .IFDEF ALPHA_OR_IA64 VAX730_OPTIONS = /INCL=($(SIMH_DIR),$(VAX730_DIR),$(PDP11_DIR)$(PCAP_INC))\ @@ -709,6 +768,7 @@ VAX750_SOURCE2 = $(PDP11_DIR)PDP11_RL.C,$(PDP11_DIR)PDP11_RQ.C,\ $(PDP11_DIR)PDP11_XU.C,$(PDP11_DIR)PDP11_RY.C,\ $(PDP11_DIR)PDP11_CR.C,$(PDP11_DIR)PDP11_HK.C,\ $(PDP11_DIR)PDP11_RP.C,$(PDP11_DIR)PDP11_TU.C,\ + $(PDP11_DIR)PDP11_VH.C,$(PDP11_DIR)PDP11_DMC.C,\ $(PDP11_DIR)PDP11_IO_LIB.C .IFDEF ALPHA_OR_IA64 VAX750_OPTIONS = /INCL=($(SIMH_DIR),$(VAX750_DIR),$(PDP11_DIR)$(PCAP_INC))\ @@ -768,7 +828,7 @@ I7094_OPTIONS = /INCL=($(SIMH_DIR),$(I7094_DIR))/DEF=($(CC_DEFS)) .IFDEF ALPHA_OR_IA64 ALL : ALTAIR ALTAIRZ80 ECLIPSE GRI LGP H316 HP2100 I1401 I1620 IBM1130 ID16 \ ID32 NOVA PDP1 PDP4 PDP7 PDP8 PDP9 PDP10 PDP11 PDP15 S3 \ - VAX VAX610 VAX730 VAX750 VAX780 \ + VAX VAX610 VAX620 VAX630 VAX730 VAX750 VAX780 \ SDS I7094 SWTP6800MP-A SWTP6800MP-A2 $! No further actions necessary .ELSE @@ -777,7 +837,8 @@ ALL : ALTAIR ALTAIRZ80 ECLIPSE GRI LGP H316 HP2100 I1401 I1620 IBM1130 ID16 \ # ALL : ALTAIR ALTAIRZ80 GRI H316 HP2100 I1401 I1620 IBM1130 ID16 ID32 \ NOVA PDP1 PDP4 PDP7 PDP8 PDP9 PDP11 PDP15 S3 \ - VAX VAX510 VAX730 VAX750 VAX780 SDS SWTP6800MP-A SWTP6800MP-A2 + VAX VAX510 VAX620 VAX630 VAX730 VAX750 VAX780 SDS \ + SWTP6800MP-A SWTP6800MP-A2 $! No further actions necessary .ENDIF @@ -1217,6 +1278,52 @@ $(VAX610_LIB2) : $(VAX610_SOURCE2) $ LIBRARY/REPLACE $(MMS$TARGET) $(BLD_DIR)*.OBJ $ DELETE/NOLOG/NOCONFIRM $(BLD_DIR)*.OBJ;* +$(VAX630_LIB1) : $(VAX630_SOURCE1) + $! + $! Building The $(VAX630_LIB1) Library. + $! + $ RUN/NODEBUG $(BIN_DIR)BuildROMs-$(ARCH).EXE + $ $(CC)$(VAX630_OPTIONS)/OBJ=$(VAX630_DIR) - + /OBJ=$(BLD_DIR) $(MMS$CHANGED_LIST) + $ IF (F$SEARCH("$(MMS$TARGET)").EQS."") THEN - + LIBRARY/CREATE $(MMS$TARGET) + $ LIBRARY/REPLACE $(MMS$TARGET) $(BLD_DIR)*.OBJ + $ DELETE/NOLOG/NOCONFIRM $(BLD_DIR)*.OBJ;* + +$(VAX620_LIB2) : $(VAX620_SOURCE2) + $! + $! Building The $(VAX620_LIB2) Library. + $! + $ $(CC)$(VAX620_OPTIONS)/OBJ=$(VAX620_DIR) - + /OBJ=$(BLD_DIR) $(MMS$CHANGED_LIST) + $ IF (F$SEARCH("$(MMS$TARGET)").EQS."") THEN - + LIBRARY/CREATE $(MMS$TARGET) + $ LIBRARY/REPLACE $(MMS$TARGET) $(BLD_DIR)*.OBJ + $ DELETE/NOLOG/NOCONFIRM $(BLD_DIR)*.OBJ;* + +$(VAX620_LIB1) : $(VAX620_SOURCE1) + $! + $! Building The $(VAX620_LIB1) Library. + $! + $ RUN/NODEBUG $(BIN_DIR)BuildROMs-$(ARCH).EXE + $ $(CC)$(VAX620_OPTIONS)/OBJ=$(VAX620_DIR) - + /OBJ=$(BLD_DIR) $(MMS$CHANGED_LIST) + $ IF (F$SEARCH("$(MMS$TARGET)").EQS."") THEN - + LIBRARY/CREATE $(MMS$TARGET) + $ LIBRARY/REPLACE $(MMS$TARGET) $(BLD_DIR)*.OBJ + $ DELETE/NOLOG/NOCONFIRM $(BLD_DIR)*.OBJ;* + +$(VAX620_LIB2) : $(VAX620_SOURCE2) + $! + $! Building The $(VAX620_LIB2) Library. + $! + $ $(CC)$(VAX620_OPTIONS)/OBJ=$(VAX620_DIR) - + /OBJ=$(BLD_DIR) $(MMS$CHANGED_LIST) + $ IF (F$SEARCH("$(MMS$TARGET)").EQS."") THEN - + LIBRARY/CREATE $(MMS$TARGET) + $ LIBRARY/REPLACE $(MMS$TARGET) $(BLD_DIR)*.OBJ + $ DELETE/NOLOG/NOCONFIRM $(BLD_DIR)*.OBJ;* + $(VAX730_LIB1) : $(VAX730_SOURCE1) $! $! Building The $(VAX730_LIB1) Library. @@ -1681,6 +1788,36 @@ $(BIN_DIR)VAX610-$(ARCH).EXE : $(SIMH_MAIN) $(VAX610_SIMH_LIB) $(PCAP_LIBD) $(VA $(VAX610_SIMH_LIB)/LIBRARY$(PCAP_LIBR) $ DELETE/NOLOG/NOCONFIRM $(BLD_DIR)*.OBJ;* +VAX630 : $(BIN_DIR)VAX630-$(ARCH).EXE + $! VAX630 done + +$(BIN_DIR)VAX630-$(ARCH).EXE : $(SIMH_MAIN) $(VAX630_SIMH_LIB) $(PCAP_LIBD) $(VAX630_LIB1) $(VAX630_LIB2) $(PCAP_EXECLET) + $! + $! Building The $(BIN_DIR)VAX630-$(ARCH).EXE Simulator. + $! + $ $(CC)$(VAX630_OPTIONS)/OBJ=$(BLD_DIR) SCP.C + $ LINK $(LINK_DEBUG)$(LINK_SECTION_BINDING)- + /EXE=$(BIN_DIR)VAX630-$(ARCH).EXE - + $(BLD_DIR)SCP.OBJ,- + $(VAX630_LIB1)/LIBRARY,$(VAX630_LIB2)/LIBRARY,- + $(VAX630_SIMH_LIB)/LIBRARY$(PCAP_LIBR) + $ DELETE/NOLOG/NOCONFIRM $(BLD_DIR)*.OBJ;* + +VAX620 : $(BIN_DIR)VAX620-$(ARCH).EXE + $! VAX620 done + +$(BIN_DIR)VAX620-$(ARCH).EXE : $(SIMH_MAIN) $(VAX620_SIMH_LIB) $(PCAP_LIBD) $(VAX620_LIB1) $(VAX620_LIB2) $(PCAP_EXECLET) + $! + $! Building The $(BIN_DIR)VAX620-$(ARCH).EXE Simulator. + $! + $ $(CC)$(VAX620_OPTIONS)/OBJ=$(BLD_DIR) SCP.C + $ LINK $(LINK_DEBUG)$(LINK_SECTION_BINDING)- + /EXE=$(BIN_DIR)VAX620-$(ARCH).EXE - + $(BLD_DIR)SCP.OBJ,- + $(VAX620_LIB1)/LIBRARY,$(VAX620_LIB2)/LIBRARY,- + $(VAX620_SIMH_LIB)/LIBRARY$(PCAP_LIBR) + $ DELETE/NOLOG/NOCONFIRM $(BLD_DIR)*.OBJ;* + VAX730 : $(BIN_DIR)VAX730-$(ARCH).EXE $! VAX730 done diff --git a/makefile b/makefile index 5bd7a2e9..3bfcf389 100644 --- a/makefile +++ b/makefile @@ -514,7 +514,7 @@ VAX630 = ${VAXD}/vax_cpu.c ${VAXD}/vax_cpu1.c ${VAXD}/vax_fpa.c \ ${PDP11D}/pdp11_rl.c ${PDP11D}/pdp11_rq.c ${PDP11D}/pdp11_ts.c \ ${PDP11D}/pdp11_dz.c ${PDP11D}/pdp11_lp.c ${PDP11D}/pdp11_tq.c \ ${PDP11D}/pdp11_xq.c ${PDP11D}/pdp11_ry.c ${PDP11D}/pdp11_vh.c \ - ${PDP11D}/pdp11_cr.c ${PDP11D}/pdp11_io_lib.c + ${PDP11D}/pdp11_cr.c ${PDP11D}/pdp11_dmc.c ${PDP11D}/pdp11_io_lib.c VAX620_OPT = -DVM_VAX -DVAX_620 -DUSE_INT64 -DUSE_ADDR64 -I ${VAXD} -I ${PDP11D} ${NETWORK_OPT} VAX630_OPT = -DVM_VAX -DVAX_630 -DUSE_INT64 -DUSE_ADDR64 -I ${VAXD} -I ${PDP11D} ${NETWORK_OPT} @@ -527,7 +527,8 @@ VAX730 = ${VAXD}/vax_cpu.c ${VAXD}/vax_cpu1.c ${VAXD}/vax_fpa.c \ ${PDP11D}/pdp11_rl.c ${PDP11D}/pdp11_rq.c ${PDP11D}/pdp11_ts.c \ ${PDP11D}/pdp11_dz.c ${PDP11D}/pdp11_lp.c ${PDP11D}/pdp11_tq.c \ ${PDP11D}/pdp11_xu.c ${PDP11D}/pdp11_ry.c ${PDP11D}/pdp11_cr.c \ - ${PDP11D}/pdp11_hk.c ${PDP11D}/pdp11_io_lib.c + ${PDP11D}/pdp11_hk.c ${PDP11D}/pdp11_vh.c ${PDP11D}/pdp11_dmc.c \ + ${PDP11D}/pdp11_io_lib.c VAX730_OPT = -DVM_VAX -DVAX_730 -DUSE_INT64 -DUSE_ADDR64 -I VAX -I ${PDP11D} ${NETWORK_OPT} @@ -541,7 +542,7 @@ VAX750 = ${VAXD}/vax_cpu.c ${VAXD}/vax_cpu1.c ${VAXD}/vax_fpa.c \ ${PDP11D}/pdp11_dz.c ${PDP11D}/pdp11_lp.c ${PDP11D}/pdp11_tq.c \ ${PDP11D}/pdp11_xu.c ${PDP11D}/pdp11_ry.c ${PDP11D}/pdp11_cr.c \ ${PDP11D}/pdp11_hk.c ${PDP11D}/pdp11_rp.c ${PDP11D}/pdp11_tu.c \ - ${PDP11D}/pdp11_io_lib.c + ${PDP11D}/pdp11_vh.c ${PDP11D}/pdp11_dmc.c ${PDP11D}/pdp11_io_lib.c VAX750_OPT = -DVM_VAX -DVAX_750 -DUSE_INT64 -DUSE_ADDR64 -I VAX -I ${PDP11D} ${NETWORK_OPT} @@ -555,7 +556,7 @@ VAX780 = ${VAXD}/vax_cpu.c ${VAXD}/vax_cpu1.c ${VAXD}/vax_fpa.c \ ${PDP11D}/pdp11_dz.c ${PDP11D}/pdp11_lp.c ${PDP11D}/pdp11_tq.c \ ${PDP11D}/pdp11_xu.c ${PDP11D}/pdp11_ry.c ${PDP11D}/pdp11_cr.c \ ${PDP11D}/pdp11_rp.c ${PDP11D}/pdp11_tu.c ${PDP11D}/pdp11_hk.c \ - ${PDP11D}/pdp11_vh.c ${PDP11D}/pdp11_dmc.c \${PDP11D}/pdp11_io_lib.c + ${PDP11D}/pdp11_vh.c ${PDP11D}/pdp11_dmc.c ${PDP11D}/pdp11_io_lib.c VAX780_OPT = -DVM_VAX -DVAX_780 -DUSE_INT64 -DUSE_ADDR64 -I VAX -I ${PDP11D} ${NETWORK_OPT}