[BBC-Micro] Possibly available: SJ FDFS
chris at lessthan3.org.uk
Sun Apr 15 09:00:44 BST 2007
On Sun, 15 Apr 2007, Jonathan Graham Harston wrote:
> Difficult, as the MDFS uses 1024-byte disk blocks addressed by
> 16-bit block numbers. That gives a maximum of 65536*1024 bytes -
> 64M. Some time ago I looked through the code and it looks at
> though it would be simple enough to patch to allow 64M partitions
> (actually, 64M-1K, &FFFF blocks). It looks like it might be as
> simple as changing the right occurances of &F000 to &FFFF.
This is probably the biggest annoyance for me - I'd like my HD to be one
big partition. You'd need the source to fix this really. Even then, there
are issues in keeping it compatible with the old disc structure as $.Fs
needs to be readable by the "BIOS" (ZProc?).
> Probably doable. I don't know how the MDFS paritions disks. Does
> it just split the drive into 60M sections, and accessing drive x
> accesses sector 60M*x, or does it have a partition table? Has
> anybody imaged an MDFS drive and have the image available for
> study? I've imaged floppies, see http://mdfs.net/Mirror/Image/SJ/MDFS
It's just blocks of N MB, where N is 60 or 35. I say this because if you
set the drive size to be the wrong option (as can happen when you do a
"CMOS reset") it will find the first drive and complain that the others
aren't valid MDFS drives. I thought i'd lost two partitions worth of stuff
once, until i realised this.
> Possible, but at a cost. The MDFS holds the disk allocation map
> in RAM, and there's a finite amount of RAM. Though, considering
> that the MDFS can have 8 hard drive partitions, four floppy drives,
> and a tape drive mounted, that's 13 allocation maps in memory.
I personally don't see the need to store much more than a few hundred MB
on an MDFS. The HD in my MDFS is around 400MB (because that what I could
get hold of at the time), but most of the partitions are disabled because
i just don't need that much storage.
You could possibly mitagate the RAM issue by allowing discs to be marked
as read-only / read-write at runtime - IIRC if a partition is read-only it
doesn't take RAM for the map. This has the cost that when changing to
read-write the partition will need to be scanned. Another option would be
to increase the block size to say 2K or 4K, but with the size of files a
BBC uses, that could be very wasteful.
Chris Johns <chris at lessthan3.org.uk>
More information about the bbc-micro