Classic Computers Emulated on PCEM (IBM PC) (Updated)

By Robert Kixmiller•08 Jun, 2018

The IBM PC 5150 , the original PC (Image courtesy of IBM)

Introduction

This is the machine that started it all. This computer is the reason why gamers are playing the crap out of FallOut 4 or GTA V on there powerful rigs in 2018. There is direct lineage between this oldskool classic and the powerful gaming rigs of today. Theoretically, it would be possible to slam a floppy drive into a PC equipped with a Intel or AMD quad-core CPU and that machine could boot up into MS-DOS.

Context

There is one thing that we need to come to a realization though. The world was a very different place in 1981 than it is today. The Apple II, which was the popular microcomputer at the time, was a major influence on the IBM PC. The expansion capabilities is the biggest influence from that platform. In 1981, the microcomputer market was still dominated by hobbyist. These were the machines by hobbyist for hobbyist. 8-bit computers  dominated the educational, home, and small-business markets. Computers like the Apple II and Commodore PET could be seen in elementary schools, while the TRS-80, along with the low-cost Commodore VIC-20, could be found in many home and mom-and-pop stores across this country. 

Many of these 8-bit machines were used in the manufacturing setting as well, operating industrial equipment. However, the hobbyist micro-computing industry was not taken that seriously by the heavyweights at the time. Micro-computers were absent from the corporate setting of Fortune 500 companies. During this time in the late 70's/early 80's, corporate employees were using electric typewriters like the IBM DisplayWrite. When they did interact with computers, it was mainly though a dumb terminal with a network jack and keyboard that was connected to a mainframe somewhere in the office. A mainframe that was most probably made by IBM. IBM started to take notice of the micros and decided to make there own mark in that industry. This was especially after Apple attempted to crack the corporate market with the Apple III, which bombed in the marketplace.

Big Blue Enters The Picture

IBM was late to the industry, and they needed to catch up fast. Many acknowledge that the PC would take 10 years to make if the machine was built within the complicated and insane bureaucratic structure of IBM. As such, Big Blue considered buying Atari. In an alternate universe, the Atari 800 microcomputer could have been the next IBM PC. This wasn't meant to be though as Big Blue decided to create a subsidiary called the "The IBM Personal Computer Division", which would be based out of Boca Raton, Florida. 

While this was an IBM-branded company, this division would basically operate like its own independent company. They could negotiate there own deals with hardware manufacturers and software distributors without going through the official parent channels. This made designing the PC a much quicker task. 

In order to get this machine rapidly made, the computer was designed with off-the-shelf components. The keyboard, main unit, and the display was made separate. This could give the customer options in designing their computer. Expansion slots were utilized so that third-party companies could make there own expansion cards. IBM didn't have time to design an operating system on its own, so they decided to let the third-party take care of that as well (probably to their own regret later).

IBM's entry into the micro-computing industry sent shock-waves. One could argue that in 1981, IBM was basically the Vatican of the computer industry. The microcomputer market wasn't official until IBM declared that it was official. In 1981, graphics were associated with games. Business graphics didn't exist until IBM decreed that business graphics exist. Also, we call the microcomputers of that time as PC's now, for that time, that phrase was reserved for computers with an 16-bit Intel (or AMD) processor running MS-DOS. As such, a Tandy 1000, AT&T 6300, or Compaq Portable where PC's. An Apple II or Commodore 64 were not PC's because its doesn't have a 16-bit x86 CPU or ran MS-DOS. These PC users would run applications like WordPerfect or Lotus 123. IBM would dictate the rules that everybody else would follow. 

Why Did IBM......?

There is one question that many ponder? Why was an Intel processor chosen? IBM choosing the Intel resulted in its processors becoming the most widely used CPU's in desktop and laptop computers. IBM choice is the reason why we still run computers with Intel (and AMD) processors today. How was that decision made? Why that particular brand? 

During the PC creation process, the engineers were deciding which CPU to use. One of the processors in consideration was the 16-bit, 7MHz Motorola 68000. Introduced in 1979, the processor would eventually find its way into the original Apple Macintosh, Commodore Amiga, Atari ST, and in Japan, the Sharp x68k computer. This CPU was what gave the Sega Genesis its blast processing! 

The 68000, or 68k for short, was a 16-bit CPU which needed well, a ummm..., 16-bit board. The IBM engineers rejected this chip because they felt that it was too powerful (at the time)! Also, none of the engineers were familiar with that processor. Go with what you know! 

