[editor : Carl T. Helmers Jr.] [publisher : Virginia Londoner (Virginia Londner), Gordon R Williamson] [art : Ellen Bingham, Wai Chiu Li, Christine Dixon] [cover : Robert Tinney] #Magazine
#Abstract
This month's cover is entitled Sculpting the New Titans, a fantasy by Robert Tinney that emphasizes the new crop of innovative circuitry being chipped out of silicon by microcomputer engineers. Of course, in real life the tools are more likely to be a computer, plotter, and wafer fabrication facility. Among the new devices is Motorola's new 6809 processor, expected to be available in the next few months. Successor to the 6800, the 6809 is an 8 bit processor that can perform 16 bit operations. The two chief architects of the 6809, Terry Ritter and Joel Boney, begin a 3 part discussion of the new circuit in A Microprocessor for the Revolution : The 6809, Part 1: Design Philosophy. page 14
This month Steve Ciarcia begins the 3 part series, Build a Computer Controlled Security System for Your Home. Part 1 covers everyth ing you need to keep your home or business secure, from the right types of sensors to detailed software examples. page 56
Of the four standard languages of the American National Standards Institute BASIC, FORTRAN and PL/1 are fa miliar. Less so is MUMPS, used for many business and science applications. Get An Exposure to MUMPS in David Sherertz' article. page 74
Implementing a mailing list on your computer is a practical application for many personal computer experimenters. If you have a floppy disk based system, read A Computerized Mailing List by Thomas E Doyle and find out how easy it is to do. page 84
Last month David Buckingham described interesting and intricate patterns that occur in John H Conway's game of Life. This month we take a look at some of the methods and schemes for implementing a Life program on your computer. Mark D Niemiec reveals a Life enthusiast's trade secrets in Life Algorithms. page 90
In The Digicast System A I Halsema describes a new technique for receiving computer programs and information broadcast over the subcarrier frequency bands of FM radio stations. Similar systems are now in operation in Europe. page 100
One of the problems in creating computer synthesized music is that many systems all ow only one note at a time to be entered - a time-consuming restriction . Steven Roberts describes a way around the dilemma in Polyphony Made Easy. page 104
Computers cannot play perfect chess, but sometimes a computer program can do surprisingly well. The human United States chess champion discovered this fact while competing against the world champion computer chess program. That confrontation was recorded by J R Douglas in Grandmaster Walter Browne versus Chess 4.6. page 110
BNF (Backus Normal Form or Backus-Naur Form) is a standardized method for abbreviating certain statements made about programming languages. Used extensively in books and articles de aling with compiler and interpreter design, it is explained for those new to the subject in W D Maurer's article, An Introduction to BNF. page 116
In Creating a Chess Player, Part 4: Strategy in Computer Chess, authors Peter Frey and Larry Atkin describe some clever optimization techniques that can significantly reduce the amount of computer time needed to evaluate end game positions. page 126
In this issue's Languages Forum: IPS, An Unorthodox High Level Language, Karl Meinzer presents an introduction to his creation, a machine independent high level language interpreter presently implemented for the RCA 1802 and 8080 processors. page 146
Test your computer vocabulary by puzzling over Gwen Hadley's story of GOTO locks and the Three Sorts. page 174
In Elements of Statistical Computation, Alan Forsythe covers some of the dos and don'ts of determining the mean and standard deviation of a set of data. page 182
Logic probes are handy for troubleshooting digital logic. Read about James L Woodward's circuit in An Audible Logic Test Probe. It plays two tones through a speaker corresponding to high or low logic levels, and it costs very little. page 186
We tend to take the microprocessors of today for granted, forgetting the power hungry days of the 1950s. In his article, History of Computers: The IBM 704, Keith ReidGreen looks at one of the last vacuum tube computers to be commercially marketed. page 190
[author : Carl Helmers] #Edito
Extract : « As our January issue deadline approached, we received a memo from Ken Bowles of the University of California at San Diego, concerning yet another development in the progress of Pascal as a language appropriate for small machines. This is a plan (expected to reach fruition in early 1979) for making the UCSD Pascal system available on the Apple II computer. The result, of course, is a computer with dual floppy disks and Pascal system capability that, sold through a computer store, would be priced at about $3000. Of course, the UCSD people are most overjoyed by this because it makes available for educational uses a Pascal compatible machine which is unmatched in price. This Apple II version of UCSD Pascal will be supported with one 12 K byte read only memory card and main memory of 48 K bytes. It is expected that this configuration will set a standard for small systems. [...] »
Protecting your home with your personal computer-Part 1 of a 3 part series
[author : Steve Ciarcia] #Robotics #Home #Electronic
Extract : « [...] The primary requirement for the hardware and software used to implement a sophisticated home security system is flexibility. Considerable flexibility is required to allow you to structure a system which executes a variety of functions. These functions include not only the menial tasks of notifying residents that an intruder has entered the home and signaling the authorities, but also those activities necessary to enhance one's "quality of life." Such items include starting the electric percolator at the proper time each morning or turning on the cooling system in the wine cellar when the temperature goes above 64° F.
The system to be introduced in this article and detailed in the next two BYTEs has the hardware and software features of a sophisticated home control and security system, a system which may also be adapted to perform some of the basic routine control functions you may want to perform around the home or office (see figures 1 and 2). It has three major components:
1) The microcomputer and its associated hardware.
2) Event-table-driven software set.
3) A sophisticated array of sensors. [...] »
A practical application for your floppy disk computer system
[author : Thomas E Doyle] #Listing #BASIC #Office
Extract : « Creating, printing and updating mailing lists offer practical applications for a microcomputer system with a floppy disk or other magnetic mass storage medium. The series of programs presented here allow the user to create and maintain mailing lists. The programs are written to be run on a 8080 or Z-80 system with at least one disk drive and 20 K of programmable memory. The program is written for an interpreter called BASIC-E which is widely distributed under several names.
One of the biggest problems facing a programmer using BASIC-E is the relative lack of complete documentation on the file commands. A fairly detailed description of the BASIC-E file commands, used in the programs, will be included to help this situation.
There are six basic types of operations necessary to maintain mailing lists:
1. Generate a new list. This operation would normally be performed once for each mailing list.
2. Print the list. This operation would be used as copies of the list are needed, or as changes to the list are made.
3. Add to the list. New entries to the list would be added to the end of the list with this operation.
4. Update existing entries. Changes could be made to entries already in the list with this operation.
5. Insert new entries into list. This operation would allow new entries to be inserted into the list. All existing entries would be shifted to make room for the new entry.
6. Remove an entry from the list. An existing entry could be removed from the list and the remaining entries on the list would be moved up to fill in the space. [...] »
Efficient methods for programming John Conway's game of Life
[author : Mark D Nierniec ] #Simulation #ALGOL #APL #Algorithm
Extract : « Much has been written on the subject of Conway's game of Life, but most of the literature on this subject has been devoted to configurations, patterns and theorems. Little has been written about methods of actually implementing Life programs on a computer. To correct the paucity of information, this article is devoted almost exclusively to Life algorithms. My associates Peter Raynham and David Buckingham have given invaluable assistance in the development and refinement of the algorithms contained herein. For convenience, the algorithms, with a few obvious exceptions, will be given in a pseudolanguage resembling ALGOL. [...] »
Play chords instead of just single notes with your computer
[author : Steven K Roberts] #Electronic #Interface #Audio
Extract : « It was not long after the successful implementation of a hardware chromatic tone and envelope generator for my system that I began to wish for a method of playing music that would be somewhat less cumbersome than tune encoding with the ASCII keyboard. The ability to store a melody by defining all the notes and then allowing the computer to perform it was worthwhile, but without some technique for spontaneous interaction the system could hardly be called an instrument. A music keyboard was clearly called for.
I obtained a 61 note (5 octave) organ manual from the Kimball Organ Company for about $75, and considered the interface task in depth. Among the primary performance specifications for the design were:
• Polyphonic capability (not limited to single notes)
• Undiscernible response delay
• Very low processor overhead [...] »
Change voltage levels to musical tones for quick troubleshooting
[author : James L Woodward] #Electronic #Audio #Diagnostic
Extract : « Most logic probes require the placement of a point on the lead to be checked and the surveillance of a light emitting diode (LED) indicator. In a well-lit room, this is sometimes difficult to interpret and often requires three hands. The probe offered here has an audio output that is off when the probe is floating, emits a low tone for a low state, and a tone one octave higher for a high state. Pulse trains and single pulses are monitored with a pair of LEDs, and the probe can be anything from a rough length of wire to a lead clip; none of the values are critical. [...] »
Concerning one of the last vacuum tube computers
[author : Keith S Reid-Green] #History #Computer
Extract : « The IBM 704, announced in 1956, was almost the last vacuum tube computer. It was rendered obsolete by the 709 in 1959, which became the 7090 in less than a year. The addition of the zero suffix to the model number denoted the replacement of vacuum tubes by transistors and the start of the second computer generation. The 704 was very definitely a first generation machine in the tradition of the giant brains (see photo 1) of the 1940s and 1950s. The central processing unit occupied a huge L-shaped cabinet of about 120 cubic feet. There was not enough room in the cabinet for the 32 K 36 bit words of core storage that occupied its own box — another 100 cubic feet at least. Today the computing power contained in those two steel, glass and dark gray enamel cabinets can be equaled by a desktop machine; in fact the latter would easily outstrip the 704's 12 µs instruction cycle. Nevertheless, the 704 was the ultimate computer of its time. [...] »
The successor to the 6800 described by its designers in the first of a 3 part series
[author : Terry Ritter and Joel Boney] #Review #Microprocessor
Extract : « This is a story. It is a story of computers in general, specifically microcomputers, and of one particular microprocessor — with revolutionary social change lurking in the background. The story could well be imaginary, but it happens to be true. In this 3 part series we will describe the design of what we feel is the best 8 bit machine so far made by human: the Motorola M6809. [...]
The 6809 project started life with a number of (mostly unformalized) goals. The principal public goal was to upgrade the 6800 processor to be definitely superior to the 8 bit competition. (The Motorola 68000 project will address the 16 bit market with what we believe will be another superior processor.) Many people, including many customers, felt that all that had to be done was to add another index register (Y), a few supporting instructions (LDY, STY) and correct some of the past omissions (PSHX, PULX, PSHY, PULY). Since this would mean a rather complete redesign anyway, it made little sense to stop there.
A more philosophical goal — thus one much less useful in discussions with engineers and managers (who had their own opinions of what the project should be) - was to minimize software costs. [...] »
First designed for medical applications, this high levet language is diversifying
[author : David D Sherertz] #MUMPS #Languages #OperatingSystem
Extract : « MUMPS (Massachusetts General Hospital Utility Multiprogramming System) was developed in the mid 1960s as a timesharing system for a modest minicomputer. A general purpose interpretive language, also called MUMPS, is an integral part of the system. The MUMPS language contains a powerful set of string manipulation capabilities, a pattern matching facility and timing functions, all of which facilitate the creation of conversational programs. In addition, users can share access to a hierarchically organized data base, with the file management details transparent to the user.
Recently, the American National Standards Institute approved the MUMPS programming language as a national standard, joining FORTRAN, COBOL, and PL/I in that category. The existence of a MUMPS standard and the robustness of the features included in the standard language make MUMPS an attractive choice for the development of interactive applications. This article gives an overview of Standard MUMPS, emphasizing its capabilities. [...] »
Receiving computer programs over FM subcarrier bands
[author : A I Halsema] #HowItWorks #Networks #Book
Extract : « Imagine turning on your radio and receiving the latest copy of BYTE—or receiving only the news of interest to you. Tuning in to a program could mean exactly that: you would receive software source code listings, binary object code listings, and documentation. All of these are possible with a revolutionary new system called Digicast.
Digicast is similar to Britain's Teletext and France's Antiope systems, but would be transmitted by commercial FM radio stations. Teletext data is broadcast during a portion of the vertical blanking time by television stations of the BBC (see figure 1). Decoded by logic connected to the television set, Teletext news and announcements are dialed up and displayed on the television screen at the viewer's option. [...] »
The continuing saga of Chess 4.6, this time in a simultaneous exhibition by a Grandmaster
[author : John R Douglas] #GameBoard
Extract : « The organizers of Minnesota's Twin Cities Open invited Northwestern's Chess 4.6 and Control Data's CYBER 176 to take part. Since this World Champion computer system had not been tested in open human competition, its programmers readily accepted the invitation. With a rating of 1936, Chess 4.6 was seeded number one in the 5 round Swiss system tournament, perhaps the first time a computer has been accorded that position.
A new electronic chessboard was used for the first time. The microprocessor which controls the board senses the opponent's moves magnetically, transmits the move in algebriac notation via telephone to CYBER 176, and then indicates CYBER 176's responses by illuminating small lights on the square of the piece to be moved and on the one to which it is to go. Chesstor, as this device is called, also senses the hitting of the chess clock and thus keeps track of the time used. [...] »
Introduction to Backus-Naur Form, an abbreviation method used in compiler and interpreter design
[author : W D Maurer] #Languages #Method #Book
Extract : « BNF is a standardized method of abbreviating certain statements which are made about a programming language when it is being strictly defined, as in a programming manual. [...]
A GO TO Statement in FORTRAN consists of the words GO TO followed by a statement number.
We may abbreviate this in BNF as follows
< GO TO statement > :: =
'GO TO' < statement number > [...] »
Optimizing end game evaluation on the computer
[author : Peter W Frey and Larry R Atkin] #GameBoard #Programming #Initiation #Method #Book
Extract : « The chess program that we have presented in parts 2 and 3 of this series (November 1978 and December 1978 BYTE, pages 162 and 140, respectively) represents a modern implementation of the basic type A strategy described by Shannon in 1950 (see references). If run on a powerful computer, this type of program can play a reasonably good game of chess. Its major weakness lies in its inability to engage in long-range planning. In many middle and end game positions, it will make seemingly aimless moves. Once it attains a position which optimizes the general heuristic goals of its evaluation function, it is faced with the prospect of finding a move which alters the position as little as possible. If the opponent is skillful in developing a long-range attack while not providing any immediate targets, the machine may simply shuffle its pieces back and forth until its position becomes hopeless. The absence of reasonable goal directed behavior is a common limitation of problem solving techniques which are based solely on forward search. The solution of this problem would have important implications for a wide variety of artificial intelligence tasks. [...] »
A machine independent high level language interpreter
[author : Dr Karl Meinzer] #IPS #Listing
Extract : « It seems to me that the general confusion and lack of orientation regarding the best high level language for microcomputers is caused by the combination of two problems:
1. There is a marked lack of stated objectives regarding such a language.
2. It is tacitly assumed that the ease with which a feature can be added to a language is enough justification for adding the feature.
Let us look at the first point. In my experience, the term high level language has nearly the same meaning as "problem oriented" language. But oriented to what problems? It may help to classify computer applications into three large areas:
• Mathematical problem solving: Here the amount of data to be processed is usually small, but the data are subjected to relatively complicated numerical operations requiring high accuracy and diversity.
• Commercial data processing: Here large amounts of data are subjected to relatively simple procedures. Appropriate file handling techniques are essential.
• Engineering applications in the wider sense: By this I mean process control, systems programming, games, AI, robotics and any processes interacting with the real world. Programs in this area are characterized by moderate amounts of data and accuracy requirements. However, these programs usually have rather complicated flow of control. [...] »
A tale told by a PUNdit of a sort
[author : Gwen Hadley]
Extract : « In a package program on the dump of a null allocation, there resided a very asynchronous VERB who was commonly known, in reverse Polish notation, as GOTOlocks. GOTOlocks was a virtual card hopper, a veritable TALLY-goer, a member of the MOD function, for she was continually GOTOing. Her run time was so elliptic that there was no algorithm for tracing her or her Turing machine. [...] »
How to calculate means and standard deviations
[author : Alan B Forsythe] #Mathematics #Listing #BASIC #Algorithm
Extract : « The mean (average) is a frequently used statistic to summarize a set of data. It is used to report a typical value. [...]
The mean is defined as the sum of the values divided by the number of values. This can be written using the symbol Σ (the Greek capital sigma) to stand for the result of summation. The average of N values is:
mean = 1/N ΣX
The sigma indicates a sum over all the data points. [...] »
#Book
Extract : « Financial Analysis and Business Decisions on the Pocket Calculator by Jon M Smith, John Wiley and Sons, New York 1976, 313 pages, $12.95 [...]
Scelbi "6800" Software Gourmet Guide & Cook Book by Robert Findley, Scelbi Computer Consulting Inc, Milford CT, 1976, $9.95 [...] »
#Association