summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/nyny.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/nyny.cpp')
-rw-r--r--src/mame/drivers/nyny.cpp93
1 files changed, 48 insertions, 45 deletions
diff --git a/src/mame/drivers/nyny.cpp b/src/mame/drivers/nyny.cpp
index af5253116b1..ef335ef75b8 100644
--- a/src/mame/drivers/nyny.cpp
+++ b/src/mame/drivers/nyny.cpp
@@ -426,51 +426,54 @@ WRITE8_MEMBER(nyny_state::nyny_pia_1_2_w)
}
-ADDRESS_MAP_START(nyny_state::nyny_main_map)
- AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("videoram1")
- AM_RANGE(0x2000, 0x3fff) AM_RAM AM_SHARE("colorram1")
- AM_RANGE(0x4000, 0x5fff) AM_RAM AM_SHARE("videoram2")
- AM_RANGE(0x6000, 0x7fff) AM_RAM AM_SHARE("colorram2")
- AM_RANGE(0x8000, 0x9fff) AM_RAM
- AM_RANGE(0xa000, 0xa0ff) AM_RAM AM_SHARE("nvram") /* SRAM (coin counter, shown when holding F2) */
- AM_RANGE(0xa100, 0xa100) AM_MIRROR(0x00fe) AM_DEVWRITE("crtc", mc6845_device, address_w)
- AM_RANGE(0xa101, 0xa101) AM_MIRROR(0x00fe) AM_DEVWRITE("crtc", mc6845_device, register_w)
- AM_RANGE(0xa200, 0xa20f) AM_MIRROR(0x00f0) AM_READWRITE(nyny_pia_1_2_r, nyny_pia_1_2_w)
- AM_RANGE(0xa300, 0xa300) AM_MIRROR(0x00ff) AM_DEVREAD("soundlatch3", generic_latch_8_device, read) AM_WRITE(audio_1_command_w)
- AM_RANGE(0xa400, 0xa7ff) AM_NOP
- AM_RANGE(0xa800, 0xbfff) AM_ROM
- AM_RANGE(0xc000, 0xdfff) AM_RAM
- AM_RANGE(0xe000, 0xffff) AM_ROM
-ADDRESS_MAP_END
-
-
-ADDRESS_MAP_START(nyny_state::nyny_audio_1_map)
- ADDRESS_MAP_GLOBAL_MASK(0x7fff)
- AM_RANGE(0x0000, 0x007f) AM_RAM /* internal RAM */
- AM_RANGE(0x0080, 0x0fff) AM_NOP
- AM_RANGE(0x1000, 0x1000) AM_MIRROR(0x0fff) AM_DEVREAD("soundlatch", generic_latch_8_device, read) AM_WRITE(audio_1_answer_w)
- AM_RANGE(0x2000, 0x2000) AM_MIRROR(0x0fff) AM_READ_PORT("SW3")
- AM_RANGE(0x3000, 0x3000) AM_MIRROR(0x0ffc) AM_DEVREAD("ay1", ay8910_device, data_r)
- AM_RANGE(0x3000, 0x3001) AM_MIRROR(0x0ffc) AM_DEVWRITE("ay1", ay8910_device, data_address_w)
- AM_RANGE(0x3002, 0x3002) AM_MIRROR(0x0ffc) AM_DEVREAD("ay2", ay8910_device, data_r)
- AM_RANGE(0x3002, 0x3003) AM_MIRROR(0x0ffc) AM_DEVWRITE("ay2", ay8910_device, data_address_w)
- AM_RANGE(0x4000, 0x4fff) AM_NOP
- AM_RANGE(0x5000, 0x57ff) AM_MIRROR(0x0800) AM_ROM
- AM_RANGE(0x6000, 0x67ff) AM_MIRROR(0x0800) AM_ROM
- AM_RANGE(0x7000, 0x77ff) AM_MIRROR(0x0800) AM_ROM
-ADDRESS_MAP_END
-
-
-ADDRESS_MAP_START(nyny_state::nyny_audio_2_map)
- ADDRESS_MAP_GLOBAL_MASK(0x7fff)
- AM_RANGE(0x0000, 0x007f) AM_RAM /* internal RAM */
- AM_RANGE(0x0080, 0x0fff) AM_NOP
- AM_RANGE(0x1000, 0x1000) AM_MIRROR(0x0fff) AM_DEVREAD("soundlatch2", generic_latch_8_device, read)
- AM_RANGE(0x2000, 0x2000) AM_MIRROR(0x0ffe) AM_DEVREAD("ay3", ay8910_device, data_r)
- AM_RANGE(0x2000, 0x2001) AM_MIRROR(0x0ffe) AM_DEVWRITE("ay3", ay8910_device, data_address_w)
- AM_RANGE(0x3000, 0x6fff) AM_NOP
- AM_RANGE(0x7000, 0x77ff) AM_MIRROR(0x0800) AM_ROM
-ADDRESS_MAP_END
+void nyny_state::nyny_main_map(address_map &map)
+{
+ map(0x0000, 0x1fff).ram().share("videoram1");
+ map(0x2000, 0x3fff).ram().share("colorram1");
+ map(0x4000, 0x5fff).ram().share("videoram2");
+ map(0x6000, 0x7fff).ram().share("colorram2");
+ map(0x8000, 0x9fff).ram();
+ map(0xa000, 0xa0ff).ram().share("nvram"); /* SRAM (coin counter, shown when holding F2) */
+ map(0xa100, 0xa100).mirror(0x00fe).w(m_mc6845, FUNC(mc6845_device::address_w));
+ map(0xa101, 0xa101).mirror(0x00fe).w(m_mc6845, FUNC(mc6845_device::register_w));
+ map(0xa200, 0xa20f).mirror(0x00f0).rw(this, FUNC(nyny_state::nyny_pia_1_2_r), FUNC(nyny_state::nyny_pia_1_2_w));
+ map(0xa300, 0xa300).mirror(0x00ff).r(m_soundlatch3, FUNC(generic_latch_8_device::read)).w(this, FUNC(nyny_state::audio_1_command_w));
+ map(0xa400, 0xa7ff).noprw();
+ map(0xa800, 0xbfff).rom();
+ map(0xc000, 0xdfff).ram();
+ map(0xe000, 0xffff).rom();
+}
+
+
+void nyny_state::nyny_audio_1_map(address_map &map)
+{
+ map.global_mask(0x7fff);
+ map(0x0000, 0x007f).ram(); /* internal RAM */
+ map(0x0080, 0x0fff).noprw();
+ map(0x1000, 0x1000).mirror(0x0fff).r(m_soundlatch, FUNC(generic_latch_8_device::read)).w(this, FUNC(nyny_state::audio_1_answer_w));
+ map(0x2000, 0x2000).mirror(0x0fff).portr("SW3");
+ map(0x3000, 0x3000).mirror(0x0ffc).r("ay1", FUNC(ay8910_device::data_r));
+ map(0x3000, 0x3001).mirror(0x0ffc).w("ay1", FUNC(ay8910_device::data_address_w));
+ map(0x3002, 0x3002).mirror(0x0ffc).r("ay2", FUNC(ay8910_device::data_r));
+ map(0x3002, 0x3003).mirror(0x0ffc).w("ay2", FUNC(ay8910_device::data_address_w));
+ map(0x4000, 0x4fff).noprw();
+ map(0x5000, 0x57ff).mirror(0x0800).rom();
+ map(0x6000, 0x67ff).mirror(0x0800).rom();
+ map(0x7000, 0x77ff).mirror(0x0800).rom();
+}
+
+
+void nyny_state::nyny_audio_2_map(address_map &map)
+{
+ map.global_mask(0x7fff);
+ map(0x0000, 0x007f).ram(); /* internal RAM */
+ map(0x0080, 0x0fff).noprw();
+ map(0x1000, 0x1000).mirror(0x0fff).r(m_soundlatch2, FUNC(generic_latch_8_device::read));
+ map(0x2000, 0x2000).mirror(0x0ffe).r("ay3", FUNC(ay8910_device::data_r));
+ map(0x2000, 0x2001).mirror(0x0ffe).w("ay3", FUNC(ay8910_device::data_address_w));
+ map(0x3000, 0x6fff).noprw();
+ map(0x7000, 0x77ff).mirror(0x0800).rom();
+}