Amiga Ext fdd

From Grahams Wiki
Jump to: navigation, search

Related: Shugart / PC fdd pinout

Contents

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


pin desc pin desc
1 /Ready Disk ready 13 /Side disk side select (0=upper)
2 /DKRD Read data 14 /WPRO Write protected
3 Gnd Ground 15 /TK0 Track zero
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

Converting

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

Fdd notches.png

Where:

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


Motor control

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

Ready

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.

Diskchange

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.

HD supression

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)

Pics

General schematic

Note, if your drive provides a ready signal, this should also be connected to the NAND input instead of the Q connection to the drives MotorON Extfdd schematic.png

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.

Extfdd pic1.jpg Extfdd pic2.jpg Extfdd pic3.jpg Extfdd pic4.jpg Extfdd pic5.jpg Extfdd pic6.jpg