From b321bc6a8e5e52f57d4be3660f74c636050fc726 Mon Sep 17 00:00:00 2001 From: andreasnaive Date: Wed, 28 Jan 2015 23:14:58 +0100 Subject: [PATCH] Updates to 315-5881 encryption based on Daytona2 Power Edition's analysis [Andreas Naive] --- src/mame/drivers/hikaru.c | 6 +- src/mame/drivers/model2.c | 10 +-- src/mame/drivers/model3.c | 40 ++++++------ src/mame/drivers/naomi.c | 104 +++++++++++++++--------------- src/mame/machine/315-5881_crypt.c | 18 +++--- 5 files changed, 89 insertions(+), 89 deletions(-) diff --git a/src/mame/drivers/hikaru.c b/src/mame/drivers/hikaru.c index 6d6849e315c..27e71c5cf9d 100644 --- a/src/mame/drivers/hikaru.c +++ b/src/mame/drivers/hikaru.c @@ -571,7 +571,7 @@ ROM_START( airtrix ) /* ic66 unpopulated */ // 834-14149 2000 317-0294-COM Hikaru - ROM_PARAMETER( ":rom_board:segam2crypt:key", "091b02c7" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "291b02c7" ) ROM_END @@ -609,7 +609,7 @@ ROM_START( pharrier ) ROM_LOAD32_WORD( "mpr-23564.ic66", 0xe000002, 0x1000000, CRC(255724b6) SHA1(1b382fad165831de3f2e39352c031146759dfc69) ) // 834-14144 2001 317-0297-COM Hikaru - ROM_PARAMETER( ":rom_board:segam2crypt:key", "0912c68a" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "2912c68a" ) ROM_END ROM_START( podrace ) @@ -663,7 +663,7 @@ ROM_START( podrace ) // current 315-5881 decryption simulation code can't produce valid output data with any of keys // 834-14002 2001 317-0277-COM Hikaru - ROM_PARAMETER( ":rom_board:segam2crypt:key", "0903dad5" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "2903dad5" ) ROM_END ROM_START( braveff ) diff --git a/src/mame/drivers/model2.c b/src/mame/drivers/model2.c index 0d6c06d602f..ce5a5557d21 100644 --- a/src/mame/drivers/model2.c +++ b/src/mame/drivers/model2.c @@ -3571,7 +3571,7 @@ ROM_START( dynamcop ) /* Dynamite Cop (Export), Model 2A, Sega Game ID# 833-1134 ROM_LOAD("mpr-20815.37", 0x600000, 0x200000, CRC(1b5aaae4) SHA1(32b4bf6c096fdccdd5d8f1ddb6c27d3389a52234) ) // 1998 317-0236-COM Model 2 - ROM_PARAMETER( ":315_5881:key", "0c2a4a93" ) + ROM_PARAMETER( ":315_5881:key", "2c2a4a93" ) MODEL2_CPU_BOARD MODEL2A_VID_BOARD @@ -3622,7 +3622,7 @@ ROM_START( dyndeka2 ) /* Dynamite Deka 2 (Japan), Model 2A */ ROM_LOAD("mpr-20815.37", 0x600000, 0x200000, CRC(1b5aaae4) SHA1(32b4bf6c096fdccdd5d8f1ddb6c27d3389a52234) ) // 1998 317-0236-COM Model 2 - ROM_PARAMETER( ":315_5881:key", "0c2a4a93" ) + ROM_PARAMETER( ":315_5881:key", "2c2a4a93" ) MODEL2_CPU_BOARD MODEL2A_VID_BOARD @@ -3673,7 +3673,7 @@ ROM_START( dynamcopb ) /* Dynamite Cop (Export), Model 2B */ ROM_LOAD("mpr-20815.37", 0x600000, 0x200000, CRC(1b5aaae4) SHA1(32b4bf6c096fdccdd5d8f1ddb6c27d3389a52234) ) // 1998 317-0236-COM Model 2 - ROM_PARAMETER( ":315_5881:key", "0c2a4a93" ) + ROM_PARAMETER( ":315_5881:key", "2c2a4a93" ) ROM_END ROM_START( dyndeka2b ) /* Dynamite Deka 2 (Japan), Model 2B */ @@ -3721,7 +3721,7 @@ ROM_START( dyndeka2b ) /* Dynamite Deka 2 (Japan), Model 2B */ ROM_LOAD("mpr-20815.37", 0x600000, 0x200000, CRC(1b5aaae4) SHA1(32b4bf6c096fdccdd5d8f1ddb6c27d3389a52234) ) // 1998 317-0236-COM Model 2 - ROM_PARAMETER( ":315_5881:key", "0c2a4a93" ) + ROM_PARAMETER( ":315_5881:key", "2c2a4a93" ) ROM_END ROM_START( dynamcopc ) /* Dynamite Cop (USA), Model 2C */ @@ -3769,7 +3769,7 @@ ROM_START( dynamcopc ) /* Dynamite Cop (USA), Model 2C */ ROM_LOAD("mpr-20815.37", 0x600000, 0x200000, CRC(1b5aaae4) SHA1(32b4bf6c096fdccdd5d8f1ddb6c27d3389a52234) ) /* Located at position 35 on 2C-CRX rom board */ // 1998 317-0236-COM Model 2 - ROM_PARAMETER( ":315_5881:key", "0c2a4a93" ) + ROM_PARAMETER( ":315_5881:key", "2c2a4a93" ) ROM_END ROM_START( schamp ) /* Sonic Championship, Model 2B - Sega ROM board ID# 834-12786 */ diff --git a/src/mame/drivers/model3.c b/src/mame/drivers/model3.c index 6ee0608ea00..f219a88f05e 100644 --- a/src/mame/drivers/model3.c +++ b/src/mame/drivers/model3.c @@ -3336,7 +3336,7 @@ ROM_START( vs298 ) /* Step 2.0, Sega ID# 833-13346, ROM board ID# 834-13347 */ ROM_FILL( 0x000000, 0x80000, 0 ) // ???? 317-0237-COM Model 3 - ROM_PARAMETER( ":315_5881:key", "09234e96" ) + ROM_PARAMETER( ":315_5881:key", "29234e96" ) ROM_END ROM_START( vs29815 ) /* Step 1.5, ROM board ID# 834-13495 VS2 VER98 STEP 1.5 */ @@ -3489,7 +3489,7 @@ ROM_START( vs2v991 ) /* Step 2.0 */ ROM_FILL( 0x000000, 0x80000, 0 ) // ???? 317-0245-COM Model 3 - ROM_PARAMETER( ":315_5881:key", "09222ac8" ) + ROM_PARAMETER( ":315_5881:key", "29222ac8" ) ROM_END ROM_START( vs299b ) /* Step 2.0 */ @@ -3567,7 +3567,7 @@ ROM_START( vs299b ) /* Step 2.0 */ ROM_FILL( 0x000000, 0x80000, 0 ) // ???? 317-0245-COM Model 3 - ROM_PARAMETER( ":315_5881:key", "09222ac8" ) + ROM_PARAMETER( ":315_5881:key", "29222ac8" ) ROM_END ROM_START( vs299a ) /* Step 2.0 */ @@ -3723,7 +3723,7 @@ ROM_START( vs299 ) /* Step 2.0 */ ROM_FILL( 0x000000, 0x80000, 0 ) // ???? 317-0245-COM Model 3 - ROM_PARAMETER( ":315_5881:key", "09222ac8" ) + ROM_PARAMETER( ":315_5881:key", "29222ac8" ) ROM_END ROM_START( von2 ) /* Step 2.0 */ @@ -3802,7 +3802,7 @@ ROM_START( von2 ) /* Step 2.0 */ ROM_FILL( 0x000000, 0x80000, 0 ) // ???? 317-0234-COM Model 3 - ROM_PARAMETER( ":315_5881:key", "092a0e97" ) + ROM_PARAMETER( ":315_5881:key", "292a0e97" ) ROM_END ROM_START( von254g ) /* Step 2.0, Sega game ID# is 833-13789 */ @@ -3881,7 +3881,7 @@ ROM_START( von254g ) /* Step 2.0, Sega game ID# is 833-13789 */ ROM_FILL( 0x000000, 0x80000, 0 ) // ???? 317-0234-COM Model 3 - ROM_PARAMETER( ":315_5881:key", "092a0e97" ) + ROM_PARAMETER( ":315_5881:key", "292a0e97" ) ROM_END ROM_START( skichamp ) /* Step 2.0 */ @@ -4028,7 +4028,7 @@ ROM_START( swtrilgy ) /* Step 2.1, Sega game ID# is 833-13586, ROM board ID# 8 ROM_LOAD( "epr21119.ic8", 0x00000, 0x10000, CRC(65082b14) SHA1(6c3c192dd6ef3780c6202dd63fc6086328928818) ) // ???? 317-0241-COM Model 3 - ROM_PARAMETER( ":315_5881:key", "11272a01" ) + ROM_PARAMETER( ":315_5881:key", "31272a01" ) ROM_END ROM_START( swtrilgya ) /* Step 2.1, Sega game ID# is 833-13586, ROM board ID# 834-13587 STAR WARS TRILOGY, Security board ID# 837-13588-COM */ @@ -4100,7 +4100,7 @@ ROM_START( swtrilgya ) /* Step 2.1, Sega game ID# is 833-13586, ROM board ID# 8 ROM_FILL( 0x000000, 0x80000, 0 ) // ???? 317-0241-COM Model 3 - ROM_PARAMETER( ":315_5881:key", "11272a01" ) + ROM_PARAMETER( ":315_5881:key", "31272a01" ) ROM_END ROM_START( dirtdvls ) /* Step 2.1, Sega game ID# is 833-13427, ROM board ID# 834-13528 DRT */ @@ -4164,7 +4164,7 @@ ROM_START( dirtdvls ) /* Step 2.1, Sega game ID# is 833-13427, ROM board ID# 8 ROM_FILL( 0x000000, 0x80000, 0 ) // ???? 317-0238-COM Model 3 - ROM_PARAMETER( ":315_5881:key", "09290f17" ) + ROM_PARAMETER( ":315_5881:key", "29290f17" ) ROM_END ROM_START( dirtdvlsa ) /* Step 2.1 */ @@ -4311,7 +4311,7 @@ ROM_START( daytona2 ) /* Step 2.1, ROM board ID# 834-13428 DAYTONA USA2, Secur ROM_LOAD( "epr-20985.bin", 0x000000, 0x010000, CRC(b139481d) SHA1(05fca7db7c8b084c53bd157ba3e8296f1a961a99) ) // ???? 317-0239-COM Model 3 - ROM_PARAMETER( ":315_5881:key", "09250e16" ) + ROM_PARAMETER( ":315_5881:key", "29250e16" ) ROM_END ROM_START( dayto2pe ) /* Step 2.1, Sega game ID# is 833-13610 DAYTONA USA2 SP, ROM board ID# 834-13609 DAYTONA USA2 SP, Security board ID# 837-13645-COM */ @@ -4394,7 +4394,7 @@ ROM_START( dayto2pe ) /* Step 2.1, Sega game ID# is 833-13610 DAYTONA USA2 SP, ROM_LOAD( "epr-20985.bin", 0x000000, 0x010000, CRC(b139481d) SHA1(05fca7db7c8b084c53bd157ba3e8296f1a961a99) ) // ???? 317-5045-COM Model 3 - ROM_PARAMETER( ":315_5881:key", "0" ) // unknown + ROM_PARAMETER( ":315_5881:key", "29222cc4" ) ROM_END ROM_START( srally2 ) /* Step 2.0, Sega game ID# is 833-13373, ROM board ID# 834-13374 SRT TWIN */ @@ -4749,7 +4749,7 @@ ROM_START( fvipers2 ) /* Step 2.0 */ ROM_FILL( 0x000000, 0x80000, 0 ) // ???? 317-0235-COM Model 3 - ROM_PARAMETER( ":315_5881:key", "09260e96" ) + ROM_PARAMETER( ":315_5881:key", "29260e96" ) ROM_END ROM_START( spikeout ) /* Step 2.1 */ @@ -4829,7 +4829,7 @@ ROM_START( spikeout ) /* Step 2.1 */ ROM_FILL( 0x000000, 0x80000, 0 ) // ???? 317-0240-COM Model 3 - ROM_PARAMETER( ":315_5881:key", "092f2b04" ) + ROM_PARAMETER( ":315_5881:key", "292f2b04" ) ROM_END ROM_START( spikeofe ) /* Step 2.1, Sega game ID# is 833-13746, ROM board ID# 834-13747 SPK F/E, Security board ID# 837-13726-COM */ @@ -4909,7 +4909,7 @@ ROM_START( spikeofe ) /* Step 2.1, Sega game ID# is 833-13746, ROM board ID# 8 ROM_FILL( 0x000000, 0x80000, 0 ) // ???? 317-0247-COM Model 3 - ROM_PARAMETER( ":315_5881:key", "09236fc8" ) + ROM_PARAMETER( ":315_5881:key", "29236fc8" ) ROM_END ROM_START( eca ) /* Step 2.1, ROM board ID# 834-13946-01 ECA */ @@ -4980,7 +4980,7 @@ ROM_START( eca ) /* Step 2.1, ROM board ID# 834-13946-01 ECA */ ROM_FILL( 0x000000, 0x80000, 0 ) // ???? 317-0265-COM Model 3 - ROM_PARAMETER( ":315_5881:key", "0923aa91" ) + ROM_PARAMETER( ":315_5881:key", "2923aa91" ) ROM_END ROM_START( ecax ) /* Step 2.1 */ @@ -5051,7 +5051,7 @@ ROM_START( ecax ) /* Step 2.1 */ ROM_FILL( 0x000000, 0x80000, 0 ) // ???? 317-0265-COM Model 3 - ROM_PARAMETER( ":315_5881:key", "0923aa91" ) + ROM_PARAMETER( ":315_5881:key", "2923aa91" ) ROM_END ROM_START( ecap ) /* Step 2.1 - Proto or Location test - No security dongle */ @@ -5125,7 +5125,7 @@ ROM_START( ecap ) /* Step 2.1 - Proto or Location test - No security dongle */ ROM_FILL( 0x000000, 0x80000, 0 ) // ???? 317-0265-COM Model 3 - ROM_PARAMETER( ":315_5881:key", "0923aa91" ) + ROM_PARAMETER( ":315_5881:key", "2923aa91" ) ROM_END ROM_START( magtruck ) /* Step 2.1, Sega game ID# is 833-13601-01 (Export), ROM board ID# 834-13600-01 RCS EXP (Export), Security board ID# 837-13599-COM */ @@ -5184,7 +5184,7 @@ ROM_START( magtruck ) /* Step 2.1, Sega game ID# is 833-13601-01 (Export), ROM ROM_FILL( 0x000000, 0x80000, 0 ) // ???? 317-0243-COM Model 3 - ROM_PARAMETER( ":315_5881:key", "09266e45" ) + ROM_PARAMETER( ":315_5881:key", "29266e45" ) ROM_END ROM_START( oceanhun ) /* Step 2.0, Sega game ID# is 833-13571, ROM board ID# 834-13572 THE OCEAN HUNTER, 317-0242-COM security chip (837-13576-COM security board) */ @@ -5255,7 +5255,7 @@ ROM_START( oceanhun ) /* Step 2.0, Sega game ID# is 833-13571, ROM board ID# 8 ROM_FILL( 0x000000, 0x80000, 0 ) // ???? 317-0242-COM Model 3 - ROM_PARAMETER( ":315_5881:key", "092b6a01" ) + ROM_PARAMETER( ":315_5881:key", "292b6a01" ) ROM_END ROM_START( lamachin ) /* Step 2.0, Sega game ID# is 833-13664, ROM board ID# 834-13665 L.A.MACHINEGUNS, 317-0244-COM security chip (837-13666-COM security board) */ @@ -5327,7 +5327,7 @@ ROM_START( lamachin ) /* Step 2.0, Sega game ID# is 833-13664, ROM board ID# 8 ROM_FILL( 0x000000, 0x80000, 0 ) // ???? 317-0244-COM Model 3 - ROM_PARAMETER( ":315_5881:key", "092a2bc5" ) + ROM_PARAMETER( ":315_5881:key", "292a2bc5" ) ROM_END /* Model 3 sound board emulation */ diff --git a/src/mame/drivers/naomi.c b/src/mame/drivers/naomi.c index 2c374acb7ac..7fc46e70deb 100644 --- a/src/mame/drivers/naomi.c +++ b/src/mame/drivers/naomi.c @@ -3221,7 +3221,7 @@ ROM_START( csmash ) ROM_LOAD("mpr-23427.ic8", 0x4000000, 0x0800000, CRC(5851d525) SHA1(1cb1073542d75a3bcc0d363ed31d49bcaf1fd494) ) // 840-0044 2000 317-0289-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "08103347" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "28103347" ) ROM_END ROM_START( csmasho ) @@ -3240,7 +3240,7 @@ ROM_START( csmasho ) ROM_LOAD("mpr-23427.ic8", 0x4000000, 0x0800000, CRC(5851d525) SHA1(1cb1073542d75a3bcc0d363ed31d49bcaf1fd494) ) // 840-0044 2000 317-0289-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "08103347" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "28103347" ) ROM_END /* @@ -3465,7 +3465,7 @@ ROM_START( derbyoc ) ROM_LOAD("mpr-22098.ic14s", 0x7000000, 0x0800000, CRC(f9824d2e) SHA1(f20f8cc2b1bef9077ede1cb874da8f2a335d39de) ) // 840-0016 1999 317-0262-JPN Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "080fee35" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "280fee35" ) ROM_END ROM_START( derbyocw ) @@ -3607,7 +3607,7 @@ ROM_START( dybbnao ) ROM_LOAD("mpr-21574.ic21s", 0xa800000, 0x0800000, CRC(d794a42c) SHA1(a79c7818c6ec993e718494b1d5407eb270a29abe) ) // 840-0001 1998 317-0246-JPN Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "080e6ae1" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "280e6ae1" ) ROM_END /* @@ -3671,7 +3671,7 @@ ROM_START( dybb99 ) ROM_LOAD("mpr-22140.ic19s", 0x9800000, 0x0800000, CRC(4cb54893) SHA1(a99b39cc3c82c3cf90f794bb8c8ba60638a6f921) ) // 840-0019 1999 317-0269-JPN Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "0804ae71" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "2804ae71" ) ROM_END ROM_START( smlg99 ) @@ -3704,7 +3704,7 @@ ROM_START( smlg99 ) ROM_LOAD( "mpr-22058.ic21s", 0xa800000, 0x800000, CRC(f16edaa0) SHA1(e093f5594df43c592a9acd45002ecc65035c2435) ) // 840-0012 1999 317-0259-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "08048a01" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "28048a01" ) ROM_END /* @@ -3746,7 +3746,7 @@ ROM_START( f355 ) ROM_LOAD("mpr-21901.ic21s", 0xa800000, 0x0800000, CRC(266a3eea) SHA1(795ecc5589a0152b9cf1e03e454ed1ea01501942) ) // 834-13842 1999 317-0254-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "080e8f84" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "280e8f84" ) ROM_REGION( 0x10000, "drivebd", 0 ) /* drive board ROM */ ROM_LOAD( "epr-21867.bin", 0x000000, 0x010000, CRC(4f93a2a0) SHA1(875907e7fcfc44850e2c60c12268ac61c742f217) ) @@ -3781,7 +3781,7 @@ ROM_START( f355twin ) ROM_LOAD( "mpr-22847.ic21s", 0xa800000, 0x800000, CRC(955ad42e) SHA1(e396ca02b5786557434632c4fac56af3a4a9f8ce) ) // 834-13950 1999 317-0267-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "0806efd4" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "2806efd4" ) ROM_END // There is also a development cart (171-7885A). Content is the same. @@ -3814,7 +3814,7 @@ ROM_START( f355twn2 ) ROM_LOAD( "mpr-23398.ic21s", 0xa800000, 0x800000, CRC(ea4d4d2a) SHA1(3dc9c7164516ae7f3b988c088ab819d8fd40d75e) ) // 840-0042 2001 317-0287-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "081666c6" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "281666c6" ) ROM_END ROM_START( alpiltdx ) @@ -3836,7 +3836,7 @@ ROM_START( alpiltdx ) ROM_LOAD( "mpr-21738.ic11", 0x5800000, 0x800000, CRC(95a592e8) SHA1(862dce467e8805381bab001df68262f1baf3c498) ) // 834-????? 1999 317-0251-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "08070e41" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "28070e41" ) // on-cart X76F100 eeprom contents ROM_REGION( 0x84, "naomibd_eeprom", 0 ) @@ -3862,7 +3862,7 @@ ROM_START( alpilota ) ROM_LOAD( "mpr-21738.ic11", 0x5800000, 0x800000, CRC(95a592e8) SHA1(862dce467e8805381bab001df68262f1baf3c498) ) // 840-0005 1999 317-0251-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "08070e41" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "28070e41" ) ROM_END ROM_START( hotd2 ) @@ -4000,7 +4000,7 @@ ROM_START( ggram2 ) ROM_LOAD("mpr-21831.ic11", 0x5800000, 0x0800000, CRC(751848d0) SHA1(9c2267fd3c6f9ea5f2679bb2ca20d511a49b2845) ) // 840-0007 1999 317-0253-JPN Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "08074a61" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "28074a61" ) ROM_END /* @@ -4090,7 +4090,7 @@ ROM_START( tduno ) ROM_LOAD( "x76f100.ic37", 0x000000, 0x000084, CRC(c79251d5) SHA1(3e70bbbb6d28bade7eec7e27d716463045656f98) ) // 840-0008 1999 317-0255-JPN Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "08028ea5" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "28028ea5" ) ROM_END ROM_START( tduno2 ) @@ -4167,7 +4167,7 @@ ROM_START( crackndj ) ROM_LOAD( "mpr-23534.ic10", 0x9800000, 0x1000000, CRC(62ed85b6) SHA1(b88336bc6115c92a839981cb0c0d0a67b1f7eda5) ) // 840-0043 2000 317-0288-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "081c2347" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "281c2347" ) ROM_END ROM_START( crakndj2 ) @@ -4201,7 +4201,7 @@ ROM_START( crakndj2 ) ROM_LOAD( "rom20.ic20s", 0xa000000, 0x800000, CRC(aabcd580) SHA1(9455e218ab381c7ad5adb2884da39ca7948169d5) ) // 840-0068 2001 317-0311-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "08428247" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "28428247" ) ROM_END ROM_START( samba2k ) @@ -4223,7 +4223,7 @@ ROM_START( samba2k ) ROM_LOAD( "mpr-23599.ic11", 0x0a800000, 0x1000000, CRC(1fd2e792) SHA1(6f299e527be529f85d0e8b4ce0e7a06ac0d25fe9) ) // 840-0047 2000 317-0295-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "081702cf" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "281702cf" ) ROM_END ROM_START( alienfnt ) @@ -4239,7 +4239,7 @@ ROM_START( alienfnt ) ROM_LOAD( "mpr-23585.ic5", 0x4800000, 0x1000000, CRC(883a6482) SHA1(e3145710df793b7fd67f02707904416210a71978) ) // 840-0048 2001 317-0293-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "08174343" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "28174343" ) ROM_END ROM_START( alienfnta ) @@ -4255,7 +4255,7 @@ ROM_START( alienfnta ) ROM_LOAD( "mpr-23585.ic5", 0x4800000, 0x1000000, CRC(883a6482) SHA1(e3145710df793b7fd67f02707904416210a71978) ) // 840-0048 2001 317-0293-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "08174343" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "28174343" ) ROM_END /* @@ -4518,7 +4518,7 @@ ROM_START( toyfight ) ROM_LOAD("mpr-22034.ic10",0x5000000, 0x0800000, CRC(3aa5ce5e) SHA1(f00a906235e4522d6fc2ac771324114346875314) ) // 840-0011 1999 317-0257-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "0802ca85" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "2802ca85" ) ROM_END /* Crazy Taxi */ @@ -4543,7 +4543,7 @@ ROM_START( crzytaxi ) ROM_LOAD( "mpr-21683.ic15s", 0x7800000, 0x800000, CRC(ac8a27e0) SHA1(8e71d853a102dd6c164d5326e6d157ccfb8c7b36) ) // 840-0002 1999 317-0248-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "080d2f45" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "280d2f45" ) ROM_END /* Jambo! Safari */ @@ -4563,7 +4563,7 @@ ROM_START( jambo ) ROM_LOAD( "mpr-22825.ic8", 0x4000000, 0x800000, CRC(85bada10) SHA1(b6e15d8f1d6bca12ffa4816ed0393c04ca500fba) ) // 840-0013 1999 317-0264-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "080fab95" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "280fab95" ) ROM_END /* 18 Wheeler (deluxe) (Rev A) */ @@ -4595,7 +4595,7 @@ ROM_START( 18wheelr ) ROM_LOAD( "mpr-22183.ic20s", 0xa000000, 0x800000, CRC(776af308) SHA1(7d29cb4dce75d34c622549fea7e102868d0da60a) ) // 840-0023 2000 317-0273-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "0807cf54" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "2807cf54" ) // 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) @@ -4637,7 +4637,7 @@ ROM_START( 18wheels ) ROM_LOAD( "mpr-22183.ic20s", 0xa000000, 0x800000, CRC(776af308) SHA1(7d29cb4dce75d34c622549fea7e102868d0da60a) ) // 840-0023 2000 317-0273-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "0807cf54" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "2807cf54" ) // 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) @@ -4679,7 +4679,7 @@ ROM_START( 18wheelu ) ROM_LOAD( "mpr-22183.ic20s", 0xa000000, 0x800000, CRC(776af308) SHA1(7d29cb4dce75d34c622549fea7e102868d0da60a) ) // 840-0023 2000 317-0273-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "0807cf54" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "2807cf54" ) // 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) @@ -4712,7 +4712,7 @@ ROM_START( marstv ) ROM_LOAD( "mpr-22992.ic15s", 0x7800000, 0x800000, CRC(5eb6c4c6) SHA1(5dc1bced7ebd7d7e01f74d03706ec4a96585628d) ) // 840-0025 1999 317-0274-JPN Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "080b8ef5" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "280b8ef5" ) ROM_END /* Sega Strike Fighter */ @@ -4744,7 +4744,7 @@ ROM_START( sstrkfgt ) ROM_LOAD( "mpr-23321.ic20s", 0xa000000, 0x800000, CRC(018627d4) SHA1(2519f39ad046d14f602648fed39bc3719185b55e) ) // 840-0035 2000 317-0281-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "08132303" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "28132303" ) 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 @@ -4776,7 +4776,7 @@ ROM_START( sstrkfgta ) ROM_LOAD( "mpr-23321.ic20s", 0xa000000, 0x800000, CRC(018627d4) SHA1(2519f39ad046d14f602648fed39bc3719185b55e) ) // 840-0035 2000 317-0281-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "08132303" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "28132303" ) ROM_END @@ -4796,7 +4796,7 @@ ROM_START( sgtetris ) ROM_LOAD( "mpr-22915.ic6", 0x3000000, 0x800000, CRC(e48148ac) SHA1(c1273353eeaf9bb6b185f133281d7d04271bc895) ) // 840-0018 1999 317-0268-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "0808ae51" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "2808ae51" ) ROM_END /* @@ -4853,7 +4853,7 @@ ROM_START( slasho ) ROM_LOAD("mpr-23340.ic17s",0x8800000, 0x0800000, CRC(001604f8) SHA1(615ec027d383d44d4aadb1175be6320e4139d7d1) ) // 840-0041 2000 317-0286-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "081a66ca" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "281a66ca" ) ROM_END @@ -5061,7 +5061,7 @@ ROM_START( otrigger ) ROM_LOAD("mpr-22160.ic19s",0x9800000, 0x0800000, CRC(579eef4e) SHA1(bfcabd57f623647053afcedcabfbc74e5736819f) ) // 840-0017 1999 317-0266-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "080fea94" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "280fea94" ) ROM_END /* @@ -5154,7 +5154,7 @@ ROM_START( samba ) ROM_LOAD("mpr-22965.ic16s",0x8000000, 0x0800000, CRC(8f7bfa8a) SHA1(19f137b1552978d232785c4408805b71835585c6) ) // 840-0020 1999 317-0270-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "080a8b5d" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "280a8b5d" ) ROM_END // prototype - only works with US BIOS @@ -5182,7 +5182,7 @@ ROM_START( sambap ) ROM_LOAD("mpr-22965.ic16s",0x8000000, 0x0800000, CRC(8f7bfa8a) SHA1(19f137b1552978d232785c4408805b71835585c6) ) // 840-0020 1999 317-0270-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "080a8b5d" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "280a8b5d" ) ROM_END /* @@ -5465,7 +5465,7 @@ ROM_START( virnbao ) ROM_LOAD("mpr-22948.ic21s", 0xa800000, 0x0800000, CRC(1b0de917) SHA1(fd1742ea9bb2f1ce871ee3266171f26634e1c8e7) ) // 840-0021 2000 317-0271-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "08068b58" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "28068b58" ) ROM_END ROM_START( virnbap ) @@ -5497,7 +5497,7 @@ ROM_START( virnbap ) ROM_LOAD("mpr-22948.ic21s", 0xa800000, 0x0800000, CRC(1b0de917) SHA1(fd1742ea9bb2f1ce871ee3266171f26634e1c8e7) ) // 840-0021 2000 317-0271-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "08068b58" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "28068b58" ) ROM_END /* @@ -5550,7 +5550,7 @@ ROM_START( vs2_2k ) ROM_LOAD("mpr-21923.ic15s",0x7800000, 0x0400000, CRC(d127d9a5) SHA1(78c95357344ea15469b84fa8b1332e76521892cd) ) // 840-0010 1999 317-0258-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "08088b08" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "28088b08" ) ROM_END /* @@ -5595,7 +5595,7 @@ ROM_START( vtennis ) ROM_LOAD("mpr-22926.ic11",0x5800000, 0x0800000, CRC(57eec89d) SHA1(dd8f9a9155e51ee5260f559449fb0ea245077952) ) // 840-0015 1999 317-0263-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "0803eb15" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "2803eb15" ) ROM_END /* @@ -5621,7 +5621,7 @@ ROM_START( wwfroyal ) ROM_LOAD( "mpr-22269.ic8", 0x7800000, 0x1000000, CRC(6c0cf740) SHA1(da10b33a6e54afbe1d7e52801216e7119b0b33b1) ) // 840-0040 2000 317-0285-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "081627c3" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "281627c3" ) ROM_END ROM_START( mushik2e ) @@ -5938,7 +5938,7 @@ ROM_START( zombrvn ) ROM_LOAD("mpr-21726.ic19s",0x9800000, 0x0800000, CRC(429bf290) SHA1(6733e1bcf100e73ab43273f6feedc187fcaa55d4) ) // 840-0003 1999 317-0249-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "08012b41" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "28012b41" ) ROM_END ROM_START( gunsur2 ) @@ -6200,7 +6200,7 @@ ROM_START( mazan ) ROM_LOAD( "maz1ma8.4d", 0x8000000, 0x1000000, CRC(d46c9f40) SHA1(45eec7fa3d4261f12438e841254fa75d572331b3) ) // 25869812 2002 317-0266-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "080fea94" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "280fea94" ) ROM_END ROM_START( mazana ) @@ -6219,7 +6219,7 @@ ROM_START( mazana ) ROM_LOAD( "maz1ma8.4d", 0x8000000, 0x1000000, CRC(d46c9f40) SHA1(45eec7fa3d4261f12438e841254fa75d572331b3) ) // 25869812 2002 317-0266-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "080fea94" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "280fea94" ) ROM_END ROM_START( vtenis2c ) @@ -6392,7 +6392,7 @@ ROM_START( inunoos ) ROM_LOAD( "ic16s.bin", 0x8000000, 0x800000, CRC(b8493dbe) SHA1(b641417e1bda49341e7ff86340072d74e3330665) ) // 840-0073 2001 317-0316-JPN Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "094bc3e3" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "294bc3e3" ) ROM_END ROM_START( ringout ) @@ -6413,7 +6413,7 @@ ROM_START( ringout ) ROM_LOAD( "mpr-21770.ic10", 0x5000000, 0x800000, CRC(c5308e61) SHA1(e51f8026351d5ffbda2a5bed39aeef543366febf) ) // 840-0004 1999 317-0250-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "080b1e40" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "280b1e40" ) ROM_END ROM_START( vonot ) @@ -6437,7 +6437,7 @@ ROM_START( vonot ) ROM_LOAD( "mpr-23194.ic13s", 0x6800000, 0x800000, CRC(5adea0bd) SHA1(f8614ba83d5f61556c3db1a1796a02ed2c51ce2a) ) // 840-0028 2000 317-0279-COM Naomi - ROM_PARAMETER( ":rom_board:segam2crypt:key", "08010715" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "28010715" ) ROM_END ROM_START( derbyo2k ) @@ -7801,7 +7801,7 @@ ROM_START( vstrik3c ) ROM_LOAD( "mpr-23662.ic11", 0xa800000, 0x0800000, CRC(d6ef7d68) SHA1(4ee396af6c5caf4c5af6e9ad0e03a7ac2c5039f4) ) // 840-0061 2001 317-0310-COM Naomi 2 - ROM_PARAMETER( ":rom_board:segam2crypt:key", "0cee834a" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "2cee834a" ) ROM_END ROM_START( vstrik3cb ) @@ -7823,7 +7823,7 @@ ROM_START( vstrik3cb ) ROM_LOAD( "mpr-23662.ic11", 0xa800000, 0x0800000, CRC(d6ef7d68) SHA1(4ee396af6c5caf4c5af6e9ad0e03a7ac2c5039f4) ) // 840-0061 2001 317-0310-COM Naomi 2 - ROM_PARAMETER( ":rom_board:segam2crypt:key", "0cee834a" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "2cee834a" ) ROM_END ROM_START( wldrider ) @@ -7844,7 +7844,7 @@ ROM_START( wldrider ) ROM_LOAD( "mpr-23620.ic10", 0x9800000, 0x1000000, CRC(67aa15a9) SHA1(42c24cbf7069c27430a71509a872cd1c4224aaeb) ) // 840-0046 2001 317-0301-COM Naomi 2 - ROM_PARAMETER( ":rom_board:segam2crypt:key", "0ce7a703" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "2ce7a703" ) ROM_END ROM_START( vf4cart ) @@ -7866,7 +7866,7 @@ ROM_START( vf4cart ) ROM_LOAD( "mpr-23784.ic11", 0xa800000, 0x1000000, CRC(f74f2fee) SHA1(84b07baa6d116727e66ef27e24ba6484c3393891) ) // 840-0080 2002 317-0324-COM Naomi 2 - ROM_PARAMETER( ":rom_board:segam2crypt:key", "0eef2f96" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "2eef2f96" ) ROM_END // There is also a development cart (171-7885A) with 20x 64Mb FlashROMs instead of 10x 128Mb MaskROMs. Content is the same. @@ -7989,7 +7989,7 @@ ROM_START( clubkrte ) ROM_LOAD( "mpr-23703.ic11", 0xa800000, 0x1000000, CRC(702b8b4a) SHA1(3a8dfde458f341e7db20664382b9fce2b6e5d462) ) // 840-0062 2001 317-0313-COM Naomi 2 - ROM_PARAMETER( ":rom_board:segam2crypt:key", "0ce7d742" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "2ce7d742" ) ROM_END ROM_START( clubkrtd ) @@ -8033,7 +8033,7 @@ ROM_START( clubkrtc ) ROM_LOAD( "mpr-23703.ic11", 0xa800000, 0x1000000, CRC(702b8b4a) SHA1(3a8dfde458f341e7db20664382b9fce2b6e5d462) ) // 840-0062 2001 317-0313-COM Naomi 2 - ROM_PARAMETER( ":rom_board:segam2crypt:key", "0ce7d742" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "2ce7d742" ) ROM_END ROM_START( clubkprz ) @@ -8066,7 +8066,7 @@ ROM_START( clubkprz ) ROM_LOAD( "at25010.ic3s", 0x000000, 0x000084, CRC(0142d8be) SHA1(5922b6c47b12b19e1fa7bbe9aae391905038a7ff) ) // 840-0062 2001 317-0313-COM Naomi 2 - ROM_PARAMETER( ":rom_board:segam2crypt:key", "0ce7d742" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "2ce7d742" ) ROM_END ROM_START( clubkpzb ) @@ -8095,7 +8095,7 @@ ROM_START( clubkpzb ) ROM_COPY( "rom_board", 0x1000000, 0x400000, 0xc00000 ) // 840-0062 2001 317-0313-COM Naomi 2 - ROM_PARAMETER( ":rom_board:segam2crypt:key", "0ce7d742" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "2ce7d742" ) // this dump can't be used as main_eeprom, because that's exactly 0x80 bytes ROM_REGION(0x84, "some_eeprom", 0) @@ -8130,7 +8130,7 @@ ROM_START( clubk2k3 ) ROM_COPY( "rom_board", 0x1000000, 0x400000, 0xc00000 ) // 840-0062 2001 317-0313-COM Naomi 2 - ROM_PARAMETER( ":rom_board:segam2crypt:key", "0ce7d742" ) + ROM_PARAMETER( ":rom_board:segam2crypt:key", "2ce7d742" ) 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.c b/src/mame/machine/315-5881_crypt.c index 511ec56f2e1..f6b0759cdd5 100644 --- a/src/mame/machine/315-5881_crypt.c +++ b/src/mame/machine/315-5881_crypt.c @@ -148,7 +148,7 @@ internal block-cipher. So, at a given step, the internal block cipher will outpu given plaintext word, and the remaining 2 to the next plaintext word. The underlying block cipher consists of two 4-round Feistel Networks (FN): the first one takes the counter (16 bits), -the game-key (>=29 bits; probably 64) and the sequence-key (16 bits) and output a middle result (16 bits) which will act +the game-key (>=30 bits; probably 64) and the sequence-key (16 bits) and output a middle result (16 bits) which will act as another key for the second one. The second FN will take the encrypted word (16 bits), the game-key, the sequence-key and the result from the first FN and will output the decrypted word (16 bits). @@ -199,7 +199,7 @@ that bit really represent various bits in the real key; see comments on the use that the real key is 64 bits long, exactly as in the related CPS-2 scheme, and the designers tried to cover all 96 input bits with the bits provening from the game key, the sequence key and the result from the first feistel network (64+16+16=96). In the first Feistel Network, as only 80 bits are available, some bits would be used twice (as can be partially seen in the current implementation). -The fact that only 29 bits out of the expected 64 have been observed till now would be due to the generation of the key by composing +The fact that only 30 bits out of the expected 64 have been observed till now would be due to the generation of the key by composing low-entropy sources. ****************************************************************************************/ @@ -511,17 +511,17 @@ const sega_315_5881_crypt_device::sbox sega_315_5881_crypt_device::fn2_sboxes[4] const int sega_315_5881_crypt_device::fn1_game_key_scheduling[FN1GK][2] = { {1,29}, {1,71}, {2,4}, {2,54}, {3,8}, {4,56}, {4,73}, {5,11}, - {6,51}, {7,92}, {8,89}, {9,9}, {9,39}, {9,58}, {9,86}, {10,90}, - {11,6}, {12,64}, {13,49}, {14,44}, {15,40}, {16,69}, {17,15}, {18,23}, - {18,43}, {19,82}, {20,81}, {21,32}, {22,5}, {23,66}, {24,13}, {24,45}, - {25,12}, {25,35}, {26,61}, {27,10}, {27,59}, {28,25} + {6,51}, {7,92}, {8,89}, {9,9}, {9,39}, {9,58}, {10,90}, {11,6}, + {12,64}, {13,49}, {14,44}, {15,40}, {16,69}, {17,15}, {18,23}, {18,43}, + {19,82}, {20,81}, {21,32}, {22,5}, {23,66}, {24,13}, {24,45}, {25,12}, + {25,35}, {26,61}, {27,10}, {27,59}, {28,25}, {29,86} }; const int sega_315_5881_crypt_device::fn2_game_key_scheduling[FN2GK][2] = { {0,0}, {1,3}, {2,11}, {3,20}, {4,22}, {5,23}, {6,29}, {7,38}, - {8,39}, {9,55}, {9,86}, {9,87}, {9,90}, {10,50}, {11,57}, {12,59}, - {13,61}, {14,63}, {15,67}, {16,72}, {17,83}, {18,88}, {19,94}, {20,35}, - {21,17}, {22,6}, {23,85}, {24,16}, {25,25}, {26,92}, {27,47}, {28,28} + {8,39}, {9,55}, {9,86}, {9,87}, {10,50}, {11,57}, {12,59}, {13,61}, + {14,63}, {15,67}, {16,72}, {17,83}, {18,88}, {19,94}, {20,35}, {21,17}, + {22,6}, {23,85}, {24,16}, {25,25}, {26,92}, {27,47}, {28,28}, {29,90} }; const int sega_315_5881_crypt_device::fn1_sequence_key_scheduling[20][2] = {