summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/docastle.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/docastle.cpp')
-rw-r--r--src/mame/drivers/docastle.cpp22
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