If you're here, you're probably wondering

What do I need to start developing on

Well, you're in luck, developing on PSX has never been this easy !

You need a SDK

The Software Development Kit is the suite of softwares that you install on your computer in order to be able to compile C code.
The PsyQ libs have plenty of docs and it works on Win, Gnu/Linux and MacOS.
PSn00bSDK It's shiny new, open-source, and fairly documented. It works on Win, Macos and Gnu/Linux.

You (might) need some examples...

You can find samples for most of the PSX's capabilities in this repo : https://github.com/ABelliqueux/nolibgs_hello_worlds.

You need an emulator...

...with debugging tools; they allow you to see the content of main and video memory, registers, breakpoints...
pcsx-redux It's modern, open-source and in active development. Win, Macos ang Gnu/Linux.

no$psx It's old but it's light and straight to the point, just extract the EXE and you're set. Win only.

You need the Original hardware

Where's the fun if you can't run your code on real hardware ?

For this to happen, you need an original Playstation console,
with at least a serial port, and ideally a parralel port and an Action Replay type cart.

Unirom is the software that runs on the PSX and allows you to upload your compiled code directly to the PSX memory.

It can run from a burned CD + modchip, from a flashed Action Replay cart, or from a memory card.

NOTPSXSerial, or NOPS, is the tool you will run on your computer to send code to your Playstation running Unirom.
Unirom Opensource, full of features and compatible with LOTS of carts.
NOPS Opensource, light, no setup. Just extract and run.

You need a Serial/Usb cable

If you don't want to wear your fragile laser unit, and spend 95% of your time burning discs to test your builds, you'll have to make a PSX Serial to USB cable.

For most usecases, a simple cable with Rx, Tx and Gnd connected will set you up.

You will need half a serial cable (scph-1040), or a PSX serial port from a non-functioning unit.

If you only have a PSone, you can add a Serial port yourself.

You will also need a USB>Serial converter. Your main options are FTDI FT232RL, Arduino Uno, any Raspberry Pi, CP210x ...
DIY PSX serial cable Cheap and simple to set up. Just plug PSX Rx to computer Tx, PSX Tx to computer Rx, PSX GND to computer GND and voilà !

You need to get to it !

A good starting point to understand the basics of a PSX program are
NoLibGs HelloWorld Includes modern SDK setup instructions !
Lameguy64 Tutorials Login and password are : annoyingmous

You (might) need help...

There is plenty of ressources online and a large community of active developpers for the PSX.
PSX.DEV discord


Go on then !