ISO 9660 Level 3

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
MDenham
Member
Member
Posts: 62
Joined: Sat Nov 10, 2012 1:16 pm

Re: ISO 9660 Level 3

Post by MDenham »

Isaac wrote:What do you mean by the "location of the fie of that eight-byte gap"? The eight byte gap is not in a file, it's in the root directory.
MDenham wrote:EDIT: Also, does the thirteenth file have a non-zero extended attribute record length?
I'm sorry. It was my mistake. The code actually gets stuck after the fourteenth entry. It also skips the first two entries (root directory "parent", and root directory) which means that the place it gets stuck at is actually between the sixteenth entry and the seventeenth. This eight-byte gap is also found exactly there (i.e. between entry 16 and 17).

The sixteenth entry has has an extended attribute record length of 0.
I meant in the disc image. What byte number does this particular gap start at?
Isaac
Member
Member
Posts: 66
Joined: Sat Dec 07, 2013 7:08 pm

Re: ISO 9660 Level 3

Post by Isaac »

The gap begins at 0xC7F8.
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: ISO 9660 Level 3

Post by Combuster »

The point people have been asking this is because C7F8 + 8 = C800, and C800 is exactly divisible by the CD sector size. The next entry apparently doesn't fit entirely within the current sector and has thus been moved to the next sector. The next thing you'd have to figure out where in the specification it is stated to follow this behaviour.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
Isaac
Member
Member
Posts: 66
Joined: Sat Dec 07, 2013 7:08 pm

Re: ISO 9660 Level 3

Post by Isaac »

According to this theory, every program that reads CDs should have to check both the byte after the current entry and the first byte of the next sector and only if they are both zeros can the program be sure it has come to the end of the directory.

Also, according to this theory, what if an entry doesn't fit into 2048 bytes?
Last edited by Isaac on Fri Feb 27, 2015 2:12 pm, edited 1 time in total.
User avatar
Owen
Member
Member
Posts: 1700
Joined: Fri Jun 13, 2008 3:21 pm
Location: Cambridge, United Kingdom
Contact:

Re: ISO 9660 Level 3

Post by Owen »

Isaac wrote:According to this theory, every program that reads CDs should have to check both the byte after the current entry and the first byte of the next sector and only if they are both zeros can the program be sure it has come to the end of the directory.
Yes. Nope
Isaac wrote:Also, according to this theory, what if an entry doesn't fit into 2048 bytes?
Impossible.
Isaac
Member
Member
Posts: 66
Joined: Sat Dec 07, 2013 7:08 pm

Re: ISO 9660 Level 3

Post by Isaac »

Owen wrote:
Isaac wrote:According to this theory, every program that reads CDs should have to check both the byte after the current entry and the first byte of the next sector and only if they are both zeros can the program be sure it has come to the end of the directory.
Yes. Nope
So is it yes or no?
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: ISO 9660 Level 3

Post by Combuster »

I've never bothered with the actual iso9660 specification, but I can pretty much answer all these questions based on that function alone. Maybe you should give it a try.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
Post Reply