General homebrew games, programs and PlayStation PS-EXE's
Post Reply
User avatar
C Programming Expert
C Programming Expert
Posts: 240
Joined: Mar 21, 2012
I am a: Programmer
Motto: Never settle
PlayStation Model: SCPH-9002
Location: Croatia, EU


Post by Shendo » March 14th, 2014, 4:44 pm

PadTest ver. 1.0

Username: Shendo
Project Title: PadTest
Time to Complete: 2 days
SDK: PSXSDK (Tails92)
Genre: Utility
Latest Release: Version 1.0
In Development: No
Initial Release Date: 14-MARCH-2014
Last Date Updated: 14-MARCH-2014
Controller: Digital, Analog
Players: 2
Memory Card: No
Languages: Eng
Region: Auto
Burn and Play: Yes
Executable Included: Yes
Source Included: Yes


Every so often I get or buy a cheap broken PlayStation controller and I fix it.
With that I found myself in need for a controller test application since that feature is pretty crude in standard games.

So I decided to write my own and upon completing it I'm sharing it with community.

Burn a bin/cue image to CD and boot it on your console.
After that connect a controller of your choice to either port and test it's buttons.

Analog controllers should automatically switch to analog "red led mode".
To test rumble press L3 for big motor and R3 for small motor.

This software is intended to be ran on the actual PlayStation 1 or PSone console.
Since it's using direct memory access to SIO ports it may not work on emulators or other consoles (PlayStation 2).
Please report if you encounter any bugs.
You do not have the required permissions to view the files attached to this post.
My PS1 consoles: 2 x SCPH-1002, SCPH-5552, SCPH-7002, 4x SCPH-9002, 2 x SCPH-102.
Dev console: SCPH-9002, MM3 - 7 wire modchip, PAL color mod, CH340 serial cable addon.

User avatar
Serious PSXDEV User
Serious PSXDEV User
Posts: 101
Joined: Sep 09, 2013
PlayStation Model: SCPH-7501
Location: Port-au-Prince, HAITI

Post by Greg » March 15th, 2014, 6:39 am

COOl !!!
1 x SCPH-7501, 2 x SCPH-7001, 2 x SCPH-5501
1 x Pro Action Replay with "Dual Rom Mod", ROM 1: Caetla, ROM 2: UNIROM
1 x Xplorer V2 with Caetla
1 x GameShark V2.1
1 x GameShark Pro V3.0
1 x CommLinkUSB
1 x XLinkUSB

User avatar
Serious PSXDEV User
Serious PSXDEV User
Posts: 118
Joined: Mar 27, 2012
Location: Brazil

Post by bizarro2011 » March 15th, 2014, 7:16 am

function pad
// PAD1
#define PAD1up 0x1000
#define PAD1down 0x4000
#define PAD1left 0x8000
#define PAD1right 0x2000

#define PAD1T 0x10 // TRINANGLE
#define PAD1X 0x40 // X
#define PAD1C 0x80 // CIRCLE
#define PAD1S 0x20 // SQUARE

#define PAD1L1 0x1
#define PAD1L2 0x4
#define PAD1R1 0x2
#define PAD1R2 0x8

#define PAD1Select 0x100
#define PAD1Start 0x800

// PAD2
#define PAD2up 0x10000000
#define PAD2down 0x40000000
#define PAD2left 0x20000000
#define PAD2right 0x80000000

#define PAD2T 0x100000
#define PAD2X 0x400000
#define PAD2C 0x200000
#define PAD2S 0x800000

#define PAD2L1 0x10000
#define PAD2L2 0x40000
#define PAD2R1 0x20000
#define PAD2R2 0x80000

#define PAD2Select 0x1000000
#define PAD2Start 0x8000000

u_long Pad=0;

void ReadPad(){
if(Pad&PAD1up){ky1=-1;} // up
if(Pad&PAD1down){ky1=1;} // down
if(Pad&PAD1left) {kx1=-1;} // left
if(Pad&PAD1right) {kx1=1;} // right

if(Pad&PAD1T) ... // trinagle
if(Pad&PAD1X) ... // x
if(Pad&PAD1C) ... // circle
if(Pad&PAD1S) ... // square

if(Pad&PAD1L1) ... // R1
if(Pad&PAD1L2) ... // R2
if(Pad&PAD1R1) ... // L1
if(Pad&PAD1R2) ... // L2

if(Pad&PAD1Select) ... // START
if(Pad&PAD1Start) ... // SELECT

available in the SDK bizarro

Active PSXDEV User
Active PSXDEV User
Posts: 41
Joined: May 07, 2014

Post by provato » September 12th, 2016, 8:35 pm

Hi there and thank you so much for your hard work and great apps you've made so far.

I'm sending you this message to ask a favour about Padtest v1.0.
I use the app from a burned CDrom in my PS1 and my PS2 (yes, it also works on a hard-modded PS2!!!). However, I want to use this app from within uLaunchElf (and not having to put the disc in the unit every time I want to test a controller...)

So, could you please compile padtest.exe into padtest.elf???
Because I have no programming skills at all...

EDIT: Big Thanks goes to Shendo, he answered me in pm
Last edited by provato on September 13th, 2016, 4:21 pm, edited 1 time in total.

Extreme PSXDEV User
Extreme PSXDEV User
Posts: 135
Joined: Jul 27, 2016

Post by likeabaus » September 13th, 2016, 4:59 am

The program would have to be rewritten from the ground up with a ps2 compatible SDK as ulaunchelf runs in ps2 mode and cannot access or run anything anything ps1 related. When the ps2 is booted in either mode (using a game or w/e there's no switching modes without rebooting the console....

What is PSXDEV?
What is PSXDEV?
Posts: 4
Joined: Jul 15, 2020

Post by aeromaxx » January 8th, 2022, 6:42 am

Is there a reason why some SCPH-1200 controllers show as "not supported" in Shendo's PS1 PadTest? The PCB in the controller seems to vary quite a bit, I have 2 controllers that are detected and work fine, and 2 controllers that are detected as analog controllers (the analog light is turned on automatically) and it shows them as being not supported.

Active PSXDEV User
Active PSXDEV User
Posts: 50
Joined: Aug 29, 2020

Post by leafy » January 9th, 2022, 5:45 am

Who knows, I guess the code can't detect those, the same thing happened to me on some. For those I use Ape Escape and play the underwater parts to test L3 and R3 specifically. Is there a source for new L3/R3 analog stick / button parts? I need to repair or replace the R3 on one. EDIT: I need a SCPH-110 (PSone) controller R3 switch which is different than the SCPH-10010 (PS2) R3 switch. The SCPH-110 controller R3 switch seems integrated into the R_JOY 3D stick, and the pin layout is different. The SCPH-10010 has a visibly separate switch for R3.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest