summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/dwarfd.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/dwarfd.cpp')
-rw-r--r--src/mame/drivers/dwarfd.cpp71
1 files changed, 38 insertions, 33 deletions
diff --git a/src/mame/drivers/dwarfd.cpp b/src/mame/drivers/dwarfd.cpp
index a29453b7a59..b264c03a710 100644
--- a/src/mame/drivers/dwarfd.cpp
+++ b/src/mame/drivers/dwarfd.cpp
@@ -409,39 +409,44 @@ READ8_MEMBER(dwarfd_state::qc_b8_r)
return machine().rand();
}
-ADDRESS_MAP_START(dwarfd_state::mem_map)
- AM_RANGE(0x0000, 0x3fff) AM_ROM
- AM_RANGE(0x4000, 0x4fff) AM_READWRITE(dwarfd_ram_r, dwarfd_ram_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(dwarfd_state::pokeresp_map)
- AM_RANGE(0x0000, 0x2fff) AM_ROM
- AM_RANGE(0x3000, 0x3fff) AM_READWRITE(dwarfd_ram_r, dwarfd_ram_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(dwarfd_state::io_map)
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x01, 0x01) AM_DEVREAD("aysnd", ay8910_device, data_r)
- AM_RANGE(0x02, 0x03) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
-
- AM_RANGE(0x20, 0x21) AM_DEVREADWRITE("i8275", i8275_device, read, write)
- AM_RANGE(0x40, 0x40) AM_WRITENOP // unknown
- AM_RANGE(0x60, 0x60) AM_WRITE(output1_w)
- AM_RANGE(0x80, 0x80) AM_WRITE(output2_w)
- AM_RANGE(0xc0, 0xc0) AM_READ_PORT("DSW1")
- AM_RANGE(0xc1, 0xc1) AM_READ_PORT("DSW2")
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(dwarfd_state::qc_map)
- AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0x8000, 0x8fff) AM_READWRITE(dwarfd_ram_r, dwarfd_ram_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(dwarfd_state::qc_io_map)
- AM_IMPORT_FROM( io_map )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0xb8, 0xb8) AM_READ(qc_b8_r)
-ADDRESS_MAP_END
+void dwarfd_state::mem_map(address_map &map)
+{
+ map(0x0000, 0x3fff).rom();
+ map(0x4000, 0x4fff).rw(this, FUNC(dwarfd_state::dwarfd_ram_r), FUNC(dwarfd_state::dwarfd_ram_w));
+}
+
+void dwarfd_state::pokeresp_map(address_map &map)
+{
+ map(0x0000, 0x2fff).rom();
+ map(0x3000, 0x3fff).rw(this, FUNC(dwarfd_state::dwarfd_ram_r), FUNC(dwarfd_state::dwarfd_ram_w));
+}
+
+void dwarfd_state::io_map(address_map &map)
+{
+ map.global_mask(0xff);
+ map(0x01, 0x01).r("aysnd", FUNC(ay8910_device::data_r));
+ map(0x02, 0x03).w("aysnd", FUNC(ay8910_device::data_address_w));
+
+ map(0x20, 0x21).rw(m_crtc, FUNC(i8275_device::read), FUNC(i8275_device::write));
+ map(0x40, 0x40).nopw(); // unknown
+ map(0x60, 0x60).w(this, FUNC(dwarfd_state::output1_w));
+ map(0x80, 0x80).w(this, FUNC(dwarfd_state::output2_w));
+ map(0xc0, 0xc0).portr("DSW1");
+ map(0xc1, 0xc1).portr("DSW2");
+}
+
+void dwarfd_state::qc_map(address_map &map)
+{
+ map(0x0000, 0x7fff).rom();
+ map(0x8000, 0x8fff).rw(this, FUNC(dwarfd_state::dwarfd_ram_r), FUNC(dwarfd_state::dwarfd_ram_w));
+}
+
+void dwarfd_state::qc_io_map(address_map &map)
+{
+ io_map(map);
+ map.global_mask(0xff);
+ map(0xb8, 0xb8).r(this, FUNC(dwarfd_state::qc_b8_r));
+}
static INPUT_PORTS_START( dwarfd )
PORT_START("DSW1")