The Playstation Scene
Written by Barog
This article is meant to be an introduction to the Playstation development scene. The Playstation scene now consists of a lot of people, although sadly quite high proportions of these people are new to programming and new to demos. I hope to be able to introduce to the Playstation some of the PC / Amiga / (Fill blank) demoscene members so they can bring some experience into the scene and help it develop.
First of all, about the Playstation as a platform. There exists a few methods of development, two made by Sony and one made essentially by the scene itself.
The first method from Sony of course is the professional development kit known as PSYQ, this is a very expensive method to use and the only people in the scene who use it are already professional Playstation developers. PSYQ consists of a way to upload and debug the Playstation and a way to create Playstation executables using a standard GNU development set which has been set to cross-compile for the Playstation's R3000 CPU. The libraries which are provided by Sony in this kit are fairly powerful and provide full use of the Playstation's capabilities as well as allowing the programmer to use assembler to access lower level functions.
The second method available from Sony is the Net Yaroze. This was released publicly to enable homegrown developers to create games for the Playstation. The main idea though isn't that appealing in my opinion, programs developed by users are put up on the net and can only be run on the Yarozes by other users. Also users of Net Yaroze are constrained in what they can do by a contract... Although programs have been made which do allow use of Yaroze programs on a grey Playstation using the uploading method described below.
So, the final and most used method in the scene (at least I think it is) is the Action Replay or Xplorer method. The Action Replay was developed by Datel, who have for many years made cheat cartridges for games. The AR was the Playstation version of their product, programmers soon found out how to produce their own ROM for the AR and how to upload programs and run them on a grey Playstation. People who wanted to produce their own programs for this have to either use a copy of the PSYQ development kit, the Net Yaroze kit or the legal option of developing using an assembler or your own libraries. A tutorial on how to produce a library has been made by Beromaster, the document is called Not Yaroze. The Xplorer is another version of the Action Replay, it is cheaper and plugs into the parallel port. The Xplorer though cannot be used with caetla, as the Xplorer uses different hardware registers and so isn't yet compatible with caetla. Until caetla is modified to support Xplorer you have to use the software which comes with Xplorer.
Once you have set up your development system, and have collected all the software and information you think you'll need you can begin programming. The Playstation is very simple compared to the PC (in my opinion), for example you only have two main differences in people's machine, PAL or NTSC, even this is a slight variance in frame rate and in resolution so it isn't hard to cope with. The main problem which people find programming on the Playstation though, seems to be the lack of memory available (2 megabytes of main memory, 512 kilobytes of sound memory and 1 megabyte of video memory). This of course doesn't have many restrictions when making demos, but for big games requiring lots of data it can be restrictive so reading of a CD is preferred.
The Playstation scene itself hasn't seen that many releases compared to other scenes, many people (including myself) have been interested in other projects and so haven't been working on intros or demos although I plan to release at least one a month from now on. If the Playstation could get like say the Amiga scene was with releases from people (no matter how feeble) every week, then developments could occur much quicker and people would learn a lot more.
Please feel free to mail me (Barog@barog.globalnet.co.uk) with any questions, I'll just give you a few URLs now to be looking at:
Thanks for reading.