[theme Software][author Dollhoff]
[theme Hardware][author Jewell]
[theme Mass Storage Technology][author Allen]
[theme Hardware][author Christner]
[theme Hardware][author Burbey]
[theme Hardware][author Rosen]
[theme Software][author Gable]
[theme Hardware-][author Liming]
[theme Hardware- ][author Kreitner]
[theme Software][author Baker]
[theme Mass Storage Devices][author Hill]
[theme Software][author Nico]
[theme Applications][author Yost]
[theme Survey][author Caulkins]
Terry Dollhoff provides readers with some food for thought on hashing techniques. Turn to Making Hash With Tables to find out what it means to hash data as a method of improving table access time. The straightforward way of seeking data in a table (searching each element in turn) is far from the most time efficient, as you'll discover by considering Terry's arguments.
For an output only interface, you don't necessarily have to use a UART to drive a Teletype printer. Gregory C Jewell shows How to Drive a Teletype Without a UART using five standard TTL integrated circuits.
How do you drive a tape recorder's head directly, and read data directly? If you read David M Allen's article in this issue, you'll find out that Saturation Recording's Not All That Hard after all. David shows a simple tape driver circuit, input signal processor and the design of software for direct digital recording with audio tape heads on cassette recorders.
Watts Inside a Power Supply? Find out by reading Gary Liming's account of power supply basics. You'll find that there are indeed watts lost inside a power supply, the reason these items invariably come with some form of heat sink. After reading Gary's article you'll have some good background information in your memory banks for evaluating the various power supply schemes which are used in practice, and why such schemes are used.
Altair BASIC (in whatever form you have it) is an excellent aid to the utilization of an 8800 system. However, there is that residual problem of putting in a 20 byte bootstrap program every time you turn power on. In this issue, a short article by Jim Kreitner shows you how to Pick Up BASIC by PROM Bootstraps.
Who knows what the bears and bulls will be doing next in the stock market? Play Black Friday, a BASIC game by Bob Baker, and you'll get a heuristic feel for what happens through the powerful tool of simulation. Will X-Pando do better than Slippery Oil after a simulated year of trading? Play the game and find out.
Newcomers may wonder what is meant by the term "direct access storage device." This is the most useful form of mass storage, a form which is the dream and goal of every small system hacker who has passed the beginning stages of programming applications of his or her computer. To help define the terminology for the novice, reader Curt Hill has provided an elementary article on the types and uses of direct access storage.
The SYS 8 monitor as it is supplied by IMSAI and Processor Technology is a self-contained operating system for 8080 based microprocessors which comes equipped with its own set of executive commands. These commands are used for calling programs that are resident in the system. Wouldn't it be great if programs that are not part of the monitor could be part of the executive command table? This was the conclusion of Willard I Nico. He decided to have easy availability of his most used programs by adding them to the executive command table. He describes how you too can easily accomplish this in his article SYS 8 1/2 - Your Own Executive Commands.
Representations of two dimensional game boards as the bits of various bytes in your computer's memory can often be chosen to help facilitate evaluation and strategy computations. In Computer Models For Board Games, Russell R Yost Jr presents some basic background information on the problem and suggestions for representations useful in the games of TACTIX and HEXPAWN.
For use when testing out your hardware, the idea of The Built-In Logic Tester can prove quite useful. K W Christner discusses the concept in a short article on his version of a logic probe.
Riddle of the Month: What is not like an elephant with a suntan?
An EROM which forgets its memory pattern due to ultravilet light.
Build the "Coffee Can Special" EROM Eraser described by Lawrence Burbey in order to convert white elephant EROMs into blanks ready for reprogramming.
Video interfaces often produce an EIA composite video signal as the principal output. What do you do when you have a commercial digital monitor with separate sync inputs of the type used in display terminals? Why, that's when you follow David Rosen's lead and Separate Your Sync by tapping the interface at a nonstandard point.
June BYTE had an article on ELM, an Eloquent Little Monitor. In this issue, author G H Gable describes a method of Using Interrupts to Speed Up an ELM. The use of interrupts and a tape drive with a direct memory access interface make a valuable extension of the basic monitor concept.
In June and July a survey was conducted of computer hobbyist clubs in the US and Canada. The questionnaire covered such areas as number of members per club, types of computers owned, applications for the computers and the members' backgrounds. In his article, A Computer Hobbyist Club Survey, David Caulkins releases the results of the survey and explains some of the conclusions that he has reached as a result of the survey.
[theme Software][author Nico]
[theme Mass Storage Systems][author Welles]
[theme Human Interfaces][author Douds]
[theme Mass Storage][author Lomax]
[theme Hardware][author Hoegerl]
[theme Systems Software][author Howerton]
[theme Hardware][author Rampil-Bremeir]
[theme Visual Perception Tricks][author Bain]
[theme Systems Software][author Murphy]
[theme Applications][author Burhans]
[theme Processors][author Baker]
[theme Software][author Rathkey]
[theme Hardware][author Tomalelsky]
The computer was created to free mankind from the drudgery of doing tiresome chores best left to an auto- maton. In most computers, there is an extremely helpful monitor program such as the SYS 8 program available in versions by IMSAI and Processor Technology. Sometimes, the writers of such programs leave the user with a few residual chores to do, like entering line numbers for each command or operation. Bill Nico wasn't satisfied with that, and proceeded to patch in an automatic line numbering feature for SYS 8, described in his article on Sweet Auto Line.
A key component of a usable system concept is the mass storage subsystem. In this issue, Jack Breimeir, one of the engineers on the Phi-Deck design, and Ira Rampil of the University of Wisconsin begin a two part article on The Digital Cassette Subsystem. In part 1 you'll find some background information on digital recording, and details of the problem of head interface electronics for digital recording.
Mass storage is the critically important component of a personal computing system which is often passed up on grounds of price or complexity. People tend to have preconceived ideas that a controller which is a complicated technological nightmare will double the price of a drive alone. However, demonstrations of accomplishment arc a way to dispel preconceived biases. Dr Kenneth B Welles shows in his article on the Economy Floppy Interface that buying just a couple of drives and building a relatively inexpensive homebrew controller can give anyone the advantages of over 200 K bytes on line per drive. His circuit takes just 17 common integrated circuits (one of which is an LSI communications processing device).
Color television interfaces are starting to become popular. However, not everyone has a color television sitting around idly. Is it possible to have a color terminal and not have to use a color television set? Subjective color is a possibility that is explored by Steve Bain in his article Color Displays on Black and White Television Sets. Read Steve's article and find out how you too may be able to add a color modulation effect to a black and white television set.
Serial storage media are widely used in low cost computer systems. They range in performance from paper tape through cassette tapes with manual controls to high performance programmably controlled cassettes, tape cartridge drives and full industry standard magnetic tape drives. Find out some of the background information pertinent to use of most magnetic tape serial media in Brian D Murphy's article, Serial Storage Media: An Introduction and Glossary.
Human interactions with computers go both ways. For computer outputs, most people think in terms of visual displays. This completely ignores the use of other senses like hearing (or touch or smell for that matter). In Audible Interrupts for Humans, Charles F Douds describes a simple circuit which can lake advantage of the audio channel of the human system.
Here you are, a novice or experienced flier, cruising along in your ancient Cub under VFR conditions when ... all of a sudden, VFR becomes IFR and you can't see. If you had an inexpensive Omega navigation system in a portable package in your copilot's seat, you'd at least know where you are on the map with an accuracy of about I mile. In his article Cub 54, Where Are You? (Or How to Navigate Using Mini-O), Ralph Burhans begins a multiple article discussion on Omega navigation, design of an Omega receiver for use with a small computer as a personal navigation system, and software for determination of position information. Aviation enthusiasts and boating enthusiasts who are into microcomputers will be able to use this information to help make an experimental robot navigator.
Is it an impossible dream? Is it conceivable to make an audio cassette 10 port with only a single bit line in each direction? Well, if you ignore the need for connecting wires, clipping diodes and isolation capacitors, then you can use a "hardwareless" software technique such as that described in Daniel Lomax's The Impossible Dream Cassette Interface.
Most of today's microprocessors have all of their functions centralized without a single device. The F8 microprocessor by Fairchild Semiconductor is unique in that it divides the system functions among several basic circuits. In his article, Microprocessor Update: The F8 System, Robert Baker describes this rather unique way of approaching the development of a microprocessor system.
Upon receiving that first microprocessor, the budding computer hobbyist is often confronted with disdainful stares and must endure such comments as, "Well now, let's see it do something." If you have a Motorola 6800 based system with MIKBUG, John Rathkey's article, A MIKBUG Roadmap ..., will aid you in getting your system to "do something" that will satisfy even the most doubting of your critics.
In several manufactured products which have been appearing lately, a hexadecimal input keyboard is one feature of the computer processor. Joseph Hoegerl describes how this sort of Calculator Keyboard Input for the Microcomputer can be wired up and used to replace toggle switches. His version is for an 8008 system, but the same hardware is applicable to other computers as well.
If you are interested in designing your own TTL circuits you should be aware that there is a definite limit to the number of gates that can be interconnected. In TTL Loading Considerations Greg
Tomalesky explains how these limits are determined by circuit designers and gives advice on what pitfalls to watch out for when designing your own TTL circuits.
Charles Howerton has come up with an interesting and lightly coded package of 8080 routines lo perform utility functions for applications software. The design goals of filling into 256 bytes yet providing a wealth of extensions to the machine's instruction set are well met, as can be seen from his article's documentation of the package.
[theme Hardware][author Burhans]
[theme Hardware][author Buschbach]
[theme Games Software][author Price]
[theme Hardware][author Hogenson]
[theme Hardware][author Grappel]
[theme Product Description][author Kay]
[theme Cassette Transports][author Freeman]
[theme Hardware][author Bremeir-Rampil]
[theme Construction][author Frenzel]
[theme Review][author Ciarcia]
This month's cover is by Sandra D Crandall, Narragansett RI 02882, a first prize winner of BYTE's Computer Art Contest. When she painted her updated "American Gothic," she was completing her BFA in Art at the University of Rhode Island, and as assistant Art Department slide curator, maintained a library of over 40,000 slides. "My fiance is finishing his BS in Computer Science and is an avid BYTE subscriber from the word go," she wrote.
Many of the possible applications of small computers involve the moving of a mechanical device. One possible way to digitally control these devices is with servomechanisms such as those used in radio controlled model aircraft. In his article, Give Your Micro Some Muscles, Robert D Grappel describes how simple it is to interface these devices with your computer to control your own mechanical devices.
Since microprocessors have hit the hobby market, one of the larger difficulties of the computer hacker has been obtaining inexpensive hardware copy capabilities. Southwest Technical Products Corp has introduced a line printer that is the answer to this difficulty. Their inexpensive impact dot matrix printer is described by Gary Kay in his article A Review of the SWTPC PR-40 Alphanumeric Printer.
The audio cassette is a kluge similar to paper tape; it works but is inconvenient. The "ideal " cassette system is completely controlled by the computer's commands, the full digital cassette recording facility. In his article on Cassette Transports for the "Roll Your Own" Hobbyist, William H Freeman takes a look at three different drives which have potential as mass storage subsystems for the personal computing experimenter.
Last month we began an article on The Digital Cassette Subsystem, by jack Breimeir and Ira Rampil. In this issue, we continue the discussion with part 2, concerning digital data formats and system considerations.
Today's computer hobby wolrd is a kit oriented one. In his article, Kit Building for the Computer Hobbyist, Louis E Frenzel sets forth guidelines that allow the inexperienced kit builder, the inexperienced hardware person, or the software hacker who just wants to get the basics, to construct a working computer oriented kit on the first attempt.
Navigation has come a long way since the astrolabe, as exemplified by the Omega system. In this month's BYTE, Ralph W Burhans continues his presentation of the hardware for an inexpensive Omega navigation system with some Simplified Omega Receiver Details. (The series concludes with an article on software by Richard J Salter Jr in next month's BYTE.)
To interact with video games or graphic systems, it is often useful to interface devices such as joysticks to the microprocessor. In his article, An Inexpensive Joystick Interface, Thomas Buschbach describes one method that will enable you to implement the conversion process in hardware.
Over the years since the demise of the original Star Trek television series, there has been an increasing variety of people enamored with the ideas that the program had to offer. Among these people are personal computing enthusiasts who have turned these ideas into a large variety of computer games. In Flights of Fancy with the Enterprise, David Price introduces his own version of the Star Trek theme. His program, though small enough to be played on many microcomputers, allows a wide enough number of variations in play to satisfy even the most frequent users. This program is a must for Trekkies.
Steve Ciarcia owns and uses a Digital Group 8080A system. Read about his experiences and you might want to Try This Computer on for Size.
Want 16 digit BCD output for your calculator software? Need an octal display to replace your binary lamps? Read Jim Hogenson's article on how to Multiplex Your Digital LED Displays to find out what it takes to make numeric display output hardware.
[theme Software][author Butterfield]
[theme Peripherals][author Helmers]
[theme Software][author Emmerichs]
[theme Software][author Salter]
[theme Hardware][author McNatt]
[theme Humor][author Ciarcia]
[theme Software][author Rosner]
[theme Software][author Rosenbaum]
[theme Fanaticisms][author Gray]
[theme History][author Barnes]
[theme Commentary][author Melton]
[theme History][author Baker]
[theme Terminology][author Price]
April Fool! This cover depicts a working (believe it or not) computer called "Spider," which was first seen in a black and white shot in our August 1976 issue. The computer was built by Roger Amidon, and this color print was taken by Marj Kirk" For those who missed the August issue, the method of construction for this 12 bit mini was to wire point to point between small circuit cards. The Niagara Falls effect of spilling off the table was due to a wayward cat.
Many people who play with computers have seen a version of that well known game, "lunar lander." Much has been written about different versions of the game in books and other publications. In his article, KIM Goes to the Moon, Jim Butterfield adds one more chapter as he describes not only a version of the game, but also the logic behind his particular development of a lunar lander program to fit the limited resources of a single board computer.
Are you thinking of adding a hardcopy device to your microprocessor but can't afford the price that is required? Well, there are a lot of old Baudot type teleprinters out there which have plenty of use left in them. Michael McNatt describes some of these devices that are available on the surplus market today in his article, A Guide to Baudot Machines: Part 1, Description of Available Devices.
Watch out for complicated interpersonal situations. Your computer, if it is found out, could lead to events reminiscent of a jai alai fronton at mid game, as you'll find out by reading Steve Ciarcia's humorous account of Having a Private Affair With Your Computer.
Tom Pittman's Tiny BASIC language provides both the novice and experienced programmer with a vehicle for conveying thoughts from the flowchart stage to working programs quickly and efficiently. Tiny BASIC is a language that can be quickly mastered by the novice, yet has enough variations to satisfy the experienced programmer. In the article A Review of Tom Pittman's Tiny BASIC, Richard Rosner details what abilities the language provides. He also gives a fine example of the type of programming which can be accomplished in one short evening using such a high level language.
Waiting for a slow audio tape interface is one of the annoying aspects of stand alone computer systems without much in the way of mass storage peripherals. In this issue, find out how you can run a Southwest Technical Products Corporation AC-30 tape interface at four times its usual rate in the article on A Software Controlled 1200 bps Audio Tape Interface. This same interface can incidentally be run at 300 bps to read Kansas City (BYTE) standard tapes for which the AC-30 was intended.
For some time there has been a mystique associated with the phrase "artificial intelligence." The mystery often lies in defining what it is. If we take the definition offered by Turing as "able to mimic the behaviour and decision making of a human," then we are using artificial intelligence every time we play a simple computer game such as nim. In his article Artificial Intelligence, What Is It?, Richard L Rosenbaum dispels some of the mystique that surrounds artificial intelligence, by means of some introductory background in formation.
No system is truly complete without some systems software to help you create personalized software applications. But if memory is limited, how can you accomplish minimal functions such as assembly of programs? One way for 6800 users with 4 K bytes or more is described in Jack Emmerichs' article on Designing the "Tiny Assembler." In this first part, he describes the necessary prelude to such a design: Defining the Problem. (In our next issue, the article continues with detailed information , object code and some comments on customization to individual circumstances.)
Learn about Establishing the CHU Dynasty in your local computer club by reading Steven B Gray's somewhat tongue-in-cheek article ...
Who is Plexitus? He's the main character in E E Barnes' hysterical account of a jinxed Roman named Plexitus who is credited with the invention of flight, creation of the word idiot, and last (but hardly least) the invention of the computer. Early Indications of Technology in Roman Military Arts or Plexitus is a most interesting fictional history.
Science fiction has long been the mainstay of people who are interested in the frontiers of the future, the possibilities of tomorrow's technology today. But living in the world of today has made much of yesterday's science fiction ordinary occurrence. And some of today's technology hasn't even been touched upon by science fiction writers! Henry Melton's essay, Why Aren't There Any Altairs on Arcturus II ?, concerns the curious absence of personal computers in the works of science fiction, a small discrepancy in the vision of our prophets...
In this issue, we conclude the three part series about Omega Navigation with Mini-O with Richard J Salter's article on the software used to drive the hardware described in Ralph Burhans' articles. In Richard's article you'll find out how to use a 6502 processor to measure Omega phase differences, and as an extra bonus, how to calibrate a local clock in your lab with the Cesium atomic clocks used by the Omega system.
[theme Speculations][author Lau]
[theme System Description][author Wozniak]
[theme Peripherals][author Carr]
[theme Software][author Linker]
[theme Interfaces][author McNatt]
[theme Software][author Chapman]
[theme Software][author Krystosek-McCarty]
[theme Software][author Wimble]
[theme Hardware][author Ciarcia]
[theme Hardware][author Brehm]
[theme Software][author Emmerichs]
Birgit Quednau, a student of biomedical technique at the university in Giessen, Germany, who is interested in small computer systems and batik, combined both fascinations to produce this month's cover, another winning entry in BYTE's Computer Art Contest.
Ideas and imagination are the inputs to creative uses of computers. Ted M Lau has set down some of his thoughts on potential personalized uses of computers in his Catalog of Liberating Home Computer Concepts. Some of his suggestions can be implemented with present technology. Some will have to await further development. In either case the prospects are exciting.
Artificial intelligence has intrigued people for many years. The possibility that computers may be able to "think on their own" is one of the recurring themes of science fiction. Artificial intelligence is starting to pervade reality, not the super thinking beasts of fiction, but the machines that perform tasks normally thought to require intelligence. In his article, Artificial Intelligence, an Evolutionary Idea, Michael Wimble describes one type of artificial intelligence technique which readers may find quite useful.
What does it take to make a computer system complete to the point of plugging it into the wall, plugging it into a color television, and turning it on? Stephen Wozniak of Apple Computer describes the design of such a system in his product description article on the Apple-II.
Now that you have your microprocessor up and running you surely want to parade it before some of your friends and relatives. Your cluttered basement or garage workshop, however, may not be the best place to demonstrate your brainchild. In his article, Come Upstairs and Be Respectable, Steve Ciarcia describes his solution to this dilemma by installing a remote keyboard and video monitor in his den. This arrangement is great for parties and other gatherings since the vital components of the processor cannot be subjected to the whims of some unknowledgeable person.
Joseph J Carr , in his first of a two part article on interfacing With an Analog World, gives us an insight in to transducers and some of the problems of processing their outputs into signals which can be digitized by an analog to digital converter.
Adding floating point calculation abilities to your microprocessor can represent a quantum leap forward in performance. The floating point functions discussed by Sheldon Linker in his article, What's in a Floating Point Package? , will allow you to perform addition, subtraction, multiplication and division with extremely large or small numbers, using software exclusively.
How can you convert one of those surplus keyboards with out encoders into a usable text input? Find out by reading Bob Brehm's Using a Keyboard ROM.
Jack Emmerichs' Tiny Assembler presentation is completed in the second part of his article in this issue: Implementing the Tiny Assembler. Readers will find a discussion of structured code details for a 6800 as well as complete object code and sufficient information to get Tiny Assembler 6800 up and running in any machine with MIKBUG and at least 4 K of memory starting at address 0000.
Last month Michael S McNatt described the various types of Baudot teleprinters that are available on the surplus market today. This month he describes various ways in which these devices can be interfaced to a microprocessor using both hardware and software techniques in his article, A Guide to Baudot Machines: Part 2, Interfacing Techniques.
Using someone else's interpreter or compiler is the normal mode of operation for anyone contemplating a high level language. But with any complicated piece of software, use sometimes requires a bit of ingenuity on the part of the user as David Chapman points out in his description of a nit in many a BASIC interpreter. Turn to All This Just to Print a Quotation Mark? You'll also find a short glossary including some very important terms in the world of applications software.
The 8080 microprocessor generally performs operations using 8 bit words. There are, however, several ways in which 16 bit words can be manipulated on the 8080. In the article, 8080 Programming Notes, John McCarty and Paul Krystosek elucidate on 16 bit data manipulation.
[theme Hardware][author Kraul]
[theme Peripherals][author Fylstra]
[theme Peripherals][author Simpson]
[theme Systems Software][author Welles]
[theme Software][author Wimble]
[theme Software][author Guzzon]
[theme Construction][author McNatt]
[theme Robotics][author Hollis]
[theme Hardware][author Carr]
[theme Software][author Quek]
Some uses of a microprocessor involve the connection to the outside world through an analog interface. When fooling around with such projects from music generation to robotic control, however, it quickly becomes necessary to have a large number of inexpensive real world interfaces. To help point you in the right directions Douglas R Kraul supplied an article on Designing Multichannel Analog Interfaces.
In the past, readers have seen some interest expressed in the concepts of robotics, the use of small computers as the brains of mobile automated mechanisms. Robots have long been fancied in science fiction literature and cinema, but only rarely have people taken any practical steps towards a "real" robot as opposed to paper romanticisms or stage dummies. One of those rare cases is that provided by Ralph Hollis and his associate Dennis Toms, both of whom are physicists at the University of Colorado, Duane Physical Laboratory, Boulder CO. Ralph has been pursuing the design of practical robots as an avocation since 1957, and lately has progressed to the point of a working mobile computer system called Newt, whose picture provides the theme of this month's cover. Turn to Ralph's article, Newt: A Mobile, Cognitive Robot for essential background information on contemporary robot design philosophies.
Hard copy is a most useful output, but it tends to be somewhat expensive. Dan Fylstra shows one very attractive option in his article on Interfacing the IBM Selectric Keyboard Printer. Dan purchased a used print mechanism late in 1976, and since then has successfully interfaced the device to his KIM-1 system. Readers interested in using these printers (which are available in significant numbers on surplus markets) will find Dan's article an essential guide to the art.
How can hardware be used to accomplish the details of Interfacing With an Analog World? Turn to author Joseph Carr's second part of a two part series to find out some of the details of basic conversion circuits which use the outputs of sensors and preamplifiers discussed in last month's article.
Much of the software that is available on the market today is available on paper tape so as to be easily read into your microprocessor. The problem is that most common paper tape readers are so slow that it seems to take forever to read a large program into memory. In the article Come Fly With KIM, Rick Simpson introduces us to a solution to this speed problem: the Fly Reader, which he uses with MOS Technology's KIM-1.
Now that you've got the hardware built, how do you run it? Ken Welles answers this question in Software for the Economy Floppy Disk. His previous article (February 1977 BYTE, page 34) described how to construct an inexpensive floppy disk with minimal hardware. This month he provides a series of subroutines to run it, which could easily be expanded into a complete floppy disk operating system.
Last month in the first part of his article Artificial Intelligence, An Evolutionary Idea, Michael Wimble introduced us to the use of a simulated evolution technique by which it was possible for a program to alter itself and reshape its responses as a direct result of an outside stimulus. This month in Part 2: Implementation, Mr Wimble details how the computer experimenter can implement this type of program on any small computer system.
To many people the concept of assembly language is that of the fundamental language of the computer next to machine language. However, each particular assembly language command must be broken down into a series of simpler command sequences. These commands are known as microinstructions. In his article, An Introduction to Microprogramming, S M Quek describes how the concept of microinstructions is a great benefit to the user of a computer, allowing the easy change of basic instructions.
In previous issues Michael McNatt has shown us the availability of Baudot teleprinters and the ways in which they can be interfaced with your microprocessor. In his concluding article, A Guide to Baudot Machines: Part 3, A Teleprinter Test Circuit, he describes a test circuit that can be used for generating Baudot characters for alignment and adjustment purposes.
[author Errico and Baker]
[author Wier and Brown]
[theme Applications][author Brown]
[theme Arithmetic Hardware][author Hall]
[theme Hardware][author Barbier]
[theme Peripherals][author Boddie]
[theme Software][author Zolman]
[theme Applications][author Pittet]
[theme Hardware][author McGahee]
[theme Hardware][author Grater]
[theme Reference Materials][author Borrmann]
[theme Applications][author Hart-Badger]
[theme Error Theory][author Maurer]
[theme System Design][author Grappel]
[theme Software][author Simmons]
[theme Software][author Baker]
Model railroading can give the computer hobbyist an action packed computer application. Before tackling the job, however, it is important to have a firm understanding of what's involved in the design of a model railroad. In his article, How to Computerize Your Model Railroad, David C Brown explains in detail the problems faced by the model railroader and points to ways in which they can be solved. He then goes on to cover the requirements for microprocessor interfaces to the model railroad and some thoughts on the software of an operating system to give realism to the model.
Sometimes a small amount of hardware can speed up software considerably. A perfect example is provided by Tom Hall in his article which shows how This Circuit Multiplies. This circuit is a hardware multiplier which takes 8 bit operands and replies (ten clock periods later) with a 16 bit product. Here is an example of putting an inner loop into hardware, thereby speeding up an operation.
The model railroad is an ideal way for the personal computing enthusiast to enter the fascinating world of real time control: such a system is realistic but manageable. Authors Jack Hart and Ed Badger show you how they did it in A Train Control Display Using the LSI-11 Microcomputer.
Sometimes a bit of serendipity falls out of an application or project. Ken Barbier describes one such case in the form of his technique of using a television display circuit's ability to generate a raster with various synchronous patterns to debug and verify its operation. Read The TV Oscilloscope.
There are many ways to make a computer talk, but how do you get it to listen? Speech Recognition for a Personal Computer System discusses a topic which has fascinated and frustrated experimenters for years. Author James Boddie of Bell Labs (the pioneer researchers in the field) covers the history of the subject and presents a practical system which can be realized by a personal computing experimenter.
Real world systems may not be perfect, yet programming demands perfection. (If we drop a bit in one machine instruction, it becomes another instruction altogether.) As a background discussion of a large subject, W Douglas Maurer presents some information on How to Pick up a Dropped Bit using some of the techniques of error detection and correction.
What's a sure cure for memory megalomania? Why, Give Your Micro a Megabyte as outlined in Robert Grappel's short tutorial on some large memory design techniques which will prove adaptable to microcomputer systems. There should be virtually no reason to complain if his ideas were put into practice more universally.
An Introduction to Numbers, by Webb Simmons, serves as an introduction to the concepts of fixed, scaled and floating point numbers. Here you'll find some basic forms for each type, how the forms differ from each other, and how each can be used.
If you've ever been frustrated by the drudgery involved in relocating machine language programs with nothing but toggle switches, then Leor Zolman's A Machine Code Relocator for the 8080 is for you ! Just enter six key pieces of information and the program does the rest automatically, even fixing up all your address references.
For beginners first learning about computers, we often get requests for some basic information. In BASICally BASIC, Robert Baker gives an in formal introduction to the nature of the BASIC language and its uses in programming. Finding out what a typical BASIC can do is a good starting point in your personal evaluation of products available in the personal computing marketplace.
Given latitude and longitude of two points on the earth, how do you calculate the distance and bearing? If you use a little BASIC program by Rene Pittet, you can answer the question of How Far - Which Way? using a small processor.
If you have a Southwest Technical Products' TVT II, there is a simple circuit that you can add that will give you manual and computer control over the cursor's movement, erase and bell functions. In his article, Add Cursor Control to Your TVT II , Brother Thomas McGahee describes this simple circuit which can be attached to a TVT II.
Poor KIM . If one puts KIM-1 inside a fancy case, the built-in jewels of keyboard and displays get hidden . But Robert Grater comes to the rescue by Giving KIM Some Fancy Jewels, which consist of a remote set of displays connected to the processor by cable.
[theme Display Hardware][author Sweer-Dwyer-Critchfield]
[theme Programming Techniques][author Iverson]
[theme Software][author Keefe]
[theme Interpreter Design][author Wimble]
[theme Software][author Galway-Anderson]
[theme Software][author Schulein]
[theme Education][author Fohl]
[theme Product Description-][author Weisbecker]
[theme Software][author McGath]
[theme Software][author Atwood]
[theme Hardware][author Burns]
[theme Hardware][author Tenny]
[theme Algorithms][author Maurer]
[theme Algorithms][author Rheinstein]
One of the most exciting aspects of experimentation with computers is using the computer to make objects move. Distilling this excitement to its simplest form, Leon Sweer, Thomas Dwyer and Margot Critchfield at the University of Pittsburgh's Project Solo have designed a "one-dimensional plotter" which is used as the output display for the familiar Lunar Lander simulation game. Read Controlling Small DC Motors with Analog Signals.
The small computer field is expanding fast. Growing with it is a need for more microprocessor oriented courses in our universities. In his article, A Microprocessor Course, Mark E Fohl explains how he helped initiate a microprocessor course at Franklin University in Columbus OH and details some of the difficulties instructors might expect to run into.
Read Joe Weisbecker's COSMAC VIP, the RCA Fun Machine, a personal description of his new COSMAC VIP kit. This article conlains some background information on one man's design philosophy and its result in a new product from RCA.
The lead article of our special section on APL (A Programming Language) was written, appropriately, by the man who developed it at IBM during the early 1960s: Dr Kenneth E Iverson. In Understanding APL Dr Iverson analyzes some basic APL operators through a series of questions designed to test your powers of induction. The article concludes with some challenging APL "thought experiments" for your decoding pleasure.
An excellent way to become more familiar with APL is to read David D Keefe's Here's APL in Action! David has written an APL version of the popular Lunar Lander game along with a detailed description of the entire program to help the reader decipher those high information density APL statements.
Have you ever wanted to own a truly powerful computer? APL may be an answer to this quest for an ultimate language when it is added to an otherwise mundane computer. Mike Wimble's An APL Interpreter for Microcomputers can help you implement APL if you have a flair for do it yourself software. With a little effort you can use any of the popular processors to produce your own APL interpreter from Mike's design.
Have you always wanted to have an elegant looking computer art program for graphic display, but didn't want to spend the time required to program it? Try Serendipitous Circles! Authors Galway and Anderson have discovered a simple algorithm to create beautiful and unusual moving pattems in no time at all.
The ability to handle and manipulate text is a very useful function. It allows programs to be changed very quickly without having to manipulate large amounts of data (and it is certainly better than an IBM correcting Selectric typewriter for writing and manipulating text). In his article, Editorializing with Your Computer, Gary McGath describes some of the properties of simple text editing programs.
What makes APL such a heavily discussed topic among small system enthusiasts? How does it differ from BASIC, and why should you use it at all? Allen Atwood discusses all of these topics and more in Why People Get Hooked on APL. Find out what you've been missing by programming in BASIC.
Often it is necessary to determine the data that is present on a particular port or set of lines of a computer for purposes such as debugging. The usual indicator bit pattern consisting of individual lamps can be very confusing and lead to errors if read quickly. R R Burns offers a solution to this problem. In his article, An 8 Digit Hexadecimal Readout, he describes a test rig that can monitor 32 lines in groups of four bits.
In this issue, Ralph Tenny describes some of the tricks (some call them kluges) which can be done with pulse waveform edges, Schmitt triggers, resistors and capacitors. Turn to Look What You Can Do ... with an Edge as a Cue to understand some of the design practices you may occasionally find in a processor.
In two earlier articles in BYTE W Douglas Maurer described an algorithm for processing algebraic expressions when implementing compilers or interpreters. In his latest contribution to BYTE's ongoing flow of tutorials on computer science problems and techniques, Dr Maurer presents an ingenious extension of the BauerSamelson algorithm which will enable the do-it-yourself compiler writer to create efficient object code for expressions involving logical operators and comparisons of operands.
Many people use their computers as number crunchers and want quick, accurate algorithms for determining some fairly involved mathematical functions. Typical examples are trigonometric functions, hyperbolic functions and exponentiation. In his article, Simple Algorithms for Calculating Elementary Functions, John Rheinstein details several algorithms to calculate these functions quickly.
How do you get rid of bugs? Set out a few traps using techniques outlined in John M Schulein's article on A Trapping Technique for the 8080.
[theme Software, Music][author Taylor]
[theme Peripheral Interfaces][author Ciarcia]
[theme Computer Music][author Chamberlin]
[theme Applications][author Sierad]
[theme Interpreter Design][author Wimble]
[theme Design][author Atkins]
[theme Software Design][author Emmerichs]
[theme Hardware][author Rampil]
[theme System Description][author Hauck-Nash]
[theme Music Peripherals][author Helmers]
[theme Software History][author Morgan]
[theme Interface Technology][author Jacoby]
Adding New Transcendentals to Limited BASICs
On Finite State Machines and Their Uses
Comments on Floating Point Representation
The conceptual target of the cover painting for September was a theme of music and sound. Taking this theme, Robert Tinney implemented this cover, entitled "Breaking the Sound Barrier." It was inspired by the legend of opera star Enrico Caruso breaking a wine glass through sympathetic resonances with his voice. The sound barrier we're referring to, of course, is the physical barrier between a program and the real world, which is crossed by one of a number of musical and audio output devices and software presently on the market or about to come to the marketplace.
Experimenting with music on your computer can be very rewarding. If you're looking for a streamlined way to input musical material into your system, look no further. Hal Taylor shows you how in SCORTOS: Implementation of a Music Language. Who knows, with SCORTOS you could have your synthesized concerto for alpenhorn and orchestra up, running and debugged by next week.
A naked microcomputer board is unprotected from a harsh environment. In his article this month, R Travis Atkins turns couturier as he fashions external garb in the form of A New Dress for KIM.
Steve Ciarcia returns this month with a combination of tutorial ideas and practical details so characteristic of his style. Read Steve's Control the World! (Or at Least a Few Analog Points) to review digital to analog conversion, and learn how BASIC can be used to compute and represent wave forms through a converter using a scope as a display.
A Tiny Assembler need not have tiny features, as Jack Emmerichs explains in his article on Expanding the Tiny Assembler. Jack adds structured programming features and incremental improvements to the Tiny Assembler design he described in April and May issues of BYTE this year. By reorganizing the symbol table to add the "begin" pseudo operation, "Tiny" takes on a number of "big" features while preserving practical operation as Version 3.1 in under 4 K bytes of memory.
Looking for a very simple way to build a wire wrap board? Ira Rampil has an idea in A One-Sided View of Wire Wrap Sockets.
Are you interested in making music with your computer? Hal Chamberlin's A Sampling of Techniques for Computer Performance of Music is one of the best ways to get acquainted with this fascinating field. The article will give you complete directions for creating 4 part harmony on your microprocessor for a very modest investment. Get out those 4 voice fugues that have been languishing in your music drawer and bring them to life!
Did you ever want your computer to sing you a lullaby? Well, as Ted Sierad points out, it's not too hard to do so if you Tune In With Some Chips, using the circuit and software he describes.
The roster of "complete" computer systems for the amateur computing person expanded considerably with the introduction of the Noval 760. Turn to an account by designers Lane T Hauck and James D Nash, System Description: the Noval 760, for details of the philosophy and overall design behind this product.
A double feature written by Carl Helmers and Chris Morgan of BYTE covers key details of an interesting musically oriented peripheral which can be added to the personal computer: acoustic pianos with pneumatic player actions . Notes on Anatomy: The Piano's Reproductive System gives global morphology of a Duo-Art upright reproducing piano. Notes on Interfacing Pneumatic Player Pianos covers some details of how to engineer a computer interface for the pneumatic control lines using valve elements manufactured for the pipe organ industry .
With this issue, readers will note the continued progression of information on APL, and several articles introducing the theme of music representation and performance with computers. Readers can look forward to further information on these themes in future issues.
APL is one of the most interesting high level languages around these days. If you want to continue learning what goes on in an APL interpreter, read part 2 of Mike Wimble's An APL Interpreter for Microcomputers. Here Mike covers the expression evaluation sections of the interpreter.
Many people are familiar with use of orthogonal basis functions such as sines and cosines to compute arbitrary waveforms. But how many readers have heard of Walsh Functions: A Digital Fourier Series which forms arbitrary repetitive waveforms as weighted sums of digital waveforms? Read Benjamin F Jacoby's tutorial to find out a bit about these functions and their generation.
[theme Programming Techniques][author 8orrmann]
[theme Interpreter Design][author Wimble]
[theme Software][author Kruglinski]
[theme Applications][author Bauerschnub]
[theme Software][author Jenkins]
[theme Software][author Duda]
[theme Software][author Chung]
[theme Applications][author Smith]
[theme Languages][author Madden]
[theme Hardware][author Schneider]
[theme Software Design][author Higgins]
[theme Applications][author Holladay]
[theme Games][author Milligan]
One whole subset of the personal computing world is provided by the users and manufacturers of programmable calculators. All the problems of creating applications software which users must solve on bigger machines are present, and often intensified by lack of scale, in these smallest of personal computers. William B Jenkins gives some useful information on the general process of creating an application program, and the specific problems of doing it on an SR-52 programmable calculator, in his article entitled How to Write an Application Program.
One of the conveniences of the 6800, 6502 and similar microprocessors is a relative branch method which allows one to construct position independent code which can be relocated by simply moving the programs involved. But these forms are typically limited to a 1 byte displacement, a limitation which Robert Borrmann shows how to overcome in the 6800 case by using appropriate stack manipulations and "long branch" subroutines. Read his article Relocatability and the Long Branch in this issue.
Looking for a different type of board game to play on your computer? How about the current game fad Othello (known as Reversi in England)? In Othello, a New Ancient Game Richard O Duda provides a short article with details for this game of skill and tactics.
This month, Mike Wimble concludes his 3 part series about an APL interpreter with An APL Interpreter for Microcomputers, Part 3: Mathematical Processing. With this segment, the functional design of interpreter is completed. Watch future issues for results of the Great APL Interpreter Contest inspired by Mike's article.
At first glance a simulator designed to run on the computer it is simulating may not seem very useful. Kin-man Chung feels differently for he wrote one. His article, An 8080 Simulator, describes one such program and gives ideas on how it can be put to good use.
For those who tire of the many versions of the Star Trek game, there are many much more interesting and interactive graphics games to consider. In his article, How to Implement Space War, Dave Kruglinski provides readers with a version of the classic graphics game, Space War, which was originated in the early 1960s by students at MIT, and has taken an amazingly long time to be documented in versions for personal computers. Dave's 8080 version is complete with orbiting space ships, spiraling torpedoes and dynamic effects implemented with limited resolution point plotting graphic display.
Is your computer cold ? Add some vitamin C for a new high in resistance to frustration and rude language. Turn to J Gregory Madden's C: A Language for Microprocessors?, a description of an excellent structured programming language which could be adapted to microprocessor use from its origins on large PDP-11s with the Unix operating system.
Do you use cassettes as your principal mass storage medium? Then you will benefit from Wayne D Smith's discussion of Fundamentals of Sequential File Processing when it comes time to write software using such media.
Want to get involved in pitch generation for computer music synthesis? Thomas Schneider explains several approaches you might consider in his article, Simple Approaches to Computer Music Synthesis.
Using flowcharts to gather the logic for a program does not mesh with the current trend of structured programming. One technique that is directed towards the structured program approach is the use of Warnier-Orr diagrams. Use of these diagrams, as described by David Higgins in his article Structured Program Design , will result in accurate, well structured programs that will work correctly the first time they are executed.
The home computer has many uses besides number crunching and game playing. One of these uses, discussed by David Holladay in Computer Information Arrangement, is an information retrieval system. This type of system could be used to make your own dictionary type reference, help keep track of your files with cross reference, or simply make a personal version of the Schwann Catalog for your record collection.
Sensible automobile owners have long had the habit of recording mileage and gasoline filling figures at each visit to the service station. In this issue John P Bauernschub explains how to Analyze Your Car's Gas Economy with Your Computer in a short article presenting a complete BASIC program for this application.
Are you looking for a stimulating thought game to play with your computer? The game of Mastermind as described by W Lloyd Milligan in his article of that name will force you to think in a very logical manner if you want to have a chance at winning.
[theme Hardware][author Ciarcia]
[theme Real Time Techniques][author M F Smith]
[theme Peripherals][author Grappel]
[theme Real Time Systems][author Sneed]
[theme Software][author Hashizume]
[theme Hardware][author Jones]
[theme Hardware][author Brader]
[theme Hardware][author Lynne]
[theme Software][author Wozniak]
[theme Real Time Systems][author Trollope]
[theme Modelling][author S P Smith]
[theme Computer Fairs][author Piele]
[theme Hardware][author McCain]
[theme Software][author Doliner]
Cover by Bruce Holloway
In this issue, author Steve Ciarcia begins what we expect to become a regular feature in BYTE: Ciarcia's Circuit Cellar. Steve, a senior engineering consultant to the aerospace industry by profession, is a rare combination of writer and tinkerer. The conceptual model he brings to his interactive column format is that of the late C L Stong's stewardship of "The Amateur Scientist" in Scientific American, but with an emphasis on hardware and software combinations to accomplish interesting applications of personal computing systems. Steve welcomes feedback from readers ...CH
Games and models which employ moving objects require some attention to details of motion as simulated by a computer program. Beginning a series of articles on the subject of moving objects, Stephen P Smith's Simulation of Motion : An Improved Lunar Lander Algorithm shows how a real time game can incorporate models of motion in more than one dimension.
Donald T Piele shows that a computer fair doesn't have to be big to be good . A Minicomputer Fair: Tiny and Personal describes the University of Wisconsin's efforts to produce their own micro extravaganza, which drew over 700 attendees. Readers may get some ideas about putting on shows of their own based on Professor Piele's experiences.
What might not be appreciated by the neophyte is the fact that an interrupt driven clock suggests other uses besides keeping time. In M F Smith's article on Using Interrupts for Real Time Clocks you 'll find a simple timekeeping algorithm, and a sketch of how it can be extended to share processor time between two different processes.
Do you occasionally find incorrect data in your computer when you know you entered the correct information and processed it with a reliable program? Does your computer do strange things every time the washing machine or furnace turns on? Perhaps your problem is voltage transients. John McCain writes about Spikes: Pesky Voltage Transients and How to Minimize Their Effects.
If you want to post a calendar of events in your computer's memory with a resolution of 1 second, a mere three integrated circuits added to an existing LSI digital clock can turn it into a source of time information for your computer. Use Robert Grappel 's article in this issue to find an answer to the metaphorical question: "Does Anybody Know What Time It Is ?"
Any regular source of interrupts can be used as the key element in a simple real time clock for the typical personal computer. James R Sneed shows how to create such an interrupt source, then program a 6502 to generate internal variables for hours, minutes, seconds and 1/15th seconds of the day in his article on Adding an Interrupt Driven Real Time Clock.
If you do a lot of mathematical calculations on your microcomputer, you'll enjoy reading Floating Point 'Arithmetic by Burt Hashizume. Find out how to add an economical floating point package to your system and improve your number crunching facilities.
An excellent way to learn about computers is to build one yourself. Hilary D Jones shows that this is not such a terrifying task. Read Building a Computer From Scratch and find out how to construct a working (albeit limited) computer for under $70 (plus the price of a power supply).
Occasionally readers ask for detail plans of computer systems. David Brader, a BYTE reader from Electric City WA, has implemented an excellent piece of homebrew craftsmanship in his Kompuutar system based on the MOS Technology 6502 processor. In this issue, we provide David's complete design for the central processor, control panel interface, and serial terminal interface of a general purpose computer.
Frequency counters are useful tools for a variety of applications. Perry Lynne shows you how to add one to your microcomputer in Implementing an LSI Frequency Counter. His design takes advantage of the Intel 8253 programmable interval timer (as well as the power of the microprocessor) to produce a design that is both accurate and economical.
How do you make an 8 bit machine emulate a more comprehensive design? In his article, SWEET16: The 6502 Dream Machine, Stephen Wozniak details the design and functions of a low level interpreter for 16 bit operations which extend the functions of the more limited 8 bit 6502 processor.
Continuing the theme of real time and how to keep track of it, G A R Trollope provides an example of the interrupt driven approach, implemented through the IRQ interrupt line of a 6800 processor with a PIA port. Do You Need Real Time? If so, turn to th is article.
The game of NIM is well-known in the annals of computer lore, but many people have had no contact with it. Irwin Doliner presents us with a version of the game and supplies us with the design theory behind it in his article, NIMBLE: The Ultimate NIM?
[theme Music Systems][author Struve]
[theme Test Equipment][author Ciarcia]
[theme Hardware][author Wenzlaff]
[theme Interfacing][author McGahee]
[theme Speculation][author Schmucker-Tarr]
[theme Floppy Disks][author Rampil]
[theme Software Techniques][author Grappel-Hemenway]
[theme Software][author Higgins]
[theme Modelling][author Smith]
[theme Tutorial][author Wier]
[theme Software][author Lahasky]
[theme Hardware][author Libes]
[theme Software][author McGath]
[theme Software][author Gaskell]
[theme Applications][author Lahore]
This month's cover is based on Kurt J Schmucker and Robert M Tarr's article, The Computers Of Star Trek (page 12). It is an appropriate topic for computer people, many of whom are science fiction aficionados, Trekkies, and users of the Force. The theme, interpreted by artist Robert Tinney, is: What would happen if the crew of the Enterprise visited a holographic museum of ancient technology that had an exhibit devoted to personal computing, circa 1977? Robert used Willard Nico and his 8080 based computer system with dual floppy disk, video terminal and DECwriter as models for the diorama. The cassette recorder, made obsolete by the disk drives, is shown unused.
The floppy disk can give your computer the extra storage power needed for many applications such as advanced music and voice synthesis, artificial intelligence and robotics. Find out more about the ubiquitous floppy in Ira Rampil's A Floppy Disk Tutorial.
Microprocessor operation code structure is sometimes incompletely documented, as is demonstrated in two articles: Gerry Wheeler's commentary on Undocumented M6800 Instructions and H T Gordon's commentary on The XF and X7 Instructions of the MOS Technology 6502. The effects of the undocumented op codes are interesting, even if you don't want to use them as part of normal coding practices.
In a neat combination of tutorial and practical information, Bill Struve's article A $19 Music Interface (and Some Music Theory for Computer Nuts) provides a way to generate square wave musical tones for four channels as a result of an investigation of the theory of harmony.
Transform your computer into a powerful 8 channel 3½ digit voltmeter. Steve Ciarcia shows you how in the latest installment of Ciarcia's Circuit Cellar. Let a BASIC program do all your calculations and get results that compare favorably with expensive digital voltmeters. Read On a Test Equipment Diet? Try an 8 Channel DVM Cocktail!
Once upon a time, Jack and the Machine Talked; now Jack and his friendly 6800 have moved onto better things like debugging the programs issued by the assembler described in an earlier article. Turn to Jack and the Machine Debug by Grappel and Hemenway for a humorous (but tutorial) account of the development of a program called Tracer 6800 which uses software breakpoint techniques to provide an instruction by instruction machine code execution trace on a terminal or hard copy device.
To write well conceived programs easily, you have to design them in a disciplined and structured fashion. David A Higgins begins describing one useful method in the article on Structured Programming with Warnier-Orr Diagrams, Part 1: Design Methodology.
As a second installment in a series of articles, Stephen P Smith turns to the problems of motion in which effects of the motion's current state feed back into the model. Turn to Simulation of Motion: An Automobile Suspension for a more detailed model which features damping (shock absorbers) and bounce (springs) in response to external conditions (bumps in a road).
The use of interrupts allows you to keep track of several devices at the same time. If you are not familiar with the use of interrupts read Robert Wier's article, A Little Bit on Interrupts.
Constructing and interfacing a PolyMorphics Video Interface is described by Wayne Wenzlaff. Wayne describes his experiences with his video interface and how he modified a television set for use as a monitor in Using the PolyMorphics Video Interface.
Multiprogramming allows your computer to seemingly perform several tasks at the same time. It can save processor time by always having a program executing while another program waits for some type of input. Prof Irwin Lahasky's article, Multiprogramming Simplified, explains the basics of multiprogramming.
Many experimenters, including the editors of this magazine, have discovered the real advantages of purchasing used but eminently usable gear. Sol Libes gives valuable pointers to frugal hackers in Where to Get Bargains in Used Computer Equipment.
As personal computer users acquire more and more memory for their processors, thoughts can be turned to more powerful languages for the expression of programs. Gary McGath feels that small computer users should have nonnumeric, symbolic data manipulation abilities in their langusages. In A Look at LISP, Gary describes one of the candidates for such symbolic manipulations in the small computer.
Relative addressing allows jumps within a program to be made independent of the location of the program in memory address space. But what about such position independent code in processors like the 8080 which have no relative branch addressing? Read James P Gaskell's Relative Addressing for the 8080 and learn how to simulate this feature for the 8080.
Handshaking is the process of coordinating two asynchronous processes, such as serial communication operations and a program. In a short article, Thomas McGahee shows how to Save Software: Use a UART for Serial IO.
What do you do if you're an oceanographer and want a microprocessor to help collect data at the bottom of the sea for eight weeks? One solution is to use a watertight titanium sphere and a battery powered processor. Henry Lahore shows how he did it in A User's Report on Intercept Jr.