Page 1 of 1

Updating PSYQ Compiler and Linker?

Posted: December 17th, 2019, 5:42 am
by Jaberwocky
Heyho :3

I was wondering if there is a way to update the PSYQ Compiler and Linker with a modern version of GCC, so I looked a bit into this but.... to me it seems like this is not possible.

I tried basicly the most obvious thing you can do, building a GCC compiler supporting MIPS. This took me way longer then I could be proud about it. But when I was done with it, I compiled a simple PSYQ programm and tried linking it with psylink. Well, the linker rejected the object files because of them having a wrong format, probably because they were in .elf format and not ecoff. I then read that, GCC does not support that format anymore.

It didn't took me long until I encountered some other PSX SDKs that seemed to be working with GCC and the elf format, but they all required patching the executable, also they lacked full support of what PSYQ can do.

To sum it up:
If I want to use a modern compiler, I have no way of using PSYQ and the documents for it anymore, right?

If I want to use PSYQ I have to stick with the old compiler and linker, right?

Re: Updating PSYQ Compiler and Linker?

Posted: December 17th, 2019, 9:20 am
by Xavi92
AFAIK PsyQ uses the (propietary?) .LIB format, which is not compatible with the ELF specification, as you said. So there is no way you can link those static libraries against any modern version of GCC.
Jaberwocky wrote:It didn't took me long until I encountered some other PSX SDKs that seemed to be working with GCC and the elf format, but they all required patching the executable, also they lacked full support of what PSYQ can do.
That's one of the reasons why modern SDKs such as PSXSDK or PSn00bSDK reimplement (their own version of) PsyQ libs from source and compile them to ELF using the GNU toolchain for mipsel-unknown-elf. Shendo posted a tutorial about how to set up PSXSDK (and the GNU toolchain) a few years ago that will surely be helpful to you.

TL;DR: you must stick to the old toolchain if you want to use PsyQ libs.

Re: Updating PSYQ Compiler and Linker?

Posted: December 18th, 2019, 3:42 am
by Jaberwocky
Xavi92 wrote: December 17th, 2019, 9:20 am TL;DR: you must stick to the old toolchain if you want to use PsyQ libs.
That is sad acutally >o< But I expected that... Is there any ELF PSX SDK that coveres there entire PsyQ features? Because this is all I know currently... I'm actually drawn between sticking with the old compiler, which is "pure retro" or heading for a new SDK.
On the other hand, PsyQ has a very extensive documentation!

Re: Updating PSYQ Compiler and Linker?

Posted: January 28th, 2020, 4:15 am
by Xavi92
Jaberwocky wrote:Is there any ELF PSX SDK that coveres there entire PsyQ features?
I don't know if there's a full replacement for Psy-Q, but Lameguy's PSn000bSDK, Fromage's candyk-psx and PSXSDK are good alternatives with different available features. IMHO it is much more sensible to use modern open source tools and contribute to them instead of keep using an old, unmantained and copyrighted SDK.