diff options
-rw-r--r-- | src/devices/cpu/tms9900/tms9995.cpp | 9 | ||||
-rw-r--r-- | src/mame/drivers/ti99_2.cpp | 2 |
2 files changed, 7 insertions, 4 deletions
diff --git a/src/devices/cpu/tms9900/tms9995.cpp b/src/devices/cpu/tms9900/tms9995.cpp index 26d357a8e61..8458b2f656d 100644 --- a/src/devices/cpu/tms9900/tms9995.cpp +++ b/src/devices/cpu/tms9900/tms9995.cpp @@ -1795,12 +1795,13 @@ void tms9995_device::mem_read() if ((m_address & 0xfffe)==0xfffa && !m_mp9537) { - LOGMASKED(LOG_DEC, "read decrementer\n"); + LOGMASKED(LOG_DEC, "read dec=%04x\n", m_decrementer_value); // Decrementer mapped into the address space m_current_value = m_decrementer_value; if (m_byteop) { - if ((m_address & 1)!=1) m_current_value <<= 8; + // When reading FFFB, return the lower byte + if ((m_address & 1)==1) m_current_value <<= 8; m_current_value &= 0xff00; } pulse_clock(1); @@ -1942,7 +1943,7 @@ void tms9995_device::mem_write() { m_starting_count_storage_register = m_decrementer_value = m_current_value; } - LOGMASKED(LOG_DEC, "Setting decrementer to %04x, PC=%04x\n", m_current_value, PC); + LOGMASKED(LOG_DEC, "Setting dec=%04x [PC=%04x]\n", m_current_value, PC); pulse_clock(1); return; } @@ -2234,9 +2235,9 @@ void tms9995_device::trigger_decrementer() if (m_starting_count_storage_register>0) // null will turn off the decrementer { m_decrementer_value--; + LOGMASKED(LOG_DEC, "dec=%04x\n", m_decrementer_value); if (m_decrementer_value==0) { - LOGMASKED(LOG_DEC, "decrementer reached 0\n"); m_decrementer_value = m_starting_count_storage_register; if (m_flag[1]==true) { diff --git a/src/mame/drivers/ti99_2.cpp b/src/mame/drivers/ti99_2.cpp index 7a24c4a3b8c..303fa2a6adb 100644 --- a/src/mame/drivers/ti99_2.cpp +++ b/src/mame/drivers/ti99_2.cpp @@ -339,6 +339,8 @@ WRITE8_MEMBER(ti99_2_state::intflag_write) */ READ8_MEMBER(ti99_2_state::mem_read) { + if (m_maincpu->is_onchip(offset)) return m_maincpu->debug_read_onchip_memory(offset&0xff); + int page = offset >> 12; if (page>=0 && page<4) |