Jump to content

IBM Fixed Disk Adapter: Difference between revisions

From RetroTechCollection
Create supporting page for the IBM PC (5150) article series
 
Rebuilt from IBM's own Options and Adapters references (both now hosted here) plus minuszerodegrees: removed the claim that IBM offered a 130 W PSU for the 5150 to run this card (IBM's answer was the 5161 Expansion Unit); added the three variants with their real IBM ROM part numbers, IBM's four-drive-type table and switch settings, the hex 320-323 / C8000-C9FFF addressing, the 32-bit ECC, and IBM's own BIOS listing as the source of the 1701 message; <ref>-cited
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
The '''IBM Fixed Disk Adapter''' (often called the '''IBM XT MFM controller''') is the 8-bit ISA hard disk controller IBM shipped with the [[IBM PC XT (5160)]] and offered as an upgrade for late-production [[IBM PC (5150)|5150]]s fitted with the 130 W Type 2 power supply. It supports one or two MFM-encoded 5.25" full-height hard disk drives — typically a 10 MB or 20 MB Seagate ST-225 — through a separate data ribbon and a per-drive control ribbon.
{{Infobox computer peripheral
| name          = IBM Fixed Disk Adapter
| manufacturer  = IBM (built under contract by Xebec; BIOS code written by IBM)
| type          = 8-bit expansion-slot MFM hard disk controller
| release_date  = March 1983 (with the [[IBM PC XT (5160)|PC XT]])
| interface    = 8-bit IBM PC I/O channel; ST-506/ST-412 to the drive
| compatible    = [[IBM PC XT (5160)]]; [[IBM PC (5150)]] with a 10/27/82 BIOS, subject to the power budget
| connectivity  = 34-pin control ribbon (daisy-chained); 20-pin data ribbon (one per drive)
}}
 
