[editor : Carl T. Helmers Jr.] [publisher : Virginia Londoner, Gordon R Williamson] [art : Holly Carmen LaBossiere, Deborah Porter] #Magazine
#Abstract #Forth
This month's cover by Robert Tinney shows a rocket-like needle threading its way through granite cubes labeled: DOUBLE, DUPLICATE, and + . The threaded path of the needle is a representation of the process used in FORTH and other threaded languages to create a new word (here, DOUBLE) with previously defined words (here, DUPLICATE and + ). Other aspects of this fascinating language are described in the editorial, "Threads of a FORTH Tapestry," and in the theme articles for this issue.
[author : Gregg Williams] #Edito
Extract : « What do a portable heart monitor, the new Craig Language Translator, a peach-sorting machine, and a movie called Battle Beyond the Stars have in common? The answer is FORTH, a not-so-new language as comfortable in industrial machinery as it is in a personal computer. In fact, it was originally used by its inventor, Charles H Moore, to control the telescope and equipment at the Kitt Peak Observatory. Although I have known about FORTH for about a year, it was only during the preparation of this issue that I began to actively keep my ears open for mention of this unusual language. I have uncovered a lot of information (and some experience) about FORTH and its variations. The language is so unusual that no single line of thought could give you a picture of what the language is like. Instead, the following sections represent several threads from the rich tapestry called FORTH. »
This originate-only modem will allow you to get started in intercomputer communication with minimal expense.
[author : Steve Ciarcia] #Electronic #Interface #Networks
Extract : « [...] According to an editorial, this publication has an editor / publisher and four columnists spread across the state. Each columnist prepares his textual material on his own personal computer, using a word-processing program. He then telephones the editor's computer and down-loads the text to it. The editor, using his computer, combines the four individual columns, along with his work, and lays out the complete newsletter. Finally, the editor telephones the print shop and transmits the entire newsletter for typesetting and printing.
The significant point is that all the communication is between computers and is conducted over the telephone lines.
Transmitting and receiving data using the tel phone is not a difficult task if you have the correct equipment. Virtually any microcomputer can be configured for this activity. To communicate properly, the system must be a serial terminal or emulate one and be attached to the phone lines through a modem. [...] »
Thanks to new hard-disk technology, personal computer users can add millions of bytes of mass storage to their systems at a reasonable cost.
[author : Tom Manuel] #Storage #Overview #HowItWorks
Extract : « High-performance, high-quality, and large-capacity hard-disk drives are now a low-cost reality for your personal-computer system. Most hard disks use Winchester media, head technology, and other modern techniques to achieve high density and high performance in a small space. One side effect is low power consumption. Some of the drives suitable for personal computers use the older 14-inch standard diameter platters. Many new drives use one of two new small sizes-200 mm (7.87 inch) or 210 mm (8.27 inch) diameter-and one new drive uses 130 mm (5.12 inch) platters. Even so, their data capacities are significantly larger than floppy-disk drives of the same approximate size.
The latest disk drives can be divided into two general categories:
• low-cost, relatively lowperformance drives that will eventually replace floppy-disk drives, especially where multiple drives would normally be necessary to obtain enough storage. For example, instead of adding more floppy drives to increase the storage capacity of a system, one set of dual floppy-disk drives might be replaced with an 8-inch hard-disk drive that fits in the same space. This improves the storage capacity and system performance dramatically. These low-end disk products will compete on a cost-per-drive basis.
• high-capacity, top-performance drives that must compete on a cost-per-byte basis. The 8-inch or smaller versions will likely (at least at first) be more costly per byte than the 14-inch models. However, their advantages of small size, light weight, low noise, and low power requirements make them very attractive for desktop and personal computers as well as small business systems. [...] »
Here is an overview of FORTH that lays the foundation for the other theme articles in this BYTE.
[author : John S James] #Forth #Initiation #Listing #Book
Extract : « FORTH is a programming language with a small but fastgrowing and enthusiastic user community. Though easy to learn at a terminal, it is difficult to explain abstractly because it is so different from other languages. Even advocates do not agree why it is good or how it should be used.
FORTH was developed for control applications (using a computer to run other machinery), data bases, and general business. It is least useful for big number-crunching jobs (eg: writing a matrix inversion routine), although it can link to subroutine packages written in other languages to incorporate such functions. Unlike Pascal, FORTH gives the user complete access to the machine and does not try to guard the programmer against mistakes. But its modularity and other forms of error control allow production of remarkably bugfree application programs-perhaps more than any other language in common use. The compiler uses much less memory than Pascal does, and its programs run about equally fast. FORTH is much more interactive than most conventional implementations of Pascal. FORTH is available on most common personal computers (eg: Apple, TRS-80) and all major microprocessors (eg: 8080, 6800,6809,6502, PACE, LSI-11, and 9900). An international FORTH Standards Team exists, and standard systems are virtually identical among all different machines.
This article will describe what it is like to program in FORTH. A group of annotated terminal sessions, shown in listings 1 thru 10, will provide more details on the language itself. [...] »
If you can't imagine any personal use for FORTH, can you imagine a 96-line program that plays a fast, animated game with sound on the TRS-80?
[author : A Richard Miller and Jill Miller] #Listing #Forth #GameArcade #Algorithm
Extract : « This BREAKFORTH program was created by Arnold Schaeffer. The program, which was purchased by MMS, has received minor modifications and is now included with the purchase of MMSFORTH version 1.9 (on a different range of blocks from those shown here, blocks 69 thru 74). We think it is a classic game as is, and fully expect individuals to modify it in accord with their game preferences-for their individual use.
The BREAKFORTH program is a straightforward one, although it is not a trivial one. It combines many of the techniques of FORTH and can be followed easily with a little time and study. Figure 1 shows a typical BREAKFORTH video display, with an operator-controlled game paddle at the bottom, a bouncing ball, and a barrier to be knocked out one brick at a time by successive bounces until all the bricks have been cleared away. Each removed brick scores one point or more depending on its level, and there is a surprise bonus for a completely cleared barrier. Ball speed and number of balls are selectable, but be warned that, as you bounce your way up to the higher layers, the ball speed increases! You might want to start with short games using five balls and a ball speed of seven. Fifty balls and a speed of four will present a challenge for high scorers. [...] »
This tutorial explains the capability for defining new families of FORTH words.
[author : Kim Harris] #Forth #Programming #Method
Extract : « A computer language should help users solve problems. Languages bridge the gap between the primitive operations the computer can perform (add, fetch from memory, etc), and the tasks a user needs (invert a matrix, search a file, etc). When the operations of an application are well matched to those of a language, the solution can be simplified and developed in less time; in addition, the resulting program becomes more readable.
Because all applications have various needs, it is impossible for a nonextensible computer language to satisfy all needs equally well. Although languages have been produced which attempt to include all possible operations, structures, and facilities, these have not been satisfactory.
FORTH's approach is to provide a few techniques that allow a user to quickly add the special operations his particular application requires. The remainder of this article will describe some of these techniques and give, examples that add arrays (with and without subscript range checking), virtual arrays, and a case selection control structure. [...] »
Part 1 of this article presents a new design using the 8275 controller and a dedicated Z80 microprocessor.
[author : Theron Wierenga] #Electronic #Build #Assembly #Listing #ComputerTerminal
Extract : « The construction of this fourth generation video terminal is a project that began as a detour from the plans for building a 16-bit microcomputer. I have had a long-standing interest in building an advanced-design video terminal that would have a scrolling feature and a large 2000-character display. It was my desire to have the terminal utilize one of the new programmable video-display-controller integrated circuits, and be a standalone unit with its own microprocessor that would not steal cycles from or otherwise load down the host computer. The number of additional parts that are needed to add the microprocessor is quite minimal and, in turn, the microprocessor reduces additional interfacing that would be otherwise needed. The circuitry of this terminal, when wire-wrapped on a single board, could fill one slot in the motherboard of the planned 16-bit microcomputer, or could be used with any other host computer as a stand-alone unit. [...] »
The inventor of the language recalls its design and how it evolved over a 10-year period.
[author : Charles H Moore] #Forth #History #Listing #HowItWorks
Extract : « When I invented FORTH about 10 years ago, my goal was simply to make myself a more productive programmer. When I first worked with computers at MIT and Stanford in the early 1960s, I figured that in 40 years a very good programmer could write forty programs. And I wanted to write more programs than that. There were things out in the world to be done, and I wanted a tool to help me do them. As I worked on programs that ranged from satellite orbits to chromatography to business systems, I developed FORTH in line with my overall goal. For several years now, I have been able to work at ten times my original rate.
As I began thinking of rather drastic improvements to programs, I think I was arrogant. I wanted to do things my way. I was not convinced that I should not be permitted to, and I was a bit hard to get along with. The . arrogance was necessary because I felt insecure. I was promoting ideas that everyone said were wrong and that I thought were right. But, if I were right, that meant that all the other people would have been wrong, and there were many more of them than me. And it took a lot of arrogance to persist in the face of massive disinterest.
FORTH is a polarizing concept. There are people who love it and people who hate it. It's just like religion and politics. If you want to start an argument, say, "Boy, FORTH's really a great language."
This is partly because FORTH is an amplifier. A good programmer can do a fantastic job with FORTH; a bad programmer can do a disastrous job. I have seen very bad FORTH code and have been unable to explain to the author exactly why it was bad. There are some visible characteristics of good FORTH, such as very short definitions (many of them). Bad FORTH often takes the form of one definition per block-big, long, and dense. It is quite apparent, but difficult to explain, why or how a FORTH program is bad.
BASIC and FORTRAN are less sensitive to the quality of the programmer. I was a good FORTRAN programmer; I thought that I was doing the best job possible with FORTRAN, but it was not much better than what everybody else was doing. In this sense, FORTH is an elitist language.
On the other hand, I think that FORTH is a language that a grade school child can learn to use quite effectively, if it is presented in bitesize pieces with the proper motivation.
FORTH is the first language that has come up from the grass roots. It is the first language that has been honed against the rock of experience before being standardized. I hesitate to say it is perfect; I will say that if you take anything away from FORTH, it is not FORTH any longer-the basic components are all essential to the viability of the language. »
Now you can study the algorithm that promised to revolutionize linear programming.
[author : G C Berresford, A M Rockett, and J C Stevenson] #Algorithm #Mathematics
Extract : « [...] This article will present a summary of and a commentary on Khachiyan's original paper. A graphic example of how the algorithm works is shown in figure 3. We will show how Khachiyan's method handles linear programming problems and discuss some possible improvements in the computer application of Khachiyan's proposals. We will then turn to the practical question: Is Khachiyan's algorithm capable of immediate computer application? Although our conclusion is a qualified "no," we will discuss a BASIC program (in Part 2 of this article) for the TRS-80 that can be used to gain an appreciation of Khachiyan's achievement. [...] »
[author : Gregg Williams] #Review #Interface
Extract : « [...] The CA-15 universal telephone interface is available through Ohio Scientific dealers for $499, or $799 with the Votrax voice module added. A Federal Communications Commission (FCC) approved CBT -type telephone line isolator is available for $199. Finally, a modified disk BASIC called Security BASIC is available for disk-based Ohio Scientific machines only. It is a modified Microsoft 9-digit-precision BASIC with extensions for the wireless remote-control, home-security, and telephone-interface options; these software extensions replace some of the PEEKs and POKEs otherwise used for device control with BASIC-like mnemonic commands. The Security-BASIC language system is available for $99. »
[author : Mark Dahmke] #Review #ComputerDesktop
Extract : « The Heath H-89 is Heath Company's latest in their rapidly expanding line of desk-top computers. The H-89 has a number of unique hardware features, and the same excellent software support and documentation as the original H-8 8080-based system.
Heath Company is promoting the H-89 as the all-in-one computer, which it most certainly is. It is based on the Zilog Z80 microprocessor, which makes it upwardcompatible with all H-8 8080 software. Not only is the computer based on the Z80, but the video display terminal and keyboard subsystem also contains a Z80. [...] »
[author : Gregg Williams] #Glossary #Forth