Pineapple-SDK 🍍

A fruity SDK to develop software for the PlayStation 1

NO_IMAGE

A rotating cube rendered by PCSX-Redux, a PlayStation 1 emulator

The Mission

I like developing small graphics demos and I especially like the aesthetics of the PlayStation 1. By writing software for the original PlayStation 1 I can combine the two. Great. One problem though, what SDK should I use? There is the SDK originally developed for the console named Psy-Q, which is obviously not open source. An there is also the excellent and open source PSn00bSDK by Lameguy64 and others. I tried the latter one quite a bit and it worked really well but I still wanted to dig deeper.

To fully understand the PlayStation 1, I wanted to develop my very own SDK, called Pineapple-SDK. Developing an SDK is no easy feat, so I required additional sources to get a better understanding of the inner workings of the console. A great first source was the ps1-bare-metal repository by spicyjpeg, which went in the right direction of bare-metal software development. Additionally, I found the PCSX-Redux project consisting of a good debugging emulator and some additional source code for homebrew development like an open BIOS for the console. Last thing I required was some sort of specification, which I then discovered in the form of psx-spx, a recompiled specification based on an earlier project by nocash. With all these sources, I was ready to begin development by compiling a custom version of the gcc compiler, writing a linker script and testing functionality via serial IO.

As of now I am able to render a colored cube in PCSX-Redux and on the real console via Unirom8 and NotPsxSerial by JonathanDotCel. The SDK is far from complete, so I will wait for additional features until I release it to the public.

Last update on March 15, 2025

Luca Anthony Schwarz

lucaanthonyschwarz@googlemail.com