[editor : Carl T. Helmers Jr.] [publisher : Virginia Peschke, Manfred Peschke] [art : Mary Jane Frohlich, Ellen Shamonsky] #Magazine
#Abstract
Some uses of a microprocessor involve the connection to the outside world through an analog interface. When fooling around with such projects from music generation to robotic control, however, it quickly becomes necessary to have a large number of inexpensive real world interfaces. To help point you in the right directions Douglas R Kraul supplied an article on Designing Multichannel Analog Interfaces.
In the past, readers have seen some interest expressed in the concepts of robotics, the use of small computers as the brains of mobile automated mechanisms. Robots have long been fancied in science fiction literature and cinema, but only rarely have people taken any practical steps towards a "real" robot as opposed to paper romanticisms or stage dummies. One of those rare cases is that provided by Ralph Hollis and his associate Dennis Toms, both of whom are physicists at the University of Colorado, Duane Physical Laboratory, Boulder CO. Ralph has been pursuing the design of practical robots as an avocation since 1957, and lately has progressed to the point of a working mobile computer system called Newt, whose picture provides the theme of this month's cover. Turn to Ralph's article, Newt: A Mobile, Cognitive Robot for essential background information on contemporary robot design philosophies.
Hard copy is a most useful output, but it tends to be somewhat expensive. Dan Fylstra shows one very attractive option in his article on Interfacing the IBM Selectric Keyboard Printer. Dan purchased a used print mechanism late in 1976, and since then has successfully interfaced the device to his KIM-1 system. Readers interested in using these printers (which are available in significant numbers on surplus markets) will find Dan's article an essential guide to the art.
How can hardware be used to accomplish the details of Interfacing With an Analog World? Turn to author Joseph Carr's second part of a two part series to find out some of the details of basic conversion circuits which use the outputs of sensors and preamplifiers discussed in last month's article.
Much of the software that is available on the market today is available on paper tape so as to be easily read into your microprocessor. The problem is that most common paper tape readers are so slow that it seems to take forever to read a large program into memory. In the article Come Fly With KIM, Rick Simpson introduces us to a solution to this speed problem: the Fly Reader, which he uses with MOS Technology's KIM-1.
Now that you've got the hardware built, how do you run it? Ken Welles answers this question in Software for the Economy Floppy Disk. His previous article (February 1977 BYTE, page 34) described how to construct an inexpensive floppy disk with minimal hardware. This month he provides a series of subroutines to run it, which could easily be expanded into a complete floppy disk operating system.
Last month in the first part of his article Artificial Intelligence, An Evolutionary Idea, Michael Wimble introduced us to the use of a simulated evolution technique by which it was possible for a program to alter itself and reshape its responses as a direct result of an outside stimulus. This month in Part 2: Implementation, Mr Wimble details how the computer experimenter can implement this type of program on any small computer system.
To many people the concept of assembly language is that of the fundamental language of the computer next to machine language. However, each particular assembly language command must be broken down into a series of simpler command sequences. These commands are known as microinstructions. In his article, An Introduction to Microprogramming, S M Quek describes how the concept of microinstructions is a great benefit to the user of a computer, allowing the easy change of basic instructions.
In previous issues Michael McNatt has shown us the availability of Baudot teleprinters and the ways in which they can be interfaced with your microprocessor. In his concluding article, A Guide to Baudot Machines: Part 3, A Teleprinter Test Circuit, he describes a test circuit that can be used for generating Baudot characters for alignment and adjustment purposes.
[author : Carl Helmers] #Edito
Extract : « How is it possible to simultaneously make software widely available (and low priced), yet reward the producers of good software with adequate compensation for their efforts?
Conventional wisdom has it that proprietary software must come at extremely high prices, commensurate with concentrated work on the part of a small number of dedicated and thoughtful programmers. After all, this wisdom has it, we'll only sell a few copies of package X anyway, so why not keep a tight lid on it and charge as much as possible?
This conventional wisdom has worked well in the past, when the typical computer system might cost upwards of $10,000 or $100,000. But when the typical computer system comes in at a price on the order of $1000, paying prices which are of this same order of magnitude for software packages is not a very likely move on the part of the individual purchaser with his or her personal budget. [...] »
[theme : Hardware] [author : Kraul] #Electronic #Interface
Extract : « Analog interfaces to and from the personal computer system can present a difficult dilemma to the small systems user: The analog interface usually is a very expensive proposition, especially if more than one input and one output are needed. Schemes like that suggested by Roger Frank [page 70 of the May 1976 issue of BYTE], can greatly reduce hardware complexity, and thus cost, since much of the interface burden is left to the software of the computing system. Direct extension of this principle to the case of multiple input voltages and multiple output voltages can, however, result in a hardware cost that at the least rises linearly with the number of needed outputs and inputs. One alternative scheme requires an additional bit of input to the computer and one additional voltage comparator for each additional analog to digital input up to a total of 8. On the output side each additional voltage output leads to an additional 8 bit output port and an additional 8 bit digital to analog converter. This results in a situation where a many input, many output analog interface requires an inordinate amount of hardware, which means money to the user. (We should not kid ourselves by saying that large numbers of analog channels are rarely needed. Many worthy applications, like control of analog music synthesis, automated test facilities or control of robots would easily push the number of channels needed beyond the point of no return for the previously suggested schemes of interface.) Thus one must turn to a modified philosophy of interface design in order to meet the necessary goal of a less expensive analog interface. [...] »
[theme : Peripherals] [author : Fylstra] #Electronic #Interface #Keyboard #Printer
Extract : « One of the most desirable forms of computer output is high quality typewritten text suitable for preparing letters, reports and other documentation. A word processing system which speeds up the process of writing and revising text would be a very useful and feasible application for a small microprocessor based system, provided that a suitable hard copy output device can be found at a reasonable price. [...] »
[theme : Peripherals] [author : Simpson] #Interface #Storage #Listing #Assembly #Algorithm
Extract : « Many computer hobbyists start with nothing more than a processor, a small amount of programmable memory, a small onboard monitor such as MIKBUG or KIM and some front panel switches. Those with more foresight, or cash, will have a keypad or even a full keyboard for data entry and processor control. But even with a good monitor and a full keyboard and display, loading programs is a tedious chore at best, and there is an awful feeling when you turn off power, knowing that twenty minutes of typing just evaporated.
The next step in expanding the system is usually an audio cassette interface or a Teletype with paper tape reader and punch for the wealthy or fortunate. Now the tedious retyping is eliminated and a program, once written and recorded or punched, can be reloaded in a matter of minutes. [...] »
[theme : Systems Software] [author : Welles] #Listing #Assembly #Storage
Extract : « As hobbyists are rapidly finding out, even the most sophisticated hardware is next to useless without the proper software to control it. My previous article on the floppy disk drive interface (see February 1977 BYTE, page 34) described a hardware device of the simplest and, consequently, most software dependent type. This month's article describes the operation and use of the routines needed for transferring data between the computer and a disk drive (one of up to eight) connected to the interface. [...] »
[theme : Software] [author : Wimble] #ArtificialIntelligence #Algorithm
Extract : « As described last month in part 1, there are five types of mutations that can be performed with the simulated evolution technique. A separate subroutine will be used for each mutation type. Four of the subroutines rely heavily on a subroutine which generates a random number between limits. (For those systems not already possessing random number generators, a box accompanying this article gives an algorithm to produce pseudorandom numbers by the power residue method.)
Figures 1 through 9 are flowcharts of the basic modules which were extracted from a fairly sophisticated system of FORTRAN programs. These are intended to serve as a starting point for the reader in implementing his/her own program. If there is sufficient reader interest, I would be happy to program and publish program listings of implementations for one or more small system processors, in any popular computer language. [...] »
[theme : Software] [author : Guzzon] #Printer #Listing #Assembly
Extract : « I understand there is some interest among your readers in using a Selectric typewriter for hard copy. As you can see I have tunneled an editor program (SWTPC) and an assembler program (SWTPC, too) through a Selectric typewriter. [The original of this note was typed on the Selectric] I bought the machine on the surplus market in Boston and it had some problems: It was stuck in upper case by a bolt screwed on the right side of the frame, it had some unrecoverable backlash in the head rotate mechanism, and many feedback and interlock contacts were missing or badly damaged. I had the machine serviced here in Rome (Italy) and at last, with a new carriage, a new motor (here we have 220 V 50 Hz power), and a new set of shift magnets, the printer was ready. I decided to use it only as a printer in order to reduce the hardware and software effort to a minimum. [...] »
[theme : Construction] [author : McNatt] #Electronic #Interface #Keyboard #Printer
Extract : « Now that you've found out what type of Baudot teleprinters are available on the surplus market, and where to go to get information on how to interface them to your microprocessor, it might be convenient to build a test box to check the working condition of your new acquisition. What follows is a circuit for just such a test box which can be used to provide the 60 mA current loop required by the Baudot machine. Circuits are also included in the box to generate signals which can verify correct machine function. Although not as handy as the test box, a Baudot keyboard may be used to test a page printer of the same speed. The test box has variable control of data rate for testing all Baudot teleprinters. The test box circuits supply the following functions: [...] »
[theme : Robotics] [author : Hollis] #HowItWorks #Experience #Glossary #Robotics #Electronic
Extract : « In the late 1930s, a young man named Rossum began manufacturing industrial robots in a small factory on the outskirts of Prague. This venture was immediately successful and would have virtually guaranteed a second industrial revolution had it not been for a singular tragic circumstance: The robot workers became irrational and revolted. They turned on their masters and burned the factory to the ground.
Fortunately, the preceding scenario is only a work of fiction by the Czechoslovakian writer K Capek. Since Capek's coinage of the word "robot" in his 1923 play R U R it has been the subject of a great many works of science fiction, including Isaac Asimov's I, Robot and the movies "Forbidden Planet," "Gog," "Silent Running," "Westworld" and others. [...] »
[theme : Hardware] [author : Carr] #Electronic #Interface
Extract : « Last month we discussed transducers and amplifiers. These are necessary portions of a signal processing system which result in scaled voltages of, for example, 0 to 10 V corresponding to the original physical parameter being measured. But how can we convert these voltages into numbers inside a computer for computation, and use numbers from computations to control external voltages? In this article we'll see how some of the more common conversions are accomplished. We'll start with digital to analog conversion, even though this may seem at first glance to be backwards. The reason for starting with the output process is that digital to analog conversion is simplest, and that many analog to digital input conversion techniques require a digital to analog conversion as part of the process. [...] »
[theme : Software] [author : Quek] #HowItWorks #Microprocessor #Programming
Extract : « What is Microprogramming?
When we consider the operation of a simple machine instruction, like add accumulator to register B on some computer, we often find that there is a sequence of even more elementary operations involved. For the example given, we may first have a transfer of data in register B to some temporary register in the arithmetic logic unit. Next, we may then perform an addition operation and finally, return the result of the operation to either the accumulator or register B. Figure 1 illustrates this sequence of operations.
Wilkes, an early pioneer in the field of computer design, called these elementary operations "microoperations." (See reference 1.) By this token, a single machine instruction, like the add described above, would consist of a microprogram of these microoperations. Microprogramming is, then, the implementing of control logic for a computer's instruction set through the ordered storage of processor control information. [...] »
#Association