1978 4.12 1980

Vol.4 n°12 december 1979

Vol.4 n°12 december 1979

(byte_1979_12.jpg)

[editor : Carl T. Helmers Jr.] [publisher : Virginia Londoner (Virginia Londner), Gordon R Williamson] [art : Ellen Bingham, Wai Chiu Li, Christine Dixon, Holly Carmen LaBossiere, Deborah Porter] [cover : Robert Tinney] [nota bene : Missing pages in archive.org. Full version in vintageapple.org] #Magazine

p.4 In this BYTE

p.4 In this BYTE

#Abstract

About the Cover: This month's cover features artist Robert Tinney's concrete realization of the theme for several articles in this issue: today's tools of analysis and design are computers, both as calculating-engines and as nontraditional symbol-manipulators. By implication, if Leibniz were alive today he would be employing a friendly desktop computer as a tool for examination of concepts ranging far beyond the calculus he helped shape.

p.10
p.10

The Fast Fourier Transform (FFT) is a unique algorithm that is necessary for the analysis and reproduction of signal waveforms. However, performing a complex mathematical derivation of the concept is not necessary. Fred Ruckdeschel has formulated a nonrigorous mathematical treatment of the FFT and demonstrates how it may be applied to synthesize a variety of waveforms in the Frequency Analysis of Data Using a Microcomputer. Page 10

p.36
p.36

Does data evaporate from your computer's volatile programmable memory when you turn the power off? Perhaps you could benefit from having some nonvolatile memory in your machine. Steve Ciarcia explores the useful properties of electrically alterable read-only memory as he tells how to Add Nonvolatile Memory to Your Computer. Page 36

p.54
p.54

After finding softwareintensive approaches to audio processing too slow for high fidelity sound, William J Dally set out to develop a system that uses hardware to speed up processing of audio signals. He explains his ideas in Faster Audio Processing with a Microprocessor. Page 54

p.106
p.106

Huffman code is a method for compressing text characters by exploiting their relative frequency of occurrence in text. Space savings of up to 50% can be realized using this technique. James Peterson discusses the advantages and tradeoffs involved in this and other types of Text Compression. Page 106

p.120
p.120

Numerical analysis techniques are quite often simplified by the use of powerful number handling algorithms available on large computer systems. A reasonable alternative to such analysis for the small-scale computer user lies in the utilization of the hand calculator. Small calculators continue to expand their capabilities as proven by Pierre Chance in his investigation of Analysis of Polynomial Functions with the TI-59 Calculator. Page 120

p.134
p.134

Most methods of estimating a particular function and plotting it require an analysis involving calculus. Timothy Bowker has written a program that performs a simple trigonometric analysis of a function which will yield an accurate approximation of the function and then print the curve on a HewlettPackard 9872A plotter. See his article entitled Minimizing Curve-Plotting Calculation. Page 134

p.144
p.144

In the analysis of system response, the utility of the transfer function is immeasurable. The transfer function will convert a time domain relationship into a frequency domain relationship, a manipulation that can prove to simplify the solution process . Bryan Finlay presents a clear picture of the concepts involved in a Noniterative Digital Solution of Linear Transfer Functions. Page 144

p.196
p.196

The usefulness of microcomputers is increasing as more powerful and varied programming languages are implemented. Christnpher Kern provides A User's Look at Tiny-c, one of the more recent languages to appear. Page 196

p.222
p.222

Some Notes on Modular Assembly Programming presents several examples of well-written assembler programs. James Lewis feels that a structured approach to program writing helps both the design and implementation processes. Page 222

p.241
p.241

Many people use loops in computer programs without really thinking about how they work. In Twenty-four Ways to Write a Loop, W D Maurer illustrates the endless variety of program loops and shows you how to get the most out of them. Page 241

p.247
p.247

If you're interested in using your computer to learn Morse code, Mark Bernstein's Morse Code Trainer can help you to practice. His program translates plain text into Morse code and then outputs it through a speaker. Page 247

p.250
p.250

Does it take you ten minutes to enter twenty lines of code at your terminal? Are your index fingers worn out from hours of hunting and pecking? Why not use your own computer to learn the useful art of touch typing. Read Arthur Armstrong's article, Thirty Days To a Faster Input. Page 250"

p.6 Editorial, On the Importance of Casting Abstractions

p.6 Editorial, On the Importance of Casting Abstractions

[author : Carl Helmers] #Edito

Extract : «  We human beings are a conceptual species. While firmly planted in our animal evolutionary roots, our chief distinguishing characteristic is a degree of development of our mental powers. This characteristic allows us to recursively reflect upon the degree of development of our mental powers, among other things. The idea of a computer as a mental amplifier fits well within this conceptual side of human nature. In part, this explains the intellectual fascination of computing technology, which is available on a widespread basis as the modern personal computer. As a thought recording and amplification device, the computer deals with abstractions admirably. But there is also another side to the human fascination with computing which should not be ignored: the casting of abstractions in concrete forms which are understandable and emotionally gratifying. Here we find the animal side of our evolutionary heritage interacting with the cerebral side, producing a positive human value for an otherwise sterile activity. [...]  »

TABLE OF CONTENTS

Foreground

Foreground

p.10 FREQUENCY ANALYSIS OF DATA USING A MICROCOMPUTER

