[editor : Carl T. Helmers Jr.] [publisher : Virginia Londoner (Virginia Londner), Gordon R Williamson] [art : Stephen Kruse, Wai Chiu Li, Dorothy Shamonsky, Ellen Shamonsky] [cover : Robert Tinney] #Magazine
#Abstract
What are readers' experiences with building actual robotic mechanisms? Stephen A Allen and Anthony J Rossetti's commentary On Building a Light-Seeking Robot Mechanism describes their work in this area on an undergraduate engineering project. An on board computer helps their robot decide what action to take when avoiding obstacles between it and a light source. page 24
Until now microprocessor users had the choice of using either an 8 bit or a 16 bit processor. With the advent of the 6809, Z-8000 and 8086, we now have available a hybrid machine with both 8 and 16 bit capabilities. This may have an effect on how language are written on the processors. Charles H Forsyth and Randall J Howard take a look at this in Compilation and Pascal on the New Microprocessors. page 50
Do you need to perform extensive mathematical calculations, but fret over the time needed to write, debug and use floating point operations and transcendental functions? The new National Semiconductor MM57109 processor will help you with this problem. Turn to The Number Crunching Processor by Peter Nelson for details on how to interface an MM57109 with an 8080 system, and a review of this unique processor. page 64
Pascal is the fastest growing new computer language. Few languages have the support from the typical university computer science department that Pascal has. To find out more about this fascinating language read Steven R Alpert's article, Pascal, a Structurally Strong Language. page 78
A 179 year old android that can draw pictures and write poetry? It may sound like science fiction, but The Franklin Institute's Charles F Penniman reveals all in Philadelphia's 179 Year Old Android. page 90
This month we continue Dr James Williams' 3 part series on Antique Mechanical Computers with Part 2: 18th and 19th Century Mechanical Marvels . Read about Jacquet-Droz's incredible writing and drawing automaton that contains the equivalent of three quarters of a million bits of read only memory and can draw intricate pictures and transcribe poetry. page 96
Using a structured language such as Pascal helps the programmer easily organize the logic of a program. Often, it is not necessary to write a logic diagram for the program. To this end, David Mundie compares a well written Pascal program to a Warnier-Orr logic diagram in his article In Praise of Pascal. page 110
Business applications for personal computers are more and more in evidence these days. Pascal lends itself well to business applications with the addition of some special features described by Ken Bowles in Pascal versus COBOL. page 122
One of the newest developments in software is structured programming. Many features of the technique have been described, but often the actual procedure for constructing a structured program is not mentioned. Chip Weems describes the steps involved in Designing a Structured Program. page 143
Light pens are one way to improve the user-computer interface, but there's an even more direct way: a noncontact scanning digitizer. Simply touch the screen of your video display to enter information! Steve Ciarcia shows you how in Let Your Fingers Do the Talking: Add a Noncontact Touch Scanner to Your Video Display. page 156
If you like to gamble, but don't want to wait for legalized gambling in your state, try JACPOT. Author Edwin Hastings has written a straightforward BASIC simulation of a slot machine. Now you can gamble (for fun only, of course) to your heart's content without depleting your bank account. You can lose everything and then turn around and lose it again! page 166
Pascal is an exciting language that can help you program more efficiently. It was developed in 1969 as an extension of the ALGOL family of languages. Author Allan Schwartz compares Pascal to BASIC, a language familiar to many BYTE readers, in Pascal versus BASIC: An Exercise. page 168
[author : Carl Helmers] #Edito
Extract : « In mid-March of this year, I finished a trip to the West Coast by having a day long meeting with Ken Bowles and his associates at the University of California, San Diego. The purpose of this meeting was to explore some of the possibilities which arise from the standardization of extensions to Niklaus Wirth's language Pascal, and the equally important implications of the technology of intermediate languages such as the optimized form of "P-code" developed at UCSD.
I came to this meeting with a background of familiarity with the reasons for encouraging highly structured languages such as Pascal. Before starting BYTE, I had been involved with the NASA HAL/S language developed by my employer of the time, Intermetrics Inc of Cambridge MA. I lived and breathed considerations of software reliability, ease of program design and the conceptual economy of a detailed program representation which doubles as the documentation of the algorithm. My personal experiences were with the context of the need to "man rate" the flight software of a contemporary spaceship through the use of high reliability software tools and techniques. These points are made elegantly in a number of books and papers which have been published on the subject to date. [...] »
[theme : Tutorial] [author : Forsyth-Howard] #Programming #Pascal #Listing #Assembly #Book
Extract : « We are concerned with the use of high level languages, and in particular Pascal, on microcomputer systems. We are most interested in the use of such languages for what is termed, on larger computer systems, systems programming. This includes writing code to drive floppy disks, interpreters for APL or BASIC, or all those bits of code that people have until now written in assembler, and which in some way make their microcomputer systems friendly. [...] »
[theme : Languages] [author : Alpert] #Programming #Pascal #Listing #Book
Extract : « People should be able to communicate their ideas to a computer in a language that people understand; not simply in a language they know. Additionally, if the computer can be made to understand the same language easily, all the more reason to consider its use. Such a language is PASCAL. This language, perhaps more than any other common language, is the easiest to understand and more importantly, allows a straightforward presentation of most algorithms. Although many languages also make this claim, few have the overwhelming and energetic support from collegiate computer science departments. Let's consider some of the language features of PASCAL. [...] »
[theme : Programming Techniques] [author : Weems] #Method #Programming #Listing #Pascal #Book
Extract : « In the early days of the computer industry, the most expensive part of owning a computer was the machine itself. Of all the components in such a machine, the memory bank was the most costly because of the number of parts it contained. Early computer memories were thus small: 16 K bytes was considered large and 64 K bytes could only be found in supercomputers. All of this meant that programs had to take advantage of what little space was available.
On the other hand, programs had to be written to run as quickly as possible in order to make the most efficient use of the large computers. Of course these two goals almost always contradicted each other, which led to the concept of the speed versus space tradeoff. Programmers were prized for the ability to write tricky, efficient code which took advantage of special idiosyncrasies in the machine. Supercoders were in vogue.
Fortunately, hardware evolved and became less expensive. Large memories and high speed became common features of most systems. Suddenly people discovered that speed and space were no longer important. In fact the roles had reversed and hardware had become the least expensive part of owning a computer.
The costliest part of owning a computer today is programming it. With the advent of less expensive hardware, the emphasis has shifted from speed versus space to a new tradeoff: programmer cost versus machine cost. The new goal is to make the most efficient use of a programmer's time, and program efficiency has become less important — it's easier to add more hardware.
There are some important observations that should be made concerning modern programming. First, the majority of the cost involved with a particular program centers on maintenance and revision rather than initial development. For example, an average program may take three working months to write but can have a lifetime of up to ten years or more, during which dozens of changes may be needed. These can easily add up to several years of labor. [...] »
[theme : Hardware] [author : Ciarcia] #Electronic #Listing #BASIC #Display #Book
Extract : « [...] Ted continued, "Programmers program computers for other programmers! They never think of the user. I drag that terminal to board meetings so we can review marketing figures, and I spend half my time entering 8 digit passwords, hitting escape and control keys to select options, and answering endless quantities of mindless interrogation." Ted was getting a little hot under the collar. "Time is money in those meetings and here in my office. I don't want to spend all day playing true confessor with a computer! Its function is to display information and that's all the interaction I want." [...] »
[theme : Robotics Applications] [author : Allen-Rossetti] #Robotics #Electronic #Algorithm
Extract : « The idea of the Tee Toddler was born during the summer of 1976. We, as two undergraduate engineering students at Rice University in Houston, wanted to design a system using as much applicable electrical engineering as possible which could act on its own intelligence and which could also learn from its mistakes. We wanted to incorporate state of the art electronics and actually develop a piece of working hardware. As a three credit hour course for two semesters we designed and built a small "robot" car, the Tee Toddler.
The car is designed to track toward a shining light. [...] »
[theme : Hardware] [author : Nelson] #Microprocessor #Review #Listing #Assembly
Extract : « National Semiconductor Corporation's MM57109 microprocessor is designed specifically for numeric processing. Called "The Number Cruncher" in their advertising, the MM57109 has an instruction set that includes floating decimal arithmetic, logarithmic and trigonometric functions and other sophisticated features. Although it can be used as a stand alone device with read only and programmable memory, or as the "brain" of a smart instrument, most hobbyists will probably want to use it as a peripheral processor where it will save both money and memory space. [...] »
[theme : History] [author : Penniman] #Robotics #History
Extract : « Cuckoo clocks, computers and dolls with rolling eyes somehow fascinate us all. The fascination seems to stem from our delight that people can make contraptions which do things by contrivance that are usually done by living men and beasts. But whatever the reason for it, we find animated statues in ancient China and in the temples of classical Greece. In Europe, the clockmakers of the Renaissance often adorned their works with marvelous moving figures. The famous tower clocks of Berne and Messina and the remarkable clock in the Cathedral at Strasbourg are just a few examples.
For us who live toward the beginning of the Electronic Age, it is hard to imagine the excitement that existed in the early years of mechanism. The automaton at the Franklin Institute that writes poems and draws pictures dates from those times. In the same way that they made machines to perform marvelous and delightful things, we program computers and build microprocessors to perform even more amazing feats. It is much the same phenomenon. [...] »
[theme : History] [author : Williams] #Robotics #History
Extract : « In "Part 1: Early Automata," page 48, July 1978 BYTE, we traced the development of antique mechanical computers up to the middle of the 18th century, and described such devices as Vaucanson's mechanical duck. Now we continue with a discussion of talking, writing and music playing automata of the 18th and 19th centuries. (The discussion is not meant to be an exhaustive one, of course, since that would be beyond the scope of this series.)
Later Automata
Vaucanson's creations blazed across the scene in Europe 240 years ago, casting new light into hitherto dark places by showing what the dedicated mechanician could achieve. But, even after Vaucanson, the way was difficult. 38 years passed before a second flute playing machine was seen, a seated pair of rustics built by Duchamps in 1776 and said to be capable of playing 13 tunes. 109 years after Vaucanson made the original mechanical duck, a mechanician named Rechsteiner, who had restored that original duck, produced and displayed a duck of his own. Rechsteiner's duck was the product of three years of work. It appeared in 1847 and was the last automaton animal of note. [...] »
[theme : Software] [author : Mundie] #Programming #Pascal #Listing #Book
Extract : « As has been pointed out in these pages before, personal computing will never achieve its full potential as long as our state of the art machines are hobbled down with a language as far from state of the art as BASIC is. Some have argued for designing a special high level language for microprocessors, but I personally fail to see why we don't just implement PASCAL and be done with it. I would like to look briefly at the language itself and try to explain why it seems the logical choice to me.I am an applications programmer with no theoretical interest in computing whatsoever. What I like about PASCAL is not the theory of its design, though that seems sound enough, but rather the fact that it lets me formulate my problems in my own terms. In PASCAL more than in any other language I know, I can remain on the abstract, algorithmic level where, as a human being, I function best. Because of this pragmatic bias, much of what follows will be an informal discussion appealing to the reader's intuitions rather than a technical demonstration. I shall use BASIC for comparative purposes, since it is the tyrant in the field. [...] »
[theme : Software] [author : Bowles] #Programming #Pascal #Listing
Extract : « With a few important extensions, Pascal can be an extremely powerful tool for writing interactive business application programs on microcomputers and minicomputers. Pascal provides data structuring facilities generally superior to those of COBOL, and its control constructs allow a systematic and modular approach to program design that reduces development effort and improves reliability compared with BASIC or FORTRAN. The extensions needed make it easy to write interactive programs, use random access (floppy) disk files, handle business arithmetic, and recover from error situations. [...] »
[theme : Games] [author : Hastings] #Listing #BASIC #GameChance
Extract : « Many states are now working to legalize gambling, but why wait for the bureaucratic process when you can start a casino on your own computer (for fun of course) with the JACPOT program. JACPOT is a simulation of a slot machine written in BASIC, with bets limited only by the constraints of your machine. You can lose all your money and then lose it again! [...] »
[theme : Software] [author : Schwartz] #Algorithm #Pascal #BASIC #Listing #Book
Extract : « Pascal is one of the newest high level languages on the personal computing scene. Pascal has been accepted at many universities for several years. It is being used more and more in industry outside of education, and has just recently been introduced in microcomputers. Why is there so much enthusiasm about Pascal?
Pascal is a general purpose language, the product of the long evolution of computer languages. It has a simple but elegant syntax and has been implemented in both large systems (CDC 6000, IBM 360 and 370, Burroughs 6700, etc) and microcomputers (LSI-11,8080, 8085 and Z-80). [...] »
A Letter Exchange: Extending S-100 Bus?
And Some Notes by John C McCallum
#Association