diff --git a/core/bus.c b/core/bus.c index 8ffaf0f..a03d9e1 100644 --- a/core/bus.c +++ b/core/bus.c @@ -104,8 +104,8 @@ static int32_t busReadMisc(VB *sim, uint8_t address, int type) { case 0x18>>2: return sim->tmr.counter & 0xFF; /* TLR */ case 0x1C>>2: return sim->tmr.counter >> 8 & 0xFF; /* THR */ case 0x20>>2: return tmrReadControl(sim); /* TCR */ - case 0x28>>2: return padReadControl(sim); /* SCR */ case 0x24>>2: return sim->wcr.exp1w << 1 | sim->wcr.rom1w; /* WCR */ + case 0x28>>2: return padReadControl(sim); /* SCR */ } /* Unmapped */ diff --git a/core/ext.c b/core/ext.c index cc5f45b..6d91bd8 100644 --- a/core/ext.c +++ b/core/ext.c @@ -82,6 +82,8 @@ static int32_t extReadCCR(VB *sim) { /* Read a value from CCSR */ static int32_t extReadCCSR(VB *sim) { + sim->ext.cc_rd = sim->ext.cc_wr & + (sim->peer == NULL ? 1 : sim->peer->ext.cc_wr); return 0x60 | sim->ext.cc_int_inh << 7 | sim->ext.cc_int_lev << 4 |