mirror of
https://github.com/holub/mame
synced 2025-10-05 08:41:31 +03:00
Remove sound interrupt status from atarigen base class (nw)
atarisy2.cpp: Replace MCFG_CPU_VBLANK_INT with line callback (nw)
This commit is contained in:
parent
0dbee19e62
commit
8cd7955a62
@ -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
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
/*************************************
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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")
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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));
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
};
|
||||
|
||||
|
@ -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
|
||||
//-------------------------------------------------
|
||||
|
||||
@ -954,30 +952,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.
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user