On Fri, 28 Jul 2000, Alistair MacDonald wrote:
> On Thu, 27 Jul 2000, Ralph Alvy wrote:
>
> > Will dosemu be able to access partitions beyond the 8gb barrier? Normal DOS
> > can't. I assume it will be able to, since it's relying on linux to do that
> > work for it.
>
> If you mean partitions that *start*/*finish* beyond the barrier then, if
> Linux/your system/etc. supports them, you should be able to. If you mean
> partitions whose *size* breaks the 8Gb barrier then probably not, because
> we still have to emulate the FAT.
I've researched it a bit further, and the 8Gb barrier is because of the
BIOS. The BIOS (to be precisely interrupt 13h) has a limitation of
1024 cylinders, 256 heads and 63 sectors/track. With 512 bytes/sector this
gives 1024*256*63*512=8,455,716,864 bytes.
See the Large Disk HOWTO for more details.
The emulated int13 in DOSEmu is no exception to this rule, except that the
origin of the calculation does not have to be the beginning of the disk,
but can be "anywhere", also beyond 8GB, since it translates the BIOS
calls into Linux syscalls instead of talking directly to the IDE
controller and the drive is not "real" but emulated. But it is only used
for diskimages, partition access and the initial bootdir, not for
redirected (lredir'ed) drives, which are network drives from DOS's point
of view. FAT16 already has a 2GB limitation anyway.
I guess we have the following limitations for size:
any lredired drive: depends on file systems used on that drive (but
probably nothing to worry about).
partition access / diskimage : 8GB (it has to be FAT32 to get above 2GB).
The FAT is not emulated by DOSEmu, only the BIOS is.
initial bootdir : probably 2GB. This is the AFAIK only place where an
emulated (read-only) FAT - a FAT16 - is used.
Bart