diff options
Diffstat (limited to 'src/mame/drivers/nsm.cpp')
-rw-r--r-- | src/mame/drivers/nsm.cpp | 42 |
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 |