Amiga Ext fdd
Related: Shugart / PC fdd pinout
At the Amiga:
12 1 --------------------------- \ o o o o o o o o o o o o / \ o o o o o o o o o o o / ---------------------- 23 13
|1||/Ready||Disk ready||13||/Side||disk side select (0=upper)|
|2||/DKRD||Read data||14||/WPRO||Write protected|
|4||Gnd||Ground||16||/DKWE||Disk write enable|
|5||Gnd||Ground||17||/DKWD||Disk write data|
|6||Gnd||Ground||18||/STEP||Head Step pulse|
|7||Gnd||ground||19||DIR||Head step direction. (0=in, 1=out)|
|8||/MTRXD||motor control||20||/SEL3||Drive select 3 (DF3)|
|9||/SEL2||Drive select 2 (DF2)||21||/SEL1||Drive select 1 (DF1)|
|10||/DRES||Drive reset||22||/INDEX||Drive index pulse|
|11||/CHNG||Disk changed||23||+12V||+12v (160mA const, 500mA surge)|
|12||+5v||5V supply, (250mA max)||n/a||n/a||n/a|
Although the signals provided by the Amiga floppy drive are similar to Shugart drives, they need some additional hardware to work. Its also worth nothing that the Amiga was designed for 720K drives rather than 1.44M drives which can sometimes provide compatibility problems. Also note that Modern (sic?) Pc Floppy drives are not nesseserilly Shugart compatable and may need some additional tweaking. On some, it is just a matter of finding a link, on others more extensive work may be required.
There may be a variety of changes required for the drive to work with an Amiga:
- Motor control (Always)
- Ready (A different pin)
- Diskchange control (Will be required for modern drives)
- HD suppression. (May not be nessesary, but best to do anyway)
- Swapping DS0 and DS1. (Or just do as i did and wire it to both of them)
In the diagram below, you can see the relative locations of the switches. In all the drives i have looked at, the Disk present switch has been below the HD switch.
This is the switch location from the bottom of the disk (And the bottom of the drive):
- HD is the HD switch location.
- DP Is (usually) the Disk inserted switch location.
- WR is the WR switch location (No need to mess with this)
For the Amiga, the motor state needs to be latched by the individual drive. No PC Drives support this, so this is done using half a 74ls74
Missing from the diagram below is the ready line to the disk drive.. (If your drive has one)
The circuit in the diagram gets the ready signal from motor on line, which is about the only good place to get it if you cant easilly access a ready signal.
It would be better if i put some form of delay between those lines (Say 1 second), so the drive has chance to spinup before reporting ready. this doesnt seem to make much of a difference for workbench, although i have seen some issues with custom loader games.
For the disk present (diskchange), Modern drives use this signal in a different way, so i had to tap the signal from the mechanism itself. In my drives, this signal was generated by a switch attached to the +5v rail. If it was attached to the 0v rail (More usual), i would have had to put an 74ls04 gate in that line.
This will involve going into the disk drive mechanism, identifying the HD switch, figuring out if its Normally Closed or Open (I state this explicity because on mine, it was normally closed, which I did not expect), and either shorting the line (NO) or cutting a line / removing the switch (NC)
My 3 drive build
For this, there are three seperate boards. One has the three drive connectors on it. Note these connectors are on a slight angle. Thats because the 0v lines are bent up and not connected to the board. This meant for the majority of the connections, i could use a bit of stripboard and not have to arse around with lots of wires. The ones that need to be seperate, eg, th SEL and MOTOR lines, the lines are broken with a drill.
The second board splits the DB25 connector i used for the drive input (I somehow had a pair of DB23 Male connectors in the parts bin which was ok for the Amiga connector, but i didnt have a DB23 female, and they seem to be quite expensive, so i just used DB25 for the Floppy drive end. This board splits the lines into connectors required for the drive board (Most of them) and the connectors required for logic (DS0-3, MTRXD, READY, ect)
The third board contains three sets of logic, similar to the schematic.
As you can see, i found it convenient to label all the connectors with signal names. This saved a lot of hassle. (Printouts are Openoffice 5pt font, and i just printed them out and used pritt-stick to stick them down. Works a treat.)
Finally, if your using more than one drive, your going to need an External Power supply. For all but the oldest 3.5" floppy drives, a 5v supply is all thats nessesary. (Eg, a 720k drive). I used a cheap chinese 3A regulator board that must have cost me all of £3 at some time in the distant past. Seems to work fine. 3A is vastly overkill for three floppy drives, but I had it in the bits bucket.