PC Floppy Drive In Amiga
A common problem with the Amiga consoles is their dying Floppy Disk drives is they start to fail over time, and due to them having a much less common interface than the modern Floppy Disk drives you can now buy, there is a need to be able to convert floppy disk drives you can buy today to work on the Amiga consoles.
Amiga floppy disks are Double Density, also called Low Density, and often labelled or referred to as DD, 2DD, or 2S2D.
Most PC are High Density, labelled HD or 2HD.
The Amiga disks spin at 300 RPM (as oppose to 360 RPM for regular PC floppy disks).
I and IS Used to select speed of drive. I strap on: dual speed mode designated. (360 rpm High Density, 300 rpm Low Density).
The Amiga disk format stores 512 bytes per sector, 11 sectors per track (a track is one side of a cylinder), double sided (i. e. 2 tracks per cylinder) with 80 cylinders per disk, which makes 80 * 2 * 11 * 512 = 901120 bytes = 901.12 kB = 880 KiB raw block data.
Generally, the floppy drives used in Amiga are the same as old PC and ones sold today, with a few exceptions:
- PC floppy drives normally answer to drive select 1 (DS1), internal Amiga drives answer to DS0
- Pin 34 on the connector (PC = Disk Change / Amiga = Disk Ready)
- Pin 2 on the connector(PC = High Density Detection / Amiga = Disk Change)
The general process then to convert a common PC Floppy Disk drive into an Amiga drive is this:
- Change the drive to DS0
- Routing Pin 2 to Disk Change
- Routing Pin 34 to Disk Ready
- Grounding HD Detect signal on drive
You'll need a PC drive which exposes the disk ready signal somewhere on its PCB.
The disk ready signal must work for most games that didn't use AmigaDOS for floppy I/O but that accessed the floppy controller directly.
These games typically waited for the disk ready signal before continuing with floppy I/O and will thus stall if the signal isn't working.
Booting the Workbench on the other hand and running applications or games that use AmigaDOS for I/O will work fine even without working disk ready signal. Ironically, AmigaDOS (1.x at least, I haven't tested other versions) is ignoring Commodore's own recommendation to check this signal.
īģŋSourceīģŋ
So we know what we are dealing with, firstly lets understand the pinout. On a Floppy Disk only one row of the two is used. The other row is all ground or not connected.
The side of the cable with the notch, is the side that is not connected / grounded.
The key thing to note is the pin 34 on a PC Floppy Disk is wired for !Disk Change, (low for disk change), but on Amiga (Shugart) it is used for !Disk Ready (low for ready), and pin 2 on PC is Low Density, but on Amiga it is !Disk Change.
The first step is to re-wire the drive from DS0 to DS1. This is most commonly done by a simple jumper switch on the board, or a solder blob that moves !Motor Enable 0 (pin 10) and !Drive Select 1 (pin 12) around, or
As an example, on a Citizen Z1DE57A this is achieved by simply swapping JP10 and JP11 around.
Resolder them to change it to DS1.
On PC Floppy Disk drives !Disk Change is pin 34.
Rewire the trace signal going in to pin 34 to pin 2 instead, and disconnect the trace that was going into pin 2 (!Disk Ready).
This sends !Disk Change signal to pin 2.
If you want to find !Disk Change on an oscilloscope, you are looking for a signal that stays high until you insert a disc, and then when a disc is inserted it pulses low briefly (100us) then goes back high.
īģŋ
Sometimes pin 2 isn't wired anywhere so you will have a disconnected jumper or similar. However if it is wired back to the IC controller chip, make sure to disconnect it as that pin on the IC will be High Density detect pin.
As the PC floppy discs did not have a !Disk Ready signal, we must find one on the PCB and wire it to pin 34.
If you want to find the !Ready on an oscilloscope, you are looking for a signal that stays high until you insert a disc, and then when a disc is inserted it pulses low periodically during reading, usually for around 4ms at a time.
This pulse will be perfectly in time with the read LED if you have one. It will be on when the signal is high, and low when off.
The pulses also coincide with the noise of the disk. When the disk is spinning (reading) the signal is low (ready), when it is moving to another sector (usually a louder scratchy noise) the signal is high (not ready).
īģŋ
Some drives have a jumper or solder pad that is labelled Ready / Change, RY / DC, or RDY / CNG and you can just change it to the Ready pin.
Finally, if there is no jumper pins, you can cut the trace then re-wire it to the Ready pin of the IC.
This pin / spot varies across drives, but if you can find the datasheet for the controller IC on the PCB you can look at the datasheet for where that pin is.
In this case on a Citizen Z1DE57A the !Drive Ready signal is on TP7. That gets sent to pin 34, while the original !Drive Change (now floating on JP2 where we cut the trace from) is wired to pin 2.
Amiga floppy disks are Double Density (DD) which is also known as Normal / Low Density.
The !Low Density pin is often designated LG on silkscreens.
Although almost everywhere online you will find the pinout for floppy disks saying pin 2 is Density Detect and LOW (ground) is High Density, that is wrong.
The floppy disk controller outputs a LOW when Double Density (DD) disks are detected, or a HIGH when High Density (HD) disks are detected.
Although when floating this pin should be Low Density (as high 5V is High Density) it is good practise to ground the High Density (!Low Density) detect signal that was originally going to pin 2, which sets it to Low Density Mode (which Amiga floppy disks are).
You will need follow where pin 2 used to go (back to the IC) and make sure that trace is no longer connected to pin 2, but instead directly grounded. This will be the trace that originally went to pin 2.
One thing to note is the PC Floppy Disk drives spin the motor at a different speed, making the reading speed limited to 880k (720k PC), down from the Amiga HD (1.76MB).
This is an acceptable compromise given you now have a brand new drive that works.
Tons of examples of modifications for specific drives can be found here.
The list of existing drives known to work are:
- Citizen Z1DE-57A
- Citizen Z1DE-58A
- Panasonic JU-256A316P
- Panasonic JU-257-203P
- Panasonic JU-257A606P
- Panasonic JU-257A516P (Escom drive)
- Mitsumi D359T5
- Sony MPF420-1
- Sony MPF520-E E/133
- Sony MPF520-1 1/131
- Sony MPF920-E E/131
- Sony MPF920-L L/AA1
- Sony MPF920 T/B53
- Sony MPF920 Z/161
- NEC FD1231H 2001
- NEC FD1231H 2005
- NEC FD1231T
- Samsung SFD-321B
- Samsung SFD-321B /KE
- YE-Data YD-701B-6031B
- YE-Data YD-720D-6037D A
- Chinon FZ-357 to FZ-357A
Some useful things to know about the terms on the silkscreens often used.
MO is "Spindle Motor Controlled by Motor On Signal, which is Pin 16".
MS is "Spindle Motor Controlled by Drive Select Signal, which could be One of four possibilities".
The !Low Density signal. High 5V is High Density, and 0V is Low Density.
Disk Select 1 or Disk Select 0 determines if the drive responds to requests for Disk 1 or Disk 0.
PC usually respond to Disk 1 requests, Amiga to Disk 0.