Accessing partitions in drive images

Bill Freeman ke1g.nh at gmail.com
Mon Jan 30 17:08:23 EST 2012


On 1/30/12, Ben Scott <dragonhawk at gmail.com> wrote:
> On Mon, Jan 30, 2012 at 11:02 AM, OK? Im Deluxe!
> <mwl+gnhlug at alumni.unh.edu> wrote:
>>> What about `flopticals', LS-120s, etc.?
>>> Were they partitioned like HDDs?
>>
>> Typically, no.  Neither were any of the various tape devices that
>> used the PC floppy drive controller interface.
>
>   Well, now, the hang-a-tape-drive-off-the-floppy-controller thing was
> something else entirely.  As far as I know, there was never any
> standard PC/BIOS/DOS/whatever interface for tape drives, so if someone
> made one of those they had to invent their own thing.
>
>   But I find it interesting that the "super floppies" behaved like
> floppies.  My understanding is (was) that the PC had a rather narrow
> idea of what a floppy disk could be (360, 1.2, 720, 1.44, 2.88, maybe
> a few more).  How did that work?

There are at least four different meanings of "floppy" in use here:

1: The vanilla, non-SCSI, PC diskette interface hardware was very low
level.  It had logic level signals for Direction, Step, Motor Run, Write
Protect, Door Open, Index Pulse, maybe more, which were bit banged,
plus a chip that talked to the read/write head and which could do MFM
generation/recovery of a serial data stream, including recognition of an
"address block" and switching to read data or write data mode upon
recognizing a desired address, and which could talk to the system
DMA controller (and probably interrupt line, memory dims).  Most could
do a variety of block sizes, which was probably used with tape drives,
but rarely with diskettes.  So the hardware interface didn't care whether
it was a floppy or not.

2. BIOS and/or OS drivers knew how to twiddle the above interface
under the assumption that there was a floppy drive out there.  The
timeout for motor off after idle for a while was entirely in software, and
implemented here.  The door having been opened was detected here,
and onece there was more than one PC format (single sided 160kB),
the first block had to be read again to determine the format of the
inserted disk.  Tape drives that attached to the floppy port had to add
"TSR" drivers that knew how to manipulate the interface in whatever
way the drive required.  Direction and Step were often used to move
the single head to a different track on the tape.  Side select (I missed
that above) would typically control the direction of the tape travel, so
you could do serpentine track patterns.  The hardware in #1 didn't
care.

3. At higher levels of the OS, it knew that this was a floppy because
the BPB said so.  DOS didn't expect floppies to be partitioned, while
it expected hard drives to be partitioned.  The hardware and low level
drivers in #1 and #2 didn't know about or care about partitioning.

4. Floppy is a reasonable adjective for any disk shaped media
that is flexible.  I'll take other folks word for it that things like LS-120
are in this category.  That doesn't mean that they work with the
floppy controller hardware, the BIOS code, or the standard OS
stuff.


More information about the gnhlug-discuss mailing list