1. Installing the CD-Writer
For the average Linux user this is not a problem at all. There's just something special you should take care of: Linux does not support ATAPI-drives directly, you have to connect such devices via the SCSI emulation driver which tells the system it is a SCSI device. If you use a 2.2 kernel up to version 2.2.9 this might be a bit problematic. There's no need for me to explain the whole procedure, because Winfried Trümper did this already in his CD-Writing HOWTO. Get it to install your drive properly.
2. Used programs
Usually you make a 1:1 copy of a cd-rom using dd to generate an image on the harddisk and burn this ISO 9660 image with cdrecord or cdwrite to the cd-recordable (This procedure is also described in the CD-Writing HOWTO). When copying Playstation-CD's this does not work because of two reasons: Most Playstation-CD's contain one or more audio tracks in addition to the data track which cannot be ripped off using dd, and the data track itself is written in mode 2 which dd can't handle either.
The solution for the problems is cdrdao. This program makes it possible to read a cd-rom in raw mode (which means the whole 2352 bytes of a sector), doesn't matter whether it contains a data track in mode 1, 2 or even audio tracks. Like CDRWIN under Windows it creates two files when making an image to harddisk. One contains the raw data of a CD, the other one contains a description how the data should be written on the cd-recordable. Using this two files cdrdao is able to make a 1:1 copy of a psx-cd, if it doesn't contain a copy protection.
If it does you have to patch the image file before burning of course. This is possible under Linux because of two circumstances: cdrdao stores the description data of an image into a separate file just like CDRWIN and writes only the contents of the CD into the image file. This means the image file created by cdrdao is identical to CDRWIN. And because the program used to apply the patches (ApplyPPF) is a dos binary it is no problem to run it in the dos-emulator dosemu.
Recently Paradox have published the source code of ApplyPPF. The package contains already a pre-compiled version for the most common Unfixes, so you don't need to run dosemu anymore and there should be no problems left to patch an image under Linux.
3.1. Creating an image file of a Playstation-CD
cdrdao supports all cd-rom and CD-r/w which are compliant to the mmc- standard. This includes most devices build from 1999 on. To preserve the writer try first to use the cd-rom for reading in the image. But if cdrdao displays "Padding with zero sectors..." or just freezes while reading you should cancel pressing CTRL-C and use the writer to read. The following shows how to invoke cdrdao for reading in an image:
cdrdao read-cd --read-raw --datafile [filename.bin] --device
[bus,id,lun] --driver generic-mmc-raw [filename.toc]
[filename.bin] - The actual image file
[bus,id,lun] - The SCSI-address of the used device
[filename.toc] - The description file (Table Of Contents)
cdrdao read-cd --read-raw --datafile gta2.bin --device 0,1,0
-- driver generic-mmc-raw gta2.toc
If you don't have to patch you might want to continue reading at chapter 3.3.
3.2. Patching the image file.
First the system administrator has to unpack the ApplyPPF package and install the pre-compiled binary into a proper place on the system (e.g. /usr/local/bin). If the pre-compiled binaries doesn't match your system compile one. Don't forget to allow execution of ApplyPPF for all users afterwards (
chmod +x /usr/local/bin/applyppf).
Those who want to try dosemu and the dos version of ApplyPPF should start with the install-documentation of dosemu. Mainly this is handled by two scripts, setup-dosemu and setup-hdimage. When creating a hd-image it is better to use a start disk as source because when using the windows partition the boot menu always shows up when booting. Using lredir, which is included in the dosemu-package, you can mount your Linux partitions into dosemu and apply the patch.
applyppf filename.bin filename.ppf
applyppf gta2.bin bad-gta2.ppf
ApplyPPF displays a short message if the patching process was successful.
3.3. Writing the image file
Invoke cdrdao as follows:
cdrdao write --eject --speed [num] --device [bus,id,lun] --driver
cdrdao write --eject --speed 4 --device 0,1,0 --driver generic-mmc
4. Printing a cover
Everybody who takes care of a nice cover does not need to use Windows, too. If you have to edit the cover before printing it (e.g. to shrink the left and right parts of the inlay to fit into a standard jewel-case) use the famous gimp. Printing with gimp is a bit problematic because you can't set the actual print size. Use xv for this purpose.
But printing with gimp is possible. All you have to do is calculate the picture size in pixels:
Width and height in pixels = (12cm / 2.54) * dpi
Width in pixels = (15cm / 2.54) * dpi
Height in pixels = (11.8cm / 2.54) * dpi
The brackets convert the cm-unit into inches and are multiplied with the desired resolution. The result is the needed picture size in pixels. An example for a color inkjet printer and 300 dpi resolution:
(12cm / 2.54) * 300 = 1417
Picture size = 1417 x 1417 pixels
(15cm / 2.54) * 300 = 1771
(11.8cm / 2.54) * 300 = 1393
Picture size = 1771 x 1393 pixels.
When printing select ppi for scaling and set the resolution (in the example it was 300). A configured printer should then print the cover in the right size.
5. Other playstation-software for Linux
If this all is not enough there are many more programs for Linux to experiment with your PlayStation. Take a look at freshmeat.net and search for the keyword "Playstation".