Jump to content

IBM Fixed Disk Adapter

From RetroTechCollection
IBM Fixed Disk Adapter
IBM Fixed Disk Adapter, first version (IBM 1501492)
Manufacturer Xebec, for IBM (BIOS code by IBM)
Type 8-bit expansion-slot MFM hard disk controller
Release date 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 the 10/27/82 BIOS
Model IBM publications 6361503 (Fixed Disk Adapter) and 6139790 (20MB Fixed Disk Drive Adapter)
Connectivity 34-pin control cable (daisy-chained); 20-pin data cable (one per drive)

The IBM Fixed Disk Adapter is the MFM hard disk controller IBM supplied in the IBM PC XT (5160). Xebec made the cards for IBM, and the code in the BIOS ROM is IBM's.[1] It works in an IBM PC (5150) only with the final 10/27/82 BIOS.[2]

The adapter attaches one or two drives, and a system supports a maximum of one adapter and two drives.[3]

Versions

[edit | edit source]

minuszerodegrees.net identifies three versions by chip dates and ROM part numbers. Each has an 8 KB IBM BIOS ROM (a Mostek MK36000 or equivalent) alongside a Xebec ROM.[1]

IBM Fixed Disk Adapter versions
Version Approx. date Board markings seen IBM BIOS ROM Drive support
1 c. 1983 IBM 1501492; IBM 1816101 5000059 One geometry only: 306 cylinders, 4 heads, write precompensation from cylinder 0. IBM supplied a Seagate ST-412 with it.
2 c. 1984 IBM 6135983 / 6135984; 59X7192YF 6359121 (same contents as 5000059) Same single geometry. The ROM knows four drive types, but the switch block position S1 is unpopulated.
3 c. 1986 62X0775 or 62X0786 / IBM 62X0776 62X0822 (different contents) Switch block fitted; four drive types. IBM called this card the "20MB Fixed Disk Drive Adapter".

The 20MB adapter's drive types, from IBM's table:[4]

Drive types on the 20MB Fixed Disk Drive Adapter
Type Cylinders Heads Write precompensation from Landing zone Switches (drive 0: 1, 2; drive 1: 3, 4) Example drive
1 306 4 0 306 On, On
2 615 4 300 615 Off, On Seagate ST-225 (20 MB half-height)
13 306 8 128 336 Off, Off IBM WD25 (20 MB full-height)
16 612 4 0 663 On, Off

Example drives are from minuszerodegrees.net, whose table (taken from Scott Mueller's Upgrading and Repairing PCs) describes the 306/4/0 setting as not IBM type 1, giving type 1 a write precompensation of 128. IBM's own table for this card calls it type 1 with precompensation from cylinder 0.[1][4]

Hardware

[edit | edit source]

IBM's description:[3]

  • 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, detecting and correcting an 11-bit burst automatically.
  • I/O addresses hex 320 to 323. Writing to hex 322 generates the controller-select pulse.
  • BIOS expansion ROM decoded between hex C8000 and C9FFF.
  • The last cylinder of the drive is reserved for diagnostics, and the diagnostic write test destroys any data on it.

The 1701 error

[edit | edit source]

The 1701 message comes from the adapter's own expansion ROM, not the motherboard. IBM's BIOS listing says that the ROM's power-on diagnostics display a "1701" message if an error occurs.[3] minuszerodegrees.net summarises the power-on diagnostic from the same listing: controller reset, controller RAM and internal diagnostics, then a reset and "test drive ready" of drive 0 within a time limit, a recalibrate of drive 0 and "initialize drive pair characteristics". Six of the steps can display 1701.[5]

None of those steps reads or writes a sector, so a missing data cable does not cause a 1701. For the drive steps to pass, the card must be good, the drive must assert READY once it has spun up, the control cable must be good and properly connected, and the drive-select setting must suit the type of control cable (twisted or straight).[5] A drive is not ready the instant it gets power; the ST-412 OEM manual gives about 15 seconds as typical.[5]

BIOS ROM replacement

[edit | edit source]

If the IBM BIOS ROM fails, a 2732 or 27C32 EPROM can be used with modified code, because only the first 2 KB of a 2732 can be read in that socket and the code has been cut down to fit. Direct substitutes for the MK36000 used on 5150 motherboards also work. A 27C256 works but makes the card occupy two slots.[6]

References

[edit | edit source]
  1. ↑ 1.0 1.1 1.2 IBM Fixed Disk Adapter, minuszerodegrees.net: the three variations with approximate dates, board part numbers, IBM ROM part numbers, supported drive geometries and switch settings.
  2. ↑ IBM 5150/5160: Some IBM Expansion Cards and Options, minuszerodegrees.net, "IBM Fixed Disk Adapter" section.
  3. ↑ 3.0 3.1 3.2 IBM, IBM Fixed Disk Adapter (6361503), Options and Adapters, Personal Computer Hardware Reference Library: description, the 11-bit burst ECC, the reserved last cylinder, I/O and ROM addresses, and the BIOS listing including the power-on diagnostic and its 1701 message. Hosted here as File:IBM Options and Adapters - IBM Fixed Disk Adapter.pdf and described at IBM Options and Adapters - IBM Fixed Disk Adapter.
  4. ↑ 4.0 4.1 IBM, IBM Personal Computer 20MB Fixed Disk Drive Adapter (6139790), 17 March 1986, Options and Adapters, "Types of Drives" and "Fixed Disk Types", p. 3. Hosted here as File:IBM Options and Adapters - IBM PC 20MB Fixed Disk Drive Adapter.pdf and described at IBM Options and Adapters - IBM PC 20MB Fixed Disk Drive Adapter.
  5. ↑ 5.0 5.1 5.2 IBM Fixed Disk Adapter: Power On Diagnostics (POD), minuszerodegrees.net.
  6. ↑ IBM Fixed Disk Adapter: BIOS ROM, minuszerodegrees.net.
[edit | edit source]