Hi, Norman. > Ok, 0->1->2->3 but when we get to C->D->E->F->$0000. What's going on > here? Is this sequence telling me that the map groups (of 4 sectors > each) 0 through $F are all linked in a chain belonging to whichever > file has file_id 1 and that block group $10 is the final one in the > file?
Almost :-) The chain actually belongs to the header/map and map entry $F (containing $0000) is the last in the chain. >> This would suggest that the entry for the first free group is >> pointing to that of the next free group... > > I don't follow you here. According to the header fields, the first > free block is $338F and not the zero'th block in the map. Unless you > mean block $338f and not block zero of course, as the first free > block. Yes: map_entry_for_first_free_group->map_entry_for_next_free_group->... > Assuming the root directory is file zero, this would be why we need > to have it listed somewhere as otherwise it would start at sector > zero on the disc. That's right - the file number is an index into the directory, not the map or the disk. > I assume that then that the directory entry for the root directory > is all zeros then? This seems to be the case with my example file so > far. I guess so. > I appreciate your taking the time to explain these things to me, one > last question for now. Where did you find out? I could tell you but then I'd have to kill you :-) Actually, the scheme is basically the same as used by FAT-formatted PC disks. The rest is just experience and a (little) bit of logic... John _______________________________________________ QL-Users Mailing List http://www.q-v-d.demon.co.uk/smsqe.htm