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