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

Reply via email to