Saturday, March 1, 2014

Evolution of 8088 PCs

From the first IBM PCs, there was a steady stream of innovation and improvements to PC compatible computers using an 8088 CPU.  However, there were also some bumps along the way.  In this entry, I will try to identify many of the positive and negative features of the main 8088 members of the IBM PC and Tandy 1000 families.

1.  IBM PC Model 5150 First Version

IBM PC BIOS 1st & 2nd Revision - The original PC BIOS was the byword for compatibility.  

Chassis - two full height drive bays, unique system board mounting, 13" maximum expansion board length, PC cone speaker.  

System Board & Expansion Cards - Use of off the shelf components or TTL logic chips, configuration by two rows of dipswitches.

Power Supply - The form factor would be the same for the IBM PC/XT and this established a standard "AT Power Connector", passthrough port for monochrome monitor

Expansion Slots - The 8-bit PC or XT slot was introduced.  Five slots were better than most other home computers at the time.  However, the floppy disk controller, the video card and memory cards each took up a slot, so expansion was limited.  

Cassette Interface - Important for saving programs in Cassette BASIC, used in Music Construction Set.  5-pin DIN connector, used TRS-80 cassette cables

Diskette Drive Adapter - Standard equipment, supports all double density drives, 34-pin card edge connector.

Diskette Drive (Single Sided) - Tandon TM100-1s were used in the beginning, supporting 160KB or 180KB per side.  4-pin molex connector used.

System Board Memory - 16-64KB on the motherboard, 16KB minimum, expandable to 544KB via expansion slot memory upgrades, first bank soldered, remaining three banks socketed.

System ROM - 6 x 8KB sockets, five used for BASIC and BIOS.  Empty socket, but requires an adapter for EPROMs.

IBM PC-DOS 1.0 - Included Disk BASIC and Advanced BASIC, loads COMMAND.COM, IBMIO.COM and IBMDOS.COM.  

Asychronous Communications Adapter - 8250B UART serial port, switchable between COM1 and COM2, DB-25 male connector.  Most can work in XT Slot 8.

Printer Adapter - Printer port, 378H (or 278H with modification), DB-25 connector female connector

Game Control Adapter - DA-15 female connector, joystick support (third party), four axes and four buttons.

Monochrome Display and Printer Adapter - DE-9 female display connector, 80-column text, 9x14 character cell, TTL monochrome displays only

IBM PC Display Model 5151 - Display for the above adapter and later Hercules Graphics Card, powered through PC power supply, long persistence phosphor, monochrome green screen, brightness and contrast controls.

Color/Graphics Adapter - CGA, 16 colors selectable, 4-color palettes, 40 & 80 column text mode, composite color output, artifact color, 320x200 and 640x200 graphics modes, RCA composite video jack, light pen support, RF switchbox (third party) support

Math Coprocessor - Unidentified at first, empty 40-pin socket for 8087 upgrade.  

IBM PC Keyboard - 83-key first standard keyboard, Function keys on side, buckling spring technology, 5-pin DIN connector

IBM Graphics Printer Model 5152 - Epson MX-80 clone, parallel printer, dot matrix printer

2.  IBM PC Second Version

IBM PC BIOS 3rd Revision - Fixed bugs, added support for 640KB of memory, bootable option ROMs

IBM PC-DOS 1.1 - Double sided disk drive support, used Tandon TM100-2As.

Double sided disk drives - 320K and 360K per disk supported

System Board Memory - 64KB to 256KB on system board, now expandable to 640KB via expansion slot upgrades

Bootable ROM - Devices can have a boot ROM and the BIOS will allow the device to install its own boot handler, booting directly to a hard drive now possible.  EGA and VGA support possible.

3.  IBM PC/XT Model 5160

System Board - Configuration now only by one bank of dipswitches.  Memory autodetected, tested and counted at bootup.  Faster bootup compared with PC.

Cassette Interface - Eliminated, making Cassette BASIC vestigial for programs that require it

IBM PC Color Display Model 5153 - Official CGA monitor (.31 dot pitch), 16 color support (intensity bit not properly supported on some third party monitors), color #6 brown, 14/13" viewable screen, vertical hold and size controls.  

