10

I seem to remember that an A500 (probably A600 too) would keep emitting a click from the floppy drive. I think this was only with no disk in the drive, but I'm not sure.

What was that?

3 Answers 3

6

On the Amiga, CIA 1 is used for the disk controller, and Port A on CIA 1 is used to sense the state of the /DSKCHANGE signal from a pin on the floppy drive interface of the currently selected unit (Amigas support up to 4 daisy-chained floppy drives).

The /DSKCHANGE signal is latched in the active (low) state when a disk is removed, and Amiga floppy drives will not change the state just by inserting a disk. Instead, the state only changes back to inactive whenever the drive's head is stepped with a disk inserted.

The trackdisk.device, which is contained in the Kickstart ROM on an Amiga, includes logic to probe all the connected floppies for changes in the /DSKCHANGE signal. Therefore, for any floppy drive without a disk inserted, the trackdisk.device will poll that drive by selecting it and stepping the head every couple of seconds, thus causing the state change to happen after a disk has been inserted. Therefore, whenever the Amiga is on, you will hear the head stepping "click" on all floppy drives without disks inserted every couple of seconds in a round-robin sequence.

The trackdisk.device also provided functionality to the programmer to disable the clicking. This was done by setting a flag called TDPF_NOCLICK in the device structure for any floppy drives that the programmer wanted to "silence". Because of this feature being in the OS, and the clicking sound being annoying to some users, there were various utility programs created to enable this flag, such as NoClick.

Disabling the clicking relies on another feature of the Amiga disk hardware. Stepping the head and the click sound do not occur if the head is already positioned to track zero, and the movement of the head is restricted by the mechanical stop.

0
3

The floppy drives have a "disk inserted" sensor and signal wire. When a disk is removed, the signal changes immediately. But when a disk is inserted, the signal does not change automatically, but only when the disk head is moved. Amiga handles this by stepping the drive head of empty drives every couple of seconds - if a disk has been inserted, the step causes the disk inserted sensor to change and the OS reacts to this.

0

The click is caused by the drive head hitting the backstop that prevents it stepping beyond the location of track 1.

The Amiga floppy controller can only detect when there is a disk inserted when stepping the drive head, so the trackdisk.device that operates it periodically steps the head against the backstop, causing the clicking sound.

Revision 33.7 of trackdisk.device added support for a "no click" mode. In this mode the drive steps the head back and forth instead of always back, so that it doesn't keep hitting the backstop.

Reference: trackdisk/changed.asm lines 67 and 357.

2
  • I think you have this backwards. Normally the heads steps 'out' to cylinder zero and then 'in' to cylinder 1, with a 'click' each time the heads move. With 'noclick' the heads are always stepped 'out' (ie. into the backstop). Drives that refuse to step out beyond cylinder 0 will stay there and be quiet. However some drives try to step out beyond cylinder 0 and hit the backstop, which makes an even louder 'click' and risks damaging the drive. That is why the 'noclick' option is turned off by default. Dec 27, 2020 at 2:25
  • That's the terminology used in the trackdisk.device source code. I'll investigate...
    – user
    Dec 28, 2020 at 12:15

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .