summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/tms34010/tms34010.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/tms34010/tms34010.cpp')
-rw-r--r--src/devices/cpu/tms34010/tms34010.cpp27
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;
}