1978 4.08 1980

Vol.4 n°8 august 1979

Vol.4 n°8 august 1979

(byte_1979_08.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 : Ken Lodding] #Magazine

p.4 In this BYTE

p.4 In this BYTE

#Abstract

This month, Ken Lodding has created a fantasy on far-out applications with a LISP theme. The surface of some asteroid has been discovered. A monolith engraved with the S-expression form of a LISP program is gazed upon by some astronauts. We presume some archeology of this monolith will have to be done to uncover the balance of the program. We leave it to readers familiar with LISP to identify the textbook from which these S-expression fragments were taken, and the purpose of the program.

p.10
p.10

LISP is often described as a special-purpose, list-processing language. However, there is much more to the language than list manipulation. As an introduction to this language, guest editor John Allen provides An Overview of LISP. Page 10

p.18
p.18

In LISP Based Systems for Education, J Laubsch, G Fischer, and H D Boeker discuss the evolving computer culture and they argue that the basic concepts and approach to computation that LISP represents offers significant advantages within the contemporary educational framework. Page 18

p.26
p.26

The management of memory space is very important in any computer language. To the user of a LISP system, memory seems to magically appear out of the "ether" as needed. LISP systems contain a storage reclamation package that scavenges new storage from discarded computations. Authors Gianfranco Prini and Martin Rudalics describe the Lambdino Storage Management System. Page 26

p.34
p.34

William A Kornfeld shows an application of LISP ideas in the artificial intelligence domain. Pattern-Directed Invocation Languages are powerful tools for representing and manipulating facts in data bases. The implementation of these ideas involves 2 facets of LISP: the generalized record structures, called property lists; and the ability to store procedures as data structures. Page 34

p.50
p.50

The addition of a realtime clock to your computer system expands the dimensions you can explore. A real-time clock is also the basis of any multiprogramming system. Steve Ciarcia provides several different real-time clocks in Anyone Know the Real Time 7 Page 50

p.66
p.66

In parts 1 and 2 of A Model of the Brain for Robot Control, James Albus described a neurological brain model. Part 3 shows how this structure might be used to produce perceptual and cognitive phenomena. Page 66

p.82
p.82

The mystery of graphics on the Radio Shack TRS-80 is now dispelled. George H Yeager reveals the details in Exploring TRS-80 Graphics. Page 82

p.94
p.94

In the third part of The Nature of Robots, William T Powers describes the how and whys of his particular model of human behavior. Mr Powers develops a 2-level control-loop simulation of a 3-muscle system to further the understanding of how our own control system works. Page 94

p.132
p.132

Other articles this month discuss many of the applications for LISP. It is only fitting that S Tucker Taft discusses The Design of an M6800 LISP Interpreter. Page 132

p.162
p.162

Several LISP articles have centered on some of the unique features of LISP to aid solution of nontrivial problems. Mathematician and computer scientist Vaughan Pratt views languages from a more distant perspective. He shows that features found to be attractive in special cases are instances of general principles that a programming language must observe if generality and expressibility are not to be compromised. Vaughan Pratt gives us A Mathematician's View of LISP. Page 162

p.170
p.170

A I Halsema provides us with a quick description of the M68000 and some possible applications of the new processor in A Preview of the Motorola 68000. Page 170

p.176
p.176

Are you interested in working with symbolic mathematics? Perhaps you manipulate many algebraic formulae. David Stoutemyer discusses several LISP Based Symbolic Math Systems that help perform these functions. Page 176

p.206
p.206

The actions of digital circuits may be described by Boolean expressions. These expressions can be manipulated by a program to test for correctness, simplify the equation, and many other logical manipulations. Richard Weyhrauch and Henson Graves discuss some LISP Applications in Boolean Logic. Page 206

p.220
p.220

Most processors do not have division instructions. Therefore, if you wish to perform division, you will have to write your own. In An Overview of Long Division, Geoffrey Gass provides the background needed to write a division routine. Page 220

p.6 (p.8) Editorial: Returning to the Tower of Babel or ...

p.6 (p.8) Editorial: Returning to the Tower of Babel or ...

[author : Carl Helmers] #Edito

Extract : «  This is the August issue of BYTE. It is also the third consecutive year that we've chosen to have a computer language as an issue content theme — a choice which is reflected in a number of articles, as well as the cover painting by Ken Lodding.

