Members BillyBnMOfficial Posted Saturday at 11:29 AM Members Posted Saturday at 11:29 AM I've been looking up things about the Disney's Dinosaur games and the PS1 version seems to have all data packed into a file called BIGFILE.CAT The only thing I was able to do was view the voices of the characters in jpsxdec and I've tried looking around in Tiledggd but can't figure out the palette If anyone has an idea of how I can extract the assets such as the textures it would be helpful https://drive.google.com/file/d/1sREyna187mDIzmG6dsxgOZstAbs2TXRz/view?usp=sharing
Engineers Rabatini Posted yesterday at 01:22 AM Engineers Posted yesterday at 01:22 AM (edited) The functions reads the big file as chunks sectors as mode 2352 resuming. it will extract millions of file. maybe some with better idea can help u Edited yesterday at 04:17 PM by Rabatini
Engineers Rabatini Posted 23 hours ago Engineers Posted 23 hours ago (edited) Well, there the best i can do, this format is pretty nested. Disney_Dinossaur_unpack.zip Edited 23 hours ago by Rabatini
Supporter wq223 Posted 11 hours ago Supporter Posted 11 hours ago On 12/14/2025 at 9:22 AM, Rabatini said: The functions reads the big file as chunks sectors as mode 2352 resuming. it will extract millions of file. maybe some with better idea can help u Why do repeated offsets appear in the index area? These offsets all seem to point to new blocks, and then the files in the new blocks start offsets from the new blocks.
Engineers Rabatini Posted 9 hours ago Engineers Posted 9 hours ago 1 hour ago, wq223 said: Why do repeated offsets appear in the index area? These offsets all seem to point to new blocks, and then the files in the new blocks start offsets from the new blocks. The "repeated offsets" pointing to new blocks indicate that the main BIGFILE.CAT is acting as a master container that holds smaller, self-contained archives inside it. The Master Index: Points to large chunks of data (e.g., "Level 1 Data", "Level 2 Data"). The "New Block": When you go to that offset, you find a new header (signature 01 00 01 00). The Inner Index: This new header has its own list of files. Because this block is treated as a standalone file by the game engine once loaded, its offsets start at 0 (relative to the start of that block), not relative to the start of the whole disc. [ MASTER CAT (BIGFILE) ] |-- Header |-- Index Entry 1: Offset 1000 -> Points to "Level 1 Block" |-- Index Entry 2: Offset 5000 -> Points to "Level 2 Block" | |... [Data at Offset 1000] ... | +-> [ NESTED CAT (Level 1) ] |-- Header (starts at Master Offset 1000) |-- Index Entry A: Offset 10 (Absolute: 1010) |-- Index Entry B: Offset 50 (Absolute: 1050) |-- Data... Why did developers do this? (The Logic) This approach was necessary due to the hardware limitations of the PlayStation 1 (PS1): RAM Constraints: The PS1 has only 2MB of RAM. It cannot keep a massive table of thousands of file offsets in memory at all times. Modular Loading: The game loads the "Master Index" to find the location of the current level's data. It then streams that specific "Block" (Nested CAT) into memory. Relative Addressing: Once the "Block" is loaded into a specific memory address, the game engine reads the inner offsets. Since these offsets are relative to the start of the block (0), the engine can easily calculate memory pointers without needing to know where the block was originally located on the CD.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now