:(
Some checks failed
CI (Linux) / build-linux (-U_FORTIFY_SOURCE, gcc, gcc, g++, mametiny, tiny) (push) Has been cancelled
CI (Linux) / build-linux (clang, clang, clang++, mame, mame) (push) Has been cancelled
CI (macOS) / build-macos (push) Has been cancelled
CI (Windows) / build-windows (clang, clang, clang++, mametiny, tiny) (push) Has been cancelled
CI (Windows) / build-windows (gcc, gcc, g++, mame, mame) (push) Has been cancelled

This commit is contained in:
Andrei Holub 2025-01-21 22:11:29 -05:00
parent efaf248eac
commit 28a719e318

View File

@ -80,6 +80,7 @@ public:
: spectrum_128_state(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
, m_isa(*this, "isa%u", 0U)
, m_isa_io_view(*this, "isa_io_view")
, m_rtc(*this, "rtc")
, m_ata(*this, "ata%u", 1U)
, m_beta(*this, BETA_DISK_TAG)
@ -113,6 +114,7 @@ protected:
void map_io(address_map &map) ATTR_COLD;
void map_mem(address_map &map) ATTR_COLD;
void map_fetch(address_map &map) ATTR_COLD;
void map_isa_io(address_map &map) ATTR_COLD;
u8 m1_r(offs_t offset);
void cio_dtrb_w(int state);
u8 joy_ctrl_r(int num);
@ -139,6 +141,7 @@ protected:
required_device<z84c015_device> m_maincpu;
required_device_array<isa8_device, 2> m_isa;
memory_view m_isa_io_view;
private:
enum accel_state : u8
@ -1396,8 +1399,19 @@ void sprinter_state::init_taps()
});
}
void sprinter_state::map_isa_io(address_map &map)
{
map.unmap_value_high();
map(0x0000, 0xffff).view(m_isa_io_view);
subdevice<zxbus_device>("zxbus")->set_io_space(m_isa_io_view[0], m_isa_io_view[0]);
m_isa_io_view.select(0);
}
void sprinter_state::machine_start()
{
address_space &m_isa_io = m_isa[0]->space(isa8_device::AS_ISA_IO);
m_isa_io.install_device(0x0000, 0xffff, *this, &sprinter_state::map_isa_io);
m_isa[0]->space(isa8_device::AS_ISA_IO).unmap_value_high();
m_isa[1]->space(isa8_device::AS_ISA_IO).unmap_value_high();
@ -1894,7 +1908,6 @@ void sprinter_state::sprinter(machine_config &config)
ISA8(config, m_isa[0], X_SP / 5);
m_isa[0]->set_custom_spaces();
zxbus_device &zxbus(ZXBUS(config, "zxbus", 0));
//zxbus.set_iospace(m_isa[0], isa8_device::AS_ISA_IO);
ZXBUS_SLOT(config, "zxbus2isa", 0, zxbus, zxbus_cards, nullptr);
ISA8(config, m_isa[1], X_SP / 5);