In the past two years, the August issues have had themes of APL (1977) and Pascal (1978). This year, we continue the August emphasis on languages with a special issue devoted to the language LISP. An experiment in editorial policy is also reflected in this issue. John Allen was responsible for the solicitation and technical reviewing of the articles concerning LISP in this issue, truly functioning in the capacity of "Guest Editor" of BYTE. John has been involved with computation research involving LISP for some time, and he is in touch with many of the members of the artificial intelligence community. Some of his comments on LISP appeared in the March 1979 issue of BYTE in the form of a guest editorial. As a result of his earlier writings about LISP as an appropriate tool of expression for personal computing, we asked him to take charge of the LISP oriented technical content of this issue and several issues to follow. Readers will find a wealth of information as a result of John's efforts.

By making LISP a feature of this issue of BYTE, we are emphasizing the history of LISP's utility in artificial intelligence and computation research. The language is derived from the work of John McCarthy in the early 1960's. LISP will have its place in personal computing, alongside a number of other styles of expression. For lack of appropriate systems software, I have not personally used LISP to any extent, but I believe that I have the beginnings of an abstract appreciation of its potential. This perspective comes from personal contact with individuals who use LISP regularly, as well as reading which includes the articles in this issue as collected by John Allen.

In a recent (May 24 1979) conversation with Gary Kildall on the occasion of the fifth IEEE Computer Society Asilomar Conference on Microcomputing, I mentioned the LISP issue. Gary has a background in computer systems software work with special emphasis on small scale computer systems of the kind used by BYTE readers. He is the first implementor of the PL/M compilers for Intel's 8080 microprocessors, and he and his firm, Digital Research, are responsible for one of the most widely used 8080 and Z-80 oriented software products, the CP/M operating system. I learned some interesting points from Gary about LISP and its significance to the use of computers, viewpoints which are worth repeating for readers. [...]  »

TABLE OF CONTENTS

Foreground

Foreground

p.50 ANYONE KNOW THE REAL TIME?

p.50 ANYONE KNOW THE REAL TIME?

Simple methods of telling time

[author : Steve Ciarcia] #Electronic #Algorithm #Time #Listing #BASIC

Extract : «  I'm sure you've all heard the term real-time, such as a real-time operating system. But, how many really understand its meaning? A simple definition of a real-time system is: a system that operates in real time, that is, it responds to the need for action in a period of time proportional to the urgency of the need; first things are done first. In control applications the system can be depended on to provide the information necessary to base time-dependent decisions on information that is up to date as of the minute or the hour. Real time describes the processing of information in a sufficiently rapid manner that the results of the processing are immediately available to influence control of the process being monitored. [...]  »

p.66 MODEL OF THE BRAIN, Part 3: Comparison of Brain and Model

p.66 MODEL OF THE BRAIN, Part 3: Comparison of Brain and Model

Does CM AC accurately represent human brain function?

[author : James Albus] #ArtificialIntelligence

Extract : «  In parts 1 and 2 we have shown how a neurological model called the Cerebellar Model Arithmetic Computer (CMAC) can compute functions, recognize patterns, and decompose goals. We have also shown how a crosscoupled hierarchy of CMACs (see figure 1) can memorize trajectories, generate goal directed purposive behavior, and store an internal model of the external world in the form of predicted sensory data. In this third article we will attempt to show how this structure and its capabilities can give rise to perceptual and cognitive phenomena. [...]  »

p.94 NATURE OF ROBOTS, Part 3: A Closer Look at Human Behavior

p.94 NATURE OF ROBOTS, Part 3: A Closer Look at Human Behavior

Simulating a 3-muscle system

[author : William T Powers] #HowItWorks #Listing #BASIC #Robotics

Extract : «  [...] The reference signal acts just as an intention ought to act. It specifies some state of affairs that is to be achieved, and serves as a target toward which action always urges the perception of the controlled variable. Under normal circumstances the control system can make its perceptual signal track a changing reference signal, and still oppose the effects of disturbances.

There are two main rules of thumb:
• The reference signal reaching a good control system controls the perceptual signal in that system.
• The actions of the control system vary so as to oppose the effects of disturbances, even if the reference signal remains constant.

Let's see how this control system model applies to one small human subsystem: a spinal reflex arc (reflex just means "turned back on itself"). This will lead to some concepts that will be of use to the designers of robots. [...]  »

p.132 THE DESIGN OF AN M6800 LISP INTERPRETER

p.132 THE DESIGN OF AN M6800 LISP INTERPRETER

The theory behind one implementation

[author : S Tucker Taft] #Listing #Lisp #Pascal #Assembly #Programming

