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.