p.10 FREQUENCY ANALYSIS OF DATA USING A MICROCOMPUTER

Application of the Fast Fourier Transform (FFT)

[author : F R Ruckdeschel] #Listing #BASIC #Book #Mathematics #DataAnalysis

Extract : «  People involved with digital electronics often deal with signals in which the voltage or current changes with time. When a pulse is distorted, its shape is generally expressed in terms of overshoot or rise time.

In the design of analog electronics equipment such as audio amplifiers, great emphasis is placed on frequency response and phase shifts. The performance of consumer oriented audio systems is not normally specified in terms of pulse rise time or pulse delay. However, such a specification would characterize the system's basic response to the zeroth order. The zeroth order qualifier is necessary because rise time is only an approximate (but very useful) description of a system's response to a stepped input. A complete description would be possible through comparative plots of input and output waveforms.

In communications theory both the real-time (signal versus time) and frequency (signal content versus frequency) representations are applied somewhat interchangeably since the object is to transmit real-time signals, such as pulses, over channels having bandwidth and noise limitations. The Fourier transform is used to aid in such analyses. To exercise this analysis technique it is assumed that the system response is linear. That is, if the input signal level is halved, so is the output signal, along with no change in signal shape. It is thus apparent why most digital engineers do not use Fourier transforms; their systems are highly nonlinear, and work well because of the nonlinearity. It is also apparent why audio engineers are heavily dependent on frequency analysis; their systems are highly linear.

The choice of the Fourier transform for electronics analysis is based on the properties of its "basis" functions, sinusoids. For example, in electronic systems which are composed of ideal inductors, resistors and capacitors, sinusoids have the unique property that if a pure sinusoid of a particular frequency is inserted anywhere into a circuit, examination of any other location in the circuit will show a pure sinusoid of the same frequency, though perhaps changed in amplitude and phase. There is no mode conversion. In real systems, however, nonlinearities in response can lead to harmonic distortion, which is another way of saying mode conversion.

Vital to the application of sinusoids in Fourier analysis is a property called linear independence. That is, it is not possible to generate a sinusoid of angular frequency w1, from the addition (a linear operation) of two other sinusoids having frequencies w2 and w3 (w1 ≠ w2 , w3 ). A nonlinear operation such as multiplication is required for this to occur.

Mathematically speaking, the sinusoidal functions used in Fourier analysis form a complete, continuous, and infinite set of orthogonal functions spanning the space of all real numbers. This should be compared with the analogous digitally-oriented Walsh functions (See "Walsh Functions," September 1977 BYTE, page 190). The Walsh functions form a complete, discrete (but infinite) set of orthogonal functions, also capable of spanning all real space.

Having discussed the basic utility of the functions which compose the Fourier transform, we will now take a brief look at the mathematical structure that will eventually be encoded into a program to calculate frequency transforms. [...]  »

p.36 ADD NONVOLATILE MEMORY TO YOUR COMPUTER

p.36 ADD NONVOLATILE MEMORY TO YOUR COMPUTER

Using electrically alterable read-only memory as a "read-mostly" memory

[author : Steve Ciarcia] #Memory #Electronic #Algorithm

Extract : «  EAROMs are word-alterable read- only memories intended for use as "read-mostly" memories. On the surface this may sound similar to an EPROM (erasable, programmable read-only memory). Once erased under ultraviolet light, an EPROM is indeed a word-alterable read-only memory.

In reality, there is very little similarity between the electrically alterable and erasable, programmable memory. An EPROM can be erased only in block mode and generally takes about 10 minutes to erase. While some can be programmed in as little as 50 seconds, an 11-minute (or more) read/write cycle-time hardly qualifies it in the category of high-speed programmable memory. An EPROM, therefore, is just a conveniently reprogrammable read-only memory.

An EAROM, on the other hand, does not rely upon ultraviolet light exposure for erasure. Clearing memory for reprogramming is done electrically. With a read time equivalent to a high-speed EPROM, complete or partial erasure in 10 ms, and a write time of a mere 1 ms, an EAROM fills the gap between truly programmable memory and EPROM. [...]  »

p.54 FASTER AUDIO PROCESSING WITH A MICROPROCESSOR

p.54 FASTER AUDIO PROCESSING WITH A MICROPROCESSOR

Selected hardware circuits make possible higher-fidelity processing systems

[author : William J Dally] #Listing #Assembly #Electronic #Algorithm #Audio

Extract : «  Audio processing involves transforming an audio signal by filtering, delay, and modulation to make the sounds more musically pleasing or to improve communication systems. Audio processing by both analog and digital methods has been performed for many years; however, these methods are expensive to implement if complete manipulation of the ouput signal is to be achieved.

The advent of low-cost microcomputers in recent years permits a new approach to audio processor design which has the advantage of much greater flexibility at competitive costs. T C O'Haver employed a microcomputer for audio processing using a minimum of hardware in the design, while relying upon software for signal manipulation (see "Audio Processing with a Microcomputer," June 1978 BYTE, pages 166 thru 173). With this heavy emphasis on software, the speed of the processor was not sufficient to process high fidelity audio signals (20 Hz to 20 kHz). This article presents a different approach wherein modest amounts of hardware are incorporated into the design of the microcomputer system, reducing the demands on the processor. Flexibility in manipulating the audio signal is not sacrificed, and the cost of the additional hardware is not excessive. [...]  »