For those engineers, they went with Intel, because that was what they known. The IBM engineers previously built a computer around there processor called the Datamaster. The Datamaster utilized a 8-bit Intel 8085 running at 4.77MHz. There was one issue the engineers encountered when making a computer around a 16-bit CPU. Making 16-bit motherboards to accommodate the Intel 8086 was still an expensive proposition in 1980/1981. IBM wanted to use a 16-bit processor, but with a 8-bit board so that these boards would be cheaper to make. Thus, they found their processor with the Intel 8088. It was basically the same design as the 8086, but designed to operate on a 8-bit motherboard. The main sacrifice with using a 16-bit processor on a 8-bit board is performance. 

Because the board wasn't optimized for that CPU, that 16-bit processor would always run at slower performance because it was working on a 8-bit board. Granted, the Intel 8088 was a more capable processor than the 8-bit, 2MHz MOS/Motorola 6502 CPU that Apple was using in the Apple II.

Microsoft, CP/M, and DOS

That computer still needed an operating system. As such, IBM sent representatives to Microsoft. Bill Gates didn't have an OS for microcomputers, so he directed those representatives to Digital Research, the makers of the CP/M operating system. CP/M was a command-line OS that was widely used on many 8-bit business computers, like the Osborne 1, Kaypro, Xerox 820, TRS-80 Model 3, etc. 

There was a popular urban legend that Gary Kildall, the CEO of the company, was joyriding in his private plane while the meeting between Digital Research and IBM took place, and DR's management didn't like the deal and rejected it. This urban legend has been dispelled. He was out on his plane, but he was delivering software for a client. Mr. Kildall left his wife in charge of negotiating that deal with IBM. 

IBM wouldn't discuss details until DR signed an NDA (Non-disclosure Agreement). She refused to do so at the advice of the attorney present. They waited for Kildall to return, which he eventually did.  For unknown reasons, the deal never went forward, and Kildall never signed the NDA. After this, the DR corporate structure was changed to give the lawyers and upper management a lot more say during negotiations. IBM later offered CP/M as an option for the PC in order to avoid potential litigation from DR. CP/M never caught on because their asking price; $240, was much more expensive than the asking for PC-DOS; $40.

CP/M-86 for the IBM PC.

 The IBM representatives went back to Microsoft. The company had already made a name for themselves though the selling of computer languages (most notably BASIC) to customers and computer manufacturers. There BASIC language was used in many of the popular micros of there day, like the Apple II and Commodore PET/VIC-20. Microsoft didn't deal with operating systems for micros though. Microsoft did have Xenix, which was a licensed version of the AT&T UNIX operating system that ran on minicomputers during that time. Xenix wasn't suitable for the PC though because the PC lacked the capabilities required to run a full-fledged UNIX system, like a hard-disk and virtual memory, which the Intel 8088 CPU didn't support.

That PC still needs an operating system. Microsoft agreed to provide IBM with an OS. One thing thought. Microsoft didn't have an OS for the PC. They knew where they could get one though. There was a company called SCP (Seattle Computer Products) that designed a 16-bit computer with the Intel 8086. This computer was similar in specifications to what IBM was designing. 

One of the engineers at SCP, Tim Patterson, wrote his own OS for it, called 86-DOS. It was also nicked-named Q-DOS for Quick And Dirty Operating System. It was quickly written in a short amount of time. 

While this OS had a similar appearance to CP/M with its command prompt, underneath the hood, 86-DOS was vastly different, and in most ways, a vast improvement over CP/M. The disk commands were simplified compared to CP/M. Also, many of these commands were built into the command interpreter, which meant that many of the disk commands, like dir (directory) or del (delete), were always there. Being built into the command interpreter, they also executed more quickly as a result. On CP/M, many of the commands, like dir and stat, were separate from the interpreter. Thus, if those commands weren't on the disk, than CP/M couldn't execute them. 

86-DOS used the FAT file system, which provided advanced file management capabilities compared to CP/M. At a quick glance, 86-DOS appeared as an uninspired clone of CP/M. In reality, it really was a much better and more advanced than CP/M, and this was the OS that Bill Gates would purchase from SCP and use it as the basis for MS-DOS.

IBM PC-DOS v1.10 running under PCEM. PC-DOS was basically the IBM rebranded version of Microsoft DOS

An Open System

 IBM started to work on hardware documentation. The PC was designed to be a open system, which means that anyone could manufacture any device that they wanted for the computer. IBM saw the success that followed Apple with the open architecture of the Apple II. 

