UPX executable not working with FreePSXBoot
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.
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.
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.
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...
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. 👍
I got it to work, just need to add the
-fastloadoption.
I will try this option. Thank you.
@ShendoXT do you know which options (if any) you used to create your memory card image?
Memory is a little fuzzy since I only did it once as a test run but it's possible I used -fastload too.
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?
I updated the readme with the note 2747c29