S) 3.0 IO controllers/interfaces
Q) 3.1 How do FM/IDE/MFM/RLL/ESDI/SCSI
interfaces work?
Ok, first FM, MFM, and RLL refer to the data encoding. Almost
all drives today are RLL. IDE, ESDI, and SCSI are types of interfaces
and the drives that run on them. The descriptions below will contain
a lot of techno-babble to most, but the purpose of this is to give an idea
how they work and in that capacity the text below should suffice.
UPGRADING AND REPAIRING PC'S by Scott Mueller describes this much better
as that is the purpose of his book, not this FAQ.
FM, or Frequency Modulation, was the earliest scheme. Known as
Single Density by many because of the floppies it was originally used on.
This was popular in the 1970's, but with a limit of about 80k it quickly
died out.
It is the simplest way to encode zeros and ones. Also to prevent
sync errors in long streams of zeros or ones, two transition cells are
used per bit. A data cell representing the zero or one and a clock
cell representing what amounts to the position or record. In a data
transition cell, either a one bit is recorded to indicate a flux reversal
or a zero bit to indicate none. The clock cell is used for each bit also.
So each time you change bits, the clock cell reverses flux. This
works great except for the fact that you lose half your storage capability
since each data bit requires two flux reversals, one for the data and one
for the clock.
Example of FM Data to Flux Transitions
Data Bit Flux encoding
1
TT
0
TN
T=flux transition
N=no flux transition
MFM, or Modified Frequency Modulation was created to reduce this overhead
and compact more data into the same space. This was done by reducing
clock transition cells. A clock transition cell is only recorded
if a zero bit is preceded by a zero bit. This amounts to twice the
efficiency and is why MFM became known as Double Density (as did the disks
which were originally formatted this way). It is still used in almost
all PC floppy drives today. MFM is also twice as fast as FM.
Example of MFM Data to Flux Transitions
Data Bit
Flux encoding
1
NT (no clock cell encoding)
0 preceded by 0 TN (clock cell encoded)
0 preceded by 1 NN (no clock cell encoded)
RLL, or Run Length Limited, is today's method of choice. RLL stores
50% more data than MFM and three times the data of FM. In RLL, groups
of bits are taken as a whole and combined to generate a pattern of flux
reversals. By combining the clock and data cells into these patterns,
the clock rate can be increase while keeping the same distance of transitions
on the disk.
RLL was invented by IBM first for mainframes, but by the 80's this technology
flowed into the desktop PC's of the day and is still a viable encoded scheme.
RLL gets its name from the two main functions of the patterns stored.
One is the minimum number (the run length) and maximum number (the run
limit) of transition cells allowed between two actual flux transitions.
There are
several schemes to this, but RLL 2,7 and RLL 1,7 are the most popular
with 1,7 used almost exclusively in all large drives.
Using RLL 2,7 as the example, the numbering scheme is based on the fact
that there can be as few as 2 and as many as 7 transition cells separating
two flux transitions. Also, FM and MFM can be referred by RLL naming conventions
as RLL 0,1 and RLL 1,3, respectively, however when they are discussed it
is still by there original FM and MFM names.
Example of RLL 2,7 Data to Flux transitions
(Using IBM's ENDEC (ENcode/DECode) table only as there can be unlimited
variations to this encoding scheme)
Data Flux encoding
10
NTNN
11
TNNN
000
NNNTNN
010
TNNTNN
011
NNTNNN
0010 NNTNNTNN
0011 NNNNTNNN
Example of the character "X" (01011000 in binary) showing the actual
way it is encoded on disk.
FM: Bit .0.1.0.1.1.0.0.0
Flux TNTTTNTTTTTNTNTN
11 transitions
MFM: Bit .0.1.0.1.1.0.0.0
Flux TNNTNNNTNTNNTNTN
6 transitions (50% of FM)
RLL 2,7: Bit .0.1.0.1.1.0.0.0
Flux TNNTNNTNNNNNNTNN
4 transitions (30% of FM)
T=Transition flux, N=No Transition flux, and .=data bit boundary.
Also there is a new encoding scheme called PRML, Partial-Response, Maximum-Likelihood
that compacts data a further 40%. This uses DSP technology to clean
the signal of noise and allow data to be stored closer together, whereas
the other three still have the same density of flux transitions.
Now on to interfaces. There are a few: ST-506/412, ESDI,
IDE, and SCSI as well as the variations of each (SCSI-2, ATA-2, etc).
The interface transmits and receives data to and from the drive.
Only the ST-506/412 and ESDI are true disk-controller to drive interfaces.
SCSI and IDE are system level interfaces usually containing ST-506/412
or ESDI internally. SCSI adds an extra level of interface that attaches
directly to the system bus whereas IDE is a direct bus interface.
ST-506/412 - developed by Seagate back around the beginning of the 80's
and is named after the 5MB ST-506 drive and 10MB ST-412 drive originally
attached to this interface. This was the interface of choice for
almost all drive manufacturers during this time period. Also interestingly
enough all drives using this interface were plug-and-play as long as the
BIOS on the system board supported the drive (when the IBM AT was introduced
IBM removed the BIOS off the ST-506/412 interface and included it into
the IBM AT system BIOS). This interface is obsolete by today's standards,
though it endured a long time for an interface designed around a 5MB drive
which at the end of its life was connected to drives as large as 233MB!
Using two Drive Select (DS) channels you could have up to two drives attached
to this controller, DS1 was the C drive and DS2 was D.
ESDI, Enhanced Small Device Interface - developed in the early 80's
by Maxtor to succeed the ST-506/412 standard and provide more performance
and later adopted by ANSI. Offered enhanced reliability by incorporating
a ENDEC into the drive. Capable of 24 megabits/sec, though limited
to 10-15 megabits/sec by almost all drives. ESDI drives were not
always compatible with other ESDI drives due to implementation deviations
between manufacturers and this opened the way for the IDE standard which
though slower was much cheaper to produce.
ESDI also allowed for automatic drive configuration and defect mapping
(sometimes). Also mostly compatible with the ST-506/412 interface
in that if the system supported one, it usually would the other.
Sometimes additional software would need to be run (for auto defect mapping
as an example).
IDE, Integrated Drive Electronics - a generic term for any drive with
built-in controller electronics. Though more often applied to ATA
(AT Attachment) drives and is an ANSI standard. These were originally
exclusively Hardcards where a small 3.5" ST-506/412 or ESDI drive was mounted
directly to the controller card. More reliability due to the lack
of ribbon cables and reduced noise.
Although the IDE cable ports are on the motherboards of today's computers,
the actual controller is still in the drive. The port is only used
to connect the controller to the bus and is actually a 40 pin subset of
a 98 pin ISA slot. Having the controller built-in to each drive is
why many times IDE drives don't work together. Both controllers compete
to be the Master despite assigning it a Slave status sometimes. The
usual workaround is to use IDE drives by the same manufacturer and also
of the same specification.
PS/2 content: in 1987 IBM offered IDE drives for MCA machines
called MCA IDE (a 16 bit device like ATA IDE). These were connected
to the bus thorough an interposer card and needed only a few buffer chips
and almost no circuitry which is why they are referred to as paddle boards
by many (game paddle/joystick boards have very little circuitry also).
An 8 bit variation made it into the non-Microchannel Model 30 similar to
XT IDE.
IDE drives offer the highest performance at any cost for a single user,
single tasking operating system.
ATA-1 was introduced in 1989 and ATA-2 (EIDE by Western Digital and
Fast-ATA and Fast-ATA-2 by Seagate and Quantum) in 1995.
ATA-2 allows for drives larger than 504MB by translation (basically
altering the perceived geometry of a drive to other programs which cannot
handle more than 1024 cylinders. A 2000 cylinder drive with 16 heads
would be translated as a 1000 cylinder drive with 32 heads). Translation
methods rely on an enhanced BIOS and are known as Standard CHS (Cylinder
Head Sector), Extended CHS or Large, LBA (Logical Block Addressing).
It also allows faster data transfers with PIO (programmed Input Output)
modes. Mode 0 has a 600 ns cycle time and limits transfers to 3.3MB/sec.
At its best ATA-1 had a 240 ns cycle time and transfer rate of 8.3MB/sec.
With ATA-2 in PIO mode 3 with its 180 ns cycle time, transfer rates go to
11.1 and with mode 4 and a 120 ns cycle the rate is 16.6MB/sec. This
implementation requires the port to be a local bus port (VLB or PCI).
Also despite support for two drives usually only the primary can support
up to mode 4, the secondary is actually connected through the ISA bus and
is limited to mode 2.
DMA (direct memory access) can also be used to exclude the CPU from
the drive to bus transfers using the system boards DMA controller to handle
the transactions. Busmastering DMA controllers use their own DMA
controller to handle this and because of the extra complexity it drives
up the cost. DMA is never used efficiently with an ISA bus, but with
today's PCI boards speeds of 33MB/sec are now common.
SCSI, Small Computer System Interface - not really a disk interface,
but a system-level interface. SCSI is a bus that supports up to eight
devices. One of these is the host adapter and the gateway between
the SCSI and PC buses. The SCSI bus does not talk directly to the
devices either, but to each devices controller built into it (Most SCSI
drives are actually IDE drives with SCSI bus adapter circuits added.
Each device is given a SCSI ID. Up to 4 host adapters can be supported
by most systems and with each able to control 7 other peripherals that
gives a total of 28 devices. Some newer SCSI implementations can
support 15 devices per bus.
The SCSI standard like ESDI is a hardware standard. It does not
specify how communication is to be handled and as a result some SCSI devices
are not compatible with others. Scanners and some CD-ROMS fall into
these category as they do not include the BIOS for self-booting hard drives.
There are several implementations of SCSI.
SCSI-1 included many features and commands, but listed them as optional
so many were not used causing incompatibility galore. SCSI-1 was
limited to 5MB/sec transfers. SCSI-1 devices were 8 bit.
SCSI-2 fixed this by requiring 18 commands to be coded, a Common Command
Set (CCS). SCSI-2 also brought support for CD-ROMS, tape drives,
and other devices. There was Fast SCSI-2 and a 16 bit version called
Wide SCSI-2.
Fast synchronous SCSI and Wide SCSI were an optional specifications
and raised the transfer rate to 10MB/sec when each was used by itself.
However, fast and wide can be combined and raise transfer rates to 20MB/sec.
There was also a 32 bit specification defined, but was not implemented
as being too expensive.
Q) 3.2 How can I tell
if I have MFM/RLL/ESDI/IDE/SCSI?
Open the computer and check the model number of the drive and contact
the manufacturer is the only way to be 100% certain in many cases.
That aside, the first thing to check is the number of pins on the drive's
connector(s) and how many cables you have. The second thing to check is
the CMOS setup, assuming, of course, that it is in a working system.
ST-506/412 = two or three cables (1 drive or 2 drives): two 20 pin,
and one 34 pin if two drives are connected (do not attempt to connect an
ESDI drive to these cables, although it will attach the signals are different).
17 (MFM) or 26 (RLL) sectors per track. One 34 pin cable is daisy-chained
between up to two drives much like floppies, though due to different twist
in the cable they are not interchangeable. Many of these interfaces
include a provision for connecting floppies though.
A terminating resistor is used if only one drive is connected.
ESDI = 2 cables: 34 pin and a 20 pin (as stated in the ST-506/412 section
both the 34 and 20 pin are identical in looks to the cables that are used
with the ST-506/412 interface, but do not connect a MFM or RLL drive to
this interface). usually set up as type #1 in the CMOS and auto-configured
at boot time 32 sectors per track or more and almost always 1:1 interleave
giving up to 1MB/sec transfer capability.
IDE = 1 cable: 40 pins with three pin-header style connectors on it.
One plugs into the IDE interface connector and the other far end into the
primary drive (usually...sometimes this is the secondary), followed by
the secondary being connected in the middle (again it is possible the primary
is in the middle).
Sectors, heads and tracks are variable.
CMOS does not determine accurately.
SCSI-1 = 1 cable: 50 pins
SCSI-2 = 1 cable: 68 pins
PS/2 uses the external
60 pins connector on the SCSI /A and SCSI w/cache because IBM felt that
it needed the extra 10 pins. The extra pins are "reserved".
Aftermarket controllers
use the standard HPDB50 pin or the Apple SCSI connector for external drives.
usually set up as "not installed" in the CMOS
Q) 3.3 Why won't my
two hard drives work together?
IDE: (Assuming the user has determined that the Master/Slave arrangements
are correct). IDE drives of different makes may just be incompatible,
likewise occasionally different models of the same manufacturer are.
Try two identical drives, swapping master and slave, or trying a combination
of a third drive with any of the other two and the problem should usually
cease.
SCSI: (Again assuming the user understands how to configure a
SCSI adapter). If using SCSI-1 spec drives, there just may be incompatibilities
between them, try another drive preferably of the same manufacturer or
better yet an identical drive. With later SCSI specifications, chances
are something is not terminated or ID'd properly. Try changing the
order.
Q) 3.4 How do I install
a second controller?
Simply pull it in and boot with the reference disk and viola. Of course
it is never this easy. Occasionally some controllers are incompatible
with one another and it is impossible to get them to work together.
For this reason try to keep controllers identical (use the same manufacturer
at the very least).
Q) 3.4a Second IBM
controller dumps W9x into MS-DOS mode!
W9x does NOT support shared interrupts (WinNT can). IBM made ALL it's
drive controllers so they used IRQ14 ONLY. Hardwired. So any multiple IBM
ESDI or SCSI controller installation will cause an IRQ sharing situation.
Thanks, MS!
Q) 3.5 Which is better,
SCSI or IDE or ESDI?
Again like the MCA versus ISA/EISA/VLB/PCI debate. There is what
is better in theory and what is better in real life. ESDI is a dead
standard with much faster and larger capacity, cheaper IDE drives out there,
though it had the possibility of being the fastest. Unfortunately
in the PS/2 arena you usually can't chose IDE which with the newer versions
offers almost all of the speed of the best SCSI drives and still is the
fastest single user, single task OS drive there is. SCSI, however,
with multitasking operating systems shines, especially the later Fast/Wide
standards. Though I do not know of any PS/2 controller capable of
the 40MB/sec and 80MB/sec of today's top SCSI drives the 10-20MB/sec performance
is more than enough for many desktops.
Q) 3.6 Can MFM/RLL/ESDI/IDE
and SCSI coexist?
The PC is limited to two drive controllers total. SCSI, however,
is a "host adapter" and not a drive controller. To the rest of your
system, it appears more like an Ethernet card than a drive controller.
For this reason, SCSI will always be able to coexist with any type dive
controller. The main drawback here is that on most systems, you must
boot off a disk on the primary drive controller, if you have one.
That means if you have SCSI and IDE in your system, for example, you can
not directly boot from the SCSI drive. There are various ways to
get around this limitation, including the use of a boot manager.
MFM and RLL are the methods of writing the data to the disk and as such
almost always exist together (MFM for the floppy drives and RLL for the
fixed disks).
Q) 3.6a Can I use an IDE
controller in my 85 / 90 / 95?
Er, usually, no. What happens on the IML systems (POST and BIOS
on hard drive) is that the IDE controller is seen first (IO address, cannot
be "fixed"). The system cannot find the IML information and chokes.
If you really WANT to run an IDE controller in an IML system,
you will have to boot from a refdisk. Maybe- Or you can use the "enhanced
BIOS" complex AND enhanced SCSI BIOS. This combination will search for
an IML source on any drive.
On flash based systems (Type 4 complex, all 9585, 76/77
Lacuna based) you can use an IDE controller without a problem. These flash
based systems can be set to boot from any drive.
Q) 3.7 What's the
difference between SCSI and SCSI-2? Are they compatible?
The main difference between SCSI and SCSI-2 is the command set. All
versions of SCSI are downwardly compatible. On power up, the SCSI
host adapter and each device(separately) determine the best command set
and the speed that each is capable of.
SCSI-2 controllers usually have a higher drive to controller transfer
speed of 10MB/s (called Fast) and can also be 16-bits wide (called Wide)
vs. the 8-bit of SCSI-1 controllers. Fast and Wide can be combined into
a "Fast/Wide" which means 16 bit transfers at 10MB/s for a 20MB/s transfer
rate.
Q) 3.7a What are
some common transfer rates of MCA SCSI Controllers?
Adaptec AHA-1640 5MB/s
BusLogic BT-640 5MB/s
BusLogic BT-646 (S or D) 10MB/s
SCSI /A Long Under 5MB/s
SCSI /A Short 5MB/s drive-controller, 16MB/s controller to bus
SCSI w/cache 5MB/s drive-controller, 16MB/s controller to bus
SCSI-2 10MB/s
SCSI-2 F/W 10MB/s narrow, 20MB/s Wide. 40MB/s to bus.
For more information on this, refer to the comp.periphs.scsi FAQ.
Q) 3.8 Can I
use a non-IBM ESDI in a PS/2?
[From: helling@uwindsor.ca <Helling Bernie>]
FORMATTING A NON_IBM ESDI DRIVE FOR A PS/2 80.
Well, it might have been impossible for me to put a simple MFM hard
drive into my model 80 PS/2, 4M, model 8580-111, but I did get a NON-IBM
ESDI drive installed, using a PS/2 ESDI controller, and the following patched
version of LLFORMAT.COM, usually found on the 7080 reference disk....
First: a rumor that the following PS/2 80's LIKE MFM and ESDI: 041,071,111,311
and the following, which supposedly came with SCSI don't... 121, 161, possibly
AXX... This is unconfirmed, and mine is a 111, so it worked....
1) In dos, go to your ref disk, make a directory called SPARE, copy
LLFORMAT.COM to it (nice safe backup copy)
1a) Copy the dos DEBUG.EXE program onto the ref disk...
Now follow this, paying attention to my comments...
> comment O mine....
---------------------------- QUOTING ---------------------------
This DEBUG procedure has been documented by Tillman Schmidt of Koeln,
Germany following the translation of an article in the German c't Magazin
fr Computertechnik, issue 5/1991, page 272f.
The reference-disk comes with a program to low-level-format a hard disk:
LLFORMAT.COM; boot from the reference-disk and press CTRL-A in the main
menu to get a menu for extended diagnose. To low-level-format a non-IBM-disk,
you have to patch llformat.com with debug as described below.
LLFORMAT.COM doesn't format a non-IBM-hard disk, because there is a
defect-map (info about defect blocks) on the cylinder before the last on
IBM-disks. But llformat.com only calls a BIOS-routine via INT 13h, where
one can set a flag to ignore the defect-map (set bits 0,1 in CL-register)
Here is the reference for the BIOS-low-level-formatting-routine:
-----------------------------------------------------------------------------
>>>> No idea what this means, but it's impressive as heck... read on......
ESDI-Formatter:
===============
INT 13h, function 1Ah
register-settings:
AH=1Ah ; format ESDI
AL=number of additional given defect-blocks; when AL=0 the address
in ES:BX is ignored
ES:BX=address of the table with the additional defect-blocks
CL=some options:
bits 7-5: must be 0
bit 4: when set an interrupt (int 15h with AH=0Fh, AL=some status)
is triggered after
formatting one cylinder
The interrupt-handler
must clear the carry-flag CF, otherwise
(or when an interrupt
isn't handled) formatting is aborted
bit 3: when set the hard disk's surface is analyzed in detail;
may be set only when
the disk was formatted successfully with
bit 3=0 before
bit 2: a second defect map is written to disk, when this bit
is 1;
this defect-map contains
the already known defects plus the ones
given at address ES:BX
and that found during detailed
analysis (bit 3=1)
bit 1: when this bit is set, the second defect-map is ignored
bit 0: when this bit is set, the first defect-map is also ignored
(this is normally
written by the manufacturer)
DL=number of hd; 80h
for the first drive, 81h for the second
-----------------------------------------------------------------------------
To ignore the defect-maps, you have to patch llformat.com as follows:
----------------------------------------------------------------------------
>>>>>> Here comes the good part.....
PATCH FOR LLFORMAT.COM:
=======================
>debug llformat.com
-r
AX=0000 BX=0000 CX=8195 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000
DS=2B78 ES=2B78 SS=2B78 CS=2B78 IP=0100 NV UP EI PL NZ NA PO NC
2B78:0100 E9C50D JMP 0EC8
> See that CX= number? I am a complete newbie at DEBUG, but it has something
to do with file length and position on the floppy. Write yours down....
-s100 8295 b4 1a b0 00 8a ; search formatting-routine
> See how it appears, again, incremented a bit (8195 => 8295)?
do this to your number in its place. Use HEX! so an E =>F etc.... Lord!
I am debug clueless eh!
2B78:8272 ; the byte sequence is found twice
2B78:8284
> You, of course got different numbers... write em down...
-u8272
; ^^^^ this is the first of the two found addresses
> do this with your first number, the second part, of course...
Your XXXX:XXXX numbers will be different, but the rest will make
sense, note that the screen will line up the numbers in nice columns, not
exactly as shown below...
; now debug shows this:
2B78:8272 B41A MOV AH,1A ; select "FORMAT"-function
2B78:8274 B000 MOV AL,00 ; no additional
defect map
2B78:8276 8A160473 MOV DL,[7304]
2B78:827A b114 MOV CL,14 ; <--- change
14 to 15!
2B78:827C 0A0E7377 OR CL,[7773]
2B78:8280 CD13 INT 13
; BIOS-call
2B78:8282 7210 JB 8294 ; error
-> return
2B78:8284 B41A MOV AH,1A
2B78:8286 B000 MOV AL,00
2B78:8288 8A160473 MOV DL,[7304]
2B78:828C B11C MOV CL,1C ; <--- change
1c to 1d!
2B78:828E 0A0E7377 OR CL,[7773]
-u
>>>>>> Don't get antsy! just look, the -u means show next
>>>>>> page... NOW: see the lines to be changed above?
>>>>>> WRITE DOWN THEIR ADDRESS NUMBERS!!!
2B78:8292 CD13 INT 13
2B78:8294 C3 RET
2B78:8295 0000 ADD [BX+SI],AL
; and so on...
>>>>>> Now the scary part: -e for edit... unless you -w
>>>>>> something you can always -q then try again...
-e827B ; <---- insert address of the first
byte that must be changed
2B78:827B 14.15
>>>>>> USE your first change address number. The screen is
>>>>>> different from above. tap the space bar to get 14. then put
15
>>>>>> right after it. use the -u command to list it. did it change
>>>>>> correctly? Note the number right after the address changed
>>>>>> too, as well as the endmost... Actually, everything past the
>>>>>> first column is interpretation of it, but if it changed right,
>>>>>> you got it... If it didn't, -q and try again...
-e828D ; <---- insert address of the second
byte that must be changed
2B78:828D 1C.1D
>>>>>> One more time! Use -u to check both, then:
-w ; save the patched
program
Writing 08195 bytes
>>>>> Your mileage may vary...
-q ; that's it
I hope this will help you!
Martin.
(schmidm@informatik.tu-muenchen.de)
------------------------- END QUOTE ----------------------
>>>>>> The above person posted the XLATION, and might have developed
this. I found it with DEJANEWS, thanks to a tip from Aron Eisenpress, who
has been invaluable with his help and suggestions, etc...Of course, I floundered
through DEBUG (1st time) but it seemed to go ok...
2) Install ESDI drive. Drive was previously set up to work with an ISA
card, a DTC, I think... Cabling is similar to an MFM drive, drive 0 gets
the middle, no twist wide cable plug, and the skinny cable from the middle
connector. Plug in the IBM card in the top-most slot, (cables are SHORT),
hook up power and ground, cables to drive, insert REF disk, turn on....
Run auto-configuration, restart, computer sez to test the drive...DON'T
BOTHER.
3) Press CTRL-A instead, choose format the drive, DO IT.
3A) You get an error message, it wants to do a FACTORY REFORMAT,
LET IT, it will take a while: 45 min for a CDC 94216-106,
(1024x5x34spt) 86M. When finished, reboot with a dos disk,
run FDISK and FORMAT C:/U/S. Run a few surface tests
using
NDD or PCTOOLS, or whatever if you feel like it.
OH yeh: I'm using dos 5....
4) CROW! Yehawwww!
Now, to try and get a second ESDI drive set up as D: Hope this can help
some others, Just trying to get the info out where it can keep the old
beasts going...
Q) 3.8a Can I use
an AS/400 drive?
Uh, yes, but... AS/400 systems use 520 bytes per sector instead of the
common 512 bytes per sector. You need a small program called "520to512.exe"
Q) 3.9 Do I need a
reference disk for my SCSI drive?
No, only for the controller. This question has come up a lot lately.
If you are having problems getting a new drive to work with a existing
working SCSI setup, call the drive manufacturer and try not to tell them
it is a PS/2. Also refer to some of the earlier SCSI questions about problems
that arise (switching drives around works many times). Most tech
support people have heard rumors that PS/2's need reference disks for everything
and that they are incompatible with everything. So they either tell
you to get the reference disk (usually from IBM as if they support third
parties ever) or that their drive is not compatible with PS/2 computers.
I would also call the SCSI adapter manufacturer (assuming they are still
around and supporting it) for clues. Remember setting up SCSI drives
can have a lot of variables, keep checking for proper ID, proper termination,
and the like.
When shopping for a SCSI controller card, I would recommend either the
Adaptec 1640 or the Future Domain MCS-700 (or the MCS-600 which is the
same except uses an Apple type DB25 external SCSI connector instead of
the standard 50 pin. Both use the 50 pin connector for the internal
drives).
Q) 3.10 What is a
16550UART and do I need one? Does my PS/2 have it?
The 16550 is a UART with two 16 byte FIFOs. A UART is the part
of a serial port that takes byte-wide (characters) data and converts it
to bit-wide (serial) data, and visa versa. The FIFO is a buffer which
can hold characters until the CPU is ready to remove it or until the serial
line is ready to transmit it. The 'normal' UART in the PC (the 8250
or 16450) only has 1-byte FIFOs. The additional 15 bytes can be useful
when the CPU is busy doing other things - if the CPU isn't able to remove
data fast enough, it will be lost. The OS or program has to explicitly
support 16550 to make full use of its advantages.
A very important thing to note is that under DOS, the CPU doesn't have
anything else to do, so the 16550 is wasted. Only under multitasking
operating systems does it really become useful. The 16550 will *not*
make your file transfers any faster, it will only prevent data from being
lost and relieve your CPU of some overhead. If you notice system
performance dropping like a rock when file transfers are occurring, a 16550
may be helpful. If you see re-transmissions (bad packets) or "FIFO
overrun's" during file transfers under a multitasking OS, try the same
thing under DOS - if the errors go away, then chances are a 16550 will
be useful. If they remain, then your problem is likely to be elsewhere.
PS/2s without the more modern 16550A UART are usually limited to lower
data rates (not because of the 16550 UART but because the other UARTs are
slow). Usually 14.4k max with no compression. The PS/2 models and
type of UART are listed below.
From: Aron Eisenpress <AFECU@CUNYVM.CUNY.EDU>:
The following information is taken directly from the PS/2 Hardware
Interface Technical References.
Four types of serial port controllers have been used on the system boards
of PS/2's. The controllers:
Type 1 Controller appears to be
identical to the serial port on the IBM Personal Computer AT IBM Personal
Computer Serial/Parallel Adapter.
Type 2 Controller incorporates all
functions of the Type 1 and also provides support of the first-in-first-out
(FIFO) mode.
Type 3 Controller incorporates all
functions of the Type 2 controller and provides the Direct Memory Access
(DMA) mode.
Type 4 Controller incorporates all
the functions of the Type 3 controller and provides additional I/O addresses.
For type 1 and type 2 controllers data speed should not exceed 19.2kbaud.
Type 3 and type 4 controllers support up to 345.6 Kbaud.
Below is a list of the type of serial controller used in each model
in the Micro Channel PS/2 line: (Note, these are IBM's published
times. I have been advised by Mark Seecof <marks@writ.com> that
any PS/2 with the 16550A (including the 16550AF) is capable of over
19.2 Kbaud as long as the software supports it).
Model
Type of Serial Port Max Speed
-----
------------------- -----------
8550
1,2
19.2 Kbaud
8551 (N51)
2
19.2 Kbaud
8554 (CL57)
2
19.2 Kbaud
8555
2
19.2 Kbaud
8556 / 9556 / 9576 4
345.6 Kbaud
8557 / 9577
4
345.6 Kbaud
8560
1,2
19.2 Kbaud
8565
2
19.2 Kbaud
8570
2
19.2 Kbaud
8573 (P70)
2
19.2 Kbaud
8580
1,2
19.2 Kbaud
8590 / 9590
3
345.6 Kbaud
8595 / 9595 /95A 3
345.6 Kbaud
9585
IBM uses a proprietary chip instead of the 16550 UART in
PS/2's. The serial port controller in all of the above PS/2 models
(except the PS/2 models 55 and 65) is compatible with the National
Semiconductor NS16450 serial port. The serial port controller in the PS/2
models 55 and 65 is generally compatible with the NS16550A serial-communications
controller.
PS/2's with Type 2, Type 3, or Type 4 serial port controllers support
the first-in-first-out (FIFO) mode. The exception is the PS/2 model
50 with a Type 2 serial port controller. According to the PS/2 Hardware
Interface Technical Reference - System Specific Information, model 60's
and 80's with Type 2 serial port controllers do support FIFO mode.
[incomplete please help me obtain the UART data on the other PS/2s.
A good program is Snooper v3.30 by Vias and Associates for $39 available
as shareware on most BBSs and internet ftp sites, please register if you
decide to keep it]
Q) 3.11 Should I buy
an internal or external modem?
In general, it is better to go with an external modem for two reasons.
First MCA slots are valuable commodities in most systems (i.e. Model 50s
with only 3 slots) and secondly, an MCA card modem will be a lot more money
when a standard external modem will work fine. Also an external modem
provides visual clues to tell you what is going on with the data.
Sometimes internal is the only way to go though. The Windsurfer
Adapter with its 14.4k data modem, 9600 FAX and telephone answering/voice
mail is only available internally, however, this is not such a waste of
a MCA slot as you are getting several products on one card. I believe
in its last incarnation (it has been discountinued) some versions were
33.6k capable which is still ok for many.
Q) 3.12 What kinds
of sound cards are available?
There are a few believe it or not. Though new they cost around
$150 which is a little steep these days for a sound card with SoundBlasters
selling for $30. Kahlon computers at www.kahlon.com and 800-317-9989 offers
one for $125 (though I am not sure who actually makes it). The original
was the SoundBlaster MCV which is an 8 bit card and probably should be
avoided due to the problems it has with compatibility. The SoundBlaster
Pro MCV is a 8 bit card which supposedly works better, yet both SoundBlasters
are no longer made.
The next option is the Audiovation/A ($249) which is a 16 bit
card capable of 44.1KHz sampling rates is SoundBlaster compatible and is
currently being revised for better support. Another option is the
M-Audio Capture/A which is said to be more of a sound editor than one for
games. Another option is the WindSurfer Card. This is probably
overkill as solely a soundcard for its $400 low price, but it does offer
a 14.4k modem (some up to 33.6k), 9600 FAX and telephone answering/voice
mail on one card. This card is probably not as compatible as the Audiovation
is, but maybe worth a test to see if it does what you would like.
The Chipchat is currently available in both 16 bit ($129)
and 32 bit ($159 with wavetable)go to www.chipchat.com or call them at
(313)565-4000. Reply Technologies has a card out using the chipset
from Creative Labs, the Vibra 16, which is SoundBlaster 16 compatible and
it is also available linked up to a Future Domain SCSI-2 controller.
One more option comes from Piper Research (now possibly defunct?), this
is a SoundBlaster compatible card. They used to only make a 16 bit
card ($129.95), but now they have a 32 bit version ($159.95) and a 32 bit
with 3D sound ($179.95).
Here is the specs to the Piper Card:
(From: ejfluhr@wc101.residence.gatech.edu (Eric J. Fluhr) and corykim@vnet.ibm.com
(Cory Kim))
Piper Research, Inc.
Attn: Sales
PO Box 241
Newport, MN 55055
Voice/Orders: (612) 459-2770 (Mastercard/Visa/AmEx)
Fax: (612) 458-1978
16 bit stereo sound card. Records, compresses and plays
back voice, sound and music with computer controlled mixer settings and
Yamaha OPL-3 based FM synthesis. In addition, connections are provided
for CD-audio, line-in, dual joystick, MIDI and speakers. Other key
features include:
o Micro Channel Architecture compatible
o 4 Watt Stereo Amplifier
o Half-Size Adapter
o Compatible with all Major
o Auto-configures like all MC cards
Software Programs
o Multimedia PC Compatible
o Stereo Mixer & Amplifier
o Integrated 16 bit A/D and D/A Converters
o Patented ESPCM Compression
o Programmable Digital Volume Control
o Windows compatible and
o Programmable Sample Rates to 44.1 kHz
OLE Compliant inc. Win95
o DOS-register compatible with SoundBlaster o
Several bundled Applets
and drivers
32 bit stereo sound card. Records, compresses and plays back voice,
sound and music with computer controlled mixer settings and Yamaha OPL-3
based FM synthesis. In addition, connections are provided for CD-audio,
line-in, dual joystick, MIDI and speakers. Other key features include:
o Micro Channel Architecture compatible
o 4 Watt Stereo Amplifier
o Half-Size Adapter
o Compatible with all Major
o Auto-configures like all MC cards
Software Programs
o Multimedia PC Compatible
o Stereo Mixer & Amplifier
o Integrated 16 bit A/D and D/A Converters
o Patented ESPCM Compression
o Programmable Digital Volume Control
o Windows compatible and
o Programmable Sample Rates to 44.1 kHz
OLE Compliant inc. Win95
o DOS-register compatible with SoundBlaster o
Several bundled Applets
o Daugthercard connector for 3D sound option
and drivers
(however this is useless as it must be
purchased with the card).
3D Sound for SoundPiper 32. Adds Spatializer(TM) two speaker surround
effect with three levels, independent bass and treble, MUST BE ORDERED
WITH SoundPiper 32 as it cannot be bought separately.
The SoundBlaster and Piper Cards are industry standards and thus offer
the most compatibility in most games Piper uses the SoundBlaster Pro Chip
from ESS. Most these cards may cause problems in the Windows environment
as they were developed before Windows was around, however for DOS games
the SoundBlaster Pro is THE card to have. The Audiovation/A and the
others only emulate a SoundBlaster using Mwave technology which is THE
thing for WINDOWS.
So depending on what you do most choose a card, also two cards can
be used if the reference disk is patched.
From thedean@ibm.net:
There has been much discussion regarding PS/2 Micro Channel - MCA -
sound cards. Here is a quick comparison. This comparison addresses
both hardware and driver capabilities. It is important to consider
both, since if there is no driver to support a hardware capability then
the capability is not useable.
A perfect example is OS/2 drivers. Although each sound card in
this comparison has "16 bit" record/playback hardware, some cards
use the "SoundBlaster Pro MCV" driver shipped with OS/2 Warp. This
driver only supports "8 bit", not allowing "16 bit" files to be recorded
or played.
MicroChannel
CARD ->
ChipChat-16 ChipChat-32 Piper-16/32
Reply
HARDWARE:
16 bit rec/play YES
YES YES
YES
MPU-401 MIDI
YES YES
NO YES
WaveTable
upgrade YES
NO upgrade
FM
YES YES
YES YES
Stereo Mixer
6 Channel 6 Channel
5 Channel 5 Channel
SoundBlaster
YES YES
YES YES
CD audio connectors YES,4
YES,4 YES,1
YES,1
IBM Front Panel conn. YES
YES YES
NO
SOFTWARE DRIVERS:
16 bit rec/play
WIN 3.1
YES YES
YES YES
WIN 95
YES YES
YES NO
WIN NT
YES YES
YES ?
OS/2
YES YES
YES NO
WIN-OS/2
YES YES
YES ?
AIX
YES YES
NO NO
WaveTable support
DOS
upgrade YES
NO upgrade
WIN 3.1
upgrade YES
NO upgrade
WIN 95
upgrade YES
NO NO
WIN NT
upgrade YES
NO ?
OS/2
upgrade YES
NO NO
AIX
upgrade YES
NO NO
General Midi
upgrade YES
NO YES
Roland MPU-401
DOS
YES YES
NO YES
WIN 3.1
YES YES
NO YES
WIN 95
YES YES
NO NO
WIN NT
YES YES
NO ?
OS/2
YES YES
NO NO
AIX
YES YES
NO NO
SOFTWARE COMPATIBILITY:
DOS GAMES - Out of the box play no problem
DOOM
YES YES
Problems Problems
HERETIC
YES YES
NO ?
DESCENT
YES YES
NO ?
Game with WaveTable YES
YES NO
sometimes
AGENCY APPROVALS - YES means can sell and ship to those countries
World Wide Approvals YES
YES NO
NO
CE-MARK (Europe,UK..) YES
YES NO
NO
FCC-B (USA)
YES YES
YES YES
CSA (Canadian)
YES YES
?
?
VCCI (JAPAN)
YES YES
NO NO
Also see Appendix F for a full listing of PS/2 Sound Cards.
Q) 3.13 Can I run both a
SoundBlaster and the Audiovation/A?
[Jacques@cpmc.ucl.ac.be (Alain Jacques)]
Yes, it works ... after patching the ADF file. What's conflicting is
the addresses of the game port, defined in both ADF's as fixed resources
and therefore the conflict cannot be managed by the POS itself. If you
choose to keep the game port on the SBPro, just as I did, your Audiovation
ADF file @8FD6.ADF should look like the end of this message.
If you have difficulties, don't hesitate to email to me. BTW,
there are new Audiovation Windows drivers on IBM PC Co BBS (i.e. version
2.1 = av211.dsk, av212.dsk, av213.dsk, av21util.dsk).
See Appendix C for Program listing.
Q) 3.14 Can I fake
a keyboard so my computer will boot without it?
Well unlike the standard IBMs and clones, PS/2s perform a keyboard test
at boot. Some have the option of canceling the keyboard test through
a setting in the reference disk. If you do not have this option you
must leave the keyboard attached (or if you have the engineering experience
doctor up a small board that sends the proper reponses to the test back
and can plug into the keyboard port :)).
Or use this device below reported by Louis Ohland <ohlandl@charter.net>
Guardian for PS/2 -- APKME
The Guardian plugs into the keyboard port and mouse port, and appears
to the computer as its physical keyboard and mouse. Since Guardian behaves
like a keyboard and mouse, the computer will boot and run flawlessly.
Guardian is powered by the computer and provides ports so you can "hot"
connect a keyboard and mouse anytime to operate the system. Using Guardian
with PCs connected to a mechanical A/B switch will eliminate PC booting
and keyboard locking problems.
With Guardian in line, you can hot connect or disconnect MasterConsole
cable or a physical keyboard and mouse. For mission-critical servers connected
to Raritan's MasterConsole, Guardian provides a "fail-safe" service port.
|