From 04732f12816067e1ea9ba0d807845835a39ed945 Mon Sep 17 00:00:00 2001 From: angelosa Date: Tue, 1 Oct 2019 01:53:36 +0200 Subject: [PATCH] MT 07438 (nw) --- src/mame/drivers/m72.cpp | 25 ++++++++++++++++++++++--- src/mame/includes/m72.h | 6 ++++++ src/mame/video/m72.cpp | 18 ++++++++++++++++-- 3 files changed, 44 insertions(+), 5 deletions(-) diff --git a/src/mame/drivers/m72.cpp b/src/mame/drivers/m72.cpp index e2005f2ac7d..b6da15f0d0a 100644 --- a/src/mame/drivers/m72.cpp +++ b/src/mame/drivers/m72.cpp @@ -146,6 +146,8 @@ TODO: The cpu board also has support for IRQ3 and IRQ4, coming from the external connectors, but I don't think they are used by any game. +- excessive transmask difference between m72 games, this must be user selectable somehow; + IRQ controller -------------- The IRQ controller is a UPD71059C @@ -2119,6 +2121,23 @@ void m72_state::kengo(machine_config &config) subdevice("maincpu")->set_decryption_table(gunforce_decryption_table); } +void m72_state::imgfightj(machine_config &config) +{ + m72_8751(config); + MCFG_VIDEO_START_OVERRIDE(m72_state,imgfightj) +} + +void m72_state::nspiritj(machine_config &config) +{ + m72_8751(config); + MCFG_VIDEO_START_OVERRIDE(m72_state,nspiritj) +} + +void m72_state::mrheli(machine_config &config) +{ + m72_8751(config); + MCFG_VIDEO_START_OVERRIDE(m72_state,mrheli) +} /****************************************** M82 ***********************************************/ @@ -4277,13 +4296,13 @@ GAME( 1987, rtypeu, rtype, rtype, rtype, m72_state, empty_ GAME( 1987, rtypeb, rtype, rtype, rtype, m72_state, empty_init, ROT0, "bootleg", "R-Type (World bootleg)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) GAME( 1987, bchopper, 0, m72, bchopper, m72_state, init_bchopper, ROT0, "Irem", "Battle Chopper", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) -GAME( 1987, mrheli, bchopper, m72_8751, bchopper, m72_state, init_m72_8751, ROT0, "Irem", "Mr. HELI no Daibouken (Japan)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) +GAME( 1987, mrheli, bchopper, mrheli, bchopper, m72_state, init_m72_8751, ROT0, "Irem", "Mr. HELI no Daibouken (Japan)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) GAME( 1988, nspirit, 0, m72, nspirit, m72_state, init_nspirit, ROT0, "Irem", "Ninja Spirit", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // doesn't wait / check for japan warning string.. fails rom check if used with japanese mcu rom (World version?) -GAME( 1988, nspiritj, nspirit, m72_8751, nspirit, m72_state, init_m72_8751, ROT0, "Irem", "Saigo no Nindou (Japan)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // waits for japan warning screen, works with our mcu dump, corrupt warning screen due to priority / mixing errors (Japan Version) +GAME( 1988, nspiritj, nspirit, nspiritj, nspirit, m72_state, init_m72_8751, ROT0, "Irem", "Saigo no Nindou (Japan)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // waits for japan warning screen, works with our mcu dump, corrupt warning screen due to priority / mixing errors (Japan Version) GAME( 1988, imgfight, 0, m72, imgfight, m72_state, init_imgfight, ROT270, "Irem", "Image Fight (World, revision A)", MACHINE_SUPPORTS_SAVE ) // doesn't wait / check for japan warning string.. fails rom check if used with japanese mcu rom (World version?) -GAME( 1988, imgfightj, imgfight, m72_8751, imgfight, m72_state, init_m72_8751, ROT270, "Irem", "Image Fight (Japan)", MACHINE_SUPPORTS_SAVE ) // waits for japan warning screen, works with our mcu dump, can't actually see warning screen due to priority / mixing errors, check tilemap viewer (Japan Version) +GAME( 1988, imgfightj, imgfight, imgfightj, imgfight, m72_state, init_m72_8751, ROT270, "Irem", "Image Fight (Japan)", MACHINE_SUPPORTS_SAVE ) // waits for japan warning screen, works with our mcu dump, can't actually see warning screen due to priority / mixing errors, check tilemap viewer (Japan Version) GAME( 1988, imgfightb, imgfight, imgfightb, imgfight, m72_state, init_m72_8751, ROT270, "Irem", "Image Fight (Japan, bootleg)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // uses an 80c31 MCU, which isn't hooked up correctly yet. Gives 'RAM NG 7' error GAME( 1989, loht, 0, m72, loht, m72_state, init_loht, ROT0, "Irem", "Legend of Hero Tonma", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // fails rom check if used with Japan MCU rom (World version?) diff --git a/src/mame/includes/m72.h b/src/mame/includes/m72.h index d1c696b5840..f2b4062633b 100644 --- a/src/mame/includes/m72.h +++ b/src/mame/includes/m72.h @@ -82,6 +82,9 @@ public: void rtype(machine_config &config); void imgfightb(machine_config &config); void lohtb(machine_config &config); + void imgfightj(machine_config &config); + void mrheli(machine_config &config); + void nspiritj(machine_config &config); void init_dkgenm72(); void init_bchopper(); @@ -193,6 +196,9 @@ private: void machine_start() override; void machine_reset() override; DECLARE_VIDEO_START(m72); + DECLARE_VIDEO_START(imgfightj); + DECLARE_VIDEO_START(mrheli); + DECLARE_VIDEO_START(nspiritj); DECLARE_VIDEO_START(xmultipl); DECLARE_VIDEO_START(hharry); DECLARE_VIDEO_START(rtype2); diff --git a/src/mame/video/m72.cpp b/src/mame/video/m72.cpp index 888144f09cc..7f3415898d2 100644 --- a/src/mame/video/m72.cpp +++ b/src/mame/video/m72.cpp @@ -107,8 +107,6 @@ VIDEO_START_MEMBER(m72_state,m72) //m_bg_tilemap->set_transmask(2,0x0001,0xfffe); m_bg_tilemap->set_transmask(2,0x0007,0xfff8); // needed for lohtj japan warning to look correct - //m_bg_tilemap->set_transmask(2,0x001f,0xffe0); // needed for nspiritj japan warning to look correct - // not sure what is needed to be able to see the imgfghto warning message memset(m_spriteram->buffer(),0,m_spriteram->bytes()); @@ -151,7 +149,23 @@ VIDEO_START_MEMBER(m72_state,hharry) m_bg_tilemap->set_scrolldy(-128,16); } +VIDEO_START_MEMBER(m72_state,imgfightj) +{ + VIDEO_START_CALL_MEMBER(m72); + m_bg_tilemap->set_transmask(2,0xff00,0x00ff); // for japan message +} +VIDEO_START_MEMBER(m72_state,nspiritj) +{ + VIDEO_START_CALL_MEMBER(m72); + m_bg_tilemap->set_transmask(2,0x001f,0xffe0); // for japan message +} + +VIDEO_START_MEMBER(m72_state,mrheli) +{ + VIDEO_START_CALL_MEMBER(m72); + m_bg_tilemap->set_transmask(2,0x00ff,0xff00); // for japan message +} /* Major Title has a larger background RAM, and rowscroll */