[editor : Carl T. Helmers Jr.] [publisher : Virginia Londoner, Gordon R Williamson] [art : Ellen Bingham, Wai Chiu Li, Christine Dixon, Holly Carmen LaBossiere, Deborah Porter] [cover : Robert Tinney] #Magazine
#Abstract
The theme of this issue's cover illustration is "the domesticated computer." Robert Tinney has taken the idea of the remote controlled appliances suggested by Steve Ciarcia's article on page 28 and combined it with some imaginative cabinetry in a household setting. In the process, Robert used his artistic license to employ radio imagery with antennae and aetheric airbrushing as an alternative to ultrasonic techniques described by Steve. Either way, practical means of safely controlling 110V appliances from the computer with total electrical isolation now exist - both for the homebrewer and as practical products advertised in this issue.
The Era of Off-the-Shell Computers Has Arrived
[author : Carl Helmers] #Edito
Extract : « This issue marks the beginning of a new decade: the 1980s. It may be appropriate at this time to pause and see how technology has progressed. At the turn of a previous decade, the only computers I could get my hands on were those large and expensive behemoths of the 1960s, the IBM 360s, Univac 1108s, and DEC PDP-6s, which I used during my occasional employments while an undergraduate physics student. Those machines represented such large capital investments that there was no way I could possibly own one.
At the time I knew that minicomputers existed. But they too were quite expensive. The minicomputer of late 1969 was also very limited in peripherals and systems software. At that time minicomputers were usually made by Digital Equipment Corporation, used a Teletype with paper tape for mass storage, and they may have had all of 8 K words of memory with 12 bits per word. It was an era in small computers when $30,000 might have purchased the hardware equivalent of today's $500 single-board engineering system; for example, a Rockwell AIM-65 with some added memory and a power supply. (This single-board 6502-based computer includes printer, tape interface, systems software and keyboard. With all required purchases, it costs about $500 to $600. A system such as this is equivalent to (if not better than) one of the typical minicomputer "installations" of the late 1960s.)
As we entered the 1970s, the beginnings of the large-scale integration microcomputer technology had been made. In existence at that time were 4-bit computers in high-technology calculator products, as well as such great accomplishments as 1024-bit shift register memories (slow) and high-speed 64-bit transistor-transistor logic (TTL) memories (power hungry). Mass storage on small machines in 1969, if it was electronic, was done on various randomly or serially addressable tape devices. These tape units were sold at prices comparable to the present-day retail price of a dedicated Winchester technology 10-million-byte hard disk drive. But the more common mass storage was mechanical, eg: the paper-tape reader and punch on a Model ASR-33 Teletype. As we enter the next decade, we find a much different picture.
The 64-bit memory part of late 1969 has increased in size to today's latest technology 64 K bit dynamic memories. This is an increase in density of just over 3 decimal orders of magnitude (1024 ≈ 10^3 ). The primitive 4-bit architectures of then current calculators have become the 32-bit architectures of current machines such as the Motorola 68000, which is now seeing its first limited deliveries to prototype laboratories. At the end product level, smart machines have taken off in myriad directions, ranging from the dedicated controllers of computerized toys and microwave ovens, to the modern personal computer.
With the new extremely large-scale integration devices, the era of the 32-bit personal computer with high-resolution graphics display, main memory of 256 K bytes and from 10 to 50 million bytes of hard disk capacity on line is nearly here. In 1980, such a system can be built with the central computer consisting of just 33 major parts: 32 memory chips and a 68000 microcomputer. [...] »
Controlling appliances in your home is one of the many chores that may be delegated to a personal computer. One product that is readily available is the Sears Home Control System used in this months Garcia's Circuit Cellar.
[author : Steve Ciarcia] #Robotics
Extract : « I anxiously glanced around the Circuit Cellar. Devoid of the usual sounds of the stereo or television, the equipment fans imparted a distinctly uneasy sensation of mechanical presence.
The room was totally dark except for a few pilot lights and a video display. There were no games, no fast-moving program listings; only a single line was written on the screen. In the dim luminescence I could barely distinguish the furniture from the bookcases. A little experience navigating in the dark would have been useful, but I opted for modern technology and reassuringly patted the flashlight in my pocket.
I pushed the button on my digital watch and noted the time. As it neared the prearranged hour, I turned instinctively to the terminal. Soon I'd know which of us was in control!
Almost immediately the display changed and printed out "AUTOMATIC CONTROL INITIATED." Simultaneously I could hear a highpitched noise. It sounded almost like an insect chirp. There are no crickets down here; it must be a subharmonic. So far so good, but did it work?
"Steve, did you just blow a fuse?" My wife stood in the doorway and called down the stairs. It didn't bother her that there weren't any lights on. After all, if you blow a fuse, shouldn't the lights be off?
"The kitchen light went off and the bedroom light came on. Wait! The bedroom light just went off and the kitchen light came back on. Now they're both off."
I grinned in a way that only a Cheshire cat could appreciate. "Sorry, Joyce, just experimenting on the latest article." Chuckling softly, I continued. "I hope you don't mind, but the computer seems to have taken over."
"Can it make beds?" she replied.
I should have known that she wouldn't be taken in that easily. "OK, I'll tell the computer to keep its sphere of influence to the cellar. I'll let you know what the password is later."
As if by magic, the Circuit Cellar lights were activated. The test was successful. [...] »
You can use your computer in conjunction with programmable timers to easily control a light dimmer. Since programmable timers simplify both hardware and software in such applications, you may think of other applications.
[author : John H Gibson] #Electronic
Extract : « Microcomputer hobbyists are generally and loosely classified as either software or hardware types, depending on where their dominant interests and fascinations lie. Software types find data manipulation a satisfying end in itself. They dream of ever-expanding memories, and they use their computers to organize their finances, keep kitchen records, and play complex video games. Hardware types look for ever more interesting ways to interface their microcomputers with the outside world. They lie awake at night devising new ways of making their computers control lights, appliances, and mechanical devices. Their homes are filled with wires, relays, and remote sensors.
I am a hardware type. I love to make electrical and mechanical devices respond to automatic control. My most recent interest, which I would like to share with you, has been in using a very simple microcomputer for lighting control.
Of all the control techniques developed by the micro- computer hobbyist, lighting control has remained the most primitive. Until recently, lighting control with a microcomputer was usually restricted to simple on and off switching. Proportional control, the controlled dimming of lights, required either expensive hardware or an impractically large software overhead and was therefore beyond the reach of most microcomputer hobbyists.
The recent appearance of peripheral programmable timers for microcomputers has changed all of this. Proportional lighting control with a microcomputer is now both inexpensive and easy to achieve. [...] »
January is a month in which most of us show a greater than average concem for the state of our own home heating systems. Alter moving into a new house Theron decided to let his computer keep track of the furnace.
[author : Theron Wierenga] #Electronic #Listing #BASIC #Assembly #Algorithm
Extract : « Having recently moved into a new home and being a home computer enthusiast, I naturally began looking for an application for my homebrew microcomputer. During the big snowstorm of January 26, 1978, I was snowed in for four days. This situation encouraged the development of several ideas.
With forty-eight km (thirty mile) per hour winds producing 1.8 to 2.4 m (six to eight foot) snowdrifts alongside of the house, and with emergency food source information being broadcast on the local radio station, it was natural that I began to think about the heating system in the house. During a conversation with my wife several questions arose, and we dug out an information booklet that had been supplied with the furnace. We also began to record the furnace on-off cycles.
More questions arose. How long was the burner on? What were the cycle times? How much gas did it burn per cycle, and what was the cost of this gas? What would be the effect if I used my fireplaces for heating? How much would additional insulation help, and did it really help to turn the thermostat down at night?
It became obvious that the only way to answer these questions would be to monitor the burner cycles of the furnace on a continual basis. This seemed to be an ideal task for my homebrew 8080A microcomputer. By the time the storm had ended, my notebook contained schematic diagrams of all the additional circuitry that would be needed to interface the furnace burner to the computer, and the first drafts of the necessary software were written. [...] »
Your computer can ease the burden of remembering and dialing telephone numbers. This computer-controlled interface can dial your most frequently used numbers on Touch Tone telephone systems.
[author : Edward Joyce] #Electronic #Interface #Telecom
Extract : « How would you like to have your computer dial a seven-digit telephone number in about 3/4 of a second? For a small investment in hardware components and construction time, your personal computer can dial a telephone number faster than you can say that number. This article describes the construction and operation of a dual-tone multiple-frequency (Touch Tone) dialing device that interfaces with an ASCII computer terminal and can be used for automatic telephone dialing.
Many practical applications can be designed around an automatic dial feature, but the most obvious is a personal telephone directory. In such a system, a list of frequently dialed telephone numbers and associated names is displayed on the computer terminal. The user selects the number to be dialed by entering a single corresponding character on the computer keyboard (see table 1). A feature that could be incorporated is an option to redial the last number dialed, which would be useful for reaching busy numbers.
Assuming that you have a microprocessor and an ASCII terminal, the additional hardware that is required can be constructed for less than $20. Furthermore, this Touch Tone interface does not require its own I/O (input/output) port, the telephone can be used both automatically and manually, the programming is relatively simple, and either a Touch Tone or rotary-dial telephone can be utilized. [Note that the telephone exchange to which the line is connected must be capable of interpreting Touch Tones. Some telephone systems (such as those in Peterborough NH) still cannot use Touch Tone dialing.... RSS] »
Thia article describes the operation of the polynomial evaluation programs for the TI-59 given in part 1. One program calculates the roots of a sixth-order polynomial, while the other produces a plot of the function on the TI PC-100C printer.
[author : Pierre Chancé] #Mathematics
Extract : «
Consider the following polynomial: P(x) = x^4 - 8x^2 + 7
For P(x) = 0 it is essential to study the characteristic
elements, derived polynomials P' (x) and P"(x), and
automatically plot the function curve. The procedure is
as follows:
1. Read the magnetic card of the main program in groups 1 and 2.
2. Initialize by depressing key A.
3. Enter each of the coefficients with the keys. Start
with the coefficient for x^6 by depressing key B each
time. A is entered for any term not having a
power of x. Thus, you can perform the sequence
0 B, 0 B ,1 B, 0 B, -8 B, 0 B, 7 B.
4. Depress key C.
Depressing key C causes the processing of P(x) to its conclusion with no other intervention. [...] »
This article presents a method to produce only uppercase letters from a keyboard capable of both uppercase and lowercase operation. Control and special characters are not shifted, and the shift lock can be easily turned off.
[author : Terry Conboy] #Electronic #Interface #Keyboard
Extract : « There are times when you need to hold the output of your keyboard in the uppercase mode for all alphabetic characters. A great deal of software is designed to accept only uppercase alphabetic American Standard Code for Information Interchange (ASCII) characters. The circuit given here is designed to be placed between the transistor-transistor logic (TTL) parallel output of the keyboard and the parallel input port on the computer (or the input to the parallel-to- serial converter in a serial data arrangement). The programmer will then be able to reduce the beautifully designed 128-character set to a 102-character set. [...] »
The ability to relocate programs in memory space is often helpful when you are changing from one system to another, or adding a new program to your present system. John discusses some of the problems that are encountered during relocation on the 8080 microprocessor and gives two programs that perform most of the work.
[author : John Lipham] #Listing #Assembly #Programming
Extract : « Owners of both large and small computer systems often experience software problems when the time comes to upgrade the system. All old applications programs will have to be modified to run under the new system. However, the real problem occurs when you want to use some or all of the old system software. This was recently the situation at the University of North Carolina at Charlotte (UNCC) Physics Department.
The original hardware consisted of an IMSAI mainframe with 20 K bytes of memory interfaced with a Teletype and audio cassette. We added a floppy disk and Tektronix 4006-2 graphics terminal. To operate the disk, we acquired the CP/M operating system written by Digital Research and distributed by IMSAI.
The CP/M system has a disk-based version of BASIC called BASIC-E, which was written by Gordon Eubanks. This is an excellent version that allows up to 31 characters for variable names, nearly form-free entry of statements with line numbers required only for program transfer (eg: GOTO ..., GOSUB ..., etc), and numerous built-in functions, as well as file handling capabilities. However, it is unusual for BASIC because programs are first created using an editor, compiled into an intermediate file (using BASIC-E), and finally run (using RUN-E). Our system is used primarily for instructional purposes and some of our students have had no previous programming experience. Hence, we felt that it was desirable to have an interactive version of BASIC for their use. [...] »
People learn from their mistakes. Computers can too if given the right program. Russell enabled his personal computer to learn how to win a simple game by writing the program described in this article.
[author : Russell R Yost] #Algorithm #Listing #Assembly #Game #Book
Extract : « The simulation of human intellect by a machine of human invention has fascinated mankind for centuries. Unfortunately, the attainment of such a goal still seems to be distant. The advances in machines that might achieve such a goal seem to be continually offset by additions to our knowledge of the complexity of the human intellectual process. Simple game-playing machines, however, are feasible, and their popularity probably stems from the above mentioned human yearning, even though these games represent only a narrow slice of human intellect.
Game-playing programs are of great value to the personal computer owner, since results of great interest to spouse and neighbors can be produced with only a small investment in memory and software. Rarely do such programs involve more than logic plus simple integer arithmetic, and they are so short that hand assembly of machine-language programs is entirely feasible.
Many games are well adapted to interaction with the human player through the same I/O (input/output) channel used for programming. I am sure that the first program tried by most buyers of the Southwest Technical Products Corp 6800 computer system (after some memory check programs) is the Tic-Tac-Toe program whose listing is supplied with the computer kit.
Although such beginner games soon become boring, game-playing programs of real and continuing challenge are now becoming feasible for all amateur computer owners. Meanwhile, simple game players such as the one described here continue to intrigue computer enthusiasts. [...] »
An Intecolor intelligent color terminal (or other color-based computer) is used to generate color images that can be directly photographed. Slide production from a video image is relatively cheap, and the image can be altered during the design process with a minimum of effort.
[author : Alan W Grogono] #Graphics #Experience #Office
Extract : « Slides are required for many demonstrations and lectures. Instuctional slides often consist of a few words or a simple diagram or graph which the lecturer wishes to discuss. In recent years such slides have commonly been prepared as a blue diazo (white writing on a blue ground). Even the simplest slide is subject to about twelve processes: rough drafting, typing, checking, type setting, rechecking, photography, developing negatives, brushing out imperfections, diazo exposure, pickling, cutting, and mounting. Misunderstandings and interpretations mean that it is not uncommon for one or more stages to be repeated; the process is moderately expensive, and a diazo slide tends to fade with time. This article describes a quick, convenient method of preparing color slides using a computer. [...] »
Designers constantly try to build better and faster computers. Recent technology has produced many advances, but the question remains, "Is computing qualitatively better than when it first began?" T G Lewis discusses this issue,
[author : T C Lewis] #Listing #BASIC #GeneralQuestions #Game #Book
Extract : « Rapid advances in computing, resulting from the microcomputer revolution, are surprising even experienced computer professionals. A single integrated circuit microprocessor can perform the same number of computations per second as the expensive, large-scale computer of ten years ago. Yet, in a technical sense, both the type of computer and the things that computers are used for seem to have changed very little in the last ten years.
Ten years ago, BASIC was used in a manner similar to that of today, except that more people are now using it. Ten years ago computers had registers and memories to perform calculations; today register and memory costs have decreased fantastically. The cost of computing has declined, making it available to almost everyone. But has computing itself changed?
Can computers do any more today than they could ten years ago? Has there actually been any progress made in computing since Babbage's Analytic Engine, one hundred years ago?
What is meant by progress, and what is meant by computing? If progress is measured by the number of computers sold, the impact on society, or the size of the computer industry, then something has certainly increased and something else has decreased. What effect computers have had on our society is a moot question indeed, but one that I leave for another philosopher.
If computing is measured in terms of the number of machine cycles executed this year as compared to last year, or in terms of the number of programs written, then something has again increased and perhaps something else has decreased (like size or cost). But this kind of reasoning misses the point.
The essence of computing centers on two fundamental questions: (1) what exactly is computable, and (2) is it possible to compute more today than ten years ago? If these two questions can be answered, I believe that we can determine if progress has been made, whether this progress is due to microcomputers or their dinosaur ancestors, the maxicomputers. [...] »
The 6502 processor allows the user to perform certain indirect addressing operations. However, indirect addressing is not available for all instructions, Kenneth informs us of an easy way to perform indirect addressing on the 6502 when it is not normally availahle.
[author : Kenneth Skier] #Listing #Assembly #Programming
Extract : « One of the most attractive features of the 6502 processor — in fact, of the entire 6500 series — is the flexibility offered by its thirteen addressing modes. Unfortunately, these addressing modes are not always available when you want them. Indirect indexed addressing, for example, is available for load and store instructions (and a few others), but not for jump to subroutine (JSR).
A structured approach to programming leads one to write many programs as nested subroutines, and it is not always desirable for the programmer to specify the addresses of those subroutines in advance. For a given application, you may want the user to choose the address of the next subroutine that the processor will execute, or you may want software to calculate or look up that adddress, perhaps in response to sampled input conditions. In either case, you need indirect addressing for the jump to subroutine instruction.
In the 6502, the jump to subroutine instruction has only one addressing mode: absolute. So how can you get what the 6502 does not have? [...] »
The plotter described in this article is capable of being run by hardware and software drivers and gets around some of the phyaical difficulties, such as large torque and wobble factors, that confront some plotter designs.
[author : Leslie B Walter] #Electronic #Printer
Extract : « I had a dream the other night. A wondrous vision: I built an inexpensive, simple plotter and it worked. I remember that just before retiring, I was reading the March 1977 BYTE, specifically the article on building a plotter using model aircraft servomotors ("Give Your Micro Some Muscles," page 9).
The servomotor idea sounded great at first, but is quite complicated to run. For one thing, the plotting routine must constantly send out carefully timed pulses. Either that or you need a set of programmable clocks. Second, you must have a circuit that indicates when the plotter is finished with the current line segment or you would be plotting the next line before the first line is finished (unless you want to wait out the worst case every time). Third, there is that trigonometric routine. I don't even want to think about that. Fourth, there is the problem of wobble. With arms long enough to give a decent sized plotting area, the slightest bump or small snag on the paper and your beautiful plot begins to look like a Los Angeles seismograph record. Arms rigid enough to avoid this problem would be extremely difficult to build. There is also the problem of play. At the end of 10-inch arms, a small amount of play at the servomotors would be greatly magnified, possibly enough to miss the desired point by a fair margin.
I propose the following alternative design approach. The idea isn't perfect, but I think it will work. [...] »
This article describes a system that can help you to remember important future events. The system, called Tickler, is helpful in remembering to perform actions that have to be repeated periodically.
[author : E M Pass] #Listing #BASIC #Algorithm #Time
Extract : « Most people and businesses share the common problem of being required to perform some actions at definite future dates. These actions may be of a one-time-only nature, or they may be periodic according to some rule.
The penalty for forgetting an event such as a birthday may be minor, but the penalty for neglecting to file an income-tax return may be more severe.
Solutions to the problem are numerous, and include the use of human memory alone, writing notes on a wall or desk calendar, or maintaining an ordered stack of notes and forms. The solution that I suggest here, called the Tickler filing system, involves the use of a computer to help perform this function. The program described here was written for a small maintenance service company which has, in addition to the normal requirements of small businesses, the necessity of keeping track of periodic preventative maintenance calls for its client companies.
The Tickler system enables a clerk to input a series of messages, each of which has a starting date and a code indicating the type of repetition desired for the message. Each time that the program is executed, it can check a file of messages and print and reschedule all messages for which the time limit has expired since the last printing. The clerk can then delete and add additional messages, as required. Since the program contains no features that are specific to the maintenance service company, it should be of general use to other businesses and individuals needing a similar facility.
A sample series of executions of the program appears in this article. The program provides prompts for the user after the file has been established. The user must enter NEW to establish the file. The ability to enter messages, message types, and starting dates should provide sufficient flexibility for virtually any simple application. [...] »
Aids to the Direct Reception of Weather Satellite Photographs
An Improved Maze Program
A Pascal Checkbook Balancing Program
A French-English Dictionary
Z80 User Stack Emulation
Extract : « Illustrating BASIC, Donald Alcock, Cambridge University Press, 1977, 134 pages, softcover with ring binding, $4.95, hardcover $14.95 [...]
Implementing Software for Non-Numeric Applications, William M Waite, Prentice-Hall, 1973, 110 pages, hardcover, $21.00 [...] »