To make DF0:/DF1: switchable with a real drive has a slight complication. You need a Motor ON signal.
Swapping SEL0/SEL1 for a Gotek or HXC drive is easy, that's all they use. The A500/A600/A1200 have SEL0/SEL1 on the internal floppy cable but crucially, only MTR0 (MOTORON on A500). This enable the motor, on drive 0 at the same time as SEL0. I tried connecting two drives to MTR0, nothing worked as they caused bus contention.
icard At least I know why. The A1500/A2000/A3000/A4000 have logic onboard to re-assign DF0:/DF1:
According to the timing diagrams, SELx and MTRx go active at the same time so you may be able to connect SELx to MTRx on the Amiga floppy as well as the SELx input. If not pick off SELx and MRES from the 23 pin external floppy connector, generate MTRx + SELx to create MTR1 for a real floppy and use a long Reset (CTRL-Amiga-Amiga) to switch between Real floppy and emulated. That's the basic idea, it may need some tri-state buffers and a delay circuit (or microcontroller) to control the drive swap.
Ian
Swapping SEL0/SEL1 for a Gotek or HXC drive is easy, that's all they use. The A500/A600/A1200 have SEL0/SEL1 on the internal floppy cable but crucially, only MTR0 (MOTORON on A500). This enable the motor, on drive 0 at the same time as SEL0. I tried connecting two drives to MTR0, nothing worked as they caused bus contention.
According to the timing diagrams, SELx and MTRx go active at the same time so you may be able to connect SELx to MTRx on the Amiga floppy as well as the SELx input. If not pick off SELx and MRES from the 23 pin external floppy connector, generate MTRx + SELx to create MTR1 for a real floppy and use a long Reset (CTRL-Amiga-Amiga) to switch between Real floppy and emulated. That's the basic idea, it may need some tri-state buffers and a delay circuit (or microcontroller) to control the drive swap.
Ian