summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Sergio G <sergiopolog@gmail.com>2022-12-08 15:38:08 +0100
committer GitHub <noreply@github.com>2022-12-09 01:38:08 +1100
commita8389b8fb24ffb452069aeec6dba1259f0fc5111 (patch)
treebbc868c07e0d91914a892e6983e7e4a909ff26f2
parent6413049c67d10946acad37e0667f1ca5c52c6a2d (diff)
misc/cave.cpp: Added a new Power Instinct 2 set. (#10658)
New working clone ------------------------------- Power Instinct 2 (US, Ver. 94.04.08, set 1) [Sergio Galiano, Recreativos Piscis]
-rw-r--r--src/mame/mame.lst1
-rw-r--r--src/mame/misc/cave.cpp129
-rw-r--r--src/mame/misc/cave.h2
3 files changed, 111 insertions, 21 deletions
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 70e002c1517..432d49c1612 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -10158,6 +10158,7 @@ plegends // (c) 1994 Atlus
plegendsj // (c) 1994 Atlus
ppsatan // (c) 1996 <unknown>
pwrinst2 // (c) 1994 Atlus
+pwrinst2a // (c) 1994 Atlus
pwrinst2j // (c) 1994 Atlus
sailormn // (c) 1995 Banpresto (Ver. 95/03/22B, country is in EEPROM)
sailormnh // (c) 1995 Banpresto (Ver. 95/03/22B, country is in EEPROM)
diff --git a/src/mame/misc/cave.cpp b/src/mame/misc/cave.cpp
index 7e7935cc0df..3fc1072ca03 100644
--- a/src/mame/misc/cave.cpp
+++ b/src/mame/misc/cave.cpp
@@ -21,7 +21,7 @@ Other : 93C46 EEPROM
Year + Game License PCB Tilemaps Sprites Other
-----------------------------------------------------------------------------------------
94 Mazinger Z Banpresto BP943A 038 9335EX706 013 9341E7009 Z80
-94 Power Instinct 2 Atlus ATG02? 038 9429WX709 013 9341E7009 Z80 NMK 112
+94 Power Instinct 2 Atlus AT047G2-B 038 9429WX709 013 9341E7009 Z80 NMK 112
95 Gogetsuji Legends Atlus AT047G2-B 038 9429WX709 013 9341E7009 Z80 NMK 112
95 Metamoqester Banpresto BP947A 038 9437WX711 013 9346E7002 Z80
95 Sailor Moon Banpresto BP945A 038 9437WX711 013 9346E7002 Z80
@@ -4272,21 +4272,109 @@ ROM_START( ppsatan )
ROM_END
-/***************************************************************************
+/*
- Power Instinct 2 (USA) / Gouketsuji Ichizoku 2 (Japan)
+Power Instinct 2 (US) / Gouketsuji Ichizoku 2 (Japan)
+Atlus, 1994
-(c)1994 Atlus
-CPU: 68000, Z80
-Sound: YM2203, AR17961 (x2)
-Custom: NMK 112 (M6295 sample ROM banking), Atlus 8647-01 013, 038 (x4)
-X1 = 12 MHz
-X2 = 28 MHz
-X3 = 16 MHz
+PCB Layout
+----------
-***************************************************************************/
+AT047G2-B ATLUS
+|---------------------------------------------------------------|
+|LM324 M6295 G02_U53 Z80 16MHz 28MHz 12MHz TA8030S |
+|VOL G02_U54 |------| G02_U3A G02_U82A |
+| M6295 G02_U55 |NMK112| 6264 6264 |
+|uPC2505 G02_U56 | | |------| |
+| 4558 |------| 6264 |038 | |
+| Y3014 YM2203 PAL |9429WX| |
+| G02_U89 |------| |
+|J TEST_SW 62256 |
+|A 93C46 62256 6264 |------| |
+|M |038 | |
+|M |---| G G G G PAL 6264 |9429WX| |
+|A | | 0 0 0 0 |------| |
+| | 6 | 2 2 2 2 G02_U81 |
+| | 8 | - - - - |------| |
+| | 0 | U U U U 6264 |038 | |
+| | 0 | 4 4 4 4 |9429WX| |
+| | 0 | 5 3 4 2 62256 6264 |------| |
+| | | A A A A 62256 |
+| |---| PAL |-------| G02_U78 |------| |
+| |8647-01| |038 | |
+| |013 | KM416C256 |9429WX| |
+| |9341E70| |------| |
+| G02_U66 G02_U63 |-------| 6264 |
+| G02_U65 G02_U62 62256 KM416C256 |
+| G02_U67 G02_U64 G02_U61 62256 6264 |
+|---------------------------------------------------------------|
+Notes:
+ 68000 clock - 16.000MHz
+ Z80 clock - 8.000MHz [16/2]
+ 6295 clocks - 3.000MHz [12/4], sample rate = 3000000 / 165
+ YM2203 clock- 4.000MHz [16/4]
+ VSync - 57.5Hz
+ HSync - 15.23kHz
+
+ ROMs -
+ U3 : 27C1001 EPROM
+ U82 : 27C040 EPROM
+ U42-45 : 27C040 EPROMs
+ U81, U89 : 8M 42 pin mask ROM (read as 27C800)
+ ALL other ROMs are soldered-in 16M 42 pin mask ROM (read as 27C160)
+*/
+
+ROM_START( pwrinst2 ) /* 94.04.08 */
+ ROM_REGION( 0x200000, "maincpu", 0 ) /* 68000 code */
+ ROM_LOAD16_BYTE( "g02.u45a", 0x000000, 0x80000, CRC(ddfff811) SHA1(720f577dc77fc12aeb67511251e995169df754b6) )
+ ROM_LOAD16_BYTE( "g02.u44a", 0x000001, 0x80000, CRC(5561f620) SHA1(3241ccc47e909930d79ad0a1a1b11a11879b17be) )
+ ROM_LOAD16_BYTE( "g02.u43a", 0x100000, 0x80000, CRC(c4fd5d62) SHA1(8d00adfe5da9b0d0134fc9921c12f20b80954c3b) )
+ ROM_LOAD16_BYTE( "g02.u42a", 0x100001, 0x80000, CRC(56279c1c) SHA1(f86edc2264758f9dc920a162d2dc71cc1f63d22e) )
+
+ ROM_REGION16_BE( 0x100000, "user1", ROMREGION_ERASE00 ) /* 68000 extra data roms */
+ /* not used */
+
+ ROM_REGION( 0x20000, "audiocpu", 0 ) /* Z80 code */
+ ROM_LOAD( "g02.u3a", 0x00000, 0x20000, CRC(ebea5e1e) SHA1(4d3af9e5f29d0c1b26563f51250039c9e8bd3735) )
+
+ ROM_REGION( 0xe00000, "sprites0", 0 ) /* Sprites: * 2 */
+ ROM_LOAD( "g02.u61", 0x000000, 0x200000, CRC(91e30398) SHA1(2b59a5e40bed2a988382054fe30d92808dad3348) )
+ ROM_LOAD( "g02.u62", 0x200000, 0x200000, CRC(d9455dd7) SHA1(afa69fe9a540cd78b8cfecf09cffa1401c01141a) )
+ ROM_LOAD( "g02.u63", 0x400000, 0x200000, CRC(4d20560b) SHA1(ceaee8cf0b69cc366b95ddcb689a5594d79e5114) )
+ ROM_LOAD( "g02.u64", 0x600000, 0x200000, CRC(b17b9b6e) SHA1(fc6213d8322cda4c7f653e2d7d6d314ce84c97b7) )
+ ROM_LOAD( "g02.u65", 0x800000, 0x200000, CRC(08541878) SHA1(138cf077a49a26440a3da1bdc2c399a208359e57) )
+ ROM_LOAD( "g02.u66", 0xa00000, 0x200000, CRC(becf2a36) SHA1(f8b386d0292b1dc745b7253a3df51d1aa8d5e9db) )
+ ROM_LOAD( "g02.u67", 0xc00000, 0x200000, CRC(52fe2b8b) SHA1(dd50aa62f7db995e28f47de9b3fb749aeeaaa5b0) )
+
+ ROM_REGION( 0x200000, "layer0", 0 ) /* Layer 0 */
+ ROM_LOAD( "g02.u78", 0x000000, 0x200000, CRC(1eca63d2) SHA1(538942b43301f950e3d5139461331c54dc90129d) )
+
+ ROM_REGION( 0x100000, "layer1", 0 ) /* Layer 1 */
+ ROM_LOAD( "g02.u81", 0x000000, 0x100000, CRC(8a3ff685) SHA1(4a59ec50ec4470453374fe10f76d3e894494b49f) )
+
+ ROM_REGION( 0x100000, "layer2", 0 ) /* Layer 2 */
+ ROM_LOAD( "g02.u89", 0x000000, 0x100000, CRC(373e1f73) SHA1(ec1ae9fab37eee41be8e1bc6dad03809b62fdbce) )
+
+ ROM_REGION( 0x080000, "layer3", 0 ) /* Layer 3 */
+ ROM_LOAD( "g02.82a", 0x000000, 0x080000, CRC(4b3567d6) SHA1(d3e14783b312d2bea9722a8e3c22bcec81e26166) )
-ROM_START( pwrinst2 )
+ ROM_REGION( 0x440000, "oki1", 0 ) /* OKIM6295 #1 Samples */
+ /* Leave the 0x40000 bytes addressable by the chip empty */
+ ROM_LOAD( "g02.u53", 0x040000, 0x200000, CRC(c4bdd9e0) SHA1(a938a831e789ddf6f3cc5f3e5f3877ec7bd62d4e) )
+ ROM_LOAD( "g02.u54", 0x240000, 0x200000, CRC(1357d50e) SHA1(433766177ce9d6933f90de85ba91bfc6d8d5d664) )
+
+ ROM_REGION( 0x440000, "oki2", 0 ) /* OKIM6295 #2 Samples */
+ /* Leave the 0x40000 bytes addressable by the chip empty */
+ ROM_LOAD( "g02.u55", 0x040000, 0x200000, CRC(2d102898) SHA1(bd81f4cd2ba100707db0c5bb1419f0b23c998574) )
+ ROM_LOAD( "g02.u56", 0x240000, 0x200000, CRC(9ff50dda) SHA1(1121685e387c20e228032f2b0f5cbb606376fc15) )
+
+ ROM_REGION( 0x03ff, "pal", 0 )
+ ROM_LOAD( "peel18cv8p-15.u7", 0x0000, 0x0155, CRC(e02b2d2b) SHA1(26293538ca17674e1b249ed82a6df2570c6e5155) ) /* PEEL18CV8P-15 */
+ ROM_LOAD( "peel18cv8p-15.u21", 0x0155, 0x0155, CRC(7ca78400) SHA1(1cebdd64e08bbc535f23592daf9380696bd2c281) ) /* PEEL18CV8P-15 */
+ ROM_LOAD( "peel18cv8p-15.u25", 0x02aa, 0x0155, CRC(61b414df) SHA1(f12c5e62f83114f83108895ee58ceea31cdcb9fd) ) /* PEEL18CV8P-15 */
+ROM_END
+
+ROM_START( pwrinst2a ) /* also 94.04.08 like pwrinst2, but different program roms */
ROM_REGION( 0x200000, "maincpu", 0 ) /* 68000 code */
ROM_LOAD16_BYTE( "g02.u45", 0x000000, 0x80000, CRC(7b33bc43) SHA1(a68eb94e679f03c354932b8c5cd1bb2922fec0aa) )
ROM_LOAD16_BYTE( "g02.u44", 0x000001, 0x80000, CRC(8f6f6637) SHA1(024b12c0fe40e27c79e38bd7601a9183a62d75fd) )
@@ -5215,7 +5303,7 @@ void cave_state::init_ppsatan()
save_item(NAME(m_ppsatan_io_mux));
}
-void cave_state::init_pwrinst2j()
+void cave_state::init_pwrinst2()
{
u8 *src = m_spriteregion[0]->base();
const u32 len = m_spriteregion[0]->bytes();
@@ -5243,11 +5331,11 @@ void cave_state::init_pwrinst2j()
m_time_vblank_irq = 2000; /**/
}
-void cave_state::init_pwrinst2()
+void cave_state::init_pwrinst2a()
{
/* this patch fixes on of the moves, why is it needed? is the rom bad or is there another
problem? does the Japan set need it or not? */
- init_pwrinst2j();
+ init_pwrinst2();
#if 1 //ROM PATCH
{
@@ -5331,9 +5419,10 @@ void cave_state::init_korokoro()
***************************************************************************/
-
-GAME( 1994, pwrinst2, 0, pwrinst2, metmqstr, cave_state, init_pwrinst2, ROT0, "Atlus", "Power Instinct 2 (US, Ver. 94.04.08)", MACHINE_SUPPORTS_SAVE )
-GAME( 1994, pwrinst2j, pwrinst2, pwrinst2, metmqstr, cave_state, init_pwrinst2j, ROT0, "Atlus", "Gouketsuji Ichizoku 2 (Japan, Ver. 94.04.08)", MACHINE_SUPPORTS_SAVE )
+// YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS
+GAME( 1994, pwrinst2, 0, pwrinst2, metmqstr, cave_state, init_pwrinst2, ROT0, "Atlus", "Power Instinct 2 (US, Ver. 94.04.08, set 1)", MACHINE_SUPPORTS_SAVE )
+GAME( 1994, pwrinst2a, pwrinst2, pwrinst2, metmqstr, cave_state, init_pwrinst2a, ROT0, "Atlus", "Power Instinct 2 (US, Ver. 94.04.08, set 2)", MACHINE_SUPPORTS_SAVE )
+GAME( 1994, pwrinst2j, pwrinst2, pwrinst2, metmqstr, cave_state, init_pwrinst2, ROT0, "Atlus", "Gouketsuji Ichizoku 2 (Japan, Ver. 94.04.08)", MACHINE_SUPPORTS_SAVE )
// Version/Date string is stored at 68000 ROM 0x1200-0x121f
// The EEPROM determines the region, program roms are the same between sets
@@ -5350,8 +5439,8 @@ GAME( 1995, donpachihk, donpachi, donpachi, cave, cave_state, init_donpachi,
GAME( 1995, metmqstr, 0, metmqstr, metmqstr, cave_state, init_metmqstr, ROT0, "Banpresto / Pandorabox", "Metamoqester (World)", MACHINE_SUPPORTS_SAVE )
GAME( 1995, nmaster, metmqstr, metmqstr, metmqstr, cave_state, init_metmqstr, ROT0, "Banpresto / Pandorabox", "Oni - The Ninja Master (Japan)", MACHINE_SUPPORTS_SAVE )
-GAME( 1995, plegends, 0, pwrinst2, metmqstr, cave_state, init_pwrinst2j, ROT0, "Atlus", "Gogetsuji Legends (US, Ver. 95.06.20)", MACHINE_SUPPORTS_SAVE )
-GAME( 1995, plegendsj, plegends, pwrinst2, metmqstr, cave_state, init_pwrinst2j, ROT0, "Atlus", "Gouketsuji Gaiden - Saikyou Densetsu (Japan, Ver. 95.06.20)", MACHINE_SUPPORTS_SAVE )
+GAME( 1995, plegends, 0, pwrinst2, metmqstr, cave_state, init_pwrinst2, ROT0, "Atlus", "Gogetsuji Legends (US, Ver. 95.06.20)", MACHINE_SUPPORTS_SAVE )
+GAME( 1995, plegendsj, plegends, pwrinst2, metmqstr, cave_state, init_pwrinst2, ROT0, "Atlus", "Gouketsuji Gaiden - Saikyou Densetsu (Japan, Ver. 95.06.20)", MACHINE_SUPPORTS_SAVE )
// The EEPROM determines the region, program roms are the same between sets
GAME( 1995, sailormn, 0, sailormn, cave, cave_state, init_sailormn, ROT0, "Gazelle (Banpresto license)", "Pretty Soldier Sailor Moon (Version 95/03/22B, Europe)", MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/misc/cave.h b/src/mame/misc/cave.h
index 1654cc1e306..d1371fcb95c 100644
--- a/src/mame/misc/cave.h
+++ b/src/mame/misc/cave.h
@@ -65,13 +65,13 @@ public:
void init_mazinger();
void init_gaia();
void init_pwrinst2();
+ void init_pwrinst2a();
void init_ddonpach();
void init_agallet();
void init_hotdogst();
void init_tjumpman();
void init_korokoro();
void init_esprade();
- void init_pwrinst2j();
void init_guwange();
void init_feversos();
void init_sailormn();