• Please review our updated Terms and Rules here

USB floppy disc controller

Hi Chuck! I can probably still do a PCB if you want. Assembly of the initial unit gets a bit more tricky but still doable with some solder flux.

Thanks and have a nice day!

Andrew Lynch
 
My project isn't doing too badly either -- the RAM access logic is all working properly, the PIC micro is talking to the FPGA (despite tons of bugs in the PIC's SPP module -- there is no way an 18F4550 is going in the final hardware) and I've got it to step the drive's head in and out.

Next step is to graft on the disc readout logic from Mk.1 (or a variant of it), and add the data-word synchroniser. I've got 8 write registers and 10 read registers left, and I bet I'll run out pretty soon...
 
Andrew,

I've gone ahead and ordered some ATMega162V 40 pin PDIPs; I haven't given up combining them with an ATTiny2313 uC to do the physical drive management (select, seek, etc.) and split the work. The code wouldn't be too much different in any case, but right now, I'm concentrating on the ATMega128 version.

The through-hole is a good goal, however, as folks can do their own assembly. Soldering a QFP can be done using a soldering iron, but it's not as forgiving and if you mess up, it can be a real bother.

--Chuck
 
Last edited:
Hi Chuck! That's great! I think the main benefit of using DIP components is that more builders can build them without any help. I understand that in some cases there may be no choice but to use SMT but in the end that makes the project more complex for us as many builders are going to need help assembling. We'll have to figure out some means to address at least partial assembly of the SMT component in certain cases.

For making prototypes and the like, I am sure many if not most experienced builders can handle the occasional SMT component and it will work out just fine. However there are many who won't be able to deal with the fine pitch SMT for a variety of reasons.

I am amazed at how many people request "pre-built" N8VEM boards even offering quite a bit of money at times. It seems even DIP parts get to be too difficult for some and I can understand health issues having an effect (eyesight, steady hand, etc). Unfortunately, it just isn't practical for me due to time required and quantity of boards so I've avoided the N8VEM "kit" and "pre-built" approaches. Instead I try to emphasize the home brew aspect as much as possible.

Thanks and have a nice day!

Andrew Lynch
 
Hi guys,
I've got the hardware analyser reading discs and seeking (although, those of you on the classiccmp list will already know this :D). Timer-overflow checking seems to work fine, too -- a single timing value can range from 1 count (1/40MHz) to (128*512*1024) counts, or a couple of seconds (IIRC).

I'm hacking together a data decoder now -- but a quick bit of histogram analysis (and plotting with Gnuplot) suggests that the raw data is fine. I can see the "three harmonic peaks" that are characteristic of an MFM disc. The histogram analyser is even picking out the position of the peaks and coming up with a "closeness to ideal" figure (as in, "I'm xx% sure this is MFM").

Next up: MFM-to-bitstream conversion, then bitstream synch and byte conversion, then finally address mark detection, track/sector decoding and data extraction.
 
Maximum 5.25" read/write speed?

Maximum 5.25" read/write speed?

I wonder...

Since you might actually be designing an external USB 5.25" drive, what do we know about cranking up the read/write speed of such drives? What are they really capable of while still retaining compatibility?

I'm just wondering what would be possible with regards to boosting performance, how far we can reasonably go with it... Perhaps through increasing the rotation speed, perhaps through other means...

"More power, Scotty!" :)
 
Since you might actually be designing an external USB 5.25" drive,
Actually it's a universal controller. It'll work with anything that has a standard 34-pin Shugart interface (or can be adapted to a 34-pin Shugart interface).

So Apple Disk II drives are out because of the odd track stepping arrangement (among other things), but things like the Amstrad 3" drives are in, because the interface is straight-Shugart with a few pins repurposed for the 5V power supply.

