diff --git a/src/mame/drivers/midtunit.c b/src/mame/drivers/midtunit.c index 5699b2fd395..b39174de8cc 100644 --- a/src/mame/drivers/midtunit.c +++ b/src/mame/drivers/midtunit.c @@ -711,6 +711,40 @@ ROM_START( mkr4 ) ROM_END +ROM_START( mkturbo ) + ROM_REGION( 0x50000, "adpcm", 0 ) /* sound CPU */ + ROM_LOAD( "mks-u3.rom", 0x10000, 0x40000, CRC(c615844c) SHA1(5732f9053a5f73b0cc3b0166d7dc4430829d5bc7) ) + + ROM_REGION( 0x200000, "oki", 0 ) /* ADPCM */ + ROM_LOAD( "mks-u12.rom", 0x00000, 0x40000, CRC(258bd7f9) SHA1(463890b23f17350fb9b8a85897b0777c45bc2d54) ) + ROM_RELOAD( 0x40000, 0x40000 ) + ROM_LOAD( "mks-u13.rom", 0x80000, 0x40000, CRC(7b7ec3b6) SHA1(6eec1b90d4a4855f34a7ebfbf93f3358d5627db4) ) + ROM_RELOAD( 0xc0000, 0x40000 ) + + /* A 'KOMBO BOARD' daughtercard holding a GAL16V8A-2SP, 27C040 EPROM and a 9.8304MHz XTAL plugs into the UG12 socket */ + ROM_REGION16_LE( 0x100000, "user1", 0 ) /* 34010 code */ + ROM_LOAD16_BYTE( "kombo-rom-uj-12.bin", 0x00000, 0x80000, CRC(7a441f2d) SHA1(3b731bcbd73721ea0cc20157ec5181d25922523c) ) + ROM_LOAD16_BYTE( "kombo-rom-ug-12.bin", 0x00001, 0x80000, CRC(45bed5a1) SHA1(dba2c21878925afdcaf61520c18ebefd5e9617db) ) + + ROM_REGION( 0xc00000, "gfx1", 0 ) + ROM_LOAD( "mkt-ug14.bin", 0x000000, 0x80000, CRC(9e00834e) SHA1(2b97b63f52ba1dba6af6ae56c223519a52b2ab9d) ) + ROM_LOAD( "mkt-ug16.bin", 0x080000, 0x80000, CRC(52c9d1e5) SHA1(7b1880fca0a11544782b70365c7dd96381ac48e7) ) + ROM_LOAD( "mkt-ug17.bin", 0x100000, 0x80000, CRC(e34fe253) SHA1(6b010bee795c1770297c9557ded1fe83425857f2) ) + + ROM_LOAD( "mkt-uj14.bin", 0x300000, 0x80000, CRC(f4b0aaa7) SHA1(4cc6ee34c89e3cde325ad24b29511f70ae6a5a72) ) + ROM_LOAD( "mkt-uj16.bin", 0x380000, 0x80000, CRC(c94c58cf) SHA1(974d75667eee779497325d5be8df937f15417edf) ) + ROM_LOAD( "mkt-uj17.bin", 0x400000, 0x80000, CRC(a56e12f5) SHA1(5db637c4710990cd06bb0069714b19621532e431) ) + + ROM_LOAD( "mkt-ug19.bin", 0x600000, 0x80000, CRC(2d8c7ba1) SHA1(f891d6eb618dbf3e77f02e0f93da216e20571905) ) + ROM_LOAD( "mkt-ug20.bin", 0x680000, 0x80000, CRC(2f7e55d3) SHA1(bda6892ee6fcb46959e4d0892bbe7d9fc6072dd3) ) + ROM_LOAD( "mkt-ug22.bin", 0x700000, 0x80000, CRC(b537bb4e) SHA1(05a447deee2e89b49bdb3ca2161a021d7ec5f11e) ) + + ROM_LOAD( "mkt-uj19.bin", 0x900000, 0x80000, CRC(33b9b7a4) SHA1(e8ceca4c049e1f55d480a03ff793b595bd04d344) ) + ROM_LOAD( "mkt-uj20.bin", 0x980000, 0x80000, CRC(eae96df0) SHA1(b40532312ba61e4065abfd733dd0c93eecad48e9) ) + ROM_LOAD( "mkt-uj22.bin", 0xa00000, 0x80000, CRC(5e12523b) SHA1(468f93ef9bb6addb45c1c939d24b6511f255426a) ) +ROM_END + + ROM_START( mk2 ) ROM_REGION16_LE( 0xc00000, "dcs", ROMREGION_ERASEFF ) /* sound data */ ROM_LOAD16_BYTE( "su2.l1", 0x000000, 0x80000, CRC(5f23d71d) SHA1(54c2afef243759e0f3dbe2907edbc4302f5c8bad) ) @@ -1278,6 +1312,7 @@ ROM_END GAME( 1992, mk, 0, tunit_adpcm, mk, mktunit, ROT0, "Midway", "Mortal Kombat (rev 5.0 T-Unit 03/19/93)", GAME_SUPPORTS_SAVE ) GAME( 1992, mkr4, mk, tunit_adpcm, mk, mktunit, ROT0, "Midway", "Mortal Kombat (rev 4.0 T-Unit 02/11/93)", GAME_SUPPORTS_SAVE ) +GAME( 1992, mkturbo, mk, tunit_adpcm, mk, mkturbo, ROT0, "Midway", "Mortal Kombat Turbo Ninja (rev 3.1 T-Unit 03/19/93, hack)", GAME_SUPPORTS_SAVE ) GAME( 1993, mk2, 0, tunit_dcs, mk2, mk2, ROT0, "Midway", "Mortal Kombat II (rev L3.1)", GAME_SUPPORTS_SAVE ) GAME( 1993, mk2r32, mk2, tunit_dcs, mk2, mk2, ROT0, "Midway", "Mortal Kombat II (rev L3.2 (European))", GAME_SUPPORTS_SAVE ) diff --git a/src/mame/includes/midtunit.h b/src/mame/includes/midtunit.h index adb4868ab67..3960e7caace 100644 --- a/src/mame/includes/midtunit.h +++ b/src/mame/includes/midtunit.h @@ -15,6 +15,7 @@ READ16_HANDLER( midtunit_cmos_r ); READ16_HANDLER( midtunit_input_r ); DRIVER_INIT( mktunit ); +DRIVER_INIT( mkturbo ); DRIVER_INIT( jdreddp ); DRIVER_INIT( nbajam ); DRIVER_INIT( nbajamte ); diff --git a/src/mame/machine/midtunit.c b/src/mame/machine/midtunit.c index 9d815983b2d..0dc276107f5 100644 --- a/src/mame/machine/midtunit.c +++ b/src/mame/machine/midtunit.c @@ -172,6 +172,21 @@ static WRITE16_HANDLER( mk_prot_w ) +/************************************* + * + * MK Turbo Ninja protection + * + *************************************/ + +static READ16_HANDLER( mkturbo_prot_r ) +{ + /* the security GAL overlays a counter of some sort at 0xfffff400 in ROM space. + * A startup protection check expects to read back two different values in succession */ + return mame_rand(space->machine); +} + + + /************************************* * * Mortal Kombat 2 protection @@ -454,6 +469,15 @@ DRIVER_INIT( mktunit ) memory_set_bankptr(machine, 9, auto_alloc_array(machine, UINT8, 0x80)); } +DRIVER_INIT( mkturbo ) +{ + /* protection */ + memory_install_read16_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xfffff400, 0xfffff40f, 0, 0, mkturbo_prot_r); + + DRIVER_INIT_CALL(mktunit); +} + + static void init_nbajam_common(running_machine *machine, int te_protection) { /* common init */ diff --git a/src/mame/mamedriv.c b/src/mame/mamedriv.c index d34389f629f..9b59ddd57cc 100644 --- a/src/mame/mamedriv.c +++ b/src/mame/mamedriv.c @@ -6734,6 +6734,7 @@ BOMULEUL CHAJARA SEGA ST-V 1997/04/11 DRIVER( strkforc ) /* (c) 1991 Midway */ DRIVER( mk ) /* (c) 1992 Midway */ DRIVER( mkr4 ) /* (c) 1992 Midway */ + DRIVER( mkturbo ) /* bootleg */ DRIVER( mkprot8 ) /* (c) 1992 Midway */ DRIVER( mkprot9 ) /* (c) 1992 Midway */ DRIVER( mkla1 ) /* (c) 1992 Midway */