So after the amazing responses in the other thread about Xenosaga rights, I'd like to discuss things of a more technical nature. I am really fascinated about the efforts the team at Monolith went through to make Xenosaga and so my investigation has led me to wonder about actual structure of all the game data stored on Xenosaga discs.
Before I start discussing my findings thus far, I was wondering if there is a resource on the web that discusses the technical aspects of Xenosaga's disc format, data structure, how it was coded etc. or anything of that nature? Anything of that nature on this site that I may have missed?
So after inspecting the three games, I have discovered that Xenosaga 1, 2 and three have a similar file structure, for now I am focusing on Xenosaga 1 as if I crack that nut, I will most likely understand the structure of games 2 and 3.
Xenosaga 1 has already presented me with some challenges, namely the nature of it's dual layer format.
When accessing the disc from a standard machine (I have tried Windows and Linux) I see the following file structure.
├── [4.0K Dec 9 20:50] iop
│ ├── [ 12K Nov 5 2001] atad.irx
│ ├── [ 11K Oct 31 2001] dev9.irx
│ ├── [ 29K Nov 5 2001] hdd.irx
│ ├── [253K Dec 13 2001] ioprp24d.img
│ ├── [ 25K Nov 13 2001] libsd.irx
│ ├── [ 89K Aug 26 2001] mcman.irx
│ ├── [7.2K Aug 26 2001] mcserv.irx
│ ├── [ 44K Sep 25 2001] padman.irx
│ ├── [ 48K Oct 31 2001] pfs.irx
│ ├── [ 37K Jan 8 2002] rssd.irx
│ ├── [6.4K Aug 26 2001] sio2man.irx
│ ├── [ 16K Oct 31 2001] smap.irx
│ └── [166K Jan 8 2002] ssd.irx
├── [415K Nov 23 2002] ov01.ovl
├── [ 89K Nov 23 2002] ov02.ovl
├── [383K Nov 23 2002] ov10.ovl
├── [ 70K Nov 23 2002] ov11.ovl
├── [432K Nov 23 2002] ov12.ovl
├── [3.3M Nov 23 2002] SLUS_204.69
├── [ 79 Nov 23 2002] system.cnf
├── [166K Nov 23 2002] xenosaga.00
├── [1.0G Nov 23 2002] xenosaga.01
├── [338M Nov 23 2002] xenosaga.02
├── [8.0K Nov 23 2002] xenosaga.10
├── [1.0G Nov 23 2002] xenosaga.11
├── [1.0G Nov 23 2002] xenosaga.12
└── [641M Nov 23 2002] xenosaga.13
The above data totals, ~4.3GB which makes no sense as this game is a dual layer disc. There is NO way Monolith would have commissioned a DL-DVD and inherited all the problems that decision eventually caused just so they could fit 4.3GB of data. I also believe this amount of data can be squeezed on to a single layer disc anyway.
So next, I ripped the disc via raw data and dumped it into a disc image.
This time the file is 8,468,299,776 bytes or 8.5GB A HA!! Getting somewhere....or am I? Maybe this could be padded zeros? but wait, Playstation 2 discs are not mastered like that are they?, gamecube discs are done that way but not PS2....so it must be the full data?
Opening the disc up in IsoBuster and "analyzing" it leads me down the same path, 4.3GB of data.
If I take the above 8.5GB disc image file and open it up in WinRar, it only sees the 4.3GB of data as well. Where is this other mysterious, 4.2GB of data???
In the mean time, I put that problem aside and try to focus on what I am looking at on the disc.
I notice the xenosaga.XX files are exhibiting a pattern,
xenosaga.00 is 166K
xenosaga.01 is 1.0GB
and again...
xenosaga.10 is 8.0K
xenosaga.11 is 1.0GB
xenosaga.12 is 1.0GB
In actuality the files that are 1.0GB are all exactly 1,073,741,824 bytes...this cannot be a coincidence. After digging around Playstation 2 technical documents found at PS2DEV, I have discovered that this is a filesystem limit of Playstation 2 discs. No single file can be greater than 1,073,741,824 bytes.
So what are these files?
Turns out they are pretty much the whole game minus some executables......all 8900+ files...shoved into these few files.
It looks as if that the tiny files(xenosaga.00, xenosaga.10) contain offset information so the ps2 knows exact where to position the laser unit and how far to read to retrieve any file of the disc from these large files. This is sector based reading.
When decoded, the xenosaga.00 file looks something like this:
00000000|00078240|0000000B|\font1.tex
000EA800|001B0C48|0000001C|\namco.ipu
0029B800|00396366|00000030|\logo_msi.ipu
00632000|00006DD1|00000044|\monologo.jpg
00641800|00005B95|00000055|\title.jpg
00780000|00007C16|00000067|\system.evt
00788000|00003C7D|00000077|\base.evt
0079C800|00011B00|0000008B|\carddata.new
007AE800|00012200|0000009A|\hdd.res
252F3000|00078240|000000AB|\font0.tex
00078800|00040050|000000C3|\endou\cfwin.xtx
007C1000|00000780|000000D4|\endou\mapex.bin
007C1800|00040050|000000E6|\endou\menu01.xtx
00802000|00040050|000000F8|\endou\menu02.xtx
00842800|00000D18|00000109|\endou\new_d.jpg
00843800|00000C98|0000011A|\endou\otr_d.jpg
00844800|00000FAF|0000012B|\endou\brk_d.jpg
00845800|00000C14|0000013C|\endou\n_use.jpg
and so on...
If you combine the xenosaga .01 and xenosaga.02 files into one giant file and then run a tool that slices the large file into tiny files based on the offset,...you are left with all the files of the game.
There was a tool on Psx-Scene site that did just that, and so I now have the following:
https://drive.google.com/file/d/0B1X6yVDxKJuHbDFBOFdEeDVzMms/edit?usp=sharing
So my question regarding this thread is...what happened to the other data?
I have a lot of comments on the data I have gotten so far but I will leave that to another thread.
But for now, does anyone have any suggestions for me to try and get at that other data. I have confirmed that I seem to be missing the other half because I found the game cutscenes in one of the folders but it stops halfway through the game, indicating I dont have all the data.
Before I start discussing my findings thus far, I was wondering if there is a resource on the web that discusses the technical aspects of Xenosaga's disc format, data structure, how it was coded etc. or anything of that nature? Anything of that nature on this site that I may have missed?
So after inspecting the three games, I have discovered that Xenosaga 1, 2 and three have a similar file structure, for now I am focusing on Xenosaga 1 as if I crack that nut, I will most likely understand the structure of games 2 and 3.
Xenosaga 1 has already presented me with some challenges, namely the nature of it's dual layer format.
When accessing the disc from a standard machine (I have tried Windows and Linux) I see the following file structure.
├── [4.0K Dec 9 20:50] iop
│ ├── [ 12K Nov 5 2001] atad.irx
│ ├── [ 11K Oct 31 2001] dev9.irx
│ ├── [ 29K Nov 5 2001] hdd.irx
│ ├── [253K Dec 13 2001] ioprp24d.img
│ ├── [ 25K Nov 13 2001] libsd.irx
│ ├── [ 89K Aug 26 2001] mcman.irx
│ ├── [7.2K Aug 26 2001] mcserv.irx
│ ├── [ 44K Sep 25 2001] padman.irx
│ ├── [ 48K Oct 31 2001] pfs.irx
│ ├── [ 37K Jan 8 2002] rssd.irx
│ ├── [6.4K Aug 26 2001] sio2man.irx
│ ├── [ 16K Oct 31 2001] smap.irx
│ └── [166K Jan 8 2002] ssd.irx
├── [415K Nov 23 2002] ov01.ovl
├── [ 89K Nov 23 2002] ov02.ovl
├── [383K Nov 23 2002] ov10.ovl
├── [ 70K Nov 23 2002] ov11.ovl
├── [432K Nov 23 2002] ov12.ovl
├── [3.3M Nov 23 2002] SLUS_204.69
├── [ 79 Nov 23 2002] system.cnf
├── [166K Nov 23 2002] xenosaga.00
├── [1.0G Nov 23 2002] xenosaga.01
├── [338M Nov 23 2002] xenosaga.02
├── [8.0K Nov 23 2002] xenosaga.10
├── [1.0G Nov 23 2002] xenosaga.11
├── [1.0G Nov 23 2002] xenosaga.12
└── [641M Nov 23 2002] xenosaga.13
The above data totals, ~4.3GB which makes no sense as this game is a dual layer disc. There is NO way Monolith would have commissioned a DL-DVD and inherited all the problems that decision eventually caused just so they could fit 4.3GB of data. I also believe this amount of data can be squeezed on to a single layer disc anyway.
So next, I ripped the disc via raw data and dumped it into a disc image.
This time the file is 8,468,299,776 bytes or 8.5GB A HA!! Getting somewhere....or am I? Maybe this could be padded zeros? but wait, Playstation 2 discs are not mastered like that are they?, gamecube discs are done that way but not PS2....so it must be the full data?
Opening the disc up in IsoBuster and "analyzing" it leads me down the same path, 4.3GB of data.
If I take the above 8.5GB disc image file and open it up in WinRar, it only sees the 4.3GB of data as well. Where is this other mysterious, 4.2GB of data???
In the mean time, I put that problem aside and try to focus on what I am looking at on the disc.
I notice the xenosaga.XX files are exhibiting a pattern,
xenosaga.00 is 166K
xenosaga.01 is 1.0GB
and again...
xenosaga.10 is 8.0K
xenosaga.11 is 1.0GB
xenosaga.12 is 1.0GB
In actuality the files that are 1.0GB are all exactly 1,073,741,824 bytes...this cannot be a coincidence. After digging around Playstation 2 technical documents found at PS2DEV, I have discovered that this is a filesystem limit of Playstation 2 discs. No single file can be greater than 1,073,741,824 bytes.
So what are these files?
Turns out they are pretty much the whole game minus some executables......all 8900+ files...shoved into these few files.
It looks as if that the tiny files(xenosaga.00, xenosaga.10) contain offset information so the ps2 knows exact where to position the laser unit and how far to read to retrieve any file of the disc from these large files. This is sector based reading.
When decoded, the xenosaga.00 file looks something like this:
00000000|00078240|0000000B|\font1.tex
000EA800|001B0C48|0000001C|\namco.ipu
0029B800|00396366|00000030|\logo_msi.ipu
00632000|00006DD1|00000044|\monologo.jpg
00641800|00005B95|00000055|\title.jpg
00780000|00007C16|00000067|\system.evt
00788000|00003C7D|00000077|\base.evt
0079C800|00011B00|0000008B|\carddata.new
007AE800|00012200|0000009A|\hdd.res
252F3000|00078240|000000AB|\font0.tex
00078800|00040050|000000C3|\endou\cfwin.xtx
007C1000|00000780|000000D4|\endou\mapex.bin
007C1800|00040050|000000E6|\endou\menu01.xtx
00802000|00040050|000000F8|\endou\menu02.xtx
00842800|00000D18|00000109|\endou\new_d.jpg
00843800|00000C98|0000011A|\endou\otr_d.jpg
00844800|00000FAF|0000012B|\endou\brk_d.jpg
00845800|00000C14|0000013C|\endou\n_use.jpg
and so on...
If you combine the xenosaga .01 and xenosaga.02 files into one giant file and then run a tool that slices the large file into tiny files based on the offset,...you are left with all the files of the game.
There was a tool on Psx-Scene site that did just that, and so I now have the following:
https://drive.google.com/file/d/0B1X6yVDxKJuHbDFBOFdEeDVzMms/edit?usp=sharing
So my question regarding this thread is...what happened to the other data?
I have a lot of comments on the data I have gotten so far but I will leave that to another thread.
But for now, does anyone have any suggestions for me to try and get at that other data. I have confirmed that I seem to be missing the other half because I found the game cutscenes in one of the folders but it stops halfway through the game, indicating I dont have all the data.