diff options
author | Ivan Vangelista <mesgnet@yahoo.it> | 2019-01-18 18:19:32 +0100 |
---|---|---|
committer | Ivan Vangelista <mesgnet@yahoo.it> | 2019-01-18 18:19:32 +0100 |
commit | e67d4e2c15fa1b928c716e18a916839ea8eda03e (patch) | |
tree | e612b6e6b71a6a7c0a922fe036a702b9e58a885d | |
parent | 5f93bb243f9e0f2d449b1812c40831b664c401a4 (diff) |
new working clone
------------------------------
Mobile Suit Gundam (bootleg) [ArcadeHacker, The Dumping Union]
-rw-r--r-- | src/mame/drivers/seta.cpp | 67 | ||||
-rw-r--r-- | src/mame/includes/seta.h | 2 | ||||
-rw-r--r-- | src/mame/mame.lst | 1 |
3 files changed, 66 insertions, 4 deletions
diff --git a/src/mame/drivers/seta.cpp b/src/mame/drivers/seta.cpp index 1b7e9e28dad..121bfdbdc6a 100644 --- a/src/mame/drivers/seta.cpp +++ b/src/mame/drivers/seta.cpp @@ -111,7 +111,7 @@ TODO: zombraid not aligned when flipped vertically or horizontally - bad sound in sokonuke? -- in msgunda1, colors for the score display screw up after the second animation +- in msgundam1, colors for the score display screw up after the second animation in attract mode. The end of the animation also has garbled sprites. Note that the animation is not present in msgundam. - Some games: battery backed portion of RAM (e.g. downtown, kiwame, zombraid) @@ -2789,6 +2789,32 @@ void seta_state::msgundam_map(address_map &map) map(0xd00000, 0xd00007).rw("pit", FUNC(pit8254_device::read), FUNC(pit8254_device::write)).umask16(0x00ff); } +void seta_state::msgundamb_map(address_map &map) +{ + map(0x000000, 0x07ffff).rom(); // ROM + map(0x100000, 0x1fffff).rom(); // ROM + map(0x200000, 0x20ffff).ram(); // RAM + map(0x400000, 0x400001).portr("P1"); // P1 + map(0x400002, 0x400003).portr("P2"); // P2 + map(0x400004, 0x400005).portr("COINS"); // Coins + map(0x400000, 0x400001).w(FUNC(seta_state::ipl1_ack_w)); // Lev 2 IRQ Ack + map(0x400004, 0x400005).w(FUNC(seta_state::ipl2_ack_w)); // Lev 4 IRQ Ack + map(0x500001, 0x500001).w(FUNC(seta_state::seta_coin_counter_w)); + map(0x500003, 0x500003).w(FUNC(seta_state::seta_vregs_w)); // Video Registers + map(0x500004, 0x500005).nopw(); + map(0x600000, 0x600003).r(FUNC(seta_state::seta_dsw_r)); // DSW + map(0x700400, 0x700fff).ram().share("paletteram1"); // Palette + map(0x800000, 0x803fff).ram().w(FUNC(seta_state::vram_w<0>)).share("vram_0"); // VRAM 0&1 + map(0x880000, 0x883fff).ram().w(FUNC(seta_state::vram_w<1>)).share("vram_1"); // VRAM 2&3 + map(0x900000, 0x900005).ram().share("vctrl_0"); // VRAM 0&1 Ctrl + map(0x980000, 0x980005).ram().share("vctrl_1"); // VRAM 2&3 Ctrl + map(0xa00000, 0xa005ff).ram().rw(m_seta001, FUNC(seta001_device::spriteylow_r16), FUNC(seta001_device::spriteylow_w16)); // Sprites Y + map(0xa00600, 0xa00607).ram().rw(m_seta001, FUNC(seta001_device::spritectrl_r16), FUNC(seta001_device::spritectrl_w16)); + map(0xa80000, 0xa80001).ram(); // ? 0x4000 + map(0xb00000, 0xb03fff).ram().rw(m_seta001, FUNC(seta001_device::spritecode_r16), FUNC(seta001_device::spritecode_w16)); // Sprites Code + X + Attr + map(0xc00000, 0xc03fff).rw(m_x1, FUNC(x1_010_device::word_r), FUNC(x1_010_device::word_w)); // Sound + map(0xd00000, 0xd00007).rw("pit", FUNC(pit8254_device::read), FUNC(pit8254_device::write)).umask16(0x00ff); +} /*************************************************************************** Oishii Puzzle @@ -5405,11 +5431,11 @@ static INPUT_PORTS_START( msgundam ) PORT_SERVICE_DIPLOC( 0x8000, IP_ACTIVE_LOW, "SW1:8" ) INPUT_PORTS_END -static INPUT_PORTS_START( msgunda1 ) +static INPUT_PORTS_START( msgundam1 ) PORT_INCLUDE(msgundam) PORT_MODIFY("COINS") // IN2 - Coins - $400004.w - /* this set seems to be a japan set, english mode doesn't work correctly */ + /* this set seems to be a Japan set, English mode doesn't work correctly */ PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Language ) ) // PORT_DIPSETTING( 0x0080, DEF_STR( English ) ) PORT_DIPSETTING( 0x0000, DEF_STR( Japanese ) ) @@ -9155,7 +9181,12 @@ void seta_state::msgundam(machine_config &config) m_x1->add_route(ALL_OUTPUTS, "mono", 1.0); } +void seta_state::msgundamb(machine_config &config) +{ + msgundam(config); + m_maincpu->set_addrmap(AS_PROGRAM, &seta_state::msgundamb_map); +} /*************************************************************************** Oishii Puzzle @@ -10789,6 +10820,33 @@ ROM_START( msgundam1 ) ROM_LOAD( "fa001004.u26", 0x000000, 0x100000, CRC(b965f07c) SHA1(ff7827cc80655465ffbb732d55ba81f21f51a5ca) ) ROM_END +ROM_START( msgundamb ) // 2 PCB stack, one has a 'Tecnoval - tecnologia valenciana del recreativo' sticker + ROM_REGION( 0x300000, "maincpu", 0 ) /* 68000 Code, on lower board */ + ROM_LOAD16_BYTE( "d-4.bin", 0x000000, 0x040000, CRC(ca5bfa89) SHA1(108435cb65919b4b90be102e7ac2799501149fc8) ) // 27c020 + ROM_LOAD16_BYTE( "d-2.bin", 0x000001, 0x040000, CRC(b4b86d1b) SHA1(d9b625cfdabcabed9308fccc29c66adfe566a996) ) // 27c020 + ROM_LOAD16_BYTE( "7.bin", 0x100000, 0x100000, CRC(803f279c) SHA1(1095ac434ce553ed56d106556e7d23ccac1f0cd4) ) // 27c8001, 1ST AND 2ND HALF IDENTICAL + ROM_LOAD16_BYTE( "8.bin", 0x100001, 0x100000, CRC(a310fa93) SHA1(2ee1616699c95ed2b8c46d43de4cffece1b033ea) ) // 27c8001, 1ST AND 2ND HALF IDENTICAL + + ROM_REGION( 0x400000, "gfx1", 0 ) /* Sprites, on top board, almost identical to the original but split */ + ROM_LOAD16_BYTE( "3.bin", 0x000000, 0x100000, CRC(9f36d867) SHA1(01a15dcdcb1077d7c8678762f58ad705dc29e8c9) ) // 27c8001 + ROM_LOAD16_BYTE( "2.bin", 0x000001, 0x100000, CRC(70d333d9) SHA1(9ef3b0e0567ceed082921a5c384cfcfeb154f048) ) // 27c8001 + ROM_LOAD16_BYTE( "1.bin", 0x200000, 0x100000, CRC(2792692c) SHA1(ed99c589ed15f8c1a4e2ab435a379b35105ba503) ) // 27c8001 + ROM_LOAD16_BYTE( "4.bin", 0x200001, 0x080000, CRC(eb551f1a) SHA1(e9d2fc31c3076164c5ee9722ea1b1e60b4f6d663) ) // mx27c4000 + ROM_LOAD16_BYTE( "5.bin", 0x300001, 0x080000, CRC(e9aa57e8) SHA1(699c0132f4be81570f748e5ca2f88fc4fc6802bb) ) // mx27c4000 + + ROM_REGION( 0x200000, "gfx2", 0 ) /* Layer 1, on lower board */ + ROM_LOAD16_BYTE( "6.bin", 0x000000, 0x100000, CRC(8fbb5478) SHA1(247fd080f0ee18282c4d8b918171cfeab4b40d23) ) // 27c8001, 1ST AND 2ND HALF IDENTICAL, fa001006.u23 [even] IDENTICAL + ROM_LOAD16_BYTE( "5.bin", 0x000001, 0x100000, BAD_DUMP CRC(9e10c071) SHA1(2ec1cee04433b30c908548642e7c19862151c8a2) ) // 27c8001, 1ST AND 2ND HALF IDENTICAL, fa001006.u23 [odd] 77.495193% - bad, causes GFX glitches + // ROM_LOAD16_BYTE( "5_handcrafted.bin", 0x000001, 0x100000, CRC(c83ae34a) SHA1(d7bf49843c443c5b7cb9187404a3518eaed577a6) ) // this was de-interleaved from the original, left here to easily verify an eventual redump + + ROM_REGION( 0x080000, "gfx3", 0 ) /* Layer 2, on lower board, identical to the original but split */ + ROM_LOAD16_BYTE( "d-8.bin", 0x000000, 0x040000, CRC(a03c8345) SHA1(d3c3f0045ebb3d82d82432c212db4a801cb53b60) ) // 27c020 + ROM_LOAD16_BYTE( "d-9.bin", 0x000001, 0x040000, CRC(cfd47024) SHA1(ab4fbaf258d2694407dd6c896f45d69821ccc408) ) // 27c020 + + ROM_REGION( 0x100000, "x1snd", 0 ) /* Samples, on lower board */ + ROM_LOAD( "4.bin", 0x000000, 0x100000, CRC(b965f07c) SHA1(ff7827cc80655465ffbb732d55ba81f21f51a5ca) ) // 27c8001, identical to the original +ROM_END + ROM_START( oisipuzl ) ROM_REGION( 0x180000, "maincpu", 0 ) /* 68000 Code */ ROM_LOAD16_WORD_SWAP( "ss1u200.v10", 0x000000, 0x080000, CRC(f5e53baf) SHA1(057e8b35bc6f65634685b5d0cf38e12f2e62d72c) ) @@ -12143,7 +12201,8 @@ GAME( 1993, madshark, 0, madshark, madshark, seta_state, empty_ini // end credits shows Allumer as developer. GAME( 1993, msgundam, 0, msgundam, msgundam, seta_state, empty_init, ROT0, "Banpresto / Allumer", "Mobile Suit Gundam", 0 ) -GAME( 1993, msgundam1, msgundam, msgundam, msgunda1, seta_state, empty_init, ROT0, "Banpresto / Allumer", "Mobile Suit Gundam (Japan)", 0 ) +GAME( 1993, msgundam1, msgundam, msgundam, msgundam1, seta_state, empty_init, ROT0, "Banpresto / Allumer", "Mobile Suit Gundam (Japan)", 0 ) +GAME( 1993, msgundamb, msgundam, msgundamb, msgundam, seta_state, empty_init, ROT0, "bootleg", "Mobile Suit Gundam (bootleg)", MACHINE_IMPERFECT_GRAPHICS ) // GFX glitches due to bad dump GAME( 1993, oisipuzl, 0, oisipuzl, oisipuzl, seta_state, empty_init, ROT0, "Sunsoft / Atlus", "Oishii Puzzle Ha Irimasenka", 0 ) GAME( 1993, triplfun, oisipuzl, triplfun, oisipuzl, seta_state, empty_init, ROT0, "bootleg", "Triple Fun", 0 ) diff --git a/src/mame/includes/seta.h b/src/mame/includes/seta.h index 40e19a32162..41c0352f772 100644 --- a/src/mame/includes/seta.h +++ b/src/mame/includes/seta.h @@ -80,6 +80,7 @@ public: void blandiap(machine_config &config); void wits(machine_config &config); void msgundam(machine_config &config); + void msgundamb(machine_config &config); void extdwnhl(machine_config &config); void pairlove(machine_config &config); void zingzip(machine_config &config); @@ -297,6 +298,7 @@ protected: void magspeed_map(address_map &map); void metafox_sub_map(address_map &map); void msgundam_map(address_map &map); + void msgundamb_map(address_map &map); void oisipuzl_map(address_map &map); void orbs_map(address_map &map); void pairlove_map(address_map &map); diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 508a86d3223..23bb1e8d478 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -34831,6 +34831,7 @@ magspeed // (c) 1994 Allumer metafox // UP (c) 1989 + Jordan, Romstar or Taito license (DSW) msgundam // (c) 1993 Banpresto msgundam1 // (c) 1993 Banpresto +msgundamb // bootleg neobattl // (c) 1992 Banpresto / Sotsu Agency. Sunrise oisipuzl // (c) 1993 SunSoft / Atlus orbs // (c) 1994 American Sammy |