p.120 ANALYSIS OF POLYNOMIAL FUNCTIONS WITH THE TI-59 CALCULATOR

p.120 ANALYSIS OF POLYNOMIAL FUNCTIONS WITH THE TI-59 CALCULATOR

A hand-held approach to numerical analysis

[author : Pierre Chancé] #Listing #TI #Mathematics

Extract : «  (from vintageapple.org/byte/pdf/197912_Byte_Magazine_Vol_04-12_Numerical_Analysis.pdf)

Between the elementary functions accessible by direct calculation and higher-order equations reserved for the computer, there exists an intermediate domain where programmable calculators are useful. Certain concrete problems sometimes lead to such equations without this creating an exceptional volume of calculation. Some have been encountered, for example, in the handling of small 6 by 6 matrices concerning medical data. Other technicians are also familiar with this type of obstacle in their fields. Consequently, the feeling is that it is worthwhile proposing a convenient program worked out on the Texas Instruments TI-59 and designed for sixth-order and lower-degree polynomial functions.

Independent of the advantages in mathematical terms, I hope that this article will give the user a meaningful introduction to this highly advanced calculator. For practical reasons, the original goals were as follows:
• calculate all the characteristic elements of the function (roots, maximums, minimums, and points of inflection where applicable)
• automatically plot the function curve
• control the program with a single key [...]  »

p.134 MINIMIZING CURVE-PLOTTING CALCULATION

p.134 MINIMIZING CURVE-PLOTTING CALCULATION

Curve-plotting routine for the Hewlett-Packard 9825A computer

[author : Timothy G Bowker] #Mathematics #Listing #HP

Extract : «  Are you plotting the results of time-consuming calculations? The efficient routine described here will give you accurate curves with fewer calculated points.

This article is written for the most common type of plotter/software combinations which draw straight lines between calculated points. Figure 1 shows superimposed curves, both of which are plots of the function 2^x as an example. The smooth curve is produced using a very small ΔX, while the other is created with a ΔX equal to 2. The marks below the X axis indicate the values of X (and ΔX, between two marks) used for the non-smooth curve. A comparison of the two curves illustrates where the greatest error occurs. When ΔX is constant and large, and straight lines are drawn between calculated points, the accuracy of a plot is less in regions of sharper curvature. The accuracy decreases in regions of greater slope (given equal curvature and constant ΔX) because the plotted line-segment length is greater at steeper slopes.

It is often desirable to have consistent accuracy throughout a plot, and yet minimize the number of points required to plot a curve (to minimize calculation and running time). In such a case, it would be more efficient to use small values of ΔX in regions of steep slope and/or sharp curvature, and large values of ΔX in regions of little slope and little curvature. [...]  »

p.144 NONITERATIVE DIGITAL SOLUTION OF LINEAR TRANSFER FUNCTIONS

p.144 NONITERATIVE DIGITAL SOLUTION OF LINEAR TRANSFER FUNCTIONS

The analysis of the response of dynamic systems

[author : Bryan Finlay] #Listing #BASIC #Algorithm #Book #Mathematics

Extract : «  This article will develop a technique for the precise, noniterative, digital solution of the time-domain response of linear transfer functions with constant coefficients. A computer program written in BASIC is provided for use on the Hewlett-Packard 9830A desktop computer. The program is suitable for solving equations that, in the Laplace domain, exhibit up to ten roots in either the numerator or denominator.

This program is shown to be at least ten times faster than certain iterative solutions when used for checking analog simulation data.

A complex second-order transfer function is used to demonstrate the use of the program in evaluating responses to impulse, step, ramp, and sinusoidal forcing functions.

Due to the availability of desktop computers it is thought that this relatively simple program could help to enhance educational courses in automatic control theory, as well as being of interest to personal computer users.

Most digital solutions of differential equations with constant coefficients involve iterative procedures. The efficient use of such procedures requires the operator to have a good knowledge of both the solution to the equations and the iterative procedure. A "feeling" for the time-course of the solution is particularly important when the response is oscillatory, otherwise an iterative solution can become quite inaccurate.

In the design and development of a complex automatic control system it is a common practice to use an analog computer simulation. The accuracy of the initial simulation is generally checked by comparing the analog results with those obtained from a digital solution of the equations. If the differential equations can be considered to have constant coefficients, then a noniterative solution of the time-domain response can be obtained by digital techniques.

Many automatic control theory problems present themselves in the form of the system transfer function and subsequent rearrangement to define the differential equations for iterative solution (as required by the Hewlett-Packard State Variables Pac). This can be a tedious, if not dissuading, process. It is the intention of this article to develop a technique that will permit the digital solution of the time-domain response of linear transfer functions (or more generally Laplace transforms) by a noniterative process. [...]  »

Background

Background

p.106 TEXT COMPRESSION

p.106 TEXT COMPRESSION

Decrease necessary storage space with Huffman codes

[author : James L Peterson] #Encoding #Method #Book

Extract : «  A continuing problem on any computer system is storage. There is never enough computer memory for all the information we wish to store. This is true both for programs in main memory and for the information which resides on peripheral devices.

One solution to this problem is simply to buy more memory. Particularly in the case of storage devices with removable media such as cassettes, floppy disks, magnetic tape and even paper tape, additional media can be purchased and used as necessary. But even here economics will eventually limit the amount of storage available.

