Saturday, November 1, 2014

Vintage IBM PC/XT: The Big Blue Beast Reincarnated

The Big Blue Beast
A custom IBM 5160 PC/XT-486 system - quite possibly the highest-end and most capable PC/XT-based system, ever.


Above: The system as it currently stands

Disclaimer: This is not a stock IBM PC/XT, it is 'hot-rod' edition. It is classified as an XT-486 because it is a vintage build clearly based on an IBM PC/XT 5160 that uses mostly 30+ year old vintage retail components that were originally intended for use with an IBM PC or PC/XT. The IBM and third party components remain intact and largely unmodified (save for the 486 CPU), including the original PC/XT 5160 system board, BIOS and memory, which is the heart and soul of an IBM PC/XT. It is also, by virtue of the 80486 CPU upgrade, a 486-class system.  This project is intended to achieve the most functional, fastest, feature-rich, and application-capable system in aggregate, ever, based on an original PC/XT and PC/XT motherboard   This is not a system for absolute 5150/5160 purists.

Among my many interests and hobbies, I enjoy building PCs and have done so since the early '80's.  I am also keenly interested in vintage computing; it provides a fascinating contrast against the bleeding-edge technology development I do in my present job as a software engineer. It serves to remind me of what was once considered impossible, but has since become possible, too often dismissed and forgotten at the cost of innovation and invention.

I became interested in vintage computers several decades ago when I had a unique and rare opportunity to get a personal tour from an IBM corporate historian of what was then a pair of virtually unknown climate-controlled warehouses in Hawthorne, NY.  In those warehouse neatly stood two of every hardware product that Big Blue
had ever made, including original clocks, tabulating machines, and cash registers (hence the company's original name, CTR Corporation). I heard much of those artifacts have since been donated to various museums. I was able to get my hands on dozens of systems and technologies dating back to the early 1900's - including an IBM 001 single hole manual desktop card punch and early vacuum tube mainframe computers. It was an especially solemn feeling to sit in Herman Hollerith's actual chair and desk - a slice of history few have ever seen up close and in person.

So in the spirit of that history, I share with you this small blog, a tiny sliver, a tribute, and a throwback to the original IBM PC.  What follows is my experience recreating a vintage build on which I've spent a good deal of personal time and effort.  I've painfully reconstructed an IBM PC/XT model 5160, both hardware and software, to the pinnacle state of its day...and slightly beyond. I named the build - The Big Blue Beast.

 What makes this build uniqie:

  • Features an extremely rare Intel InBoard/386 PC accelerator adapter from 1986
  • The Intel Inboard has been upgraded using a Cyrix CX486DRX2-20/40GP 40MHz 133-pin compatible, clock-doubled CPU
  • The Intel InBoard has an 80387 math co-processor (enabled)
  • Uses an ultra-fast bootable, solid-state, swappable compact flash (and the XT/IDE adapter is Slot 8 compatible!)
  • Has twin half-height, front (bay) mounted, compact flash drives for super-easy access and swapping of CF cards 
  • Runs multiple operating systems including PC DOS 2000, Windows 3.1 - just pop in a different CF card 
  • The Intel InBoard/386 has 1MB of on-board memory with a 4MB daughter card used for extended memory 
  • Implements a 1MB virtual RAM disk
  • Running PC/DOS 2000 and full Microsoft Windows 3.1 with Internet Explorer 3.02a and Java  - on a PC/XT! 
  • Has 8MB of expanded memory via an Intel AboveBoard Plus 8, which is fully compatible with the Intel InBoard/386
  • Has a rare PC/XT (5/86) BIOS that natively supports the IBM Model-M 101-key classic keyboard
  • Uses an auto-sensing ATi 38800-1 Graphics Ultra Mach8 SVGA adapter with 1.5MB of video memory 
  • Supports a 20" ViewSonic flat panel display at 1024x768x256 SVGA resolution in Windows
  • Has a Backpack CD-ROM with audio
  • Has a high-density floppy drive controller with native on-board BIOS that supports bootable 1.44/1.2MB drives
  • Has full internet & web connectivity via a 3Com Ethernet III 3C509B RJ45 Ethernet Adapter and Trumpet WinSock
  • Modem connectivity via an US Robotics 56K external modem
  • Has a rare Sound Blaster CT1350B 8-bit audio card with an option to add CMS support
  • Has a serial Microsoft mouse (uncommon for PC/XTs, mice didn't get popular until Windows 3.x came along)
  • Uses a BOCA 9582 multi-function adapter for serial and parallel ports to conserve slots
  • Has a classic Kraft 2-button Joystick driven off of the SoundBlaster CT1350B
  • Has a 100MB hot-swap cartridge Iomega Zip drive
  • 80mm blue LED 30CFM fan mounted inside the front chassis to provide additional air flow for the 20/40MHz 80486
  • Bootable half-height, high-density 3.5" 1.44 and 5.25: /1.2MB floppy drives with a dual-drive bay mount 
  • All in a single, classic PC/XT chassis - no 5161 expansion chassis required

Software Installed and Fully Operational
(legit licenses  - including full doc for most)

  • Primary Base OS: IBM PC DOS 2000 (7.1)
  • Memory Optimization: Quarterdeck QRAM
  • Graphical Desktop 1: Windows 1.3 
  • Graphical Desktop 2: Windows 2.3 
  • Graphical Desktop 3: Windows 3.00(a) for Intel InBoard/386 PC (Intel Edition)
    Graphical Desktop 4: Windows 3.1
  • Graphical Desktop 5: DesqView 2.0 
  • Graphical Desktop 6: OpenGEM
  • Graphical Desktop over Windows 3.1: Calmira II (Windows 95 UI clone)
  • Plain Text Editor (DOS): Mansfield KEDIT Version 5 
  • File Manager: IBM File Command 
  • Word Processor #1/DOS:  WordPerfect 5.1 for DOS 
  • Word Processor #2/DOS: Microsoft Word for DOS Version 4 
  • Word Processor #3/Windows: Microsoft Word 6 (Microsoft Office Version 4.2) 
  • Photo Editor: Adobe Photoshop for Windows 2.5 (1st version for Windows)
  • Accounting 1: QuickBooks Version 1.0
  • Accounting 2/Windows:  Peachtree Accounting for Windows 
  • Accounting 3/DOS:  One Write Plus - Money Matters
  • Page Layout 1 : Frame Framemaker 4 (before Adobe bought it) 
  • Page Layout 2:  Aldus PageMaker  (before Adobe bought it) 
  • Spreadsheet #1/DOS:  Lotus 123 Version 2.4 
  • Spreadsheet #2/DOS: VisiCalc
  • Spreadsheet #3/Windows: Microsoft Excel for Version 5 (Microsoft Office Version 4.2) 
  • Spreadsheet #4/Windows: Lotus 123 Version 5 for Windows 3.1 
  • Contact Manager #1: Contact Master 
  • Contact Manager #2: ACT!
  • Graphics #1/DOS: Harvard Graphics 2.03 
  • Graphics #2/Windows: Microsoft PowerPoint for Windows (Microsoft Office Version 4.2)
  • Graphics #3/Windows: Microsoft Publisher
  • Communications (Dial-up): QMODEM and ProComm Plus 
  • Database: Ashton-Tate dBase III Plus 
  • Program Organizer (DOS): IBM Fixed Disk Organizer
  • Project Management (Win): Microsoft Project
  • Document Reader (DOS): Acrobat 1.0 
  • High-End Document Composer 1: IBM Script/PC
  • High-End Document Composer 1: DWSCRIPT
  • Game (DOS):  Monopoly
  • Game (DOS):  PacMan
  • Game (DOS):  Jeopardy
  • Game (DOS):  Space Invaders
  • Game (DOS):  Cyborgirl Pinball
  • Game (WIN): Wheel of Fortune 
  • MIDI Software: Voyetra Sequencer Plus Pro 
  • CD Music Player: CDP (CDPlayer)
  • MP3 Music Player: WinPlay3 v2.3b5
  • Video Player: Xing MPEG Player
  • Video: Microsoft Video for Windows 1.1
  • Internet Browser/DOS:  Arachne 
  • Internet Browsers/Windows): Internet Explorer 3.0.3, Internet Explorer 5.0 
  • Internet TCP/IP Stack/DOS): mTCP  
  • Internet TCP/IP Stack/Windows: Trumpet Winsock with a DOS shim
  • FTP Client: WsFTP 
  • Remote Control/DOS and Windows : Stac ReachOut V7 (host and client over TCP/IP) 
  • Programming/DOS: Turbo Pascal 6.0 with Objects
  • Programming/Windows: Turbo Pascal for Windows
  • Flowcharting: TopDown Flowcharter
  • Cash Register (DOS):  Point of Sale Cash Register 
  • Productivity/DOS: Family Tree Maker
  • Productivity/DOS: KnowledgePoint Policies Now
  • Fonts: IBM 4019/4029 Printer Soft Fonts

