seta.cpp: Acknowledge more interrupts (nw)

This commit is contained in:
AJR 2018-06-01 16:33:51 -04:00
parent fb9b32e32f
commit 243bbdc152
2 changed files with 15 additions and 5 deletions

View File

@ -1724,14 +1724,23 @@ void seta_state::tndrcade_map(address_map &map)
(with slight variations, and Meta Fox protection hooked in)
***************************************************************************/
WRITE8_MEMBER(seta_state::twineagl_ctrl_w)
{
if ((data & 0x30) == 0)
{
m_maincpu->set_input_line(1, CLEAR_LINE);
m_maincpu->set_input_line(3, CLEAR_LINE);
}
}
void seta_state::downtown_map(address_map &map)
{
map(0x000000, 0x09ffff).rom(); // ROM
map(0x100000, 0x103fff).rw(m_x1, FUNC(x1_010_device::word_r), FUNC(x1_010_device::word_w)); // Sound
map(0x200000, 0x200001).noprw(); // watchdog? (twineagl)
map(0x300000, 0x300001).nopw(); // IRQ enable/acknowledge?
map(0x300000, 0x300001).w(this, FUNC(seta_state::ipl1_ack_w));
map(0x400000, 0x400007).w(this, FUNC(seta_state::twineagl_tilebank_w)); // special tile banking to animate water in twineagl
map(0x500000, 0x500001).nopw(); // ?
map(0x500001, 0x500001).w(this, FUNC(seta_state::twineagl_ctrl_w));
map(0x600000, 0x600003).r(this, FUNC(seta_state::seta_dsw_r)); // DSW
map(0x700000, 0x7003ff).ram().share("paletteram1"); // Palette
map(0x800000, 0x800005).writeonly().share("vctrl_0");// VRAM Ctrl
@ -7893,7 +7902,7 @@ MACHINE_CONFIG_START(seta_state::twineagl)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 16000000/2) /* 8 MHz */
MCFG_DEVICE_PROGRAM_MAP(downtown_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", seta_state, irq3_line_hold)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", seta_state, irq3_line_assert)
MCFG_DEVICE_ADD("sub", M65C02, 16000000/8) /* 2 MHz */
MCFG_DEVICE_PROGRAM_MAP(twineagl_sub_map)
@ -7939,7 +7948,7 @@ MACHINE_CONFIG_START(seta_state::downtown)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(16'000'000)/2) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(downtown_map)
MCFG_TIMER_DRIVER_ADD_SCANLINE("m_scantimer", seta_state, seta_interrupt_1_and_2, "screen", 0, 1)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", seta_state, irq2_line_assert)
MCFG_DEVICE_ADD("sub", M65C02, XTAL(16'000'000)/8) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(downtown_sub_map)
@ -8131,7 +8140,7 @@ MACHINE_CONFIG_START(seta_state::metafox)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 16000000/2) /* 8 MHz */
MCFG_DEVICE_PROGRAM_MAP(downtown_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", seta_state, irq3_line_hold)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", seta_state, irq3_line_assert)
MCFG_DEVICE_ADD("sub", M65C02, 16000000/8) /* 2 MHz */
MCFG_DEVICE_PROGRAM_MAP(metafox_sub_map)

View File

@ -167,6 +167,7 @@ public:
DECLARE_READ8_MEMBER(downtown_ip_r);
DECLARE_WRITE8_MEMBER(calibr50_sub_bankswitch_w);
DECLARE_WRITE8_MEMBER(calibr50_soundlatch2_w);
DECLARE_WRITE8_MEMBER(twineagl_ctrl_w);
DECLARE_READ16_MEMBER(twineagl_debug_r);
DECLARE_READ16_MEMBER(twineagl_200100_r);
DECLARE_WRITE16_MEMBER(twineagl_200100_w);