diff options
Diffstat (limited to 'src/mame/drivers/taitojc.cpp')
-rw-r--r-- | src/mame/drivers/taitojc.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/mame/drivers/taitojc.cpp b/src/mame/drivers/taitojc.cpp index 43098187073..073d1ccd16c 100644 --- a/src/mame/drivers/taitojc.cpp +++ b/src/mame/drivers/taitojc.cpp @@ -521,9 +521,15 @@ WRITE16_MEMBER(taitojc_state::main_to_dsp_7ff_w) } } +void taitojc_state::cpu_space_map(address_map &map) +{ + map(0xfffffff0, 0xffffffff).m(m_maincpu, FUNC(m68000_base_device::autovectors_map)); + map(0xfffffff4, 0xfffffff5).lr16("vblank irq", []() -> u16 { return 0x82; }); +} + INTERRUPT_GEN_MEMBER(taitojc_state::taitojc_vblank) { - device.execute().set_input_line_and_vector(2, HOLD_LINE, 0x82); // where does it come from? + device.execute().set_input_line(2, HOLD_LINE); // where does it come from? } WRITE8_MEMBER(taitojc_state::jc_irq_unk_w) @@ -1083,6 +1089,7 @@ void taitojc_state::taitojc(machine_config &config) M68040(config, m_maincpu, XTAL(10'000'000)*2); // 20MHz, clock source = CY7C991 m_maincpu->set_addrmap(AS_PROGRAM, &taitojc_state::taitojc_map); m_maincpu->set_vblank_int("screen", FUNC(taitojc_state::taitojc_vblank)); + m_maincpu->set_addrmap(m68000_base_device::AS_CPU_SPACE, &taitojc_state::cpu_space_map); mc68hc11_cpu_device &sub(MC68HC11(config, "sub", XTAL(16'000'000)/2)); // 8MHz, MC68HC11M0 sub.set_addrmap(AS_PROGRAM, &taitojc_state::hc11_pgm_map); |