summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/idsa.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/idsa.cpp')
-rw-r--r--src/mame/drivers/idsa.cpp52
1 files changed, 27 insertions, 25 deletions
diff --git a/src/mame/drivers/idsa.cpp b/src/mame/drivers/idsa.cpp
index 24965d3a565..20e5df76c14 100644
--- a/src/mame/drivers/idsa.cpp
+++ b/src/mame/drivers/idsa.cpp
@@ -77,31 +77,33 @@ private:
optional_device_array<i8255_device, 2> m_ppi;
};
-ADDRESS_MAP_START(idsa_state::maincpu_map)
- ADDRESS_MAP_UNMAP_HIGH
- AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0x8000, 0x87ff) AM_RAM
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(idsa_state::maincpu_io_map)
- ADDRESS_MAP_UNMAP_HIGH
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x0f) AM_READ_PORT("X0")
- AM_RANGE(0x10, 0x1f) AM_READ_PORT("X1")
- AM_RANGE(0x20, 0x2f) AM_READ_PORT("X2")
- AM_RANGE(0x30, 0x3f) AM_READ_PORT("X3")
- AM_RANGE(0x40, 0x4f) AM_READ_PORT("X4")
- AM_RANGE(0x50, 0x5f) AM_READ_PORT("X5")
- AM_RANGE(0x60, 0x6f) AM_READ_PORT("X6")
- AM_RANGE(0x70, 0x7f) AM_READ_PORT("X7")
- AM_RANGE(0x80, 0x8f) AM_WRITE(port80_w)
- AM_RANGE(0x90, 0x9f) AM_WRITE(port90_w)
- AM_RANGE(0xb0, 0xb3) AM_READ(portb0_r)
- AM_RANGE(0xbd, 0xbd) AM_READ_PORT("X8")
- AM_RANGE(0xd0, 0xdf) AM_DEVWRITE("speech", sp0256_device, ald_w)
- AM_RANGE(0xe0, 0xef) AM_DEVREADWRITE("aysnd1", ay8910_device, data_r, address_data_w)
- AM_RANGE(0xf0, 0xff) AM_DEVREADWRITE("aysnd2", ay8910_device, data_r, address_data_w)
-ADDRESS_MAP_END
+void idsa_state::maincpu_map(address_map &map)
+{
+ map.unmap_value_high();
+ map(0x0000, 0x7fff).rom();
+ map(0x8000, 0x87ff).ram();
+}
+
+void idsa_state::maincpu_io_map(address_map &map)
+{
+ map.unmap_value_high();
+ map.global_mask(0xff);
+ map(0x00, 0x0f).portr("X0");
+ map(0x10, 0x1f).portr("X1");
+ map(0x20, 0x2f).portr("X2");
+ map(0x30, 0x3f).portr("X3");
+ map(0x40, 0x4f).portr("X4");
+ map(0x50, 0x5f).portr("X5");
+ map(0x60, 0x6f).portr("X6");
+ map(0x70, 0x7f).portr("X7");
+ map(0x80, 0x8f).w(this, FUNC(idsa_state::port80_w));
+ map(0x90, 0x9f).w(this, FUNC(idsa_state::port90_w));
+ map(0xb0, 0xb3).r(this, FUNC(idsa_state::portb0_r));
+ map(0xbd, 0xbd).portr("X8");
+ map(0xd0, 0xdf).w(m_speech, FUNC(sp0256_device::ald_w));
+ map(0xe0, 0xef).rw("aysnd1", FUNC(ay8910_device::data_r), FUNC(ay8910_device::address_data_w));
+ map(0xf0, 0xff).rw("aysnd2", FUNC(ay8910_device::data_r), FUNC(ay8910_device::address_data_w));
+}
static INPUT_PORTS_START( idsa )