BYTE MAGAZINE, January '82, Volume 7, Number 1
Dakle, ovako je sve počelo... Ovo je OCR-ani tekst iz časopisa "Byte" koji je izašao u siječnju 1982. godine i izbačeni su dijelovi u kojima se opisuju mogučnosti i snaga BASICa koji se nalazi u ROM-u tog računala... pa, kome se da, neka ćita... usput... vjerojatno još uvijek ima prilično grešaka, pa se nemojte ljutiti na Recognitu...
A Closer Look at the IBM Personal Computer
What microcomputer has color graphics like the Apple II, an 80 column display like the TRS-80 Model II, a redefinable character set like the Atari 800, a 16-bit micro-processor like the Texas Instruments TI 99/4, an expanded memory space like the Apple III, a full-function uppercase and lowercase keyboard like the TRS-80 Model III, and BASIC color graphics like the TRS-80 Color Computer? Answer: the IBM Personal Computer, which is a synthesis of the best the microcomputer industry has offered to date. It has a number of interesting features and a few flaws, but it is easily the best-designed microcomputer to date. In this article, I will take a closer look at the IBM Personal Computer, inside and outside.
The IBM Personal Computer (photos 1 and 2) is housed in two units, the keyboard and the System Unit. The keyboard (photo 3) has a standard typewriter layout with the addition of a numeric keypad to the right, a set of function keys to the left, and miscellaneous other keys to bring the total number to 83. It is connected by a coiled cable to the System Unit, which houses the Intel 8088 microprocessor, the 40 Kbyte extended Microsoft BASIC in ROM (read-only memory), up to 64 K bytes of dynamic memory, up to two disk drives, a cassette interface, a built-in speaker, and five expansion slots. (Extra dynamic memory cards placed in expansion slots can bring the total up to 256 K bytes.)
Other peripherals include the IBM Monochrome Display (shown in photo 2) and the IBM 80 CPS (characters per second) Matrix Printer.
What's It Going to Cost?
The IBM Personal Computer is an impressive unit. But how much is it going to cost? Although the component prices in the "At a Glance" text-box look reasonable (the System Unit and keyboard are only $1265), the price of a usable configuration is somewhat higher. The higher cost is due to a marketing technique called unbunding, which is common in the computer industry and a trademark of 1BM in particular. When a system is unbundled, components that usually are priced as one are priced separately. In the case of the IBM Personal Computer, the main unit needs one of two video-display adapter cards, a monitor or television set, a cable, and perhaps an external radio-frequency (RF) modulator.
Table la shows several sample configurations of the IBM Personal Computer, and tables 16 and lc show the list prices of comparable Apple II and Radio Shack TRS-80 Model III units with 48 K bytes of memory and one disk drive. The IBM unit is somewhat more expensive than the standard configurations (note that the Apple II Plus is less expensive if you want only 40-column uppercase output). Still, you get a lot more for your money.
One thing not commonly understood about the IBM Personal Computer is that you must choose between two separate ways of getting video output. The Monochrome Display and Printer Adapter gives high-quality black-and-white output only, while the Color/Graphics Monitor Adapter can produce color graphics or text. Each takes one of the five expansion slots available on the IBM motherboard (called the System Board by IBM). While you could have both kinds of output by using both adapter cards, most people will not want to tie up the extra slot (more on that later).
The monochrome adapter card is most suited to IBM machines that will be used in an office environment only. The adapter card gives you a sharp 25-line by 80-column display with well-formed characters. A 9 by 14 dot matrix is used, and characters are displayed within a 7 by 9 dot matrix; this makes for an extremely readable screen, an important factor if you are using the computer for long periods of time.
Among the 256 characters available are miscellaneous graphics characters (musical note, male and female symbols), all standard upper-case and lowercase letters, numbers, punctuation, some familiar foreign language, Greek, and mathematics symbols, and a set of rectangular shapes that can be combined to create rectangles and lined tables. A display of the full 256-character set is shown in photo 4.
Although you can use a suitable monitor if you want, the IBM Monochrome Display is also available. The IBM monitor has a green-phosphor tube and matches the appearance of the rest of the system.
The monochrome adapter card contains 4 K bytes of on-board memory. (In this article, 8 bits will be referred to as a "byte," as opposed to a 16-bit "word.") The on-board display memory prevents the available system memory from being steadily decreased by peripheral cards. In addition, due to the architecture of the 8088 microprocessor, the on-board memory itself does not reduce the main memory address space available to the IBM microcomputer; in contrast, the memory taken by the video display of an 8-bit microcomputer always reduces its 64 K-byte work-space.
Twenty-five lines of 80 characters each amounts to only 2000 characters, yet the on-board display memory has 4096 bytes. The reason for this is that the IBM Personal Computer always uses two bytes per stored character, regardless of the adapter card used. When the monochrome adapter card is used, individual characters can have any of the following characteristics: invisible (white-on-white, black-on-black), blinking, high-intensity, or underline. The permissible combinations of these are shown in Figure 1.
One final advantage of the monochrome adapter card is that it includes an interface to the IBM 80 CPS Matrix Printer, which saves you the expense of an IBM Printer Adapter card (around $150) and one expan-sion slot.
Of course, the main disadvantage of the monochrome adapter card is that it does not produce color graphics. As you can see from photos 5a through 5d, this is some disadvantage. The graphics available through the color/graphics adapter card are very good-slightly better than color graphics on existing microcomputers, and they are more versatile and easier to use.
Color/Graphics Monitor Adapter
Residing in one of the five expansion slots in the System Unit, the Color/Graphics Monitor Adapter has 16 K bytes of on-board memory, can display two kinds of text and two (actually, three) kinds of graphics, and allows you to connect to a black-and-white monitor or to a color monitor with composite or RGB (red-green-blue) input, or to a color television. The color pictures accompanying this article were made with a $1000 RGB color monitor, so don't expect such stunning graphics to come from your composite monitor or an ordinary color television. (RGB monitors are more expensive and produce better images because they have separate red, green, and blue inputs to get a more detailed image. For an RGB monitor to work properly with the color/graphics adapter card, it must accept the following signals: red, green, blue, intensity, horizontal drive, vertical drive, and ground. RGB monitors that do not have an intensity signal can display only 8 of the possible 16 colors.)
Let's consider graphics first. The IBM color/graphics adapter card has three color-graphics resolutions, only two of which are supported by the system software in ROM. The first mode, the IBM low-resolution mode, is unsupported by IBM. It gives you a display of 100 rows and 160 pixels (picture elements), each of which can be any of the standard 16 colors (for the color list, see table 2). IBM representatives told me that the only way to use this mode is to directly address the Motorola 6845 CRT Controller, which is at the heart of both the monochrome and color/graphics adapter cards. (For both units, the 6845 device is addressed through two ports: hexadecimal 3D4 and 3D5; more information on this is given in Technical Reference, the IBM Personal Computer manual.)
The IBM medium-resolution mode is comparable to what Apple calls its high-resolution mode. It allows 200 rows of 320 pixels each, with four possible colors. (The Apple II allows four colors plus black and white.) The colors are referred to in memory as colors 0 through 3. Color 0 can be any of the 16 colors available, while colors 1 through 3 are set by choosing one of two three-color sets. Set 1 produces cyan, magenta, and white, while set 2 produces green, red, and brown; only the colors from one set are available at any one time. Each byte represents 4 pixels; the mapping scheme is shown in figure 2.
The IBM high-resolution mode uses a white-on-black image and gives you control of 200 rows of 640 pixels each. (Although it is not a well known fact, the Apple II can display a resolution of 192 by 560 on a black-and-white monitor, although there are some limitations to pixel locations and the mode must be supported by user supplied software.) In the IBM high-resolution mode, the mapping of graphics bytes to video scan lines is the same as for medium-resolution graphics, but each byte represents 8 pixels.
Photos 6a and 66 show one edge of the screen to highlight the differences between IBM medium-resolution and high-resolution graphics. As you would expect, corresponding lines in the IBM high-resolution mode are finer drawn, but I can't see that much difference between the two modes.
The color/graphics adapter card supports two text formats: the first, suitable for color televisions and composite monitors, is 25 rows of 40 characters each, while the second, usable by RGB monitors only, is 25 rows of 80 characters each. The card displays characters in an 8 by 8 dot matrix, with characters being drawn in a 5 by 7 dot matrix.
Althou8n the IBM microcomputer has separate text and graphics modes, text can be displayed while in the graphics mode. If you are in graphics mode and want to print text, you simply give the appropriate command (for example, PRINT when in BASIC) and the computer draws the characters on the graphics screen automatically. An example of this is shown in photo 7. While using a text screen, you have access to the same 256-character set used by the monochrome adapter card. If you are using a graphics screen, you have access to only the bottom 128 characters (some symbols, all punctuation, digits, uppercase and lower-case letters). The top 128 characters can be user defined by pointing interrupt vector hexadecimal 1F (contained in hexadecimal memory locations 7C through 7F) to the beginning of a 1 K-byte area that defines the dot pattern of the top 128 characters, 8 bytes per character.
In the text modes, each character can be one of sixteen colors, with the background of that character being one of eight colors, or the text can be displayed without a color signal (for black-and-white monitors). This is done automatically in BASIC with the COLOR statement. The data that cause a given combination are stored in the attribute byte for each character. Figure 3 shows the layout of the data in the attribute byte, and photo 8 shows an example of multiple background and foreground colors used with text.
Since the color/graphics adapter card has 16 K bytes of memory and the two kinds of text pages take only 2000 and 4000 bytes, respectively, you can store up to four 80-column pages of text or eight 40-column pages at once. In addition, you can specify the display of a page independent of the page actually being written to at the moment. In BASIC, all this is available from the SCREEN statement.
Inside the Main Unit
The IBM Personal Computer is as well designed on the inside as it is on the outside. As shown in photo 9a, the five expansion slots are in the upper left corner, the memory and an internal speaker are in the lower left corner, and the floppy-disk drives (if any) are in the lower right corner. Figure 4 shows the signals on the IBM expansion slot, and table 3 gives the full names of the signals. The bus allows four DMA (direct-memory access) channels, one of which is used to refresh the dynamic memory, the others for high-speed DMA data transfer between memory and peripheral cards. In addition, the bus supports eight levels of interrupts, six of which are available to the user.
The system memory is shown in detail in photo 96. The set of eight large integrated circuits with gold faces is the 40 K-byte extended Microsoft BASIC in ROM. Notice the empty socket at the bottom of the same row; this can house an 8 K-byte ROM or EPROM (erasable programmable read-only memory). Just to the right of the ROMs are four rows of 4116 dynamic memory rated with an access time of 250 ns. Only the first row is filled in a 16 K-byte IBM microcomputer; successive rows are filled to bring the microcomputer to 64 K bytes before additional memory is added through the expansion slots.
Notice that there are nine integrated circuits per row. The device on the extreme left is used as a parity bit. To increase the reliability of the system, IBM has made all user memory (i.e., all the memory used for programs and data) 9 bits wide. When a parity error is detected, the IBM microcomputer issues the appropriate error message and stops whatever program is running; this prevents an application program from continuing if it has read the memory incorrectly.
In the middle of the right half of the board are two DIP (dual inline package) switches that set certain parameters of the system. The positions of these switches tell the IBM microcomputer how many disk drives are installed, what kind of video device is attached, and how much memory is in the system. These switches are usually hidden by the floppy-disk-drive cables, as shown in photo 9a.
Photo 9c shows the Intel 8088 microprocessor (the large device in the center) and, above it, an integrated circuit socket identified by IBM only as an "auxiliary processor socket." An IBM representative would only say that the slot could house "any architecturally compatible processor," but it is probable that the device to go in that slot is an Intel 8087, a mathematics coprocessor device. With the appropriate software, the Intel 8087 or something similar could improve the performance of the IBM microcomputer.
Photo 9d shows one of the IBM peripheral cards, the 64KB Memory Expansion Option. This card is interesting in that it uses two modified 4116 16 K-bit dynamic memory devices "piggybacked" into each 18-pin socket. IBM was buying a lot of these two years ago - now we know where they went.
The Intel 8088 itself is functionally equivalent to the 16-bit Intel 8086 microprocessor, except that all 16-bit input/output (I/O) is done 8 bits at a time, with the help of a few extra support devices. Even though the 8088 has the same instruction set as the 16-bit 8086 microprocessor, the necessity of funneling all data through an 8-bit path degrades the 8088's performance to the point where it is more like a fast 8-bit microprocessor with an extended instruction set than it is a 16-bit microprocessor. After all, how much processing can you do on a number without accessing memory again?
Still, the IBM microcomputer combines the architecture of a 16-bit machine with the cost advantages of using familiar 8-bit memory and system design. The 8088 microprocessor in the IBM microcomputer runs at 4.77 MHz.
The disk drives are soft-sectored, double-density, single-sided drives that use MFM (modified frequency modulation) encoding. The floppy-disk drive uses 40 tracks per disk, with eight 512-byte sectors per track. This results in 163,840 bytes of storage per drive. The drive has a motorstart time of 500 ms, a track-to-track seek time of 8 ms, and a data transfer rate of 250 K bits (not bytes) per second.
The IBM Personal Computer includes a cassette-recorder interface that connects to any good-quality cassette recorder through a user-supplied cable. The IBM microcomputer can be configured to use either the microphone or the auxiliary input of the recorder by changing a jumper on the bottom of the main printed-circuit board in the System Unit. The data-transfer rate is between 1000 and 2000 bits per second (bps), depending on the content of the data. The signals used to control a cassette recorder are motor control, ground, data in, and data out.
The right side of the back panel of the main unit (photo 10) contains whatever sockets are made available by the peripheral cards plugged into the expansion slots. Unused slots are masked by metal plates to prevent the escape of any RF radiation. The bottom left corner of the panel contains the power plug to the IBM Monochrome Display and the plug for the main power supply. In the bottom center of the panel are 5-pin DIN plugs that go to the keyboard (left) and the cassette tape recorder (right)
The keyboard (see photo 3) is one of the most important components of any computer because it is the primary device through which you give instructions to the computer. Most existing microcomputers have something wrong with their keyboard design; the most common errors are functions unavailable from the keyboard and poor keyboard layout. With one exception, the IBM keyboard seems to be faultless. It is, bar none, the best keyboard on any microcomputer.
The IBM keyboard abounds with good features. The keys have a nice "feel" to them and give tactile and audible feedback when pressed. The keyboard is a separate unit that can be placed up to several feet away from the main unit. It is light enough to rest and use in your lap. The keys themselves are "sculpted" - that is, an imaginary plane touching all the key tops has a slight concave curve to it. The keyboard has two plastic feet that can be used to tilt it up when it is used on a flat surface. A plastic ledge just above the top row of keys can be used to prop an open book between the video display and the keyboard.
Several keyboard features deserve more description. The right side of the keyboard contains a numeric keypad that doubles, in certain situations, as a set of text and cursor-movement keys. The left side contains ten function keys, whose functions can change with the application. (The twenty-fifth line of the video display can be used to illustrate their current use, and you can redefine these keys at any time from BASIC.)
Three keys must be pressed simultaneously to restart the system: Ctrl, Alt, and Del; it takes two hands to do this. Depressing the Ctrl and Scroll Lock/Break keys interrupts a running BASIC program. The up-arrow (shift) and PrtScr keys cause the text contents of the video display to be printed. Ctrl plus Num Lock causes the executing BASIC program to pause; the next key pressed causes it to resume.
The Alt key lets you generate any extended ASCII value from 1 to 255, even if that code is not otherwise generated by the keyboard. By holding down the Alt key and typing
a number between 1 and 255 on the numeric keypad, that code is generated when the Alt key is released. (For some reason, the IBM unit I tried would not generate 0 with the Alt key. However, 0 could be generated by Ctrl plus the 2 key on the top row of the keyboard. )
Another nice feature of the IBM keyboard is its 10-character typeahead buffer, which keeps you from losing keystrokes if you type information into the IBM microcomputer before it is ready to receive it. In addition, the system software is written such that every key has an autorepeat feature; i.e., every key repeats its function if it is held down for more than half a second.
My one complaint against the keyboard is minor. The right and left shift keys are one key farther away from the center of the board than most people are used to. This means that, until you get used to reaching for the shift keys, you will accidentally type the slash and reverse-slash keys instead. This problem is minor, however, compared to some of the gigantic mistakes made on almost every other microcomputer keyboard. The IBM Personal Computer is a delight to use largely because of its keyboard.
When the IBM Personal Computer is first turned on, a series of fourteen tests are performed on the system and any errors are reported immediately. These include tests of the ii 8088 microprocessor, the internal I ROM, the main memory, the video display adapter card, the keyboard, the cassette recorder (if attached), and the floppy-disk system. The memory test includes five different read/write tests of the entire user memory area, each using a different
bit pattern for testing. Because of this, the initial startup of the IBM microcomputer may take between 5 seconds and about 1.5 minutes, depending on how much memory is in the machine. For example, in my test a 64 K-byte, disk-based machine took about 18 seconds to complete its initial tests and about 25 seconds more to complete the bootup of the machine.
When the system is restarted from the keyboard with the Ctrl-Alt-Del triad of keys, the system tests are omitted, thus greatly reducing the delay associated with rebooting.
The IBM BIOS
All software interacts with the hardware of the IBM microcomputer through part of the DOS called the BIOS (basic input/output system). In the IBM microcomputer, all calls to the BIOS are done as 8088 software interrupts. There are 256 such interrupts available on the 8088, of which 193 are used by DOS and BASIC.
BASIC uses many of the reserved interrupts to interact with the rest of the machine. By using the interrupts as "hooks" to the actual routines, which are stored in high memory (see table 6), the system can add new devices and change the behavior of existing ones by writing new routines in user memory and changing the appropriate interrupt vectors to point to the new code. In fact, this is how the disk and advanced BASICs add features to the cassette BASIC in ROM. In the same way, a programmer with sufficient skill can extend the behavior of the IBM Personal Computer by modifying the BIOS and placing the commands needed to patch them into the system into an AUTOEXEC.BAT file; the batch file should end with a program that executes an INT 27 interrupt, which allows the code to remain in the system until it is turned off. Much technical information (including an 80-page fully documented listing of the IBM BIOS) is included in the manual Technical Reference.
One interesting use of the IBM BIOS relates to the IBM keyboard. The keyboard, which contains an Intel 8048 microprocessor, does not deliver ASCII codes to the System Unit. Instead, it delivers two scan codes per keypress: one when the key is pressed, and a different one when the key is released. The IBM BIOS decodes the scan codes into an extended ASCII code that can return 256 one-byte codes and several two-byte codes for each keypress.
The IBM Personal Computer is a very good machine, but it does have some shortcomings. This is no reflection on IBM's ability to design a microcomputer; rather, it is a reflection of the trade-offs between capability and cost that had to be made to make the machine competitive in the existing market.
The most serious weakness of the IBM Personal Computer is the small number of expansion slots available for future use. Note that I say "for future use"; one slot is taken up by a video adapter card (or two if you want both kinds of display), and another is taken up for each of the following devices: the 5.25-inch Diskette Adapter card (if you want a floppy disk), the Asynchronous Communications Adapter card (if you want an RS-232C port), the Printer Adapter card (if you have the color/graphics video card and want a parallel printer), and the Game Control Adapter card (if you want joysticks or game paddles). Since you need an empty expansion slot for each 64 K bytes of memory above the first 64 K bytes, it is obvious that you cannot put everything into the IBM microcomputer that you might want to. The most frequently encountered limitation is the amount of memory you can have in the micro-computer; if you want a floppy disk and the RS-232C card, you can have only (I) 192 K bytes of memory - all five slots are filled. With a moment's reflection, you will see that the expansion slots in the IBM Personal Computer will fill rather quickly.
At the moment, the IBM Personal Computer system is weak with respect to word processing. First, IBM does not market a letter-quality printer. This means that, if you want to do word processing on the IBM microcomputer, you have to trust that your IBM dealer will also sell you a letter-quality printer and cable that will work properly with your software. This problem of compatibility has been very common in the microcomputer industry to date. It is surprising that IBM, which has worked so hard in some other areas to avoid this problem, has literally left it to chance here.
Of course, the explanation of "limited resources" can be given here, too. That is, if IBM had waited until it had everything lined up, the product would not have been introduced as early as it has been. Still, the criticism stands that, by not providing a full product line, the IBM Personal Computer system, throught no fault of its own, may fall prey to hardware and software incompatibility, thus creating still more disappointed microcomputer users.
Another weakness of the IBM Personal Computer as a word processor is the lack of versatile wordprocessing software to drive the machine. The only word processor available at the time of this writing is Information Unlimited's EasyWriter. I was given a chance to work with the EasyWriter word processor on the IBM microcomputer, and I found a few things I didn't like about it. In general, the software didn't seem to be of the same caliber as, say, VisiCalc or the Peachtree business packages. Specifically, at times the software left me not knowing exactly what to do next, and I found the scrolling - both up and down - to be slow. (Scrolling down is understandably slow because the entire screen has to be rewritten, but scrolling up is usually fast, whether it be on a memory-mapped video display or a terminal. On the IBM EasyWriter, the scrolling is as slow going up as it is going down.) I have used the Apple II version of EasyWriter extensively, and my opinion of it is the same as for the IBM version: it is a good piece of software for the money, but it isn't as versatile as some applications require.
I'm sure that Magic Wand, WordStar, or something similar will be available very soon for the IBM microcomputer, but EasyWriter is the only choice for the moment. My advice is: if you have an IBM Personal Computer, use the EasyWriter package a lot before you buy it. If you are looking for a system to be used primarily for word processing and you can t afford to wait for better software, I suggest that you look at other existing systems, such as the Radio Shack TRS-80 Model II or the Xerox 820. The IBM system, as it currently stands, does not compare favorably with these other systems.
Another limitation of the IBM Personal Computer is that, even though up to 256 K bytes of memory are available, the extended Microsoft BASIC cannot access more than a 64 K-byte workspace (I assume this includes both program and data), even though the IBM Pascal Compiler (also by Microsoft) and other proposed system software are said to be able to access all the workspace memory in the machine. Sixty-four K bytes seems to be so much memory, especially since we are used to program, data, and the BASIC interpreter fitting into 64 K bytes. Still, it's unfortunate that all that extra memory (which is one of the main reasons for buying the machine) can t be used by BASIC, the computer language that will probably most often be used on the machine.
Another weakness that must be mentioned is an extension of one previously discussed: the IBM dealer will have to supply certain useful or even vital components of a complete IBM microcomputer system. IBM says it has no interest in manufacturing color monitors, letter-quality printers, joysticks, or light pens, nor can IBM supply you with the cables that will have to be made to connect these devices to the IBM micro-computer. In addition, if you want to connect your IBM microcomputer to a standard color TV (which is what most people will do), you will have to rely again on the judgment of your IBM dealer for the correct cable and RF modulator. I'm sure that in most cases no serious problems will arise, but by not making the entire product line itself, IBM has lost its guarantee of total system compatibility.
As someone not unacquainted with the programming of games, I found a few inadequacies with the graphics commands of the extended Microsoft BASIC. Although the graphics-definition language is excellent, shapes are allowed to rotate only in 90-degree increments. In addition, the only way I found to detect the collision of a drawn shape with the contents of the screen is through a POINT function that gives the color number of a given point on the screen. Although this can, with some effort, be used for that purpose, it falls far short of the methods of detecting collisions available on the Apple II and the Atari 400/800 computers. Perhaps some enthusiastic programmer will find a memory location that indicates whether or not a drawn shape has collided with another image on the screen. In any case, these are small criticisms of a machine that does so many things so well.
One interesting thing about IBM is that it refuses to acknowledge the existence of any product that is not ready to be put on dealer's shelves tomorrow. Although this is frustrating at times, it is a refreshing change from some companie's practice of announcing a product even before its design is finished. Here are some speculations about future IBM Personal Computer products. The first two are almost assured, while the rest follow in increasing degree of uncertainty.Two more disk drives. Although, at the time of this writing, IBM maintains that only two disk drives are available for the IBM micro-computer, Technical Reference indicates in several places that provision is made for two external disk drives to be connected to the 5.25-inch Diskette Drive Adapter via the DB-37 connector on the back of the adapter card. (See the leftmost plug in the expansion slot area in photo 10.)
An 8086/8088 macro assembler. The Technical Reference bibliography lists a manual for the IBM Personal Computer Macro Assembler. It may be available by the time you read this article.
Now we start with the speculations:
SofTech Microsystems' UCSD p-System. IBM announced that this operating system would be available for the IBM Personal Computer; this would make UCSD Pascal, FORTRAN, and BASIC available, and it would allow the IBM microcomputer to run the same programs as other UCSD systems. However, IBM would not give me any availability dates.
A typing tutorial program. This was mentioned once in the front of the IBM Guide to Operations-but then, so were joysticks and RF modulators. Microsoft may adapt its Typing Tutor for the IBM Personal Computer.
An official letter-quality printer and a major-league word processor. IBM may have plans to do this, or it may be relying on manufacturerš eagerness to expand their potential market. Someone will probably do it, but it may not be IBM.
An "expansion box" to increase the number of peripheral cards that can be placed in the computer at one time. This would resolve a design limitation of the IBM Personal Computer as it now exists.
A 128 K-byte (or more) memory board. As the 64 K-bit memory ICs decrease in price and become more available, IBM may market expansion boards that hold more than their current 64 K-byte limit. This would free up one or two expansion slots, but it might also allow the IBM Personal Computer to hold more than 256 K bytes.
A database management system. This, like many other business packages, is needed to strengthen the position of the IBM microcomputer in the business area.
An official RGB color monitor. I don't think IBM is going to go for this one, but it should. I have seen three separate IBM Personal Computers with RGB monitors. In all three cases, the monitor used did not have an input for the intensity signal and so could display only eight of the sixteen possible colors. This is, again, a situation where IBM has surrendered the guarantee of complete compatibility by not manufacturing the product itself.
A Winchester hard disk (the bigger, the better). Admittedly, this is a real guess, but it would make the IBM Personal Computer more attractive for certain business applications. The Apple III, a direct competitor to the IBM microcomputer, is now being offered with a Winchester disk. Is IBM going to ignore this?
Memory expansion past 256 K bytes. It may be possible to replace the 16 K-bit 4116 dynamic memory integrated circuits with the new 64 K-bit devices, both on the main printed-circuit board and on the memory expansion cards. If this can be done, the theoretical memory limit is the 20-bit, one-megabyte addressing limit of the 8088 microprocessor. The actual limit is somewhat less than that - a memory map in the Technical Reference manual (see table 6) allows room for "future expansion' of 576 K bytes, for a total of 832 K bytes.
When I look at the several inches of IBM Personal Computer manuals that fill my bookshelf, I am reminded that there is so much about this system that I have left out. Still, I have tried to talk about the most exciting and most important aspects of the system. The genius of the people who designed the IBM micro-computer is that they managed to do everything conventionally but well - the IBM Personal Computer doesn't have any startling innovations, but it also lacks the moderate-to-fatal design problems that have plagued other microcomputers.
The IBM Personal Computer isn't as well supported as the Radio Shack TRS-80 family or the Apple II, but then it hasn't been around very long. In two years or so, I think the IBM microcomputer will be one of the most popular and best-supported microcomputers around. This micro-computer is as close as I've ever seen to being all things to everybody. IBM should be proud of the people who designed it.