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 . . . . .