SSPTalker (Classic)

Truong’s Sega Security PIC Talker (SSPTalker) was used to document and verify the Chihiro/Naomi/Triforce family compatible Security PIC data for the trurip Media Database Project.

The design is based around the Microchip ® PIC18F4550 due to it’s built-in USB support, it’s low component count needed to enable said USB support, and it’s high pin count, leaving plenty of room for any features and improvements that may need to be added in the future.

While there are a few designs out there which provide similar function, they are LCD based, meaning you need to manually copy the data down by hand.

With SSPTalker, you simply click a .bat file in Windows (or use the SSPTalker UI) and the data is copied to a file.

Current Version is v6


SSPTalker Classic (Prototype 1)
Hand built prototype #1 – CPU was reused in the final unit

SSPTalker Profi Populated
Final Revision of the Classic Unit

SSPTalker UI
The SSPTalker UI is an interface (written in the .NET framework) for the SSPTalker.exe which controls the actual SSPTalker hardware.

It includes a custom ChipID feature that is capable of identifying the Security Chip that is being read, and will identify which software this key will work with.

SSPTalker UI

SSPTalker UI
SSPTalker UI

SSPTalker UI Menu

3 Nov 2013: Initial Commit of TruSspTalker UI

4 Nov 2013:
Renamed TruSspTalker/TruSspTalker UI to SSPTalker/SSPTalkerUI
ChipID framework completed
ChipID database completed
‘Enable ChipID’ check box added

6 Nov 2013:
‘Write Key’ button added
‘Save Key’ and ‘Write Key’ buttons enabled only on a successful read of a security key
Sanity checking for ‘Save Key’ and ‘Write Key’ buttons

17 Nov 2013:
massaged code a bit. reworked functions into a separate module, etc.
‘Save Hex’ button added (to save raw hex code for chips)
– saved filename is the ChipID hash.hex
‘Load Key’ button added
– reads paf/vpaf files for burning
– doesn’t read .hex files. pointless..
added ChipID support to ‘Load Key’

Changed my mind. added .hex reading. but it will only read *our* hex files. modded files wont work
if the offsets in the hex change.

20 Nov 2013
– Made form wider
– Changed ChipID Output
– Updated ChipID Database
– paf/hex/log files are now named as {Naomi|Chihiro|Triforce|Unknown}.{ChipIDSerial|ChipIDHash}.{paf|hex|log}

25 Nov 2013
– Fixed small bug in ChipID due to format change in ChipID Database
– The DB now supports multiple titles that use the same security chip

26 Nov 2013
– changed USB id strings from TruSsPicTalker to truSSPTalker to reflect firmware change.

01 Dec 2013
– fixed/completed hex file checksum generation.

02 Dec 2013
– removed that stupid progress bar
– incremented version to 0.6.3
– removed a few debug files from CVS

08 Dec 2013
– small code cleanups

12 Dec 2013
– updated commands used in SSPTalker UI.exe to new SSPTalker.exe format commands
– reworked UI layout.
– added wrapper function for talking to the security pic (leads to neater code)

14 Dec 2013
– fixed annoying error in hex file checksum routine. the decimal to binary
function wasnt pre-padding to 8 binary digits, so made it do it myself.
It has to be 8 because the checksum routine expects 8 digits for calculating
the checksum. (checksum is all hex # added up, converted to binary,
bit flipped (1=0;0=1), binary to decimal, add 1, MOD 256,
convert to hex. dont forget to pad to 2 digits [eg. 07 instead of 7])

22 Dec 2013
– check for bootleg chips (0x83 type PICs)
– emergency power down on error message from SSPTalker.exe [takes ~7 seconds]
(ie chip in backwards or damaged chip)
– code cleanups, more commenting
– added validation hash to saved paf and log files
– added function fnLog() to write to the output box instead of raw writes
– locked all text boxes from manual editing

23 Dec 2013
– only PIC16F628A are marked as bootlegs since the original chips didnt have a device id
– removed duplicate chipid.csv entries

24 Dec 2013
– ChipID.csv renamed to ChipID.db
– got rid of buttons and added a dropdown list *nifty!*
– added ‘Read/Save ALL’ function
– changed ** BOOTLEG ** BOOTLEG ** BOOTLEG ** message to **** BOOTLEG *** BOOTLEG *** BOOTLEG ****

20 Jan 2014
– added a space to the ChipID output to make it look pretty

24 Jan 2014
– added ‘Quiet Mode’ which gags all the raw output so its less spammy.
– added a missing CRLF that was missing when importing a hex/paf/vpaf file.

21 Feb 2014
– added ‘software update notification’ of the UI component

22 Feb 2014
– added ‘software update notification’ of the EXE component
– added ‘software update notification’ of the ChipID database

23 Feb 2014
– moved ‘Read DeviceID’ code to its own function

– updated commands for new v7 firmware from truong
– updated version to 0.7.0 to reflect new firmware
– added code to work with new ssptalker .exe and firmware
to burn chips from .paf/.vpaf/.hex or from last read chip
– added code to read unprotected chip to a .hex file

4 Mar 2014
– dump chip multiple times to help ensure a good dump
– Verify x3 checkbox added (default: on)

5 Mar 2014
– changed multiple chip dump to store a hash of the data rather than all the data for better memory management
– make sure that kaijyo!? answer is valid (701F711F000000 or 701F711F000001)
– SSPTalker Firmware v10 installed and tested. (pic16f628/pic16f628a burning works now for the most part.
bulk erase of pic16f628 needs a small change then we are done.)

14 Mar 2014
– Hardware Revision 6.1 validated (minor silkscreen changes and flash jumper change)
– v12 Firmware tested. pic16f628 programming (lvp mode) works now.

20 Apr 2014
– Disable checking EXE / UI Versions (i really dont feel like maintaining that code…)

04 May 2014
– Updated ChipID.db with new dumps from Ripper006

24 May 2014
– Changed .paf reader/writer to store complete akeycode and bkeycode (regardless of 0 padding at the end)
– added detection for 4C variant AIJYO reply (701F711F4C0001).
– stored checkbox statuses in the registry and restore them on startup (restored values can be overriden by code)
– “HKEY_CURRENT_USER\Software\trurip\SSPTalker”
– moved previous registry stuff to “HKEY_CURRENT_USER\Software\trurip\SSPTalker” from “HKEY_CURRENT_USER\Software\trurip”
– dumps now save in own directory rather than just data/ directory.
– changed UI version to 0.12.1 to match firmware version

25 May 2014
– Detect Chip Device ID ’88’ as PIC16F648A (not programmable)
– Enabled burning of 16F648A chips. (tru says the datasheet says they are binary compatible)

07 Jun 2014
– pic programming disabled by default.
– cheat code in version box to re-enable it at your own risk.

19 Jun 2014
– changed all files that we create to be ASCII not `System.Default` (UTF-8).. oops..
– removed external base hex template and moved it inside the exe
– ASM generator (based on output from picdasm106
– cleaned up the menu a bit..
– added checks to menu so you cant save paf/hex/asm unless you have read or imported a chip.
– disabled quiet mode permanently (so i can see pic rx/tx in case of failed reads)
– added logging of created hex/asm/paf/log to the log box.
– added GDT-0004C_[253-5508-0362]_[317-0362-COM] [rtw] to the ChipID database.

03 Jul 2014
– added 317-0384-COM to the ChipID database as unverified (from MAME)
– added PIC type and sticker to the ChipID database.


Downloads Page (No files are available for this project)

The Chihiro, Naomi and Triforce trademarks are the property of their respective companies.