[editor : Carl T. Helmers Jr.] [publisher : Virginia Peschke Londner] [art : Stephen Kruse, Wai Chiu Li, Dorothy Shamonsky, Ellen Shamonsky] [cover : Eduardo Kellerman] #Magazine
#Abstract
About the Cover... This month's cover is the work of Eduardo Kellerman, computed with a simple APL implementation of the "Serendipitous Circles" algorithm with several modifications. The original algorithm was described by authors D John Anderson and William F Galway in an article on page 70 of the August 1977 BYTE. Eduardo's comments upon the modifications to the algorithm form the text of his article Serendipitous Circles Explored, which includes reproduction of 13 original examples he has made. Four of these examples were used as a group to form the cover of this issue. An important point to mention is that many of the intricacies of this form of display can be realized by any personal computer owner who also has point plotting graphics capability; and for those who have color graphics, further variations worthy of experimentation include assigning color values to each point. page 178
The evolution of the TDL system monitor board and its documentation are the subjects of Bradford E Rehm's article, The TDL System Monitor Board: A Writer's View. Also included is a complete description of the various features and applications of the system monitor board. page 10
Tabies can help you to create more efficient programs. In An Introduction to Tables, F James Butterfield describes different types of tables and helps you to decide which kind is best for your specific need. page 18
Number crunching is a subset of the capabilities of the personal computing system. Most microprocessors have limited capabilities built in , capabilities which make programmed higher level arithmetic relatively slow. One way to get around the limitations of programmed arithmetic software for long operations such as multiplication is to implement some specialized hardware. Jack Bryant and Manot Swasdee show How to Multiply in a Wet Climate by adding a MIL spec high speed multiplier to a 6800 processor. This provides a high speed hardware basis for doing floating point arithmetic quickly. page 28
What is the ultimate 8080 (6800, 6502, PDP-8, ...?) multiplication routine? While not promising an answer, William B Noyce provides a direction in which to look for such with his article Optimization: A Case Study. He takes a routine by Christopher Glaeser which appeared in july 1977 BYTE, and proceeds to explore the ways in which the multiplication algorithm can be optim ized with respect to execution time, given the limitations of the 8080 instruction set. page 40
What's inside the Radio Shack TRS-80 computer? Since the warranty is voided if the case seal is broken, Dan Fylstra cannot take you inside, but he can and does give a functional description of what you get with the TRS-80 in his article The Radio Shack TRS-80: An Owner's Report. page 49
With a final installment entitled The Machinery of Emotion and Choice, Ernest W Kent concludes his 4 part series on The Brains of Men and Machines, essential background information for all who would design and implement robotic systems. page 66
One of the computer experimenter's dreams has always been to control lights and appliances around the home by computer, but the thought of installing all the necessary wiring has dampened many spirits. Steve Ciarcia shows you how to get around the problem with a reasonably priced wireless AC control system that lets your computer talk to your house. Read Tune In and Turn On, Part 1: A Computerized Wireless AC Control System. page 114
Colleges are at last recognizing microcomputers as very useful and versatile laboratory tools. At Algonquin College, Bill Foster and Bob Southern have set up A College Microcomputer Facility. As an introduction to the setup of such a lab, this article may help answer some basic questions other college departments might have about the practicality of a microcomputer laboratory. page 90
What's it like to use the Processor Technology SOL terminal computer as a personal system purchased fully assembled and tested? Dennis Barbour, an owner of a SOL-20, reports on his experiences with SOL in his User's Report: The SOL-20. page 126
Experimentation with problems of robotic mechanisms does not necessarily have to begin with the mechanisms them selves. Much of the problem of building a robot and making it work lies in the determination of strategies of movement and searching through the environment that the robot inhabits. John Webster's article Robot Simulation on Microcomputers shows how any personal computer with a video display can be used to implement a simple simulation of a robot confined to a playpen. page 132
In this month's BYTE, Mike Wilber completes his 3 part series outlining CIE Net: A Design for a Network of Community Information Exchanges with a discussion of "other issues," which help fillin the design. page 168
[author : Carl Helmers] #Edito
Extract : « Changes of State
I'll start by turning attention to the phenomenon of changes of state. In the abstract, the state of a system is the complete set of parameters needed to describe that system unambiguously at some point of time. The dynamically changing universe in which we live is such that changes of state are prevalent in whatever we choose to examine. Life seems fraught with changes of state by its very nature.
In elementary physics, for example, we find the irreversible change of state which occurs when a warm body is placed in a cold chamber without any source of thermal energy, or when an orbiting satellite is placed in a decaying orbit where a slight but measurable atmospheric drag makes a fiery end inevitable. In chemistry, one sees the change of state which is a chemical reaction going to completion after materials are mixed.
On a less directly observable, yet still scientific, basic we find the theories of geophysics and the study of changes of state in the depths of our planet's past. We see residual traces of significant changes of state which must have occurred. We find, for example, a well-defined mechanism explaining the acretion of planets and stars from a proto-stellar nebula. One residual trace of this change of state is the planet Earth and its Moon. A little later in the geological record, we find the change of state which is the evolution of life and its fundamental changes in the chemical composition of the surface and atmosphere of the planet Earth. [...] »
[theme : Software Techniques] [author : Noyce] #Method #Listing #Assembly
Extract : « Whatever size computer one works with, there is usually pressure to make it perform a given task in less time or less memory. "Optimization" techniques are methods for accomplishing such speed or memory improvements. Usually the most effective changes to a program are "algorithmic changes," changes to the strategy the program uses to get its result An algorithmic change can reduce the time a program takes to run by 50 to 90 percent. For example, using the well-known quicksort or heapsort instead of a bubble sort to sort long lists can have this effect.
Sometimes, however, significant results can be achieved by "coding changes," in which the modified program does essentially the same thing as the previous version, but in a better way. Most compilers perform optimizations of this type, such as keeping in a register any expression whose value is used more than once, rather than recomputing it whenever it is needed. Coding changes often exploit simple mathematical or logical identities. [...] »
[theme : Lab Design] [author : Foster-Southern] #Experience #Education #Electronic
Extract : « If a student were asked to design a lab facility for a course in microprocessor hardware and software at the college level, the equipment list could be formidable. From the student's viewpoint there should be one computer per student or pair of students, with quick and simple edit capability, fast assembly, instant hard copy and a source file that nobody else can erase. Other desirable features could be serial, parallel and bus access to the computer for hardware projects, access to callable IO routines, and simple system operation that would not need an operator. With a budget of less than $20,000, the system first planned by the faculty at Algonquin College in Ottawa CANADA lacked many of the above features. However, by use of fast, shared input-output equipment plus simple multipoint network communications, such a facility was designed and implemented in eight months within the $20,000 budget. Approximately 100 students in seven separate lab groups used this facility at Algonquin College during 1977. Photo 1 shows some of the students, each in front of one of the microcomputer stations. Figure 1 shows the system block diagram, including the main computer, a Dynalogic DMS/6800 system with dual diskettes, and the nine bus connected microstations, each a stand alone college-built Motorola 6800 microcomputer. [...]
Summary
The final acceptance test of any system is always provided by the user, who in this case is the student. The students' reactions have been very positive judging from the way they handle complex software and hardware projects on the system during the semester. »
[theme : Hardware] [author : Ciarcia] #Robotics
Extract : « [...] As Clarence turned to close the door, I stepped into the den, reached behind the corner of one of the bookcases and pressed a button. This was the signal for the computer in the basement to go into action. I started counting silently down from 20. By the count of ten Clarence had entered the den. I motioned for Ken and Clarence to sit down and said, "We'll get the information you need later, Clarence. I'd better check on that mail first. It might be important." Six, five, four... I stood up in the middle of the room and said, "Computer?"... Ken and Clarence looked at me as if I were crazy... two... one... zero... [...] »
[theme : Robotics] [author : Webster] #Robotics #Simulation #Algorithm #Listing #Assembly
Extract : « Why build a mechanism when a video display can be used to visualize logical problems of robots?
A short time ago I came across a program (Dr Dobb's journal, volume 1, number 8, page 28) written by Marvin Winzenread, entitled "The Bouncing Beastie: A Random Walker for Processor Tech's VDM-1." When I loaded the program, sure enough, this little thimble with feet appeared and began stumbling around the screen leaving a trail of asterisks. That was it. No big deal, you say? Marvin says the little character looks like a turtle to him, but to me it looked like the robot I'd tried to build when I was in high school, and I was entranced. [...] »
[theme : Hardware] [author : Rehm] #Review #ComputerKit #Electronic
Extract : « At nearly the witching hour of a wintry December evening, several of us, including some of the engineering and management staff from TDL, settled down for "lunch" at the Edison Diner in NJ. It was indeed lunch time for the TDL people, who had taken to working night owl shifts so that they could do engineering and software work without being distracted by telephone calls and visiting salespeople. In the course of a conversion which meandered from computers, to memories of our spent youths in New Jersey suburbia, to ham radio and back to computers, I learned that prototype printed circuit boards for a new product were being ordered, but that the staff was having trouble finding time to write the documentation for it. In response to this familiar story, I volunteered to write the documentation. [...] »
[theme : Programming Techniques] [author : Butterfield] #Method #DataManagement #DataStructure
Extract : « The construction and use of program tables is the gateway to developing powerful programs. The new programmer may have trouble getting to know the concept of tables, but time spent learning about tables is well worth the effort.
The first few programs to go into your home computer are likely to be written using a multitude of IF tests: If a value equals 1, branch to a particular routine; if equal to 2, another branch; if over 5, yet another branch; and so on. After a while this gets to be a lot of work. Programmers quickly learn to use table structures to simplify decision making.
Tables are called by many names, depending on the language and the application: arrays, vectors and matrices, to name three. Even the concept of a "file" is usually just a large table which follows the same structural rules but is stored on disk or tape. [...] »
[theme : Computation] [author : Bryant-Swasdee] #Listing #Assembly #Algorithm #Mathematics
Extract : « An 8 by 8 bit parallel two's complement multiplier, forming sign and a 14 bit product, was recently introduced by TRW Electronic Systems Division. Designated the MPY-8AJ, the multiplier is a low power high performance bipolar TTL device, forming the product in a typical 130 ns multiply time. This time is an order of magnitude shorter than usual microprocessor instruction execution time. Photo 1 shows the beauty contest photograph of this part, as supplied by TRW. Figure 1 is a block diagram of input, output and control for the device. The product is available in a 40 pin DIP ceramic package, 0.600 series. Single power supply of +5 V and under 2 W power consumption add to the attractiveness of the MPY-8AJ as an addition to microcomputer hardware.
We can do two's complement multiplication with software; what we gain using the MPY-8AJ is speed. We think such a device will have wide interest among readers. We decided on the following goals to guide hardware design and software development:
• Multiple precision fixed point arithmetic with faster multiplication.
• Fast double subscripted array access (in a microprocessor with indexed addressing).
• A complete floating point package with fast multiplication.
• Best use of hardware to do things which are slow with software. [...] »
[theme : Review] [author : Fylstra] #Review #ComputerDesktop
Extract : « On August 3 1977, the Radio Shack division of Tandy Corporation announced its entry into the personal computing market with the TRS-80 microcomputer. The move held special significance for the personal computing industry, for with parent company sales of nearly a billion dollars and over 6000 retail stores including 500 overseas, Radio Shack is in a unique position to help bring personal computers to the average man or woman.
The TRS-80 is an "appliance" computer, preassembled and warranted with a built-in BASIC language interpreter, and at a price of under $600 it will be affordable by many new personal computing enthusiasts. But $600 still represents a major investment for most of us, and it's desirable to know as much as possible about the detailed specifications of a computer before buying one. If you're contemplating purchase of one of the "appliance" computers now on the market, this review should be helpful to you in making your evaluation. [...] »
[theme : Robotics] [author : Kent] #ArtificialIntelligence #Book
Extract : « In the preceding articles of this series (BYTE January, February and March 1978), we have examined the general organization of the brain, the nature of its components, the methods by which its general output strategies are converted into actual motions, and the ways in which its inputs are recoded as high level perceptual constructs. In this final article, we shall examine the central process in which the inputs are employed in the generation of output decisions.
There are two basic aspects to this process. One is the cognitive or rational aspect of brain operation, analogous to the ordinary logical processes of the computer in function, if not in detailed operation. The other aspect is the motivational component, which defines the goals to be achieved. This term covers concepts such as emotions, drives, desires and the like. In most standard computer situations, these goals are analogous to the purpose of a program, which is in turn implicit in its operation. They are rarely defined in terms of computer hardware. This means that one of the major differences between brains and present day computers is that brains determine their own behavioral directions or objectives, whether by prewired reflex or by learned processes, whereas computers are built to passively accept whatever purpose is inherent in the current program. As we shall see in the following discussion, there is no fundamental reason why a robot brain could not be built to operate somewhat like a natural brain in this regard. [...]
[...] Bibliography
Trehub, A, "Neuronal Models for Cognitive Processes: Networks for Learning, Perception and Imagination," J Theor Biol (1977) 65, 141 169. »
[theme : Product Description] [author : Barbour] #Review #ComputerDesktop #Listing #BASIC
Extract : « John Kemmeny in his book, Man and the Computer, reveals his thoughts concerning the future of computers. Kemmeny believes that people will have access to large regional computers in the future. This will allow people to do many jobs in the home and provide entertainment and knowledge. A computer terminal in the home will be tied to a large regional supercomputer giving people the ability to do many things at home not now possible, such as reading the latest news stories, studying subjects for degree credit, storing recipes to allow the input of a week's menu and production of a grocery list of needed items, and the recording and computation of family financial matters. The possible uses of this type of computer are unlimited.
Processor Technology has taken this concept of the home computer terminal attached to a supercomputer one step toward reality by providing the home user with a terminal and microprocessor combination, the SOL, capable of functioning with, or independent from, another computer. The operating systems provided by Processor Technology allow the SOL system to operate as a microprocessor independent of any outside processor with its own peripherals until the terminal command is issued, which causes SOL to operate as a computer terminal. This combination will allow the greater use of your home microcomputer today and in the future. What follows is a brief description of a SOL system based on my personal experiences. [...] »
[theme : Personal Computing Networks] [author : Wilber] #Networks
Extract : « Protocol Levels and Parameter Lines
The formats of interstation transmissions and end-to-end messages include protocol level numbers and parameter lines in order to make the formats identify themselves. The intent is that these identifications change whenever the format changes sufficiently to invalidate a program that would have to understand the format. The protocol level numbers are just that, but the end-to-end messages also contain parameter lines that can more easily show fine shades of meaning. For example, the parameter line describing text compression might name the compression algorithm being used and also give some initial settings for its state variables.
The rest of this specification says nothing about particular choices of values to be inserted for protocol level numbers and parameter lines, but some (arbitrary) choices should be taken. For the sake of definiteness, we can arbitrarily pick the number one to be used for the <protocol number> in both the interstation and end-to-end protocols. The parameter lines used for the <compressed tail> and the <file tail> can be arbitrarily picked (for example, with my initials, giving "BMW 1") in order to leave room for expansion. [...]
[...] BIBLIOGRAPHY
This list cites books, articles and other informative graffiti to which the text alludes, by title or otherwise, or which you might find edifying since you're interested enough in the subject to have read this far. Two of them are available from the NTIS, the National Technical Information Service, Springfield VA 22161. Others are published by NIC, the ARPA Net Network Information Center, SRI International, Menlo Park CA 94025, or by ANSI, the American National Standards Institute, 1430 Broadway, New York NY 10018.
1. ANSI: "USA Standard Code for Information Interchange," USAS X3.4-1968, October 10 1968.
2. ANSI: "American National Standard for Bit Sequencing of the American National Standard Code for Information Interchange in Serial-by-Bit Data Transmission," ANSI X3.15, August 19 1966.
3. ANSI: "American National Standard Character Structure and Character Parity Sense for Serial-by-Bit Data Communication in the American National Standard Code for Information Interchange," ANSI X3. 16-1966, August 19 1966.
4. Elwyn R Berlekamp: Algebraic Coding Theory, McGraw-Hill, New York, 1968.
5. Bolt, Beranek and Newman: "Specifications for the Interconnection of a Host and an IMP" (BBN 1822), Bolt, Beranek and Newman, Cambridge MA, January 1976 (available from NTIS: order number AD A019160).
6. Digital Equipment Corporation: "Specification for: DDCMP Digital Data Communication Message Protocol," Digital Equipment Corporation, Maynard MA, December 1974.
7. Digital Equipment Corporation: "DECnet Digital Network Architecture Design Specification for: Data Access Protocol DAP," Digital Equipment Corporation, Maynard MA, July 1975.
8. Elizabeth Feinler and Jon Postel: "ARPAnet Protocol Handbook" (NIC 7104), Stanford Research Institute, Menlo Park CA, April 1976 (available from NTIS: order number AD A027964).
9. Leonard Kleinrock, William E Naylor and Holger Opderbeck: "A Study of Line Overhead in the Arpanet" (in Communications of the ACM), Association for Computing Machinery, New York, January 1976.
10. Shu Lin: An Introduction to Error-Correcting Codes, Prentice-Hall Inc, Englewood Cliffs NJ, 1970.
11. W Wesley Peterson: Error-Correcting Codes, The MIT Press, Cambridge MA, 1961.
12. Ken Pogran, John Vittal, Dave Crocker and Austin Henderson: "Proposed Official Standard for the Format of ARPA Network Messages" (NIC 37435, RFC 724), May 12 1977.
13. Mike Wilber: "A Network of Community Information Exchanges: Issues and Problems" (in the proceedings of The First West Coast Computer Faire, April 1977), Palo Alto CA.
14. Mike Wilber and David Fylstra: "Homebrewery vs the Software Priesthood," BYTE, Peterborough NH, October 1976. »
[theme : Graphics] [author : Kellerman] #Graphics
Extract : « In "Serendipitous Circles" by D J Anderson and W F Galway (August 1977 BYTE, page 70) a simple algorithm for generating computer art is described. The algorithm basically consists of computing a series of (X, Y) pairs and displaying them on a graphics device. Each (X, Y) pair is computed from the preceding one using two equations, one for X, and one for Y. All one needs to do is to supply an initial (X, Y) pair.
In this article are shown the results of experiments with different equations for generating the (X, Y) pairs. A storage scope was used as the graphics device, thus all points displayed are stored on the screen until a picture is "completed." Very interesting diagrams were obtained when the results of using several (X, Y) starting pairs were overlapped. Further enhancement was obtained by reflecting the patterns about the X and Y axes. All the pictures shown in this paper include these reflections. They were generated on a Tektronix 4015 storage display driven by an APL program. [...] »
On Consumers' Languages and Human Interfaces
Concerning PASCAL: A Homebrew Compiler Project
Problems of International Television Standards
Tick... Tick... Tick... Booooom
Avoid Self-Modifying Code
#Book
Extract : « Scientific and Engineering Problem Solving with the Computer by William Ralph Bennett Jr Prentice-Hall, Englewood Cliffs NJ 07632 457 pages, 8 1/2 by 11 inches $17.95 [...]
Your Home Computer by James White DYMAX, Menlo Park CA 94025 235 pages, softbound $6 [...] »
#Association