naomi.c: use full M4 PIC16 dumps instead of partial "readouts", add handmade 'dumps' with master keys for not yet properly dumped PICs [rtw, MetalliC]

This commit is contained in:
MetalliC 2014-12-04 01:49:40 +02:00
parent 89d0dd3e2b
commit 6be2649c65
2 changed files with 31 additions and 46 deletions

View File

@ -5631,10 +5631,8 @@ ROM_START( mushik2e )
ROM_LOAD( "fpr-24333.ic8", 0x0000000, 0x4000000, CRC(a467b69c) SHA1(66a841b72ef1bb8cbabbfb1d14081b4dff14b1d3) )
ROM_LOAD( "fpr-24334.ic9", 0x4000000, 0x4000000, CRC(13d2d1dc) SHA1(6a47cfaddf006e6ff46837fac956fbcc20619d79) )
// ROM_REGION( 4, "rom_key", 0 )
// ROM_LOAD( "mushik2e-key.bin", 0, 4, CRC(b32a0633) SHA1(984c01e43cf359d8e8a0c6cb1a04c5dc3da47d39) )
ROM_REGION( 20, "pic_readout", 0 ) // data obtained using a custom PIC reader
ROM_LOAD( "317-0437-com.ic3", 0, 20, NO_DUMP )
ROM_REGION( 0x800, "pic_readout", 0 )
ROM_LOAD( "317-0437-com.ic3", 0, 0x800, BAD_DUMP CRC(b6e4f61a) SHA1(b5cae574170afa3889e01517f1c4429e207042b9) )
ROM_REGION(0x4, "boardid", ROMREGION_ERASEVAL(0x02))
ROM_END
@ -5648,10 +5646,8 @@ ROM_START( mushi2ea )
ROM_LOAD( "epr-24357.ic7", 0x0000000, 0x0400000, CRC(a2236d58) SHA1(3746b9d3c0f7ecf6340619bb8bf01f170ac4efb7) ) // EPR mode, overwrite FPR data
ROM_LOAD( "fpr-24334.ic9", 0x4000000, 0x4000000, CRC(13d2d1dc) SHA1(6a47cfaddf006e6ff46837fac956fbcc20619d79) )
// ROM_REGION( 4, "rom_key", 0 )
// ROM_LOAD( "mushik2e-key.bin", 0, 4, CRC(b32a0633) SHA1(984c01e43cf359d8e8a0c6cb1a04c5dc3da47d39) )
ROM_REGION( 20, "pic_readout", 0 ) // data obtained using a custom PIC reader
ROM_LOAD( "317-0437-com.ic3", 0, 20, NO_DUMP )
ROM_REGION( 0x800, "pic_readout", 0 )
ROM_LOAD( "317-0437-com.ic3", 0, 0x800, BAD_DUMP CRC(b6e4f61a) SHA1(b5cae574170afa3889e01517f1c4429e207042b9) )
ROM_REGION(0x4, "boardid", ROMREGION_ERASEVAL(0x82))
ROM_END
@ -5664,10 +5660,8 @@ ROM_START( zunou )
ROM_LOAD( "fpr-24338.ic8", 0x0000000, 0x4000000, CRC(1423c374) SHA1(e6a3f0eaccd13c161d07705bcd00f447f08fc186) )
ROM_LOAD( "fpr-24339.ic9", 0x4000000, 0x4000000, CRC(11883792) SHA1(1782db04f74394f981f887ab1a95d687eb2c0b35) )
// ROM_REGION( 4, "rom_key", 0 )
// ROM_LOAD( "zunou-key.bin", 0, 4, CRC(cbe35afb) SHA1(78877655800aae27661bf720e1c37d6c6f2e3d1c) )
ROM_REGION( 20, "pic_readout", 0 ) // data obtained using a custom PIC reader
ROM_LOAD( "317-0435-jpn.ic3", 0, 20, NO_DUMP )
ROM_REGION( 0x800, "pic_readout", 0 )
ROM_LOAD( "317-0435-jpn.ic3", 0, 0x800, BAD_DUMP CRC(b553d900) SHA1(ed1c3c2053f2c0e98cb5c4d99f93143a66c29e5c) )
ROM_REGION(0x4, "boardid", ROMREGION_ERASEVAL(0x02))
ROM_END
@ -5682,8 +5676,8 @@ ROM_START( sl2007 )
ROM_LOAD( "fpr-24415.ic10", 0x8000000, 0x4000000, CRC(133c742c) SHA1(89f857a31731dc918afc72b6cb716f5c77cb9d6e) )
ROM_LOAD( "fpr-24416.ic11", 0xc000000, 0x4000000, CRC(562fb88e) SHA1(172678e3e27cfad7f7e6217c4653a4ba119bfbdf) )
ROM_REGION( 20, "pic_readout", 0 ) // data obtained using a custom PIC reader
ROM_LOAD( "317-5129-jpn.ic3", 0, 20, CRC(b6191cea) SHA1(13e14ff013bf2728203641303141c016e82b10a3) )
ROM_REGION( 0x800, "pic_readout", 0 )
ROM_LOAD( "317-5129-jpn.ic3", 0, 0x800, CRC(432ba30f) SHA1(4935a16d1075430799269ac7ac990066d44d815b) )
ROM_REGION(0x4, "boardid", ROMREGION_ERASEVAL(0x04))
ROM_END
@ -5698,8 +5692,8 @@ ROM_START( asndynmt )
ROM_LOAD( "fpr-24384.ic10", 0x8000000, 0x4000000, CRC(2e9116c4) SHA1(58903a33c4ce72a1f75aefcab94393fc2e8bd2d9) )
ROM_LOAD( "fpr-24385.ic11", 0xc000000, 0x4000000, CRC(2b79f45d) SHA1(db97d980bf1590df4b983a4b7786977687238ef5) )
ROM_REGION( 20, "pic_readout", 0 ) // data obtained using a custom PIC reader
ROM_LOAD( "317-0495-com.ic3", 0, 20, CRC(675aca7b) SHA1(5127189e1f960abf9ed3f643158747d9abcaee1c) )
ROM_REGION( 0x800, "pic_readout", 0 )
ROM_LOAD( "317-0495-com.ic3", 0, 0x800, CRC(c229a59b) SHA1(497dcc1e4e52eb044a8b709edbd00126cef212b1) )
ROM_REGION(0x4, "boardid", ROMREGION_ERASEVAL(0x04))
ROM_END
@ -5714,8 +5708,8 @@ ROM_START( illvelo )
ROM_LOAD( "fpr-24439.ic10", 0x8000000, 0x4000000, CRC(c02040f9) SHA1(27ad2cb45e8a516433917f060ca9798412bb95f7) )
// IC11 Populated, Empty
ROM_REGION( 20, "pic_readout", 0 ) // data obtained using a custom PIC reader
ROM_LOAD( "317-5131-jpn.ic3", 0, 20, CRC(44ab8ca9) SHA1(c17b10041e70590547ed010dc16a4dd2510fcc80) )
ROM_REGION( 0x800, "pic_readout", 0 )
ROM_LOAD( "317-5131-jpn.ic3", 0, 0x800, CRC(af4b38f2) SHA1(9b82f16a258854d7d618d60f9a610f7d47d67a78) )
ROM_REGION(0x4, "boardid", ROMREGION_ERASEVAL(0x04))
ROM_END
@ -5730,8 +5724,8 @@ ROM_START( mamonoro )
ROM_LOAD( "ic10.bin", 0x8000000, 0x4000000, CRC(76fb945f) SHA1(448be0c3d9a7c3956dd51aca3c4d8d28f8cec227) )
// IC11 Populated, Empty
ROM_REGION( 20, "pic_readout", 0 ) // data obtained using a custom PIC reader
ROM_LOAD( "317-5132-jpn.ic3", 0, 20, CRC(f2089de5) SHA1(12af0681decb22bbfa4b3e01037c3503846f265a) )
ROM_REGION( 0x800, "pic_readout", 0 )
ROM_LOAD( "317-5132-jpn.ic3", 0, 0x800, CRC(d56e70a1) SHA1(fda1a2989f0fa3b0edeb292cdd4537d9b86af6f2) )
ROM_REGION(0x4, "boardid", ROMREGION_ERASEVAL(0x04))
ROM_END
@ -5748,8 +5742,8 @@ ROM_START( mbaa )
ROM_LOAD( "ic12.bin", 0x10000000, 0x4000000, CRC(b8a6bff2) SHA1(befbc2e917b3107f1c4bfb9169623282ff97bfb2) )
ROM_LOAD( "ic13.bin", 0x14000000, 0x4000000, CRC(4886329f) SHA1(6ccf6fb83cfdbef3f85f6c06e641c38ff434d605) )
ROM_REGION( 20, "pic_readout", 0 ) // data obtained using a custom PIC reader
ROM_LOAD( "317-5133-jpn.ic3", 0, 20, CRC(3dc7d902) SHA1(bb70e80dff878bca3652088f3333079e0781f482) )
ROM_REGION( 0x800, "pic_readout", 0 )
ROM_LOAD( "317-5133-jpn.ic3", 0, 0x800, CRC(0f16d180) SHA1(9d4ae15aa54752cdbd8e279388b7f3ae20777172) )
ROM_REGION(0x4, "boardid", ROMREGION_ERASEVAL(0x06))
ROM_END
@ -5767,8 +5761,8 @@ ROM_START( mbaaa )
ROM_LOAD( "ic12.bin", 0x10000000, 0x4000000, CRC(b8a6bff2) SHA1(befbc2e917b3107f1c4bfb9169623282ff97bfb2) )
ROM_LOAD( "ic13.bin", 0x14000000, 0x4000000, CRC(4886329f) SHA1(6ccf6fb83cfdbef3f85f6c06e641c38ff434d605) )
ROM_REGION( 20, "pic_readout", 0 ) // data obtained using a custom PIC reader
ROM_LOAD( "317-5133-jpn.ic3", 0, 20, CRC(3dc7d902) SHA1(bb70e80dff878bca3652088f3333079e0781f482) )
ROM_REGION( 0x800, "pic_readout", 0 )
ROM_LOAD( "317-5133-jpn.ic3", 0, 0x800, CRC(0f16d180) SHA1(9d4ae15aa54752cdbd8e279388b7f3ae20777172) )
ROM_REGION(0x4, "boardid", ROMREGION_ERASEVAL(0x86))
ROM_END
@ -5782,8 +5776,8 @@ ROM_START( radirgyn )
ROM_LOAD( "ic9.bin", 0x4000000, 0x4000000, CRC(16cf2e7a) SHA1(ff7c6540e4507f84e3128ba03be4826ba504678c) )
// IC10 and IC11 Populated, Empty
ROM_REGION( 20, "pic_readout", 0 ) // data obtained using a custom PIC reader
ROM_LOAD( "317-5138-jpn.ic3", 0, 20, CRC(babcc420) SHA1(653cdcfa388426f4ce03c76506046ec6fd070562) )
ROM_REGION( 0x800, "pic_readout", 0 )
ROM_LOAD( "317-5138-jpn.ic3", 0, 0x800, CRC(93b7a03d) SHA1(7af7c8d436f61e57b9d5957431c6fc745442f74f) )
ROM_REGION(0x4, "boardid", ROMREGION_ERASEVAL(0x04))
ROM_END
@ -5797,8 +5791,8 @@ ROM_START( ausfache )
ROM_LOAD( "ic9.bin", 0x4000000, 0x4000000, CRC(18c994d7) SHA1(159e1425b2fc645133814b0d26d93a90e9849b1a) )
// IC10 and IC11 Populated, Empty
ROM_REGION( 20, "pic_readout", 0 ) // data obtained using a custom PIC reader
ROM_LOAD( "317-5130-jpn.ic3", 0, 20, CRC(3e0c010b) SHA1(b6da97d4ecb228e73fb9a5ada837d0d6699ab0f1) )
ROM_REGION( 0x800, "pic_readout", 0 )
ROM_LOAD( "317-05130-jpn.ic3", 0, 0x800, CRC(eccdcd59) SHA1(9f374e0b37f18591c92c38c83c9310f2db0abf9c) )
ROM_REGION(0x4, "boardid", ROMREGION_ERASEVAL(0x04))
ROM_END
@ -5817,10 +5811,8 @@ ROM_START( manicpnc )
ROM_REGION( 0x200000, "ioboard", 0) // touch screen I/O board, program disassembles as little-endian SH-4
ROM_LOAD( "fpr24351.ic14", 0x000000, 0x200000, CRC(4d1b7b89) SHA1(965b8c6b5a2e7b3f1b1e2eac19c86000c3b66754) )
// ROM_REGION( 4, "rom_key", 0 )
// ROM_LOAD( "pokasuka-key.bin", 0, 4, CRC(f00bcd61) SHA1(b8315b851656c2e0b7853979988d1c44eab0886b) )
ROM_REGION( 20, "pic_readout", 0 ) // data obtained using a custom PIC reader
ROM_LOAD( "317-0461-com.ic3", 0, 20, NO_DUMP )
ROM_REGION( 0x800, "pic_readout", 0 )
ROM_LOAD( "317-0461-com.ic3", 0, 0x800, BAD_DUMP CRC(c9282cdd) SHA1(23933e489d763515428e2714cc6e7676df1d5323) )
ROM_REGION(0x4, "boardid", ROMREGION_ERASEVAL(0x05))
ROM_END
@ -5839,10 +5831,8 @@ ROM_START( pokasuka )
ROM_REGION( 0x200000, "ioboard", 0) // touch screen I/O board, program disassembles as little-endian SH-4
ROM_LOAD( "fpr24351.ic14", 0x000000, 0x200000, CRC(4d1b7b89) SHA1(965b8c6b5a2e7b3f1b1e2eac19c86000c3b66754) )
// ROM_REGION( 4, "rom_key", 0 )
// ROM_LOAD( "pokasuka-key.bin", 0, 4, CRC(f00bcd61) SHA1(b8315b851656c2e0b7853979988d1c44eab0886b) )
ROM_REGION( 20, "pic_readout", 0 ) // data obtained using a custom PIC reader
ROM_LOAD( "317-0461-com.ic3", 0, 20, NO_DUMP )
ROM_REGION( 0x800, "pic_readout", 0 )
ROM_LOAD( "317-0461-com.ic3", 0, 0x800, BAD_DUMP CRC(c9282cdd) SHA1(23933e489d763515428e2714cc6e7676df1d5323) )
ROM_REGION(0x4, "boardid", ROMREGION_ERASEVAL(0x05))
ROM_END
@ -5860,8 +5850,8 @@ ROM_START( rhytngk )
ROM_LOAD( "fpr-24425.ic10", 0x08000000, 0x4000000, CRC(6223ebac) SHA1(64c0ec61c108acbb557e7d3837f578deba832cb6) )
ROM_LOAD( "fpr-24426.ic11", 0x0c000000, 0x4000000, CRC(c78b0981) SHA1(f889acf9065566e11ff985a3b6c4824e364d57ae) )
ROM_REGION( 20, "pic_readout", 0 ) // data obtained using a custom PIC reader
ROM_LOAD( "317-0503-jpn.ic3", 0, 20, CRC(69fc3f47) SHA1(3a887c62e93fa264b307c954eb39a4fca1bdfad6) )
ROM_REGION( 0x800, "pic_readout", 0 )
ROM_LOAD( "317-0503-jpn.ic3", 0, 0x800, CRC(6eb0976b) SHA1(d5d0fc09a0c0e3a8f2703c450f05f5082317fbe4) )
ROM_REGION(0x4, "boardid", ROMREGION_ERASEVAL(0x04))
ROM_END

View File

@ -60,15 +60,10 @@ void naomi_m4_board::device_start()
{
naomi_board::device_start();
#if USE_NAOMICRYPT
UINT32 tempkey = get_naomi_key(machine());
iv = (tempkey >> 16) &0xffff;
key = tempkey & 0xffff;
#else
const UINT8 *key_data = memregion(key_tag)->base();
subkey1 = (key_data[17] << 8) | key_data[16];
subkey2 = (key_data[19] << 8) | key_data[18];
#endif
subkey1 = (key_data[0x5e2] << 8) | key_data[0x5e0];
subkey2 = (key_data[0x5e6] << 8) | key_data[0x5e4];
buffer = auto_alloc_array(machine(), UINT8, BUFFER_SIZE);
enc_init();