Extract : «  Anyone exposed to small computer systems has used a language interpreter of some sort, and certainly may have thought about implementing their own interpreter. Unhappily, implementing an interpreter for a complete version of most computer languages is a difficult and time-consuming job, unsuitable for a part-time personal computer enthusiast. The language LISP provides a unique opportunity in this respect. The foundation for a very complete interpreter can be programmed by a single person in several months of part-time effort. As a bonus, the resulting interpreter provides the user with a high level language in which to express algorithms.

The Language

From the user's point of view, the primary data structure in LISP is the list. Every element of a list is either an atom or another list. An atom is a primitive named object, the name being an arbitrary string of characters:
ABC is an atom.
135 is an atom.
(ABC 135) is a list of two elements, both atoms. [...]  »

p.206 LISP APPLICATIONS IN BOOLEAN LOGIC

p.206 LISP APPLICATIONS IN BOOLEAN LOGIC

Perform Boolean logical operations with LISP

[author : Richard Weyhrauch and Henson Graves] #Listing #Lisp #Mathematics

Extract : «  In LISP, some data structures can be viewed two different ways, either as data or program. This feature makes LISP unique among high level languages. When seen as a program, LISP expressions can be executed and return a value: when seen as data, they may be used as arguments for other programs. This means that if we think about a LISP program as a piece of data we can write programs directly in LISP which transform them into more useful programs.

We use LISP to imitate the manipulations that are done by engineers when designing combinatorial circuits. In this sense LISP can be used as a calculator for Boolean logic.

The examples presented here are well known to anyone who has studied a little hardware design. The purpose of this article is to give beginners with LISP some idea of what LISP programs look like and how some interesting symbolic manipulations can be represented in a natural way using LISP. It is written primarily with novices in mind. For this reason there are some elementary remarks about how LISP actually works. The code in this article was written as examples of LISP style programming. What we have tried to do is present some programs as they might be written in existing LISP systems. Of course the style is ours.

We illustrate the use of the recursive data structures, lists and S-expressions, and the use of lambda abstraction as a control structure to facilitate recursive transformations on them. [...]  »

p.220 AN OVERVIEW OF LONG DIVISION

p.220 AN OVERVIEW OF LONG DIVISION

Providing real answers to division problems

[author : Geoffrey Gass] #Mathematics

Extract : «  On the very simplest level, a division problem starts with two numbers, a dividend, which we want to divide by a divisor, to obtain a third number, a quotient. [...]  »

Background

Background

p.10 AN OVERVIEW OF LISP

p.10 AN OVERVIEW OF LISP

Developing a feel for LISP

[author : John Allen] #Overview #Lisp

Extract : «  LISP is simple and difficult, elegant and ad hoc; it is a beautiful blend of foresight and fortuity. LISP is a programming language, often characterized as a special purpose list-processing language. But LISP is no more a special purpose programming language than mathematics is a special purpose language for floating-point computations. Just as there's more to mathematics than the accounting and bookkeeping properties present in "general purpose" programming languages, there's much more to LISP than "just another programming language."

The best description of the LISP programming language is that it is a high level machine language. That is, it shares many of the facets of contemporary machine language — the necessity for attention to detail and the freedom to manipulate the machine's data and programs without restriction — yet LISP is high level in that the language contains the expressive power and convenience of traditional high level languages. The contradiction is resolvable: a LISP machine is just a higher level machine whose data items are organized differently from the binary bit patterns of most machines, and the LISP programming language is the assembly language for this machine. [...]  »

p.18 LISP BASED SYSTEMS FOR EDUCATION

p.18 LISP BASED SYSTEMS FOR EDUCATION

Using computers as learning tools

[author : J Laubsch, G Fischer. and H D Bocker] #Lisp #Education #Book

Extract : «  There is sufficient evidence that personal computer systems will become as powerful as today's computer systems used in artificial intelligence research. Within the artificial intelligence community people are concerned about possible uses of computers in an evolving computer culture. The basic goals of artificial intelligence are to:

• synthesize systems that behave intelligently;

• understand intelligence in terms of computational concepts.

The human needs a personal computer system will one day help to satisfy cover the range of playing, learning, recreation, artistic creation, and personal assistance to expand one's own memory and reasoning power. Using a computer to build an intelligent tutor and an educational environment that stimulates learning by discovery (ie: through simulation, exploratory problem solving) are of central importance to artificial intelligence. Although canned software for educational applications will be widely available there remains a need for programming to tailor the system to the user's individual needs and requirements.