(In fact, you probably could bolt on a Disk II, but you'd need to add an I/O expander to the I2C port and hack the firmware and/or microcode up a bit.. same applies to the 400K and 800K Mac drives)

what do we know about cranking up the read/write speed of such drives? What are they really capable of while still retaining compatibility?

It depends on the encoding scheme in use. There's a minimum interval between flux transitions -- if you go below that minimum, then you get data R/W problems. That's pretty much why FM can only go to 250kbits/sec while MFM will do 500kbits/sec (or 1Mbit/sec with 3.5in "ED" media and a matching drive).

Basically, FM has a "clock" transition followed by a "data" transition. The clock transition is always present. MFM tweaks this by allowing the "clock" transition to be omitted if there was a data transition in the previous bit cell (1 bitcell = 1 clock bit and 1 data bit). No data transition, well, you need a clock.

This effectively reduces the maximum number of transitions in a sequence from infinity with FM (a long run of '1's), down to 1. FM is described as a (0,1) RLL code -- no limit on the number of 1s in a sequence, maximum 1 zero in a sequence. MFM is (1,3) RLL -- one 1 in a sequence, 3 zeroes (can't remember off-hand what sequence triggers this).

There are more advanced RLL schemes like (1,7) and (2,7); these could be applied to floppies, but I'd be worried about the reliability of the underlying magnetic media. Remember that when RLL hard drive controllers appeared, they had to be used with an RLL-compatible hard drive which was rated for the data rate and transition rates in use.

"More power, Scotty!" :)
Ach, Cap'n! She cannae take it! :)
 
I wonder...

Since you might actually be designing an external USB 5.25" drive, what do we know about cranking up the read/write speed of such drives? What are they really capable of while still retaining compatibility?)

The original 3.5" Sony drives spun the media at 600 RPM (you can still find them on some old HP gear). The 5.25" Drivetek drives did likewise. Drives made for duplicator use run at 2x-4x (and there are faster ones) the normal speed. The Imation LS-120 drives spin traditional media much faster (at least 2X). CSC in Sunnyvale during the 90's offered a juiced-up duplicator drive with their own controller that ran the media at 4x normal speed and cached the dickens out of it.

If the medium and heads can take it, there are advantages to higher spindle speeds. One is a better S/N ratio--recall that the energy induced in a read head is proportional to the square of the velocity of the media. That's one of the reasons that hard disks can use insanely narrow tracks, for example--and one of the reasons that Drivetec spun their floppies at 600 RPM to make 192 tpi usable.

If anything, floppies were a victim of their own success. Other than physical size changes, the technology hasn't changed significantly since the mid-70s. The road is strewn with the carcasses of companies who tried to improve on the technology but couldn't gain traction. Yes, there have been RLL(2,7)-encoded floppies, but being incompatible with "standard" media, they didn't last long.

Traditional floppies are extremely cheap to produce, which is also why more expensive floppy types, such as Zip and SuperDisk (120MB) never made it as software distribution media.
 
The original 3.5" Sony drives spun the media at 600 RPM (you can still find them on some old HP gear). The 5.25" Drivetek drives did likewise.

You mean the 5.25" Drivetek also ran at 600 RPM? That's quite a boost...

Drives made for duplicator use run at 2x-4x (and there are faster ones) the normal speed. The Imation LS-120 drives spin traditional media much faster (at least 2X). CSC in Sunnyvale during the 90's offered a juiced-up duplicator drive with their own controller that ran the media at 4x normal speed and cached the dickens out of it.

I know about the increased read speed of 3.5" floppies on the LS-120, but the duplicators you mentioned, are you referring to 3.5" or 5.25" media? I was specifically wondering at what maximum rotation speed in theory one could still reliably read data from 5.25" floppy disks without causing damage to the media.
 
You mean the 5.25" Drivetek also ran at 600 RPM? That's quite a boost...

In the Drivetek OEM manual, they defend the practice, saying that the additional stress on the media isn't significant.

I know about the increased read speed of 3.5" floppies on the LS-120, but the duplicators you mentioned, are you referring to 3.5" or 5.25" media? I was specifically wondering at what maximum rotation speed in theory one could still reliably read data from 5.25" floppy disks without causing damage to the media.

I've seen 4X 5.25" and 3.5" duplicator drives. Since a disk doesn't stay in a duplicator for long, the wear is probably inconsequential.
 
Hi Folks,

I'm now to fourm and have an interest in playing with old floppy drives for the sake on learning what could have been done years ago.

Along that line of thinking, I'd be interested in trying a DSP chip to encode/decode ANALOG data to the magnetic media of different floppy formats.
 
Use DSP chip and ANALOG for you Floppy endoding.

Use DSP chip and ANALOG for you Floppy endoding.

Hi Folks,

I'm now to fourm and have an interest in playing with old floppy drives for the sake on learning what could have been done years ago.

Along that line of thinking, I'd be interested in trying a DSP chip to encode/decode ANALOG data to the magnetic media of different floppy formats.
 
Back
Top