Date : Wed, 24 Aug 2011 14:24:19
From : jgh@... (J.G.Harston)
Subject: [BeebSoc] Re: Amstrad emailer / DataCentre
Rick Murray wrote:
> J.G.Harston wrote:
> > When BigDisk support works properly, disks up to 4G will be
> > installable;
> Ah, so the Big format is not yet available on the Beeb?
Not at the moment. Things like manipulating the Free Space Map are
complicated, and I don't like leaping in and messing with it in
case I break it. However, before I can get Big Directories
(directories with 24-bit file sector address) working I need Big
Disks (free space map with 24-bit sector addresses) working.
Testing BigDirs on a SmallDisk won't actually test if files can
wrap past the 16M point as the free space map will only hold
entries up to 16M.
So, I'm currently carefully rewriting the Free Space Map
manipulation code to cope with BigDisks.
(Some HADFS terminology:
SmallDisk: a disk with total disk size of &00xxxx sectors, so less
than 16M in total size, and uses 16-bit Free Space Map entries.
BigDisk: a disk with total disk size of >&00xxxx sectors, so 16M or
larger, and uses 24-bit Free Space Map entries.
SmallDir: a directory with 16-bit sector entries, so can only point
to within the first 16M of a disk (or all of a SmallDisk), found by
the directory's DirFlag being 0 (DirEntries<128). SmallDir entries
can only reference files up to 512K in size (it uses a 19-bit file
lengths). The SmallDir layout is very compact and efficient.
BigDir: a directory with 24-bit sector entries, so can point to
within anywhere in a 4G disk, found by the directory's DirFlag
being 1 (DirEntries>127). BigDir entries can reference files up to
4G in size (it uses 24-bit file lengths). The BigDir layout is less
compact and uses more disk space for the same number of entries,
but that is unlikely to be an issue on the large disks it is needed
for.
Either disk size can coexist with either directory size, but
normally, *INSTALL will set up a SmallDisk with a SmallDir root
directory, and a BigDisk with a BigDir root directory.
)
--
J.G.Harston - jgh@... - mdfs.net/jgh
...and Brutha said to Simony, "Where there is darkness we will make
a great light"