Our notion of what programming is all about will drastically change: it will cover a wide range of possible relationships between man and machine where a person creates and manipulates dynamic information structures according to personal tasks and taste. Program writing, in the historical sense of writing individual statements, is just one aspect of using a computer and will become less relevant, if not obsolete, compared to the understanding and modification of prefabricated software components. [...]  »

p.26 THE LAMBDINO STORAGE MANAGEMENT SYSTEM

p.26 THE LAMBDINO STORAGE MANAGEMENT SYSTEM

Data storage techniques represent major design considerations

[author : G Prini and M Rudalics] #Lisp #DataManagement #Book

Extract : «  Lambdino is a statically scoped dialect of LISP (see glossary for definitions). The name Lambdino is a combination of lambda, Landin, and ino, where lambda stands for itself, Landin refers to a person, and ino is an Italian suffix for small. The reference to Peter Landin is due to the fact that he designed the first statically scoped applicative language based on the interpretive philosophy of LISP (as described in his paper entitled "The Mechanical Evaluation of Expressions"). Other predecessors of Lambdino include the anonymous language used by Reynolds in his work Definitional Interpreters for Higher-Order Programming Languages and in Scheme as described by G Sussman and G Steele.

A detailed description of Lambdino and the problems posed by its implementation are beyond the scope of this paper. Here we only want to sketch some ideas on which we have based its storage management system. Thus LISP or Scheme may be substituted for Lambdino throughout this paper.

An explicit design goal of Lambdino is its transportability onto a wide class of computers, including microcomputers. Particular care has been put into the development of the Lambdino storage management system in order to fit the space and time constraints of microcomputers. A machine independent version of Lambdino, implemented in MagmaLISP, has been realized and will be bootstrapped in the near future on several machines, including an IBM System/370 Model 168 (IBM 74) and a Zilog Z-80 Development System. The only assumption made in this implementation is that the memory of the host machine is structured into directly addressable bytes. [...]  »

p.34 PATTERN-DIRECTED INVOCATION LANGUAGES

p.34 PATTERN-DIRECTED INVOCATION LANGUAGES

A data base development tool

[author : William A Kornfeld] #Languages #DataManagement

Extract : «  LISP was first developed for use in artificial intelligence research, the branch of computer science concerned with understanding the nature of intelligent activity by simulating it on a computer. LISP has proved so successful that it is the only high level language currently supported at the MIT Artificial Intelligence Laboratory. Much of its success is due to its syntax and data structures which make it a convenient base upon which to implement very high level special purpose languages.

One very important class of these high level languages is the so-called pattern-directed invocation languages. They made their first appearance in about 1970 with the Planner system at MIT. Since then, dozens of these languages have been built at sites around the world with different sets of features. The basic concepts involved can be traced back to the work of such logicians and philosophers as Frege, Russell, and Carnap in the earlier part of this century. They were concerned with representing and manipulating facts about the world. They began with atomic facts and described methods that could be used to deduce new facts from old. Pattern-directed invocation languages treat facts, represented as LISP lists, as elementary data types and usually collect them together into one or more data bases. Procedures can be written to derive new facts (or to decide if it is possible to derive a given fact) from those already in the data base.

In this article we will be mostly concerned with the basic concepts involved in pattern-directed invocation languages. Toward the end, a brief summary is given of some of the more advanced ideas that have found their way into these languages. Special attention is given to the problem of implementing these languages in a LISP system. Much of this implementation is surprisingly straightforward, once the basic concepts of LISP are understood. In fact, the task of implementing a system almost identical to the one described here was given to students in a beginning programming course at MIT. The students had had only a few weeks experience with LISP, and a total programming experience of a couple of months, but they had little problem with the assignment. [...]  »

p.82 EXPLORING TRS-80 GRAPHICS

p.82 EXPLORING TRS-80 GRAPHICS

Machine language access to graphic display characters

[author : George H Yeager] #Graphics

Extract : «  Radio Shack seems to hide the neat little jewels of information a hobbyist needs to make a treasure of the TRS-80. One jewel is how to use the computer's graphics capability once you squeeze into the world of machine language by use of the T-BUG monitor. Beyond the excellent Level 1 User's Handbook, there has been little information until recently.

Between sessions of disassembling the undocumented control routines for keyboard, video, and cassette, I employed a "crystal ball" to unravel the mystery of machine language graphics control. (TRS-80 owners must be resourceful.) Here is what I found. [...]  »