An alternative approach is to try to make better use of existing storage media. This is where text compression can be of great use. The idea of text compression is to reduce the amount of space needed to store a file by compressing it, making it smaller.

Compression is accomplished by changing the way in which the file is represented. The encoding procedure is performed in such a way that it is reversible; that is, it can later be decoded to produce the original uncompressed file. This is illustrated in figure 1. The hope is that the encoded version of the file will be smaller than the original file, and hence space will be saved.

The cost of this space saving is processor time. Additional processor time will be needed to encode and decode the compressed files as they are processed. However, it should be noted that microprocessors are seldom processor bound, but more commonly have extra processor cycles available. In fact, the total execute time of many programs will be less on a compressed file despite its encoded form. This is because the I/O(input/output) transfer time for a compressed file is less than the transfer time for an uncompressed file, since there are fewer bits to read or write. Hence, I/O bound programs (like assemblers and loaders) may execute faster on compressed files.

The basic idea of text compression is to find an encoding method that takes up minimal space. Many algorithms for text compression have been invented, and we present some of them here. In general, these algorithms will work for any type of data, such as numeric, character string, and so on; but for purposes of this article we limit ourselves to text, ie: strings of characters. This will include programs, documentation, mailing lists, data, and many other files stored in computers. In fact, object programs, if considered as simply strings of bytes, can also be compressed, although this must be done carefully. [...]  »

p.196 A USER'S LOOK AT TINY-C

p.196 A USER'S LOOK AT TINY-C

Commentary on tiny-c

[author : Christopher O Kern] #Listing #C #Programming

Extract : «  As the microcomputer industry has responded to a rapidly growing market — a market composed of small business users and others who are less interested in computers than they are in using computers for particular applications — a considerable amount of good system-level software has become available. Unfortunately, any given computer hobbyist is able to use only a small portion of this software.

It is inevitable that the microprocessor that is chosen to be the central processing unit of a small computer will restrict the range of available software to the subset written for that microprocessor. But for the vast majority of computer hobbyists, there are two other impediments to using the system programs that are now on the market (assemblers, text editors and processors, language interpreters and compilers, and the like) that are far more important. First, available programs often require large amounts of memory and floppy disk storage; second, almost all of the software on the market requires that the user have a particular manufacturer's computer or, at the very least, a particular disk operating system.

There is a simple way around these two restrictions. The software vendor can sell his product as source code for particular microprocessors, with directions for adapting the program to the end user's computer system. Given the economic pressures of the software market, this has not proved to be a popular approach. However, an intriguing experiment in selling a sophisticated system program on this basis is being carried out by tiny-c associates (the lower-case style is theirs). This program offers an interpreter (for an exceedingly modest price) for the structured programming language tiny-c that can be easily adapted to any 8080-family or LSI-11/PDP-11 computer.

Tiny-c is based on the C programming language, which was developed at Bell Laboratories, where it was used to write the UNIX operating system under which the C compiler can be run. As might be expected of a programming language that can be used to write operating systems, C mirrors the actual operation of a computer somewhat more closely than does a language like BASIC. Tiny-c follows C's example in this respect, as well as most others. For those familiar with C (I was not at the time I started using tiny-c on my home computer), I should point out that tiny-c is not a true subset of C. There are slight syntactical differences, and tiny-c has a comparatively restricted set of statements, fundamental data structures, and operators. [...]  »

p.222 SOME NOTES ON MODULAR ASSEMBLY PROGRAMMING

p.222 SOME NOTES ON MODULAR ASSEMBLY PROGRAMMING

Modular programs aid design and implementation

[author : James Lewis] #Listing #Assembly #Method

Extract : «  Despite the dominance of BASIC over machine code (eg: assembly language) in the programming of personal microcomputers, a significant number of programs are written in machine code, and for many good reasons: machine programs usually run much faster than BASIC programs; machine coded programs do not require the overhead in memory space taken up by a BASIC interpreter; they often take less space than equivalent BASIC programs; and a BASIC interpreter may not be available on a given system.

The purpose here is not to further compare BASIC with machine code but rather to discuss a good way to use machine code, given that it has been selected as the language of choice. The method to be described focuses on an important aspect of machine coding: the use of subroutines. [...]  »

p.241 TWENTY-FOUR WAYS TO WRITE A LOOP

p.241 TWENTY-FOUR WAYS TO WRITE A LOOP

Dr Maurer takes you through a loop

[author : W D Maurer] #Listing #BASIC #Method

Extract : «  Actually, 124 ways (or more) illustrate the endless variety of looping — that simplest of programming techniques

To start with, let us look at table 1. There are several things about this table that should be surprising.

All we are trying to do is move some quantities from one place to another. There are N of them, and they are called P(1) thru P(N). We are trying to move them to Q(1) thru Q(N), which we could do, of course, using a FOR statement in BASIC, as follows:

10 FOR J = 1 TO N
20 Q(J) = P(J)
30 NEXT J

which should make sense even if you don't know BASIC. But we are trying to do this without a FOR statement, in order to learn how loops function; and immediately we are confronted with a wide variety of choices. Table 1 shows the first twenty-four of these. They are all different; they are all short; and they all do exactly the same thing. (Well, not quite exactly. At the end of some of them, J is equal to N + 1; at the ends of others, J may be equal to N, or to 1, or to 0. But since we are presumably not going to use J after we finish the loop, this should make no difference.) [...]  »

