PlayStation 1 controller combo reset mod

General information to do with the PlayStation 1 Hardware. Including modchips, pinouts, rare or obscure development equipment, etc.
Post Reply
User avatar
pyroesp
Interested PSXDEV User
Interested PSXDEV User
Posts: 7
Joined: Oct 16, 2019
PlayStation Model: SCPH-5502
Contact:

PlayStation 1 controller combo reset mod

Post by pyroesp » October 16th, 2019, 11:39 pm

I made an open source reset mod for the PlayStation 1. I made this because I have a PSIO and I didn't want to get up and walk to the reset button.
The mod detects button presses from inside the PlayStation 1 and will reset it whenever a defined button combination has been pressed.

For now the button combo is L2 + R2 + Select + Start for the digital an analog controllers and A + B + Trigger for the GUNCON.

Here's a little test to show that it works. Note that there was a 1 sec delay in the code as to not spam PuTTY.
[BBvideo=560,315]https://www.youtube.com/watch?v=dBLZW0fIh68[/BBvideo]

See my github page for the software (mplabx) and hardware (kicad): https://github.com/pyroesp/PlayStation-1-Reset-Mod

There's a video on the github page too if you want to see the proof of concept I made with an arduino nano.

Below is a board render out on KiCad. The actual board size is 14.5mm x 12mm, with 1.5mm diameter pads:
Image
Image
Back side is used to program the PIC microcontroller.

I've added both 1206 and 0805 resistor/capacitor, for those that don't feel comfortable hand soldering 0805.
Image
* I need to add text on the silkscreen to differentiate the cap from the res.

The microcontroller is a PIC16F18325, ran at 32MHz internal oscillator at 3.5VDC provided by the PlayStation 1.


I'm looking for people who might be interested in this and would be willing to provide documentation (pictures/annotation is fine) on where the mod could be soldered on the different PlayStation 1 motherboards.
See also this issue I made on my github : https://github.com/pyroesp/PlayStation- ... d/issues/4

I have a PU-18 and iirc a PU-22 so I can make guide for those motherboards, but I don't have any of the other ones.


This evening I'll be sending the PCB files to JLCPCB, so I'm going to receive 10 boards in a couple of weeks.
For those that want to help, I can try to send those (populated or not, depending on shipping cost) to you.


pyroesp

User avatar
pyroesp
Interested PSXDEV User
Interested PSXDEV User
Posts: 7
Joined: Oct 16, 2019
PlayStation Model: SCPH-5502
Contact:

Post by pyroesp » October 23rd, 2019, 9:08 am

Below is the new board render. Pull-up resistor is not needed so the BOM is reduced to a capacitor and a microcontroller:

Image

Image

First v1.0 release is up too. It contains the firmware hex file and the gerber files to send to the PCB fab.
The v1.0 is what I used to make the order on JLCPCB, 5 test boards for 7€.

User avatar
LameGuy64
Verified
Psy-Q Enthusiast
Psy-Q Enthusiast
Posts: 388
Joined: Apr 10, 2013
I am a: Hobbyist Game Developer
Motto: Commercial or not, play it!
PlayStation Model: H2000/7000
Location: Philippines
Contact:

Post by LameGuy64 » October 23rd, 2019, 11:36 am

I have thought about an entirely software based solution for awhile that basically polls the controller on every V-Blank IRQ alongside the BIOS and libpad controller handler and jump to BIOS ROM base address when the right button combination is entered. But I think it would screw with memory card access until I figure out a way to detect if memory card access is active.

I've yet to test out that method soon.
Please don't forget to include my name if you share my work around. Credit where it is due.

Dev. Console: SCPH-7000 with SCPH-7501 ROM, MM3, PAL color fix, Direct AV ports, DB-9 port for Serial I/O, and a Xplorer FX with Caetla 0.35.

DTL-H2000 PC: Dell Optiplex GX110, Windows 98SE & Windows XP, Pentium III 933MHz, 384MB SDRAM, ATI Radeon 7000 VE 64MB, Soundblaster Audigy, 40GB Seagate HDD, Hitachi Lite-on CD-RW Drive, ZIP 250 and 3.5" Floppy.

