summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/realbrk.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/realbrk.cpp')
-rw-r--r--src/mame/drivers/realbrk.cpp95
1 files changed, 50 insertions, 45 deletions
diff --git a/src/mame/drivers/realbrk.cpp b/src/mame/drivers/realbrk.cpp
index 969953f3be2..033e2d41088 100644
--- a/src/mame/drivers/realbrk.cpp
+++ b/src/mame/drivers/realbrk.cpp
@@ -155,59 +155,64 @@ WRITE16_MEMBER(realbrk_state::backup_ram_w)
***************************************************************************/
/*Basic memory map for this HW*/
-ADDRESS_MAP_START(realbrk_state::base_mem)
- AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
- AM_RANGE(0x200000, 0x203fff) AM_RAM AM_SHARE("spriteram") // Sprites
- AM_RANGE(0x400000, 0x40ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palette
- AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(vram_0_w) AM_SHARE("vram_0") // Background (0)
- AM_RANGE(0x602000, 0x603fff) AM_RAM_WRITE(vram_1_w) AM_SHARE("vram_1") // Background (1)
- AM_RANGE(0x604000, 0x604fff) AM_RAM_WRITE(vram_2_w) AM_SHARE("vram_2") // Text (2)
- AM_RANGE(0x605000, 0x61ffff) AM_RAM //
- AM_RANGE(0x606000, 0x60600f) AM_RAM_WRITE(vregs_w) AM_SHARE("vregs") // Scroll + Video Regs
- AM_RANGE(0x800000, 0x800003) AM_DEVREADWRITE8("ymz", ymz280b_device, read, write, 0xff00) // YMZ280
- AM_RANGE(0xfe0000, 0xfeffff) AM_RAM // RAM
- AM_RANGE(0xfffc00, 0xffffff) AM_DEVREADWRITE("tmp68301", tmp68301_device, regs_r, regs_w) // TMP68301 Registers
-ADDRESS_MAP_END
+void realbrk_state::base_mem(address_map &map)
+{
+ map(0x000000, 0x0fffff).rom(); // ROM
+ map(0x200000, 0x203fff).ram().share("spriteram"); // Sprites
+ map(0x400000, 0x40ffff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); // Palette
+ map(0x600000, 0x601fff).ram().w(this, FUNC(realbrk_state::vram_0_w)).share("vram_0"); // Background (0)
+ map(0x602000, 0x603fff).ram().w(this, FUNC(realbrk_state::vram_1_w)).share("vram_1"); // Background (1)
+ map(0x604000, 0x604fff).ram().w(this, FUNC(realbrk_state::vram_2_w)).share("vram_2"); // Text (2)
+ map(0x605000, 0x61ffff).ram(); //
+ map(0x606000, 0x60600f).ram().w(this, FUNC(realbrk_state::vregs_w)).share("vregs"); // Scroll + Video Regs
+ map(0x800000, 0x800003).rw("ymz", FUNC(ymz280b_device::read), FUNC(ymz280b_device::write)).umask16(0xff00); // YMZ280
+ map(0xfe0000, 0xfeffff).ram(); // RAM
+ map(0xfffc00, 0xffffff).rw(m_tmp68301, FUNC(tmp68301_device::regs_r), FUNC(tmp68301_device::regs_w)); // TMP68301 Registers
+}
/*realbrk specific memory map*/
-ADDRESS_MAP_START(realbrk_state::realbrk_mem)
- AM_IMPORT_FROM(base_mem)
- AM_RANGE(0x800008, 0x80000b) AM_DEVWRITE8("ymsnd", ym2413_device, write, 0x00ff) //
- AM_RANGE(0xc00000, 0xc00001) AM_READ_PORT("IN0") // P1 & P2 (Inputs)
- AM_RANGE(0xc00002, 0xc00003) AM_READ_PORT("IN1") // Coins
- AM_RANGE(0xc00004, 0xc00005) AM_RAM_READ(realbrk_dsw_r) AM_SHARE("dsw_select") // DSW select
- AM_RANGE(0xff0000, 0xfffbff) AM_RAM // RAM
-ADDRESS_MAP_END
+void realbrk_state::realbrk_mem(address_map &map)
+{
+ base_mem(map);
+ map(0x800008, 0x80000b).w("ymsnd", FUNC(ym2413_device::write)).umask16(0x00ff); //
+ map(0xc00000, 0xc00001).portr("IN0"); // P1 & P2 (Inputs)
+ map(0xc00002, 0xc00003).portr("IN1"); // Coins
+ map(0xc00004, 0xc00005).ram().r(this, FUNC(realbrk_state::realbrk_dsw_r)).share("dsw_select"); // DSW select
+ map(0xff0000, 0xfffbff).ram(); // RAM
+}
/*pkgnsh specific memory map*/
-ADDRESS_MAP_START(realbrk_state::pkgnsh_mem)
- AM_IMPORT_FROM(base_mem)
- AM_RANGE(0x800008, 0x80000b) AM_DEVWRITE8("ymsnd", ym2413_device, write, 0xff00) // YM2413
- AM_RANGE(0xc00000, 0xc00013) AM_READ(pkgnsh_input_r ) // P1 & P2 (Inputs)
- AM_RANGE(0xff0000, 0xfffbff) AM_READWRITE(backup_ram_r,backup_ram_w) AM_SHARE("backup_ram") // RAM
-ADDRESS_MAP_END
+void realbrk_state::pkgnsh_mem(address_map &map)
+{
+ base_mem(map);
+ map(0x800008, 0x80000b).w("ymsnd", FUNC(ym2413_device::write)).umask16(0xff00); // YM2413
+ map(0xc00000, 0xc00013).r(this, FUNC(realbrk_state::pkgnsh_input_r)); // P1 & P2 (Inputs)
+ map(0xff0000, 0xfffbff).rw(this, FUNC(realbrk_state::backup_ram_r), FUNC(realbrk_state::backup_ram_w)).share("backup_ram"); // RAM
+}
/*pkgnshdx specific memory map*/
-ADDRESS_MAP_START(realbrk_state::pkgnshdx_mem)
- AM_IMPORT_FROM(base_mem)
- AM_RANGE(0x800008, 0x80000b) AM_DEVWRITE8("ymsnd", ym2413_device, write, 0x00ff) //
- AM_RANGE(0xc00000, 0xc00013) AM_READ(pkgnshdx_input_r ) // P1 & P2 (Inputs)
- AM_RANGE(0xc00004, 0xc00005) AM_WRITEONLY AM_SHARE("dsw_select") // DSW select
- AM_RANGE(0xff0000, 0xfffbff) AM_READWRITE(backup_ram_dx_r,backup_ram_w) AM_SHARE("backup_ram") // RAM
-ADDRESS_MAP_END
+void realbrk_state::pkgnshdx_mem(address_map &map)
+{
+ base_mem(map);
+ map(0x800008, 0x80000b).w("ymsnd", FUNC(ym2413_device::write)).umask16(0x00ff); //
+ map(0xc00000, 0xc00013).r(this, FUNC(realbrk_state::pkgnshdx_input_r)); // P1 & P2 (Inputs)
+ map(0xc00004, 0xc00005).writeonly().share("dsw_select"); // DSW select
+ map(0xff0000, 0xfffbff).rw(this, FUNC(realbrk_state::backup_ram_dx_r), FUNC(realbrk_state::backup_ram_w)).share("backup_ram"); // RAM
+}
/*dai2kaku specific memory map*/
-ADDRESS_MAP_START(realbrk_state::dai2kaku_mem)
- AM_IMPORT_FROM(base_mem)
- AM_RANGE(0x605000, 0x6053ff) AM_RAM AM_SHARE("vram_0ras") // rasterinfo (0)
- AM_RANGE(0x605400, 0x6057ff) AM_RAM AM_SHARE("vram_1ras") // rasterinfo (1)
- AM_RANGE(0x800008, 0x80000b) AM_DEVWRITE8("ymsnd", ym2413_device, write, 0x00ff) //
- AM_RANGE(0xc00000, 0xc00001) AM_READ_PORT("IN0") // P1 & P2 (Inputs)
- AM_RANGE(0xc00002, 0xc00003) AM_READ_PORT("IN1") // Coins
- AM_RANGE(0xc00004, 0xc00005) AM_RAM_READ(realbrk_dsw_r) AM_SHARE("dsw_select") // DSW select
- AM_RANGE(0xff0000, 0xfffbff) AM_RAM // RAM
- AM_RANGE(0xfffd0a, 0xfffd0b) AM_WRITE(dai2kaku_flipscreen_w ) // Hack! Parallel port data register
-ADDRESS_MAP_END
+void realbrk_state::dai2kaku_mem(address_map &map)
+{
+ base_mem(map);
+ map(0x605000, 0x6053ff).ram().share("vram_0ras"); // rasterinfo (0)
+ map(0x605400, 0x6057ff).ram().share("vram_1ras"); // rasterinfo (1)
+ map(0x800008, 0x80000b).w("ymsnd", FUNC(ym2413_device::write)).umask16(0x00ff); //
+ map(0xc00000, 0xc00001).portr("IN0"); // P1 & P2 (Inputs)
+ map(0xc00002, 0xc00003).portr("IN1"); // Coins
+ map(0xc00004, 0xc00005).ram().r(this, FUNC(realbrk_state::realbrk_dsw_r)).share("dsw_select"); // DSW select
+ map(0xff0000, 0xfffbff).ram(); // RAM
+ map(0xfffd0a, 0xfffd0b).w(this, FUNC(realbrk_state::dai2kaku_flipscreen_w)); // Hack! Parallel port data register
+}
/***************************************************************************