In message <
5e8efa4...@nails.abbeypress.net>
on 17 May 2013 Jim Nagel wrote:
> Realization has dawned on me that I am muddled in my thinking about
> IDE and IDEFS and ADFS. Can a drive be IDE at the same time as being
> ADFS?
Yes, see below.
> So far in my RiscPC, any drives have been plugged into the sockets on the
> motherboard. Are these IDE ports?
That's right. There are two IDE sockets on the motherboard. The IDE system
generally has sockets in pairs, with one drive a "master" and one a "slave".
This must be something to do with how they are addressed by the electronics.
The RISC PC has only two IDE sockets altogether (one pair), whereas the
majority of desktop PCs of the era had two pairs. As the hard drive takes
one, and most users have an optical drive also, fitting a second IDE hard
drive required adding a podule-based IDE interface. The Iyonix has four IDE
sockets on the motherboard.
The built-in floppy drives in each machine, although also accessed via ADFS,
do not take up IDE sockets.
> The machine has a Unipod with physically identical sockets. These, I
> presume, are IDE ports.
Correct. The Unipod covers three functions, IDE, USB and 100Mb ethernet.
When you bought it you will have paid for specific aspects to be enabled, so
if you did not shell out the full amount it is possible the IDE sockets will
not be operable. They could be enabled upon further payment if this was the
case.
> Am I correct in thinking that these sockets will require using Simtec IDEFS
> instead of ADFS? If so, in what way does the difference come into play --
> is it to do with the formatting of the disc, or what?
I am not an expert on this aspect, so I hope others will join in.
Essentially, any podule system for attaching drives like the Unipod has to
provide its own filing system, because ADFS specifically relates to the
built-in floppy drive and the motherboard IDE sockets (though optical drives
are handled by CDFS, of course). The podule ROM contains a filing system
module to allow the drives on the podule to be addressed by the operating
system.
I don't know about the naming of these filing systems. I would have thought
that competing podules would have had to have registered different filing
system names, so APDL's Blitz podule will presumably call its filing system
something different.
Most podule-based filing systems offer a number of facilities over ADFS.
Most importantly they usually allow for each drive to be partitioned. With
partitioning, each physical drive appears as several separate drives on the
icon bar. Partitioning is useful if the capacity of the drive is too large
to be supported by RISC OS. Over the years the maximum size of drive
addressable by FileCore (the more fundamental module which provides ADFS-like
drives to RISC OS) has been increased several times, and there has usually
been a period where we have been playing catch-up with what's available and
partitioning has therefore been useful.
The partitioning schemes vary from one manufacturer to another. The
partition information will be held on a sector at the start of the disc so
that the podule can access it quickly to determine how the "drives" on the
disc are organised. Each partition can be formatted differently. On a PC
with Linux, for example, one might format part of the drive with the ext4
filing system and part of it with a DOS/Windows compatible system like Fat16.
You get the same situation on the SD cards used for booting the Beagleboard
or Raspberry Pi. These have to boot off a FAT-based partition, but with
clever trickery it is possible for this to co-exist with a FileCore
compatible partition.
ADFS currently has no support for partitioning, and nor does FileCore as
such. The podule interface presents each partition to FileCore as though it
were a separate drive and FileCore does not know any better. This can mean,
however, that the FileCore limit of 4 permenant drives per filing system can
be hit very quickly. There are proposals to deal with both of these
problems as part of the ROOL bounty scheme.
To get back to the pointy, as a podule IDE interface will usually support
partitions, it has to have separate software for formatting the drive to
define the partitions. What I don't know is what happens if you plug in a
plain ADFS-formatted hard drive that has no partition table. I would hope
that podule interfaces would treat it sensibly and it would just work.
It would not appear to the computer as ADFS::DiscName.$ any more because ADFS
is limited to the internal motherboard IDE sockets, so it might appear
instead as IDEFS::DiscName.$. The disc name would be the same as it was
under ADFS because that's defined as part of the FileCore formatting of the
drive or partition.
The actual arrangement of sectors and files on the disc is really handled by
FileCore if it is a traditional "ADFS-like" disc, as FileCore is that part of
the system that manages that aspect. When we say that in RISC OS 4 ADFS
supports long filenames and more than 77 files per directory, it is actually
FileCore that was improved, so podule-based IDE interfaces have the same
limitations because they use FileCore too. (Yes, in theory the podule could
supply a complete replacement filing system, interfacing direct to FileSwitch
and could therefore have its own format with different features, but I don't
think that is how things have tended to have been done.)
> I want to take a spare (quiet) drive from the Iyonix and use it on the
> RiscPC. This drive says "ADFS::Castle.$..." in the titlebar of all
> its directory windows. Will there be problems if I plug it into the
> Unipod? Will access be slowed down somehow?
If it all works, the drive name will still be "Castle" but the filing system
will show "IDEFS" or whatever Simtec's filing system shows as.
I doubt access will be slower than access to drives on your RISC PC's
motherboard interfaces. Many of the podules had a selling point that they
were faster than the motherboard IDE bus.
Access might be slower than to the same drive on the Iyonix, of course,
though the Iyonix IDE interface is not especially speedy either.
Hope that helps!
--
Matthew Phillips
Durham