@@ -80,6 +80,7 @@ class sprinter_state : public spectrum_128_state
80
80
: spectrum_128_state(mconfig, type, tag)
81
81
, m_maincpu(*this , " maincpu" )
82
82
, m_isa(*this , " isa%u" , 0U )
83
+ , m_isa_io_view(*this , " isa_io_view" )
83
84
, m_rtc(*this , " rtc" )
84
85
, m_ata(*this , " ata%u" , 1U )
85
86
, m_beta(*this , BETA_DISK_TAG)
@@ -113,6 +114,7 @@ class sprinter_state : public spectrum_128_state
113
114
void map_io (address_map &map) ATTR_COLD;
114
115
void map_mem (address_map &map) ATTR_COLD;
115
116
void map_fetch (address_map &map) ATTR_COLD;
117
+ void map_isa_io (address_map &map) ATTR_COLD;
116
118
u8 m1_r (offs_t offset);
117
119
void cio_dtrb_w (int state);
118
120
u8 joy_ctrl_r (int num);
@@ -139,6 +141,7 @@ class sprinter_state : public spectrum_128_state
139
141
140
142
required_device<z84c015_device> m_maincpu;
141
143
required_device_array<isa8_device, 2 > m_isa;
144
+ memory_view m_isa_io_view;
142
145
143
146
private:
144
147
enum accel_state : u8
@@ -1396,8 +1399,19 @@ void sprinter_state::init_taps()
1396
1399
});
1397
1400
}
1398
1401
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
+
1399
1410
void sprinter_state::machine_start ()
1400
1411
{
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
+
1401
1415
m_isa[0 ]->space (isa8_device::AS_ISA_IO).unmap_value_high ();
1402
1416
m_isa[1 ]->space (isa8_device::AS_ISA_IO).unmap_value_high ();
1403
1417
@@ -1894,7 +1908,6 @@ void sprinter_state::sprinter(machine_config &config)
1894
1908
ISA8 (config, m_isa[0 ], X_SP / 5 );
1895
1909
m_isa[0 ]->set_custom_spaces ();
1896
1910
zxbus_device &zxbus (ZXBUS (config, " zxbus" , 0 ));
1897
- // zxbus.set_iospace(m_isa[0], isa8_device::AS_ISA_IO);
1898
1911
ZXBUS_SLOT (config, " zxbus2isa" , 0 , zxbus, zxbus_cards, nullptr );
1899
1912
1900
1913
ISA8 (config, m_isa[1 ], X_SP / 5 );
0 commit comments