summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/tms9900/tms9995.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/tms9900/tms9995.cpp')
-rw-r--r--src/devices/cpu/tms9900/tms9995.cpp9
1 files changed, 5 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)
{