Mail Archives: djgpp-workers/2001/01/05/15:16:42
Hello,
From: "Martin Str|mberg" <ams AT ludd DOT luth DOT se>
> While I'm very satisfied with your work, Norberto, yet another case
> has dawned on me: DVD-drives.
>
> WINDOZE 98 says "4 634 253 213 bytes 4,31GB" when I select
> properies of my R: drive when it contains a DVD-ROM. Interestingly, if
> I in EXPLORER select everything and right-click properties WINDOZE
> says "Size: 4,31GB (4 634 200 064), 4 634 476 544
Hmm, guessing : EXPLORER only counts space wasted by files. It doesn't count
space wasted by directories and FATs etc...
(BTW, 4,634,253,213, ?????.... I hope it's a typo... )
> bytes". Meanwhile WINDOZE "dir /v" says
> " Volume in drive R is FOURWEDDING
> Volume Serial Number is 9688-FAFF
> Directory of R:\
> File Name Size Allocated Modified Accessed Attrib
>
>
> AUDIO_TS <DIR> 00-08-09 15.56 00-08-09 R DA
> AUDIO_TS
> VIDEO_TS <DIR> 00-08-09 16.46 00-08-09 R DA
> VIDEO_TS
> 0 file(s) 0 bytes
> 2 dir(s) 0.00 MB free
> 4 419.57 MB total disk space, 100% in use".
4,419.57 is 4,634,253,213 (from properties of R) / 1024^2... 'dir' seems to
use 217303.
>
> So we have several right values...
>
> Alas df compiled with our latest (the one you have made) statfs.c says
> "FOURWEDDINGS 2295300 2295300 0 100% r:/".
>
> The one from fil316b.zip says
> "FOURWEDDINGS 2295300 2295300 0 100% r:/" so there
> has been no regression.
>
> However if I try the INT21 AX=7303 on R: I get:
> "r:/ -> 0, (0), bsize = 2048, blocks = 2262819, bfree = 0." which
> evaluates to 4 634 253 312 which is in accordance with the first
> WINDOZE value above. (Program source last in this message.)
>
> It would be neat if we could make this work also.
>
> In statfs.c there is this text:
> /* For a CD-ROM drive, Int 21h/AX=3600h gives incorrect info.
> Use CD-ROM-specific calls if they are available.
>
> Int 2Fh/AX=1510h gives us a way of doing IOCTL with the
> CD-ROM device driver without knowing the name of the
> device (which is defined by the CONFIG.SYS line that
> installs the driver and can therefore be arbitrary). */
>
> So I ask the list on which platforms does Int 21h/AX=3600h give
> incorrect info?
>
> My testing seems to say that in (WINDOZE 98's) plain DOZE mode does
> not support INT21 AX=7303/7302. So there we must fall back to the
> earlier methods.
>
IIRC, on _my_ Win98, 217302 works on plain DOS mode... I'll do some tests.
>
> Right,
>
> MartinS
>
>
Best regards,
Norberto
- Raw text -