The '''IBM Fixed Disk Adapter''' is the MFM hard disk controller IBM shipped in the [[IBM PC XT (5160)]]. The cards were '''manufactured for IBM by Xebec''', but the code in the BIOS expansion ROM is IBM's own, and IBM's part numbers are on the board and the ROM.<ref name="mzxebec">[https://www.minuszerodegrees.net/ibm_xebec/ibm_xebec.htm IBM Fixed Disk Adapter], minuszerodegrees.net. Source for the controllers being manufactured for IBM by Xebec with IBM-authored BIOS code, the three variations with their approximate dates, the IBM ROM part numbers 5000059, 6359121 and 62X0822, the 306-cylinder four-head limitation of the first two variations, the unpopulated S1 switch position on variation 2, the Seagate ST-412 supplied with variation 1, and IBM's own name for the third variation, the "20MB Fixed Disk Drive Adapter".</ref> Calling it a "Xebec 1210" is wrong: that is a different, Xebec-branded product.
 
It attaches one or two 5.25-inch MFM drives &mdash; typically a Seagate ST-412 or, later, an ST-225 &mdash; through a daisy-chained control cable and a separate data cable per drive. A system supports a maximum of one adapter and two drives.<ref name="oafda">IBM, ''IBM Fixed Disk Adapter'', part 6361503, ''Options and Adapters'' section, Personal Computer Hardware Reference Library &mdash; hosted on this wiki as [[:File:IBM Options and Adapters - IBM Fixed Disk Adapter.pdf]]. Source for the attachment of one or two drives on a daisy-chained data/control cable, the one-adapter-two-drive maximum, DMA and interrupt use, the 32-bit ECC giving automatic 11-bit burst correction, the warning that the last cylinder is reserved for diagnostics, the I/O address range hex 320 to hex 323 with the controller-select pulse at hex 322, the adapter ROM decoded between hex C8000 and hex C9FFF, and the complete BIOS listing whose power-on diagnostic displays the 1701 message. Also documented here as [[IBM Options and Adapters - IBM Fixed Disk Adapter]].</ref>
 
== Variants ==
 
Three variants are documented, by chip dates and ROM part numbers:<ref name="mzxebec" />
 
<templatestyles src="Template:StyledTable/styles.css" />
{| class="wikitable styled-table" style="width:95%;"
|+'''IBM Fixed Disk Adapter variants'''
! Variant !! Approx. date !! IBM BIOS ROM !! Drive support
|-
| 1 || c. 1983 || 8 KB, IBM P/N '''5000059''' || Fixed at 306 cylinders / 4 heads / write precompensation from cylinder 0. Shipped with a Seagate ST-412.
|-
| 2 || c. 1984 || 8 KB, IBM P/N '''6359121''', contents identical to variant 1 || Same single geometry. The ROM can address four drive types, but the board has an '''unpopulated''' switch position (S1) so no other type can be selected.
|-
| 3 || c. 1986 || 8 KB, IBM P/N '''62X0822''', different contents || Switch block fitted; four selectable drive types. IBM's own name for this card is the '''"20MB Fixed Disk Drive Adapter"'''.
|}
 
The drive types the variant 3 card supports, from IBM's own table:<ref name="oafda20">IBM, ''IBM Personal Computer 20MB Fixed Disk Drive Adapter'', part 6139790, 17 March 1986, ''Options and Adapters'' section &mdash; hosted on this wiki as [[:File:IBM Options and Adapters - IBM PC 20MB Fixed Disk Drive Adapter.pdf]]. Source for the four supported drive types with their cylinder, head, write-precompensation and landing-zone figures, and for the switch settings that select a type for drive 0 and drive 1. Also documented here as [[IBM Options and Adapters - IBM PC 20MB Fixed Disk Drive Adapter]].</ref>
 
{| class="wikitable styled-table" style="width:80%; text-align:center;"
|+'''Drive types selectable on the 20 MB adapter'''
! Type !! Cylinders !! Heads !! Write precompensation from !! Landing zone !! Typical drive
|-
| 1 || 306 || 4 || 0 || 306 ||
|-
| 2 || 615 || 4 || 300 || 615 || Seagate ST-225 (20 MB half-height)
|-
| 13 || 306 || 8 || 128 || 336 || IBM WD25 (20 MB full-height)
|-
| 16 || 612 || 4 || 0 || 663 ||
|}
 
Switches 1 and 2 set the type for drive 0; switches 3 and 4 set drive 1.<ref name="oafda20" />


== Hardware ==
== Hardware ==


* '''Xebec OEM design''' — branded "IBM" but manufactured under contract by Xebec.
IBM's own description:<ref name="oafda" />
* '''ST-506 / ST-412 interface''' — MFM encoding at 5 Mbit/s.
 
* '''Drive types''' — IBM-supplied BIOS expansion ROM at address C8000 contains a 4-entry drive table. The default type 1 is the 10 MB ST-412; type 2 is the 20 MB ST-225. Tables for other drives (e.g. Tandon TM-262, NEC D5126) are not present in the IBM ROM.
* Buffered on the I/O bus; uses the system board's '''DMA''' for data transfer and an '''interrupt''' for completion and status.
* '''Two ribbon connectors''' — 34-pin control (daisy-chained to both drives) and 20-pin data (one cable per drive).
* '''32-bit error checking and correction''', giving automatic detection and correction of an 11-bit burst.
* Two processor-visible registers, a status register and a data register; the controller-select pulse is generated by writing to port hex '''322'''.
* '''I/O addresses hex 320 to hex 323.'''
* '''BIOS expansion ROM decoded between hex C8000 and hex C9FFF.'''
* IBM warns that '''the last cylinder is reserved for diagnostics''' and that the diagnostic write test destroys any data on it.
 
== Where the 1701 error comes from ==


== BIOS Expansion ROM ==
'''1701 is not a motherboard POST error.''' It is produced by the adapter's own expansion ROM: IBM's BIOS listing for the card establishes transfer vectors, performs power-on diagnostics, and comments that "should an error occur a '1701' message is displayed".<ref name="oafda" /> A machine with no fixed disk adapter fitted cannot produce a 1701 at all.


The card carries an 8 KB BIOS expansion ROM at C8000. The 5150's POST scans for valid BIOS ROMs at 2 KB intervals from C0000 to F4000 and runs the initialisation routine in any ROM whose first three bytes match the AA 55 ''length'' signature. If the C8000 ROM is corrupted (except for its first two bytes), the [[IBM PC (5150)#Memory and ROM|10/27/82 BIOS]] beeps the 1 long + 2 short "video failure" pattern instead of the expected "C800 ROM" on-screen message — this is a documented BIOS bug.
In practice a 1701 means the card's own diagnostic could not talk to the drive as expected. Work through, in order: cable orientation at both ends and on both cables; drive power; whether the drive spins up and becomes ready; the drive's own electronics; and only then the controller.


== Common Faults ==
== Common Faults ==


* '''"1701" error at POST''' — the controller cannot communicate with the drive. Suspect: ribbon cable orientation, dead drive, failed controller logic.
* '''Corrupted expansion ROM.''' The ROM is a Mostek MK36000-class mask ROM or equivalent, and there are documented replacement routes. On a [[IBM PC (5150)|5150]] with the 10/27/82 BIOS, a corrupted C8000 ROM is reported as one long beep and two short rather than an on-screen "C800 ROM" message.
* '''C8000 ROM corruption''' — see above. Replace the expansion ROM.
* '''Drive spins but never seeks.''' Stepper stuck or stepper driver failed, on the drive rather than the card.
* '''Drive spins but never seeks''' — stepper motor stuck (lubricate), or stepper driver failed on the drive.
* '''Random read errors that follow the drive to another controller.''' Head alignment or media.
* '''Random read errors''' — heads need alignment, or the MFM data separator on the controller has drifted. Recapping the analog board often helps.
* '''Random read errors that stay with the controller.''' The MFM data separator on the card.
 
== Modern alternatives ==


== Drive Compatibility ==
Where the original controller or drive is beyond repair, XT-IDE class cards with their own expansion BIOS, and MFM emulators that present themselves to the original controller, both avoid the stock ROM's single-geometry limitation. Neither is a repair of the card; both are ways of keeping the machine usable.


The IBM Fixed Disk Adapter will work with most ST-506/412 MFM drives if you have a drive table that matches, but the stock IBM ROM only supports a handful of drive types. The third-party '''XT-IDE Universal BIOS''' and modern replacements like the '''ZuluSCSI''' / '''MFM emulator''' provide modern alternatives that bypass the original BIOS limitations.
== References ==
 
<references />


== Related Pages ==
== Related Pages ==


* [[IBM PC (5150)]]
* [[IBM PC XT (5160)]] &middot; [[IBM PC (5150)]]
* [[IBM PC XT (5160)]]
* [[IBM Options and Adapters - IBM Fixed Disk Adapter]] &middot; [[IBM Options and Adapters - IBM PC 20MB Fixed Disk Drive Adapter]] &mdash; IBM's own references, hosted here
* [[IBM PC (5150) Troubleshooting Guide]]
* [[Hard Drive Maintenance and Repair]] &middot; [[IBM PC (5150) Troubleshooting Guide]]
 
{{Navbox-IBMComputers|state=collapsed}}


[[Category:IBM]]
[[Category:IBM]]

Latest revision as of 03:21, 23 September 2026

IBM Fixed Disk Adapter
Manufacturer IBM (built under contract by Xebec; BIOS code written by IBM)
Type 8-bit expansion-slot MFM hard disk controller
Release date March 1983 (with the PC XT)
Interface 8-bit IBM PC I/O channel; ST-506/ST-412 to the drive
Compatible IBM PC XT (5160); IBM PC (5150) with a 10/27/82 BIOS, subject to the power budget
Connectivity 34-pin control ribbon (daisy-chained); 20-pin data ribbon (one per drive)

The IBM Fixed Disk Adapter is the MFM hard disk controller IBM shipped in the IBM PC XT (5160). The cards were manufactured for IBM by Xebec, but the code in the BIOS expansion ROM is IBM's own, and IBM's part numbers are on the board and the ROM.[1] Calling it a "Xebec 1210" is wrong: that is a different, Xebec-branded product.

It attaches one or two 5.25-inch MFM drives — typically a Seagate ST-412 or, later, an ST-225 — through a daisy-chained control cable and a separate data cable per drive. A system supports a maximum of one adapter and two drives.[2]

Variants

[edit | edit source]

Three variants are documented, by chip dates and ROM part numbers:[1]

IBM Fixed Disk Adapter variants
Variant Approx. date IBM BIOS ROM Drive support
1 c. 1983 8 KB, IBM P/N 5000059 Fixed at 306 cylinders / 4 heads / write precompensation from cylinder 0. Shipped with a Seagate ST-412.
2 c. 1984 8 KB, IBM P/N 6359121, contents identical to variant 1 Same single geometry. The ROM can address four drive types, but the board has an unpopulated switch position (S1) so no other type can be selected.
3 c. 1986 8 KB, IBM P/N 62X0822, different contents Switch block fitted; four selectable drive types. IBM's own name for this card is the "20MB Fixed Disk Drive Adapter".

The drive types the variant 3 card supports, from IBM's own table:[3]

Drive types selectable on the 20 MB adapter
Type Cylinders Heads Write precompensation from Landing zone Typical drive
1 306 4 0 306
2 615 4 300 615 Seagate ST-225 (20 MB half-height)
13 306 8 128 336 IBM WD25 (20 MB full-height)
16 612 4 0 663

Switches 1 and 2 set the type for drive 0; switches 3 and 4 set drive 1.[3]

Hardware

[edit | edit source]

IBM's own description:[2]

  • Buffered on the I/O bus; uses the system board's DMA for data transfer and an interrupt for completion and status.
  • 32-bit error checking and correction, giving automatic detection and correction of an 11-bit burst.
  • Two processor-visible registers, a status register and a data register; the controller-select pulse is generated by writing to port hex 322.
  • I/O addresses hex 320 to hex 323.
  • BIOS expansion ROM decoded between hex C8000 and hex C9FFF.
  • IBM warns that the last cylinder is reserved for diagnostics and that the diagnostic write test destroys any data on it.

Where the 1701 error comes from

[edit | edit source]

1701 is not a motherboard POST error. It is produced by the adapter's own expansion ROM: IBM's BIOS listing for the card establishes transfer vectors, performs power-on diagnostics, and comments that "should an error occur a '1701' message is displayed".[2] A machine with no fixed disk adapter fitted cannot produce a 1701 at all.

In practice a 1701 means the card's own diagnostic could not talk to the drive as expected. Work through, in order: cable orientation at both ends and on both cables; drive power; whether the drive spins up and becomes ready; the drive's own electronics; and only then the controller.

Common Faults

[edit | edit source]
  • Corrupted expansion ROM. The ROM is a Mostek MK36000-class mask ROM or equivalent, and there are documented replacement routes. On a 5150 with the 10/27/82 BIOS, a corrupted C8000 ROM is reported as one long beep and two short rather than an on-screen "C800 ROM" message.
  • Drive spins but never seeks. Stepper stuck or stepper driver failed, on the drive rather than the card.
  • Random read errors that follow the drive to another controller. Head alignment or media.
  • Random read errors that stay with the controller. The MFM data separator on the card.

Modern alternatives

[edit | edit source]

Where the original controller or drive is beyond repair, XT-IDE class cards with their own expansion BIOS, and MFM emulators that present themselves to the original controller, both avoid the stock ROM's single-geometry limitation. Neither is a repair of the card; both are ways of keeping the machine usable.

References

[edit | edit source]
  1. ↑ 1.0 1.1 IBM Fixed Disk Adapter, minuszerodegrees.net. Source for the controllers being manufactured for IBM by Xebec with IBM-authored BIOS code, the three variations with their approximate dates, the IBM ROM part numbers 5000059, 6359121 and 62X0822, the 306-cylinder four-head limitation of the first two variations, the unpopulated S1 switch position on variation 2, the Seagate ST-412 supplied with variation 1, and IBM's own name for the third variation, the "20MB Fixed Disk Drive Adapter".
  2. ↑ 2.0 2.1 2.2 IBM, IBM Fixed Disk Adapter, part 6361503, Options and Adapters section, Personal Computer Hardware Reference Library — hosted on this wiki as File:IBM Options and Adapters - IBM Fixed Disk Adapter.pdf. Source for the attachment of one or two drives on a daisy-chained data/control cable, the one-adapter-two-drive maximum, DMA and interrupt use, the 32-bit ECC giving automatic 11-bit burst correction, the warning that the last cylinder is reserved for diagnostics, the I/O address range hex 320 to hex 323 with the controller-select pulse at hex 322, the adapter ROM decoded between hex C8000 and hex C9FFF, and the complete BIOS listing whose power-on diagnostic displays the 1701 message. Also documented here as IBM Options and Adapters - IBM Fixed Disk Adapter.
  3. ↑ 3.0 3.1 IBM, IBM Personal Computer 20MB Fixed Disk Drive Adapter, part 6139790, 17 March 1986, Options and Adapters section — hosted on this wiki as File:IBM Options and Adapters - IBM PC 20MB Fixed Disk Drive Adapter.pdf. Source for the four supported drive types with their cylinder, head, write-precompensation and landing-zone figures, and for the switch settings that select a type for drive 0 and drive 1. Also documented here as IBM Options and Adapters - IBM PC 20MB Fixed Disk Drive Adapter.
[edit | edit source]