RP5H01 Security Chip
RP5H01 Programmer
Custom instructions ROM
NES Controller
The Nintendo PlayChoice-10 game boards use a Ricoh RP5H01 64+8 bit PROM to store a security key. This key is matched against the instructions ROM, if this key does not match, the game will not be accepted. I have made a small reading device to dump the content of the Ricoh RP5H01 PROM.

I am also able to write the Ricoh RP5H01 chips, if you have a broken chip or you want to do a ROM swap. Please contact me

If you want to program the Ricoh RP5H01 chips yourself, I am also selling a programmer.

PROM reader:
I am using a FTDI FT232RL USB controller to interface with the chip using USB. The chip is powered over the USB bus, since it will only use a maximum of 55mW.

The schematic is very easy, all I/O pins will be directly connected to the FT232RL chip, the data pin is pulled up using a 1.2k resistor. Any other value close to 1k will probably work too.

PCB design:
I have also made a small PCB, if you order the right FTDI FT232RL interface board, you can directly connect this board to the interface.

PCB design files:
A printable PDF file of the PCB layout can also be downloaded here.
Gerber files can be downloaded here, you can print this board at OSH Park for only $2,80 per 3 pieces shipped!

- 1x 6 Pin right angle female header
- 1x 8 Pin DIL IC socket
- 1x 1.2k resistor
- 1x FTDI FT232RL breakout board

MAME RP5H01 security chip file format:
I have chosen to use the MAME RP5H01 security chip file format, since this will be easy to compare your chip dumps against the widely available dumps. This format is different between the PlayChoice-10 and Super System dumps. The PlayChoice-10 format has the bits per byte in reverse order and all bits are inverted. However, the Super System dumps are 1-on-1 dumps from the Ricoh RP5H01 chip, so no reverse order or inverted bits.

Example, Contra PROM content is hex "434E5452D8E7E61A", MAME dump is "3D8DD5B5E41898A7"
1-on-1 dump from the RPOM:
0100 0011 0100 1110 0101 0100 0101 0010 1101 1000 1110 0111 1110 0110 0001 1010 = 434E5452D8E7E61A
Bits inverted:
1100 0010 0111 0010 0010 1010 0100 1010 0001 1011 1110 0111 0110 0111 0101 1000 = C2722A4A1BE76758
Per byte reversed:
0011 1101 1000 1101 1101 0101 1011 0101 1110 0100 0001 1000 1001 1000 1010 0111 = 3D8DD5B5E41898A7

I have programmed a small application to read the data from the PROM.

RP5H01 reader v1.0 32bit or 64bit
RP5H01 reader v2.0 32bit or 64bit

Version 1.0
- Initial release

Version 2.0
- Added an installer
- Fixed bug selection combo
- Added Progress bar
- Added Status bar
- Added About dialog
- Added icon
- Open MAME RP5H01 file format
- Open MAME RP5H01 NSS file format (using File menu)
- Fixed some minor bugs

If you come across any bugs or you want any features to be implemented, feel free to contact me.

If you like my software, please make a small donation!

Copyright 2016 Mathijs Nilwik - All rights reserved.
PlayChoice-10 SuperGun Nintendo RP5H01 arcade controller NES NES Controller PlayChoice-10 Custom INST ROM instructions