The Complete Back Story (long)

I remember that sunny May, 1983 afternoon vividly; it was the day on which I purchased my first IBM Personal Computer. It was an IBM 5160 PC/XT with a whopping 10MB hard drive, an IBM monochrome display, and an IBM 4101-001 dot matrix ProPrinter. It cost me just north of $3,000 from an IBM retail store in Albany, NY, and that was with an employee discount. I believe the list price of an IBM PC/XT back in 1983, with a color monitor, and printer, was somewhere around $8,000 with a typical retail price closer to $5,000.

In the ensuing years I enhanced it, component-by-component, plugging integrated circuit chips (ICs) into green printed circuit boards (PCBs), setting jumpers, and wrestling with memory address conflicts and hardware interrupts (IRQs). Remember, PCs back then didn't have visual CMOS-based BIOS setup utilities like modern PCs do today - you had to configure hardware components manually using rocker switches on the motherboard. This quickly became an expensive and time-consuming endeavor that would never end. I've been building new systems ever since, so I guess that makes me a system builder going on more than 32 years and counting.

Building and modifying PCs became one of my life-long loves. Prior to that I had a company-issued IBM PC-1 5150 in the office. At home I treasured my precious IBM 5160 PC/XT, and continually enhanced it over the years.

Just about everything I ever needed to fundamentally learn about personal computing I learned on that machine. I was no novice at computers, even back in the early 80's when the IBM PC emerged.  My prior IBM training and work with Assembler/370, PL/1, APL and JCL mainframe programming in an MVS mainframe operating system development lab provided a solid foundation.

I had even earlier experiences with nine-edge punch cards, punch card sorters, readers, interpreters, as well as a 70's era AVL microcomputer on which I cut my teeth while working as a IBM Co-Op student. I had used a CP/M-driven AVL Eagle, which was about the same size as the original IBM PC, to sequence 2 dozen Kodak slide projectors to soundtracks. The first Eagle computers were produced by Audio Visual Labs (AVL), a company founded by Chuck Kappenman in New Jersey in the early 1970s to produce proprietary large-format multi-image equipment. Those computer sequenced projectors driven by the Eagle were used to create massive 40 foot long by 20 foot high rear-projection multimedia extravaganzas at IBM.  These were stunning, heart-stopping Hollywood-class analog multimedia productions for major corporate events, hosting thousands of employees, years before the emergence mainstream computer-based multimedia as we know it today, became possible.

However, as life progressed, things changed. I was horrified when I discovered that my beloved PC/XT had been given away in a garage sale before I could retrieve it. It didn’t matter that I had customized countless systems since then - you never forget your first love, as the saying goes.

Thus you now know why, decades hence, I decided to resurrect the original Blue Beast – only better. Call it nostalgia, call it retribution, diagnose it as you will, but alongside my modern, massive Intel  i7-3930 six-core behemoth, sits the Big Blue Beast, a reconstructed IBM PC/XT Model 5160 - on steroids.

