Update the README
|
|
@ -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"
|
||||
|
|
|
|||
80
README.md
|
|
@ -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.
|
||||
|
||||

|
||||
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.
|
||||
|
||||

|
||||
|
||||
### 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.
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 2.8 MiB |
|
Before Width: | Height: | Size: 2.5 MiB |
|
Before Width: | Height: | Size: 2.7 MiB |
|
Before Width: | Height: | Size: 1.4 MiB |
|
Before Width: | Height: | Size: 141 KiB |
BIN
pics/rev_0_assembled.jpg
Normal file
|
After Width: | Height: | Size: 81 KiB |
|
Before Width: | Height: | Size: 4.1 MiB |
|
Before Width: | Height: | Size: 4.1 MiB |
|
Before Width: | Height: | Size: 3.6 MiB |
|
Before Width: | Height: | Size: 4 MiB |
|
Before Width: | Height: | Size: 4.3 MiB |
|
Before Width: | Height: | Size: 175 KiB |