IBM Expansion Unit Model 5161 - Adds seven more ISA slots, and official method to add hard disk drive to PC (whose power supply was not considered to output sufficient power to supply hard drive requirements)

IBM Graphics Printer Model 2 - Printer capable of supporting all IBM Extended ASCII characters.  Earlier printer did not.

Expansion Slots - Standard 8 expansion slots, distance between slots standardized for what would become known as ISA slots.  Slot 8 is on custom bus and only works with special cards (like the Async card).  Only 6 slots can support full length cards due to the case.  

Revised Expansion Card Brackets - Early PC brackets are black and color and are wider than later silver brackets.  This can be a problem using cards side by side in later systems.

Power Supply - 130W, sufficient to support a hard drive and more

Fixed Disk Adapter - Built around Xebec chips, standardized XT hard drive controllers, including XT-IDE drives, supports two MFM drives, slow 6:1 interleave.    

Fixed Disk - 10MB Seagate ST-412, Cylinder/Head/Sector addressing, MFM, Full Height.

System Board Memory - Same four banks as IBM PC, but all four banks socketed

IBM PC-DOS 2.0 - 9 sector floppy disks supported for 180KB per side or 360KB per disk, device driver support, revised file handling system, hard disk support (15MB maximum)

ROM Sockets - Support Standard 32KB EPROMS for 64KB ROM (only 40KB used on XT first BIOS)

Secret Memory Expansion - By adding a 74LS158 chip to socket U84, jumpering E2 and replacing the 64Kx1 RAM chips in banks 0 and 1 with 256Kx1 chips, you can have 640KB on the motherboard.  Later XTs come with the mod.

4.  IBM PC Portable

Composite Monochrome Monitor - 5" amber screen, composite connection to CGA card

Half-Height Diskette Drive - Two supported

Portability - For 1983, this meant a sturdy handle, a slightly modified keyboard that could attach to the chassis, and a power plug.  System weighed almost 40 pounds.  Only two full length cards supported

5.  IBM PCjr. Model 4860

Cartridge Slots - For games and software, up to 64KB for each cartridge, two supported.  Also used for Cartridge BASIC.  Only appears on PCjr. and JX.  

Sidecar Expansion Bus - Attach expansion boards without having to open computer, including parallel port and memory expansions.  It lengthens the physical footprint of the system.

Cordless Keyboard - IR keyboard powered by 4xAA batteries and allowing for cordless operation 20-feet away, line of sight must be maintained, keyboard cord optional.  

Internal Modem - 300 baud Novation non-Hayes compatible modem.  Special internal slot connector, standard RJ-45 port.

System Board Memory - 64KB on motherboard, 64KB via internal expansion card, up to 736KB total via sidecar.  System designed for 128KB, program must support extra RAM (Flight Simulator 2.0) or DOS must have a device driver to load more RAM

Enhanced CGA - Adds 160x200x16, 320x200x16 and 640x200x4 modes, but only BIOS level CGA compatibility

IBM PCjr. 3-Voice Sound - 3 square wave channels plus noise, 11-bit frequency selection, 4-bit volume control per channel, periodic and white noise selectable at four frequencies.  Requires external speaker of some kind

System Configuration - Totally jumperless and dipswitchless, internal expansion cards and external IBM expansions automatically detected, memory detected (up to 640KB) and configured via software

Diskette Drive Controller - Only one drive supported, accessed at different ports, uses 34-pin header

Proprietary Expansion - External ports use unique BERG connectors.  

Cassette Interface - Last PC compatible system to include a cassette interface.  Only official IBM cassette cable is for the PCjr.

TV Connector - Only official IBM RF switchbox is for the PCjr.

Joysticks - Gameport on systemboard, supports two joysticks without a y-adapter.  Only official IBM Joystick of the PC line is for the PCjr.  Joysticks function the same as PC joysticks, just have a different connector.

Serial Port - Includes 8250B Serial Port, official IBM DB-25 adapter available.  Uses COM2 resources, 278H/03I, but BIOS calls it COM1 if internal modem is not installed.

