diff options
author | hap <happppp@users.noreply.github.com> | 2022-08-30 23:59:39 +0200 |
---|---|---|
committer | hap <happppp@users.noreply.github.com> | 2022-08-30 23:59:39 +0200 |
commit | f6942dd17a67d7db3c2eb3a2bc43552c6b8bca0d (patch) | |
tree | 53dd19aeb3d842e53769903a1f3471549d7fe9e7 | |
parent | c3a36ca0d488661f5609f9cd6ce954272250c01d (diff) |
atarisy1, gauntlet: re-add boost interleave on soundlatch write
-rw-r--r-- | src/mame/atari/atarisy1.cpp | 1 | ||||
-rw-r--r-- | src/mame/atari/atarisy2.cpp | 10 | ||||
-rw-r--r-- | src/mame/atari/atarisy2.h | 1 | ||||
-rw-r--r-- | src/mame/atari/gauntlet.cpp | 1 | ||||
-rw-r--r-- | src/mame/atari/starwars.cpp | 4 | ||||
-rw-r--r-- | src/mame/atari/starwars.h | 1 | ||||
-rw-r--r-- | src/mame/atari/starwars_a.cpp | 7 |
7 files changed, 5 insertions, 20 deletions
diff --git a/src/mame/atari/atarisy1.cpp b/src/mame/atari/atarisy1.cpp index bcd12646eba..4c05546d020 100644 --- a/src/mame/atari/atarisy1.cpp +++ b/src/mame/atari/atarisy1.cpp @@ -778,6 +778,7 @@ void atarisy1_state::atarisy1(machine_config &config) GENERIC_LATCH_8(config, m_soundlatch); m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, m6502_device::NMI_LINE); + m_soundlatch->data_pending_callback().append([this](int state) { if (state) machine().scheduler().boost_interleave(attotime::zero, attotime::from_usec(100)); }); GENERIC_LATCH_8(config, m_mainlatch); m_mainlatch->data_pending_callback().set_inputline(m_maincpu, M68K_IRQ_6); diff --git a/src/mame/atari/atarisy2.cpp b/src/mame/atari/atarisy2.cpp index 0f63d9c596c..16ce74a0bbd 100644 --- a/src/mame/atari/atarisy2.cpp +++ b/src/mame/atari/atarisy2.cpp @@ -303,14 +303,6 @@ void atarisy2_state::sound_irq_ack_w(uint8_t data) } -WRITE_LINE_MEMBER(atarisy2_state::boost_interleave_hack) -{ - // apb3 fails the self-test with a 100 µs delay or less - if (state) - machine().scheduler().boost_interleave(attotime::zero, attotime::from_usec(200)); -} - - /************************************* * @@ -1267,7 +1259,7 @@ void atarisy2_state::atarisy2(machine_config &config) GENERIC_LATCH_8(config, m_soundlatch); m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, m6502_device::NMI_LINE); - m_soundlatch->data_pending_callback().append(FUNC(atarisy2_state::boost_interleave_hack)); + m_soundlatch->data_pending_callback().append([this](int state) { if (state) machine().scheduler().boost_interleave(attotime::zero, attotime::from_usec(200)); }); GENERIC_LATCH_8(config, m_mainlatch); diff --git a/src/mame/atari/atarisy2.h b/src/mame/atari/atarisy2.h index 2d3e59dd80c..a83571b26d4 100644 --- a/src/mame/atari/atarisy2.h +++ b/src/mame/atari/atarisy2.h @@ -127,7 +127,6 @@ private: void int_enable_w(uint8_t data); INTERRUPT_GEN_MEMBER(sound_irq_gen); void sound_irq_ack_w(uint8_t data); - DECLARE_WRITE_LINE_MEMBER(boost_interleave_hack); void bankselect_w(offs_t offset, uint16_t data); uint16_t switch_r(); uint8_t switch_6502_r(); diff --git a/src/mame/atari/gauntlet.cpp b/src/mame/atari/gauntlet.cpp index cda4c5ad381..eedf636b223 100644 --- a/src/mame/atari/gauntlet.cpp +++ b/src/mame/atari/gauntlet.cpp @@ -507,6 +507,7 @@ void gauntlet_state::gauntlet_base(machine_config &config) GENERIC_LATCH_8(config, m_soundlatch); m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, m6502_device::NMI_LINE); + m_soundlatch->data_pending_callback().append([this](int state) { if (state) machine().scheduler().boost_interleave(attotime::zero, attotime::from_usec(100)); }); GENERIC_LATCH_8(config, m_mainlatch); m_mainlatch->data_pending_callback().set_inputline(m_maincpu, M68K_IRQ_6); diff --git a/src/mame/atari/starwars.cpp b/src/mame/atari/starwars.cpp index ce52d4dc4e0..d0e8d5a1190 100644 --- a/src/mame/atari/starwars.cpp +++ b/src/mame/atari/starwars.cpp @@ -315,11 +315,11 @@ void starwars_state::starwars(machine_config &config) GENERIC_LATCH_8(config, m_soundlatch); m_soundlatch->data_pending_callback().set(m_riot, FUNC(riot6532_device::pa7_w)); - m_soundlatch->data_pending_callback().append(FUNC(starwars_state::boost_interleave_hack)); + m_soundlatch->data_pending_callback().append([this](int state) { if (state) machine().scheduler().boost_interleave(attotime::zero, attotime::from_usec(100)); }); GENERIC_LATCH_8(config, m_mainlatch); m_mainlatch->data_pending_callback().set(m_riot, FUNC(riot6532_device::pa6_w)); - m_mainlatch->data_pending_callback().append(FUNC(starwars_state::boost_interleave_hack)); + m_mainlatch->data_pending_callback().append([this](int state) { if (state) machine().scheduler().boost_interleave(attotime::zero, attotime::from_usec(100)); }); } diff --git a/src/mame/atari/starwars.h b/src/mame/atari/starwars.h index 7f3706ee3fb..dd575314948 100644 --- a/src/mame/atari/starwars.h +++ b/src/mame/atari/starwars.h @@ -84,7 +84,6 @@ private: void starwars_math_w(offs_t offset, uint8_t data); uint8_t starwars_main_ready_flag_r(); - DECLARE_WRITE_LINE_MEMBER(boost_interleave_hack); void starwars_soundrst_w(uint8_t data); void quad_pokeyn_w(offs_t offset, uint8_t data); virtual void machine_reset() override; diff --git a/src/mame/atari/starwars_a.cpp b/src/mame/atari/starwars_a.cpp index 9ae8b02a147..a4dc4afb354 100644 --- a/src/mame/atari/starwars_a.cpp +++ b/src/mame/atari/starwars_a.cpp @@ -53,13 +53,6 @@ void starwars_state::r6532_porta_w(uint8_t data) * *************************************/ -WRITE_LINE_MEMBER(starwars_state::boost_interleave_hack) -{ - if (state) - machine().scheduler().boost_interleave(attotime::zero, attotime::from_usec(100)); -} - - uint8_t starwars_state::starwars_main_ready_flag_r() { return m_riot->porta_in_get() & 0xc0; /* only upper two flag bits mapped */ |