padtest icon indicating copy to clipboard operation
padtest copied to clipboard

UPX executable not working with FreePSXBoot

Open amak79 opened this issue 5 months ago • 7 comments

I'm unable to get the PadTest 1.1 UPX executable to work with FreePSXBoot. I have a PlayStation SCPH-5502 with BIOS 3.0 (1997-01-06) E and it just freezes when FreePSXBoot is launched. I'm using the memory card image with a PSxMemCard Gen 2.

I use the FreePSXBoot 2.1 builder tool to generate a FreePSXBoot memory card image with the UPX executable as the payload.

$ ./builder -model 5502 -in padtest_upx.exe -out card.mcd
FreePSXBoot memory card builder
Exploit created by brad-lin
Builder created by Nicolas "Pixel" Noble
https://github.com/brad-lin/FreePSXBoot

Using exploit settings for model 5502
Not enough space to add screen flashing in initial loader
Created card.mcd for slot 1

I can launch the vanilla FreePSXBoot memory card image successfully. I'm either generating the memory card image incorrectly or the UPX executable doesn't work.

I've also tried using the Unirom exe2memcard.py script to generate a memory card image with the UPX executable. I can see the UPX executable in Unirom but when I execute it the PlayStation just reboots.

amak79 avatar Jul 20 '25 04:07 amak79

Have you tried to build the image with any other software and have it launch correctly? Personally I build the image for SCPH 9002 and it booted the UPX PadTest without issues.

ShendoXT avatar Nov 17 '25 03:11 ShendoXT

I have tried stuff/exe2memcard/psx_demo.exe from Unirom and it works as a FreePSXBoot payload and when run manually from Unirom.

I have also tried psxtest_cpu and it doesn't work as a FreePSXBoot payload but does when run manually from Unirom. I used UPX 4.2.4 to compress the executable.

I also compressed the PadTest executable with UPX 4.2.4 since the original one used 3.96 but that didn't help.

amak79 avatar Nov 17 '25 07:11 amak79

Tried this for a 9001 and came up with the same result as well...

$ ./builder -model 9001 -in padtest_upx.exe -out card.mcd
FreePSXBoot memory card builder
Exploit created by brad-lin
Builder created by Nicolas "Pixel" Noble
https://github.com/brad-lin/FreePSXBoot

Using exploit settings for model 9001
Not enough space to add screen flashing in initial loader
Created card.mcd for slot 1

Have you tried to build the image with any other software and have it launch correctly? Personally I build the image for SCPH 9002 and it booted the UPX PadTest without issues.

Do you remember what exact revision/commit you used? could potentially narrow it down then...

IncognitoMan avatar Nov 17 '25 20:11 IncognitoMan

Small update:

I got it to work, just need to add the -fastload option.

$ ./builder -model 9001 -fastload -in padtest_upx.exe -out card.mcd
FreePSXBoot memory card builder
Exploit created by brad-lin
Builder created by Nicolas "Pixel" Noble
https://github.com/brad-lin/FreePSXBoot

Using exploit settings for model 9001
Created card.mcd for slot 1

Boots up and works fine now. 👍

IncognitoMan avatar Nov 17 '25 22:11 IncognitoMan

I got it to work, just need to add the -fastload option.

I will try this option. Thank you.

@ShendoXT do you know which options (if any) you used to create your memory card image?

amak79 avatar Nov 17 '25 22:11 amak79

Memory is a little fuzzy since I only did it once as a test run but it's possible I used -fastload too.

ShendoXT avatar Nov 20 '25 05:11 ShendoXT

I can confirm that with -fastload it works. I tested with TestPad and the demo from Unirom.

@IncognitoMan Thank you.

@ShendoXT Perhaps a note can be added that explains how to create a FreePSXBoot memory card image for TestPad?

amak79 avatar Nov 22 '25 10:11 amak79

I updated the readme with the note 2747c29

ShendoXT avatar Nov 22 '25 19:11 ShendoXT