Power & Cooling - 33W power card came first, followed by 45W card.  45W sufficient to power three sidecars.  Only system here able to be run silently without risking overheating the power supply since the fan cools the disk inside the disk drive.  

IBM PCjr. Color Display Model 4863 - Higher dot pitch (.42) than the PC Color Display, but also includes a speaker and uses the PCjr. video connector.

IBM Compact Printer - IBM's official serial printer, uses PCjr. serial connector, can use an adapter for any serial port, low cost thermal printer, surprisingly decent.  

IBM PCjr. Speech Attachment - IBM's implementation of TI's Speak and Spell technology and more. Built in vocabulary.  Capable of recording and playback of digitized sound.  Later emulated by many devices.  

Compatibility - Compatible with most IBM software, but notable exceptions include Microsoft Decathalon, 101 Monochrome Mazes and Microsoft Flight Simulator 1.x.  Usually not so compatible with 3rd party software not written to take the PCjr. into consideration.  

IBM PC-DOS 2.1 - Adds full BASIC support for PCjr's advanced graphics and sound, but requires Cartridge BASIC to work at all.

6.  Tandy 1000 Model 25-1000

Expansion Slots - 3 standard XT slots, but only 10" cards or shorter supported

PCjr. Features - Brought over the Enhanced CGA and 3-Voice sound from the PCjr.

Compatibility Improvements - Unlike the PCjr., the Tandy 1000 could run most PC software that accessed the hardware directly.  

Tandy 1000 Keyboard - 90 keys, including separate cursor keys and F11 and F12 keys, but support for these keys was hit or miss.  

DMA & Memory Upgrades - Upgradeable to 384KB and DMA with one Board, 640KB with a second board.  Full DMA support compared to PCjr (which only allowed DMA for floppy, and available via 3rd party upgrades only)

Printer Port - Built in, but limited and uses card edge connector

Power Supply - 54W, considered adequate for two drives and three expansion cards

Tandy CM-2 High Resolution RGBI Color Monitor - Later known as the CM-10 and CM-11, this was the Tandy equilavent of the IBM PC Color Display, although the dot pitch (.43) is not quite as sharp as IBM's (.31)

Tandy MS-DOS 2.11 - GW-BASIC supports enhanced graphics and sound of the Tandy 1000s, no FDISK to partition hard drive.

7.  Tandy 1000A Model 25-1000A

Coprocessor - Adds 8087 Math Coprocessor Support

286 Express Upgrade - Compatible without special daughter board the plain 1000 requires.

8.  Tandy 1000HD Model 25-1000HD

Fixed Disk Drive - 10MB half-height model and Xebec controller that could use IRQ2.  IRQ5 is standard on XTs, but the Tandy uses it for a vertical retrace interrupt.

DMA & Memory - Came with one board that gave DMA and allowed you to upgrade to 640KB with one board, also supplied a PLUS connector (see below) to add another expansion device like a serial card without taking up another slot.  

Tandy CM-4 RGBI Color Monitor - Low cost RGBI monitor with a large dot pitch (.62).  Not recommended for 640x200 graphics.  

9.  IBM PC/XT Revised

101-Key Keyboard - IBM made Model M keyboards work quite reliably on an XT with 2nd and 3rd BIOS.  On a first BIOS XT or any PC, the odds are much lower that it will work at all.

Improved Drive Support - BIOS support in 2nd and 3rd BIOS for 3.5" double density and 5.25" high density drives, but a third party floppy controller is required for the latter.  

System Board Memory - Supports 640KB on the motherboard without modification.

Mounting Hardware - IBM supplied late XTs in a dual half-height floppy configuration and included mounting hardware to fit them inside a full height bay.  

10.  IBM PC Convertible Model 5140

LCD Display - Simulates something like a 2-color CGA display, but in 320x200 (stretched to double width) can manage four intensities of color.  Also can emulate the MDA.  

Diskette Drives - IBM's introduction of 3.5" double density disk drives.  Would take until the PS/2 for 3.5" disks to fully catch on.  

Keyboard - 78 key keyboard, functions similar to PCjr. keyboard but improved by using IRQ1 for keyboard interrupt and not using CPU to deserialize scancodes.  

