diff options
Diffstat (limited to 'src/devices/cpu/lr35902/lr35902.cpp')
-rw-r--r-- | src/devices/cpu/lr35902/lr35902.cpp | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/src/devices/cpu/lr35902/lr35902.cpp b/src/devices/cpu/lr35902/lr35902.cpp index 59b8b45f601..cf936e47105 100644 --- a/src/devices/cpu/lr35902/lr35902.cpp +++ b/src/devices/cpu/lr35902/lr35902.cpp @@ -42,7 +42,6 @@ #include "emu.h" #include "lr35902.h" #include "lr35902d.h" -#include "debugger.h" /* Flag bit definitions */ enum lr35902_flag @@ -81,6 +80,7 @@ lr35902_cpu_device::lr35902_cpu_device(const machine_config &mconfig, const char , m_IF(0) , m_enable(0) , m_has_halt_bug(false) + , m_dma_cycles_to_burn(0) , m_entering_halt(false) , m_timer_func(*this) , m_incdec16_func(*this) @@ -137,13 +137,8 @@ inline void lr35902_cpu_device::mem_write_word( uint16_t addr, uint16_t data ) void lr35902_cpu_device::device_start() { - m_device = this; m_program = &space(AS_PROGRAM); - // resolve callbacks - m_timer_func.resolve_safe(); - m_incdec16_func.resolve_safe(); - // register for save states save_item(NAME(m_A)); save_item(NAME(m_F)); @@ -362,12 +357,13 @@ void lr35902_cpu_device::execute_run() /* Fetch and count cycles */ bool was_halted = (m_enable & HALTED); check_interrupts(); - debugger_instruction_hook(m_PC); if ( m_enable & HALTED ) { + debugger_wait_hook(); cycles_passed(m_has_halt_bug ? 2 : 4); m_execution_state = 1; m_entering_halt = false; } else { + debugger_instruction_hook(m_PC); if (was_halted) { m_PC++; } else { |