User avatar
pyroesp
Interested PSXDEV User
Interested PSXDEV User
Posts: 7
Joined: Oct 16, 2019
PlayStation Model: SCPH-5502
Contact:

Post by pyroesp » October 26th, 2019, 7:42 am

I could try looking into making this 'safe for memory card' but that would add complexity to the code.

I can probably do a simple 'detect if memory card written to' and wait to reset after it's finished.
The only problem I see here is that the PS1 will get reset in between writes to the memory card which will still corrupt the save game.

The caution in the readme is enough for now.

User avatar
pyroesp
Interested PSXDEV User
Interested PSXDEV User
Posts: 7
Joined: Oct 16, 2019
PlayStation Model: SCPH-5502
Contact:

Post by pyroesp » December 6th, 2019, 10:08 pm

I have a wiki now with guides on where to solder the mod.
https://github.com/pyroesp/PlayStation-1-Reset-Mod/wiki

User avatar
Xrider
Verified
Curious PSXDEV User
Curious PSXDEV User
Posts: 31
Joined: Jan 04, 2019
I am a: Hardware Dev
PlayStation Model: SCPH-5502
Contact:

Post by Xrider » September 28th, 2020, 9:17 pm

Hello pyroesp,

Great Work !

Can you make a port to Attiny (25,45 or 85) AVR chip ? low cost, take low space and only 8 pins (PB0 -> PB5)
Thanks you

Xrider

User avatar
pyroesp
Interested PSXDEV User
Interested PSXDEV User
Posts: 7
Joined: Oct 16, 2019
PlayStation Model: SCPH-5502
Contact:

Post by pyroesp » September 29th, 2020, 6:28 pm

Unfortunately I don't think the ATTINY is not suitable for this.
To read data and command from the PlayStation I need 2 SPI modules, which the ATTINY doesn't have.

I tried bitbanging it on an arduino nano (1 SPI module), but it was unstable.


If you feel like doing assembly then *maybe* it could be done, but I don't want to go that far.


> low cost
I checked digikey and both ICs, in stock and in SOP/SOIC package, are 86 and 82 cents for 1. With the PIC being cheaper.

> smaller space
The current size of the PCB is 14.5mm x 12mm. I don't think it needs to be made smaller and you're probably not going to gain that much space by using an ATTINY.

User avatar
Xrider
Verified
Curious PSXDEV User
Curious PSXDEV User
Posts: 31
Joined: Jan 04, 2019
I am a: Hardware Dev
PlayStation Model: SCPH-5502
Contact:

Post by Xrider » September 30th, 2020, 5:43 pm

Thanks pyroesp.

Which programmer did you use to program the pic16f18325? I have pickit2, but when I check the support list I think it is not the right way

danhans42
BANNED
BANNED
Posts: 329
Joined: Nov 28, 2012

Post by danhans42 » October 1st, 2020, 4:17 am

@Xrider - look at pickit2 plus . Think its supported in that

User avatar
Xrider
Verified
Curious PSXDEV User
Curious PSXDEV User
Posts: 31
Joined: Jan 04, 2019
I am a: Hardware Dev
PlayStation Model: SCPH-5502
Contact:

Post by Xrider » October 1st, 2020, 5:06 pm

danhans42 wrote: October 1st, 2020, 4:17 am @Xrider - look at pickit2 plus . Think its supported in that
Thanks my friend :D

User avatar
pyroesp
Interested PSXDEV User
Interested PSXDEV User
Posts: 7
Joined: Oct 16, 2019
PlayStation Model: SCPH-5502
Contact:

Post by pyroesp » October 2nd, 2020, 9:16 am

I used a pickit3.
Hopefully you find a way to program it with yours.

If not you can buy a ready made one, they're pretty cheap.

Post Reply

Who is online

Users browsing this forum: Google [Bot] and 10 guests