1977 3.09 1979

Vol.3 n°9 september 1978

Vol.3 n°9 september 1978

(byte_1978_09.jpg)

[editor : Carl T. Helmers Jr.] [publisher : Virginia Londner, Gordon R Williamson] [art : Stephen Kruse, Wai Chiu Li, Dorothy Shamonsky, Ellen Shamonsky] [cover : Ed Kellerman] #Magazine

p.4 In This BYTE

p.4 In This BYTE

#Abstract

About the Cover... The computer artwork for the cover of this issue of BYTE is the work of Ed Kellerman, whose article appears on page 40. It was done using the facilities of IBM in Endicott NY, with the APL language as the major tool and a Tektronix plotter for producing the black images for the various colors of the line drawing component of the cover.

But we looked at the resulting artwork, and then asked Ed if he would allow us to provide some additional hand coloration by Ellen Shamonsky of our art department. (Ellen is the person responsible for the airbrush work on July 1978's cover, which we forgot to credit in that issue.) Ellen provided the multicolored airbrush background for the present cover, using the artwork supplied by Ed as the guide for positioning the various zones.

p.22
p.22

A background in vectors and matrices can give you a set of powerful tools for manipulating shapes on a graphics display. Read Jeffrey L Posdamer's The Mathematics of Computer Graphics. You may find that the mathematics is not as difficult as you think. page 22

p.40
p.40

As other articles in this issue demonstrate, matrix operations are one method of manipulating graphics. The manipulations become simpler when the implementation language is designed to work with matrices. APL is such a language. Eduardo Kellerman gives us a taste of what happens when you mix APL and Graphics. page 40

p.58
p.58

In this issue Kin-Man Chung and Herbert Yuen start a series of articles detailing the design and construction of A "Tiny" Pascal. Part 1 contains an overall view of the project along with a detailed look at an interpreter for pseudocode which is what the Pascal source program will be compiled into. The Pascal project emphasizes the portability of the language by compiling from Pascal to pseudocode which will then have an individual interpreter for every different machine. page 58

p.68
p.68

What constitutes a program, and what is the proper way to write one? Proper is a loaded word , but if ease of thought and unambiguity are goals of the effo rt, Some Words About Program Structure by Albert D Hearn will be a good starting point for the novice. page 68

p.82
p.82

This month we conclude Dr James Williams's three part series on Antique Mechanical Computers with Part 3: The Torres Chess Automaton. Incredible as it may seem, Leonardo Torres built a working chess automaton in 1911. After a discussion about early concepts in the first "thinking" machines, the chess automaton is described in detail in this article. Dr Williams concludes the series with some philosophical speculations about automata. page 82

p.94
p.94

Steve Ciarcia completes his description of a non-contact scanner by describing the software that will Let Your Fingers Do the Talking. page 94

p.102
p.102

In an extended Technical Forum discussion, Jonath an Bondy presents a preliminary design for S2L: An Altair (S-100) to LSI-ll Bus Adapter. Here is a starting point for those interested in taking advantage of numerous personal computing peripherals in combination with the 16 bit Digital Equipment Corporation LSI-11 computer. page 102

p.114
p.114

If you intend to use your computer for arithmetic operations it is necessary to have a floating paint arithmetic package. Joel Boney's article on implementing a binary floating point package will help you implement Math in the Real World if you don't have an appropriate package at your fingertips in a high level language or program library. page 114

p.156
p.156

A displayed object can be defined within a matrix in a program. Once the object has been so defined it is a simple matter to perform Graphic Manipulations Using Matrices as described by Joel Hungerford. page 156

p.166
p.166

Are you faced with the prospect of owning a just built computer system bare of all niceties such as BASIC or even assembler? Somehow, it is difficult to impress noncomputer people by adding 1 to 1 to get 10. Larry Kheriaty has an interesting language to solve this problem. For Larry's solution read WADUZITDO: How to Write a Language in 256 Words or Less. page 166

p.6 On Entering Our Fourth Year

p.6 On Entering Our Fourth Year

[author : Carl Helmers] #Edito

Extract : «  With this issue, we begin our fourth year of publication of BYTE magazine. The project remains as exciting, if not more so, than when we first put together an issue of the magazine in the summer of 1975. A lot has changed as the people involved with this publication have grown and learned about the process of magazine production. Yet a lot remains similar.

The basic goal of this magazine is not likely to change: to provide readers with a continuing stream of novel ideas and information about computers and related fields. [...]  »

TABLE OF CONTENTS

Foreground

Foreground

p.58 A -TINY- PASCAL COMPILER, Part 1: The P-Code Interpreter

p.58 A -TINY- PASCAL COMPILER, Part 1: The P-Code Interpreter

[theme : Software] [author : Chung-Yuen] #Programming #Listing #Pascal #Algorithm

Extract : «  Roughly speaking, a compiler is a program that translates the statements of a high level language (such as Pascal or FORTRAN) into a semantically equivalent program in some machine recognizable form (such as machine or assembly code). The former is usually referred to as the source program while the latter is called the object program. An interpreter, on the other hand, reads in the source program and starts exection directly, without producing an object program. [...]  »

p.94 LET YOUR FINGERS DO THE TALKING: Scanner Applications

p.94 LET YOUR FINGERS DO THE TALKING: Scanner Applications

[theme : Software] [author : Ciarcia] #Electronic #Listing #BASIC #Display

Extract : «  [...] The scanner consists of 32 pairs of infrared light emitting diode transmitters and photo transistor receivers arranged around the perimeter of a picture frame. There are 16 pairs on the X axis and 16 pairs on the Y axis. The hardware logic sequentially activates the 32 pairs, first in the X direction (horizontal) then in the Y direction (vertical). If a physical obstruction is placed in the plane of the scan, one X and one Y beam are interrupted. The corresponding X and Y beam addresses are stored when this happens. Since there are 16 pairs per axis, each coordinate can be represented by a 4 bit code and both the X and Y addresses can be packed into one data byte. [...]  »

p.102 S2L: AN ALTAIR (S-100) TO LSI-11 BUS ADAPTER

p.102 S2L: AN ALTAIR (S-100) TO LSI-11 BUS ADAPTER

[theme : Hardware Design] [author : Bondy] #Electronic #Interface #Book

Extract : «  For many months, those of us who admire the architecture of the PDP-11 computers have been looking for a way to adapt the wealth of Altair (S-100) bus products to this processor. The introduction of the Heath H11 (LSI-11 based) processor has further emphasized the need to solve the problems which have thus far made the LSI-11 incompatible with the Altair (S-100) bus peripherals. This article describes the problems which exist, and one solution which I see for them. It has been written in advance of actually implementing the solution, but it should prove valuable to all those experimenters who wish to take up the challenge of an LSI-11 to Altair bus adapter.

For years, the only problem with the LSI-11 as a personal computer has been price. The processor board (KD11-F) itself is a rather good deal at a discount level of 20 to 30 percent, but the accessories are somewhat expensive compared with typical personal computing products [...]  »

p.166 WADUZITDO: How To Write a Language in 256 Words or Less

p.166 WADUZITDO: How To Write a Language in 256 Words or Less

[theme : Languages] [author : Kheriaty] #Listing #Assembly #Pascal #Programming

Extract : «  Every computer owner likes to show his or her microcomputer to friends. The first question the friends usually ask is, "What does it do?" The software system presented here demonstrates what a computer can do in a manner simple enough for almost anyone to understand. Even if you have a larger, more capable system, it is often worthwhile to be able to demonstrate something that can be accomplished on a smaller scale. WADUZITDO is small enough to run on almost any microcomputer yet it allows even the novice user to make the computer "do something."

WADUZITDO is a complete high level language processor that fits in less than 256 bytes on either a 6800 or 8080 based system. The only other requirement is some kind of terminal. The system includes a text editor to allow a program to be entered and modified, and an interpreter to execute the program. The only external routines needed are single character input and single character output such as those provided by most system monitors. [...]  »

Background

Background

p.22 THE MATHEMATICS OF COMPUTER GRAPHICS

p.22 THE MATHEMATICS OF COMPUTER GRAPHICS

[theme : Graphics] [author : Posdamer] #Graphics #Mathematics #Book

Extract : «  The personal computing literature is filled with material describing the hardware of microprocessors using video graphics. A great deal has also been written about specific graphic applications including video games, computer art, etc. Computer graphics is, however, a powerful tool that requires for its use an understanding of a set of underlying computingand mathematical principles. The purpose of this article is to present some of these principles in the context of personal computing.

The screen of a video display is essentially a space with two dimensions. While a number of schemes exist for dealing with two- dimensional spaces, the most common is Cartesian coordinates. Each point in the space is represented by a pair of numbers corresponding to its distance from two axes at right angles to each other. On a video display this pair of numbers corresponds to the scan line number and picture element within the scan line. The notation [x y] will be used here to denote the element number and scan line number. Due to the nature of displays, the values for x and y are integers of limited range. Each pair of values corresponds to a unique point in the display space. [...]  »

p.40 APL AND GRAPHICS

p.40 APL AND GRAPHICS

[theme : Software] [author : Kellerman] #Listing #APL #Graphics #Book

Extract : «  This article presents an introduction to the use of APL for creating and manipulating graphic images. The paper carries the reader through the steps of interactive graphic design using APL and IBM 5100 APL Graphpak. The last section of this article, giving background information about APL and Graphpak, should be reviewed by the reader not familiar with either of these two topics. August 1977 BYTE is a useful source of APL information. For more detailed information about APL see the references listed at the end of this article.

The initial checkout of the examples was done using an IBM 5100 in stand-alone mode. The results were drawn on an IBM 5103 printer by modifying Graphpak to use output functions from the IBM 5100 Print Plot/APL Problem Solver Library. When the designs grew more complex, the IBM 5100 was connected to an IBM System 370/Model 168 and the code was executed there. The IBM System 370/Model 168 produced its output on a storage scope equipped with a hard copy unit. [...]  »

p.68 SOME WORDS ABOUT PROGRAM STRUCTURE

p.68 SOME WORDS ABOUT PROGRAM STRUCTURE

[theme : Software] [author : Hearn] #Method #Programming #Algorithm #Listing #BASIC

Extract : «  Microprocessor programming, at this point in time, is a black art. Once you have learned the basic instruction set, you're on your own. Some people get the knack of this mysterious task fairly quickly, and some do not. Those who do well seem to have developed some sort of system for going about it. The point is that an organized, systematic approach is required if there is any hope for continued programming success. The purpose of this article is to describe to you one such method which has become very popular with programmers of all types, using all kinds of computers from micros to the giants.

Concept

What we're looking for is simplicity in the writing of programs. This is usually achieved if the program can be reduced to a collection of basic components which fit together in very well-defined ways. This is the concept behind structured programming. [...]  »

p.82 ANTIQUE MECHANICAL COMPUTERS: The Torres Chess Automaton

p.82 ANTIQUE MECHANICAL COMPUTERS: The Torres Chess Automaton

[theme : History] [author : Williams] #Robotics #History #Book

Extract : «  The automata of the 18th century were in fact sequence controllers possessing both digital and analog stored programs whose readouts were mechanisms that imitated human and animal actions (computers of a sort). During the next century they inspired a flood of automata, the best of which von Helmholtz described in his 1847 book, Uber die Erhaltung der Kraft, as being equal in achievement to the best in any other branch of science. Derek Price's book, Automata in History, includes material from von Helmholtz (see bibliographical notes).

In the 19th century men were starting to contemplate how mechanisms might be able to improve the human state. Charles Babbage had this notion in mind when in December 1837, precisely 99 years after Vaucanson's marvelous demonstration (see July 1978 BYTE "Antique Mechanical Computers, Part 1") he wrote the first sentence of On the Mathematical Powers of the Calculating Engine: "The object of the present volume is to show the degree of assistance which mathematical science is capable of receiving from mechanism." An obscure accountant of Manchester, Percy Ludgate, working without knowledge of Babbage, expressed the same thought when he wrote in 1909 the first sentence of On a Proposed Analytical Engine: "I propose to give in this paper a short account of the result of about six years work, undertaken by me with the object of designing machinery capable of performing calculations, however intricate or laborious, without the immediate guidance of the human intellect." [...]  »

p.114 MATH IN THE REAL WORLD

p.114 MATH IN THE REAL WORLD

[theme : Software] [author : Boney] #Mathematics #Encoding #Algorithm #Book

Extract : «  Your system is completed. You bought a kit with lots of memory and spent many hours assembling it. The manufacturer's manuals are dog eared. You've read various works on computer programming which inspired you to write integer multiply and divide routines and create your own mathematical statement processor. The routines are thoroughly debugged and now you are ready to enter your first mathematical statement: 5 ÷ 2 =. The computer promptly responds with '2'. Well, that's not really wrong in integer arithmetic where remainders are often dropped, but most of us learned in the third grade that 5 ÷ 2 really equals 2.5. How do you get your computer to answer 2.5 instead of 2? Read on. The answer lies in floating point or real representation and manipulation of numbers. [...]  »

p.156 GRAPHIC MANIPULATIONS USING MATRICES

p.156 GRAPHIC MANIPULATIONS USING MATRICES

[theme : Graphics] [author : Hungerford] #Graphics #Mathematics #Listing #BASIC

Extract : «  One definition of graphics might be "a means to convert data into information." Our computers create printed data at a great rate, but all this data is not information until it conveys to a person some trend or fact about the world we live in. A small part of graphics is the conversion of data representing the position in space of the surface of an object into a three-dimensional picture of that object. The picture may be useful for itself as computer art, or it may help understand something about the object. [...]  »

Nucleus

Nucleus

p.10 The NCC '78 Personal Computer Show

p.10 The NCC '78 Personal Computer Show

p.17 Letters

p.17 Letters

p.54 BYTE's Bits

p.54 BYTE's Bits

p.54 BYTE's Bugs

p.54 BYTE's Bugs

p.120 Event Queue

p.120 Event Queue

p.123 Programming Quickies: Plugging the KIM-2 Gap

p.123 Programming Quickies: Plugging the KIM-2 Gap

p.124 Clubs and Newsletters Directory

p.124 Clubs and Newsletters Directory

#Association

p.145 Book Reviews

p.145 Book Reviews

#Book

Extract : «  The 8080 Programmer's Pocket Guide Scelbi Computer Consulting Co Milford CT 06460 $2.95

Tychon 8080 Hex Code Card by Tychon Inc POB 242, Blacksburg VA 24060 $2.95 [...]  »

p.147 Technical Forum: Making an H9 Understand Lower Case

p.147 Technical Forum: Making an H9 Understand Lower Case

p.177 What's New?

p.177 What's New?

p.206 Unclassified Ads

p.206 Unclassified Ads

p.208 BOMB

p.208 BOMB

p.208 Reader Service

p.208 Reader Service

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

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

p.146 AAA Chicago Computer Center

p.146 AAA Chicago Computer Center

p.125 Administrative Systems

p.125 Administrative Systems

p.176 Advanced Interactive Systems

p.176 Advanced Interactive Systems

p.150 AJA Software

p.150 AJA Software

p.31 Anderson Jacobson

p.31 Anderson Jacobson

p.176 Apparat Inc

p.176 Apparat Inc

p.14 p.15 Apple Computer

p.14 p.15 Apple Computer

p.128 Atlas Electronics

p.128 Atlas Electronics

p.169 ATV Research

p.169 ATV Research

p.199 Atwood Enterprises

p.199 Atwood Enterprises

p.197 AVR Electronics

p.197 AVR Electronics

p.176 Basic Computer Shop

p.176 Basic Computer Shop

p.176 Bazzy Electronics

p.176 Bazzy Electronics

p.192 Beckian Enterprises

p.192 Beckian Enterprises

p.197 Beta Business

p.197 Beta Business

p.95 p.109 p.111 p.196 BITS

p.95 p.109 p.111 p.196 BITS

p.144 Biz Comp '78

p.144 Biz Comp '78

p.88 Buss

p.88 Buss

p.77 BYTE Books

p.77 BYTE Books

p.175 BYTE Wats Line

p.175 BYTE Wats Line

p.185 California Digital

p.185 California Digital

p.139 Canada Systems

p.139 Canada Systems

p.51 Central Data

p.51 Central Data

p.49 Computalker

p.49 Computalker

p.176 Computer Age

p.176 Computer Age

p.169 Computer Corner

p.169 Computer Corner

p.127 Computer Enterprises

p.127 Computer Enterprises

p.151 Computer Factory

p.151 Computer Factory

p.169 Computer Hardware Store

p.169 Computer Hardware Store

p.5 Computerland

p.5 Computerland

p.169 Computer Pantry

p.169 Computer Pantry

p.137 Computer Resources

p.137 Computer Resources

p.55 Contemporary Marketing

p.55 Contemporary Marketing

p.1 p.2 Cromemco

p.1 p.2 Cromemco

p.143 Digital Pathways

p.143 Digital Pathways

p.91 Digital Research (CA)

p.91 Digital Research (CA)

p.187 Digital Research (TX)

p.187 Digital Research (TX)

p.165 Digital Research & Eng

p.165 Digital Research & Eng

p.169 Disc 3

p.169 Disc 3

p.89 Dynabyte

p.89 Dynabyte

p.180 Electrolabs

p.180 Electrolabs

p.140 Electronic Control Technology

p.140 Electronic Control Technology

p.189 Electronic Systems

p.189 Electronic Systems

p.191 Electronics Warehouse

p.191 Electronics Warehouse

p.197 Emerge Systems

p.197 Emerge Systems

p.130 EMM/CMP

p.130 EMM/CMP

p.144 Essex Publishing

p.144 Essex Publishing

p.119 Forethought Products

p.119 Forethought Products

p.136 Functional Automation

p.136 Functional Automation

p.61 p.81 Godbout Electronics

p.61 p.81 Godbout Electronics

p.134 p.135 GRT

p.134 p.135 GRT

p.163 H & K Computer Corp

p.163 H & K Computer Corp

p.169 Hamilton Logic Systems

p.169 Hamilton Logic Systems

p.152 DC Hayes

p.152 DC Hayes

p.179 Hobby World

p.179 Hobby World

p.6 p.11 IMSAI

p.6 p.11 IMSAI

p.97 Info 2000

p.97 Info 2000

p.99 Information Terminals

p.99 Information Terminals

p.193 Integrated Circuits Unlimited

p.193 Integrated Circuits Unlimited

p.175 Integrated Technology

p.175 Integrated Technology

p.145 International Data Sciences

p.145 International Data Sciences

p.183 Ithaca Audio

p.183 Ithaca Audio

p.181 Jade Company

p.181 Jade Company

p.194 p.195 Jameco

p.194 p.195 Jameco

p.119 p.150 Lifeboat Associates

p.119 p.150 Lifeboat Associates

p.205 LMN Electronics

p.205 LMN Electronics

p.133 Logical Services

p.133 Logical Services

p.67 Manchester Equipment

p.67 Manchester Equipment

p.197 The Math Box

p.197 The Math Box

p.59 Maxi-Switch

p.59 Maxi-Switch

p.197 Micro Madness

p.197 Micro Madness

p.124 Micro Mail

p.124 Micro Mail

p.66 Micromation

p.66 Micromation

p.120 Micropolis

p.120 Micropolis

p.121 Micropolis

p.121 Micropolis

p.205 Mikos

p.205 Mikos

p.25 Morrow/Thinker Toys

p.25 Morrow/Thinker Toys

p.54 Mountain Hardware

p.54 Mountain Hardware

p.161 mpi

p.161 mpi

p.140 Mullen Computer Boards

p.140 Mullen Computer Boards

p.83 National Multiplex

p.83 National Multiplex

p.129 Netronics

p.129 Netronics

p.142 New England Electronics

p.142 New England Electronics

p.176 New England Recruiters

p.176 New England Recruiters

p.7 p.27 North Star

p.7 p.27 North Star

p.71 Northwest Microcomputer Sys

p.71 Northwest Microcomputer Sys

p.18 Ohio Scientific Instrument

p.18 Ohio Scientific Instrument

p.131 OK Machine & Tool

p.131 OK Machine & Tool

p.165 p.197 Oliver Advanced Engineering

p.165 p.197 Oliver Advanced Engineering

p.163 On-Line

p.163 On-Line

p.107 Osborne & Associates

p.107 Osborne & Associates

p.141 Owens

p.141 Owens

p.158 Pacific Digital

p.158 Pacific Digital

p.180 Pacific Office Systems

p.180 Pacific Office Systems

p.188 Page Digital

p.188 Page Digital

p.158 PAIA Electronics

p.158 PAIA Electronics

p.126 PanaVise

p.126 PanaVise

p.169 PCE Electronics

p.169 PCE Electronics

p.32 Per Com Data

p.32 Per Com Data

p.101 Per & Small Business Cmptr Show

p.101 Per & Small Business Cmptr Show

p.90 Personal Software

p.90 Personal Software

p.30 Personal Systems Consulting

p.30 Personal Systems Consulting

p.203 Poly Paks

p.203 Poly Paks

p.201 Priority I

p.201 Priority I

p.8 p.9 p.123 Processor Technology

p.8 p.9 p.123 Processor Technology

p.138 Program Design Inc

p.138 Program Design Inc

p.43 PRS

p.43 PRS

p.188 Quest Electronics

p.188 Quest Electronics

p.73 Radio Shack

p.73 Radio Shack

p.45 RCA

p.45 RCA

p.176 Real World Simulation

p.176 Real World Simulation

p.199 Rondure Co

p.199 Rondure Co

p.147 S-100

p.147 S-100

(p.CIII) Scelbi

p.35 p.37 Scientific Research

p.35 p.37 Scientific Research

p.176 S & D Computer Technology

p.176 S & D Computer Technology

p.62 Seattle Computer Products

p.62 Seattle Computer Products

p.113 Michael Shrayer Software

p.113 Michael Shrayer Software

(p.CIV) Shugart

p.23 Signetics

p.23 Signetics

(byte_1978_09_p023.jpg)

p.105 SPI

p.105 SPI

p.136 Small Systems Services

p.136 Small Systems Services

p.137 p.139 p.141 p.143 p.145 p.147 p.151 p.155 Smoke Signal Broadcasting

p.137 p.139 p.141 p.143 p.145 p.147 p.151 p.155 Smoke Signal Broadcasting

p.152 Software Records

p.152 Software Records

p.69 Solid State Music

p.69 Solid State Music

p.207 Solid State Sales

p.207 Solid State Sales

p.29 Soroc

p.29 Soroc

(p.CII) Southwest Technical Products

(p.CII) Southwest Technical Products

p.13 Structured Systems Group

p.13 Structured Systems Group

p.122 Summagraphics

p.122 Summagraphics

p.39 Sybex

p.39 Sybex

p.56 p.57 Synchro Sound

p.56 p.57 Synchro Sound

p.93 Synertek Systems

p.93 Synertek Systems

p.132 Tano

p.132 Tano

p.47 Tarbell Electronics

p.47 Tarbell Electronics

p.16 p.17 Tasa

p.16 p.17 Tasa

p.85 Technical Systems Consultants

p.85 Technical Systems Consultants

p.87 Technico

p.87 Technico

p.197 Telesis Laboratory

p.197 Telesis Laboratory

p.197 TIS

p.197 TIS

p.197 Tora System Limited

p.197 Tora System Limited

p.92 TransNet

p.92 TransNet

p.131 Utec Corp

p.131 Utec Corp

p.169 US Robotics

p.169 US Robotics

p.103 Vector Electronics

p.103 Vector Electronics

p.183 Wameco

p.183 Wameco

p.63 Whales

p.63 Whales

p.169 Worldwide Electronics

p.169 Worldwide Electronics

p.146 Xitex

p.146 Xitex

p.176 Zeta Systems Canada Ltd

p.176 Zeta Systems Canada Ltd