CD-ROM Directory Structure

From Crash Bandicoot Hacking Wiki
Revision as of 00:23, 25 July 2015 by Wikia>WurlyFox
Jump to navigation Jump to search

Root directory

A Crash Bandicoot game CD will have a root directory with contents similar to the following:

  • /S0 -  contains NSD/NSF files in 00-0F range
  • /S1  -  contains NSD/NSF files in 10-1F range
  • /S2  -  contains NSD/NSF files in 20-2F range
  • /S3  -  contains NSD/NSF files in 30-3F range
  • ZBSPTREE.WAD -  [Crash 1 only] Binary space partitioning tree data?
  • SCUS_***.** - [NTSC only] Crash Bandicoot binary executable
  • SCES_***.** - [PAL only] Crash Bandicoot binary executable

With careful analysis of the content in these files, one can establish an understanding of how the game operates.

Binary executable

All executable code for the game is located in its binary executable. Depending on game episode and region, this may be one of the following:

  • SCUS_949.00 - Crash Bandicoot (NTSC)
  • SCES_003.44 - Crash Bandicoot (PAL)
  • PSX.exe - Crash Bandicoot (BETA 96/03/08)
  • SCUS_941.54 - Crash Bandicoot 2: Cortex Strikes Back (NTSC)
  • SCES_009.67 - Crash Bandicoot 2: Cortex Strikes Back (PAL)
  • SCPS_100.47 - クラッシュバンディクー 2: コルテックスのぎゃくしゅう!
  • SCUS_942.44 - Crash Bandicoot: Warped (NTSC)
  • SCES_???.?? - Crash Bandicoot 3: Warped (PAL)

Boot information

After powering on, the system searches the disc for the SYSTEM.CNF file. This file contains a list of directives that control the boot process. This includes the path of an initial binary executable (i.e. one of the binaries listed above) that will be loaded into memory for subsequent execution.

Game content

In the S0-S3 directories are .NSD/.NSF file pairs with the name S00000**.NSD/.NSF. Each pair corresponds to a specific level in the game, and these files contain the game data for that level.

An NSF file comprises most of the actual data for its associated level, which includes graphic models, music and sound data, executable object code, collision octrees, and level layout.

An NSD file is essentially an index for its paired NSF file, but also includes some additional information.