And so the quest began. I started by obtaining two marginal IBM 5160’s PC/XTs that needed quite a bit of TLC. I tossed the dead and useless circuit cards and components, and, thanks to eBay, and the good folks on the Vintage Computer Forum, found many near-extinct vintage parts from practically every corner of the planet. What follows is where the Big Blue Beast reconstruction project is to date, and a few hints to where it might be headed. Like others before me, I wanted to retain the original look and feel as best as I could, so I upgraded using mostly vintage IBM components and third-party products from that era, with the exception of a few modern components just too juicy to pass up. I feel that I've accomplished that, but rather than simply reconstruct a basic unit, my goal was to build the most functional, useful PC/XT system ever.

The litmus test for being able to claim and classify this as an advanced IBM 5160 PC/XT was minimally the following: 
  • The build must retain an original IBM motherboard and case
  • The CPU, regardless of make or speed, must use the 8086 instruction set
  • The vast majority of the components used must  be of the vintage era (circa 80's)

This build isn't just a lump of hardware; it can run all of the software from back in the day, and a great many applications that no PC/XT  could dream of running well or at all thanks to the combination of modern CF technology combined with rare top of the line vintage components. In fact, I'd challenge anyone, anywhere, that can best this system based on an original 5160 PC/XT motherboard.  That makes this system priceless.

I've attached photos and will post more as it continues to evolve; some photos have been taken them between installing components, some replaced by better components since, so it is every changing. What follows is snapshot in time.

The Blue Beast Reconstruction Project - The Gory Details

System Case: Of course the foundation begins with a genuine IBM PC/XT 5160 case. Mint cases are difficult to find, but this one cleaned up like new with a little bit of careful effort. I had to empty the chassis completely to properly refurbish it, but it was worth the effort to clean out all of the dust bunnies and polish it up like new.

Power Supply: The system has an original PC/XT 130 watt PSU with the standard Molex connectors. The power supply is extremely quiet with sufficient power to run a fully packed system. Some of these PSUs can be very noisy - this one is whisper quiet.

Motherboard: I obtained an excellent condition original PC/XT system motherboard to replace the dead one that came with the original unit. The replacement is a late model 256-640K version. Some 5160's with 256-512KB motherboards have been jury-rigged to get 640K onto them, but that often causes other problems when using other components.    This was a big deal because the original PCs came with only 16KB, before progressing to 512KB, and then finally to a native 640KB (maximum) on the main board. Anything less than 640KB on the motherboard required the addition of an external memory adapter to increase the base addressable RAM up to its full 640K limit.  This was typically done using an expensive add-on memory expansion board, most commonly an AST Research SixPakPlus or equivalent, and consumed one of the precious 7 available expansion slots in a PC/XT. There are actually 8 narrow expansion slots in a PC/XT, but the last one is a half-length slot closest to the CPU which is useless for all practical purposes, save for a few very special add in cards.  I've conquered the use of Slot 8 in this build with a special version of an XT-IDE compact flash adapter. Also, being a late model PC/XT, it has the latest revision BIOS (May/1986) that added native support for the IBM 101-key extended keyboard. This was also a big deal because it allowed the use of a full 101-key keyboard over the original 83-key version, and especially permitted the use of the legendary IBM Model-M keyboard which earlier PC and PC/XT BIOS versions could not natively support.

CPU Upgrade #1: Next, I upgraded the original 8088 CPU to an 80386 using an extremely rare Intel InBoard 386/PC accelerator board that came with the required cable and manual. This CPU accelerator was widely available in 1986 and specifically built for the IBM PC; it is the most controversial part of this build. I contend that because the build maintains the original 5160 motherboard that it remains essentially an IBM PC/XT 5160, albeit, a unique 386/486-class version. The original list price for this adapter was around $1595 in the 1980s. The Intel InBoard 386/PC takes this machine to true beast status - a PC/XT able to run 80386 programs and break the 640K memory barrier for applications that support the LIM/EMS memory specification, including the retail edition of Microsoft Windows 3.1 which Microsoft, Intel, and Wikipedia all assert isn't possible; this build proved them all factually wrong using OEM parts from that era. The Inboard accelerator came with 1MB of on-board RAM that took the place of the main board RAM and has an additional 4MB memory expansion daughter card that provides additional extended or expanded memory and an Intel 80387 math co-processor; I am using the additional InBoard/386 RAM as extended memory.

Even better, the Inboard accelerator is designed to co-exist with the Intel AboveBoard Plus I am also using that provides an additional 8MB of expanded RAM (expandable to 14MB) in this build. To install the Intel Inboard/386 I had to first pull the 8088 CPU and the 8087 math co-processor chips, install the Intel Inboard/PC adapter, and plug a ribbon cable from the InBoard/386 into the original 8088 CPU socket. Then I held my breath. The upgrade made the system wicked fast (and I mean, shocking fast!)  Locating the drivers for an Intel InBoard 386/PC was a major challenge, but I found 'em after hours of searching. I installed a retail version of Microsoft Windows 3.1 without difficulty running in standard mode.  The only limitations of an Intel InBoard/386 PC is that is when running Windows 3.x in protected mode the keyboard locks up, but everything else, including the mouse works.  The only time I run it in protected mode is when running Photoshop 2.5 for Windows which needs protected mode memory and doesn't need the keyboard.

Other than the built in fan in original power supply, no other cooling was usually needed. However, the Intel Inboard/386 adds quite a bit of heat inside a closed case. To deal with that issue I installed an 80mm blue LED 30CFM cooler and mounted it inside the front chassis to provide additional air flow for the Intel 80386/80387.  The middle expansion slots are all short adapters that left ample room for this 3" square fan. The added feature are the blue LED fan lights which make the front 5160 case light up blue - quite appropriate for the Big Blue Beast!

CPU Upgrade #2 (Current): I found Cyrix CX486DRX2-20/40GP 40MHz clock-doubled CPU, which is a 133-pin compatible upgrade for the original 80386DX that came installed on the Intel InBoard accelerator.  The Cyrix is compatible with the base InBoard and adding it didn't result in any OS or application instability or weirdness, which was a great relief. It was a direct CPU replacement and once installed, resulted in very nice performance boost making it nearly equivalent to a PS/2 Model 80 and a Dell i486-33.  It has only a 1K cache compared to an 8K cache on something like an 80486DLC, but that would have required I replace an oscillator on the InBoard which I'm not ready to risk and not sure if it would result in something as stable as I've gotten with the Cyrix CX486DRX2, which was designed for such an upgrade.  I did have to install the Cyrix DOS and Windows software and turn on pipelining to fully unleash the CPU, but the Cyrix configuration utility made that a snap.

An interesting detail - I had previously installed an **Evercool HD-AR-RBK HDD Cooling Box** in the extra drive bay that that was originally used to house a traditional hard drive. The Evercool fits  perfectly into a PC 5150/5160 full-height drive bay.  I ended up removing the Evercool in favor of putting twin half-height CF drives in the front bay which makes for super-easy access and swapping of CF cards. But the Evercool HD-AR-RBK HDD Cooling Box was rather nifty and if I ever end up getting a 5161 expansion chassis I might put the front-mount CF-drives in the 5161 and put the Evervcool back in that bay for extra cooling.

Hard Drives: This is another one of the things that make this PC/XT a rockin’ build. The original IBM PC/XT 5160’s came with a whopping 10MB MFM or RLL hard drive. If you had a 20MB hard drive, let alone a 40MB HDD or (gasp!) a SCSI HDD, you were geek royalty back in the day. I've installed a custom XT-IDE Rev 2.8 CF 8-bit ISA adapter that accepts IDE compact flash (CF) cards. The adapter accepts interchangeable CF cards and can act as the primary boot drive or as a slave drive. I’ve made it the primary boot drive. The IDE adapter also supports a second CF drive so I’ve also added a second 1GB CF Adapter as a slave driven off the same cable and also picked up a front bay mount for easy access to CF card. Ponder that for a moment - removable, large, solid state hard drives (up to 2MB partitions for each under DOS) in a PC/XT!  If I can get FDISK32 and FORMAT32 from IBM PCDOS 2000 7.1.0 working correctly I can enable FAT32 support and format up to 32MB CF drives - more than overkill but it would be fun to see. 

Even more astounding is I have a special version of the XT-IDE that works in slot 8 of the PC/XT. It has an additional chip on the backside of the PCB that permits it to be installed in the otherwise-useless half-length expansion slot 8, freeing up yet another expansion slot for additional adapters. This is big deal; other than a 3270 emulator and a few other obscure adapters, few adapters work in Slot 8.  This helped avoid the need for an IBM 5161 Expansion Chassis in a fully maxed-out system. If this makes you brim with excitement then you are definitely a true geek.

What about SCSI? I have a SCSI adapter and considered adding it, but with the CF drives there is no need for a fixed SCSI hard drive nor most other removable SCSI media. Possibly the only benefit of adding one might be to support an internal CD drive instead of the external backpack CD drive, but again, the value of installing it is questionable. I chose to keep the external backpack CD. If I ever pick up a 5161 Expansion unit I might include it in the build sometime down the road.

Display and Display Adapter: This is yet another item that makes this system more unique than most. I trashed the brittle IBM Color Graphics Adapter (CGA) card that came with the original system and replaced it with an auto-sensing, ATi 38800-1 Graphics Ultra Mach8 SVGA adapter with 1.5MB of video memory. It has no switches or jumpers to set and provides me with 1024x767x256 resolution when running Windows 3.1 (720x400 under DOS). Maybe some of us with dual GTX 990's in SLI won't think that a big deal, but it was a very big deal back then - the equivalent of having dual GTX cards. I connected my modern 20" Viewsonic Flat Panel to the VGA port just to see if I would work, and it worked like a champ at fairly high resolution and color – simply awesome! Windows 3.1 and other programs look mighty crisp!

Mouse: A mouse? With a PC/XT? Back in the early 80's you’d rarely find a PC with a mouse. Mice didn't become popular until Windows emerged later. A few programs provided rudimentary support for mice, such as WordPerfect 5.1, but these were not common in the lab early on. I noticed that the ATi Graphics Ultra Mach 8 ISA adapter had an external port for a bus mouse, so tried it out with WordPerfect 5.1 and voila, a live mouse on a PC/XT! It’s was only a 200dpi mouse, so I've  since upgraded to a Microsoft serial mouse on COM1.

Additional (RAM) Memory Expansion: I was able to find an unopened Intel AboveBoard Plus 8 memory expansion adapter with 8MB resident on the board.  The AboveBoard  is expandable to 14MB with a daughter card. I am using it as expanded memory. Installing it required setting a specific 64K hexadecimal upper memory block that didn't conflict with other installed components. The Above Board also requires a special null-bridge chip to make it work with a PC/XT bus, so most of the ones available on eBay are useless without that chip as it didn't come pre-installed on the board.. Luckily this board came with that special chip along with original driver disk and manual.  Originally, this baby cost $1500 retail and was far out of reach for most in a 1980's economy; I  paid all of $8 for this one, new in its original shrink wrap, on eBay. If I ever find the memory daughter card to take the board to its full 14MB I'll add it, but watching and waiting the full 8MB memory count up during a cold boot takes about 3 minutes (though it takes about 1 minute to count up on a warm boot).

I am using it to provide expanded memory (EMS) which has several good uses, including RamDisks, print buffers and is also used by some multi-tasking/windowing programs such as Desqview, providing additional memory for running multiple apps.  If you understand the different between expanded and extended memory, UMB, LIM EMS, EEMS and XMA, you are a kindred spirit.

Floppy Drives: I've acquired a rare high-density Mini-Micro 8-bit high density floppy-drive controller adapter that supports a half-height 3.5” 1.44MB bootable floppy drive and a high density 1.2MB 5.25" floppy drive. Again, this is a feat on an IBM PC/XT; high density floppy drives were not originally supported in PCs. The original IBM and most third-party floppy disk drive (FDD) controllers didn’t support them. Supporting a bootable one requires a rare 8-bit  controller with an on-board BIOS that supports high density disk drives. Finding one of these adapters with an on-board BIOS was always difficult ; nearly 30 years later it seemed nearly impossible. I hunted long and hard and finally found the Mini-Micro, I had tried using a TSR to make a high density drive work with a multi-I/O adapter, but that creates several problems which include the inability to boot from the TSR-driven drive and install operating systems and programs that come only on high-density disks. Many apps insist being installed from the A: drive. Besides that, TSRs didn't like my set-up due to the Intel Inboard/386 BIOS that takes over the boot process after the original PC/XT BIOS initially kicks in. Further complicating things, the AT version of the TSR didn't like either the XT or Intel InBoard/386 BIOS - so much for considering a TSR-based solution and unnecessary with a native FDD high-density BIOS.

One of the challenges with PCs is that the drive bays didn't easily support stacked half-height drives. Some late model units came with half-height drives with special mounting brackets.  There was, at one time, a rare dual drive mounting kit which is now extinct. I was fortunate to locate some custom dual drive mounting plates that were very nicely machined. Most people give up and jury-rig mounts that are not very stable nor very attractive.  The original machines I started had home-made brackets that looked sloppy and resulted in misaligned drive bezels.  It is really nice to have found these mounting plates to do the build properly.

External 1.44MB 3.5” Floppy Drive: I am also using a Microsolutions Backpack 1.44MB external floppy drive which is driven off of a parallel port. The drive is blazing fast with the exception that these external drives are not bootable. Having one is a boon  even with the internal high-density internal drives; it makes it convenient to easily copy disks without having to continually swap floppies using a single drive.

External Compact Disk Drive: Microsolutions backpack drives can be daisy-chained, so I picked up a Microsolutions 166700 8X Backpack External CD-ROM drive with audio playback support. It reads and plays music CDs as expected and software off of CD installs in a snap.

Hot-Swap Removable Storage: I have Zip drives on other systems from different eras, so it was nice to find a brand new Iomega Zip100 Parallel drive for a few bucks on eBay. I simply daisy chained the zip drive off the last Backpack drives and installed the DOS ASPI drivers. It is more convenient to hot swap 100MB zip cartridges between machines when transferring programs between them. Back around 1983, Iomega released a removable storage cartridge device called a Bernoulli Box which was considered a luxury, and a rather costly add-on. The Bernoulli Box was rendered obsolete by the Zip drive.  Later on, Jaz drives succeeded the Zip, though Zip drives became the most popular of the three. Short of having USB support for a PC/XT class machine, which would require a custom-built 8-bit ISA adapter (not impossible, but would have to be done by someone who is an EE), the Zip drive is the next best thing.

Sound Card: Sound Blaster audio adapters were hands-down, the premier audio adapters of choice when users began to add audio to personal computers. I was able to score a rare Creative Labs Sound Blaster CT1350B 8-bit adapter which was the king of those adapters in that era. That particular edition of the SoundBlaster adapter has some open chip slots that can be optionally populated with CMS chips ripped from and older Sound Blaster 1 or 1.5 adapter which had them prior to 2.0, but I not yet sure if it is worth the effort unless I start using some of the games that could benefit from the upgrade. 

Keyboard: Given the late model system BIOS on the motherboard, I was able to obtain and install a classic IBM Model-M 191401 with a 5-pin DIN connector. I initially made the mistake of trying to use a PS/2 to DIN adapter and learned that I just needed to get a full PS/2 5-pin DIN keyboard cable that was readily available on eBay to make the keyboard work with a PC/XT. In my opinion, the IBM Model-M keyboard (pictured) is the best mechanical keyboard ever made, hands-down - save for maybe the highest-end Cherry-enabled models. I smiled when I noticed a recent Maximum PC magazine article that agreed, a fact some of us have known for many years. IBM Model-M keyboards are readily available on eBay and still work with modern systems, but prices for good ones have been rising of late ever since Maximum PC let the cat out of the bag.  You have to be careful to make sure all of the original key caps are present. I still use an IBM Model-M keyboard with a PS/2 cable on my monster i7-3930 system as well as on this PC/XT.

Parallel and Serial Ports: To conserve expansion slots I’ve installed an 8-bit BOCA High Speed I/O Interface Adapter Card, 9582 multifunction expansion adapter. This saves an entire expansion slot for other expansion adapters and it is a half-length adapter, allowing it to be installed in a half slot leaving a long slot available for special adapters such as memory expansion boards and accelerators.

Joystick: Any respectable retro PC needs a joystick (or two). There are many models out there, but I opted for a classic Kraft 2-button Joystick in nearly new condition. I plan to add a 2nd joystick to support dual players, so I added a DB15 game port switch and splitter that can toggle between one or two player operation. The joystick is connected and driven off of the SoundBlaster adapter.

Printers: I have an IBM/Lexmark 4029 Parallel Laser Printer – a true classic. It didn't print very well until I cleaned it up, replaced the toner, replaced the rubber paper take up wheel, and let the fuser heat up for a while and run a few dozen pages through it, but it now works and prints like new. I use it mostly in PPDS mode and have all eight IBM PPDS Laser Printer Font Cards in my collection. I could install the scalable postscript feature fonts for it but it only supports Postscript Level 1 which would require documents to be distilled to PDF before printing.

Modem: Finally, there isn’t anything like the sound of a screechy/beepy modem connecting to the Internet, especially in the pre-web internet. If you can speak TCP/IP and Telnet or understand the joys of IP tunneling and BBSes, then you are pretty hard core. I have an external US Robotics 56K modem. I also have an internal US Robotics 56K modem that works, but have no more available expansion slots unless I find an 5161 expansion unit.  I found a copy of QMODEM which was my favorite communications program for many years. And yes, there are still some dial-up BBSs in service. I also have AOL and recently discovered that my original AOL account is still intact - You've Got Mail!

Internet Browsing via IP:  I was able to achieve full internet and web connectivity using a 3COM Ethernet III 3C509B RJ45 network adapter. I needed a matching packet driver for the 3C509B, but the regular drivers were for PC/AT systems.  Luckily I found a working DOS packet driver that works with a PC/XT.  The packet driver loaded fine, but due to the adapter's default IRQ setting (IRQ10), it conflicted with the XT-IDE CF adapter, hanging the CF drive after the NIC's packet driver would start- ugg!  With a bit more digging I found the configuration utility for the 3CX series 3COM adapters (3C5X9CFG.EXE) and it provided an easy to use interface to pick from a variety of available IRQs and I/O ports.  After that I was able to load the packet driver without any conflicts.

To get TCP/IP enabled for DOS: I installed mTCP, and with a few AUTOEXEC.BAT mods I was able to start DHCP and get an IP address assigned for use with DOS.  I was then able to ping other Windows  systems on my network and was also able to install, configure and connect to the web with the Arachne CSS-enabled graphical web browser and navigate to a variety of current web sites.  Arachne has a built-in eMail client.  I was also able to configure both inbound and outbound email service via Arachne.  mTCP comes with a variety of other utilities including Telnet, FTP client and host, an IRC client and more.

To get TCP/IP enabled for Windows 3.1:  Since I already had a working Ethernet adapter and a matching packet driver, I downloaded and copied TRUMPET Winsock to my C: drive, added a PATH statement for it in my AUTOEXEC.BAT, and then added WINPKT.COM 0x60 following the packet driver.  This is what is called adding a 'shim'  between Windows and DOS which essentially allows Windows to communicate with the Ethernet adapter through DOS. In Windows 3.1 I simply added TCPMAN.EXE to my Startup group, ran Setup on TCPMAN then rebooted - and voila - full Windows 3.1 internet (TCP/IP) connectivity without ever needing all of the overhead of Windows 3.11 Workgroup for Windows.

Before I had the 3COM Ethernet III 3C509B RJ45 network adapter I had set up an alternate, no-slot Ethernet solution using an XIRCOM PE3-10BT RJ45 Parallel Port Ethernet adapter. This tiny device doesn't take up an expansion slot, which is great for those of you that are out of expansion slots or can't find a decent network interface adapter or want quick and easy net connectivity. The XIRCOM simply plugs into an available parallel port and is automatically recognized as an Ethernet adapter on same IRQ as the printer port and defaults to soft IRQ 0x60.  The XIRCOM I had came with its original driver diskette and the matching packet driver - all I needed to do was copy the packet driver to my hard drive, add it to my AUTOEXEC.BAT, and then install a TCP/IP stack (photos attached).  You can speed up an XIRCOM up to 4x faster with an high-performance EPP parallel port.    

Documentation Library: I picked up a full library of original IBM boxed manuals for a song on eBay, including of course the original PC/XT Guide to Operations, the two volume PC/XT Hardware Maintenance and Service library, and the complete three volume IBM Technical Reference Library – Options and Adapters library. I also have the hard cover DOS Reference and BASIC Reference plus a variety of manuals for the printers and various peripherals. Manuals and documentation is a must for vintage gear and I have found a number of web sites that have thankfully continued to make thousands of these archaic documents available.  Many years ago I  personally worked with some of the wonderful people that wrote these manuals.

Software Installed and Fully Functional

There isn’t enough space to enumerate the much longer long list of software I have installed or plan to install, save for a short list of favorites here:
Plain Text Editor (DOS): Hands down it’s Mansfield KEDIT Version 5 for me. I grew up on mainframe XEDIT under the IBM VM operating system and there isn’t a more powerful or customizable text editor in existence then, or now. In fact, I still have KEDIT for Windows on my massive i7-3930 system. Almost unbelievably you can still find and purchase KEDIT for current versions of Windows on the web.

File Manager: For me it is IBM File Command all the way. Again, I cut my teeth on VM/CMS Fulist/Filelist running off an IBM 3081/3084 mainframe and this is a solid clone. I've always liked it because of its simple, uncluttered elegance and you can execute DOS commands right next to any file or multiple files.  FileCommand is also highly customizable. There is a photo of it below.

Word Processor #1/DOS:
  WordPerfect 5.1 for DOS. WordPerfect was the standard back in the day (alongside WordStar) before Microsoft Word came along. WordPerfect continued to rule the day for years with its seemingly archaic ‘reveal codes’ feature that I thought of as poor-man's VS/SCRIPT. Version 5.1 even has mouse support.

Word Processor #2/DOS: I've installed a full version of Microsoft Word for DOS Version 4.

Word Processor #3/Windows: Microsoft Office Version 4.2 installed well under Windows 3.1 running on this PC/XT along with Microsoft Word 6 and runs rather well with its full graphical interface.

Accounting 1: The original QuickBooks Version 1.0.

Accounting 2: PeachTree Accounting fr Windows (complete suite)

Page Layout: Aldus PageMaker, (before Adobe bought Aldus).

Spreadsheet #1 (DOS):  I have a full copy of Lotus 123 for DOS Version 2.4 installed.

Spreadsheet #2 (Windows): Microsoft Excel for Version 5 is installed and runs very well as part of Microsoft Office Version 4.2 under Windows 3.1.

Spreadsheet #3 (Windows): Lotus 123 Version 5 for Windows 3.1.

Contact Manager: Contact Master

Graphics #1 (DOS): Harvard Graphics 2.03 (photo included below).

Graphics #2 (Windows): Microsoft PowerPoint for Windows as part of Microsoft Office Version 4.2.

Communications (Dial-up): There is only one for me, QMODEM, but I also have a copy of ProComm installed as well.

Database: Ashton-Tate dBase III Plus.

Photo Editing (Windows):  Adobe Photoshop for Windows 2.5 (1st version for Windows).  This is a facinating one because Adobe Photoshop 2.5 will only run in Windows enhanced mode to make enough RAM available for it to run.  Of course, Microsoft and Intel wrote that the Inboard PC wouldn't run Windows in enhanced mode, let alone the retail version of Windows 3.1, but I am!   The only drawback is that the keyboard doesn't work after launching Windows 3.1 in enhanced mode (win.exe /3), so I usually don't, but for Photoshop that's acceptable because I use it only with the mouse.0

Document Reader (DOS): Acrobat 1.0

Document Reader (Win): Acrobat 3.0

High-End Document Composer 1: IBM Script/PC

High-End Document Composer 2: If you are old enough and a mainframe geek, you might remember Generalized Markup Language (GML), which was the precursor to SGML which in-turn, is what HTML and XML was based upon many years later. So of course I go with a DCF/Script clone called DWSCRIPT, an internally-developed IBM DCF clone which you won't find on the internet, but can still find its equivalent, SCRIPT/PC on eBay. It's not much different from HTML, except that instead of '< >' brackets, tags begin with a colon (:) and end with a period (.) like this :p. which I still think was better than using the crummy HTML brackets which are far more difficult to type. Plus, GML tags, extended with SCRIPT and REXX macros, provided powerful page formatting control which, although impure for device-independent publishing, was wonderful for page layout control long before  CSS and Javascript.

Games: Dozens of them. Among the more name-brand ones are Monopoly, PacMan, Pong, Jeopardy, Space Invaders, Wheel of Fortune, and dozens of others. I've included a few photos of some running on this build below.

Music Software: I've installed a SoundBlaster Midi Kit, Voyetra Sequencer Plus Pro.  Since I play keyboard and also write music it will be fun to hook-up my Yamaha P-200 stage piano and get a sense what pre-Cakewalk Sonar X3 Producer was really like.

Windowing Programs: As you can see from the pictures, I’ve got copies of Windows 1.3, Windows 3.0a, and Windows 3.1 running fine and fast run on this build with the Intel InBoard/386. Did you ever see Windows Versions 1or 2 or know anyone that has? Why do it? I duno, because I can? It certainly makes for a very cool conversation piece to run and show the original versions of Windows which very few have ever seen since it wasn’t until Windows 3.1 when the general PC user population saw or experienced Windows for the first time. Of course I have a list a mile long of other utilities, applications, and games; that’s part of the ongoing fun of having a revved-up working build of the machine that started an entire technological revolution. I've also installed several other pre-Windows multitasking and pre-MS windowing programs running, including Desqview 2.0 and OpenGEM.

Windows 3.1: Contrary to conventional wisdom, yes, I am now running a full retail version of Microsoft Windows 3.1 along with Internet Explorer 3.02a and Java.  Having 4+ MB of extended RAM from the Intel Inboard/386 PC (5MB total) made this possible - and its rather snappy on the 16MHz i386DX (see pics).

Windows Shell: Calmira II for WIndows 3.1.  provides a Windows 95-like graphical user interface for Windows 3.1, including a Windows START button and core Windows 95 UI features.

Windows 3.00(a) Windows 3.0 Intel Edition for the Intel InBoard/386 PC: An extremely rare version of Windows adapted by Intel to work with the Intel InBoard 386/PC.  This edition enables the use of extended memory on the Intel InBoard/386, not just expanded memory.  My InBoard as 5MB of additional RAM, the bulk of which is configured as extended memory.

Windows 3.11 Workgroup for Windows (WFW): Like Windows 3.1, this isn't suppose to install at all according to every scrap of documentation and web post ever written, but I was able to install and run WFW with full mouse support.  The only issue is the keyboard gets disabled due to some unknown conflict on WFW startup.  WFW 3.11 also isn't as snappy as Windows 3.1 and, though I thought about using it for its networking support, I plan to stay with Windows 3.1 and added a shim between the DOS packet driver and add WinSock to enable TCP/IP for Windows 3.1, making the need for WFW a moot point.

Internet Browser (DOS):  I am using the Arachne CSS-enabled graphical web browser (and eMail client)

Internet Browser (Windows): Internet Explorer, but not without issues as it doesn't support CSS. I also have DOS Lynx, Netscape, and Opera.

Internet TCP/IP Stack (DOS): mTCP (includes support for DHCP, FTP, IRC, TelNet and more).
Internet TCP/IP Stack (Windows): Trumpet Winsock with a DOS shim.

Programming (Windows): Borland Turbo Pascal for Windows  


Challenges Overcome

I did have quite a few challenges along the way.

To build out a PC/XT with these many features and without needing an IBM 5161 Expansion unit is a feat in itself. It would be easier to find a unicorn than finding a good condition 5161 expansion unit for an acceptable price even if such a rare unit surfaced completed with its send/receive cards and cable. Careful selection of components is a must because as I mentioned earlier, the original IBM PC/XT had only 8 expansion slots, of which only 7 were typically useful,  The 8th slot was highly restricted save for just one or two special purpose half-length adapters such a 3270 emulator which was a special adapter to use a PC as an IBM mainframe terminal which we all used back when everyone replaced their IBM 3270 terminals with PCs along with token ring network connections. Eliminating hard drives with the XT/IDE CF replaced the traditional HDD and using half-height floppy drives freed up drive bays, and, with the XT/IDE CD adapter being Slot 8 compatible, freed up an entire long adapter expansion slot. Acquiring multi I/O adapter with four ports - game, parallel, and two COM ports - saved yet another slot due to the typical I/O cards having just two or three of those. I could have used the 16-bit Digital Research Super ISA multi-I/O adapter I have with FDD support to drive the floppy drives and save yet another expansion slot, but that would require a TSR and I wanted a bootable 1.44 3.5" drive - hence the need for an FDD controller with its own BIOS.

As for working with CF drives, I started with a 1GB CF card and made it the primary bootable drive. Like I said, that allowed me to eliminate the traditional platter HDD and controller to free up an expansion slot and a drive bay. I discovered it gets a bit tricky to prep some CF cards for use with DOS. I had to use a modern system to clean the CF cards of their default out-of-the-box default partitions, otherwise DOS sees most new CF cards as having no available space due to being filled with a non-DOS partition. After wiping CF card clean of its stock partition I could boot DOS on the PC/XT from floppy and then partition and format the full 1GB CF card which, amazingly, took only a few seconds. Back in the day, a 10MB HDD would take quite a long time partition and format!

I chose to use PC DOS 2000 for several reasons. First, it is year 2000-compliant, second, it has a smaller memory footprint and more functionality, third, it supports 1.44MB floppy drives and can create and format up to 2GB partitions each. In theory I could get larger CF cards and partition them into multiple 2GB partitions, each with its own drive letter if I wanted to, but that would be a bit overkill (as if this entire build isn't already!) 1GB CF cards are more than sufficient and the notion that I can simply swap out one CF drive for another in seconds means I can boot up entirely different systems with various OSes at will. Hello CP/M, XDOS, DR DOS, and Linux distros!

When I began I didn't have a booable 1.44MB drive; I had only low-density floppy drives.  DOS 6.0 and beyond require a high-density 1.44MB drive to install. The way I got DOS to boot without initially having a high density 1.444MB floppy drive was to create a bootable DOS 720KB 3.5” disk on my modern system using a USB-attached floppy drive. Remember, even the backpack drive isn’t bootable  - and good luck finding DOS 6.x or later on low-density disks which were available only by mail-in request a few decades ago. To overcome this barrier I did was load DOS into a VMWare virtual machine (you can’t boot DOS on an i7-3930 natively), do a DOS system transfer to the 720K floppy disk. I was then able to use the 720K 3.5" disk to boot DOS on the PC/XT, run FDISK to partition the CF card, then make a master boot record (MBR) on the CF card using FDISK /MBR command after which the system booted DOS 6.1 natively from the 1MB CF card -- piece of cake!

The most vexing problem of all was getting the high density 1.44MB and 1.2MB floppy drives to work. PC/XTs didn't support these high density floppy drives natively; they require a high density floppy drive controller with its own BIOS which I found, but then learned that the floppy adapter's BIOS conflicted with the XT-IDE CF adapter BIOS. There was very little to no help on this one as there must not be many (if any) people that have tried to make a HD floppy adapter and an XT-IDE CF adapter co-exist. After a great deal of fiddling and consulting with some of the experts in the vintage computer forums, I had a solution which involved modifying the starting BIOS address of the XT-IDE adapter such that it resolved the conflict. To solve it I literally had to pull the XT-IDE controller BIOS chip out of its socket, find and bend a particular pin #12, wire it to pin #3 and re-seat the BIOS chip to shift the BIOS address from C000 to D000 given that the FDD BIOS need to occupy C000 in memory trying to reprogram the XT-IDE EPROM to stuff the FDD BIOS into it didn't pan out. I don't have an EE  experience so this was a bit of a harrowing experience for me; I owe a great deal of thanks for the generous expert assistance I receive to resolve that challenge.

In Conclusion

It appears that the original IBM PC and PC/XT are quickly becoming hot commodities with collectors. Most of the units available are in pretty bad shape - if they run at all, and even then can't do much with software given their typically limited configurations. Components, especially the good ones, are getting more difficult to find and are also getting expensive. Oh, and good luck finding the drivers and documentation required to install and configure the more obscure or exotic components!  

I built this system to represent the pinnacle of what could be made of the classic IBM PC/XT while staying largely true to the original, within reason.  Most of the system components are of the same vintage you could have found in the '80's. When I hook up a  5151 or 5154 display and original 83 key keyboard, the system looks exactly like the original, but how can one resist using a gorgeous large VGA flat panel color display at 1024x768x256, and the magnificent and legendary IBM Model-M keyboard?

There were even more challenges I encountered along the way. Thanks to the vast internet and Google I was able to locate ancient copies of documentation, technical specifications, vintage device drivers, and of course forum discussion threads, most of which are aging but still active with some highly-experienced vintage computing peers for whom I have a great deal of respect and gratitude for their knowledge, expertise, and self-less willingness to solve vexing issues I faced and remind me of details I once knew but have since long forgotten. There were also several pioneers that have gone before me that have created spectacular builds whom I won't name but to whom I owe a great deal of thanks for their blogging efforts which provided a great deal of information and tips of what works, what doesn't, and what to avoid. They set the bar which I tried to exceed with this build in aggregate. If you think yourself an expert system builder, go spend a little time over in the vintage computing discussion boards where members think nothing of reprogramming   EPROM chips, design circuit board pin-outs, and build their own adapters - THAT is hard core system building!

Why did I go into such detail on this build?  I did so in the event some other hardy souls choose to take on a similar challenge. I hope to add more detail, tips, and links to key resources.  More to come as the journey has once again, just begun...


The Photos

This is the final build

The classic IBM 101 "clicky" keyboard - still the best

A popular joystick of the PC era

An early rat, since replaced by an original Microsoft mouse

External BackPack CD-ROM and 1.44 floppy drives (connects via parallel port)

The complete IBM PC/XT technical library

A working IBM 4029 Laser Printer - a true workhorse

The IC chip on the left is the original 4.77MHz 8088 CPU and an 8087-1 math co-processor before they were pulled and replaced with the Inboard/386

Two 1GB Compact Flash adapters teathered for the C: and D: drive

...connected to an XT-IDE adapter at the top

Initialization of the Compact Flash hard drive BIOS on startup

IBM FileCommand - the best DOS file manager ever,  second only to the VM CMS Fulist

Original IBM 5160 130 watt Power Supply Unit (PSU)

Early SoundBlaster adapter (without the CMS chips)

ATi VGAWonder 512MB autosensing adapter

In progress....before all of the mods...

Swapping parts between systems; the system on the left was used for in-progress testing

Intel Aboveboard 8 with 2MB of RAM before adding more RAM chips

This is an extremely rare chip required to make an Intel AboveBoard (expanded memory) work in a PC or PC/XT. You might find an AboveBoard, but good luck finding this chip to make it work!

Far from complete...

Fully populating the AboveBoard with 1MB RAM chips to a full 8MB. 

Intel InBoard/386 memory check on startup

Intel Inboard/PC initialization screen on startup

Windows 2.3 for DOS

Windows 3.0a

Lotus 123 fr DOS



Harvard Graphics 2.03

Rare first annual issue of Byte Magazine fully covering the family of IBM PCs

No comments:

Post a Comment