From f1f71c77f8a7cf7eabe68e09eb8f03d155ffef24 Mon Sep 17 00:00:00 2001 From: mamehaze Date: Wed, 21 Jan 2015 15:12:09 +0000 Subject: let's maintain the '315-5881- keys in 'machine/315-5881_helper.c' until the key format is finalized as things stand the entire set of keys is of arbitrary bit order / poliarity / number of bits and just based on how our implementation works, storing them in files just means a lot of files have to be regenerated each time our understanding changes. I've left placeholder ROM_LOADs (with invalid crc/sha1s, compiled out) for placing the keys back once the format IS final. The list in 315-5881_helper.c needs updating / syncing with current knowledge, would appreciate somebody doing this. I'm going to see if I can see where / how the chip hooks up on Model 2 and Model 3, and if we can pass those checks with our current code. --- src/mame/drivers/hikaru.c | 13 +- src/mame/drivers/naomi.c | 320 +++++++++++++------------------------ src/mame/machine/315-5881_crypt.h | 2 + src/mame/machine/315-5881_helper.c | 135 ++++++++++++++++ src/mame/machine/315-5881_helper.h | 33 ++++ src/mame/machine/naomicrypt.c | 73 +-------- src/mame/machine/naomicrypt.h | 11 ++ src/mame/machine/naomim2.c | 4 +- src/mame/machine/naomim2.h | 1 + src/mame/machine/stvprot.c | 16 +- src/mame/mame.mak | 1 + 11 files changed, 321 insertions(+), 288 deletions(-) create mode 100644 src/mame/machine/315-5881_helper.c create mode 100644 src/mame/machine/315-5881_helper.h diff --git a/src/mame/drivers/hikaru.c b/src/mame/drivers/hikaru.c index 5d6c98001a5..ae393ae13c6 100644 --- a/src/mame/drivers/hikaru.c +++ b/src/mame/drivers/hikaru.c @@ -381,6 +381,8 @@ Notes: #include "emu.h" #include "cpu/sh4/sh4.h" +#include "machine/naomicrypt.h" +#include "machine/315-5881_helper.h" #define CPU_CLOCK (200000000) /* MD2 MD1 MD0 MD6 MD4 MD3 MD5 MD7 MD8 */ @@ -571,8 +573,7 @@ ROM_START( airtrix ) /* ic66 unpopulated */ // 315-5881 security IC key - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "airtrix-key.bin", 0, 4, CRC(bebdc179) SHA1(327ea299934ef78f3c88329fc624dc3771877453) ) + _315_5881_KEYFILE("airtrix-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END @@ -610,8 +611,7 @@ ROM_START( pharrier ) ROM_LOAD32_WORD( "mpr-23564.ic66", 0xe000002, 0x1000000, CRC(255724b6) SHA1(1b382fad165831de3f2e39352c031146759dfc69) ) // 315-5881 security IC key - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "pharrier-key.bin", 0, 4, CRC(1697d591) SHA1(8ad4c93f63e2e379795e820d3edbdd990f8ca7e1) ) + _315_5881_KEYFILE("pharrier-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( podrace ) @@ -709,7 +709,7 @@ ROM_START( braveff ) ROM_LOAD32_WORD( "mpr-22023.ic60s", 0xb000002, 0x800000, CRC(07f00869) SHA1(92282d09d72d3e65a91128e06bb0d4426bb90be5) ) // 315-5881 not populated - ROM_REGION( 4, "rom_key", ROMREGION_ERASE00 ) + _315_5881_UNUSED ROM_END ROM_START( sgnascar ) @@ -741,8 +741,7 @@ ROM_START( sgnascar ) // 317-0283-COM Actel A54SX32 // ID 0x4252 - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "sgnascar-key.bin", 0x000000, 0x000004, CRC(f1452f9e) SHA1(86fb0f278a2eb0aba66a24032fb683f7a516b32b) ) + _NAOMI_M1_KEYFILE( "sgnascar-key.bin", CRC(f1452f9e) SHA1(86fb0f278a2eb0aba66a24032fb683f7a516b32b) ) ROM_END GAME( 2000, hikaru, 0, hikaru, hikaru, driver_device, 0, ROT0, "Sega", "Hikaru Bios", GAME_NO_SOUND|GAME_NOT_WORKING|GAME_IS_BIOS_ROOT ) diff --git a/src/mame/drivers/naomi.c b/src/mame/drivers/naomi.c index 9f477d94979..e1807846e94 100644 --- a/src/mame/drivers/naomi.c +++ b/src/mame/drivers/naomi.c @@ -1507,6 +1507,8 @@ Sushi Bar #include "machine/jvs13551.h" #include "includes/dc.h" #include "includes/naomi.h" +#include "machine/naomicrypt.h" +#include "machine/315-5881_helper.h" #define CPU_CLOCK (200000000) @@ -2659,7 +2661,7 @@ MACHINE_CONFIG_END */ static MACHINE_CONFIG_DERIVED( naomim2, naomi_base ) - MCFG_NAOMI_M2_BOARD_ADD("rom_board", ":rom_key", "naomibd_eeprom", ":boardid", WRITE8(dc_state, g1_irq)) + MCFG_NAOMI_M2_BOARD_ADD("rom_board", ":315_5881key", "naomibd_eeprom", ":boardid", WRITE8(dc_state, g1_irq)) MACHINE_CONFIG_END /* @@ -3102,8 +3104,7 @@ ROM_START( cspike ) ROM_LOAD("mpr-23208.ic11", 0x5800000, 0x0800000, CRC(b9494f4b) SHA1(2f35b25edf5210a82d4b67e639eeae11440d065a) ) ROM_LOAD("mpr-23209.ic12s",0x6000000, 0x0800000, CRC(560188c0) SHA1(77f14c9a031c6e5414ffa854d20c40115361d715) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "cspike-key.bin", 0, 4, CRC(a3e9c6d0) SHA1(c098eae7aee716fbdca39f0eb1f55bd54d398394) ) + _315_5881_KEYFILE("cspike-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END /* @@ -3146,7 +3147,6 @@ ROM_START( capsnk ) ROM_LOAD( "mpr-23509.ic6", 0x5800000, 0x1000000, CRC(281d633d) SHA1(d773be8e95f7bf9212ee1061f3076220d4fce9e0) ) ROM_LOAD( "mpr-23510.ic7", 0x6800000, 0x1000000, CRC(b856fef5) SHA1(0634f86740c438b40286256a0269570d24cb845a) ) - ROM_REGION( 4, "rom_key", 0 ) ROM_LOAD( "capsnk-key.bin", 0, 4, CRC(2144df1c) SHA1(9069ca78e7450a285173431b3e52c5c25299e473) ) ROM_END @@ -3165,8 +3165,7 @@ ROM_START( capsnka ) ROM_LOAD( "mpr-23509.ic6", 0x5800000, 0x1000000, CRC(281d633d) SHA1(d773be8e95f7bf9212ee1061f3076220d4fce9e0) ) ROM_LOAD( "mpr-23510.ic7", 0x6800000, 0x1000000, CRC(b856fef5) SHA1(0634f86740c438b40286256a0269570d24cb845a) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "capsnk-key.bin", 0, 4, CRC(2144df1c) SHA1(9069ca78e7450a285173431b3e52c5c25299e473) ) + _315_5881_KEYFILE("capsnk-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END // ver 000802 @@ -3184,8 +3183,7 @@ ROM_START( capsnkb ) ROM_LOAD( "mpr-23509.ic6", 0x5800000, 0x1000000, CRC(281d633d) SHA1(d773be8e95f7bf9212ee1061f3076220d4fce9e0) ) ROM_LOAD( "mpr-23510.ic7", 0x6800000, 0x1000000, CRC(b856fef5) SHA1(0634f86740c438b40286256a0269570d24cb845a) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "capsnk-key.bin", 0, 4, CRC(2144df1c) SHA1(9069ca78e7450a285173431b3e52c5c25299e473) ) + _315_5881_KEYFILE("capsnk-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END /* @@ -3225,8 +3223,7 @@ ROM_START( csmash ) ROM_LOAD("mpr-23426.ic7", 0x3800000, 0x0800000, CRC(7f91b13f) SHA1(2d534f77291ebfedc011bf0e803a1b9243fb477f) ) ROM_LOAD("mpr-23427.ic8", 0x4000000, 0x0800000, CRC(5851d525) SHA1(1cb1073542d75a3bcc0d363ed31d49bcaf1fd494) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "csmash-key.bin", 0, 4, CRC(21b1cd6f) SHA1(a74eef5e3475cc6952f4ffe31579769a854b62a9) ) + _315_5881_KEYFILE("csmash-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( csmasho ) @@ -3244,8 +3241,7 @@ ROM_START( csmasho ) ROM_LOAD("mpr-23426.ic7", 0x3800000, 0x0800000, CRC(7f91b13f) SHA1(2d534f77291ebfedc011bf0e803a1b9243fb477f) ) ROM_LOAD("mpr-23427.ic8", 0x4000000, 0x0800000, CRC(5851d525) SHA1(1cb1073542d75a3bcc0d363ed31d49bcaf1fd494) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "csmasho-key.bin", 0, 4, CRC(21b1cd6f) SHA1(a74eef5e3475cc6952f4ffe31579769a854b62a9) ) + _315_5881_KEYFILE("csmasho-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END /* @@ -3274,8 +3270,7 @@ ROM_START( deathcox ) ROM_LOAD("mpr-23522.ic9", 0x4800000, 0x0800000, CRC(7ae6716e) SHA1(658b794ae6e3898885524582a207faa1076a65ca) ) ROM_LOAD("mpr-23523.ic10",0x5000000, 0x0800000, CRC(c91efb67) SHA1(3d79870551310da7a641858ffec3840714e9cc22) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "deathcox-key.bin", 0, 4, CRC(aa534c8a) SHA1(fcc45e477c646b51afe7c4168d7246964a1f23b5) ) + _315_5881_KEYFILE("deathcox-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END /* @@ -3340,8 +3335,7 @@ ROM_START( doa2 ) ROM_LOAD("mpr-22119.ic20s",0xa000000, 0x0800000, CRC(d608fa86) SHA1(54c8107cccec8cbb536f13cda5b220b7972190b7) ) ROM_LOAD("mpr-22120.ic21s",0xa800000, 0x0800000, CRC(a30facb4) SHA1(70415ca34095c795297486bce1f956f6a8d4817f) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "doa2-key.bin", 0, 4, CRC(43f97c96) SHA1(7d1e6fcca3ca936f33d59d57834c3e4ff74f587d) ) + _315_5881_KEYFILE("doa2-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) // on-cart X76F100 eeprom contents ROM_REGION( 0x84, "naomibd_eeprom", 0 ) @@ -3412,8 +3406,7 @@ ROM_START( doa2m ) ROM_LOAD("mpr-22119.ic20s",0xa000000, 0x0800000, CRC(d608fa86) SHA1(54c8107cccec8cbb536f13cda5b220b7972190b7) ) ROM_LOAD("mpr-22120.ic21s",0xa800000, 0x0800000, CRC(a30facb4) SHA1(70415ca34095c795297486bce1f956f6a8d4817f) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "doa2m-key.bin", 0, 4, CRC(43f97c96) SHA1(7d1e6fcca3ca936f33d59d57834c3e4ff74f587d) ) + _315_5881_KEYFILE("doa2m-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) // on-cart X76F100 eeprom contents ROM_REGION( 0x84, "naomibd_eeprom", 0 ) @@ -3469,8 +3462,7 @@ ROM_START( derbyoc ) ROM_LOAD("mpr-22097.ic13s", 0x6800000, 0x0800000, CRC(f1dedac5) SHA1(9d4499cbafe80dd0b36be617de7994a96e1e9a01) ) ROM_LOAD("mpr-22098.ic14s", 0x7000000, 0x0800000, CRC(f9824d2e) SHA1(f20f8cc2b1bef9077ede1cb874da8f2a335d39de) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "derbyoc-key.bin", 0, 4, CRC(bc568260) SHA1(6dc4923a730bc0380490519c82f1443226365c3a) ) + _315_5881_KEYFILE("derbyoc-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( derbyocw ) @@ -3487,7 +3479,7 @@ ROM_START( derbyocw ) ROM_LOAD( "mpr-22337.ic6", 0x5800000, 0x1000000, CRC(87ca3a2f) SHA1(2ffc01597107eb60dfa7aa49d51f203b51a44334) ) ROM_LOAD( "mpr-22338.ic7", 0x6800000, 0x1000000, CRC(4bda7303) SHA1(db27d91ef811d741cfdb5c0196e61be722c2f5bd) ) - ROM_REGION( 4, "rom_key", ROMREGION_ERASE00 ) + _315_5881_UNUSED_OR_UNKNOWN ROM_END ROM_START( drbyocwc ) @@ -3504,7 +3496,7 @@ ROM_START( drbyocwc ) ROM_LOAD( "mpr-22333.ic6", 0x5800000, 0x1000000, CRC(96f324aa) SHA1(bc41e2097c1841771d786ba9ad1a31df1494a856) ) ROM_LOAD( "mpr-22334.ic7", 0x6800000, 0x1000000, CRC(5389b05a) SHA1(e206e4d82d7b1a59c33043ec0812eb69be08d9b3) ) - ROM_REGION( 4, "rom_key", ROMREGION_ERASE00 ) + _315_5881_UNUSED_OR_UNKNOWN ROM_END /* @@ -3532,7 +3524,7 @@ ROM_START( derbyoc2 ) ROM_LOAD( "mpr-22304.ic10", 0x9800000, 0x1000000, CRC(46c1fb1f) SHA1(6daca76a75df3501f77e473eb065d48804fcc64a) ) ROM_LOAD( "mpr-22305.ic11", 0xa800000, 0x1000000, CRC(027d0e7b) SHA1(e3c874e60cabb6f9ce686696d9055a0c0d5289ae) ) - ROM_REGION( 4, "rom_key", ROMREGION_ERASE00 ) + _315_5881_UNUSED_OR_UNKNOWN ROM_END /* @@ -3611,8 +3603,7 @@ ROM_START( dybbnao ) ROM_LOAD("mpr-21573.ic20s", 0xa000000, 0x0800000, CRC(5d822e63) SHA1(8412980b288531c294d5cf9a6394aa0b9503d7df) ) ROM_LOAD("mpr-21574.ic21s", 0xa800000, 0x0800000, CRC(d794a42c) SHA1(a79c7818c6ec993e718494b1d5407eb270a29abe) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "dybbnao-key.bin", 0, 4, CRC(63c5a3d5) SHA1(e813197f84dc6bb50b436f8e710d14d77a84e0ec) ) + _315_5881_KEYFILE("dynabbnao-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END /* @@ -3675,8 +3666,7 @@ ROM_START( dybb99 ) ROM_LOAD("mpr-22139.ic18s", 0x9000000, 0x0800000, CRC(92faa2ca) SHA1(4953f0219c3ae62de0a89473cb7b9dd30b33fcfb) ) ROM_LOAD("mpr-22140.ic19s", 0x9800000, 0x0800000, CRC(4cb54893) SHA1(a99b39cc3c82c3cf90f794bb8c8ba60638a6f921) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "dybb99-key.bin", 0, 4, CRC(90263797) SHA1(83649c8b3e562bee1f08663e59c5ba8f404ed36c) ) + _315_5881_KEYFILE("dyb99-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( smlg99 ) @@ -3708,8 +3698,7 @@ ROM_START( smlg99 ) ROM_LOAD( "mpr-22057.ic20s", 0xa000000, 0x800000, CRC(a056c109) SHA1(637e80c2d605851265430b0fa771a4ad5233be8a) ) ROM_LOAD( "mpr-22058.ic21s", 0xa800000, 0x800000, CRC(f16edaa0) SHA1(e093f5594df43c592a9acd45002ecc65035c2435) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "smlg99-key.bin", 0, 4, CRC(90263797) SHA1(83649c8b3e562bee1f08663e59c5ba8f404ed36c) ) + _315_5881_KEYFILE("sml99-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END /* @@ -3750,8 +3739,7 @@ ROM_START( f355 ) ROM_LOAD("mpr-21900.ic20s", 0xa000000, 0x0800000, CRC(81901130) SHA1(1573b5c4360e29ba1a4b4901af49d5399fa1e635) ) ROM_LOAD("mpr-21901.ic21s", 0xa800000, 0x0800000, CRC(266a3eea) SHA1(795ecc5589a0152b9cf1e03e454ed1ea01501942) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "f355-key.bin", 0, 4, CRC(7d1431ab) SHA1(38958860241c600db941b47294bf3ca3273d0df5) ) + _315_5881_KEYFILE("f355-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_REGION( 0x10000, "drivebd", 0 ) /* drive board ROM */ ROM_LOAD( "epr-21867.bin", 0x000000, 0x010000, CRC(4f93a2a0) SHA1(875907e7fcfc44850e2c60c12268ac61c742f217) ) @@ -3785,8 +3773,7 @@ ROM_START( f355twin ) ROM_LOAD( "mpr-22846.ic20s", 0xa000000, 0x800000, CRC(d4148f39) SHA1(b6598ce52bcaa42805c581de326c953d27c1b2b4) ) ROM_LOAD( "mpr-22847.ic21s", 0xa800000, 0x800000, CRC(955ad42e) SHA1(e396ca02b5786557434632c4fac56af3a4a9f8ce) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "f355twin-key.bin", 0, 4, CRC(7d915a40) SHA1(ea441c10673b79237a4e7368948cfad31ed45a26) ) + _315_5881_KEYFILE("f355twin-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END // There is also a development cart (171-7885A). Content is the same. @@ -3818,8 +3805,7 @@ ROM_START( f355twn2 ) ROM_LOAD( "mpr-23397.ic20s", 0xa000000, 0x800000, CRC(28d2caf6) SHA1(67a3bc19abccf7f211c3aae67e751815857bd564) ) ROM_LOAD( "mpr-23398.ic21s", 0xa800000, 0x800000, CRC(ea4d4d2a) SHA1(3dc9c7164516ae7f3b988c088ab819d8fd40d75e) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "f355twn2-key.bin", 0, 4, CRC(784fab7a) SHA1(5d9687876b390d35309c0b1404f5717daa533286) ) + _315_5881_KEYFILE("f355twn2-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( alpiltdx ) @@ -3840,8 +3826,7 @@ ROM_START( alpiltdx ) ROM_LOAD( "mpr-21737.ic10", 0x5000000, 0x800000, CRC(260aaa98) SHA1(d1082587afe9d79f286df8b107a553ee51c27643) ) ROM_LOAD( "mpr-21738.ic11", 0x5800000, 0x800000, CRC(95a592e8) SHA1(862dce467e8805381bab001df68262f1baf3c498) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "alpiltdx-key.bin", 0, 4, CRC(bb539511) SHA1(dea206e7db23fdabf7b957104ddd1499eff509ff) ) + _315_5881_KEYFILE("alpltdx-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) // on-cart X76F100 eeprom contents ROM_REGION( 0x84, "naomibd_eeprom", 0 ) @@ -3866,8 +3851,7 @@ ROM_START( alpilota ) ROM_LOAD( "mpr-21737.ic10", 0x5000000, 0x800000, CRC(260aaa98) SHA1(d1082587afe9d79f286df8b107a553ee51c27643) ) ROM_LOAD( "mpr-21738.ic11", 0x5800000, 0x800000, CRC(95a592e8) SHA1(862dce467e8805381bab001df68262f1baf3c498) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "alpilota-key.bin", 0, 4, CRC(bb539511) SHA1(dea206e7db23fdabf7b957104ddd1499eff509ff) ) + _315_5881_KEYFILE("alpilota-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( hotd2 ) @@ -3901,7 +3885,7 @@ ROM_START( hotd2 ) ROM_LOAD( "mpr-21404.ic19s", 0x9800000, 0x800000, CRC(6cf6e705) SHA1(68d7e9becefe27b556e0c5d7ba00efd2d1fb71ca) ) ROM_LOAD( "mpr-21405.ic20s", 0xa000000, 0x800000, CRC(495e6265) SHA1(57936367fec0000691641525682fb8aefc4e4f56) ) - ROM_REGION( 4, "rom_key", ROMREGION_ERASE00 ) + _315_5881_UNUSED_OR_UNKNOWN ROM_END ROM_START( hotd2o ) @@ -3935,7 +3919,7 @@ ROM_START( hotd2o ) ROM_LOAD( "mpr-21404.ic19s", 0x9800000, 0x800000, CRC(6cf6e705) SHA1(68d7e9becefe27b556e0c5d7ba00efd2d1fb71ca) ) ROM_LOAD( "mpr-21405.ic20s", 0xa000000, 0x800000, CRC(495e6265) SHA1(57936367fec0000691641525682fb8aefc4e4f56) ) - ROM_REGION( 4, "rom_key", ROMREGION_ERASE00 ) + _315_5881_UNUSED_OR_UNKNOWN ROM_END ROM_START( hotd2p ) @@ -3969,7 +3953,7 @@ ROM_START( hotd2p ) ROM_LOAD( "mpr-21404.ic19s", 0x9800000, 0x800000, CRC(6cf6e705) SHA1(68d7e9becefe27b556e0c5d7ba00efd2d1fb71ca) ) ROM_LOAD( "mpr-21405.ic20s", 0xa000000, 0x800000, CRC(495e6265) SHA1(57936367fec0000691641525682fb8aefc4e4f56) ) - ROM_REGION( 4, "rom_key", ROMREGION_ERASE00 ) + _315_5881_UNUSED_OR_UNKNOWN ROM_END /* @@ -4004,8 +3988,7 @@ ROM_START( ggram2 ) ROM_LOAD("mpr-21830.ic10", 0x5000000, 0x0800000, CRC(e01ceb86) SHA1(dd5703d7712cfc0053bddfff63e78dda372b6ff2) ) ROM_LOAD("mpr-21831.ic11", 0x5800000, 0x0800000, CRC(751848d0) SHA1(9c2267fd3c6f9ea5f2679bb2ca20d511a49b2845) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "ggram2-key.bin", 0, 4, CRC(14283fd8) SHA1(c928382e512e9fb685436020f88b8245b7c60d41) ) + _315_5881_KEYFILE("ggram2-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END /* @@ -4072,8 +4055,7 @@ ROM_START( gram2000 ) ROM_COPY( "rom_board", 0x1000000, 0x400000, 0xc00000 ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "gram2000-key.bin", 0, 4, CRC(179314d9) SHA1(3dbbc04e9ff62800d08c4a239af3a83252a28dc0) ) + _NAOMI_M1_KEYFILE( "gram2000-key.bin", CRC(179314d9) SHA1(3dbbc04e9ff62800d08c4a239af3a83252a28dc0) ) ROM_END ROM_START( tduno ) @@ -4094,8 +4076,7 @@ ROM_START( tduno ) ROM_REGION( 0x84, "naomibd_eeprom", 0 ) ROM_LOAD( "x76f100.ic37", 0x000000, 0x000084, CRC(c79251d5) SHA1(3e70bbbb6d28bade7eec7e27d716463045656f98) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "tduno.key", 0x000000, 0x000004, CRC(217ce9d0) SHA1(39d71a84b2769cd0c1521ddf1c617c18f577020c) ) + _315_5881_KEYFILE("tduno-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( tduno2 ) @@ -4114,8 +4095,7 @@ ROM_START( tduno2 ) ROM_COPY( "rom_board", 0x1000000, 0x400000, 0xc00000 ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "tduno2.key", 0x000000, 0x000004, CRC(8e0f0f3b) SHA1(914d3db8746c806d559539cc0851169161d32c04) ) + _NAOMI_M1_KEYFILE("tduno2.key", CRC(8e0f0f3b) SHA1(914d3db8746c806d559539cc0851169161d32c04) ) ROM_END ROM_START( mtkob2 ) @@ -4133,8 +4113,7 @@ ROM_START( mtkob2 ) ROM_COPY( "rom_board", 0x1000000, 0x400000, 0xc00000 ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "mtkob2-key.bin", 0x000000, 0x000004, CRC(db088208) SHA1(14d65ad2555183a445abcd93907c85df4032b41d) ) + _NAOMI_M1_KEYFILE("mtkob2-key.bin", CRC(db088208) SHA1(14d65ad2555183a445abcd93907c85df4032b41d) ) ROM_END ROM_START( mushi2k5 ) @@ -4151,7 +4130,7 @@ ROM_START( mushi2k5 ) ROM_LOAD( "mpr-24281.ic6", 0x5800000, 0x1000000, CRC(39133c32) SHA1(09ea8c1a98ba0fac36e18ae14ed5302feaeb89ca) ) ROM_LOAD( "mpr-24282.ic7", 0x6800000, 0x1000000, CRC(9aa4ad5a) SHA1(2d81f99a579477c5db725f71c51f18afc15abce7) ) - ROM_REGION( 4, "rom_key", ROMREGION_ERASE00 ) + _315_5881_UNUSED_OR_UNKNOWN // or M1? ROM_END ROM_START( crackndj ) @@ -4171,8 +4150,7 @@ ROM_START( crackndj ) ROM_LOAD( "mpr-23533.ic9", 0x8800000, 0x1000000, CRC(fc909c00) SHA1(9cf22a97ea272c4586f3942aefdb803bd0e6ede7) ) ROM_LOAD( "mpr-23534.ic10", 0x9800000, 0x1000000, CRC(62ed85b6) SHA1(b88336bc6115c92a839981cb0c0d0a67b1f7eda5) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "crackndj-key.bin", 0, 4, CRC(6269265a) SHA1(e2ab31b0058eb130d8f54d30e86d569687f9a068) ) + _315_5881_KEYFILE("crackndj-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( crakndj2 ) @@ -4205,8 +4183,7 @@ ROM_START( crakndj2 ) ROM_LOAD( "rom19.ic19s", 0x9800000, 0x800000, CRC(31f816ba) SHA1(354f8271eef20eb131f83fb9641002cfcd31c8cd) ) ROM_LOAD( "rom20.ic20s", 0xa000000, 0x800000, CRC(aabcd580) SHA1(9455e218ab381c7ad5adb2884da39ca7948169d5) ) - ROM_REGION( 4, "rom_key", 0 ) // 317-0311-COM - ROM_LOAD( "crackndj2-key.bin", 0x000000, 0x000004, CRC(b357a848) SHA1(15b5f89583ec2bc65298387a2b8d8e60e71f1617) ) + _315_5881_KEYFILE("crackndj2-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( samba2k ) @@ -4227,8 +4204,7 @@ ROM_START( samba2k ) ROM_LOAD( "mpr-23598.ic10", 0x09800000, 0x1000000, CRC(e06ee3dd) SHA1(21985e45e1ab5e3a79dd52492a582324a1a36d56) ) ROM_LOAD( "mpr-23599.ic11", 0x0a800000, 0x1000000, CRC(1fd2e792) SHA1(6f299e527be529f85d0e8b4ce0e7a06ac0d25fe9) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "samba2k-key.bin", 0, 4, CRC(01c0d74a) SHA1(4461cfd761919ba4bc6f1d1839a880f11eaf8d0f) ) + _315_5881_KEYFILE("samba2k-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( alienfnt ) @@ -4243,8 +4219,7 @@ ROM_START( alienfnt ) ROM_LOAD( "mpr-23584.ic4", 0x3800000, 0x1000000, CRC(8d444756) SHA1(89c480f9ed1239c8ae565c85fa0fd50324264b20) ) ROM_LOAD( "mpr-23585.ic5", 0x4800000, 0x1000000, CRC(883a6482) SHA1(e3145710df793b7fd67f02707904416210a71978) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "alienfnt-key.bin", 0x000000, 0x000004, CRC(0cac6605) SHA1(7a050f13e3b9a10d6cdb851a8c67006f6548c60a) ) + _315_5881_KEYFILE("alienfnt-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( alienfnta ) @@ -4259,8 +4234,7 @@ ROM_START( alienfnta ) ROM_LOAD( "mpr-23584.ic4", 0x3800000, 0x1000000, CRC(8d444756) SHA1(89c480f9ed1239c8ae565c85fa0fd50324264b20) ) ROM_LOAD( "mpr-23585.ic5", 0x4800000, 0x1000000, CRC(883a6482) SHA1(e3145710df793b7fd67f02707904416210a71978) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "alienfnt-key.bin", 0x000000, 0x000004, CRC(0cac6605) SHA1(7a050f13e3b9a10d6cdb851a8c67006f6548c60a) ) + _315_5881_KEYFILE("alienfnt-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END /* @@ -4291,8 +4265,7 @@ ROM_START( ggx ) ROM_LOAD("mpr-23354.ic13s",0x6800000, 0x0800000, CRC(cea127f7) SHA1(11f12472ebfc93eb72b764c780e30afd4812dbe9) ) ROM_LOAD("mpr-23355.ic14s",0x7000000, 0x0800000, CRC(e809685f) SHA1(dc052b4eb4fdcfdc22c4807316ce34ee7a0d58a6) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "ggx-key.bin", 0, 4, CRC(455a831b) SHA1(1834fc714224ac990a0677e8925493e92a4b5e5e) ) + _315_5881_KEYFILE("ggx-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END /* @@ -4337,8 +4310,7 @@ ROM_START( hmgeo ) ROM_LOAD("mpr-23714.ic10",0x5000000, 0x0800000, CRC(da462c44) SHA1(ca450b6c07f939f96eba7b44c45b4e38abd598aa) ) ROM_LOAD("mpr-23715.ic11",0x5800000, 0x0800000, CRC(c750abbd) SHA1(2a5bedc2b21cd3f991c7145ccfd8c7a9e7f647ae) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "hmgeo-key.bin", 0, 4, CRC(78411d2f) SHA1(9809ef35406ea48639cf78d5d366069a06a411f0) ) + _315_5881_KEYFILE("hmgeo-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END /* @@ -4376,8 +4348,7 @@ ROM_START( gwing2 ) ROM_LOAD("mpr-22274.ic4", 0x3800000, 0x1000000, CRC(f8daaaf3) SHA1(8854d3f8e3d55715ede33ee918b641e251f752b4) ) ROM_LOAD("mpr-22275.ic5", 0x4800000, 0x1000000, CRC(61aa1521) SHA1(7d9f5790e72a9151d128ac7887e236526fdf72a0) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "gwing2-key.bin", 0, 4, CRC(433132ce) SHA1(27f6e6ba2dd28c777317ff085432c2d43b93a603) ) + _315_5881_KEYFILE("gwing2-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END /* @@ -4426,8 +4397,7 @@ ROM_START( suchie3 ) ROM_LOAD("mpr-21992.ic13s",0x6800000, 0x0800000, CRC(599a2fb8) SHA1(2a0007064ad2ee1e1a0fda1d5676df4ff19a9f2f) ) ROM_LOAD("mpr-21993.ic14s",0x7000000, 0x0400000, CRC(fb28cf0a) SHA1(d51b1d4514a93074d1f77bd1bc5995739604cf56) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "suchie3-key.bin", 0, 4, CRC(592b5204) SHA1(ba18a5302ea271f58617a9793dfb85a0123080c8) ) + _315_5881_KEYFILE("suchie3-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END /* @@ -4456,7 +4426,7 @@ ROM_START( shangril ) ROM_LOAD("mpr-22071.ic11", 0x5800000, 0x0800000, CRC(1ab1f1ab) SHA1(bb8fa8d5a681115a82e9598ebe599b106f7aae9d) ) ROM_LOAD("mpr-22072.ic12s",0x6000000, 0x0800000, CRC(cb8d2634) SHA1(03ac8fb3a1acb1f8e32d9325c4da42417752f934) ) - ROM_REGION( 4, "rom_key", ROMREGION_ERASE00 ) + _315_5881_UNUSED_OR_UNKNOWN ROM_END /* @@ -4497,8 +4467,7 @@ ROM_START( mvsc2 ) ROM_COPY( "rom_board", 0x1200000, 0x400000, 0x400000 ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "mvsc2-key.bin", 0, 4, CRC(76f095b4) SHA1(773fd67e1eb471a989b3ee6e969a3d33bf61e779) ) + _NAOMI_M1_KEYFILE( "mvsc2-key.bin", CRC(76f095b4) SHA1(773fd67e1eb471a989b3ee6e969a3d33bf61e779) ) ROM_END /* toy fighter - 1999 sega */ @@ -4521,8 +4490,7 @@ ROM_START( toyfight ) ROM_LOAD("mpr-22033.ic9", 0x4800000, 0x0800000, CRC(5fe5586e) SHA1(3ff41ae1f81469597684faadd88e62b5e0634352) ) ROM_LOAD("mpr-22034.ic10",0x5000000, 0x0800000, CRC(3aa5ce5e) SHA1(f00a906235e4522d6fc2ac771324114346875314) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "toyfight-key.bin", 0, 4, CRC(8e074319) SHA1(b1b88bc57b81c08853d4aa77a5da48e293da4f42) ) + _315_5881_KEYFILE("toyfight-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END /* Crazy Taxi */ @@ -4546,8 +4514,7 @@ ROM_START( crzytaxi ) ROM_LOAD( "mpr-21682.ic14s", 0x7000000, 0x800000, CRC(54c0290e) SHA1(6e07ab6e95c29a2aabed0ba1a7af0d7d605e0309) ) ROM_LOAD( "mpr-21683.ic15s", 0x7800000, 0x800000, CRC(ac8a27e0) SHA1(8e71d853a102dd6c164d5326e6d157ccfb8c7b36) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "crzytaxi-key.bin", 0, 4, CRC(3d36c13d) SHA1(746e82e7f1d6f4629dde00fb6b32943741b6ec70) ) + _315_5881_KEYFILE("crzytaxi-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END /* Jambo! Safari */ @@ -4566,8 +4533,7 @@ ROM_START( jambo ) ROM_LOAD( "mpr-22824.ic7", 0x3800000, 0x800000, CRC(cc55304a) SHA1(e548d8de83469e5816c55dbbb00afbb894282fd6) ) ROM_LOAD( "mpr-22825.ic8", 0x4000000, 0x800000, CRC(85bada10) SHA1(b6e15d8f1d6bca12ffa4816ed0393c04ca500fba) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "jambo-key.bin", 0, 4, CRC(e78e9ac8) SHA1(677d7f21c238e12362ad65d6496f285d688fc3a9) ) + _315_5881_KEYFILE("jambo-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END /* 18 Wheeler (deluxe) (Rev A) */ @@ -4598,8 +4564,7 @@ ROM_START( 18wheelr ) ROM_LOAD( "mpr-22182.ic19s", 0x9800000, 0x800000, CRC(c5606c42) SHA1(5871104ff1c7acde0493e13b9a4d0abdf8a40728) ) ROM_LOAD( "mpr-22183.ic20s", 0xa000000, 0x800000, CRC(776af308) SHA1(7d29cb4dce75d34c622549fea7e102868d0da60a) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "18wheelr-key.bin", 0, 4, CRC(046f97f5) SHA1(11eb5cffdd67d460718b63ddee8ff4dfa7d72314) ) + _315_5881_KEYFILE("18wheelr-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) // JVS I/O board 837-13844, code is for a Z80 of unknown type (it's inside the big Sega ASIC) ROM_REGION( 0x20000, "jvsio", ROMREGION_ERASEFF) @@ -4640,8 +4605,7 @@ ROM_START( 18wheels ) ROM_LOAD( "mpr-22182.ic19s", 0x9800000, 0x800000, CRC(c5606c42) SHA1(5871104ff1c7acde0493e13b9a4d0abdf8a40728) ) ROM_LOAD( "mpr-22183.ic20s", 0xa000000, 0x800000, CRC(776af308) SHA1(7d29cb4dce75d34c622549fea7e102868d0da60a) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "18wheelr-key.bin", 0, 4, CRC(046f97f5) SHA1(11eb5cffdd67d460718b63ddee8ff4dfa7d72314) ) + _315_5881_KEYFILE("18wheelr-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) // JVS I/O board 837-13844, code is for a Z80 of unknown type (it's inside the big Sega ASIC) ROM_REGION( 0x20000, "jvsio", ROMREGION_ERASEFF) @@ -4682,8 +4646,7 @@ ROM_START( 18wheelu ) ROM_LOAD( "mpr-22182.ic19s", 0x9800000, 0x800000, CRC(c5606c42) SHA1(5871104ff1c7acde0493e13b9a4d0abdf8a40728) ) ROM_LOAD( "mpr-22183.ic20s", 0xa000000, 0x800000, CRC(776af308) SHA1(7d29cb4dce75d34c622549fea7e102868d0da60a) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "18wheelr-key.bin", 0, 4, CRC(046f97f5) SHA1(11eb5cffdd67d460718b63ddee8ff4dfa7d72314) ) + _315_5881_KEYFILE("18wheelr-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) // JVS I/O board 837-13844, code is for a Z80 of unknown type (it's inside the big Sega ASIC) ROM_REGION( 0x20000, "jvsio", ROMREGION_ERASEFF) @@ -4715,8 +4678,7 @@ ROM_START( marstv ) ROM_LOAD( "mpr-22991.ic14s", 0x7000000, 0x800000, CRC(0c20f313) SHA1(ac335d3015ef348c91319ae0e98b79a60e92f452) ) ROM_LOAD( "mpr-22992.ic15s", 0x7800000, 0x800000, CRC(5eb6c4c6) SHA1(5dc1bced7ebd7d7e01f74d03706ec4a96585628d) ) - ROM_REGION( 4, "rom_key", 0 ) // 317-0274-JPN - ROM_LOAD( "marstv-key.bin", 0x000000, 0x000004, CRC(45c683ab) SHA1(1af2a582b54459eb1db56f5d3502917bb012d313) ) + _315_5881_KEYFILE("marstv-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END /* Sega Strike Fighter */ @@ -4747,8 +4709,7 @@ ROM_START( sstrkfgt ) ROM_LOAD( "mpr-23320.ic19s", 0x9800000, 0x800000, CRC(5ec75a45) SHA1(696e5d14678c794dec67246507bd580f7e5b5043) ) ROM_LOAD( "mpr-23321.ic20s", 0xa000000, 0x800000, CRC(018627d4) SHA1(2519f39ad046d14f602648fed39bc3719185b55e) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "sstrkfgt-key.bin", 0, 4, CRC(1884e4ee) SHA1(14ec026ed32825252987fed350f19f6e2565aa4d) ) + _315_5881_KEYFILE("sstrkfgt-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END // EPR ROM have different number, possible updated/bugfixed re-release or STD/DLX version, difference with original set is unknown, have "Rev.A" label too @@ -4779,8 +4740,7 @@ ROM_START( sstrkfgta ) ROM_LOAD( "mpr-23320.ic19s", 0x9800000, 0x800000, CRC(5ec75a45) SHA1(696e5d14678c794dec67246507bd580f7e5b5043) ) ROM_LOAD( "mpr-23321.ic20s", 0xa000000, 0x800000, CRC(018627d4) SHA1(2519f39ad046d14f602648fed39bc3719185b55e) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "sstrkfgt-key.bin", 0, 4, CRC(1884e4ee) SHA1(14ec026ed32825252987fed350f19f6e2565aa4d) ) + _315_5881_KEYFILE("sstrkfgt-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END @@ -4799,8 +4759,7 @@ ROM_START( sgtetris ) ROM_LOAD( "mpr-22914.ic5", 0x2800000, 0x800000, CRC(77844b60) SHA1(65d71febb8a160d00778ac7b53e082253cad9834) ) ROM_LOAD( "mpr-22915.ic6", 0x3000000, 0x800000, CRC(e48148ac) SHA1(c1273353eeaf9bb6b185f133281d7d04271bc895) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "sgtetris-key.bin", 0, 4, CRC(03bf7ea1) SHA1(0229c1f9a6eca65b09e3571768a1fbf3c1dad6b1) ) + _315_5881_KEYFILE("sgtetri-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END /* @@ -4856,8 +4815,7 @@ ROM_START( slasho ) ROM_LOAD("mpr-23339.ic16s",0x8000000, 0x0800000, CRC(fd8c2736) SHA1(34ae1a4e35b4aac6666719fb4fc0959bd64ff3d6) ) ROM_LOAD("mpr-23340.ic17s",0x8800000, 0x0800000, CRC(001604f8) SHA1(615ec027d383d44d4aadb1175be6320e4139d7d1) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "slasho-key.bin", 0, 4, CRC(78e31e35) SHA1(a0b06cb7fbb0b2f1734831fc3e6a8315c0e78edd) ) + _315_5881_KEYFILE("slasho-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END @@ -4914,8 +4872,7 @@ ROM_START( pjustic ) ROM_LOAD( "mpr-23546.ic10", 0x9800000, 0x1000000, CRC(85db2248) SHA1(37845c269a2e65ee6181a8e7500c2e7dd9b2e343) ) ROM_LOAD( "mpr-23547.ic11", 0xa800000, 0x1000000, CRC(18b369c7) SHA1(b61cb3fda8cc685865684f7afc7dad0b29d93ca5) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "pjustic-key.bin", 0, 4, CRC(4a2bcbaa) SHA1(a9434482498f97605f76d08f749685452651a753) ) + _315_5881_KEYFILE("pjustic-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END /* @@ -4956,8 +4913,7 @@ ROM_START( pstone ) ROM_LOAD("mpr-21595.ic7", 0x3800000, 0x0800000, CRC(7ab218f7) SHA1(c5c022e63f926cce09d49331647cde20e8e42ab3) ) ROM_LOAD("mpr-21596.ic8", 0x4000000, 0x0800000, CRC(f27dbdc5) SHA1(d54717d62897546968de2f049239f68bee49bdd8) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "pstone-key.bin", 0, 4, CRC(7386d0de) SHA1(72f6b552440e470344f707e349d100d9ba21b69d) ) + _315_5881_KEYFILE("pston-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END /* @@ -4999,8 +4955,7 @@ ROM_START( pstone2 ) ROM_LOAD("mpr-23125.ic8", 0x4000000, 0x0800000, CRC(b9938bbc) SHA1(d55d7adecb5a5a4a276a5a17c12808085d980fd9) ) ROM_LOAD("mpr-23126.ic9", 0x4800000, 0x0800000, CRC(fbb0325b) SHA1(21b965519d7508d84344641d43e8af2c3ca29ba4) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "pstone2-key.bin", 0, 4, CRC(3858144b) SHA1(f5fb9157b38969c986f8abbe8ed3f95e788e45c0) ) + _315_5881_KEYFILE("pstone2-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END @@ -5064,8 +5019,7 @@ ROM_START( otrigger ) ROM_LOAD("mpr-22159.ic18s",0x9000000, 0x0800000, CRC(f8b5e99d) SHA1(bb174a6a80967d0ff05c3a7512e4f0f9c921d130) ) ROM_LOAD("mpr-22160.ic19s",0x9800000, 0x0800000, CRC(579eef4e) SHA1(bfcabd57f623647053afcedcabfbc74e5736819f) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "otrigger-key.bin", 0, 4, CRC(79ebd41a) SHA1(3545dacdeac66b46e8706565f0eca784291040d1) ) + _315_5881_KEYFILE("outrigger-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END /* @@ -5102,8 +5056,7 @@ ROM_START( qmegamis ) ROM_COPY( "rom_board", 0x1000000, 0x400000, 0xc00000 ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "qmegamis-key.bin", 0, 4, CRC(b08650c0) SHA1(9e6b0fac6fb05209da9e01bb1a5437949d218078) ) + _NAOMI_M1_KEYFILE("qmegamis-key.bin", CRC(b08650c0) SHA1(9e6b0fac6fb05209da9e01bb1a5437949d218078) ) ROM_END /* @@ -5157,8 +5110,7 @@ ROM_START( samba ) ROM_LOAD("mpr-22964.ic15s",0x7800000, 0x0800000, CRC(f581d5a3) SHA1(8cf769f5b0a48951246bb60e9cf58232bcee7bc8) ) ROM_LOAD("mpr-22965.ic16s",0x8000000, 0x0800000, CRC(8f7bfa8a) SHA1(19f137b1552978d232785c4408805b71835585c6) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "samba-key.bin", 0, 4, CRC(e17e3603) SHA1(5611615064a93cc9d957cc4edd12c716a72cd7f2) ) + _315_5881_KEYFILE("samba-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END // prototype - only works with US BIOS @@ -5185,8 +5137,7 @@ ROM_START( sambap ) ROM_LOAD("mpr-22964.ic15s",0x7800000, 0x0800000, CRC(f581d5a3) SHA1(8cf769f5b0a48951246bb60e9cf58232bcee7bc8) ) ROM_LOAD("mpr-22965.ic16s",0x8000000, 0x0800000, CRC(8f7bfa8a) SHA1(19f137b1552978d232785c4408805b71835585c6) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "samba-key.bin", 0, 4, CRC(e17e3603) SHA1(5611615064a93cc9d957cc4edd12c716a72cd7f2) ) + _315_5881_KEYFILE("samba-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END /* @@ -5217,7 +5168,7 @@ ROM_START( smarinef ) ROM_LOAD("mpr-22218.ic11", 0x5800000, 0x0800000, CRC(f9ca31b8) SHA1(ea3d0f38ca1a46c896c06f038a6362ad3c9f90b2) ) ROM_LOAD("mpr-22219.ic12s", 0x6000000, 0x0800000, CRC(b3b45811) SHA1(045e7236b814f848d4c9767618ddcd4344d880ec) ) - ROM_REGION( 4, "rom_key", ROMREGION_ERASE00 ) + _315_5881_UNUSED_OR_UNKNOWN ROM_END // Shootout Pool @@ -5234,8 +5185,7 @@ ROM_START( shootopl ) ROM_COPY( "rom_board", 0x1000000, 0x400000, 0xc00000 ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "shootopl-key.bin", 0, 4, CRC(45547e02) SHA1(4f79f478ff1eea14bc939a67ff570143cb56a4bf) ) + _NAOMI_M1_KEYFILE( "shootopl-key.bin", CRC(45547e02) SHA1(4f79f478ff1eea14bc939a67ff570143cb56a4bf) ) ROM_END // Shootout Pool Prize @@ -5252,8 +5202,7 @@ ROM_START( shootpl ) ROM_COPY( "rom_board", 0x1000000, 0x400000, 0xc00000 ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "shootpl-key.bin", 0, 4, CRC(03c30b17) SHA1(e8e8659aa27b3d1cac2268850d3973d9afeaeba9) ) + _NAOMI_M1_KEYFILE( "shootpl-key.bin", CRC(03c30b17) SHA1(e8e8659aa27b3d1cac2268850d3973d9afeaeba9) ) ROM_END // Shootout Pool Prize Ver. B @@ -5270,8 +5219,7 @@ ROM_START( shootplm ) ROM_COPY( "rom_board", 0x1000000, 0x400000, 0xc00000 ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "shootpl-key.bin", 0, 4, CRC(03c30b17) SHA1(e8e8659aa27b3d1cac2268850d3973d9afeaeba9) ) + _NAOMI_M1_KEYFILE( "shootpl-key.bin", CRC(03c30b17) SHA1(e8e8659aa27b3d1cac2268850d3973d9afeaeba9) ) ROM_END /* Oinori-daimyoujin Matsuri (medal) */ @@ -5287,7 +5235,7 @@ ROM_START( oinori ) ROM_LOAD( "mpr-24057.ic4", 0x3800000, 0x1000000, CRC(6dec3518) SHA1(3e65065df22680e2bbf2d3db22da413f347a1abe) ) ROM_LOAD( "mpr-24058.ic5", 0x4800000, 0x1000000, CRC(0eba9049) SHA1(a71ca72aeaf17180cde59d7c7b42c97a1b4259ab) ) - ROM_REGION( 4, "rom_key", ROMREGION_ERASE00 ) + _315_5881_UNUSED_OR_UNKNOWN ROM_END /* @@ -5331,8 +5279,7 @@ ROM_START( spawn ) ROM_LOAD("mpr-22975.ic9", 0x4800000, 0x0800000, CRC(0d3c70d1) SHA1(22920bc5fd1dda760b5cb17482e9181be899bc08) ) ROM_LOAD("mpr-22976.ic10", 0x5000000, 0x0800000, CRC(092d8063) SHA1(14fafd3f4c4f2b37172453d1c815fb9b8f4814f4) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "spawn-key.bin", 0, 4, CRC(dd211f09) SHA1(d436cd5009744c4c69fb94c84837103b4ca1c9a7) ) + _315_5881_KEYFILE("spawn-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END /* @@ -5373,7 +5320,7 @@ ROM_START( totd ) ROM_LOAD("mpr-23020.ic20s", 0xa000000, 0x0800000, CRC(b5943007) SHA1(d0e95084aec5e05027c21a6b4a3331408853781b) ) //ic21 not populated - ROM_REGION( 4, "rom_key", ROMREGION_ERASE00 ) + _315_5881_UNUSED_OR_UNKNOWN ROM_END /* @@ -5437,7 +5384,7 @@ ROM_START( virnba ) ROM_LOAD("mpr-22947.ic20s", 0xa000000, 0x0800000, CRC(5e5eb595) SHA1(401d4a11d436988d716bb014b36233f171dc576d) ) ROM_LOAD("mpr-22948.ic21s", 0xa800000, 0x0800000, CRC(1b0de917) SHA1(fd1742ea9bb2f1ce871ee3266171f26634e1c8e7) ) - ROM_REGION( 4, "rom_key", ROMREGION_ERASE00 ) + _315_5881_UNUSED_OR_UNKNOWN ROM_END ROM_START( virnbao ) @@ -5468,8 +5415,7 @@ ROM_START( virnbao ) ROM_LOAD("mpr-22947.ic20s", 0xa000000, 0x0800000, CRC(5e5eb595) SHA1(401d4a11d436988d716bb014b36233f171dc576d) ) ROM_LOAD("mpr-22948.ic21s", 0xa800000, 0x0800000, CRC(1b0de917) SHA1(fd1742ea9bb2f1ce871ee3266171f26634e1c8e7) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "virnbao-key.bin", 0, 4, CRC(980e3be8) SHA1(234a2f8ee408144d2c51e8083d0a033eea6026e0) ) + _315_5881_KEYFILE("virnbao-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( virnbap ) @@ -5500,8 +5446,7 @@ ROM_START( virnbap ) ROM_LOAD("mpr-22947.ic20s", 0xa000000, 0x0800000, CRC(5e5eb595) SHA1(401d4a11d436988d716bb014b36233f171dc576d) ) ROM_LOAD("mpr-22948.ic21s", 0xa800000, 0x0800000, CRC(1b0de917) SHA1(fd1742ea9bb2f1ce871ee3266171f26634e1c8e7) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "virnbao-key.bin", 0, 4, CRC(980e3be8) SHA1(234a2f8ee408144d2c51e8083d0a033eea6026e0) ) + _315_5881_KEYFILE("virnbao-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END /* @@ -5553,8 +5498,7 @@ ROM_START( vs2_2k ) ROM_LOAD("mpr-21922.ic14s",0x7000000, 0x0800000, CRC(a1901e1e) SHA1(2281f91ac696cc14886bcdf4b0685ce2f5bb8117) ) ROM_LOAD("mpr-21923.ic15s",0x7800000, 0x0400000, CRC(d127d9a5) SHA1(78c95357344ea15469b84fa8b1332e76521892cd) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "vs2_2k-key.bin", 0, 4, CRC(f9fb4716) SHA1(83277f61e97fc6c4d8d27b903bde0acdfb0c7dbc) ) + _315_5881_KEYFILE("vs2_2k-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END /* @@ -5598,8 +5542,7 @@ ROM_START( vtennis ) ROM_LOAD("mpr-22925.ic10",0x5000000, 0x0800000, CRC(81057e42) SHA1(d41137ae28c64dbdb50150db8cf25851bc0709c4) ) ROM_LOAD("mpr-22926.ic11",0x5800000, 0x0800000, CRC(57eec89d) SHA1(dd8f9a9155e51ee5260f559449fb0ea245077952) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "vtennis-key.bin", 0, 4, CRC(f355af89) SHA1(581a9b0f8c2f3606006e85e136f9cf0ea908c773) ) + _315_5881_KEYFILE("vtennis-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END /* @@ -5624,8 +5567,7 @@ ROM_START( wwfroyal ) ROM_LOAD( "mpr-22268.ic7", 0x6800000, 0x1000000, CRC(536f5eea) SHA1(f1de8624f82595adf75693b604fb026bf3f778ee) ) ROM_LOAD( "mpr-22269.ic8", 0x7800000, 0x1000000, CRC(6c0cf740) SHA1(da10b33a6e54afbe1d7e52801216e7119b0b33b1) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "wwfroyal-key.bin", 0, 4, CRC(e14721b1) SHA1(1f2f447bbc4b1e0b016c5ac545d1d805abc61ebd) ) + _315_5881_KEYFILE("wwfroyal-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( mushik2e ) @@ -5941,8 +5883,7 @@ ROM_START( zombrvn ) ROM_LOAD("mpr-21725.ic18s",0x9000000, 0x0800000, CRC(2202077b) SHA1(0893a85379f994277083c0bc5b178dd34508f816) ) ROM_LOAD("mpr-21726.ic19s",0x9800000, 0x0800000, CRC(429bf290) SHA1(6733e1bcf100e73ab43273f6feedc187fcaa55d4) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "zombrvn-key.bin", 0, 4, CRC(572d3944) SHA1(16ae634d85169851b9deae3c03b5dd4d4bf2794a) ) + _315_5881_KEYFILE("zombrvn-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( gunsur2 ) @@ -5966,8 +5907,7 @@ ROM_START( gunsur2 ) ROM_LOAD( "bhf1ma14.6m", 0xe000000, 0x1000000, CRC(d06c9bd7) SHA1(54668a2fd31059976890da92709c18f308634887) ) ROM_LOAD( "bhf1ma15.6l", 0xf000000, 0x1000000, CRC(db3c396b) SHA1(da0e125d627ce890906ca100081ab0685e11c0ef) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "bhf1-key.bin", 0x0000000, 0x0000004, CRC(9899e931) SHA1(c0837262b9069b33d0e72b418e80b5f0da8b9251) ) + _315_5881_KEYFILE("bhf1-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( gunsur2e ) @@ -5991,8 +5931,7 @@ ROM_START( gunsur2e ) ROM_LOAD( "bhf1ma14.6m", 0xe000000, 0x1000000, CRC(d06c9bd7) SHA1(54668a2fd31059976890da92709c18f308634887) ) ROM_LOAD( "bhf1ma15.6l", 0xf000000, 0x1000000, CRC(db3c396b) SHA1(da0e125d627ce890906ca100081ab0685e11c0ef) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "bhf1-key.bin", 0x0000000, 0x0000004, CRC(9899e931) SHA1(c0837262b9069b33d0e72b418e80b5f0da8b9251) ) + _315_5881_KEYFILE("bhf1-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( wldkicks ) @@ -6013,8 +5952,7 @@ ROM_START( wldkicks ) ROM_LOAD( "wk1ma9.4d", 0x9000000, 0x1000000, CRC(29635a54) SHA1(a3109d0f8f271e2183316846df2a6a819f6a9b20) ) ROM_LOAD( "wk1ma10.4c", 0xa000000, 0x1000000, CRC(e96f312c) SHA1(0a92640277111aef5c6e9dab4218a8ae2196ce61) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "wldkicks-key.bin", 0, 4, CRC(1708ebb9) SHA1(c1115e4dd675f10d5fb41f57c1eea8e6a4f09fed) ) + _315_5881_KEYFILE("wldkicks-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( wldkicksa ) @@ -6035,8 +5973,7 @@ ROM_START( wldkicksa ) ROM_LOAD( "wk1ma9.4d", 0x9000000, 0x1000000, CRC(29635a54) SHA1(a3109d0f8f271e2183316846df2a6a819f6a9b20) ) ROM_LOAD( "wk1ma10.4c", 0xa000000, 0x1000000, CRC(e96f312c) SHA1(0a92640277111aef5c6e9dab4218a8ae2196ce61) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "wldkicks-key.bin", 0, 4, CRC(1708ebb9) SHA1(c1115e4dd675f10d5fb41f57c1eea8e6a4f09fed) ) + _315_5881_KEYFILE("wldkicks-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( wldkicksb ) @@ -6057,8 +5994,7 @@ ROM_START( wldkicksb ) ROM_LOAD( "wk1ma9.4d", 0x9000000, 0x1000000, CRC(29635a54) SHA1(a3109d0f8f271e2183316846df2a6a819f6a9b20) ) ROM_LOAD( "wk1ma10.4c", 0xa000000, 0x1000000, CRC(e96f312c) SHA1(0a92640277111aef5c6e9dab4218a8ae2196ce61) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "wldkicks-key.bin", 0, 4, CRC(1708ebb9) SHA1(c1115e4dd675f10d5fb41f57c1eea8e6a4f09fed) ) + _315_5881_KEYFILE("wldkicks-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( toukon4 ) @@ -6084,8 +6020,7 @@ ROM_START( toukon4 ) ROM_LOAD( "trf1ma14.6m", 0xe000000, 0x1000000, CRC(87cb31a0) SHA1(27aef9ac571a0b5e3a76e4ee22f5bc5d0ae962f2) ) ROM_LOAD( "trf1ma15.6l", 0xf000000, 0x1000000, CRC(42d318c5) SHA1(f9fe82ffbfc51fcb52333f94c55a7092e7124fb4) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "tr4ae-key.bin", 0x000000, 0x000004, CRC(1708ebb9) SHA1(c1115e4dd675f10d5fb41f57c1eea8e6a4f09fed) ) + _315_5881_KEYFILE("tr4a-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( ninjaslt ) @@ -6106,8 +6041,7 @@ ROM_START( ninjaslt ) ROM_LOAD( "nja1ma9.4c", 0x9000000, 0x1000000, CRC(8abed815) SHA1(5e1b208d23a17ba743d0507d963be42e7828755f) ) ROM_LOAD( "nja1ma10.4b", 0xa000000, 0x1000000, CRC(f14d2073) SHA1(b4a8cd585794be149b616119df3f75c0fb30e2f0) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "nja3-key.bin", 0x000000, 0x000004, CRC(e6997eb0) SHA1(c866a5069e28939be5a8fc867bc14791decac3c8) ) + _315_5881_KEYFILE("nja3-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_REGION( 0x20000, "jyu_io", 0 ) // H8/3334-based I/O board ROM, eventually should be separated out ROM_LOAD( "jyu1_prg0a.ic3", 0x000000, 0x020000, CRC(aec4dbc1) SHA1(bddd4f345baf7f594998a39c09da18b3834f0ac2) ) @@ -6131,8 +6065,7 @@ ROM_START( ninjaslt1 ) ROM_LOAD( "nja1ma9.4c", 0x9000000, 0x1000000, CRC(8abed815) SHA1(5e1b208d23a17ba743d0507d963be42e7828755f) ) ROM_LOAD( "nja1ma10.4b", 0xa000000, 0x1000000, CRC(f14d2073) SHA1(b4a8cd585794be149b616119df3f75c0fb30e2f0) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "nja3-key.bin", 0x000000, 0x000004, CRC(e6997eb0) SHA1(c866a5069e28939be5a8fc867bc14791decac3c8) ) + _315_5881_KEYFILE("nja3-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_REGION( 0x20000, "jyu_io", 0 ) // H8/3334-based I/O board ROM, eventually should be separated out ROM_LOAD( "jyu1_prg0a.ic3", 0x000000, 0x020000, CRC(aec4dbc1) SHA1(bddd4f345baf7f594998a39c09da18b3834f0ac2) ) @@ -6156,8 +6089,7 @@ ROM_START( ninjaslt2 ) ROM_LOAD( "nja1ma9.4c", 0x9000000, 0x1000000, CRC(8abed815) SHA1(5e1b208d23a17ba743d0507d963be42e7828755f) ) ROM_LOAD( "nja1ma10.4b", 0xa000000, 0x1000000, CRC(f14d2073) SHA1(b4a8cd585794be149b616119df3f75c0fb30e2f0) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "nja3-key.bin", 0x000000, 0x000004, CRC(e6997eb0) SHA1(c866a5069e28939be5a8fc867bc14791decac3c8) ) + _315_5881_KEYFILE("nja3-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_REGION( 0x20000, "jyu_io", 0 ) // H8/3334-based I/O board ROM, eventually should be separated out ROM_LOAD( "jyu1_prg0a.ic3", 0x000000, 0x020000, CRC(aec4dbc1) SHA1(bddd4f345baf7f594998a39c09da18b3834f0ac2) ) @@ -6181,8 +6113,7 @@ ROM_START( ninjaslt4 ) ROM_LOAD( "nja1ma9.4c", 0x9000000, 0x1000000, CRC(8abed815) SHA1(5e1b208d23a17ba743d0507d963be42e7828755f) ) ROM_LOAD( "nja1ma10.4b", 0xa000000, 0x1000000, CRC(f14d2073) SHA1(b4a8cd585794be149b616119df3f75c0fb30e2f0) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "nja3-key.bin", 0x000000, 0x000004, CRC(e6997eb0) SHA1(c866a5069e28939be5a8fc867bc14791decac3c8) ) + _315_5881_KEYFILE("nja3-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_REGION( 0x20000, "jyu_io", 0 ) // H8/3334-based I/O board ROM, eventually should be separated out ROM_LOAD( "jyu1_prg0a.ic3", 0x000000, 0x020000, CRC(aec4dbc1) SHA1(bddd4f345baf7f594998a39c09da18b3834f0ac2) ) @@ -6203,8 +6134,7 @@ ROM_START( mazan ) ROM_LOAD( "maz1ma7.4e", 0x7000000, 0x1000000, CRC(6103ad9c) SHA1(e4abbb5867cae6a9bf9067ab3a091ef7b18fa0cd) ) ROM_LOAD( "maz1ma8.4d", 0x8000000, 0x1000000, CRC(d46c9f40) SHA1(45eec7fa3d4261f12438e841254fa75d572331b3) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "maz1-key.bin", 0x000000, 0x000004, CRC(79ebd41a) SHA1(3545dacdeac66b46e8706565f0eca784291040d1) ) + _315_5881_KEYFILE("maz1-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( mazana ) @@ -6222,8 +6152,7 @@ ROM_START( mazana ) ROM_LOAD( "maz1ma7.4e", 0x7000000, 0x1000000, CRC(6103ad9c) SHA1(e4abbb5867cae6a9bf9067ab3a091ef7b18fa0cd) ) ROM_LOAD( "maz1ma8.4d", 0x8000000, 0x1000000, CRC(d46c9f40) SHA1(45eec7fa3d4261f12438e841254fa75d572331b3) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "maz1-key.bin", 0x000000, 0x000004, CRC(79ebd41a) SHA1(3545dacdeac66b46e8706565f0eca784291040d1) ) + _315_5881_KEYFILE("maz1-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( vtenis2c ) @@ -6253,8 +6182,7 @@ ROM_START( vtenis2c ) ROM_COPY( "rom_board", 0x1000000, 0x400000, 0xc00000 ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "vtenis2c-key.bin", 0, 4, CRC(b8c5b510) SHA1(f36d037a62a576e71211093e075f0ffa7e312c2d) ) + _NAOMI_M1_KEYFILE("vtenis2c-key.bin", CRC(b8c5b510) SHA1(f36d037a62a576e71211093e075f0ffa7e312c2d) ) ROM_END ROM_START( kick4csh ) @@ -6283,8 +6211,7 @@ ROM_START( kick4csh ) ROM_COPY( "rom_board", 0x1000000, 0x400000, 0xc00000 ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "kick4csh-key.bin", 0, 4, CRC(889d2ea1) SHA1(daf7acf41b6bc607d443a93221a3e4554b99547f) ) + _NAOMI_M1_KEYFILE( "kick4csh-key.bin", CRC(889d2ea1) SHA1(daf7acf41b6bc607d443a93221a3e4554b99547f) ) ROM_END ROM_START( wrungp ) @@ -6300,7 +6227,7 @@ ROM_START( wrungp ) ROM_LOAD( "mpr-23723.ic5", 0x4800000, 0x1000000, CRC(651610eb) SHA1(4dfe4f876a5440bd1034f41a4d76e1d6bd3e0e32) ) ROM_LOAD( "mpr-23724.ic6", 0x5800000, 0x1000000, CRC(c633c45a) SHA1(23b45140f965428d33e2424b0574715c0b952d05) ) - ROM_REGION( 4, "rom_key", ROMREGION_ERASE00 ) + _315_5881_UNUSED_OR_UNKNOWN ROM_END ROM_START( gundmct ) @@ -6320,8 +6247,7 @@ ROM_START( gundmct ) ROM_LOAD( "mpr-23636.ic9", 0x8800000, 0x1000000, CRC(57199e9f) SHA1(73a6f20ee7b3133ed4c6286e477e2ff9757106bd) ) ROM_LOAD( "mpr-23637.ic10", 0x9800000, 0x1000000, CRC(737b5dff) SHA1(0a405b711ffb096a3e6d52ececed73a5f93ebf02) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "gundmct-key.bin", 0, 4, CRC(0dee7a39) SHA1(24eef111ad7d8ad984e38b63101d01463b36542e) ) + _315_5881_KEYFILE("gundmct-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( puyoda ) @@ -6351,8 +6277,7 @@ ROM_START( puyoda ) ROM_LOAD( "mpr-22204.ic19s", 0x9800000, 0x800000, CRC(2c5e5140) SHA1(7887fc19459dc85ca78256e0c50c762eea001e51) ) ROM_LOAD( "mpr-22205.ic20s", 0xa000000, 0x800000, CRC(7d523ae5) SHA1(7495082b7e83b6ee8f47660baba4c604d8ba2ff1) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "puyoda-key.bin", 0, 4, CRC(245bb259) SHA1(7ab675779ebf01ad3a78edd39cb287b71acd8bb5) ) + _315_5881_KEYFILE("puyoda-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( zerogu2 ) @@ -6367,8 +6292,7 @@ ROM_START( zerogu2 ) ROM_LOAD( "mpr-23687.ic4", 0x3800000, 0x1000000, CRC(e125439a) SHA1(07e7339f3f53aeb0ebddf7a8ac3eb6d8f3fe9de6) ) ROM_LOAD( "mpr-23688.ic5", 0x4800000, 0x1000000, CRC(38412edf) SHA1(9cae06cf46e134531f47e64deedace449664f69a) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "zerogu2-key.bin", 0, 4, CRC(f2460eb3) SHA1(69ec4e3933e60caa6a0ac44a855a40deed337d92) ) + _315_5881_KEYFILE("zerogu2-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( inunoos ) @@ -6395,8 +6319,7 @@ ROM_START( inunoos ) ROM_LOAD( "ic15s.bin", 0x7800000, 0x800000, CRC(b85e13ef) SHA1(974f6b8f24efe79d72ea9d7a2cfccf479704243d) ) ROM_LOAD( "ic16s.bin", 0x8000000, 0x800000, CRC(b8493dbe) SHA1(b641417e1bda49341e7ff86340072d74e3330665) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "inunoos-key.bin", 0, 4, CRC(3ce3ed17) SHA1(d5d6daac0cbcdf7dada2e01f3c458dea04805c05) ) + _315_5881_KEYFILE("inuoos-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( ringout ) @@ -6416,8 +6339,7 @@ ROM_START( ringout ) ROM_LOAD( "mpr-21769.ic9", 0x4800000, 0x800000, CRC(6d22d29d) SHA1(382dcd62065437b34fe101144b1c047eb261f047) ) ROM_LOAD( "mpr-21770.ic10", 0x5000000, 0x800000, CRC(c5308e61) SHA1(e51f8026351d5ffbda2a5bed39aeef543366febf) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "ringout-key.bin", 0, 4, CRC(8f8c4eb2) SHA1(9bc59c69d04d9ce876415af048f39095ed680a5e) ) + _315_5881_KEYFILE("ringout-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( vonot ) @@ -6440,8 +6362,7 @@ ROM_START( vonot ) ROM_LOAD( "mpr-23193.ic12s", 0x6000000, 0x800000, CRC(c86a5b9b) SHA1(4b8dda85003289e1464e12c3abf449bb8df20e3a) ) ROM_LOAD( "mpr-23194.ic13s", 0x6800000, 0x800000, CRC(5adea0bd) SHA1(f8614ba83d5f61556c3db1a1796a02ed2c51ce2a) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "vonot-key.bin", 0, 4, CRC(021ac707) SHA1(af57844331226d3b1722aedca1a7aef024468b39) ) + _315_5881_KEYFILE("vonot-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( derbyo2k ) @@ -6467,7 +6388,7 @@ ROM_START( derbyo2k ) ROM_LOAD( "mpr-22237.ic15s", 0x7800000, 0x800000, CRC(718dd6bf) SHA1(6b71bb6970b582865f53d26e9579587fce86439e) ) ROM_LOAD( "mpr-22238.ic16s", 0x8000000, 0x800000, CRC(fb3e55da) SHA1(d547ee5b47e6e6fec9e447460300c828fbff8f2e) ) - ROM_REGION( 4, "rom_key", ROMREGION_ERASE00 ) + _315_5881_UNUSED_OR_UNKNOWN ROM_END ROM_START( starhrse ) @@ -6481,7 +6402,7 @@ ROM_START( starhrse ) ROM_LOAD( "mpr-23233.ic3", 0x2800000, 0x1000000, CRC(d6451cab) SHA1(6508e27d0370b19df01150da7baf4875479c166a) ) ROM_LOAD( "mpr-23234.ic4", 0x3800000, 0x1000000, CRC(44044c14) SHA1(4934cb8d5f9b4085ffb5ddc711343f488aae4c4d) ) - ROM_REGION( 4, "rom_key", ROMREGION_ERASE00 ) + _315_5881_UNUSED_OR_UNKNOWN // this dump can't be used as main_eeprom, because that's exactly 0x80 bytes ROM_REGION(0x84, "some_eeprom", 0) @@ -6514,7 +6435,7 @@ ROM_START( starhrct ) ROM_LOAD( "ic17s.bin", 0x8800000, 0x800000, CRC(b4c40606) SHA1(4f187dfe44bd89c90b6fa4b90f16222bc0a74d22) ) // .18s chip is not present but is tested for an FF fill (pull-up resistors on the PCB's data bus presumably accomplish this) - ROM_REGION( 4, "rom_key", ROMREGION_ERASE00 ) + _315_5881_UNUSED_OR_UNKNOWN // this dump can't be used as main_eeprom, because that's exactly 0x80 bytes ROM_REGION(0x84, "some_eeprom", 0) @@ -6535,7 +6456,7 @@ ROM_START( starhrcl ) ROM_LOAD( "mpr-23280.ic6", 0x5800000, 0x1000000, CRC(b1c8daa2) SHA1(a05fb374156ea013e35502abccc92f5117c39daa) ) ROM_LOAD( "mpr-23281.ic7", 0x6800000, 0x0800000, CRC(c0378369) SHA1(c728a181eddb01b9f8574669d4550baed559a5a4) ) - ROM_REGION( 4, "rom_key", ROMREGION_ERASE00 ) + _315_5881_UNUSED_OR_UNKNOWN // this dump can't be used as main_eeprom, because that's exactly 0x80 bytes ROM_REGION(0x84, "some_eeprom", 0) @@ -6557,7 +6478,7 @@ ROM_START( starhrsp ) ROM_LOAD( "mpr-24128.ic6", 0x5800000, 0x1000000, CRC(bfdbb853) SHA1(bfbeb6ab634201af68d1427dea4f50163673fc2c) ) ROM_LOAD( "mpr-24129.ic7", 0x6800000, 0x1000000, CRC(c3f0f06a) SHA1(152324f2dbbde5560ae3adb1f9394a273fedbe9c) ) - ROM_REGION( 4, "rom_key", ROMREGION_ERASE00 ) + _315_5881_UNUSED_OR_UNKNOWN ROM_END /* prototype cartridges for games released on GD-ROM */ @@ -6593,7 +6514,7 @@ ROM_START( puyofevp ) ROM_COPY( "rom_board", 0x01000000, 0x400000, 0xc00000 ) // M1 board, but it doesn't appear the protection is used - ROM_REGION( 4, "rom_key", ROMREGION_ERASE00 ) + _NAOMI_M1_KEYFILE_UNUSED // this dump can't be used as main_eeprom, because that's exactly 0x80 bytes ROM_REGION(0x84, "some_eeprom", 0) @@ -7804,8 +7725,7 @@ ROM_START( vstrik3c ) ROM_LOAD( "mpr-23661.ic10", 0x9800000, 0x1000000, CRC(7d44dc74) SHA1(cfd6253eab3c1a039629b4873946c9dbc7ed6872) ) ROM_LOAD( "mpr-23662.ic11", 0xa800000, 0x0800000, CRC(d6ef7d68) SHA1(4ee396af6c5caf4c5af6e9ad0e03a7ac2c5039f4) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "vstrik3c-key.bin", 0, 4, CRC(8bfdd6e7) SHA1(850ae78d77603209ef6dfd4bebf6fea5361677e8) ) + _315_5881_KEYFILE("vstrik2c-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( vstrik3cb ) @@ -7826,8 +7746,7 @@ ROM_START( vstrik3cb ) ROM_LOAD( "mpr-23661.ic10", 0x9800000, 0x1000000, CRC(7d44dc74) SHA1(cfd6253eab3c1a039629b4873946c9dbc7ed6872) ) ROM_LOAD( "mpr-23662.ic11", 0xa800000, 0x0800000, CRC(d6ef7d68) SHA1(4ee396af6c5caf4c5af6e9ad0e03a7ac2c5039f4) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "vstrik3c-key.bin", 0, 4, CRC(8bfdd6e7) SHA1(850ae78d77603209ef6dfd4bebf6fea5361677e8) ) + _315_5881_KEYFILE("vstrik3c-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( wldrider ) @@ -7847,8 +7766,7 @@ ROM_START( wldrider ) ROM_LOAD( "mpr-23619.ic9", 0x8800000, 0x1000000, CRC(a5f4f6af) SHA1(bb89d3f0f5bbaf7c40fa43680c7e51ef93f7ed26) ) ROM_LOAD( "mpr-23620.ic10", 0x9800000, 0x1000000, CRC(67aa15a9) SHA1(42c24cbf7069c27430a71509a872cd1c4224aaeb) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "wldrider-key.bin", 0, 4, CRC(7ac4f5fa) SHA1(5d08ecfbdc5f4bf26a9ea521a647c93141e7f635) ) + _315_5881_KEYFILE("wldridr-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( vf4cart ) @@ -7869,8 +7787,7 @@ ROM_START( vf4cart ) ROM_LOAD( "mpr-23783.ic10", 0x9800000, 0x1000000, CRC(c8d4f6f9) SHA1(9e9df605c050b3780d7df34bd5041d30bc084d2d) ) ROM_LOAD( "mpr-23784.ic11", 0xa800000, 0x1000000, CRC(f74f2fee) SHA1(84b07baa6d116727e66ef27e24ba6484c3393891) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "vf4cart-key.bin", 0, 4, CRC(ade11941) SHA1(2d2c5fc0d625a67b2940c195313ff05566020d13) ) + _315_5881_KEYFILE("vf4cart-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END // There is also a development cart (171-7885A) with 20x 64Mb FlashROMs instead of 10x 128Mb MaskROMs. Content is the same. @@ -7891,7 +7808,7 @@ ROM_START( kingrt66 ) ROM_LOAD("mpr-23816.ic9", 0x08800000, 0x01000000, CRC(bbaf0765) SHA1(3b79a4eff504b2156bea8b86c6cdd8e41e7bf268) ) ROM_LOAD("mpr-23817.ic10", 0x09800000, 0x01000000, CRC(e179cfb6) SHA1(1120036238439f8ac1041150396e4b60e4a243bc) ) - ROM_REGION( 4, "rom_key", ROMREGION_ERASE00 ) + _315_5881_UNUSED_OR_UNKNOWN ROM_END ROM_START( soulsurf ) @@ -7923,7 +7840,7 @@ ROM_START( soulsurf ) ROM_LOAD( "ic20s.bin", 0xa000000, 0x800000, CRC(c90b960d) SHA1(66e9f09d1f7f6a991371574a2e095c0e22fb7031) ) ROM_LOAD( "ic21s.bin", 0xa800000, 0x800000, CRC(1477c064) SHA1(87fb8d8a91d6bed70b246a8df88fa77fbf3db443) ) - ROM_REGION( 4, "rom_key", ROMREGION_ERASE00 ) + _315_5881_UNUSED_OR_UNKNOWN ROM_END ROM_START( vf4evoct ) @@ -7955,8 +7872,7 @@ ROM_START( vf4evoct ) ROM_COPY( "rom_board", 0x1000000, 0x400000, 0xc00000 ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "vf4evoct-key.bin", 0, 4, CRC(c37dae2b) SHA1(c42dc01b5918db36e7eb2aca523e2f4df567725a) ) + _315_5881_KEYFILE("vf4evoct-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( hopper ) @@ -7992,8 +7908,7 @@ ROM_START( clubkrte ) ROM_LOAD( "mpr-23702.ic10", 0x9800000, 0x1000000, CRC(e302b582) SHA1(787192ed9f9a08541eecc3128855485cad802a42) ) ROM_LOAD( "mpr-23703.ic11", 0xa800000, 0x1000000, CRC(702b8b4a) SHA1(3a8dfde458f341e7db20664382b9fce2b6e5d462) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "clubkrte-key.bin", 0, 4, CRC(5420fd0a) SHA1(06cb480c12f0ddc10e7601d34c5f42dda6ac6145) ) + _315_5881_KEYFILE("clubkrte-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( clubkrtd ) @@ -8014,8 +7929,7 @@ ROM_START( clubkrtd ) ROM_LOAD( "mpr-23702.ic10", 0x9800000, 0x1000000, CRC(e302b582) SHA1(787192ed9f9a08541eecc3128855485cad802a42) ) ROM_LOAD( "mpr-23703.ic11", 0xa800000, 0x1000000, CRC(702b8b4a) SHA1(3a8dfde458f341e7db20664382b9fce2b6e5d462) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "clubkrte-key.bin", 0, 4, CRC(db426a5d) SHA1(6a6a0b80ec0416605541159efea379dc19fe796d) ) + _315_5881_KEYFILE("clubkrte-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( clubkrtc ) @@ -8036,8 +7950,7 @@ ROM_START( clubkrtc ) ROM_LOAD( "mpr-23702.ic10", 0x9800000, 0x1000000, CRC(e302b582) SHA1(787192ed9f9a08541eecc3128855485cad802a42) ) ROM_LOAD( "mpr-23703.ic11", 0xa800000, 0x1000000, CRC(702b8b4a) SHA1(3a8dfde458f341e7db20664382b9fce2b6e5d462) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "clubkrte-key.bin", 0, 4, CRC(db426a5d) SHA1(6a6a0b80ec0416605541159efea379dc19fe796d) ) + _315_5881_KEYFILE("clubkrte-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( clubkprz ) @@ -8069,8 +7982,7 @@ ROM_START( clubkprz ) ROM_REGION(0x84, "some_eeprom", 0) ROM_LOAD( "at25010.ic3s", 0x000000, 0x000084, CRC(0142d8be) SHA1(5922b6c47b12b19e1fa7bbe9aae391905038a7ff) ) - ROM_REGION( 4, "rom_key", 0 ) // 317-0368-COM - ROM_LOAD( "clubkprz-key.bin", 0x000000, 0x000004, CRC(c9ed13c1) SHA1(2907985375cd5b04846e7214d200926be64d06fd) ) + _315_5881_KEYFILE("clubkprz-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END ROM_START( clubkpzb ) @@ -8098,8 +8010,7 @@ ROM_START( clubkpzb ) ROM_COPY( "rom_board", 0x1000000, 0x400000, 0xc00000 ) - ROM_REGION( 4, "rom_key", ROMREGION_ERASE00 ) - ROM_LOAD( "clubkprz-key.bin", 0x000000, 0x000004, CRC(c9ed13c1) SHA1(2907985375cd5b04846e7214d200926be64d06fd) ) + _315_5881_KEYFILE("clubkprz-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) // this dump can't be used as main_eeprom, because that's exactly 0x80 bytes ROM_REGION(0x84, "some_eeprom", 0) @@ -8133,8 +8044,7 @@ ROM_START( clubk2k3 ) ROM_COPY( "rom_board", 0x1000000, 0x400000, 0xc00000 ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "clubk2k3-key.bin", 0x000000, 0x000004, CRC(96c3b4f6) SHA1(9b85a418153c70f56aaeeb1ed0bbbbd31a1bbad7) ) + _315_5881_KEYFILE("clubk2k3-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111)) ROM_END // uses the same mask roms data as clubk2k3, but not in 32bit dissected form, EPR doesn't have checksumms for them, so rom test shows all roms as BAD diff --git a/src/mame/machine/315-5881_crypt.h b/src/mame/machine/315-5881_crypt.h index 288af4eb2f3..3a7d98997c9 100644 --- a/src/mame/machine/315-5881_crypt.h +++ b/src/mame/machine/315-5881_crypt.h @@ -4,6 +4,8 @@ #ifndef __SEGA315_5881_CRYPT__ #define __SEGA315_5881_CRYPT__ +#include "315-5881_helper.h" + typedef device_delegate sega_m2_read_delegate; extern const device_type SEGA315_5881_CRYPT; diff --git a/src/mame/machine/315-5881_helper.c b/src/mame/machine/315-5881_helper.c new file mode 100644 index 00000000000..f19574d2c26 --- /dev/null +++ b/src/mame/machine/315-5881_helper.c @@ -0,0 +1,135 @@ + +/* Sega 315-5881 support file + + This encryption chip was used on various games running on + ST-V + Naomi + Naomi 2 + Hikaru + Model 2 + Model 3 + (more?) + + As the encryption isn't fully understood yet this file holds the current keys, these are subject to change. + */ + + +#include "emu.h" +#include "315-5881_helper.h" + +struct game_keys +{ + const char *name; /* game driver name */ + const INT64 key; // INT64 so we can use -1 for unknown keys + +}; + +// chip numbers based on Guru's list at +// http://members.iinet.net.au/~lantra9jp1/gurudumps/sega-security/sega_security.html +// (todo , complete it ) + + +static const struct game_keys keys_table[] = +{ + // name key gameid # year chip label platform +// { "twcup98", 0x05200913 }, // 25209801 1998 317-5039-COM ST-V (this is correct key, but not yet working with our code) + { "twcup98", -1 }, // 25209801 1998 317-5039-COM ST-V + { "astrass", 0x052e2901 }, // 25349801 1998 317-5040-COM ST-V (yes, the 317-5040-COM chip was reused for 3 different games and on both Naomi and ST-V!) + { "wldkicks", 0x052e2901 }, // 25209801 2000 317-5040-COM Naomi + { "toukon4", 0x052e2901 }, // 25349801 2000 317-5040-COM Naomi + { "rsgun", -1 }, // 1998 317-5041-COM ST-V + { "sss", -1 }, // 1998 317-5042-COM ST-V + { "elandore", -1 }, // 1998 317-5043-COM ST-V + { "ffreveng", -1 }, // 1998 317-5049-COM ST-V + { "ninjaslt", 0x000ca510 }, // 25469801 2000 + { "ninjaslt4", 0x000ca510 }, // 25469801 2000 + { "gunsur2e", 0x000680d0 }, // 25709801 2001 + { "mazan", 0x000fea94 }, // 25869812 2002 + { "f355twin", 0x0006efd4 }, // 834-13950 1999 + { "alpiltdx", 0x00070e41 }, // 834-????? 1999 + { "f355twn2", 0x001666c6 }, // 834-????? 2001 + { "crzytaxi", 0x000d2f45 }, // 840-0002 1999 + { "zombrvn", 0x00012b41 }, // 840-0003 1999 + { "ringout", 0x000b1e40 }, // 840-0004 1999 + { "alpilota", 0x00070e41 }, // 840-0005 1999 + { "ggram2", 0x00074a61 }, // 840-0007 1999 + { "vs2_2k", 0x00088b08 }, // 840-0010 1999 + { "toyfight", 0x0002ca85 }, // 840-0011 1999 + { "smlg99", 0x00048a01 }, // 840-0012 1999 + { "jambo", 0x000fab95 }, // 840-0013 1999 + { "vtennis", 0x0003eb15 }, // 840-0015 1999 + { "derbyoc", 0x000fee35 }, // 840-0016 1999 + { "otrigger", 0x000fea94 }, // 840-0017 1999 + { "sgtetris", 0x0008ae51 }, // 840-0018 1999 + { "dybb99", 0x00048a01 }, // 840-0019 1999 + { "samba", 0x000a8b5d }, // 840-0020 1999 + { "sambap", 0x000a8b5d }, // 840-0020 1999 + { "virnbao", 0x00068b58 }, // 840-0021 2000 + { "18wheelr", 0x0007cf54 }, // 840-0023 2000 + { "marstv", 0x000b8ef5 }, // 840-0025 1999 + { "vonot", 0x00010715 }, // 840-0028 2000 + { "sstrkfgt", 0x00132303 }, // 840-0035 2000 + { "18wheels", 0x0007cf54 }, // 840-0036 2000 + { "wwfroyal", 0x001627c3 }, // 840-0040 2000 + { "slasho", 0x001a66ca }, // 840-0041 2000 + { "crackndj", 0x001c2347 }, // 840-0043 2000 + { "csmash", 0x00103347 }, // 840-0044 2000 + { "csmasho", 0x00103347 }, // 840-0044 2000 + { "samba2k", 0x001702cf }, // 840-0047 2000 + { "alienfnt", 0x00174343 }, // 840-0048 2001 + { "alienfnta", 0x00174343 }, // 840-0048 2001 + { "crackdj2", 0x00428247 }, // 840-0068 2001 + { "vf4cart", 0x06ef2f92 }, // 840-0080 2002 + { "pstone", 0x000e69c1 }, // 841-0001 1999 + { "suchie3", 0x000368e1 }, // 841-0002 1999 + { "doa2", 0x0008ad01 }, // 841-0003 1999 + { "doa2m", 0x0008ad01 }, // 841-0003 1999 + { "spawn", 0x00078d01 }, // 841-0005 1999 + { "puyoda", 0x000acd40 }, // 841-0006 1999 + { "pstone2", 0x000b8dc0 }, // 841-0008 2000 + { "capsnk", 0x00000000 }, // 841-0011 2000 + { "capsnka", 0x00000000 }, // 841-0011 2000 + { "capsnkb", 0x00000000 }, // 841-0011 2000 + { "cspike", 0x000e2010 }, // 841-0012 2000 + { "ggx", 0x00076110 }, // 841-0013 2000 + { "gwing2", 0x000b25d0 }, // 841-0014 2000 + { "pjustic", 0x000725d0 }, // 841-0015 2000 + { "deathcox", 0x000b64d0 }, // 841-0016 2000 + { "gundmct", 0x000e8010 }, // 841-0017 2001 + { "zerogu2", 0x0007c010 }, // 841-0020 2001 + { "hmgeo", 0x00038510 }, // HMG016007 2001 + + { "airtrix", -1 }, // ???? 317-0294-COM Hikaru + { "pharrier", -1 }, // ???? 317-0297-COM Hikaru + { "podrace", -1 }, // ???? 317-0277-COM Hikaru + + { "vs298", 0x09234e96 }, // ???? 317-????-COM Model 3 + { "vs299", 0x09222ac8 }, // ???? 317-0245-COM Model 3 + { "swt", 0x11272a01 }, // ???? 317-0241-COM Model 3 + + { "dynamcop", 0x0c2a4a93 }, // ???? 317-0236-COM Model 2 + + + { NULL, 0 } // end of table +}; + + +INT64 get_315_5881_key(running_machine &machine) +{ + const char *gamename = machine.system().name; + const struct game_keys *k = &keys_table[0]; + + while (k->name) + { + if (strcmp(k->name, gamename) == 0) + { + // we have a proper key so return it + return k->key; + } + ++k; + } + + printf("get_naomi_key : KEY NOT FOUND\n"); + + return 0; +} diff --git a/src/mame/machine/315-5881_helper.h b/src/mame/machine/315-5881_helper.h new file mode 100644 index 00000000000..3c3ef4b463b --- /dev/null +++ b/src/mame/machine/315-5881_helper.h @@ -0,0 +1,33 @@ + +// use the internal key list, or external files? +#define USE_315_5881_HELPER 1 + +INT64 get_315_5881_key(running_machine &machine); + +#if USE_315_5881_HELPER + +#define _315_5881_KEYFILE(name,hash) \ + /* nothing */ + +#define _315_5881_UNUSED_OR_UNKNOWN \ + /* nothing */ + +#define _315_5881_UNUSED \ + /* nothing */ + + +#else + +#define _315_5881_KEYFILE(name,hash) \ + ROM_REGION( 4, "315_5881key", 0 ) \ + ROM_LOAD( name, 0, 4, hash ) + +#define _315_5881_UNUSED_OR_UNKNOWN \ + ROM_REGION( 4, "315_5881key", ROMREGION_ERASE00 ) + +#define _315_5881_UNUSED \ + ROM_REGION( 4, "315_5881key", ROMREGION_ERASE00 ) + + + +#endif \ No newline at end of file diff --git a/src/mame/machine/naomicrypt.c b/src/mame/machine/naomicrypt.c index 032ed027155..d7654025906 100644 --- a/src/mame/machine/naomicrypt.c +++ b/src/mame/machine/naomicrypt.c @@ -1,15 +1,15 @@ -/* Naomi cartridge encryption +/* Sega 'M1' type encryption ( using an Actel A54SX32 ) - see naomim1.c, naomim2.c and naomim4.c for implementation details + see naomim1.c for Naomi hokup details The keys here are totally arbitrary and have nothing to do with the real keys. - Atomiswave is significantly different and not listed here. - Naomi GD-ROMs use DES encryption, and the keys are stored as part of the PIC dumps instead. + used by + Naomi + Hikaru + - the Naomi schemes are clearly related to CPS2 - the ST-V scheme could also be related to this. */ @@ -27,66 +27,6 @@ struct game_keys static const struct game_keys keys_table[] = { // name key gameid # year -// M2 - { "wldkicks", 0x052e2901 }, // 25209801 2000 - { "toukon4", 0x052e2901 }, // 25349801 2000 - { "ninjaslt", 0x000ca510 }, // 25469801 2000 - { "ninjaslt4", 0x000ca510 }, // 25469801 2000 - { "gunsur2e", 0x000680d0 }, // 25709801 2001 - { "mazan", 0x000fea94 }, // 25869812 2002 - { "f355twin", 0x0006efd4 }, // 834-13950 1999 - { "alpiltdx", 0x00070e41 }, // 834-????? 1999 - { "f355twn2", 0x001666c6 }, // 834-????? 2001 - { "crzytaxi", 0x000d2f45 }, // 840-0002 1999 - { "zombrvn", 0x00012b41 }, // 840-0003 1999 - { "ringout", 0x000b1e40 }, // 840-0004 1999 - { "alpilota", 0x00070e41 }, // 840-0005 1999 - { "ggram2", 0x00074a61 }, // 840-0007 1999 - { "vs2_2k", 0x00088b08 }, // 840-0010 1999 - { "toyfight", 0x0002ca85 }, // 840-0011 1999 - { "smlg99", 0x00048a01 }, // 840-0012 1999 - { "jambo", 0x000fab95 }, // 840-0013 1999 - { "vtennis", 0x0003eb15 }, // 840-0015 1999 - { "derbyoc", 0x000fee35 }, // 840-0016 1999 - { "otrigger", 0x000fea94 }, // 840-0017 1999 - { "sgtetris", 0x0008ae51 }, // 840-0018 1999 - { "dybb99", 0x00048a01 }, // 840-0019 1999 - { "samba", 0x000a8b5d }, // 840-0020 1999 - { "sambap", 0x000a8b5d }, // 840-0020 1999 - { "virnbao", 0x00068b58 }, // 840-0021 2000 - { "18wheelr", 0x0007cf54 }, // 840-0023 2000 - { "marstv", 0x000b8ef5 }, // 840-0025 1999 - { "vonot", 0x00010715 }, // 840-0028 2000 - { "sstrkfgt", 0x00132303 }, // 840-0035 2000 - { "18wheels", 0x0007cf54 }, // 840-0036 2000 - { "wwfroyal", 0x001627c3 }, // 840-0040 2000 - { "slasho", 0x001a66ca }, // 840-0041 2000 - { "crackndj", 0x001c2347 }, // 840-0043 2000 - { "csmash", 0x00103347 }, // 840-0044 2000 - { "csmasho", 0x00103347 }, // 840-0044 2000 - { "samba2k", 0x001702cf }, // 840-0047 2000 - { "alienfnt", 0x00174343 }, // 840-0048 2001 - { "alienfnta", 0x00174343 }, // 840-0048 2001 - { "crackdj2", 0x00428247 }, // 840-0068 2001 - { "vf4cart", 0x06ef2f92 }, // 840-0080 2002 - { "pstone", 0x000e69c1 }, // 841-0001 1999 - { "suchie3", 0x000368e1 }, // 841-0002 1999 - { "doa2", 0x0008ad01 }, // 841-0003 1999 - { "doa2m", 0x0008ad01 }, // 841-0003 1999 - { "spawn", 0x00078d01 }, // 841-0005 1999 - { "puyoda", 0x000acd40 }, // 841-0006 1999 - { "pstone2", 0x000b8dc0 }, // 841-0008 2000 - { "capsnk", 0x00000000 }, // 841-0011 2000 - { "capsnka", 0x00000000 }, // 841-0011 2000 - { "capsnkb", 0x00000000 }, // 841-0011 2000 - { "cspike", 0x000e2010 }, // 841-0012 2000 - { "ggx", 0x00076110 }, // 841-0013 2000 - { "gwing2", 0x000b25d0 }, // 841-0014 2000 - { "pjustic", 0x000725d0 }, // 841-0015 2000 - { "deathcox", 0x000b64d0 }, // 841-0016 2000 - { "gundmct", 0x000e8010 }, // 841-0017 2001 - { "zerogu2", 0x0007c010 }, // 841-0020 2001 - { "hmgeo", 0x00038510 }, // HMG016007 2001 // M1 { "tduno2", 0x2f6f0f8d }, // 840-0022 2000 { "qmegamis", 0x96489bcd }, // 840-0030 2000 @@ -99,6 +39,7 @@ static const struct game_keys keys_table[] = { "kick4csh", 0xc9570882 }, // 840-0140 2004 { "mtkob2", 0x3892fb3a }, // 840-0150 2003 { "mvsc2", 0x7c6e8bc1 }, // 841-0007-02 2000 +// sgnascar (Hikaru) { NULL, 0 } // end of table }; diff --git a/src/mame/machine/naomicrypt.h b/src/mame/machine/naomicrypt.h index 73feafc79e2..55e01456ce2 100644 --- a/src/mame/machine/naomicrypt.h +++ b/src/mame/machine/naomicrypt.h @@ -1,4 +1,15 @@ /* naomicrypt.h */ + +// use internal M1 key tables, or external files (0 = external files) #define USE_NAOMICRYPT 0 UINT32 get_naomi_key(running_machine &machine); + +#define _NAOMI_M1_KEYFILE(name,hash) \ + ROM_REGION( 4, "rom_key", 0 ) \ + ROM_LOAD( name, 0, 4, hash ) + + +#define _NAOMI_M1_KEYFILE_UNUSED \ + ROM_REGION( 4, "rom_key", ROMREGION_ERASE00 ) \ + diff --git a/src/mame/machine/naomim2.c b/src/mame/machine/naomim2.c index 77211ad2b6f..82a83f09156 100644 --- a/src/mame/machine/naomim2.c +++ b/src/mame/machine/naomim2.c @@ -135,8 +135,8 @@ void naomi_m2_board::device_reset() rom_cur_address = 0; -#if USE_NAOMICRYPT - m_cryptdevice->set_key(get_naomi_key(machine())); +#if USE_315_5881_HELPER + m_cryptdevice->set_key(get_315_5881_key(machine())); #else const UINT8 *key_data = memregion(key_tag)->base(); m_cryptdevice->set_key((key_data[0] << 24) | (key_data[1] << 16) | (key_data[2] << 8) | key_data[3]); diff --git a/src/mame/machine/naomim2.h b/src/mame/machine/naomim2.h index 4b7202efbec..9bfd1f9a29c 100644 --- a/src/mame/machine/naomim2.h +++ b/src/mame/machine/naomim2.h @@ -4,6 +4,7 @@ #include "naomibd.h" #include "315-5881_crypt.h" + #define MCFG_NAOMI_M2_BOARD_ADD(_tag, _key_tag, _eeprom_tag, _actel_tag, _irq_cb) \ MCFG_NAOMI_BOARD_ADD(_tag, NAOMI_M2_BOARD, _eeprom_tag, _actel_tag, _irq_cb) \ naomi_m2_board::static_set_tags(*device, _key_tag); diff --git a/src/mame/machine/stvprot.c b/src/mame/machine/stvprot.c index 1f53ff0bd9c..7574db053d0 100644 --- a/src/mame/machine/stvprot.c +++ b/src/mame/machine/stvprot.c @@ -674,7 +674,15 @@ void stv_state::install_common_protection() { m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x4fffff0, 0x4ffffff, read32_delegate(FUNC(stv_state::common_prot_r), this), write32_delegate(FUNC(stv_state::common_prot_w), this)); + INT64 key = get_315_5881_key(machine()); + if (key != -1) + { + m_cryptdevice->set_key(key); // use real decryption + m_using_crypt_device = 1; + } + else + m_using_crypt_device = 0; // use protection sim } void stv_state::install_sss_protection() @@ -686,9 +694,6 @@ void stv_state::install_sss_protection() void stv_state::install_astrass_protection() { install_common_protection(); -// m_prot_readback = astrass_prot_read_callback; - m_cryptdevice->set_key(0x052e2901); // same key as wldkicks / toukon4 - m_using_crypt_device = 1; } void stv_state::install_ffreveng_protection() @@ -713,16 +718,11 @@ void stv_state::install_twcup98_protection() { install_common_protection(); m_prot_readback = twcup98_prot_read_callback; - m_cryptdevice->set_key(0x05200913 ); - m_using_crypt_device = 0; // doesn't currently work } - void stv_state::stv_register_protection_savestates() { - - save_item(NAME(m_a_bus)); save_item(NAME(m_ctrl_index)); save_item(NAME(m_internal_counter)); diff --git a/src/mame/mame.mak b/src/mame/mame.mak index 7bf393a5727..47f401997e7 100644 --- a/src/mame/mame.mak +++ b/src/mame/mame.mak @@ -1723,6 +1723,7 @@ $(MAMEOBJ)/sega.a: \ $(MACHINE)/naomig1.o $(MACHINE)/naomibd.o $(MACHINE)/naomirom.o $(MACHINE)/naomigd.o \ $(MACHINE)/naomicrypt.o $(MACHINE)/naomim1.o $(MACHINE)/naomim2.o $(MACHINE)/naomim4.o \ $(MACHINE)/315-5881_crypt.o \ + $(MACHINE)/315-5881_helper.o \ $(MACHINE)/awboard.o \ $(MACHINE)/mie.o $(MACHINE)/maple-dc.o $(MACHINE)/mapledev.o $(MACHINE)/dc-ctrl.o $(MACHINE)/jvs13551.o \ $(DRIVERS)/triforce.o \ -- cgit v1.2.3