[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
#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.
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
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
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
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
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
Steve Ciarcia completes his description of a non-contact scanner by describing the software that will Let Your Fingers Do the Talking. page 94
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
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
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
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
[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. [...] »
[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. [...] »
[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. [...] »
[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 [...] »
[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. [...] »
[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. [...] »
[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. [...] »
[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. [...] »
[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." [...] »
[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. [...] »
[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. [...] »
#Association
#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 [...] »