summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/konamim2.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/konamim2.cpp')
-rw-r--r--src/mame/drivers/konamim2.cpp102
1 files changed, 54 insertions, 48 deletions
diff --git a/src/mame/drivers/konamim2.cpp b/src/mame/drivers/konamim2.cpp
index eececad4fcb..30973076bad 100644
--- a/src/mame/drivers/konamim2.cpp
+++ b/src/mame/drivers/konamim2.cpp
@@ -1170,71 +1170,77 @@ READ8_MEMBER(konamim2_state::id7_r)
return 0x07;
}
-ADDRESS_MAP_START(konamim2_state::m2_main)
- AM_RANGE(0x00000000, 0x0000007f) AM_RAM // ???
- AM_RANGE(0x00010040, 0x00010047) AM_READWRITE(irq_enable_r, irq_enable_w)
- AM_RANGE(0x00010050, 0x00010057) AM_READ(irq_active_r)
- AM_RANGE(0x00020000, 0x00020007) AM_READWRITE(unk4_r, unk4_w)
- AM_RANGE(0x00020400, 0x000207ff) AM_RAM // ???
- AM_RANGE(0x00020800, 0x00020807) AM_RAM // ???
- AM_RANGE(0x00030000, 0x00030007) AM_READ(unk30000_r)
- AM_RANGE(0x00030010, 0x00030017) AM_WRITE(video_w)
- AM_RANGE(0x00030030, 0x00030037) AM_READ(unk30030_r)
- AM_RANGE(0x00030400, 0x00030407) AM_WRITE32(video_irq_ack_w,0x00000000ffffffffU)
+void konamim2_state::m2_main(address_map &map)
+{
+ map(0x00000000, 0x0000007f).ram(); // ???
+ map(0x00010040, 0x00010047).rw(this, FUNC(konamim2_state::irq_enable_r), FUNC(konamim2_state::irq_enable_w));
+ map(0x00010050, 0x00010057).r(this, FUNC(konamim2_state::irq_active_r));
+ map(0x00020000, 0x00020007).rw(this, FUNC(konamim2_state::unk4_r), FUNC(konamim2_state::unk4_w));
+ map(0x00020400, 0x000207ff).ram(); // ???
+ map(0x00020800, 0x00020807).ram(); // ???
+ map(0x00030000, 0x00030007).r(this, FUNC(konamim2_state::unk30000_r));
+ map(0x00030010, 0x00030017).w(this, FUNC(konamim2_state::video_w));
+ map(0x00030030, 0x00030037).r(this, FUNC(konamim2_state::unk30030_r));
+ map(0x00030404, 0x00030407).w(this, FUNC(konamim2_state::video_irq_ack_w));
- AM_RANGE(0x01000000, 0x01000fff) AM_READWRITE(cde_r, cde_w)
+ map(0x01000000, 0x01000fff).rw(this, FUNC(konamim2_state::cde_r), FUNC(konamim2_state::cde_w));
- AM_RANGE(0x02000000, 0x02000fff) AM_READ(device2_r)
+ map(0x02000000, 0x02000fff).r(this, FUNC(konamim2_state::device2_r));
- AM_RANGE(0x03000000, 0x03000007) AM_READ8(id3_r, 0x00ff000000000000U)
+ map(0x03000001, 0x03000001).r(this, FUNC(konamim2_state::id3_r));
- AM_RANGE(0x04000000, 0x04000007) AM_READ8(id4_r, 0x00ff000000000000U)
- AM_RANGE(0x04000010, 0x04000017) AM_WRITE8(serial_w,0x00000000000000ffU)
- AM_RANGE(0x04000018, 0x0400001f) AM_READ(unk1_r) // serial status
- AM_RANGE(0x04000020, 0x04000027) AM_WRITE(reset_w)
- AM_RANGE(0x04000418, 0x0400041f) AM_WRITE(unk4000418_w) // serial status ack
- AM_RANGE(0x04000208, 0x0400020f) AM_READ(unk3_r)
- AM_RANGE(0x04000280, 0x04000287) AM_READ(unk4000280_r)
+ map(0x04000001, 0x04000001).r(this, FUNC(konamim2_state::id4_r));
+ map(0x04000017, 0x04000017).w(this, FUNC(konamim2_state::serial_w));
+ map(0x04000018, 0x0400001f).r(this, FUNC(konamim2_state::unk1_r)); // serial status
+ map(0x04000020, 0x04000027).w(this, FUNC(konamim2_state::reset_w));
+ map(0x04000418, 0x0400041f).w(this, FUNC(konamim2_state::unk4000418_w)); // serial status ack
+ map(0x04000208, 0x0400020f).r(this, FUNC(konamim2_state::unk3_r));
+ map(0x04000280, 0x04000287).r(this, FUNC(konamim2_state::unk4000280_r));
- AM_RANGE(0x05000000, 0x05000007) AM_READ8(id5_r, 0x00ff000000000000U)
+ map(0x05000001, 0x05000001).r(this, FUNC(konamim2_state::id5_r));
- AM_RANGE(0x06000000, 0x06000007) AM_READ8(id6_r, 0x00ff000000000000U)
+ map(0x06000001, 0x06000001).r(this, FUNC(konamim2_state::id6_r));
- AM_RANGE(0x07000000, 0x07000007) AM_READ8(id7_r, 0x00ff000000000000U)
+ map(0x07000001, 0x07000001).r(this, FUNC(konamim2_state::id7_r));
- AM_RANGE(0x10000008, 0x10001007) AM_NOP // ???
+ map(0x10000008, 0x10001007).noprw(); // ???
- AM_RANGE(0x20000000, 0x201fffff) AM_ROM AM_SHARE("share2")
- AM_RANGE(0x40000000, 0x407fffff) AM_RAM AM_SHARE("main_ram")
- AM_RANGE(0xfff00000, 0xffffffff) AM_ROM AM_REGION("boot", 0) AM_SHARE("share2")
-ADDRESS_MAP_END
+ map(0x20000000, 0x201fffff).rom().share("share2");
+ map(0x40000000, 0x407fffff).ram().share("main_ram");
+ map(0xfff00000, 0xffffffff).rom().region("boot", 0).share("share2");
+}
-ADDRESS_MAP_START(konamim2_state::m2_main_m)
- AM_IMPORT_FROM( m2_main )
- AM_RANGE(0x10000000, 0x10000007) AM_READ(cpu_r<true>)
-ADDRESS_MAP_END
+void konamim2_state::m2_main_m(address_map &map)
+{
+ m2_main(map);
+ map(0x10000000, 0x10000007).r(this, FUNC(konamim2_state::cpu_r<true>));
+}
-ADDRESS_MAP_START(konamim2_state::m2_main_s)
- AM_IMPORT_FROM( m2_main )
- AM_RANGE(0x10000000, 0x10000007) AM_READ(cpu_r<false>)
-ADDRESS_MAP_END
+void konamim2_state::m2_main_s(address_map &map)
+{
+ m2_main(map);
+ map(0x10000000, 0x10000007).r(this, FUNC(konamim2_state::cpu_r<false>));
+}
-ADDRESS_MAP_START(konamim2_state::_3do_m2_main)
+void konamim2_state::_3do_m2_main(address_map &map)
+{
// ADDRESS_MAP_UNMAP_HIGH
- AM_IMPORT_FROM( m2_main )
+ m2_main(map);
// AM_RANGE(0x00000000, 0x000cffff) devices?
-ADDRESS_MAP_END
+}
-ADDRESS_MAP_START(konamim2_state::_3do_m2_main_m)
- AM_IMPORT_FROM( _3do_m2_main )
- AM_RANGE(0x10000000, 0x10000007) AM_READ(cpu_r<true>)
-ADDRESS_MAP_END
+void konamim2_state::_3do_m2_main_m(address_map &map)
+{
+ _3do_m2_main(map);
+ map(0x10000000, 0x10000007).r(this, FUNC(konamim2_state::cpu_r<true>));
+}
-ADDRESS_MAP_START(konamim2_state::_3do_m2_main_s)
- AM_IMPORT_FROM( _3do_m2_main )
- AM_RANGE(0x10000000, 0x10000007) AM_READ(cpu_r<false>)
-ADDRESS_MAP_END
+void konamim2_state::_3do_m2_main_s(address_map &map)
+{
+ _3do_m2_main(map);
+ map(0x10000000, 0x10000007).r(this, FUNC(konamim2_state::cpu_r<false>));
+}
static INPUT_PORTS_START( m2 )