summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/nsm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/nsm.cpp')
-rw-r--r--src/mame/drivers/nsm.cpp42
1 files changed, 22 insertions, 20 deletions
diff --git a/src/mame/drivers/nsm.cpp b/src/mame/drivers/nsm.cpp
index 542262ce1b6..2dd86047c87 100644
--- a/src/mame/drivers/nsm.cpp
+++ b/src/mame/drivers/nsm.cpp
@@ -53,28 +53,30 @@ private:
uint8_t m_cru_count;
};
-ADDRESS_MAP_START(nsm_state::nsm_map)
- AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0xe000, 0xefff) AM_RAM
- AM_RANGE(0xffec, 0xffed) AM_DEVWRITE("ay1", ay8910_device, address_data_w)
- AM_RANGE(0xffee, 0xffef) AM_DEVWRITE("ay2", ay8910_device, address_data_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(nsm_state::nsm_io_map)
+void nsm_state::nsm_map(address_map &map)
+{
+ map(0x0000, 0x7fff).rom();
+ map(0xe000, 0xefff).ram();
+ map(0xffec, 0xffed).w("ay1", FUNC(ay8910_device::address_data_w));
+ map(0xffee, 0xffef).w("ay2", FUNC(ay8910_device::address_data_w));
+}
+
+void nsm_state::nsm_io_map(address_map &map)
+{
// 00-71 selected by IC600 (74LS151)
- AM_RANGE(0x0000, 0x0001) AM_READ(ff_r) // 5v supply
- AM_RANGE(0x0010, 0x0011) AM_READNOP // antenna
- AM_RANGE(0x0020, 0x0021) AM_READNOP // reset circuit
- AM_RANGE(0x0030, 0x0031) AM_READ(ff_r) // service plug
- AM_RANGE(0x0040, 0x0041) AM_READ(ff_r) // service plug
- AM_RANGE(0x0050, 0x0051) AM_READ(ff_r) // test of internal battery
- AM_RANGE(0x0060, 0x0061) AM_READ(ff_r) // sum of analog outputs of ay2
+ map(0x0000, 0x0001).r(this, FUNC(nsm_state::ff_r)); // 5v supply
+ map(0x0010, 0x0011).nopr(); // antenna
+ map(0x0020, 0x0021).nopr(); // reset circuit
+ map(0x0030, 0x0031).r(this, FUNC(nsm_state::ff_r)); // service plug
+ map(0x0040, 0x0041).r(this, FUNC(nsm_state::ff_r)); // service plug
+ map(0x0050, 0x0051).r(this, FUNC(nsm_state::ff_r)); // test of internal battery
+ map(0x0060, 0x0061).r(this, FUNC(nsm_state::ff_r)); // sum of analog outputs of ay2
//AM_RANGE(0x0070, 0x0071) AM_READNOP // serial data in
- AM_RANGE(0x0f70, 0x0f7d) AM_WRITENOP
- AM_RANGE(0x0fe4, 0x0fff) AM_READNOP
- AM_RANGE(0x7fb0, 0x7fbf) AM_WRITE(cru_w)
- AM_RANGE(0x7fd0, 0x7fd1) AM_WRITE(oe_w)
-ADDRESS_MAP_END
+ map(0x0f70, 0x0f7d).nopw();
+ map(0x0fe4, 0x0fff).nopr();
+ map(0x7fb0, 0x7fbf).w(this, FUNC(nsm_state::cru_w));
+ map(0x7fd0, 0x7fd1).w(this, FUNC(nsm_state::oe_w));
+}
static INPUT_PORTS_START( nsm )
INPUT_PORTS_END