The hardware documentation went into great detail. There was documentation on how to program the pins used in the 8-bit ISA (Industry Standard Architecture) slots. DMA (Direct Memory Access) was also documented so that developers could utilize the DMA for performance enhancements to their programs. DMA allowed programmers to directly access memory. The IBM design provided an amazing feature over the Apple II with its POST. Acronym for Power-On-Self-Test, it was a self-diagnostic routine that ran every time the PC was powered on. POST would let the user know, in beeps, which component was faulty in case problems arose. This greatly helped in troubleshooting the computer. 

 IBM published the hardware documentation to allow developers to quickly program their computer. As mentioned previously, the IBM PC was a open design which incorporated off-the-shelf components. The only proprietary component in the PC design was the BIOS (Basic Input/Out System). The BIOS determined how the components communicated with the motherboard. The BIOS handled the settings for components like the disk drives, keyboard, date/time settings, etc. The BIOS would determine how compatible the PC is. Eventually, this chip was cloned as well. That is a story for another day. 

 Many programmers would eventually write programs that would bypass the BIOS functions altogether and directly access the slots and memory of the PC (and cause issues when environments like Windows started to become widely use). IBM/MS-DOS v1.x didn't support hard disk, and could only boot from floppy disk. Early MS-DOS as a result didn't support folders/directories. Like many of the micros of their day, the IBM PC would boot up into BASIC on the motherboard if it couldn't find an operating system on the floppy.

IBM ROM-BASIC on the motherboard

Time To Change The World, One Computer At A Time

The IBM PC was introduced on August 12, 1981 to great fanfare. The open design of the computer was universally praised. Many users declared that the keyboard alone was worth the purchase. The keyboard produced a clicky sound and satisfying feedback from the pressed keys. The IBM mechanical keyboards gets a lot of criticism today because the keys required firm pressing and the clicky sounds results in a noisy keyboard, especially compared to modern keyboards. At the time though, the IBM keyboard was a vast improvement over the other keyboards that the other micros were using. Some of these computers used either membrane keyboard (Atari 400 and Timex Sinclair), or the keys felt awkward to use (Commodore VIC-20 and C64). Many agreed that the IBM keyboard was more satisfying to type on than the Apple II keyboard. 

Along with the keyboard, the disk drives were offered as options as well. With many early micros, data was saved onto cassette tapes, because it was a cheap and affordable medium. Floppy disk drives were considered luxuries. The PC incorporated a cassette interface. It was never widely adopted as most customers just decided to spend the extra money and get the floppy disk drives, which used the 5-1/4 inch floppy disk with storage capacities that went up to 360KB (Not Mega or Gigabytes). The original PC never shipped with any hard-disk drives. PC/MS-DOS v1.x never supported them either. Hard-Drive kits but was later offered as an option, along with a power supply that could accommodate those drives.  

The PC originally shipped with 64KB (again, not Megabytes or Gigabytes) of memory. The PC was expandable up to 640KB of RAM, which ought to be enough for everybody (It wasn't in retrospect)! The Intel 8088 could actually recognized 1MB of memory, but the memory map of the PC was segmented, with certain functions going to certain memory addresses. Once the memory segmenting was done, there was 640KB of RAM for the applications. This memory limit was imposed on DOS by IBM and how they arranged memory on the PC. As a result, PC-DOS was designed around this memory map. In 1981, when most computers shipped with 32-64KB of RAM, this wasn't an issue. By 1985/1986, this was a major issue when most PC's started to hit the 640KB barrier and DOS was running out of usable memory. That is also a another story for a different day.

With the introduction of the PC, two video standards were introduced; MDA (Monochrome Display Adapter), and CGA (Color Graphics Adapter). MDA could only do text. With that said, the MDA BIOS chip contained a professionally rendered text font. MDA, along with CGA running in text mode, could display 80-columns of text on the screen, which made the computer ideal for professional business applications, like word-processors and spreadsheets. IBM was making this computer for the business user after all. That may also help explain why CGA was very lackluster in comparison. CGA, the other graphics adapter, was meant to imitate the graphics found on popular color micros at the time, like the Tandy Color Computer or the Atari 400/800. CGA though paled in comparison to those computers, and practically any other computer for that matter. CGA offered two resolutions: 320 by 200, 4 colors out of 16 colors, and 160 by 160, 16 out of 16 colors. CGA offered an 80-columns text mode that could display color text as well. The only issue was that the text font that CGA used was poorly rendered when compared to the text font that MDA used.

The Donkey game found on the PC-DOS disk. This game was written in BASIC by Bill Gates himself!

The Zaxxon arcade game using the 320 by 200, 4 color CGA mode.

The irony was that while the IBM Model 5150 PC was geared towards businesses, this model mainly found its way into the educational, manufacturing, and home market. This computer didn't really make a dent into the corporate market that it was aiming for. The fast acceptance of the PC into the home market already made it a popular platform for game developers, who started to make games that utilized the CGA graphics mode. Most of what was on the PC were ports of games that were popular in the arcades at the time, like Pac-Man and Donkey Kong. This was still before the video game crash of '83. 

There were productivity applications as well. VisiCalc, a spreadsheet which became the killer app on the Apple II, was introduced alongside the PC. Easy Writer, a word-processor introduced alongside the PC, and sold by IBM, was offered as well. I've attempted to use Easy Writer on PCEM. It should have been re-branded as PITA (Pain In The A@#%#) Writer because there was nothing easy about it! 

The IBM PC was sold in in retail chains like Sears. This was the first for an IBM product. This was also the first IBM product introduced in which the computer didn't need to be serviced by a certified repairmen. The IBM PC quickly became the standard that others would follow and is the driving force of why we all use Intel (or AMD) based computers running some form of the Microsoft operating system today.

The VisiCalc spreadsheet program for the IBM PC. Created by Dan Bricklin and Bob Frankston, this spreadsheet was the killer application on the Apple II.

PC-Man, a clone of the popular Pac-Man arcade hit, running on PCEM emulating the IBM PC. The game is running in 320 by 200, 4 color CGA mode.

The PC port of Donkey Kong.

ParaTrooper, a game where you shoot the invaders.

Emulation

The PCEM Emulator is a very amazing piece of software. It can emulate the computers that were built around the IBM Compatible standards. PCEM emulates the hardware that was found in those machines from the early 80's to middle 90's, like the Creative Labs SoundBlaster 16, S3 VESA Video Adapter, the 3DFX Voodoo 3D accelerator, XT or AT-class motherboard, etc. It can emulate the various processors found in those compatibles as well, like the Intel 8086, 286, 386, 486, and Pentium processors, along with their AMD equivalents. PCEM can be configured to emulate that retro PC that can run oldskool classics like Doom or Test Drive 2. 

People ask why emulators should be used. There are various reasons ranging from nostalgic kicks to software preservation, and finally: just because we can. If this bloke wants to fire up PCEM with a AMD 386 running at 40MHz so I can run Windows 3.0 and play SkiFree, then I'm going to and enjoy every bloody minute of it! Also, with emulators, it possible to build virtual computer museums to show the march of progress and illustrate how much things have changed. One becomes a witness of how things have changed since the days of old (noticed that I didn't say good old days for reasons). 

