OK I've been attempting to make sense of the ISO file system. I've gotten to the point of attempting a find first and find next type function to read the directory structure, it's a bit of a mess sadly.
So here is the question I get the root directory record from the volume descriptor. This has 4 sector locations for the Path table (because there are 2 LSB oriented and 2 MSB oriented path tables) Fine HOW do you read the path table? The Linux ISO fs information does not match what the ISO9660 standard has.
It makes a UINT16 from the Length and Extended Attribute length bytes instead of using them as 2 UINT8's (boggle). Which is of course WRONG but it works because no one uses the extended attribute length in the path table apparently (or not).
I bounce to the sector read the data and get a name length... which is longer than the minimum record length so it has a file name... or something.
This makes little sense all around in summary here is what I am doing
I'm guessing this might be a purposefully misformated directory table to swap LSB to MSB suddenly and drive people crazy.
I've noticed most of the PLAYSTATION disk information is not correctly written (Copywrite etc are either blank or some odd ball name which is not legal for ISO standard even with extensions and LEVEL 3 usage).
Cyb
So here is the question I get the root directory record from the volume descriptor. This has 4 sector locations for the Path table (because there are 2 LSB oriented and 2 MSB oriented path tables) Fine HOW do you read the path table? The Linux ISO fs information does not match what the ISO9660 standard has.
I bounce to the sector read the data and get a name length... which is longer than the minimum record length so it has a file name... or something.
This makes little sense all around in summary here is what I am doing
- RootDirRecord from volume descriptor points to 4 path tables.
- I fetch the first LSB based path table and leap to that sector.
- I then read the data from the sector and cast it to a path table type. This is where things go awry.
I'm guessing this might be a purposefully misformated directory table to swap LSB to MSB suddenly and drive people crazy.
I've noticed most of the PLAYSTATION disk information is not correctly written (Copywrite etc are either blank or some odd ball name which is not legal for ISO standard even with extensions and LEVEL 3 usage).
Cyb