1
0
mirror of https://github.com/rcornwell/sims.git synced 2026-04-10 22:51:59 +00:00

KA10: Changed byte Unibus NPR transfers to uint8

This commit is contained in:
Richard Cornwell
2022-02-10 20:55:20 -05:00
parent 34b03adae0
commit b8c3604cea
3 changed files with 10 additions and 7 deletions

View File

@@ -589,6 +589,7 @@ lp20_svc (UNIT *uptr)
int fnc = (lp20_cs1 >> CS1_V_FNC) & CS1_M_FNC;
uint16 ram_ch;
uint16 par;
uint8 data;
if (fnc == FNC_PRINT && (uptr->flags & UNIT_ATT) == 0) {
lp20_cs1 |= CS1_ERR;
@@ -598,7 +599,7 @@ lp20_svc (UNIT *uptr)
return SCPE_OK;
}
if (uba_read_npr_byte(lp20_ba, dibp->uba_ctl, &lp20_buf) == 0) {
if (uba_read_npr_byte(lp20_ba, dibp->uba_ctl, &data) == 0) {
lp20_cs2 |= CS2_MTE;
lp20_cs1 &= ~CS1_GO;
lp20_update_chkirq (uptr, 0, 1);
@@ -606,7 +607,7 @@ lp20_svc (UNIT *uptr)
return SCPE_OK;
}
lp20_buf &= 0377;
lp20_buf = (uint16)(data & 0377);
lp20_ba = (lp20_ba + 1) & 0777777;
lp20_wcnt = (lp20_wcnt + 1) & 07777;
if (lp20_wcnt == 0) {

View File

@@ -231,7 +231,7 @@ uba_write_npr(t_addr addr, uint16 ctl, uint64 data)
}
int
uba_read_npr_byte(t_addr addr, uint16 ctl, uint16 *data)
uba_read_npr_byte(t_addr addr, uint16 ctl, uint8 *data)
{
int ubm = uba_device[ctl];
uint32 map = uba_map[ubm][(077) & (addr >> 11)];
@@ -249,12 +249,12 @@ uba_read_npr_byte(t_addr addr, uint16 ctl, uint16 *data)
if ((oaddr & 01))
wd >>= 8;
sim_debug(DEBUG_DATA, &cpu_dev, "%03llo ", wd & 0377);
*data = (uint16)(wd & 0377);
*data = (uint8)(wd & 0377);
return 1;
}
int
uba_write_npr_byte(t_addr addr, uint16 ctl, uint16 data)
uba_write_npr_byte(t_addr addr, uint16 ctl, uint8 data)
{
int ubm = uba_device[ctl];
uint32 map = uba_map[ubm][(077) & (addr >> 11)];

View File

@@ -522,6 +522,7 @@ extern DEVICE mtc_dev;
extern DEVICE dsk_dev;
extern DEVICE dcs_dev;
extern DEVICE dz_dev;
extern DEVICE kmc_dev;
extern DEVICE dup_dev;
extern DEVICE tcu_dev;
@@ -575,8 +576,8 @@ int uba_read(t_addr addr, int ctl, uint64 *data, int access);
int uba_write(t_addr addr, int ctl, uint64 data, int access);
int uba_read_npr(t_addr addr, uint16 ctl, uint64 *data);
int uba_write_npr(t_addr addr, uint16 ctl, uint64 data);
int uba_read_npr_byte(t_addr addr, uint16 ctl, uint16 *data);
int uba_write_npr_byte(t_addr addr, uint16 ctl, uint16 data);
int uba_read_npr_byte(t_addr addr, uint16 ctl, uint8 *data);
int uba_write_npr_byte(t_addr addr, uint16 ctl, uint8 data);
int uba_read_npr_word(t_addr addr, uint16 ctl, uint16 *data);
int uba_write_npr_word(t_addr addr, uint16 ctl, uint16 data);
void uba_set_irq(DIB *dibp);
@@ -746,6 +747,7 @@ extern void ka10_lights_clear_aux (int);
#define NUM_DEVS_DZ 4
#define NUM_DEVS_TCU 1
#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