summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2018-04-03 16:20:42 -0400
committer AJR <ajrhacker@users.noreply.github.com>2018-04-03 16:23:11 -0400
commit8cd7955a625b1c07fc13309f86791b473a404090 (patch)
treefb2ca44052bdbab807aeef1bb130b5d3b43beb3e
parent0dbee19e6213b6003e612fa1237c8ea1d519d0c5 (diff)
Remove sound interrupt status from atarigen base class (nw)
atarisy2.cpp: Replace MCFG_CPU_VBLANK_INT with line callback (nw)
-rw-r--r--src/mame/drivers/atarig1.cpp3
-rw-r--r--src/mame/drivers/atarig42.cpp3
-rw-r--r--src/mame/drivers/atarigt.cpp3
-rw-r--r--src/mame/drivers/atarigx2.cpp3
-rw-r--r--src/mame/drivers/atarisy1.cpp3
-rw-r--r--src/mame/drivers/atarisy2.cpp8
-rw-r--r--src/mame/drivers/badlands.cpp3
-rw-r--r--src/mame/drivers/batman.cpp3
-rw-r--r--src/mame/drivers/beathead.cpp2
-rw-r--r--src/mame/drivers/blstroid.cpp3
-rw-r--r--src/mame/drivers/cyberbal.cpp6
-rw-r--r--src/mame/drivers/cybstorm.cpp3
-rw-r--r--src/mame/drivers/eprom.cpp10
-rw-r--r--src/mame/drivers/gauntlet.cpp3
-rw-r--r--src/mame/drivers/offtwall.cpp3
-rw-r--r--src/mame/drivers/skullxbo.cpp3
-rw-r--r--src/mame/drivers/thunderj.cpp3
-rw-r--r--src/mame/drivers/toobin.cpp12
-rw-r--r--src/mame/drivers/vindictr.cpp3
-rw-r--r--src/mame/drivers/xybots.cpp3
-rw-r--r--src/mame/includes/atarisy2.h2
-rw-r--r--src/mame/includes/toobin.h8
-rw-r--r--src/mame/machine/atarigen.cpp30
-rw-r--r--src/mame/machine/atarigen.h4
24 files changed, 48 insertions, 79 deletions
diff --git a/src/mame/drivers/atarig1.cpp b/src/mame/drivers/atarig1.cpp
index cea497f6ff7..431fc763324 100644
--- a/src/mame/drivers/atarig1.cpp
+++ b/src/mame/drivers/atarig1.cpp
@@ -37,7 +37,6 @@
void atarig1_state::update_interrupts()
{
m_maincpu->set_input_line(1, m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
- m_maincpu->set_input_line(2, m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
}
@@ -437,7 +436,7 @@ MACHINE_CONFIG_START(atarig1_state::atarig1)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
- MCFG_ATARI_JSA_II_ADD("jsa", WRITELINE(atarig1_state, sound_int_write_line))
+ MCFG_ATARI_JSA_II_ADD("jsa", INPUTLINE("maincpu", M68K_IRQ_2))
MCFG_ATARI_JSA_TEST_PORT("IN0", 14)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/atarig42.cpp b/src/mame/drivers/atarig42.cpp
index 9bf4f013193..1f222105e24 100644
--- a/src/mame/drivers/atarig42.cpp
+++ b/src/mame/drivers/atarig42.cpp
@@ -35,7 +35,6 @@
void atarig42_state::update_interrupts()
{
m_maincpu->set_input_line(4, m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
- m_maincpu->set_input_line(5, m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
}
@@ -551,7 +550,7 @@ MACHINE_CONFIG_START(atarig42_state::atarig42)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
- MCFG_ATARI_JSA_III_ADD("jsa", WRITELINE(atarig42_state, sound_int_write_line))
+ MCFG_ATARI_JSA_III_ADD("jsa", INPUTLINE("maincpu", M68K_IRQ_5))
MCFG_ATARI_JSA_TEST_PORT("IN2", 6)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/atarigt.cpp b/src/mame/drivers/atarigt.cpp
index 080686f2b25..2a38b9c7038 100644
--- a/src/mame/drivers/atarigt.cpp
+++ b/src/mame/drivers/atarigt.cpp
@@ -71,7 +71,6 @@
void atarigt_state::update_interrupts()
{
- m_maincpu->set_input_line(3, m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
m_maincpu->set_input_line(4, m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
m_maincpu->set_input_line(6, m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
}
@@ -93,7 +92,7 @@ MACHINE_RESET_MEMBER(atarigt_state,atarigt)
WRITE8_MEMBER(atarigt_state::cage_irq_callback)
{
- sound_int_write_line(data != 0 ? 1 : 0);
+ m_maincpu->set_input_line(M68K_IRQ_3, data != 0 ? ASSERT_LINE : CLEAR_LINE);
}
/*************************************
diff --git a/src/mame/drivers/atarigx2.cpp b/src/mame/drivers/atarigx2.cpp
index 2e04ae8826f..92712919627 100644
--- a/src/mame/drivers/atarigx2.cpp
+++ b/src/mame/drivers/atarigx2.cpp
@@ -42,7 +42,6 @@
void atarigx2_state::update_interrupts()
{
m_maincpu->set_input_line(4, m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
- m_maincpu->set_input_line(5, m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
}
@@ -1524,7 +1523,7 @@ MACHINE_CONFIG_START(atarigx2_state::atarigx2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
- MCFG_ATARI_JSA_IIIS_ADD("jsa", WRITELINE(atarigx2_state, sound_int_write_line))
+ MCFG_ATARI_JSA_IIIS_ADD("jsa", INPUTLINE("maincpu", M68K_IRQ_5))
MCFG_ATARI_JSA_TEST_PORT("SERVICE", 6)
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
diff --git a/src/mame/drivers/atarisy1.cpp b/src/mame/drivers/atarisy1.cpp
index 1212b71d002..b44e2644301 100644
--- a/src/mame/drivers/atarisy1.cpp
+++ b/src/mame/drivers/atarisy1.cpp
@@ -215,7 +215,6 @@ void atarisy1_state::update_interrupts()
m_maincpu->set_input_line(2, m_joystick_int ? ASSERT_LINE : CLEAR_LINE);
m_maincpu->set_input_line(3, m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
m_maincpu->set_input_line(4, m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
- m_maincpu->set_input_line(6, m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
}
@@ -786,7 +785,7 @@ MACHINE_CONFIG_START(atarisy1_state::atarisy1)
MCFG_VIDEO_START_OVERRIDE(atarisy1_state,atarisy1)
/* sound hardware */
- MCFG_ATARI_SOUND_COMM_ADD("soundcomm", "audiocpu", WRITELINE(atarisy1_state, sound_int_write_line))
+ MCFG_ATARI_SOUND_COMM_ADD("soundcomm", "audiocpu", INPUTLINE("maincpu", M68K_IRQ_6))
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_YM2151_ADD("ymsnd", ATARI_CLOCK_14MHz/4)
diff --git a/src/mame/drivers/atarisy2.cpp b/src/mame/drivers/atarisy2.cpp
index f12b7ba65b8..e8d6eb0f4dc 100644
--- a/src/mame/drivers/atarisy2.cpp
+++ b/src/mame/drivers/atarisy2.cpp
@@ -227,10 +227,10 @@ MACHINE_RESET_MEMBER(atarisy2_state,atarisy2)
*
*************************************/
-INTERRUPT_GEN_MEMBER(atarisy2_state::vblank_int)
+WRITE_LINE_MEMBER(atarisy2_state::vblank_int)
{
/* clock the VBLANK through */
- if (m_interrupt_enable & 8)
+ if (state && BIT(m_interrupt_enable, 3))
video_int_write_line(1);
}
@@ -1176,7 +1176,6 @@ MACHINE_CONFIG_START(atarisy2_state::atarisy2)
MCFG_CPU_ADD("maincpu", T11, MASTER_CLOCK/2)
MCFG_T11_INITIAL_MODE(0x36ff) /* initial mode word has DAL15,14,11,8 pulled low */
MCFG_CPU_PROGRAM_MAP(main_map)
- MCFG_CPU_VBLANK_INT_DRIVER("screen", atarisy2_state, vblank_int)
MCFG_CPU_ADD("audiocpu", M6502, SOUND_CLOCK/8)
MCFG_CPU_PROGRAM_MAP(sound_map)
@@ -1215,11 +1214,12 @@ MACHINE_CONFIG_START(atarisy2_state::atarisy2)
MCFG_SCREEN_RAW_PARAMS(VIDEO_CLOCK/2, 640, 0, 512, 416, 0, 384)
MCFG_SCREEN_UPDATE_DRIVER(atarisy2_state, screen_update_atarisy2)
MCFG_SCREEN_PALETTE("palette")
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(atarisy2_state, vblank_int))
MCFG_VIDEO_START_OVERRIDE(atarisy2_state,atarisy2)
/* sound hardware */
- MCFG_ATARI_SOUND_COMM_ADD("soundcomm", "audiocpu", WRITELINE(atarisy2_state, sound_int_write_line))
+ MCFG_ATARI_SOUND_COMM_ADD("soundcomm", "audiocpu", NOOP)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_YM2151_ADD("ymsnd", SOUND_CLOCK/4)
MCFG_SOUND_ROUTE(0, "lspeaker", 0.60)
diff --git a/src/mame/drivers/badlands.cpp b/src/mame/drivers/badlands.cpp
index 4bf7520b872..afe7d0eb395 100644
--- a/src/mame/drivers/badlands.cpp
+++ b/src/mame/drivers/badlands.cpp
@@ -177,7 +177,6 @@ Measurements -
void badlands_state::update_interrupts()
{
m_maincpu->set_input_line(1, m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
- m_maincpu->set_input_line(2, m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
}
@@ -489,7 +488,7 @@ MACHINE_CONFIG_START(badlands_state::badlands)
MCFG_VIDEO_START_OVERRIDE(badlands_state,badlands)
/* sound hardware */
- MCFG_ATARI_SOUND_COMM_ADD("soundcomm", "audiocpu", WRITELINE(badlands_state, sound_int_write_line))
+ MCFG_ATARI_SOUND_COMM_ADD("soundcomm", "audiocpu", INPUTLINE("maincpu", M68K_IRQ_2))
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_YM2151_ADD("ymsnd", ATARI_CLOCK_14MHz/4)
diff --git a/src/mame/drivers/batman.cpp b/src/mame/drivers/batman.cpp
index 53d55062e5d..38a9a222834 100644
--- a/src/mame/drivers/batman.cpp
+++ b/src/mame/drivers/batman.cpp
@@ -38,7 +38,6 @@
void batman_state::update_interrupts()
{
m_maincpu->set_input_line(4, m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
- m_maincpu->set_input_line(6, m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
}
@@ -225,7 +224,7 @@ MACHINE_CONFIG_START(batman_state::batman)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
- MCFG_ATARI_JSA_III_ADD("jsa", WRITELINE(batman_state, sound_int_write_line))
+ MCFG_ATARI_JSA_III_ADD("jsa", INPUTLINE("maincpu", M68K_IRQ_6))
MCFG_ATARI_JSA_TEST_PORT("260010", 6)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/beathead.cpp b/src/mame/drivers/beathead.cpp
index 09225b9ae5d..7be7af69000 100644
--- a/src/mame/drivers/beathead.cpp
+++ b/src/mame/drivers/beathead.cpp
@@ -389,7 +389,7 @@ MACHINE_CONFIG_START(beathead_state::beathead)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
- MCFG_ATARI_JSA_III_ADD("jsa", WRITELINE(beathead_state, sound_int_write_line))
+ MCFG_ATARI_JSA_III_ADD("jsa", NOOP)
MCFG_ATARI_JSA_TEST_PORT("IN2", 6)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/blstroid.cpp b/src/mame/drivers/blstroid.cpp
index 1463f07d3ba..e8cc9350c27 100644
--- a/src/mame/drivers/blstroid.cpp
+++ b/src/mame/drivers/blstroid.cpp
@@ -39,7 +39,6 @@ void blstroid_state::update_interrupts()
{
m_maincpu->set_input_line(1, m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
m_maincpu->set_input_line(2, m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
- m_maincpu->set_input_line(4, m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
}
@@ -210,7 +209,7 @@ MACHINE_CONFIG_START(blstroid_state::blstroid)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
- MCFG_ATARI_JSA_I_ADD("jsa", WRITELINE(blstroid_state, sound_int_write_line))
+ MCFG_ATARI_JSA_I_ADD("jsa", INPUTLINE("maincpu", M68K_IRQ_4))
MCFG_ATARI_JSA_TEST_PORT("IN0", 7)
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
diff --git a/src/mame/drivers/cyberbal.cpp b/src/mame/drivers/cyberbal.cpp
index 5259ba68169..2013f79eabe 100644
--- a/src/mame/drivers/cyberbal.cpp
+++ b/src/mame/drivers/cyberbal.cpp
@@ -41,12 +41,10 @@
void cyberbal2p_state::update_interrupts()
{
m_maincpu->set_input_line(1, m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
- m_maincpu->set_input_line(3, m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
}
void cyberbal_state::update_interrupts()
{
- m_maincpu->set_input_line(1, m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
m_extracpu->set_input_line(1, m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
}
@@ -454,7 +452,7 @@ MACHINE_CONFIG_START(cyberbal_state::cyberbal)
MCFG_SCREEN_PALETTE("rpalette")
/* sound hardware */
- MCFG_ATARI_SOUND_COMM_ADD("soundcomm", "audiocpu", WRITELINE(cyberbal_state, sound_int_write_line))
+ MCFG_ATARI_SOUND_COMM_ADD("soundcomm", "audiocpu", INPUTLINE("maincpu", M68K_IRQ_1))
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_YM2151_ADD("ymsnd", ATARI_CLOCK_14MHz/4)
@@ -513,7 +511,7 @@ MACHINE_CONFIG_START(cyberbal2p_state::cyberbal2p)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
- MCFG_ATARI_JSA_II_ADD("jsa", WRITELINE(cyberbal2p_state, sound_int_write_line))
+ MCFG_ATARI_JSA_II_ADD("jsa", INPUTLINE("maincpu", M68K_IRQ_3))
MCFG_ATARI_JSA_TEST_PORT("IN2", 15)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/cybstorm.cpp b/src/mame/drivers/cybstorm.cpp
index f525a61c9d6..5c8a5c11be4 100644
--- a/src/mame/drivers/cybstorm.cpp
+++ b/src/mame/drivers/cybstorm.cpp
@@ -32,7 +32,6 @@
void cybstorm_state::update_interrupts()
{
m_maincpu->set_input_line(4, m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
- m_maincpu->set_input_line(6, m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
}
@@ -275,7 +274,7 @@ MACHINE_CONFIG_START(cybstorm_state::cybstorm)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
- MCFG_ATARI_JSA_IIIS_ADD("jsa", WRITELINE(cybstorm_state, sound_int_write_line))
+ MCFG_ATARI_JSA_IIIS_ADD("jsa", INPUTLINE("maincpu", M68K_IRQ_6))
MCFG_ATARI_JSA_TEST_PORT("9F0010", 22)
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
diff --git a/src/mame/drivers/eprom.cpp b/src/mame/drivers/eprom.cpp
index 760a1800b12..f4ef46a42cc 100644
--- a/src/mame/drivers/eprom.cpp
+++ b/src/mame/drivers/eprom.cpp
@@ -45,10 +45,8 @@ void eprom_state::update_interrupts()
{
m_maincpu->set_input_line(4, m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
- if (m_extra != nullptr)
+ if (m_extra.found())
m_extra->set_input_line(4, m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
-
- m_maincpu->set_input_line(6, m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
}
void eprom_state::machine_start()
@@ -427,7 +425,7 @@ MACHINE_CONFIG_START(eprom_state::eprom)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
- MCFG_ATARI_JSA_I_ADD("jsa", WRITELINE(eprom_state, sound_int_write_line))
+ MCFG_ATARI_JSA_I_ADD("jsa", INPUTLINE("maincpu", M68K_IRQ_6))
MCFG_ATARI_JSA_TEST_PORT("260010", 1)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MCFG_DEVICE_REMOVE("jsa:pokey")
@@ -470,7 +468,7 @@ MACHINE_CONFIG_START(eprom_state::klaxp)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
- MCFG_ATARI_JSA_II_ADD("jsa", WRITELINE(eprom_state, sound_int_write_line))
+ MCFG_ATARI_JSA_II_ADD("jsa", INPUTLINE("maincpu", M68K_IRQ_6))
MCFG_ATARI_JSA_TEST_PORT("260010", 1)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
@@ -518,7 +516,7 @@ MACHINE_CONFIG_START(eprom_state::guts)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
- MCFG_ATARI_JSA_II_ADD("jsa", WRITELINE(eprom_state, sound_int_write_line))
+ MCFG_ATARI_JSA_II_ADD("jsa", INPUTLINE("maincpu", M68K_IRQ_6))
MCFG_ATARI_JSA_TEST_PORT("260010", 1)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/gauntlet.cpp b/src/mame/drivers/gauntlet.cpp
index 54622518cd0..234ae401861 100644
--- a/src/mame/drivers/gauntlet.cpp
+++ b/src/mame/drivers/gauntlet.cpp
@@ -142,7 +142,6 @@
void gauntlet_state::update_interrupts()
{
m_maincpu->set_input_line(4, m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
- m_maincpu->set_input_line(6, m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
}
@@ -523,7 +522,7 @@ MACHINE_CONFIG_START(gauntlet_state::gauntlet_base)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(gauntlet_state, video_int_write_line))
/* sound hardware */
- MCFG_ATARI_SOUND_COMM_ADD("soundcomm", "audiocpu", WRITELINE(gauntlet_state, sound_int_write_line))
+ MCFG_ATARI_SOUND_COMM_ADD("soundcomm", "audiocpu", INPUTLINE("maincpu", M68K_IRQ_6))
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_YM2151_ADD("ymsnd", ATARI_CLOCK_14MHz/4)
diff --git a/src/mame/drivers/offtwall.cpp b/src/mame/drivers/offtwall.cpp
index efcd9234e51..a4045420152 100644
--- a/src/mame/drivers/offtwall.cpp
+++ b/src/mame/drivers/offtwall.cpp
@@ -38,7 +38,6 @@
void offtwall_state::update_interrupts()
{
m_maincpu->set_input_line(4, m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
- m_maincpu->set_input_line(6, m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
}
@@ -380,7 +379,7 @@ MACHINE_CONFIG_START(offtwall_state::offtwall)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
- MCFG_ATARI_JSA_III_ADD("jsa", WRITELINE(offtwall_state, sound_int_write_line))
+ MCFG_ATARI_JSA_III_ADD("jsa", INPUTLINE("maincpu", M68K_IRQ_6))
MCFG_ATARI_JSA_TEST_PORT("260010", 6)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MCFG_DEVICE_REMOVE("jsa:oki1")
diff --git a/src/mame/drivers/skullxbo.cpp b/src/mame/drivers/skullxbo.cpp
index 7019e9555b1..457f1e84d68 100644
--- a/src/mame/drivers/skullxbo.cpp
+++ b/src/mame/drivers/skullxbo.cpp
@@ -39,7 +39,6 @@ void skullxbo_state::update_interrupts()
{
m_maincpu->set_input_line(1, m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
m_maincpu->set_input_line(2, m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
- m_maincpu->set_input_line(4, m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
}
@@ -261,7 +260,7 @@ MACHINE_CONFIG_START(skullxbo_state::skullxbo)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
- MCFG_ATARI_JSA_II_ADD("jsa", WRITELINE(skullxbo_state, sound_int_write_line))
+ MCFG_ATARI_JSA_II_ADD("jsa", INPUTLINE("maincpu", M68K_IRQ_4))
MCFG_ATARI_JSA_TEST_PORT("FF5802", 7)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/thunderj.cpp b/src/mame/drivers/thunderj.cpp
index feb189cff05..8c5ac2ea950 100644
--- a/src/mame/drivers/thunderj.cpp
+++ b/src/mame/drivers/thunderj.cpp
@@ -55,7 +55,6 @@ void thunderj_state::update_interrupts()
{
m_maincpu->set_input_line(4, m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
m_extra->set_input_line(4, m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
- m_maincpu->set_input_line(6, m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
}
@@ -282,7 +281,7 @@ MACHINE_CONFIG_START(thunderj_state::thunderj)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
- MCFG_ATARI_JSA_II_ADD("jsa", WRITELINE(thunderj_state, sound_int_write_line))
+ MCFG_ATARI_JSA_II_ADD("jsa", INPUTLINE("maincpu", M68K_IRQ_6))
MCFG_ATARI_JSA_TEST_PORT("260012", 1)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/toobin.cpp b/src/mame/drivers/toobin.cpp
index fb9ff722f55..e8ff30c0454 100644
--- a/src/mame/drivers/toobin.cpp
+++ b/src/mame/drivers/toobin.cpp
@@ -37,6 +37,12 @@ static constexpr XTAL MASTER_CLOCK = 32_MHz_XTAL;
*
*************************************/
+WRITE_LINE_MEMBER(toobin_state::sound_int_write_line)
+{
+ m_sound_int_state = state;
+ update_interrupts();
+}
+
void toobin_state::update_interrupts()
{
m_maincpu->set_input_line(1, m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
@@ -44,6 +50,12 @@ void toobin_state::update_interrupts()
m_maincpu->set_input_line(3, m_scanline_int_state && m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
}
+void toobin_state::machine_start()
+{
+ atarigen_state::machine_start();
+ save_item(NAME(m_sound_int_state));
+}
+
/*************************************
diff --git a/src/mame/drivers/vindictr.cpp b/src/mame/drivers/vindictr.cpp
index bf2bdc0c83a..6a501e34598 100644
--- a/src/mame/drivers/vindictr.cpp
+++ b/src/mame/drivers/vindictr.cpp
@@ -38,7 +38,6 @@
void vindictr_state::update_interrupts()
{
m_maincpu->set_input_line(4, m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
- m_maincpu->set_input_line(6, m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
}
@@ -214,7 +213,7 @@ MACHINE_CONFIG_START(vindictr_state::vindictr)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
- MCFG_ATARI_JSA_I_ADD("jsa", WRITELINE(vindictr_state, sound_int_write_line))
+ MCFG_ATARI_JSA_I_ADD("jsa", INPUTLINE("maincpu", M68K_IRQ_6))
MCFG_ATARI_JSA_TEST_PORT("260010", 1)
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
diff --git a/src/mame/drivers/xybots.cpp b/src/mame/drivers/xybots.cpp
index f9fe2274e7e..101b7a5b644 100644
--- a/src/mame/drivers/xybots.cpp
+++ b/src/mame/drivers/xybots.cpp
@@ -38,7 +38,6 @@
void xybots_state::update_interrupts()
{
m_maincpu->set_input_line(1, m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
- m_maincpu->set_input_line(2, m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
}
@@ -211,7 +210,7 @@ MACHINE_CONFIG_START(xybots_state::xybots)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
- MCFG_ATARI_JSA_I_ADD("jsa", WRITELINE(xybots_state, sound_int_write_line))
+ MCFG_ATARI_JSA_I_ADD("jsa", INPUTLINE("maincpu", M68K_IRQ_2))
MCFG_ATARI_JSA_TEST_PORT("FFE200", 8)
MCFG_SOUND_ROUTE(0, "rspeaker", 1.0)
MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
diff --git a/src/mame/includes/atarisy2.h b/src/mame/includes/atarisy2.h
index dad4499172d..03db8308ed6 100644
--- a/src/mame/includes/atarisy2.h
+++ b/src/mame/includes/atarisy2.h
@@ -108,7 +108,7 @@ public:
DECLARE_MACHINE_RESET(atarisy2);
DECLARE_VIDEO_START(atarisy2);
uint32_t screen_update_atarisy2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- INTERRUPT_GEN_MEMBER(vblank_int);
+ DECLARE_WRITE_LINE_MEMBER(vblank_int);
TIMER_CALLBACK_MEMBER(delayed_int_enable_w);
TIMER_CALLBACK_MEMBER(reset_yscroll_callback);
DECLARE_READ16_MEMBER(slapstic_r);
diff --git a/src/mame/includes/toobin.h b/src/mame/includes/toobin.h
index 43b530497c8..bf037128724 100644
--- a/src/mame/includes/toobin.h
+++ b/src/mame/includes/toobin.h
@@ -23,15 +23,19 @@ public:
m_playfield_tilemap(*this, "playfield"),
m_alpha_tilemap(*this, "alpha"),
m_mob(*this, "mob"),
- m_interrupt_scan(*this, "interrupt_scan")
+ m_interrupt_scan(*this, "interrupt_scan"),
+ m_sound_int_state(0)
{ }
void toobin(machine_config &config);
protected:
+ virtual void machine_start() override;
virtual void video_start() override;
virtual void update_interrupts() override;
+ DECLARE_WRITE_LINE_MEMBER(sound_int_write_line);
+
DECLARE_WRITE16_MEMBER(interrupt_scan_w);
DECLARE_WRITE16_MEMBER(paletteram_w);
DECLARE_WRITE16_MEMBER(intensity_w);
@@ -57,6 +61,8 @@ private:
double m_brightness;
bitmap_ind16 m_pfbitmap;
+ uint8_t m_sound_int_state;
+
static const atari_motion_objects_config s_mob_config;
};
diff --git a/src/mame/machine/atarigen.cpp b/src/mame/machine/atarigen.cpp
index aa3434b69cf..a4c337dba07 100644
--- a/src/mame/machine/atarigen.cpp
+++ b/src/mame/machine/atarigen.cpp
@@ -810,7 +810,6 @@ void atari_vad_device::eof_update(emu_timer &timer)
atarigen_state::atarigen_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_scanline_int_state(0),
- m_sound_int_state(0),
m_video_int_state(0),
m_xscroll(*this, "xscroll"),
m_yscroll(*this, "yscroll"),
@@ -845,7 +844,6 @@ void atarigen_state::machine_start()
}
save_item(NAME(m_scanline_int_state));
- save_item(NAME(m_sound_int_state));
save_item(NAME(m_video_int_state));
save_item(NAME(m_slapstic_num));
@@ -860,7 +858,7 @@ void atarigen_state::machine_start()
void atarigen_state::machine_reset()
{
// reset the interrupt states
- m_video_int_state = m_sound_int_state = m_scanline_int_state = 0;
+ m_video_int_state = m_scanline_int_state = 0;
// reset the slapstic
if (m_slapstic_num != 0)
@@ -919,7 +917,7 @@ void atarigen_state::scanline_int_set(screen_device &screen, int scanline)
//-------------------------------------------------
-// sound_int_write_line: Standard write line
+// scanline_int_write_line: Standard write line
// callback for the scanline interrupt
//-------------------------------------------------
@@ -955,30 +953,6 @@ WRITE16_MEMBER(atarigen_state::scanline_int_ack_w)
//-------------------------------------------------
-// sound_int_write_line: Standard write line
-// callback for the sound interrupt
-//-------------------------------------------------
-
-WRITE_LINE_MEMBER(atarigen_state::sound_int_write_line)
-{
- m_sound_int_state = state;
- update_interrupts();
-}
-
-
-//-------------------------------------------------
-// sound_int_ack_w: Resets the state of the sound
-// interrupt.
-//-------------------------------------------------
-
-WRITE16_MEMBER(atarigen_state::sound_int_ack_w)
-{
- m_sound_int_state = 0;
- update_interrupts();
-}
-
-
-//-------------------------------------------------
// video_int_write_line: Standard write line
// callback for the video interrupt.
//-------------------------------------------------
diff --git a/src/mame/machine/atarigen.h b/src/mame/machine/atarigen.h
index 69ce50f97b8..8d0985aa3a9 100644
--- a/src/mame/machine/atarigen.h
+++ b/src/mame/machine/atarigen.h
@@ -279,9 +279,6 @@ protected:
INTERRUPT_GEN_MEMBER(scanline_int_gen);
DECLARE_WRITE16_MEMBER(scanline_int_ack_w);
- DECLARE_WRITE_LINE_MEMBER(sound_int_write_line);
- DECLARE_WRITE16_MEMBER(sound_int_ack_w);
-
DECLARE_WRITE_LINE_MEMBER(video_int_write_line);
DECLARE_WRITE16_MEMBER(video_int_ack_w);
@@ -312,7 +309,6 @@ protected:
};
uint8_t m_scanline_int_state;
- uint8_t m_sound_int_state;
uint8_t m_video_int_state;
optional_shared_ptr<uint16_t> m_xscroll;