p.162 A MATHEMATICIAN'S VIEW OF LISP

p.162 A MATHEMATICIAN'S VIEW OF LISP

A look at LISP as a vehicle for expressing ideas

[author : Vaughan R Pratt] #Lisp #Mathematics #Programming

Extract : «  All higher order languages offer the programmer mechanisms for simplifying and clarifying programs. Viewed from the distance that mathematicians such as myself prefer, away from the distractions of detail, LISP stands out as the first language to pay serious attention to the following issues:
• Mobility of data.
• Modularity of function.
• Declarative programming.
• Metalinguistics (the ability of a language to talk about language).

Since the development of LISP, two other languages (APL and, to a lesser extent, SNOBOL) have joined LISP in dealing with at least some of these issues. As such, one would assume that they would have improved on LISP. I believe that LISP outclasses these languages despite its having been developed earlier. Other languages, such as FORTRAN, BASIC, ALGOL, PL/I, and Pascal (or FBAPP as Professor Alan Perlis of Yale University refers to them collectively) are, in Perlis' opinion and mine, not in the same class as LISP and APL with respect to the issues discussed here. (I do not know Professor Perlis' opinion of SNOBOL.) [...]  »

p.170 A PREVIEW OF THE MOTOROLA 68000

p.170 A PREVIEW OF THE MOTOROLA 68000

A look at another 16-bit processor

[author : A I Halsema] #Microprocessor #Book

Extract : «  It is difficult to classify the new Motorola 68000 processor. It seems incongruous to call a machine with 32 bit wide data paths a microcomputer. The 68000 should be available in late 1979. As this is being written, the architecture of the machine has been frozen, and the microcode is nearing completion. A user programmable, on chip, control memory for dynamically changing the machine's instruction set is not planned, but you may be able to specify your own microcode, which is burned into an on chip read only control memory at the factory. [...]  »

p.176 LISP BASED SYMBOLIC MATH SYSTEMS

p.176 LISP BASED SYMBOLIC MATH SYSTEMS

The computer as an algebraic manipulator

[author : David R Stoutemyer] #Book

Extract : «  On an interactive terminal, a user begins by typing the assignment:

Q ← 6*X↑3/(9*X)

where ← denotes assignment, * denotes multiplication, and ↑ denotes raising to a power. Such a command would be erroneous in most languages because the variable X has not previously received a value. However, symbolic math systems accept and even simplify expressions containing such unbound variables. Thus, the response of such a system to the above command is the automatic output:

2*X↑2/3

which is also saved as the value of Q. Some of the systems have more elaborate output routines which would display the above output in a two-dimensional format such as the following [...]  »

Nucleus

Nucleus

p.8 (p.6) Letters

p.8 (p.6) Letters

p.62 LISP Notes

p.62 LISP Notes

p.89 BYTE News

p.89 BYTE News

p.126 Technical Forum

p.126 Technical Forum

p.194 BYTE's Bugs

p.194 BYTE's Bugs

p.196 Event Queue

p.196 Event Queue

p.200 Clubs and Newsletters

p.200 Clubs and Newsletters

#Association

p.204 BYTE's Bits

p.204 BYTE's Bits

p.212 Programming Quickies

p.212 Programming Quickies

p.218 Book Reviews

p.218 Book Reviews

#Book

Extract : «  Practical Microcomputer Programming: The Z-80 by W J Weller Northern Technology Books Evanston IL 481 pages $29.95 [...]  »

p.225 What's New?

p.225 What's New?

p.263 Unclassified Ads

p.263 Unclassified Ads

p.264 Reader Service, BOMB

p.264 Reader Service, BOMB

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

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

p.221 Abbot

p.221 Abbot

p.246 AB Computers

p.246 AB Computers

p.166 Administrative Systems

p.166 Administrative Systems

p.235 Advanced Computer Products

p.235 Advanced Computer Products

p.131 Aladdin Automation

p.131 Aladdin Automation

p.41 Altos

p.41 Altos

p.219 American Square Computers

p.219 American Square Computers

p.203 Anderson Jacobson

p.203 Anderson Jacobson

p.17 Apple Computer

p.17 Apple Computer

p.95 AP Products

p.95 AP Products

p.233 ASAP Computer Products

p.233 ASAP Computer Products

p.230 ATV Research

p.230 ATV Research

p.184 Automated Simulations

p.184 Automated Simulations

p.230 Avery Label

p.230 Avery Label