p.247 MORSE CODE TRAINER

p.247 MORSE CODE TRAINER

Use your computer to train with Morse code recognition

[author : Mark Bernstein] #Algorithm #Encoding #Electronic #Listing #Assembly

Extract : «  A commonly suggested application for microprocessors is translating text to Morse code. The subroutine described in figure 1 translates letters into Morse code and drives a speaker to serve as a Morse code trainer. Minor changes to the speaker driver routine would enable a microcomputer to key a transmitter directly.

The main entry to the routine is at hexadecimal address 0180. When the routine is called, the letter to be transmitted must be stored in register A as a number between decimal 0 and 25: 0=A, 1=B and 25=Z. By subtracting hexadecimal 41 from an ASCII letter code, this routine may be made compatible with ASCII text handling programs.

The program in listing 1 is relocatable. A data table (table 1) is expected to start at hexadecimal location 0080. The table may be relocated by changing the address stored in hexadecimal memory locations 0181 and 0182 to point at the location before the first word of the table.

Since the translation routine alters the contents of all registers, the user must write the mainline logic defensively. Registers containing important information must be saved by the user before calling the Morse code translator. [...]  »

p.250 THIRTY DAYS TO FASTER INPUT

p.250 THIRTY DAYS TO FASTER INPUT

Improve your touch typing skills

[author : Arthur Armstrong] #Listing #BASIC #DataAcquisition

Extract : «  Remember the last time you typed something into your computer? Did you look at the text to find out what to type, then at the keyboard to find out how to type it, then at the screen to see what you had typed? If you did, then it's time you learned to touch type. This is simply a means of learning the positions of the keys so well that typing becomes unconscious and automatic, and the material seems to flow directly from your mind to the page. The mechanical process becomes completely removed from the cerebral process, much like a musician playing an instrument.

Learning touch typing is not difficult. (Consider the millions of people who have mastered it.) All it takes is a convenient and permanent assignment of fingers to keys, some way of measuring progress, and a lot of systematic practice. Fortunately for you, your computer can perform all the tedious error checking and bookkeeping while you concentrate on the process. The program listed at the end of this article will help you become, if not rich and famous, at least less frustrated in your typing.

Admittedly, the traditional keyboard is not an efficient one. [...]  »

Nucleus

Nucleus

p.78 Letters

p.78 Letters

p.82 Technical Forum

p.82 Technical Forum

p.87 Programming Quickies

p.87 Programming Quickies

p.88 Languages Forum

p.88 Languages Forum

p.100 BYTE's Bits

p.100 BYTE's Bits

p.102 p.210 p.249 BYTE's Bugs

p.102 p.210 p.249 BYTE's Bugs

p.103 BYTE News

p.103 BYTE News

p.228 Event Queue

p.228 Event Queue

p.252 What's New?

p.252 What's New?

p.303 (p.287) Unclassified Ads

p.303 (p.287) Unclassified Ads

p.304 (p.288) Reader Service, BOMB

p.304 (p.288) Reader Service, BOMB

ADS (content taken from the reader service p.304)

ADS (content taken from the reader service p.304)

p.211 Aardvark Software

p.211 Aardvark Software

p.295 AB Computers

p.295 AB Computers

p.280 Ackerman Digital Systems

p.280 Ackerman Digital Systems

p.177 Administrative Systems

p.177 Administrative Systems

p.280 Adroit Electronics

p.280 Adroit Electronics

p.114 Advanced Access Group

p.114 Advanced Access Group

p.282 p.283 Adv Computer Products

p.282 p.283 Adv Computer Products

p.207 Aladdin Automation

p.207 Aladdin Automation

p.19 Altos

p.19 Altos

p.280 American Square Computers

p.280 American Square Computers

p.12 Anderson Jacobson

p.12 Anderson Jacobson

p.294 Apparat Inc

p.294 Apparat Inc

p.15 Apple Computer

p.15 Apple Computer

p.99 Applied Computer Systems Inc

p.99 Applied Computer Systems Inc

p.297 ASAP Computer Products

p.297 ASAP Computer Products

p.9 Atari Personal Computers

p.9 Atari Personal Computers

p.272 ATV Research

p.272 ATV Research

p.240 Automated Simulations

p.240 Automated Simulations

p.218 Avionic Enterprises {A.E.I.)

p.218 Avionic Enterprises {A.E.I.)

p.121 base 2 inc

p.121 base 2 inc

p.286 Beckian Enterprises

p.286 Beckian Enterprises

p.274 Beta Business Systems

p.274 Beta Business Systems

p.221 Beta Computer Devices

p.221 Beta Computer Devices

p.78 Bishop Graphics

p.78 Bishop Graphics

p.214 p.219 p.225 BITS Inc

p.214 p.219 p.225 BITS Inc

p.215 p.291 BYTE Books

p.215 p.291 BYTE Books

p.272 BYTE WATS Line

p.272 BYTE WATS Line

p.225 Byte Shop East

p.225 Byte Shop East

p.235 C & S Electronics Mart

p.235 C & S Electronics Mart

p.49 California Computer Systems

p.49 California Computer Systems

