[editor : Carl T. Helmers Jr.] [publisher : Virginia Londoner (Virginia Londner), Gordon R Williamson] [art : Ellen Bingham, Wai Chiu Li, Christine Dixon, Holly Carmen LaBossiere, Deborah Porter] [cover : Tina Mion] [nota bene : Some missing pages in archive.org. Full version in vintageapple.org] #Magazine
#Abstract
About the Cover: This month's cover theme is provided by an article on using one's personal computer for personal genealogy tasks, "Genealogy" by Tina Mion. Taking off on this theme, autumn colors, and the day of the great pumpkin at the end of October, artist Tina Mion has created an autumnal tree with some ghostly leaves reflecting a his tory of science and technology.
Putting you in touch with yourself and improving family relationships are just two of the rewards of Tracing Your Own Roots. The microcomputer is a perfect companion in the search for ancestors. Stan W Merrill introduces some simple ways to compile your genealogy, and provides a BASIC program to involve your computer in the quest. Page 22
Since your computer is using precious (and often high priced) electricity, it seems only right that it should help analyze your electric bill. Karen S Wolfe has developed a program called Power, and tells us how Power Helps Analyze Electric Bills. Page 48
There are a variety of output devices which could be added to your computer system. One such device is an LED display. Steve Ciarcia discusses several methods of interfacing an LED display to a computer, and culminates his discussion with a Self-Refreshing LED Graphics Display. Page 58
Disks provide much more convenient storage than tape. When write errors occur, however, they can also be much more catastrophic. Alfred S Baker provides a brief description of the two main data file organizations used on floppy disks, and also describes a major problem that can occur when using one of them. Don"t give up hope. A program is provided which will aid you when Picking Up the Pieces. Page 76
At some time almost every programmer has wanted to write a program containing variables whose values are strings. Dr W Douglas Maurer explores two techniques for implementing this task in Variables Whose Values Are Strings. Page 90
Jefferson H Harman describes how IBM Compatible Disk Drives should perform. Not all manufacturers who say that they are IBM compatible mean fully compatible. Page 100
The talking computer is now within the grasp of personal computer users. Tim Gargagliano and Kathryn Fons discuss the Votrax voice synthesizer that is available for the Radio Shack TRS-80 in The TRS-80 Speaks: Using BASIC to Drive a Speech Synthesizer. Page 113
The Intel 8255 programmable peripheral interface is a large scale integration part that makes interface designing easy. David L Condra gives advice on the procedure and includes a design in Interfacing the S-100 Bus With the Intel 8255. Page 124
Using a principle invented years ago, simulated threedimensional graphics may be produced on a personal computer equipped with a plotter or similar device. William T Powers explains the method in The XYZ Phenomenon. Page 140
In Curve Fitting With Your Computer, Fred R Ruckdeschel describes a simplified method for obtaining a reasonably accurate equation as a "best fit" to a collection of data points. Page 150
When working with timecritical or memory-critical programs, optimization techniques are often employed. James Lewis discusses some of these in his article on Low-level Program Optimization: Some Illustrative Cases. Page 168
What is the "Conservation of Agony?" It is one of the rules of personal computing proposed by Dr T G Lewis in his thought provoking article, Some Laws of Personal Computing. Read it and find out why Dr Lewis suggests that "software should be shared, but hardware should be replicated." Page 186
Loring C White describes a real-time Space Game which requires you to maneuver a ship within gun sights and then destroy the enemy. Page 196
Hashing is a common method of handling lists, widely used in assemblers and compilers for handling the symbol table. In this issue Don Kinzer discusses an Easy to Use Hashing Function for the 6800 microprocessor. Page 200
Many companies are offering blank S-100 compatible computer boards. Dan S Parker describes the substantial savings that can be achieved by populating these boards and following some simple guidelines in Budget Building on a Bare Board. Page 206
[author : Carl Helmers] #Edito
Extract : «
This month's editorial is the latest in a series begun last July describing a new
homebrew 6809 personal computer system. The general backplane design was
presented last month. This month we describe the processor board. Its ideal
features would include:
• 6809 processor (40 pins) and buffers for external signals.
• 4 K bytes of 2708 read-only memory for systems software.
• Interrupt flags for lines IO through I7 and peripheral interface adapter
(PIA) port with its interrupt request (IRQ) output tied to the fast interrupt
request (FIRQ) input of the processor.
• If it fits, logic for a primary serial terminal port and connector. [...]
»
Genealogical research with a microcomputer
[author : Stan W Merrill] #Listing #BASIC #Genealogy
Extract : « Tracing your own roots satisfies an intangible craving that many people have — a craving to understand your place in a heritage that was developed by people who are perhaps more like yourself (at least genetically) than any other people on Earth. The process involves untangling puzzles that tax the most intelligent imagination, Relationships must be deciphered from other people's memories and from bits and pieces of written records that form a fragile and sometimes inadequate link between you and your ancestors. It is a natural application for a microcomputer. [...] »
Determine power usage from appliance ratings
[author : Karen S Wolfe] #Listing #BASIC #Energy
Extract : « We all know there are many reasons for increasing utility costs, from higher oil prices to billion dollar Environmental Protection Agency regulations, but that doesn't make the paying any easier.
There has been much rhetoric about personal conservation and elimination of waste. In order to formulate an effective and efficient plan for conservation of electricity in your home or business, you need to know the cost of operation for individual appliances and other electrical devices.
The Power program (see listing 1) calculates from your electric bill your cost per kilowatt-hour of power used. The program then generates the cost per month and per hour to operate specific appliances, given their electrical specifications, name plate fastened somewhere on the device. However, some appliances list amps rather than watts. The Power program contains an option for calculating wattage from amperage and voltage. [...] »
Add a digital display to your computer system
[author : Steve Ciarcia] #Electronic #Listing #BASIC #Display #Graphics
Extract : « Light emitting diodes (LEDs) have been in use for a number of years. When first introduced they, like transistors, were very expensive, and were used only for special applications. Fortunately, manufacturing techniques have advanced to a point where a single red LED costs less than $0.10. A further achievement is the availability of yellow, orange, and green LEDs.
When we think of graphics displays, we usually think of television- type video displays. All of the more popular personal computing systems have video displays, with the majority of them supporting graphics. It is not inconceivable that we will eventually see economical, flat, high- resolution LED displays which have the same capabilities as the current cathode ray tube displays. A manufacturing breakthrough will be required before this is a reality.
There have been some military programs requiring the construction of such displays. A few years ago, while still a member of the military-industrial complex, I worked on a bid to build a 10 by 10 foot LED display comprised of 792,000 discrete LEDs. My calculations at the time predicted that it would take about 3 kW of power to run.
This article is not going to describe how to replace your television screen with a flat panel LED display, but will attempt something a bit more modest. The concept of LED graphics is not that far in the future. While we're waiting for technology to catch up with interest, we can experiment with the concept on a limited scale and analyze the various logic alternatives. A side benefit is the construction of an 8 by 16 LED display as your newest peripheral device. [...] »
Design advice for the person starting out in hardware
[author : David L Condra] #Interface #Electronic
Extract : « Upon entering the world of microcomputers, technical terms such as data bus transceiver, parallel port, PDBIN, and strobe can appear to be hopelessly confusing. Consequently, many people avoid hardware and concentrate their efforts on software, feeling that it is easier to understand. However, as with software, if a hardware project is broken down into manageable modules, it can be easily designed and understood. This is particularly true with the new large-scale integration devices that are available today. Use of these parts almost forces a modular approach to a design problem.
When faced with the job of designing an interface for a Diablo printer, I began looking at the available interface parts. I was amazed at how simple these devices can make an interface design project. In this article I will discuss the Intel 8255 programmable peripheral interface, and its use for interfacing to the S-100 bus. My objective, both in designing the interface and writing this article, is to reduce the problem to its simplest and most essential elements.
I learn easily and enjoy the learning more when I am working on a specific application, rather than merely reading technical material or doing routine experiments. Therefore, this discussion is offered as a simple I/O (input /output) interface design that will allow the nonhardware-type person to build a working interface and gain some basic understanding of the functions of hardware in a microcomputer. This is not intended to be a straight hardware tutorial; additional study in some areas may be required to fully understand what is happening. [...] »
Three-dimensional simulation using optical devices and computer graphics
[author : William T Powers] #Electronic #Listing #BASIC #Graphics #Optics
Extract : « [...] To make a stereo picture, construct 2 views of the same 3-dimensional object as seen from each of a viewer's eyes. Placing a picture in front of each eye, you see the 2 images fused. In order to fuse near objects, your eyes have to converge just as for the real object, since near objects are displaced more (to the side opposite the viewing eye) in the 2 pictures, than are the actual far objects. The most natural viewing requires using 2 identical lenses, one in front of each eye, and a cardboard shield to keep each eye from noticing the wrong picture.
Stereo effects arise from image displacements left and right; in the vertical dimension, stereo pictures are essentially identical. The size of the vertical dimension shrinks as the distance to the object increases, but by the same amount for both eyes. [...] »
A simplified approach to nonlinear regression
[author : Fred R Ruckdeschel] #Listing #BASIC #DataAnalysis #Mathematics
Extract : « This article is dedicated to the small system users who are faced with multiple variable data tables and who have a desire to curve fit (regress) these data into simple functional forms. The basic software problems facing such users are:
1 . The powerful general purpose statistical packages available on the large computers are often not in source code (eg: BASIC or FORTRAN) for translation to a microcomputer language.
2. If the packages are available, they are often very complicated to use. There is a human language barrier,
3. The large machine software may not be directly compatible with translation to a small machine language (eg: there may be calls for matrix inversions which are not internal functions in the small system). [...] »
Develop your reflexes with this fast-moving game
[author : Loring C White] #Listing #BASIC #GameShooting
Extract : « If you don't have analog graphics capability but do have an 8080 computer with a video display such as the ADM-3A, you may find this program a real challenge.
For the past year or so I have been using the ADM-3A video monitor for running programs written for Teletype display, such as the early Star Trek games. Most of the new games are written with cursor control, giving a vast improvement to the display. When I utilized the cursor control feature of the ADM-3A it opened up a new world of programming enjoyment; with cursor control it is possible to write various areas on the screen without disturbing others. [...] »
Random symbol distribution aids recall process
[author : Don Kinzer] #DataManagement #Book
Extract : « Hashing, or scatter storage, is a well known and widely used technique for handling lists. Perhaps the most common usage is in assemblers and compilers where it greatly speeds the handling of symbols. This article briefly discusses the merits and drawbacks of hashing relative to other sorting and searching techniques and presents an easy to use hashing function implemented on a 6800 microprocessor.
The concept of hash tables first appeared in the literature around 1953 but it is generally accepted that hashing was used prior to that. Other names given to the same process are scatter storage, randomized storage and key transformation table. These names will be seen to be equally applicable shortly. [...] »
Recovering from disk write errors
[author : Alfred S Baker] #DataManagement #Listing #Assembly
Extract : « Everything had been going so smoothly. I had just saved several important programs on a disk and had planned to spend the rest of the afternoon doing fun things with them. Now the computer was telling me that my full disk was completely empty.
I had been using my floppy disk system for over 6 months before the output error mentioned above occurred. I discovered, to my sorrow, that while input and output errors on a floppy disk are very rare, they can still happen. I survived my catastrophe. I hope that my experience can help you survive yours. [...] »
String variables can be easy to use
[author : Dr W D Maurer] #DataManagement #Programming
Extract : « Almost every programmer has wanted to write a program in which there were one or more variables with strings as their values. Many programmers, however, are discouraged by the programming difficulties that arise in this connection, in all but the simplest cases. This is particularly true when space is at a premium and assembly language is used as it is in many microcomputer applications. We would like to describe here two alternative ways of solving these problems. These are quite different from each other stylistically; each is fascinating in its own way, and each has certain difficulties which have to be surmounted, but either one of them will solve the basic problem with which we are concerned.
Many versions of FORTRAN allow variables to have strings as their values, but these strings cannot have lengths which are greater than some maximum, and this maximum is usually much too small for practical purposes. The maximum is, in fact, the number of characters in a word, which is usually two, four or six; sometimes it is five (as on the PDP-10) and sometimes eight (as on the IBM 370, using double words), but in practice the strings we are concerned with are often 20, 40 or even 60 characters long. In many COBOL programs, this problem is taken care of by assigning some large number of characters to every such variable. This is particularly common when the value of the variable is somebody's name and address, to be printed on an envelope by the computer. Often 25 characters are reserved for the name, 25 for the address, and 25 for the city, state and zip code. This gives rise to two kinds of problems. In the first place, 25 characters is not enough for an address like 1527 San Jose-Los Gatos Rd., even if we leave the period off the end. More important, however, is the fact that, if we reserve that many characters for every name and every address, there are going to be quite a lot of wasted characters. That doesn't matter too much in a COBOL program, where space, particularly on a disk, is usually quite abundant; but on a microcomputer we would like to make optimum use of all the space we have. [...] »
Floppy disk sectoring rules
[author : Jefferson H Harman] #Storage
Extract : « In today's expanding market of double-sided, multiheaded, expanded capacity, autoloading, writeprotected, floppy disk drives, one requirement remains constant. Virtually all 8 inch floppy disk drives on the market are described as "IBM compatible." (Some of the smaller 5 inch drives are described as IBM compatible even though IBM doesn't manufacture equipment with the smaller drives!) Manufacturers point to it; buyers insist on it; and yet seldom does anyone define what IBM compatibility really means. That is probably because IBM compatibility is not just a single consideration. Three drives described as IBM compatible may, in fact, be compatible in 3 different ways. One drive may be IBM identical with read/write/erase head carriage and all major operating characteristics reverse engineered from an IBM 33FD drive; another drive may accept IBM type 1- or 2-sided single or double density media, but may or may not choose to employ any of the IBM data formats; and finally, a drive may be designed and manufactured with the positioning system drive motor, erase head, and other characteristics different from the IBM drives, but still be able to read and write in the IBM single or double density formats and interchange diskettes with IBM equipment. [...] »
Discussion of a vocal output peripheral for the Radio Shack TRS-80
[author : Tim Gargagliano and Kathryn Fons] #Audio
Extract : « The rapidly increasing family of Radio Shack TRS-80 computer peripherals has recently acquired a voice synthesizer module. Any application of this computer system which involves human interaction can be improved with the addition of computer voice response. Voice can be used as a supplement to the video display or printer (by repeating what has been printed) or used alone when it is undesirable to print (such as for intermittent feedback while printing a long task). A few of the applications of the verbal peripheral are games, clocks, verbal prompting, alarm systems, doorbells, computer-aided instruction, and a blind user's terminal. The intent of this article is to present an overview of the voice synthesizer as a TRS-80 peripheral and to demonstrate the ease with which TRS-80 applications software can be modified to include the voice unit. [...] »
How to decrease memory requirements and increase execution speed
[author : James Lewis] #Programming
Extract : « A program or subroutine can usually be modified so that it requires less time or space for execution.
The above observation about optimization suggests that a program or subroutine can usually be changed, so that it either runs faster or takes up less memory space, and one can often accomplish both at the same time.
Programs can be optimized for other things, such as readability, maintainability, structure, etc. This article, however, stresses optimization for time and space. If a program written for a microprocessor can be made shorter using space optimization, less memory can be used, or more functions can be packed into the same memory. Either way, optimization pays off. If the program can be made to run faster, more functions can be performed in the same amount of time. In fact, optimization can make the difference between whether or not an application of a microprocessor is feasible. [...] »
Some unnatural, natural laws
[author : Dr T G Lewis] #GeneralQuestions
Extract : « In the beginning, man created pocket calculators to do rote arithmetic, eg: addition, subtraction, multiplication and division. Few people involved in the pocket calculator industry realized that pocket calculation was just the initial thrust into the "computing for the millions" consumer market. Indeed, the millions of dollars made by this computer consumer product helped to pay for the development of more sophisticated devices we now call personal computers.
Computing lacks a definite starting point. The works of Charles Babbage, and possibly Alan Turing, have little impact on daily computing (some will argue that these two pioneers have everything to do with modern computing, but I speak of practical rather than theoretical computing). So where are the fundamental theorems of computing? Is there a set of "equations of motion" for programming?
This article contains ten empirical observations, dubbed "laws of personal computing," that are derived from personal experience with personal computers in the real world of business. While many of the rules are controversial, I believe most can be proven to be true. [...] »
Building computer systems inexpensively
[author : Dan S Parker] #Experience #Build #TradeAndLaws
Extract : « For the experimenter with an eye toward saving a little money or who has a well-stocked parts cabinet, the thought of buying a blank computer board can be very appealing. It is now possible to assemble an entire S-100 computer system using your own parts and commercially designed printed circuit boards which are offered with complete documentation but with no parts. Table 1 indicates how this could be done. Even if you would rather assemble an SS-50 (6800 processor) system, read on anyway since much of what is said will apply to bare boards for those systems too (even though the selection of bare 6800 based computer boards is somewhat limited at present). Savings sometimes reach as much as 30 to 50 percent over the purchase price of a kit or an assembled board if parts are purchased carefully and only as needed. Three companies, Cybercom, Solid State Music (now SSM) and Ithaca Audio, offer low cost bare printed circuit boards for S-100 experimenters who are willing to do a little shopping for parts bargains and still have a professionally designed system.
I would like to summarize a few of my experiences assembling bare computer boards. It can be a rewarding endeavor if a few minor pitfalls are avoided. [...] »
#Assocation
#Book
Extract : « Practical Microcomputer Programming: The Intel 8080 by W J Weller, A V Shatzel, and H Y Nice Northern Technology Books POB 62, Evanston, IL 1976 306 pages hardcover 6 1/2 by 9 1/4 inches $23.95
Practical Microcomputer Programming: The M6800 by W J Weller Northern Technology Books POB 62, Evanston, IL 1977 288 pages hardcover, 6 1/2 by 9 1/4 inches $23.95
Practical Microcomputer Programming: The Z80 by W J Weller Northern Technology Books POB 62, Evanston, IL 1978 481 pages hardcover, 6 1/2 by 9 1/4 inches $32.95 [...] »