summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/dmndrby.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/dmndrby.cpp')
-rw-r--r--src/mame/drivers/dmndrby.cpp52
1 files changed, 27 insertions, 25 deletions
diff --git a/src/mame/drivers/dmndrby.cpp b/src/mame/drivers/dmndrby.cpp
index 5d06938d1a8..b0289b3c597 100644
--- a/src/mame/drivers/dmndrby.cpp
+++ b/src/mame/drivers/dmndrby.cpp
@@ -145,31 +145,33 @@ WRITE8_MEMBER(dmndrby_state::output_w)
// popmessage("%02x|%02x|%02x|%02x|%02x|%02x|%02x|%02x|",m_io_port[0],m_io_port[1],m_io_port[2],m_io_port[3],m_io_port[4],m_io_port[5],m_io_port[6],m_io_port[7]);
}
-ADDRESS_MAP_START(dmndrby_state::memmap)
- AM_RANGE(0x0000, 0x5fff) AM_ROM
- AM_RANGE(0x8000, 0x8fff) AM_RAM AM_SHARE("nvram")
- AM_RANGE(0xc000, 0xc007) AM_READ(input_r)
- AM_RANGE(0xc000, 0xc007) AM_WRITE(output_w)
- AM_RANGE(0xc802, 0xc802) AM_READ_PORT("DSW1")
- AM_RANGE(0xc803, 0xc803) AM_READ_PORT("DSW2")
- AM_RANGE(0xca00, 0xca00) AM_WRITENOP//(vblank_irq_w) //???
- AM_RANGE(0xca01, 0xca01) AM_WRITENOP //watchdog
- AM_RANGE(0xca02, 0xca02) AM_RAM_WRITE(dderby_sound_w)
- AM_RANGE(0xca03, 0xca03) AM_WRITENOP//(timer_irq_w) //???
- AM_RANGE(0xcc00, 0xcc05) AM_RAM AM_SHARE("scroll_ram")
- AM_RANGE(0xce08, 0xce1f) AM_RAM AM_SHARE("sprite_ram") // horse sprites
- AM_RANGE(0xd000, 0xd3ff) AM_RAM AM_SHARE("vidchars") // char ram
- AM_RANGE(0xd400, 0xd7ff) AM_RAM AM_SHARE("vidattribs") // colours/ attrib ram
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(dmndrby_state::dderby_sound_map)
- AM_RANGE(0x0000, 0x0fff) AM_ROM
- AM_RANGE(0x1000, 0x1000) AM_RAM //???
- AM_RANGE(0x4000, 0x4001) AM_DEVWRITE("ay1", ay8910_device, address_data_w)
- AM_RANGE(0x4000, 0x4000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
- AM_RANGE(0x4001, 0x4001) AM_DEVREAD("ay1", ay8910_device, data_r)
- AM_RANGE(0x6000, 0x67ff) AM_RAM
-ADDRESS_MAP_END
+void dmndrby_state::memmap(address_map &map)
+{
+ map(0x0000, 0x5fff).rom();
+ map(0x8000, 0x8fff).ram().share("nvram");
+ map(0xc000, 0xc007).r(this, FUNC(dmndrby_state::input_r));
+ map(0xc000, 0xc007).w(this, FUNC(dmndrby_state::output_w));
+ map(0xc802, 0xc802).portr("DSW1");
+ map(0xc803, 0xc803).portr("DSW2");
+ map(0xca00, 0xca00).nopw();//(vblank_irq_w) //???
+ map(0xca01, 0xca01).nopw(); //watchdog
+ map(0xca02, 0xca02).ram().w(this, FUNC(dmndrby_state::dderby_sound_w));
+ map(0xca03, 0xca03).nopw();//(timer_irq_w) //???
+ map(0xcc00, 0xcc05).ram().share("scroll_ram");
+ map(0xce08, 0xce1f).ram().share("sprite_ram"); // horse sprites
+ map(0xd000, 0xd3ff).ram().share("vidchars"); // char ram
+ map(0xd400, 0xd7ff).ram().share("vidattribs"); // colours/ attrib ram
+}
+
+void dmndrby_state::dderby_sound_map(address_map &map)
+{
+ map(0x0000, 0x0fff).rom();
+ map(0x1000, 0x1000).ram(); //???
+ map(0x4000, 0x4001).w("ay1", FUNC(ay8910_device::address_data_w));
+ map(0x4000, 0x4000).r(m_soundlatch, FUNC(generic_latch_8_device::read));
+ map(0x4001, 0x4001).r("ay1", FUNC(ay8910_device::data_r));
+ map(0x6000, 0x67ff).ram();
+}
static INPUT_PORTS_START( dderby )
PORT_START("IN0")