preserving-ps2

How to Preserve PlayStation 2 Cracktros

Many patches for Sony PlayStation 2 (PS2) games, released by groups like Kalisto and Paradox, include a cracktro, an introductory sequence or animation created by the group. These patches are typically distributed in .ppf format and require a CD or DVD image of the original game.

While many PS2 games fit on a CD, some larger titles require a DVD, and certain patches are designed for specific DVD-rip releases. These DVD-rip releases, often created by groups like Kalisto or Paradox, were typically shared within a small, exclusive community known as "the scene". Later PS2 patches may also support DVD images.

A PS2 cracktro is an ELF (Executable and Linkable Format) file, essentially the PS2 equivalent of an .exe file. Many cracktros rely on additional .irx files, which function like dynamically linked library files. To preserve a cracktro, you must archive both the .elf file and its associated .irx files.

Since cracktros load .irx files from the disc, you'll need to create a PS2-compatible CD image that includes the cracktro and all required files to ensure it runs properly.

Prerequisites

  • PCSX2: The PCSX2 PlayStation 2 emulator is used to run the cracktro and capture screenshots. In PCSX2, enable "Tools > Enable System Console" and "Debug > Enable IOP Console Logging" from the main menu. These settings help identify which .irx files the cracktro requires.
  • cdgenPS2 v3.0 by Hermes/PS2REALITY: This tool creates a PS2-compatible CD image containing the cracktro and its required files.
  • WinCDEmu or any CD image browser: Use this to extract files from a CD image (.bin or .iso).
  • PPF-O-Matic 3: This tool applies .ppf patches to a CD image.

How to Extract the Cracktro

Let's use the example of a patched (pdx-acel.ppf) CD image for the game "Ace Lightning". Start by loading the CD image in PCSX2 and checking the System Console output, which might look like this:

  • loadelf: fname cdrom0:\SLES_515.03;1 secname all
  • loadmodule: fname cdrom0:\SIO2MAN.IRX;1 args 0 arg
  • loadmodule: fname cdrom0:\PADMAN.IRX;1 args 0 arg

This output indicates that SLES_515.03 is likely the cracktro's ELF file, and it depends on SIO2MAN.IRX and PADMAN.IRX.

Close PCSX2 and use a CD image browser (e.g., WinCDEmu) to access the CD image's contents. For Ace Lightning, copy the following files to a new directory:

  • SYSTEM.CNF
  • SLES_515.03
  • SIO2MAN.IRX
  • PADMAN.IRX

The SYSTEM.CNF file tells the PS2 which ELF file to load. Open it with a text editor to confirm it contains a BOOT2 entry, such as:
BOOT2 = cdrom0:\SLES_515.03;1

Preserve the original directory structure when copying files. Some games store .irx files in subdirectories, so replicate the full directory structure as needed.

How to Build a Cracktro CD Image

To create a PS2-compatible CD image, open cdgenPS2 and add the extracted files (SYSTEM.CNF, SLES_515.03, SIO2MAN.IRX, and PADMAN.IRX) to the cdgenPS2 window.

Click the "VOL" button in cdgenPS2 to set the CD image's volume name. Use the scene release name with a "cracktro" suffix for clarity. For Ace Lightning, the patch was released as pdx-acel.zip, so name the volume PDX_ACEL_CRACKTRO. This naming convention links the CD image to its original patch.

Next, click the "IMG" button, select .iso from the file type dropdown, and save the image as pdx-acel-cracktro.iso. Using .iso avoids confusion with ELF files that sometimes have a .bin extension.

Test the CD image in PCSX2 to ensure the cracktro runs correctly. If it fails to start, check the PCSX2 System Console for error messages. Some cracktros require an IOPRP*.IMG file (e.g., IOPRP260.IMG). If no clear error appears and the cracktro doesn't run, verify whether the original CD image includes an IOPRP*.IMG file, add it to the cracktro CD image, and test again.

Open the created CD image to confirm it contains only the files necessary to run the cracktro.

How to Package the Cracktro

To ensure proper preservation, archive the cracktro along with its scene release information, typically a .nfo and .diz file, and include a screenshot of the cracktro.

For the Ace Lightning example (patch name pdx-acel.zip), gather these files:

  • pdx-acel-cracktro.iso = The CD image of the cracktro
  • pdx-acel-cracktro.png = A screenshot of the cracktro
  • pdx-acel.nfo = Release info from pdx-acel.zip
  • file_id.diz = Release info from pdx-acel.zip

Create a .zip archive named pdx-acel-cracktro.zip containing these files, following the same naming pattern.

How to Archive the Cracktro

Upload the pdx-acel-cracktro.zip package to scene.org to preserve it for future generations. Additionally, create an entry on demozoo.org to make the cracktro easily discoverable.

For reference, the Ace Lightning cracktro package is available at https://files.scene.org/view/demos/groups/paradox/ps2/pdx-acel-cracktro.zip and https://demozoo.org/productions/374040/