Internal Modem - Slot inside for 1200 baud version of PCjr. modem, may or may not be Hayes compatible.

Expansion Bus - XT bus with multiplexed address and data lines.  

Battery Operation - Uses CMOS 8088 CPU, SRAM to save power and allow for battery operation, system can be suspended indefinitely.   

Attachable Printer - Thermal printer, more advanced than PC Compact Printer.

Display Slice - Provides full CGA compatibility to external RGBI monitor.  Connector supports IBM PCjr. Display or IBM PC Convertible Color Display Model 5145.  RCA jack can be used with color composite monitor.  IBM also introduced the 9" IBM PC Convertible Monochrome Display with green phosphor.  

Portability - Although still large and bulky by modern standards, this is a true laptop.

Convertibility - Can remove LCD to place unit underneath standalone monitor.  

11.  Tandy 1000 EX Model 25-1050

Dual Speed CPU - 7.16MHz/4.77MHz, selectable at bootup or via Tandy MS-DOS Mode command.

Slimline - Takes up less desk space and the keyboard is built into the system unit just like an Apple IIc.  (Does not apply to SX) 

Selectable Boot Drive - You could boot to the internal 5.25" floppy drive on an external 3.5" floppy drive 

Expansion Bus - Uses a 62-pin version of the XT expansion bus, cards (called PLUS cards) stack onto each other, but must be short.  (Does not apply to SX)

DMA and RAM Expansion - One PLUS card upgrades system to DMA and allows for 640KB

External Drive Connector - For connecting a second 5.25" floppy drive or a 3.5" floppy drive

Earphone Connector and Volume control - When you want a quiet PC (not on SX)

12.  Tandy 1000 SX Model 25-1051, 1052, 1054

Dual Floppy Drives - 2x360KB Floppy drives on Model 25-1051 and 1054, boot floppy can be selected on bootup.

Expansion Slots - Five expansion slots provided without any need for memory expansion

Memory Expansion - Upgrade from 384KB to 640KB with 8 x 256Kx1 chips

DMA - Included on all machines (optional on EX and HX)

286 Express - Official 286 speed upgrade, 8KB cache that can be disabled, supports 80287 coprocessor.  Software controlled. 8088 still available for programs that will not run on a 286 or on the faster speed

Tandy MS-DOS 3.2 - Supports 3.5" drives, FDISK partitioning, 3 extra 32MB DOS partitions using MLPART (non-standard)

Power Supply - 65W, considered adequate for two drives and five expansion cards

13.  Tandy 1000 HX Model 25-1053 (all the EX features plus) :

Boot Speed and Menu - Nearly instant boot to an optional menu where you can select the boot device (floppy, DOS, Deskmate)

EEPROM - Save settings permanently without dipswitches or jumpers.

DOS-in-ROM - Enough DOS 2.11 is on the system that you will not usually need to insert a DOS disk when loading programs off floppies.  Disabled if a hard drive is installed.  Also supports 3.5" disk drives natively, which regular DOS 2.11 cannot.

Power-in-drive cable - No separate molex or mini-molex connector required.  A headache for wanting to use standard drives.


  1. 9. IBM PC/XT Revised

    Improved Drive Support - BIOS support in 2nd and 3rd BIOS for 3.5" double density and 5.25" high density drives, but a third party floppy controller is required for the latter.

    This sounds like a fairy tale.
    I own a PC/XT with the last BIOS rev (1986), and I was not able to get a 5.25" HD drive running (tested with a "third party" controller Seagate ST-02).
    I had to figure out that I need a floppy controller with an additional BIOS, or I had to use a software like 2M30. Last XT Bios was definitely NOT able to drive High Density Floppy Drives.

  2. Page 25 of will tell you the same, no HD floppy drive support at all for PC/XT (5160)...

  3. Pages 5-23 & 5-24 of the IBM PC/XT Technical Reference Manual, March 1986, specifically include the 1.2MB HD format in its Int 13h routines. However, the code was probably ported over from the IBM AT BIOS and perhaps it was not actually tested in the XT to ensure that it worked. IBM's own diskette drive controller does not support the 500KB transfer rate required for HD drives.