1
0
mirror of https://github.com/rcornwell/sims.git synced 2026-01-13 15:27:04 +00:00

KA10: Added more devices to KL10 as disabled by default.

This commit is contained in:
Richard Cornwell 2022-04-10 20:43:35 -04:00
parent cc338b7b83
commit c9f07d9285
12 changed files with 103 additions and 35 deletions

View File

@ -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
};

View File

@ -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;

View File

@ -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
};

View File

@ -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
};

View File

@ -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

View File

@ -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
};

View File

@ -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
};

View File

@ -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;

View File

@ -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
};

View File

@ -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
};

View File

@ -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
};

View File

@ -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 \