summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/goldnpkr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/goldnpkr.cpp')
-rw-r--r--src/mame/drivers/goldnpkr.cpp316
1 files changed, 165 insertions, 151 deletions
diff --git a/src/mame/drivers/goldnpkr.cpp b/src/mame/drivers/goldnpkr.cpp
index 82655adcf4d..b84571740d3 100644
--- a/src/mame/drivers/goldnpkr.cpp
+++ b/src/mame/drivers/goldnpkr.cpp
@@ -1832,44 +1832,47 @@ READ8_MEMBER(goldnpkr_state::pia1_b_r)
* Memory Map Information *
*********************************************/
-ADDRESS_MAP_START(goldnpkr_state::goldnpkr_map)
- ADDRESS_MAP_GLOBAL_MASK(0x7fff)
- AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram") /* battery backed RAM */
- AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_device, address_w)
- AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
- AM_RANGE(0x0844, 0x0847) AM_DEVREADWRITE("pia0", pia6821_device, read, write)
- AM_RANGE(0x0848, 0x084b) AM_DEVREADWRITE("pia1", pia6821_device, read, write)
- AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(goldnpkr_videoram_w) AM_SHARE("videoram")
- AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(goldnpkr_colorram_w) AM_SHARE("colorram")
- AM_RANGE(0x2000, 0x7fff) AM_ROM /* superdbl uses 0x2000..0x3fff address space */
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(goldnpkr_state::pottnpkr_map)
- ADDRESS_MAP_GLOBAL_MASK(0x3fff)
- AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram") /* battery backed RAM */
- AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_device, address_w)
- AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
- AM_RANGE(0x0844, 0x0847) AM_DEVREADWRITE("pia0", pia6821_device, read, write)
- AM_RANGE(0x0848, 0x084b) AM_DEVREADWRITE("pia1", pia6821_device, read, write)
- AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(goldnpkr_videoram_w) AM_SHARE("videoram")
- AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(goldnpkr_colorram_w) AM_SHARE("colorram")
- AM_RANGE(0x2000, 0x3fff) AM_ROM
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(goldnpkr_state::witchcrd_map)
- ADDRESS_MAP_GLOBAL_MASK(0x7fff)
- AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram") /* battery backed RAM */
- AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_device, address_w)
- AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
- AM_RANGE(0x0844, 0x0847) AM_DEVREADWRITE("pia0", pia6821_device, read, write)
- AM_RANGE(0x0848, 0x084b) AM_DEVREADWRITE("pia1", pia6821_device, read, write)
- AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(goldnpkr_videoram_w) AM_SHARE("videoram")
- AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(goldnpkr_colorram_w) AM_SHARE("colorram")
- AM_RANGE(0x2000, 0x2000) AM_READ_PORT("SW2")
+void goldnpkr_state::goldnpkr_map(address_map &map)
+{
+ map.global_mask(0x7fff);
+ map(0x0000, 0x07ff).ram().share("nvram"); /* battery backed RAM */
+ map(0x0800, 0x0800).w("crtc", FUNC(mc6845_device::address_w));
+ map(0x0801, 0x0801).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w));
+ map(0x0844, 0x0847).rw("pia0", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
+ map(0x0848, 0x084b).rw("pia1", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
+ map(0x1000, 0x13ff).ram().w(this, FUNC(goldnpkr_state::goldnpkr_videoram_w)).share("videoram");
+ map(0x1800, 0x1bff).ram().w(this, FUNC(goldnpkr_state::goldnpkr_colorram_w)).share("colorram");
+ map(0x2000, 0x7fff).rom(); /* superdbl uses 0x2000..0x3fff address space */
+}
+
+void goldnpkr_state::pottnpkr_map(address_map &map)
+{
+ map.global_mask(0x3fff);
+ map(0x0000, 0x07ff).ram().share("nvram"); /* battery backed RAM */
+ map(0x0800, 0x0800).w("crtc", FUNC(mc6845_device::address_w));
+ map(0x0801, 0x0801).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w));
+ map(0x0844, 0x0847).rw("pia0", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
+ map(0x0848, 0x084b).rw("pia1", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
+ map(0x1000, 0x13ff).ram().w(this, FUNC(goldnpkr_state::goldnpkr_videoram_w)).share("videoram");
+ map(0x1800, 0x1bff).ram().w(this, FUNC(goldnpkr_state::goldnpkr_colorram_w)).share("colorram");
+ map(0x2000, 0x3fff).rom();
+}
+
+void goldnpkr_state::witchcrd_map(address_map &map)
+{
+ map.global_mask(0x7fff);
+ map(0x0000, 0x07ff).ram().share("nvram"); /* battery backed RAM */
+ map(0x0800, 0x0800).w("crtc", FUNC(mc6845_device::address_w));
+ map(0x0801, 0x0801).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w));
+ map(0x0844, 0x0847).rw("pia0", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
+ map(0x0848, 0x084b).rw("pia1", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
+ map(0x1000, 0x13ff).ram().w(this, FUNC(goldnpkr_state::goldnpkr_videoram_w)).share("videoram");
+ map(0x1800, 0x1bff).ram().w(this, FUNC(goldnpkr_state::goldnpkr_colorram_w)).share("colorram");
+ map(0x2000, 0x2000).portr("SW2");
// AM_RANGE(0x2108, 0x210b) AM_NOP /* unknown 40-pin device */
- AM_RANGE(0x2800, 0x2fff) AM_RAM
- AM_RANGE(0x4000, 0x7fff) AM_ROM
-ADDRESS_MAP_END
+ map(0x2800, 0x2fff).ram();
+ map(0x4000, 0x7fff).rom();
+}
/*
Witch Card (Video klein)
@@ -1883,33 +1886,35 @@ ADDRESS_MAP_END
*/
-ADDRESS_MAP_START(goldnpkr_state::witchcrd_falcon_map)
- ADDRESS_MAP_GLOBAL_MASK(0x7fff)
- AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram") /* battery backed RAM */
- AM_RANGE(0x0844, 0x0847) AM_DEVREADWRITE("pia0", pia6821_device, read, write)
- AM_RANGE(0x0848, 0x084b) AM_DEVREADWRITE("pia1", pia6821_device, read, write)
- AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(goldnpkr_videoram_w) AM_SHARE("videoram")
- AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(goldnpkr_colorram_w) AM_SHARE("colorram")
- AM_RANGE(0x2000, 0x2000) AM_READ_PORT("SW2")
- AM_RANGE(0x2100, 0x2100) AM_DEVWRITE("crtc", mc6845_device, address_w)
- AM_RANGE(0x2101, 0x2101) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
- AM_RANGE(0x4000, 0x7fff) AM_ROM
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(goldnpkr_state::wildcard_map)
+void goldnpkr_state::witchcrd_falcon_map(address_map &map)
+{
+ map.global_mask(0x7fff);
+ map(0x0000, 0x07ff).ram().share("nvram"); /* battery backed RAM */
+ map(0x0844, 0x0847).rw("pia0", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
+ map(0x0848, 0x084b).rw("pia1", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
+ map(0x1000, 0x13ff).ram().w(this, FUNC(goldnpkr_state::goldnpkr_videoram_w)).share("videoram");
+ map(0x1800, 0x1bff).ram().w(this, FUNC(goldnpkr_state::goldnpkr_colorram_w)).share("colorram");
+ map(0x2000, 0x2000).portr("SW2");
+ map(0x2100, 0x2100).w("crtc", FUNC(mc6845_device::address_w));
+ map(0x2101, 0x2101).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w));
+ map(0x4000, 0x7fff).rom();
+}
+
+void goldnpkr_state::wildcard_map(address_map &map)
+{
// ADDRESS_MAP_GLOBAL_MASK(0x7fff)
- AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram") /* battery backed RAM */
- AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_device, address_w)
- AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
- AM_RANGE(0x0844, 0x0847) AM_DEVREADWRITE("pia0", pia6821_device, read, write)
- AM_RANGE(0x0848, 0x084b) AM_DEVREADWRITE("pia1", pia6821_device, read, write)
- AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(goldnpkr_videoram_w) AM_SHARE("videoram")
- AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(goldnpkr_colorram_w) AM_SHARE("colorram")
- AM_RANGE(0x2000, 0x2000) AM_READ_PORT("SW2")
- AM_RANGE(0x2200, 0x27ff) AM_ROM /* for VK set */
- AM_RANGE(0x2800, 0x2fff) AM_RAM /* for VK set */
- AM_RANGE(0x3000, 0xffff) AM_ROM /* for VK set. bootleg starts from 4000 */
-ADDRESS_MAP_END
+ map(0x0000, 0x07ff).ram().share("nvram"); /* battery backed RAM */
+ map(0x0800, 0x0800).w("crtc", FUNC(mc6845_device::address_w));
+ map(0x0801, 0x0801).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w));
+ map(0x0844, 0x0847).rw("pia0", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
+ map(0x0848, 0x084b).rw("pia1", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
+ map(0x1000, 0x13ff).ram().w(this, FUNC(goldnpkr_state::goldnpkr_videoram_w)).share("videoram");
+ map(0x1800, 0x1bff).ram().w(this, FUNC(goldnpkr_state::goldnpkr_colorram_w)).share("colorram");
+ map(0x2000, 0x2000).portr("SW2");
+ map(0x2200, 0x27ff).rom(); /* for VK set */
+ map(0x2800, 0x2fff).ram(); /* for VK set */
+ map(0x3000, 0xffff).rom(); /* for VK set. bootleg starts from 4000 */
+}
/*
Video Klein extended hardware
@@ -1918,19 +1923,20 @@ ADDRESS_MAP_END
*/
-ADDRESS_MAP_START(goldnpkr_state::wcrdxtnd_map)
- AM_RANGE(0x0000, 0x07ff) AM_RAM //AM_SHARE("nvram") /* battery backed RAM */
- AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_device, address_w)
- AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
- AM_RANGE(0x0844, 0x0847) AM_DEVREADWRITE("pia0", pia6821_device, read, write)
- AM_RANGE(0x0848, 0x084b) AM_DEVREADWRITE("pia1", pia6821_device, read, write)
- AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(goldnpkr_videoram_w) AM_SHARE("videoram")
- AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(goldnpkr_colorram_w) AM_SHARE("colorram")
- AM_RANGE(0x2000, 0x2000) AM_READ_PORT("SW2")
- AM_RANGE(0x2200, 0x27ff) AM_ROM /* for VK hardware */
- AM_RANGE(0x2800, 0x2fff) AM_RAM AM_SHARE("nvram") /* Dallas ds1210 + battery backed RAM */
- AM_RANGE(0x3000, 0xffff) AM_ROM /* for VK hardware. bootleg starts from 4000 */
-ADDRESS_MAP_END
+void goldnpkr_state::wcrdxtnd_map(address_map &map)
+{
+ map(0x0000, 0x07ff).ram(); //AM_SHARE("nvram") /* battery backed RAM */
+ map(0x0800, 0x0800).w("crtc", FUNC(mc6845_device::address_w));
+ map(0x0801, 0x0801).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w));
+ map(0x0844, 0x0847).rw("pia0", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
+ map(0x0848, 0x084b).rw("pia1", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
+ map(0x1000, 0x13ff).ram().w(this, FUNC(goldnpkr_state::goldnpkr_videoram_w)).share("videoram");
+ map(0x1800, 0x1bff).ram().w(this, FUNC(goldnpkr_state::goldnpkr_colorram_w)).share("colorram");
+ map(0x2000, 0x2000).portr("SW2");
+ map(0x2200, 0x27ff).rom(); /* for VK hardware */
+ map(0x2800, 0x2fff).ram().share("nvram"); /* Dallas ds1210 + battery backed RAM */
+ map(0x3000, 0xffff).rom(); /* for VK hardware. bootleg starts from 4000 */
+}
/*
@@ -1938,29 +1944,32 @@ ADDRESS_MAP_END
*/
-ADDRESS_MAP_START(goldnpkr_state::wildcrdb_map)
- ADDRESS_MAP_GLOBAL_MASK(0x7fff)
- AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram") /* battery backed RAM */
- AM_RANGE(0x0844, 0x0847) AM_DEVREADWRITE("pia0", pia6821_device, read, write)
- AM_RANGE(0x0848, 0x084b) AM_DEVREADWRITE("pia1", pia6821_device, read, write)
- AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(goldnpkr_videoram_w) AM_SHARE("videoram")
- AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(goldnpkr_colorram_w) AM_SHARE("colorram")
- AM_RANGE(0x2000, 0x2000) AM_READ_PORT("SW2")
- AM_RANGE(0x2100, 0x2100) AM_DEVWRITE("crtc", mc6845_device, address_w)
- AM_RANGE(0x2101, 0x2101) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
- AM_RANGE(0x2800, 0x2fff) AM_RAM
- AM_RANGE(0x3000, 0x7fff) AM_ROM
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(goldnpkr_state::wildcrdb_mcu_map)
+void goldnpkr_state::wildcrdb_map(address_map &map)
+{
+ map.global_mask(0x7fff);
+ map(0x0000, 0x07ff).ram().share("nvram"); /* battery backed RAM */
+ map(0x0844, 0x0847).rw("pia0", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
+ map(0x0848, 0x084b).rw("pia1", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
+ map(0x1000, 0x13ff).ram().w(this, FUNC(goldnpkr_state::goldnpkr_videoram_w)).share("videoram");
+ map(0x1800, 0x1bff).ram().w(this, FUNC(goldnpkr_state::goldnpkr_colorram_w)).share("colorram");
+ map(0x2000, 0x2000).portr("SW2");
+ map(0x2100, 0x2100).w("crtc", FUNC(mc6845_device::address_w));
+ map(0x2101, 0x2101).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w));
+ map(0x2800, 0x2fff).ram();
+ map(0x3000, 0x7fff).rom();
+}
+
+void goldnpkr_state::wildcrdb_mcu_map(address_map &map)
+{
// ADDRESS_MAP_GLOBAL_MASK(0x3fff)
- AM_RANGE(0x0000, 0x0fff) AM_ROM
- AM_RANGE(0x1000, 0x2fff) AM_RAM
-ADDRESS_MAP_END
+ map(0x0000, 0x0fff).rom();
+ map(0x1000, 0x2fff).ram();
+}
-ADDRESS_MAP_START(goldnpkr_state::wildcrdb_mcu_io_map)
- ADDRESS_MAP_GLOBAL_MASK(0xff)
-ADDRESS_MAP_END
+void goldnpkr_state::wildcrdb_mcu_io_map(address_map &map)
+{
+ map.global_mask(0xff);
+}
/*
wildcrdb:
@@ -1971,42 +1980,45 @@ ADDRESS_MAP_END
*/
-ADDRESS_MAP_START(goldnpkr_state::genie_map)
- ADDRESS_MAP_GLOBAL_MASK(0x3fff)
- AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram") /* battery backed RAM */
- AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_device, address_w)
- AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
- AM_RANGE(0x0844, 0x0847) AM_DEVREADWRITE("pia0", pia6821_device, read, write)
- AM_RANGE(0x0848, 0x084b) AM_DEVREADWRITE("pia1", pia6821_device, read, write)
- AM_RANGE(0x1000, 0x17ff) AM_RAM_WRITE(goldnpkr_videoram_w) AM_SHARE("videoram")
- AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(goldnpkr_colorram_w) AM_SHARE("colorram")
- AM_RANGE(0x2000, 0x3fff) AM_ROM
-ADDRESS_MAP_END
-
-
-ADDRESS_MAP_START(goldnpkr_state::mondial_map)
- ADDRESS_MAP_GLOBAL_MASK(0x7fff)
- AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram") /* battery backed RAM */
- AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_device, address_w)
- AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
- AM_RANGE(0x0844, 0x0847) AM_DEVREADWRITE("pia0", pia6821_device, read, write)
- AM_RANGE(0x0848, 0x084b) AM_DEVREADWRITE("pia1", pia6821_device, read, write)
- AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(goldnpkr_videoram_w) AM_SHARE("videoram")
- AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(goldnpkr_colorram_w) AM_SHARE("colorram")
- AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(goldnpkr_state::bchancep_map)
- ADDRESS_MAP_GLOBAL_MASK(0x7fff)
- AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram") /* battery backed RAM */
- AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_device, address_w)
- AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
- AM_RANGE(0x0844, 0x0847) AM_DEVREADWRITE("pia0", pia6821_device, read, write)
- AM_RANGE(0x0848, 0x084b) AM_DEVREADWRITE("pia1", pia6821_device, read, write)
- AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(goldnpkr_videoram_w) AM_SHARE("videoram")
- AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(goldnpkr_colorram_w) AM_SHARE("colorram")
- AM_RANGE(0x2000, 0x7fff) AM_ROM
-ADDRESS_MAP_END
+void goldnpkr_state::genie_map(address_map &map)
+{
+ map.global_mask(0x3fff);
+ map(0x0000, 0x07ff).ram().share("nvram"); /* battery backed RAM */
+ map(0x0800, 0x0800).w("crtc", FUNC(mc6845_device::address_w));
+ map(0x0801, 0x0801).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w));
+ map(0x0844, 0x0847).rw("pia0", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
+ map(0x0848, 0x084b).rw("pia1", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
+ map(0x1000, 0x17ff).ram().w(this, FUNC(goldnpkr_state::goldnpkr_videoram_w)).share("videoram");
+ map(0x1800, 0x1fff).ram().w(this, FUNC(goldnpkr_state::goldnpkr_colorram_w)).share("colorram");
+ map(0x2000, 0x3fff).rom();
+}
+
+
+void goldnpkr_state::mondial_map(address_map &map)
+{
+ map.global_mask(0x7fff);
+ map(0x0000, 0x07ff).ram().share("nvram"); /* battery backed RAM */
+ map(0x0800, 0x0800).w("crtc", FUNC(mc6845_device::address_w));
+ map(0x0801, 0x0801).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w));
+ map(0x0844, 0x0847).rw("pia0", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
+ map(0x0848, 0x084b).rw("pia1", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
+ map(0x1000, 0x13ff).ram().w(this, FUNC(goldnpkr_state::goldnpkr_videoram_w)).share("videoram");
+ map(0x1800, 0x1bff).ram().w(this, FUNC(goldnpkr_state::goldnpkr_colorram_w)).share("colorram");
+ map(0x4000, 0x7fff).bankr("bank1");
+}
+
+void goldnpkr_state::bchancep_map(address_map &map)
+{
+ map.global_mask(0x7fff);
+ map(0x0000, 0x07ff).ram().share("nvram"); /* battery backed RAM */
+ map(0x0800, 0x0800).w("crtc", FUNC(mc6845_device::address_w));
+ map(0x0801, 0x0801).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w));
+ map(0x0844, 0x0847).rw("pia0", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
+ map(0x0848, 0x084b).rw("pia1", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
+ map(0x1000, 0x13ff).ram().w(this, FUNC(goldnpkr_state::goldnpkr_videoram_w)).share("videoram");
+ map(0x1800, 0x1bff).ram().w(this, FUNC(goldnpkr_state::goldnpkr_colorram_w)).share("colorram");
+ map(0x2000, 0x7fff).rom();
+}
/*********************************************
@@ -4603,12 +4615,13 @@ WRITE8_MEMBER(blitz_state::mcu_portc_w)
}
-ADDRESS_MAP_START(blitz_state::megadpkr_map)
- AM_RANGE(0x0000, 0x07ff) AM_RAM //AM_SHARE("nvram") /* battery backed RAM */
- AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_device, address_w)
- AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
- AM_RANGE(0x0844, 0x0847) AM_DEVREADWRITE("pia0", pia6821_device, read, write)
- AM_RANGE(0x0848, 0x084b) AM_DEVREADWRITE("pia1", pia6821_device, read, write)
+void blitz_state::megadpkr_map(address_map &map)
+{
+ map(0x0000, 0x07ff).ram(); //AM_SHARE("nvram") /* battery backed RAM */
+ map(0x0800, 0x0800).w("crtc", FUNC(mc6845_device::address_w));
+ map(0x0801, 0x0801).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w));
+ map(0x0844, 0x0847).rw("pia0", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
+ map(0x0848, 0x084b).rw("pia1", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
/* There is another set of PIAs controlled by the code.
Maybe they are just mirrors...
@@ -4616,18 +4629,19 @@ ADDRESS_MAP_START(blitz_state::megadpkr_map)
AM_RANGE(0x10f4, 0x10f7) AM_DEVREADWRITE("pia0", pia6821_device, read, write)
AM_RANGE(0x10f8, 0x10fb) AM_DEVREADWRITE("pia1", pia6821_device, read, write)
*/
- AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(goldnpkr_videoram_w) AM_SHARE("videoram")
- AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(goldnpkr_colorram_w) AM_SHARE("colorram")
-
- AM_RANGE(0x4000, 0x7fff) AM_DEVREADWRITE("bankdev", address_map_bank_device, read8, write8)
- AM_RANGE(0x8000, 0xbfff) AM_READNOP AM_WRITE(mcu_command_w)
- AM_RANGE(0xc000, 0xffff) AM_ROM
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(blitz_state::megadpkr_banked_map)
- AM_RANGE(0x00000, 0x07fff) AM_READ(cpubank_decrypt_r)
- AM_RANGE(0x08000, 0x087ff) AM_DEVREADWRITE("timekpr", m48t02_device, read, write)
-ADDRESS_MAP_END
+ map(0x1000, 0x13ff).ram().w(this, FUNC(blitz_state::goldnpkr_videoram_w)).share("videoram");
+ map(0x1800, 0x1bff).ram().w(this, FUNC(blitz_state::goldnpkr_colorram_w)).share("colorram");
+
+ map(0x4000, 0x7fff).rw(m_bankdev, FUNC(address_map_bank_device::read8), FUNC(address_map_bank_device::write8));
+ map(0x8000, 0xbfff).nopr().w(this, FUNC(blitz_state::mcu_command_w));
+ map(0xc000, 0xffff).rom();
+}
+
+void blitz_state::megadpkr_banked_map(address_map &map)
+{
+ map(0x00000, 0x07fff).r(this, FUNC(blitz_state::cpubank_decrypt_r));
+ map(0x08000, 0x087ff).rw("timekpr", FUNC(m48t02_device::read), FUNC(m48t02_device::write));
+}
static INPUT_PORTS_START( megadpkr )