Discussion:
Amiga external floppy communications protocol
(too old to reply)
Jim
2012-04-15 10:05:10 UTC
Permalink
Hello,
I'm trying to interface with an Amiga 500 through the external floppy
drive port. I've tried to present my device to the Amiga like a drive
with no disk in it but Workbench puts up an Icon on the Desktop
"DF1:BAD".

I've tried snooping an external drive to see what it does but I
haven't been able to figure it out. Can someone help me with how a
floppy drive communicates to an Amiga when there is no disk inserted?

Thanks,
Jim
Michael van Elst
2012-04-15 12:29:29 UTC
Permalink
Post by Jim
Hello,
I'm trying to interface with an Amiga 500 through the external floppy
drive port. I've tried to present my device to the Amiga like a drive
with no disk in it but Workbench puts up an Icon on the Desktop
"DF1:BAD".
I've tried snooping an external drive to see what it does but I
haven't been able to figure it out. Can someone help me with how a
floppy drive communicates to an Amiga when there is no disk inserted?
An external floppy needs two magic things.

An identification circuit, so that it is recognized.
A diskchange signal that is cleared by the step pulse.

Here is a nice adapter circuit that can be used:
http://www.ianstedman.co.uk/Amiga/designs/Floppy_Adaptor/floppy_adaptor.html

N.B. High density drives may or may not have problems reading or writing double
density media. And of course, you cannot use high density media with an Amiga.
--
--
Michael van Elst
Internet: ***@serpens.de
"A potential Snark may lurk in every tree."
Thomas Richter
2012-04-15 13:31:23 UTC
Permalink
Post by Jim
Hello,
I'm trying to interface with an Amiga 500 through the external floppy
drive port. I've tried to present my device to the Amiga like a drive
with no disk in it but Workbench puts up an Icon on the Desktop
"DF1:BAD".
Question is: What is your "device"? If that is a double density floppy,
then there are chances to make it work.
Post by Jim
I've tried snooping an external drive to see what it does but I
haven't been able to figure it out. Can someone help me with how a
floppy drive communicates to an Amiga when there is no disk inserted?
You find the specs here:

http://amigadev.elowar.com/read/ADCD_2.1/Hardware_Manual_guide/node0110.html

or here:

http://amigarealm.whdownload.com/computing/knowledge/hardref/api.htm

Basically, in addition to a regular PC floppy drive, the Amiga controls
the motor of the drive indirectly through a motor flip-flop which is
driven by the SELx line so it can turn off motors individually, and not
all at once since there is only one line for all drives. The second
modification is that RDY acts as flopppy ID signal when the motor is off
(and not as a ready-line as it would when the motor flip-flop is on), so
the Amiga can identify the type of the drive.

The data line contains a regular MFM modulated signal which Paula
synchronizes to and which is then decoded by software. I believe the
Hardware Reference Manual should include information on MFM, if not,
come again.

The reason why a regular high-density (oh well, not really "high" by
today's standards, but whatever) floppy does not connect to the Amiga is
because the data rate on the MFM output is twice of that of a double
density drive, and the Paula DMA channel does not have enough bandwidth
to place this data in memory. The Amiga HD-drives rotate at half the
speed to make this possible. That is what I call a bad hack.

Greetings,
Thomas
Ralph Spitzner
2012-04-16 02:48:08 UTC
Permalink
Thomas Richter wrote:
[...]
Post by Thomas Richter
to place this data in memory. The Amiga HD-drives rotate at half the
speed to make this possible. That is what I call a bad hack.
Greetings,
Thomas
A bad hack would be to divide the clock *inside* the drive
by 2, using an old fashioned 7474, thereby obtaining double
data at half the rate on a stock floppy :-P
(Double amount of R/W errors comes with it for free)

-rasp
--
See why I hate Windows users?
All pain, no gain.
-Howard Chu
Loading...