Date : Sat, 20 Aug 2011 15:28:25
From : jgh@... (J.G.Harston)
Subject: [BeebSoc] Re: Amstrad emailer / DataCentre
Mick wrote:
> *but* I'm slightly disappointed with the speed of read / write. I guess
> I've been spoilt the speed of the ST506 drives. It takes over a second to
> save 4k, less than a second to load with an IDE. This compares with almost
The speed is entirely down to the drive. All ADFS does is loop
until the IDE device says a byte is read to be read, and then reads
it (or waits until it is free for a byte to be written, and then
writes it). The only inserted delays in ADFS are the standard
delays when transfering data across the Tube, but only 12us per
byte. Tube data transfer can be speeded up using the same loop
until free technique polling the Tube registers, which I believe is
what the "Warp" mode uses on the GoMMC.
> In HDinit, I got the option to save space for HADFS. This I did, and
> formatted the 4 drives 4-7 (on logical device zero-the hard disc). I'm
> pretty sure my version of HADFS (if I can find it) is so old, it won't
> even look at the 1MHz bus. Does HADFS (modern) claim any workspace? The
All versions of HADFS from version 1 onwards can access extra
devices using calls to external support, such as the IDE and GoMMC
drivers in the Support ROM at mdfs.net/hadfs. HADFS version 5.30
onwards have IDE and GoMMC drivers built in. I strongly recommend
not using HADFS versions earlier than 5.50 as they only store 5-bit
datestamps, so run out of dates after 2012 (1981+2^5).
> version I had / have didn't. Oh, and is the maximum size of a HADFS
> drive 16MB? It was the default size using HDinit (512MB for ADFS) so I
> presume (perhaps wrongly) that it is. This is more than adequate
HADFS version 5 uses 16-bit disk sector numbers (ie &0000 to &FFFF)
so can only access 16M of disk space (&000000 to &FFFFFF). So,
HADFS 5 accesses four 16M drives on each IDE device. HDInit allows
you to reserve the first 64M of a 512M ADFS drive image to hold
these four HADFS drives so you can have HADFS and ADFS partitions
coexisting on the same device.
HADFS version 6 uses 24-bit disk sector numbers (ie &000000 to
&FFFFFF) and so can access 4G of disk space (&00000000 to &FFFFFFFF)
but I haven't finished carefully integrating the code into HADFS.
Having an extra 8 bits of disk address means changing the layout of
the Free Space Map, Directory entries and open file buffers.
I will update HDInit so that with HADFS 6 you will have the
opposite option of reserving a 512M ADFS partition at the start of
a 4G HADFS partition.
(Even though the ADFS filesystem structure uses 24-bit sector
numbers itself, the disk access API places the drive number in the
top 3 bits, so ADFS is limited to 21 bits to specify the sector
number on a particular drive, resulting in the 512M drive size
limit.)
> though. If page remains at &1900 or below, then that would be superb.
HADFS claims a single page of workspace, so with only DFS and HADFS
claiming memory PAGE is as &1A00. If you want to lose floppy disk
access you could remove DFS and PAGE will drop to &1800.
--
J.G.Harston - jgh@... - mdfs.net/jgh
BBC IDE Hard Drive Interface - http://mdfs.net/Info/Comp/BBC/IDE