From 17949f76b5e55390dd74fffb79f56e3cd5e5359e Mon Sep 17 00:00:00 2001 From: Richard Cornwell Date: Fri, 20 Oct 2023 16:31:19 -0400 Subject: [PATCH] KA10: Allow Pi-Panel to be build for all PDP10 models. --- PDP10/ka10_pipanel.c | 11 ++++++++++- PDP10/kx10_cpu.c | 2 -- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/PDP10/ka10_pipanel.c b/PDP10/ka10_pipanel.c index 10ea88a..8b5f6cb 100644 --- a/PDP10/ka10_pipanel.c +++ b/PDP10/ka10_pipanel.c @@ -65,9 +65,10 @@ extern uint8 IX; /* Index register */ extern uint8 IND; /* Indirect flag */ extern t_addr AB; /* Memory address register */ extern t_addr PC; /* Program counter register */ +#if KA | KI extern int nxm_stop; /* Stop if non-existent memory access */ -extern int adr_flag; /* Address stop flags */ extern int adr_cond; /* Address stop condition */ +#endif extern uint8 IOB_PI; /* Pending Interrupt requests */ extern uint8 PIR; /* Current Interrupt requests */ extern uint8 PIH; /* Currently held interrupts */ @@ -532,8 +533,10 @@ void *blink(void *ptr) break; case 2: new_sw |= (((uint64)sw) << SR_V2) | SR_MASK_2; +#if KA | KI adr_cond = sw & (INST_FETCH|DATA_FETCH|WRITE_SW|ADR_STOP_SW|ADR_BRK_SW); nxm_stop = (sw & NXM_STOP) != 0; +#endif sing_inst_sw = (sw & SING_INST) != 0; /* PAR_STOP handle special features */ /* SING_CYCL no function yet */ @@ -699,9 +702,11 @@ void *blink(void *ptr) break; case 2: new_sw |= (((uint64)sw) << SR_V2) & SR_MASK_2; +#if KA | KI adr_cond = sw & (INST_FETCH|DATA_FETCH|WRITE_SW| ADR_STOP_SW|ADR_BRK_SW); nxm_stop = (sw & NXM_STOP) != 0; +#endif sing_inst_sw = (sw & SING_INST) != 0; /* PAR_STOP handle special features */ par_stop = (sw & PAR_STOP) != 0; @@ -736,9 +741,11 @@ void *blink(void *ptr) if (switch_state[col].changed && switch_state[col].state) { switch_state[col].changed = 0; switch (col) { +#if KA | KI case 7: /* ReadIN */ rdrin_dev = 0774 & new_as; break; +#endif case 5: /* Continue */ MI_disable = !MI_disable; @@ -923,6 +930,7 @@ vm_read(char *cptr, int32 sz, FILE *file) } break; +#if KA | KI case 7: /* ReadIN */ if ((input_buffer = (char *)malloc(20)) != 0) { DEVICE *dptr; @@ -952,6 +960,7 @@ vm_read(char *cptr, int32 sz, FILE *file) rdrin_dev); } break; +#endif case 10: /* Deposit next */ AB++; diff --git a/PDP10/kx10_cpu.c b/PDP10/kx10_cpu.c index db86c6e..f2d9598 100644 --- a/PDP10/kx10_cpu.c +++ b/PDP10/kx10_cpu.c @@ -140,9 +140,7 @@ uint32 rdrin_dev; /* Read in device */ uint8 IX; /* Index register */ uint8 IND; /* Indirect flag */ #endif -#if PDP6 | KA | KI t_addr AS; /* Address switches */ -#endif int BYF5; /* Flag for second half of LDB/DPB instruction */ int uuo_cycle; /* Uuo cycle in progress */ int SC; /* Shift count */