Floppy Drive Interface Information Sought

Hi - 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.

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 information?

Thanks for any help that you can offer... Jim

Reply to
Jim Flanagan
Loading thread data ...

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, National, NEC.

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 snipped-for-privacy@eskimo.com Googleproofaddress(account:mzenier provider:eskimo domain:com)

Reply to
Mark Zenier

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.

formatting link

-- Joe

Reply to
J.A. Legris

You could also try

formatting link
I think there was a floppy project and code. Also, search for PIC related stuff. There is a free FAT based API out there too.

Cheers

Reply to
Martin Riddle

Jim,

Have you checked out my Amiga Floppy Project???

formatting link

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

formatting link

Schematic

formatting link

Samsung datasheet for SFD-321B (which is one of the better ones)

formatting link

Post with images

formatting link

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.

Keith

Reply to
Keith M

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 have USB.

Here is some helpful information that I found online for Floppy stuff.

formatting link
formatting link
formatting link
formatting link
formatting link

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 drives.

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.

See:

formatting link

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.

Reply to
jimwest

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. Right?

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 PCs.

--
Paul Hovnanian	paul@hovnanian.com
-----------------------------------------------------------------------
 Click to see the full signature
Reply to
Paul Hovnanian P.E.

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 slot.

Yes, but this is pretty much just a connector adapter because CF cards have 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 any speed.

Reply to
cs_posting

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.

Thanks. Jim

Reply to
Jim Flanagan

Floppy Disk Data Separator Design Guide for the DP8473

Apparatus for using flash memory as a floppy

Reply to
Andy

Thanks for this link.

This is a pretty good article.

Keith

Reply to
Keith M

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 you want.

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.

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).

Mark Zenier snipped-for-privacy@eskimo.com Googleproofaddress(account:mzenier provider:eskimo domain:com)

Reply to
Mark Zenier

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.