p.219 Avionic Enterprise

p.219 Avionic Enterprise

p.109 base 2 inc.

p.109 base 2 inc.

p.242 Beckian Enterprises

p.242 Beckian Enterprises

p.219 Beta Business Systems

p.219 Beta Business Systems

p.35 Biotech Electronics

p.35 Biotech Electronics

p.117 p.160 p.161 Bits Inc.

p.117 p.160 p.161 Bits Inc.

p.120 Body Peripherals

p.120 Body Peripherals

p.232 Buss/Charles Floto

p.232 Buss/Charles Floto

p.210 BYTE Back Issues

p.210 BYTE Back Issues

p.49 p.53 p.85 p.130 p.155 BYTE Books

p.49 p.53 p.85 p.130 p.155 BYTE Books

p.203 BYTE Subscriber

p.203 BYTE Subscriber

p.201 p.234 BYTE WATS Line

p.201 p.234 BYTE WATS Line

p.234 California Data Corp

p.234 California Data Corp

p.239 California Digital

p.239 California Digital

p.97 Central Data

p.97 Central Data

p.62 Chatsworth Data

p.62 Chatsworth Data

p.78 Chrislin Industries

p.78 Chrislin Industries

p.54 CODEX

p.54 CODEX

p.102 p.114 p.116 COMPCO

p.102 p.114 p.116 COMPCO

