diff options
Diffstat (limited to 'src/devices/cpu/f8/f8.cpp')
-rw-r--r-- | src/devices/cpu/f8/f8.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/devices/cpu/f8/f8.cpp b/src/devices/cpu/f8/f8.cpp index 9aa27af8f54..a62c3037617 100644 --- a/src/devices/cpu/f8/f8.cpp +++ b/src/devices/cpu/f8/f8.cpp @@ -46,7 +46,6 @@ #include "emu.h" #include "f8.h" #include "f8dasm.h" -#include "debugger.h" /* status flags */ @@ -68,7 +67,8 @@ f8_cpu_device::f8_cpu_device(const machine_config &mconfig, const char *tag, dev cpu_device(mconfig, F8, tag, owner, clock), m_program_config("program", ENDIANNESS_BIG, 8, 16, 0), m_regs_config("register", ENDIANNESS_BIG, 8, 6, 0, address_map_constructor(FUNC(f8_cpu_device::regs_map), this)), - m_io_config("io", ENDIANNESS_BIG, 8, 8, 0) + m_io_config("io", ENDIANNESS_BIG, 8, 8, 0), + m_romc08_callback(*this, 0) { } void f8_cpu_device::regs_map(address_map &map) @@ -280,7 +280,6 @@ void f8_cpu_device::ROMC_00(int insttim) * code addressed by PC0; then all devices increment the contents * of PC0. */ - m_dbus = m_program.read_byte(m_pc0); m_pc0 += 1; m_icount -= insttim; /* ROMC00 is usually short, not short+long, but DS is long */ @@ -370,7 +369,7 @@ void f8_cpu_device::ROMC_08() */ m_pc1 = m_pc0; m_dbus = 0; - m_pc0 = 0; + m_pc0 = m_romc08_callback() * 0x0101; m_icount -= cL; } @@ -449,7 +448,7 @@ void f8_cpu_device::ROMC_0F() * must move the contents of the data bus into the low order * byte of PC0. */ - m_irq_vector = standard_irq_callback(F8_INPUT_LINE_INT_REQ); + m_irq_vector = standard_irq_callback(F8_INPUT_LINE_INT_REQ, m_pc0); m_dbus = m_irq_vector & 0x00ff; m_pc1 = m_pc0; m_pc0 = (m_pc0 & 0xff00) | m_dbus; |