PS/2 FAQ, Section 3

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  . 
         Flux TNTTTNTTTTTNTNTN 11 transitions 
MFM:     Bit  . 
         Flux TNNTNNNTNTNNTNTN 6 transitions (50% of FM) 
RLL 2,7: Bit  . 
         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 Bernie>] 


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 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 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...... 

INT 13h, function 1Ah 

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 as follows: 
>>>>>> Here comes the good part..... 


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

> You, of course got different numbers... write em down... 

; ^^^^ 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]

>>>>>> Don't get antsy! just look, the -u means show next 
>>>>>> page... NOW: see the lines to be changed above? 

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! 

------------------------- 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 <> 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

   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 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 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: (Eric J. Fluhr) and (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. 

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. 

CARD ->                 ChipChat-16  ChipChat-32     Piper-16/32  Reply 

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 

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 

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?

[ (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 <> 

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. 

Content created and/or collected by:
Louis F. Ohland, Peter H. Wendt, David L. Beem, William R. Walsh, Tatsuo Sunagawa, Tomáš Slavotínek, Jim Shorney, Tim N. Clarke, Kevin Bowling, and many others.

Ardent Tool of Capitalism is maintained by Tomáš Slavotínek.
Last update: 08 May 2024 - Changelog | About | Legal & Contact