summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/puckpkmn.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/puckpkmn.cpp')
-rw-r--r--src/mame/drivers/puckpkmn.cpp77
1 files changed, 40 insertions, 37 deletions
diff --git a/src/mame/drivers/puckpkmn.cpp b/src/mame/drivers/puckpkmn.cpp
index 78a400fc0f3..9c1233627bc 100644
--- a/src/mame/drivers/puckpkmn.cpp
+++ b/src/mame/drivers/puckpkmn.cpp
@@ -213,49 +213,51 @@ static INPUT_PORTS_START( jzth )
INPUT_PORTS_END
-ADDRESS_MAP_START(md_boot_state::puckpkmn_map)
- AM_RANGE(0x000000, 0x3fffff) AM_ROM /* Main 68k Program Roms */
- AM_RANGE(0x700010, 0x700011) AM_READ_PORT("P2")
- AM_RANGE(0x700012, 0x700013) AM_READ_PORT("P1")
- AM_RANGE(0x700014, 0x700015) AM_READ_PORT("UNK")
- AM_RANGE(0x700016, 0x700017) AM_READ_PORT("DSW1")
- AM_RANGE(0x700018, 0x700019) AM_READ_PORT("DSW2")
- AM_RANGE(0x700022, 0x700023) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
- AM_RANGE(0xa04000, 0xa04003) AM_READWRITE8(megadriv_68k_YM2612_read, megadriv_68k_YM2612_write, 0xffff)
- AM_RANGE(0xc00000, 0xc0001f) AM_DEVREADWRITE("gen_vdp", sega315_5313_device, vdp_r, vdp_w)
-
- AM_RANGE(0xe00000, 0xe0ffff) AM_RAM AM_MIRROR(0x1f0000)
+void md_boot_state::puckpkmn_map(address_map &map)
+{
+ map(0x000000, 0x3fffff).rom(); /* Main 68k Program Roms */
+ map(0x700010, 0x700011).portr("P2");
+ map(0x700012, 0x700013).portr("P1");
+ map(0x700014, 0x700015).portr("UNK");
+ map(0x700016, 0x700017).portr("DSW1");
+ map(0x700018, 0x700019).portr("DSW2");
+ map(0x700023, 0x700023).rw("oki", FUNC(okim6295_device::read), FUNC(okim6295_device::write));
+ map(0xa04000, 0xa04003).rw(this, FUNC(md_boot_state::megadriv_68k_YM2612_read), FUNC(md_boot_state::megadriv_68k_YM2612_write));
+ map(0xc00000, 0xc0001f).rw(m_vdp, FUNC(sega315_5313_device::vdp_r), FUNC(sega315_5313_device::vdp_w));
+
+ map(0xe00000, 0xe0ffff).ram().mirror(0x1f0000);
/* Unknown reads/writes: */
- AM_RANGE(0xa00000, 0xa00551) AM_WRITENOP /* ? */
+ map(0xa00000, 0xa00551).nopw(); /* ? */
// AM_RANGE(0xa10000, 0xa10001) AM_READNOP /* ? once */
- AM_RANGE(0xa10002, 0xa10005) AM_NOP /* ? alternative way of reading inputs ? */
- AM_RANGE(0xa11100, 0xa11101) AM_NOP /* ? */
+ map(0xa10002, 0xa10005).noprw(); /* ? alternative way of reading inputs ? */
+ map(0xa11100, 0xa11101).noprw(); /* ? */
// AM_RANGE(0xa10008, 0xa1000d) AM_WRITENOP /* ? once */
// AM_RANGE(0xa14000, 0xa14003) AM_WRITENOP /* ? once */
- AM_RANGE(0xa11200, 0xa11201) AM_WRITENOP /* ? */
-ADDRESS_MAP_END
+ map(0xa11200, 0xa11201).nopw(); /* ? */
+}
-ADDRESS_MAP_START(md_boot_state::jzth_map)
- AM_RANGE(0x000000, 0x3fffff) AM_ROM
- AM_RANGE(0x700010, 0x700011) AM_READ_PORT("P2")
- AM_RANGE(0x700012, 0x700013) AM_READ_PORT("P1")
- AM_RANGE(0x700014, 0x700015) AM_READ_PORT("UNK")
- AM_RANGE(0x700016, 0x700017) AM_READ_PORT("DSW1")
- AM_RANGE(0x700018, 0x700019) AM_READ_PORT("DSW2")
- AM_RANGE(0x700022, 0x700023) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
- AM_RANGE(0xa04000, 0xa04003) AM_READWRITE8( megadriv_68k_YM2612_read, megadriv_68k_YM2612_write, 0xffff)
- AM_RANGE(0xc00000, 0xc0001f) AM_DEVREADWRITE("gen_vdp", sega315_5313_device, vdp_r, vdp_w)
+void md_boot_state::jzth_map(address_map &map)
+{
+ map(0x000000, 0x3fffff).rom();
+ map(0x700010, 0x700011).portr("P2");
+ map(0x700012, 0x700013).portr("P1");
+ map(0x700014, 0x700015).portr("UNK");
+ map(0x700016, 0x700017).portr("DSW1");
+ map(0x700018, 0x700019).portr("DSW2");
+ map(0x700023, 0x700023).rw("oki", FUNC(okim6295_device::read), FUNC(okim6295_device::write));
+ map(0xa04000, 0xa04003).rw(this, FUNC(md_boot_state::megadriv_68k_YM2612_read), FUNC(md_boot_state::megadriv_68k_YM2612_write));
+ map(0xc00000, 0xc0001f).rw(m_vdp, FUNC(sega315_5313_device::vdp_r), FUNC(sega315_5313_device::vdp_w));
- AM_RANGE(0xe00000, 0xe0ffff) AM_RAM AM_MIRROR(0x1f0000)
+ map(0xe00000, 0xe0ffff).ram().mirror(0x1f0000);
- AM_RANGE(0xa00000, 0xa00551) AM_NOP
+ map(0xa00000, 0xa00551).noprw();
- AM_RANGE(0xA11100, 0xA11101) AM_NOP
+ map(0xA11100, 0xA11101).noprw();
- AM_RANGE(0x710000, 0x710001) AM_READWRITE(bl_710000_r,bl_710000_w) // protection, will erase the VDP address causing writes to 0 unless this returns 0xe
-ADDRESS_MAP_END
+ map(0x710000, 0x710001).rw(this, FUNC(md_boot_state::bl_710000_r), FUNC(md_boot_state::bl_710000_w)); // protection, will erase the VDP address causing writes to 0 unless this returns 0xe
+}
READ16_MEMBER(md_boot_state::puckpkmna_70001c_r)
{
@@ -269,11 +271,12 @@ READ16_MEMBER(md_boot_state::puckpkmna_4b2476_r)
return 0x3400;
}
-ADDRESS_MAP_START(md_boot_state::puckpkmna_map)
- AM_IMPORT_FROM( puckpkmn_map )
- AM_RANGE(0x4b2476, 0x4b2477) AM_READ(puckpkmna_4b2476_r)
- AM_RANGE(0x70001c, 0x70001d) AM_READ(puckpkmna_70001c_r)
-ADDRESS_MAP_END
+void md_boot_state::puckpkmna_map(address_map &map)
+{
+ puckpkmn_map(map);
+ map(0x4b2476, 0x4b2477).r(this, FUNC(md_boot_state::puckpkmna_4b2476_r));
+ map(0x70001c, 0x70001d).r(this, FUNC(md_boot_state::puckpkmna_70001c_r));
+}
MACHINE_CONFIG_START(md_boot_state::puckpkmn)
md_ntsc(config);