As much as I love Windows 3.0 Solitaire, I'm going to choose Windows 7 with Facebook and Youtube over it any day! Some people reminisces how the old ways were better. Just because things were done differently back then did not make it better; it just makes it different. Computing has gotten much more accessible with the passage of time. DOS wasn't the most user-friendly OS. It was designed to be lightweight on resources, not easy to use. 

Essential at a time when computers were a lot more limited and didn't have the capabilities to run GUI (Graphical User Interface) environments with the desktop, menus, or fancy little icons; or run them poorly. Have anyone attempted to run Windows 1 or 2 on a IBM PC/XT running at 4.77MHz! You can with PCEM, as its emulation is almost spot on with real hardware (I've used XT-class computers before)! And do you want to know what else: The damn thing is practically unusable. Even the classic Macs weren't the fastest running their OS, and that was with the 7MHz Motorola 68000. With more powerful processors, later incarnations of Windows came to fill the usability void. 

The most important things to remember is that you can't look at a computer running Windows 10 and just say that this configuration just came out of thin air or out of nowhere. There was a software and hardware evolution to the process, and this evolution can be illustrated in the emulators running various hardware configurations. Now on with the IBM PC.


Work Cited:

PCEM - https://pcem-emulator.co.uk/

The 640K memory limit of MS-DOS - https://www.xtof.info/blog/?p=985

Gary Kildall - https://en.wikipedia.org/wiki/Gary_Kildall

IBM System/23 - https://en.wikipedia.org/wiki/IBM_System/23

86-DOS - https://en.wikipedia.org/wiki/86-DOS

Tim Paterson - https://en.wikipedia.org/wiki/Tim_Paterson

Xenix - https://en.wikipedia.org/wiki/Xenix

IBM Personal Computer - https://en.wikipedia.org/wiki/IBM_Personal_Computer

Did Bill Gates Steal the Heart of DOS? - https://spectrum.ieee.org/computing/software/did-bill-gates-steal-the-heart-of-dos/0

DONKEY.BAS - https://en.wikipedia.org/wiki/DONKEY.BAS

Folklore.org:Donkey  - http://www.folklore.org/StoryView.py?project=Macintosh&story=Donkey.txt



Comments

Popular posts from this blog

WeatherStar 4000 Simulator For Windows (Part 1)

Classic Systems Emulated: Windows 95 (Part 1)

Classic Systems Emulated: Windows 3.1 OEMS

Old Hardware Emulated :Psion Model 3a Emulated On DOSBox Windows

Classic Systems Emulated: OS/2 Version 2.0 On PCEM

Old Hardware Emulated - Windows Mobile 5.0

Old Hardware Emulated : Pocket PC 2000/2002

Old Hardware Emulated :Einstein emulating the Apple Newton (Part 3)

Classic Games Emulated: Revisiting NFS High Stakes Modding

OS/2 Warp 4