[editor : Carl T. Helmers Jr.] [publisher : Virginia Londoner (Virginia Londner), Gordon R Williamson] [art : Ellen Bingham, Wai Chiu Li, Christine Dixon] [cover : Ken Lodding after M C Escher] #Magazine
#Abstract
This month's cover, "Closing the Loop," by Ken Lodding, is our version of the famous original, "Drawing Hands," by the Dutch artist Maurits Cornelis Escher (1898-1969). Much of Escher's work deals with mathematical subjects, and the idea of a robot hand drawing a human hand (and vice versa) seems particularly appropriate to this month's theme of robotics.
In Designing a Robot from Nature, Andrew Filo begins a 2 part series about a robot arm and eye mechanism designed to simulate certain biological features of amphibians. Study of the frog's insect catching capability leads to some interesting design shortcuts. Read Part 1: Biological Considerations. page 12
6809 designers Terry Ritter and Joel Boney of Motorola continue their discussion of A Microprocessor for the Revolution: The 6809 in Part 2: Instruction Set Dead Ends, Old Trails and Apologies. This lively question and answer section reveals the design philosophy that went into the 6809, the successor to the Motorola 6800 processor. page 32
If you have just bought a Radio Shack TRS-80 or a similar microcomputer, you may have asked "How can I use a standard television receiver as a video display unit?" Timothy Loos answers the question with high resolution results in his article Use Your Television Set as a Video Monitor. page 46
In Another Plotter to Toy With, Peter A Lucas describes a novel approach to building a homebrew plotter using an Etch-A-Sketch® unit, which is available in toy stores. page 66
Punched cards are still very much with us. For experimenters who want to make use of this venerable storage medium, Anthony Schaeffer describes a homebrew card reader in The Eclectic Card Reader. page 70
The Lear Siegler ADM-3A "dumb" terminal can provide terminal oriented systems with this essential component in a reasonably priced kit. Paul Franson describes his experiences while Assembling the ADM-3A from a kit. page 76
The development of a hobbyist robot arm capable of being controlled by a computer will open up a new area of control applications. The robot arms available on this level today are fairly small and weak. Keith Baxter and Timothy Daly describe their design for A Hobbyist Robot Arm. page 84
The stepping motor is an attractive device for personal computer applications because of its versatility and price. Paul Giacomo begins a 2 part Stepping Motor Primer in this issue. Part 1: Theory of Operation, gives the background on the device. The second part, in next month's BYTE, will cover interfacing to a computer. page 90
We recently presented a Fast Fourier Transform program (December 1978 BYTE) written in BASIC. (FFTs are used to analyze periodic signals such as music and speech for frequency content.) This month, Dick Lord's Fast Fourier for the 6800 describes a 6800 assembly language version that is approximately ten times faster than the BASIC version. page 108
Many personal computer owners use their systems to develop game programs, one of the most exciting and creative applications of this technology. There are probably as many ways to go about developing game programs as there are people implementing them. H L Stuck is one such implementer and he has several ideas about Approaching Game Program Design presented in his article in this issue. page 120
If your computer is currently running a programming language that allows only integer manipulation, do not despair. You can still have a lot of fun exploring real numbers. Jef Raskin describes how to perform Unlimited Precision Division using only an integer BASIC package. page 154
Part 2 of Build a Computer Controlled Security System for Your Home by Steve Ciarcia concentrates on software. With a bit of effort readers can implement this sophisticated system, which uses infrared beams and ultrasonics (among other techniques) to keep their homes secure. The 3 part series concludes next month. page 162
It can be very disconcerting to have an error appear in a long string of information being loaded from a tape. Usually this means that the entire operation must be started over again. Michael Wimble describes the Hamming Error Correcting Code to help reduce this problem. page 180
With the advent of inexpensive mass storage devices such as the floppy disk, the use of files is becoming more widespread in personal computing. Mark Klein begins a 2 part discussion of what files are and how to use them in Files on Parade, Part 1: Types of Files. page 186
[author : Carl Helmers] #Edito
Extract : « Exciting developments are on the horizon of the field of automated intelligent mechanisms. With its cover theme of "the arms race" this issue of BYTE reflects the trend towards perfection of an inexpensive robot arm that is within the construction capabilities of the computerist. A number of individuals are experimenting with a mechanism controlled by a small computer. At present the efforts are but experiments — with no obvious application as products for living. But out of this spirit of experimentation new fields of endeavor grow.
Robotics is not yet a consumer products field, unless one would include the entertainment automatons (found at amusement parks), which are controlled by minicomputers of an older computer technology. Of course, robotic techniques are already in commercial use, as with intelligent automated machines operating in manufacturing and commercial office environments. I know of contemporary uses of robotic arms in the commercial manufacturing of automobiles and jet engine turbines. There is also a well known robot mail cart which delivers inter-office mail in large buildings in many cities. It can not yet negotiate elevators, so it is confined to one floor at a time and thus is most cost efficient in flat buildings. [...] »
The right circuit modifications can save you the price of a video monitor
[author : Timothy Loos] #Electronic #Display #Interface #Book
Extract : « The main problem encountered using a standard television set as a high resolution video monitor is its limited bandwidth. The IF (intermediate frequency) sections, sound trap circuitry, and video amplifiers all limit the bandwidth of the signal to be displayed. An RF (radio frequency) modulator used with an unmodified television set forms a system capable of displaying a signal of up to 3.5 MHz bandwidth.
Feeding the video signal directly to the video amplifier of the set is helpful. Cutting out the sound traps also helps, but extending the bandwidth any further requires that major modifications be made to the video amplifier.
Among the factors making extension of bandwidth difficult are the Miller effect (which says that the effective base-to-emitter capacitance of a transistor is increased because of the added induced charge due to the collector-to-base capacitance), transistor gain bandwidth limitations, stray wiring capacitance, and picture tube capacitance. Even if you somehow manage to make your set display 64 or more characters per line, you probably will not be able to use it as a regular television receiver any longer. [...] »
A do-it-yourself punched card reader
[author : Anthony J Schaeffer] #OpticalInput
Extract : « Recently, upon completing an LD-14 version of the PDP-8 minicomputer, I encountered the common problem of data entry: all that I had were the panel switches and a softwareless cassette recorder. (See "A Tutorial Training Computer," January 1977 BYTE, page 76. This is a useful tool for learning digital electronics.) Paper tape provides the usual solution to this problem, but it was difficult to extract paper tape from the large system I use. The only solution seemed to be to follow the big fellows and use punched card input. Enough details of my design of the card reader follow so that an enterprising soul can modify it for other uses. I hope that a manufacturer will produce and market an inexpensive people powered card reader of similar design. Punched cards are too pervasive for small computer users to ignore forever.
Standard punched cards have 80 columns and 12 rows. Simple readers usually read one column of 12 bits at a time; the reading is typically done by shining a light on the card and sensing a 1 where there is a hole and the light can get through. Since there are 80 columns, some clocking method must be arranged to determine when a column is aligned with the detector and ready to be read. In a reader where the card is moved by hand at nonconstant speed, the only effective method of obtaining clocking is to dedicate one row on the card to being a clock row. When it is aligned, the other rows are aligned and data can be read. Naturally, every hole in the clocking row must be punched, and the clocking row is not available for data, so there are only 11 bits of data per column. Since most computer systems that use a reader of this simplicity are based on eight or 16 bits, the loss of one bit out of 12 is not a severe loss. One simply punches eight data bits per column and has four bits left for clocking and error recovery. [...] »
Learn about these useful devices in the first of a 2 part tutorial
[author : Paul Giacomo] #Electronic #Robotics #Glossary #Book
Extract : « Many times the computer experimenter would like to control the movement of some object by the computer, but servomotor systems are either too complicated or expensive. An alternative approach is to use a stepping motor, which in many cases is simpler in design and cheaper.
The only major problem with stepping motors is understanding how they work and how to drive them efficiently. This article describes what stepping motors arc and how to use them. Since most applications involve the use of either the permanent magnet or variable reluctance type of stepping motor, the article concentrates on these two types. They can vary from a light duty stepper the size of a quarter to an eight inch diameter (.64 to .32 cm), one horsepower motor. [...] »
Analyze speech and music with this fast FFT program
[author : Richard H Lord] #Audio #Mathematics #Listing #Assembly #Book
Extract : « If you're involved with music or speech processing applications with your computer, you've probably wished you could look at the frequency spectrum of your sampled signals. This may not be as difficult as you might guess, because here is a simple, straightforward fast Fourier transform (FFT) subroutine that can do the trick in just a few seconds.
A Microhistory of the Fast Fourier Transform
The analysis of waveforms for harmonic content has a long and fascinating history. Bernoulli and Euler developed the mathematics of the transform while experimenting with musical strings in 1728, nearly a hundred years before Jean Baptiste Fourier gave his name to the equations. Interest in prediction of the tides led Lord Kelvin to build a mechanical harmonic synthesizer that inspired the construction of increasingly complex mechanical harmonic analyzing machines. This trend culminated in the Mader-Ott machine of 1931, which is on display at the Smithsonian Institute in Washington DC. [...] »
The software for a sophisticated computerized security system-Part 2 of a 3 part series
[author : Steve Ciarcia] #Robotics #Home #Electronic #Algorithm
Extract : « [...] The program necessary for this application requires slightly under 1 K bytes of memory. Since the control algorithms are fixed and do not change, they should be written in nonvolatile storage of some kind. For our purposes an ultraviolet erasable read only memory such as a 2708 or 2716 is recommended. As supplied, the SDK-85 contains 256 bytes of programmable memory used by the control program for stack storage and variable tables. While 256 bytes is adequate once the system is operational, additional programmable memory is suggested for checkout purposes. The larger area allows room for multiple diagnostic subroutines. Once checkout is completed, the 1 K byte memory buffer can be removed and the software readdressed to the location of the 256 byte buffer. This is not a requirement, however. [...] »
The eye of the frog is the inspiration for a video scanner-Part 1 of a 2 part article
[author : Andrew Filo] #ArtificialIntelligence #HowItWorks
Extract : « One of the major problems involved in producing a robot is the design of a sophisticated "brain" and "nervous system" for the robot. Since World War II there has been an ever intensifying research effort to produce just such an artificial intelligence.
Presently, there are two distinct groups performing this research: neural cybernetists and cognitionists. The first group, the neural cybernetists, are concerned with studying the nervous systems and brains of living organisms in hopes of emulating them with machinery. To date, this type of research has provided much information about neurons and the entire nervous system in general. From this research, neural cybernetists have developed noncomputer perceptrons (artificial intelligence machines). Notable among the perceptrons already built is a system modeled after the pigeon's nervous system, used in missile navigation. The cognitionists believe, however, that highly evolved computer software is the best way to produce artificial intelligence. Examples of the work in this area are articles by Michael Wimble and Ralph Hollis ("Artificial Intelligence, An Evolutionary Idea, Parts 1 and 2," May and June 1977 BYTE, pages 26 and 100; and "Newt: A Mobile, Cognitive Robot," June 1977 BYTE, page 30). [...] »
Creating the 6809 instruction set, and related matters-Part 2 of a 3 part series
[author : Terry Ritter and Joel Boney] #Microprocessor #Review
Extract : « In part 1 of this series (see January 1979 BYTE, page 14) we discussed the instruction set and other details of the Motorola 6809 processor. Part 2 is a question and answer discussion of the design philosophy that went into the 6809.
Any change from old to new inevitably brings criticism from someone. Indeed, any failure to change to include someone's pet ideas brings its own criticisms. We have not been isolated from sometimes severe criticism, nor from its political implications.
However, a number of our decisions have been reasonably challenged, and here we hope to present illumination and defense. While we are aware of a number of improvements which might have been included, the whole point is to sell a reasonably sized (and thus reasonably priced) integrated circuit. We hope that architectural errors of commission, as they are found, will be seen in light of the complete design. We are not aware of any such errors at this time. [...] »
Build a plotter with an Etch-a-Sketch!
[author : Peter A Lucas] #Printer
Extract : « I have followed with interest past discussions of the possibility of building a hard copy pen plotter driven by hobby servomechanisms of the kind described by Robert Grappel in "Give Your Micro Some Muscles" (March 1977 BYTE, page 9).
The crux of the problem is finding an easy way to build mechanical arrangement for translating the rotary motion of a pair of servomechanisms into the two-dimensional translatory motion of a pen on a plotting surface. T P Roberts in "Some Plotting Comments" (February 1978 BYTE, page 172) has discussed this problem at some length. As pointed out in that article, a Cartesian XY plotting arrangement is by far the most desirable approach—both in terms of maximizing plotting accuracy and of minimizing software complexity. However, the design proposed by Roberts for such a plotter is, as he points out, rather difficult to execute. The main problem is that it requires one of the servomotors to be mounted on a moving platform driven by the other—a somewhat unstable mechanical situation. [...] »
A user report on the Lear Siegler "dumb" terminal kit
[author : Paul Franson] #ComputerKit #Build
Extract : « When I decided to acquire a personal computer system, I noticed that much desirable equipment is available in kit form at substantial savings over assembled cost. It's always tempting to save money, but like many others, I wondered if the savings were worth the trouble. Are the kits suitable for building by any computer enthusiast or does it take a dedicated and experienced hardware enthusiast to do the job? How hard is it to build a kit? Will the equipment work after it's assembled? And who fixes it if it doesn't work? A $200 savings doesn't mean much if you end up with a piece of gear that doesn't work and can only be fixed with great difficulty at substantial cost.
I had already acquired an assembled microcomputer, but decided that I needed something more than the limited hexadecimal keyboard and display. The obvious answer was a video terminal, and Lear Siegler's ADM-3A intrigued me. It is widely used in industry (I see them in my work), has every feature you could expect in a video terminal and is available at a substantial savings for the home constructor.
I decided to take the plunge with the kit. If you have considered buying and assembling this or any other kit, you might be interested in my experience. To save you from excessive suspense, I'll tell you now that it wasn't a bad job, and the terminal worked the first time I turned it on. Nevertheless, I did run into some problems and I suspect that others who build this and related kits will have similar experiences. [...] »
A Luxolamp is the inspiration for this clever robot arm design
[author : Keith Baxter and Timothy Daly] #Robotics #Book
Extract : « There is a need for a hobbyist robot arm —a computer controlled manipulator Tor the small system owner. The criterion for such an arm is that it be comparable in price to other computer peripherals and that it be sufficiently versatile to offer experimenters an expansive vehicle for their imaginations. One of us (Keith) has a working prototype which is described in this article.
How big and powerful can we expect such a hobbyist arm to be? There is a rough correlation between size and expense, so we can expect it to be small. How small depends on the strength of our motors (not necessarily electric), how fast we expect the arm to move, and how much weight we expect it to carry. The specific trade-offs between speed, strength, and reach will be determined by the tasks we want our arm to perform. For industrial robots there seem to be basic choices of 5 or 6 foot arms using hydraulics, 4 foot arms using large servomotors, or 1 to 2 foot arms using small high performance electric motors. The hobbyist arm will probably be of the last type. Of course this relationship is by no means unyielding; novel designs or alternative motors (such as chemical muscles) might change these trade-offs substantially.
Have we defined an arm so small that it would be uninteresting? By no means — there are potentially interesting applications for all sizes of arms. In fields such as microsurgery or in the assembly of minute electronic parts, a breakthrough in small robots could prove invaluable. [...] »
Techniques for designing your own computer games
[author : H L Stuck] #Game #Method #Algorithm #Book
Extract : « One of the common applications of a personal computer system is developing and playing game programs. There are various ways the computer can be used in game playing. First, it can be used in the analysis of games such as poker and blackjack. The analysis has generally been done in an effort to get a deeper understanding of tactics and strategy. Another use is having the computer assist in the play of a game. Sports gives examples of this. The computer can analyze play patterns to provide the coach with information. In assisting, the computer can remember previous plays and provide advice on what moves should be made based on past experiences. Table 1 summarizes some of the ways computers can enter the field of gamesmanship.
The common use of the personal computer in games is as a game master. The program serves as a bookkeeper, and a rule user. It enforces the rules, and, hopefully, explains them. A further use of a game program is where the program is a participant.
Most game programs act as game master and quite a few provide a game player function. Some games provide a form of advisor, but generally the advisor function is in the form of unrequested information warning the player when certain conditions have occurred. [...] »
Investigate real numbers with integer BASIC
[author : Jef Raskin] #Mathematics #Listing #BASIC
Extract : « The Apple II, which I own, is a fine computer, especially since most programs that interest me get along quite well with integer arithmetic. Text editing, graphics, and the music programs I experiment with have little need of decimal notation or quantities. Besides, if I really need numbers like 3.14159 I can always load Apple's Applesoft BASIC which has floating point arithmetic.
The problems involved in using integer arithmetic show up occasionally when I need to perform a division, though. If you add, subtract or multiply two integers, you get an integer. But if you divide one integer by another, you may or may not get an integer result. From a mathematical standpoint, integers are closed under addition, subtraction, and multiplication, but not under division.
I started to write a program to do real division on the Apple II. I thought it would be difficult, but it turned out to be very easy. Let us say you want to divide X by Y and print the answer to N decimal places. Listing 1 does the job, assuming X, Y and N are defined elsewhere. [...] »
One step beyond the parity bit, Hamming codes detect and correct errors
[author : Michael Wimble] #Encoding
Extract : « One of the most frustrating aspects of computers is that they make errors. Large computers have ample redundancy and error correcting hardware to make these errors virtually nonexistent, but owners of smaller computers must typically live with the problem. These errors are not all due to unreliable hardware; they are also caused by noisy environments, line crosstalk, power fluctuations, thermal variations and so on. To meet these problems several techniques have been developed. One of them is called Hamming codes.
The use of Hamming codes is analogous to the use of the common parity bit. A single parity bit merely provides detection of single bit errors, however. In contrast, the Hamming code described herein corrects single bit errors and detects double bit errors. An ideal use for Hamming codes is in cassette recording where single bit dropouts due to tape inconsistencies are common. Larger computers also use Hamming codes to detect and correct memory errors. [...] »
One of the basic building blocks of computer programming is examined-Part 1 of a 2 part article
[author : Mark Klein] #Storage #DataManagement
Extract : « A computer's power comes from several sources, including its speed, memory, and the logic capability of its software and hardware. This article is about computer memory — in particular, it describes files, the organizational structures computers use to manage information on secondary memory devices like disks and cassettes. What kinds of information are kept in files, how different devices store files, how programs use files, and how operating systems manipulate files are subjects that will be covered in this 2 part article. [...] »
#Book
Extract : « Computers in Laboratory Medicine edited by Derek Enlander MD Academic Press, New York $14 [...] »
#Association