
IBM's entry into the small-computer market with its Personal Computer was a big event in the industry. And that's why we've taken a second look. Showcased in our cover photo by Paul Avis, the IBM Personal Computer is a versatile machine. For an in-depth report on its many features and capabilities read Gregg Williams' article, "A Closer Look at the IBM Personal Computer."
Hardware is our theme this month and among the many articles on that topic are Bill Barden's second in a series, "Build a Joystick A-to-D Converter for the TRS-80 Model I or III," and Kenneth Piggott's "Troubleshooting with Electronic Signatures." As well, learn how to expand your ZX-80's memory, control motors and appliances, and interrupt your Elf. All this plus our regular features and reviews.
Extract : « The story behind the creation of the IBM Personal Computer is as interesting as the machine itself. In this issue Gregg Williams discusses in great detail IBM's most recent offering to the microcomputer field (see "A Closer Look at the IBM Personal Computer," page 36). In this editorial I'll tell you the story of its development, talk about the machine's operating system, and discuss the possibility of establishing a standard for operating systems.
Breaking the Speed Barrier
As IBM watchers know, it usually takes about five years from the time a project at IBM is conceived to the first shipments of the completed product. This is typical for complex computer projects at large companies. Amazingly, the total time for the IBM Personal Computer project was about 13 months. How did this happen?
One answer is that IBM limited the number of in-house innovations. Instead it used existing hardware and software components from outside vendors — a departure for the normally vertically integrated giant. Imagine how bizarre an Intel-manufactured processor would have seemed in an IBM product of, say, five years ago.
Another factor in IBM's speed is that the company gave its design team a wide latitude and a great deal of autonomy. The rest of the company left the designers, based in Boca Raton, Florida, alone to do their job, although IBM's quality-assurance group did keep a close eye on the software chosen for the machine.
One of the most interesting aspects of the Personal Computer is that its design team included many computer hobbyists and "hackers" — people who owned and were familiar with existing microcomputers. And the IBM machine reflects their experience. I'm glad they avoided many design mistakes of the past. The keyboard alone is one of the best I've seen, though I wish the shift keys were more conventionally positioned. (Oh well.) [...]
Operating Systems [...]
At the bottom is the IBM DOS (called MSDOS by Microsoft) [...] »
Coarse and fine scrolling, both horizontally and vertically, let the display screen become a window for viewing large amounts of data.
Extract : « Conventional computers use coarse scrolling. With this type of scrolling, the pixels that hold the characters are fixed in position on the screen and the text is scrolled by moving bytes through the screen randomaccess read/ write memory (RAM). The resolution of the scrolling is a single character pixel, which is very coarse [...] This produces a jerky and quite unpleasant scrolling. Furthermore, it is achieved by moving up to a thousand bytes around in memory, a slow and clumsy task. In essence, the program must move data through the playfield to scroll.
Some personal computers produce a somewhat finer scroll by drawing images in a higher-resolution graphics mode and then scrolling these images.. Although higher scrolling resolution is achieved, more data must be moved to attain the scrolling and the program is consequently slowed.
The fundamental problem in both methods is that the scrolling is implemented by moving data through the screen area [...] »
The Personal Computer is a versatile microcomputer that can be used in almost any application.
Extract : « 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 microprocessor 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 bestdesigned microcomputer to date. In this article, I will take a closer look at the IBM Personal Computer, inside and outside.
An Overview
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 K-byte 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 (shown with the optional printer stand in photo 1) [...]
The IBM DOS
The IBM disk operating system (DOS) (written by Microsoft with help from Seattle Computer Products) bears a superficial resemblance to Digital Research's CP/M operating system. (For example, the IBM DOS gives the prompt "A>".) However, the IBM DOS is a scaled-down version of Microsoft's 16-bit Unix lookalike, the Xenix operating system. In addition, the commands are better worded than in CP/M [...] »
Learn how to design and build economical analog interfaces.
Extract : « Most Circuit Cellar articles present basic concepts of digital electronics in the form of novel construction projects. Sometimes, however, I have to cover a significant subject without a disguise.
One such subject area is analog-todigital (A/D) and digital-to-analog (D/A) conversion. It has been about three years since I last wrote an article discussing these essential processes. Judging from my mail, many new readers of BYTE are just now discovering that their computers can be connected to more than a printer and modem. With these readers in mind, I am presenting basic information on A/D and D/A conversion in addition to the usual construction project.
Meet the Real World
Many applications for computer controls exist around the home, such as energy management, security, and environmental monitoring. All these applications require measurement inputs and control outputs in quantities not easily expressed in the 0- and +5-volt (V) transistor-transistor logic (TTL) levels present in your computer.
An energy-management system for example, may need to monitor a temperature range of to 100 °C with a resolution of 0.1°. The thermocouple sensing this temperature range might generate only 1 or 2 millivolts (mV) per degree. A proportional drive pump motor in the same system might require a 2.40-V set-point control input to produce the proper flow rate through the system.
Systems such as these are in the "real world" the continuous, analog environment outside the binary logic-0 and logic-1 domain of digital computers. A computer system's interaction with the real world requires some scheme for translating analog measurements to and from quantized binary equivalents.
In this article, therefore, we'll look at the design and construction of economical analog interfaces. I shall first outline the basics of digital-to-analog conversion and then go on to analog-to-digital conversion, describing the design of a low-cost circuit for each. Finally, I'll describe the characteristics and use of some of the newer D/A- and A/D-converter components on the market [...] »
Use your TRS-80 as a file-transfer terminal and debugging monitor for a 6800 system.
Extract : « It can make your TRS-80 act like an enhanced MIKBUG terminal with disk storage of your 6800 object-code files. (Your TRS-80 must be equipped with a disk drive and an RS-232C interface. Your 6800 system should be equivalent to the Motorola MEK 6800 D1 with the MIKBUG monitor.)
Features of the MOM6800
The 6800 MIKBUG and TRS-80 are linked via their RS-232C interfaces. MIKBUG thinks the TRS-80 is an I/O (input/output) terminal, which means that the TRS-80 can communicate only via standard MIKBUG commands. However, the MOM6800 program interprets your input, allowing you to use MIKBUG commands plus some extras, including file transfer, display of 16 bytes of memory {Dxxxx), and execution at a specified address (Gxxxx) [...] »
Straight talk on a variety of new products from a hard-to-please computer user.
Extract : « [...] Future Operating Systems
So what will be the operating system for future micros? Will we, as Chris Morgan wrote in his recent editorial "The New 16-Bit Operating Systems, or, The Search for Benutzerfreundlichkeit" (June 1981 BYTE, page 6), "get it right the second time"? Or are we stuck with CP/M forever and aye?
Well — first, what does "stuck" mean? For all its problems—and Lord knows it has plenty — CP/M isn't all that bad, for users. Programming hackers really hate it, but true hackers hate almost anything they didn't grow up with. Users don't know some of the inconveniences of CP/M. Worse, most users don't know all its nifty features because of the wretched documentation for which Digital Research is notorious, but CP/M is fairly easy to learn and use, even for beginners. It gets the job done.
And now that Xerox has adopted CP/M for its much-advertised systems, one conclusion is plain: any popular system of the future will have to be upward compatible with CP/M, because there's just so much good software running under CP/M. Digital Research did us all a good turn by coming up with something approaching a standard in this field. I remember when we had to use F-DOS [...]
PL/I-80
What is a program worth? Well, there's a legal maxim: "the value of a thing is what that thing will bring," which is to say that something's worth what people are willing to pay for it [...]
dBASE II is a relational database. This is in contrast to tree-structured databases. Relational databases make a kind of matrix of data; you can then structure the data any way you want, examine relationships you hadn't realized were there, and in general play about with the data. Tree-structured systems of the CODASYL variety require you to do the structuring in advance, and woe to you if you get it wrong [...]
Statistical Analysis with Microstat |...]
Soothing the Savage LISPer |...] »
A hardware/software project to make your TRS-80 "sensitive" to the analog world.
Extract : « [...] This month I'll give equal time to Model I and III users by presenting a hardware/software project that allows joystick and other analog inputs to these computers. Since the Model I and III don't have built-in analog-todigital (A/D) conversion circuitry, we'll have to make our own. It's a simple project requiring two common integrated circuits, a few resistors, and some other components — costing less than $20 (not bad for a two-channel, 64-step A/D converter). You won't have to modify your computer at all — the A/D circuit plugs in as a printer does. Since the device connects to the line-printer bus, you'll need a Model I with Level II BASIC and an expansion interface or a Model III with Model III BASIC.
I'll provide step-by-step instructions for fabricating and testing the circuit. Finally, I'll show you how to use the A/D converter with a joystick and other analog input devices [...] »
A "free-running'" microprocessor can help to fix a malfunctioning computer system.
Extract : « Until recently, the tools available for finding hardware errors in microprocessor systems have been meager. Logic probes are satisfactory for detecting logic levels and the presence of pulses but are unable to detect errors in data streams. An oscilloscope is of limited use because all data pulses tend to look alike. Logic analyzers let you store long data streams (250 bits and longer) for later evaluation. But in order to check for single-bit errors, each bit stored has to be compared to a known good pattern (a long and tedious job). Additionally, using a logic analyzer generally requires a certain amount of expertise. A technique known as signature analysis, however, allows easy detection of hardware-related data-stream errors.
Signature Analysis
Signature analysis is a technique, pioneered by Hewlett-Packard, that detects errors in data streams caused by hardware failure. Much as waveforms in an analog circuit being tested can be compared with ideal waveforms shown on a schematic, signatures derived from a digital system can be compared with known good signature values in order to isolate defective components. Single-bit errors can be detected with greater than 99.99 percent certainty using signature analysis [...] »
Upgrade your Sinclair ZX-80 for under $200 with a 16 K-byte memory-expansion project.
Extract : « On first glance, the Sinclair ZX-80 seems to be an ideal personal computer. It is small (very), cheap ($199), and has video output, cassette storage, plus a high-level language (BASIC). Sinclair is just now offering an expansion of the minuscule 1 K bytes of on-board RAM (programmable memory) to 16 K bytes, for less than $100, and also offers an 8 K-byte floating-point BASIC for $40. The machine appears ideal for running some interesting programs.
Though the availability of the 16 K-byte RAM is a recent development, my desire to expand the ZX-80's capabilities took root many months ago and caused me to take action myself. Being impatient, I decided to design my own 16 K-byte expansion using static, not dynamic, memory devices. (After I completed this expansion project, Sinclair's 8 K Extended BASIC became available. I am now using it with my 16 K-byte ZX-80.) [...] »
BSR X-10 strikes again.
Extract : « Many of us are familiar with BSR's console. command units and receiving modules that control lights and appliances by transmitting signals over ordinary 115-volt AC wiring. In the January 1980 BYTE ("Computerize a Home," page 28), Steve Garcia discussed the control signals required to communicate with the BSR console command unit and presented an interface circuit for controlling the ultrasonic unit.
Being a gadget nut, I had already purchased a console command unit that did not have ultrasonic capabilities. My decision to discard a perfectly good console and purchase one with ultrasonic capabilities met with stiff opposition from my wife. So I was faced with converting my present unit if I wanted to experiment ("play," as my wife puts it) with computer control of remote appliances.
BSR System Operation
Even though the standard BSR command unit cannot be used with the hand-held ultrasonic controller, serial communications with the unit remain possible. As a preface, I'll briefly review operation of the ultrasonic data link between the hand-held transmitter and the console receiver [...] »
Hardware and software provide video-display and variable-period interrupts.
Extract : « Clocked (periodic) interrupts are useful in many microprocessor applications. My wish was to operate a data-logging system in the background while my COSMAC Elf was also executing other tasks. Clocked interrupts provide a relatively simple software-control method for the background task without burdening the system with software timing loops or flag checks [...] »
How to build a low-cost EPROM programmer based on an RCA 1802 microprocessor.
Extract : « Programming an EPROM (erasable programmable read-only memory) has become much easier in recent years. The old-style 2708 EPROMs (1 K by 8 bits) required + 26 volts (V) to be turned on and off 100 times for each byte programmed — a total programming time of 100 milliseconds (ms) per byte. A 2708 programmer was a complex device that often relied on adherence to close timing specifications and used switching transistors. It was also necessary to program the whole device at once — unprogrammed addresses contained invalid data and could not be programmed until the entire device was erased.
The newer 2716 (2 K by 8 bits) and 2732 (4 K by 8 bits) EPROMs, on the other hand, use only +5 V on the programming pin (a + 25 V supply is necessary, though). A single byte at any address can be programmed in 50 ms. Under certain circumstances, you can even program one bit of a byte.
These features make EPROM programming possible with a relatively simple circuit connected to a microprocessor. This article describes an EPROM programmer, based on the RCA COSMAC 1802 microprocessor, which is designed for the not-so-affluent computer enthusiast. (Projected cost for the programmer circuitry is about $30, and single-board 1802 computers are available for about $100. Considering that industrial programmers cost thousands of dollars, this is an outstanding value.) The approach I have taken should allow any 1802 computer to be used [...] »
With the hardware and software described here. you can pick up the phone and wish a deaf friend a good day.
Extract : « When a deaf woman came to work in my office last summer, I realized I had been taking for granted the ability to hear. She read lips and I learned some sign language, so we were able to "talk," and we corresponded by letter when she returned home to St. Louis at the end of the summer. But I was frustrated that I couldn't pick up the phone and wish her a Merry Christmas or happy birthday. This article describes how I overcame that frustration by turning my Apple into a communications device that helps me talk to my friend and other hearing-impaired people.
Devices called TTYs (teletypewriters) allow the deaf and hearing-impaired to communicate with one another over the phone. The two parties type their messages on keyboards and receive a response either as a printout or video display. The process resembles the way microcomputers communicate with a remote computer by using a modem, except that the communications frequencies used by TTYs are not compatible with standard computer-modem frequencies [...] »
Reduce the size of text files by identifying common pairs of letters.
Extract : « [...] Choice of compression algorithm is dictated by the data characteristics and the amount of space and running time tolerable in the compressing and decompressing routines. In this case, the data was general English text, which is probably the least compressible of any. The compression routines had to be small and simple, but not necessarily fast.
After some figuring, I came up with an algorithm that was fairly simple to implement, quick in execution, and effective. It can usually squeeze text to 75% of its original size. While it may have been written before, the algorithm was new to me. Anyone who needs to compress general text may find it useful, too.
The branch of mathematics called information theory says that data is compressible in so far as it is predictable. That is, the minimum number of bits needed to convey a particular message (using message to mean a piece of information) depends on how many unique messages might be sent. At one limit, if only two messages are sent or stored, then only one bit is needed to encode them. Paul Revere's warning signal in the tower of the Old North Church could have been such a system: "0 = land, 1 = sea." (Historically, the famous signal was, of course, "one if by land, two if by sea.") At the other extreme, if absolutely any message at all might be sent, then an infinite number of bits would be needed to encode any single message uniquely [...] »
An introduction to the principles of structured programming with examples in Cromemco 32 K Structured BASIC.
Extract : « [...] The essence of structured programming is simplicity. Since a structured program is broken down into small logical modules, called procedures, each of the modules can be independently tested, and the program is easier to debug than the large, tangled mess of a conventional program. When the entire program is finally run, the only untested part is the interaction between the modules, and the program is much more likely to execute correctly than an equivalent program that is not built from modules.
Cromemco 32 K Structured BASIC gives you the option of dividing the user memory in the computer into as many as eight partitions. Each partition can contain either a single procedure or a group of related procedures and has its own set of variables, statement labels, and line numbers. When a procedure in a given partition is called from another partition, values and variables may be passed to it as calling parameters and returned as return parameters [...] »
How to tell if your location is suitable for a satellite-receiving antenna.
Extract : « [...] The GEOSAT program presented here will calculate the azimuth and elevation angle on which a TVRO antenna must be placed to receive signals from a specified geosynchronous satellite. (Note: while this article discusses TVRO sites in the United States, the program will calculate the antenna look angle for any site in the world.)
For precise designation of any point on or above its surface, the earth is divided into an imaginary grid. Grid lines circling the earth parallel to the equator indicate latitude; those extending from pole to pole indicate longitude [...] »
Extract : « With the cost of most computer hardware decreasing, RCA's introduction of an inexpensive data-entry terminal hardly comes as a surprise. For a modest investment, the VP-3301 delivers many features formerly available only on more expensive terminals.
The terminal comes complete with an RS-232C interface and a 20-milliamp (mA) current-loop interface. It is capable of directly driving a standard television monitor, or it can be connected to a television receiver if an RF (radio-frequency) modulator is used [...] »
Extract : « SD Systems' Z80 Starter Kit came out in 1979. It is a single-board computer comparable to the KIM-1 (formerly manufactured by MOS Technology) and to the evaluation kits offered by microprocessor manufacturers, particularly Intel's SDK series and Motorola's MEK systems. Such systems are a good beginning for computer enthusiasts who have a limited budget but desire to get involved with microcomputer hardware and machine-level software.
I chose the Z80 Starter Kit because of its Zilog Z80 microprocessor and its expandability. The Z80 is more powerful and potentially faster than Intel's 8080 processor and yet is compatible with 8080 software.
Therefore, it can run Digital Research's CP/M, the de facto standard microcomputer disk operating system. It can also be easily interfaced to the S-100 bus. The kit has space for mounting two S-100 circuit boards (connectors are not included). Since I eventually hope to put together a business-type computer system with disk mass storage, the kit seemed like a good place to start.
The Z80 Starter Kit has two other important features that influenced my decision. It can program EPROMS (erasable programmable read-only memories) such as the 2716 and 2758 that require only a single +5 V power supply. No other single-board computer that I know of includes this feature; and the Starter Kit includes enough blank area for prototyping circuitry [...] »
Computers and the Radio Amateur, Phil Anderson. Englewood Cliffs, NJ: PrenticeHall, 1982; 23.5 by 17.5 cm, 208 pages, hardcover, ISBN 0-13-166306-2, $18.95.
Computer Performance Evaluation: Tools and Techniques for Effective Analysis, Michael F. Morris and Paul F. Roth. New York: Van Nostrand Reinhold, 1981; 23 by 15.5 cm, 260 pages, hardcover, ISBN 0-442-80325-7, $24.95.
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory, Joseph E. Stoy. Cambridge, MA: The MIT Press, 1981; 14.5 by 22.5 cm, 414 pages, softcover, ISBN 0-262-69076-4, $12.50.
Developing Structured Systems, A Methodology Using Structured Techniques, Brian Dickinson. New York: Yourdon Press, 1981; 24.5 by 17.5 cm, 344 pages, softcover, ISBN 0-917072-23-5, $40.
International Microcomputer Software Directory, John Graham and Roy Wyand, eds. Los Angeles, CA: Imprint Software, 1981; 27.5 by 21 cm, 400 pages, softcover, ISBN 0-90735203-0, $29.95.
Laboratory Minicomputing, John R. Bourne. New York: Academic Press, 1981; 15.5 by 23 cm, 297 pages, hardcover, ISBN 0-12119080-3, $27.
Operational Amplifiers and Linear Integrated Circuits, 2nd edition, Robert F. Coughlin and Frederick F. Driscoll. Englewood Cliffs, NJ: Prentice-Hall, 1982; 15 by 23 cm, 376 pages, hardcover, ISBN 0-13-637785-8, $21.95.
Operating System Elements: A User Perspective, Peter Calingaert, Englewood Cliffs, NJ: Prentice-Hall, 1982; 15 by 23 cm, 240 pages, hardcover, ISBN 0-13637421-2, $23.95.
Starting FORTH, Leo Brodie. Englewood Cliffs, NJ: Prentice-Hall, 1981; 23 by 16.5 cm, 348 pages, softcover, ISBN 0-13-842922-7, $15.95.
Structured Programming Using PL/C, Joan K. Hughes and Barbara J. La Pearl. New York: John Wiley & Sons, 1981; 27 by 21 cm, 414 pages, softcover, ISBN 0-47104969-7, $17.95.
Word Processing, 2nd edition, Arnold Rosen and Rosemary Fielden. Englewood Cliffs, NJ: Prentice-Hall, 1981; 23 by 15.5 cm, 430 pages, hardcover, ISBN 0-13963488-6, $18.95.