From 9c8f4ce941939d9ce313d94e36e5a40530945896 Mon Sep 17 00:00:00 2001 From: Andrei Holub Date: Sun, 13 Apr 2025 14:46:12 -0400 Subject: [PATCH] cpu/z80/z80.cpp: Avoided wrong isnuset() detection in some Spectrum clones --- src/devices/cpu/z80/z80.lst | 4 ++-- src/devices/cpu/z80/z80make.py | 1 - src/mame/sinclair/chloe.cpp | 1 - src/mame/sinclair/specnext.cpp | 1 - src/mame/sinclair/sprinter.cpp | 1 - 5 files changed, 2 insertions(+), 6 deletions(-) diff --git a/src/devices/cpu/z80/z80.lst b/src/devices/cpu/z80/z80.lst index 97b0a4e22a0..202776169f6 100644 --- a/src/devices/cpu/z80/z80.lst +++ b/src/devices/cpu/z80/z80.lst @@ -712,14 +712,14 @@ ffff if (m_busrq_state) { if (!m_busack_state) { m_busack_state = 1; - if (busack_en) m_busack_cb(1); + m_busack_cb(1); } if (m_icount > 0) m_icount = 0; return; } else if (m_busack_state) { m_busack_state = 0; - if (busack_en) m_busack_cb(0); + m_busack_cb(0); } call check_interrupts m_after_ei = false; diff --git a/src/devices/cpu/z80/z80make.py b/src/devices/cpu/z80/z80make.py index b430c2690ff..0aa7ee1a55e 100644 --- a/src/devices/cpu/z80/z80make.py +++ b/src/devices/cpu/z80/z80make.py @@ -292,7 +292,6 @@ class OpcodeList: print("", file=f) print("const bool nomemrq_en = !m_nomreq_cb.isunset();", file=f) print("[[maybe_unused]] const bool refresh_en = !m_refresh_cb.isunset();", file=f) - print("const bool busack_en = !m_busack_cb.isunset();", file=f) print("", file=f) print("bool interrupted = true;", file=f) print("while (u8(m_ref) != 0x00) {", file=f) diff --git a/src/mame/sinclair/chloe.cpp b/src/mame/sinclair/chloe.cpp index c8af1e9d9e5..03f9e8cc73a 100644 --- a/src/mame/sinclair/chloe.cpp +++ b/src/mame/sinclair/chloe.cpp @@ -930,7 +930,6 @@ void chloe_state::chloe(machine_config &config) m_maincpu->set_memory_map(&chloe_state::map_mem); m_maincpu->set_io_map(&chloe_state::map_io); m_maincpu->set_vblank_int("screen", FUNC(chloe_state::chloe_interrupt)); - m_maincpu->nomreq_cb().set_nop(); ADDRESS_MAP_BANK(config, m_regs_map).set_map(&chloe_state::map_regs).set_options(ENDIANNESS_LITTLE, 8, 8, 0); diff --git a/src/mame/sinclair/specnext.cpp b/src/mame/sinclair/specnext.cpp index 9bfd6a11207..8bfb4e7a79b 100644 --- a/src/mame/sinclair/specnext.cpp +++ b/src/mame/sinclair/specnext.cpp @@ -3445,7 +3445,6 @@ void specnext_state::tbblue(machine_config &config) m_maincpu->out_nextreg_cb().set(FUNC(specnext_state::reg_w)); m_maincpu->in_nextreg_cb().set(FUNC(specnext_state::reg_r)); m_maincpu->out_retn_seen_cb().set(FUNC(specnext_state::leave_nmi)); - m_maincpu->nomreq_cb().set_nop(); m_maincpu->busack_cb().set(m_dma, FUNC(specnext_dma_device::bai_w)); SPECNEXT_CTC(config, m_ctc, 28_MHz_XTAL / 8); diff --git a/src/mame/sinclair/sprinter.cpp b/src/mame/sinclair/sprinter.cpp index a01a35d525b..c75066d83db 100644 --- a/src/mame/sinclair/sprinter.cpp +++ b/src/mame/sinclair/sprinter.cpp @@ -1883,7 +1883,6 @@ void sprinter_state::sprinter(machine_config &config) m_maincpu->set_m1_map(&sprinter_state::map_fetch); m_maincpu->set_memory_map(&sprinter_state::map_mem); m_maincpu->set_io_map(&sprinter_state::map_io); - m_maincpu->nomreq_cb().set_nop(); m_maincpu->set_irq_acknowledge_callback(NAME([](device_t &, int){ return 0xff; })); m_maincpu->irqack_cb().set(m_irqs, FUNC(input_merger_any_high_device::in_clear<2>)); m_maincpu->irqack_cb().append(m_irqs, FUNC(input_merger_any_high_device::in_clear<1>));