summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/nss.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/nss.cpp')
-rw-r--r--src/mame/drivers/nss.cpp58
1 files changed, 31 insertions, 27 deletions
diff --git a/src/mame/drivers/nss.cpp b/src/mame/drivers/nss.cpp
index a72e3446542..c70f3c7fd4d 100644
--- a/src/mame/drivers/nss.cpp
+++ b/src/mame/drivers/nss.cpp
@@ -365,11 +365,12 @@ uint32_t nss_state::screen_update( screen_device &screen, bitmap_rgb32 &bitmap,
-ADDRESS_MAP_START(nss_state::snes_map)
- AM_RANGE(0x000000, 0x7dffff) AM_READWRITE(snes_r_bank1, snes_w_bank1)
- AM_RANGE(0x7e0000, 0x7fffff) AM_RAM /* 8KB Low RAM, 24KB High RAM, 96KB Expanded RAM */
- AM_RANGE(0x800000, 0xffffff) AM_READWRITE(snes_r_bank2, snes_w_bank2) /* Mirror and ROM */
-ADDRESS_MAP_END
+void nss_state::snes_map(address_map &map)
+{
+ map(0x000000, 0x7dffff).rw(this, FUNC(nss_state::snes_r_bank1), FUNC(nss_state::snes_w_bank1));
+ map(0x7e0000, 0x7fffff).ram(); /* 8KB Low RAM, 24KB High RAM, 96KB Expanded RAM */
+ map(0x800000, 0xffffff).rw(this, FUNC(nss_state::snes_r_bank2), FUNC(nss_state::snes_w_bank2)); /* Mirror and ROM */
+}
READ8_MEMBER(nss_state::spc_ram_100_r)
{
@@ -381,11 +382,12 @@ WRITE8_MEMBER(nss_state::spc_ram_100_w)
m_spc700->spc_ram_w(space, offset + 0x100, data);
}
-ADDRESS_MAP_START(nss_state::spc_mem)
- AM_RANGE(0x0000, 0x00ef) AM_DEVREADWRITE("spc700", snes_sound_device, spc_ram_r, spc_ram_w) /* lower 32k ram */
- AM_RANGE(0x00f0, 0x00ff) AM_DEVREADWRITE("spc700", snes_sound_device, spc_io_r, spc_io_w) /* spc io */
- AM_RANGE(0x0100, 0xffff) AM_READWRITE(spc_ram_100_r, spc_ram_100_w)
-ADDRESS_MAP_END
+void nss_state::spc_mem(address_map &map)
+{
+ map(0x0000, 0x00ef).rw(m_spc700, FUNC(snes_sound_device::spc_ram_r), FUNC(snes_sound_device::spc_ram_w)); /* lower 32k ram */
+ map(0x00f0, 0x00ff).rw(m_spc700, FUNC(snes_sound_device::spc_io_r), FUNC(snes_sound_device::spc_io_w)); /* spc io */
+ map(0x0100, 0xffff).rw(this, FUNC(nss_state::spc_ram_100_r), FUNC(nss_state::spc_ram_100_w));
+}
/* NSS specific */
/*
@@ -504,14 +506,15 @@ WRITE8_MEMBER(nss_state::nss_prot_w)
}
-ADDRESS_MAP_START(nss_state::bios_map)
- AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0x8000, 0x8fff) AM_RAM
- AM_RANGE(0x9000, 0x9fff) AM_READWRITE(ram_wp_r,ram_wp_w)
- AM_RANGE(0xa000, 0xa000) AM_READ_PORT("EEPROMIN")
- AM_RANGE(0xc000, 0xdfff) AM_ROM AM_REGION("ibios_rom", 0x6000 )
- AM_RANGE(0xe000, 0xffff) AM_READWRITE(nss_prot_r,nss_prot_w)
-ADDRESS_MAP_END
+void nss_state::bios_map(address_map &map)
+{
+ map(0x0000, 0x7fff).rom();
+ map(0x8000, 0x8fff).ram();
+ map(0x9000, 0x9fff).rw(this, FUNC(nss_state::ram_wp_r), FUNC(nss_state::ram_wp_w));
+ map(0xa000, 0xa000).portr("EEPROMIN");
+ map(0xc000, 0xdfff).rom().region("ibios_rom", 0x6000);
+ map(0xe000, 0xffff).rw(this, FUNC(nss_state::nss_prot_r), FUNC(nss_state::nss_prot_w));
+}
READ8_MEMBER(nss_state::port_00_r)
{
@@ -621,15 +624,16 @@ WRITE8_MEMBER(nss_state::port_07_w)
m_joy_flag = 1;
}
-ADDRESS_MAP_START(nss_state::bios_io_map)
- ADDRESS_MAP_GLOBAL_MASK(0x7)
- AM_RANGE(0x00, 0x00) AM_READ(port_00_r) AM_WRITE(port_00_w)
- AM_RANGE(0x01, 0x01) AM_READ_PORT("FP") AM_WRITE(port_01_w)
- AM_RANGE(0x02, 0x02) AM_READ_PORT("SYSTEM") AM_WRITE(port_02_w)
- AM_RANGE(0x03, 0x03) AM_READ_PORT("RTC") AM_WRITE(port_03_w)
- AM_RANGE(0x04, 0x04) AM_WRITE(port_04_w)
- AM_RANGE(0x07, 0x07) AM_WRITE(port_07_w)
-ADDRESS_MAP_END
+void nss_state::bios_io_map(address_map &map)
+{
+ map.global_mask(0x7);
+ map(0x00, 0x00).r(this, FUNC(nss_state::port_00_r)).w(this, FUNC(nss_state::port_00_w));
+ map(0x01, 0x01).portr("FP").w(this, FUNC(nss_state::port_01_w));
+ map(0x02, 0x02).portr("SYSTEM").w(this, FUNC(nss_state::port_02_w));
+ map(0x03, 0x03).portr("RTC").w(this, FUNC(nss_state::port_03_w));
+ map(0x04, 0x04).w(this, FUNC(nss_state::port_04_w));
+ map(0x07, 0x07).w(this, FUNC(nss_state::port_07_w));
+}
void nss_state::machine_start()
{