Difference between revisions of "CD-ROM Directory Structure"

From Crash Bandicoot Hacking Wiki
Jump to navigation Jump to search
m (9 revisions imported: Initial import from Wikia)
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
== Root directory ==
 
== Root directory ==
 
A Crash Bandicoot game CD will have a root directory with contents similar to the following:
 
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
+
* /BANJ  - [Crash 2 and 3 NTSC-J only] Almost nothing is known for sure.
 
+
** 1.  - ???
* /S1  -  contains NSD/NSF files in 10-1F range
+
** 2.  - ???
 
+
** B0.DAT to B25.DAT  - ???
* /S2  -  contains NSD/NSF files in 20-2F range
+
** BAN320.IKI  - [Crash 2 and 3] ???
 
+
** BAN320I.EXE  - [Crash 2 only] Code for BAN320.IKI?
* /S3  -  contains NSD/NSF files in 30-3F range
+
** GOODIES.EXE  - Blank space. Reserved?
* ZBSPTREE.WAD -  [Crash 1 only] Binary space partitioning tree data?
+
** MOVIE.EXE  - Blank space. Reserved?
 
+
* /BANJ_M  - [Crash 3 NTSC-J only] Contains movie sequences from the Goodies menu in .IKI format.
* SYSTEM.CNF   -  [[Crash Bandicoot Hacking Wikia#Boot information|Disc boot information]]
+
* /BANJ_P  - [Crash 3 NTSC-J only] PocketStation stuff?
 
+
* /DRAGON - [Crash 3 only] contains Spyro the Dragon demo files
* SCUS_***.**  - [NTSC only] Crash Bandicoot binary executable
+
* /S0  -  contains [[NSD]]/NSF files in 00-0F range
* SCES_***.**  - [PAL only] Crash Bandicoot binary executable
+
* /S1  -  contains [[NSD]]/NSF files in 10-1F range. Does not contain 1F in Crash 3.
With careful analysis of the content in these files, one can establish an understanding of how the game operates.
+
* /S2  -  contains [[NSD]]/NSF files in 20-2F range. Contains 1F in Crash 3.
 +
* /S3  -  contains [[NSD]]/NSF files in 30-3F range
 +
* ZBSPTREE.WAD -  [Crash 1 NTSC-U and PAL only] Binary space partitioning tree data? Dummy file to take space? Can be deleted freely.
 +
* ABSPTREE.WAD -  [Crash 1 NTSC-J only] Same as ZBSPTREE.WAD?
 +
* ZTAIL.WAD - [Crash 1 NTSC-J only] Unknown. Not same as *BSPTREE.WAD.
 +
* SYSTEM.CNF   -  [[CD-ROM Directory Structure#Boot Information|Disc boot information]]
 +
* SCUS_***.**  - [NTSC only] Crash Bandicoot [[CD-ROM Directory Structure#Binary executable|binary executable]]
 +
* SCES_***.**  - [PAL only] Crash Bandicoot [[CD-ROM Directory Structure#Binary executable|binary executable]]
 +
* SCPS_***.**  - [NTSC-J only] Crash Bandicoot [[CD-ROM Directory Structure#Binary executable|binary executable]]
 +
* KDAT.DAT    - [Crash 1 and 3 PAL and NTSC-J and Crash 2 NTSC-J only] Unknown. Has no purpose? Located in S3 in Crash 1 and 2, but in S0 in Crash 3.
 +
* S0/WARPSC*S.BIN  - [Crash 3 only] Another executable? <!-- Messing with it causes the game to not boot.-->
 +
<!--There's another dummy file in Crash 3 but I deleted it.-->
  
 
== Binary executable ==
 
== Binary executable ==
Line 20: Line 31:
 
* SCUS_949.00 - Crash Bandicoot (NTSC)
 
* SCUS_949.00 - Crash Bandicoot (NTSC)
 
* SCES_003.44 - Crash Bandicoot (PAL)
 
* SCES_003.44 - Crash Bandicoot (PAL)
* PSX.exe - Crash Bandicoot (BETA 96/03/08)
+
* SCPS_100.31 - クラッシュ・バンディクー
 +
* PSX.EXE - Crash Bandicoot (BETA 96/03/08)
 
* SCUS_941.54 - Crash Bandicoot 2: Cortex Strikes Back (NTSC)
 
* SCUS_941.54 - Crash Bandicoot 2: Cortex Strikes Back (NTSC)
 
* SCES_009.67 - Crash Bandicoot 2: Cortex Strikes Back (PAL)
 
* SCES_009.67 - Crash Bandicoot 2: Cortex Strikes Back (PAL)
 
* SCPS_100.47 - クラッシュバンディクー 2: コルテックスのぎゃくしゅう!
 
* SCPS_100.47 - クラッシュバンディクー 2: コルテックスのぎゃくしゅう!
 
* SCUS_942.44 - Crash Bandicoot: Warped (NTSC)
 
* SCUS_942.44 - Crash Bandicoot: Warped (NTSC)
* SCES_???.?? - Crash Bandicoot 3: Warped (PAL)
+
* SCES_014.20 - Crash Bandicoot 3: Warped (PAL)
 +
* SCPS_100.73 - クラッシュ・バンディクー3 ブッとび!世界一周
  
 
== Boot information ==
 
== Boot information ==
Line 31: Line 44:
  
 
== Game content ==
 
== 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.
+
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.
+
An NSF file comprises most of the actual data for its associated level, which includes graphic models, music and sound data, [[GOOL Executable|executable object code]], collision octrees, and level layout.
  
 +
An [[NSD|NSD file]] is essentially an index for its paired NSF file, but also includes some additional information.
 
 
 
 

Latest revision as of 17:44, 27 April 2019

Root directory

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

  • /BANJ - [Crash 2 and 3 NTSC-J only] Almost nothing is known for sure.
    • 1. - ???
    • 2. - ???
    • B0.DAT to B25.DAT - ???
    • BAN320.IKI - [Crash 2 and 3] ???
    • BAN320I.EXE - [Crash 2 only] Code for BAN320.IKI?
    • GOODIES.EXE - Blank space. Reserved?
    • MOVIE.EXE - Blank space. Reserved?
  • /BANJ_M - [Crash 3 NTSC-J only] Contains movie sequences from the Goodies menu in .IKI format.
  • /BANJ_P - [Crash 3 NTSC-J only] PocketStation stuff?
  • /DRAGON - [Crash 3 only] contains Spyro the Dragon demo files
  • /S0 -  contains NSD/NSF files in 00-0F range
  • /S1  -  contains NSD/NSF files in 10-1F range. Does not contain 1F in Crash 3.
  • /S2  -  contains NSD/NSF files in 20-2F range. Contains 1F in Crash 3.
  • /S3  -  contains NSD/NSF files in 30-3F range
  • ZBSPTREE.WAD -  [Crash 1 NTSC-U and PAL only] Binary space partitioning tree data? Dummy file to take space? Can be deleted freely.
  • ABSPTREE.WAD - [Crash 1 NTSC-J only] Same as ZBSPTREE.WAD?
  • ZTAIL.WAD - [Crash 1 NTSC-J only] Unknown. Not same as *BSPTREE.WAD.
  • SYSTEM.CNF   -  Disc boot information
  • SCUS_***.** - [NTSC only] Crash Bandicoot binary executable
  • SCES_***.** - [PAL only] Crash Bandicoot binary executable
  • SCPS_***.** - [NTSC-J only] Crash Bandicoot binary executable
  • KDAT.DAT - [Crash 1 and 3 PAL and NTSC-J and Crash 2 NTSC-J only] Unknown. Has no purpose? Located in S3 in Crash 1 and 2, but in S0 in Crash 3.
  • S0/WARPSC*S.BIN - [Crash 3 only] Another executable?

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)
  • SCPS_100.31 - クラッシュ・バンディクー
  • 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_014.20 - Crash Bandicoot 3: Warped (PAL)
  • SCPS_100.73 - クラッシュ・バンディクー3 ブッとび!世界一周

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.