p.39 COMPRINT (Computer Printers Int'l Inc)

p.39 COMPRINT (Computer Printers Int'l Inc)

p.64 p.65 CompuServe (MicroNET)

p.64 p.65 CompuServe (MicroNET)

p.142 Computer Bookkeeping Services Inc

p.142 Computer Bookkeeping Services Inc

p.105 Computer Dealer Co-op

p.105 Computer Dealer Co-op

p.226 p.227 Computer Factory NY

p.226 p.227 Computer Factory NY

p.194 Computer Headware

p.194 Computer Headware

p.197 Computer Lab of NJ

p.197 Computer Lab of NJ

p.8 p.9 Computerland

p.8 p.9 Computerland

p.12 Computer Mart of NJ & PA

p.12 Computer Mart of NJ & PA

p.232 The Computer Repair Co

p.232 The Computer Repair Co

p.219 Computer Service Center

p.219 Computer Service Center

p.253 Computer Service Systems Network

p.253 Computer Service Systems Network

p.201 Computers Plus Inc

p.201 Computers Plus Inc

p.232 Computer Store of San Leandro

p.232 Computer Store of San Leandro

p.98 Computex Corp

p.98 Computex Corp

p.124 p.125 Computhink

p.124 p.125 Computhink

p.111 CTC

p.111 CTC

p.128 p.217 p.224 CT Micro Computer

p.128 p.217 p.224 CT Micro Computer

p.45 Corvus Systems

p.45 Corvus Systems

p.182 Creative Software

p.182 Creative Software

p.1 p.2 Cromemco

p.1 p.2 Cromemco

p.156 Cybernetics Inc

p.156 Cybernetics Inc

p.218 Data Communications Int'l

p.218 Data Communications Int'l

p.180 Data Decisions

p.180 Data Decisions

p.181 Data Discount Center

p.181 Data Discount Center

p.100 Datamation

p.100 Datamation

p.150 Data/Print Publishing Co

p.150 Data/Print Publishing Co

p.196 Datasearch

p.196 Datasearch

p.257 Data-Trans

p.257 Data-Trans

p.73 Delta Products

p.73 Delta Products

p.74 Diablo (Div of Xerox)

p.74 Diablo (Div of Xerox)

p.197 Digital Engineering

p.197 Digital Engineering

p.137 Digital Pathways

p.137 Digital Pathways

p.195 Digitan

p.195 Digitan

p.188 DRC (CA)

p.188 DRC (CA)

p.245 DRC (TX)

p.245 DRC (TX)

p.254 Electrolabs

p.254 Electrolabs

p.99 Electronic Control Technology

p.99 Electronic Control Technology

p.127 Electronic Packing Co

p.127 Electronic Packing Co

p.257 p.258 p.259 Electronic Systems

p.257 p.258 p.259 Electronic Systems

p.237 Electronics Warehouse

p.237 Electronics Warehouse

p.213 Emerge Systems

p.213 Emerge Systems

p.202 Escon

p.202 Escon

p.158 Falcon Publishing

p.158 Falcon Publishing

p.208 FMG Corp

p.208 FMG Corp

p.103 Forethought Products

p.103 Forethought Products

p.115 GFN Industries

p.115 GFN Industries

p.83 Gimix

p.83 Gimix

p.232 GLA Enterprises

p.232 GLA Enterprises

p.232 Gledhill Electronics

p.232 Gledhill Electronics

p.175 p.246 Godbout Electronics

p.175 p.246 Godbout Electronics

(p.CIII) Graham Dorian Enterprises

(p.CIII) Graham Dorian Enterprises

p.20 G W Computers Ltd

p.20 G W Computers Ltd

p.106 Hayden Book Co

p.106 Hayden Book Co

p.163 H & E Computronics

p.163 H & E Computronics

p.33 Heath Company

p.33 Heath Company

p.231 Hobbyworld

p.231 Hobbyworld

p.242 Hollywood Systems

p.242 Hollywood Systems

p.23 Houston Instruments

p.23 Houston Instruments

p.187 HUH

p.187 HUH

p.149 Industrial Micro Systems

p.149 Industrial Micro Systems

p.234 Infinite Inc

p.234 Infinite Inc

p.201 Information Unlimited Software

p.201 Information Unlimited Software

p.13 Intecolor (Div Intelligent Systems)

p.13 Intecolor (Div Intelligent Systems)

p.48 Integrand

p.48 Integrand

p.186 Interactive Microware

p.186 Interactive Microware

p.141 Intertec Data Systems

p.141 Intertec Data Systems

p.110 p.229 Ithaca Audio

p.110 p.229 Ithaca Audio

p.248 p.249 Jade Co

p.248 p.249 Jade Co

p.240 p.241 Jameco

p.240 p.241 Jameco

p.252 Jim-Pak

p.252 Jim-Pak

p.232 Kalbro Computer Brokers (formerly US Brokers Co Div Kalbro Corp)

p.232 Kalbro Computer Brokers (formerly US Brokers Co Div Kalbro Corp)

p.92 p.93 p.123 Lifeboat Associates

p.92 p.93 p.123 Lifeboat Associates

p.234 Loweco Computer

p.234 Loweco Computer

p.193 Mad Hatter Software

p.193 Mad Hatter Software

p.232 The Mail Mart

p.232 The Mail Mart

p.210 Marketline Systems

p.210 Marketline Systems

p.183 p.219 p.234 Measurement Sys & Controls

p.183 p.219 p.234 Measurement Sys & Controls

p.179 Micro Age

p.179 Micro Age

p.133 Micro Ap

p.133 Micro Ap

p.130 Micro Applications Group

p.130 Micro Applications Group

p.118 Micro Architect

p.118 Micro Architect

p.5 p.223 MicroDaSys

p.5 p.223 MicroDaSys

p.91 Micro Diversions

p.91 Micro Diversions

p.159 Micromail

p.159 Micromail

p.234 Micro Management Systems

p.234 Micro Management Systems

p.217 Micro Mike's

p.217 Micro Mike's

p.134 p.135 Micropolis

p.134 p.135 Micropolis

p.202 Micro Products

p.202 Micro Products

p.188 MicroSoftware (CAI)

p.188 MicroSoftware (CAI)

p.15 Microtek

p.15 Microtek

p.205 Microware

p.205 Microware

p.42 The Micro Works

p.42 The Micro Works

p.63 Microworld

p.63 Microworld

p.234 Micro-Z Co

p.234 Micro-Z Co

p.244 Mikos

p.244 Mikos

p.195 Mini Computer Suppliers

p.195 Mini Computer Suppliers

p.113 p.177 Mission Control

p.113 p.177 Mission Control

p.11 p.37 Morrow/Thinker Toys

p.11 p.37 Morrow/Thinker Toys

p.58 p.153 Mountain Hardware

p.58 p.153 Mountain Hardware

p.157 M.T.I.

p.157 M.T.I.

p.101 p.121 NEECO

p.101 p.121 NEECO

p.222 Netronics

p.222 Netronics

p.247 Newman Computer Exchange

p.247 Newman Computer Exchange

p.251 Newman Computer Exchange

p.251 Newman Computer Exchange

p.21 North Star Computer

p.21 North Star Computer

p.234 ODS Inc

p.234 ODS Inc

(p.CIV) Ohio Scientific Instrument

(p.CIV) Ohio Scientific Instrument

p.203 OK Machine and Tool

p.203 OK Machine and Tool

p.191 Omikron

p.191 Omikron

p.81 onComputing

p.81 onComputing

p.219 On Line

p.219 On Line

p.185 Optimal Technology

p.185 Optimal Technology

p.104 Oregon Software

p.104 Oregon Software

p.169 Osborne & Associates

p.169 Osborne & Associates

p.126 Owens Associates Inc

p.126 Owens Associates Inc

p.234 P.K.C. Inc

p.234 P.K.C. Inc

p.219 Pacific Exchanges

p.219 Pacific Exchanges

p.253 Pacific Office Systems

p.253 Pacific Office Systems

p.243 Page Digital

p.243 Page Digital

p.189 PAIA Electronics

p.189 PAIA Electronics

p.60 p.61 p.256 PerCom Data

p.60 p.61 p.256 PerCom Data

p.173 Personal Computing 79

p.173 Personal Computing 79

p.138 p.139 Personal Software Inc

p.138 p.139 Personal Software Inc

p.196 Practical Applications

p.196 Practical Applications

p.260 p.261 p.262 Priority I

p.260 p.261 p.262 Priority I

p.199 Prog 80

p.199 Prog 80

p.230 Programmer's Software Exchange

p.230 Programmer's Software Exchange

p.47 PRS

p.47 PRS

p.57 Q Kit (DivJ R Conwell Corp)

p.57 Q Kit (DivJ R Conwell Corp)

p.255 Quest Electronics

p.255 Quest Electronics

p.184 RACET Computes

p.184 RACET Computes

p.219 Radio Shack Auth Sales Center

p.219 Radio Shack Auth Sales Center

p.69 RCA

p.69 RCA

p.230 The Recreational Programmer

p.230 The Recreational Programmer

p.129 p.154 RNB

p.129 p.154 RNB

p.14 Rochester Data

p.14 Rochester Data

p.211 S-100 Inc

p.211 S-100 Inc

p.232 St Jude

p.232 St Jude

p.185 Sara Tech

p.185 Sara Tech

p.181 S C Digital

p.181 S C Digital

p.165 Michael Shrayer Software

p.165 Michael Shrayer Software

p.6 p.7 Shugart Associates

p.6 p.7 Shugart Associates

p.215 68 Micro Journal

p.215 68 Micro Journal

p.80 SMA

p.80 SMA

p.29 Smoke Signal Broadcasting

p.29 Smoke Signal Broadcasting

p.167 Software Dev and Training

p.167 Software Dev and Training

p.190 Software Dynamics

p.190 Software Dynamics

p.230 Software Ingenuity

p.230 Software Ingenuity

p.16 SSM

p.16 SSM

p.250 Solid State Sales

p.250 Solid State Sales

p.43 Soroc Technology Inc

p.43 Soroc Technology Inc

(p.CII) Southwest Technical Products Corp

(p.CII) Southwest Technical Products Corp

p.142 Structured Analysis Systems

p.142 Structured Analysis Systems

p.119 SubLOGIC

p.119 SubLOGIC

p.230 Sunflex

p.230 Sunflex

p.238 Sunny International

p.238 Sunny International

p.151 SuperSoft

p.151 SuperSoft

p.25 Sybex

p.25 Sybex

p.79 Synchro Sound

p.79 Synchro Sound

p.71 Tarbell Electronics

p.71 Tarbell Electronics

p.75 Technical Systems Consultants

p.75 Technical Systems Consultants

p.122 p.148 Technology Transfer

p.122 p.148 Technology Transfer

p.180 3 G Co Inc

p.180 3 G Co Inc

p.27 3/M Company

p.27 3/M Company

p.55 Robert Tinney Graphics

p.55 Robert Tinney Graphics

p.230 Tora Systems Inc

p.230 Tora Systems Inc

p.190 Total Information Services

p.190 Total Information Services

p.198 TRS-80 Software Exchange

p.198 TRS-80 Software Exchange

p.230 Ucatan

p.230 Ucatan

p.201 Upper Case Books

p.201 Upper Case Books

p.204 US Robotics

p.204 US Robotics

p.189 Vista Computer

p.189 Vista Computer

p.250 V R Data

p.250 V R Data

p.244 Wameco

p.244 Wameco

p.99 Whales

p.99 Whales

p.230 p.232 Wintek Corp

p.230 p.232 Wintek Corp

p.219 Worldwide Electronics

p.219 Worldwide Electronics

p.151 p.164 XComp

p.151 p.164 XComp

p.212 Xitex

p.212 Xitex

p.211 ZS Systems

p.211 ZS Systems