With the improvements in Small Computer Systems Interface (SCSI)
adapters and devices (price/performance/technical advantages), many
people are showing a growing interest in adding SCSI adapters and
devices to their 286/386/486 systems. At the same time, I haven't seen
too much of the written word that clearly explains the how to's for
adding these devices to your existing system.
I originally intended to write a "quick and dirty", (but extremely
intelligent, of course) guide on how to upgrade your system to SCSI, but
I quickly realized that much more knowledge was sought after by most.
So, instead, bear with me while I go through a technical discussion
geared (I hope) to the layman as well as the computer literate in the
hopes of creating an understanding of how the system boots; how boot
managers work, and how to put multiple operating systems on your
computer. The principles inv olved apply to DOS, OS/2, UNIX, et. al..
The Boot Sequence:
When Intel-based systems are booted, they go through what is known as a
POST test (Power On Self Test). This is where you see the memory being
checked and the message appear that tells you (depending on your BIOS)
to press DEL. for setup. At the end of the POST, the micro program
looks at the system CMOS to determine what devices are installed and
what their characteristics are, such as your floppy drives and hard
drives, if any. If it finds that hard drives are installed, the boot
sequence makes note of how many and their characteristics, then
continues on to check for any other BIOS's that may be installed on add
on cards such as a SCSI adapter. If it finds one, the boot sequence is
turned over to this BIOS which usually does no more than notes how many
hard drives are installed on this adapter and what the characteristics
are.
Now, of course, if you have no hard drive controllers such as IDE, MFM
(also known as ST-506), or ESDI, then you probably marked the CMOS as
"No hard drives installed". In this case, the post test (or boot
sequence) still checks for add on cards and if it finds one with a BIOS,
it does the same as above.
It is important to remember at this point that the first hard drive the
boot sequence encounters will be made drive 0 (otherwise known as drive
C: to most operating systems) and will be the BOOT drive. This boot
drive may or may not contain the operating system to be booted. So, if
the boot sequence detects hard drives in the CMOS, the drives connected
to your IDE, MFM, et. al., controller will be drives C: and D: (if there
are two). Any drives on the add on cards will come after these.
I must digress for a moment to clarify a confusing issue: the question
is often asked, "how can I have two drives jumpered or designated as
drive zero?". Simple: to each individual controller/adapter can have
its own drive zero. To the system, the first drive on the first
controller identified in the boot sequence is drive zero, or the boot
drive.
So, after identifying the boot drive, control is turned over to more
program code on the boot sector of that drive. The code residing here
may be the operating systems boot code or a BOOT MANAGER. Whether this
code be the OS code or boot manager code, they both simply point to more
code at a specific location on the hard drives that is the SYSTEM LOADER
(aha, now we know what those system-hidden-read only files are!). The
system loader in turn loads the operating system of choice. The system
of choice m ay be the only one on your hard drives, or one of several
(DOS, OS/2, UNIX, etc.) and may reside on drive C: or another on your
system. Some are particular when it comes to being on primary partitions
or logical (extended) partitions, but we won't go into that here.
Generally, boot managers can handle up to 4 (maybe more??) operating
systems. So you are offered quite a bit of flexibility depending on your
needs (or whether you are a masochist). This means you can have
different versions of operating systems available to boot up for, say,
test and development.
Installing the hardware:
I won't go into the advantages of adding SCSI adapters and devices to
your system(s), but since many people are finding out for themselves, I
will now go into the how's of installing such an adapter on your system
co-resident with another type of hard disk controller.
Generally speaking (and I know there are exceptions), IDE, MFM, et. al,
controllers have no BIOS on them. Consequently, they are dependent on
the system BIOS and boot sequence to determine their characteristics and
such. That's why they have to be the first device(s)/controllers on the
system (for hard drives). Since all the information the system needs
from them is in CMOS and the system BIOS, secondary controllers
(adapters) can be added next. If these adapters are going to control
hard disks, they nee d their on-board BIOS enabled so the system drivers
can pick up the information they need about the drive characteristics.
The hard disk(s) can be jumpered as LUN (or target device) 0, and 1 if
it exists. The devices should be in order since the on-board BIOS check
can take a long time if LUN's are skipped. If no hard disks are going to
be installed on the SCSI adapter, then disable the on-board BIOS because
it is no longer needed and can cause some irritation if left enabled.
If, for instance, you are going to install a SCSI adapter just to
control a tape drive, disable the on-board BIOS and make the tape drive
LUN 0 (some operating systems suggest tapes should be LUN, or target ID,
2, but in my experience they will accept other settings depending on the
hardware present on the SCSI adapter.
Don't forget the software:
After you install the hard drives, you will probably have to add a
driver to handle them. In the case of DOS, the operating system and BIOS
will handle the drives identified in the CMOS and on the first
controller. For add on SCSI drives, you have to add something like
ASPI.SYS or maybe ASPI4DOS.SYS (depending on your specific controller)
to the CONFIG.SYS. For UNIX, the drivers are loaded when you build
system and identify which drivers you need. Also, in UNIX, (depending on
the flavor) you tell the OS wh ich is the boot drive/controller in the
High Performance Device Driver (HPDD) definitions).
Because of the old memory crunch in DOS, you will probably find that you
need to reconfigure your Expanded Memory driver definitions if the SCSI
BIOS is enabled. This is because the BIOS can be configured to reside
somewhere between address xC0000 and xE0000 (in most cases), and it does
need a home! So now you have the comforting thought that your Video
BIOS is at C0000-C7FFF (probably), your Network adapter is also lurking
about up there in all likelihood, and your EMM driver probably wants a
page frame somewhere (hopefully at E0000 and above). Anyway, now you
have to check your manuals and your current configuration (which you
probably never made note of. I know I keep meaning to myself).
Don't forget to format the hard drive. In DOS, you generally use DOS's
FDISK and FORMAT to partition the drive and format it. Same for OS/2
(if you are not going to use HPFS).
And all ends well:
At least I hope it did. I hope this helps anyone who may be trying to
decide if and how to add SCSI devices to their system. I think you'll
like the advantages SCSI devices can provide. Happy computing!
Larry Bell
DLA Systems Automation Center
DSAC-TMP
x9426
[The opinions expressed are entirely my own opinionated statements.
Although my boss probably agrees with them, it would be a cold day in
hell before he'd admit it.]
-------------------------------------------------------------------------------
ntm0934 sends (larry bell)...