p.267 California Digital

p.267 California Digital

p.109 Camelot Direct

p.109 Camelot Direct

p.201 CAP Electronics

p.201 CAP Electronics

p.145 Central Data

p.145 Central Data

p.169 Chrislin Industries

p.169 Chrislin Industries

p.147 COMPCO

p.147 COMPCO

p.152 p.153 COMPRINT (Comp Printers Intl)

p.152 p.153 COMPRINT (Comp Printers Intl)

p.33 Compucolor

p.33 Compucolor

p.273 CompuMart

p.273 CompuMart

p.274 Computer Case Co

p.274 Computer Case Co

p.289 Computer Components of South Bay

p.289 Computer Components of South Bay

p.275 Computer Factory

p.275 Computer Factory

p.96 Computer Furniture & Accessories

p.96 Computer Furniture & Accessories

p.83 Computertand

p.83 Computertand

p.74 Computer Mart of NJ

p.74 Computer Mart of NJ

p.274 Computer Service Center

p.274 Computer Service Center

p.159 Computer Service Sys Ntwk (CSSN)

p.159 Computer Service Sys Ntwk (CSSN)

p.296 Computer Service Sys Ntwk (CSSN)

p.296 Computer Service Sys Ntwk (CSSN)

p.209 Computer Shopper

p.209 Computer Shopper

p.297 Computer Specialties

p.297 Computer Specialties

p.90 Computer Store International

p.90 Computer Store International

p.296 Computer Works

p.296 Computer Works

p.118 Computer World

p.118 Computer World

p.66 Computex

p.66 Computex

p.110 p.220 p.237 CT Micro Computer

p.110 p.220 p.237 CT Micro Computer

p.212 Corporate Computer Systems (CCS)

p.212 Corporate Computer Systems (CCS)

p.55 Corvus Systems

p.55 Corvus Systems

p.233 Cover Craft

p.233 Cover Craft

p.231 CP Products

p.231 CP Products

p.299 The CPU Shop

p.299 The CPU Shop

p.1 p.2 Cromemco

p.1 p.2 Cromemco

p.202 CTC

p.202 CTC

p.234 Cybernetics Inc

p.234 Cybernetics Inc

p.236 Data Access Corp

p.236 Data Access Corp

p.272 DATABANK

p.272 DATABANK

p.233 Data Discount Center

p.233 Data Discount Center

p.220 Data Sales

p.220 Data Sales

p.60 Datasouth Computer Corp

p.60 Datasouth Computer Corp

p.123 Data Speed

p.123 Data Speed

p.259 Data-Trans

p.259 Data-Trans

p.86 Delta Products

p.86 Delta Products

p.292 DES-MAR Electronics

p.292 DES-MAR Electronics

p.99 DG Electronic Development

p.99 DG Electronic Development

p.138 Digibyte Systems Corp

p.138 Digibyte Systems Corp

p.130 Digital Engineering

p.130 Digital Engineering

p.200 Digital Marketing

p.200 Digital Marketing

p.135 Digital Pathways

p.135 Digital Pathways

p.236 Digital Research Corp (CA)

p.236 Digital Research Corp (CA)

p.111 Digitus Corp

p.111 Digitus Corp

p.156 Dontho Scientific

p.156 Dontho Scientific

p.271 DRC(TX)

p.271 DRC(TX)

p.162 Dynacomp

p.162 Dynacomp

p.278 p.279 Electrolabs

p.278 p.279 Electrolabs

p.132 Electronic Control Technology

p.132 Electronic Control Technology

p.259 p.260 p.261 Electronic Systems

p.259 p.260 p.261 Electronic Systems

p.266 Electronics Warehouse

p.266 Electronics Warehouse

p.208 Ellis Computing

p.208 Ellis Computing

p.237 Escon

p.237 Escon

p.203 Euro-Micro 80

p.203 Euro-Micro 80

p.292 Evergreen

p.292 Evergreen

p.165 EXO Electronics

p.165 EXO Electronics

p.245 Factory Direct Sales

p.245 Factory Direct Sales

p.226 FAIRCOM

p.226 FAIRCOM

p.74 Farnsworth Computer

p.74 Farnsworth Computer

p.11 Fidelity Electronics

p.11 Fidelity Electronics

p.230 FMG Corp

p.230 FMG Corp

p.288 Fordham Radio Supply

p.288 Fordham Radio Supply

p.292 Frederick Computer Products

p.292 Frederick Computer Products

p.270 H Geller Computer Systems

p.270 H Geller Computer Systems

p.76 Global Parameters

p.76 Global Parameters

p.171 Godbout Electronics

p.171 Godbout Electronics

p.102 George Goode & Associates

p.102 George Goode & Associates

(p.CIII) Graham Dorian

(p.CIII) Graham Dorian

p.181 H & E Computronics

p.181 H & E Computronics

p.280 Hartmann-Lang

p.280 Hartmann-Lang

p.17 p.72 p.73 Heath Company

p.17 p.72 p.73 Heath Company

p.27 Heath Company

p.27 Heath Company

p.216 Heuristics

p.216 Heuristics

p.263 Hobby World

p.263 Hobby World

p.63 Houston Instrument

p.63 Houston Instrument

p.127 Inco Inc

p.127 Inco Inc

p.141 Industrial Micro Systems

