diff options
Diffstat (limited to 'src/devices/cpu/tms34010/tms34010.cpp')
-rw-r--r-- | src/devices/cpu/tms34010/tms34010.cpp | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/src/devices/cpu/tms34010/tms34010.cpp b/src/devices/cpu/tms34010/tms34010.cpp index 5f83443da68..cc2d2481a0c 100644 --- a/src/devices/cpu/tms34010/tms34010.cpp +++ b/src/devices/cpu/tms34010/tms34010.cpp @@ -863,6 +863,7 @@ void tms340x0_device::execute_run() /* Get out if CPU is halted. Absolutely no interrupts must be taken!!! */ if (IOREG(REG_HSTCTLH) & 0x8000) { + debugger_wait_hook(); m_icount = 0; return; } @@ -876,7 +877,7 @@ void tms340x0_device::execute_run() /* check interrupts first */ m_executing = true; check_interrupt(); - if ((machine().debug_flags & DEBUG_FLAG_ENABLED) == 0) + if (!debugger_enabled()) { do { @@ -1547,7 +1548,8 @@ u16 tms34010_device::io_register_r(offs_t offset) { int result, total; - LOGCONTROLREGS("%s: read %s\n", machine().describe_context(), ioreg_name[offset]); + if (!machine().side_effects_disabled()) + LOGCONTROLREGS("%s: read %s\n", machine().describe_context(), ioreg_name[offset]); switch (offset) { @@ -1588,7 +1590,8 @@ u16 tms34020_device::io_register_r(offs_t offset) { int result, total; - LOGCONTROLREGS("%s: read %s\n", machine().describe_context(), ioreg020_name[offset]); + if (!machine().side_effects_disabled()) + LOGCONTROLREGS("%s: read %s\n", machine().describe_context(), ioreg020_name[offset]); switch (offset) { @@ -1718,13 +1721,16 @@ u16 tms340x0_device::host_r(offs_t offset) addr = (IOREG(REG_HSTADRH) << 16) | IOREG(REG_HSTADRL); result = TMS34010_RDMEM_WORD(addr & 0xfffffff0); - /* optional postincrement (it says preincrement, but data is preloaded, so it - is effectively a postincrement */ - if (IOREG(REG_HSTCTLH) & 0x1000) + if (!machine().side_effects_disabled()) { - addr += 0x10; - IOREG(REG_HSTADRH) = addr >> 16; - IOREG(REG_HSTADRL) = (uint16_t)addr; + /* optional postincrement (it says preincrement, but data is preloaded, so it + is effectively a postincrement */ + if (IOREG(REG_HSTCTLH) & 0x1000) + { + addr += 0x10; + IOREG(REG_HSTADRH) = addr >> 16; + IOREG(REG_HSTADRL) = (uint16_t)addr; + } } break; @@ -1735,7 +1741,8 @@ u16 tms340x0_device::host_r(offs_t offset) /* error case */ default: - logerror("tms34010_host_control_r called on invalid register %d\n", reg); + if (!machine().side_effects_disabled()) + logerror("tms34010_host_control_r called on invalid register %d\n", reg); break; } |