Re: [Ql-Users] QXL.WIN internal format?

2008-04-28 Thread Norman Dunbar
Evening David,

David Tubbs wrote:
 It is some time since I was looking into the depths of QXL_WIN, and at that 
 time I found a full and detailed specification of the layout.
 
 Not sure where it came from, a web page, not on my current machine but I 
 could look at an old HDD ?


I have received a lot of helpful information from John H. and Daniele T. 
and written it up - which should keep Per happy :-) - so thanks for your 
offer but I won't need to take you up on it.

I found quite a lot of QXL.WIN form at information on the Internet - 
most of which seems to be incomplete strangely enough. Hopefully, when I 
get mine finished, it will be complete in content.

Thanks again.

Cheers,
Norman.
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] QXL.WIN internal format?

2008-04-28 Thread Norman Dunbar
Evening Ralf,

 8-) Winbackup seems quite a long time ago ;.)

WinBack does seem a long time ago - it was the first program I had 
reviewed in QL World magazine. We must be getting old.


Cheers,
Norman.
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] QXL.WIN internal format?

2008-04-25 Thread John Hall
Hi, Norman.

 Ok, 0-1-2-3 but when we get to C-D-E-F-$. 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 $) 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


Re: [Ql-Users] QXL.WIN internal format?

2008-04-25 Thread Norman Dunbar
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 $) 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


Re: [Ql-Users] QXL.WIN internal format?

2008-04-25 Thread Ralf Reköndt
8-) Winbackup seems quite a long time ago ;.)

Cheers...Ralf


- Original Message - 
From: Norman Dunbar
Sent: Friday, April 25, 2008 8:52 PM
Subject: Re: [Ql-Users] QXL.WIN internal format?


 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 $) 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 

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