Evening John,

Thanks for yet more explaining. I discovered (!) that if I take the 
file_id from the file's entry in the directory and use that to index 
into the block map (having subtracted 1 first) I get a 'value' which I 
call stragely, the block number.

Multiply that by the number of sectors per disc and we have a sector number.

Multiply that by 512 and we have the file's address in the hard disc.

It appears that in QLWA formatted 'discs' there is a header of 64 bytes 
at that address immediately followed by the first 2048-64 bytes of the file.

Progress!

I haven't yet figured out where the second block of the file should be, 
but I'll be looking at some point in the future.e

I thought that the block number (also) pointed at the next block in the 
chain but when I followed that logic, I found that the second block in 
my test file was not in anyway connected to the first one. Needs more 
investigation I think.


> Almost :-)
> The chain actually belongs to the header/map and map entry $F 
> (containing $0000) is the last in the chain.
Hmmm, see above. This is where I seem to lose the plot. Are you saying 
that the zero block in the map, holding $0001 is telling me (a) where on 
disc to find the 4 sectors for this block PLUS (b) where the second 
block in this file is (ie, map entry $0001).

This is what I tried with my test file but got nowhere. :-(

>> 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->...
Ok, thanks.


> That's right - the file number is an index into the directory, not the
> map or the disk.
I was going to ask about sub-directories and adding/deleting files to 
and from those but then I discovered that each entry in every directory 
has a file_id word (implies 65536 maximum files per disc) at offset $3a 
in the directory entry - which leads nicely into the block map and from 
there to the first 4 sectors on disc.

>> last question for now. Where did you find out?
> I could tell you but then I'd have to kill you :-)
Aha, that old one - I use it often myself at work. :-)

> Actually, the scheme is basically the same as used by FAT-formatted PC
> disks.
Ok, thanks, I'll see what other info I can dig up on FAT discs sometime. 
Might help!

> The rest is just experience and a (little) bit of logic...
Ah well, experience is something I can look forward to, I only started 
this yesterday!

Thanks again.

Cheers,
Norman.

_______________________________________________
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm

Reply via email to