Skip to content

Commit 4d4d9b2

Browse files
committed
:(
1 parent 27e22a2 commit 4d4d9b2

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

src/mame/sinclair/sprinter.cpp

+14-1
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ class sprinter_state : public spectrum_128_state
8080
: spectrum_128_state(mconfig, type, tag)
8181
, m_maincpu(*this, "maincpu")
8282
, m_isa(*this, "isa%u", 0U)
83+
, m_isa_io_view(*this, "isa_io_view")
8384
, m_rtc(*this, "rtc")
8485
, m_ata(*this, "ata%u", 1U)
8586
, m_beta(*this, BETA_DISK_TAG)
@@ -113,6 +114,7 @@ class sprinter_state : public spectrum_128_state
113114
void map_io(address_map &map) ATTR_COLD;
114115
void map_mem(address_map &map) ATTR_COLD;
115116
void map_fetch(address_map &map) ATTR_COLD;
117+
void map_isa_io(address_map &map) ATTR_COLD;
116118
u8 m1_r(offs_t offset);
117119
void cio_dtrb_w(int state);
118120
u8 joy_ctrl_r(int num);
@@ -139,6 +141,7 @@ class sprinter_state : public spectrum_128_state
139141

140142
required_device<z84c015_device> m_maincpu;
141143
required_device_array<isa8_device, 2> m_isa;
144+
memory_view m_isa_io_view;
142145

143146
private:
144147
enum accel_state : u8
@@ -1396,8 +1399,19 @@ void sprinter_state::init_taps()
13961399
});
13971400
}
13981401

1402+
void sprinter_state::map_isa_io(address_map &map)
1403+
{
1404+
map.unmap_value_high();
1405+
map(0x0000, 0xffff).view(m_isa_io_view);
1406+
subdevice<zxbus_device>("zxbus")->set_io_space(m_isa_io_view[0], m_isa_io_view[0]);
1407+
m_isa_io_view.select(0);
1408+
}
1409+
13991410
void sprinter_state::machine_start()
14001411
{
1412+
address_space &m_isa_io = m_isa[0]->space(isa8_device::AS_ISA_IO);
1413+
m_isa_io.install_device(0x0000, 0xffff, *this, &sprinter_state::map_isa_io);
1414+
14011415
m_isa[0]->space(isa8_device::AS_ISA_IO).unmap_value_high();
14021416
m_isa[1]->space(isa8_device::AS_ISA_IO).unmap_value_high();
14031417

@@ -1894,7 +1908,6 @@ void sprinter_state::sprinter(machine_config &config)
18941908
ISA8(config, m_isa[0], X_SP / 5);
18951909
m_isa[0]->set_custom_spaces();
18961910
zxbus_device &zxbus(ZXBUS(config, "zxbus", 0));
1897-
//zxbus.set_iospace(m_isa[0], isa8_device::AS_ISA_IO);
18981911
ZXBUS_SLOT(config, "zxbus2isa", 0, zxbus, zxbus_cards, nullptr);
18991912

19001913
ISA8(config, m_isa[1], X_SP / 5);

0 commit comments

Comments
 (0)