trunk/src/mame/drivers/viper.c
| r242308 | r242309 | |
| 16 | 16 | G?A30 2002 Tsurugi |
| 17 | 17 | GMA41 2001 Thrill Drive 2 |
| 18 | 18 | G?A45 2001 Boxing Mania |
| 19 | | GCB11 2001 Police 911 2 (USA) / Police 24/7 2 (World) / Keisatsukan Shinjuku 24ji 2 (Japan) |
| 19 | G*B11 2001 Police 911 2 (USA) / Police 24/7 2 (World) / Keisatsukan Shinjuku 24ji 2 (Japan) |
| 20 | 20 | G?B33 2001 Mocap Golf |
| 21 | 21 | G?B41 2001 Jurassic Park 3 |
| 22 | 22 | G?B4x 2002 Xtrial Racing |
| r242308 | r242309 | |
| 79 | 79 | ADC0838 - National Semiconductor ADC0838 Serial I/O 8-Bit A/D Converters with Multiplexer Options (SOIC20 @ U13) |
| 80 | 80 | DS2430 - Dallas DS2430 256-bits 1-Wire EEPROM. Has 256 bits x8 EEPROM (32 bytes), 64 bits x8 (8 bytes) |
| 81 | 81 | one-time programmable application register and unique factory-lasered and tested 64-bit |
| 82 | | registration number (8-bit family code + 48-bit serial number + 8-bit CRC tester) (TO-92 @ U37) |
| 83 | | It appears the DS2430 is not protected from reading but the unique silicon serial number isn't |
| 84 | | included in the 40 byte dump. |
| 82 | registration number (8-bit family code + 48-bit serial number + 8-bit CRC) (TO-92 @ U37) |
| 83 | The OTP application register on the common DS2430 and the Police 911 2 DS2430 are not programmed |
| 84 | (application register reads all 0xFF and the status register reads back 0xFF), so it's probably safe |
| 85 | to assume they're not used on any of them. |
| 86 | It appears the DS2430 is not protected from reading and the unique silicon serial number is |
| 87 | included in the 40 byte dump. In the Police 911 2 NVRAM dump the serial number is located at both 0x002A and 0x1026 |
| 88 | so that means it is tied to the DS2430. If the serial number in the NVRAM and DS2430 match then they are |
| 89 | paired. The same serial number is likely present in the CF card image and a compare is done there too. |
| 90 | If they don't match the game requires an external DS2430 (i.e. dongle) |
| 91 | When the lasered ROM is read from the DS2430, it comes out from LSB to MSB (family code, LSB of |
| 92 | S/N->MSB of S/N, CRC) |
| 93 | For Police 911 2 that is 0x14 0xB2 0xB7 0x4A 0x00 0x00 0x00 0x83 |
| 94 | Family code=0x14 |
| 95 | S/N=0x0000004AB7B2 |
| 96 | CRC=0x83 |
| 97 | In a DS2430 dump, the first 32 bytes is the EEPROM and the lasered ROM is 8 bytes and starts at 0x20h |
| 98 | For Police 911 2 that is.... |
| 99 | 00000000h CB 9B 56 EC A0 4C 87 53 51 46 28 E7 00 00 00 74 |
| 100 | 00000010h 30 A9 C7 76 B9 85 A3 43 87 53 50 42 1A E7 FA CF |
| 101 | 00000020h 14 B2 B7 4A 00 00 00 83 |
| 102 | It may be possible to hand craft a DS2430 for a dongle-protected version of a game simply by using |
| 103 | one of the existing DS2430 dumps and adjusting the serial number found in a dump of the NVRAM to pair them |
| 104 | or adjusting the serial number in the NVRAM to match the serial number found in one of the dumped DS2430s. |
| 85 | 105 | M48T58Y - ST Microelectronics M48T58Y Timekeeper RAM (DIP28 @ U39). When this dies (after 10 year lifespan) |
| 86 | 106 | the game will complain with error RTC BAD then reset. The data inside the RTC can not be hand created |
| 87 | 107 | (yet) so to revive the PCB the correct RTC data must be re-programmed to a new RTC and replaced |
| r242308 | r242309 | |
| 2299 | 2319 | ROM_START(p9112) /* dongle-protected version */ |
| 2300 | 2320 | VIPER_BIOS |
| 2301 | 2321 | |
| 2302 | | ROM_REGION(0x28, "ds2430", ROMREGION_ERASE00) /* plug-in male DIN5 dongle containing a DS2430 */ |
| 2322 | ROM_REGION(0x28, "ds2430", ROMREGION_ERASE00) /* plug-in male DIN5 dongle containing a DS2430. The sticker on the dongle says 'GCB11-UA' */ |
| 2303 | 2323 | ROM_LOAD("ds2430_p9112.u3", 0x00, 0x28, CRC(d745c6ee) SHA1(065C9D0DF1703B3BBB53A07F4923FDEE3B16F80E)) |
| 2304 | 2324 | |
| 2305 | 2325 | ROM_REGION(0x2000, "m48t58", ROMREGION_ERASE00) /* M48T58 Timekeeper NVRAM */ |
| r242308 | r242309 | |
| 2564 | 2584 | GAME(2001, p911kc, p911, viper, viper, viper_state, vipercf, ROT90, "Konami", "Police 911 (ver KAC)", GAME_NOT_WORKING|GAME_NO_SOUND) |
| 2565 | 2585 | GAME(2001, p911e, p911, viper, viper, viper_state, vipercf, ROT90, "Konami", "Police 24/7 (ver EAA)", GAME_NOT_WORKING|GAME_NO_SOUND) |
| 2566 | 2586 | GAME(2001, p911j, p911, viper, viper, viper_state, vipercf, ROT90, "Konami", "Keisatsukan Shinjuku 24ji (ver JAC)", GAME_NOT_WORKING|GAME_NO_SOUND) |
| 2567 | | GAME(2001, p9112, kviper, viper, viper, viper_state, vipercf, ROT90, "Konami", "Police 911 2 (ver UAD)", GAME_NOT_WORKING|GAME_NO_SOUND) |
| 2587 | GAME(2001, p9112, kviper, viper, viper, viper_state, vipercf, ROT90, "Konami", "Police 911 2 (VER. UAA:B)", GAME_NOT_WORKING|GAME_NO_SOUND) |
| 2568 | 2588 | GAME(2003, popn9, kviper, viper, viper, viper_state, vipercf, ROT0, "Konami", "Pop'n Music 9 (ver JAB)", GAME_NOT_WORKING|GAME_NO_SOUND) |
| 2569 | 2589 | GAME(2001, sscopex, kviper, viper, viper, viper_state, vipercf, ROT0, "Konami", "Silent Scope EX (ver UAA)", GAME_NOT_WORKING|GAME_NO_SOUND) |
| 2570 | 2590 | GAME(2001, sogeki, sscopex, viper, viper, viper_state, vipercf, ROT0, "Konami", "Sogeki (ver JAA)", GAME_NOT_WORKING|GAME_NO_SOUND) |