Re: [Ql-Users] Copying large files

2017-08-20 Thread Andrea Carpi via Ql-Users

Il 18/08/2017 10.06, Wolf via Ql-Users ha scritto:



So, if a sector number of a file would be higher than 65536, the error is 
triggered. As each sector is 512 =Bytes long, after 65536 * 512 = 32Mib, it's 
the end. 


Thanks you Wolf

Andrea
___
QL-Users Mailing List


Re: [Ql-Users] Copying large files

2017-08-18 Thread Giorgio Garabello via Ql-Users
>
>
> Realistically,  I wouldn't go over 2 GiB.
>
>
I would say that this is a size more than enough: -D
___
QL-Users Mailing List


Re: [Ql-Users] Copying large files

2017-08-18 Thread Wolf via Ql-Users


Hi,

Theoretically, a cluster could contain 65536 sectors. So the qxl.win 
file could be 65536 x 65536 x 512 bytes big.


Realistically,  I wouldn't go over 2 GiB.



HTH

Wolfgang


NB there is another 65536 limit in the filesystem, that of the number of
clusters a qxl.win drive may have



so, the maximun size of a win file is?

Giorgio
___
QL-Users Mailing List



___
QL-Users Mailing List


Re: [Ql-Users] Copying large files

2017-08-18 Thread Graeme Gregory via Ql-Users


On Fri, 18 Aug 2017, at 09:10 AM, Giorgio Garabello via Ql-Users wrote:
> >
> >
> >
> > NB there is another 65536 limit in the filesystem, that of the number of
> > clusters a qxl.win drive may have
> >
> 
> so, the maximun size of a win file is?
> 
<-- this big ->
___
QL-Users Mailing List


Re: [Ql-Users] Copying large files

2017-08-18 Thread Giorgio Garabello via Ql-Users
>
>
>
> NB there is another 65536 limit in the filesystem, that of the number of
> clusters a qxl.win drive may have
>

so, the maximun size of a win file is?

Giorgio
___
QL-Users Mailing List


[Ql-Users] Copying large files

2017-08-18 Thread Wolf via Ql-Users

Hi all,

as promised, I had a look at the problem of copying large files onto a 
QXL.WIN drive.


The answer is simple : if you try to write anything larger than 32 MiB, 
you'll get an end of file error. This is because, for slave blocks, 
sector numbers are  stored are in a word.


Thus, in  dev8_dv3_dv3_albf_asm you can read this:


dv3_albf
cmp.l   d3c_feof(a0),d4  ; end of file?
blt.s   dv3_lcbf ; ... no, locate

move.l  d3c_fsect(a0),d5
move.l  ddf_smask(a4),d3 ; byte within sector
and.w   d4,d3
bne.s   dlb_loc1 ; not the start of a new sector

addq.w  #1,d5; next sector***!
bcc.s   dab_do   ; ... current version can only
cope
 ; with sector number up to
65535
move.l  d4,d5; start of file?
beq.s   dab_do

moveq   #0,d5
subq.w  #1,d5; highest sector number
moveq   #err.eof,d0
rts



So, if a sector number of a file would be higher than 65536, the error 
is triggered. As each sector is 512 =Bytes long, after 65536 * 512 = 
32Mib, it's the end.


To get around this, you would have to rewrite, at least, the parts of 
the filesystem handling the slave blocks.


HTH

Wolfgang

NB there is another 65536 limit in the filesystem, that of the number of 
clusters a qxl.win drive may have

___
QL-Users Mailing List