I've really never given floppy technology much thought, so I figured
it would be fun to go back to the 80's and get acquainted with it...
I've been searching the web but haven't had any real luck finding
*good* technical data on floppy drive electrical interface data.
I've read a few floppy drive specification data sheets, but they seem
a bit lacking. Does anyone know of a really good repository for this
Thanks for any help that you can offer...
Start here, giving attention to the External Links section at the
bottom. There's also a National Semiconductor Mass Storage Handbook
(1989) floating around that has a lot of info.
A "Rosetta Stone" article that overviews the task is
_Encoding/Decoding Techniques Double Floppy Disk Capacity_
by Heoppner and Wall, Computer Design, February, 1980.
The major task is coping with "Write Precompensation".
Look for the datasheets for the various floppy disk controllers.
You may have to go back in time 15-20 years. Western Digitial, SMSC,
The standard disk formats are pretty well defined in various ISO
standards. (Best place to get the CRC algorithm). (Google back several
years, I posted a list).
Also, the spec sheets are going to be too sparse. What you need is
an "OEM Manual". I doubt that the East Asian manufacturers bother
anymore. There's a guy in New Jersey with a library that sells
reprints of old US made drive documentation. (YMMV).
Make sure that it can emulate the 600 RPM 3 1/2 inch Sony drives
that are used in a lot of upticket HP gear. They're unobtainium.
Finally, There's an oufit in Europe (Datarex?) that advertises
a unit pretty much like you describe. Google back a few months in
comp.arch.embedded. Someone else recently claimed that it was
vaporware because their e-mail didn't yield a reply. Again, YMMV.
There's also a lot of information around the "SVD" project. A hardware
interface that looks like a floppy on one side, but interfaces to a
software driver program on a PC, so that antique computers can run using
the disk storage on the PC. There's a lot of disk images of antique
PC software floating around the Internet.
Mark Zenier mze...@eskimo.com
Googleproofaddress(account:mzenier provider:eskimo domain:com)
Have you checked out my Amiga Floppy Project???
It's a USB-attached external amiga floppy drive controller. It uses a
standard PC floppy drive and interface. It will read amiga-formatted
floppy disks and create .ADF files for use with Amiga emulators.
Overview is here
Samsung datasheet for SFD-321B (which is one of the better ones)
Post with images
Make sure to check out the links section of the BLOG (not the general
site links) -- it has similar projects.
Incidentally, I've been having a ball the last couple years really
digging into this retro-computing stuff. It's a bit of a challenge
regarding reliable available documentation and parts, but it's fun.
Feel free to shoot me specific questions, I'll try to help.
If I understand you properly, you would like to make an interface with
USB or Flash from an original floppy based only computer that does not
Here is some helpful information that I found online for Floppy stuff.
I also would like to be able to have an adapter to go from the
original floppy drive to a flash drive using the available 3.5 inch
floppy 34 pin cable or card edge connector for the old 5 1/4 inch
There is legacy equipment that does not have a hard drive or can not
be upgraded to a newer computer because of the non support software
issue. If there was a true plug in adapter, similar to that of the IDE
to flash hard drive adapter, it would be beneficial.
The Addonics site has IDE to flash adapters. I called them about a
floppy drive to flash adapter, and to their knowledge nobody has
engineered one yet.
It might be possible to go from IDE cable to Floppy cable with some
form of adapter. If that is the case, then it would be a piece of cake
to just hook up an IDE/Flash adapter, and we would be in business.
In other words, you want to reverse the typical USB drive architecture.
Instead of a floppy that plugs into a computer's USB port, you want an
adapter that allows you to plug a USB stick into a legacy FDD port.
This might be an interesting project, since the FDD interface (IIRC) is
very low level. The signals (generated by the controller, sent to the
floppy) are things like motor on/off, send head to track 0, step to next
track. The data is returned as the low level track modulation as read by
the read head with minimal processing (basically just amplified).
USB sticks are addressed at a higher logical level. The commands
sent/received are to read/write a block of data at a time. I'm not
certain if the USB protocol maintains a virtual mapping to (nonexistent)
physical track/head numbers that the computer expects to address. I'm
certain this could be done, but you might need to modify the USB mass
storage specification, making the drive contents incompatible with other
Paul Hovnanian pa...@hovnanian.com
Procrastinators: The leaders for tomorrow.
> > I've decided on a new project (this is for fun only) where I will
> > build my own USB thumb drive to floppy interface. My intention is
> > to replace the single floppy drive that exists in a particular
> > piece of legacy test equipment. This will need to be a complete
> > hardware solution (cpld/ucontroller) interface which I can remove
> > the floppy and replace it with my USB floppy emulator.
This is a very worthwhile project... so worthwhile that some of us
where sure you could buy it
already, but apparently not. So please do it.
Only I think you will find it easier to use an SD or MMC card in SPI
mode rather than a USB stick.
There are only a few microcontrollers with USB host ports to talke to
a USB stick, but the SPI
access to SD/MMC is very simple, meaning you only have to work out the
floppy interface part.
You can then put them in a USB reader if your PC doesn't have an SD
> The Addonics site has IDE to flash adapters.
Yes, but this is pretty much just a connector adapter because CF cards
an IDE-type legacy interface mode built right into them.
IDE and floppy interfaces are very, very different. IDE drivers are
quite easy to talk to
until you start trying to go very fast, floppies are complicated at
Yes.. The USB end of the equation *seems* to be the more challenging
part. I figured I would design a CPLD to handle the floppy side with
some buffer memory to collect the Miller coded data. As the tracks
are being seeked ( this takes about 4mSec or so) then the USB could be
written to. At the moment I am studying techniques for decoding the MFM
data. There are several approaches and I will probably select one that
can be done in hardware only. Since I do not actually have to read a
magnetic media directly, all of the data will be pure digital signals.
I've got some studying to do before I start putting the pencil to the
paper. Should be fun and that is what it is all about, in my book.
By the way, if you have any links to Miller code decoding resources, I
would appreciate them.
Floppy Disk Data Separator Design Guide for the DP8473
Apparatus for using flash memory as a floppy
> Floppy Disk Data Separator Design Guide for the DP8473
Thanks for this link.
This is a pretty good article.
One way, (this project has been in my round tuit file for a while
so I've done some thinking and research) would be to make the adapter
be a USB slave, not a USB host.
In other words, make it look like a flash drive and stick the other type
of USB connector on the front panel. (The square one, not the flat one,
I never remember if that's an A or a B socket). That way, all you have
to do is make it handle the USB mass storage protocol, not the entire
USB Host stack. Stick enough flash in there to emulate a box (or case)
of floppies, with a switch or button or two to select which disk image
Have the floppy interface powered by the host computer, but have the
flash (and controller) isolated and powered either by the USB power or
the host power. Stick a standard cable to your PC and transfer the disk
images in or out. Independent of whether the host computer/equipment
is on or not.
>I figured I would design a CPLD to handle the floppy side with
>some buffer memory to collect the Miller coded data.
Er, what's Miller Coding? Everything I've got calls the most common
coding MFM. (Modified FM). But that's just the most common coding.
Go back too far in time, and the coding schemes get very varied and
quite strange, to the extent that a truly general emulator has to
be a logic analyzer/bit-stream generator. (With the bits coming out
different from the bits coming in, if the density gets too high.
Buzzword: Write Precompensation).
>As the tracks
>are being seeked ( this takes about 4mSec or so) then the USB could be
>written to. At the moment I am studying techniques for decoding the MFM
>data. There are several approaches and I will probably select one that
>can be done in hardware only. Since I do not actually have to read a
>magnetic media directly, all of the data will be pure digital signals.
>I've got some studying to do before I start putting the pencil to the
>paper. Should be fun and that is what it is all about, in my book.
>By the way, if you have any links to Miller code decoding resources, I
>would appreciate them.
Mark Zenier mze...@eskimo.com