p.141 Industrial Micro Systems

p.272 Infinite Inc

p.272 Infinite Inc

p.189 p.223 Infinity Micro

p.189 p.223 Infinity Micro

p.195 Information Unlimited

p.195 Information Unlimited

p.41 Intecolor (Div Intelligent Sys)

p.41 Intecolor (Div Intelligent Sys)

p.166 Integrand

p.166 Integrand

p.292 Interface Inc

p.292 Interface Inc

p.115 International Data Systems

p.115 International Data Systems

p.57 Intertec Data Systems

p.57 Intertec Data Systems

p.101 p.232 Ithaca Intersystems Inc

p.101 p.232 Ithaca Intersystems Inc

p.268 p.269 Jade Co

p.268 p.269 Jade Co

p.276 p.277 Jameco

p.276 p.277 Jameco

p.79 Konan Corp

p.79 Konan Corp

p.67 p.176 p.200 Lifeboat Associates

p.67 p.176 p.200 Lifeboat Associates

p.143 Lobo Drives International

p.143 Lobo Drives International

p.93 Logon Inc

p.93 Logon Inc

p.292 Loweco Computer

p.292 Loweco Computer

p.272 Macrotronics

p.272 Macrotronics

p.274 Malibu Chess Press

p.274 Malibu Chess Press

p.287 Matchless Systems

p.287 Matchless Systems

p.129 Maxell Data Products

p.129 Maxell Data Products

p.167 p.280 Meas Sys & Controls

p.167 p.280 Meas Sys & Controls

p.95 Micro Ap

p.95 Micro Ap

p.127 Micro Applications Group

p.127 Micro Applications Group

p.240 Micro Architect

p.240 Micro Architect

p.272 Microbiotic Computing Inc

p.272 Microbiotic Computing Inc

p.292 Micro Business World

p.292 Micro Business World

p.281 Micro Computer Discount Co

p.281 Micro Computer Discount Co

p.294 Microcomputer Tech Inc (MTI)

p.294 Microcomputer Tech Inc (MTI)

p.43 Micro Control

p.43 Micro Control

p.13 Micro DaSys

p.13 Micro DaSys

p.47 Micro DaSys

p.47 Micro DaSys

p.239 Micro DaSys

p.239 Micro DaSys

p.59 Micro Data Base Systems

p.59 Micro Data Base Systems

p.5 Micro Diversions

p.5 Micro Diversions

p.150 Micromail

p.150 Micromail

p.212 Micro Mike's

p.212 Micro Mike's

p.94 Micro Music

p.94 Micro Music

p.218 Microsette

p.218 Microsette

p.272 Microsette

p.272 Microsette

p.69 Microsoft

p.69 Microsoft

p.179 Micro Soft (Consumer Prod Div)

p.179 Micro Soft (Consumer Prod Div)

p.288 Micro Squared

p.288 Micro Squared

p.119 Microtek

p.119 Microtek

p.214 Microware

p.214 Microware

p.226 The Micro Works

p.226 The Micro Works

p.82 Micro World

p.82 Micro World

p.235 Midwest Computer Peripherals

p.235 Midwest Computer Peripherals

p.290 Mikos

p.290 Mikos

p.240 Mini Computer Suppliers

p.240 Mini Computer Suppliers

p.24 p.25 Morrow/Thinker Toys

p.24 p.25 Morrow/Thinker Toys

p.58 p.217 Mountain Hardware

p.58 p.217 Mountain Hardware

p.197 mpi

p.197 mpi

p.243 MT Micro Sys (formerly MetaTech)

p.243 MT Micro Sys (formerly MetaTech)

p.274 Multi Bus Computer Systems

p.274 Multi Bus Computer Systems

p.218 MVT Microcomputer Systems

p.218 MVT Microcomputer Systems

p.131 p.149 NEECO

p.131 p.149 NEECO

p.173 Netronics

p.173 Netronics

p.223 Northern Technology Books

p.223 Northern Technology Books

p.205 Novation

p.205 Novation

p.193 NRI Schools

p.193 NRI Schools

(p.CIV) Ohio Scientific Instrument

(p.CIV) Ohio Scientific Instrument

p.80 p.81 Ohio Scientific Instrument

p.80 p.81 Ohio Scientific Instrument

p.137 p.178 OK Machine and Tool

p.137 p.178 OK Machine and Tool

p.239 p.274 Oliver Adv Engineering

p.239 p.274 Oliver Adv Engineering

p.65 onComputing

p.65 onComputing

p.235 Optimal Technology

p.235 Optimal Technology

p.185 Oregon Software

p.185 Oregon Software

p.238 Osborne/McGraw-Hill

p.238 Osborne/McGraw-Hill

p.128 Owens Associates Inc

p.128 Owens Associates Inc

p.274 Pacific Exchanges

p.274 Pacific Exchanges

p.293 Page Digital

p.293 Page Digital

p.227 PAIA Electronics

p.227 PAIA Electronics

p.37 PerCom Data

p.37 PerCom Data

p.38 p.39 PerCom Data

p.38 p.39 PerCom Data

p.51 PerCom Data

p.51 PerCom Data

p.163 PerCom Data

p.163 PerCom Data

p.183 Personal Software

p.183 Personal Software

p.175 Phase One Systems Inc

