From b7529f790b20891e434d05be711cc3075fe36b7a Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Mon, 28 Dec 2020 18:14:18 +0100 Subject: [PATCH] magicard.cpp: decapped and dumped PIC16F84 for magicardj and magicle [Caps0ff, TeamEurope] --- src/mame/drivers/magicard.cpp | 54 ++++++++++++++++++++++++++++++++--- 1 file changed, 50 insertions(+), 4 deletions(-) diff --git a/src/mame/drivers/magicard.cpp b/src/mame/drivers/magicard.cpp index eec8a48e058..9d961798671 100644 --- a/src/mame/drivers/magicard.cpp +++ b/src/mame/drivers/magicard.cpp @@ -906,8 +906,31 @@ ROM_START( magicardj ) ROM_REGION( 0x80000, "maincpu", 0 ) /* 68070 Code & GFX */ ROM_LOAD16_WORD_SWAP( "27c4002.ic21", 0x00000, 0x80000, CRC(ab2ed583) SHA1(a2d7148b785a8dfce8cff3b15ada293d65561c98) ) // sldh - ROM_REGION( 0x0100, "pic16f84", 0 ) /* protected */ - ROM_LOAD("pic16f84.ic29", 0x0000, 0x0100, BAD_DUMP CRC(0d968558) SHA1(b376885ac8452b6cbf9ced81b1080bfd570d9b91) ) + ROM_REGION16_LE( 0x4280, "pic16f84", 0 ) // decapped and dumped + ROM_LOAD("magicardj_4.01_pic16f84_code.bin", 0x0000, 0x0800, CRC(c6502436) SHA1(85c4126251bd60ec1f4e28615ec7f948ef8c088f) ) + /* + { + "conf_word": 0, + "secure": true, + "user_id0": 16256, + "user_id1": 16262, + "user_id2": 16265, + "user_id3": 16264 + } + */ + // ID locations: + ROM_FILL( 0x4000, 0x01, 0x80 ) + ROM_FILL( 0x4001, 0x01, 0x3f ) + ROM_FILL( 0x4002, 0x01, 0x86 ) + ROM_FILL( 0x4003, 0x01, 0x3f ) + ROM_FILL( 0x4004, 0x01, 0x89 ) + ROM_FILL( 0x4005, 0x01, 0x3f ) + ROM_FILL( 0x4006, 0x01, 0x88 ) + ROM_FILL( 0x4007, 0x01, 0x3f ) + // configuration word: all 0 + ROM_FILL( 0x400e, 0x01, 0x00 ) + ROM_FILL( 0x400f, 0x01, 0x00 ) + ROM_LOAD("magicardj_4.01_pic16f84_data.bin", 0x4200, 0x0080, CRC(40961fef) SHA1(8617ef78d50842ea89d81d4db3728b3f799d7530) ) ROM_REGION( 0x200000, "other", 0 ) /* unknown contents */ ROM_LOAD("29f1610mc.ic30", 0x000000, 0x200000, NO_DUMP ) @@ -993,8 +1016,31 @@ ROM_START( magicle ) ROM_REGION( 0x80000, "maincpu", 0 ) /* 68070 Code & GFX */ ROM_LOAD16_WORD_SWAP( "27c4002.ic21", 0x00000, 0x80000, CRC(73328346) SHA1(fca5f8a93f25377e659c2b291674d706ca37400e) ) - ROM_REGION( 0x0100, "pic16f84", 0 ) /* protected */ - ROM_LOAD("pic16f84.ic29", 0x0000, 0x0100, BAD_DUMP CRC(0d968558) SHA1(b376885ac8452b6cbf9ced81b1080bfd570d9b91) ) + ROM_REGION16_LE( 0x4280, "pic16f84", 0 ) // decapped and dumped + ROM_LOAD("magicle_5.03_pic16f84_code.bin", 0x0000, 0x0800, CRC(22965864) SHA1(c421a9e9fac7c9c5dc01adda620dc8f5f16d94ba) ) + /* +{ + "conf_word": 0, + "secure": true, + "user_id0": 16256, + "user_id1": 16263, + "user_id2": 16265, + "user_id3": 16265 +} + */ + // ID locations: + ROM_FILL( 0x4000, 0x01, 0x80 ) + ROM_FILL( 0x4001, 0x01, 0x3f ) + ROM_FILL( 0x4002, 0x01, 0x87 ) + ROM_FILL( 0x4003, 0x01, 0x3f ) + ROM_FILL( 0x4004, 0x01, 0x89 ) + ROM_FILL( 0x4005, 0x01, 0x3f ) + ROM_FILL( 0x4006, 0x01, 0x89 ) + ROM_FILL( 0x4007, 0x01, 0x3f ) + // configuration word: all 0 + ROM_FILL( 0x400e, 0x01, 0x00 ) + ROM_FILL( 0x400f, 0x01, 0x00 ) + ROM_LOAD("magicle_5.03_pic16f84_data.bin", 0x4200, 0x0080, CRC(b3cdf90f) SHA1(0afec6f78320e5fe653073769cdeb32918da061b) ) ROM_REGION( 0x200000, "other", 0 ) /* unknown contents */ ROM_LOAD("29f1610mc.ic30", 0x000000, 0x200000, NO_DUMP )