[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GCR*MFM=FM
"Joel" <joelbuckley54.nospam.@hotmail.com> writes:
> Then MFM (double density) on the
> IBM effectively eliminated the clock bits, sort of 8+0, in effect. The Apple
> can't read the MFM (8+0) because it needs to see a 1 bit at least every so
> often.
In Apple GCR, the bit cell is approximately 4 microseconds, and flux
reversals occur at intervals of one, two, or three bit times (4, 8, or
12 microseconds). The GCR encoding takes six data bits (in 16-sector
format) and encodes them to eight bits that meet the flux reversal
constraints (coding rules). Thus six data bits require 32 microseconds.
In FM (on a "low-density" 5.25-inch disk), the flux reversals happen at
intervals of 4 or 8 microseconds. Every other cell is a clock, which
always has a flux transition, so four data bits require 32 microseconds.
In MFM, the clocks are omitted except in the case of consecutive zero
data bits, in which case a clock is added halfway between the data bits.
This means that the flux reversal timing can be 4, 6, or 8 microseconds.
The reason the Apple will not be able to read MFM (reliably) is that
the state machine in the controller is only intended to distinguish
between intervals of 4, 8, and 12 microseconds. It can't reliably
distinguish a 6 microsecond interval, and will interpret that as
either a fast 8 microseconds (shift a zero bit followed by a one bit)
or a slow 4 microseconds (shift a one).
> And while some early drives may have used hard sectoring, there were plenty
> that didn't.
The only common microcomputer to use hard-sectored diskettes was the
Northstar.
> I believe even later model 5.25 drives for an IBM could still read
> single-sided single density FM disks.
The drive can handle it just fine. But some of the companies making the
floppy controller macrocell which is now usually part of a SuperIO chip
or a south bridge have stopped including FM support in their designs, so
many new PCs can't read FM format.
> So by limiting yourself to 35 track single-sided FM (4+4), I think you might
> be able to have a disk readable and writeable on both Apple and IBM 5.25
> drives.
Writing standard FM format on the Apple would be challenging. The actual
data write code is trivial, but I don't think you could do single-sector
writes, because you wouldn't be able to reliably read the address field
due to synchronization issues. If you write an entire track at a time,
it should be somewhat workable. You may run into another problem, though.
The FM disk format is normally synchronized to the index mark, and some
controllers can't read sectors that cross the index or start too soon
after the index. Since the Disk II doesn't have an index sensor, it has
no way to prevent this.
If you were willing to settle for writing only a limited amount of data
for interchange, this could be solved fairly simply. Instead of writing
ten 256-byte FM sectors per track, you could write five sectors, but
write each one twice. Then even if one of them crosses the index, the
redundant copy could still be read by the PC. This would allow for
44,800 bytes per 35-track single-sided disk.