diff options
Diffstat (limited to 'src/mame/drivers/docastle.cpp')
-rw-r--r-- | src/mame/drivers/docastle.cpp | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/src/mame/drivers/docastle.cpp b/src/mame/drivers/docastle.cpp index e7ecfb0e410..927eaa7fbe2 100644 --- a/src/mame/drivers/docastle.cpp +++ b/src/mame/drivers/docastle.cpp @@ -178,6 +178,24 @@ WRITE_LINE_MEMBER(docastle_state::docastle_tint) } } +WRITE_LINE_MEMBER(docastle_state::stx_on_w) +{ + if (state) + { + m_maincpu->set_input_line(0, ASSERT_LINE); + m_cpu3->set_input_line(INPUT_LINE_NMI, ASSERT_LINE); + } +} + +WRITE_LINE_MEMBER(docastle_state::stx_off_w) +{ + if (!state) + { + m_maincpu->set_input_line(0, CLEAR_LINE); + m_cpu3->set_input_line(INPUT_LINE_NMI, CLEAR_LINE); + } +} + WRITE_LINE_MEMBER(docastle_state::idsoccer_adpcm_int) { if (m_adpcm_pos >= memregion("adpcm")->bytes()) @@ -584,14 +602,12 @@ MACHINE_CONFIG_START(docastle_state::docastle) MCFG_CPU_ADD("maincpu", Z80, XTAL(4'000'000)) MCFG_CPU_PROGRAM_MAP(docastle_map) MCFG_CPU_IO_MAP(docastle_io_map) - MCFG_CPU_VBLANK_INT_DRIVER("screen", docastle_state, irq0_line_hold) MCFG_CPU_ADD("slave", Z80, XTAL(4'000'000)) MCFG_CPU_PROGRAM_MAP(docastle_map2) MCFG_CPU_ADD("cpu3", Z80, XTAL(4'000'000)) MCFG_CPU_PROGRAM_MAP(docastle_map3) - MCFG_CPU_VBLANK_INT_DRIVER("screen", docastle_state, nmi_line_pulse) MCFG_DEVICE_ADD("inp1", TMS1025, 0) MCFG_TMS1025_READ_PORT_CB(PORT1, IOPORT("DSW2")) @@ -621,6 +637,8 @@ MACHINE_CONFIG_START(docastle_state::docastle) MCFG_MC6845_VISAREA_ADJUST(8,-8,0,0) MCFG_MC6845_CHAR_WIDTH(8) MCFG_MC6845_OUT_HSYNC_CB(WRITELINE(docastle_state, docastle_tint)) + MCFG_MC6845_OUT_CUR_CB(WRITELINE(docastle_state, stx_on_w)) + MCFG_MC6845_OUT_DE_CB(WRITELINE(docastle_state, stx_off_w)) MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_RAW_PARAMS(XTAL(9'828'000)/2, 0x138, 8, 0x100-8, 0x108, 0, 0xc0) // from crtc |