Amiga® Hardware Reference Manual: H External Disk Connector Interface
The 23-pin female connector at the rear of the main computer unit is used
to interface to and control devices that generate and receive MFM data.
This interface can be reached either as a resource or under the control of
a driver. The following pages describe the interface in both cases.
Signals When Driving a Disk
H External Disk Connector Interface / Summary Table
Pin # Name Note
----- ---- ----
1 RDY- I/O ID and ready
2 DKRD- I MFM input
3 GRND G -
4 GRND G -
5 GRND G -
6 GRND G -
7 GRND G -
8 MTRXD- O Motor control.
9 SEL2B- O* Select drive 2
10 DRESB- O Reset
11 CHNG- I/O Disk changed
12 +5v PWR 540 mA average 870 mA surge
13 SIDEB- O Side 1 if low
14 WPRO- I/O Write protect
15 TK0- I/O Track 0
16 DKWEB- O Write gate
17 DKWDB- O Write data
18 STEPB- O Step
19 DIRB O Direction (high is out)
20 SEL3B- O* Select drive 3
21 SEL1B- O* Select drive 1
22 INDEX- I/O Index
23 +12v PWR 120 mA average 370 mA surge
Key to Class:
G ground, note connector shield grounded.
I input pulled up to 5v by 1K ohm.
I/O input in driver, but bidirectional input (1k pullup)
O output pulled though 1K to 5v
O* output, separates resources.
PWR available for external use, but currently used up by
H External Disk Connector Interface / Signals When Driving a Disk
The following describes the interface under driver control.
SEL1B-, SEL2B-, SEL3B-
Select lines for the three external disk drives active low.
A selected drive pulls this signal low whenever its read-write head
is on track 00.
When a disk drive's motor is on, this line indicates the selected
disk is installed and rotating at speed. The driver ignores this
signal. When the motor is off this is used as a ID data line. See
WPRO- (Pin #14)
A selected drive pulls this signal low whenever it has a
write-protected diskette installed.
INDEX- (Pin #22)
A selected drive pulses this signal low once for each revolution of
SIDEB- (Pin #13)
The system drives this signal to all disk drives -- low for side 1,
high for side 0.
STEPB- (Pin #18)
Pulsed to step the selected drive's head.
DIRB (Pin #19)
The system drives this signal high or low to tell the selected drive
which way to step when the STEPB- pulse arrives. Low means step in
(to higher-numbered track); high means step out.
DKRD- (Pin #2)
A selected drive will put out read data on this line.
DKWDB- (Pin #17)
The system drives write data to all disks via this signal. The data
is only written when DKWEB- is active (low). Data is written only to
DKWEB- (Pin #16)
This signal causes a selected drive to start writing data (provided
by DKWDB-) onto the disk.
CHNG- (Pin #11)
A selected drive will drive this signal low whenever its internal
"disk change" latch is set. This latch is set when the drive is first
powered on, or whenever there is no diskette in the drive. To reset
the latch, the system must select the drive, and step the head. Of
course, the latch will not reset if there is no diskette installed.
MTRXD- (Pin #8)
This is the motor control line for all four disk drives. When the
system wants to turn on a disk drive motor, it first deselects the
drive (if selected), pulls MTRXD- low, and selects the drive. To turn
the motor off, the system deselects the drive, pulls MTRXD- high, and
selects the drive. The system will always set MTRXD- at least 1.4
microseconds before it selects the drive, and will not change MTRXD-
for at least 1.4 microseconds after selecting the drive. All external
drives must have logic equivalent to a D flip-flop, whose D input is
the MTRXD- signal, and whose clock input is activated by the
off-to-on (high-to-low) transition of its SELxB- signal. As noted
above, both the setup and hold times of MTRXD- with respect to SELxB-
will always be at least 1.4 microseconds. The output of this
flip-flop controls the disk drive motor. Thus, the system can control
all four motors using only one signal on the cable (MTRXD-).
DRESB- (Pin #10)
This signal is a buffered version of the system reset signal. Three
things can make it go active (low):
* System power-up (DRESB- will go low for approximately one
* System CPU executes a RESET instruction (DRESB- will go low for
approximately 17 microseconds);
* Hard reset from keyboard (lasts as long as keyboard reset is
External disk drives should respond to DRESB- by shutting off their
motor flip-flops and write protecting themselves.
A level of 3.75v or below on the 5v+ requires external disks to
write-protect and reset the motor on line.
H External Disk Connector Interface / Device I.D.
This interface supports a method of establishing the type of disk(s)
attached. The I.D. sequence is as follows.
1. Drive MTRXD- low: Turn on the disk drive motor.
2. Drive SELxB- low: Activate drive select x, where x is the number of
the selected drive.
3. Drive SELxB- high: Deactivate drive select x..
4. Drive MTRXD- high: Turn off disk drive motor.
5. Drive SELxB- low: Activate drive select x.
6. Drive SELxB- high: Deactivate drive select x.
7. Drive SELxB- low: Activate drive select x.
8. Read and save state of RDY .
9. Drive SELxB- high: Deactivate drive select x.
Repeat steps 7 through 9, 31 more times for a total of 32 iterations, in
order to read 32 bits of data. The most significant bit is read first.
Steps 1 through 4 in the algorithm above turn on and off the disk drive
motor. This initializes the serial shift register . After initialization,
the SELxB signal is driven (first active then) inactive as in steps 5
and 6. Keep in mind that the SELxB signal is active-low.
Steps 7, 8 and 9 form a loop where (7) the SELxB signal is driven active
(low), (8) the serial input data is read on RDY (pin 1) and (9) the
SELxB signal is again driven high (inactive). This loop is performed 32
times, once for each of the bits in the input stream that comprise the
Convert the 32 values of RDY- into a two 16-bit word. The most
significant bit is the first value and so on. This 32-bit quantity is the
The following I.D.s are defined:
0000 0000 0000 0000 0000 0000 0000 0000 Reserved ($0000 0000)
1111 1111 1111 1111 1111 1111 1111 1111 Amiga standard 3.25($FFFF FFFF)
1010 1010 1010 1010 1010 1010 1010 1010 Reserved ($AAAA AAAA)
0101 0101 0101 0101 0101 0101 0101 0101 48 TPI double-density,
double-sided ($5555 5555)
1000 0000 0000 0000 1000 0000 0000 0000 Reserved ($8000 8000)
0111 1111 1111 1111 0111 1111 1111 1111 Reserved ($7FFF 7FFF)
0000 1111 xxxx xxxx 0000 1111 xxxx xxxx Available for users ($0Fxx 0Fxx)
1111 0000 xxxx xxxx 1111 0000 xxxx xxxx Extension reserved ($F0xx F0xx)
xxxx 0000 0000 0000 xxxx 0000 0000 0000 Reserved ($x000 x000)
xxxx 1111 1111 1111 xxxx 1111 1111 1111 Reserved ($x000 x000)
0011 0011 0011 0011 0011 0011 0011 0011 Reserved ($3333 3333)
1100 1100 1100 1100 1100 1100 1100 1100 Reserved ($CCCC CCCC)
Converted on 22 Apr 2000 with RexxDoesAmigaGuide2HTML 2.1 by Michael Ranner.