Update the README

This commit is contained in:
hkz 2025-08-25 20:17:50 +02:00
commit 3141839668
15 changed files with 67 additions and 14 deletions

View file

@ -457,6 +457,7 @@
"single_global_label": "ignore",
"unannotated": "error",
"unconnected_wire_endpoint": "warning",
"undefined_netclass": "error",
"unit_value_mismatch": "error",
"unresolved_variable": "error",
"wire_dangling": "error"

View file

@ -1,14 +1,76 @@
# PS1 Power Replay Datel clone - RE Notes
## DISCLAIMER
Any use of this project is **under your own responsibility**.
You will be responsible of checking the correct construction and functionality of your board.
By using this project You will agree that I cannot be held responsible if it will destroy any of your devices, damage your computer, burn down your house or whatever.
## Introduction
I found one of these cloned Datel cheat carts for PlayStation 1 in a box of junk at a flea market.
I decided to reverse engineer it just for fun, and maybe to build a better variant of it.
This board is a reconstruction (with a few improvements) of a clone of a Datel cheat cart for PlayStation.
This project builds upon the work I uploaded in [this repository](https://github.com/hkzlab/PS1_PowerDeplay_Datel_RE) repository regarding the reverse engineering and mapping of said clone.
![Screenshot of the traced PCB](pics/traced_board.jpg)
This device can be used with the original (provided) EPROM dump, or with [unirom](https://unirom.github.io/).
I replaced the crappy zener-diode power regulation of the original clone with a proper linear regulator, plus the DB25 connector was replaced with an IDC connector.
![Rev.0 assembled](pics/rev_0_assembled.jpg)
### Support
If you wish to support me in building new hardware and software for old machines, [throw a few euros at me with Ko-Fi](https://ko-fi.com/hkzlab) ☕!
## Hardware
The board was designed with [KiCad](https://kicad.org/) EDA.
### Bill of Materials
| Component | Qty | Type / Value | Notes |
| ---------------------- | --- | ------------------------------------------------------- | -------------------------------------------------------------------- |
| U1 | 1 | 29F010/29F020/39SF010/39SF020... DIP-32 | Either install this or U4 |
| U4 | 1 | 29F010/29F020/39SF010/39SF020... PLCC-32 | Either install this or U1 |
| U2 | 1 | GAL16V8 (tested 16V8B) DIP-20 | Either install this or U7 |
| U7 | 1 | GAL16V8 (tested 16V8B) PLCC-20 | Either install this or U2 |
| U3 | 1 | 74F245 DIP-20 | Either install this or U5 |
| U5 | 1 | 74F245 SOP-20 | Either install this or U3 |
| J2 | 1 | 2x10 2.54mm pinheader | |
| T1 | 1 | 78L05 TO-92 | |
| SW1 | 1 | SPDT switch | 3 pins. The pitch between the pins is roughly 2.8mm, [These](https://www.aliexpress.com/item/1005002278097696.html) or [these](https://www.aliexpress.com/item/1000007042312.html) can probably be adapted|
| R1 | 1 | 10K resistor, either THT or SMD (1206) | |
| C1, C2 | 2 | 100nF/16V capacitor, either THT or SMD (1206) | |
| C3 | 1 | 470nF/16V capacitor, either THT or SMD (1206) | |
| J1 | 1 | 68pin PlayStation PIO port connector | Solder this on the opposite side of the board in respect to other components. You can use [this](https://store.phenommod.com/?product=pio-connector) ready made connector, or adapt [this](https://eu.mouser.com/ProductDetail/571-1-1734101-7) by dremeling away the extra plastic at the side |
Remember to program the GAL with the provided JED file.
### Pinout
```
External I/O
.----.----.----.----.----.----.----.----.----.----.
| 2 | 4 | 6 | 8 | 10 | 12 | 14 | 16 | 18 | 20 |
'----'----'----'----'----'----'----'----'----'----'
| 1 | 3 | 5 | 7 | 9 | 11 | 13 | 15 | 17 | 19 |
'----'----'----'----'----'----'----'----'----'----'
1,3,5,7,9,11,13,15,17,19 - GND
2,4,6,8,10,12,14,16 - D0 through D7
18 - Strobe
20 - ACK
```
### Ordering the boards
You can order the board for this project at [PCBWay](https://www.pcbway.com/project/shareproject/TODO.html) and support me or download
the gerbers and have them printed wherever you like!!!
## Notes
The PCB was fully disassembled, scanned, and traced to reconstruct the schematic.
It's a simple dual-layer board containing a diode, a PLD, an EEPROM and a transceiver, plus a few passives.
### Memory map and protocol
Information on the protocol can be found [here](https://psx-spx.consoledev.net/cheatdevices/#cheat-devices-datel-io), but here is the basic memory map of this device:
@ -22,16 +84,6 @@ Information on the protocol can be found [here](https://psx-spx.consoledev.net/c
1F060008h W Comms Link data out (byte, pulses ACK to Comms Link)
```
## Notes
The PCB was fully disassembled, scanned, and traced to reconstruct the schematic.
It's a simple dual-layer board containing a diode, a PLD, an EEPROM and a transceiver, plus a few passives.
### Power regulation
While the PCB has provisions to fit a 78L05 voltage regulator plus filter caps, the actual regulation on
this board was cheaply hacked together using a 5.1V Zener plus a 150 ohm resistor for current limiting.
### EEPROM size
The EEPROM used on this board is a PLCC AM29F010, 128KB. The Board is wired in a way that a 29F020 can be installed and the a second bank of 128KB used.
@ -41,4 +93,4 @@ The EEPROM used on this board is a PLCC AM29F010, 128KB. The Board is wired in a
A GAL16V8B provides signal decoding to enable the transceiver, EEPROM, read the state of the STROBE signal on the DSUB-25 connector and of the sliding switch.
This IC was protected on my board, so I proceeded with an analysis of the signals and their combinations.
The results can be seen in the `PLD` directory, and **have not been tested yet**. Interestingly, while connected, the A20 line seems to be ignored in all the calculations performed by this PLD.
The results can be seen in the `PLD` directory. Interestingly, while connected, the A20 line seems to be ignored in all the calculations performed by this PLD.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 141 KiB

BIN
pics/rev_0_assembled.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 MiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 175 KiB