Computers Overview
Commodore PET
Sinclair ZX80
Sinclair ZX81
BBC Micro
Commodore 64
Sinclair ZXSpectrum
Memotech MTX
Memotech CP/M
Tatung Einstein
Atari ST
Commodore Amiga
    About
    Documents
    Emulation
    Options
        CPU
        Power
        RAM
        Storage
            "Floppy disk"
                Interfacing
                Software
            "Hard disk"
    Photos
PDAs
DEC 3000 AXP
OpenVMS
Raspberry Pi

 

 
 
 

The Commodore Amiga A1200

Storage Upgrade Options

"Floppy Disk" Connection

 

Connecting External "Floppy Drives"

This page discusses how to attach non-Amiga "floppy drives" to the external floppy connector of an A1200, specifically, the two emulators that I am considering, the HxC and Gotek floppy disk drive emulators. The assumption is that the A1200's internal floppy drive has been retained and is operating as DF0.

The Gotek emulator, running with version 1.05a of Hervé Messinger's Amiga firmware emulates one additional "drive" operating as DF1. The HxC emulator can potentially emulate up to 2 "drives", at the moment, I have not worked out how to do this, hopefully I can and will document it here in due course.

Disk drives designed for use in a PC have a number of differences from Amiga drives and, older drives in particular, can have a number of jumpers installed to configure the drive's interaction with the disk controller. In a typical PC drive such as the Samsung SFD-321B, pin-34 can be configured as either Disk Change (CHNG) or Ready (RDY) , but the Amiga expects to see both signals.

Disk Change Signal, CHNG

In discussions relating to using a PC floppy disk as an Amiga drive, various messages on Amiga Forums such as the English Amiga Board, advise that the Disk Change signal (CHNG) from floppy drive pin-34 should be connected to pin-2 of the internal Amiga floppy connector - this corresponds to pin-11 of the external connector.  Some jumpers have to be added to most drives so that the Disk Change line works properly. The best source for this information is the manual for the drive in question. As an example, jumper Jl has to be shorted on an NEC FC1035.

Drive Ready Signal, RDY

When the drive motor is turned on (by MTRX going low), it will take a small amount of time, say, less than 500ms, to reach its normal operating speed (300/360 RPM), the Amiga waits for the Ready signal to go low, indicating that the drive is up to speed,, before initiating read or write operations. (If the motor signal is high, the ready signal is used to identify the drive type as described on my interface signal description page.)

Drive In Use Signal, INU

The floppy drive LED can be controlled by the In Use signal (INU), which is normally connected to the corresponding motor line, MTR0 for the internal drive, or MTR1 to MTR3 for the external drives. Alternatively, most drives have jumper options that allow the control signal for the LED to be set on the drive itself.

Motor Control
The Shugart interface includes a single Motor On (MTRON) line which would normally cause all connected drives to turn their motors on, however, the Amiga uses a flip-flop for each drive which takes on the value of the MTRX line whenever the SEL line for the given drive goes low.
The output of the flip-flop is connected to the MTR line of the drive. This allows the drive motors to be turned on and off independently.

For example, if the SEL0 line is placed low while the MTRX line is at 0, only the motor on the internal floppy turns on, the flip-flop for the internal drive is on the motherboard.

For each additional drive, an additional flip-flop, external to the Amiga, is needed. In the case of the 1010 disk drive, Commodore placed this flip-flop on a small adapter board, for non-Commodore drives, this logic must be provided by other means.

This diagram (a revised/corrected version of Figure 1.3.5.3 from the Amiga System Programmer's Guide), shows how this can be done.

In this example, pin-21 (SEL1) of the Amiga external floppy connector is connected to pin-10 (DS0) of the floppy drive interface, i.e., the external drive should be addressed as ID:0.

The Fl flip-flop stores the signal on the MTRX line when the SEL1 line goes from high to low. Since the flip-flop stores the value on its data input on the leading edge of the clock, SEL1 must be inverted. This is accomplished by the NAND gate Nl. The Q output is connected directly to the Motor On input (MTR) of the external drive, as well as its In Use input (INU) to set the drive LED.

[The N2 NAND gate is not related to motor control, it is used for a special drive identification mode described on my interface signal description page Whenever the motor is turned off and the SEL1 line is active (0), this gate pulls the RDY line low. Thus the Amiga recognises this drive as a standard 3 1/2" drive with the number DF1:]

Since only half of the two IC's required are actually used, the same components can be used to add a second external drive. The inputs of N3 must then be connected to SEL2 (pin 9 on the external drive connector) and the In Use and Motor On inputs of the second external drive connected to the output of flip-flop F2.

Floppy drives only used the +12V supply for the motors, if the interface is only going to be used for a solid-state floppy drive emulator, then the +12V line can be omitted if desired. This would provide protection against connecting the device power plug the wrong way around - which is not difficult to do, although some devices provide their own protection against this.

Note : the +5V line on the Amiga external floppy drive port is only rated at 250mA

Proposed connection for 34-way ribbon cables to drives (no twist)

Pin

Amiga

 

 

I

N

T

E

R

F

A

C

E

 

 

B

O

A

R

D

 

 

Drive A (DF:1) Drive B (DF:2) Pin

Comment

1   RDY   (Not used)   (Not used) --  Using flip-flops F1 & F2
8   MTRX   (Not used)   (Not used) --  To flip-flops F1 & F2
--   (Not used)   Density Select   Density Select 2  (Tie to 0V for Low/DD)
--   INU   (Not used)   (Not used) 4  (Set by drive configuration)
20   DS3   (Not used)   (Not used) 6  Daisy-chained
22   IDX   INDEX   INDEX 8  Daisy-chained
--   (Not used)   Motor Enable A   Motor Enable A 10  Using flip-flop F1
9   DS2   Drive Select B   Drive Select B 12  Daisy-chained
10   DRES   (Not used)   (Not used) --  To flip-flops F1 & F2
21   DS1   Drive Select A   Drive Select A 14  Daisy-chained
8   MTRX   Motor Enable B   Motor Enable B 16  Using flip-flop F2
19   DIR   DIR   DIR 18  Daisy-chained
18   STEP   STEP   STEP 20  Daisy-chained
17   WDATA   WDATA   WDATA 22  Daisy-chained
16   WGATE   WGATE   WGATE 24  Daisy-chained
15   TRK00   TRK00   TRK00 26  Daisy-chained
14   WPT   WPT   WPT 28  Daisy-chained
2   RDATA   RDATA   RDATA 30  Daisy-chained
13   SIDE1   SIDE1   SIDE1 32  Daisy-chained
11   CHNG   RDY   RDY 34  Daisy-chained
3, 4, 5, 6, 7

  All odd-numbered pins are ground

 Daisy-chained

Hardware Required

I have seen a couple of interface boards on the internet that appear to be based on the circuit in the Amiga System Programmer's Guide , unfortunately both of them only support the use of a single drive as DF1: Whilst I do not intend to add to physical drives to my A1200, the ability to support 2 drives using my HxC emulator is important to me.

Although I tried to get information from one of the sellers to allow me to modify the board for two drives, he was unwilling to help or modify a board for me, or create a new version, so it looks like there is no alternative to making my own - KiCad - here I come again . . . . .

 

 

 

References :

 

Amiga System Programmer's Guide, from the Abacus Amiga series, published by Data Becker in 1988.

 

mailto: Webmaster

 Terms & Conditions