summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/esq5505.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/esq5505.cpp')
-rw-r--r--src/mame/drivers/esq5505.cpp84
1 files changed, 44 insertions, 40 deletions
diff --git a/src/mame/drivers/esq5505.cpp b/src/mame/drivers/esq5505.cpp
index 43c53dfd03b..14fe07729e6 100644
--- a/src/mame/drivers/esq5505.cpp
+++ b/src/mame/drivers/esq5505.cpp
@@ -378,46 +378,50 @@ WRITE16_MEMBER(esq5505_state::lower_w)
}
}
-ADDRESS_MAP_START(esq5505_state::vfx_map)
- AM_RANGE(0x000000, 0x007fff) AM_READWRITE(lower_r, lower_w)
- AM_RANGE(0x200000, 0x20001f) AM_DEVREADWRITE("otis", es5505_device, read, write)
- AM_RANGE(0x280000, 0x28001f) AM_DEVREADWRITE8("duart", mc68681_device, read, write, 0x00ff)
- AM_RANGE(0x260000, 0x2601ff) AM_DEVREADWRITE8("esp", es5510_device, host_r, host_w, 0x00ff)
- AM_RANGE(0xc00000, 0xc1ffff) AM_ROM AM_REGION("osrom", 0)
- AM_RANGE(0xff0000, 0xffffff) AM_RAM AM_SHARE("osram")
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(esq5505_state::vfxsd_map)
- AM_RANGE(0x000000, 0x00ffff) AM_READWRITE(lower_r, lower_w)
- AM_RANGE(0x200000, 0x20001f) AM_DEVREADWRITE("otis", es5505_device, read, write)
- AM_RANGE(0x280000, 0x28001f) AM_DEVREADWRITE8("duart", mc68681_device, read, write, 0x00ff)
- AM_RANGE(0x260000, 0x2601ff) AM_DEVREADWRITE8("esp", es5510_device, host_r, host_w, 0x00ff)
- AM_RANGE(0x2c0000, 0x2c0007) AM_DEVREADWRITE8("wd1772", wd1772_device, read, write, 0x00ff)
- AM_RANGE(0x330000, 0x3bffff) AM_RAM // sequencer memory?
- AM_RANGE(0xc00000, 0xc3ffff) AM_ROM AM_REGION("osrom", 0)
- AM_RANGE(0xff0000, 0xffffff) AM_RAM AM_SHARE("osram")
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(esq5505_state::eps_map)
- AM_RANGE(0x000000, 0x007fff) AM_READWRITE(lower_r, lower_w)
- AM_RANGE(0x200000, 0x20001f) AM_DEVREADWRITE("otis", es5505_device, read, write)
- AM_RANGE(0x240000, 0x2400ff) AM_DEVREADWRITE("mc68450", hd63450_device, read, write)
- AM_RANGE(0x280000, 0x28001f) AM_DEVREADWRITE8("duart", mc68681_device, read, write, 0x00ff)
- AM_RANGE(0x2c0000, 0x2c0007) AM_DEVREADWRITE8("wd1772", wd1772_device, read, write, 0x00ff)
- AM_RANGE(0x580000, 0x7fffff) AM_RAM // sample RAM?
- AM_RANGE(0xc00000, 0xc1ffff) AM_ROM AM_REGION("osrom", 0)
- AM_RANGE(0xff0000, 0xffffff) AM_RAM AM_SHARE("osram")
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(esq5505_state::sq1_map)
- AM_RANGE(0x000000, 0x03ffff) AM_READWRITE(lower_r, lower_w)
- AM_RANGE(0x200000, 0x20001f) AM_DEVREADWRITE("otis", es5505_device, read, write)
- AM_RANGE(0x260000, 0x2601ff) AM_DEVREADWRITE8("esp", es5510_device, host_r, host_w, 0x0ff)
- AM_RANGE(0x280000, 0x28001f) AM_DEVREADWRITE8("duart", mc68681_device, read, write, 0x00ff)
- AM_RANGE(0x330000, 0x3bffff) AM_RAM // sequencer memory?
- AM_RANGE(0xc00000, 0xc3ffff) AM_ROM AM_REGION("osrom", 0)
- AM_RANGE(0xff0000, 0xffffff) AM_RAM AM_SHARE("osram")
-ADDRESS_MAP_END
+void esq5505_state::vfx_map(address_map &map)
+{
+ map(0x000000, 0x007fff).rw(this, FUNC(esq5505_state::lower_r), FUNC(esq5505_state::lower_w));
+ map(0x200000, 0x20001f).rw("otis", FUNC(es5505_device::read), FUNC(es5505_device::write));
+ map(0x280000, 0x28001f).rw(m_duart, FUNC(mc68681_device::read), FUNC(mc68681_device::write)).umask16(0x00ff);
+ map(0x260000, 0x2601ff).rw(m_esp, FUNC(es5510_device::host_r), FUNC(es5510_device::host_w)).umask16(0x00ff);
+ map(0xc00000, 0xc1ffff).rom().region("osrom", 0);
+ map(0xff0000, 0xffffff).ram().share("osram");
+}
+
+void esq5505_state::vfxsd_map(address_map &map)
+{
+ map(0x000000, 0x00ffff).rw(this, FUNC(esq5505_state::lower_r), FUNC(esq5505_state::lower_w));
+ map(0x200000, 0x20001f).rw("otis", FUNC(es5505_device::read), FUNC(es5505_device::write));
+ map(0x280000, 0x28001f).rw(m_duart, FUNC(mc68681_device::read), FUNC(mc68681_device::write)).umask16(0x00ff);
+ map(0x260000, 0x2601ff).rw(m_esp, FUNC(es5510_device::host_r), FUNC(es5510_device::host_w)).umask16(0x00ff);
+ map(0x2c0000, 0x2c0007).rw(m_fdc, FUNC(wd1772_device::read), FUNC(wd1772_device::write)).umask16(0x00ff);
+ map(0x330000, 0x3bffff).ram(); // sequencer memory?
+ map(0xc00000, 0xc3ffff).rom().region("osrom", 0);
+ map(0xff0000, 0xffffff).ram().share("osram");
+}
+
+void esq5505_state::eps_map(address_map &map)
+{
+ map(0x000000, 0x007fff).rw(this, FUNC(esq5505_state::lower_r), FUNC(esq5505_state::lower_w));
+ map(0x200000, 0x20001f).rw("otis", FUNC(es5505_device::read), FUNC(es5505_device::write));
+ map(0x240000, 0x2400ff).rw(m_dmac, FUNC(hd63450_device::read), FUNC(hd63450_device::write));
+ map(0x280000, 0x28001f).rw(m_duart, FUNC(mc68681_device::read), FUNC(mc68681_device::write)).umask16(0x00ff);
+ map(0x2c0000, 0x2c0007).rw(m_fdc, FUNC(wd1772_device::read), FUNC(wd1772_device::write)).umask16(0x00ff);
+ map(0x580000, 0x7fffff).ram(); // sample RAM?
+ map(0xc00000, 0xc1ffff).rom().region("osrom", 0);
+ map(0xff0000, 0xffffff).ram().share("osram");
+}
+
+void esq5505_state::sq1_map(address_map &map)
+{
+ map(0x000000, 0x03ffff).rw(this, FUNC(esq5505_state::lower_r), FUNC(esq5505_state::lower_w));
+ map(0x200000, 0x20001f).rw("otis", FUNC(es5505_device::read), FUNC(es5505_device::write));
+ map(0x260000, 0x2601ff).rw(m_esp, FUNC(es5510_device::host_r), FUNC(es5510_device::host_w)).umask16(0x00ff);
+ map(0x280000, 0x28001f).rw(m_duart, FUNC(mc68681_device::read), FUNC(mc68681_device::write)).umask16(0x00ff);
+ map(0x330000, 0x3bffff).ram(); // sequencer memory?
+ map(0xc00000, 0xc3ffff).rom().region("osrom", 0);
+ map(0xff0000, 0xffffff).ram().share("osram");
+}
WRITE_LINE_MEMBER(esq5505_state::esq5505_otis_irq)
{