p.175 Phase One Systems Inc

p.61 Power One Inc

p.61 Power One Inc

p.158 Practical Applications

p.158 Practical Applications

p.300 p.301 p.302 Priority I

p.300 p.301 p.302 Priority I

p.105 Prodata Inc

p.105 Prodata Inc

p.125 Prodigy

p.125 Prodigy

p.218 PS Inc

p.218 PS Inc

p.100 The Q-Kit (Div JR Conwell Corp)

p.100 The Q-Kit (Div JR Conwell Corp)

p.220 Quality Software

p.220 Quality Software

p.112 Quantum Communications Sys

p.112 Quantum Communications Sys

p.265 Quest Electronics

p.265 Quest Electronics

p.280 R&D Press

p.280 R&D Press

p.215 RACET Computes

p.215 RACET Computes

p.285 Radio Hut

p.285 Radio Hut

p.107 Radio Shack

p.107 Radio Shack

p.206 Ramsey Electronics

p.206 Ramsey Electronics

p.212 Rascal Programs

p.212 Rascal Programs

p.142 RBB Software Products

p.142 RBB Software Products

p.42 p.45 RCA

p.42 p.45 RCA

p.280 Report Card

p.280 Report Card

p.298 RNB Enterprises

p.298 RNB Enterprises

p.239 S-100

p.239 S-100

p.292 St Jude

p.292 St Jude

p.136 SC Digital

p.136 SC Digital

p.237 SCDP

p.237 SCDP

p.186 p.187 Scelbi

p.186 p.187 Scelbi

p.50 Scitronics

p.50 Scitronics

p.6 p.7 Shugart Associates

p.6 p.7 Shugart Associates

p.139 Simulations Pub Inc (SPI)

p.139 Simulations Pub Inc (SPI)

p.229 '68 Micro Journal

p.229 '68 Micro Journal

p.228 Small Business Applications

p.228 Small Business Applications

p.196 Small Business Sys Group

p.196 Small Business Sys Group

p.270 Ken Smallwood & Associates

p.270 Ken Smallwood & Associates

p.21 p.223 p.225 p.227 p.229 p.231 p.233 p.235 p.237 p.239 Smoke Signal Broadcasting

p.21 p.223 p.225 p.227 p.229 p.231 p.233 p.235 p.237 p.239 Smoke Signal Broadcasting

p.18 Softagon Inc

p.18 Softagon Inc

p.199 Softape

p.199 Softape

p.122 SofTech Microsystems

p.122 SofTech Microsystems

p.216 Softronics

p.216 Softronics

p.210 Software Dev & Training

p.210 Software Dev & Training

p.231 Software Dynamics

p.231 Software Dynamics

p.190 p.191 The Software Exchange

p.190 p.191 The Software Exchange

p.280 The Software Farm

p.280 The Software Farm

p.40 The Soft Warehouse

p.40 The Soft Warehouse

p.212 The Software Works

p.212 The Software Works

p.29 p.30 SSM

p.29 p.30 SSM

p.286 Solid State Sales

p.286 Solid State Sales

p.97 Soroc

p.97 Soroc

p.218 Sorrento Valley Associates

p.218 Sorrento Valley Associates

(p.CII) Southwest Technical Prod Corp

(p.CII) Southwest Technical Prod Corp

p.292 Software Tech for Comp (STC)

p.292 Software Tech for Comp (STC)

p.133 SubLOGIC

p.133 SubLOGIC

p.161 Summagraphics

p.161 Summagraphics

p.270 Sunny International

p.270 Sunny International

p.35 Supersoft

p.35 Supersoft

p.213 p.216 Sybex

p.213 p.216 Sybex

p.221 Sybex

p.221 Sybex

p.91 p.127 Synchro Sound

p.91 p.127 Synchro Sound

p.227 System Design Lab

p.227 System Design Lab

p.274 TAD Enterprises

p.274 TAD Enterprises

p.157 Tano

p.157 Tano

p.113 Tarbell Electronics

p.113 Tarbell Electronics

p.77 Technical Systems Consultants

p.77 Technical Systems Consultants

p.8 Tecmar Inc

p.8 Tecmar Inc

p.117 Terak Corp

p.117 Terak Corp

p.23 3/M Company

p.23 3/M Company

p.31 Robert Tinney Graphics

p.31 Robert Tinney Graphics

p.274 Torry Pines Business Systems

p.274 Torry Pines Business Systems

p.220 Total Information Serv (TIS)

p.220 Total Information Serv (TIS)

p.140 TransNet Corp

p.140 TransNet Corp

p.272 Ucatan Computer Store

p.272 Ucatan Computer Store

p.295 United Software of America

p.295 United Software of America

p.126 US Robotics

p.126 US Robotics

p.204 Vector Electronics

p.204 Vector Electronics

p.284 Vista Computer Company

p.284 Vista Computer Company

p.298 V R Data

p.298 V R Data

p.290 Wameco

p.290 Wameco

p.292 WESCO Electronics

p.292 WESCO Electronics

p.240 Whitesmith's Ltd

p.240 Whitesmith's Ltd

p.280 Wintek Corp

p.280 Wintek Corp

p.272 Worldwide Electronics

p.272 Worldwide Electronics

p.151 Xitex

p.151 Xitex

p.229 ZS Systems

p.229 ZS Systems