diff --git a/PDP10/kx10_cp.c b/PDP10/kx10_cp.c index 86c95e7..34e9014 100644 --- a/PDP10/kx10_cp.c +++ b/PDP10/kx10_cp.c @@ -38,6 +38,14 @@ #define CP_DEVNUM 0110 +#if KL +#define CP_DIS DEV_DIS +#endif + +#ifndef CP_DIS +#define CP_DIS 0 +#endif + /* std devices. data structures @@ -115,7 +123,7 @@ DEVICE cp_dev = { "CP", &cp_unit, cp_reg, cp_mod, NUM_DEVS_CP, 8, 15, 1, 8, 8, NULL, NULL, NULL, NULL, &cp_attach, &cp_detach, - &cp_dib, DEV_DISABLE | DEV_DEBUG | DEV_CARD, 0, crd_debug, + &cp_dib, DEV_DISABLE | DEV_DEBUG | DEV_CARD | CP_DIS, 0, crd_debug, NULL, NULL, &cp_help, NULL, NULL, &cp_description }; diff --git a/PDP10/kx10_cpu.c b/PDP10/kx10_cpu.c index e2f4049..2cfe284 100644 --- a/PDP10/kx10_cpu.c +++ b/PDP10/kx10_cpu.c @@ -830,10 +830,10 @@ void set_interrupt(int dev, int lvl) { if (lvl) { dev_irq[dev>>2] = 0200 >> lvl; pi_pending = 1; -#if DEBUG +//#if DEBUG sim_debug(DEBUG_IRQ, &cpu_dev, "set irq %o %o %03o %03o %03o\n", dev & 0774, lvl, PIE, PIR, PIH); -#endif +//#endif } } @@ -858,10 +858,10 @@ void set_interrupt_mpx(int dev, int lvl, int mpx) { */ void clr_interrupt(int dev) { dev_irq[dev>>2] = 0; -#if DEBUG +//#if DEBUG if (dev > 4) sim_debug(DEBUG_IRQ, &cpu_dev, "clear irq %o\n", dev & 0774); -#endif +//#endif } /* @@ -942,9 +942,9 @@ void restore_pi_hold() { for(lvl = 0100; lvl != 0; lvl >>= 1) { if (lvl & PIH) { PIR &= ~lvl; -#if DEBUG +//#if DEBUG sim_debug(DEBUG_IRQ, &cpu_dev, "restore irq %o %03o\n", lvl, PIH); -#endif +//#endif PIH &= ~lvl; #if KS_ITS pi_act &= ~lvl; @@ -4633,10 +4633,10 @@ in_loop: #if KA | PDP6 st_pi: #endif -#if DEBUG +//#if DEBUG sim_debug(DEBUG_IRQ, &cpu_dev, "trap irq %o %03o %03o \n", pi_enc, PIR, PIH); -#endif +//#endif pi_cycle = 1; pi_rq = 0; pi_hold = 0; diff --git a/PDP10/kx10_cr.c b/PDP10/kx10_cr.c index a9c2fd3..8bf5c30 100644 --- a/PDP10/kx10_cr.c +++ b/PDP10/kx10_cr.c @@ -38,6 +38,14 @@ #define CR_DEVNUM 0150 +#if KL +#define CR_DIS DEV_DIS +#endif + +#ifndef CR_DIS +#define CR_DIS 0 +#endif + /* std devices. data structures @@ -119,7 +127,7 @@ DEVICE cr_dev = { "CR", &cr_unit, cr_reg, cr_mod, NUM_DEVS_CR, 8, 15, 1, 8, 8, NULL, NULL, NULL, NULL, &cr_attach, &cr_detach, - &cr_dib, DEV_DISABLE | DEV_DEBUG | DEV_CARD, 0, crd_debug, + &cr_dib, DEV_DISABLE | DEV_DEBUG | DEV_CARD | CR_DIS, 0, crd_debug, NULL, NULL, &cr_help, NULL, NULL, &cr_description }; diff --git a/PDP10/kx10_dc.c b/PDP10/kx10_dc.c index 8e65245..15124c3 100644 --- a/PDP10/kx10_dc.c +++ b/PDP10/kx10_dc.c @@ -35,6 +35,14 @@ #if (NUM_DEVS_DC > 0) +#if KL +#define DC_DIS DEV_DIS +#endif + +#ifndef DC_DIS +#define DC_DIS 0 +#endif + #define DC_DEVNUM 0240 #define DC10_LINES 8 @@ -147,7 +155,7 @@ DEVICE dc_dev = { 1, 10, 31, 1, 8, 8, &tmxr_ex, &tmxr_dep, &dc_reset, NULL, &dc_attach, &dc_detach, - &dc_dib, DEV_MUX | DEV_DISABLE | DEV_DEBUG, 0, dev_debug, + &dc_dib, DEV_MUX | DEV_DISABLE | DEV_DEBUG | DC_DIS, 0, dev_debug, NULL, NULL, &dc_help, NULL, NULL, &dc_description }; diff --git a/PDP10/kx10_defs.h b/PDP10/kx10_defs.h index e6af98b..841a614 100644 --- a/PDP10/kx10_defs.h +++ b/PDP10/kx10_defs.h @@ -715,7 +715,7 @@ extern void ka10_lights_clear_aux (int); #if !(PDP6 | KS) #define NUM_DEVS_LP 1 #endif -#if !(KL | KS) +#if !(KS) #define NUM_DEVS_PT 1 #define NUM_DEVS_CR 1 #define NUM_DEVS_CP 1 @@ -748,24 +748,24 @@ extern void ka10_lights_clear_aux (int); #define NUM_DEVS_DUP 2 #define NUM_DEVS_KMC 2 #if KS_ITS -#define NUM_DEVS_IMP KS_ITS #define NUM_DEVS_CH11 KS_ITS #endif #endif -#if KA | KI +#if KA | KI #define NUM_DEVS_RC 1 -#define NUM_DEVS_DT 1 #define NUM_DEVS_DK 1 -#define NUM_DEVS_DP 2 #endif #if KS #define NUM_DEVS_RP 1 #elif KA | KI | KL +#define NUM_DEVS_DT 1 +#define NUM_DEVS_DP 2 #define NUM_DEVS_RP 4 #define NUM_DEVS_RS 1 #endif #if !(PDP6) #define NUM_DEVS_TU 1 +#define NUM_DEVS_IMP 1 #endif #if KA #define NUM_DEVS_PMP WAITS @@ -780,14 +780,12 @@ extern void ka10_lights_clear_aux (int); #define NUM_DEVS_MTY ITS #define NUM_DEVS_TEN11 ITS #define NUM_DEVS_AUXCPU ITS -#define NUM_DEVS_IMP ITS #define NUM_DEVS_CH10 ITS #define NUM_DEVS_DPK ITS #define NUM_DEVS_AI ITS #endif #if KL_ITS #define NUM_DEVS_PD KL_ITS -#define NUM_DEVS_IMP KL_ITS #define NUM_DEVS_CH10 KL_ITS #endif #if MAGIC_SWITCH && !KA && !ITS diff --git a/PDP10/kx10_dp.c b/PDP10/kx10_dp.c index 9418c2c..6d42823 100644 --- a/PDP10/kx10_dp.c +++ b/PDP10/kx10_dp.c @@ -30,6 +30,14 @@ #if (NUM_DEVS_DP > 0) +#if KL +#define DP_DIS DEV_DIS +#endif + +#ifndef DP_DIS +#define DP_DIS 0 +#endif + #define BUF_EMPTY(u) (u->hwmark == 0xFFFFFFFF) #define CLR_BUF(u) u->hwmark = 0xFFFFFFFF @@ -295,7 +303,7 @@ DEVICE dpa_dev = { "DPA", dp_unit, dpa_reg, dp_mod, NUM_UNITS_DP, 8, 18, 1, 8, 36, NULL, NULL, &dp_reset, &dp_boot, &dp_attach, &dp_detach, - &dp_dib[0], DEV_DISABLE | DEV_DEBUG, 0, dev_debug, + &dp_dib[0], DEV_DISABLE | DEV_DEBUG | DP_DIS, 0, dev_debug, NULL, NULL, &dp_help, NULL, NULL, &dp_description }; @@ -319,7 +327,7 @@ DEVICE dpb_dev = { "DPB", &dp_unit[010], dpb_reg, dp_mod, NUM_UNITS_DP, 8, 18, 1, 8, 36, NULL, NULL, &dp_reset, &dp_boot, &dp_attach, &dp_detach, - &dp_dib[1], DEV_DISABLE | DEV_DEBUG, 0, dev_debug, + &dp_dib[1], DEV_DISABLE | DEV_DEBUG | DP_DIS, 0, dev_debug, NULL, NULL, &dp_help, NULL, NULL, &dp_description }; @@ -343,7 +351,7 @@ DEVICE dpc_dev = { "DPC", &dp_unit[020], dpc_reg, dp_mod, NUM_UNITS_DP, 8, 18, 1, 8, 36, NULL, NULL, &dp_reset, &dp_boot, &dp_attach, &dp_detach, - &dp_dib[2], DEV_DISABLE | DEV_DEBUG, 0, dev_debug, + &dp_dib[2], DEV_DISABLE | DEV_DEBUG | DP_DIS, 0, dev_debug, NULL, NULL, &dp_help, NULL, NULL, &dp_description }; @@ -367,7 +375,7 @@ DEVICE dpd_dev = { "DPD", &dp_unit[030], dpd_reg, dp_mod, NUM_UNITS_DP, 8, 18, 1, 8, 36, NULL, NULL, &dp_reset, &dp_boot, &dp_attach, &dp_detach, - &dp_dib[3], DEV_DISABLE | DEV_DEBUG, 0, dev_debug, + &dp_dib[3], DEV_DISABLE | DEV_DEBUG | DP_DIS, 0, dev_debug, NULL, NULL, &dp_help, NULL, NULL, &dp_description }; diff --git a/PDP10/kx10_dt.c b/PDP10/kx10_dt.c index 242243c..fa40cf4 100644 --- a/PDP10/kx10_dt.c +++ b/PDP10/kx10_dt.c @@ -89,6 +89,15 @@ #endif #if (NUM_DEVS_DT > 0) + +#if KL +#define DT_DIS DEV_DIS +#endif + +#ifndef DT_DIS +#define DT_DIS 0 +#endif + #define DT_DEVNUM 0320 #define DT_NUMDR 8 /* #drives */ #define UNIT_V_8FMT (UNIT_V_UF + 0) /* 12b format */ @@ -255,7 +264,7 @@ #define ABS(x) (((x) < 0)? (-(x)): (x)) -#define DT_WRDTIM 10000 +#define DT_WRDTIM 15000 #define WRITTEN u6 /* Set when tape modified */ @@ -350,7 +359,7 @@ DEVICE dt_dev = { "DT", dt_unit, dt_reg, dt_mod, DT_NUMDR, 8, 24, 1, 8, 18, NULL, NULL, &dt_reset, &dt_boot, &dt_attach, &dt_detach, - &dt_dib, DEV_DISABLE | DEV_DEBUG, 0, + &dt_dib, DEV_DISABLE | DEV_DEBUG | DT_DIS, 0, dt_deb, NULL, NULL }; diff --git a/PDP10/kx10_imp.c b/PDP10/kx10_imp.c index a421f84..11f6be4 100644 --- a/PDP10/kx10_imp.c +++ b/PDP10/kx10_imp.c @@ -28,8 +28,9 @@ #include "sim_ether.h" #if NUM_DEVS_IMP > 0 -#define IMP_DEVNUM 0460 -#define WA_IMP_DEVNUM 0400 +#define IMP_DEVNUM 0460 +#define BBN_IMP_DEVNUM 0550 +#define WA_IMP_DEVNUM 0400 #define DEVNUM imp_dib.dev_num @@ -3132,9 +3133,11 @@ t_stat imp_attach(UNIT* uptr, CONST char* cptr) /* Set to correct device number */ switch(GET_DTYPE(imp_unit[0].flags)) { case TYPE_MIT: - case TYPE_BBN: imp_dib.dev_num = IMP_DEVNUM; break; + case TYPE_BBN: + imp_dib.dev_num = BBN_IMP_DEVNUM; + break; case TYPE_WAITS: imp_dib.dev_num = WA_IMP_DEVNUM; break; diff --git a/PDP10/kx10_lp.c b/PDP10/kx10_lp.c index 377b1f1..3c21f73 100644 --- a/PDP10/kx10_lp.c +++ b/PDP10/kx10_lp.c @@ -34,6 +34,14 @@ #if (NUM_DEVS_LP > 0) +#if KL +#define LP_DIS DEV_DIS +#endif + +#ifndef LP_DIS +#define LP_DIS 0 +#endif + #define LP_DEVNUM 0124 #define STATUS u3 #define COL u4 @@ -114,7 +122,7 @@ DEVICE lpt_dev = { 1, 10, 31, 1, 8, 8, NULL, NULL, &lpt_reset, NULL, &lpt_attach, &lpt_detach, - &lpt_dib, DEV_DISABLE | DEV_DEBUG, 0, dev_debug, + &lpt_dib, DEV_DISABLE | DEV_DEBUG | LP_DIS, 0, dev_debug, NULL, NULL, &lpt_help, NULL, NULL, &lpt_description }; diff --git a/PDP10/kx10_mt.c b/PDP10/kx10_mt.c index f253811..8fab66c 100644 --- a/PDP10/kx10_mt.c +++ b/PDP10/kx10_mt.c @@ -43,6 +43,14 @@ #if (NUM_DEVS_MT > 0) +#if KL +#define MT_DIS DEV_DIS +#endif + +#ifndef MT_DIS +#define MT_DIS 0 +#endif + #define BUF_EMPTY(u) (u->hwmark == 0xFFFFFFFF) #define CLR_BUF(u) u->hwmark = 0xFFFFFFFF @@ -222,7 +230,7 @@ DEVICE mt_dev = { "MTA", mt_unit, mt_reg, mt_mod, 8, 8, 15, 1, 8, 8, NULL, NULL, &mt_reset, &mt_boot, &mt_attach, &mt_detach, - &mt_dib, DEV_DISABLE | DEV_DEBUG | DEV_TAPE, 0, dev_debug, + &mt_dib, DEV_DISABLE | DEV_DEBUG | DEV_TAPE | MT_DIS, 0, dev_debug, NULL, NULL, &mt_help, NULL, NULL, &mt_description }; diff --git a/PDP10/kx10_pt.c b/PDP10/kx10_pt.c index 35b7eca..5956166 100644 --- a/PDP10/kx10_pt.c +++ b/PDP10/kx10_pt.c @@ -32,6 +32,14 @@ #if (NUM_DEVS_PT > 0) +#if KL +#define PT_DIS DEV_DIS +#endif + +#ifndef PT_DIS +#define PT_DIS 0 +#endif + #define PP_DEVNUM 0100 #define PR_DEVNUM 0104 #define STATUS u3 @@ -90,7 +98,7 @@ DEVICE ptp_dev = { "PTP", &ptp_unit, ptp_reg, ptp_mod, 1, 10, 31, 1, 8, 8, NULL, NULL, &ptp_reset, NULL, &ptp_attach, &ptp_detach, - &ptp_dib, DEV_DISABLE | DEV_DEBUG, 0, dev_debug, + &ptp_dib, DEV_DISABLE | DEV_DEBUG | PT_DIS, 0, dev_debug, NULL, NULL, &ptp_help, NULL, NULL, &ptp_description }; @@ -114,7 +122,7 @@ DEVICE ptr_dev = { "PTR", &ptr_unit, ptr_reg, ptr_mod, 1, 10, 31, 1, 8, 8, NULL, NULL, &ptr_reset, &ptr_boot, &ptr_attach, &ptr_detach, - &ptr_dib, DEV_DISABLE | DEV_DEBUG, 0, dev_debug, + &ptr_dib, DEV_DISABLE | DEV_DEBUG | PT_DIS, 0, dev_debug, NULL, NULL, &ptr_help, NULL, NULL, &ptr_description }; diff --git a/makefile b/makefile index db664ac..fc08dea 100644 --- a/makefile +++ b/makefile @@ -2150,12 +2150,14 @@ endif KL10D = ${SIMHD}/PDP10 KL10 = ${KL10D}/kx10_cpu.c ${KL10D}/kx10_sys.c ${KL10D}/kx10_df.c \ - ${KL10D}/kx10_mt.c ${KL10D}/kx10_dc.c ${KL10D}/kx10_rh.c \ + ${KA10D}/kx10_dp.c ${KA10D}/kx10_mt.c ${KA10D}/kx10_lp.c \ + ${KA10D}/kx10_pt.c ${KA10D}/kx10_dc.c ${KL10D}/kx10_rh.c \ + ${KA10D}/kx10_dt.c ${KA10D}/kx10_cr.c ${KA10D}/kx10_cp.c \ ${KL10D}/kx10_rp.c ${KL10D}/kx10_tu.c ${KL10D}/kx10_rs.c \ ${KL10D}/kx10_imp.c ${KL10D}/kl10_fe.c ${KL10D}/ka10_pd.c \ - ${KL10D}/ka10_ch10.c ${KL10D}/kx10_lp.c ${KL10D}/kl10_nia.c \ - ${KL10D}/kx10_disk.c ${KL10D}/kl10_dn.c -KL10_OPT = -DKL=1 -DUSE_INT64 -I $(KL10D) ${NETWORK_OPT} + ${KL10D}/ka10_ch10.c ${KL10D}/kl10_nia.c ${KL10D}/kx10_disk.c \ + ${KL10D}/kl10_dn.c +KL10_OPT = -DKL=1 -DUSE_INT64 -I $(KL10D) -DUSE_SIM_CARD ${NETWORK_OPT} KS10D = ${SIMHD}/PDP10 KS10 = ${KS10D}/kx10_cpu.c ${KS10D}/kx10_sys.c ${KS10D}/kx10_disk.c \