Updated: 2013-05-16

What you need:

  1. PC to PSX comms hardware
      There are 3 options:
    1. Action Replay cartridge with PC Comms Link card and cable.
    2. Xplorer/Xploder V2 cartridge and bidirectional parallel cable.
    3. Homemade serial cable
  2. Comms software (to upload proggies to PSX)
      Use one of these:
    1. Caetla (for use with AR and Xplorer).
    2. Catflap (for use with AR)
    3. siocons or something similar (for serial cable).
  3. A programming language to program the PSX
      Use one (or more) of these:
    1. An assembler for the MIPS R3000 series CPU.
    2. A C compiler.
    3. BASIC :)
  4. Some documents on the PSX hardware.

Of course there is also the official Sony development system (lots of $$$), and the Net Yaroze system (less $$$), but we won't concern ourselves with those here.

Hardware


I use an Xplorer V2 cart and the parallel cable from my ZIP drive. For comms software I use Caetla 0.34 (psexe). Transfer speed with this setup is about 100k/second.

The AR setup (AR + PC Comms card + cable) apparently has a faster transfer speed, and the software support is better. On the down side, it's more expensive than an Xplorer, and it's more complicated (you have to install an ISA card in your PC).

The homemade cable is only for serious hardware hackers. You have to build it yourself, and it's easy to damage your PSX. Transfer speeds are also slow. Basically, save yourself the time and trouble and just buy an Xplorer or AR+Commslink.

To use caetla with the Xplorer or the AR, the EEPROM in the cartridge has to be "flashed" with the caetla replacement ROM. Documents explaining how to do this can be found **here**. One way of fixing your Xplorer if it gets corrupted can be found in XiaNaix library. A better way is to use X-Flash to recover your Xplorer.

To use a serial cable, you will need to create a "boot CD" containing the PSX serial comms program. How to do this is explained **here**.

Development Software


I use the GNU C compiler for DOS, configured to cross-compile for the MIPS R3000. You can find it on Van Helsings site, in the "TOOLS" section (see links below). It's not much good without libraries for the PSX, though, so here are Rob Withey's PSX libs and my SPULIB v2.

For info on how to set up your whole mipsgcc environment, go to my MIPSGCC SETUP page.

Alternatively, if you're good with assembly language, you can use SPASM, from HITMEN.

You can also mess about with Psx BASIC if you want to.

PSX Development Docs


Here are some docs you might find useful:

Good docs are on PADUA site.

Links for Starting PSX Dev