summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author ClawGrip <clawgrip@hotmail.com>2020-10-29 14:55:41 +0100
committer GitHub <noreply@github.com>2020-10-30 00:55:41 +1100
commitdaf9e638a04fcceeb3f7d23b3efae3dfd68c4ea2 (patch)
tree9cf06be3e44eeefb7cd53e40245f305576e9419a
parent2137f269814897db440bd9b14c6643cd59cd2e89 (diff)
photoplysx.cpp: Add notes about the USB dongle and a partial dump of its non-volatile memory (#7397)
-rw-r--r--src/mame/drivers/photoplysx.cpp24
1 files changed, 23 insertions, 1 deletions
diff --git a/src/mame/drivers/photoplysx.cpp b/src/mame/drivers/photoplysx.cpp
index ed06d2b898d..7d177059b12 100644
--- a/src/mame/drivers/photoplysx.cpp
+++ b/src/mame/drivers/photoplysx.cpp
@@ -8,8 +8,20 @@ RAM: 256MB DDR 333
PCB: Intel 865G + Intel Extreme Graphics 2 + Intel FW82801FR
I/O: Cypress AN2131SC (12.000 MHz xtal) + Winbond W83627HF + Realtek RTL8101L
BIOS: 03/11/2009-I865G-6A79AD4EC-00 (Pm49FL004T-33JC)
-Dongle: USB
+Dongle: GNT FNW USB Token
Sound: C-Media CMI9761A
+
+The GNT FNW USB Token is RSA capable (2048 bits) cryptographic token (http://www.softidea.sk/doc/gnt_datasheet_en.pdf) which supports also
+AES (128 bits), DES, 3DES, SHA-1, secure random number generation, etc. It has 34,5 KB of secured user memory for storing keys, and since
+it performs the cryptographic operations internally, they cannot be extracted.
+On its default configuration for Photo Play, the PKCS#11 API is disabled (it supports also a propietary low level API), and contains the
+following memory map:
+-RSA slots: 10
+-MEM1: 53568 Bytes, read protected, write protected.
+-MEM2: 4096 Bytes, free read, write with PIN1 or PIN2.
+-MEM3: 1024 Bytes, free read, write only with PIN2.
+
+A single wrong login attempt locks the token.
*/
#include "emu.h"
@@ -90,6 +102,11 @@ ROM_START( photopsxsp )
ROM_REGION(0x80000, "bios", 0)
ROM_LOAD("photoplay_bios_pm49fl004t.bin", 0x00000, 0x80000, CRC(50bf84fe) SHA1(d0afe83b57f822d4fdb96dc1e0c6eedeccbfce7b) ) // 03/11/2009-I865G-6A79AD4EC-00
+ ROM_REGION(0xe540, "dongle", 0)
+ ROM_LOAD("phpsx_gnt_fnw_usb_mem1.bin", 0x0000, 0xd140, NO_DUMP )
+ ROM_LOAD("phpsx_gnt_fnw_usb_mem2.bin", 0xd140, 0x1000, CRC(8dc6622c) SHA1(e7ef831cd57dfd64b919088d7c557159dcdc9306) )
+ ROM_LOAD("phpsx_gnt_fnw_usb_mem3.bin", 0xe140, 0x0400, CRC(e4b1f083) SHA1(963750ced5cea804f94c5fbbf0e8946fede747d8) )
+
DISK_REGION( "ide:0:hdd:image" ) // ExcelStor Callisto 40GB J840
DISK_IMAGE( "photoply_sprt_xt_2004_sp", 0, BAD_DUMP SHA1(00f600872bf0c84b045f55cc4903d694593dfcb3) ) // May contain operator data / configuration
ROM_END
@@ -98,6 +115,11 @@ ROM_START( photopsxusp )
ROM_REGION(0x80000, "bios", 0)
ROM_LOAD("photoplay_bios_pm49fl004t.bin", 0x00000, 0x80000, CRC(50bf84fe) SHA1(d0afe83b57f822d4fdb96dc1e0c6eedeccbfce7b) ) // 03/11/2009-I865G-6A79AD4EC-00
+ ROM_REGION(0xe540, "dongle", 0)
+ ROM_LOAD("phpsx_gnt_fnw_usb_mem1.bin", 0x0000, 0xd140, NO_DUMP )
+ ROM_LOAD("phpsx_gnt_fnw_usb_mem2.bin", 0xd140, 0x1000, CRC(8dc6622c) SHA1(e7ef831cd57dfd64b919088d7c557159dcdc9306) )
+ ROM_LOAD("phpsx_gnt_fnw_usb_mem3.bin", 0xe140, 0x0400, CRC(e4b1f083) SHA1(963750ced5cea804f94c5fbbf0e8946fede747d8) )
+
DISK_REGION( "ide:0:hdd:image" ) // Seagate ST3160815A 160GB
DISK_IMAGE( "photoply_sprt_xt_2004_sp_u", 0, BAD_DUMP SHA1(dac230cae6efaa24362260101d39b421d5fccd45) ) // May contain operator data / configuration
ROM_END