summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/deco_mlc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/deco_mlc.cpp')
-rw-r--r--src/mame/drivers/deco_mlc.cpp21
1 files changed, 18 insertions, 3 deletions
diff --git a/src/mame/drivers/deco_mlc.cpp b/src/mame/drivers/deco_mlc.cpp
index e6c7ef68b4b..bdbcfa61c87 100644
--- a/src/mame/drivers/deco_mlc.cpp
+++ b/src/mame/drivers/deco_mlc.cpp
@@ -323,7 +323,7 @@ void deco_mlc_state::avengrgs_map(address_map &map)
map(0x0600000, 0x0600007).rw(m_ymz, FUNC(ymz280b_device::read), FUNC(ymz280b_device::write)).umask32(0xff000000).mirror(0xff000000);
}
-void deco_mlc_state::decomlc_map(address_map &map)
+void deco_mlc_state::decomlc_no146_map(address_map &map)
{
map(0x0000000, 0x00fffff).rom();
map(0x0100000, 0x011ffff).ram().share("mainram");
@@ -344,6 +344,12 @@ void deco_mlc_state::decomlc_map(address_map &map)
map(0x044001c, 0x044001f).rw(FUNC(deco_mlc_state::mlc_44001c_r), FUNC(deco_mlc_state::mlc_44001c_w));
map(0x0500000, 0x0500003).w(FUNC(deco_mlc_state::eeprom_w));
map(0x0600000, 0x0600007).rw(m_ymz, FUNC(ymz280b_device::read), FUNC(ymz280b_device::write)).umask32(0xff000000);
+}
+
+void deco_mlc_state::decomlc_146_map(address_map &map)
+{
+ decomlc_no146_map(map);
+
map(0x070f000, 0x070ffff).rw(FUNC(deco_mlc_state::sh96_protection_region_0_146_r), FUNC(deco_mlc_state::sh96_protection_region_0_146_w)).umask32(0xffff0000);
}
@@ -549,7 +555,7 @@ void deco_mlc_state::mlc(machine_config &config)
{
/* basic machine hardware */
ARM(config, m_maincpu, 42000000/6); /* 42 MHz -> 7MHz clock confirmed on real board */
- m_maincpu->set_addrmap(AS_PROGRAM, &deco_mlc_state::decomlc_map);
+ m_maincpu->set_addrmap(AS_PROGRAM, &deco_mlc_state::decomlc_146_map);
EEPROM_93C46_16BIT(config, m_eeprom); /* Actually 93c45 */
@@ -598,6 +604,15 @@ void deco_mlc_state::mlc_5bpp(machine_config &config)
m_ymz->add_route(0, "rspeaker", 1.0);
}
+void deco_mlc_state::acchi(machine_config &config)
+{
+ mlc_6bpp(config);
+
+ m_maincpu->set_addrmap(AS_PROGRAM, &deco_mlc_state::decomlc_no146_map);
+
+ config.device_remove("ioprot");
+}
+
/***************************************************************************/
/*
@@ -1025,4 +1040,4 @@ GAME( 1996, skullfnga, skullfng, mlc_6bpp, mlc, deco_mlc_state, init_mlc, R
GAME( 1996, hoops96, 0, mlc_5bpp, mlc, deco_mlc_state, init_mlc, ROT0, "Data East Corporation", "Hoops '96 (Europe/Asia 2.0)", MACHINE_IMPERFECT_GRAPHICS )
GAME( 1995, ddream95, hoops96, mlc_5bpp, mlc, deco_mlc_state, init_mlc, ROT0, "Data East Corporation", "Dunk Dream '95 (Japan 1.4, EAM)", MACHINE_IMPERFECT_GRAPHICS )
GAME( 1995, hoops95, hoops96, mlc_5bpp, mlc, deco_mlc_state, init_mlc, ROT0, "Data East Corporation", "Hoops (Europe/Asia 1.7)", MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1995, acchi, 0, mlc, mlc, deco_mlc_state, init_acchi, ROT0, "Data East Corporation", "Janken Game Acchi Muite Hoi! (Japan 1.3)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS ) // wrong GFX ROM loading / GFX decode
+GAME( 1995, acchi, 0, acchi, mlc, deco_mlc_state, init_acchi, ROT0, "Data East Corporation", "Janken Game Acchi Muite Hoi! (Japan 1.3)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS ) // wrong GFX ROM loading / GFX decode