Alasir Enterprises
Main Page >  Misc >  MicroHouse PC Hardware Library Volume I: Hard Drives  

Previous Table of Contents Next

I/O Port Addresses

I/O port addresses are like mailboxes through which data and commands are sent to and from an adapter. These addresses are different from memory addresses. I/O ports must be used exclusively and cannot be shared among different adapters. Each adapter usually uses a group of sequential port addresses for communication with the bus.

The standard I/O port addresses used by disk controllers are 1F0-1F7h. These are the only addresses that the motherboard BIOS supports, so if you have a disk controller at any other port address, it must have an on-board BIOS. Obviously, if you are adding a secondary controller to a system, that controller must use different I/O addresses and also must have an on-board BIOS. Most controllers use 170-177h as secondary I/O addresses, which would be used if another disk controller were in the system; however, you can use any I/O addresses that are free.

I/O port conflicts are rare unless you are installing multiple disk controllers in a system. In that case, each controller needs different I/O port address settings so as not to conflict with the others. To determine what I/O ports are currently in use, you normally have to refer to the documentation that comes with each device in your system. Software normally cannot identify all used I/O port addresses unless you have a PCI or EISA system. When port conflicts exist, the devices in conflict do not function, or they function improperly.


Multi-function I/O cards are a combination floppy disk, hard disk, and serial and parallel port adapters all on one expansion card. Most newer motherboards have all these functions built right into the motherboard, but you may see a few of these multi-function boards in older PCI or VLB systems, and it is important to note that you will have to disable the hard disk controller on this board before installing a new controller.

Physical Installation

You must have the correct screws, brackets, and faceplates for the specific drive and system before you can install the drive. Some AT or Baby-AT type computer cases require plastic rails that are secured to the sides of the drives so that they can slide into the proper place in the system (see Figure 3.1). Compaq uses a different type of rail, as does Hewlett-Packard, Packard Bell, and so on. When you purchase a drive, the vendor usually includes the "Standard-type" rails, so be sure to specify whether you need the special manufacturer type. IBM PC-type and XT-type systems do not need rails, but they may need a bracket to enable double-stacking of half-height drives. Also, many newer after-market computer cases have eliminated the need for drive rails all together by making the expansion slot itself to the 3 1/2- or 5 1/4-inch drive specification, allowing you to bolt the new drive directly to the case itself.

FIG. 3-1  A full-height hard disk with AT mounting rails.

You should also note the length of the cable itself. In some cases, the drive cable is not long enough to reach the new drive location. You can try to reposition the original drive if you have the available expansion slots or just get a longer cable.

Make sure you use only the screws that come with your new drive. Many drives come with a special short-length screw that can have the same thread as other screws you might use in your system, but the shorter screws will not drive too far into the drive, which otherwise could cause problems.

System Configuration

When the drive is physically installed, you can begin configuring the system to the drive. You have to tell the system about the drive so that the system can boot from it when it is powered on. How you set and store this information depends on the type of drive and system you have. Standard (IDE) setup procedures are used for most hard disks except SCSI drives. SCSI drives normally follow a custom setup procedure that varies depending on the host adapter that you are using. If you have SCSI drives, follow the instructions included with the host adapter to configure the drives.

Automatic Drive Typing

If the system is an AT type and you are using the motherboard BIOS to support the hard disks, you need to know some information about the BIOS, such as what drives are supported in the hard drive table. Many BIOS versions now have user-definable drive types that enable you to enter any set of parameters required to match your drive. For IDE drives, all new BIOS versions have automatic typing, which interrogates the drive and automatically enters the parameter information returned by the drive. This procedure eliminates errors or confusion in parameter selection.

If you are dealing with an older motherboard that does not support automatic typing, the information about the drive table appears in the extensive tables of drive information that compose the bulk of the later portion of this book.

Manual Drive Typing

After you collect the necessary information, the next step is to tell the system what kind of drive is attached so that the system can boot from the drive (eventually). With knowledge of drive interfacing, you can install just about any drive in any system.

After you find the information about the drive and controller, you need to match the drive's parameters to one of the drive-table entries in the motherboard ROM. However, most drive tables are now embedded in the CMOS of the motherboard, and usually you have to choose User Defined (if you don't have an Auto-Configure option) option anyway and fill in your new drives parameters because most new drives are much larger than any of the available drive type choices.

The landing-cylinder designation is superfluous because all new drives automatically parks and locks its heads at power-down, although it would be used if you ever ran a correctly written head-parking program.

This type of drive-table information does not apply to IBM ESDI or SCSI hard disk controllers, host adapters, and drives. Because ESDI and SCSI controllers and host adapters query the drive directly for the required parameters, no table-entry selection is necessary. The table for ST-506/412 drives, however, still appears in the ROM BIOS of most PS/2 systems, even if the model came standard with the ESDI or SCSI disk subsystem.

Previous Table of Contents Next