If you have a problem that can be solved by a computer— we have a systems solution. * Two central processors with maximum RAM capacities of 56K and 384 K bytes * Three types of disk drives with capacities of 175K, 1 .2M and 16M bytes Two dot matrix printers with 80 and 132 line capacity * A Selectric typewriter interface and a daisy wheel printer Match these to your exact need, add one or more of our intelligent terminals and put together a system from one source with guaranteed compatibility in both software and hardware. Southwest Technical Products systems give you unmatched power, speed and versatility. They are packaged in custom designed woodgrain finished cabinets. Factory service and support on the entire system and local service is available in many cities. SOUTHWEST TECHNICAL PRODUCTS CORPORATION 219 W. RHAPSODY SAN ANTONIO, TEXAS 78216 (512) 344-0241 Circle 350 on inquiry card. You can do surprising things when you have 64 kilobytes of fast RAM on one card 4 MHz FAST — AND EXPANDABLE Here's 64 kilobytes of memory on one RAM card. Yes, we mean 51 2K bits of read/write memory on this single card. And, yes, we mean it's fast. With 150-nanosecond chip access times — so the card can operate in fast Z-80 systems with no wait states. Repeat, no wait states. EXPANDABLE ON TWO LEVELS Not only does the new Model 64KZ give you a large, fast RAM but it is expandable on two levels. First, through our Cromemco Bank Select feature, you can expand to 512 kilobytes in eight 64K banks. Or, with our Extended Bank Select feature, you can expand memory space to as much as 16 megabytes. This expandability we call your obsolescence insurance. The legend on the card's heat sink is an easy reference for address and bank selection. □ BENCHMARK IT Obviously, the speed and memory capacity of this new card give you a lot of power. You can see that for yourself in our new 7-station Multi-User Com- puter System which uses these Model 64KZ cards. This S100-bus system outperforms the speed of many if not most timesharing systems of up to 10 times the Cromemco price. And yet where some of these much more expensive and cumbersome systems clearly slow to a snail's pace when timesharing, the Cromemco system using Bank Select switching runs surprisingly fast. SEE IT NOW See the new Model 64KZ at your computer dealer now. Study the lit- erature on it. See how for only $1785 you can get around that ever-present barrier of memory that's too little and too slow. Cromemco incorporated 280 BERNARDO AVE., MOUNTAIN VIEW, CA 94040 • (415) 964-7400 Tomorrow's computers now For high reliability all Cromemco memory cards are burned in at the factory in these temperature-controlled ovens. Cromemco Multi-User System shown with 7 stations Circle 80 on inquiry card. BYTE July 1979 Here's how you can be fully computerized for so much less than you thought BUSINESS — EDUCATION — ENGINEERING — MANUFACTURING We are pleased to announce the first professional time-sharing system in the microcomputer field. Naturally, it's from Cromemco. This new multi-user system will do all of the tasks you usually associate with much more expensive time-sharing com- puters. Yet it's priced at an almost un- believably low figure. Look at these features: • You can have up to 7 terminals plus a fast, 132-column line printer • You can have a large system RAM memory that's expandable to Vi megabyte using the Bank Select feature • Each user has an independent bank of RAM • You can have floppy disk storage of up to 1 megabyte • You have confidentiality between most stations • And, make no mistake, the system is fast and powerful. You'll want to try its fast execution time yourself. PROGRAMMERS LOVE OUR BASIC This new system is based on Cro- memco's well-known System Three Computer and our new Multi-User BASIC software package. Programmers tell us that Cromemco Multi-User BASIC is the best in the field. Here are some of its attractions: • You can use long variable names and labels up to 31 characters long — names like "material on order" or "calculate speed reduction." • You get many unusual and helpful commands that simplify programs and execution — commands such as PROTECT, LIST VARIABLES, NOLIST, and many more. • No round-off error in financial work (because our BASIC uses binary- coded decimal rather than binary operation). And we've still been able to make it FAST. • Terminals and printer are interrupt- driven — no additional overhead until key is pressed. • The conveniences in this Multi-User BASIC make it much easier to write your own application software. • A line editor simplifies changes. BENCHMARK IT — NOW In the final analysis, the thing to do is see this beautiful new system at your dealer. See its rugged professional qual- ity. Evaluate it. Benchmark it for speed with your own routine (you'll be agree- ably surprised, we guarantee you). Find out, too, about Cromemco's rep- utation for quality and engineering. Look into it now because you can have the capabilities of a fully compu- terized operation much quicker and for much less than you ever thought. Cromemco Microcomputer Systems 280 BERNARDO AVE., MOUNTAIN VIEW, CA 94040 • (415)964-7400 BYTE July 1979 Circle 80 on inquiry card. m In The Queue Bill July 1979 Volume 4, Number 7 Foreground 18 GRAPHIC INPUT OF WEATHER DATA, by Stephen P Smith Graphical data acquisition techniques 34 SOUND OFF, by Steve Ciarcia Interfacing a computer to external sound generation devices 54 A MODEL OF THE BRAIN FOR ROBOT CONTROL, Part 2: A Neurological Model, by James Albus A hierarchical network that can execute tasks and seek goals 120 SONIC ANEMOMETRY FOR THE HOBBYIST by Neil Dvorak Measuring wind speed and direction by electronic means 134 THE NATURE OF ROBOTS, Part 2: Simulated Control System, by William T Powers Understanding closed loop control systems 1 76 QUEST, by Roger Chaffee Will you find the treasure or will the giant find you first? 198 MOUSE, A Language for Microcomputers, by Peter Grogono Simple language to demonstrate implementation processes 226 SUBROUTINE PARAMETERS, by W D Maurer More ways than you ever dreamed possible to give your subroutines the data they need Background 105 THE MATHEMATICS OF COMPUTER ART, by Kurt Schmucker Plotting figures that express mathematical relationships 158 CREATIVITY IN COMPUTER MUSIC, by Hubert S Howe Jr Effect of computer use on music composition and theory 194 PHOTO ESSAY: Physical Hardware of a New Computer Backplane, by Carl T Helmers Jr The beginnings of a homebrew 6809 personal computer Nucleus 6 Letters 174 Nybbles: Tiny Pascal in Assembly Language 8 Editorial, "Computers and Eclipses" 193 World Power Systems: A Report 36,192 Programming Quickies 187 Book Reviews 96 Event Queue 222 Technical Forum 98,156 BYTE's Bugs 231 Languages Forum 99 BYTE News 233 What's New? 154 Clubs and Newsletters 270 Unclassified Ads 155 BYTE's Bits 272 BOMB, Reader Service page 34 y T page 54 page 105 Cover Art: AUTOMATING ECLIPSES, by Robert Tinney. BYTE is published monthly by BYTE Publications Inc, 70 Main St, Peterborough NH 03458. A wholly-owned subsidiary of McGraw-Hill, Inc. Address all mail except subscriptions to above address: phone (603) 924-7217. Address subscriptions, change of address, USPS Form 3579, and fulfillment questions to BYTE Subscriptions, PO Box 590, Martinsville NJ 08836. Second class postage paid at Peterborough NH 03458 and at additional mailing offices — USPS Publication No. 102410 (ISSN 0360-5280). Subscriptions are $1B for one year, $32 for two years, and $46 for three years in the USA and its possessions. In Canada and Mexico, $20 for one year, $36 for two years, $52 for three years. $32 for one year air delivery to Europe. $32 surface delivery elsewhere. Air delivery to selected areas at additional rates upon request. Single copy price is $2 in the USA and its possessions, $2.40 in Canada and Mexico, $3.50 in Europe, and $4 elsewhere. Foreign subscriptions and sales should be remitted In United States funds drawn on a US bank. Printed in United States of America. Address all editorial correspondence to the editor at the above address. Unacceptable manuscripts will be returned if accompanied by sufficient first class postage. Not respon- sible for lost manuscripts or photos. Opinions expressed by the authors are not necessarily those of BYTE. Entire contents copyright © 1979 by BYTE Publications Inc. All rights reserved. BYTE" is available in microform from University Microfilms International, 300 N Zeeb Rd, Dept PR. Ann Arbor Ml 4B106 USA or 18 Bedford Row, Dept PR, London WC1R 4EJ ENGLAND. Subscription WATS Line: (800) 258-5485 Office hours: Mon-Thur 8:30 AM — 4:30 PM Friday 8:30 AM — Noon July 1979 © BYTE Publications Inc 3 Robert Tinney's cover painting, "Automating Eclipses", symbolizes this month's theme of computers and weather. See this month's theme articles by Stephen P Smith and Neil Dvorak, and the editorial by Carl Helmers. In This BYTE When entering large amounts of graph associated data into a com- puter, a graphic tablet that allows you to digitize the data is a great help. Stephen P Smith uses such a device, the Summagraphics Bit Pad digitizer, to perform the Graphic Input of Weather Data. page 18 This month "Ciarcia's Circuit Cellar" explores the use and inter- facing of Texas Instruments and General Instrument sound genera- tors. Find out how you can let your computer Sound Off. page34 In part 1 of A Model of the Brain for Robot Control, James Albus defined the notation we used for his brain model. This month he describes a neurological model that can store and recall a broad class of mathematical functions. page 54 Much computer art employs the calculating ability of the machine to make drawings expressing mathematical relationships. Kurt Schmucker defines two classes of such drawings and describes methods for producing them in The Mathematics of Computer Art. page 705 To forecast weather, you need to know wind speed and direction. By using modern technology, we can do without whirling mechani- cal assemblies. Neil Dvorak shows us how to use electronic compo- nents and computer programs to measure the wind in Sonic Anemometry for the Hobbyist. page 720 In part 2 of The Nature of Robots, William T Powers presents a BASIC simulation of a control system. By experimenting with this simulator, the reader is able to work with the concepts of a closed loop control system. page 134 Creativity in Computer Music by Hubert S Howe Jr is a survey of some recent work in music theory, analysis, sound generation, and composition done with computers. Microcomputers can now be used for much of the work formerly done by large scale computers a decade ago. page 158 After you have successfully hunted the Wumpus, and des- troyed all the Klingons, what is your next step? Roger Chaffee sug- gests you try your hand in some caves, searching for hidden trea- sure. Enter the world of suspense and danger on your Quest for riches. page 776 Building a computer from scratch as an amateur is the historical root of the personal com- puter field. In this issue, Carl Helmers begins an informal series of articles on a new homebrew pro- ject: a general purpose 6809 sys- tem. The computer itself has an in- tended application to music, but the design and construction of this homebrew project are quite general. See Photo Essay: Physical Hardware of a New Computer Backplane. page 194 Mouse is a programming lan- guage that contains many features usually associated with high level programming languages and can be implemented with minimal re- sources. It is of interest to people who enjoy obtaining dramatic results with little effort and to those who have a system which is too small to support a conven- tional high level language. Peter Grogono describes the implemen- tation of Mouse by means of a Pascal program which can be used to write an assembly language ver- sion. Indications of how this might be done are provided in Mouse: A Language for Microcomputers. page 198 When working with subroutines, the concept of passing parameters can be confusing. W D Maurer describes three methods of passing parameters (call by value and result, call by reference, and call by name) in his article Subroutine Parameters. page 226 Publishers Virginia Londoner Gordon R Williamson Associate Publisher John E Hayes Assistant Jill E Callihan Editorial Director Carl T Helmers Jr Executive Editor Christopher P Morgan Editor in Chlel Raymond G A Cote Senior Editor Blaise w Llfflck Editor Richard Shuford, N4ANG Editorial Assistants Gale Brltton Faith Ferry New Products Editor Clubs, Newsletters Laura A Hanson Drafting Jon Swanson Production Editors David William Hayward Ann Graves Faith Hanson Warren Williamson Art Director Ellen Bingham Production Art Wal Chlu Li Christine Dixon Nancy Estle Typographers Cheryl A Hurd Stephen Kruse Debe L Wheeler Photostat Technician Tully Londoner Advertising Director Patricia E Burgess Assistants Ruth M Walsh Marion Gagnon Adv/Prod Coordinator Thomas Harvey Advertising Billing Noreen Bardsley Don Bardsley Circulation Manager Gregory Spltzfaden Assistants Pamela R Heaslip Agnes E Perry Melanle Bertoni Barbara Ellis Dealer Sales Ginnie F Boudrieau Anne M Baldwin Receptionist Jacqueline Earnshaw Traffic Department Rick Fuette Mark Sandagata Book Division Publisher Edmond C Kelly Jr Production Editors Patricia Curran William Hurlin E S Associates Comptroller Kevin Magulre Assistant Mary E Fluhr National Advertising Sales Representatives: Hajar Associates Inc East 280 Hillside Av Needham Heights MA 02194 (617) 444-3946 521 Fifth Av New York NY 10017 (212) 682-5844 Midwest 664 N Michigan Av Suite 1010 Chicago IL 60611 (312) 337-8008 West, Southwest 1000 Elwell Ct Suite 227 Palo Alto CA 94303 (415) 964-0706/(714) 540-3554 Officers of McGraw-Hill Publications Company: Gordon L. Jones, President; Group Vice Presidents: Daniel A. McMillan, James E. Boddorf; Senior Vice Presidents: Russell F. Anderson: Ralph R. Schulz, Editorial; Vice Presidents: James E. Hackett, Controller; Thomas H. King, Manufacturing; Robert L. Leyburn, Circulation; John W. Patten, Sales; Edward E. Schirmer, International. Officers of the Corporation: Harold W. McGraw Jr., President, Chief Executive Officer and Chairman of the Board; Robert F. Landes, Senior Vice President and Secretary; Ralph J. Webb, Treasurer. 4 July 1979 © BYTE Publications Inc Good News for Smart People TDS-lB Disk System HITACHI BASIC MASTER Compatible Coming Soon: • TDS-IA Apple II Compatible • TDS-lT TRS-80 Compatible • 35 Tracks with ten 256 byte sectors per Track. • 87.5K bytes per disk. • Interface, power-unit included. • Controls up to four drives. • Software included. TDOS (TIP Disk Operating System). • OPTION: Business utility programs. TRADE OF INDUSTRIAL PRODUCTS INC. 2-1-19-815 Kanda Surugadai Chiyoda-ku, Tokyo 101, Japan (03) 295-7055 TELEX 02226152 TIPIIMC J Circle 370 on inquiry card. BYTE July 1979 Look for Shugart drives in personal computer systems made by these companies. Letters Altos Computer Systems 2378-B Walsh Avenue Santa Clara, CA 95050 Apple Computer 10260 Bandley Dr. Cupertino, CA 95014 Digital Microsystems Inc. (Formerly Digital Systems) 4448 Piedmont Ave. Oakland, CA 94611 Imsai Mfg. Corporation 14860 Wicks Blvd. San Leandro, CA 94577 Industrial Micro Systems 633 West Katella, Suite L Orange, CA 92667 North Star Computer 2547 9th Street Berkeley, CA 94710 Percom Data 318 Barnes Garland, TX 75042 Polymorphic Systems 460 Ward Dr. Santa Barbara, CA 93111 Problem Solver Systems 20834 Lassen Street Chatsworth, CA 91311 Processor Applications Limited 2801 E. Valley View Avenue West Covina, CA 91792 SD Sales 3401 W. Kingsley Garland, TX 75040 Smoke Signal Broadcasting 6304 Yucca Hollywood, CA 90028 Technico Inc. 9130 Red Branch Road Columbia. MD 21045 Texas Electronic Instruments 5636 Etheridge Houston, TX 77087 Thinker Toys 1201 10th Street Berkeley, CA 94710 Vista Computer Company 2807 Oregon Court Torrance. CA 90503 Shugart Julv 1979 © BYTE Publications Inc SERIOUS COMMENTS ON AMENDED BASIC I enjoyed the humor that Robert Bass used in his Languages Forum on "A- mended BASIC" (April 1979 BYTE, page 238). Most of his suggested addi- tions to the BASIC language were of the April Fool's Day variety; however, his FORGET statement, though included in jest, does have some merit. Frequently, the programs I write have hard-to-find bugs in them. These programs may have long printouts of instructions on how to use them. How- ever, when debugging programs, it is irritating to have to wait for all of these printouts before the program really starts. I usually change all of those PRINT statements into comments by insertinga REM before them. A FORGET statement, however, would be far more convenient. The programmer could in- clude astatement like FORGET 100-210, 320, 400-460 at the beginning, and then run the program. The BASIC will treat the statements listed in the FORGET statement as remarks. When you are finished debugging the program, remove the FORGET statement, or change it into a remark. In this way, you need to change only one statement in your pro- gram, instead of numerous statements as in our current BASIC. Another suggestion I would like to see implemented in BASIC is a variation of the RESTORE statement. Presently the RESTORE statement sets the DATA pointer to the start of the list of DATA. However, sometimes it is convenient to have the pointer set at a different point. I suggest that a statement of the form "RESTORE 300" be implemented. This would set the DATA pointer to the first set of DATA at or following line 300. A variation of this might be "ON K RESTORE 300, 310,320." This state- ment would be analogous to the "ON K GOTO 300, 400, 500" statement. Both versions would allow immediate access to DATA. At present you must RESTORE the pointer to the beginning of the DATA, and then use dummy variables to READ to the DATA you actually want. James L Boettler Director of the Computer Laboratory Claflin College Orangeburg SC 29115 SQUISH BUGS Regarding the April 1979 editorial about operating systems with bombed file systems: First, we note that the UCSD file sys- tem, RT-11 for the PDP-11, and many other disk operating systems require periodic squishes to manage a disk. This is a foolhardy stunt as, in your case, one bad disk sector can prevent the entire squish from working. I feel that people who build and propagate file systems like this (without even any attempt to skip bad sectors!) are irresponsible. It shows the need for better error recovery or a scheme which prevents the need for squish altogether, such as dynamic file space allocations (eg: CP/M). Secondly, your need to write your own recovery program indicated a need for such a recovery program to come as a standard operating system utility. Disasters happen; the need is real. To my knowledge, Motorola MDOS and Software Dynamic's SDOS (for the 6800) are the only microcomputer operating systems that provide both dynamic file allocation and disaster recovery programs. The industry needs more systems like these. Ira Baxter Software Dynamics 21 11 W Crescent Suite G Anaheim CA 92801 A FASTER MAILING LIST In reference to Thomas E Doyle's article, "A Computerized Mailing List," (January 1979 BYTE, page 84) a few modifications might be helpful, particu- larly, as he expresses some concern on saving time in the discussion of Pro- gram 6. Program 7 is the main concern of this letter. After the program locates the desired record to eliminate, it performs, in closing up the gap, what is commonly called garbage collection. It would appear to be more desirable to flag that record as an unused record and not perform garbage collection every time. Two possible ways to do this are: a special (in Mr. Doyle's appli- cation) call sign which is recognized as a null record; or add an additional variable to the list for each record. This additional variable could be easily used to indicate a variety of meanings for the remaining data on the record besides a null record. Then Programs 2 and 3 could be selective. With the addition of this variable, all the other programs would have to be modified to take into account the change in the structure of the file. The disk file could be viewed as a collection of one or more sets of records, each set being zero or more consecutive records of good data, and ending with one null record. Program 1, having initialized the file, would then write one null record before ending. Program 6 would only search up to the first null record after the point of insertion (a null record must still exist at the end of the file, for Program 4 as well). Program 8 (to be Text continued on page 98 "My Shugart bllowed me hot] . - ^fl IV "After working all day with the computer at work, it's a kick to get down to Basic at home. And one thing that makes it more fun is my Shugart minifloppy™' We use Shugart drives at work, so when I bought my own system I made sure it had a minifloppy drive. "Why? Shugart invented the minifloppy. The guys who designed our system at work tell me that Shugart is the leader in floppy design and has more drives in use than any other manufacturer. If Shugart drives are reliable enough for hard-working business computers, they've got to be a good value for my home system. "When I'm working on my programs late at night, I can't wait for cassette storage. My minifloppy gives me fast random access and data transfer. The little minidiskettes™ store plenty of data and file easily too. "I made the right decision when I bought a system with the minifloppy. When you lay out your own hard-earned cash, you want reliability and performance. Do what I did. Get a system with the minifloppy." If it isn't Shugart, it isn't minifloppy. *A Shugart 435 Oakmead Parkway. Sunnyvale, California 94086 See opposite page for list of manufacturers featuring Shugart's minifloppy in their systems. TM minifloppy is a registered trademark of Shugart Associates BYTE July 1 979 7 Editorial Computers and Eclipses by Carl Helmers The idea occurred last fall. An innocuous advertisement appeared in Smithsonian Magazine, trumpeting an exciting adventure called "Eclipse Over Big Sky" which would take place in February 1979 at the Big Sky ski resort in the southwestern part of Montana, near Yellowstone Park in Wyoming. Naturally, I sent away for the information advertised. After receiving the literature, I made up my mind that a total solar eclipse was worth seeing, especially if it was to be the last one on continental North America for some forty years. So, I sent in my deposit and made plans to attend. It turned out (as I found when I arrived) that this expedition was one of a series of such expeditions organized by sociologist and eclipse buff Dr Phil Sigler of New York City. These expeditions had attended every total solar eclipse for the past eight or ten years. Using the latest in modern tech- niques, including reference to weather satellite data, they had found a neces- sary hole in the clouds at the right time in eight out of nine cases prior to this eclipse. Previous expeditions had used cruise ships on the open ocean in order to implement the concept of "mobility" pioneered by Dr Ed Brooks of Boston University, the weather adviser for the operation. In order to utilize the same concept for the 1979 eclipse, some form of land mobility was required. An initial attempt to take advantage of an Amtrak route which paralleled the eclipse path was apparently squelched by the usual bureaucratic catch-22: "Sure you can rent the track, but we can't supply you with a train." Thus, mobility was achieved through the services of the Yellowstone Bus Company and a procession of 15 large buses. At 2 AM on eclipse day, this procession left the hotel for a six hour trip to central Montana, just west of a town called Roundup. Taking pictures of a transient, two minute phenomenon is one of the goals of an eclipse expedition; the other goal being to simply watch this phenom- enon with the naked eye or through a suitable telescope. When I say "naked eye," I mean it, despite all normal reactions which say "you can't look at an eclipse without protection." In actuality, there is absolutely no way to look at an un-eclipsed or partially eclipsed sun without using filters to avoid damaging your eyeballs or camera equipment. However, this is the key difference with regard to a totally eclipsed sun: you can look at it directly. That last .1 percent that separates 99.9 from 100 percent makes all the difference in the world between the dull, filtered crescent sun of a partial eclipse and the incredibly beautiful natural phenom- enon of a totally eclipsed sun. You can take excellent pictures, without filters, using 400 speed film and exposures of 1/30 to 1/2000 of a second (see photos 1 and 2). But, photographing the phenomenon is definitely a bit of a problem. During this past eclipse, I had only enough time to take about 15 expo- sures, with one lens change. This was done in -3 to 0 degree Celsius prevail- ing temperatures on an isolated road west of Roundup, Montana. My hands froze, and I probably did not get the optimal personal viewing, although the 1000 mm reflex telephoto lens of my camera acted as an excellent spotting scope through which to watch the sun for most of the eclipse. ComputerLand Huntsville, AL Phoenix, AZ Little Rock, AR Belmont, CA Dublin, CA El Cerrito, CA Heyward, CA Lawndale, CA Los Altos, CA Los Angeles, CA Marin, CA Pasadena, CA Saddleback Valley, CA San Bernardino, CA San Diego, CA San Diego East, CA San Francisco, CA San Jose, CA Santa Maria, CA Santa Rosa, CA Thousand Oaks, CA Tustin, CA Walnut Creek, CA Colorado Springs, CO Denver, CO Fairfield, CT Newark, DE Boca Raton, F L Ft. Lauderdale, FL Jacksonville, FL Atlanta, GA Honolulu, HI Arlington Heights, IL Downers Grove, IL Mundelein, IL Niles. IL Oak Lawn. IL Peoria, IL Indianapolis, IN Call Overland Park, KS Louisville, KY Boston, MA Call Rockville, MD Grand Rapids, Ml Southfield, Ml Bloomington, MN Rochester, MN Springfield, MO Nashua, NH Cherry Hill, NJ Bergen County, NJ Morristown, NJ Buffalo. NY Ithaca, NY Nassau County, NY Charlotte, NC Cleveland, OH Columbus, OH Portland, OR Harrisburg, PA Austin, TX Dallas, TX South West Houston, TX Houston Bay Area, TX Salt Lake City, UT Tyson's Corners, VA Bellevue, WA Federal Way, WA Tacoma, WA Madison, Wl Milwaukee, Wl INTERNATIONAL Adelaide, Australia Brisbane, Australia Melbourne, Australia Perth, Australia Call Sydney, NSW Australia Brussels, Belgium Burlington, Canada Toronto, Canada Winnipeg, Canada Manila, Philippines (205) 539-1 200 (602) 956-5727 (501) 224-4508 (415) 595-4232 (415) 828-8090 (415) 233-5010 (415) 538-8080 (213) 371-7144 (415) 941-8154 (213) 776-8080 (415) 459-1767 (213) 449-3205 (714) 770-0131 (714) 886-6838 (714) 560-9912 (714) 464-5656 (415) 546-1592 (408) 253-8080 (805) 928-1919 (707) 528-1 775 (805) 495-3554 (714) 544-0542 (415) 935-6502 (303) 574-4150 (303) 759-4685 (203) 255-9252 (302) 738-9656 (305) 368-1122 (305) 566-0776 (904) 731-2471 (404) 953-0406 (808) 521-8002 (312) 255-6488 (312) 964-7762 (312) 949-1300 (312) 967-1714 (312) 422-8080 (309) 688-6252 Directory Information (913) 492-8882 (502) 425-8308 Directory Information (301) 948-7676 (616) 942-2931 (313) 356-8111 (612)884-1474 (313) 652-9000 (417)883-7085 (603) 889-5238 (609) 795-5900 (201) 845-9303 (201) 539-4077 (716) 836-6511 (607) 277-4888 (516) 742-2262 (704) 536-8500 (216) 461-1200 (614) 888-2215 (503) 620-6170 (717) 763-1116 (512) 452-5701 (214) 363-2223 (713) 977-0909 (713) 488-8153 (801) 364-4416 (703) 893-0424 (206) 746-2070 (206) 838-9363 (206) 581-0388 (608) 273-2020 (414) 466-8990 22 35 083 07 221 9777 62 55 81 Directory Information 29-3753 43 29 05 (4161 632-5722 (416) 485-6700 (204) 772-9519 58-36-66 8 July 1979 © BYTE Publications Inc Circle 75 on inquiry card. If the truth is that you want a computer . . . then we want to be your computer store. We're ComputerLand, the #1 computer store chain in the U.S. What's meaningful about that fact is, that ComputerLand has been chosen by more people as having what they've been looking for. And, since you're looking, let us tell you what you'll find, when you visit a ComputerLand store. You'll find a product line that's continually evaluated to provide you with the widest and best selection in quality, brand name microcomputers anywhere. You'll find an enthusiastic and knowledgeable staff able to interpret all the equipment specifications, in terms of how they apply to you, and in a way you'll understand. You'll find demonstration areas where you can get a firsthand experience of running a computer yourself. You II find educational materials to give you a total insight into the world of microcomputers. You'll find a fully equipped service department to provide whatever assistance is required to keep your computer running in top-notch condition. You'll find computer user's clubs to join, where you can share ideas with people as enthusiastic as yourself. And, with each new visit, you'll find excitement— from the people you deal with, the equipment they offer, and from your own ever-growing personal involvement. Enough about us. How about what computers do. To attempt to describe all the things your computer might do, would be to describe your imagination. So instead, we'll briefly list some of the many things for which small computers are already being used. In business, the advent of the versatile and compact microcomputer has put the benefits of computing within reach of small companies. With systems starting at less than $6000, the businessman can FOR THE HOME ComputerLand Corp. 14400 Catalina St. San Leandro, CA 94577 (415) 895-9363 Franchise Opportunities Worldwide. computerize things like accounting, inventory control, record keeping, word processing and more. The net result is the reduction of administrative overhead and the improvement of efficiency which allows the business to be managed more effectively. In the home, a computer can be used for personal budgeting, tracking the stock market, evaluating investment opportunities, controlling heating to conserve energy, running security alarm systems, automating the garden's watering, storing recipes, designing challenging games, tutoring the children . . . and the list goes on. In industry, the basic applications are in engineering development, process control, and scientific and analytical work. Users of microcomputers in industry have found them to be reliable, cost- effective tools which provide computing capability to many who would otherwise have to wait for time on a big computer, or work with no computer at all. And now we come to you, which leads us right back to where we started: If you want a computer, then we want to be your computer store. Whether you want a computer for the home, business or industry, come to ComputerLand first. We'll make it easy for you to own your first computer. Because, simply put, we really want your business. When you come right down to it, that's what makes us #1. ComputerLand WE KNOW SMALL COMPUTERS ComputerLand Europe Europa Terrassen 8 Rue Jean Engling Dommeldange, Luxembourg Phone 43 29 05 Telex 2423 © ComputerLand Corp., 1978 BYTE July 1979 9 Photo 1: A shot of the 1979 North Ameri- can total solar eclipse taken with a relatively quick shutter speed. Note the prominences showing around the extremely dark disk of the sun as obscured by the moon. This pic- ture was exposed shortly after totality began. Photo 2: With a much slower shutter speed, elements of the solar corona begin to show. This picture was taken with about a I /30th second exposure at fjll using 400 ASA Ektachrome slide film. (I was too busy during the eclipse to take detailed notes for each exposure, so I can only observe that this was one of the longer exposures, proba- bly at I /30th second.) The problem is that if you spend your allotted time budget fooling around with the camera, you can miss a good portion of the event and its natural beauty. This is where the computer experimenter's inventiveness can come into play. Why not automate the exposure and picture taking sequences of the camera and telescope combination, so that once the first diamond rings of totality occur, a microcomputer can run through an open loop exposure sequence adapted to the camera equipment and the particular eclipse being viewed? What are the functional requirements of such a device? Based on the recommendations of the expedition's photography advisers, George Keene of Eastman Kodak and Robert Little of Criterion Manufacturing (and confirmed by my own successful experience), the main requirement for achieving excellent photos with a 35 mm camera during an eclipse is to use a non- automatic exposure technique which simply covers a range of shutter speed settings within a fixed aperture setting. At each exposure of the film, different phenomena dominate the image. During short exposures, the extremely bright solar prominences are high- lighted, with almost no corona visible (see photo 1 ). In longer exposures, one begins to see details of the fainter solar corona, while the inner prominence detail washes out due to overexposure. During the transient events at the beginning ("second contact") and end ("third contact") of totality, a fixed aperture and shutter speed setting are appropriate, with a rather fast frame-to-frame timing. During totality, the film load of the camera should be spaced out over the balance of the 36 exposure magazine. So, what we want the camera to do with its "n" exposures during the eclipse is to use a programmed sequence. The diagram of figure 1 shows a sequence that might have been ideal for me during the 1979 eclipse's 138 seconds of totality. In this figure, the events start at the last sliver of crescent sun when the filter is removed and a manual input starts the hypothetical computer sequence. Six shots are budgeted at 1/2 second intervals for the initial transient phenomenon called "Baily's beads" or "the diamond ring," depending upon the details of the sun shining through the lunar mountains. The ideal case would then expose 24 frames at a uniform rate, covering an up and down sequence of exposure speeds. Finally, as the first bit of the departing transient starts to happen, the remaining six exposures would be used to capture the third contact "Baily's beads" or "diamond ring" effects as they occur. This would completely fill a single 36 exposure magazine of Kodak's excellent ASA 400 Ektachrome slide film. It sounds like a job for a microcomputer system as timing and control element, with suitable photo- graphic peripherals. How would this programmed sequence be possible? We want to use as much standard equipment as possible, for the purpose of reliability and to avoid total reinvention of the wheel. Fortunately, in contemporary photog- raphy, the motor drive is becoming an inexpensive and common accessory for the 35 mm SLR (single lens reflex) camera. This solves the problem of moving the film between frames. We need only set the motor drive on auto- matic and then the camera will take a picture and move the film to the next frame every time the exposure button is pushed. We must merely get the computer to push the shutter release button according to the timing diagram. A relatively simple adaptation of a cable release to a solenoid actuator will serve to link the exposure button to the microcomputer sequencer. A suitable solid state relay power driver output from the computer will then press the button to take each picture. This, however, does not solve the problem of adjusting the shutter speed. Based on the current marketing literature of Nikon, I can get automated aperture control from an external source, but not control of the exposure time. Thus, the adaptation of my F2A camera will require careful thought and craftsmanship, of the same sort required for any other 35 mm camera body. We will need a more elaborate combination of mechanical and electronic skills for this part of the operation. The adaptation of the camera shutter 10 July 1979 £ BYTE Publications Inc IVe finally found a personal ; - t T i w K that professionals computer 1 respect, w exdt i about the shex 01 " "• * ^ _JT It s a totally-integrated 8080A system C f^fY^'fYI lf^ftlfYf* I 1 with full color gjraphks display built-in 5 IK IHJ/WW mini-disk drive, and the best cost performance ratio available in a personal computer. The complete system is only S 1495* And that price includes 8K. user RAM. RS-232C compatibility and random access tile capabilities. Our 8 foreground and background colors will boost your comprehension, while introducing you to an exciting new dimension in BASIC programming. The vector graphics have lb.-±S-t individually-accessible plot blocks. And the 13" diagonal measure screen gives you 32 lines of (>i ASCII characters. You also have the flexibility that comes with 16K Extended Disk BASIC ROM. Compucolor II offers a number of other options and accessories, like a second disk drive and expanded keyboard, as well as expandability to 32K of user RAM. Of course we also have a whole library of low-cost Sof-Disk™ programs, including an assembler and text editor. Visit your nearest computer store for details. And while vou're there, do some comparison testing. With all due respect to the others, once you see it. you'll lie sold on the Compucolor II. (&M Compucolor I Corporation Corporation Photo 3: A wide angle photograph showing the partially eclipsed sun in the southeastern sky, with one of several hot air balloons nearby. In order to get both the sun and the balloon, the sun is necessarily overexposed, and the balloon is underexposed. Figure 1: A timing diagram of an "ideal" 36 exposure sequence for a 138 second eclipse event, allowing two seconds before and after totality for transient phenomena. The horizontal axis of this figure is time in seconds, and the vertical axis is shutter speed of the camera, a discrete phenomenon with the steps shown. During an eclipse, aperture setting of the camera cannot be controlled if long focus telephoto or astro- nomical telescope lens equipment is used. speed control to computer control requires machining skills with an amateur's lathe and milling setup. The adapter is based upon a metal bracket which screws onto the camera at the tripod mounting socket which is standard on all 35 mm cameras. This bracket is set up with suitable spacers so that it will mount to the camera in a reliably repeatable fashion. The bracket can be mounted in the tripod socket since the telephoto lens or telescope used during an eclipse has its own mount on either a tripod or a true equatorial telescope base. The adapter plate is then used to mount the small DC instrumentation motor and gearbox, which creates a reasonably high torque from the light duty motor. With my Nikon F2A, I need to turn the shutter speed control through an angle of approximately 1 0 degrees in about 1 /4 to 1 /2 of a second in order to accommodate the timing diagram of figure 1 . The output of the gearbox is a shaft which lines up with the axis of rotation of the shutter speed control. To this shaft is attached an optical position sensor created by passing the edge of a thin brass disk through an optoelectronic interrupter arrangement of the sort one can purchase from any optoelectronic company catalog. In the final stage of the custom fitting of this mechanism to the camera, each shutter position is marked on the disk and a small hole is punched in the disk. Thus, while the motor is turning the computer can tell when a given position has been reached, and the motor can be turned off. The DC motor itself is controlled by a bidirectional electronic interface similar to the one shown in the article on the Terrapin Turtle by James A Gupton Jr ("Talk to a Turtle," June 1979 BYTE, page 74). This bidi- rectional interface allows us to turn the shutter speed knob to any setting, with the sensing of the shutter position returned by the optical interrupter. Use of a second interrupter for encoding of the first and last shutter speed settings will guarantee proper initialization and referencing of the speeds. This provides direct feedback of the limit stops in addition to the intermediate position information. The one critical, unsolved problem in projecting this setup for my camera is the detail of driving the shutter speed control from the output of the gearbox. I will probably have to consider some potentially disastrous modifi- cations to the camera. One possible method could be a tight fitting, carefully milled cylinder with ridges on its inner surface that would mate with the ridges on the shutter speed control. Another possibility would be to drill one or more off-center drive holes that would receive a driving pin mounted off-center on the drive shaft's end. The latter might be impossible, due to the complicated nature of the shutter speed control and its interaction with the film speed setting mechanisms. 100% ECLIPSE BEGINS 1/2000 1/1000 1/500 - 1/250 1/125 1/60 1/30 l/lb SHUTTER TRIPS FRAME I.D. MANUAL CUE 4 | 1/2000 i/iooo / ! \i/iooo \ 1/500 \l/250 \|/I25 \ 1/60 \ 1/30 j \ 1/15 r TT T T I I I I I I [ I I 1 II 12 13 14 15 16 17 18 _n ^ — 5.5 SECONDS BETWEEN INTERMEDIATE FOR 2/28/79 ECLIPSE SHOTS I ^ i i i i i i i i i I i i MM MM MM MM -4 -2 0 2 4 6 8 10 30 40 TIME IN SECONDS 50 60 1 2 July 1 979 © BYTE Publications Inc The computer system which drives the camera during an eclipse is quite simple. The computer itself should be a dedicated 8 bit device with a suitable high level language program loaded into its local read only memory. Several 2708 or 2716 read only memory parts should suffice to store the systems software and the application program needed to control the telescope camera during a specific eclipse and to space out the 24 intermediate pictures during the estimated length of totality. Power requirements can be adequately handled by a single 6 or 12 V battery which also supplies power to the shutter speed control motor and the shutter tripping solenoid. The camera motor drive has its own dedicated NiCad battery pack which is totally inde- pendent of the computer. In a field situation it is assumed that batteries can be recharged through 110 V AC mains on the cruise ship or in land based hotels. If North American standard voltages are not available, the chargers can certainly be run through one of a number of standard converters available for world travelers. Photo 4: One of the most unusual occur- rences was the appearance of several hot air balloons In the sky at the time of the eclipse. While the balloonists must certainly have been having fun, some of the people watching from the ground were, no doubt, perturbed. Here is a kind of man made "cloud" pheno- menon totally unpredictable by any meteoro- logist. Figure 2: A conceptual sketch of possible homebrew machinery adapted to a 35 mm camera with motor drive, to allow automa- tion of eclipse photography according to the timing diagram in figure I . This fantasy was created by artist Ken Lodding. 100% ECLIPSE ENDS - 1/2000 1/500 / 1/1000 / ^ \l/250 INTERMEDIATE POSITIONS SKIPPED SO THAT SHUTTER ENDS UP AT 1/2000 FOR LAST 6 SHOTS 1 L \|/I25 1 I I L \ 1/60 i i 1/500/ 1/60*/ / \ \ \ 1/15 I L 1/2000 1 L 31 32 33 34 35 36 nj MANUAL CUE 90 100 110 120 130 136 138 140 142 July 1 979 © BYTE Publications Inc 1 3 Articles Policy BYTE Is continually seeking quality manuscripts written by Individuals who are applying personal computer systems, designing such systems, or who have knowledge which will prove useful to our readers. For a more formal de- scription of procedures and require- ments, potential authors should send a large (9 by 12 Inch, 30.5 by 22.8 cmj, self-addressed envelope, with 28 cents LIS postage affixed, to BYTE Author's Guide, 70 Main St, Peterborough NH 03458. Articles which are accepted ore purchased with a role of up to $50 per magazine page, based on technical quality and suitability for BYTE's readership. Each month, the authors of the two leading articles in the reader poll (BYTE's Ongoing Monitor Box or "BOMB") are presented with bonus checks of (100 and $50. Unsolicited materials should be accompanied by full name and address, as well as return postage. ■ Will I ever build this? At this time I can't predict if and when I will get around to building this sort of system. If I do, readers can be certain that there will be photographic documentation of the system. My immediate deadline might be to get the system working for the 1980 eclipse which occurs over the equatorial Atlantic Ocean, Africa, Indian Ocean, India and China on February 16. However, as this is written, I don't even know if I will go to see that event. This camera automation computer is one of those applications of a small computer system which is most appropriate. It has elements of the mechani- cal interfaces to electronics which are a necessary part of any practical robotic system, as well as elements of real time control akin to those needed for other practical uses of the small computer in home, laboratory and industry. It is the kind of system many of our readers are conceiving and building, whether it be for fun or for professional purposes. As time goes on, we can expect to see this kind of application documented in the form of articles with much greater detail than this editorial sketch. Conceiving, and then building this kind of application is when the fun of contemporary small computing reaches its highest level. ■ The More Things Change, The More They Stay The Same. . . . On April 20, 1979, BYTE Publications Inc and onComputing Inc became a part of McGraw-Hill Publications Co. Thus, as we neared completion of our fourth year as an enterprise, BYTE, and onComputing magazines joined Electronics, Aviation Week and Space Technology, and Data Communications to become key parts in a group of high technology magazines published by McGraw-Hill. BYTE will continue to be published from offices in Peterborough NH, with the same staff and the same dedication to quality. Aside from such detail changes as the notation "A McGraw-Hill Publication" on our cover, readers can expect the editorial and adver- tising content of BYTE to continue under the same philosophy which has established our reputation in the past. Indeed, a major factor in our decision to affiliate with Mc- Graw-Hill is their commitment to the independence of individual magazines. An interesting statistic is that at this exciting time, BYTE's paid circulation of about 156,000 readers (May 1979 issue) makes it second only to Business Week in paid circula- tion among the more than thirty magazines published by McGraw-Hill. We look forward at this point to a long and flourishing relationship with the people who form the McGraw-Hill enterprise. . . . .Carl Helmers A Note About the Cover. . . One of the interesting social phenomena of this eclipse was the appearance of a number of artificial clouds over the observation site: five or six different hot air balloons appeared over our site just at the time of totality. Photo 3 shows a wide angle shot that was intentionally over- exposed during the partial phase of the eclipse just prior to totality. One of these artificial clouds is a dark object below and to the left of the sun in this picture. The telephoto shot shown in photo 4 captured one of these balloons in the sky to the west of the expedition site as they were drifting towards us, about 1 0 minutes before totality. At the time of totality, I distinctly remember looking up and seeing two bright objects in the sky. One object was the eclipsed sun, and the second object, at about the same position as the dark balloon in photo 3, was one of the balloons with its propane flame shining a bril- liant orange color. A man-made fire was complementing the eclipsed embers of the sun. Combining the eclipse automation theme of this month's editorial with the hot air balloons actually observed, and the weather analysis and measurement themes of two of this month's articles, artist Robert Tinney has created a fantasy on eclipses, hot air balloons and weather for this month's cover. The dramatic effect of cumulonimbus thunderstorm clouds was used in place of the rather dull, high, thin cirrus cloud layer which partially obscured the 1979 eclipse as viewed from central Montana. And perhaps the hot air balloonists should have their heads examined for departing into this imagined thunderstorm, inexorable timing of an eclipse or not. But the resulting oil painting is an incomparable work of beauty, celebrating an un- common event unique to our spaceship earth, its sister planet the Moon and a technological civilization. 14 July 1979 : BYTE Publications Inc Circle 255 on inquiry card. DOUBLE DENSITY ' "I " I , ! ^ ? . y ^ llil jjj tl l ll l llll l llllll , ; • ■] : g jrrj -it} ." ■" ! ^f r y * < B i fit C3 I'llMiii i 0 U ~il i i l n i'i i ~i i inriTiTTf 11 1 1 h l r iti Vi liiYi I inn f i t ■ 1 1 i * I OUD SAVIN Now you can put your S-100 system solidly into a full-size, single/double density, 600K bytes/side disk memory for just $1149 complete. DISCUS/2D™ single/double density disk memory from Thinker Toys™ is fully equipped, fully assembled, and fully guaranteed to perform perfectly. DISCUS/2D™ is a second generation disk memory system that's compatible with the new IBM System 34 format. The disk drive is a full-size Shugart 800R, the standard of reliability and performance in disk drives. It's delivered in a handsome cabinet with built-in power supply. The S-100 controller utilizes the amazing Western Digital 1791 dual-density controller chip . . . plus power-on jump circuitry, 1K of RAM, 1K of ROM with built-in monitor, and a hardware UART to make I/O interfacing a snap. The DISCUS/2D™ system is fully integrated with innovations by designer/inventor George Morrow. Software includes BASIC-V™ virtual disk BASIC, DOS, and DISK-ATE™ assembler/editor. Patches for CP/M* are also included. CP/Mt Microsoft Disk BASIC and FORTRAN are also available at extra cost. DISCUS/2D™ is the really solid single/double density disk system you've been waiting for. We can deliver it now for just $1149. And for just $795 apiece, you can add up to 3 additional Shugart drives to your system. Both the hardware and software are ready when vou are. Ask your local computer store to order the DISCUS/2D™ for you. Or, if unavailable locally, write Thinker Toys,™ 5221 Central Ave., Richmond, CA 94804. Or call (415) 524-2101 weekdays, 10-5 Pacific Time. (FOB Berkeley. Cal. res. add tax.) *CP/M is a trademark of Digital Research. 9 Morrow makes disk memory for Thinker Toys Graphic Input of Weather Data Stephen P Smith 106 E Clearview Av State College PA 16801 : -:ifllHHHHHi Photo 1 : Infrared and visible light photographs like this one are the primary tool of the satellite meteorologist. Cloud formations help locate rain. Tem- perature data from the infrared images indicates intensity. Photograph courtesy NO A A National Weather Service. 1 6 July 1979 © BYTE Publications Inc The fact that everyone complains about the weather, but nobody does anything about it, is well-known. Weather forecasting is still more art than science. Manual techniques still yield the best quantitative weather predictions when com- pared with the largest computer systems processing a wealth of satellite, radar, and ground station data. However even modest data processing equipment can be an impor- tant tool for the meteorologist. I'll show how the combination of a small personal computer and a Summagraphics Bit Pad graphics tablet simplifies the processing of rainfall estimates for a regional data base. The application is an interesting one, and the BASIC language software developed will be useful in any system employing a Bit Pad for data entry. Locally, rainfall can be measured with simple gauges. The heavy showers common during the prime growing and flood seasons have irregular distributions, so local measure- ments may be inadequate for regional use. Agricultural planners need to know how much rain has fallen over a specific growing area. Hydrologists working on flood warning and control need to know how much has fallen within a given watershed. Both groups need this information broken down into relatively small elements of time and area, perhaps for each 24 hour period and for each 10 kilometer square. To achieve this detail, tools in addition to rain gauges must be used. The first of these tools is ground based radar. Most of us have seen weather radars operating on television news broadcasts. Rainfall reflects the radar signal and provides a visual display for the operator, similar to figure 1. Showers can be located accurately, and relative intensity can be determined. Unfortunately, even highly calibrated radars have difficulty measuring actual amounts of rain, and most weather radars are not well calibrated for this application. Radar coverage is also not complete over all areas of the country. A second tool, satellite imagery, has extended that coverage significantly (see figure 2). Geostationary satellites, which remain fixed over one point on the earth, provide pictures every half hour. Polar orbiting satellites, flying much closer to the earth, provide more detailed images several times a day. A trained meteorologist can identify cloud formations in pictures like photo 1. Several investigators primarily at the National Oceanic and Atmospheric Administration (NOAA, pronounced like Noah) have developed schemes to estimate the rainfall beneath these clouds, (see references 1 and 2). Text continued on page 20 Figure I : Meteorologists can locate rainstorms using ground based radar. Images like this are familiar from television news. Unfortunately, they are not sufficient to gauge intensity, and radar coverage is not complete through- out the country. Figure 2: Meteorologists can obtain imagery from two types of satellites. Geosynchronous satellites orbit at the same speed that the earth turns. They appear to be stationary, giving continuous coverage of one area of the Earth. Polar orbiting satellites fly a North to South pattern while the earth turns west to east below them. They provide frequent coverage of every point on the globe. July 1979 © BYTE Publications Inc 1 7 We Ve worked like mad to cook up all your favorites. ■ 33H Now, we're cooking. Our boys in the lab have turned circuit chefs these past three months to create a smorgas- bord of deliciously assembled boards to support your APPLE II* TRS-80*orS-100 bus systems. Feast your eyes on our monstrous selection in the menu below. Then, order enough to satisfy your hunger for experimentation for months to come. Contact your local computer store, or call us direct. Bon appetit! California Computer Systems 309 Laurelwood Road -Santa Clara, CA (408) 988-1620-95050 So Nobody Goes Away Mad. 3r STore, or c; s 1 \ Ap PL£ lh 7740 ^ST^^^e i - ia„. ' a ■ r ""race "-^ 488 = ' n */s "- r 'dce 0 « ^* .' er? ace . . , 5 Sena/ °ai«3 r»fg a ' Ur !nQ 0 ■ ■ ■ 7570 5Jf2?^ * "iS? iCircle 37 on inquiry card. : aran OyCo' added sa'»7 ,dfa e2794/20 GOTO 4060: N=Y/2794*10: R=M(N): RETURN REM TRANSLATE X REM TRANSLATE Y REM ROTATE X REM ROTATE Y REM SCALE X AS EAST-WEST COORDINATE REM SCALE Y AS NORTH-SOUTH COORDINATE 09,.10 REM INITIALIZE 10 REM VALUES FOR MENU REM FETCH AN X,Y POINT REM USE LEFTMOST 5% OF TABLET REM MENU HAD 10 ELEMENTS REM Y POSITION SELECTS ONE Listing I: BASIC program to use the Bit Pad for entering data. This pro- gram inputs a point using the discussed handshaking method, automatically scales and rotates the point, and then allows you to perform operations using that point. tance from the left side of the tablet. D(3) and D(4) are processed in the same way to calculate Y, the absolute distance from the lower edge of the tablet. The necessary subroutine begins at line 1000 of listing 1. The absolute coordinates in the Bit Pad system run from 0 to 2794 for 0.1 milli- meter resolution (0 to 2000 for .005 inch resolution). Given the scale of our map and assuming it is well aligned on the tablet, it should be a trivial matter to convert X and Y to our 10 kilometer grid coordinate system. Actually, a little software can be added to take care of the scale and map alignment, too. We begin each session by digitizing two known points on the map. The distance between them gives us the scale factor. Their relative orientation tells the system how the map is positioned on the tablet. Figure 7 and caption give a gen- eral presentation of coordinate transfor- mations. The subroutine which sets up this transformation begins at line 3000 of listing 1. At line 3200 absolute X and Y values are converted into grid coordinates and stored in a pair of arrays. Using BASIC, the data is entered by touching the stylus to a number of points around each isohyet. The smooth curves on the map are approximated in the com- puter by polygons as in figure 8. A larger number of points produces a better approxi- 26 July 1979 © BYTE Publications Inc "Our inventory is our existence Think we'd trust it to anything le than Scotch Brand Diskettes?" Don Stone, Vice-President, Mass. Auto Supply Company, Inc., Boston, Mass. Scotch Diskettes are the diskettes you can depend upon with the information your business depends upon. Each one is tested and certified error-free before it leaves our factory. Because we know nothing less than perfection is acceptable for your vital business data. Scotch Diskettes are available in regular or mini sizes, compatible with almost any system. To find out where you can find Scotch Diskettes, call toll free: 800-328-1300. (In Minnesota, call collect: 612-736-9625.) Ask for the Data Recording Products Division. If it's worth remembering, it's worth Scotch Data Recording Products. 3M Circle 368 on inquiry card. BYTE July 1 979 27 Figure 7: In the general coordinate transform there are two problems. The first is translation. Each point must be moved by the distance between the origins of the two coordinate systems. Because the distance is the same for every point, you need only know the coordinates of one point in both sys- tems to compute the translation vector dX, dY. The second problem is rota- tion. The line between A and B makes a different angle with the X axis than with the X' axis. Each point must be rotated by the difference. To compute the transformation, each point is multiplied by a rotation matrix, then added to the translation vector. The equation looks like this: cos d - sin d sin d cos d dX dY Would You Like to Participate in a Weather Reporting System? A system is being installed in the state of Virginia that typifies what can be done with microprocessors. A t each of seven remote stations, sensors collect data on wind, rainfall, temperature, etc; and store it in the memory of a dedicated micro- computer. About once a day the data is transmitted to a central minicomputer for processing and integration with other data sources. The microcomputers are nicknamed the Seven Dwarfs. The mini- computer, not surprisingly, is called Snow White. It should also be no surprise to those who work with small computers that the first station to be installed was called Grumpy. Now suppose that instead of just seven stations, a large number of personal computer owners attached some simple sensors to their systems, and were linked in a personal computer network (see February 1978 BYTE). Such a network is being tried, also in Virginia. Sensors are manually read; touch tone pads are used for communication. The interest of involved citizens is producing a valu- able new resource for meteorologists, hydrologists and agricultural planners; and an interesting new application for readers of BYTE* MENU " ,0 1 8 IV 9 // 2 / ( J/8 ' )\ 6 f ft /7 1 □ •» 3 ( 3 4 5 □ .80 Figure 8: A fter digitizing with the Bit Pad, simple closed curves are approxi- mated by polygons. More corners in the polygon produce a better approxi- mation. Unused areas of the tablet can be used for a menu board. Touching the stylus in the appropriate area enters the indicated value. A software handler is required. mation but takes longer to enter. If a faster, machine language routine is used, we can take advantage of the Bit Pad's stream mode of operation to enter a large number of points rapidly. As long as the stylus is touching the tablet, the Bit Pad transmits points continuously at a rate of between .1 and 64 points per second. The rate is set by the operator using switches on the control box, or by the computer setting the mode and rate bits of the command word. Using either approach, the computer must be able to recognize when the entry of an isohyet is complete. In our system this occurs when the most recent point closely matches the first one. The computer now queries the operator for the rainfall rate corresponding to the isohyet just entered. The rate may be entered at a terminal, or by using a portion of the tablet itself as a menu board. In the latter approach, the computer associates a touch of the stylus in one of several small boxes with a preset rainfall rate. Figure 8 shows the menu board ready for operation. The subroutine which inter- prets the input begins at line 4000 of listing 1. When all the isohyets have been entered, the computer can begin to assign a rainfall 28 July 1979 ® BYTE Publications Inc Circle 180 on inquiry card. The Honor Graduate There's been a lot of talk lately about intelligent terminals with small systems capability. And, it's always the same. The systems which make the grade in perfor- mance usually flunk the test in price. At least that was the case until the SuperBrain graduated with the highest PPR (Price/ Perfor- mance Ratio) in the history of the industry. For less than $3,000*, SuperBrain users get exceptional performance for just a fraction of what they'd expect to pay. Standard features in- clude: two dual-density mini-flop- pies with 320K bytes of disk storage, 64K of RAM to handle even the most sophisticated programs, a CP/M Disk Operating System with a high- powered text editor, assembler and *Quantity one. Dealer inquiries invited. debugger. And, with SuperBrain's S-100 bus adapter, you can even add a 10 megabyte disk! More than an intelligent terminal, the SuperBrain outperforms many other systems costing three to five times as much. Endowed with a hefty amount of available software (BASIC, FORTRAN, COBOL), the SuperBrain is ready to take on your toughest assignment. You name it! General Ledger, Accounts Receiv- able, Payroll, Inventory or Word Pro- cessing . . . the SuperBrain handles all of them with ease. Your operators will praise the SuperBrain's good looks. A full ASCII keyboard with a numeric key- pad and function keys. A non-glare, dynamically focused, twelve inch screen. All in an attractive desktop unit weighing less than a standard office typewriter. Sophisticated users will acclaim SuperBrain's twin Z-80 processors which transfer data to the screen at 38 kilobaud! Inter- facing a printer or modem is no problem using SuperBrain's RS- 232C communications port. But best of all, you won't need a PhD in com- puter repair to maintain the Super- Brain. Its single board design makes servicing a snap! So don't be fooled by all the fresh- man students in the small systems business. Insist on this year's honor graduate ... the SuperBrain. □ = NTE3TEC □data s systems 2300 Broad River Road, Columbia, SC 29210 (803) 798-9100 TWX: 810-666-2115 BYTE July 1 979 29 EPROMs out at the touch of a finger. After programming a 2708 or 2716 EPROM you won't need a screwdriver to pry it out of SSM's new PB1 board equipped withTextool sockets. Just flip the lever and lift it out. And on the same board there are 4 sockets waiting for 2708 or 2716 EPROMs that can be independently addressed to any 4k or 8k boundary above 8000 hex. Two boards in one. PB1 has two separate programming circuits so 2708 or 2716 (5v) type of EPROMs can be programmed without modifying the board. Programming voltage is generated on-board by a DC-DC converter; no need for an external power supply. Programming sockets are Dip Switch addressable to any 4k boundary. And complete software is provided for programming and verifying EPROMs. With our Magic Mapping™ feature, unused EPROM sockets don't take memory space, so you are never committed to the full 4k or 8k of memory. The board can be configured for 0 to 4 wait states. Use fast or slow EPROMs. All lines are buffered. The PB1 kit is available at over 150 retail locations or directly from SSM for $145.00 (with Textool sockets) or $125.00 (without Textool sockets). All SSM kits are backed by a 90 day warranty. Assembled, one year warranty. SSM manufactures a full line of S-100 boards, including CPU, Video, I/O, RAM, EPROM, Music, Prototyping, Terminator, Extender and Mother boards. For complete details just send for our new, free brochure. PB1 2708/2716 Programmer &4k/8k EPROM Board Textool programming sockets Programming protect switch ^ LED indicating programming mode Programming power supply 4k/8k EPROM sockets EPROM addressing switches 2116 Walsh Ave., Santa Clara, CA 95050 (408) 246-2707 We used to be Solid State Music. We still make the blue boards. rate to each square in the grid. It begins with the area of heaviest rain, and deter- mines which grid squares are surrounded by that isohyet (eg: does the center of a square fall within the approximating polygon?). The heaviest rate is assigned to each of these squares. Beyond this area are bands of successively lighter rain. The grid squares surrounded by these isohyets, which have not already been included in another isohyet, are assigned the corresponding lighter rates. The process continues until an area of zero rainfall is encountered. The inverse situation, an area of light rain sur- rounded by heavier precipitation, does not occur in the sudden, convective storms this program was designed to monitor. When all the grid squares have been assigned, the computer then holds a record of the rainfall during a one half hour period. When the next map is processed, the storm will have moved, and the distribution of rain will be different. These half hour re- cords can be totaled over periods of any length to provide accurate accumulation data. The meteorologist need only be con- cerned with instantaneous rates, however. The computer, with the aid of the Bit Pad, handles the motion of the storm and the subtle effects of its changing shape and intensity. As you may well imagine, updating 1500 grid squares 48 times a day could easily overwhelm many small systems with data. Access to rapid, random storage such as floppy disks is mandatory. The work is still within the capabilities of personal sized computers, but it begins to involve specific operating systems and algorithms which would be useful to only a few readers. The BASIC routines developed here, how- ever, apply to any Bit Pad application. They demonstrate how easy it is to use the Summagraphics graphics tablet for data entry. In doing so, I hope this article has also shown that a microcomputer, when teamed with some novel peripherals, can be used to process data for a challenging meteorological application." REFERENCES 1. Scofield, R A and V J Oliver, "A Scheme for Estimating Convective Rainfall From Satellite Imagery," NOAA Technical Memorandum NESS 86, April 1977. 2. Follansbee, W A, "Estimation of Daily Rainfall Over China and the USSR Using Satellite Imagery," NOAA Technical Memorandum NESS 81, September 1976. 3. Earthsat Spring Wheat Yield System Test, Final Report, Earth Satellite Corporation, prepared for Johnson Spaceflight Center, April 1976. 4. Cole, E W, Introduction to Meteorology, John Wiley and Sons Inc, New York, 1970. 30 July 1979 © BYTE Publications Inc Circle 335 on inquiry card. Circle 256 on inquiry card. 4P+2S+Strobe + Attention+RAM+fPIIOM=S199 I Introducing The SwitchBoard rM I/O Interface, the most complete interface available for S-100 systems. . .designed by George Morrow exclusively for Thinker Toys™. The SwitchBoard™ interface provides 4 parallel ports and 2 RS232/TTY serial ports. Plus, strobe and attention ports. Plus, on-board facilities for 4K of optional static RAM and 4K of user-supplied EPROM. And every port is switch-programmable for total flexibility in interfacing complex peripherals. . .such as 12-bit daisywheel printers. Each parallel port can be switched for input or latched output. Both serial ports can be switched to any of 16baud rates from 110to 19,200. Each strobe and attention port flip-flop can be switched for pos or neg pulsing. And yet, The SwitchBoard™ Interface won't hang you up on price or delivery. In kit form, it's just $199. $259 assembled. 21 14 4K static RAM option (4 MHz Z-80 compatible), $70. Ask your local computer shop to place your order immediately for priority shipping. Or, if un- available locally, order direct from ThinkerToys™, 5221 Central Ave., Richmond, CA 94804. . Or call for The SwitchBoard™ at (415) 524-2101 weekdays, 10-5 Pacific Time. "Sockets provided; chip set optional. A product of Morrow's Microstuff for Thinker Tovs CAST A SPELL. WIN A SORCERER. J J J If you've written software in Altair Basic, you've written spells" for the Exidy Sorcerer. Now, make it pay off! There's never enough software. Particularly good software. That's why Exidy is sponsor- ing a software contest where nobody loses. Altair programs run on Sorcerer. The Sorcerer computer's Standard Basic is compatible with Altair 4K and 8K Basic. So our contest is open to programs — we like to think of them as "spells" or "Sorcery"— written in all three of those Basic versions. Trade one of yours for one of ours. Just for entering a program in our contest, we'll send you a new, professionally written and documented program. Free. It's a classic game of concentration that's a fun mind- stretcher for both kids and adults. Plus you'll get our new 20" by 24" color poster. And maybe 99 more good programs. We'll publish a bound book of the best programs entered — up to 100 of them, with full credit to each author. If you enter you can have a copy for just the printing and mailing cost. And if your program is included, you get the book free. WIN THIS EXIDY SORCERER. And maybe a free Exidy Sorcerer: Submit one of the four programs judged "best," and win a free Sorcerer computer. (Or choose Sorcerer accessories of equal value.) There'll be one winner in each of the following categories: Business, Education, Fun & Games, and Home/ Personal management. Test-run your entry free. Take your program to any participating Sorcerer dealer if you want to give it a test run. At the same time, maybe you'll want to jazz up your program to take advantage of Sorcerer's state-of-the-art features. These include 512 by 240 high-resolution graphics; user-defined characters; and dual cassette I/O, among others. You can turn in your entry right at the dealer's. And collect your poster and new program on the spot. Enter now. Send us your entry with the coupon. Or visit your dealer. But cast your best spell at Exidy now. And see if you can't make a free com- puter appear on your doorstep. RULES: 1) Entries, including documentation, must be printed by computer or typed double spaced on 8Y2 by 11 paper, with your name on every page. 2) Enter as many times as you like. This cou- pon, or a copy of it, must be completed and attached to all entries. 3) Enter at any participating Exidy Sorcerer dealer, or mail entries postpaid to the ad- dress on this coupon. 4) Entries must be received by midnight, Aug. 31, 1979. Winners will be notified by Nov. 30, 1979. For a list of winners, send a self-addressed, stamped envelope marked "Winners List" to the coupon address. 5) You warrant, by your signature on this coupon, that all program and documen- tation material included in your entry is entirely your own original creation, and that no rights to it have been given or sold to any other party, and you agree to allow Exidy to use, publish, distribute, modify, and edit it as it sees fit. 6) All entries become the property of Exidy, Inc. No entries will be returned, nor any ques- tions answered regarding individual entries. No royalties, payments or consideration beyond the items set forth in this advertise- ment will be given to any entrant. 7) Judging will be by a panel of experts cho- sen by, and including representatives of, Exidy, Inc. Judges may assign programs to whichever entry category they consider ap- propriate. Decision of the Judges is final. 8) Employees of Exidy, Inc., its dealers, dis- tributors, advertising agencies and media not eligible. Void where prohibited, taxed or restricted by law. EXIDY, INC. 969 W. Maude Ave. Sunnyvale, CA 94086 Gentlemen: Here's my "spell." Send me my free program and poster. If I win, send my Exidy Sorcerer computer to: NAME ADDRESS _ CITY _ STATE- _Z1P_ DAYTIME PHONE- TITLE OF PROGRAM. CATEGORY □ Business □ Fun & Games □ Education □ Home/Personal Management Circle 133 on inquiry card. SIGNATURE Copyright 1979, Exidy, Inc. DATE Qispcis's Circuit Cellan Sound Off Steve Ciarcia POB 582 Glastonbury CT 06033 Creating music and sound effects with a microcomputer is an arduous task when the processor must directly synthesize each wave form. The usual technique employed is for the computer to calculate a mathematical model of a desired sound and output it through a digital to analog converter. In theory this is fine, but in practice it requires an extremely fast computer to form com- plex waves. For example, to synthesize a simple 8 kHz tone, the computer must generate an audio wave coordinate every 62 /its. Use of memory tables to replace some calculations can speed up the process, but the production of complex waveforms or higher frequencies would monopolize all of the processor's available time. Copyright ©1979 by Steven A second technique for sound synthesis is A Ciarcia. All rights reserved. to use an analog approach. The computer Photo I: Sound effects for a Lionel Southern Crescent mode! steam engine is one use of a programmable sound generator device. can simulate an electronic organ by attaching separate tone generators to the computer which are turned on and off digitally. In The Toy Store Begins at Home ("Ciarcia's Circuit Cellar", April 1979 BYTE, page 10) four oscillators were attached and could be individually controlled through an output port. Although a tune with four notes isn't very appealing, it served a purpose, and easily demonstrated this alternative synthesis technique. Complex sounds, such as a musi- cal chord, were created by simply turning three of the tone generators on simultane- ously. Unfortunately, the preset frequencies allowed only one chord, and in order to change it the circuit would have to be physically altered. The concept of the external oscillator is the important fact to point out because the production of the sound no longer presents critical real time operation to the computer. To further simplify this approach and reduce the necessity for N number of oscillators to produce N conceivable tones, we can design this external generator to be frequency programmable by controlling the timebase components. More on this later. More often than not, the sounds we hear are not pure tones, but rather are complex combinations of frequencies that are some- times mixed with noise. In many instances it is the characteristic presentation or ampli- tude variations rather than the frequency content which we recognize as the relevant quantity. Photo 1 shows a steam engine. For the model railroading buffs out there, it is a Lionel Southern Crescent steam engine. The chug-chug sound we all associate with trains is nothing more than white noise which is modulated. The amplitude, or envelope, is pulsed on and off to produce the character- istic sounds of a steam locomotive. While, in theory, the computer can directly synthe- size all of these sounds, the personal com- puting enthusiast might find it more reward- ing to consider a hardware alternative. Fortunately, Texas Instruments and Gen- eral Instrument have come to the rescue with LSI (large scale integration) sound generator integrated circuits. These integrated circuits contain the basic elements of sound 34 July 1979 © BYTE Publications Inc + 5 TO 12 V SN76477 VOLTAGE CONTROLLED OSCILLATOR AND PITCH- CONTROLS NOISE CLOCK AND FILTER CONTROLS ONE SHOT AND INHIBIT CONTROL ENVELOPE SELECT 1 GROUND EXTERNAL NOISE CLOCK NOISE CLOCK RESISTOR NOISE FILTER CONT. RESISTOR NOISE FILTER CONT. CAPACITOR DECAY CONTROL RESISTOR ATTACK/DECAY TIMING CAP SYSTEM INHIBIT ATTACK CONTROL RESISTOR AMPLITUDE CONTROL RESISTOR FEEDBACK RESISTOR AUDIO OUTPUT VOLTAGE CONTROLLED AND SUPER LOW FREQUENCY OSCILLATORS NOISE GENERATOR AND FILTER ONE SHOT CIRCUIT VOLTAGE REGULATOR ENVELOPE SELECT LOGIC ENVELOPE GENERATOR AND MODULATOR AMPLIFIER V CC ENVELOPE AUDIO SELECT OUTPUT ENVELOPE SELECT 2 MIXER SELECT C □ 27 MIXER SELECT A -^ 2S ^.MIXER SELECT B MIXER 'SELECT CONTROL ATTACK AND " DECAY CONTROLS •VOLUME CONTROL Figure 1 : Functional block diagram and pin descrip- tion of Texas Instruments SN764 77 complex sound generator. ONE SHOT CONT. RESISTOR ONE SHOT CONT. CAPACITOR □ 25 □ 24 □ 23 IZ2< VCO SELECT □ 21 SLF OSC. CONT. CAPACITOR □ 20 SLF OSC. CONT. RESISTOR □ 19 □ 18 □ 17 □ 16 PITCH CONTROL VCO CONTROL RESISTOR VCO CONTROL CAPACITOR V. reg synthesis: VCO (voltage controlled oscil- lators), mixers, envelope generators, noise generators, etc. The Texas Instruments unit is specifically designed to be used independ- ently with sound defined through compon- ent selection. The General Instrument unit is bus oriented and attaches to a micropro- cessor. Both produce sound, but their inter- faces are quite different. The SN76477 Complex Sound Generator The SN76477 complex sound generator produces sounds by the value selection of externally attached resistors and capacitors. Internally, as shown in figure 1, the generator contains two voltage controlled oscillators, a noise generator, envelope generator and modulator, and mixers. July 1979 © BYTE Publications Inc 35 SUPER LOW FREQUENCY OSCILLATOR SUPER LOW FREQUENCY OSCILLATOR CONTROL RESISTOR SUPER LOW FREQUENCY OSCILLATOR CONTROL CAPACITOR 20 21 2 A) Figure 2: The SLF (super low frequency) and VCO (voltage controlled oscil- lator) sections of the Texas Instruments SN- 764 77 complex sound gen- erator. The desired fre- quency is selected by adjusting the resistor and capacitor circuits. The fre- quency is determined by the following formulas: super low frequency = 0.64/R SLF x C SLF and voltage controlled oscil- lator=0.64/R vco xC vco . Figure 4: Outputs of the super low frequency oscil- lator, voltage controlled oscillator, and noise gener- ator are digitally selected. The control table indi- cates the output produced for any particular input. "SLF MINIMUM 7.5K _vw C SLF Figure 3: The noise gener- ator and filter section is composed of an external clock, two resistors, and a capacitor. The nominal value of R /y is 47 k ohms and the minimum value for Rfc/fis 7.5 k ohms. rh VOLTAGE CONTROLLED OSCILLATOR VOLTAGE CONTROLLED OSCILLATOR CONTROL RESISTOR VOLTAGE CONTROLLED OSCILLATOR CONTROL CAPACITOR EXTERNAL VOLTAGE CONTROLLED OSCILLATOR CONTROL PITCH CONTROL 2B) R VC0 -w, 'vco 16 O EXTERNAL INPUT 19 ^— ] PITCH CONTROL Oscillators Figure 2 illustrates the two oscillator sections and equations for frequency selec- tion. Figure 2a is an SLF (super low fre- quency generator) with a normal range of 0.1 Hz to 30 Hz. This super low frequency output is most often used to provide the input to the voltage controlled oscillator which runs at a higher frequency. Such a combination results in frequency modulated sound synthesis. A familiar example is a siren. The voltage controlled oscillator can be externally controlled by grounding pin 22. The frequency is then governed by a 0 to 2.35 V signal applied to pin 16. Signals above 2.35 V will saturate oscillator output. As a further enhancement, the voltage con- trolled oscillator allows pitch control through a similarly ranged signal applied to pin 19. EXTERNAL NOISE CLOCK NOISE CLOCK RESISTOR NOISE FILTER CONTROL RESISTOR NOISE FILTER CONTROL CAPACITOR external -Onoise CLOCK NF 'NF rt) The output of the voltage controlled oscillator and the super low frequency oscillator is a square wave which is supplied to the mixer and through the envelope selection logic to the envelope generator and modulator. Noise Generator and Filter Since so many sounds incorporate noise as an integral component, the 76477 in- cludes a noise generator which can be set to produce pink or white noise by selection of the proper components. (Pink noise has a spectral intensity inversely proportional to frequency over a specified range. White noise is random and has constant energy for a unit bandwidth.) Further refinement of the desired noise range is accommodated through an external clock input applied to pin 3. Figure 3 illustrates this hookup. The noise generator output is sent to the mixer. The Mixer and Envelope Selection Figure 4 shows how the mixer section of a sound generator works and specifically details the logic codes for the SN76477. The mixer is essentially a gating network which digitally combines the outputs from the super low frequency oscillator, voltage super low frequency - oscillator VOLTAGE CONTROLLED - OSCILLATOR NOISE- INHIBIT- I y i 26 MIXER MIXER MIXER SELECT SELECT SELECT C B A , OUT TO MODULATOR MIXER AND AMPLIFIER Mixer Select Inputs C B A Mixer (Pin 27) (Pin 25) (Pin 26) Output L L L VCO L L H SLF L H L NOISE L H H VCO/NOISE H L L SLF/NOISE H L H SLF/VCO/NOISE H H L SLF/VCO H H H INHIBIT H = high level L = low level or open 36 July 1 979 © BYTE Publications Inc puter id. intocomp For the first time: Hard-to-obtain computer music material has been collected into one convenient, easy-to- read book. The BYTE Book of Computer Music com- bines the best from past issues of BYTE magazine with exciting new material of vital interest to computer experimenters. The articles range from flights of fancy about the reproductive systems of pianos to Fast Fourier transform programs written in BASIC and 6800 machine language Included in this fascinating book, edited by Christopher P. Morgan, are articles discussing four-part melodies, a practical music interface tutorial, electronic organ chips, and a remarkable program that creates random music based on land terrain maps! ISBN 0-931718-11-2 $1000 Buy this book at your favorite computer book store or order direct from BYTE BOOKS Add 60C per book for postage and handling BITE "BOOKS OF INTEREST TO COMPUTER PEOPLE" 70 lVIciin Strc?t?t PeterfooroiiQli New Hcumpshirt? 03458 Circle 36 on inquiry card. BYTE July 1979 37 controlled oscillator, and noise generator through a 3 bit code applied to pins 25, 26, and 27. An additional inhibit state is added to shut off operation of the mixer when desired. The individual outputs of the voltage controlled oscillator, super low frequency oscillator and noise generator are selected with codes of 000, 001 , and 01 0 respectively, as shown in the chart accompanying figure 4. The true value of this device is demonstrated when complex sounds are produced by combining these three sources and utilizing the inhibit for emphasis. Figure 5a shows how the voltage con- trolled oscillator can be modulated by the super low frequency oscillator. As men- tioned, an example of this is a siren. If, on the other hand, the super low frequency oscillator were programmed as in figure 5b, and mixed with the noise generator, the mixer output would sound like the steam engine we previously discussed. For faster on/off pulsing of the noise generator, the voltage controlled oscillator could be selected, and would appear as in figure 5c. The inhibit line, rather than being an actual sound source, controls the duration of the other three sections. The internal one shot, triggering a 100 ms burst of noise to a loud amplifier, will sound like a gun shot. This is detailed in figure 5d. The combined mixer output then goes to the envelope generator and modulator where the amplitude (volume) of the output signal is tailored through proper attack and decay timing so that it will synthesize actual sounds accurately. A piano is most easily character- ized by its sharp attack and very long decay. Figure 6 outlines the component calcula- tions for these timed functions. Manual Sound Synthesizer The SN76477 is essentially an independ- ent sound generator. This means that with a few discrete components it can independently synthesize the sound of sirens, phasers, guns, etc. A computer is not required to program this device and, in fact, with the exception of the envelope, mixer and inhibit selection inputs, it is not directly controllable with a microprocessor. An example of a typical hardwired circuit using the SN76477 is shown in figure 7. This circuit simulates the sound of a steam engine and a whistle. The timing components were selected by using the equations outlined in figures 2 thru 6. This circuit produces two sounds by multi- plexing the mixer between the voltage controlled oscillator frequency and the super low noise outputs. Normally, with the push button open the super low frequency oscillator pulses the noise generator on and off, producing a chug-chug sound. When the button is pushed, oscillator IC2 multi- plexes the integrated circuit to the voltage Text continued on page 42 Figure 5: By carefully choosing what signals are combined, a variety of different types of sounds can be produced. Figure 5a shows a combination of the super low frequency generator and the voltage controlled oscillator pro- ducing a sound such as a siren. Figure 5b combines the super low frequency oscillator and the noise generator to generate a sound such as a steam engine. In figure 5c, the voltage controlled oscilla- tor and noise generator are mixed together to form a faster on and off pulsing than produced using the super low fre- quency generator. When the inhibit one shot is mixed with noise (figure 5d) the resulting sound would sound like a gun being fired. 5b 5c MIXER OUTPUT SUPER LOW FREQUENCY OSCILLATOR VOLTAGE CONTROLLED OSCILLATOR Jinruij - uinjiimrLTLT L_ JUUIIUIUUI MIXER OUTPUT SUPER LOW FREQUENCY OSCILLATOR NOISE •JUUUUl IflL VOLTAGE CONTROLLED OSCILLATOR NOISE MIXER OUTPUT 'jiuiniLJ^ MIXER OUTPUT 38 July 1979 © BYTE Publications Inc This exceptional print quality for $560! The new Comprint model 912 printer for computers and terminals: ■ Fast — 225 characters/second (170 Ipm) ■ 80 character lines on 8Vi" wide paper ■ Quiet, non-impact operation ■ 6 month warranty Available now at computer stores and industrial distributors. comprint 1 Computer Printers International, Inc. 340 E. Middlefield Rd., Mt. View, CA 94043 • 415 969-6161 Circle 48 on inquiry card. byte July 1979 39 Figure 6: The envelope selection (table) is deter- mined by envelope select 1 and envelope select 2 (pins I and 28) as shown in the table. The attack and decay timing is determined by R os , C os , R D , C, and TYPICAL MIXER OUTPUT ATTACK ONE SHOT ATTACK AND DECAY Envelope Select Function Selected 1 2 (Pin 1) (Pin 28) L L L H H L H H vco Mixer only One shot VCO with alternating cycles H = high level L = low level or open Ros Cos 23 7 Rd c 8 M . 10 )\ Ra ONE SHOT ~ 8 ( R 0 s' ID in T— t— T + CD a CD to CD eg CD CD CD CD CD z O O O CO <* ■a- a> -a T— CN CO ID E 3 U o CJ o O Z 1 to I I S § =3 I 8 ID c o cj AY-3-89IO ( NOISE GENERATOR TONE GENERATOR (3) AMP CONTROL ENVELOPE GENERATOR MIXERS (3) 4 BIT DIGITAL TO ANALOG CONVERTERS (3) ABC ANALOG OUTPUTS PARALLEL I/O Figure 9b: Map of the con- trol registers of the A Y-3- 8910. 44 July 1979 © BYTE Publications Inc REGISTER RO R2 R4 RS RI2 RI3 CHANNEL A TONE PERIOD V////////////7A CHANNEL B TONE PERIOD '//////////////, CHANNEL C TONE PERIOD YZZZZZZZZZZZZZA 4 bit coarse ™ E NOISE PERIOD '//////////A ENABLE CHANNEL A AMPLITUDE CHANNEL B AMPLITUDE CHANNEL C AMPLITUDE ENVELOPE PERIOD ENVELOPE SHAPE / CYCLE I/O PORT A DATA STORE I/O PORT B DATA STORE B7 B6 B5 B3 B2 Bl BO 8 BIT FINE TUNE A 4 BIT COARSE TUNE A 8 BIT FINE TUNE B 4 BIT COARSE TUNE B 8 BIT FINE TUNE C 5 BIT PERIOD CONTROL V//////////, V//////////, L2 LI 8 BIT FINE TUNE E 8 BIT COARSE TUNE E •//////////////A CONT ATT ALT HOLD 8 BIT PARALLEL I/O ON PORT A 8 BIT PARALLEL I/O PORT B Figure 9c: Pin designations of the AY-3-8910 device. Text continued from page 42: recently introduced and it is designed specifically as a bus controlled device. This new device is the AY-3-8910 from General Instrument. It uses no external components and synthesizes sounds totally by digital means. A functional block diagram is shown in figure 9a. You'll notice a similarity between this programmable sound generator and the Texas Instruments device in that they both contain the same elemental sound synthesis components such as noise and tone gener- ators. The real difference is that the General Instrument programmable sound generator is programmed through 16 read/write control registers rather than resistors and capacitor's. These registers appear as 16 sequential memory mapped I/O (input/ output) locations to the controlling processor. The AY-3-8910 incorporates a noise gen- erator, three tone generators, three mixers, an envelope generator and three digital to analog converters for amplitude control. An added benefit is the inclusion of two decoded I/O ports which are available for other external applications. All subsystems are controlled through the control register array. The device is specifically designed to interface with the General Instrument CP1600 series of microprocessors but it can be easily accommodated by others. Figure 10 illustrates this simple attachment. A bidirec- tional address/data bus, DAO thru DA7, provides the necessary communication path. Since there are 16 registers, only four bits of address are actually used, and A8 and A9 serve more as device select lines by defini- tion. BC1, BC2, and BDIR are the bus con- trol lines and define bus direction, reading, and writing of register data. While an inex- pensive circuit such as that shown in fig- ure 1 1 can be used as the clock for both the processor and the programmable sound generator, they are basically independent and can be different rates. The programmable sound generator clock is primarily used for the sound synthesis. The reset line clears all registers. For all practical purposes, signal, line BC2 is unnecessary and can be tied to +5 V. The read/write control logic is shown in table 4. The timing of BC1 and BDIR control lines are shown in figure 12. Data transfer is carried out by strobing these lines, while the Text continued on page 48 TOP VIEW i VSS (GND ) C • i u 40 NC i — 2 39 ^ n h tv rs l L □ 1 — 3 38 CHANNFl A 4 37 N C 1 .. 5 36 10 B7 i — 1 6 35 IOB6 r— 1 7 34 r do ^ iUtJO i 1 8 33 I0B4 9 32 I0B3 1 l_ 10 31 t riR? I 1 1 1 30 t a n i i 12 29 IOB 0 cm 13 28 lflA7 lUAf i — 14 27 I0A6 c= 15 26 IOA5 16 25 IOA4 C 17 24 I0A3 18 23 I0A2 C 19 22 IOAI cz 20 21 ANALOG CHANNEL C DAO DA I DA2 DA3 DA4 DA5 DA6 DA7 BCI BC2 BDIR TEST 2 A8 A9 RESET CLOCK Whistling Bomb Sound Effect Register Number Any not specified R7 R10 RO RO R6 R7 R10 R11 R12 R14 R15 Hexadecimal Load Value 00 3E OF 30 (start) CO (end) Explanation OF 07 10 10 10 10 00 } Enable tone only on channel A only. Select maximum amplitude on channel A. {Sweep effect for channel A tone period via a processor loop with approximately 25 ms wait time between each step from 30 to CO (0.429 ms/2330 Hz to 1 .72 ms/582 Hz). Set noise period to midvalue. Enable noise only on channels A,B,C. Select full amplitude range under direct control of envelope generator. Set envelope period to 0.586 seconds. Select envelope decay, one cycle only. Phaser Sound Effect Hexadecimal Register Number Load Value Explanation Any not specified 00 R7 3E Enable tone only on channel A only. R10 OF Select maximum amplitude on channel A. {Sweep effect for channel A tone period via a processor loop with approximately 3 ms wait time between each step from 30 to 70 (0.429 ms/2330 Hz to 1 .0 ms/1000 Hz). R10 00 Turn off channel A to end sound effect. Table 3: Values which are loaded into the control registers of the General Instrument A Y-3-8910 sound generator in order to produce the indicated sound effects. July 1 979 © BYTE Publications Inc 45 Figure 10: Typical micro- processor to programmable sound generator interface. MICROPROCESSOR r BUS , CONTROL < ADDRESS < AND DATA BUS CLOCK — 22 RESET 23 BC I 29 BC 2 28 , B DIR 27 30 f V DAO- DA7 J A8 37 25 i A9 24 AY-3-8910 CLOCK ANALOG RESET CHANNEL A BCI ANALOG CHANNEL B ANALOG BC2 CHANNEL C BDIR DAO - DA7 A8 A9 PORT A 4 ANALOG A 3 ANALOG B 38 ANALOG C PORT B 8 BITS 8 BITS v J PARALLEL I/O IOK 100/iF AUDIO AMP SPEAKER CLOCK GENERATION 1.7897725 MHz 0.8948863MHz 3.579545 MHz CRYSTAL IOM -- Wv- ?3oon 3 ICI CD4069 I M Is 13 9 A PROGRAMMABLE SOUND GENERATOR CL 22 12 02 DATA H 02 01 CLOCK 2 RESET I 4013 SET I SET 2 Ol DATA I RESET 2 I 7897725 MHz CLOCK TO PSG 10 PROGRAMMABLE SOUND GENERATOR /77 CHANNEL AUDI ° OUTPUT INTERFACE +5V OUTPUTS A Figure 1 la: A simple clock generator which can be used as a clock for the processor and the pro- grammable sound gener- ator. Number Type +5 V GND IC1 CD4069 14 7 IC2 4013 14 7 IC3 LM386 6 4 m Figure lib: A typical audio output interface for driving a speaker from the programmable sound generator. 46 July 1979 © BYTE Publications Inc Circle 151 on inquiry card. ATTACK I \ 4 O < ;> CLC LD8 14 ADC *V TAV' LDA 14 ADC *X JSR PLOT PLOT <26-Y, 28+>0 SEC LDfi 14 sec *v TAV JSR PLT1 PLOT t2f*&28-V) CLC LDA 14 ADC *X TAV SEC LDfi 14 SBC *V JSR PLOT PLOT (28-X,28-Y> SEC LDA 14 SBC *X TAV JSR PLT1 PLOT <20+V,26-X> CLC LDfl 14 ADC *V TAY SEC LDfl 14 SBC *X JSR PLOT PLOT (2P-V.28-X) SEC LDfl .14 SBC *V TAV JSR PLT1 RTS X DL 6810 V DL 0611 2 DL 0812 PLOT DL F888 52 July 1979 © BYTE Publications Inc 085E 085F 0861 0864 0867 0869 086C 08Q- 0871 0872 0874 0877 0879 087B 087E 088b 0882 088!. 0888 0889 088E 088f 089P 0892 0893 0895 0897 0899 089B 0890 089E 08fle 08fi2 08fl5 08fl8 08HH 08flD 0866 0882 08BR 08B6 88BD 08EF 08C1 08CS 08C5 08C7 08Cfl 08CC 08CE 0800 0802 E8 D88D EE7038 RD78W8 09E6 8D7968 E615 BD88E0 68 R518 268998 8518 H511 288968 8511 R512 2064F8 288388 68 858F 285E98 1862 E60F 6fi 9082 C68F R56F 1883 fi.913 60 C914 D882 R908 60 2832F8 R906 805003 8D52C9 8513 8514 8515 8516 8517 flfl R513 8518 R514 8511 R515 8512 287268 R516 8513 R5il 8514 8516 8830 8840 8856 8866 88713 0886 0896 8966 0916 9926 0936 8940 0956 8966 0976 8986 0936 I860 1810 1820 1630 1846 1656 I960 1876 1686 1896 1166 1116 1126 1136 1146 1150 1166 1170 1186 1196 1206 121 8 1226 1236 1240 1256 1268 1276 1286 1290 1300 1310 1320 1336 1346 1356 1360 1370 1386 1396 1400 1418 1426 1436 1446 1456 1466 1476 1480 1496 RND . DL F88E 08D4 8518 1506 STR *X SVrfDL TABLE k58D6 Rolf 1516 LDfi ■J -1 It 11 t DRAW 089S Run NUHBr. Kb 08D8 8511 SIR X 8810 08DR R900 1536 LDR 08 V 8811 lm 08CC 8512 1540 STR *2 z 8012 BNE GRflS 08DE 287268 1556 JSR GUTS PLOT F890 INC GftHc:+92 08F1 R518 1560 LDfi *X FLTi F80F LDR GRftP+02 W8E3 8516 1570 STR *XXX RND 085E ORH 0E8 08E5 R51.1 1580 LDR *v GRAF: 886 F. STR GRftB-tBi 08E7 8517 1590 STR *vw GUTS 8872: INC *2Z 08E9 RD86C0 1600 LDR $C099 STEP 8889 LDfi BASE, X 08EC 18CD 161 0 BPL LOOF' COHT 8892 RTS 08EF R980 1626 LDfi 60 TEST 0897 08F8 8DM '3 1630 STR $C01 8 CMP 889!: n tpd-v it t in"* ilBKuul INI: 08F3 RO80C0 164 0 WRIT LDfi $C800 EXIT 88R4 08F6 18FB 1650 BPL WAIT WORK 80OF LDfi *X 08F8 RStfW 1660 LDfi 68 STAR B8R5 JSR STEP 08FR 8O18C0 1676 STR 1 C010 LOOP 88BB STR *X 88FS F0BC 1686 PER LOOP WRIT 88F3 i r\c\ -art i LDR *Y 1696 XX . DL 001 3 Kill 961 ■*■> JSR STEP 1780 w . DL 6614 w 8014 STR *V 1716 7? . DL 6015 zz 8815 LDR *?. 1726 XXX . DL 0016 XXX 8016 jsr SETC 1736 vw . DL 0017 vw 8617 JSR DRflW 1746 BASE . CL E000 BASE E800 RTS' 1756 SETC . DL F'864 SETC F864 STR *WORK 1766 GR . DL F'832 GR F832 JSR RND 1776 END . EN END 88FF CONT *HORK CONT BPL INC ROR BCC DEC TEST LDfi BPL LDR RTS CMP BNE LDR EXIT RTS WORK . DL 608F CUP TEST *IJORr( *WQRK CUP 13 14 EXIT 00 MAIN PROGRAM STAR JSR LDA STR STA STR STR STR STR STR TAX LOOP LDA STA LDR STA LDR STR JSR LDR STR LDR STR LDR GR 00 *C850 SC052 *XX *VY *ZZ *XXX *WV *XX *X *W *y *2Z *Z GUTS *X *XX *v *VY *xxx computer mart of new jersey computer mart of Pennsylvania the i ■ microcomputer people Computers don't moke a computer store, PEOPLE do. Our people have been involved with microcomputers since day one. We offer experience and expertise unparalleled in the microcomputer industry. Whether you are in the market for a complete system, peripherals, custom software, service, or just some friendly advice; there simply is no other place to go. Computer Mart of Now Jonoy SOI Rout* 27 Itolln. NJ 0o»3O (201)203-0600 STORE HOURS Tuos. - Sot. 10am - 6pm Tims. & Thurs. 'till 9pm CLOSED MONDAYS Computtr Mart of Pennsylvania. SMDoKaloPllw King of Prussia. PA 19406 (213)263-2390 Circle 66 on inquiry card. July 1 979 © BYTE Publications Inc 53 A Model of the Brain for Robot Control Part 2: A Neurological Model James Albus Project Manager United States Dept of Commerce National Bureau of Standards Washington DC 20234 The ideas presented in this article represent the views of the author and not those of the Department of Commerce or the National Bureau of Standards. In part 1 I described how sensory inter- active, goal directed behavior can be gener- ated and controlled by a multilevel hierarchy of computing modules. At each level of the hierarchy, input commands are decomposed into strings of output subcommands which form the input commands to the next lower level. Feedback from the external environ- ment, or from internal sources, drives the decomposition process and steers the selec- tion of subcommands so as to achieve successful performance of the task of reaching the goal. In this article I will address questions of what kind of neurologi- cal structures are believed to exist in the brain and what kind of computations, memory storage methods, and associative recall effects these structures seem to be performing. Unfortunately, definitive experimental evidence about the structure and function of neurological circuitry in the brain is extremely difficult to obtain. Neurons, the brain's computing elements, are very tiny and delicate. It is hard to measure what is happening in them without damaging them or otherwise interfering with the flow of information related to their operation. Techniques do exist for measuring the activity of individual neurons and sometimes even observing the behavior of several neurons at the same time. There are also techniques which make it possible to moni- tor synchronized changes in the activity of large numbers of neurons. However, the brain is such a complicated anatomical structure, with such a jumbled interconnection of different kinds of neurons being excited and inhibited by such a broad variety of chemical and electrical stimuli, that it is impossible to infer from these measurements any very sophisticated ideas about what mathematical functions are being computed or what procedures are being executed. Neurons are as varied in size, shape, and type as trees and bushes in a tropical forest, and often are as closely intertwined and interconnected as a bramble patch over- grown with vines. Many of their most important information processing properties are statistical in nature, and these statistics may apply over ensembles of thousands of neurons. The situation is further complicated by multiple feedback loops, some of which are confined to small, local clusters of neurons, and others which may thread through several entirely different regions of the brain. The result is that no one has yet been able to construct a clear picture of the overall information processing architecture in the brain. At present there exists no generally accepted theory which bridges the gap be- tween hard neurophysiological measurements and psychological concepts such as percep- tion and cognition. Nevertheless, there is much that is known with certainty about the structure and function of at least some parts of the brain, particularly in the periphery of the sensory and motor systems. A great deal can be inferred from this knowledge. Furthermore, there is one area, the cerebellar cortex, where the geometry is sufficiently regular to enable researchers to positively identify a 54 July 1979 © BYTE Publications Inc September 1977 March 1979 Byte Cover Prints -- Limited Editions. The September 77 and March '79 covers of BYTE are now each available as a limited edition art print, personally signed and numbered by the artist, Robert Tinney. These prints are strictly limited to a quantity of 750 for each cover, and no other editions, of any size, will ever be published. Each print is 18" x 22", printed on quality, coated stock, and signed and numbered in pencil at bottom. The price of each print is $25. This includes 1) a signed and numbered print; 2) a Certificate of Authenticity, also signed personally by the artist and witnessed, attesting to the number of the edi- tion (750), and the destruction of the printing plates; and 3) first class shipment in a heavy-duty mailing tube. To order your limited edition art print, fill out and mail the order form below. Send me "Breaking the Sound Barrier" prints at $25 each, and "Trap Door" prints at $25 each. I understand this price in- cludes Certificate of Authenticity and first class shipment. □ I have enclosed check or money order to Robert Tinney Graphics. □ Charge this to my Master Charge or Visa Ship my print(s) to: Name Address. City State. .Zip. Card #_ Expires:. Send order to: robert tinney graphics P.O.Box 45047 - Baton Rouge, LA 70895 Circle 369 on inquiry card. BYTE July 1979 55 The principal input to the cerebellar cortex arrives via mossy fibers. number of important neurophysiological relationships. The cerebellum, which is attached to the midbrain portion of the upper spinal cord and nestles up under the visual cortex, as shown in figure 1, is intimately involved with control of rapid, precise, coordinated movements of limbs, hands, and eyes. Injury to the cerebellum results in motor deficiencies, such as overshoot in reaching for objects, lack of coordination, and the inability to execute delicate tasks or track precisely with the eyes. During the 1960s, advances in the tech- nology of single cell recordings and electron microscopy made possible an elegant series of experiments by Sir John Eccles and a number of others. These experiments identified the functional interconnections between the principal components in the cerebellar cortex. A brief outline of the structure and function of the cerebellar cortex is shown in figure 2. The principal input to the cerebellar cortex arrives via mossy fibers (so named because they looked like moss to the early workers who first observed them through a microscope). Mossy fibers carry information from, a number of different sources such as the vestibular system (balance), the reticular formation (alerting, the cerebral cortex (sensory-motor activity), as well as from sensor organs which measure such quantities as position of joints, tension in tendons, velocity of contraction of muscles, pressure on skin, etc. It is possible to categorize MOTOR CORTEX SENSORY CORTEX AUDITORY CORTEX BRAIN STEM VISUAL CORTEX CEREBELLUM SPINAL CORD Figure 7. Side view of human brain showing the cerebellum attached to the brain stem and partially hidden by the visual cortex. mossy fibers into at least two classes based on their point of origin: one, those carrying information which may include commands from higher levels in the motor system; and two, those carrying feedback information about the results of motor outputs. Once these two sets of fibers enter the cerebellum, however, they intermingle and become virtually indistinguishable. The feedback mossy fibers tend to exhibit a systematic regularity in the mapping from point of origin of their information to their termination in the cerebellum. It is thus possible to sketch a map of the body on the surface of the cerebellum corresponding to the origins of feedback mossy fiber informa- tion, as shown in figure 3. This map is not sharply defined, however, and has consider- able overlap between regions due in part to extensive intermingling and multiple over- lapping of terminations of the mossy fibers in the cerebellar granule cell layer. Each mossy fiber branches many times and makes excitatory (+) contact with several hundred granule cells spaced over a region several millimeters in diameter. Granule cells are the most numerous cells in the brain. It is estimated that there are about 3 X 10 10 granule cells in the human cerebellum alone. There are 100 to 1000 times as many granule cells as mossy fibers. Each granule cell is contacted by 5 to 1 2 mossy fibers and gives off a single output axon which rises toward the surface of the cerebellum. When it nears the surface this axon splits into two parts which run about 1.5 mm in opposite directions along the folded ridges of the cerebellum, making contact with a number of different kinds of cells in passage. These axons from the granule cells thus run parallel to each other in a densely packed sheet (hence the name, parallel fibers). One of the cell types contacted by parallel fibers are Golgi cells (named for their discoverer). These cells have a widely spread dendritic tree and are excited by parallel fibers over a region about 0.6 mm in diam- eter. Each Golgi cell puts out an axon which branches extensively, making inhibitory (— ) contact with up to 100,000 granule cells in its immediate vicinity, including many of the same granule cells which excited it. The dendritic trees and axons of neighboring Golgi cells intermingle so as to blanket the entire granular layer with negative feedback. The general effect is that of an automatic gain control on the level of activity in the parallel fiber sheet. It is thought that the Golgi cells operate such that only a small and controlled per- centage (perhaps as little as 1 percent or 56 July 1979 © BYTE Publications Inc Figure 2. The principal cells and fiber systems of the cerebellar cortex. Command and feedback information arrives via mossy fibers, each of which make excitatory (+) contact with several hun- dred granule cells. Golgi cells sample the response of the granule cells via the parallel fibers and suppress by inhibitory (—) contacts all but the most highly excited granule cells. Pur- kinje cells are the output of the cerebellar cortex. They sum the excitatory ( +) effect of parallel fibers through weighted connec- tions. They also receive inhibitory (—) input from parallel fibers via bas- ket cell inverters. The strengths of these weights determine the transfer function of the cerebellar cortex. Climbing fibers are believed to adjust the strength of these weights so as to train the cere- bellum. less) of the granule cells are allowed above threshold at any one time, regardless of the level of activity of the mossy fiber input. Any particular pattern of activity on the mossy fiber input will produce a few granule cells which are maximally excited, and a great many others which are less than maximally stimulated. The Golgi cells suppress the outputs of all but the few maximally stimulated granule cells. The result is that every input pattern (or vector) is transformed by the granule layer into a small, and relatively fixed percentage, or subset, of parallel fibers which are active. These active parallel fibers not only contact Golgi cells, but make excitatory contact with Purkinje cells (named for their discoverer) and basket and stellate cells (named for their shapes) through weighted connections (synapses). Each Purkinje cell performs a summation over its inputs and produces an output which is the output of the cerebellar cortex. The basket and stellate cells are essentially inverters which provide the Purkinje with negative weights that are summed along with the positive weights from parallel fibers. Figure 3. A map of the surface of the cerebellar cortex showing the point of origin of mossy fiber feedback and ultimate destination of Purkinje cell output. July 1979 & BYTE Publications Inc 57 The Golgi cells suppress the outputs of all but the few maximally stimulated granule cells. A second set of fibers entering the cerebellar cortex are the climbing fibers, so named because they climb all over the Purkinje cells like ivy on a tree. There is typically one climbing fiber for each Purkinje cell. It is believed that these climbing fibers have some role in adjusting the strength of the weighted synaptic connections with the parallel fibers, so as to alter the Purkinje output. Climbingfibers are thus hypothesized to provide the information required for learning. The availability of such detailed knowl- edge regarding the structure and function of the various cell and fiber types in the cerebellum has led a number of theoreticians to propose mathematical models to explain the information processing characteristics of the cerebellum. One model was developed independently in Great Britain by David Marr and in the United States by myself. The general outlines of this model are shown in figure 4. My further work has produced the more abstract version illustrated in figure 5, as well as a mathematical formalism called the CMAC (Cerebellar Model Arithmetic Computer). Figure 4. A theoretical model of the cerebellum. CMAC is defined by a series of mappings: S^M^ A-^p where: S is an input vector; M is the set of mossy fibers used to encode S; A is the set of granule cells contacted by M; p is an output value. The overall mapping: S^p has all of the properties of a function: p = h (S) as described in part 1. A set of L CMACs operating on the same input produces a mapping: S^P which has the properties of the function: P = H (S). TABLE OF WEIGHTS COMMANDS FROM SELECTION HIGHER LEVELS 0F WEIGHTS DESIRED OUTPUT 58 July 1979 © BYTE Publications Inc Meet Super Grip II, the great new test clip from A P Products. L N New narrow-nose design makes it easy to attach on high-density boards. And now you can test ICs with only .040" between opposing legs. New "duck bill" contacts are flat, won't roll off IC leads. Open-nose construction enables probe at IC leg. Pin rows are offset for easy attach ment of probes. Contacts are gold-plated phosphor bronze. "Contact comb" construc- tion separates contacts with precision. No shorts. Heavy-duty, industrial-grade springs for firm contact pressure— and a good grip when pulling ICs. They'll keep their spring Indefinitely. No intermlttents. Steel pivot pin. Engineering-grade thermoplastic body molded around contact pins. Made to lastl ti f f #11 f t f I Mimmm ' New button-head pins keep probes from sliding off. (Straight pin models for logical connections.) The new A P Super Grip II is, without question, the best way there ts to trouble- shoot DIP ICs. You get positive contacts. No Inter- mittents. No shorts. Ever. So It's endlessly useful to you— and It's built to stay useful indefinitely. Try one. You'll find 8, 14, 16, 16 LSI, 18, 20, AP PRODUCTS INCORPORATED Box 1 1 0D • 72 Corwin Drive Painesville, Ohio 44077 Tel. 216/354 2101 TWX: B1 0-425-2250 22. 24, 28, 36 and 40-pin models at your nearby A P store. (Make sure It's your A P store.) Need the address? Call (toll-free) 800- 321-9668. And ask for our complete A P catalog, The Faster and Easier Book. Faster and Easier is what we're all about. Circle 10 on inquiry card. BYTE July 1979 59 MOSSY FIBER INPUT FROM HIGHER CENTERS SELECTION OF ACTIVE PARALLEL FIBERS ADJUSTABLE WEIGHT SYNAPSES MOSSY FIBER FEEDBACK FROM LIMBS SUMMATION OF SYNAPTIC INFLUENCE CLIMBING FIBER INPUT Figure 5. A schematic representation of CM AC (Cerebellar Model Arithmetic Computer). We may describe the information encoded by mossy fibers as a vector S = C + F where: Pulse frequency and phase modulation are subject to quantization noise and bandwidth limitations. 5 1> »2, ., Sj) is a vector, or list, of command variables; and F= (sj + i , . . ., s N ) is a vector, or list, of feedback variables. + is an operator denoting the combination of two vectors defined by two lists of variables into a single vector or list of variables. That is: S = C + F means that S = (s 1 , s 2 , . . ., Sj, s j+1 , . . ., s N ). Some of the elements of the command vector C may define symbolic motor com- mands such as , , , etc. The remainder of the ele- ments in C define arguments, or modifiers, such as the velocity of motion desired, the force required, the position of the terminal point of a motion, etc. Elements of the feedback vector F may represent physical parameters such as the position of a particu- lar joint, the tension in a tendon, the velocity of contraction of a muscle, the pressure on a patch of skin, and so on. Mapping S -> M The vector components of S must be transmitted from their various points of origin to their destination in the cerebellar granular layer. Distances may range from a few inches to over a foot. This presents a serious engineering problem because mossy fibers, like all nerve axons, are noisy, unreli- able, and imprecise information channels with limited dynamic range. Pulse frequency and pulse phase modulation (which the brain uses for data transmission over long dis- tances) are subject to quantization noise and are bandwidth limited. Nerve axons typically cannot transmit pulse rates above two or three hundred pulses per second. Neverthe- less, high resolution high bandwidth data is required for precise control of skilled actions. The brain solves this problem by encoding 60 July 1 979 © BYTE Publications Inc each of the high precision variables to be transmitted so that it can be carried on a large number of low precision channels. Many mossy fibers are assigned to each input variable such that any one fiber conveys only a small portion of the information content of a single variable. The nature of this encoding is that any particular mossy fiber will be maximally active over some limited range of the variable that it encodes, and less than maximally active over the rest of its variable's range. For example, the output of the mossy fiber labeled a in figure 6 is maximally active whenever the elbow joint is between 90° and 120° and is less than maximally active for all other elbow positions. The mossy fiber labeled b in figure 6 is maximally active whenever the elbow angle is greater than 160°. Now if there exists a large number of mossy fibers whose responses have a single maximum but which are maximally active over different intervals, it is then possible to tell the position of the elbow quite precisely by knowing which mossy fibers are maxi- mally active. For example, in figure 7 the fact that mossy fibers a, b, and c are maxi- mally active indicates that the elbow joint is between 118° and 1 20°. The CMAC models this encoding scheme in the following way: define rrij to be the set of mossy fibers assigned to convey the value of the variable Sj.; define rrij* to be the mossy fibers in m| which are maximally stimulated by a particular value of Sj. If for every value of Sj over its range there exists a unique set rrij* of maximally active mossy fibers, then there is a mapping S| ** rri|* such that knowing rrij* (ie: which fibers in irij are maximally active) tells us what is the value of Sj. If such a mapping is defined for every component Sj in the vector S then we have a mapping: !>, -*m-,* s 2 -* m 2 * s N -+m N * where M is the set of all mossy fibers which encode the variables in the vector S. In CMAC each of the S; rrij* mappings may be defined by a set of K quantizing functions 'C-j, ^C 2 , . . ., 'C k each of which is offset by a value of 1 /K times the quantizing interval. An example of this is given in figure 8 where K = 4 and N = 2. Component s-[ is represented along the horizontal axis, and the range of s 1 is covered by four quantizing functions: 1 q I A, B, C, D, E ( vc 1 3 1r. = IF, G, HJ.Kf |M,N, P, Q, Rj C 4 = jS,T,V,W,X| . Each quantizing function is offset from the previous one by one resolution ele- ment. For every possible value of Sj there exists a unique set nr^* consisting of the set of values produced by the K quantizing functions. For example (in figure 8), the value s 1 = 7 maps into the set m 1 * = jB, H, P,V{. A similar mapping is also performed on s 2 by the set of quantizing functions: 2 q =|a, b, c, d,e| 2 C 2 = |f, g, h, j, k | 2 C 3 =|m, n, p, q, r| 2 C 4 = |s, t, v, w, x } . For example, the value s 2 = 10 maps into the set m 2 * = jc, j, q, v}. Now, if the s-, component in figure 8 corresponds to the position of the elbow joint, the mossy fiber labeled B will be maximally active whenever Text continued on page 64 FIRING RATE 90" 120° ELBOW POSITION 160° Figure 6. Typical responses of mossy fibers to the sensory variable they encode. FIRING RATE 1 —I I U I L 0 o ooo o to 01 O r« ro <* ELBOW POSITION Figure 7: Three different mossy fibers encoding a single sensory variable (elbow position). All three fibers maximally active simultaneously indicates that the elbow lies between 1 18° and 120°. July 1979 © BYTE Publications Inc 61 NEECO PET 2001 — 32K PROUDLY ANNOUNCES THE NEWEST PET MICROCOMPUTERS BY COMMODORE! The PET™ is now a truly sophisticated Business System with the announcement of these Peripherals. engineering. tooSmakirig purine, siducalion. energy con serwaiion. eic Tne PET" Business System as a management tool delivers information to alt levels ol Business, previous^ altainatjle only w.in uquipmenl many times mom expensive Ttie PET" Busmuss System is one ol tne most cost effidert business tools today It offers a -.vifif.- r.-jnrji; dI d(ip!ications from logging management strategy in mapr cntpoiations to orijarv.'in;] accounts and mveniory coniiul ol small businesses Heie areius! a lew o( Ihe cost-saving uses mine corporahon professional oilice or small Business slock control purchasing, lorecasling irianiitacluringcusling.cuSlomer records mailing lisls. eic The PET " Floppy Disk and Printer, a oompaliEie business syslem a! a i price — Take a closer look al tnese Peripherals PET LARGE TYPEWRITER KEYBOARDS NOW AVAILABLE! PRODUCT DESCRIPTION PRICE AVAILABILITY PET 2001— 4K 4K RAM $ 595 IMMEDIATE PET 2001— 8K 8K RAM $ 795 IMMEDIATE PET 2001— 16KN (Large Keys)16K RAM* $ 995 IMMEDIATE PET 2001— 32KN (Large Keys)32K RAM $1295 IMMEDIATE PET 2023 PRINTER ROLL FEED $ 850 IMMEDIATE PET 2022 PRINTER TRACTOR/ROLL $ 995 IMMEDIATE PET 2040A SINGLE FLOPPY $ 895 JUNE/JULY PET 2040 DUAL FLOPPY* $1295 IMMEDIATE PETC2N 2nd Cassette $100 IMMEDIATE 'The 16K/32K (large keyboard) units do not include a cassette drive. Order C2N Cassette. 2040 Floppy Drive requires a 16K or 32K unit. 8K RAM Retrofit available July. ALL UNITS AREFULLYTESTED BY NEECO BEFORE SHIPMENT. ALL PET'S ARE WARRANTEED (BY NEECO) FOR 1 FULL YEAR! NEECO IS A FULL CUSTOMER- ORIENTED BUSINESS. PLEASE CALL FOR ADDITIONAL INFORMATION. ALL UNITS ARE IN STOCK & READY TO SHIP. FULL SOFTWARE AVAILABLE! THE NEW commodore PET PERIPHERALS! PET Pill i 2040 2022 Dual Drive Floppy Disk Tractor Feed Printer The Dual Drive Floppy is the latest in Disk technology with extremely large storage capability and excellent file management. As the Commodore disk is an "Intelligent" peripheral, it uses none of the RAM (user) memory of the PET ,M . The Floppy Disk operating system used with the PET'" computer enables a program to read or write data in the background while simultaneously transferring data over Ihe IEEE to the PET'". The Floppy Disk is a reliable low cost unit, and is convenient for high speed data transfer. Due to the latest technological advances incorporated in this disk, a total of 360K bytes are avail- able in the two standard 5VS" disks, without the problems of double tracking or double density. This is achieved by the use of two microprocessors and fifteen memory I.C.s built into the disk unit. Only two connections are neces- sary — an A/C cord and PET'" interface cord. CALL FOR COMPLETE SPECIFICATIONS! IMMEDIATE DELIVERY! NEW ENGLAND AREA SUB-DEALERSHIP INQUIRIES INVITED! The Traclor Feed Printer is a high specification printer that can print onto paper (multiple copies) all the PET™ characters — letters (upper and lower case), numbers and graphics available in the PET™ The tractor feed capability has the advantage of accepting mailing labels, using standard preprinted forms (customized), cheque printing for salaries, payables, etc. Again, the only con- nections required are an A/C cord and PET™ connecting cord. The PET™ is programmable, allowing the printer to format print for; width, decimal position, leading and trailing zero's, left margin justified, lines per page, etc. It accepts BVi" paper giving up to four copies. Bidirec- tional printing enables increased speed of printing. CENTRONICS 730 PRINTER • COMBO FRICTION/TRACTOR • 50 CPS, UPPER/LOWER CASE • 7x7 DOT MATRIX IMPACT • 80 CHARACTER BUFFER • 80 OR 20 COLUMNS $995 ONLY PET INTERFACE $150 COMBO PRICE: $1095 BUSINESS SOFTWARE BUSINESS PACKAGES AVAIL- ABLE ON THE 2040 DUAL FLOPPY: BUSINESS PAYROLL - COMPLETE MAILING LIST — STATISTICAL PACKAGE - GENERAL LEDGER — (UP TO 1,024 A/R's, 512 A/P's, 512 GEN LED ACCTS, POSTING, DISBURSEMENT, AGEING, B/S, l?S, AND MANY OTHER FUNCTIONS!) COMPLETE WORD PROCESSING PACKAGES. WECANNOTLISTALLOF OUR SOFTWARE AND HARDWARE PRODUCTS CALLOR WRITE FOR OUR* FREE* SOFTWARE/HARDWARE DIRECTORY ALL NEECO PETS CARRY A FULL ONE-YEAR NEECO WARRANTEE. NEECO f NEW ENGLAND ELECTRONICS CO., INC. tCH J\ 44Q."1 7Cf) 679 HIGHLAND AVE.. NEEDHAM. MASS. 02194 * U / 1 ' 679 HIGHLAND AVE., NEEDHAM, MASS. 02194 MON. - FRI. 9:30 - 5:30, EST. MASTERCHARGE OR VISA ACCEPTED TELEX NUMBER 951021, NEECO 62 BYTE July 1979 Circle 281 on inquiry card. IN I MAX C ° "FULLY INTEGRATED COMPUTER SYSTEM" MINIMAX SERIES COMPUTER THE MINIMAX SERIES WAS DESIGNED TO OFFER THE MARKET MINICOMPUTER CAPABILITIES AT MICROCOMPUTER PRICES. COMPARE THE CAPABILITIES & PRICE! CONTACT NEECO FOR FULL SPECS - FREE MINIMAX MANUAL. MEET THE MINIMAX COMPUTER THE MINIMAX SERIES computer was designed by industry professionals. COMPARE THE PRICE AND FEATURES TO ANY OTHER COMPUTER IN ITS CLASS! MINIMAX I - .8 MEGABYTE ON LINE MINIFLOPPY STORAGE MINIMAX II - 2.4 MEGABYTE ON LINE 8" FLOPPY STORAGE MINIMAX I - MINIMAX II - $4495 $5995 • THE MINIMAX SERIES COMPUTER IS AN INTEGRATED, COMPACT UNIT CONTAINING THE CPU, DUAL DENSITY DISK STORAGE, 12 INCH CRT, AND FULL STYLE KEYBOARD. WITH SEPARATE NUMERIC ENTRY PAD. ALL KEYS (INCLUDING CURSOR) WITH FULL REPEAT • HYBRID 2 MEGAHERTZ 6502 CPU • 10BK SYSTEM RAM (48K USER) • FASTEST FLOPPY DISK ACCESS (24K LOADS IN 4.2 SECONDS) • 16K ROM CONTAINS COMPUTHINK BASIC (AN EXTENDED MICROSOFT BASIC) WITH EXTENDED PRECISION, DOS INCLUDES COMPLETE FILE I/O WITH FULL RANDOM ACCESS, COMPLETE MONITOR WITH DEBUG & TRACE, AND TINY 6502 ASSEMBLER • COMPLETE HIGH RESOLUTION GRAPHICS WITH INDIVIDUAL DOT (240 x 512) POINT SCREEN ADDRESSABILITY • FULL SCREEN TEXT EDITING WITH OVERWRITE, INSERTION OR DELETION • SPLIT SCREEN/WINDOW MODES • INDIVIDUAL FIELD EDITING WITH FIELD PROTECT AND AUTO SKIP TO NEXT FIELD • DISK STORAGE SYSTEM TRANSFERS 6K PER SECOND WITH AUTO VERIFY AND PARITY CHECK • 12 INCH CRT-64 CHARACTERS BY 30 LINES. UP TO THREE PROGRAMMABLE CHARACTER FONTS FOR LANGUAGES OR SPECIAL CHARACTERS • • • SWITCHABLE 1 10 OR 220V OPERATION • • • • HYBRID CPU IS MICROPROGRAMMABLE WITH 64 USER DEFINABLE OPCODES. CHOICE OF BOOK OR 2.4 MEGABYTE DISK STORAGE • FULL SERIAL RS-232C PORT WITH PROGRAMMABLE BAUD RATES AND MODEM CONTROL SIGNAL • DEDICATED DISK PORT • PRINTER PORT SUPPORTS PARALLEL COMMERCIAL PRINTERS • 24 PIN I/O USER PORT • PAGEMATE DATABASE AVAILABLE • PLM COMPILER AVAILABLE • BUSINESS PACKAGES AVAILABLE • COMPLETE DIAGNOSTICS & SCHEMATICS INCLUDED • COMPLETE USER MANUAL INCLUDED SPECIAL DEALER PRICING AVAILABLE ON DEMONSTRATION MINIMAX AND SOFTWARE PACKAGES TO QUALIFIED SELECTED DEALERS. CONTACT NEECO FOR INFO. PRINTER NOT INCLUDED IN PRICE THE MINIMAX WAS DESIGNED AND IS MANUFACTURED BY COMPUTHINK COMPUTER CORP. DISTRIBUTED IN EUROPE AND THE EASTERN U.S. BY NEECO. IN ADDITION TO HARDWARE CAPABILITIES THAT ARE UNMATCHED IN THE INDUSTRY, THE MINIMAX COMPUTER SUPPORTS A COMPLETE DATA BASE SYSTEM (PAGEMATE), CONTAINING FULL STATISTICAL, SORTING, AND EDIT FUNCTIONS. A PLM COMPILER IS AVAILABLE, FULL BUSINESS SUPPORT SOFTWARE IS AVAILABLE AND MORE!— FULL DEALER SUPPORT IS AN IMPORTANT PART OF OUR MARKETING. CONTACT NEECO FOR FURTHER INFORMATION. THE MINIMAX IS NOW AVAILABLE FOR QUANTITY DELIVERY. DOMESTIC DEALERSHIPS AVAILABLE. EUROPEAN DISTRIBUTORSHIPS/DEALERSHIPS AVAILABLE TO QUALIFYING COMPANIES WITH SUPPORT CAPABILITIES. SOFTWARE HOUSES AND OEM INQUIRIES INVITED, CONTACT NEECO. NEECO NEW ENGLAND ELECTRONICS CO., INC. 679 HIGHLAND AVE., NEEDHAM, MA 02194 MON-FRI, 9:00-5:30, E.S.T. (617)449-1760 TELEX 951021, ANSWERBACK "NEECO' Circle 282 on inquiry card. BYTE July 1 979 63 Text continued from page 61: the elbow is between 4 and 7, and less than maximally active whenever the elbow posi- tion is outside that region. Similarly, the mossy fiber labeled H is maximally active when the elbow is between 5 and 8, the fiber P maximally active between 6 and 9, and V between 7 and 10, etc. The combination of mossy fibers in the set m 1 * = j B, H, P, V[ thus indicates that the variable s r * M S i * »» • ~" 7 >\ ■ 4 ■ 3 .a i 0 1 0 \ 2 A 3 4 1 s * ■ 7 a C , ft |l » 1 G 1 M 1 J 1 K M 1 N 1 f 1 o 1 R 5 1 * 1 v * 1 X • -1.25 1 1 1.25 225 d liS 1 1 •1.25 125 c i ■ l.l 1 0 ZJ 1 * 1 b S .75 1.25 125 1 25 a 1.25 -.25 1.25 lis 1.25 A B C D t > 125 1 1 1 125 w 1 1.1 1 0 1 1 Y 2.1 1 1 225 1 l 1 2.5 1 25 1 0 • 1.25 1 1.25 1 1.25 S T V w X r 125 1 1 II 1.25 9 1 2.1 1.1 10 1 P 1.1 .25 J 1.25 1 II 1 1.5 .25 1 25 0 125 • 1 25 1 1.25 M N r o t k 1.25 6 1 t 1.25 i 0 1.1 2.1 1.0 0 h 10 1 ?5 1 25 0 a 125 1.5 25 125 0 ( 0 e 1.25 0 1.25 1 G M J K OUTPUT WEIGHTS^r^ DESIRED OUTPUT 64 July 1979 © BYTE Publications Inc NOW YOU CAN AFFORD THE WORLD FAMOUS Diablo Printer Terminal IPSI PROUDLY ANNOUNCES A PRICE BREAKTHROUGH ON DAISY WHEEL PRINTER TERMINALS Featuring: RS 232 compatibility at 110, 150, 300, and 1200 baud: Print speed of 45 char/sec: Graphics capability: Over 30 print wheels from 10 to 15 char/inch: 5 ribbons in color, cloth, film or two color: Form length adjustable: Spacing adjustable from 120 pitch to .1 pitch: Line spacing adjus- table from 48 lines/in. to .4 line/in.: Identi- cal in every respect to it's high priced sister the Diablo HyTerm II* model 1620. Price: $2,595.00 each in single units, quan- tity discounts available. Service: Major cities in the U.S. and Canada. You have probably waited a long time to purchase your computer printer at a reasonable price. Wait no longer! The Diablo 1620 lists for $3,240.00 we sell the IPS1 1622 for $2,595.00; save well over $600.00. For immediate action phone in your order collect and we will ship your terminal the same day. We also Stock Diablo 1345A (Hytype II*) mechanisms for immediate shipment at the low price of $1 ,150.00. Order one now and build your own terminal using your own CPU, or do- it-yourself by buying our 1622 kit and assemble your own terminal within 10 hours for $2,295.00 If you've always wanted to turn your computer onto word processing, this is the only way to go. Ask for our free word processing software. INTERNATIONAL PERIPHERAL SYSTEMS, INC. 1849 N. HELM FRESNO, CALIFORNIA 93727 CALL (209) 252-3635 'Hyterm and HyType are registered trademarks of Xerox Corp. Circle 174 on inquiry card. BYTE July 1979 65 M->- A Mapping The number of mossy fibers dedicated to a variable determines pre- cision of its representation. Just as we can identify (or name) mossy fibers by the input variables they encode, so we can identify granule cells by the mossy fibers which provide them with input. Each granule cell receives input from several different mossy fibers, and no two granule cells receive input from the same combina- tion of mossy fibers. This means that we can compute a unique name (or address) for each granule cell by simply listing the mossy fibers which contact it. For example, a granule cell contacted by two mossy fibers B and c can be named (or addressed) Be. In the CMAC example in figure 8, 25 granule cells are identified by their contacts with mossy fibers from the quantizing func- tions 1 C-| and 2 C 1 . 25 other granule cells are identified by 1 C 2 and 2 C 2 , 25 by 1 C 3 and 2 C 3 , and 25 more by 1 C 4 and 2 C 4 . There are, of course, many other possible combina- tions of mossy fiber names which might be used to identify a much larger number of granule cells. For this simple example, how- ever, we will limit our selection to the permutation of corresponding quantizing functions along each of the coordinate axes. This provides a large and representative sample which uniformly spans the input space. Furthermore, this particular naming algorithm is simple to implement either in software or hardware. We can define A to be the set of all granule cells identified by their mossy 2 _l I I I I I I I I S| 0 I 2 3 ! 4 5 6 7 \ 8 9 10 II 12 13 14 15 16 B Figure 9. The weight Be will be selected as long as the CM A C input vector lies in the region bounded by4 I | I i i i i i i 7 ; : i i 1 1 i H ! i P 1 i V l Figure 10. The input vector (s u s 2 ) = (7, 10) selects weights Be, Hj, Pq, and Vv. These all overlap only at the point (7, 10). If the input vector (s u s 2 ) moves to (8, 10) the weight Be will drop out to be replaced by Cc. input vector S. We can therefore say that a set of L CMACs computing on the same input vector produces a vector mapping: P= H(S). Data Storage in CMAC One of the most fascinating, intensively studied, and least understood features of the brain is memory, and how data is stored in memory. In the cerebellum each Purkinje cell has a unique fiber, a climbing fiber, which is believed to be related to learning. Fibers from an area called the locus coerule- ous have recently been discovered which appear to be related to learning. In addition, a number of hormones have been shown to have profound effects on learning and reten- tion of learned experiences. While the exact mechanism (or mecha- nisms) for memory storage are as yet un- known, the cerebellar model upon which CMAC is based hypothesizes that climbing fibers carry error correction information which "punishes" synapses that participate in erroneous firing of the Purkinje cell. The amount of error correction that occurs at any one experience may depend on factors such as the state of arousal or emotional importance attached by the brain's evalua- tion centers to the data being stored during the learning process. Cerebellar learning is modeled in CMAC by the following procedure: • Assume that H is the function we want CMAC to compute. Then P = H(S) is the desired value of the output vector for each point in the input space. • Select a point S in input space where P is to be stored. Compute the current value of the function at that point P = H(S). • For every element in: P = (Pi , P2> • • •> Pl) and in: P= (j5 n , p 2 , . . ., p L ) if: Ipi-Pjl<£j where £ is an acceptable error, then do nothing; the desired value is already stored. (Ipij - P|| is the absolute value of p, — p r .) However, if |p, — p,| > gj then add A - t 68 July 1979 © BYTE Publications Inc -1 -2 -1 -2 -1 "2 .-5-5 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 *1 Figure 11. The particular set of weights shown in Figure 8 will compute the function shown here. to every weight which was summed to produce p, where: (D |A*| is the number of weights in the set A* which contributed to p, and g is a gain factor which controls the amount of error correction produced by one learning experience. If g = 1, then CMAC produces oneshot learning which fully corrects the observed error in one data storage operation. If 0 < g < 1, then each learning experience moves the output p : only in the direction of the desired value p,. More than one memory storage operation is then required to achieve correct performance. An example of how an arbitrary function such as: p = (sin x)(sin y) where: and: x = 2n s-,/360 y = 2rr St/360 July 1979 © BYTE Publications Inc 69 72a 180 360 Figure 12. The effect of training CM AC on the function p = sin (2ir s, 1360) sin (2v s 2 / 360). (a) One training at (s 7 , s 2 ) = (90, 90). (b) A second training at (s h s 2 ) = (270, 90). (c) Training at 16 points along a trajec- tory defined by s 7 =90. (d) Training at 175 se- lected points scattered over the input space. can be stored in CMAC is shown in figure 12. In this example the input is defined with unity resolution over the space 0 < s 1 < 360 and 0 < s 2 < 180, and the number of weights selected by each input is |A*| = 32. Initially all the weights were equal to 0. The point S 1 = (90, 90) was chosen for the first data entry. The value of the desired function p = h (90, 90) is 1. By formula ( I) (where g = 1 ) each of the weights selected by S = (90, 90) is set to 1/32, causing the prop- er value to be stored at S = (90,90) as shown in figure 12a. After two data storage opera- tions, one at (90, 90), the other at (270, 90), the contents of the CMAC memory are as shown in figure 12b. After 16 storage oper- ations along the s 2 = 90 axis the results are as shown in figure 12c. After 175 storage operations scattered over the entire input space, the contents of the CMAC memory are as shown in figure 1 2d. CMAC Memory Requirements The CMAC S -> A* mapping corresponds to an address decoder wherein S is the input address and the active granule cells in A* are select lines. These access weights whose sum can be interpreted as the contents of the address S. In a conventional memory, each possible input address selects a unique single location wherein is stored the contents of that address, as illustrated in figure 13a. In CMAC each possible input address selects a unique set of memory locations, the sum of whose contents is the contents of the input address, as shown in figure 13b. This suggests that the Cerebellar Model 360 70 July 1979 © BYTE Publications Inc 12c 180 360 Arithmetic Computer might require con- siderably less memory than a conventional lookup table in storing certain functions. The reason is that the number of ways that x elements can be selected from a table of y entries always exceeds y and, in some cases, it does so by orders of magnitude. A conventional memory requires R N memory locations to store a function of N variables, where R is the number of resolu- tion elements on each variable. CMAC re- quires at most K X Q N memory locations, when K is the number of quantizing func- tions and Q the number of resolution ele- ments on each quantizing function. A modest example of CMACs reduced memory requirements can be seen in fig- ure 8 where N = 2 and R = 17. Here then are 17 2 , or 289, possible input vectors. The CMAC shown has only 100 weights since K = 4 and Q = 5. Thus K X Q N = 100. This savings in memory size becomes increasingly significant for large N. It allows CMAC to store a large class of low resolution functions of up to 12 variables over the entire input space with computer memory of practical size (less than 100 K bytes), whereas conventional table lookup becomes impractical for similar functions of more than four variables. An even greater savings in memory requirements can be achieved by the use of hash coding techniques in the selection of addresses for the elements in A*. Hash cod- ing allows CMAC to store functions of many variables, so long as the information content of the portion of the function stored does not exceed the number of bits in the CMAC Hash coding, a memory addressing technique, com- presses sparse address space. July 1 979 © BYTE Publications Inc 71 memory. For example in figure 12, the 360 by 180 (over 64,000) element input space is represented in a 1024 location CM AC mem- ory by hash coding. Hash coding is a commonly used memory addressing technique for compressing a large but sparsely populated address space into a smaller, more densely populated one. (See "Making Hash with Tables" by Terry Dolhoff in Programming Techniques: Pro- gram Design, BYTE Books, 1979.) Many addresses in the larger space are mapped 13a CONVENTIONAL TABLE LOOK-UP h(S) SET OF R INPUTS (ADDRESSES) Figure 13: (a) In a conventional memory, storage of a function of N variables with resolution R on each input variable requires R N memory locations. Figure 13b (page 74) illustrates the CM AC distributed memory look-up technique. R N MEMORY LOCATIONS 72 July 1979 © BYTE Publications Inc THE SEARCH FOR A SMALL COMPUTER SYSTEM STARTS HERE It's the 3rd Annual National Small Computer Show New York Coliseum, August 23-26, 1979 presenting the state-of-the-art showcase for micro-and mini-systems technology and software. Here you can survey virtually all makes and models of small compu- ters, whether your interest runs to a no-nonsense micro priced in the hundreds of dollars or a powerful mini costing $20,000 or more. They're all here. The world of small computers is quite large, extending to business and professional offices, scientific research, medicine and bionics, education, the home and hobby- ist, therapeutic applications for the handicapped, de- sign and engineering. A full selection of lectures is presented to provide a grasp of small systems techno- logy, so that you know what to consider when buying a computer or word processor. It's the first step in dis- covering what a system can really do for you! NSCS lectures include sessions on system selection, computer languages, word processing functions, arti- ficial intelligence, software applications, and a dozen more topics for people of all interests. Plan now to attend. There will be about 30,000 square feet of exhibits, and more than 40 hours of lectures from which to choose. Registration fee is only $5.00 per day, including lectures. LECTURES: (Program subject to change) Thursday. August 23 l p.m. The Peril of Becoming a Machine- Oriented Business User 1 p.m. Introduction to Small Business Systems 2 p.m. Selecting a Word Processing System 2 p.m. Distributed Data Processing 3 p.m. Accounts Receivable/General Ledger/Accounts Payable 3 p.m. Is There a Computer in Your Educational Future 4 p.m. Mailing Lists: Load. Time and Cost 4 p.m. Word Processing Systems in the Law Office 5 p.m. Basic BASIC 5 p.m. Achieving Quality Control in Word Processing Friday. August 24 1 p.m. The Peril of Becoming a Machine- Oriented Business User 1 p.m. Introduction to Small Business Users 2 p.m. Selecting a Word Processing System 2 p.m. Distributed Data Processing 3 p.m. Unassigned at press time 3 p.m. How to Write a User-Oriented Program 4 p.m. Efficient Expansion of a Small System 4 p.m. Investment Analysis 5 p.m. Accounts Receivable/General Ledger/Accounts Payable 5 p.m. Exploiting the Apple/Dow Jones Computer Link Saturday, August 25 11 a.m. Introduction to Personal Computing 11 a.m. Unassigned at press time 12 p.m. Computer Music Update 12 p.m. Unassigned at press time 1 p.m. Introduction to PASCAL 1 p.m. Computer Art Forms 2 p.m. Household Applications 2 p.m. Artificial Intelligence 3 p.m. How to Write a User-Oriented Program 3 p.m. Investment Analysis 4 p.m. Basic BASIC 4 p.m. Unassigned at press time Sunday, August 26 11 a.m. Introduction to Personal Computing 11 a.m. Computer Music Update 12 p.m. Household Applications 12 p.m. Unassigned at press time 1 p.m. Etticient Expansion of a Small System 1 p.m. Computer Art Forms 2 p.m. Unassigned at press time 2 p.m. Unassigned at press time 3 p.m. Microcomputers for the Handicapped: Update 3 p.m. Exploiting the Apple/Dow Jones Computer Link 4 p.m. Mailing Lists: Load, Time and Cost 4 p.m. Introduction to PASCAL r REGISTRATION FOR AMERICA'S BIGGEST SMALL COMPUTER SHOW 1 Please register me for the 3rd Annual National Small Computer Show, Aug. 23-26, 1979. NAME COMPANY (If Any) ADDRESS BUSINESS TITLE (If Any) TELEPHONE 1\P (Check main Interest) □ Banking/Insurance □ Business office □ Communications □ Educational □ Government □ Hobby □ Industrial/Manufacturing Q Military □ Professional □ Stock Brokerage □ Transportation □ Utility □ Wholesale/Retail □ Other (Check main job function) □ Accountant □ Administrator (Business) □ Architect/Builder □ Art Director □ Banker □ Computer technician □ Consultant □ Controller □ Engineer □ Industrial Designer □ Lawyer/law office mgr. □ Marketing manager □ Medical doctor □ Medical technician □ Office manager □ Programmer □ Public Servant □ Research/Development □ Teacher □ DP manager □ WP manager □ WP operator □ Stock Broker □ Systems Analyst □ Student □ Other □ ONE DAY $5 Q TWO DAYS $10 □ THREE DAYS $15 □ FOUR DAYS $20 Mail with payment of $5 for each day you wish to attend. Use one form per person. Registration badge will be sent by mail in early August. Check or money order only. Mall prior to Aug. 10 to: National Small Computer Show, 110 Charlotte Place, Englewood Cliffs. N.J. 07632. Circle 258 on inquiry card. BYTE July 1979 73 13b CMAC TABLE LOOK-UP (DISTRIBUTED MEMORY) h(S) SET OF R INPUTS (ADDRESSES) M MEMORY LOCATIONS onto each of the addresses in the smaller space. One method is simply to overlay pages. Hashing works when the probability of a collision (ie: more than one filled loca- tion in the large memory mapping into the same address in the small memory) is low. CMAC can tolerate a fairly high incidence of collisions because of its distributed mem- ory (ie: its output is the sum of many loca- tions). Thus a collision (which in a conven- tional memory would make the output com- pletely incorrect) in CMAC introduces only a small amount of noise into the output. Hash coding noise can be seen in the base plane in figure 12a, b, c. Figure 13b: In a CMAC model, each input selects a unique set of memory locations. The number of unique sets which can be selected from M locations is much larger than the in- put M. In CMAC, hashing noise is randomly scattered over the input space each time new data is stored. Thus each new data storage operation degrades previously stored data somewhat. The effect is that the contents of a CMAC memory are most accurately defined in the regions where it is most recently stored. Old data tends to gradually fade, or be "forgotten", due to being hashed over. CMAC Memory Generalization The fact that each possible CMAC input vector selects a unique set of memory loca- tions rather than a single location implies that any particular location may be selected by more than one input vector. In fact, the 74 July 1979 © BYTE Publications Inc Color. VP-590 add-on Color Board allows program control of 8 brilliant colors for graphics, color games. Plus 4 selectable background colors. Includes sockets for 2 auxiliary keypads (VP-580). $69.' Sound. VP-595 Simple Sound Board provides 256 tone frequencies. Greatforsupplementing graphics with sound effects or music. Set tone and duration with easy instructions. $24.* Music. VP-550 Super Sound Board turns your VIPintoa music synthesizer. 2 sound channels. Program control of frequency, time and amplitude envelope (voice) independently in each channel. Program directly from sheet music! Sync provision for controlling multiple VIPs, multitrack recording or other synthesizers. $49." Memory. VP-570 RAM Expansion Board adds 4K bytes of memory. Jumper locates RAM in any 4K block of up to 32K of memory. On-board memory protect switch. $95* EPROM Programmer. VP-565 EPROM Programmer Board comes complete with software to program, copy and verify 5-volt 2716 EPROMs— comparable to units costing much more than the VP-565 and VIP put together! Programming voltages generated on _ • board. ZIF PROM socket included. $99* EPROM Interface. VP-560 EPROM Interface Board locates two 5-volt 2716 EPROMs (4K bytes total) anywhere in 32K of memory. VIP RAM can be re-allocated. $34* ASCII Keyboard.** Fully encoded, 128-character ASCII encoded alpha-numeric keyboard. 58 light touch keys including 2 user defined keys! Selectable upper and lower case. Handsomely styled. Under $50* Tiny BASIC." VP-700 Expanded Tiny BASIC Board puts this high-level language on your VIP. BASIC stored in 4K of ROM. Ready for im- mediate use— no loading necessary. This expanded BASIC includes the standard Tiny BASIC commands plus 12 additional— including color and sound control! Requires external ASCII encoded alpha-numeric keyboard. $39.' Auxiliary Keypads. Program r VIP for 2-player inter- action games! 16-key keypad VP-580 with cable ($15*) connects to sockets pro- vided on VP-590 Color Board or VP 585 Keyboard Interface Card ($10*). COSMAC VIP lets you add . board at a time. computer power a With these new easy-to- buy options, the versatile RCA COSMAC VIP (CDP18S711) means even more excitement. More challenges in graphics, games and control func- tions. For everyone, from youngster to serious hobby- ist. And the basic VIP com- puter system starts at just $249* assembled and ready to operate. Simple but powerful— not just a toy. Built around an RCA COSMAC micro- processor, the VIP includes 2K of RAM. ROM monitor. Audio tone with a built-in speaker. Plus 8-bit input and 8-bit output port to inter- face relays, sensors or other peripherals. It's easy to program and operate. Powerful CHIP-8 interpre- tive language gets you into programming the first evening. Complete docu- mentation provided. Take the first step now. Check your local com- puter store or electronics parts house. Or contact RCA VIP Marketing, New Holland Avenue, Lancaster, PA 17604. Phone (717) 291-5848. 'Suggested retail price. CDP18S71 1 does not include video monitor or cassette recorder. "Available 1st Quarter. 1979. See the RCA VIP at the 3rd Annual National Small Computer Show at the New York Coliseum, August 23-26, booth 421 1 . The fun way into computers. ItCil Circle 322 on inquiry card. BYTE July 1979 75 (14a) CMAC TABLE LOOK- UP S,« S 2 Figure 14. The CMAC memory generalizes, (a) S 2 selects three out of four of the same weights as S,. Thus output h(S 2 ) will be similar to h(S 7 ), differing only by the contents of the location not in com- mon, (b) When S 2 is outside of the neighbor- hood of generalization of S, the overlap goes to 0 (except for random hash- ing collisions). h(S.)«h(SJ S -> A* mapping insures that any two input vectors which are similar (ie: close together in input space) will activate many of the same granule cells, and hence select many of the same weights. This is the property of CMAC which causes it to generalize. In figure 14a the input vector S 2 selects three out of four of the same memory loca- tions as S 1 . Thus, the output h(S 2 ) will be similar to h(S 1 ), differing only by the con- tents of the single location which is not in common. The S -> A* mapping controls the amount of overlap between sets of selected memory locations such that, as the input space distance between two input vectors in- creases, the amount of overlap decreases. Finally, at some distance the overlap be- comes 0 (except for random hashing colli- sions), as in figure 14b, and the sets of selected memory locations are disjoint. At that point input S 2 can be said to be out- side the neighborhood of generalization of S 1 . The value of the output h(S 2 ) is thus independent of h(S 1 ). The extent of the neighborhood of gener- alization depends on both the number of elements in the set A* and the resolution of the Sj -> m|* mappings. It is possible in CMAC to make the neighborhood of general- ization broad along some variable axes and limited along others by using different reso- lution quantizing functions for different input variables. This corresponds to the effect in the cerebellum where some input variables are resolved finely by many mossy fibers and others resolved more coarsely by fewer mossy fibers. A good example of generalization can be 76 July 1979 © BYTE Publications Inc (Mb) CMAC TABLE LOOK-UP S,# S 2 MS,) INDEPENDENT I OFh(S 2 ) seen in figure 12a. Following a single data storage operation at S 1 = (90, 90) we find that an input vector S 2 = (91, 90) will pro- duce the output p = 31/32 even though nothing had ever been explicitly stored at (91, 90). This occurs because S 2 selects 31 of the same weights as . A third vector S 3 = (92, 90) or a fourth S 4 = (90, 92), will produce p = 30/32 because of sharing 30 weights with S 1 . Not until two input vectors are more than 32 resolution elements apart do they map into disjoint sets of weights. As a result of generalization, CMAC mem- ory addresses in the same neighborhood are not independent. Data storage at any point alters the values stored at neighboring points. Pulling one point to a particular value as in figure 12a produces the effect of stretching a rubber sheet. Generalization has the advantage that data storage (or training) is not required at every point in the input space in order for an approximately correct response to be ob- tained. This means that a good first approx- imation to the correct H function can be stored for a sizable envelope around a T s tra- jectory by training at only a few points along that trajectory. For example, figure 12c demonstrates that training at only 16 points along the trajectory defined by s 2 = 90 generalizes to approximately the correct function for all 360 points along that tra- jectory plus a great many more points in an envelope around that trajectory. Further training at 175 points scattered over the entire space generalizes to approximately the correct response for all 360 by 180 (over 64,000) points in the input space as shown in figure 12d. Generalization enables CMAC to predict July 1979 © BYTE Publications Inc 77 from PEflGCJ One-Drive System: $399. (40-track) & $675. (77-lrack) Two-Drive System: $795. (40-track drives) & $1350. (77-track drives) Three-Drive System: $1195. (40-track drives) & $2025. (77-track drives) Requires Expansion Interface, Level II BASIC & 16K RAM. Low Cost Add-On Storage for Your TRS-80*. In the Size You Want. When you're ready for add-on disk storage, we're ready for you. Ready with six mini-disk storage systems — 102K bytes to 591 K bytes of additional on-line storage for your TRS-80*. • Choose either 40-track TFD-100™ drives or 77-track TFD-200™ drives. • One-, two- and three-drive systems im- mediately available. • Systems include Percom PATCH PAK #1™, on disk, at no extra charge. PATCH PAK #1™ de-glitches and upgrades TRSDOS for 40- and 77-track operation. • TFD-100™ drives accommodate "flippy disks." Store 205K bytes per mini-disk. • Low prices. A single-drive TFD-100™ costs just $399. Price includes PATCH PAK #1™ disk. • Enclosures are finished in system- compatible "Tandy-silver" enamel. Whether you need a single, 40- track TFD-1 00™ add-on or a three-drive add-on with 77-track TFD-200™s, you get more data storage for less money from Percom. Our TFD-1 00™ drive, for example, lets you store 102.4K bytes of data on one side of a disk — compared to 80K bytes on a TRS-80* mini-disk drive — and 102.4K bytes on the other side, too. Something you can't do with a TRS-80* drive. That's almost 205K bytes per mini-disk. And the TFD-200™ drives provide 197K bytes of on-line storage per drive — 1 97K, 394K and 591 K bytes for one-, two and three-drive systems. PATCH PAK #1™, our upgrade program for your TRSDOS*, not only extends TRSDOS* to accommodate 40- and 77-track drives, it enhances TRSDOS* in other ways as well. PATCH PAK #1™ is supplied with each drive system at no additional charge. The reason you get more for less from Percom is simple. Peripherals are not a sideline at Percom. Selling disk systems and other peripherals is our main business — the reason you get more engineering, more reliability and more back up support for less money. In the Product Development Queue . . . a printer interlace for using your TRS-80* with any serial printer, and . . . \\k Electric Crayon™ to map your computer memory onto your color TV screen — for games, animated shows, business displays, graphs, etc. Coming PDQ! ™ TFD-100, TFD-200. PATCH PAK and Electric Crayon are trademarks of PERCOM DATA COMPANY •TRS-80 anil TRSDOS are trademarks ol Tandy Corporation and Radio Shack which have no relationship to PERCOM DATA COMPANY To order add-on mini-disk storage for your TRS-80* , or request additional literature, call Percom's toll-free number: 1-800-527-1592. For detailed Technical infor- mation call (214) 272-3421. Orders may be paid by check or money order, or charged to Visa or Master Charge credit accounts. Texas residents must add 5% sales tax. PERCOM DATA COMPANY, INC. DEPT. B • 211 N. KIRBY • GARLAND, TX. 75042 Percom 'peripherals for personal computing 78 BYTE July 1979 Circle 305 on inquiry card. For your SWTP 6800 Computer . . . PERCOMs FLOPPY DISK SYSTEM the Ready to plug in and run the moment you receive it. Nothing else to buy, no extra memory. No "booting" with PerCom MINIDOS-PLUSX™, the remarkable disk operating system on EPROM. Expandable to either two or three drives. Outstanding operating, utility and application programs. S I 1 - 1 To order or request literature call Percom toll-free 1-800-527-1592. fully assembled and tested shipping paid PERCOM DATA COMPANY, INC. 21 1 N. Kirby Garland, TX 75042 (214) 272-3421 For the low $599.95 price, you not only get the disk drive, drive power supply, SS-50 bus controller/interface card, and MINIDOS-PLUSX™, you also receive: • an attractive metal enclosure • a fully assembled and tested inter- connecting cable • a 70-page instruction manual that includes operat- ing instructions, schematics, service procedures and a complete list- ing of MINIDOS™ • technical memo updates — helpful hints which supplement the manual instructions • a 90-day limited warranty. SOFTWARE FOR THE LFD-400 SYSTEM Disk operating and file management systems INDEX™ The most advanced disk operating and file management system available for the 6800. INterrupt Driven Executive operating system features file-and-device-independent, queue-buffered character stream I/O. Linked-file disk architecture, with automatic file creation and allocation for ASCII and binary files, supports sequential and semi-random access disk files. Multi-level file name directory includes name, extension, version, protection and date. Requires 8K RAM at $A000. Diskette includes numerous utilities $99.95 BASIC Interpreters and Compilers SUPER BASIC A 10K extended disk BASIC interpreter for the 6800. Faster than SWTP BASIC. Handles data files. Programs may be prepared using a text editor described below $49.95 BASIC BANDAID™ Turn SWTP 8K BASIC into a random access data file disk BASIC. Includes many speed improvements, and program diskCHAINing $17.95 STRUBAL+™A STRUctured BAsic Language compiler for the pro- fessional programmer. 14-digit floating point, strings, scientific func- tions, 2-dimensional arrays. Requires 20K RAM and Linkage Editor (see below). Use of the following text editors to prepare programs. Complete with RUN-TIME and FLOATING POINT packages $249.95 Text Editors and Processors EDIT68 Hemenway Associates' powerful disk-based text editor. May be use'd to create programs and data files. Supports MACROS which perform complex, repetitive editing functions. Permits text files larger than available RAM to be created and edited $39.95 TOUCHUP™ Modifies TSC's Text Editor and Text Processor for Per- Com disk operation. ROLL function permits text files larger than available RAM to be created and edited. Supplied on diskette com- plete with source listing $17.95 Assemblers PerCom 6800 SYMBOLIC ASSEMBLER Specify assembly options at time of assembly with this symbolic assembler. Source listing on diskette $29.95 MACRO-RELOCATING ASSEMBLER Hemenway Associates' assembler for the programming professional. Generates relocatable linking object code. Supports MACROS. Permits conditional assembly $79.95 LINKAGE EDITOR - for STRUBAL+™ and the MACRO-Relocating assembler $49.95 CROSS REFERENCE Utility program that produces a cross- reference listing of an input source listing file $29.95 Business Applications GENERAL LEDGER SYSTEM Accommodates up to 250 accounts. Financial information immediately available — no sorting required. Audit trail information permits tracking from GL record data back to source document. User defines account numbers $199.95 FULL FUNCTION MAILING LIST 700 addresses per diskette. Power- ful search, sort, create and update capability $99.95 PERCOM FINDER™ General purpose information retrieval system and data base manager $99.95 tm trademark of PERCOM Data Company, Inc iM trademark of Hemenway Associates Company. Now! The LFD-800 and LFD-1000. Add one, two or three LFD-800 drives and store 200K bytes per drive on-line. Add one or two (dual-drive) LFD-1000 units and store 800K bytes per unit on-line. Complete with interface/controller, DOS, cable & manuals. Two-drive systems: LFD-800 — $1549; LFD-1000 — $2495. PERCOM 'peripherals for personal computing' J Circle 306 on inquiry card. BYTE July 1 979 79 ABOUT THE AUTHOR: Dr James S Albus worked for NASA from 1957 to 1972 designing optical and electronic subsystems for over 15 spacecraft, and for one year managed the NASA Artificial Intelligence Program. Since 1973 he has been with the National Bureau of Standards where he has received several awards for his work in advanced computer control systems for industrial robots. He has written a survey article on robot systems for Scientific American (February 1976) and his Cerebellar Model Arith- metic Computer won the Industrial Research Magazine IR-100 Award as one of the 1 00 most significant new products of 1975. on the basis of a few representative learning experiences what the appropriate behavioral response should be for similar situations. This is essential in order to cope with the complexities of real world environments where identical T s trajectories seldom, if ever, reoccur. An example of how CMAC uses general- ization to learn trajectories in a high-dimen- COMMAND i r l r \ \ y< SHOULDER LIFT FEEDBACK (POSITION AND VELOCITY) Figure 15. Information flow diagram for a robot arm controlled by seven CMACs. sional space is shown in figure 15. A seven degree of freedom manipulator arm was con- trolled by seven CMACs, one for each joint actuator, such that the output vector P = H(S) had seven components. The input vec- tor S to each CMAC contained 18 variables corresponding to position and velocity feed- back from each of the seven joints of the arm, plus four binary bits defining the Ele- mental Move Command. The resolution on the feedback variables was different for each of the seven CMACs, being highest resolu- tion from the joint driven by the output p 1 and lower for other joints in inverse propor- tion to their distance along the arm from the controlled joint. The desired output trajectory Tp is shown as the set of solid curves markecf (a) in figure 16. This trajectory corresponds to the Elemental Movement which is a motion an arm might make in swatting a mosquito. The (i) curve in figure 17 shows the learn- ing performance with no previous learning over twenty complete Tp "slap" motions. At the beginning of each motion the arm was positioned at the correct starting point and driven from there by the P output com- puted by the CMAC H function. Differences between P and P at 20 points along the slap trajectory were corrected by formula 1 (with g set to 1/20). Each point on the curve in figure 17 represents the sum of all the errors for all the joints during an entire slap mo- tion. Note that learning is rapid despite the high dimensional input space in which no two T s trajectories were ever exactly the same. This is due to CMACs ability to gen- eralize from a relatively small number of specific teaching experiences to a large num- ber of similar but not identical trajectories. The (ii) curve in figure 17 shows the learning performance on the same twenty Tp a trajectories when preceded by twenty training sessions on the Tp fa trajectory indi- cated by the dotted set of curves marked (b) in figure 16. Note that performance on Tp is consistently better following prior learn- ing on a similar trajectory Tp b . The learning on Tp b generalizes to the similar trajectory Tp ■ a Needless to say, predictions based on generalization are not always correct and sometimes need to be refined by further learning. The ability of CMAC to discrimi- nate (ie: to produce different outputs for different inputs, (S 1 and S,) depends upon how many weights selected by S 1 are not also selected by S 2 , and how different in value those weights are. If two inputs which are close together in input space are desired to produce significantly different outputs, 80 July 1979 © BYTE Publications Inc A newquarterly by the staff of BYTE This totally new publication is entertaining, informative, and uncomplicated. It is edited for the attorney, accountant, writer and other professional or business person aware of the personal computer as a tool for business, education, home entertainment, laboratory work and other applications. Compiled and edited by the staff of BYTE, latest developments covered in onComputing will include creative uses of the small computer, books for the computer user, how and where to buy your personal computer and numerous features concerning the fascinating world of the microprocessor. Add onComputing to your library of 'must' publications. Act now, subscribe and receive four (4) issues ■<( S8.50 for one year (O.S.); Canada and Mexico: $10.00. m GUIDE TO PERSONAL COMPUTING SUBSCRIBE NOW! COMPLETE AND MAIL ATTACHED POSTAGE PAID REPLY CARD onComputing, Inc. □ 70 Main St. □ Peterborough, NH 03458 □ Dial toll free 800-258-5485 (In NH 924-7217) 800 A P 5 LOWER ARM ROTATE A P 6 WRIST FLEX I 2 SECONDS Figure 16. Two similar trajectories Tp a and Tp b which have different starting points but the same endpoint. Both trajectories define a version of an Ele- mental Movement (SLAP) which was taught to the CMACs of figure 15. then repeated training may be required to overcome the (in this case erroneous) ten- dency of CMAC to generalize by building up large differences in the few weights which are not in common. In most behavioral control situations, sharp discontinuities requiring radically dif- ferent outputs for highly similar inputs do not occur. Indeed most servocontrol func- tions have simple S shaped characteristics along each variable axis. The complexity in 5 10 15 TRAINING SESSIONS Figure 17. CMAC learning and generalization performance on the SLAP motion Tp . Curve i is with no previous training. Curve ii is after 20 training sessions on the similar trajectory Tp^. The improvement of ii over i is due to generalization. control computation in multivarient servo- systems typically derives from cross- products which affect the slope of the func- tion, or produce skewness, and nonsymetri- cal hills and valleys in various corners of the N dimensional space. As can be seen from figure 1 1 these are the type of functions CMAC can readily store, and hence com- pute. Nevertheless, even on smooth func- tions generalization may sometimes intro- duce errors by altering values stored at neighboring locations which were already correct. This type of error corresponds to what psychologists call learning interference, or retroactive inhibition. For example, in the learning of the two similar trajectories in figure 16, training on Tp causes degradation or interference with what was previously learned on Tp This can be seen in figure 18 where, after 20 training sessions on Tp b , the CMAC is trained 20 sessions on Tp a . Following this the performance on Tp is degraded. How- ever, the error rate on Tp quickly improves 82 July 1979 © BYTE Publications Inc The ORIGINAL Computer People Who KNOW computers and offer EVERYTHING you need in Small Computer Systems Compare PRICE, QUALITY, DELIVERY, SERVICE and ^^^^^ you'll see why you don't have to look anyplace else! ^SOFTWARE Q t1e*as A 400- • cw-V tot prices PfU AAO- ■ ■ ■ ' A3 tot price 779-2 ■ V W 700-2 \ pT \ces 703-0 ••' v Our Prices are too low to advertise. Please call or write. We now carry a full line of Alpha — Micro Products prices Here are nine packages thaM enable you to make full use of the potential in your small computer system: ACCOUNTS RECEIVABLE INVENTORY ORDER ENTRY WORD PROCESSING PAYROLL REAL ESTATE MGT. MEDICAL-DENTAL MAILING PROGRAM SHIPPING & RECEIVING and MORE! Microsoft Basic, Fortran, Cobol available CALL* for prices 0 \GVT* L price* System MORE SPECIALS Decwriterll $1595.00 Qume Sprint 5/45 R0 2795.00 Persci 277 Dble Density 1395.00 Imsai PCS 80/15 599.00 \ Anadex DP 8000 Printer 995.00 44 Column Printer . . .$295.00 Livermore Accoustic Coupler 249.00 Javelin 9" Monitor . . . .159.95 Centronics Micro P-1 Printer . . . 495.00 We have a full staff of Programmers and Computer Consultants to design, configure and deliver a Turnkey Computer System to meet your specific requirements. SYNCHRO-SOUND The Computer People 193-25 Jamaica Avenue, Jamaica, New Vbrk 11423 212/468-7067 TWX 710-582-5886 ENTERPRISES, INC. Hours 9-4 Daily and Saturday Visit our new showroom Working units on display BankAmericard Master Charge Circle 355 on inquiry card. BYTE July 1979 800 r INTERRUPTED BY 20 TRAINING SESSIONS ON TA 10 15 20 25 30 35 40 45 50 55 60 65 70 75 TRAINING SESSIONS ON TA Figure 18. The effect of learning interference. If training on Tp g is interrupted by training on the similar trajectory Tp b , a de- gradation in performance on Tp g is observed. Repeated iterations gradually overcome this learning interference. over another 20 training sessions. Following this another 20 training sessions are con- ducted on Tp a . Again degradation in Tp b due to learning interference occurs, but not as severely as before. Another set of 20 training sessions on Tp b followed by another 20 on TS shows that the amount of learn- r a ing interference is declining due to the build- up of values in the few weights which are not common to both Ts a and Ts b - Thus, learning interference, or retroactive inhibi- tion, is overcome by repetition of the learn- ing process. CMAC as a Computer The ability of CMAC to store and recall (and hence compute) a general class of multivarient mathematical functions of the form P = H(S) demonstrates how a relatively small cluster of neurons can calculate the type of mathematical functions required for multivarient servomechanisms, coordinate transformations, conditional branches, task decomposition operators, and IF/THEN production rules. These are the types of functions that we showed in part 1 . They are required for generating goal-directed behavior (ie: the purposive strings of behav- ior patterns such as running, jumping, flying, hunting, fleeing, fighting, and mating, which are routinely accomplished with apparent ease by the tiniest rodents, birds, and even insects). In the case of multivarient servomecha- nisms the S vector corresponds to commands plus feedback (ie: S = C + F). For coordinate transformations the S vector contains the arguments as well as the variables in the transformation matrix. In the case of conditional branches, one or more of the input variables in S can be used to select different regions in input space where entirely different functions are stored. Assume, for example, that in figure 12 a third variable s 3 had been included in the function being stored. Assume that s 3 is held constant at s 3 = 0 while storing the function p = (sin x)(sin y). Following that, an entirely different function, say p = 3x + 5y 2 , could be stored with s 3 held con- stant at s 3 = 50. Since every point in the input space for s 3 = 0 is outside the neigh- borhood of generalization of the input space for s 3 = 50, there would be no interference except for random hashing collisions. The stored function would then be: p = (sin x)(sin y) if s 3 = 0 p = 3x + 5y 2 if s 3 = 50 . In the interval 0 < s 3 < 50 the function would change smoothly from p = (sin x) (sin y) to p = 3x + 5Y 2 . Additional func- 84 July 1 979 © BYTE Publications Inc Circle 18 on inquiry card. MB \ Disc OP □ DOS 3.0 SPECIE ' ONLY $39 ?.,c cVS. t95 r HARDWARE FOR TRS-80® ^ □Pertec Disc Drives FD-200 $375.00 ea. These are 40-track Drives that are completely compatable with the TRS^O^nd Radio Shack Drives. 3.0 DOS included. Will allow Turning Diskette over and Write on other side. □ 16K Upgrade Kit $ 99.95 □ 779 Centronics TRACTOR FEED Printer $1100.00 Same as Radio Shacks Complete with Cable. Shipped Freight COD. □ 701 Centronics TRACTOR FEED Bidirectional Printer $1549.95 2Vi times as fast as the Radio Shack 7 79 Printer, has full size 132 Char. Carriage Bell tone. Complete with Cable plug in and use. Shipped Freight COD. □ 200 ns 16K Dynamic Memory Clips for Keyboard or Expan- sion Interface, Lifetime Guarantee, complete . . . $110.00 Lifetime Guarantee. Complete with Instructions and Jumper Blocks. □TRS-80® -Level II -4k $540.00 □ TRS-80® -Level II - 16k w/10 Key Keypad $900.00 □ Expansion Interface $275.00 □ RS 232-C Interface $ 89.00 ORDER NOW AND SAVE Just list the items you want and mail this convenient coupon. r SOFTWARE BY ACS □ Monitor No. 3 $ 39.95 Complete Machine Language Monitor for TRS-8trfeatures: Find, EDIT, Relocate, Symbolic Dump to Tape, etc. □Trash DATA BASE Management System $ 89.95 A complete all around DBMS for business or home. Information can be stored in any fashion. Comes on Disk with Documentation. □ PLCEND $ 15.95 Will Patch ASCII files of Basic Programs or text or DATA FILES so that they may be loaded into the Disk Version of the Electric Pencil for Editing purposes comes on Cassette that will automatically create a Disk file of PCLEND. □ MAKE TAPE AND MAKE DISK for Cassette Dealers $ 69.95 These are two programs that will allow you to take any type of Program from Disk and store it on tape for mailing purposes. When the user receives the program in the mail on cassette, it is loaded into the computer which will automatically make a Disk file of the program. □CP/M & C BASIC for the TRS-80® CP/M Includes: MOVCPM, STAT, PIP, Dump, DDT, ASM (8080), ED, plus 6 user manuals. CP/M $150.00 C Basic-2 Includes: XREF2, CBAS2, and manuals. C BASIC 2 $ 99.95 LJG2 LEVEL III BASIC for TRS-80® Special $39.95 □TELCOM - Telecommunications for the TRS-80.®. $ 29.95 Telecommunications for the TRS-8u®allows one TRS-80S to communicate with another through the RS-232-C over the phone line. TRS-80 is a registered trademark of Radio Shack, a division of Tandy Corp. Orders received by 6:00 p.m. shipped next day on Master Charge, Visa, Certified Check or Money Order. Personal Checks require 14 days to clear. No C.O.D. Collect calls not accepted. All Hardware warranted for 90 days except Radio Shaok equipment which is warrant- ed through Radio Shack. All Software Is sold "AS IS" with no guarantee. Prices subject to change without notice. Automated Computer oftware service (615) 244-2798 Division of SEmputer liicrld inc. 625 Main Street • Nashville, TN 37206 Send Check or Money Order payable to — SOFTWARE • P.O. Box 60097 Nashville, TN 37206 Quan. Description Unit Price Total HANDLING CHARGE $1.50 TENN. RES. ADD 6% SALES TAX TOTAL □ Check □ Money Order □ MasterCharge □ Visa Card No. Exp. Date- Name Address City _ State Zip- H S p 0 0 0 1 0 1 0 0 0 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1 0 1 0 1 0 1 1 0 0 1 1 1 1 0 Figure 19. A CM AC with feedback directly from output to input behaves like a finite state automaton for binary inputs and outputs. It behaves like a "fuzzy state automaton " for nonbinary s and p variables. tions could be stored for other values of s 3 , or other conditional variables s 4 , s 5 , and so on might be used for additional branching capabilities. If these conditional variables are part of a command vector, then each dif- ferent input command can select a different subgoal generator. If they are part of the feedback, then different environmental con- ditions can trigger different behavioral pat- terns for accomplishing the subgoals. It is possible to construct |f som e of the variables in the P output a CMAC equivalent of vector loop directly back to become part of any finite state automaton. the S input vector (as frequently happens in the cerebellum as well as in other parts of the brain), then CMAC becomes a type of finite state automaton, string generator, or task decomposition operator. For example, the CMAC in figure 19a behaves like the finite state automaton in 19b. The loop- back inputs and s 2 define the state of the machine, and s 3 is the input. The H function defines the state transition table. In general it is possible to construct a CMAC equival- ent of any finite state automaton. Of course, CMAC can accept inputs and produce out- puts which are nonbinary. Furthermore, the outputs generalize. Thus, CMAC is a sort of "fuzzy state automaton." A Cerebellar Model Arithmetic Computer with direct feedback from output to input demonstrates how a neural cluster can gener- ate a string of outputs (subgoals) in response to a single input, or unchanging string of inputs. Additional variables added to F from an external source increase the dimension- ality of the input space and can thus alter the output string (task decomposition) in response to environmental conditions. The different possible feedback pathways to a CMAC control module cast light on a long standing controversy in neurophysiol- ogy regarding whether behavior patterns are generated by "stimulus-response chaining" (ie: a sequence of actions in which feedback from sensory organs is required to step from one action to the next) or by "central-pat- terning" (ie: a sequence which is generated by internal means alone). A CMAC hierarchy may include tight feedback loops from the output of one level back to its own input to generate central patterns, longer internal loops from one level to another to cycle through a sequence of central patterns, as well as feedback from the environment to select or modify central patterns or their sequence in accordance with environmental conditions. The above discussion makes it obvious that CMAC can also implement IF/THEN production rules by the simple mechanism of making the S vector (or the T s trajectory) correspond to an IF premise. The P vector output (or T p trajectory) becomes the THEN consequent. The capability of CMAC to simulate a finite state automaton, to execute the equiv- alent of a conditional branch, and to com- pute a broad class of multivarient functions makes it possible to construct the CMAC equivalent of a computer program. Con- versely it is possible to construct a hierarchy of computing modules, perhaps imple- mented on a network of microprocessors, which is the equivalent of a CMAC hier- archy. This has profound implications re- garding the type of computing architecture which might be used to build a model of the brain for robot control. Note in this regard that CMAC produces nothing comparable to a DO loop or an interrupt. Each CMAC is a state machine which samples (or polls) a set of input vari- ables and computes a set of output variables. There is no way that it can be instructed to DO something N times. CMAC can, of course, perform a DO-UNTIL in the sense that if the input is constant, the output will remain constant until the input changes. Thus for a constant input S-j, CMAC will DO Pt = H(S 1 ) UNTIL changes to S 2 . But this is not a DO loop in the customary sense. Similarly, one or more of the CMAC input variables can be used to "interrupt" an ongoing trajectory by causing a branch to a new trajectory. A hierarchy of CMACs can return to the interrupt trajectory after a deviation, if the higher level goals remain 86 Julv 1 979 © BYTE Publications Inc CDMPHCT COMPILER L J FORMS GENERATOR FOR FAST IMPLEMENTATION OF BUSINESS APPUCATIONS Compact Compiler requires only 20K bytes. Our compact Version 3 Compiler requires only 20K bytes but supports a powerful subset of standard COBOL plus the CIS COBOL language exten- sions for conversational mode working, providing full CRT screen formatting with built-in cursor control and numeric field validation. Other features include CIS COBOL Indexed Sequential and Interactive Debug packages, linkage to run time sub- routines to CHAIN programs together, PEEK & POKE memory locations and GET & PUT to special peripherals. Forms Generator speeds program devel- opment. Forms is a powerful utility which can be used with either the Stan- dard or Compact COBOL Compiler. Forms generates record descriptions for Data Entry and Enquiry Programs. The operator creates and edits the re- quired data entry form on the CRT by means of a question and answer session, and then automatically creates the required COBOL source text. This text is held on diskette as COPY files which the programmer can then simply COPY into his program in the normal COBOL way. Standard Compiler conforms to ANSI 74 Specifications. And now our ANSI 74 standard Version 4 Compiler imple- ments level 1 of Nucleus, Table Handl- ing, Sequential I/O, Relative I/O, Indexed I/O, Library, Segmentation and Inter Program Communication plus many level 2 features and the CIS COBOL language extensions employed in Version 3. This compiler runs in 30K bytes and is ideal for implementing or converting large systems using modular programming. Features include dynamic program loading and fast program devel- opment turnround. CIS COBOL products run on the 8080 or Z80 microprocessors under the CP/M operating system. They are distributed on a variety of diskette formats and have a CONFIG utilility supplied as standard, which enables you to drive many different types of CRT. All are themselves written in CIS COBOL and are therefore readily transferred to different operating environments including new operating systems and new microprocessors, making CIS COBOL a very attractive proposition for OEMs. MICRO FOCUS MICRO FOCUS LTD. 58 Acacia Rd, St. Johns Wood, London NW8 6AG Telephone: 01-722 8843 Telex: 28536 MICROF G 'CP/M is a trademark ol Digital Research Circle 221 on inquiry card. BYTE July 1979 87 We're not just blowing smoke SMOKE SIGNAL BROADCASTING! PRESENTS IT'S $299.00 M-16A STATIC MEMORY SYSTEM • Allows SWTPC 6800 expansion to 48K • Low Power • Uses Single +8 Volt Supply » SWTPC 6800 Plug Compatible • STATIC - No refresh required i ! j '! liiiiiiiiiii ! I i I J « • The M-16A STATIC random access memory system, with a total storage capacity of 16834 words of 8 bits each, is switch selectable to any 4K starting address, and a hardware write protect switch is also included. The system's storage elements are 4K by 1 STATIC memory chips which store 4 times as much in jonly 12% more space than the low power 2102's. Typical access time is fast enough to work a 6800 based computer operating at 2 MHz and all systems are factory tested at 2 MHz. The M-16A STATIC random a< memory system, with a total storage capacity ot 16B34 words ol 8 bits each, | switch selectable to any ; ng address, and a hardware 1^ is alio included, IflHL^^H^L^^H&O The system's storage elements are |^ K by I STATIC memory chip .only 1 2% more space than the los power 2102' s. Typical access time Is last enough to work e 6800 based computer operating at 2 MHi end all system factory tested at 2 MHl. ■ SMOKE SIGNAL pBBOADCASTINCf 3M0IE SIGIAL 11338 ViaColmas W> A 91361. (213» B8B 9340 ED Send information on your M-16A 0 Send name of nearest dealer I Circle 328 on inquiry card. unchanged throughout the lower level tra- jectory deviation. This, however, is quite a different mechanism from the interrupt circuitry in the normal computer where a program counter is stored so that program execution can continue after the interrupt has been serviced. The implication here is that a set of robot control programs modeled after a CMAC hierarchy will include no DO-loops and will not be interrupt driven. Every computing module will implement a simple state map- ping function of the form P = H(S). Note also that in a CMAC hierarchy, a deviation in a higher level trajectory changes the command string, and hence the program, of all the levels below it. This implies real time modification of program statements and thus makes the use of a compiler based programming language somewhat cumber- some. A robot control system modeled after a CMAC hierarchy should use some form of an interpretive language where program statements are translated into machine code at execution time. A language similar to FORTH seems ideal. (An interpretive lan- guage can, of course, be written in a com- piler based language. Also, languages can be devised which are partially compiled and partially interpreted.) We will return to these and other practical issues of computing architecture for robot control at a later time. CMAC as a Pattern Recognizer As was discussed in part 1, any spatial pattern can be represented as a vector. For example, a picture can be represented as an array, or ordered list, of brightness or color values. A symbolic character can be repre- sented as an ordered list of features (or arbi- trary numbers, as in the ASCII convention). Any temporal pattern can be represented as a trajectory through an N-dimensional space. For example, an audio pattern is a sequence of pressure or voltage values (ie: a one- dimensional trajectory). A moving picture or television scene corresponds to a sequence of picture vectors (ie: an N-dimensional tra- jectory where N is the number of picture resolution elements or pixels). The fundamental problem of pattern recognition is to name the patterns. All the patterns with the same name are in the same class. When a pattern has been given a name we say it has been recognized. For example, when the image of a familiar face falls on my retina and I say to myself "That's George," I have recognized the visual pattern by naming it. At this point we need to introduce some new notation to clearly distinguish between 88 July 1979 © BYTE Publications Inc Here it is! The most complete, totally integrated, word processing system software you've ever seen on a microcomputer. WORD-STAR™ really shines in ease of use, with its unique, dynamically activated menu scheme that allows typists to become word processing operators in minutes instead of weeks. For only $495, your 8080/8085/Z-80 with any CRT device becomes a word processing system with the features of a Lanier, Wang, Vydec, Xerox, etc, for far less cost. Features like ON-SCREEN VISUAL TEXT COMPOSITION, with word wrap, plus dynamic justifi- cation and remargination. Imagine being able to type without hitting return, and as WORD- STAR™ moves you to the next line, the preceding line is redisplayed, justified to your left and right margins! Center a line with a keystroke! Set BOLDFACE and/or underline even in mid paragraph! Rejustify text to new margins, on-screen, at will! DYNAMIC PAGINATION shows the printer page breaks during text entry, correction, or review. Dot commands control vertical page layout, CONDITIONAL PAGINATION, page HEADINGS, page NUMBERS, etc. The integrated PRINT COMMAND can print selected pages only, pause between pages for letterhead loading, and drive any CP/M* list device. WORD-STAR™ runs with the CP/M interfaced printer and terminal of your choice. SPECIFICATIONS: status line showing page, line, column of cursor; variable menu suppression tor experienced operators; dynamic display of text during entry or on call permits CRT preview of printed copy; full disk buffering (document sizes up to diskette capacity); multiple file/disk edits in a session; CP/M file compatible — also useful for data entry, editing programs, etc. Commands include: cursor up/down/left/right; scroll line/screenful, up/down, once/variable rate; insert/overtype; delete character/word/line left/right/entire; variable margin set/release; set/clear tab stops; justify/ragged right; block move/copy/delete; search/replace once/n times/global/selective/whole words only; write to/read from additional files; set/go to any of 10 place markers. Additional support provided for CRT's with inverse video/dual intensity, line insert/delete, and erase to end of line. Dialog interface for easy installation. AND MORE! Registered WORD-MASTER™ users can get a $100 discount from us or your participating dealer when upgrading to WORD-STAR.™ Offer good for a limited time only. WORD-STAR™ operates with any CP/M* operating system, 32K, and either a memory mapped video board or any CRT TERMINAL with cursor control and clear screen (Hazeltine, Lear-Siegler, Soroc, Microterm, Hewlett Packard, Infoton, Beehive, Processor Tech VDM, IMSAI VIO, SD Systems, Altos, Dynabyte, GNAT, etc). We ship on 8" IBM, Micropolis II, or Northstar diskette. Other fine MicroPro Products include: Software/Manual Word-Star™ $495/25 Word-Master™ $150/25 Tex-Writer™- $ 75/15 Super-Sort™! Super-Sort™ II Super-Sort™ III Software/Manual $250/25 $200/25 $150/25 MICROPRO INTERNATIONAL CORPORATION 1299 4th Street, San Rafael, California 94901 Telephone (415) 457-8990 Telex 340388 Dealer/OEM inquiries invited "PROFESSIONAL QUALITY SOFTWARE YOU CAN COUNT ON, NOW" "CP/M Is a trademark of Digital Research Corp. Figure 20. The D vector is composed of sensory variables E and context vari- ables R. The function G recognizes the existence of a D vector in a particular region of pattern plus context space by outputting a Q vector which is the name of that region. vectors in the sensory processing hierarchy and those in the behavior-generating hier- archy. Thus we will define the input vector to a CMAC pattern recognizer as: D = E + R where: E = (d 1( d 2 , . . ., dj) is a vector, or list, of data variables derived from sensory input from the external environment, and: R=(d i+1 ,...,d N ) is a vector of data variables derived from re- called experiences, or internal context. The CMAC mapping operator in the sensory processing hierarchy will be denoted G and the output Q such that: Q = G(D) We can now define a CMAC D vector to represent a sensory pattern plus context such that each component dj represents a data point or feature of the pattern plus context. The existence of the D vector with- in a particular region of space therefore corresponds to the occurrence of a particu- lar set of features or a particular pattern in a particular context. The recognition problem is then to find a set of CMAC weights such that the G function computes an output vector: Q = G(D) such that Q is the name of the pattern plus context D as shown in figure 20. In other words G can recognize the exis- tence of a particular pattern and context (ie: the existence of D in a particular region of input space) by outputting the name Q. For example, Q = Class I whenever D is in Region 1 Q = Class II whenever D is in Region 2 etc. The D ■+ A mapping in the sensory processing CMAC can be chosen so as to define the size of the neighborhood of gen- eralization on the input space. This means that, as long as the regions of input space corresponding to pattern classes are reason- ably well separated, the G function can reliably distinquish one region of input space from another and hence classify the corre- sponding sensory patterns correctly. In the case where the D vector is time de- pendent, an extended portion of a trajectory T D may map into a single name Q as shown in figure 21.lt then is possible by integrating Q over time and thresholding the integral to detect, or recognize, a temporal pattern T D such as a sound or a visual movement. Note that the recognition, or naming, of a temporal pattern (as illustrated in figure 21) is the inverse of the decomposition of a task as illustrated in figures 14 thru 17 in the pre- vious article in this series. In task decompo- sition a slowly varying command C is decom- posed into a rapidly changing output P. In pattern recognition a rapidly changing sensory experience E is recognized by a slowly varying name Q. 90 July 1 979 © BYTE Publications Inc Wordsmith is the video text editing system you've been waiting for Its power, flexibility and simplicity help you carve any text editing task down to size — in a way you can understand We wanted a system that allows you to think in traditional ways about text layout, yet at the same time makes the traditionally tedious operations such as cut and paste simple and fast. We think we've done it. We want you to decide for yourself eaeaeaiaaaaaieaaeaeaeaeaeaaaeaeaiaeaaeaeaeaeaeaeaeaeaiaiaaaiaai Flexibility Logical/ Physical Page Distinction. Define your own hardcopy size. Wordsmith remembers the difference between the screen size and the hardcopy page size. Modular Hardcopy Driver. Drive a Glumes 1 Sprint-5 or TTY-like device directly now, Diablo. NEC and other hardcopy devices soon. Pure Text. Wordsmith files are pure text with no control characters mixed in. This universal format keeps you as compatible with the world as possible. What you see on the screen is what you get as hardcopy. Page Templates. Snapshots of the block layout of a page can be saved as named disk files, then later recalled and superimposed on the current page. Use such "templates" for standard multicolumn layouts, common letter formats, and fixed-field forms. A single keystroke dispatches you quickly from block to block as you fill in your page. File Switching. Moving from document to document to examine, copy, move and change text is like rolling off a log. You're not confined to one disk file at a time anymore. ■■■ Power Page Oriented Philosophy. A document is a collection of pages. The screen displays one entire page at a time. Simple random access page flipping commands take you quickly to any page in the document. Equally efficient commands allow you to insert, delete, copy and move pages both within one document and across documents. Extensive Block Manipulation Capabilities. Using "windows", portions of text, charts, etc., can be quickly and effortlessly moved around on the current page, or across pages. The shape and size of any window can be changed in real time, with the contained text automatically reformatting itself (heeding word and paragraph boundaries) to conform to the new shape. Move Text Blacks Set Up Multiple Text Regions Change Text Shape Instantaneous Formatting. Compacting (extraneous blank deletion) and right justifying are simple commands that tidy up a full page or window's worth of text in the blink of an eye. Random access cursor movement, line and character insert and delete, line and page split and |oin, and a host of other line and character level commands help you put text in its place quickly and accurately. Simplicity Auto Word Break. Forget the right margin. Wordsmith notices when you won't be able to complete the current word and moves it to the next line for you as you continue typing. Understandable Commands. The most frequently used commands are single keystrokes. The rest are easily remembered abbreviations. Informative Status Lines. The top two screen lines constantly display page number information, document name, cursor position, tab stops and status/error phrases. You're always in touch with your document. TM Page 3 of 8 File=ADV1 Cursor row 28, col 43 J i L The tx)oRE>sratt;b TEXT EDITOR Defining the New Generation of Text Editing from Micro Diversions, Inc. 8455-D Tyco Rd. Vienna, Va. 22180 (703) 827-0888 ■ Direct CP/M® and North Star DOS compatibility ■ Available for 40x86, 24x80 and 16x64 memory-mapped video boards ■ Fully reentrant for efficient multi-programming environ- ments (6K program space, 5K data area) ■ 8080 and Z80 compatibility Protection Against Catastrophic Errors. It's nearly impossible to ruin your document with a single bad command. Wordsmith's page oriented design and double- checking user interface help you do what you mean! Ordering Information: $200 (Screensplitter™ Owners: SBOI Manual only: $1 5 Check. VISA, Mastercharge 1. CP/M or North Star DOS version? 2. TTY or QUME interface? 3. Brand and memory address of video display board? 4. Ship on single or double density, 5" or 8" diskette? Inquire about our custom keyboard. Gl ircle 219 on inquiry card. BYTE July 1979 91 Figure 21. A time varying D vector traces out a trajectory T D which repre- sents a sensory experience T E taking place in the context T R . A section of a T D trajectory which maps into a small region of Q space corresponds to the recognition of an extended temporal pattern as a single event. The Use of Context It frequently occurs in pattern recogni- tion or signal detection that the instantane- ous value of the sensory input vector E is ambiguous or misleading. This is particu- larly true in noisy environments or in situa- tions where data dropouts are likely to occur. In such cases the ambiguity can often be resolved or the missing data filled in if the context can be taken into account, or if the classification decision can make use of some additional knowledge or well founded pre- diction regarding what patterns are expected. In CMAC the addition of context or pre- diction variables R to the sensory input E such that D = E + R increases the dimension- ality of the pattern input space. The context variables thus can shift the total input (pat- tern) vector D to different parts of input space depending on the context. Thus, as shown in figure 22, the ambiguous patterns E-| and E 2 , which are too similar to be relia- bly recognized as being in separate classes, can easily be distinguished when accom- panied by context R 1 and R 2 . In the brain, many variables can serve as context variables. In fact, any fiber carrying information about anything occurring simul- taneously with the input pattern can be re- garded as context. Thus context can be data from other sensory modalities as well as information regarding what is happening in the behavior-generating hierarchy. In many cases, data from this latter source is particu- larly relevant to the pattern recognition task, because the sensory input at any instant of time depends heavily upon what action is currently being executed. For example, information from the behavior-generating hierarchy provides contextual information necessary for the visual processing hierarchy to distinguish between motion of the eyes and motion of the room about the eyes. In a classic experiment, von Hoist and Mittelstaedt demonstrated that this kind of contextual data pathway actually exists in insects. They observed that a fly placed in a chamber with rotating walls will tend to turn in the direction of rotation so as to null the visual motion. They then rotated the fly's head 180° around its body axis (a pro- cedure which for some reason is not fatal to the fly) and observed that the fly now circled endlessly. By attempting to null the visual motion it was now actually increasing it. Later experiments with motion percep- tion in humans showed that the perception of a stationary environment despite motion of the retinal image caused by moving the eyes is dependent on contextual information derived from the behavior-generating hier- archy. The fact that the context is actually derived from the behavior-generating hier- archy rather than from sensory feedback can be demonstrated by anesthetizing the eye muscles and observing that the effect depends on the intent to move the eyes, and not the physical act of movement. The per- ceptual correction occurs even when the eye muscles are paralyzed so that no motion actually results from the conscious intent to move. CMAC as a Predictive Memory Contextual information can also provide predictions of what sensory data to expect. This allows the sensory processing modules 92 July 1 979 © BYTE Publications Inc to do predictive filtering, to compare incom- ing data with predicted data, and to "fly- wheel" through noisy data or data dropouts. The mechanism by which such predic- tions, or expectations, can be generated is illustrated in figure 23. Here contextual input for the sensory processing hierarchy is shown as being processed through a CMAC M module before being presented to the sensory pattern recognition G modules at each level. Inputs to the M modules derive from the P vector of the corresponding behavior-generating hierarchy at the same level, as well as an X vector which includes context derived from other areas of the brain, such as other sensory modalities or other behavior-generating hierarchies. These M modules compute R = M(P + X). Their position in the links from the behavior- generating to the sensory processing hier- archies allows them to function as a pre- dictive memory. They are in a position to store and recall (or remember) sensory experiences (E vector trajectories) which occur simultaneously with P and X vector trajectories in the behavior-generating hierarchy and other locations within the brain. For example, data may be stored in each^Mj module by setting the desired output Rj equal to the sensory experience vector Ej. At each instant of time t = k, sensory data represented by Ej 5 will then be stored on the set of weights selected by the P k + X k vector. The result will be that the sensory experience repre- sented by the sensory data trajectory T E . will be stored in association with the con- text trajectory Tp.+Xj. Any time afterwards, t = k + j, a reoccur- rence of the same context vector Pj c+ i + x K+i = pk + x k will produce an output RK + i equal to the Ef stored at time t = k. Thus a reoccurrence of the same context trajectory Tpj + Xj will produce a recall trajectory Tr. equal to the earlier sensory a) b) Ri R 2 \ Figure 22. In (a) the two pattern vectors E 1 and E 2 are too close together in pattern space to be reliably recognized (le: named) as being in different classes. In (b) the addition of context R, to Ei and R 2 to E^ makes the vectors D 1 and D 2 far enough apart in pattern plus context space to be easily recognized as in separate classes. AIM 65 AIM 65 is fully assembled, tested and warranted. With the addition of a low cost, readily available power supply, it's ready to start working for you. It has an addressing capability up to 65K bytes, and comes with a user-dedicated 1K or 4K RAM. • Thermal Printer • Full-Size Alphanumeric Keyboard • True Alphanumeric Display • Proven R6500 Microcomputer System Devices • Built-in Expansion Capability • TTY and Audio Cassette Interfaces • ROM Resident Advanced Interactive Monitor • Advanced Interactive Monitor Commands PRICE: $375.00,1 K RAM) Plus $4.00 UPS (shipped in U.S. must give street address), $10 parcel post to APO's, FPO's, Alaska, Hawaii.Canada, $25 air mail to all other countries We manufacture a complete line of high quality expansion boards. Use reader service card to be added to our mailing list, or U.S. residents send $1.00 (International send $3.00 U.S.) for airmail delivery of our complete catalog. ENTERPRISES INCORPORATED 2967 W. Fairmount Avenue • Phoenix, AZ 85017 • (602) 265-7564 Circle 325 on inquiry card. July 1 979 © BYTE Publications Inc 93 Figure 23. A cross-coupled, processing-generating hierarchy. The M ; modules remember sensory experiences which occur in association with specific ac- tivity in the generating hierarchy (P/) and other sensory modalities (X-J. The M) modules thus learn a set of internal expectations (ie: a predictive model) of the external world as seen through the sensory input channels. experience TE r These predictive memory modules thus provide the sensory processing hierarchy with a memory trace of what sensory data occurred on previous occasions when the motor generating hierarchy (and other parts of the brain) were in similar states along similar trajectories. This pro- vides the sensory processing system with a prediction of what sensory data to expect. What is expected is whatever was experi- enced during similar activities in the past. In the ideal case, the predictive memory modules M| will generate an expected sensory data stream Tr. which exactly duplicates the observed sensory data stream Te p To the extent that this occurs in practice it enables the Gj modules to apply very powerful mathematical techniques to the sensory data. For example, the Gj modules can use the expected data Tr, to: • Perform cross-correlation or convolu- tion algorithms to detect sync patterns and information bearing sequences buried in noise. • Flywheel through data dropouts and noise bursts. • Detect (or recognize) deviations or even omissions from an expected pattern as well as the occurrence of the pattern in its expected form. If we assume, as shown in figure 23, that predictive recall modules exist at all levels of the processing-generating hierarchy, then it is clear that the memory trace itself is multi- leveled. In order to recall an experience precisely at all levels, it is necessary to gen- erate the same context (ie: P| + X| address) at all levels as existed when the experience was recorded. Internal World Model We can say that the predictive memory PET PRINTER ADAPTER GET HARD COPY FROM YOUR COMMODORE PET USING A STANDARD RS-232 PRINTER 1200B 1200C The CmC ADA 1200 drives an RS-232 printer from the PET IEEE-488 bus. Now, the PET owner can obtain hard copy listings and can type letters, manuscripts, mailing labels, tables of data, pictures, in- voices, graphs, checks, needle- point patterns, etc., using a standard RS-232 printer or terminal. $98.50 ADA 1200B Assembled and tested $169.00 ADA 1200C With case, power supply and RS-232 connector Order direct or contact your local computer store. Add $3.00 for postage and handling per order. O CONNECTICUT microCOMPUTER m tpa 150POCONO RD. BROOKFIELD. CT 06804 Lfl (203) 775 9659 TLX: 7104560052 94 July 1 979 © BYTE Publications Inc Circle 78 on inquiry card. modules M| define the brain's internal model of the external world. They provide answers to the question, "If I do this and that, what will happen?" The answer is that whatever happened before when this and that was done will probably happen again. In short, IF I do Y, THEN Z will happen when Z is what- ever was stored in predictive memory the last time (or some statistical average over N last times) that I did Y, and Y is some action such as performing a task or pursuing a goal in a particular environment or situation, which is represented internally by the P vectors at the various different levels of the behavior-generating hierarchy and the X vectors describing the states of various other sensory processing behavior-generating hier- archies. The Mj modules (as all CMAC modules) can be thought of as storing knowledge in the form of IF/THEN rules. The CMAC property of generalization produces a recall vector Rj (a THEN consequent) which is similar to the stored experience so long as the context vector Pj + X| (the IF premise) is within some neighborhood of the context vector during storage. Much of the best and most exciting work now going on in the field of artificial intel- ligence revolves around IF/THEN produc- tion rules, and how to represent knowledge in large computer programs based on pro- duction rules. Practically any kind of knowl- edge, or set of beliefs, or rules of behavior can be represented as a set of production rules. The CMAC hierarchy shown in figure 23 illustrates how such computational mech- anisms can arise in the neurological structure of the brain. Conclusion We have now completed the second step in our development. I have described a neu- rological model which can store and recall (and hence compute) a broad class of mathe- matical functions. I have shown how a hier- archical network of such models can execute tasks, seek goals, recognize patterns, re- member experiences, and generate expecta- tions. The final part of this series will include a brief overview of evidence that such net- works actually exist in the brain. Also, this part will describe how a CMAC hierarchy can create plans, solve problems, and produce language. Finally I will discuss the design of robot control systems incorporating these properties and offer some suggestions as to how brain-like computing networks might be constructed and trained.* ADDITIONAL READING 1. Albus, J S, "A New Approach to Manipulator Control: The Cerebellar Model Articulation Controller (CMAC)," Journal of Dynamic Sys- tems, Measurement, and Control, September 1975, pages 220 thru 233. 2. Albus, J S, "A Theory of Cerebellar Function," Mathematical Biosciences, 10, 1971, pages 25 thru 61. 3. Eccles, J C, M. Ito, and J. Szentagothai, The Cerebellum as a Neuronal Machine, Springer, Berlin, 1967. 4. Stelmach, G E, (editor) Motor Control: Issues and Trends, Academic Press, New York, 1976. Practically any kind of knowledge can be repre- sented as a set of pro- duction rules. ^BODY ^PERIPHERALS Silk Screen Printed Sepia on Quality White Cotton/Poly T-Shirts TO ORDER: PRINT Your Name. Address, Zip, Styles and Sizes Desired (S,M,L,XL) on a Sheet of Paper. Include $6.95 Per Shirt. (Three lor $18.00) Out ol U.S.A. Send $8.00 US Currency International Money Order for Each Shirt. Our Shirts are Made in America and Do Not Shrink! Custom Designs Available for Your Club - Dealer Inquiries Welcomed. BODY PERIPHERALS P. O. Box 945 Chanute, Kansas 66720 Circle 33 on inquiry card. July 1979 © BYTE Publications Inc 95 Event Queue In order to gain optimum coverage of your organization's computer confer- ences, seminars, workshops, courses, etc, notice should reach our office at least three months in advance of the date of the event. Entries should be sent to: Event Queue, BYTE Publications, 70 Main St, Peterborough NH 03458. Each month we publish the current contents of the queue for the month of the cover date and the two following calendar months. Thus a given event may appear as many as three times in this section if it is sent to us far enough in advance. July 2-13, Applications of Microcom- puters to Life Science Education, Michi- gan Technological University, Houghton Ml. The emphasis of this workshop will be on the use and development of educational computer models and simu- lations. The workshop will be set up to provide a maximum interaction with the microcomputer. Discussions will focus on ways of employing computer mod- eling techniques in undergraduate course work. Contact Dept of Biological Sci- ences, Michigan Technological University, Houghton Ml 49931. July 9-20, Computing Systems Reliabil- ity, University of California, Santa Cruz CA. Contact Institute in Computer Science, University of California Exten sion, Santa Cruz CA 95064. July 11-13, Microcomputer Applications, Southern Technical Institute, Marietta GA. The emphasis of this seminar will beon the applications of microcomputers in industry. Software, hardware and interfacing techniques will be discussed. Contact Dr Richard L Castellucis, South- ern Technical Institute, Electrical Engi- neering Technology Dept, 534 Clay St, Marietta GA 30060. J uly 1 6-18, Software Engineering, Crystal City Marriott, Arlington VA. This seminar is intended to familiarize the project manager, the system analyst, and the application programmer with tech- niques of developing software to meet user needs. Contact Information Technol- ogy Inc, POB 10129, Austin TX 78766. July 16-18, Data Base Management, Crystal City Marriott, Arlington VA 22202. This seminar is intended to familiarize the applications programmer, data processing manager, and software system engineer with the latest tech- niques for the implementation and use of data base management. Contact Information Technology, POB 10129, Austin TX 78766. July 16-27, Introduction to Digital Electronics and Microcomputer Inter- facing, Lexington VA. This hands-on laboratory course is for academic and industrial personnel. There will be approximately 60 hours of laboratory instruction with one microcomputer laboratory station for each two partici- pants. Contact Prof Philip Peters, Dept of Physics, Virginia Military Institute, Lexington VA 24450. July 19-20, Project Management, Crystal City Marriott, Arlington VA.The purpose of this seminar is to provide a basic un- derstanding of the methodologies, tools, techniques and skills of software man- agement. Contact Information Technol- ogy Inc, POB 10129, Austin TX 78766. PARlEZ VOUS fRANQAiS ? I dON'T, buT My TRS-8CT (Joes. INTRODUCING TLF-5CJ , THE ONLY TURN' KEY DISK SYSTEM AVAILABLE FDR LANGUAGE TRANSLATION S. FEATURES : (TRANSLATOR > ■ OVER 4.50Q WORDS ■ SO PHRASES ■ SCREEN OR PRINTER OUTPUT ■ ALPHABETICAL LISTING (INSTRUCTOR > FRENCH GRAMMAR CONJUGATIONS VOCABULARY AND SPELLING DRILLS PR O N U N C I AT I O N METRIC CONVERSIONS ■ AND MUCH MORE INTRODUCTORY OFFER s 3C. P&H Linguisfiss, Ins. 56 BAY STATE RD. , BOSTON ( ei7 > sss 4saa MCSVISA ACCEPTED MASS 02215 July 19-20, Structured Programming, Crystal City Marriott, Arlington VA. This course is aimed at both program- mers and managers. It will cover an inte- grated set of software development tech- niques that can be scaled up for any size project development. It supports the de- velopment of error free programs by pro- viding the programmer with effective means of controlling the design and code through continual validation checks. Contact Information Technology Inc, POB 10129, Austin TX 78766. July 19-20, BASIC: A Computer Lan- guage for Executives, New York NY. Executive computing, problem solving, planning, forecasting and database sys- tems will be discussed. Also to be cov- ered are programming fundamentals, the mindless computer, sequence, decision and iteration, computer languages and BASIC. Contact American Management Associations, 135 W 50th St, New York NY 1 0020. July 23-27 Finite Element Method in Mechanical Design, University of Mich- igan, Ann Arbor Ml. This course is in- tended for engineers working in mechan- ical design where knowledge of stresses, displacements, or vibratory motion is im- portant. No previous experience with finite elements is assumed. The course will familiarize the attendee with finite element modeling concepts and will re- view the fundamentals on which the method is based. Contact Engineering Summer Conferences, 400 Chrysler Ctr, North Campus, University of Michigan, Ann Arbor Ml 48109. 96 July 1 979 © BYTE Publications Inc Circle 294 on inquiry card. August 1 -3, Microcomputer Applications, Southern Technical Institute, Marietta GA. The emphasis of this seminar will be on the applications of microcomputers in industry. Software, hardware and interfacing techniques will be discussed. Contact Dr Richard L Castellucis, South- ern Technical Institute, Electrical Engi- neering Technology Dept, 534 Clay St, Marietta GA 30060 August 6-8, Pattern Recognition and Image Processing, Hyatt Regency Chi- cago O'Hare, Chicago IL. This con- ference is sponsored by the Machine Intelligence and Pattern Analysis Com- mittee of the IEEE Computer Society. The program will consist of submitted and invited papers and a large trade show of graphics and image processing equipment. Contact PRIP 79, POB 639, Silver Spring MD 20901. August 6-10, SIGGRAPH 79, Chicago IL. This sixth annual conference on com- puter graphics will feature tutorials, technical sessions and an exposition of state-of-the art computer graphics and image processing equipment. Contact Maxine D Brown, SIGGRAPH 79 Expo- sition, Hewlett-Packard, 19400 Home- stead Rd, Cupertino CA 95014. August 6-10, Modern Communication Systems: Analysis and Design, Univer- sity of Southern California, Los Angeles CA. This course is devoted to the anal- ysis and design of modern communi- cation systems, with emphasis on the derivation of practical design equations useful for trade-off studies and overall synthesis. Contact University of South- ern California, Continuing Engineering Education, Los Angeles CA 90007. August 6-10, Advanced Microcomputer System Development: High Level Lan- guages, Technology Trends, and Hands- On Experience, University of Southern California, Los Angeles CA. This course is intended to present the participants with a clear picture of the microcom- puter revolution, provide hands-on pro- gramming experience using Extended BASIC and FORTRAN, analyze technol- ogy trends in the microcomputer field, and assess the impact of VHSI/VLSI. Contact University of Southern Cali- fornia, Continuing Engineering Educa- tion, Los Angeles CA 90007. August 8-10, SIGPLAN Symposium on Compiler Construction, Boulder CO. This symposium will consider methods of, and experience with, constructing compilers. The emphasis will be less on theoretical methods, and more on tech- niques applied to real compilers. Contact Professor Leon Osterweil, Dept of Com- puter Science, University of Colorado, Boulder CO 80309. August 8-10, First Annual Conference on Research and Development in Per- sonal Computing, Hyatt Regency O'Hare, Chicago I L. This conference is sponsored by the Association for Computing Ma- chinery (ACM) Special Interest Group on Personal Computing (SIGPC). A large trade show of personal computer and graphics equipment is planned to accompany an assortment of papers, panels, user group meetings, workshops, and person-to-person poster booths. Contact Bob Gammill, Computer Sci- ence Division, Dept of Mathematical Sciences, 300 Minard Hall, North Dakota State University, Fargo ND 58102. August 1 3-1 5, Conference on Simulation, Measurement and Modeling of Computer Systems, Boulder CO. This conference will feature performance prediction tech- niques employed during the design, pro- curement and maintenance of computer systems. It will provide a forum for both applied and theoretical work in the disci- plines of performance monitoring, mod- eling, and simulation of computer sys- tems. Contact Gary Nutt, Xerox PARC, 3333 Coyote Hill Rd, Palo Alto CA 94304. August 13-16, Q-GERT Network Mod- eling and Analysis, Ramada Inn, Lafay- ette IN 47905. This course will provide the attendee with the information neces- sary to model complex systems using Q-GERT. Emphasis will be on the pro- cedures for modeling and analysis. Contact Pritsker and Associates Inc, POB 2413, W Lafayette IN 47906. August 13-17, High Speed Computation: Vector Processing, The University of Michigan, Ann Arbor Ml. In this course, the architectural, software, and algorith- mic issues of vector architecture are co- ordinated by the discussion of concepts in computer architecture, and by de- tailed study of current vector proces- sors and their use. Contact Engineering Summer Conferences, 400 Chrysler Ctr, North Campus, The University of Mich- igan, Ann Arbor Ml 481 09. August 19-22, International Conference on Computing in the Humanities, Dart- mouth College, Hanover NH. This con- ference is intended to foster computer research and technique in all areas of humanistic study; to promote interna- tional cooperation in the development of programs, data banks, and equipment; and to make the results of research avail- able. The program will include a plenary session each evening and shorter ses- sions during the day. Contact Stephen V F Waite, Kiewit Computation Ctr, Dart- mouth College, Hanover NH 03755. August 19-24, 1979 Symposium for Innovation in Measurement Science, Hobart and William Smith Colleges, Geneva NY. Sponsored by the Scientific Instrumentation and Research Division of the Instrument Society of America, scheduled sessions at this symposium READ THE MAGAZINE THE PROS READ. For over 20 years DATAMATION has been the magazine for the data processing professional. Now DATAMATION magazine is available to hobbiests, busi- ness men, accountants, engineers, pro- grammers . . . anyone with a deep curiosi- ty about the real world of data process- ing. Written by the data processing pro- fessional for the data processing profes- sional, DATAMATION magazine's arti- cles cover a wide range of subjects . . . industry trends, "how to do it better" articles, budget and salary surveys, new computer applications, advanced tech- nology, new products and services as well as a monthly department on person- al computing. Whether your interest in computers is for fun or profit, DATAMATION maga- zine has a world of information for you every month . . . plus an annual Special Edition, the Industry Profile featuring the "DATAMATION 50" — the top U.S. DP companies. TECHNICAL PUBLISHING COMPANY A Dun & Bradstreet Company 35 Mason St., Greenwich, CT 06830 (203) 661-5400 I FOR A ONE YEAR SUBSCRIPTION | (13 ISSUES) SEND $32. [ TO: SUZANNE A. RYAN DATAMATION magazine 666 FIFTH AVENUE NEW YORK, NY 10019 Name Address I City. j^State/ Zip. magazine Circle 94 on inquiry card. July 1979 © BYTE Publications Inc 97 include innovation in computers and electronics, mass flow measurement, chemical analysis, applied analysis in instrument control, physical analysis, medical instrumentation, and advances in industrial measurement. Contact In- strument Society of America, 400 Stan- wix St, Pittsburgh, PA 1 5222. August 23-26, National Small Computer Show, New York Coliseum, New York NY. Exhibitions will include those of major manufacturers, distributors, and publications in the small computer field. A lecture series will include topics of interest to business and professional people, hobbyists and the general public. Contact National Small Com- puter Show, 74 E 56th St, New York NY 10022. September 4-6, International Conference and Exhibition on Engineering Software, University of Southampton, England. The aim of this conference is to provide a forum for the presentation and discus- sion of recent advances in engineering software and the state-of-the-art in this field. The exhibition, held in conjunc- tion with the conference, will cover all software products, services and equip- ment related to engineering software. Contact Dr R Adey, Engsoft, 6 Cran- bury Place, Southampton S02 OLG, ENGLAND. September 4-7, Com peon Fall '79, Capital Hilton Hotel, Washington DC. This 18th IEEE Computer Society International conference will present the latest developments in microprocessor architecture, support software, operating systems, and peripheral devices. Contact IEEE Computer Society, POB 639, Silver Spring MD 20901. September 5-8, Info/Asia, Ryutsu Center, Tokyo. This exposition will be devoted to information management, computers, word processing and advanced business equipment. The exposition will be ac- companied by a four day conference. Contact Clapp and Pollak Inc, 245 Park Av, New York NY 10017. September 18-20, Wescon/79, St Francis Hotel, San Francisco CA. Contact Elec- tronic Conventions Inc, 999 N Sepulveda Blvd, El Segundo CA 90245. September 25-27, WPOE '79, San Jose Convention Ctr, San Jose CA. This show will be dedicated to word processing and office/business equipment, services and materials. Complementing the exhibit will be a three day executive conference program that focuses on emerging tech- nologies and their applications in the office. Contact Cartlidge and Associates Inc, 491 Macara Av, Suite 1014, Sun- nyvale CA 94086. September 26-29, MIMI '79, Queen Eliz- abeth Hotel, Montreal, Canada. This symposium is intended as a forum for the presentation and discussion of recent advances in mini and microcomputers and their applications. Special emphasis will be given to the theme of the con- ference, "The Evolving Role of Minis and Micros Within Distributed Process- ing." Contact The Secretary, MIMI '79 Montreal, POB 2481, Anaheim CA 92804. September 28-30, Northeast Personal and Business Computer Show, Hynes Auditorium, Boston MA. Displays and exhibits will showcase microcomputers and small computer systems of interest to businesspeople, hobbyists, profes- sionals, etc. Lectures and seminars will be presented for all categories and levels of enthusiasts, including introductory classes for novices. Contact Northeast Exposition, POB 678, Brookline MA 02147. ■ Letters Text continued from page 6: written) would only perform garbage collection. There are more facilities which could be added to this simple data base struc- ture, but it would probably be better to stop at this point. Jack L Warner Bell Laboratories 600 Mountain Ave Murray Hill NJ 07974 HAMMING ERROR CORRECTING CODE HAS PROBLEMS? Michael Wimble recently described a method for storing coded data using a Hamming error correcting code which will correct a single bit error and detect double bit errors (February 1979 BYTE, page 180). It is very similar to a scheme I have used successfully for several years and recently published (Computer Design, September 1978). Mr Wimble's scheme, however, will cause havoc with some data recording devices as some of his coded bytes are exactly the same as some of the common control characters, ie: his data 3, coded as a hexadecimal 93, is identical to the ASCII Device Control 3 character, and data E, coded as a hexadecimal IE, is the ASCII Record Separator. The latter should not cause trouble, but the former will automatically activate or deactivate some kinds of papertape terminals. If this is likely to be a problem on the equipment you are using, one simple way to overcome it is to omit the P4 parity bit altogether and use strictly 7 bit codes. The media channel on which the omitted bit would have been stored is then placed so that no objectionable control characters are ever generated (except, of course, by error). Programs to generate and decode such schemes are presented in the Computer Design paper cited above. You are not able to detect double errors using only 7 bits, but if your equipment is that bad it's probably time to pack it in anyway. George White Institut de Recherche d'lnformatique et d'Automatique Domaine de Voluceau Rocquencourt BP 105 78150 Le Chesnay FRANCE COMMENTS FROM A CHESS MASTER I was most flattered to read the story about my chess match with CHESS 4.7 ("Chess 4.7 versus David Levy" Decem- ber 1978 BYTE, page 84) and I am delighted that you have been giving chess such excellent coverage in the pages of your magazine. Since your article appeared I have been plagued by people writing to ask whether I have collected the $2,500 that I won in the bet. Professors Donald Michie (Edinburgh University), John McCarthy (Stanford University) and Seymour Papert (MIT) paid promptly and with great sportsmanship, just as I would have done had I lost the bet. Edward Kozdrowicki (Aerospace Cor- poration, El Segundo CA) has refused all attempts to persuade him to pay. I hope that this will answer any further readers who might be curious about the bet. David N L Levy 104 Hamilton Terrace London NW8 9UP ENGLAND ■ Community Bulletin Board Correction In the BYTE News for April 1979 (page 195) we mentioned that there was a PCNET run by the Chicago Area Com- puter Hobbyist Exchange. We should have said that a Community Bulletin Board is privately run by Ward Christen- sen and Randy Suess. Correction In May's "What's New" on page 254 we listed Semionics Associates' REM S-100 board as having a capacity of 8 K bytes and priced at $525. This should have read "The REM S-100 add-in recognition memory board has a capa- city of 4 K bytes and is priced at $345." Trap Door Trap For shame! The National Bureau of Standards standard data encryption algorithm is not a trap-door algorithm. That term refers to one-way or public key systems. Don McClimans Computer Systems Consultant 41 Washburn Pk Rochester NY 14620 Oops! You, along with several other peo- ple, caught us with that one. [RGAC] ■ July 1979 © BYTE Publications Inc Minimum mimommim in iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiifiiiiiiiiiiiiniiiiiiiitii i mini iimiiiiiiiiiiimimiiiiiiiiiniimii BYTE News .... liiiniimniiiimiiiuiiiiiiiiiiiiiiiiiiiiiiiiiiiiitiiiiiiiM^ FCC TRYING TO CRACK DOWN ON TV INTERFERENCE . The Federal Communications Commission (FCC) has asked Atari, Apple, Commodore, Heath, Southwest Technical Products, and Radio Shack to submit their personal computer systems for TV interference testing. The systems made by these companies are presently exempted from FCC regulations since they are not directly connected to a TV set. However, there have been complaints regarding radio frequency (RF) interference from personal computer systems, and the FCC has decided to develop regulations regarding permissible RF radiation levels. The computer manufacturers involved have indicated a willingness to cooperate with the FCC's effort. The regulations could fine noncomplying manufacturers and permit the issuance of cease and desist orders. Some industry experts feel that a few manufacturers' computer systems would not pass the FCC regulations. INTEL ENHANCES 8086 FAMILY WITH I/O PROCESSOR . Intel continues to lead the way in microprocessor and microcomputer systems. Recently they announced the 8089, an I/O (input/output) processor to work with the 8086 16 bit microprocessor. This processor can more than double the performance of the 8086 by relieving it of I/O operations, much like the communications channel on an IBM 370. $200 DISK SYSTEM EXPECTED BY YEAR END . Shugart and Matsushita Electric of Japan have signed an agreement whereby Matsushita will manufacture a low cost version of Shugart's popular minifloppy disk drive. The drive is expected to sell for $50 in large OEM quantities and retail at about $125. Add to this the interface/controller circuitry, and the total retail cost should work out to a little over $200. This is less than a third of the price of current minifloppy systems. Matsushita expects to be making 100 drives per hour by year end. The drive will store 70 K bytes, use a new head design, and be housed in sheet metal rather than cast aluminum. It will be only 2 inches high, half the height of the current drive. An industrial version with heavy duty components will be sold at $65 OEM. Nippon Electric (NEC) is also rumored to be developing a low cost 5 inch disk drive. 14 MILLION MICROPROCESSORS SOLD LAST YEAR . That's right, 14 million microprocessors were manufactured in 1978. One million 8 bit microprocessors and 13 million 4 bit microprocessors were made. If you didn't realize it already, most were used in games. The most manufactured microprocessors were the 8 bit 6502 and the 4 bit TMS-1000. However, sales of electronic games using microprocessors have recently taken a sharp drop. Hence, the probability exists that there may be a slight decrease in microprocessor production in 1979. 16 BIT MICROPROCESSOR PICTURE STILL FUZZY . It is beginning to look as if Intel may have taken the right approach with the 8086 by designing a part which could be placed in production far ahead of the Zilog Z-8000 or Motorola 68000. They have over a year's head start compared to the Z-8000 and possibly another half year's lead over the 68000. The 8086 part is far simpler than the Z-8000 or 68000 parts, and as a result it is closer to the earlier generations of microprocessors. Support parts for the 8086 such as the new 8087 floating point coprocessor also give the 8086 a commanding availability lead over the other two contenders at this time. All three machines are aimed at the high end of microcomputer application, providing signi- ficant computational power equivalent to traditional mini and main frame computers. July 1979 © BYTE Publications Inc In the meantime, the traditional minicomputer manufacturers are not sitting still. Digital Equipment Corp (DEC), the largest of the "old-time" minimakers, has created an integrated circuit manufacturing facility to make its own 16 bit microprocessor (the LSI-11). This fall they will be making a super-micro mainframe, called the LSI-11/23, that will have almost all the power of a standard minicomputer at a fraction of the price ($6,800 compared to $12,000). THE JAPANESE ARE COMING . Although last year a few Japanese electronics manufacturers introduced personal computer systems on their own home ground, none, so far, has ventured into the US market. This is probably due to the competition that already exists and the lack of sufficient price markup on personal computer systems. If the Japanese enter the personal computer market, it will probably be in the peripherals area. However, the first major Japanese manufacturer has entered the small business computer market. NEC has introduced its ASTRA series of 16 bit microcomputer systems that start at $13,000 and range up to $130,000. The video terminal employs a Z-80 processor. NEW BUBBLE MEMORY TECHNOLOGY . In a paper delivered by a Bell Laboratory researcher at a recent conference, it was disclosed that Bell Labs has made a major breakthrough in bubble memory technology. This breakthrough will mean a four times increase in storage size, a substantial decrease in cost and ten times faster operating speed. Although Texas Instruments and Rockwell have been in production on bubble memory devices for nearly a year, their high cost and small storage capability have prohibited their wide use. This new development, which will still take a few years to reach the market, should have a large impact on the mass storage area, particularly floppy disks. The new device replaces the drive coils used in present bubble memories with wafer-thin conductive layers of gold or aluminum overlaid on the garnet structure. A current flows through these layers forming tiny magnetic fields around holes etched into the surface. The polarity of these fields controls the bubble movements. By eliminating the costly and bulky coil structure, a new pathway design became available which provides a fourfold increase in storage capacity, is easier and less costly to produce, and reduces integrated circuit size, thereby reducing travel time. IBM also announced that it has fabricated bubble memory devices that are 1 square inch in size and contain 25 M bits. These devices were made at the IBM Research Center in Yorktown Heights NY. In the meantime, TI and Rockwell are currently sending out samples of their 256 K bit bubble devices and expect to be in production on these units by the end of the year. They expect to be sampling 1 M bit devices by the end of 1980, with production beginning in 1981. On the whole, it does not appear that bubbles will provide any meaningful competition to floppies until the mid 1980s. PERSONAL COMPUTER/CABLE TELEVISION SYSTEM PLANNED . Six Star Cablevision, a Los Angeles cable television outfit, will soon begin test marketing a personal computer system designed for use with a closed circuit TV system. Six Star will allocate 3 of 42 available channels to transmit data from data banks to subscribers. They claim to have 50 applications programs already prepared, which would be regenerated every 7 seconds. They plan to use a Mattel personal computer system with a printer, and charge $4 to $6 above the regular $7.50 monthly fee. Sol Libes ACGNJ 1776 Raritan Rd Scotch Plains NJ 07076 1 00 July 1 979 © BYTE Publications Inc ,/lfilJTElw "BOOKS OF INTEREST TO COMPUTER PEOPLE" More BYTE BOOKS in your future... Circle 36 on inquiry card. BYTE July 1 979 101 And the future THE BYTE BOOK OF COMPUTER MUSIC combines the best computer music articles from past issues of BYTE Magazine with exciting new material— all written for the computer experimenter interested in this fascinating field. You will enjoy Hal Chamberlin's "A Sampling of Techniques for Computer Performance of Music", which shows how you can create four-part melodies on yourcomputer.Forthe budget minded, "A$19Music Interface" contains practical tutorial information— and organ fans will enjoy reading "Electronic Organ Chips For Use in Computer Music Synthesis". Mew material includes "Polyphony Made Easy" and "A Terrain Reader". The first describes a handy circuit that allows you to enter more than one note at a time into your computer from a musical keyboard. The "Terrain Reader" is a remarkable program that creates random music based on land terrain maps. Other articles range from flights of fancy about the reproductive systems of pianos to Fast Fourier trans- form programs written in BASIC and 6800 machine language, multi-computer music systems, Walsh Functions, and much more. For the first time, material difficult to obtain has been collected into one convenient, easy to read book. An ardent do-it-yourselfer or armchair musicologist will find this book to be a useful addition to the library. ISBN 0-931718-11-2 Editor: Christopher P. Morgan Pages: approx. 128 Price: $10.00 1 fWIMBVIf Hit, SUPER - PUS SUPERWUMPUS is an excit- ing computer game incorpo- rating the original structure of the WUMPUS game along with added features to make it even more fascinating. The original game was described in the book What To Do After You Hit Return, published by the People's Computer Com- pany. Programmed in both N ' 6800 assembly language and BASIC, SUPERWUMPUS is not only addictively fun, but also provides a splendid tutorial on setting up unusual data structures (the tunnel and cave system of SUPERWUMPUS forms a dodecahedron). This is a PAPERBYTE™ book TINY ASSEMBLER 6800, Version 3.1 is an enhancement of Jack Emmerichs' success- ful Tiny Assembler. The origi- nal version (3.0) was described first in the April and May 1977 issues of BYTE magazine, and later in thePAPERBYTE™ book TINY ASSEMBLER 6800 Version 3.0. In September 1977, BYTE v — ' magazine published an article entitled, "Expanding The Tiny Assembler". This pro- vided a detailed description of the enhancements incorporated into Version 3.1, such as the addition of a "begin" statement, a "virtual symbol table", and a larger subset of the Motorola 6800 assembly language. All the above articles, plus an updated version of the user's guide, the source, object and PAPERBYTE™ bar code formats of both Version 3.0 and 3.1 make this book the most complete documentation possible for Jack Emmerichs' Tiny Assembler. ISBN 0-931718-08-2 Author: Jack Emmerichs Pages: 80 Price: $9.00 A walk through this book brings you into Ciarcia's Circuit Cellar for a detailed look at the marvelous projects which let you do useful things with your micro- computer. A collection of more than a year's worth of the popular series in BYTE magazine, Ciarcia's Circuit Cellar includes the six winners of BYTE's On-going Monitor Box (BOMB) award, voted by the readers themselves as the best articles of the month: Control the World (September 1977), Memory Mapped IO (November 1977), Program Your Next EROMin BASIC (March 1978), Tune In and Turn On (April 1978), Talk To Me (June 1978), and Let Your Fingers Do the Talking (August 1978). Each article is a complete tutorial giving all the details needed to construct each project Using amusing anecdotes to introduce the articles and an easy-going style, Steve presents each project so that even a neophyte need not be afraid to try it ISBN 0-931718-03-1 Author: Jack Emmerichs Pages: 56 Price: $6.00 \0I ISBN 0-931718-074 Author: Steve Garcia Pages: approx. 128 Price: $8.00 is right now! BASEX, a new compact, compiled language for micro- computers, has many of the best features of BASIC and the 8080 assembly language— and it can be run on any of the 8080 style microprocessors: 8080, Z-80, or 8085. This is a PAPERBYTE™ book. Subroutines in the BASEX operating system typically execute programs up to five times faster than equiva- lent programs in a BASIC interpreter— while requiring about half the memory space. In addition, BASEX has most of the powerful features of good BASIC inter- preters including array variables, text strings, arithme- tic operations on signed 16 bit integers, and versatile IO communication functions. And since the two lan- guages, BASEX and BASIC, are so similar, it is possible to easily translate programs using integer arithmetic data from BASIC into BASEX. The author, Paul Warme, has also included a BASEX Loader program which is capable of relocating pro- grams anywhere in memory. ISBN 0-931718-05-8 Author: Paul Warme Pages: 88 Price: $8.00 PROGRAMMING TECH- NIQUES is a series of BYTE BOOKS concerned with the art and science of computer programming. It is a collection of the best articles from BYTE magazine and new material collected just for this series. Each volume of the series provides the personal com- puter user with background information to write and main- tain programs effectively. The first volume in the Programming Techniques series is entitled PROGRAM DESIGN. It discusses in detail the theory of program design. The purpose of the book is to provide the personal computer user with the techniques needed to design efficient, effec- tive, maintainable programs. Included is information concerning structured program design, modular pro- gramming techniques, program logic design, and examples of some of the more common traps the casual as well as the experienced programmer may fall into. In addition, details on various aspects of the actual program functions, such as hashed tables and binary tree processing, are included. ISBN 0-931718-12-0 Editor: Blaise W. Liffick Pages: 96 Price: $6.00 SIMULATION is the second volume in the Program- ming Techniques series. The chapters deal with various aspects of specific types of simulation. Both theoretical and practical applications are included. Particularly stressed is simulation of motion, including wave motion and flying objects. The realm of artificial intelligence is explored, along with simulating robot motion with the microcomputer. Finally, tips on how to simulate electronic circuits on the computer are detailed. ISBN 0-931718-13-9 Editor: Blaise W. Liffick Pages: approx. 80 Price: $6.00 Publication: Winter 1979 RA6800ML: AN M6800 RELOCATABLE MACRO ASSEMBLER is a two pass assembler for the Motorola 6800 microprocessor. It is designed to run on a mini- mum system of 16 K bytes of memory, a system console (such as a Teletype terminal), a system monitor (such as Motorola MIKBGG read only memory pro- gram or the 1COM Floppy Disk Operating System), and some form of mass file storage (dual cassette recorders or a floppy disk). The Assembler can produce a program listing, a sorted Symbol Table listing and relocatable object code. The object code is loaded and linked with other assembled modules using the Linking Loader LINK68. (Refer to PAPERBYTE™ publication LINK68: AN M6800 LINKING LOADER for details.) There is a complete description of the 6800 Assembly language and its components, including outlines of the instruction and address formats, pseudo instruc- tions and macro facilities. Each major routine of the Assembler is described in detail, complete with flow charts and a cross reference showing all calling and called-by routines, pointers, flags, and temporary variables. In addition, details on interfacing and using the Assembler, error messages generated by the Assem- bler, the Assembler and sample IO driver source code listings, and PAPERBYTE™ bar code representation of the Assembler's relocatable object file are all induded This book provides the necessary background for coding programs in the 6800 assembly language, and for understanding the innermost operations of the Assembler. ISBN 0-931718-10^1 Author: Jack E Hemenway Pages: 184 Price: $25.00 to order books see next page LINK68: AN M6800 LINKING LOADER is a one pass linking loader which allows separately translated relocatable object modules to be loaded and linked together to form a single executable load module, and to relocate modules in memory. It produces a load map and a load module inMotorola MIKBGG loaderformat. The Linking Loader requires 2 K bytes of memory, a system console (such as a Teletype terminal), a sys- tem monitor (for instance, Motorola MIKBGG read only memory program or the 1COM Floppy Disk Operating System), and some form of mass file stor- age (dual cassette recorders or a floppy disk). It was the express purpose of the authors of this book to provide everything necessary for the user to easily learn about the system. In addition to the source code and PAPERBYTE™ bar code listings, there is a detailed description of the major routines of the Linking Loader, including flow charts. While imple- menting the system, the user has an opportunity to learn about the nature of linking loader design as well as simply acquiring a useful software tool. ISBN 0-931718-09-0 Authors: Robert D. Grappel & Jack E. Hemenway Pages: 72 Price: $8.00 Winter 1979 TRACER: A 6800 DEBUGGING PROGRAM is for the programmer looking for good debugging software. TRACER features single step execution using dynamic break points, register examination and modification, and memory examination and modification. This book includes a reprint of "Jack and the Machine Debug" (from the December 1977 issue of BYTE magazine), TRACER program notes, complete assembly and source listing in 6800 assembly language, object program listing, and machine readable PAPERBYTE™ bar codes of the object code. ISBN 0-931718-02-3 Authors: Robert D. Grappel & Jack E. Hemenway Pages: 24 Price: $6.00 MONDEB: AN ADVANCED M6800 MONITOR- DEBUGGER has all the general features of Motorola's MIKBGG monitor as well as numerous other capabili- ties. Ease of use was a prime design consideration. The other goal was to achieve minimum memory requirements while retaining maximum versatility. The result is an extremely versatile program. The size of the entire MONDEB is less than 3 K. Some of the command capabilities of MONDEB in- clude displaying and setting the contents of registers, setting interrupts for debugging, testing a program- mable memory range for bad memory locations, changing the display and input base of numbers, displaying the contents of memory, searching for a specified string, copying a range of bytes from one location in memory to another, and defining the loca- tion to which control will transfer upon receipt of an interrupt. This is a PAPERBYTE™ book. ISBN 0-931718-06-6 Author: Don Peters Pages: 88 Price: $5.00 BAR CODE LOADER. The purpose of this pamphlet is to present the decoding algorithm which was de- signed by Ken Budnick of Micro-Scan Associates at the request of BYTE Publications, Inc., for the PAPER- BYTE™ bar code representation of executable code. The text of this pamphlet was written by Ken, and contains the general algorithm description in flow chart form plus detailed assemblies of program code for 6800, 6502 and 8080 processors. Individuals with computers based on these processors can use the software directly. Individuals with other processors can use the provided functional specifications and detail examples to create equivalent programs. ISBN 0-931718-01-5 Author: Ken Budnick Pages: 32 Price: $2.00 BYTE BOOKS Division Please send the books I have checked □ Computer Music $10.00 □ SUPERWUMPUS $6.00 □ Tiny Assembler (3.1) $9.00 □ Circuit Cellar $8.00 □ BASEX$8.00 □ Program Design $6.00 □ Check enclosed □ Bill Visa □ Bill Master Charge Card No. Exp. Date 70 Main Street • Peterborough, New Hampshire 03458 □ Simulation $6.00 □ RA6800ML $25.00 □ Link68$8.00 □ TRACER $6.00 □ Mondeb$5.00 □ Bar Code Loader $2.00 Total Books Add 60^ per book Postage/Handling Grand Total Name Title Company Street City State/Province Code V 104 BYTE July 1979 Circle 36 on inquiry card. Kurt Schmucker Mathematician Dept of Defense Washington DC 20755 The Mathematics of Computer Art Introduction Computer scientists and personal com- puter enthusiasts have a great appreciation of the beauty and form of art. They often use the tools of their trade, the computer and its associated peripheral devices, to create works of art. These works express particular, somewhat algorithmic and mathematical tastes in art forms. Since the late 1960s the use of computers and computer controlled devices for the generation of this artwork (often in three dimensions) has been firmly established. (See references 3, 4, 8, 9, and 14.) A great portion of this artwork has relied heavily on the computer's ability to precisely manipulate numerical quantities to produce drawings or sculptures that ex- press complex mathematical relationships. Drawings in this category include figures which show the relationships between the phase, amplitude, and periods of different trigonometric functions; graphs of functions of two or more variables; and moire patterns that can express complex relationships by interaction between families of similar sim- ple curves (see reference 1 3). This is not to say that all or even the majority of computer art is inherently math- ematical. Two of the latest crazes in com- puter art, the recreation of natural scenes and the randomly drawn picture (called "controlled serendipity" by one artist in reference 11), are in essence nonmathe- matical. This article, however, will be concerned only with those figures which have mathematics as their basis. Among figures which rely heavily on mathematics, two classes can easily be sepa- rated. One class is distinguished by the fact that it is precisely the equations themselves which give the figures beauty and appeal. While even the mathematically uninitiated can perceive the beauty of these forms, only those who understand the underlying mathe- matics can fully appreciate the plots. Some examples of this class are the endless varieties of lissajous figures (see references 2 and 6), and two other famous trigonometrically based plots, "Sine Curve Man" (shown in figure 1; see reference 15) and "Christmas Wreath" (see reference 1). The beauty of "Sine Curve Man" is in part due to the undu- lating sine curves, differences in the phase Figure J: "Sine Curve Man" by Charles Csuri and James Shaffer, a trigono- metrically based plot. Re- printed with permission from Computers and Auto- mation, August 1967, Copyright 1967 and pub- lished by Berkeley Enter- prises Inc, 81 5 Washington St, Newtonville MA 02160. About the Author Kurt J Schmucker has been employed as a mathematician at the Department of Defense In Washington DC since 1974. He has masters degrees from both Michigan State University and Johns Hopkins Uni- versity. He is now an advanced special student in the Computer Science Department at the University of Maryland and an assistant professorial lecturer in computer science at George Washington University. Mr Schmucker 's current interests are in natural language processing and computer graphics. Mr Schmucker is the author of "The Computers of Star Trek, " which appeared in the December 1977 BYTE. July 1979 '& BYTE Publications Inc 105 between the different curves, and the varia- tion in the amplitudes. These form the mathematical base for the figure. The other class of figures relies on mathe- matics not for the positioning of the actual lines but for the meaning or the importance of the resulting total plot. For these figures, the actual equations which are plotted are not as important as the relationships which are revealed. Some examples of this class are moire patterns and projection plots of multi- dimensional figures (see reference 12). An example of a moire figure is shown in figure 2. Notice that the lines in this figure are nothing more than regularly spaced radii of two circles — lines whose equations are easily determined. What is fascinating is the complex interference pattern, a pattern which can express complex relationships between those lines. In this article, these two classes of figures will be discussed by ex- amining in detail one example of each. Crest An example of a computer generated fig- ure which relies on complex mathematical relationships for its beauty is the crest, Figure 2: Moire figure, an interference pattern be- tween regularly spaced radii of two circles. 106 July 1 979 © BYTE Publications Inc shown in figure 3 (see reference 5). While the beauty of this figure can be appreciated without examining its mathematics, a more complete understanding is necessary in order to reproduce it on a different computer or to fully comprehend the complexity of the figure. One can easily examine figure 3 and determine by its symmetry the decomposi- tion which is shown in figure 4. The basic unit of figure 3 is shown in fig- ure 5. If the equations which generate the basic unit can be found, then the entire fig- ure can be generated by appropriately ma- nipulating these equations. In an analysis of the unit in figure 5, one can see that the equation of the outer envelope of lines is the only portion of real importance. An examina- tion of this curve brings to mind the spirals studied when one first encounters the use of polar coordinates. There are a number of different kinds of such spirals, most notably the spiral of Archimedes, the parabolic spiral, and the logarithmic spiral. By comparing the graphs of these spirals to figure 5 it can be seen that the logarithmic spiral closely ap- proximates the desired curve. Recall that a logarithmic spiral (shown in figure 6) has an equation of the form r = ae~ e / b , where a and b are positive real numbers. By a suit- able choice of the constants a and b, along with some transformations applied to the equations of two such spirals, we will be able to obtain the equation of the desired envelope. To find the equation of this envelope, the graph of the logarithmic spiral must be ro- tated, translated, and reflected. The fact that the curve is usually expressed in polar form simplifies this task considerably. All three of these transformations can be expressed much more easily in that system than in Cartesian coordinates. Figure 7 shows the resulting graphs and their equations as the graph of the spiral is progressively reflected about the y axis, rotated clockwise by 60°, and translated. Superimposing the graph of: x = -ae~ fl/b cos(0 - jf/3) + a cos tt/3 y = ae^ e/b sin(0 - tt/3) + a sin tt/3 upon the last portion of figure 7, the graph in figure 8 is obtained, which is precisely the desired envelope. Text continued on page 7 10 Except where noted Illustrations by: Alexander A Ames Systems Analyst Dept of Defense Washington DC 20755 A COMPLETELY REFURBISHED "SELECTRIC" ASCII TERMINAL FOR THE SMALL BUSINESSMAN OR SERIOUS HOBBYIST. The AJ 841 I/O terminal. Now available from dealers nationwide. Demand for our AJ 841 I/O computer terminal has been great. And now it's getting even greater. So call your local computer shop dealer right away. Supply is limited! You may never have another opportunity like this one to buy your own professional terminal. The A J 841 features: • Choice of serial RS 232 or parallel interface • ASCII code • 14.9 cps printout • High quality Selectric printing • Heavy-duty Selectric mechanism • Off-line use as typewriter • Documentation included • 30-day warranty on parts and labor (details available on request) Call toll-free now For location of your nearest AJ dealer, call toll-free: 800/538-9721 California residents call 408/263-8520. Circle 9 on inquiry card. July 1979 © BYTE Publications Inc 107 Aw, cut it out! junel^/ \ forrna( lf -' ^ Software DIGITAL RESEARCH iJE/SSf □ CP/M* FDOS — Diskette Operating System complete with Text Editor, Assembler, Debugger, File Manager and system utilities. Available for wide variety of disk systems including North Star, Helios II, Micropolis, iCOM (all systems) and Altair. Supports computers such as Sorcerer, Horizon, Sol System III, Versatile. Altair 8800, COMPAL-80, DYNABYTE DB8/2, and iCOM Attache. Specify desired configuration S1 45/825 □ MAC — 8080 Macro Assembler. Full Intel macro definitions. Pseudo Ops include RPC, IRP, REPT, TITLE, PAGE, and MACLIB. Z-80 library included. Produces Intel absolute hex output plus symbols file for use by SID (see below) $1 0Q/S1 5 D SID — 8080 symbolic debugger. Full trace, pass count and break-point program testing system with back-trace and histo- gram utilities. When used with MAC, provides full symbolic display of memory labels and equated values $85/815 □ TEX — Text formatter to create paginated, page-numbered and justified copy from source text files, directable to disk or printer $85/815 □ DESPOOL — Program to permit simultaneous printing of data from disk while user executes another program from the console $50/81 MICROSOFT □ Disk Extended BASIC — New version, ANSI compatible with long variable names, WHILE/WEND, chaining, variable length file records 8300/825 □ FORTRAN-80 — ANSI '66 (except for COMPLEX) plus many extensions. Includes relocatable object complier, linking loader, library with manager. Also includes MACRO-80 (see below) $400/825 □ COBOL-80 — ANSI 74 Pseudo-compiler with relocatable object runtime package. Format same as FORTRAN-80 and MACRO-80 modules. Complete ISAM, interactive ACCEPT/ DISPLAY, COPY, EXTEND $625/$25 □ MACRO-80 — 8080/Z80 Macro Assembler. Intel and Zilog mnemonics supported. Relocatable linkable output. Loader, Library Manager and Cross Reference List utilities included $149/$15 □ MACRO-80 plus FORTRAN subroutine library available. Li- brary includes ABS, SIGN, EXP, DLOG, SORT, DSQRT, ATAN, DATAN etc. etc $219/815 □ EDIT-80 — Very fast random access text editor for text with or without line numbers. Global and intra-line commands sup- ported. File compare utility included 889/81 5 XITAN (software requires Z-80 CPU) □ Disk BASIC — Fast powerful interactive interpreter. PRI- VACY password security. Can dynamically open a large number of files simultaneously for random or sequential I/O $159/820 D Z-TEL — Text editing language. Expression evaluation itera- tion and conditional branching ability. Registers available for text and commands. Macro command strings can be saved on disk for re-use $69/820 D ASM Macro Assembler — Mnemonics per Intel with Z-80 ex- tensions. Macro capabilities with absolute Intel hex or relocat- able linkable output modules $69/820 □ LINKER — Link-edits and loads ASM modules ...869/820 □ Z-BUG debugger — Trace, break-point tester. Supports dec- imal, octal and hex modes. Dissassembler to ASM mnemonic set. Emulation technique permits full tracing and break-point support through ROM 889/820 'CP/M is a trade name of Digital Research Software / with / Manual Manual/ Alone □ TOP Text Output Processor — Creates page-numbered, jus- tified documents from source text files $69/$20 □ Super BASIC — Sub-set of Xitan Disk BASIC with extensive arithmetic and string features but without random access data file support. Available optionally with features to support VDB Xitan video output board $99/820 □ A3 package includes Z-TEL, TOP, ASM and Super BASIC 8249/840 □ A3+ package includes Disk BASIC, Z-TEL, TOP, ASM, Z-BUG and LINKER $409/840 MICROPRO □ Super Sort I — Sort, merge, extract utility as absolute executable program or linkable module in Microsoft format. Sorts fixed or variable records with data in binary, BCD, Packed Decimal, EBCDIC, ASCII, floating, fixed point, expo- nential, field justified, etc. etc. Even variable number of fields per record! 8250/825 D Super Sort II — Above available as absolute program only 8200/$25 □ Super Sort III — As II without SELECT/EXCLUDE 8150/825 □ Word Master Text Editor — In one mode has super-set of CP/M's ED commands including global searching and replac- ing, forward and backwards in file. In video mode, provides full screen editor for users with serial addressable-cursor terminal 8150/825 □ Corresponder — Mail list system, supporting torm letter generation with personalized greetings. Reference fields per- mit sorting and extraction by name, address fields or reference data using Super Sort. Requires CBASIC $95/825 SOFTWARE SYSTEMS □ CBASIC-2 Disk Extended BASIC — Non-interactive BASIC with pseudo-code compiler and runtime interpreter. Supports full file control, chaining, integer and extended precision var- iables etc. Version 1 users can receive Version 2 and new manual for $45 with return of original diskette. Standard CP/M and TRS-80 CP/M versions available 890/81 5 STRUCTURED SYSTEMS GROUP □ General Ledger — Interactive and flexible system providing proof and report outputs. Customization of COA created inter- actively. Multiple branch accounting centers. Extensive check- ing performed at data entry for proof, COA correctness etc. Journal entries may be batched prior to posting. Closing pro- cedure automatically backs up input files. All reports can be tailored as necessary. Requires CBASIC 8899/820 □ Accounts Receivable — Open item system with output for internal aged reports and customer-oriented statement and bill- ing purposes. On-Line Enquiry permits information for Cus- tomer Service and Credit departments. Interface to General Ledger provided if both systems used. Requires CBASIC 8699/820 □ Accounts Payable — Provides aged statements of ac- counts by vendor with check writing for selected invoices. Can be used alone or with General Ledger and/or with NAD. Re- quires CBASIC 8699/820 □ NAD Name and Address selection system — interactive mail list creation and maintenance program with output as full re- ports with reference data or restricted information for mail labels. Transfer system for extraction and transfer of selected records to create new files. Requires CBASIC 879/820 □ QSORT — Fast sort/merge program for files with fixed record length, variable field length information. Up to five ascending or descending keys. Full back-up of input files created. Parameter file created, optionally with interactive program which requires CBASIC. Parameter file may be generated with CP/M assem- bler utility 895/820 BYTE July 1 979 Software for most popular 8080/Z80 computer disk systems, including NORTH STAR, MICROPOLIS, iCOM, SD SYSTEMS, DYNABYTE DB8I2, HELIOS, ALT AIR, TRS-80, 8" IBM and OHIO SCIENTIFIC formats. Software J with / Manual Manual/ Alone GRAHAM-DORIAN SOFTWARE SYSTEMS □ PAYROLL SYSTEM — Maintains employee master file. Computes payroll withholding for FICA, Federal and State taxes. Prints payroll register, checks, quarterly reports and W-2 forms. Can generate ad hoc reports and employee form letters with mail labels. Requires CBASIC. Supplied in source code. S605 S35 □ APARTMENT MANAGEMENT SYSTEM - Financial management system for receipts, disbursements and security deposits of apartment projects. Captures data on vacancies, revenues, etc. for annual trend analysis. Daily report shows late rents, vacancy notices, vacancies, income lost through vacancies, etc. Requires CBASIC. Supplied in source code. S605/S35 □ INVENTORY SYSTEM — Captures stock levels, costs, sources, sales, ages, turnover, markup, etc. Transaction in- formation may be entered for reporting by salesman, type of sale, date of sale, etc. Reports available both for accounting and decision making. Requires CBASIC. Supplied in source code 8605/835 OTHER □ Z80 Development Package — Consists of: (1) disk file line editor, with global inter and intra-line facilities; (2) Z80 relocating assembler, Zilog/Mostek mnemonics, conditional assembly and cross reference table capabilities; (3) linking loader producing absolute Intel hex disk file for CP/M LOAD, DDT or SID facilities. Standard CP/M and TRS-80 CP/M ver- sions available $95/515 □ TEXTWRITER II — Text formatter to justify and paginate letters and other documents. Special features include insertion of text during execution from other disk files or console, permit- ting recipe documents to be created from linked fragments on other files. Ideal for contracts, manuals, etc S75/S5 □ DISINTEL — Disk based disassembler to Intel 8080 or TDU Xitan Z80 source code, listing and cross reference files. Intel or TDL/Xitan pseudo ops optional. Runs on 8080. Standard CP/M and TRS-80 CP/M versions available S65/S1 0 □ DISZILOG — As DISINTEL to Zilog/Mostek mnemonic files. Runs on Z80 only. Standard CP/M and TRS-80 CP/M versions available $65/$10 Fill it in. Lifeboat Associates, 2248 Broadway. New York. N.Y. 10024 (212) 580-0082 Software / with / Manual Manual/ Alone □ WHATSIT? — Interactive data-base system using associa- tive tags to retrieve information by subject. Hashing and ran- dom access used for fast response. Requires CBASIC $125/825 □ XYBASIC Interactive Process Control BASIC — Full disk BASIC features plus unique commands to handle bytes, rotate and shift, and to test and set bits. Available in Integer, Ex- tended and ROMable versions. Integer Disk or Integer ROMable 8295 $25 Extended Disk or Extended ROMable $395 $25 D SMAL/80 Structured Macro Assembled Language — Pack- age of powerful general purpose text macro processor and SMAL structured language compiler. SMAL is an assembler language with IF-THEN-ELSE, LOOP-REPEAT-WHILE, DO- END, BEGIN-END constructs $75/$15 □ Selector II — Data Base Processor to create and maintain single Key data bases. Prints formatted, sorted reports with numerical summaries. Available for Microsoft and CBASIC (state which). Supplied in source code $195/820 □ Selector III — Mufti (i.e., up to 24) Key version of Selector II. Comes with applications programs including Sales Activity, In- ventory, Payables, Receivables, Check Register, Expenses, Appointments, and Client/Patient. Requires CBASIC Supplied in source code 8295/820 Enhanced version for CBASIC-2 8345/820 □ CPM/374X Utility Package — has full range of functions to create or re-name an IBM 3741 volume, display directory information and edit the data set contents. Provides full file transfer facilities between 3741 volume data sets and CP/M files 8195/810 □ Flippy Disk Kit — Template and instructions to modify sin- gle sided 5W diskettes for use of second side in singled sided drives 89.75 □ BASIC Comparison — A comprehensive features and per- formance analysis of five 8080 disk BASIC languages — CBASIC, BASIC-E, XYBASIC, Microsoft Disk Extended BASIC, and Xitan's Disk BASIC. Itemizes results of 21 different benchmark tests for speed and accuracy and lists instructions and features of each BASIC (send 200 S.A.S.E.) FREE □ TRS-80 FORTRAN PACKAGE — Professional disk- based language and utility package written by Microsoft, creators of Level II BASIC, the package runs on a TRS-80 system with 32K RAM, one or more drives and TRSDOS. The software is supplied on diskettes and consists of a relocatable machine code FORTRAN Compiler, Macro Assembler, a Link- ing Loader, Subroutine Library, Text Editor 8325 Macro assembler, loader and editor alone 8165 Hi Software Price □ manual alone □ manual alone □ Check □ U.P.S. COD □ Visa □ Master Charge Account # Exp. Date Shipping S1.00 for C.O.D. Signature Total My computer configuration (specifying disk system); Name Address (No P.O. Box) City State Zip EFFECTIVE APRIL 15. 1979 TMiThe Software Supermarket is a trademark of Lifeboat Associates Disk systems and for- mats: North Star single or double density, IBM single or 2D/256, Altair, Helios II, Micropolis Mod I or II, 5V4" soft sector (Micro iCOM/SD Sales! Dynabyte), etc. Add$1 litem shipping ($2 min.). Add $1 additional for UPS COD. Manual cost applicable against price of subse- quent software pur- chase. The sale of each pro- prietary software pack- age conveys a license for use on one system only. boat Associates THE OFTWARE SUPER- MARKET BYTE July 1979 Figure 3: "Crest. " This figure is composed of fundamental units shown in figure 5, and the author's algorithm is explained in the text. Figure 4: Decomposition of crest in figure 3. Text continued from page 107: By redoing this work in rectangular coor- dinates, we can see how much easier it is to manipulate these equations in the polar co- ordinate system. The reflected, rotated, and translated coordinates of a point (X,Y) can be calculated with the matrix equation which is called a in table 1. Substituting the specific values needed to repeat the previous work and multiplying the three 3 by 3 matrices together, we ob- tain equation b in table 1. This is the same result obtained earlier. It is now a trivial matter to obtain the lines in figure 5 by drawing chords between points selected equiangularly along each of the two curves. One can extend this by similar modifications to the equation r = ae _e / b to obtain the crest in figure 3. The constants a and b determine the size of the resulting plot and the curvature of each of the six "leaves" respectively. The Dissected Square The plot in figure 9 is not too difficult to understand at first glance (see reference 7). In essence it is a set of concentric squares with the area between the squares divided into smaller squares. Postponing the detailed discussion until later, the figure can be con- structed in the following manner: given a square with a side of length X, construct a concentric square with a smaller side of length Y. The value of Y is determined by X in a manner to be explained later, but note that Y < X. Extend the sides of the smaller square until they meet the edges of the square of side X. The intermediate result is shown in figure 10. Divide the shaded regions into squares. (It will be shown that this is always possible when X and Y are chosen carefully.) At this point, consider the square of side Y to be the outer square and Figure 5: Fundamental building block of the crest figure. The form of the curves resembles a loga- rithmic spiral. 110 July 1 979 © BYTE Publications Inc Technical 5y/tcm/ Con/ultant/, Inc. 6800 & 8080 Text Processing TSC's Text Editing System and Text Processing packages, available for both 6800 and 8080, can turn your micro into a very powerful word processing system. Two steps are involved. First you edit a file to say what you want without worrying about justification, pagination, etc. The TSC editor is a very powerful line and content oriented editor which may be used for this purpose. The second step is to "process' the edited file. The TSC text processor reads the edited file and outputs it to a printer with right justification, pagination, page numbering and titling, indenting, margin control, title centering, and much more. Macros may be written in the text processor commands which allow complex operations such as footnotes, form letters, or almost anything imaginable. Price includes manual with printed source listing and object code on tape or disk. 6800 Text Editing System SL68-24C w/cassette $30.45 SL68-24D w/mini FLEX'" disk $31.50 SL68-24F w/8" FLEX'" 1.0 disk $50.00 8080 Text Editing System SL80-10P w/paper tape $37.50 SL80-10F w/8" CP/M'" disk $40.00 SL80-10D w/5" HS CP/M'" disk $40.00 6800 Text Pro cessing System SL68-29C w/cassette $38.95 SL68-29D w/mini FLEX'" disk $40.00 SL68-29F w/8" FLEX'" 1.0 disk $75.00 SL68-29F2 w/5" FLEX'" 2.0 disk $65.00 8080 Text Processing System SL80-11P w/paper tape $41.00 SL80-11F w/8" CP/M'" disk $50.00 SL80-11D w/5" HS CP/M'" disk $50.00 FLEX™ Software The FLEX'" disk operating system is rapidly becoming the standard of 6800 disk users. It's powerful capabilities and ease of use make it a natural choice for any application from the most minimal hobbyist system to the most complete industrial development system. FLEX'" for SWTPC and SSB SWTPc mini floppy users can now upgrade to FLEX'" 2.0. the same version of FLEX™ as found on the SWTPc 8" disk system. Simply add 8K of memory at $A000 and boot up from a FLEX'" 2.0 disk. Also available for Smoke Signal disk users in a mini floppy version (FLEX'" 2.0) and a full sized version (FLEX'" 1.0). Includes TSC editor and assembler on disk. All manuals also supplied (no source listings). FX02-SWT FLEX'" 2.0 for 5" SWTPc $75.00 FX02-SSB FLEX'" 2.0 for 5" SSB $90.00 FX01-SSB FLEX'" 1.0 for 8" SSB $100.00 Sort/Merge Package Sorts any type file according to parameters you supply. Files too large to fit in memory are automatically split up, individually sorted, and merged into one output file. Accepts fixed or variable length records, up to 20 ascending or descending keys, non- ASCII sequence sorts, and much more. No source listing. Specify mini FLEX*", FLEX'" 1.0, or FLEX'" 2.0 AP68-10 6800 Sort/Merge $75.00 Manual Only $15.00 FLEX'" Utilities Complete set of 36 additional utilities ranging from memory dump to disk diagnostics. Includes printed manuals and source listings with object code AND source listing on disk. UV1-6D w/mini FLEX™ disk $99.95 UV1-6F w/8" FLEX'" 1.0 disk $124.95 UV1-6F2 w/5" FLEX™ 2.0 disk $119.95 TSC BASIC for 6800 The fastest floating point BASIC interpreter for any 8 bit microprocessor. Features include six digit floating point math, full transcendental functions, unlimited string length, if/then/else construct, logical operators, and two-dimensional arrays including string arrays. FLEX™ disk versions support random as well as sequential access files (the mini FLEX™ version has only sequential). Random files accessed by true record I/O or by virtual arrays. Disk version also allows TRACE, a renumber facility, ON ERROR GOTO, PTR for obtaining the address of a variable, CHAIN, and a very powerful method of printing to any type and number of output devices. SAVE and LOAD commands produce FLEX™ compatible files which can be externally edited while a COMPILE command places an unreadable, compressed form of the source on disk which can only be executed by RUN. This feature permits the distribution of proprietary BASIC programs. Cassette version runs in a minimum of 12K, disk version should have at least 16K. No source listing is included. AP68-11C w/casette $39.95 AP68-11D w/mini FLEX™ disk $49.95 AP68-11F w/8" FLEX™ 1.0 disk $59.95 AP68-11F2w/5" FLEX™ 2.0 disk $54.95 All orders should include 3% for postage and handling (8% on foreign orders). Send 25

m T)C BflOTRlS HAS Em KSIWO Tit roomm wu sc cmsm ww is e C*£ TO fuv mif BLOCKADE by Ken Anderson for 4K Level I and II TRS-80s is a real time action game for two players, with high speed graphics in machine language. Each player uses four keys to control the direction of a moving wall. Try to force your opponent into a collision without running into a wall yourself! A strategy game at lower speeds, BLOCKADE turns into a tense game of reflexes and coordination at faster rates. Play on a flat or spherical course at any of ten different speeds. You can hear SOUND EFFECTS through a nearby AM radio— expect some razzing if you lose! 14.95 A _■ ■ SINCX) ■ ■ ■ ■ ■ ■ ■ ■ ■ .9 " .5 - 1 -6.3 -3-\ ■ ■ ■ J 5 f .a -lower your shields just long enough to fire your phasers, betting that you can get them back up in time! With nine levels of difficulty, this challenging game is easy to learn, yet takes most users months of play to master. ADD SOUND EFFECTS with a simple two-wire hookup to any audio amplifier; the TRS-80 also produces sound effects directly through the keyboard case, to accompany spectacular graphics explosions! You won't want to miss this memorable version of a favorite computer game $14.95 GRAPHICS PACKAGE by Dan Fylstra for 8K PETs includes programs for the most common 'practical' graphics applications: PLOTTER graphs both functions and data to a resolution of 80 by 50 points, with automatic scaling and labeling of the axes; BARPLOT produces horizontal and vertical, segmented and labeled bar graphs; LETTER displays messages in large block letters, using any alphanumeric or special character on the PET keyboard; and DOODLER can be used to create arbitrary screen patterns and save them on cassette or in a BASIC ELECTRIC PAINTBRUSH by Ken Anderson for 4K Level I and IITRS-80S. Create dazzling real time graphics displays at speeds far beyond BASIC, by writing 'programs' consisting of simple graphics commands for a machine language interpreter. Commands let you draw lines, turn corners, change white to black, repeat previous steps, or call other programs. The ELECTRIC PAINTBRUSH manual shows you how to create a variety of fascinating artistic patterns including the one pictured. Show your friends some special effects they've never seen on a TV screen! . . .» $14.95 program $14.95 WHERETO GET IT: Look for the Personal Software" display rack at your local computer store. If you can't find the product you want, you can order direct with your VISA/Master Charge card by dialing 1-800-325-6400 toll free (24 hours, 7 days; in Missouri, dial 1-800-3426600). If you have questions, please call 617-783-0694. Or you can mail your order to one of the addresses below, as of the dates shown. Until July 1: P.O. Box 136 Cambridge, Mass. 02138 Personal Software™ After July 1: 592 Weddell Dr. Sunnyvale, Calif. 94086 118 BYTE July 1979 Circle 302 on inquiry card. Look for Personal Software™ products at the dealer nearest you! ALABAMA BYTE SHOP Hunlsville. AL 35805 COMPUTERLAND Hunlsville. AL 35805 CPU. INC. Montgomery, AL 36104 THE LOGIC STORE Opelika, AL 36801 ALASKA ALPHA ELECTRONICS Anchorage. AK 99503 ARIZONA MILLET'S TV & RADIO Mesa, AZ 85204 PERSONAL COMPUTER PLACE Mesa. A2 85202 COMPUTERLAND OF PHOENIX Phoenix. AZ 85016 COMPUTER SHOWROOM Tucson, AZ 85710 ARKANSAS COMPUTERLAND Little Rock, AR 72212 DATACOPE Little Rock, AR 72204 CALIFORNIA JAY KERN ELECTRONICS Bakerslield. CA 93305 BYTE SHOP Burbank. CA 91506 BYTE SHOP OF SACRAMENTO Citrus Heights, CA 95610 COAST COMPUTER CENTER Costa Mesa, CA 92627 CAPITOL COMPUTER SYSTEMS Davis. CA 95616 COMPUTERLAND SAN DIEGO EAST E: Caion. CA 92020 COMPUTERLAND OF EL CERRITO El Cernto, CA 94530 BUSINESS ENHANCEMENT COMPUSERVICE Escondido. CA 92027 CHANNEL DATA SYSTEMS Golela, CA 93017 RAINBOW COMPUTING Granada Hills, CA 91344 JADE COMPUTER PRODUCTS Hawthorne. CA 90250 BYTE SHOP OF HAYWARD Hayward, CA 94541 COMPUTERLAND OF HAYWARD Hayward. CA 94541 COMPUTERLAND OF WEST LA. Inglewood. CA 90302 COMPUTER COMPONENTS OF SOUTH BAY Lawndale, CA 90260 COMPUTERLAND OF SOUTH BAY Lawndale, CA 90260 A VIDD ELECTRONICS Long Beach, CA 90815 COMPUTERLAND Los Altos. CA 94022 BYTE SHOP Mountain View, CA 94040 HOBBY WORLD ELECTRONICS Northndge, CA 91324 COMPUTERS- MADE-EASY Palmdale, CA 93550 BYTE SHOP OF PLACENTIA Placenlia, CA 92670 COMPUTER CENTER Riveiside, CA 92503 CAPITOL COMPUTER SYSTEMS Sacramento. CA 95821 COMPUTERLAND San Bernadino. CA 92404 COMPUTERLAND OF SAN DIEGO San Diego. CA 92111 COMPUTER MERCHANT San Diego. CA 92115 COMPUTERLAND OF SAN FRANCISCO San Francisco, CA 94105 VIDEO GAMES & COMPUTERS San Francisco, CA 94118 COMPUTERLAND OF SAN JOSE San Jose. CA 95129 COMPUTERLAND (Central) San Leandro. CA 94577 BYTE SHOP San Louis Obispo. CA 93401 MARIN COMPUTER CENTER San Rafael. CA 94903 ADVANCED COMPUTER PRODUCTS Santa Ana. CA 92705 BYTE SHOP Santa Clara. CA 95051 COMPUTER FORUM Santa Fe Springs. CA 90670 THE COMPUTER STORE Santa Monica. CA 90401 SANTA ROSA COMPUTER CENTER Santa Rosa. CA 95404 BYTE SHOP Suisun, CA 94585 COMPUTERS PLUS Sunnyvale. CA 94087 BYTE SHOP OF TARZANA Tarzana, CA 91356 COMPUTERLAND OF THOUSAND OAKS Thousand Oaks, CA 91360 SMALL SYSTEM SOFTWARE Thousand Oaks. CA 91360 COMPUTER COMPONENTS Van Nuys. CA 91411 COMPUTERLAND Walnut Creek. CA 94598 BYTE SHOP Westminster. CA 92683 COMPUTER COMPONENTS OF ORANGE COUNTY Westminster. CA 92683 COLORADO BYTE SHOP Boulder. CO 80301 COMPUTERLAND Colorado Springs, CO 80917 AMPTEC Denver. CO 80216 COMPUTERLAND Denver, CO 80222 BYTE SHOP Englewood, CO 80110 MICRO WORLD ELECTRONIX Lakewood, CO 80226 CONNECTICUT COMPUTERLAND OF FAIRFIELD Fairlield. CT 06430 JRV COMPUTER STORE Hamden. CT 06518 THE COMPUTER STORE Hartford. CT 06103 THE COMPUTER STORE Windsor Locks. CT 06096 WASHINGTON D.C. COMPUTER CABLEVISION Washington. D.C 20007 FLORIDA COMPUTERLAND Boca Raton. FL 33432 THE COMPUTER STORE Bradenlon. FL 33505 THE COMPUTER STORE Clearwater. FL 33516 UCATAN Deslrn. FL 32541 BYTE SHOP Fort Lauderdale, FL 33334 COMPUTERLAND Fort Lauderdale. FL 33308 COMPUTERS FOR YOU Fort Lauderdale. FL 33312 DATA MOVERS Fort Meyers, FL 33901 FOCUS SCIENTIFIC ENTERPRISES Miami. FL 33132 GRICE ELECTRONICS Pensacola, FL 32589 COMPUTER AGE Pompano Beach, FL 33062 PAPERBACK BOOKSMITH Sarasota. FL 33581 AMF ELECTRONICS Tampa. FL 33612 MICRO COMPUTER SYSTEMS Tampa. FL 33609 COMPUTER CENTER OF PALM BEACHES West Palm Beach. FL 33409 GEORGIA ADVANCE COMPUTER TECHNOLOGIES Atlanta, GA 30328 COMPUSHOP ' Atlanta, GA 30342 DATAMART Atlanta. GA 30305 THE LOGIC STORE Columbus. GA 31906 COMPUTERLAND OF ATLANTA Smyrna. GA 30080 HAWAII COMPUTERLAND Honolulu. HI 96813 MICROCOMPUTER SYSTEMS Honolulu. HI 96813 RADIO SHACK (Dealer) Lihue. HI 96766 IDAHO NORTHWEST COMPUTER CENTER Boise, ID 83704 ILLINOIS COMPUTERLAND OF ARLINGTON HEIGHTS Arlington Heights, IL 03904 FARNSWORTH COMPUTER CENTER Aurora. IL 60505 KAPPEL'S COMPUTER STORE Belleville. IL 62220 DOW-COM Carbondale. IL 62901 BYTE SHOP Champaign, IL 61820 THE ELEKTRIK KEYBOARD Chicago, IL 60614 EMMANUEL B. GARCIA JR. AND ASSOCIATES Chicago, IL 60613 PERSONAL COMPUTER Chicago. IL 61820 COMPUTERLAND Downers Grove. IL 60515 COMPUTER STATION Granite City. IL 62040 ORCUTT BUSINESS MACHINES La Salle, IL 61301 ILLINI MICROCOMPUTERS Naperville. IL 60540 COMPUTERLAND OF NILES Nrles. IL 60648 COMPUTERLAND Oak Lawn. IL 60453 COMPUTERLAND OF PEORIA Peoria. IL 61614 WALLACE ELECTRONICS Peoria. IL 61614 DATA DOMAIN Schaumburg. IL 60195 INDIANA DATA DOMAIN OF FORT WAYNE Fort Wayne, IN 46805 HOME COMPUTER CENTER Indianapolis, IN 46220 PUBLIC COMPUTING Lafayette. IN 47904 IOWA SYNCHRONIZED SYSTEMS Des Moines. IA 50310 THE COMPUTER CENTER Waterloo. IA 50701 KANSAS THE COMPUTER ROOM Overland Park. KS 66212 PERSONAL COMPUTER CENTER Overland Park, KS 66206 COMPUTER SYSTEMS DESIGN Wichita. KS 67214 LOUISIANA COMPUTER SHOPPE Metaire. LA 70002 MARYLAND COMPUTERLAND Rockville. MD 20855 COMPUTER WORKSHOP Rockville. MD 20852 COMPUTERS ETC. Towson. MD 21204 COMPUTERS UNLIMITED Towson. MD 21204 MASSACHUSETTS THE COMPUTER STORE Burlington. MA 01803 THE COMPUTER STORE Cambridge. MA 02139 CPU SHOP Charlestown. MA 02129 MAD HATTER SOFTWARE Dracut, MA 01826 NEW ENGLAND ELECTRONICS Needham, MA 02194 NEW ENGLAND ELECTRONICS Springfield. MA 01103 MICHIGAN NEWMAN COMPUTER EXCHANGE Ann Arbor. Ml 48104 NEW DIMENSIONS IN COMPUTING East Lansing. Ml 48823 COMPUTER HOUSE DIV. Jackson. Ml 49202 COMPUTERLAND OF GRAND RAPIDS Kenlwood. Ml 49508 COMPUTRONIX Midland. Ml 48640 COMPUTER MART OF ROYAL OAK Royal Oak, Ml 48073 TRI CITY COMPUTER MART Saginaw. Ml 48603 COMPUTERLAND Southfield. Ml 48034 LEVEL FOUR PRODUCTIONS Weslland. Ml 48185 MINNESOTA COMPUTERLAND Bloominglon. MN 55431 MINN. MICRO SYSTEMS Minneapolis. MN 55454 MISSISSIPPI OXFORD SOFTWARE CO. Oxford. MS 38655 MISSOURI FORSYTHE COMPUTERS Clayton. MO 63105 COMPUTER COUNTRY Florissant. MO 63031 GREATEST GRAPHICS Springfield. MO 65804 NEBRASKA OMAHA COMPUTER STORE Omaha. NE 68127 NEVADA HOME COMPUTERS Las Vegas. NV 89109 NEW HAMPSHIRE TRS-80 SOFTWARE EXCHANGE Milloid. NH 03055 COMPUTERLAND OF NASHUA Nashua. NH 03060 BITS. INC. Peterborough. NH 03458 NEW JERSEV COMPUTER LAB OF NJ Budd Lake. NJ 07828 COMPUTER EMPORIUM Cherry Hill. NJ 08002 COMPUTER MART OF NJ Iselm. NJ 08830 MSM ELECTRONICS Medford. NJ 08055 COMPUTERLAND Moms'town, NJ 07960 COMPUTERLAND Paramus. NJ 07652 COMPUTER NOOK Pine Brook, NJ 07058 COMPUTER CORNER Pompton Lakes, NJ 07442 COMPUTER ENCOUNTER Princeton, NJ 08540 TYPTRONIC COMPUTER STORE Ramsey. NJ 07446 NEW YORK COMPUTERLAND Buffalo. NY 14150 COMPUTERLAND Carle Place, NY 11514 COMPUTER SHOP OF SYRACUSE De Witt, NY 13214 THE COMPUTER TREE Endwell, NY 13760 LONG ISLAND COMPUTER GENERAL STORE Lynbrook. NY 11563 COMPUTER MICROSYSTEMS Manhassel. NY 11030 COMPUTER SHOPPE Middle Island. NY 11953 THE COMPUTER FACTORY New York, NY 10017 COMPUTER MART OF NEW YORK New York. NY 10016 DATEL SYSTEMS New York. NY 10036 AUTOMATIC SYSTEMS Poughkeepsie, NY 12603 COMPUTER HOUSE Rochester, NY 14609 THE COMPUTER STORE Rochester. NY 14618 HOME COMPUTER CENTER Rochester. NY 14607 THE COMPUTER CORNER White Plains, NY 10601 READOUT COMPUTER STORE Willramsville. NY 14221 NORTH CAROLINA BYTE SHOP Charlotte. NC 28212 COMPUTERLAND Charlotte, NC 28205 FUTUREWORLD Durham, NC 27707 BYTE SHOP Greensboro, NC 27401 MICROCOMPUTER SERVICES Hickory. NC 28601 BYTE SHOP OF RALEIGH Raleigh. NC 27605 OHIO BASIC COMPUTER SHOP Akron. OH 44314 CINCINNATI COMPUTER STORE Cincinnati. OH 45246 21ST CENTURY SHOP Cincinnati. OH 45202 DIGITAL DESIGN Cincinnati. OH 45202 CYBER SHOP Columbus. OH 43227 MICRO MINI COMPUTER WORLD Columbus. OH 43213 COMPUTER SOLUTIONS Dayton. OH 45409 DAYTON COMPUTER MART Dayton. OH 45409 ASTRO VIDEO ELECTRONICS Lancaster. OH 43130 COMPUTERLAND OF CLEVELAND Maylield Heights. OH 44121 RADIO SHACK (Dealer) St. Clairsville. OH 43950 OKLAHOMA HIGH TECHNOLOGY Oklahoma City, OK 73106 MICROLITHICS Oklahoma Cily. OK 73127 HIGH TECHNOLOGY Tulsa, OK 74129 OREGON THE COMPUTER STORE Corvallrs, OR 97330 CAMERA AND COMPUTER EMPORIUM Portland, OR 97205 COMPUTERLAND OF PORTLAND Tigart, OR 97223 PENNSYLVANIA BYTE SHOP Bryn Mawr, PA 19010 PERSONAL COMPUTER CENTER Frazer, PA 19355 COMPUTER AID Lalrobe. PA 15650 THE COMPUTER WORKSHOP Murrysvrlle. PA 15668 P.S.: VISICALC—Howdid you ever do without it? A B COMPUTERS Perkasie. PA 18944 MICROTRONIX Philadelphia, PA 19106 SOUTH CAROLINA DATA MART Greenville. SC 29607 TENNESSEE MICROCOMPUTER STORE Knoxville, TN 37919 COMPUTER LABS OF MEMPHIS Memphis. TN 38117 DOC'S COMPUTER SHOP Nashville, TN 37211 TEXAS COMPUTERLAND OF AUSTIN Austin. TX 78757 COMPUTERS 'N THINGS Austin. TX 78731 MICRO COMPUTER SHOPPE Corpus Christi. TX 78411 COMPUSHOP Dallas, TX 75243 COMPUTERLAND Dallas, TX 75231 KA ELECTRONICS SALES Dallas. TX 75247 COMPUTER TERMINAL El Paso, TX 79901 RAM MICRO SYSTEMS Fort Worth. TX 76116 COMPUTERCRAFT Houston. TX 77063 COMPUTERLAND OF HOUSTON BAY Houston. TX 77058 NEIGHBORHOOD COMPUTER Lubbock. TX 79401 COMPUTER PATCH OF SANTA FE Odessa. TX 79762 COMPUSHOP Richardson, TX 75080 THE COMPUTER SHOP San Antonio, TX 78216 COMPUTER SOLUTIONS San Antonio. TX 78229 WICHITA COMPUTER SYSTEMS Wichita Falls, TX 76301 UTAH ADP SYSTEMS Logan. UT 84321 COMPUTER CONCEPTS GROUP Salt Lake City, UT 84109 THE HI-FI SHOP Salt Lake City, UT 84117 VERMONT COMPUTERMART Essex Junction, VT 05452 VIRGINIA COMPUTER HARDWARE STORE Alexandria, VA 22314 COMPUTERS PLUS Alexandria, VA 22304 COW, INC. Blacksburg, VA 24060 HOME COMPUTER CENTER Newport News, VA 23606 COMPUTER TECHNIQUES Richmond. VA 23235 THE COMPUTER PLACE Roanoke. VA 24015 CdMPUTER WORKSHOP Springfield, VA 22151 COMPUTERLAND Vienna, VA 22180 HOME COMPUTER CENTER Virginia Beach, VA 23452 WASHINGTON OMEGA NORTHWEST Bellevue, WA 98004 COMPUTERLAND OF SOUTH KING COUNTY Federal Way, WA 98003 YE OLDE COMPUTER SHOPPE Richland. WA 99352 THE COMPUTER SHOPPE Seattle. WA 98115 EMPIRE ELECTRONICS Seattle, WA 98166 PERSONAL COMPUTERS Spokane, WA 99202 COMPUTERLAND Tacoma. WA 98499 WISCONSIN BYTE SHOP OF MILWAUKEE Greenfield, Wl 53227 COMPUTERLAND Madison. Wl 53711 MADISON COMPUTER STORE Madison. Wl 53711 COMPUTERLAND Milwaukee, Wl 53222 FOX VALLEY COMPUTER STORE Neenha. Wl 54956 WYOMING COMPUTER CONCEPTS Cheyenne, WY 82001 AUSTRALIA ELECTRONIC CONCEPTS PTY. LTD, COMPUTERLAND Sydney. N.S.W. CANADA COMPUSHOP Calgary, Alberla T2N 2A4 THE COMPUTER SHOP Calgary, Alberta T2T 4T9 ORTHON COMPUTERS Edmonton. Alberla T5N 3N3 TJB MICROSYSTEMS Edmonton, Alberla T5M 0H9 CONTI ELECTRONICS Vancouver. B.C. V5W 2Z4 COMPUTER CITY Winnepeg, Manitoba R3P 0H8 COMPUTERLAND Winnepeg, Manitoba R3G 0M8 INTERACTIVE COMPUTER SYSTEMS Frederrckton, New Brunswick MINICOMP SYSTEMS Halifax. Nova Scotia B3K 2G1 KOBETEK SYSTEMS Wollville. Nova Scotia BOP 1X0 COMPUTERLAND Burlington, Ontario LYNTRONICS Downsview, Ontario M2J 2W6 COMPUTER CIRCUITS London. Ontario N6A 3H2 COMPUMART Ottawa. Ontario K2A 1J2 COMPUTER INNOVATIONS Ottawa, Ontario K1B 4A8 RICHVALE TELECOMMUNICATIONS Richmond Hill, Ontario THE COMPUTER CENTRE Sarma. Ontario N7T 1B4 COMPUTER MART Toronto, Ontario M4G 3B5 THE COMPUTER PLACE Toronto, Ontario M5V 1Z1 COMPUTER SPECIALIST Toronto, Ontario M3K 1E7 HOME COMPUTER CENTRE Toronto, Ontario M2M 3W2 HOUSE OF COMPUTERS Toronto, Ontario MARKETRON Toronto. Ontario MICRO-WARE Toronto. Ontario M4E 2L2 COMPUCENTRE Montieal, Quebec H1J 1Z4 FUTUR BYTE Montreal. Quebec H3B 3C9 CUSTOM COMPUTING SERVICES Saskatoon, Saskatchewan S7K 2B5 DIGITAL SERVICE Saskatoon, Saskatchewan S7J 3A9 PUERTO RICO MICROCOMPUTER STORE Rio Piedras. PR 00921 ENGLAND BYTE SHOP 1 1 ford. Essex INFOGUIDE London CYTEK Manchester M4 3E4 PETSOFT Newbury. Berkshire RG13 1PB KEEN COMPUTERS Nottingham NG7 1FN T 8 V JOHNSON MICROCOMPUTERS Camberly. Surrey PETALECT Woking, Surrey J&J ELECTRONICS Bexhill-on-Sea, East Sussex OPTRONICS Twickenham TW1 4RY DENMARK MICRO SYS Copenhagen V1BYJ FRANCE SVEA Paris 75008 GERMANY BECK COMPUTERS 8 Munchen 70 ING, W HOFACKER 8 Munchen 75 HOLLAND COMPUTRON Den Haag 2502 ER ITALY HOMIC MICROCOMPUTERS SRL 20)23 Milano SCOTLAND MICRO CENTRE Edinburgh EH3 5AA SINGAPORE THE COMPUTER CENTRE PTE. LTD. Singapore 7 SWEDEN MICROFUTURE Stockholm 10322 SEMIDAKO Uppsala 75353 SWITZERLAND INTERFACE TECHNIC Basel INGENIEUBUREAU Basel 1 DIALOG COMPUTER Lucerne ELBATEX Wetlingen Circle 302 on inquiry card. BYTE July 1979 119 Sonic Anemometry for the Hobbyist Neil Dvorak Meteorological measurement generally 2562 s Newport concerns itself with five variables: air pres- Denver CO 80224 sure; humidity, temperature, wind speed, and wind direction. A single sonic ane- mometer can sense each of the last three variables. Accuracy and linearity are excel- lent. Additionally, the actual air temperature is detected in a manner which is insensitive to solar radiation, which can easily heat up conventional thermometers. In a sonic anemometer, wind vane and rotating cups are replaced with transducers which measure the speed of sound as a func- tion of wind velocity and temperature. Com- mercially available research grade instru- ments cost upwards of $10,000, and until recently employed analog computational circuitry. The arrival of the microcomputer and its associated display techniques makes such a scientific instrument economically feasible as an experimenter's project. As a bonus, data can be logged into memory over time, averaged, and displayed as desired. A tanta- lizing option involves the attachment of a fast but inexpensive 4 bit analog to digital converter which enables the instrument to double as an ultrasonic echo radar device. At this time, however, such investigations have progressed only to echoing observa- tions on the time base of a triggered oscilloscope. In operation the instrument uses a pair of pulse travel times in the North-South di- rection and a corresponding pair for the East-West direction. These vector compo- nents are easily processed into a resultant wind vector with magnitude and direction. Physically, two sets of ultrasonic transducers face each other at opposite ends of a path. Simultaneous sound fronts and eventual reception yield two travel times whose difference is a measure of wind speed along the path. Fundamental Relationships The following derivation yields wind speed: D At=t 2 -t, = = 2DW c 2 -w 2 Therefore W = W 2DW C 2 D C+W 2D H (i) (2) where C = speed of sound D = path length W = wind speed t = difference of travel times. The resultant wind speed, W p being the sum of two orthogonal vectors, is simply ex- pressed as: W = n/w 2 + W 2 (3) Temperature is found by adding a pair of travel times: h + t 2 D D 2DC C+W C-W C 2 -W 2 2DC C 2 2D C (4) If C = 20 V T k is substituted in the above relationship: T t = 2D _20(t 1 +t 2 ) where T k is degrees Kelvin. , (5) Since the velocity calibration of the instrument varies about 3.5% over a 0°C to 30°C range, the temperature measurement can be used to correct the velocity readings. Using equations (2) and (4) above: W=- 2D( tl -t lh +t 2 ) 2 (6) Wind speed measuring resolution can be determined if the computer's input cycle time and anemometer path length are known. Recall that: W = At(— \2D 1 20 July 1 979 © BYTE Publications Inc it's on the INTRODUCING — LOUMAR MANAGEMENT SYSTEMS SOFTWARE a) programs to give you a comprehensive package for business management The Loumar General Accounting System is a versatile, fully integrated software package designed for small and medium sized businesses. It is also suitable for CPA's and bookkeeping service films. The complete software system is composed of four main modules: GENERAL LEDGER, ACCOUNTS RECEIVABLE, ACCOUNTS PAYABLE AND PAYROLL. Each module may be used separately or in combination with any other module. Supplied on disk as run-time modules. Source not available. All software is written in CBASIC II and utilizes the powerful CP/M operating system. General system features include: Automatic posting to general journal • Strict error detection • Report production on demand • Consistent operating procedures • User oriented. No previous computer knowledge reguired • Designed by accounting professionals • Comprehensive, well pre- sented reports and manuals • Single or multiple client capabilities. HARDWARE SPECIFICATIONS The end user's microcomputer must satisfy the following require- ments: 48k RAM Dual floppy disk system Printer with tractor. All printing is done in 80 col. format CRT with at least a 64 character by 1 6 line display CP/M and CBASIC II Write for our brochure - Dealerships still available Contact: Distributor MISSION CONTROL • 2008 WILSH1RE BOULEVARD, SANTA MONICA, CA 90403 • (213)829-5137 Circle 237 on inquiry card. byte July 1 979 PAYROLL: Up to 500 employees - $550. ACCOUNTS RECEIVABLE: Up to 1 000 customers and 1 000 monthly transactions - $550 ACCOUNTS PAYABLE: Up to 1000 vendors and 1300 monthly transactions - $400 GENERAL LEDGER: Up to 200 accounts with 2000 entries - $450 121 Assume a path length of 4.84 feet and C = 1100 feet per second. A Z-80 based computer operating at a system clock frequency of 2.5 MHz, for example, can accept input no faster than 8 jus per byte. Under these conditions, resolution is: 8X 10~ 6 seconds X (1 1 00 feet/second) 2 2 X 4.84 feet = 1 foot/second. For physical construction convenience I chose a three foot path length. This gives a resolution of nearly 1 mile per hour. Construction Details Rigid support should be used for the transducer mounting. I chose 3/4 inch plas- tic pipe for low cost and ease of assembly. See figure 3 for more detail. The angle a is not critical. Just keep in mind that the height (H) must be high enough to prevent off-axis energy from the transducers from bouncing off any hardware in the bottom center of the assembly (such as a printed circuit card). These reflections can return to the point of origin before arrival of the desired pulse. The plastic pipe for both axes can easily be fastened to a wooden base frame. If you need a permanent installation, you can investigate better support arrange- ments. The ultrasonic transducers (Model MK- 109) range from one to two dollars apiece on the surplus market, and they can be con- veniently supported by pieces of 3/4 inch thin wall plastic pipe. Use shielded wire between the transducers and the interface electronics. The electronic circuit card should be sheltered from the elements. (A plastic sandwich bag will work for the short term.) Unshielded wire, such as a ribbon cable, can be used between the computer and the interface. Mechanical adjustment, besides the ob- vious line-of-sight alignment, consists of physically moving one or more transducers in their holders so that both component vectors are zero in still air. A program such as the demonstrator routine in listing 1 should be used for this adjustment. In wiring the preamplifier section of the receiver, note that all the 74C04 integrated circuits are connected to a separate 5 Vzener regulated supply. The shields of the receiver- transducer coaxial cables connect to the negative side of this zener diode. This pre- amplifier common connects to ordinary digital ground at only one Ideation — a lead from the negative side of the zener to supply ground. Interface Electronics Figures 1 and 2 may seem to indicate that considerable effort was wasted on ob- taining an enormous signal to noise ratio. Not so. The barium titanate transducers (commonly used in intrusion alarms), having inherently high Q (ratio of inductance to resistance) and self resonance, are efficient only after many oscillations have built up. As impulse generators they are only margin- ally acceptable; I used them for their low cost and availability. Complementary metal oxide semicon- ductor InverterSj biased in their linear region, perform as stable high gain preamplifiers. The logic state edge detectors, formed by the comparator and type D flip flop combin- ation, respond to the first negative or posi- tive cycle received that exceeds a preset noise threshold. The triacs are used to switch the output of the step-up transformer to either pair of transmitting transducers. Exclusive OR gate IC7c generates a delayed start strobe to the pulse generating circuitry. This delay allows the steering triacs to settle and permits only the desired set of transducers to activate. The monostable multivibrator ICIOa, sensi- tive to transitions of either polarity, allows a single line from the output port to strobe the pulse generator and also select the de- sired wind direction to be measured. The trigger threshold of all receiver cir- cuitry is determined by a single resistor, R t , in a simple voltage divider string. R t sets the difference between the comparator trip point levels, V |_| and V|_. The receiver must be sensitive enough to trigger on the second, third, or fourth incoming half cycle, but it must not be so sensitive as to latch up on extraneous noise. Increasing the value shown in the schematic, for example, decreases output sensitivity. Such action may be necessary if different path lengths or transducers are used. Transformer T should have a turns ratio of approximately 10:1. A small 120 V to 12 V filament transformer will work here as a step up device, even at 40 kHz. A precautionary note: when testing the pulse generating circuitry, do not run it continuously with transducers connected because the 200 V peak to peak signal could result in a burn-out of these devices. Software Listing 1 contains a program written for the Z-80 microprocessor which displays data from the anemometer. It sends data to one bit of an output port and accepts data from Text continued on page 132 1 22 July 1 979 © BYTE Publications Inc Figure 7: Schematic diagram of receiver section of circuit, negative or positive half cycle to exceed a noise threshold. The arrival time of a pulse is perceived by the receiver as the first July 1979 © BYTE Publications Inc 1 23 1 24 July 1 979 © BYTE Publications Inc Circle 35 on inquiry card Table I : Power table for the integrated circuits used in figures 1 and 2. Number Type +5 V GND -12 V +12 V 1 A / IC2 74C04 1 4 7 IC3 74C04 1 4 j IC4 1 2 - -CROSS SECTION VIEW OF REMAINING AXIS PIPE Listing I : Program in Z-80 assembler code to gather data from the sonic ane- mometer and display wind direction on a video monitor. S 0600 0600 0601 0602 0603 0606 0607 0608 0609 060A 0608 060C 060D 060E 060F 0610 0612 0614 0617 061A 061D 0620 0622 0624 0627 062A 063B : 00 00 0 0 CD 4 0 0 7 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 00 3 E D3 CD CD CD CD 3 E D3 CD CD CD 0 0 0 2 6 0 3 4 00 BD 0 1 0 2 6 5 1 0 34 0 7 07 07 08 0 7 07 07 NOP NOP NOP CALL NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP LD OUT CALL CALL CALL CALL LD OUT CALL CALL CALL 0600 thru 063B triggers the pulse generator and calls all the support routines in their proper se- quence. 0740 : A, 00 : 02 : 0760 : 0734 : 0700 : 08BD : A, 01 : 02 : 0765 : 0710: 0734 : Listing 7 continued on page 126 ••• Participate in the exciting, fast- growing retail personal computer business. We're Byte Industries Incorporated," the oldest micro- computer distributor in the country, and we're offering individual Byte Shop" dealerships nationwide. As a Byte Shop " dealer you get: • The nationally recognized Byte Shop" Trademark • A broad full-line inventory of small-business and personal computer products • National and regional advertising support • Store development guidance • The benefits of a national chain organization without franchise fees or on goin g royalties • Exclusive, protected territories. To qualify, you should have an interest in computers, combined with the desire and ability to run your own business. Retail and/or sales management experience is a definite plus. A theoretical or working knowledge of computer technology is also helpful, though not necessary. Investment is roughly $80,000, with an initial equity contribution of $40,000. If you're ready for your own business and have what it takes, write or cal I M ike Chase now. 408-739-8000 Incorporated - A LOGIC Company Yes, I'm interested. Please send me your Byte Shop " dealership information packet today. NAME ADDRESS CITY STATE .ZIP. PHONE Byte Industries. Incorporated " 930 West Maude Sunnyvale, CA 94086 (408) 739-8000 July 1979 & BYTE Publications Inc 1 25 Circle 385 on inquiry card. SUPPLIES 364 ITEMS. SOFTWA GUIDE The latest Buyers-Guide of microcom- puter software, accessories and sup- plies is now available. Up to the minute releases on software and accessories for the APPLE II and the TRS-80 as well as a wide range of computer sup- plies are listed on these sheets. This is the most comprehensive guide of its kind available today. If you own a microcomputer you can't afford to pass up this offer. If you are a supplier of sof- tware or accessories you'll want a copy of this guide to see if your products are listed because if they aren't you are missing out on sales. $3.00 (we will send you a certificate worth $3.00 off of your first pur- chase.) AUTOMATIC INSTANT UPDATE We send you the current Buyers-Guide bound in a handsome 3 ring binder. Monthly you will receive current up- dated pages to add to the catalog. A directory of suppliers, their phone num- bers and their addresses are always at your finger tips. We publish user com- ments on items purchased. As a sub- scriber to Automatic Instant Update you will be the first to learn of new sof- tware releases, you'll get some great buys on overstocked items or new release specials, and you'll never have to search again. One years service $25.00 Wallace Electronics, Inc. 4921 N. Sheridan Rd. Peoria, Illinois 61614 Listing 1 continued from page 125: 062D CD 0 0 0 7 CALL 0700 : 0630 UU D 4 0 8 CALL 08D4 : 0633 L>U 0 A 0 8 UALL 080A : Uooo L>U 7 D U o L-ALL UoYb . 0639 C 3 0 0 0 6 JP 0600 : READY S 080A 0849 080A 2 1 D F OA LD l 1 1 nA hi — . HL.0ADF . 080D 3 A F 3 0 6 LD A,(06F3) : 08 1 0 4 7 LD B,A : 08 1 1 3 A F 2 0 6 LD A,(06F2) : 0814 9 8 SBC B : 0815 3 8 0 8 JR C, 081 F : nni7 UO I f *3 O o c. r I u o i n (UoM ), A . 081 A OU 4 D 0 8 CALL 084D : 081 D 1 Q 1 O n q U o ID JH "0827* : n h 1 p t u A A M err" 1 IN LLj ■ 082 1 Q O O £. r 1 0 fa i n LU (06r1),A : 0824 c-r\ L-U 5 1 0 8 CALL 0851 : 0827 3 A F 5 0 6 LD A.(06F5) : 082A 4 7 LD D A ■ B,A . 082B 3 A F 4 0 6 LD A,(06F4) : 082E 9 8 SBC B : Uoc r o o U v_» ID 0831 3 2 F 6 0 6 LD (06F6),A : 0834 2 8 0 5 JR Z, 083B* : 0836 A U 0 8 CALL 08A0 : 0839 0 0 NOP U U NOP 083B 1 8 OA JR *0847* : 083D ED 4 4 NEG 083 F 3 2 F 6 0 6 LD (06F6),A : 0842 2 3 INC HL : 0843 2 3 INC HL : 0844 3 D DEC A : 0845 2 0 F B JR NZ,*0842* 084 7 3 6 A A LD (HL),AA : Uo4y u y RET READY S 087B 0892 * 087B 3 E 7 F LD A,7F : no 7 n Uo ( U r A 0 0 CALL 00 FA : noon UooU 0 1 0 0 0 4 LD BC,0400 . UoOJ O 1 n n U U n Q u y 1 R LU nL.uyuu . UO OD 7 E i n LU A,(HL): 0887 D3 0 0 OUT 00 : 0889 AF XOR A: 088A D3 0 0 OUT 00 : 088C 2 3 INC HL : 088D 0B DEC BC : 088 E 7 8 LD A,B : 088F B1 OR C : 0890 2 0 F4 JR NZ/0886* u o y d C9 RET READY S 084D 086E: 084D 3E 4 2 LD A, 42 : 084 F 1 8 02 JR *0853* : 0851 3 E 4A LD A,4A : Uo Do 32 6A 0 8 LD (086A),A . 0856 3A F 1 0 6 LD A,(06F1) : 0859 5 7 LD D,A : 085A FE 0 0 CP 00 : 0S5C C8 RET Z : 085D DE 0 7 SBC 07 : 085F 3 8 04 JR C,*0865* : 0861 3 E 0 7 LD A,07 : 0863 1 8 0 1 JR "0866* : 0865 7A LD A,D : 0866 0 1 4 0 0 0 LD BC.0040 : 0869 ED 4 2 SBC HL.BC : 086B 3D DEC A : 086C 20 FB JR NZ,*0869* 086E C9 RET READY S 08BD 08D2 : 08BD 3E 4 6 LD A, 46 : 08BF 3 2 F0 0 8 LD (08F0),A : 08C2 CD EB 08 CALL 08EB : 08C5 32 F2 0 6 LD (06F2),A : 08C8 3E 4 E i n L.LJ A 4E ' 08CA 32 F0 08 LD (08F0j,A : 08CD CD EB 08 CALL 08EB : 08DO 32 F3 06 LD (06F3),A: READY S 08D4 08F4 : 08D4 3E 5 6 LD A, 56 : 08D6 3 2 F0 08 LD (08F0),A: 080A thru 0849 positions an ASCII asterisk in the video memory buffer. 087B thru 0892 outputs the video buffer to the 1 6 by 64 character generator. 084D thru 086E is a subroutine to raise or lower the asterisk for routine 080A. 08BD thru 08D2 extracts and stores vertical (N/SI travel times. 08D4 thru 08EA extracts and stores horizontal IE/WI travel times. Listing 1 continued on page 128 126 July 1 979 © BYTE Publications Inc w w The line your reputation should be on. When a computer supplier or retailer sells equipment, his reputation is on the line. And when the customer has to justify his investment decision, his reputation is on the line too. So, naturally, everybody's a lot better off on a reliable line. Like ours. With a name like Industrial Micro Systems, we wouldn't think of building anything short of industrial standards . . . even our S -100 products. No short cuts or jumpers. All of our boards — CPU, memory and controllers — are made from real fiberglass instead of a plastic substitute. And contacts are gold plated over a copper- ion barrier of nickel. Every disk enclosure features a heavy- gauge steel chassis, and a heavy duty power supply. Built to take it. Then come our complete systems. Aside from the disk drives, we manufacture every component that goes into them. Even the desk that goes around them. So we can vouch for rugged reliability inside and out. Two complete systems: Our new Series 5000 features a megabyte of storage on integral mini-floppies. And our Series 8000 is all business too. It can handle up to three megabytes on 8-inch drives. A large library of software, growing daily, includes CP/M* PASCAL, and FAMOS** Breaking the 64k barrier. Using Industrial Micro Systems 32k memory boards with Memory Management, our systems can handle up to 576k RAM internally. More in store. That's not the end of the line. It's growing all the time, along with our reputation for quality. Put your reputation on the line. Our line. For more details just call or write. Supplier/dealer inquiries welcomed. Industrial Micro Systems, 628 N. Eckhoff, Orange, CA 92668. (714) 633-0355. INDUSTRIAL MICRO SYSTEMS The great unknown. Trademark of Digital Research Trademark of MV/T Systems Circle 173 on inquiry card. *P.E.T.*Food* Household Finance Part 1 CftTEGORV AMOUNT AUTO 19.46 INCOME 2.75 MRTGE 320.73 TAXES 8 CLOTHES 448.61 MEDICAL 218 EN TRTA IN 21.69 INSUR 281.55 EDUC 342.96 SAVINGS 8 FOOD 229.78 UTIL 36-2? GIFTS 13.44 VACATION 1823.41 HOUSE 533 MISC 78.13 ♦ ♦ + ♦♦**»«***♦*.♦♦*«»****»**♦*««*«»*»*»»*» Tota 1 ai Total i Do you want a s period?LEN(E$) THEN 51 ELSE 53 51 INPUT ":",E$ \ A$ = " "\E1 =1 52 IF LEN(E$)<>0 THEN 53 \ PRINT \ GOTO 51 53 E1$=E$(E1,E1)\E1 =E1 +1 54 IF E1 $ ="," THEN 57 ELSE IF E1 >LEN(E$) THEN 56 55 A$=A$+E1$\GOTO 53 56 A$=A$+E1$ 57 IF A$ ="." THEN 95 58 IF A$ ="/" THEN 99 59 IF A$<>"?" THEN 62 60 PRINT\PRINT%7F3,"K1 = ",K1," K2=",K2," S1=",S1," S2=", S2 61 GOTO 51 62 IF LEN(A$)< 5 THEN 72 63 IF A $ ( 1 , 5) < > "PLOT" THEN 72 64 A$=A$(6) 65 FOR J = 1 TO 6\ REM TAG VARIABLES TO 66 V(J)=0\ REM BE PLOTTED. 67 FOR K = 1 TO LEN(A$) 68 IF A$(K,K)=B$(J,J) THEN V(J) = 1 69 NEXT K 70 NEXT J 71 GOTO 50 72 IF LEN(A$)<3 THEN 91 73 IF A$(1,3X>"K1 =" THEN 75 74 K1 =VAL(A$(4)) \ GOTO 50 75 IFA$(1,3)o"K2=" THEN 77 76 K2 = VAL(A$(4)| \ GOTO 50 77 IF A$(1,3K>"S1 =" THEN 79 78 S1 =VAL(A$(4))\ GOTO 50 79 IF A$(1,3)o"S2=" THEN 81 80 S2=VAL(A$(4I)\ GOTO 50 81 IF A$( 1 ,2) < >"0 = " THEN 83 82 00=VALIA$(3))\ GOTO 50 83 IF A$(1,2)<>"P = " THEN 85 84 P0=VAL(A$(3))\ GOTO 50 85 IF A$(1,2K>"R=" THEN 87 86 R0=VAL(A$(3I)\ GOTO 50 87 IF AS(1,2X>"D = " THEN 89 88 D0=VAL(A$(3))\ GOTO 50 89 IF A$(1,2)<> "L = " THEN 91 90 L1 =VAL(A$(3»\ GOTO 50 91 PRINT "???", \ GOTO 50 92 REM ** 93 REM ** 94 REM ** 95 P=PO\REM 96 0=00\D = DO\R=RO 97 l=FNF(0) + FND(D) 98 E = R-P\GOSUB 1 09 \ REM 99 D = DO \ REM 100 R=RO 101 FOR L = 1 TO L1 \ REM 102 l=FNF(0)+FND(DI 103 P = FNI(I) 104 E=R-P 105 0=FNO(E) 106 GOSUB 109 \ REM 107 NEXT L 108 GOTO 50 109 REM ** 110 REM »* 1 1 1 REM ** 112 U(1)=P + C 113 U(2)=E + C 114 U(3)=R + C 115 U(4)=l+C 116 U(5)=0 + C 117 U(6)=D + C 118 PRINT 119 M$ =Z$ \ REM 120 M$(C + 1,C + 1) = "."\REM 121 FOR J = 1 TO 6\ REM 122 U=INT(U(J) + .5) + 1 123 IF U<1 THEN U = 1 124 IF U>WTHEN U=W 125 IF V(J) = 1 THEN M$(U,U)=B$(J,J) 126 NEXT J 127 PRINT M$, \ REM PRINT BUFFER 128 RETURN 999 END SIMULATION AND PLOTTING LOOP ENTRY WITH INITIALIZATION PLOT INIT. CONDITIONS ENTRY, NO INITIALIZATION CONTROL LOOP SIMULATION CALL PLOTTING SUBROUTINE PLOTTING SUBROUTINE CLEAR OUTPUT BUFFER MARK SCREEN CENTER LOAD BUFFER July 1979 © BYTE Publications Inc 1 35 REFERENCE SIGNAL P, PERCEPTUAL COMPARATOR E, ERROR SIGNAL DISTURBING QUANTITY Figure 5: The system's output quantity, O, influences the input quantity, I, via the feedback function, FNF. The disturbing quantity, D, influences the input quantity via the disturbance function FND. Both FNF and FND represent physical links in the environment. The state of the input quantity is determined by the sum of these two influences. The system's input function, FN I, converts the state of the input quan- tity into a magnitude of the perceptual signal P. P Is compared with the reference signal R in the comparator function, which emits an error signal E = R - P. The error signal is converted into a magnitude of the output quantity via the output function, FNO. Above the line we have the behaving sys- tem. We cross the boundary at the input function, FNI. This is the function which turns the state of an external quantity, I, into the magnitude of a perceptual signal, P. Both sensors and computing processes may be involved in a complex input function. The outcome, however, is always the magni- tude of a single signal, whatever it repre- sents. This signal can only increase or de- crease; we will always work with one- dimensional control systems, treating multi- dimensional control phenomena by using multiple control systems. The perceptual signal is the system's internal representation of the external world - its only such repre- sentation. Line 103 expresses the definition of the input function and the way it relates the input quantity and perceptual signal: P = FNI(I). Inside the system is another signal, the reference signal, R. In living systems, this signal is generated elsewhere in the organ- ism; it is not accessible from outside. The reference signal, along with the perceptual signal, enters a function called the com- parator, which subtracts one signal from the other and emits an error signal, E, repre- senting the signed difference of magnitudes. It does not matter which signal is subtracted from which, but for uniformity we will always treat the reference signal as the posi- tive input and the perceptual signal as the one subtracted from it. Thus, a positive error signal always means that the refer- ence signal is larger than the perceptual signal. This function does not have to be generalized, as nonlinearities and amplifica- tion can always be absorbed into one of the other functions. THE WE'RE NOT JUST THE VIDEO PEOPLE It's true we built our reputation on high precision video digitizers, but that's not all we offer. Take B-08 for example, a 2708 EPROM Programmer for the SWTPC 6800. All programming voltages are generated on board and controlled by a safety switch with an LED Indicator. An Industrial quality Textool socket and extended board height allow effortless EPROM Insertion and retrieval. The source listing of U2708, our utility to test, burn verify and copy EPROMs Is Included. B-08 was our first product and we've never had one of them returned for repair. Price: $99.95 If you're programming EPROMs a lot, you might take a look at our PROM System Board. PSB-08 features space for up to eight 2708 EPROMs and 1K of hlgh-speedscratchpad RAM. The EPROMs are dip-switch addressable for convenience. An exclusive I/O select option permits the user to move the I/O locations In memory to any block In EPROM and expand to 56K bytes of contiguous user RAM. Price: $119.95 UIO is another of our popular 6800 products; it's lust the thing for custom Interfaces. UIO has space for a 40-pin wire wrap socket into which you can plug any of Motorola's 40 or 24-pln interface chips. The data and control lines are connected to the appropriate edge connector pins with all other bus connections brought out to a 16-pln socket pad. Build circuits In half the time with UIO. Price: $24.95 One of our most exciting new products is a home controller system. It won't cost several hundred dollars and you won't need any electrical engineering experience to use It. By mid-summer we will have units available for the S-50, S-100, TRS-80 and Apple computers. Don't write us now; we'll let you know when we are ready to ship. Of course we still make video gear. The DS-80 for S-100 computers and the DS-68 for 6800 machines are In stock. Our first production run for the Apple will be available In early July. So even though we think video is one of the most creative areas opening up for micros, we're not just the video people. P.O. BOX 1110 DEL MAR, CA 9201 4 71 4-756-2687 1 36 July 1 979 © BYTE Publications Inc Circle 231 on inquiry card. FR€€ SOFTWMK! PRACTICAL MICROCOMPUTER PROGRAMMING: THE Z80 by W.J. Weller FINALLY.... Here from W.J. Weller and Northern Techno- logy Books is the third in the Practical Microcom- puter Programming series. It is a comprehensive text covering assembly language programming for Z80 based microcomputers. The first 16 chap- ters cover Z80 programming comprehensively, from binary operations to interrupt handling. In- cluded are chapters on moving data, logical and arithmetic operations, use of the stack, commu- nications with the terminal, floating point arith- metic and graphic output. All programming tech- niques are illustrated with formal tested ex- amples. An important feature of the book is that AN EDITOR/ASSEMBLER SYSTEM FOR 8080/8085 BASED COMPUTERS by W.J. Weller and W.T. Powers This 148 page book contains complete information for initializing and using a powerful new editor/assembler and debugging monitor system, and the full SOURCE text of both. The assembler fully sup- ports all Intel instruction mnemonics as well as the entire language used in Practical Microcomputer Programming™:The Intel 8080. The editor/assembler is resident in less than 8K RAM and will run on any 8080, 8085 orZ80 based computer with peripherals which trans- fer on a character basis or can be made to do so by buffering. The us- er supplies his or her own I/O drivers. The text editor is extremely simple to use and does not require irrelevant line numbers. Also in- cluded is a program to convert Processor Technology™ format tapes to a format usable by the editor/assembler. This system is not the usual "quickie" software, riddled with er- rors and limitations, but a professionally created, thoroughly tested and debugged system. At $14.95 it is the best software bargain you are ever likely to see. AND BY THE WAY.. .paper tape object copies of all this software are sent FREE to book purchasers when the coupon at the back of the book is returned to Northern Technology Books. 8V2" x 11". $14.95 • 8080/8085 editor/assembler object code on diskette for North Star disc systems. Only $14.00 • 8080/8085 editor/assembler and debug source code for North Star disc systems. Only $14.00 • Or both for $26.00! PRACTICAL MICROCOMPUTER PROGRAMMING: THE INTEL 8080 by W.J. Weller, A.V. Shatzel and H.Y. Nice Here is a comprehensive source of programming information for the present or prospective user of the 8080 microcomputer, including moving data, binary arithmetic operations, multiplication and divis- ion, use of the stack pointer, subroutines, arrays and tables, convers- ions, decimal arithmetic, various I/O options, real time clocks and interrupt driven processes, and debugging techniques. This 306-page hardcover book is well worth its $21.95 price and should be in every 8080 or Z80 user's library. PRACTICAL MICROCOMPUTER PROGRAMMING: THE M6800 by W.J. Weller This second volume of the Practical Microcomputer Programming series addresses the problems of applications programming at as- sembly level for the M6800. In 16 chapters and more than 100 formal examples , the fundamental techniques of assembly level programm- ing are applied to the solution of specific problems with the 6800. No- where theoretical, it is a thorough and detailed methods text for the beginning and intermediate application programmer using the 6800. $21 .95 hardcover. it uses the universal standard 8080 mnemonics. This is of great help to users who are upgrading their machines and software to utilize the Z80 processor. The last part of the book is software; an editor/ assembler which will run on any 8080 or Z80 ma- chine and a debugging monitor. Hardcover $29.95 a quality assembler for the TRS-80* Send in the coupon supplied with the book and receive FREE the object programs of the editor/ assembler and debug on either paper tape or on cassette tape for the TRS-80 microcomputer. (Loads in Level I with 16K RAM or Level II.) Both the book and software for only $29.95! • Also available is the editor/assembler object code for the Z80 on diskette for North Star disc systems. Only $14.00 • In addition, the editor/assembler and debug source code for the Z 80 are available on diskette for North Star disc systems. Only $14.00 • Or both for $26.00! BITS Books to erase the impossible inc 25 Route 101 West, PO Box 428, Peterborough, NH 03458 603-924-3355 Please send me the items checked below. □ Practical Microcomputer Programming — The Z80 (with choice of either FREE paper tape or FREE TRS-80 cassette when I mail coupon supplied with book) $29.95 □ Editor/ Assembler System for 8080/8085 Based Computers (with paper tape object copies of the software sent FREE when I mail coupon supplied with book) $14.95 □ Practical Microcomputing Programming — The Intel 8080 $21 .95 □ Practical Microcomputing Programming — The M6800 $21 .95 □ Editor/assembler object code for the Z 80 on diskette for North Star disc systems $14.00 □ Editor/assembler and debug source code for the Z 80 on diskette for North Star systems $14.00 □ SAVE $2.00! Both object code and source code for the Z 80 $26.00 □ Editor /assembler object code for 8080/8085 on diskette for North Star disc systems $14.00 □ Editor/assembler and debug source code for 8080/8085 on disk- ette for North Star disc systems $14.00 □ SAVE $2.00! Both object code and source code for 8080/8085 $26. Total enclosed $ for each item ordered) _(Please enclose 75? shipping/handling □ Check Card #_ Expires_ Charge Card □ Master Charge □ Visa Signature VISA Name_ Address_ City_ _State^ -Zip- Dial your charge card orders toll-free: 800-258-5477 Mon.-Fri 9 - 5 PM (In New Hampshire dial 924-3355) *A trademark of Tandy Corporation You may photocopy this page Dealer inquiries invited BYTE July 1979 137 Anatomy of the Simulator Let's run through the simulator quickly before we start using it, to see how this control organization operates. Lines 1 thru 16 are user instructions. Lines 1 7 thru 27 initialize the system in a way that will be used to illustrate a point. Lines 28 thru 33 do more initializing, and ask for the width of your display. Lines 34 thru 36 create a blank string in case your BA SIC doesn 't se t dimensioned strings initially to spaces. Lines 37 thru 46 define the various functions of the control system. If your BASIC can't do multiline functions, you can substitute sub- routines here. The idea is to make it easy to try out different kinds of functions in the control system. Lines 49 thru 91 comprise the interpreter, which accepts character strings and sets initial conditions and parameters before each run. Vari- ables are initialized and constants are set by typing a string of the form A=m or An=m (no spaces; terminated by a carriage return). To set up the plotter, the statement is PLOT XXX XXX, where XXX XXX is one or more characters from the set P,E,R,l,0, and D, in any sequence. The plotter comes up set to plot P, E, and R. If you forget the last values of the parameters KJ, K2, SI, and S2, type ? and they will be printed out. We will eventually define them. The control system Itself is simulated from line 95 to line 108. Entering the simulator at line 95 initializes the perceptual and output variables to values given to the interpreter. Entering at line 99 runs the simulation from the conditions left at the end of the last run. This is taken care of by the two run commands in the interpreter: a dot (.) means run with initialization, and a slash ([) means run without initial- ization. All commands require a carriage return termination. The plotting subroutine goes from line 1 12 to line 128. Its operation deserves a note, since it was arrived at after some more normal schemes were rejected for being too slow. When the interpreter is given a string of symbols to set up the plotting, a table is set up (V(j)) in which a 1 means plot and a 0 means don't plot. When the plotter is entered, it transfers all six variables to another table, U(j). The output buffer is then cleared, and a short loop scans the V table, picking up variables from the U table when V(j)=l, and putting the symbol into the output buffer in a position corresponding to the value of the variable. Then the output buffer is printed out. This eliminates sorting the variables by size or printing the line as many times as there are variables. This method nicely cures the fundamental "rheumatism" of BASIC, as it is able to plot about two lines per second on my Polymorphics VTI display. When two variables fall on the same spot, the variable that actually appears is the latest one in the series PERIOD. Thus far is has always been easy to figure out where a missing variable is hidden. Once we have a set of variables connecting functions together, and an overall arrangement, we can treat the system by assembling it piece by piece. Let's look at the pieces we have, represented by the four statements in listing 2 from line 102 to 105: 102 I = FNF(O) + FND(D) 103 P = FN 1(1) 104 E = R-P 105 O = FNO(E) Looking at figure 5, we can see that these four statements lead us clockwise around the closed loop. I is the result of combining the out- puts of the feedback and disturbance functions. It becomes the input to the input function, producing a value of the perceptual signal P. Pis one of the inputs to the comparator, which produces the error signal E. Continued on page 140 1 38 July 1979 © BYTE Publications Inc Therefore line 104 represents the com- parator without using a function; it is the comparator function itself: E = R - P. The error signal drives the output of the system via the output function, FNO. The output of the system, therefore, de- pends not on the input quantity or the perceptual signal alone, but on the differ- ence between the perceptual signal and the reference signal. The output function trans- lates a signal inside the system into a quan- tity outside it, according to whatever rule is described by FNO. If the error signal changes sign, the output quantity also changes; in other words, we assume that output functions have no constant term. Any such constant term would have the same effect as a reference signal, creating an offset in the overall system response. Not every system can handle error signals and output quantities that go through zero and thus change sign, but the principles remain the same in the region where the system works. Line 105 expresses the operation of the output function: 0 = FNO(E). This closes the loop of cause and effect since the output quantity appears in line 102 where the input to the system is calculated. If the system functions are properly de- signed for the properties of the system's environment, this entire closed loop will seek an equilibrium state. Our simulator will let us look at time-varying effects, but for the most part we will be concerned with steady state relationships. Once we have seen how time variations come into the picture, we will concentrate on variations that occur slowly enough that the system and its environment never get far from a steady state relationship. This is the whole trick in grasping how control systems work. If you allow yourself to become embroiled in the interesting details of stabilization, or interested in the limits of performance in the presence of large and rapidly changing disturbances, you may learn a lot about one control system, but you will miss the organizational features that are obvious only when the system is not being subjected to unusual stresses. We will be concerned mainly with the normal range of operation, the range within which this system can behave very nearly like an ideal control system. Once that mode of opera- tion is understood, there is plenty of time to explore the limits of operation. (See "Ana- tomy of the Simulator" text box). A Wrong Approach Let us start off by assuming that we have a simple linear system. The input function is a multiplier of 1, the comparator is already Circle 291 on inquiry card.—*. JUST WRAP TOOL WITH 'ONE SO FT. ROLL OF WIRE COLOR PART NO. U.S. LIST PRICE BLUE WHITE YELLOW RED JW-1-B JW-1-W JW-1-Y JW-1R $14.95 14.95 14.95 14.95 c REPLACEMENT ROLL OF WIRE 50 FT. BLUE WHITE YELLOW R-JW-B R-JW-W RJWY 2.9 2.9 2.9 3 B B RED R-JW-R 2.9 B AWG 30 Wire .025" Square Posts Daisy Chain or Point To Point No Stripping or Slitting Required ....JUST WRAP tm.... Built In Cut Off fc ^ Easy Loading of Wire Jfc Available Wire Colors: ™ Blue, White, Red & Yellow MACHINE & TOOL CORPORATION 3455 CONNER ST., BRONX, N.Y. 10475 (212) 994-6600/TELEX 125091 'MINIMUM BILLING $25.00 / AD SHIPPING CHARGE $2.00 / NEW YORK CITY / STATE RESIDENTS ADD APPLICABLE TAX. E Is the input to the output function that produces O, the output quantity. The output quantity is the input to the feedback function, which leads us back to the start. It might seem that ail we have to do now is to supply some specific forms for the functions, and turn the system on to see what it will do. In a sense, this is right. If this were an analogue computation, we might even get a correct idea of how the system works. However, it is unlikely that anyone who hasn't done this before would plug in the right func- tions to make a digital computer give us anything more than a fairy tale. It is so important to understand this point that I have written the simulator to come up initialized in order to illustrate it. in fact, that you do solve it (by successive substitutions). Solve for the value of the per- ceptual signal in terms of R and D. You'll get P=I=(R -0.8 x D)/2. Ready for a shock? Your computer can't come up with that solution! Let's fire up the BASIC simulator, which is initialized accord- ing to equations 1 thru 4 above, and plot I, D, and O. Type RUN, and answer the question with a reply that tells the width of your display. After the colon prompt appears, type in the following: simple and linear, the output function is a multiplier of 2, the feedback function is a multiplier of 0.5, and the disturbance func- tion is a multiplier of 0.8. These choices are dictated partly by the need to keep vari- ables from falling on each other when we plot them. The simulator initializes D to 15. Our four system equations, with these values substituted, now look like this: I I P E = R-P O = 2xE 0.5xO+ 0.8xD = 0.5xO+ 12 (D (2) (3) (4) This system of equations is iterated during a simulation of behavior. The above is a pretty simple system of equations. So why can't we just solve it algebraically and skip the rest? I suggest, Figure 6: The initial plot generated by the BASIC simulator. Disturbance is set to 15 units and the reference signal is initialized to 0. The system is in a state of oscillation. I trust nobody had trouble with that. The dot says "do a plotting run after initializing the variables." A slash (/) would say "do the run from where the last run left off." The result can be found in figure 6. The disturbance is set to a steady +15 units, and the reference signal is initialized to 0. According to the algebraic solution above, the input signal should be a steady 0.8 x 1 5/2, or 6 units, to the right of center (dots indicate center when nothing is there). It is clear that something else happened. The whole system is in a state of endless oscilla- tion. (When variables fall on top of each other in a plot, the visible one is the latest in the sequence PERIOD.) Nature has a way of slapping your wrist when you forget something important. Our wrist has just been slapped. Naturally we do not get the same result that algebra gives: the algebraic solution comes from treating all of those relationships simultaneously. Our computer program is treating them one at a time. The algebra says that if one variable changes, they all change. The com- puter, being a purely sequential machine, thinks it can change one variable without changing the others. If the physical system being modeled is of that nature — if it, too, is a sequential state machine — then the computer will produce a correct picture of behavior. But, if the system being modeled works in terms of continuous variables, even in part, the computer will turn it into a sequential-state machine and analyze that kind of system instead of the one we actu- ally have. That is what has happened here. We forgot to tell the computer that these variables can't change as fast as the com- puter can compute. A More Accurate Approach In order to make this simulated system behave the way the algebra says it should, we have to slow down changes in one or more variables to take account of the fact that we are dealing with real, physical variables 140 July 1979 © BYTE Publications Inc ONE PACKAGE DOES IT ALL Includes these Application Programs . . . Sales Activity, Inventory, Payables, Receivables, Check/Expense Register, Library Functions, Mailing Labels, Appointments, Client/Patient Records RANDOM, MULTI-KEY RECORD RETRIEVAL under CP/M, CDOS, IMDOS, ADOS SELECTOR III ALLOWS INSTANT RECALL OF ANY RECORD USING ANY IN- FORMATION ITEM IN THE RECORD. That statement deserves re-reading, be- cause that ability makes SELECTOR III the most powerful Date Base Man- agement System in micro- computers today! With SELECTOR III you can... • define a record format, assign retrieval keys, and begin entering data in min- utes. • create sorted pointers to records matching your spe- cif or range of requirements. Circle 213 on inquiry card. • automatically generate reports with control-break summaries and unlimited variety. an application on- hours instead of • bring line in months SELECTOR III comes com- plete with eight application programs that perform the tasks listed at top of page. And, since it's distributed in source code form, you can easily add subroutines to do specific computations or file updates. SELECTOR III runs under CBASIC Vers. 1 or 2, and is priced at $295. SELECTOR III-C2 is dedicated to Vers. 2 only, runs about twice as fast, and costs $345. Both systems are available in a variety of CP/M, diskette size and density formats including IBM 8"; North Star; Micropolis; TRS-80; Pro- cessor Tech Helios II; Altair; iCOM; Dynabyte; Imsai; and others. Available from computer stores nationwide: LIFEBOAT Associates 2248 Broadway, Suite 34, New York, N Y. 10024 • (212) 580-0082 Or order direct from MICRO-AP 9807 Davona Drive, San Ramon, CA 94583 (415) 828-6697 BYTE July 1979 141 S1=0.5 S2 = 0.2 0 I D 0 . ID 0 ID 0 ID 0 .ID 0 .ID 0 .ID 0 .ID 0 .ID 0 .ID 0 T D 0 .ID 0 .ID 0 .ID 0 .ID 0 .ID Figure 7: The slowing factors have been changed. SI equals 0.5 and S2 is 0.2. We now have a much smoother curve. and not abstract numbers. The simulator does this in the input and output functions, lines 37 thru 40 (input) and 41 thru 44 (output). We will be basically dealing with a linear system in which both the input and output functions are constants of propor- tionality. As you can see from listing 2, however, there's a little more to it than that. Consider line 42: O = O + S2* (K2*E - 0). The 0 on the left side is the new value of that quantity after this program step has been executed. On the right side, 0 indicates the last value of the output quantity. We recognize K2*E as a calculation of the output quantity as if it were simply propor- tional to the error signal, E. The expression in parentheses, therefore, is the difference between this calculated new value and the old value of O. This is how much the output quantity would change if it could change instantly. This calculated amount of change is multiplied by S2, a slowing factor, and the result is added to the old value of O. We calculate the amount of change that an instantly reacting system would produce, but allow only a fraction S2 of it to occur on any one iteration. S2 is a positive num- ber between zero and one. We've put a low- pass filter into the output function, without affecting the steady state proportionality constant. The same thing is done for the input function. A slowing factor SI, between zero and one, acts to slow P down. We need only one slowing factor to make this simulator behave realistically, but there is provision for two, so that you can explore the effect of having two if you wish. In all the plots to follow, we'll use a modest slowing factor of SI =0.5 in the input function, and essen- tially all of the required slowing in the out- put function. Once you get the hang of this you can put slowing factors into any of the functions. The simulator is initialized with S1 and S2 set to 1, which reduces O + S2x (K2xE - O) to O + K2xE - O or just K2xE (no slowing at all). The same is done for the input function. Let's set them to other values and see what happens. The values of S1 and S2 can be set by typing S1=n or S2=n and a carriage return: :S1=0.5 :S2=0.2 : . (run with initialization) Suddenly we see nice, smooth relation- ships (figure 7). If you measure, you'll see that the input signal, I, ends up just six units to the right; the same solution given by the algebraic approach. Does this mean we can just use algebra to analyze a control system? Not at all. We won't delve into this, but the algebraic solutions are valid only if the differential equations which really describe the system have steady state solutions. Then the alge- braic solutions are the steady state solutions. In our simulator, we see all the time variations that lead toward the steady state, and the algebra says nothing about these. By putting the slowing factors into our cal- culations we have caused this system to seek a steady state. Therefore, it is the stability of the system that tells us we can use alge- bra, not the other way around. Predicting stability can become a messy process. We fiddle around with slowing factors until we get stability, which is more or less how Nature does it anyway. We have now established the fact that using natural logic and following causes and effects around the closed loop as a sequence of events will lead to a wrong prediction of control system behavior. This immediately eliminates three-quarters of what biologists, psychologists, neurologists, and even cyberneticians have published about control theory and behavior. We are just beginning to see that one must view all the variables in a control system as changing together, not one at a time. This is what I mean by retraining the in- 1 42 July 1 979 © BYTE Publications Inc BATTERY SUPPORTED CALENDAR CLOCKS PDP-11 * TCU-100«$495 ■ Provides month, day, hour, minute and second. ■ Can interrupt on date/time, or periodic intervals. TCU-150*$430 ■ Provides year, month, day, hour, minute and second. ■ Automatic leap year. ■ Patches for RSX-11M, RT-11 FB/SJ V02, V03 and UNIX. LSM1/2* TCU-50D • $295 ■ Provides month, day, hour, minute and second. ■ Dual size board. ■ Patches for RT-11 SJ/FB V02, V03B. Lockheed SUE TCU-200 • $550 ■ Provides year, month, day, hour, minute, second and milli-second. ■ Interval interrupts between 1/1024 seconds and 64 seconds. Computer Automation (Naked Mini) TCU-310*$385 ■ Provides year, month, day, hour, minute and second. 'Trademark of Digital Equipment Corporation Multi-Bus** TCU-410»$325 ■ Provides year, month, day, hour, minute and second. ■ SBC/BLC compatible. HP 2100 TCU-2100«$395 ■ Correct time restored after power failure. ■ Compatible with the HP TBG card. Serial Clock (RS 232 or 20 mA) SLC-1 • $575 ■ Connects between any terminal and host computer. ■ Provides date, time and more! All Digital Pathways TCUs have on board NICAD batteries to maintain time and date during power down. Timing is provided by a crystal controlled oscillator. Prices are U.S. domestic single piece. Quantity discounts available. For more information on these products, contact: Digital Pathways Inc. 4151 Middlefield Road Palo Alto, CA 94306 Phone: (415) 493-5544 "Trademark of Intel Corporation DIGITAL PATHWAYS Circle 86 on inquiry card. BYTE July 1 979 143 Using the Simulator The simulator is run from the keyboard, using commands that tell it which variables to plot and what values of variables and parameters to start with. The instructions can be given one at a time, terminated by carriage returns, or they can be given In a continuous string with com- mands separated by commas. The latter is useful for altering parameters in the middle of a plot in order to see their effects. The only time a space is permitted in a command or string of com- mands Is when it is separating the word PLOT from the string of variable symbols to be plotted. In order to tell the simulator what variables to plot, type: PLOT XXX XXX where XXXXXX means a string of 1 to 6 symbols from the set PE- RIOD. The order of the symbols makes no difference. When two or more symbols land on the same plot, the one that you see is the latest in the series PERIOD, regardless of the order In which they were given. To start a plotting run, type a period followed by a carriage return or comma if initialization is to occur first, and type a slash (I) if the run is to start from the conditions at the end of the previous run. Initial- izing creates one extra line of plot showing the initial conditions. The parameters and variables that can be set are as follows: L Number of lines to be plotted in any plotting run. Kl Steady state proportionality factor of the input function. 51 Slowing factor for the input function; positive and between Oand I. K2 Steady state proportionality factor of the output function. 52 Slowing factor for the output function; positive and be- tween 0 and 1. O Initial value o f output quantity. P Initial value of perceptual signal. R Setting of reference signal. D Magnitude of disturbing quantity. Examples: (colon is prompt from computer. Always terminate a string with a carriage return). Set L to 1 6 :L=16 Set D to 0, run without initializing :D=0,/ or :D=0 •/ Set D to 0, plot 2 points after initializing, set D to .PLOT PER,D=0,L=2,.,D=10,L=13,/ 10, plot 13 points from previous conditions. Plot P,E, and R The program is written so that after a plot is completely done (a complete string has been interpreted), the prompt character appears to the right without a carriage return. That allows a 16 point plot to be shown on a 16 line video display screen without the final carriage re- turn bumping the first line off the screen. If you want your next string to start at the left, just hit a carriage return. To find out the values of Kl , K2, SI, and S2 when you forget them, type "?" followed by carriage return and they will be printed. tuition. Cartesian concepts of cause and effect, and Newtonian physics, have trained us to think along directed lines. What we need to do to understand control systems is to learn how to think in circles. Properties of a Control System Figure 8 shows the control system and its environment as we will be dealing with it from now on. Let's start with some definitions: Loop Gain means the product of all the steady state factors encoun- tered in one trip around the closed loop, counting the comparator as a factor of -1. In the initial setup, Kl was 1, K2 was 2, and the feed- back function FNF was a multi- plier of +0.5, so the loop gain was -1. The sign of the loop gain is the sign of the feedback; we have (and will continue to have) negative feedback. Error Sensitivity is the factor K2, the steady state proportionality fac- tor in the output function FNO. This number expresses how much output will be generated by a given amount of error signal. Input Sensitivity is the factor K1 , the steady state proportionality fac- tor in the input function FNI. This number expresses how much per- ceptual signal will be generated by a given amount of input quantity. We are going to perform a series of experiments with this control system in order to arrive at some useful rules of thumb for thinking about how control systems work. These rules are approxi- mations, but by doing the experiments and seeing how good the approximations are, you will learn to think precisely about control phenomena, even when using ap- proximate language. We will set the system parameters to give a loop gain of -10. As a way of sum- marizing where we are (refer to figure 8), the commands are given one at a time with annotations: : Kl =1 Input sensitivity = 1 . : K2=20 Error sensitivity = 20. :S1=0.5 Input slowing factor = 0.5. :S2=0.07 Output slowing factor = 0.07. :R=0 Reference signal = 0. :O=0 Output initialization = 0. :P=0 Perception initialization = 0. :D=0 Disturbance = 0. 144 July 1 979 © BYTE Publications Inc Circle 99 on inquiry card. DIABLO PROVES LOOKS ARE EVERYTHIN With -Din bios printers and terminals, you can always be sure that beauty will be in the eves of the beholder. Because no one knows more about print wheel technology than in the eyes of the beholder. Because no one knows more about print wheel tecnnology than the company that invented it in the first place. Diablos metal and plastic wheel printers have established industry standards for cris] clear characters, proportional spacing, and uniform density. So, when you're read}' to choose a printer for your own computer, pick the one that produces "picture perfect" originals every time. If you really want to look good, remember this." With Diablo, yo Diablo Systems 4 Figure 8: Adjustable pa- rameters are K1 (input sensitivity), SI (inputs/ow- ing factor), K2 (output sensitivity), and S2 (out- put slowing factor). P and O can be initialized to any starting value (normally zero). R and D can be set, and remain the same dur- ing a run. The value of the feedback function is set at 0.5, the value of the disturbance function at 0.8. COMPARATOR KI.SI INPUT FUNCTION OUTPUT FUNCTION K2.S2 x 0.5 I- x 0.8 Type those commands, and the system is now set up in a "home base" condition. Remembering that the comparator is equiv- alent to the factor of —1 and the feedback function is permanently set to be a factor of +0.5, this combination of parameters gives a loop gain of 1 x (-1 ) x 20 x 0.5 = -1 0. There are two fundamental rules of thumb: a control system keeps its perceptual signal matching its reference signal, and the output of a control system cancels the effects of disturbances on the input quantity. We will take these up in order. Rule 1: P=R We're looking at the system with no disturbance acting (D=0). If you want to be sure that everything stays at zero, type PLOT PERIOD, followed by a carriage return. You will see a row of Ds, D being the last symbol in the sequence PERIOD and hence the only one visible when all variables are at zero. Now we will plot just the reference signal and the perceptual signal. The first two points will be done with the initial conditions set up above. The reference signal will then be set to +25 units, and the plot will be continued for 13 more points. Since this plot will commence with ini- tialization (the dot command), an extra line showing the initial conditions will be plotted first. This makes a total of 16 lines, which will fit on most video displays. Of course, if you're doing this on paper you don't have to worry about the number of points plotted. Here is the command string: WE HAVE IT What is IT? The New Pascal Microen g ine . U features the new Western Digital 16 Bit Pascal Microengine CPU, 64K RAM, (2) RS232 ports, (2) parallel ports & (2) Shugart 801 4 dual density drives. U will directly execute Pascal generated P-Code (the only CPU on the market designed to directly execute a high level language), & IT will run compiled BASIC. Wait, that's not all — JT normally sells for $4,495, but you can have H for $4,195. Dealer prices are much lower. Plus we have software galore. Call us about IT at (803) 756-6000. THE PASCAL MICROENGINE FROM THE COMPANY THAT GIVES YOU TOMORROW'S INVENTIONS TODAY Tq q • •••••• 1»U»U« TECHNOLOGY SYSTEMS SOUTH H Suites 9 & 10 Henry Building, Loris, S.C. 29569 M 146 July 1 979 © BYTE Publications Inc Circle 364 on inquiry card. TRS-80 SOLUTIONS ! *-¥■■¥•* L I = Level I -» * » » » Lll = Level II * * * » ■» * -» D = Disk » * ¥ » * ALL THIS AND MORE!! ! -¥•»-¥•* BUSINESS Appointment Log by M. Kelleher Perfect for the professional. Accepts name and address, meeting start and endings, subject matter, derives elapsed time. For Level II, 16K $9.95 Payroll by Stephen Hebbler Comprehensive 24 pg. manual with step-by-step instructions included in the package. Supports W2 and 941 information. D, $59.95 Mail List I by Michael Kelleher is the economy model of disk-based mailing list programs. Uses a single drive and handles up to 1400 names per disk, plus provisions for sorting options. 16K, D $19.95 BIZ-80 The Business Software People® Just about everything you need ... within 1 year, participants receive programming for Inventory, Accounts Receivable, Accounts Payable and General Ledger systems, plus Sales and Payroll. Complete documentation and software on diskette, $200.00 ^ V Mail List II by BIZ-80 Complete mail list system for dual disk. Enter, update, merge, sort, and print mailing labels. D, 32K $99.95 Small Business Bookkeeping by Roger W. Robitaille, is based on the Dome Bookkeeping Journal, sold for years in stationery and discount outlets. Level II, 4K with ($22.00) or without ($15.00) Dome journal. Inventory System II by BIZ-80 Proper inventory management is the backbone of a profitable business, yet it's very difficult to keep current on price increases, shrinkage, low-on-stock items, profitable items versus losers, without an efficient and prompt method of surveying your inventory levels at any given time. This program can help you to achieve optimal management — it can handle up to 1 ,000 items on one disk; each additional disk can handle another 1 ,000 items. With Documentation, $150.00 Inventory S by Roger W. Robitaille, Sr. 240 stock items can be contained using the full 6 data areas and 2 pieces of alpha information. Level I or II.16K $25.00 Inventory II. 2 Disk based program allows for creation, maintenance and review of over 2,000 items per clean diskette. Operates under Disk BASIC, DOS 2.1 with minimum memory allocation. D, $59.95 ST 80 -SMART TERMINAL Lance Micklus Turns your TRS-80 into a computer terminal. Features include CONTROL key, REPEAT key, ESC key, RUN key and a functioning BREAK key. Lets you list incoming data on line printer. Reprogram RS-232-C switches from keyboard, making baud rate changes simple. Level II, 16K $49.94 Text-80 by Frank Rowlett Fully-documented text processing system for disk. Create, edit, move, delete, insert, change, print words or lines. D, 32K $59.95 KVP Extender by Lance Micklus Corrects keyboard bounce, upper case lock, permits use as a terminal, screen printing. On tape ($24.95) or disk ($29.95) 8080-Z80 Conversion by M. Kelleher Permits you to enter 8080 codings and returns the Z80 equivalent. L II.16K $15.00 Basic Statistics by Steve Reisser Pearson product- movement correlation coefficient, chi-square, Fisher T-test, sample analysis of variance, Z-scores and standard scores, with a random number generator built in to simulate data. L II, 16K $20.00 Renumber by Lance Micklus Complete user control over which lines are renumbered, and how, including all GOSUB's and GOTO's. Specify 4, 16, 32, or 48 K version when ordering. Operates in Disk mode. L II, 4 through 48K, $15.00 Source Listing, $20.00 All 4 versions on disk, $25.00 NEWDOS Apparat { DISK ERROR SOLVED! Stop blaming your I j drive, fix your DOS with NEWDOS: an j ! enhanced disk-operating system capable of ! i correcting over 70 errors in TRSDOS 2.1 to i : improve reliability, end key bounce, enable j I DOS commands to be called from BASIC and | I much more! Available NOW for 16K systems I with a minimum of 1 disk drive. $49.95 | ACTION GAMES Slalom by Denslo Hamlin Choose between Slalom, Giant Slalom and Downhill. Level II, 16K $7.95 X-Wing Fighter by Rev. George Blank Put yourself into the cockpit of this fighter. Extensive use of INKEY function puts all ship controls at your fingertips without hitting ENTER key. Long range sensors warn of approaching aircraft prior to visual contact. Level II, 16K $7.95 Air Raid by Small System Software High speed machine language program with large and small aircraft flying at different altitudes. Ground-based missile launcher aimed and fired from keyboard. Planes explode when hit, cause damage to nearby aircraft. Score tallied for hits or misses. Level I or II, 4K $14.95 Batter Up by David Bohlke Level II, 16K $5.95 Ten Pin by Frank Rowlette A game of coordination, the scoring is true to the rules of the sport. Level II, 16K $7.95 ADVENTURES Scott Adams Feel as if you're manipulating HAL from 2001 when you play these games. Hardly any rules, finding out is part of the fun. Two adventures on 32K disk, $24.95 Tape, one adventure on each tape - pirate or land - Level II, 16K $14.95 DOG STAR ADVENTURE Lance Micklus You're trapped aboard an enemy battlestar ... can you find the gold, rescue the princess, discover the plans and safely escape? Level II, 16K $9.95 Amazin' Mazes by Robert Wallace Ever-changing mazesituation Level II, 16K $7.95 Sink 'UM by Rev. George Blank LII.4K $4.95 Breakaway by Lance Micklus Level I or II, 4K $4.95 Treasure Hunt by Lance Micklus Explore caves in search of twenty hidden treasures. L I or II, 16K $7.95 Kamikaze by Russell Starkey Command your ship against attacking suicide planes. Machine language graphics make this fast and fun! Lll, 16K $7.95 MISCELLANEOUS Diskettes Dysan 104/1 Box of five, $24.95 + $1.00 shipping Verbatim, box of ten, $34.95 + $1 .00 shipping/handling Z80 Instruction Handbook by Scelbi Publ. $4.95 The BASIC Handbook by Dr. David A. Lien $14.95 + $1.00shipping/handling SIMULATIONS 3-D Tic Tac Toe by Scott Adams Three skill levels — author warns you to practice before tackling computer's third skill level. L I or II, 16K $7.95 Star Trek III. 3 by Lance Micklus One of the most advanced Star Trek games ever written. Level II, 16K $14.95 End Zone by Roger W. Robitaille, Sr. Authentic football simulation, right down to the 2-minute warning. Level I or II, 16K $7.95 Cribbage by Roger W. Robitaille, Sr. You versus the computer cribbage played by standard rules. Level I or II, 16K $7.95 Bridge Challenger by George Duisman You and the dummy play 4-person contract bridge against the computer. Level II, 16K $14.95 'Round the Horn by Rev. George Blank You're the captain of a clipper ship racing from New York to San Francisco. Level II, 16K $9.95 Concentration by Lance Micklus One of the most popular television games L I or 1 1 , 16K $7.95 Safari by David Bohlke You're in the running for a film contract at a major Hollywood studio. To qualify, you must photograph the most wild animals in their natural habitat. Level II, 16K $7.95 Pork Barrel by Rev. George Blank Places you in the shoes of an aspiring Congressman. L II, 16K $9.95 Backgammon by Scott Adams Level II, 16K $7.95 Chess Companion by M. Kelleher Combines chess clock features with ability to record your moves while action is fast and furious. Level II, 16K $7.95 Sargon Chess by Dan & Kathe Spracklen Winner of the 1978 San Jose Microcomputer Chess Tournament Level II, 16K $19.95 Mastermind II. 2 by Lance Micklus Lets you and the computer take turns making and breaking codes. Level II, 16K $7.95 PERSONAL RPN Calculator by Russell Starkey A self- documenting calculator program. Uses Reverse Polish Notation with 4-level stack, 100 memories, scientific functions. Level II, 16K $9.95 Home Financial Management by M. Kelleher Turns your computer into a personal financial advisor. Level II.16K $9.95 Tarot by Frank B. Rowlett, Jr. Probably the best future-gazing type program ever written. Try it — you'll like it! Level I or II, 16K $9.95 Ham Radio by M. Kelleher Amateur frequency Allocations, ID Timer, Q-signal File, Amateur Log Routine, Propagation forecasting. L II, 16K $9.95 Special Disk-enhanced version, 32K $24.95 Educator Assistant by Steve Reisser Five programs of value to educators. Compute percentage, individual student averages, class averages, standard test scores, final grades. L II, 16K $9.95 D, $14.95 Electronic Assistant by John Adamson A group of 8 subprograms designed to solve problems such as tuned circuits and active and passive filters. L II, 16K $9.95 Personal Finance by Lance Micklus 33 different budgets can be easily adapted by user to fit his individual needs. A 2-part program, entry and search. Level II, 16K $9.95 Advance Personal Finance by Lance Micklus Same as above with advanced analysis routine. Supports Disk Files D, 32K $19 95 SOFTSIDE Your BASIC software magazine Regular 1 year subscription - 12 issues - $15.00 PROG/80 For the serious programmer, from beginner to professional 1 year regular \^ubscription - 4 issues - $10.00 |.60I'67I*5M4 TRS-80 Software exchange — - 17 Briar Cliff Drive Mlllord, New Hampshire 03055 Circle 374 on inquiry card. BYTE July 1979 147 :PLOT PR, L=2,., R=25,L=1 3,/ :K1=1 ,K2=20,S 1=0.5, S2 = 0. 07, R=0, 0=0, P=0,D=0 :PLOT PR,L=2, .,R=25,L=13,/ :R=-25,/ R R R PR R R 3 R RP R R R R R I R R R PR R P RP R = R R R R R = R Figure 9: The values of variables are listed in this plot. The disturbance value is changed from +25 to -25. :K2=40,L=8,/,K1=2,/ R P RP RP RP RP RP RP RP P R R R P RP P R R R P RP :L=16,R=25,/ P R R R R R R R P R S R R RP PR PR R R PR Figure 10: Change of gain during plot. After 8th line, gain goes from 20 to 40. Reference signal is changed to check operation. Before discussing this, let's do another run of 13 points (figure 9), setting the reference signal to -25 units and continuing without initialization (the slash command,/): :R=-25,/ It is clear that the perceptual signal comes to a steady state quite close to the magni- tude of the reference signal, whatever the reference signal may be. The question is, how critically does this tracking effect depend on the input sensitivity and error sensitivity? Let's leave the reference signal at —25 and do a run in which the error sensitivity is doubled at the start, and the input sensi- tivity is doubled halfway through the run. We will start from the previous conditions. The loop gain will now be -40 instead of -10. :K2=40,L=8,/,1<1=2,/ To insure that everything is working correctly, let's flip the reference signal to +25 units (figure 10): :L=16,R=25,/ While there is an effect on the way the tracking takes place, the only effect of these rather drastic changes in input and error sensitivity is to make the tracking a little better. What about a decrease in these parameters? :L=16,K1=0.5,K2=10,/,R=25,/ (Loop gain now 2.5) Figure 11 shows that the approximation P=R isn't very accurate any more. For loop gains smaller in magnitude than about 10 (negative), the approximation begins to lose accuracy. You will notice that doubling the error sensitivity, which doubles the amount of output generated by a given error, does not double the amount of output that actually occurs. Far from it. When, for any reason, the loop gain goes up, the steady state error simply gets smaller, assuming that the system remains stable. This fact does violence to the popular idea that the brain commands muscles to pro- duce behavior. If that were the case, doubl- ing the sensitivity of a muscle to the nerve signals reaching it ought to produce twice as much muscle tension. Nothing of the sort happens, unless you've lopped off the rest of the nervous system, particularly the feedback paths. 1 48 July 1 979 © BYTE Publications Inc As long as the loop gain is sufficiently large and negative (-10 or more negative will do for a number), a stable control system will match its perceptual signal nearly to its reference signal, regardless of the reference setting. We are ignoring, of course, transient effects. All of this was done with the distur- bance set to zero. Now let us set the ref- erence signal to zero, and check the second fundamental rule of thumb. Rule 2: (delta 0) = -(delta D) This rule requires some interpretation. It says, for the sake of brevity, that (with the reference signal constant) a change in the output quantity is equal and opposite to (the minus sign) a change in the disturbing quantity. Generally, the input and disturb- ing quantities will affect the input quantity through different physical paths. In our model, the output quantity acts through a multiplier of 0.5, and the disturbance through a multiplier of 0.8. The rule has to be interpreted to mean that the effects of the changes on the input quantity are equal and opposite. We will see this demonstrated. We will now plot the output quantity, 0, the disturbing quantity, D, and the input quantity, I (to make the above clear). The reference signal could be left where it is, but to avoid confusion let's set it to zero for this set of plots. The loop gain is set to -10. :PLOTOID, R=0,K1=1,K2=20,L=1,D=0, .,L=15,D=15,/ Let this plot run out, then: ••D=-15,/ There is some lurching back and forth in figure 12, but in the steady state the behavior of the input quantity shows that the effect of the disturbance is essentially cancelled by the final effect of the output quantity. If you did some measuring on the plot, you would find that the final value of the output quantity is very close to 8/5 of the value of the disturbing quantity. This follows from three facts: the input quantity ends up nearly at zero; one unit of output has 0.5 unit of effect on the input quantity; one unit of disturbance has 0.8 unit of effect on the input quantity. This is the kind of reasoning that helps in understanding how a control system works. The primary observation about a control system is always the existence of an input quantity which is stabilized against disturb- ances by variations in the output quantity. If the input quantity is held essentially :L=16,K1=0.5,K2=10,/,R=25,/ R P R P R P R P R P R P R P R P R P R P R P R P R P R P R P R P P P P P R R R R P R P R P R P R P R P R P R P R P R P R P R P R Figure II: The simulation parameters have been changed to produce a gain of 2.5. Notice that the approximation P=R is now inaccurate. :PL0T OID,R=0,K1=1,K2=20,L=1,D=0,.,L=15,D=15,/ I I. I. I .1 .1 .1 .1 .1 .1 .1 -I :D=-15,/ Figure 12: The reference signal has been set to zero. This plot shows us the input quantity, the output quantity and the disturbance signal for D=+15 and then D=-l 5. July 1979 © BYTE Publications Inc 149 = 15, D=15,/ 0 D D R 0 D I R 0 RI D R I D R I D I 0 D IR 0 D I R 0 D I R 0 D I R 0 D IR 0 D IR 0 D IR 0 D IR 0 D IR 0 . R0 D 0 R D I R ID IR D I R D . I R D 0 IR D 0 I D .0 I D 0 I D 0 I D 0 I D 0 I D 0 I D 0 I D Figure 13: A look at different reference signal effects. As explained in the text, the disturbance signal has made the perceptual signal match the refer- ence signal. constant (in the steady state), then one can deduce the. relationship between disturb- ances and the system's output quantity simply from observing the properties of the system's environment. On inspection, an external observer can see both the feedback function and the disturbance function, here multipliers of 0.5 and 0.8 respectively. For any given disturbance, the effect on the input quantity for a constant output quantity can be calculated on purely physi- cal grounds. Since the input quantity remains undisturbed in the steady state, one can then look at the connection between the output quantity and the input quantity, and deduce how the output quantity must change to account for the fact that the input quantity doesn't change. Thus, in order to predict how this system will react to any external disturbance, it is necessary only to know that the system is a control system and to look closely at its environment. The kind and amount of reac- tion follow from the nature of the feed- back and disturbance functions which are properties of the visible environment. Most important, as far as the life sciences are concerned, the form and amount of reaction do not depend on any property of the control system; not enough to make any difference. Therefore, when you apply a stimulus and see a response, you are using the organism as a complicated analogue computer in order to study the physics of the local environment. This is not what the life sciences have thought they were doing. All that remains to wrap up this section is to see the effects of disturbances when the reference signal is set to different values. This will lead to the definition of a useful technical term: the reference level of the input quantity (see figure 13): :PLOT RIOD,D=0,R=0,L=1,,R=12, L=15,/,D=15,/ If you have a 16 line video display this will scroll past you, losing the early parts, but no matter. The first event is that the reference signal is set to 12, and the input quantity moves essentially to +12. The out- put quantity goes to +24 in order to accom- plish this. Then the disturbing quantity goes to +15, which has the exact effect on the input quantity that +24 units of output have. As a result, the output quantity drops to zero - exactly zero, if you look at the numbers. In effect, the disturbance, by itself, has enough effect to make the perceptual sig- nal match the reference signal. Looking at figure 8, you can see that this would mean a zero error signal and no drive to the out- put function. So, whenever the output drops to zero, we know that the perceptual signal is matching the reference signal, even if we can't see it. In our model right now, the input sensi- tivity is 1, so the perceptual signal is numer- ically equal to the input quantity. That's a coincidence, since the units are different: physical units outside, impulses per second inside. Even if K1 wasn't 1, the output would still drop to zero when P = R. Thus, we can give a special name to the particular value of input quantity (however created) that brings the error signal, and hence the output quantity, to zero: the reference level of the input quantity. The reference signal clearly determines what this reference level will be, but so does the form of the input function. Main Points Reviewed All of this is supposed to have established two principal ideas. The first is that control systems control what they sense, not what they do. The second is that control systems act on the outside world only in order to protect a controlled perception against disturbance. As we have demonstrated these princi- ples, we have established some other odd facts. We have found that the main effect 150 July 1 979 © BYTE Publications Inc Business & Application Software Available • Client Billing • A/R • A/P • Gen . Ledger • Inventory • Payroll • Mailing List • File Handling for TRS-80 APPLE & OTHERS Call or Write for Details PROGRAM DESCRIPTION TRS-80 5 C GALACTIC BLOCKADE RUNNER SCI-FI GAME SAMPLER R/T LUNAR LANDER MICRO-TEXT EDITOR OTHELLO 111 AIR RAID MICRO-CHESS BRIDGE CHALLENGER APPLE 21 STAR WARS/SPACE MAZE RENUMBER DISK RENUMBER PILOT 2.0 PILOT 3.0 APPLE TALKER APPLE LIS'NER TIC-TAC-TALKER SYSCOP ANDROID NIM-2 SNAKE EGG LIFE 2 DCV-1 MUSIC MASTER DISK MUSIC MASTER TRS-80 CP/M • AN EXCITING SPACE WAR GAME WITH GRAPHICS • 3 GAMES— LUNAR LANDER— STAR MONSTER— SPACE BATTLE • A REAL TIME LUNAR LANDER WITH GRAPHICS • FORMAT TEXT— SAVE & LOAD TO TAPE— OUTPUT TO PRINTER • A STRATEGY BOARD GAME— PLAY AGAINST COMPUTER OR OTHERS • A REAL TIME, ARCADE TYPE SHOOTING GAME IN MACH. LANG. • PLAY CHESS WITH YOUR COMPUTER- VARIOUS LEVELS OF DIFF. • DON'T WAIT FOR OTHERS TO PLAY— YOUR COMPUTER'S READY • BLACKJACK WITH HIRES GRAPHICS • SCI-FI GAMES FOR THE APPLE • RENUMBER YOUR BASIC PROGRAMS-RENUMBERS EVERYTHING • SAME AS ABOVE, BUT ON DISK • THE EDUCATIONAL LANGUAGE. IN MACH. LANG. — INC. EDITOR • THE DISK VFRSION OF THE ABOVE • YOUR APPLE SPEAKS! NO NEW HARDWARE REQUIRED • SPEECH RECOGNITION THE EASY WAY— GREAT WITH THE TALKER • TIC-TAC-TOE USING SPEECH SYNTHESIS AND RECOGNITION • MAKE BACKUP TRS-80 SYSTEM TAPES THE EASY WAY • GAME OF N1M WITH ANIMATED ROBOTS AND SOUND • A BETTING GAME WITH ANIMATED SNAKES AND SOUND • 100 GEN. PER MIN. LIFE & BATTI F OF LIFE W/ANIMATION & SOUND • PUT SYSTEM TAPES ON DISK EVEN IF IN SAME MEM AS DOS • ENTER SHEET MUSIC— THE TRS-80 THEN COMPILES & PLAYS IT • SAME AS ABOVE BUT ON DISK W/MANY SELECTIONS • OPENS UP THE WHOLE WORLD OF CP/M SOFTWARE TO THE TRS-80 10% OFF IF YOU ORDER 3 SOFTWARE PACKAGES OR MORE SEND FOR FREE CATALOG— GIVE TYPE OF COMPUTER TO ORDER BY PHONE OR FOR DEALER INFO— CALL— (617) 682-8131 ADD 75c SHIPPING & HANDLING • MASS. RESIDENTS ADD 5% SALES TAX MAD HATTER SOFTWARE • 900b SALEM RD • DRACUT, MA 01826 $ 9.95 $ 7.95 $ 7.95 $ 9.95 $ 7.95 $ 14.95 $ 19.95 $ 14.95 $ 9.95 $ 12.95 $ 14.95 $ 19.95 $ 14.95 $ 24.95 $ 15.95 $ 19.95 $ 19.95 $ 9.95 $ 14.95 $ 14.95 $ 14.95 $ 9.95 $ 14.95 $ 24.95 $150.00 I I c c c c C < 3 AVAILABLE FROM THESE FINE MICRO COMPUTER DEALERS CAPITOL COMPUTER SYSTEMS 3396 EL CAMINO AVE SACRAMENTO CA 95821 TRS-80 SOFTWARE EXCHANGE 17 BRIARCLIFF DR. MILFORU NH 03055 OP AMP TECH BOOKS 1033 N. SYCAMORE AVE LOS ANGLES CA 90038 COMPUTER CABLE VIS I ON, INC 1617 42ND ST. NW « Washington dc 20007 KENNLl -Y SYSTEMS 74 BROAD ST. L YNDONVILl.E VT 05851 ADVANCED COMPUTER PRODUCTS I3I0H t E MN-..ER SANTA At -A CA 9270! HOBBY WORLD ELECTRONICS 19355 BUSINESS CENTER DR. 16 NORTH RIDGE CA 91324 AUGUST AUTOMATION 28 MILK ST. WESTBORO MA 01581 THE CPU SHOP 39 PLEASANT ST CHARLESTOWN MA 02129 JAJ ELECTRONICS LTD 28 COLLINGTON AVE, BEXH1LL-ON-SEA. E. SUSSEX. ENG. COMPUTER VILLAGE 931 SW 87TH AVE. MIAMI FL 33174 L. C. SALES 100 HINCHEY AVE. 1705 OTTAWA. ONT.. CAN. K1Y4L9 Circle 202 on inquiry card. BYTE July 1979 1 of negative feedback in a control loop is to diminish the effects which disturbances would otherwise have on the system's input quantity. While we have had only one disturbance at our disposal, it should be clear that the number or the causes of disturbances make no difference. If ten different disturbances were acting at once, they could only end up increasing or decreasing the value of the controlled input quantity. Since the system maintains control by acting directly on the input quantity, and not by acting to oppose the cause of the disturbance, the system does not have to take account of the number of causes acting, or the phenomena that are involved. It acts to oppose the net effect of any dis- turbances on the input quantity. From the point of view of the behaving system itself, reality consists of the magni- tude of one perceptual signal, because that is the only internal representation of the outside world. If the system can be said to have a purpose or intention, it must be to maintain the perceptual signal matching the reference signal. The reference signal specifies to the system what it is to sense, but. not what it is to do. The output that matches perceptual and reference signals is determined by the nature of the feed- back function and by the strength and direction of any disturbances that may be acting. Whatever sets the reference signal, thus effectively controlling the per- ceptions of this system, does not have to know anything about how the control system comes up with a matching perception. What is perhaps most amazing to a person who has not previously worked with nega- tive feedback systems is the capability that this system has to maintain quite precise control over its own perceptual signal, even if its own properties change. If its output apparatus becomes stronger or weaker, or its perceptual apparatus becomes more or less sensitive, there is scarcely any effect on the perceptual signal. As long as some mini- mum loop gain is maintained and the system does not become unstable and begin oscil- lating, it does not really matter how much loop gain there is, or whether most of it is in the output or the input function. A servomechanism engineer might find this approach somewhat odd. Why all this fuss about the system's internal perceptual signal? When you build a control system for a practical use, you worry more about the external variables than internal variables, because the customer is interested in the external variables. 152 July 1 979 © BYTE Publications Inc This is exactly the point. Living control systems are not interested in the external variables. They can't be. They don't know about them, except indirectly. All they know is what happens to themselves. The point of behavior is not to accomplish something for a user in the external world, but to affect the system itself. Everything that a living system knows about the outside world has to first exist in the form of per- ceptual signals, or some other internal effect of external events (not all organisms have nervous systems). In part 3 we will start looking at living systems more directly, and this will become much clearer. We now know that control systems control, above all, their own internal perceptual signals. Next time we will see why they do that. In the meantime you might enjoy using this simulator to do further explorations. We have looked into only a few of the questions that might be raised about control systems. The simulator can reveal far more than we have seen. For example, it is in- structive to look at the effects of the disturbance strictly from the external point of view (plotting I, O, and D), and then to look at exactly the same effects from inside (plotting P, E, and R). We haven't even raised the question of what a control system looks like when it becomes unstable, how the slowing factors interact with loop gain to determine stability, or what happens when the input function, the output function, or both are nonlinear. Speaking of nonlinearity, you might try rewriting the definition of the feedback function as follows: 45 DEF FNF(X)=X*X*X/2048+X/2 and then performing some of the experi- ments again. Try to make the input func- tion logarithmic (adding a constant to make sure you don't make the perceptual signal negatively infinite), and see how the input quantity and perceptual signal behave as the reference signal or disturbance is changed. The main objective before the next article in this series appears is to under- stand how a control system controls its perceptual signal, and why an external observer, who doesn't know about the controlled input quantity, might think the disturbance acts on the system to make it respond, like a doorbell. The sim- ulator is there to help you grasp this closed loop phenomenon. I hope it does help." CBASIC BUSINESS SOFTWARE for MICROCOMPUTERS Osborne & Associates is publishing its business systems in book form. These systems represent five years of development and testing by O&A programmers. Each book includes source listings, program and system documentation and user's manual. What systems are we selling? * PAYROLL WITH COST ACCOUNTING * ACCOUNTS PAYABLE AND ACCOUNTS RECEIVABLE * GENERAL LEDGER The books sell for $15.00 each. All three are available right now with listings in Wang BASIC. New editions of each book, with listings in CBASIC-2, will be published during the summer of 1979. These new editions will run on many flop- py disk-based microcomputer systems. Don't know programming? Don't want to key in thousands of lines of source code? We have over 130 dealers who will sell you the CBASIC-2 programs on ready-to-run floppy disks. Contact us for the name of your nearest dealer. CBASIC or Wang BASIC won't work? Take a look at the list of consultants who have converted O&A programs to run on many popular systems, and are waiting to hear from you. CONSULTANTS- •• COMPUTER STORES- ■ • SOFTWARE HOUSES GOOD NEWS- * * *CP/M CBASIC* * * You can be a dealer lor the magnetic surface of O&A's CBASIC-2 software, which runs under CP/M on many floppy disk-based computer systems. We will sell the CP/M magnetic surface only to con- sultants, computer stores and software houses. Osborne & Associates prefers to write and sell books, not customize the programs or answer the end user's questions. The disk for each book sells for $250.00. Once you buy the floppy disk you can copy it, resell it, change it or use it. We place no restriction on the magnetic surface; we copyright only the printed word in our books. CBASIC-2 Payroll is available now. The magnetic surfaces for all three systems are scheduled to be available in the first half of 1979; call or write for the exact availability of each system. ALPHA MICRO: Peter Burke TI1F. BASIC BUSINESS SOFTWARE CO . INC P.O. Box 2032 Sail Lake City. Ulah 74110 (801) 363-1199 APPLE II: Jimmy Waller ACE. COMPUTER SYSTEMS 2449 North Wcstshorc Tampa. Florida 33607 (8131 872-2798 COMMODORE PET: Chuek Stuart CMS SOFTWARE 5115 Menelee Drive Dallas. Texas 75227 (214) 381-0690 CROMEMCO: Richard French TI1F NETWORK COMPUTER SYSTEMS 495 Third Avenue #8 San Francisco. California 94118 (415) 668-7777 DATAPOINT 1501): Paul Marchctti OCCIDENTAL COMPUTER SYSTEMS. INC 6666 Vatican Avenue Van Nuys. California 91406 (213) 782-3005 MICROPOLIS, NORTHSTAR (REQUIRES CP/M) James Roumrce R&A COMPUTER SERVICES 7700 Edgewster Drive. Suite 723 Oakland. California 94621 (415) 562-3133 MICROSOFT disk BASIC: Dan Kindred GNAT COMPUTERS 7895 Convoy Court San Diego. California 921 1 1 (714) 560-0433 NORTHSTAR BASIC: Isaac Bornstein COMPUTER SERVICES OF ENCINITAS 341 Willowspring Drive Encinitas. California 92024 (714) 436-2486. POLYMORPHIC 8813: Bruno Capre/ KEYSTONE SYSTEMS P.O. Box 767 Spokane. Washington 99210 (509) 747-5623 TRS-8II: Don French APPLIED DATA CORPORATION P.O. Box 16020 Fort Worth. Texas 761.13 (817) 738-0251 Irwin Taranlo TARANTO & ASSOCIATES P.O. Box 6073 San Rafael. California 94903 (415) 472-1415 WAN(f BASIC ON FLOPPY DISK: Richard Armour ATLANTIC COMPUTING & CONSULTING P.O. Box 7294 Hampton. Virginia 23666 (804) 340-9350 fj 1 OSBORNE & ASSOCIATES, INC. ^-^P.O. Box 2036, Dept. 122 Berkeley, CA 94702 USA (415) 548-2805 TWX 910-366-7277 Name:. \ddri'ss:_ Cit>: State:. _Zip:- Phone:- □ I am an end user interested in running CBASIC programs on disk. Please notify me of the closest dealer for: □ I am a dealer interested in purchasing CBASIC progran^ on disk for resale. Please send descrip- tion and order information for □ CBASIC Payroll with Cost Accounting □ CBASIC Accounts Payable/Receivable □ CBASIC General Ledger Title 09-8 Payroll with Cost Accounting in Wang BASIC 13-6 Accounts Payable/Re /able in Wang BASIC 20-9 General Ledger in Wang BASIC Price SI 5.00 515 011 Quantity Calif, residents add 6% sales lax S F BART residents add 6-1/2 % sales tax Shipping (Shipping for large orders 10 be arranged I □ All foreign orders S4.00 per book for airmail □ SO 45 per book 4th class in the U S (allow 3-4 weeks) n SO. 75 per book UPS in the U S (allow 10 davsl a SI 5(1 per hook special rush shipment by air in (he LI S Please send the following information □ Becoming an O&A dealer □ School discounts □ List of foreign distributors California residents lax Shipping lulal Amount I. utilised Amount Payment in advance must he enclo 570,00 available upon approval of • drawn on a U S bank □ Other O&A publications □ I am interested in the CBASIC business books. Please send me description and order information. jd lor purchases of tip to S 7 0(H) Invoicing U S purchases over lur account All foreign orders must be prepaid in US dollars Circle 292 on inquiry card. BYTE July 1979 153 Glubs and Newsletters Virginia Club for Radio and Computer Amateurs The Amateur Radio Research and Development Corp (AMRAD) is a Virginia based club of over 200 radio and computer amateurs. The purpose of the club is to develop skills and knowledge in radio and electronic technology; ad- vocate design of experimental equip- ment and techniques; promote basic and applied research; organize forums and technical symposiums; collect and disseminate technical information; and provide experimental repeaters. Meetings are on the first Monday of each month at 8 PM at the Patrick Henry Branch Library, 101 Maple Av E, Vienna VA. The Amrad Newsletter is a monthly publication which is mailed to all AMRAD members. Contact Amateur Radio Research and Development Corp, 1524 Springvale Av, McLean VA 22101. Sacramento Microcomputer Users Group The Sacramento Microcomputer Users Group newsletter, Push & Pop, comes our way on a monthly basis. The most recent contained articles on CP/M Sleuth and CP/M to Pencil and Pencil to CP/M in Z-80 Mnemonics. The general club meetings are the fourth Tuesday of every month at 7:30 PM The club also spon- sors a PET workshop, SOL workshop, and hardware study group. For meeting loca- tion and more information about this group contact SMUG, POB 161513, Sacramento CA 95816. Attention: Fox Valley Area Illinois Computer Enthusiasts A fairly new computer club is getting started in the Fox Valley area of Illinois. Called the Microprocessor User Group, they are primarily an Apple user group but wish to include all processors in their discussions. With a current membership of 50, it is the club's intention to publish a newsletter and a calendar. Meetings are held in the Fermi National Accel- erator Laboratory Hi-Rise on the main floor in the SW meeting facility on the third Monday of every month at 8 PM. Contact Mike Urso, 641 Woodlawn, Aurora IL 60506. Health Insurance for Your Floppies! Problem: Dust, Smoke, Solution: The Flex 80 and Warpage will Ruin System will Protect, Index, Your Floppy Disks. and File Your Floppy Disks Quickly and Easily. For Further Information and a Free Copy of Our "Policy" CALL TOLL FREE 800 323-0254 ADVANCE ACCESS GROUP 10526 W.Cermak Westchester, I L 60153 312 562-5210 icturerso/In/o Association of Computer Experimenters Besides holding monthly meetings, this active Canadian group publishes a most impressive newsletter called Ipso Facto. The most recent issue contains 72 pages and is filled with articles and pro- gram listings. Membership in the club is $10 per year, and they are constantly seeking new members with interesting ideas. Contact Bernie Murphy, 102 Mc- Crany St, Oakville, Ontario, CANADA L6H 1H6. Pacifica TRS-80 Club The Pacifica TRS-80 Users Group is meeting in the Radio Shack store in the Eureka Square Shopping Center which is located about 10 miles from San Fran- cisco. They meet the second and fourth Thursday of the month to exchange pro- grams and ideas regarding the TRS-80. All individuals are cordially invited to at- tend one of their meetings. Contact John F Strazzarino, 637 Brussels St, San Fran- cisco CA 94134. Evansville Indiana Computer Club Evansville IN does have a computer club according to a recent letter from Robert Heerdink. He is concerned with increasing the club's membership and encourages any interested individuals in that area to attend one of their monthly meetings. The group is in- terested in several types of microcom- puters. They usually meet at the Blind Association, Second Av and Virginia, at 7:30 PM on the second Wednesday of the month, although he recommends checking with him first. Robert can be reached at the Evansville Computer Club, c/o National Sharedata Corp, POB 3895, Evansville IN 47737, (812) 426-2725. Theater Computer Users Group The Theater Computer Users Group is sponsored by Theater Sources Inc, a cor- poration created to gather and distribute information about theater in the United States. Their newsletter, called TCUC Notes, is $4 per year, and back issues are available. Contact TCUC Notes, Mike Firth, Editor, 104 N St Mary, Dallas TX 75214. Alamo Computer Enthusiasts Located in San Antonio, the Alamo Computer Enthusiasts meet on the third Friday of each month at the Norris Technical Center, Room 208, St Philip's College, San Antonio TX. Their monthly newsletter is available for a one year subscription fee of $2. Contact Dave Fashenpour, 5411 Cerro Vista, San An- tonio TX 78233. LISP Users Newsletter The first issue of the Lisp Users Newsletter is an announcement of this new organization which is designed to 1 54 July 1979 © BYTE Publications Inc Circle 2 on inquiry card. spread information about applications, implementation and general information on LISP-like languages. It will pay par- ticular attention to those LIS Pish things which are within the realm of currently available microprocessor systems. As an initialization process, a mailing list of prospective interested individuals is be- ing compiled. If you are interested, send your name and address, background, in- terest in and knowledge of LISP, what system (if any) you own, and memory capacity (internal and mass storage) to John R Allen, 18215 Bayview Dr, Los Catos CA 95030. Please include any sug- gestions you may have about organiza- tion or topics you would like to see discussed. John requests that you submit a dollar to cover postage and duplica- tion of the newsletter. Free TRS-80 Newsletter The free TRS-80 Bulletin, which prints club and product news about the TRS-80, is sporting a new format and is now mon- thly. The Bulletin is an offshoot of TRS-80 Computing (see BYTE Clubs and Newsletters December 1978). For a free copy of the Bulletin write to the Com- puter Information Exchange Inc, POB 158, San Luis Rey CA 92068. Ventura County TRS-80 Club the creation, organization and realiza- tion of this idea. Interested persons should contact him by mail, in care of the station or by phone at (41 4) 271 -1 036. Chess Tournament The second London microprocessor chess tournament will be held in the West Centre Hotel, Lilee Road, Fulham, London England, from November 1 thru 3 1979. Any individual or company wishing further details should write to David Levy, c/o Personal Computer World, 62a Westbourne Grove, London, W2. This year's event will be the first Euro- pean Open Microprocessor champion- ship. The highest placed participants will automatically qualify for places in the final of the first World Micro Champion- ship which is scheduled to be held in London in 1980. IECI 80 Issues Call for Papers IECI '80, the Sixth Annual Conference and Exhibit on Industrial and Control Applications of Microprocessors, will be held at the Sheraton Hotel in Phila- delphia next March 17 thru 19, 1980. IECI '80 will offer an exhibition and technical program dealing with the current and new work of industrial microprocessor applications. Papers dealing in such areas as automotive diagnosis and operation, intelligent instrumentation, transducers and sensors, automated manufacturing, numerical control and robotics, and biomedical control and monitoring are invited. Ten copies of the paper in extended summary form, 500 to 600 words long and an abstract of no more than 40 words describing work not generally published or previously pre- sented, should be mailed by September 14 1979 to H T Nagle Jr, Electrical Engineering, Auburn University, Auburn AL 36830. The extended summary will be used for paper selection and session assignment and should clearly define the salient concepts and novel features of the work described. Notification of ac- ceptance and format required for publi- cation in the IECI '80 proceedings will be sent by October 19 1979. Forth Inc Announces 13 Software Seminars Forth Inc, producer of Forth based software systems for mini and micro- computers, has announced a schedule of 13 software seminars to be held throughout the US this summer. The seminars, which are half day events, cover design, application and This group is comprised of about fifty computer enthusiasts living in the Ven- tura County area. Their main purpose is to share information relating to the prac- tical applications as well as the enter- tainment possibilities for Radio Shack's TRS-80 microcomputer. Membership dues are $10 a year which includes a newsletter. Meetings are held the first Tuesday of each month at the Camarillo Public Library, 3100 Ponderosa Dr, Camarillo CA at 7 PM. Visitors are welcome and prospective members are encouraged to attend a meeting. Con- tact Lee Steinmetz, Secretary, 567 W Loop Dr, Camarillo CA 93030, (805) 484-1724. BYTE's Bits A Public TV Series In a recent phone conversation with Robert J Whitney, Producer/Director at WMVS/WMVT television, channels 10 and 36 in Milwaukee Wl, we learned of a proposed television series for public television concerning people who build, buy and use small computers. The series idea is for 8 to 15 half hour shows about small computer hobbyists, experimenters and enthusiasts. Robert is looking for people in the Southeastern Wisconsin area who could lend their expertise to Build The World's Most Powerful 8-Bit Computer Featuring The Famous Intel 8085! Explorer/85™ Starting for just $129.95 you can now build yourself a sophisticated, state-of-the-art computer that can be expanded to a level suitable for industrial, business and commercial use. You learn as you go. . . in small, easy-to-understand, inexpensive levels! • Features Intel 8085 cpu/100% compatible with 8080A software! • Onboard S- 100 bus tup to 6 slots)! • Onboard RAM and ROM expansion! • Built-in deluxe 2K Monitor/Operating ROM! • Cassette/RS 232 or 20 maJ41/2 8-bit parallel I/O and timer all on beginner's Level "A" system! As featured in POPULAR ELECTRONICS EXPLORER/85 shown with Video Monitor and Keyboard/Video Terminal CHOICE OF HEX KEYPAD OR TERMINAL INPUT it you plan lo customize EXPLORER for dedicated use. we recommend foal you order hex keypad input. But. it you .ire planning to go whole horj and blow EXPLORER up into a lull size, stale- of -the art system with 8K or extended basic | coming sooni up lo 64K o! memory floppy disks, telephone interlace, printers and all saris ot S-iOO plug-ms— you'll be beller oil with the Keyboard /Video terminal input the Si49 95 EXPLORER Keyboard /Video Terminal includes lull ASCII decoding wilh 128 ASCn upper/lower case set 96 printable characters, onooard regulators and selectable display tormals— 32x16 lot lv set or 64x16 lor video monitor inol included) EXPAND EXPLORER, LEVEL-BY-LEVEL Level "B". at $49 95. adds S* 1 00 signals plus onboard RAM/ROM decoding Includes all parts necessary lo generate Ihe signals lor S-100 Pus accessories Just add two S-100 bus connectors and you have a complete S-100 compatible computei with a world of add-ons al your linger tips Choose irom hundreds ol products to EXPLORER/85 gives you big computer leatures immediately, without lurnirnj you satisfy your individual needs Level B hit also includes the address decoders lor into an appliance operator doomed lo run pre-developed software lor hie Simply onboard RAM and ROM expansion, which are addressable anywhere in ihe 65K held connect EXPLORER lo a terminal videomonitor or tv set and 8 voil power supply and Level "C" expansion, at $39 95. expands the S-100 bus lo allow a tola) ol six slarl running programs the very first night' Level A leaches you machine s-IOD cards to be plugged into EXPLORER s motherboard and contained in language and computer fundamentals ll lets you run exercise programs nciudmg EXPLORER'S steel cabinet "includes all hardware mounting brackets board guides, programs to examine the cpu registers, examine memory lilt memory, move memory elc Jus i a[]( | 1ne nu mper of S- 100 bus connectors you need and make up games You can toad end play back these programs on an ordinary tape j_ Bve | "D" expansion, at S59 95. gives you 4K ot onboard static RAM utilizing cassette— and display your efforts on any lv screen video monitor or printer (S8 95 ?ii4ICs Your board will also accept lour 2716 EPR0M s which can tie purchased Rf modulator required lor lv use t The simplihed architecture ot Ihe Intel 8085 separately You now have an advanced mainframe thai can be customized with the makes EXPLORER tar easier to understand than computers using the older, more peripherals of your choice to lit any (or all) specilrc requirements Each level ol complex but less poweriui 8080A Then when you re ready EXPLORER can pe EXPLORER is separately regulated lor the uilimate in stability Factory service is expanded-by you— lo rival the power ol any 8-bil computer on earth Or you can ava ii aD i e from Netromcs Order your EXPLORER loday! customize il lo perform a dedicated lask. thanks loonboard _____ — ORDER FROM THIS COUPON TODAY! — — — 1 Netromcs R&D Ltd., Dcpt BY -7, 333 Litchfield Road. New Millord, CT 06676 □ Level "A' EXPLORER/85 kit (specify □ ler- □ Deluxe Sleel Cabinet lot EXPLOREH/85 I minal or □ hex keypad mpull. S129 95 plus i S3 p&h ' □ Power Supply kit. 5 amp. ±8 volt. S34 95 i plus $2 p&h 1 □ Intel 8085 User s Manual. $7 50 ppd I □ ASCII Keyboard/Video Terminal kit. $1*19 95 I plus S3 p&h | □ Hex Keypad kil tor hex version. $69 95 plus LEVEL "A" SPECIFICATIONS EXPLORER s Level "A" syslem leatures an advanced Intel 8085 cpu which is 50% faster than its 8080A prede- cessor, yet 100% compatible with 8080A sollware which you n discover, exists by Ihe ton Big computer' leatures include an 8355 ROM with 2K deluxe monilor/ operating system which has two programmable 8-bil bi-directional parallel 1/0 ports, built-in cassette interlace with lape control circuitry lo allow labeling cassette tiles, and commands which include "display contents ol memory. ' run al user location (go lot. "insert data, "move contents ol memory "examine registers individ- ually or all fill command (fo fill the contents of memory | □ Level "B S- 100/Onboard RAM/ROM Decoder wilhany variahic) automatic baud rale selection, program- kit (less S-100 connectors). $19 95 plus $2 mable characters per line display oulput lormal. and more 1 | P& n An 8155 RAM — 1/0 chip contains 256 bytes ol RAM, Iwo □ Level "C S-100 5-Card Expander kit (less programmable 8-bit bi-direchonal and one programmable I conneciors). S39 95 plus $2 p&h 6-bit Di-dnechonai \'0 ports plus programmable 14- tm □ s-100 Bus Conneclois (gold) S4 85 each pmary counter/timer user interrupt and resel switches ' q Leve | q 4K Onboard RAM kit S69 95 plus Onboard expansion provisions exist tor up lo six S-100 I $? p&h boards. 'IK ot RAM and 8K ol ROM. PROM or EPR0M [__ _ _ S2 p&h S39 95 plus $3 p&h □ Deluxe Sleel Cabinet lor Keyboard/Video Ter minal S19 95 plus S2 50 p&h □ RF Modulator kil $8 95 ppd □ Total Enclosed (Conn res add lax) $_ □ VISA □ Master Charge Eitp. Date Account # PHONE ORDERS CALL (203) 354-9375 Print DEALER INQUIRIES INVITED . Circle 280 on inquiry card. July 1979 © BYTE Publications Inc 1 55 demonstration of miniForth, microForth, and new polyForth software systems, are open to programmers, project managers, data processing professionals, electronic engineers, and OEMs. Following the seminar, there will be a meeting to discuss various plans for OEMs of Forth software. For a complete list of seminar locations and dates, write to Forth Inc, 815 Manhattan Ave, Manhattan Beach CA 90266/ Call for Papers for Computer Networking Symposium The 1979 Computer Networking Sym- posium to be held December 12 1979 in Caithersburg MD has issued a call for papers. The symposium will feature papers of a tutorial nature which describe practical experiences with com- puter networks and network applica- tions, and papers that present new research results. Accepted papers will be published in the symposium pro- ceedings. Four copies of 1,000 word abstracts should be submittd by July 15 1979 to Dr Vijay Ahuja, E96/B629, IBM Corp, Research Triangle Park NC 27709. Authors will be notified of acceptance by August 1 1979. The Computer Net- working Symposium is sponsored by the National Bureau of Standards, and the IEEE Computer Society. Byte News Update Byte News in the March 1979 issue began with a paragraph listing computer manufacturers that support Pascal. For a year Texas Instruments has supported Pascal which can be implemented on the Model 990 minicomputer in the form of Tl Pascal (TIP). There are also two exe- cutive operating systems available which are appropriate for use with Pascal. The Texas Instruments Microprocessor Executive Library (TIPMX) is a collection of operating system components avail- able to users of the TMS 9900 family of microprocessors. Minimum develop- ments tools required for use with TIPMX are a text editor, an assembler and a link editor, all of which are available with the purchase of a Texas Instruments soft- ware license. TIPMX may be used on either the floppy disk based FS990 development system, or any of the several hard disk systems such as the DS 990. TIP and its extensive run time sup- port library are available on the hard disk based system and are highly recom- mended for use with TIPMX. The latest addition to Tl's software support is called Texas Instrument's Modular-Based Executive in Read only memory (TIMBER). TIMBER is targeted for users of the TM 990 series of microcomputer modules. In this way it is possible to do Pascal software develop- ment on a low cost system incorporating the TM 990/302 software development system. The fundamental benefit of TIMBER is that it is pre-packaged in erasable read only memory, thereby freeing the user from the concern of in- advertently destroying the operating system. In the second paragraph of Byte News, Intel was mistakenly credited with being the first to market a 32 K byte program- mable read only memory. Texas Instru- ments introduced the world's first 32 K programmable read only memory in April of 1978. The TMS 2532 is organized as 4 K by 8 bits and operates from a single +5 V power supply with standby power dissipation of 50 mW typical. A + 25 V supply is only needed for pro- gramming. Dale R Gibble Project Engineer Texas Instruments POB 1443 MS 6750 Houston TX 77001 ■ NEW FROM MOUNTAIN HARDWARE. THE APPLE CLOCK. - „-,- *?■ New utility for your computer. Now, there's a real time clock for the Apple II*: the Apple Clock from Mountain Hardware. It keeps time and date in ImS increments for one year. On-board battery backup keeps the clock running in the event of power outage. Easy to use with BASIC using routines carried in on-board ROM. That means you can time events, put time and date on printouts, create games in which elapsed time is important... and many more. Mountain Hardware offers a complete line of peripheral products for many fine computers. Available at your dealer's. Now. Mountain Hardware, Inc. 300 Harvey West Blvd. Santa Cruz, CA 95060 (408) 429-8600 "Apple II is a trademark of Apple Computer, Inc. 25 BYTE's Bogs A Reorganized Wine Cellar As one who enjoys both wine and computers, I must comment on several inaccuracies in the article entitled "Computerized Wine Cellars" (February 1979 BYTE, page 128). The second wine in listing 1 is Rauenthaler Rothenberg Riesling Spatlese 1976 — von Simmern. The varietal name is not, as listed, Rhine, which is a geographical area, but Riesling, which is the name of the best grape variety produced in Germany. The Rheingau, which is the Rhine sub-area from which this wine comes, produces Riesling almost exclusively, but other Rhine areas produce Sylvaner, Muller- Thurgau, and other varietals as well. More strangely, the producer is listed as Rauenthaler. In top quality German wines, the first name refers to the village and the second to a particular vineyard. Here, we have the village of Rauenthal and the vineyard Rothenberg. The pro- ducer is the Graf (Count) von Simmern. In any case, I have recently enjoyed tasting this wine and I can verify the accuracy of the tasting notes in the listing - it is a super wine, and In wine drinking, that's what counts! Larry Rosenblum 12008 Trailridge Dr Potomac MD 20854» . 1 56 July l 979 © BYTE Publications Inc Circle 257 on inquiry card. SYBEX THE LEADER IN miCROCOmPUTER EDUCATION PRESENTS BEST-SELLING BOOKS Used by Universities and Industry worldwide (ten languages) MICROPROCESSOR INTERFACING TECHNIQUES ROOHAYZAKS re C200-AN INTRODUCTION TO PERSONAL AND BUSINESS COMPUTING Rodnay Zaks, 250 pp A comprehensive introduction to small computers, their peripherals, and what to select. $6.95 C201- MICROPROCESSORS: FROM CHIPS TO SYSTEMS Rodnay Zaks, 416 pp The basic texl on all aspects ot microprocessors and the assembly ol a system. $9.95 C202 - PROGRAMMING THE 6502 Rodnay Zaks, 320pp A complete introductory programming text lor the 6502. $10.95 D302 - 6502 APPLICATIONS BOOK Rodnay Zaks, 288 pp Connecting a 6502 board to the outside world: from home alarm to music and industrial control. $12.95 C2BO • PROGRAMMING THE ZSO SameasC202fortheZ80. $10.95 C207- MICROPROCESSOR INTERFACING TECHNIQUES A. Lesea & R. Zaks, 41 6 pp How to interlace a microprocessor to external devices: Irom keyboard to ADC to lloppy disk, including standard busses. $11.95 XI -MICROPROCESSOR LEXICON, 125pp All the definitions of the microprocessor world in a con- venient pockelbook formal . $2.95 AVAILABLE AT BOOKSTORES, COMPUTER STORES, AND ELECTRONIC SHOPS EVERYWHERE! SELF-STUDY COURSES ON CASSETTES "The time-efficient way to learn"™ Self-study courses include two to eight audio-cassettes and a special book. They offer the fastest way to learn the topic covered (from % to two days). Highly effective. < MICROPROCESSOR StlF ■ STUDY COURSE ON CASSITTBS DESIGNING A MICROPROCESSOR SYSTEM I m mmm i P i 0 L^i t m mm m , MICROPROCESSOR SILF ■ STUDY COURSEONCASSETTES MftfTMtl MICROPHOCtSSOR SYSTfMS r • ™ • ; mum MICROPROCESSORS hwm chips to systems MICROPROCESSOR SELF • STUDY COURSE ON CASSETTES 1- INTRODUCTORY -SHORT (2.5 hrs ea) 51- INTRODUCTION TO MICROPROCESSORS $29.95 52- PROGRAMMING MICROPROCESSORS S29.95 53- DESIGNING A MICROPROCESSOR SYSTEM $29.95 SI OB-INTRODUCTION TO PERSONAL AND BUSINESS COMPUTING S21.90 2 -INTRODUCTORY- COMPREHENSIVE (lO to 12 hrs ea) SB1 -MICROPROCESSORS $59.95 SB2-MICROCOMPUTER PROGRAMMING $59.95 TO ORDER ByPhon.: 415 848-8233, Visa, M.C, Amer Express. By mall: Include payment. Shipping: add S1.50 per book (UPS) or 75« (4th class - allow 4 weeks). Double for cassettes and overseas. Tax: in California add tax. FREE DETAILED CATALOGUE SYBEX 2020 Milvia Street Berkeley, CA94704 Tel 415 848-8233 Telex 336 31 1 NAME. 3- SPECIALIZED (4.5 to 6 hrs ea) SB3-MILITARY MICROPROCESSOR SYSTEMS $49.95 SB5-BIT-SLICE $49.95 SB6-INDUSTRIAL MICROPROCESSOR SYSTEMS $49.95 SB7-MICROPROCESSOR INTERFACING $49.95 .POSITION. COMPANY ADDRESS CITY _STATE/ZIP □ C200 DC201 UC202 UC207 DD302 DC280 DS1 CJS2 □ S3 DS10B DSB1 QSB2 DSB3 DSB5 DSB6 DSB7 □ charge my DVisa DM.C. DAmer Express Number Exp. date Signature. □ Send Catalogue 87 Circle 356 on inquiry card. BYTE July 1979 157 Creativity in Computer Music Hubert S Howe, Jr Dept of Music Queens College CUNY Flushing NY 11367 The most important result of computer applications in music is that they have en- couraged a variety of new ideas to be formu- lated, tested, and reformulated in a short period of time. Concepts that previously would have taken much longer to develop and verify have already been brought forth. Musical thought is consequently on a higher level today. This applies to all aspects of work with computers - as much to research as to creative work, but perhaps less to music than to some other fields. The in- creasing availability of microcomputers can only further this trend. The distinction between research and creative work is artificial, for much research is creative — certainly when it pursues new ideas. Computer work in music has for many years been carried out in the creative areas of musical composition and sound synthesis, and the research areas of musical analysis and music theory. In this discussion I will not consider such areas as music bibliog- raphy, music printing, CAI (computer- assisted instruction), and related disciplines. While much important work has been done in these areas, they are not generally con- cerned with creative or conceptual problems. Music bibliography essentially involves an information storage and retrieval system. Music printing is a problem of automation. CAI certainly encompasses creative work, but thus far only the most rudimentary instructional tasks have been delegated to computers, and then only with limited success. Instead, I will discuss music theory, analysis, sound generation, and composi- tion and their relation to the computer. While we are discussing the question of musical tasks in general, it is relevant to point out that any musical task is in prin- ciple subject to delegation to a computer. Musical tasks include any activities carried out by human beings that involve interaction with music. Music is composed by composers in ways that, traditionally at least, involve only their own internal ideas, realized sometimes with the assistance of an instrument like the piano. Music is performed by performers who usually play from printed notation. Music is heard by listeners who may then engage in reflection, evaluation, or criticism. Musical documents such as recordings or scores are kept in libraries where they are filed according to careful systems of clas- sification. Computer composition, perform- ance, printing, recording, documentation, bibliography - even evaluation or criti- cism - all are feasible. The problems involve simulating the sensory processes with which people inter- act with music - listening, writing, visual communication — and the mental processes with which they make their conclusions about music. The sensory processes are simu- lated by the I/O (input/output) devices on computers, and since computers cannot do all of these tasks in the same way that people can, various languages have been devised to enable translation from the human form into a form computers can read. The mental processes are simulated by the programs. Now that we have described these general features of computer work in music, let us consider some specific problems concerning the four disciplines mentioned above and how using a computer has encouraged the formulation of new concepts in creative ways. Music Theory There has always been a close relation- ship between the discipline of music theory and other fields, particularly analysis and composition. In the twentieth century, composers have produced some highly original theories that they have attempted to apply to their compositions, either before or after they have written them. The term "speculative music theory" de- scribes theories conceived before the music illustrating them is written. After the music has been composed, it is usually a simple matter to verify whether 1 58 July 1 979 i BYTE Publications Inc At last. A controller you'll never have to throw If you've got a floppy disk controller on your S-100 bus, you've got a big problem. Because when you want to upgrade your system from single to double density, or from single-sided to double-sized, or from 5" to 8" floppy, you'll have to throw that old controller off the bus. But not any more you don't. Because at DATASPEED, we've developed one controller that works with all four kinds of floppy disk drives. And doubles the density, too. Works with all floppy disk drives. Single-sided minifloppys™ Double-sided minis. Single-sided maxis. Even the new double-sided maxis with up to 8 megabytes. This is the only controller in the world that works with all four. Handles any upgrade. When you want to go from single-sided to double-sided drives, this great new controller reads each side automatically. And you can upgrade from 5" to 8" disks just by changing a simple Header socket. Packs in twice the data. Now you can pack double density data on every side of every disk. Because we've designed in a bootstrap PROM that automatically controls any shift from single to double density. And, of course, when you're running double density, you can transfer data in half the time. Circle 97 on inquiry card. So when you buy this controller, and a compatible CP/M™ we're including a free software package that lets you transfer all your files to double density. We call it The Conductor. The DATASPEED Floppy Disk Controller. It handles all your upgrades. It packs in twice as much. And at only $295, it's even the cheapest way to go. That's why this is one controller you'll never have to throw off the bus. And that's why we had to call it The Conductor. Ask for it at your local computer shop or send $295 for immediate delivery. By the way, we have Double-Density CP/M™ for only $100. Complete disk drive systems are available. Write us for more information. Dealer inquiries welcome. And watch our future ads for trade-in offers. DATASPEED, INC., 1302 Noe Street, San Francisco, CA 94131. THE CONDUCTOR TM Minifloppy is a TM of Shugart Associates. CP/M is a TM of Digital Research. BYTE July 1979 1 59 a theory applies to it, assuming that the theory is adequately formulated. For ex- ample, Schoenberg's conception of atonal music and later his "method of composi- tion with 12 tones" originated as specu- lative ideas which were described, albeit confusingly, in his books Harmonielehre and Style and Idea. More recent composer/ theorists like Milton Babbitt have extended Schoenberg's original ideas to even greater levels of abstraction. The availability of computers has spurred great efforts to test these theories and other ideas to a greater degree than people had been willing to attempt before. (Though most theoretical work has been done on large general-purpose computers, much can now be done on microcomputers, as is shown in our example of pitch structures.) Concomitantly, the results obtained by these researchers have brought forth new ideas and exposed the inadequacies in old ones. Part of the reason for such success has been the fact that it is by no means obvious or easy to explain how theoretical ideas apply to a piece of music in detail, and people have had to clarify their methods in ways that go beyond what had been accepted before in noncomputer work. Com- puters do not presently have the ability to listen (in the sense that a person "listens") to a piece of music to decide whether or not a given idea applies to it. Researchers have instead formulated methods that in- volve detailed inspection of the notation for a piece. Sometimes these produce results that seem mystifying or incorrect when compared with results reported by listeners. This conflict demonstrates the difficulty of accepting unintuitive ideas about music and the question of whether or how listeners ought to revise their listening habits in order to perceive musical structures that are veri- fied to exist in the music. Theories, in the sense employed thus far, are ideas that explain the structure of entire compositions or passages of music. Few musical theories, even that of triadic ton- ality, are in fact expressed in any such detail. Usually there is a large gap between the the- oretical constructions and their applications to the music that is supposed to be filled by the reader. This is obviously true of such modern concepts as pantonality (see refer- ence 6), or of attempts to perceive Schoen- berg's 12 tone compositions in a certain key (see page 407 of reference 7). Allen Forte's theory of set complexes (reference 8) pre- sents a collection of ideas that would still not be a theory in the sense described above, but he nevertheless has much more success < C CO C CD CO a i„ o a c CO Q. E o a en rs a) wmwm PERSONAL COMPUTING SOFTWARE FOR APPLET PET®, AND TRS-80© APPLE • COMMODORE • POWERSOFT GRT • PERSONAL SOFTWARE • RD.I.« SOFTAPE EXCLUSIVELY AT ALL PARTICIPATING ComputerLand STORES. TM 160 July 1 979 © BYTE Publications Inc Circle 75 on inquiry card. BITS inc Books to orose the impossible POB 428, 25 Route 101, Peterborough, NH 03458 L€T'SG€T PERSONAL How to use use your personol microcom- puter to its fullest potential PA SMALL COMPUTER SYSTEMS HANDBOOK By Sol Libes □ This is an introductory text for those with a minimal knowledge of electronics who are interested in microcomputers as a hobby. The author explains micro- computer concepts from the number systems and logic circuits to program- ming languages and applications with the emphasis on practical knowledge. 197 pp. $8.45 YOUR HOMECOMPUTER By James White □ A clearly written, nontechnical de- scription of personal computers that re- quires no prior knowledge of computers or electronics. The emphasis is on un- derstanding; over 100 illustrations are included. Topics include: computing and you; communication inside a com- puter; computer thought processes; fixed memory; inputs and outputs; peri- pherals; systems components; how to choose a microcomputer; and so on. Your Home Computer is the ideal book for readers who thought they could ne- ver understand how computers work. The best part is that this is both easy and fun to read. 235 pp. $9.95 For you PIMS — PERSONAL INFORMATION MANAGEMENT SYSTEM By Madan Gupta □ This book describes a data base man- agement system designed for personal use on small computer systems using BASIC. Along with complete source list- ings of the program and comprehensive operating instructions, the book discus- ses the personal microcomputer and its potential for personal use. The tasks you could perform with this information management tool include: maintaining a mailing list, balancing small business and personal checking accounts, keep- ing track of inventories, maintaining log books, and countless others. Powerful commands allow you to create, add to, change, list, delete, sort, and search your data files. This book can really unleash the full power of your personal computer! 88 pp. $9.95. ... and for your personal programming needs The Bits Programmer Pad TM □ Improve your style with BITS Pro- grammer's Pads.™ One side is an ingenious memory/register allocation form, custom-tailored to the micro- processor you're programming: 8080A, 6800, 6502, Z-80, or 1802. The other side is for your program, with pre-numbered lines and columns for addresses, object code, labels, in- structions, and those essential com- ments. Write your source code first and later assemble by filling in the object codes and assigning memory addresses. (If you're hand assembling your programs, these pads are a must!) 50 page pads on durable paper. Prepunched for a 3-ring notebook, too. ONLY $2.50 each. Postage: $.75 for one Pad, $1.25 for two or more Pads. r convenience in ordering, please use this page #N€W # Z80 ASSEMBLY LANGUAGE PROGRAMMING By Lance A. Leventhal □ Hot off the press, here's the 280 as- sembly language and its use in Lance Leventhal 's graphic style. A parallel to his earlier book "6800 Assembly Lang- uage Programming", it covers the Z80 instruction set in depth and program- ming techniques for its use, including many sample products. FROM OSBORNE & ASSOC. $9.50 INTRODUCTION TO TRS-80 GRAPHICS By Don Inman □ TRS-80 users, here in Level-I BASIC are the techniques you need to make full use of your video display. This book is ideal for the beginner, with complete explanations for the statements and commands used. The plot and print me- thods are detailed and used in creating lines, curves, and more complex geo- metric shapes. Moving patterns are ex- plored. The basic techniques will stir your imagination to make full use of the TRS-80's graphics capabilities. 133 pp. $8.95 32 BASIC PROGRAMS FOR THE PET COMPUTER By Tom Rugg and Phil Feldman □ Here are 32 fully documented pro- grams, ready to run on your Commo- dore PET 2001 computer, including ap- plications programs, educational pro- grams, games, graphical display pro- grams, math programs, and more. The program instructions are detailed enough to allow you to modify any pro- gram and sample runs are included. PET users, don't leave your PET on the shelf, put it to work for you ! 267 pp. $15.95 PEANUT BUTTER AND JELLY GUIDE TO COMPUTERS By Jerry Willis □ This book is much like a peanut but- ter and jelly sandwich: simple but nu- tritious. It is an introduction to the hard- ware of personal computers that is free of technical jargon; a combination con- sumer's guide and tutorial. The funda- mental parts of a computer, computer languages, and personal applications are covered. Included are case studies of people, their computers and applica- tions. It's a humorous and painless in- troduction to the world of the personal computer. 207 pp. $7.95 DIAL YOUR CHARGE CARD ORDERS TOLL FREE 800-258-5477 VISA (in NH call 924-3355) Mon-Fri 9-5 plus the order form on page 137 BYTE July 1979 161 in describing how his ideas relate in specific ways to actual musical content and the difficulties encountered in this process. Forte's theory is a striking example of a series of ideas that grew out of a contin- uing interaction with computers. In his case, as well as that of this author, computers Pitch Structures Pitch structures are sets of notes related by transposition (see Glossary). Within 12 tone equal temperament, there are exactly 351 of them available. The BASIC program shown in listing 1 generates all pitch structures in normal form. Normal form is a method of notation that chooses the representation with the smallest overall intervallic span. Individual pitch classes are indicated according to their intervallic distance from the lowest note. For example, the major triad (C E G) has three orderings: 0 4 7 (C E G), 0 3 8 (E G C), and 0 5 9 (G C E). The normal form representation would be 0 4 7. When two representa- tions have the same overall span, the choice is made according to the smallest second, third, etc, interval. Some sets, like the augmented triad 0 4 8 (C E G#) have the same intervallic pattern for each ordering; these sets all have two or more transpositions that produce the same set of pitch classes. This program is written in TRS-80 Level 1 BASIC, which allows multiple statements to be given in a single line using the colon (:) as a delimiter. LET is optional in assignment statements, and has been omitted in the program. Listing 1 : Program written in TRS-80 Level I BASIC to compute pitch structures in normal form. 5 REM PROGRAM TO COMPUTE PITCH STRUCTURES IN 6 REM NORMAL FORM 1 0 FOR 1=1 TO 24 : A(I)=0 : NEXT I 20 S=2: K=l :L=S-1: M=2: N=l: Q=0: A(25)=0 30 FOR 1=1 TO L: A(I)=A(10*N+14+I): NEXT I:A(S)=K: V=A(2) 40 GOSUB210:IFTOOTHEN80 50 FORI=1TOS:A(10*M+14+I)=A(I):NEXTI 60 Q=Q+1 : PRINT S, Q,: FOR 1=1 TO S: PRINT A(I) ; : NEXT I: PRINT 70 K=K+l:M=M+l:GOTO30 80 IF V <= A(10*(N+1)+16) THEN 100 90 L=S:S=S+1:Q=0:IFS >10THEN110 100 N=N+1 : K=A(10*N+14+L)+1 : GOTO 30 110 GO TO 999 200 REM SUBROUTINE NRMLFM 210 P=S-1: X=0: T=0 220 IF A(1)=0 THEN 250 230 X=A(1):T=X 240 FORI=lTOS:A(I)=A(I)-X:NEXTI 250 FOR 1=1 TO S: A(I+12)=A(I): NEXT I: A(S+13)=12 260 U=A(14): X=X+U: IF X >= 12 THEN RETURN 270 FOR 1=2 TO S: A(12+I)=A(13+I)-U: NEXT I 280 IF A(S+12) < A(S) THEN 330 290 IFA(S+12)>A(S)THEN260 300 FOR F=2 TO S : IF A(F+12) < A(F) THEN 330 310 IF A(F+1 2) > A(F) THEN 260 320 NEXT F: RETURN 330 FOR 1=1 TO S: A(I)=A(I+12): NEXT I: T=X: GOTO 260 999 END figured prominently in the development of the concepts employed in formulating the theory. Composers have sometimes referred to these concepts as precompositional ideas. In my own work (described in "Some Combinational Properties of Pitch Struc- tures," Perspectives of New Music, volume 4, number 1, fall /winter 1965, pages 45 thru 61) the basic concepts were pitch, pitch class, pitch class collection, and pitch struc- ture. A computer was used to generate the basic sets of all of these elements, and then to test various operations such as inversion and cycle of fifths equivalence. The fact that a computer was used in this work meant that my list of pitch structures generated by the computer was one of the first accurate lists ever produced. Howard Hanson's count of distinct pitch sets in 777e Harmonic Materials of Modern Music: Resources of the Tempered Scale, Irvington Pub, NY, 1961, is incorrect. Forte's list published in "A Theory of Set Complexes for Music," Journal of Music Therory, volume 8, number 2, winter 1962, is correct according to his definition, but his definition does not reflect current practice. I have continued to use computers in my work, which now includes computer com- position as well as theory development. It is not difficult to see that the contin- uing use of computers in music theoretical work will have beneficial results, if only because it will force the theorists to formu- late their ideas in more specific terms. Such continuing investigations could reveal and clarify many inadequacies in the theory of harmony or tonality as presently stated in harmony textbooks. In fact, the computerization of the principles stated in any of these books ought to point up all kinds of basic problems that are never acknowledged - for example, just exactly what the theory explains about which music and what that has to do with any activity the reader would be likely to engage in with respect to either the theory or the music. Harmony, as we understand it from harmony texts, is simply the trans- lation of a piece of music into a different notation or vocabulary - a vocabulary that is imprecise and overlooks many of the most important characteristics of the music itself. The reasons why such a translation is made and what advantages it possesses are unclear. Because they have to clarify their purposes to impersonal machines, computer researchers are not able to ignore these questions as easily as traditional ones. Musical Analysis Computer work in musical analysis high- lights the question: what do we really want to know about a piece of music? There are 1 62 July 1979 m BYTE Publications Inc 32K Board Pictured Above New RAM Prices. From The Dynamic Memory Company. 16K— $249 32K— $375 48K-$500 64K-$625 Ever since we started making these memory boards over a year ago we have continued to tower our prices to stay competitive. Due to your confidence in us, we are again able to lower our prices! Our reliability has been proven by months of superior performance in thousands of installations. Our low-power boards are being used by quality-minded systems manufacturers across the country and overseas. 4MHz boards now available. After receiving hundreds of requests, our engineering staff has come up with a new version of our board which runs on 4MHz Z-80 systems. It wasn't easy to come up with a high speed board which would operate as reliably as our 450ns version, but after months of careful design and testing, we did it. The price of the 250ns board is $10 per 16K additional. Circle 45 on inquiry card. All of our features remain. Our boards didn't become great sellers only because of the price. We still offer you our deselect feature which allows our RAM to overlap with any fixed memory areas in your system. Also, the RAM area of our board is fully socketed so that you can expand the board yourself. Other standard features include: plug selectable addressing on 1 6K boundaries (shorting plugs are placed over wire-wrap pins to address the board — located on the top of the board for easy changes), S-100 and Z-80 compatability and totally invisible refresh — no wait states. Fully assembled, tested, and guaranteed. All of our boards go through a rigorous testing procedure. They are then placed on burn-in running a series of memory tests to detect any other possible faults. After you receive the board, you are backed by us with a one year warrantee. Low power consumption keeps your computer from "losing its cool." The total power consumption of our 1 6K board is typically less than 4 watts (+8V @ 300ma, + 1 6V @ 1 50ma and - 1 6V @ 20ma). Boards with additional memory typically increase power consumption only 1 watt per 1 6K! Standard S-100 Interface. Our board is designed to interface with any standard S-100 CPU. All of the timing of the board is independent of the processor chip, and the board is set up for different processors by changing two plugs on the board. Contact your local dealer. To find out more about our RAM boards, contact your local dealer. If he is unable to help you, call or write us for a fast response. Central Data Corporation, 1207 North Hagan Street, Champaign, IL 61820. (217) 359-8010 Central Data BYTE July 1979 163 two ways in which computer programs attempt to answer this question. One is to pose a traditional question to which we supposedly know the answer, in the hope that the task of carrying this out on the computer will improve our understanding; in other words, it helps us understand musical intuition. The second way is to ask the computer to solve problems we have not yet understood when traditional methods have been used. Serious research will always be concerned with questions of this sort, but unless those of the first sort can also be handled we will be in doubt about the success of the second. There have been many research projects in musical analysis, most of which are ongoing and have thus far produced only tentative or incomplete results. In my opinion, the most important conflict in this area concerns both purpose and pro- cedure: should computers be used to examine the characteristics of a single work, or rather to analyze the common properties of whole bodies of works? Some of the most significant results in musical analysis have been obtained by theorists who are more interested in the theoretical problems than the musical works, and who have analyzed works more in order to prove their theories than to Encoding Languages The following example shows a line of music from the Hosanna of the Missa Ave Maris Stella by Josquin des Pres encoded for computer input in the I ML encoding language: ' = CLEF G' ' = KEY F' R1 1 /R1 *B1 ,HO,/B2* C2 Dl ,SAN,/G1 1 ,NA,/ R1 *C1/C2*B4 A4*A1// Keywords indicating the clef and key signature are enclosed in quo- tation marks with an equal sign at the beginning. Rests are indicated by the letter R. Notes are indicated by the letter name (C, D, E, F, G, A, B) as read on the staff (people who encode this data must be able to read music). Following the letters A through G or R is a number indi- cating the duration: 1 1 is a breve, 1 is a whole note, 2 is a half note, and 4 is a quarter note. Text syllables are enclosed in commas follow- ing the note, and the slash (/) indicates a bar line; the double slash indicates the end of the line. Asterisks indicate the beginnings or ends of ties. — -. a-fc y " o ■ €> V — ^ m a H HO- SAN - NA, H0- Figure h Musical excerpt from the Hosanna of the Missa Ave Maris Stella by Josquin des Pres (see "Encoding Languages" text box). discover new aspects of the music. I have already mentioned the work of Allen Forte, who has produced excellent analysis of diverse atonal works with the assistance of a computer. Another example is the well-known "Josquin Project" conducted by Professors Arthur Mendel and Lewis Lockwood at Princeton University. While this project is remarkable for the sheer quantity of music that has been encoded for study, all analytical work has been carried out from the standpoint of music analysis according to the theoretical prin- ciples formulated by contemporaries of Josquin. (See reference 9. Josquin des Pres, c1 445-1 521, was a prominent composer of early music.) Few studies have produced results as successful as these. (Some are absurd. See my review of "Two Parameters of Melodic Line as Stylistic Discriminants" by David Sheldon Lewis and "Some Tech- niques for Computer-Aided Analysis of Musical Scores" by Donald Margedo Pederson in Perspectives of New Music, volume 9, number 2 and volume 10, number 1, 1971.) One of the most time-consuming aspects of computer analysis of music has been the development of encoding languages in which musical notation can be transcribed for computer input. Analytical studies have become studies of musical notation, not of sound or auditory experience, and are thus open to the objections raised above. Many languages have been developed for different purposes, and many of them choose to represent the notational char- acteristics in very different ways. There has been much unfruitful debate over these languages prompted by some researchers trying to get others to adopt their language as universal. One researcher, Eric Regener, has instead taken the intelligent line of writing programs to transcribe other nota- tions into his. An important quality of these languages is that each was developed with a different purpose in mind, and thus each emphasizes different aspects of the music. Some lan- guages developed for the purpose of music printing (like DARMS) are necessarily quite complex in their methods of representing spacing between notes and other features of page layout that are irrelevant for lan- guages concerned with analytical work. Other languages developed for use with a specific body of music (like IML) cannot be used for other types of music because they do not provide methods for encoding features that do not occur in the works for which the languages were developed. The point I would like to make about these languages is that any notation ex- presses a conceptual structure of the music 1 64 July 1 979 © BYTE Publications Inc 99* Complete System includes: ★ 10 MILLION CHARACTER HARD DISK STORAGE ★ DISK OPERATING SYSTEM & EXTENDED BASIC ★ POWERFUL 16-BIT CENTRAL PROCESSING UNIT ★ VIDEO DISPLAY TERMINAL ★ 1 50 CPS LINE PRINTER AND PRINTER STAND ★ DESK ENCLOSURE basic Lime 1215 E. El Segundo Boulevard El Segundo, California 90245 213/322-4435 Circle 23 on inquiry card. BYTE July 1979 1 it represents. Printing languages are very specific about graphical features because those are important aspects of the intended result. Other languages developed for analysis represent elements like pitches and rhythms as the basic aspects to be examined, and provide many ways for representing nuances , in these domains but not others. For another example, guitar notation providing only a melodic line and a basic chord pattern is a remark- ably efficient means of indicating a diverse quantity of sounds in a few symbols, and the symbols convey a sense about the irrelevance of certain nuances in the chord structure that would be unthinkable in other music. No language currently in existence is universally satisfactory and efficient to represent all music that could be transcribed for any purpose. Arguments about encoding languages show only a lack of understanding of the diverse and even cross-disciplinary purposes for which certain research is carried out. Sound Generation In the area of sound generation, com- puters have already had a significant impact on the music of our time, and the future is even more promising. (An excellent description of the facilities needed to pro- duce music on a microcomputer is contained in Tom O'Haver's article "Audio Processing with a Microprocessor" in -June 1978 BYTE, page 166.) To explain the reasons for this, it is necessary to review some of the history of both computer generated music and elec- tronic music, of which computer music is a part. Electronic music has been shaped by several disparate influences. Historically, the first was the use of nonconventional sounds that were previously considered to be nonmusical. Early works were based on the sounds of railroads, water dripping, and other noises of everyday experience and of nature. Another significant influ- ence was the availability of analog electronic sound generating and modifying equipment, which is now packaged into devices called synthesizers. (A third influence, less im- portant than the first two, was the use of speech and language in noncommunicative ways.) Music based on sounds of nature tended to be extremely complex in the foreground, whereas music produced by electronic equipment often lacked dynamic variations in tonal characteristics. Today, these early tendencies have been mollified as a result of the experiences of many people working with these ideas, often in conjunction with computers. People have begun to analyze the charac- teristics of nonconventional sounds, often by computer, to discover and generalize the properties of interest in them. Thus, early exploratory use of these sounds has now given way to conceptual thinking about them. Such thinking is a natural result of processes which people must employ to generate sounds by computers, because users must present information to the computer in concrete ways. A computer cannot generate a sound from a person's abstract recollection of what it sounds like. Sounds produced by electronic music synthesizers have evolved from the life- less organ-like sounds that contain no dynamic variation in tonal characteristics to sounds that mimic live musical instru- ments. A synthesizer is, indeed, a musical instrument, and it is natural that people would begin to develop performance tech- niques once they are able to work with them for a while. Such expert performers as Walter Carlos and Isao Tomita can rou- tinely produce any quality such as vibrato, tremolo, or dynamic spectral variations. They have also developed excellent methods of imitating specific instruments, particu- larly woodwinds, brass, and percussion (solo string sounds are easier to imitate than the lush sounds of an entire string section). The trouble with this procedure is that even expert synthesizer performers now at least partly judge their work not by the originality of the sounds they produce, but by their resemblance to the familiar sounds of musical instruments. This is in complete contrast to computer music composers. To cause a computer to generate music, it is necessary for the composer (who is actually the performer in this case) to provide a detailed description of the sound desired. The description can be anything that is mathematically sufficient to cause the desired properties to be produced by the computer. Any describable sound can be produced; the limitation is not in the capability of the computer but rather in the ability of composers to provide adequate descriptions of what they want. A detailed explanation of how computers generate musical sound is contained in Electronic Music Synthesis (see reference 3). This factor has been one of the primary reasons for the recent interest in the analysis of sounds of all types. Computer music syn- thesis is thus not limited by the comparison of the results produced to any pre-existing standard. Indeed, composers are encouraged to be creative with the qualities of the sounds they produce, by the very procedure by which they must work. Of course, people who work with syn- 1 66 July 1 979 © BYTE Publications Inc S reasons why you should not buy the electric pencil U M • 0 1978 Michael Shrayer Check the appropriate box(es): You love typing the same copy 20 thousand times a day. □ Your secretary can type 250 words per minute. □ You're dying to spend $15,000 on a word processing system, just for the tax investment credit. □ All your capital assets are tied up in a 10-year supply of correction fluid. □ You never commit a single thought to paper. If you have checked one or more boxes, you do not need The Electric Pencil. On the other hand, you may want to join the thousands of people who haven't checked a single box. The Electric Pencil II is a Charac- ter Oriented Word Processing System. This means that text is entered as a string of continuous characters and is manipulated as such. This allows the user enormous freedom and ease in the movement and handling of text. Since line endings are never delineated, any number of characters, words, lines or paragraphs may be inserted or deleted anywhere in the text. The entirety of the text shifts and opens up or closes as needed in full view of the user. The typing of carriage returns or word hyphenations is not required since lines of text are formatted automatic- ally. As text is typed and the end of a line is reached, a partially completed word is shifted to the beginning of the following line. Whenever text is insert- ed or deleted, existing text is pushed down or pulled up in a wrap around fashion. Everything appears on the video display as it occurs, which elim- inates guesswork. Text may be review- ed at will by variable speed scrolling both in the forward and reverse direc- tions. By using the search or search and replace functions, any string of characters may be located and/or re- placed with any other string of charac- ters as desired. Numerous combinations of line length, page length, line spacing and page spacing permit automatic formatting of any form. Character spacing, bold face, multicolumn and bidirec- tional printing are included in the Diablo versions. Multiple columns with right and left justified margins may be printed in a single pass. CP/M versions Digital Research's CP/M, as well as its derivatives, including IMDOS and CDOS, and Helios PTDOS versions are also available. There are several NEC Spinwriter print packages. A utility program that converts The Electric Pencil to CP/M to Pencil files, called CONVERT, is only $35. Features • CP/M, IMDOS and HELIOS compatible • Supports four disk drives • Dynamic print formatting • DIABLO and NEC printer packages • Multi-column formatting in one pass • Print value chaining • Page-at-a-time scrolling • Bidirectional multispeed scrolling con- trols • Subsystem with print value scoreboard • Automatic word and record number tally • Cassette backup for additional storage • Full margin control • End-of-page control • Non-printing text commenting • Line and paragraph indentation • Centering • Underlining • Bold face Upgrading policy Any version of The Electric Pencil Have we got a version for you? The Electric Pencil II operates with any 80807Z80 based microcom- puter that supports a CP/M disk sys- tem and uses an Imsai VIO, Processor Tech. VDM-1, Polymorphic VTI, Solid State Music VB-1B or Vector Graphic video interface. REX versions also available. Specify when using CP/M that has been modified for Micropolis or North Star disk systems as follows: for North star add suffix A to version number; for Micropolis add suffix B, e.g., SS-IIA, DV-IIB. Vers. Video Printer Price SS-II SOL TTY or similar S225. SP-II VTI TTY or similar 225. SV-II VDM TTY or similar 225. SR I I REX TTY or similar 250. Sill VIO TTY or similar 250. DSN SOL Diablo 1610/20 275. DP-II VTI Diablo 1610/20 275. DV-II VDM Diablo 1610/20 275. DR-II REX Diablo 1610/20 300. DIM VIO Diablo 1610/20 300. NS-II SOL NEC Spinwriter 275. NP--II VTI NEC Spinwriter 275. NV-II VDM NEC Spinwriter 275. NR-II REX NEC Spinwriter 300. Nl-ll VIO NEC Spinwriter 300. SSH SOL Helios/TTY 250. DSH SOL Helios/Diablo 300. ss MICHAEL SHRAYER SOFTWARE, INC. 1253 Vista Superba Drive Glendale, CA. 91205 (213) 956-1593 Wide screen video Versions are available for Imsai VIO video users with the huge 80x24 character screen. These versions put al- most twice as many characters on the screen!!! Attention: TRS-80 Users! The Electric Pencil has been de- signed to work with both Level I (16K system) and Level II mod- els of the TRS-80, and with vir- tually any printer you choose. Two versions, one for use with cassette, and one for use with disk, are available on cassette. The TRS-80 disk version is easily tran- sferred to disk and is fully interactive with the READ, WRITE, DIR. and KILL routines of TRSDOS 2.1. Version Stora ge Price TRC Cassette $100. TRD Disk $150. Demand a demo from your dealer ! may be upgraded at any time by sim- ply returning the original disk or cas- sette and the price difference between versions, plus $15 to Michael Shrayer Software. Only the originally purchas- ed cassette or diskette will be accepted for upgrading under this policy. Circle 319 on inquiry card. BYTE July 1979 167 thesizers are not limited either; nevertheless it seems that there have been far more successful electronic performances of con- ventional music recently than there has been original music. Part of the reason for this difference is actually one of the limitations of computer music as it is produced in most situations today: the lack of immediacy between performance time (at which the input is fed to the com- puter) and audition time (when the sound is produced). Very few installations today have any immediate playback facilities except for more than a few simple sounds, and real time computer music synthesis of entire compositions is practically impos- sible (see reference 3, chapter 9) The inherent difficulty in producing sounds by computer, together with the delay in hearing the results, forces computer music composers to evaluate their work reflectively and to think carefully before trying things out. While immediacy is important to the act of performance, it is not necessary for the act of composition itself, which is a conceptual task An excellent example of the kind of creativity on the sound level made pos- sible in computer music is described by ) K Randall in his article "Operations on Waveforms" {Perspectives of New Music, volume 5, number 2, spring/summer 1967, page 124). These ideas are exploited compositionally in Randall's Lyric Var rations for Violin and Computer, written in 1968 and recorded on Vanguard C-10057. Randall describes several original ideas he used to synthesize new timbres from com- pletely new theoretical principles. He produces sounds in which the individual constituent partials (harmonics of the fundamental) of a tone are operated upon just as the pitch, rhythm, and dynamics are in conventional music. The result is music of unusual interest in which all variations of the sounds relate in novel ways to the structure of the music. The same kinds of processes in which partials are treated as pitches were em- ployed in my compositions entitled Studies in Timbre, of which there are presently four. The first study employs sounds that dissolve into others by glissandos that move from one partial to another. These are contrasted with other sounds of fixed pitch but changing timbre. The second study uses instrument-like sounds with transient elements in the attack and variations in the steady state portions of the tones. The third is based on varying timbral pat- terns associated with specific musical events. The typical instrument produces 12 partials that fade in and out in different ways over the course of each tone, correlated to amplitude and location changes. Contrasts between partials of some tones and the fundamental frequencies of others are emphasized in conjunction with rhythmic, dynamic, and harmonic properties that develop concomitantly. The fourth study uses harmonic series that progress to non- harmonic ones, but which nevertheless preserve some abstract ratio between the elements, thus producing another kind of dissolution of a tone into a somewhat clangorous sound. The main point of these considerations is to show how a computer music com- poser is encouraged to experiment with original, ideas that often lead to results unobtainable by any other method of music production. But since computers are theoretically capable of producing any sounds, this is not the only beneficial or distinguishing result. The fact is that the same sounds can be produced by different descriptions that are based on generalizations about different aspects of the sounds. Thus, the really important point is that it is the relationship between the input and the output which is clarified by the process of computer music synthesis. Whatever this may be in relation to a specific musical work is in itself a concept about the structure of that work. Musical Composition Although I have emphasized the creativ- ity involved in the other disciplines dis- cussed, it is obvious that composition is, by comparison, the ultimate creative act to be delegated to a computer. Many people express disbelief or doubt that this can really be done successfully. I believe that this doubt is rooted more in misunderstand- ing of what musical composition itself involves rather than of what the computer does. Composers may employ mysterious methods, but they are even more prone to making mysterious explanations of straight- forward methods in order to preserve their compositional mystique. Any detailed consideration of musical analysis or theory suggests numerous avenues of approach to the compositional method employed. Whether a piece actually has been composed according to the prin- ciples that can be abstracted from its struc- ture is not necessarily relevant, and often can never be known. In recent years, the work of Heinrich Schenker and post- Schenkerian analysts has attempted to discover large scale structural properties in tonal music which almost certainly were not consciously considered by the composers who wrote the music, and which raise questions not previously posed in the history of theory. 168 July 1 979 © BYTE Publications Inc PASCAL For Greater Power Potential With Your TRS-80 UCSD PASCAL, the powerful, general purpose language developed for large and complex programs is now available for your TRS-80. This new, Industry standard language avoids many errors normally encountered when using older languages. Although it is relatively easy for beginners to learn and use, it provides added potential to cover most problems of practical programming. The UCSD PASCAL Compiler allows long variable names, and block structured control statements. The FMG/UCSD PASCAL System opens a new generation of value for your TRS-80. Package Includes Operating System Screen Editor Z80 Macro Assembler Debugger Pascal Compiler Utilities and System Reference Book $150.00 Requires 48K System with 2 Drives Available without Macro Assembler Linker and Debugger $100.00 Available "Microcomputer Problem Solving Using PASCAL" By Dr. K.L Bowles $ 9.95 PASCAL UCSD Pascal Reference Manual Version 2.0 $19.95 BOOkS Pascal User's Manual & Report By I.C. Jensen & N. Wirth $ 9.95 CBASIC A commercially oriented BASIC compiler-interperter designed for use with the CP/M disk operating system. The compiler features D Variable Length Files l Double Precision Numbers □ Optional Line Numbers "While. . .End" □ Structural Group D Long Variable Names (up to 31 characters) □ Multiline User Defined Functions □ 98 Page Manual $99 00 (Manual only $25.00 TEXTWRITER II Textwriter II is a text formatting program that prints files created by an editing program. Form letters can be printed from a mailing list file and per- sonalized with automatic name and address insertion any- where in the body of the text. $130.00 Manual $25.00 FORTRAN Comparable to compilers on large mainframes and minicomputers. All of ANSI Standard FORTRAN X3. 9-1 966 is included except COMPLEX data type. Therefore, users may take advantage of the many applications programs already written in FORTRAN. Package includes: □ FORTRAN Compiler □ Macro Assembler (Z80) □ Linker □ Library □ Lib Manager (Not in TRS-D0S version) Price $350. 00 Manual $25.00 (Specify TRS-D0S or CP/M versions) MAC MACRO ASSEMBLER Compatible with new Intel Macro standard. Package in- cludes complete guide to Macro Applications; MAC Dis- kette and Manual $150.00 MACRO ASSEMBLER A relocatable Macro Assembler for both 8080 and Z80 op- codes. Incorporates most big computer assembler features without sacrificing speed or memory size. Package in- cludes: □ Comment Blocks □ Full Intel Standard Macros □Lib Manager (not included in TRS-D0S version) □Linker □Library $219.00 (Included in FORTRAN) Manual $25.00 (Specify TRS-D0S or CP/M versions) TEX® TEXT FORMATTER Powerful text formatting capa- bility using CP/M Editor. TEX Diskette and Manual $125.00 Manual $25.00 CP/M OPERATING SYSTEM Editor, Assembler, Debugger and Utilities for 8080 and Z80 Systems. Up to four floppy disks. Package includes: jCP/M System Diskette 5Va" □CP/M Features and Facilities Manual □CP/M Editor's Manual □CP/M Assembler Manual □CP/M Debugger Manual □CP/M Interface Guide $150.00 (Set of 6 manuals only $25.00) SID® SYMBOLIC INSTRUCTION DEBUGGER □Symbolic Memory Reference □Built-in Assembler/ Disassembler □SID Diskette and Manual $125.00 Manual $25.00 Call or Write for Complete Information FMG for HIGH LEVEL LANGUAGES BASIC FORTRAN COBOL and now PASCAL CP/M is a registered trademark of Digital Research Corp. TRS-80 is a registered trademark of Radio Shack. / FMG (D@lrW.lfWD® P.O. Box 16020 «Fort Worth, TX 76133 • (817) 294-2510 : —— : MM . 2_ Circle 134 on inquiry card. BYTE July 1979 169 Computer composition can be employed as a method of verifying theories and anal- yses of specific works, especially if they consist of multilayered abstractions like Schenkerian analysis. These abstractions suggest a generative approach starting from a background and building through succes- sive layers of elaboration to the foreground. One method of verifying such an analysis is to prove that it can actually regenerate the work, at least in its essential structural aspects, by a particular sequence of opera- tions. Another method is to change some of the background or middleground structure or the particular sequence of operations to produce new works that can be compared with the original. Although they might not be intended to be taken seriously as original compositions (since their structure is deriva- tive of another work), such compositions would unquestionably be computer com- posed music. Instead of using this structural approach, early work in computer composition has tended to emphasize the sensational aspects of "machine music" and has been based on random and aleatoric methods (see ref- erence 2). Very few conditions of the in- tended music have been specified, with the result that certain characteristics are quite clearly present (eg: consonances) or absent (eg: dissonances) but the music is otherwise aimless and without structure. These facts are quite obvious when the music produced resembles some early style like a Bach invention, but are less clear when some avant-garde style is imitated. Nevertheless, such experiments (often designated as experiments rather than as music) are not typical of musical compositional methods in general, nor of computer work in this field. In my own music I have employed computer composition in extensive ways ("Composing by Computer," Computers and the Humanities, volume 9, 1975, page 281). Nevertheless, the computer does not make any decisions that I would not make myself, nor indeed that I have not already made when it executes my instructions; it merely carries out many time-consuming calcula- tions that would otherwise have to be done by hand. Basically, the program works out aspects of the foreground syntax which assure various rhythmic, harmonic and structural properties. All aspects of this syntax are specified by instructions pro- vided together with the data (pitch classes) on which they are carried out. Using a program like this allows com- posers to work more from a background perspective than from the foreground. They are able to concentrate on the large scale structural properties without being encum- bered with the foreground details that may arise from these characteristics; these are handled quickly and automatically by the computer. Several different possibilities for working out a given passage can be tried before any commitment is made to them. Even more important, the process of writing a program to carry out such com- positional details forces composers to be absolutely explicit about their procedures and intentions. Any errors or incomplete- ness in the specifications will be exposed when a program is executed by the com- puter. Ad hoc methods that composers may use to fix certain passages when they don't work out as expected are not neces- sary, because it is easy enough to revise the program once these problems are exposed. The composer's attention is thus always directed to the most important con- ceptual aspects of the music, and his or her ability to solve problems in these areas is facilitated. Conclusion By examining aspects of the four musical disciplines discussed above, we have seen many instances where the use of computers B, c PET ANALOG INPUT Analog to Digital Conversion System for the Commodore PET Computer Give the PET the ability to sense* 3nd control the wor let around it with DAM SYSTEMS modules. Just p1u3 the PETSET1 into the PET to aet 16 channels of analog inpu t . Screw terminals are provided for each channel so you can hooK u p johs t i cK s * po Is? or whatever appropriate sensors you have* Each of the 16 analog inputs* in the ranSe of 0 to 5. 12 volts* is con ver ted to a dec i ma 1 number be tween O and 2SS < 20 millivolts per count). Conversion time is 100 microsconds. In addition* the PETMOD provides two IEEE ports and one user port as well as a DAM SYSTEMS port. Software is provided . A one line proSram is all that is necessary to read a channel * [Hi SENSORS TEMPERATURE VELOCITY PRESSURE HUMIDITY LIOHT LEVEL FLUID LEVEL 1 -AIM161 1 - PETMOD 1 - CABLE A24 I - MANM0D1 1-P0W1 KETSET1 - 16 ANALOG INPUTS-S 8ITS-I00 MICROSEC PET ADAPTER - £ IEEE PORTS - I USER PORT -I DAM SYSTEMS PORT - 24 INCH INTERCONNECT CABLE MANIFOLD MODULE - SCREW TERMINALS FOR INPUTS, REFERENCE, GROUND - POWER MODULE PETSETIa tor 110 VAC *293 PETSET1. tor 230 VAC $305 Otdtt diract or conucl your local tomputir Mora. CONNECTICUT microCOMPUTER , Inc. 150 P0C0N0 ROAD BROOKFIELD, CONNECTICUT 06804 TEL: (203) 775-9659 TWX: 710-456-0052 ISA AND M/C ACCEPTED - SEND ACCOUNT NUMBER, EXPIRATION DATE AND SIGN ORDER. DD $3 PER ORDER FOR SHIPPING a HANDLING - FOREIGN ORDERS ADD 10% FOR AIR POSTAGE. 1 70 July 1 979 © BYTE Publications Ino Circle 78 on inquiry card. MlcroSource™ is becoming the chosen business software producer. For all the right reasons. For example, before you ever see one of our applications, it's field tested and refined. Another reason is our Operations Manuals. They're called the finest in the industry . . . you never need special training to use MicroSource. One more reason.- versatility. MicroSource works with different terminals and printers. You can use your favorite terminal, and choose between speed or print quality in a printer. Add in the rest of the story — like support, enhance- ments, low cost — and you get the picture. If your dealer stakes his business on MicroSource software, can you afford to do less? MoneyBelt — The Money Manager™ LedgerPlus — The Company Bookkeeper™ A modular in-house bookkeeping package with gen- Also modular, with all the accounting modules of eral ledger, accounts payable and receivable, and MoneyBelt, plus inventory, check reconciliation and payroll. Buy at your own pace . . . one at a time or all mailing list. Each interacts with the others, but stands at once. Less than $8000 (under $200/mo. on a fi- alone, too. A first for Vector Graphic, MZ, Apple and nancing lease) for all hardware and first module (sugg. Micropolis disk based systems. Less than $8000 list). Horizon and other North Star disk based systems. (under $200/mo. on a financing lease) for all hardware and first module (sugg. list). Other business software packages by MicroSource: AutoScribe — The Paperwork Manager™, Bookkeeper — The Office Accountant™, Timekeeper — The Time Accountant™. 1425 W. 12th Place • Tempe, Arizona 85281 • (602) 894-9247 • Cable: MICROAGE Telex: 165 033 (MICRO AGE TMPE) The following are trademarks of The Phoenix Group, Inc.: MicroSource, Autoscribe, Bookkeeper, MoneyBelt, LedgerPlus, TimeKeeper. DEALERSHIPS STILL AVAILABLE Circle 227 on inquiry card. BYTE July 1979 necessitates a conceptual approach to the questions at issue. While many projects continue to pose problems because of the difficulty of computer programming, and of preparation of data, progress in these fields is nevertheless being made in significant ways. There still remain, and there always will be, gaps between those subjects that computer researchers tend to deal with and those that traditional, noncomputer people will choose, partly in the belief (from both sides) that some subjects are not suitable or possible for computer analysis. While important questions are always difficult to answer and sometimes require genera- tions of work in order to achieve accurate answers, they are never impossible. We will know that we have truly reached a high state of conceptual thinking when the con- clusions of computer research tend to agree with those of noncomputer research - both will then be operating on the same level." GLOSSARY Ateatoric music: music, usually composed by computer, in which all or many of the most important characteristics are chosen randomly. Analysis: description of music according to certain fundamental properties that are judged to be relevant to a given piece, showing how different elements in the work may be related by these properties. Atonality: music which is not tonal, and where a specific attempt is made to avoid reference to a key, or when the concept of key is not relevant. The term has two basic uses, specific and general: specifically, it describes a body of early twentieth century music by Schoenberg, Berg, Webern, and others, preceding 12 tone music (qv), in which tonality (qv) was con- sciously avoided. Generally, the term is used to describe any twentieth century music avoiding tonality that cannot be described simply by other methods. Background: musical substructure describing large scale properties and relations that may not be evident from an inspection of the immediate note to note properties, or from a superficial auditioning of the music; see fore- ground. In certain theories, the background is considered divisible into several levels. Computer music: music employing computers at any stage of its composition or realization as sound. Cycle of fifths equivalence: an operation on a group of notes in which each element is re- placed by its equivalent on the circle of fifths; analogous to inversion (qv). The circle of fifths generates the total chromatic (qv) by starting on any note, adding the note a perfect fifth (seven half steps) higher, and continuing this process. Electronic music: music in which the sounds are produced by electronic means. In a some- what simplified form, electronic music as cur- rently practiced can be broken down into four general areas: (1) musique concrete, in which use is made of natural sounds that are recorded on tape and modified by recording processes or other means; (2) tape music, in which sounds are modified according to procedures that may be applied to magnetic tape or tape recorders; (3) synthesized music, in which the sounds are produced by electronic music synthesizers (qv); and (4) computer music (qv), in which the sounds are produced or controlled by computers. Encoding language: a method in which musical notation may be represented in code suitable for computer input. The most widely used and documented languages to date are IML (Inter- mediary Musical Language), DARMS (Descrip- tive Alphanumeric Representation of Musical Symbols), the "Plaine and Easie Code System for Musicke," LMT (Linear Music Transcrip- tion), and ALMA (Alphanumeric Language for Music Analysis). Foreground: the "surface" of a piece of music, including sounds that are simultaneous or that appear in direct succession; distinguished from the background (qv). Glissando: a continuous sliding from one pitch to another. Half step: the smallest interval (qv) used in music based on equal temperament (the tuning system in widespread use in Western cultures since the eighteenth century). Music employ ing smaller intervals is said to be microtonal. Harmony: a theory describing properties of simultaneous sounds (chords) in tonal music (see tonality). Chords are expected to move in certain progressions, and dissonances resolve into consonances according to various rules. Interval: the distance, measured in half steps, between two pitches or pitch classes. Tonal music also employs another definition of inter- val, based not on the sound but on the notation for the two notes involved. Inversion: an operation on a group of notes in which each element is replaced by its equiva- lent on the descending chromatic scale, or ascending circle of major sevenths (11 half steps). (In this formulation, an ascending chromatic scale would be the identity opera- tion.) Identity and inversion, along with cycle of fifths equivalence and its inversion (cycle of fourths equivalence) are the only single interval cycles that generate the total chromatic (qv). Octave: a musical interval of 12 half steps, corresponding to the frequency ratio of 2 to 1 . Pitches related by octaves possess a strong similarity, which has been called octave equivalence. 1 72 July 1979 © BYTE Publications Inc Pitch: a single tone in a musical composition. Most pitches used in music are taken from the range of the 88 produced by the piano, but some extend beyond this range. Pitch class: a group of pitches separated by any number of octaves. In musical theories, pitches in different octaves employ the same letter names (C, C #or Dt> , D, D #or Ei> , etc) reflecting the fact that theories are based on pitch classes rather than pitches. Pitch classes are also often called notes. While there are many pitches, there are only 12 distinct pitch classes in Western music. Pitch structure: a set of pitch class collections that all possess the same intervallic structure, so that they are related by transposition (qv). Pitch structure is the basic way that collections of tones, such as chords, are compared: as major triads, minor triads, etc. Spectrum: the overtone structure of a sound, represented as a series showing the amplitude of each overtone present; see timbre. Structure: any abstract method in which the properties of a piece of music can be encom- passed. Generally, a piece is divided into several sections, each of which has a different struc- ture. Sometimes structure is described in terms of a function or purpose at work in an entire section, such as introduction, development, or statement (of a theme or idea). Sometimes structure is described numerically, proportion- ally, or in other abstract ways. Synthesizer: a machine that generates and pro- cesses sounds automatically, used in the pro- duction of electronic music. Most synthesizers consist of a number of discrete components that perform different functions (eg: oscillators that generate tones, filters that modify their spectrum, etc). Some recently designed syn- thesizers include microprocessors, which are used as controlling devices. Theory: a set of concepts describing properties and relations that can be shown to exist in a body of musical literature. The most commonly known theories today include tonality (qv) and 12 tone music (qv), but there are many others that have been described and used by various authors. Most theories have originated after the music they purport to describe has been written. Speculative theory originates as spec- ulation, before such music has been written, so that its success or failure has not yet been demonstrated. Timbre: musical tone quality, descriptive of the way in which different tones may possess a similarity not on the basis of pitch, ampli- tude, or rhythm. In electronic music, this term is normally used synonymously with spectrum (qv), but in contexts wherp it is described qual- itatively rather than numerically. Tonality: a theory describing music which is in a key, or a series of keys, usually pertaining to music written during the eighteenth and nine- teenth centuries. Basic concepts include the major and minor scales, triads, and specific rules according to which dissonances resolve into consonances. Much of the music of the twentieth century is based on an extended notion of tonality, in which some, but not all, of the basic concepts are employed. Total chromatic: any series of notes including all 12 pitch classes. Transposition: the addition or subtraction of a constant interval to each tone in a collection, moving the set up or down by a uniform amount. Triad: a chord consisting of three notes (or pitch classes) with a root note, and other notes a third and fifth above the root. 12 tone music: music in which all note succes- sions, and sometimes other properties are based on sets of orderings of the total chromatic. REFERENCES 1. von Forester, H, and Beauchamp, J W, (editors), Music by Computers, John Wiley and Sons Inc, 1969. 2. Hiller, Jr, L A, and Isaacson, L M, Experimental Music, McGraw-Hill Book Company Inc, 1959. 3. Howe, Jr, H S, Electronic Music Synthesis, W W Norton and Co Inc, 1975. 4. Lincoln, H B, (editor), The Computer and Music, Cornell University Press, 1970. 5. Morgan, C P, (editor), The BYTE Book of Com- puter Music, BYTE Publications, 1979. 6. Reti, R, Tonality in Modern Music, Crowell- Collier, 1962. 7. Sessions, R, Harmonic Practice, Harcourt, Brace, Jovanovich Inc, 1951 . 8. Forte, A, The Structure of Atonal Music, Yale University Press, 1973. 9. Mall, T, et al, IML-MIR User's Manual, Prince- ton University Music Dept, 1972. Journals Computers and the Humanities, Pergammon Press Inc, Maxwell House, Fairview Park, Elmsford, NY 10523. Computer Music Journal, People's Computer Com- pany, Box E, 1263 El Camino Real, Menlo Park CA 94025. Journal of Music Theory, Yale School of Music, New Haven CT, 06520. Perspectives of New Music, Perspectives of New Music Inc, Annandale on Hudson, NY 12504. July 1 979 © BYTE Publications Inc 173 'Tiny" Pascal in 8080 Assembly Language Dr G Louis OB/GYN Department St Michael's Hospital 30 Bond St Toronto CANADA M5B 1W8 6809! MD-690a Single Board Computer $239 kit $299 assembled S-100 Compatibility. 6809 Computability. • 1K RAM • 10K PROM space • MONBUG II monitor included • 2400 baud cassette interface • 20 I/O lines • RS-232 level shifters • Real time clock • DMA • Parallel keyboard input • Memory-mapped video output • Fully S-100 compatible (including 8080 type I/O) • A complete system, ready to use. Micro DaSys P.O. Box 36051 Los Angeles, CA 90036 (213)935-4555 6809 16 bit internal arithmetic Hardware multiplication Two stack pointers Two index registers 18 addressing modes Fully relocatable code Five interrupts Up to three times the throughput of a 4MHz Z-80 Please rush the following : □ CPU Card (kit) □ CPU Card (assembled) CA residents add 6% The p-code interpreter, Pascal to p-code compiler, and p-code to 8080-code translator describ- ed in "A 'Tiny' Pascal Compiler" by Kin-Man Chung and Herbert Yuen (September thru Novem- ber 1978 BYTE) have been rewritten in 8080 assembly language. In addition to pro- viding approximately two orders of magnitude increase in speed, the object versions run in far less memory. To use the assembly language version of tiny Pascal you need, an 8080 (or Z-80) microcomputer system with not less than 12 K bytes of memory (the package would run in 8 K bytes but you need file space); a copy of the articles by Chung and Yuen, which have been reprinted by BYTE magazine and are avail- able for $3 (BYTE document number 100); an elementary ac- quaintance with 8080 assembly language; the package of assembly language modules. Additionally, it is desirable to have a text editor, an assembler that stores lines in the form: length byte, 4 digit line number, space or tab, text, carriage return, and a relocator program that is useful for tailoring the package to your system. The Nybbles Library is an inex- pensive means for BYTE readers to share some interesting but specialized forms of software. These programs are written by readers with small computers and printer facilities, and are therefore designed for particular systems. The algorithms and pro- gramming techniques in these programs can be directly used by readers with similar equipment, or can serve as an inspiration for improvisation on computers of different characteristics. Potential authors of such pro- grams should send us a self- addressed stamped envelope, with a request for a copy of our "Guidelines for Nybbles 1 74 July 1979 © BYTE Publications Inc Circle 220 on inquiry card. Authors. " Payment for Nybbles items is based on sales and length of the item. Rates are set at the time of acceptance. Nybbles Library programs are sent in listing form, printed on 8.5 by 11 inch paper on both sides. The Nybbles Library pro- grams are 3 hole punched for collection in loose leaf binders, and come in an attractive folder which serves as a cover. This month "'Tiny' Pascal in 8080 Assembly Language" (document #111) has been added to the Nybbles Library. Use the coupon below to order your per- sonal copy, at $10.00 (US and Canada) or $12.00 (foreign air- mail) postpaid. copies of BYTE Nybble i. at postpaid. Please remit in US funds only. Check Enclosed Bill my VISA* Bill my MC # Name . Exp Date .Exp Date Street. City _ State Zip Code BYTE Nybbles Library, 70 Main St, Peterborough NH 03458 You may photocopy this page if you wish to keep your BYTE intact. IMMEDIATE DELIVERY Domestic & Export DEC LSI -u COMPONENTS A full and complete line with software support available. mini Computer Suppliers, Inc. 25 CHATHAM ROAD SUMMIT, NEW JERSEY 07901 SINCE 1973 (201) 277-6150 Telex 13-6476 the ULTIMATE in CHEAP VIDEO BOOK & KIT ONLY $42.95 Don Lancaster's "Cheap Video"concept allows almost unlimited options, including: * Scrolling- Full performance cursor. * Line/Character formats of 16/32, 24/80, 32/64 .... or almost anything. * Graphics -up to 256 X 256 B&W; 96 X 128 COLOR C requires low-cost option modules) * Works with 6502 , 6800 and other micros. SPECIAL OFFER: Buy the Kit (upper case alpha- numeric option included) & get the Book at 1/2 price. 1 ELECTRONICS, DEPT. 7-B, 1020 W. WILSHIRE BLVD.. OKLAHOMA CITY. OK 73116 I'm Sold, PLEASE RUSH C ) SEND FREE CATALOG C 5 TVT-6 5>8 Kit & Cheap Video Cookbook - $42.95 (enclosed) C ) TVT-65/8 Kit only Cbook required for assembly)-$39.95 name: address: city: . state: zip: ELECTRONICS DEPT. 7-B , 1020 W. WILSHIRE BLVD.. OKLAHOMA CITY. OK 73118 Circle 236 on inquiry card. Circle 297 on inquiry card. July 1979 k BYTE Publications Inc 175 You are at one end of a vast hall stretch- ing forward out of sight to the west. There are openings to either side. Nearby, a wide stone staircase leads downward. The hall is filled with wisps of white mist swaying to and fro almost as if alive. A cold wind blows up the staircase. There is a passage at the top of the dome behind you. Rough stone steps lead up the dome. > GO DOWN You are in the hall of the Mountain King, with passages off in all directions. A huge green fierce snake bars the way! > ATTACK SNAKE Attacking the snake both doesn't work and is very dangerous. QUEST YOU WERE WALKING THROUGH THE WOODS, AND YOU CAME ACROSS THE ENTRANCE OF A CAVE, COVERED WITH BRUSH. PEOPLE SAY THAT MANY YEARS AGO A PIRATE HID HIS TREASURE IN THESE WOODS, BUT NO ONE HAS EVER FOUND IT. IT MAY STILL BE HERE, FOR ALL I KNOW. WHEN YOU ANSWER A QUESTION, I LOOK AT ONLY THE FIRST LETTER, ALTHOUGH YOU CAN TYPE THE WHOLE WORD IF YOU WANT. TYPE N, S, E, W, U, OR D FOR NORTH, SOUTH, EAST, WEST, UP OR DOWN. TYPE P FOR SCORE YOU'RE OUTSIDE THE CAVE. GO SOUTH TO ENTER. WHICH WAY? SOUTH YOU'RE IN A LOW CHAMBER. A TIGHT TUNNEL GOES EAST, AND YOU CAN WALK TO THE SOUTH OR WEST. THERE IS LIGHT TO THE NORTH. WHICH WAY? WEST YOU'RE AT A DEAD END I WHICH WAY? EAST YOU'RE IN A LOW CHAMBER. A TIGHT TUNNEL GOES EAST, AND YOU CAN WALK TO THE SOUTH OR WEST. THERE IS LIGHT TO THE NORTH. WHICH WAY? SOUTH YOU'RE ATTHE HOME OF THE GNOME-KING. FORTUNATELY, HE'S GONE FOR THE DAY WHICH WAY? SOUTH YOU CAN'T GO IN THAT DIRECTION Listing I : Sample dialogue from the Quest game. This shows only the first few moves. Quest Roger Chaffee POB 7495 Menlo Park CA 94025 > FEED SNAKE There's nothing here it wants to eat (except perhaps you). > YELL Are you trying to somehow deal with the snake? >YES / am prepared to give you a hint, but it will cost you 2 points. Do you want the hint? The preceding paragraphs are taken from a session I played on a computer running a program called Adventure, which has used many, many cycles of machine time on many, many computers in the past year or two. The original version, I believe, was written in FORTRAN, by Willie Crowther (now at Xerox Palo Alto Research Center), and was subsequently modified and rewrit- ten by Don Woods at Stanford's Artificial Intelligence Laboratory. The version I ran has been bootlegged through several generations, and I'm not sure of its exact ancestry. It requires close to 200,000 bytes of memory on an IBM 370/ 1 68. Adventure has been translated into PL/I, APL, and BASIC. It is the successor to Hunt the Wumpus and the many Star Trek games. I hope it is the precursor of more elabo- rate games which combine computers with fantasy to produce an "electric novel," which the user and the computer write or experience together. Already, a few com- puters around the country are offering a child of Adventure called Zork or Dungeon, which has a more sophisticated understand- ing of English, and a whole new set of prob- lems to solve and monsters to defeat. Space War, which used to belong to the "freaks" and the "hackers" (in the hours after the managers went home), is now available in your neighborhood tavern for 754 per enemy starship. How much longer will it be until we can each rule our own kingdom and rescue our own fair maidens? Quest There aren't many personal computers yet with 200 K bytes of memory available, and not all of us have free or inexpensive access to the machines on which Adventure can run. A smaller computer would require a floppy disk file for keeping the cave descrip- tions, and most users have no hardware for 1 76 July 1 979 © BYTE Publications Inc Circle 104 on inquiry card. YOU'VE READ THEM ALL- NOW GET THE BEST! The 80-US Journal A PUBLICATION FOR TRS-80 USERS - COVERS ALL TRS-80 CAPABILITY! BI-MONTHLY, SEND $16.00 CHECK OR MONEY ORDER FOR A 1 YEAR SUBSCRIPTION TO: 80 US PO Box 71 12 TACOMA, WA. 98407 MASTER CHARGE, VISA OK • (206) 759-9642 WANT TO CHECK IT OUT FIRST? SEND $3.00 for current sample copy. A SELECT CHOICE OF SOFTWARE IS AVAILABLE IJIIIIIIIII Circle 142 on inquiry card. Illlllillllllllllllllllllllllllllillll nit- T.D.Q. I TAPE DATA QUERY PET-8 K SOL-IIA TRS-80-LEVEL II | *FILE MANAGEMENT SYSTEM —UTILIZES DUAL AUDIO CASSETTE RECORDERS ♦INTERACTIVE QUERY LANGUAGE — ENGLISH-LIKE COMMANDS — POWERFUL INFO RETRIEVAL CAPABILITY ♦COMPUTERIZED BUSINESS & PERSONAL RECORDS | —CUSTOMIZE YOUR OWN FILE STRUCTURES —CREATE & MAINTAIN DATA FILES § —NO PROGRAMMING EXPERIENCE REQUIRED ♦IMPLEMENTED IN BASIC I T.D.Q. CASSETTE WITH MANUAL & REF. CARD $50.00 | THE FOLLOWING PRE-DEFINED T.D.Q. FILE STRUCTURES ARE AVAILABLE TO SOLVE YOUR DATA PROCESSING NEEDS. INVENTORY CONTROL $35.00 I ACCOUNTS RECEIVABLE $35.00 = ACCOUNTS PAYABLE $35.00 I ORDER PROCESSING $35.00 = CUSTOMER DIRECTORY $25.00 I APPOINTMENT SCHEDULING $25.00 | EACH WITH CASSETTE AND MANUAL SEND SELF-ADDRESSED STAMPED ENVELOPE FOR COMPLETE SOFTWARE CATALOGUE. SEND CHECK OR MONEY-ORDER TO: H. GELLER COMPUTER SYSTEMS DEPT. B, P.O. BOX 350 NEW YORK, NY 10040 (NEW YORK RESIDENTS ADD APPLICABLE SALES TAX) 3iini i iiiiiiii iiiiiiiniiii i i i ii r CP/ ® LOW-COST MICROCOMPUTER SOFTWARE CP/M® OPERATING SYSTEM: • Includes Editor, Assembler, Debugger and Utilities. • Standard version for 8080, Z80, or Intel MDS (other versions available.) • For IBM-compatible floppy discs. • $100-Diskette and Documentation. • S25-Documentation (Set of 6 manuals) only. MAC™ MACRO ASSEMBLER: • Compatible with new Intel macro standard. • Complete guide to macro applications. • $90-Diskette and Manual. SID™ SYMBOLIC DEBUGGER: • Symbolic memory reference. • Built-in assembler/disassembler. • S75-Diskette and Manual. TEX™ TEXT FORMATTER: • Powerful text formatting capabilities. • Text prepared using CP/M Editor. • S75-Diskette and Manual. DESPOOL™: • Background print utility. • Use with CP/M (version 1.4) • S50. Diskette and Manual. 1 DJEJTAl RESEARCH® P.O. Box 579 • Pacific Grove, California 93950 (408) 649-3896 NEW SHAPES by Julius Guest Is a collection of 110 orlg Inal and fascinating com- puter-generated designs created by the author over an eight-year period. The" designs are satisfying art creations In themselves may evoke the response that their titles suggest." As each art piece Is ac- companied by a mathemat' leal formulation and pro- gram, the reader may th create his own 'New Shapes' and derive as much enjoy- ment from them as the author obviously did. The designs are reproduced In color (some In exciting solid reverse) on high quality art paper. Details: 174 pages, 28cm x 27cm (ll"xlOV 2 "). (At $12.00 U.S. that's only ll£ per diagram!) Add $1.25 postage. ISBN 0-95963B4 INTRODUCTION TO PL/1 & STRUCTURED PROGRAMMING R.A. Vowels, Senior Lecturer, Royal Melbourne Inst, of Technology. 1978; 311 pages, 60 diagrams, ISBN 0-9596384-0-7. This book covers an easy-to-learn subset of ANSI PL/1. Fundamen- tals are emphasized and structured programming Is encouraged. The book contains numerical and non-numerical worked examples, and 200 exercises and problems. The versatile subset Is defined In only 3 pages of syntax diagrams. Suited to a one- or two-semester course. Also appropriate for self-study. An excellent reference document- only $5.00 U.S. (Add 80£ postage.) Contents: ten chapters and six appendixes. Data representation, fixed and floating-point, character strings, LIST and EDIT-dlrected I/O, DO, WHILE, declarations, arrays (fixed and variable bounds), procedures and functions, bullt-lns, computational error detection and correction, ON-unlts. Order direct from publisher R.A. Vowels, 93 Park Drive, Parkvllle 3052, Australia. Personal checks accepted (In your currency), or Bank Draft Check Dis In Aust. currency. )iscount: 5% for 2 or more books. Circle 95 on inquiry card. Circle 383 on inquiry card. BYTE July 1979 177 Software Tools Have you thought about text editing ? Our ED-80 Text Editor offers a refreshing new approach for the creation and editing of program and data files conversationally — and it saves money! Its powerful editing capabilities will satisfy the most demanding professional - yet it can still be easily used by the inexper- ienced beginner. Look at these outstanding features: ■ By far the best text editor available for microcomputer- based systems. ■ Repays its initial cost many times over with its unique time-saving editing capabilities. ■ FULL SCREEN window displays for viewing and edit- ing data a page-at-a-time, rather than line-by-line. ■ Forward and backward scrolling in the FULL SCREEN mode. ■ Displays the results of every edit command. ■ Commands include forward or backward Locate and Change, Insert, Delete, Replace, Inline, Input, Print, List, Window, Get, Put, Macro, Tabset, Append, Case, Scale, and Dump. ■ Simple line-oriented commands with character string manipulation capabilities. ■ Text may be located by string value, by line number, or by relative line number. ■ Global string search and replace capabilities. ■ Commands for moving, copying, and merging edit files on the same or different diskettes. ■ Self-explanatory diagnostic messages. ■ Single keystrokes for the most commonly used com- ands. ■ Safeguards to prevent catastrophic user errors that result in loss of the edit file. ■ Designed for today's high speed CRT's, video monitors, and teletypewriter terminals. ■ Thoroughly field tested and documented with a User's Manual of over 60 pages. ■ Compatible with existing CP/M edit files and deriva- tive operating systems. And remember - in today's interactive programming environment - the programmer's most important software development tool is the text editor. Our ED-80 Text Editor is working in industry, government, univer- sities, and in personal computing to significantly cut program develop- ment time and high labor costs. Why not let ED-80 begin solving your text editing problems today? Mail to: SOFTWARE DEVELOPMENT & TRAINING, INC. P.O. BOX45U, Huntsville, AL 35802 ED-80 is protected by copyright and fur.ished under a paid-up license for use on a single computer system. Please send additional information. Send Diskette, User's Manual, and paid-up license agreement $99 00 Specify SINGLE DENSITY Diskette size □ 5" □ 8" Send User's Manual (credited on purchase of a paid-up license) $10.00 Check or money order enclosed for S Please charge to my credit card □ VISA □ Master Charge Card No Bank No Exp.Date NAME ADDRESS CITY .STATE. .ZIP_ SIGNATURE . CI SOFTWARE DEVELOPMENT & TRAINING, INC. Post Office Box 4511 Huntsville, Alabama 35802 Dealer Inauiries Welcomed ® CP/M is a trademark of Digital Research rapid random access outside the computer memory. Adventure on everybody's com- puter is still in the future, although it is com- ing soon. I was playing Adventure at about the time Peninsula School, Menlo Park CA, received two Commodore PET 2001 machines for the children to work with; and the incredible idea of Adventure on a PET was too exciting to ignore. Adventure on a PET, with only 7123 bytes available for the BASIC program, is impossible, but couldn't I do something just a bit less ambitious? In a couple of intense work weeks, I wrote a pro- gram I called Quest, which ran on the PET. Comparing Quest and Adventure Compared to Adventure, Quest is a toy, in the same measure that the PET is a toy compared to larger computer systems. But it is an enjoyable and even exciting toy, in the same ways that the PET can be enjoyed by someone who can also play with the big computers. Each system has its own prob- lems and pleasures. Adventure, as you can see from the opening paragraphs, has some novel problems for the adventurer to solve, and will proceed according to the adventur- er's 2 word commands. On the other hand, the problem you must solve in Quest is basically to find your way around the cave. The only commands Quest normally under- stands are six directions: NORTH, SOUTH, EAST, WEST, UP, and DOWN, and even there, only the first letter is examined. No huge green snake will confront you, and even the pirate, who swoops down to protect his treasure at some point, is beyond your control. He steals back the treasure after you have found it, and the problem continues: find the treasure again, and find your way out of the cave. To make it more interesting, various passages open and close according to your progress through the game. One limitation which Quest and Adven- ture share is that they never change. Once you know how to get past the snake, you always know, and once you can find the treasure, you always know where it is. A friend of mine has suggested having earth- quakes, which open and close passages at random. It seems to me, however, that that simply makes a bigger problem of the same kind, and I would rather have different prob- lems. In that respect, both Adventure and Quest are very limited. In a closer approach to the electric novel, there would be no guarantee that the prob- lems can really be solved. In a Star Trek game, for instance, the fate of the Enterprise depends on the random number generator, 178 July 1 979 © BYTE Publications Inc which can set the starship down in the same quadrant with four Klingon commanders and two super commanders, or cause all the starbases to be overrun by a plague of trib- bles. In Adventure and Quest, as in cross- word puzzles, the solution is part of the problem definition, and you know it exists. It is possible in Adventure to do some- thing which will ruin your chance for suc- cess. For instance, if you feed the bird to the snake, you will never get past the problem to which the bird is the solution. However, this doesn't change the basic limitation. An important part of both games is the descriptions of the locations. These are of course not created by the computer, but were elaborated over a long period by the programmer and his friends. The topology of the Quest cave could be more complex if the location descriptions were something like "YOU'RE AT LOCATION 28. NOW WHAT?", but that would spoil a good part of the game. The descriptions in Quest have been worked out very carefully. Some of them are just for fun, and some of them have hints about the neighborhood. Scoring The original version of Quest had no scor- ing at all, to minimize the competitive situa- tions I thought might develop. The children who used it soon said that they wanted points. My own cynical analysis suggests that they don't know whether or not they're hav- ing fun unless they keep score, but perhaps there is simply a need in all of us to track our progress in a quantitative way. In any case, Quest now awards you one point for each location that you visit, plus up to 25 for the various checkpoints you pass along the way. In this version you can get up to 66 points. Playing Time Many people who play Adventure find that it takes them about two weeks of seri- ous study to get through. The corresponding time for Quest is about two hours, although it has been done in an hour, and some people haven't finished after a day of frus- trating search! The Program Quest was written for the PET 2001, and used some features of the PET to reduce the size of the program. The version given here has been rewritten in a simpler dialect of BASIC, which I believe will run with minor Text continued on page 186 Listing 2: Game of Quest In BASIC. 1 REM QUEST BY ROGER CHAFFEE 2 REM INSPIRED BY WILL CROWTHER'S "ADVENTURE" 3 REM COPY BIGHT (C) 1978 tl REM PENINSULA SCHOOL, MENLO PARK, CA 5 REtl PERMISSION TO USE, NOT TO SELL 6 R EH THE ORIGINAL VERSION OP THIS PROGRAM WAS WRITTEN ON A 7 REM COMMODORE PET 2001. THIS VERSION HAS BEEN CONSIDERABLY 8 REN RECODED, AND IS IN "PLAIN VANILLA" BASIC, WITH THE 9 REM EXCEPTION OF THE RANDOM NUMBER GENERATOR IN LINES 10 REM 6600- 6800, THE STRING MANIPULATION, AND THE IF ... THEN 1 1 REM STAT EMENTS WHICH GIVE A STATEMENT TO PERPORH INSTEAD OF 12 REM A STATEMENT NUMBER TO GO TO. 13 REM VARIABLES USED 1 u REM N NODE (CAVE) NUMBER 15 REM HO HOVE COUNTER 16 REM T CURRENT LOCATION OF TREASURE (-1 FOR CARRYING) 17 REM Tl ,T2 FIRST AND SECOND HIDING PLACES (NODE NUMBERS) 18 REM H6 SAVES THE HOVE NUMBER WHEN HE SAID NO, HE DIDMT 10 REM WANT TO TAKE THE TREASURE WITH HIH. 20 REM H HAP OF INTERCONNECTIONS. 21 REM H(I,J) IS NEXT NODE FROM NODE J, WHEN YOU GO 22 REM N,E,U,D,W,S FOB 1=1,2,3,4,5,6 23 REM 21 REM BOUNCES 25 REM TO GO TO NODE -2 HEANS BOUNCE BACK TO THE NODE YOU 26 REM CANE FROM. 27 REM 28 REM FORCED AND/OR BAN DOM HOVES 29 REM H(1,N)=-2 HEANS A FORCED MOVE AS SOON AS YOU BEACH 30 REM NODE N. IN THAT CASE, H(2,N) OF THE TIME YOU GO 31 REM TO NODE M(3,N). IF YOU DON'T GO THERE. H(«,N) 32 REM OF THE TIME YOU GO TO NODE (5,N), AND THE REST OF 33 REM THE TIHE YOU GO TO NODE (6,N). 3« REM Listing 2 continued on page 180 July 1979 © BYTE Publications Inc 179 Listing 2 continued from page 1 79: 35 REM NODES > 100: 36 REM NODE N*100 MEANS NODE N IF YOO DON'T HAVE THE 37 REM TREASURE, AND NODE N + 1 IF YOU DO. 38 REM NODE N+200 MEANS NODE N*1 IF YOU HAVE THE TREASURE 39 REM THE SECOND TIME, AND NODE N OTHERWISE. 10 REM NODE N*500 MEANS RUN THROUGH A DELAY LOOP AND THEN U 1 REM GO TO NODE N. THIS IS USED FOR FALLING DOWN THE 42 REM EXIT CHUTE, AND YOU MAY WANT TO ADJUST THE DELAY 143 REM TIME (LINE 6250) . 44 REM 45 REM Q$ INPUT STRING 46 REM A$ CHARACTERS TO MATCH IN THE INPUT ROUTINE 47 REM A2 NUMBER OF CHARACTERS IN A$ 48 REM A1 OUTPUT FROM THE INPUT ROUTINE 49 REM P PIRATE FLAG 1 IF PIRATE HAS GOT YOU, 0 OTHERWISE 50 REM P1 COUNTER FOR PIRATE ROUTINE 51 REM N9 SAVES OLD NODE IN MOVE ROUTINE, POR BOUNCE 52 REM N8 SAVES NODE WE BOUNCED FROM IN HOVE ROUTINE, 53 REM FOR PRINT FLAG 54 REM NO SAVES OLD NODE IN MOVE ROUTINE, FOR DEAD END 55 REM 40 SAVES OLD DIRECTION IN HCVE ROUTINE 56 REM D DEBUG FLAG (NON-ZERO TO PRINT) 57 REM I, J MISC. COUNTERS 58 REM W TRAVEL FLAG, USED IN SCORING. W (I) = 1 IF HE'S 59 REM BEEN TO NODE I, 0 OTHERWISE 60 REM S SCORE 6 1 REM M9 MAXIMUM NUMBER OF NODES 80 D=0 100 110 REM GIVE 'EM SOMETHING TO READ WHILE I GET THE DATABASE SET U 120 PRINT " QUEST" 130 PRINT 140 PRINT "YOU WERE WALKING THROUGH THE" 1 50 PRINT "WOODS, AND YOU CAME ACROSS THE ENTRANCE" 160 PRINT "OF A CAVE, COVERED WITH BRUSH." 170 PRINT 180 PRINT "PEOPLE SAY THAT MANY YEARS AGO A" 190 PRINT "PIRATE HID HIS TREASURE IN THESE" 200 PRINT "WOODS, BUT NO ONE HAS EVER FOUND IT." 210 PRINT "IT MAY STILL BE HERE, FOR ALL I K NOW. " 400 READ M9,T1,T2 490 REM DIMENSION OF W, M IS M9, IF YOU HAVE DYNAMIC ASSIGNMENT 500 DIM W (42) ,H (6,42) 5 1 0 REM READ MAP INTO M ARRAY 520 FOB 1=1 TO M9 530 BEAD N 540 IF I=N THEN 570 550 PRINT "DATABASE PROBLEM"I,N 56 0 STOP 570 FOR J=1 TO 6 580 READ M (J, I) 590 NEXT J 600 NEXT I 900 PRINT 905 PRINT "WHEN YOU ANSWER A QUESTION, I LOOK AT" 906 PRINT "ONLY THE FIRST LETTER, ALTHOUGH YOU CAN" 907 PRINT "TYPE THE WHOLE WORD IF YOU WANT." 920 GOSUB 7500 1000 1010 N=5 1020 M0 = 0 1030 M6 = 0 1040 T=T1 1050 P=0 1060 P1 = 0 1070 FOR J = 1 TO M9 1080 H (J) =0 1090 NEXT J 1100 PRINT 1110 REM DESCRIBE 1120 GOSUB 8000 1400 1405 REM MAIN LOOP STARTS HERE 1410 REM COUNT MOVES 1420 M0 = MO* 1 1430 REM MOVE 1440 GOSUB 6000 1450 REM CHECK FOR FINDING THE TREASURE 1460 GOSUB 2000 1 80 July 1979 © BYTE Publications Inc 147 0 REM TRY THE PIRATE 1490 GOSUB U000 1490 R EN LOD? UNLESS FINISHED 1500 IF T>0 THEN 1400 1510 IF N<>5 THEN 1400 1700 REM CALCULATE SCORE 1710 GOSUB 3000 1720 PRINT 1730 PRINT "CONGRATULATIONS! TOU GOT THE TREASURE" 1740 PRINT "OUT IN";M0; 1750 PRINT "MOVES AND YOU GOT"S ♦ 10"POI NTS ! " 1760 PRINT "WANT TO HUNT AGAIN? "; 1770 A$="YN" 1771 A2=2 1780 GOSUB 5000 1790 ON A1 GO TO 100 0,9999,176 0 2010 REM FOUND? 2100 IF TON THEN RETURN 2110 IF T<0 1 HEN RETURN 2120 IF H6*5>M0 THEN RETURN 2200 PRINT "DO YOU WANT TO TAKE IT KITH YOU? "; 2210 A$="YN" 2220 A2=2 2230 GOSUB 5000 2240 ON A1 GO TO 2300,2400 2250 PRINT "WELL? " 2260 GO TO 22 10 2300 T=-1 2310 PRINT 2320 PRINT "OK, LETS GET OUT OF HERE!" 2330 RETURN 2400 PRINT 2410 PRINT "WE'LL LEAVE IT HERE AND YOU CAN EXPLORE" 2420 PRINT "SOME MORE." 2430 M6=M0 2440 RETURN 3000 REM 3010 REM SCORE 3020 S=0 3030 IF T=-1 THEN S=S*5 3040 IF P=1 THEN S=S*10 3050 FOR J=2 TO H9 3060 S=S»W(J) 3070 NEXT J 3080 RETURN 4000 REM 4010 REM PIRATE 4020 IP N=T2 THEN RETURN 4030 IF P = 1 THEN RETURN 4040 IF T1=T2 THEN RETURN 4050 IF TO-1 THEN RETURN 4060 REM HES AT THE EXIT WITH THE TREASURE. ZAP HIM. 4065 REM (ARRGH. HOW DID HE GET HERE, ANYWAY?) 4070 IF N=16 THEN P=160 4080 REM COUNT MOVES SINCE HITTING TIGHT TUNNEL WITH TREASURE 4090 IF P1>0 THEN P1=P1*1 4100 IF N = 3 THEN P1 = PU1 4110 REM GIVE HIM A FEW MORE MOVES, THEN ZAP HIM 4120 IF PK15 THEN RETURN 4130 PRINT 4140 PHINT"SUDDENLY THE PIRATE LEAPS OUT OF THE" 4150 PHI NT"GLOOM AND GRABS THE TREASURE FROM YOU! " 4160 PRI N T" ' HA H ! ' , HE SHOUTS, • Y CU FOUND MY" 4170 PRINT "TREASURE, DID YOU? ! WELL, I'LL HIDE" 4180 PRINT'TT LETT Ell THIS TIME!'" 4190 PRINT "AND HE DISAPPEARS INTO THE DARKNESS" 4200 PRINT"WITH THE TREASURE." 4210 P=1 4220 T=T2 4230 RETURN 5000 REM 5010 REM INPUT 5020 REM FIRST CHARACTER OF A1 INPUT STRING IS COMPARED WITH 5030 REM THE LETTERS OF A$, AND IF THERE IS A MATCH, THE INDEX 5040 REM IN Ai IS RETURNED IN A1. IF NO MATCH, SIZE (AS) +1 IS 5050 REM RETURNED. 5060 REM GET INPUT STRING 5070 INPUT Q$ Listing 2 continued on page 182 July 1 979 © BYTE Publications Inc 181 Listing 2 continued from page 181: 5080 REM USE ONLY FIHST CHARACTER 5090 Q$ = LST(Q$,1) 5100 BEN SEAhCH FOR THE CHARACTER Qt IN THE STRING AS. IB THIS VEHSION 5110 REM OF BASIC, N DX IS THE INDEX FUNCTION , WHICH DOES EXACTLY THAT. 5120 A1=NDX (A$,Qi) 5130 HEH DUT CHECK FOR THB CASE V HERE THE CHARACTER B AS NOT FOUND 5140 IF A1=0 THEN A1=A2*1 S145 RETURN 5150 RBH IF YOUB VERSION OF BASIC DOESN-T HAVE THB NDX FUNCTION, BUT 5160 REH DOSS, FOB INSTANCE, HAVE A FUNCTION WHICH BILL PICK A 5170 REH PARTICULAR CHABACTEB PROM A STRING, SUCH AS HID(AS,A2,1) 5180 BEH PICKING THE A2-TH CHARACTER FBOH A$, YOU MIGHT USE THE 5190 BEH FOLLOWING CODE. 5200 REH FOB A 1= 1 TO A2 5210 HEH IF Q$=HID(A$,A1, 1) THEN BE TURN 5220 REH NEXT A1 5230 RBH A1=A2»1 5240 REH BETUBN 6000 BEH 6010 BEH HOVE 6020 BEH BEHEHBEB WHERE WE ABE, FOB BOUNCE. 6030 N9=N 6040 BEH SEI N8 TO ANYTHING BUT YOU CANT GO THAT BAY 6050 N8=0 6060 REH ASK WHICH BAY 6070 GOSUB 7000 6080 BEH R EMEHBEH WHEBE WE ABE, UNLESS A DEAD END 6090 IF N=1 THEN 6120 6100 N0 = N 6110 A0=A1 6120 PRINT 6130 I=H(A1,N) 6200 IF I=-2 THEN I=N9 6210 IF DOO THEN PBIHT • DEBUG • ; N ; ' TO' • I 6220 IF K500 THEN 6300 6230 REH DELAY LOOP TO WASTE SOME TIME 6240 1=1-500 6250 FOB J=0 TO 100 6260 NEXT J 6270 GO TO 6200 6300 ON 1/100 GO TO 6340,6370 6310 REM NORMAL BOUT E — LESS THAN 100 6320 N=I 6330 GO TO 6400 6340 REM N+100. ADD ONE IF CARBYING THE TREASURE 6350 N=I-100 6355 IF T=-1 THEN N = N*1 6360 GO TO 6400 6370 BEM N*200. ADD 1 IF CARRYING TBSASURE THE SECOND TIME 6380 N=I-200 6390 IF T=-1 THEN N=N*P 6400 IF NOI THEN 6500 6410 REM DEAD END. TUB N IT SO YOU GET OUT THE OTHER WAY 6420 FOB J=1 TO 6 6430 M(J,N)=2 6440 NEXT J 6450 M(7-A0,N)=N0 6500 REH PRINT OUT THE NODE DESCRIPTION 6510 IF N8<>2 THEN GOSUB 8000 6520 REM REMEMBER WEVE BEEN HEBE 6530 B(N)=.1 6540 N8=N 6600 IF H(1,N)<>-2 THEN 6800 6610 BEH FOBCED MOVE, WITH BANDOH DESTINATIONS 6620 BEH ON THIS VERSION OF BASIC, J=- 1 FOLLOBED BY BND(J) 6630 BEH GETS YOU A NUMBER BETWEEN ZERO AND ONE. 6640 REH YOUB VERSION BILL DIFFER, AND THE NEXT FIVE 6650 REH LINES BILL HAVE TO BE CHANGED. 6660 I=H(6,N) 6670 J=-1 6680 IF M(4,N) > 100*BND(J) THEN I=M<5,N) 6690 J=-1 6700 IF H(2,N) > 100*RND(J) THEN 1=11(3, N) 6710 IF DOO THEN PBINT • DEBUG BOUNCE TO';I 6720 BEH NOB HAVE A NEB DESTINATION. GO BACK AND REDO IT 6730 GO TO 6200 6800 BETUBN 7000 BEH 7010 BEH WHICH BAY? Listing 2 continued on page 184 1 82 July 1 979 © BYTE Publications Inc Circle 53 on inquiry card. The Best MICRO-SOFTWARE GENERAL LEDGER • ACCTS. PAYABLE ACCTS. RECEIVABLE • INVENTORY ^ PAYROLL y forTRS • 80 Apple II Micropolis Vector MZ Exidy Sorcerer Cromemco CBasic-CP/M Microsoft-CP/ M Buy simple, effective programs designed specifically for your machine. Call us once for same week delivery on a product you can use the day you receive it, and two years from now when your company is twice as big. And ask about MICROMAX - our computer output videotape system. TRS»80: $100/each. CBASIC-CP/M: $200/each. Apple II, Mi- cropolis, Vector, Exidy, Cromemco, and Microsoft: $140/each. Order today by U.P.S. COD. We'll pay postage and handling on Visa, Mas- tercharge, or prepaid or- ders. 505 Hamilton Ave., Palo Alto, CA 94301 (415)321-2881 OMPU 5SOCIATE5, INC. Announcing . . . THE GUIDE TO DESKTOP MICROCOMPUTER SELECTION A guide to the selection of a desktop computer that is right for your needs. Over 1 00 pages are crammed with features & specifications on models offered by the leading suppliers in the industry today. Manufacturers such as Radio Shack, Apple, Wang, Tektronix, IBM & Hewlett-Packard are included. Other features include: • a matrix of BASIC statements with over 250 entries comparing the capabilities of 8 different BASIC Interpreters. • a matrix of hardware characteristics comparing desktop systems and their associated options. • capabilities to consider when determining your needs & options. • space within each matrix to include your choice of system not listed. • key elements for development of software which can convert from one computer to another. TO OBTAIN YOUR COPY, RUSH $13.65 PLUS $1.35 POSTAGE AND HANDLING TO: ^ ~ / atlantic analysis corporation 5 KOGER EXECUTIVE CENTER • SUITE 219 • NORFOLK. VIRGINIA 23502 (8041 461-1980 k VA Residents, add 4% sales tax > TRS-80 means business! ! ! ...with CP/M, CBASIC2, & applications software. CP/M ("(he software bus") & CBASIC2 (the stan- dard for business software) bring new power ;ind versatilily to the TRS-80 for practical use. | CP/M Operating System (w/Editor, Assembler, Debugger, Utilities & 6 manual set) $1 50 CBASIC2 Compiler (w/manual) $ 95 DESP00L Print Spooler (w/manual) $ 75 *Osborne & Assoc. PAYROLL W/C0ST ACCTIMG $250 *0sborne & Assoc. ACCTS. RECEIVABLE & ACCTS. PAYABLE $250 *0sborne & Assoc. GENERAL LEDGER $250 *=CBASIC2 source programs; add $15 (each) for applicable O & A book. APH - Self-administered Automated Patient History $175 I Write/call for additional software available & FREE "CP/M Primer". | CA residents add 6% tax. Visa, M/C.M/O, Check OK. | (714) 848-1922 ^IBI&1*IN|EITI!,.|C[S n i ig. § 804 1 NEWMAN AVENUE • SUITE 208 • HUNTINGTON BEACH. CALIFORNIA 92647 K BUILDING BLOCKS FOR MICROCOMPUTER SYSTEMS, CONTROL & TEST EQUIPMENT R 2 I/O 2K ROM 3 SERIAL PORTS 2 K RAM 1 PARALLEL PORT TABLE TOP MAINFRAMES ECT-100-F RACKMOUNT CARD CAGES POWER SUPPLIES, CPU's, MEMORY, OEM VARIATIONS SPECIALIZING IN QUALITY MICRO- COMPUTER HARDWARE INDUSTRIAL EDUCATIONAL SMALL BUSINESS PERSONAL CONTROL TECHNOLOGY 763 RAMSEY AVE. HILLSIDE, N.J. 07205 (201) 686-8080 Circle 85 on inquiry card. Circle 120 on inquiry card. BYTE July 1979 183 Listing 2 continued from page 182: 7100 PRINT 7110 PRINT - WHICH WAY? »$ 7120 A$="NEUDHSP" 7130 A2=7 7140 GOSOB 5000 7150 IP A 1<8 THEN 7300 7160 PRINT "WHICH HAY DO YOU H A NT TO GO?" 7170 REM GIVE INSTHOCTIONS 7180 GOSUB 7500 7190 BEN DESCRIBE THE LOCATION AGAIN 7200 GOSOB 8000 7210 GO TO 7100 7300 IP AK7 THEN 7«»00 7310 REN CALCULATE AND PRINT SCORE 7320 30SUB 3000 7330 PRINT "YOU H A VE"S" POINTS ! " 73«0 REM START AGAIN 7350 GO TO 7100 7400 RETURN 7500 P EM 7510 RBH SUBROUTINE TO GIVE INSTRUCTIONS 7520 PRINT 7530 PRINT "TYPE N.S,E,H,U, OR D FOR NORTH, SOUTH," 7550 PRINT "EAST, WEST, UP OR DOWN. TYPE P FOB SCORE" 7560 PRINT 7570 RETURN 8000 REM 8010 REM DESCRIBE THE CURRENT LOCATION 8050 I = INT(N/5) 8060 J=N-5*I*1 8070 REM THERE ARE ENOUGH STATEMENT NUMBERS HERE TO HANDLE NODES 8080 R EM ZERO THROUGH 49. YOU HILL HAVE TO ADD MORE IF YOO ADD 8090 REM NODES 50 AND BEYOND. 8100 ON 1*1 GO TO 8200,8210,8220,8230, 821*0,8250,8260,8270,8280,8290 8200 ON J GO TO 9000,9010,90 20,90 30,904 0 8210 ON J GO TO 9050,9060,90 70,9080,909 0 8220 ON J GO TO 9 100,9110,9120,9130,9140 8230 ON J GO TO 9 150,9160,9170,9180,9190 8240 ON J GO TO 9 200,9210,9 2 20,9230,9240 8250 ON J GO TO 9 250,9260,9 270,9280,929 0 8260 ON J GO TO 9 300 , 93 1 0 , 93 20, 93 30 ,93 UO 8270 ON J GO TO 9 350,9360,9 370,9380,939 0 8280 ON J GO TO 9 MOO, 94 10 , 9 420, 94 30 ,91»l»0 8290 ON J GO TO 9 450 ,9460, 9170, 94 80 ,949 0 8400 IF TON THEN 8500 81*1 0 PRINT 8420 PRINT "THE TREASURE IS HERE!" 8500 IF TOT2 THEN 8600 8510 IF T1=T2 THEN 8600 8520 IF HON THEN 8600 8530 PRINT 8540 PRINT "A NOTE ON THE HALL SAYS" 8550 PRINT " 'PIRATES NEVER LEAVE THEIR TREASURE" 8560 PRINT " TWICE IN THE SAME PLACE!" 8600 RETURN 9000 REM 9001 REM FIRST DATA STATEMENT IS NUMBER OF NODES, AND THE 2 9002 REM HIDING PLACES FOR THE TREASURE. 9003 DATA 1*2, 23, 12 9010 DATA 1,0,0,0,0,0,0 9011 PRINT "YOU'RE AT A DEAD END!" 9012 GO TO 81*00 9020 DATA 2,-2,101,-2,0,0,0 9021 PRINT "YOU CAN'T GO IN THAT DIRECTION" 9022 PRINT 9023 GO TO 8400 9030 DATA 3,33,2,1,10,106,4 9031 PRINT "A TUNNEL GOES NORTH-SOUTH." 9032 PRINT "THERE IS AN OPENING TO THE BEST." 9037 GO TO 8400 9040 DATA 4, 3 , 30 , 2, 1 1 , 2 , 1 9041 PRINT "YOU'RE ON THE BRINK OF A PIT." 9047 GO TO 8400 9050 DATA 5,8,8,15,10,8,16 9051 PRINT "YOU'RE OUTSIDE THE CAVE." 9052 PRINT "GO SOUTH TO ENTER." 9053 GO TO 8400 9060 DATA 6,16,3,2,10,2,2 9061 PRINT "YOU'RE AT THE HOME OF THE GNOME-KING." 9062 PRINT "FORTUNATELY, HE'S GONE FOR THE DAY" 9067 GO TO 8400 9070 DATA 7,-2,101,-2,0,0,0 1 84 July 1 979 © BYTE Publications Inc Circle 206 on inquiry card. 9071 PRIST "THE GNOHE KING IS HEBE!" 9072 PRINT "YOU'D BETTER GET OUT! " 9073 PRINT 9077 GO TO 8400 9080 DATA 8,18,18,15,10,18,9 9081 PRINT "YOU'HE LOST IN THE WOODS." 9087 GO TO 8400 9090 DATA 9,-2,33,5,1.0,-2 9097 GO TO 8i»00 9100 DATA 10,-2,101,-2,0,0,0 9101 PRINT "YOU'RE NOT GOING TO GET FAB, DIGGING" 9102 PRINT "THROUGH BOCK." 9103 PBINT 9107 GO TO 8100 9110 DATA 11,1,13,4,2,1,2 9111 PRINT "YOO'RE AT THE BOTTOM OF A PIT. A LITTLE" 9112 PBINT "STB EA (t FLOWS OVEB THE BOCKS HEBE. " 9117 GO TO 8400 9120 DATA 12,36,2,1,2,1,2 9121 PBINT "YOU'HE AT A DEAD END!" 9127 GO TO 8400 9130 DATA 13,2,37,2, 1,11, 14 9131 PBINT "YOO'BE AT A WIDE SPOT. THERE IS A" 9132 PBINT "SOOTY PATCH WHEBE SOMEBODY HAS RESTED" 9133 PBINT "A TOBCH AGAINST THE WALL. THEBE ABE" 9134 PRINT "JAGGED BOCKS ABOVE YOU." 9137 GO TO 8400 9140 DATA 14,13,1,19,2,31,31 9141 PRINT "YOU'BE IN A CANYON. HIGH ON THE BALL" 9142 PBINT "ABOVE YOO IS SCBATCHED THE HESSAGE" 9143 PBINT " 'BILBO WAS HERE' " 9147 GO TO 8400 9150 DATA 15,-2,101,-2,0,0,0 9151 PBINT "YOU'BE NOT A BIRD. YOU CAN'T FLY!" 9152 PRINT 9157 GO TO 8400 9160 DATA 16,5,33,2,10,1,106 9161 PBINT "YOU'BE IN A LOW CHAMBER. A TIGHT TUNNEL" 9162 PRINT "GOES EAST, AND YOU CAN WALK TO THE" 9163 PBINT "SOUTH OB WEST. THEBE IS LIGHT" 9164 PRINT "TO THE NORTH." 9167 GO TO 8400 9170 DATA 17,-2,101,-2,0,0,0 9171 PRINT "IT'S A TIGHT SQUEEZE. YOU CAN'T" 9172 PRINT "GET PAST WITH THE TREASURE . " 9173 PRINT 9177 GO TO 8400 9180 DATA 18,-2,101,8,0,0,0 9181 PRINT "I DON'T THINK YOU CAN FIND THE CAVE." 9187 GO TO 8400 9190 DATA 19,224,2,2,14,1,42 9191 PRINT "YOU'HE AT THE TOP OF A CLIMB." 9192 PBINT "BELOW YOU A MESSAGE SAYS" 9193 PRINT " 'BILBO WAS HEBE'" 9197 GO TO 8400 9200 DATA 20,226,1,2,2,25,2 9201 PRINT "YOU'RE AT THE NORTH SIDE OF A CHASM," 9202 PRINT "TOO WIDE TO JUMP. RINGING ECHOES FROM" 9203 PBINT "BELOW ABE THE ONLY INDICATION OF DEPTH." 9207 GO TO 8400 9210 DATA 21,1,226,2,2,38,25 9211 PBINT "YOU'BE IN XANADU. BELOW YOU" 9212 PBINT "ALPH, THE SACBED RIVER RUNS" 9213 PRINT "THROUGH CAVERNS MEASURELESS TO MAN," 9214 PBINT "DOWN TO A SUNLESS SEA." 9217 GO TO 8400 9220 DATA 22,-2,33,13,50,29,30 9227 GO TO 8400 9230 DATA 23,2,1,2,31,2,2 9231 PRINT "YOU'RE ON THE LEDGE ABOVE THE GUILLOTINE BOOM." 9237 GO TO 8400 9240 DATA 24,-2,101, 19,0,0,0 9241 PRINT "I HEAR THE GIANT THERE'!!" 9242 PRINT "YOU'D BETTER GO BACK!" 9243 PRINT 9247 GO ro 8400 9250 DATA 25,21,20,2,2, 1,19 9251 PRINT "YOU'HE IN THE GIANT'S CAVERN. BETTER" 9252 PRINT "NOT BE HERE WHEN THE GIANT COMES!" 9257 GO TO 8400 9260 DATA 2b , -2, 65,- 2 , 50 , 1 1 , 1 4 9261 PRINT "YOU'RE IN THE QOEST RESEARCH AND" Listing 2 continued on page 186 ilit ii*s. Fur exiimnle, yciu din now easily mid more memory. Ili>|ipy disc systems. PROM board*, printer interfaces, multi-purpose I/O boards, AG device controllers. ;ira! :i u hull- host rjf .ir hi-r wined periph- erals. The 81 00 : includes our i hoards in tiioir pieces. The 8100 has support circuitry and sockets for i IfiK dvmimic HAM chips allowing you to expand the r oryofyourTllS-finbv [ ( ,K without h.ivmi: Ii.Lvjv an> -i RAM boards. • SERIAL RS232/20ma I/O • PARALLEL INPUT AND OUTPUT • SPACE FOR 16K DYNAMIC RAM • CAN USE LEFT OVER 4K CHIPS • LOW COST- PRICES START AT S • AVAILABLE IMMEDIATELY If you imich.iM.-il . you could lie left with put them! Well, they i ii:ln .IK HAM chip.-, .md nowhere (< in (•» in the HAM Mickel.s insu-iui Be either 4K or ItiK chips and ad PRICES START AS LOW AS $185* (S-100 BUS interface only) Ruh) ■ ELECTRONICS 1429 Maple St. San Mateo, CA 94402 (415) 573-7359 CALL OR WRITE FOR COMPLETE PRICING INFORMATION AND MORE DETAILS DEALER INQUIRIES INVITED •Eaira S-100 connectors. RAM suppon. I/O circuilry optional. USA DOMESTIC PRICE ONLY RUR)— MINI-8100 ; ci FfTRrtNirs an s-100 bus ELECTRONICS ^QAPTER/MOTHERBOARD FOR THE TRS-80 MINI-SIZE! MINI-PRICE! tmr but MAXI-PERFORMANCE! HUH Electronics' 8100 is ihe established lender in S-IOO/TRS-80 interfaces, running re- liably since November 1978 and giving you Ihe most features for your dollar. Hut some folks don'i need all ihe 8100'$ versatility or warn something more compact. So we created the MINI-8100. The MINI- 8100 has ihe same proven reliable S-100 Bus interface circuilry as it's nig brother coupled with a 4 slot shielded motherboard. It con- nects to the TRS-80 or to the expansion inter- lace and opens up the vast world ufS-lOO Bus products to the TRS-80 owner. For those of you who already own an S-100 mainframe or motherboard, the MINI-8100 may be purchased without the built-in motherboard, (MINI-8100S). Just plug it in and go! The MINI-8100 has the same high quality as all HUH Electronics products — easy assem- bly, fully socketed, solder mask and silk screen component legend, comprehensive manual and design excellence thai speaks for itself. PRICES MINI-8100 KIT - includes all parts and one S-100 connector - $115 MINI-8100 ASM - assembled and tesled, includes four S-IO0 connectors . $155 MINI-8100S KIT - S-100 sized board, plugs inio mainframe -$ 95 MINI-SUMS ASM - same as above, but assembled and tested - $125 fiUtll ! ELECTRONICS 1429 Maple St. San Mateo, CA 94402 (415) 573-7359 i Radio Shack" prodin ORDERING INFO: The MINI-8100 is availa- ble from leading computet dealers nr factory direct. Please include S4 for shipping and handling. CA residents include fi r r sales lax. We accepi VISA or Mastercliarge nr we can ship COD. USA DOMESTIC PRICES ONLY. DEALER INQUIRIES INVITED Circle 169 on inquiry card. Circle 172 On inquiry Card. July 1979 © BYTE Publications Inc 193 Photo Essay: Physical Hardware of a New Computer Backplane by Carl Helmers As noted in a recent editorial, I am in the process of designing and building a new computer system based on the 6809 processor. It is my intention, as this design evolves, to provide a fairly complete set of plans in the form of an irregular series of articles in BYTE. The building and developing of the software systems of homebrew computers is, after all, the basis from which personal computing has developed. This series of articles will document the development of an up-to-date design that utilizes contemporary components which were unavailable to me when I first started building crude and imperfect homebrew computers in 1974. The regularity of this documentation will be dependent upon the time that is available to engineer, build and test the component parts. I will try to provide an update on the progress of the project with each future issue of BYTE. From time to time there will be gaps in the series since, like all people, I have only 24 hours each day in which to work. Having issued this caveat concerning the irregularity of the informa- tion, let us turn to the starting point of my documentation; a physical basis for a bus oriented homebrew computer. The following is documentation of a key part of any homebrew computer; its backplane. At this stage, the computer system is depicted in photographs 1 through 5, which I took while assembling the backplane on a recent evening. For the photographers among our readers, all these pictures were taken with a 35mm single lens reflex (SLR) camera, highly stopped down (f/32, f/22, depending on lens) to emphasize depth of field, and using lots of light (1200 W). Photo 1: This pile of parts represents the beginning of the project's physical hardware assembly. At left is a set of eight copper rods made from #12 gauge household electrical wire. After stripping the insulation, one end of the wire is clamped in my bench vise, and the other end is clamped in "Vise-Crip" pliers. Five uniform, careful rotations of the wire while holding tension suffice to make the rods as straight as those shown in the photo. This torsion straightening process gives amazing results. These rods will be the bus wires of the power and ground distribution. The matrix for assembly of the backplane is one Vector Electronic Co #3719 — 4 "P" pattern prototyping board. This board was chosen as standard for the new computer because it has a 0.1 inch (.254 mm) square grid consistent with integrated circuit sockets, and an identical 0.1 inch spacing for the edge connector sockets. Thus, the same board style that will be used for the assembly of the computer modules can also be used for assembly of this motherboard. The final part that is going into the physical assembly of the backplane is a set of 6 edge connector sockets for the circuit modules. The sockets have 72 cir- cuit connections in two rows of 36 pins. 1 94 July 1 979 © BYTE Publications Inc Circle 89 on inquiry card. Circle 32 on inquiry card. HOW TO BUY A BUSINESS COMPUTER WHEN TO BUY • WHEN NOT TO BUY m\ HOW TO CHOOSE CONSULTANTS "DATA GATHERING • PACKAGED VS CUSTOM SOFTWARE • CONTRACTS • FINANCING • WARRANTEES AND MAINTENANCE • INSTALLATION MANAGEMENT AND MUCH MORE "SUPER BOOK!" DP Consultant, Mercer Island, Washington. "I wish I'd had this book before I bought my computer!"TV Station General Manager, California. "It's the best book I've seen on the subject. Send me 5 copies to send to my clients"' CPA, Orange County, California. "I really learned something from this book and I'm in the business. I'm recommending it to my clients." DP Consultant, Alhambra, California. Here's a straight forward approach to business computer purchase and installation. It will save you time and money. ORDER NOW! If not completely satisfied, return within 30 days for a full and immediate refund. 8Y2 x 11 Softbound ■ 178 pp. ■ $12.95 Credit Card Orders 1-805-964-7448 DDC PUBLICATIONS »> 5386 Hollister Ave., Santa Barbara, CA 93111 Rush copies of "Winning The Computer Game" at $1 2.95 per copy. (CA residents add 6% sa'es tax) NAME ADDRESS CITY/STATE/ZIP □ Check Card No OMasterCharge □ Visa Exp. Date . SHOULD it be a Heathkit ? Whether you are considering the purchase of an additional peripheral or your first computer you should know more about Heath& computer products. Heathkit^ has a continuing commitment to selling well-documented computer kits and software. Are they for you? How can you find out? Read Buss: The Independent Newsletter of Heath Co. Computers , where information on new products is printed as it leaks out of Benton Harbor, not held back to suit a marketing plan. Buss is not a company-controlled publication, so it can deal with weaknesses of Heathkit^ products as well as their strengths. It features news of compatible hardware and software from other vendors. Every Buss issue has candid accounts of experiences of Heathkit^ owners. Results of their discoveries, which often include hardware modifications, save subscribers headaches — and money. That's proven by two years' experience. So Buss can guarantee a full refund any time you're not satisfied. Buss is mailed first class (by airmail outside North America). The 2^-issue subscription gives you the choice of starting with the latest issue or with available back issues (about 8 are still in stock). Send $ 8.00 for 12 issues or $ 15.25 for 24 (overseas, $10.00/12; $19.25/24 US funds) to : Buss 325-B Pennsylvania Ave., S.E. Washington, DC 20003 The Independent newsletter of Heath Co. Computers FREE Catalog New 4-way relief from problems with minicomputer supplies and accessories. 1. One-stop shopping. I nmac (formerly known as Minicomputer Accessories Corporation) has a catalog of over800 products. Every- thing from racks and line- printer paper to connectors and cables. Each designed to help keep your minicom- puter or word processing system up and running. 2. Hassle-free ordering. I nmac lets you order by mail or phone. So keep our Summer 79 catalog close. It makes those once-tough tasks like ordering magnetic media easy, fast and foolproof. 3. Fast shipment of just the quantity you need. Inmac ships your order within 36 hours from centers in California and New Jersey. In a bind? Call us for many special services that insure you get your order to your installation within 24 hours. Call now and give us a chance. 4. Field-proven quality means precision performance. Inmac guarantees every product in these 70 pages for at least 45 days. And even some for up to ten years. Inmac Solve problems, send for your FREE Inmac catalog. 130 S. Wolfe Rd. P.O. Box 9004 Sunnyvale, CA 94086 (408) 737-8700 ® 1979 International Minicomputer Accessories Corporation 'TINY' PASCAL for TRS-80® & NORTH STAR® Now you too can have Pascal! The Chung/Yuen 'Tiny' Pascal has been specially designed for TRS-80 & North Star owners. The full power & elegance of 'Tiny' Pascal is at your command. Programs written in 'Tiny' Pascal run at least 4 times faster than the same program in BASIC! 'Tiny' Pascal is also a great way to learn Pascal Programming, & fun too. The minimum system requirements are: Level II, 16K for TRS-80, & 24K for North Star (specify single or double density). SOURCE TOO! But most important, you also get source to 'Tiny' Pascal written in Pascal with each purchase! You can even compile the com- piler! (Requires 36K for North Star systems, & 32K, Level II for TRS-80). You can customize your own version, or just use it the way it is. 'Tiny' Pascal is a subset of Standard Pascal & includes: RECURSIVE PROCEDURE/FUNCTION, IF-THEN-ELSE, REPEAT/UNTIL, 'PEEK & POKE', WHILE, CASE, & MORE! (Plus full graphics for TRS-80 as well) Also you can save & load programs. You get all this & more, plus a user's manual for S40.00. available from: /mm/on P.O. Box 1628 Champaign, IL 61820 (217) 344-7596 All orders pre-paid, Illinois residents add 5% sales tax Circle 223 on inquiry card. Circle 357 on inquiry card. BYTE July 1979 195 Photo 2: The physical assembly of the backplane begins by noting the fact that a single #12 guage wire will fit quite nice- ly between a set of four pins on a 0.1 inch grid. Thus, if we insert all the sockets in the backplane board, we can drop one copper bus connection across four cor- responding pins of all six sockets. The 12 gauge wire size for the buses is just slightly larger than the 0.06 inch spacing between the wire wrap socket pins of a 0.1 inch grid. This fact causes the pins to spread just a bit, locking the sockets in place prior to soldering. In this photo we show eight bus wires occupying 32 pins of the backplane socket. Looking ahead to the design of my computer and basing my conclusion on previous experience, I will need a total of four power supply buses. A standard +5 V is the main power supply, used by most of the digital integrated circuits. Ground is the common point for all power supplies. Two symmetrical supplies of —12 V and +12 V will be used by analog circuits. Noting that a symmetrical arrangement of the backplane prevents power supply destruction through inadvertent reversal of boards, two sets of four buses are used. As we will see later (photo 4), the innermost buses will become the basis for the ground distribution grid. With four power voltages occupying a total of 32 pins, the 72 pin sockets of the backplane have 40 uncommitted pins available for communications between boards. This is more than adequate for a good general purpose computer system based on an 8 bit microprocessor, such as the 6809 I will be using with this design. Photo 3: Assembly begins with the outermost bus, laying it down in its niche in the pin forest of all six sockets. It is then soldered to each set of four pins, as depicted in this photo. I used a120W light-duty solderinggun for this operation, since the extremel y high heat carrying capacity of the copper wires made my 25 W soldering iron im- possible to use. After each bus wire is soldered in place, the four pins at each socket are clipped off just above the copper wire and solder bead. This process is repeated for each of the eight bus wires assigned to the power voltages of the new com- puter. Care must be taken while soldering to avoid forming a bridge between adjacent buses. The last step in soldering a bus wire is incomplete in this photo: the wire is just resting on the four holes in the tab from the backplane's edge connector. When soldering this part, be extremely careful about forming bridges from one bus wire to the next. 1 96 July 1979 © BYTE Publications Inc Photo 4: The completed backplane assembly includes a set of jumpers bridg- ing the symmetrically arranged power supply voltages. Six bus wire jumpers connect the inner ground buses across the socket area. Three heavy insulated stranded wire jumpers create an aesthetically pleasing, but electrically useless arch form at one end of the board. The bus wires in this photo of the assembly process have been soldered to the edge connector pins corresponding to power distribution voltages. Not shown at this stage is a set of bypass capacitors installed between the three voltages and ground. On each voltage, six 0.1 iiF ceramic capacitors and one 3.3 jiF tantalum electrolytic were in- stalled for local bypass of the power sup- ply voltages. Photo 5: No backplane idea is complete without a discussion of the physical support of the boards in the final assembly. Here we show the newly completed backplane together with six boards and a set of 1.375 inch [1% inch] spacers. Readers wishing to duplicate this board should learn from an imperfection I introduced. If the boards in this picture appear to be a little crooked, rest assured that this is true, and not caused by the wide angle lens. The actual center to center spacings I finally used (count the holes in photo 4 if you wish) were 1.4, 1.5, 1.7, 1.4, and 1.5 inches! The spacing between backplane sockets should be 1.4 inches, center to center. In my final assembly, I will have to use extra washers as spacers due to this flagrant indiscre- tion during initial assembly. Physically, this completes the mother- board and its power supply electrical connections. In part II of this description of the physical assembly of my new com- puter system we will complete the wiring of the backplane (by using a homebrew adaptation of a Vector "Slit-N-Wrap" tool to my electric eraser), wooden cabinetry which forms a base for the computer while hiding its power supply modules, and the final assembly of the computer system's basic hardware. ■ July 1 979 © BYTE Publications Inc 197 Mouse A Language for Microcomputers Peter Grogono 73 Roxton Crescent Montreal West Quebec CANADA H4X 1C7 Note: The examples of the Mouse language which ap- pear in the text of this article have been italicized for the sake of clarity. Examples of the language appearing on lines by themselves have not been italicized, however. This article describes Mouse, a computer programming language which can be imple- mented on most microcomputers. The word Mouse is not an acronym, merely an appro- priate descriptioa for something small and active. There are many available languages for microcomputers already, so the introduc- tion of a new language warrants some ex- planation. The justification for Mouse is that it incorporates many features of high level languages, yet it can be implemented without the resources needed by most high level languages. More specifically, Mouse programs demonstrate the use and imple- mentation of arrays, functions, procedures, nested control structures, local variables, recursion, and several methods of passing parameters from one procedure to another. Mouse also embodies some of the principles of structured programming, in that it uses nested, single entry control structures, and does not allow unrestricted jumps. None- theless, Mouse can be implemented on a minimal system consisting of a micropro- cessor, 4 K bytes of memory, and a terminal. All of these features cannot be incor- porated into a simple language without making some sacrifices. Identifiers in Mouse consist of a single letter, so that a symbol table is not required. Expressions are writ- ten in postfix notation, which is more easily interpreted by a computer than the conventional infix notation. Parameters are passed to subroutines as strings, eliminating the need for complex parameter transmis- sion mechanisms. Mouse programs are easier to write than to read, and it is possible to write Mouse programs that are very obscure. Although readability is a highly desirable feature of a programming language, a lan- guage cannot be condemned solely on the grounds that obscure programs can result: witness the popularity of APL. The extraor- dinary thing about Mouse is that so much can be achieved with such a small amount of implementation effort. Mouse is descended from an older pro- gramming language called Musys. In 1970 I was working for Electronic Music Studios (London) Limited, the company which now manufactures the SYNTHI series of electronic music equipment. At that time the com- pany, under the direction of Peter Zinovieff, was exploring the possibilities of using mini- computers to control electronic music instruments. The studio had two DEC PDP- 8 computers, but very little software. My job was to write software which would relieve composers of the tedious chore of entering musical compositions in the form of strings of octal numbers. Since the older PDP-8 was already connected to a variety of digitally controlled oscillators, filters, envelope shapers, and other musical equip- ment, we decided to use the newer and faster PDP-8 to do the language processing. Space was very limited: the PDP-8 had only 4 K 12 bit words of memory, and a very restricted instruction set by comparison with today's microprocessors. The system that I designed for the studio enables composers to write their composi- tions in a high level language called Musys. The heart of Musys is a simple yet powerful macroprocessor. A Musys composition con- sists of a hierarchy of macroinstructions, in which the higher level macroinstructions determine the overall form of the composi- tion, and the low level macroinstructions specify details such as the pitch and duration of the individual sounds. The Musys inter- preter contained about 700 instructions. About 600 additional instructions were required for supporting software, including disk control. The system is described in reference 1. The idea of using a macro- processor as the basis for a minicomputer 198 July 1979 © BYTE Publications Inc language occurred to me after I had read a paper by the late Christopher Strachey (reference 2). The remainder of this article consists of two main sections: the first describes the language Mouse; the second describes the implementation of a Mouse interpreter. Mouse User's Guide A Mouse program is a string of characters. Blanks may be inserted anywhere in the program, but they are ignored by the inter- preter, except in a few contexts which are defined below. The last two characters of a program are always $$. The interpreter starts executing at the first character of the program and processes one character at a time until it encounters the character $, at which point it stops. This processing sequence is broken only by specific control strings: conditions, loops, macro calls, and formal parameters. These are described below. When the interpreter encounters the quote character " it prints or displays characters up to, but not including, the next quote character. For example, the program: "JACQUELINE" $$ will print the message: JACQUELINE The quoted string may contain blanks, which are printed, and the exclamation point / that prints a carriage return/line feed. Thus the program: "FIRST LINEISECOND LINE" $$ will print: FIRST LINE SECOND LINE Mouse performs calculations using a stack. An operand pushes a value onto the stack, and an operator removes one or two values from the stack and may replace them with other values. The question mark ? is an operand which tells the interpreter to read a number from the keyboard or input file and push it onto the stack. The operator / removes the top value from the stack and prints it. (Do not confuse the use of / as an operator with its use within quotes.) The following program reads one number from the keyboard and prints it: ? !$$ The stack is a last in, first out data structure. The program: ???!!!$$ reads three numbers and prints them in reverse order. For example, if the input file contained: 45 46 47 then the program would print: 474645 If we wanted them to be printed in the order in which they were read, we would have to write: ?!?!?!$$ This program, using the same data as before, would print: 454647 A decimal integer is another kind of oper- and. When the interpreter reads an integer, it pushes its value onto the stack. This program prints 365: 365! $$ We can push two numbers onto the stack by writing them one after the other, with a blank in between. This program prints 7 5: 5 7!""!$$ This is the only context in Mouse where a blank character is required; without it, 5 7 would be read as the single number 57. How- ever, we often insert blanks into Mouse programs to improve their readability. Furthermore, Mouse does not print leading or trailing blanks when it prints a number, so we must include a blank string " " between print operators if we want numbers separated in the output. Note also that Mouse does not process floating point numbers: all operands have integer values. Mouse has 26 variables, the names of which are A, B, C,. . .Z. The name of a varia- ble is an operand, and when the interpreter encounters a variable name, it pushes the address of that variable onto the stack. This program prints the addresses of A and T: A! T! $$ The operator . (period) replaces an address on the stack by the value stored at that Peter Grogono's first computer experience con- sisted of feeding a short piece of paper into EDS AC II at Cambridge University, He joined a group conducting research into automatic pattern recognition in 1965, and has spent the ensuing 73 years writing computer programs of various kinds in England, Australia, and Canada. The programs in- clude a package for high- way design, an operating system for an electronic music studio, and an accounting system for travel agencies. Peter is currently working for the Computer Centre of Con- cordia University, and his interests are programming language design and text processing. July 1 979 © BYTE Publications Inc 199 B USINESS SOF TWA RE • INTEGRATED FINANCIAL PROGRAMS All programs integrate by posting financial data to the general ledger journals. They are self-guided and easy to use. You don't have to be a CPA! ■ GENERAL LEDGER ■ ACCOUNTS RECEIVABLE ■ ACCOUNTS PAYABLE ■ INVENTORY CONTROL ■ PAYROLL $500 Each Program $8 Manual Only • COMPLETE LEGAL BILLING SYSTEM with ACCOUNTS RECEIVABLE A powerful and flexible system that will produce clients statements with a wide choice of layouts and billing options. $1,995 Complete System $12 Manual Only • MIDAS™ Mini DAtabase System Design your own file layouts and change them easily with MIDAS. Complete update, query, tally, sort, report, and reformat capabilities. $250 Complete System $8 Manual Only f Over 100 Systems in the field now! t Immediate delivery on all programs, f Requirements: CBASIC, dual disk, and 48K memory *CP/M is a trademark of Digital Research VISA AND MASTERCHARGE ACCEPTED Rothenberg Information Systems, Inc. 260 Sheridan Avenue Palo Alto, CA 94306 Telephone: (415) 324-8850 address. If we want to print the value of A we write A. ! . The assignment operator is =. An assign- ment is performed in three steps: • An address is pushed onto the stack; • A value is pushed onto the stack; • The assignment operator is applied. Thus in order to give the value 17 to X we write: XI 7= This statement has the effect that X := 17 would have in a Pascal program. Similarly, we write XY.= to assign the value of Y to X in Mouse. The most common programming error in Mouse is to forget the period; no error will be reported, but the calculation will use the address rather than the value of a variable, and the result will probably be wrong. The arithmetic operators in Mouse are +, — , *, and /, denoting addition, subtrac- tion, multiplication, and division, respec- tively. Because operands in Mouse have integer values, / means divide and truncate. A Mouse operator is always written after its operands. The resulting notation is called postfix notation or reversed Polish notation, in contrast to the conventional algebraic notation which is called infix notation. Postfix notation may be confusing at first, but it does have some advantages. The infix expression A+B is written in Mouse as A.B.+; the periods signify that we are adding values, not addresses. One of the advantages of postfix notation is that parentheses or brackets are not required. The infix expres- sion A+B*C, in which the multiplication is performed before the addition, is written A.B.C.*+ in Mouse. The infix expression (A+B)*C, in which the parentheses indicate that the addition is to be performed first, is written A.B.+C. *. It is not hard to translate expressions into postfix notation if you remember these two rules: • Operands appear in the same order in both expressions; • Operators are written as soon as both operands have been written in full. As an example, consider the conversion to postfix form of the infix expression (A+B)/ (C-D). First write down the operands in sequence: A. B. C. D. 200 July 1 979 © BYTE Publications Inc Circle 327 on inquiry card. The addition is performed after B., and the subtraction after D. . The division cannot be performed until both its operands have been computed, so the complete expression in postfix notation is: A.B.+ C.D.-/ The arithmetic operators always have two operands in Mouse. The infix expression —X means 0-X, and it must be written in the form OX.-. The top value in the stack may be used as an anonymous variable. In fact, we have already used the stack in this way, in the program ? ! $$. Here is a more subtle use of this feature: A A5= . A6= ! $$ These five steps have the following effect: • A puts the address of A on the stack; • A 5= assigns the value 5 to A (this uses the stack, but leaves it unchanged); • . converts the address of A to the value of A, which is 5; • A6= changes the value of A to 6; • / prints the value, 5, from the stack. Care must be taken, of course. If you are writing programs in this fashion, you must at all times know what is supposed to be in the stack. The following example uses the stack to interchange the values of two vari- ables, X and Y. In most languages this inter- change can only be done with a temporary variable. For example, in Pascal we would write: T :=X;X :=Y;Y :=T In Mouse we can write: X Y.YX. = = The addresses of A, B, C,. . .Z are 1,2,3, . . .26. This means that B, for instance, can be regarded as either a variable in its own right, or as the second element of the array A. The address of B can be written as either B or AJ+, and its value as B. or AJ+. .A general element of the array A, written A[l] in Pascal, can be written as AI.+. in Mouse, for 0 < I < 25. Any letter can be used in this way: thus K5+ is equivalent to P, and Z3-. is equivalent to W. . You must be careful not to use the same address for two different purposes. If you decide to use A as an array with ten components, you cannot use the variables B, C,. . .J in the SUPER SOFTWARE! MICROWARE 6800 SOFTWARE IS INNOVATION AND PERFORMANCE INEW 1 LISP Interpreter The programming language LISP offers exciting new possibilities for microcomputer applications. A highly interactive interpreter that uses list-type data structures which are simultaneously data and executable instructions. LISP features an unusual structured, recursive function- oriented syntax. Widely used for processing, artificial intelligence, education, simulation and computer-aided design. 6800 LISP requires a minimum of 12K RAM. Price $75.00 A/BASIC Compiler The ever-growing A/BASIC family is threatening old-fashioned assembly language programming in a big way. This BASIC compiler generates pure, fast, efficient 6800 machine language'from easy to write BASIC source programs. Uses ultra-fast integer math, extended string functions, boolean operators and real-time operations. Output is ROMable and RUNS WITHOUT ANY RUN-TIME PACKAGE. Disk ver- sions have disk I/O statements and require 12K memory and host DOS. Cassette version runs in 8K and requires RT/68 operating system. Price: Disk Extended Version 2.1 $150.00 Cassette Version 1.0 $65.00 I NEW I A/BASIC Source Generator An "add-on" option for A/BASIC Compiler disk versions that adds an extra third pass which generates a full assembly-language output listing AND assembly language source file. Uses original BASIC names and inserts BASIC source lines as comments. SSB and SWTPC Miniflex version available. Price: $50.00 rNEWl A/BASIC Interpreter Here it is— a super-fast A/BASIC interpreter that is source-compatible with our A/BASIC compiler! Now you can interactively edit, execute and debug A/BASIC programs with the ease of an interpreter— then compile to super efficient machine language. Also a superb stand- alone applications and control-oriented interpreter. Requires 8K RAM. The cassette version is perfect for Motorola D2 Kits. Price: $75.00 RT/68 Real Time Operating System MIKBUG— compatible ROM that combines an improved monitor/ debugger with a powerful multitasking real-time operating system. Supports up to 16 concurrent tasks at 8 priority levels plus real time clock and interrupt control. Thousands in use since 1976 handling all types of applications. Available on 6830 (MIKBUG-type) or 2708 (EPROM-type) ROM. Manual is a classic on 6800 real-time applications and contains a full source program listing. Price: RT68MX (6830) $55.00 RT68MXP (2708) $55.00 6800 CHESS A challenging chess program for the 6800. Two selectable difficulty levels. Displays formatted chess board on standard terminals. Re- quires 8K memory. Machine language with A/BASIC source listing. Price: $50.00 ELIZA 6800 version of the famous MIT artificial intelligence program. The computer assumes the role of a psychoanalyst and you are the patient. This unusual program is unique because the dialog with the com- puter is in unstructured plain English. An impressive demonstration program. Price: $30.00 Our software is available for most popular 6800 systems on cassette or diskette unless otherwise noted. Disk versions available on S.S.B., SWTPC, or Motorola MDOS. Please specify which you require. Phone orders are welcomed. We accept MASTERCHARGE and VISA. We try to ship orders within 24 hours of receipt. Please call or write if you require additional information or our free catalog. Microware software is available for OEM and custom applications. MICROWARE SYSTEMS CORPORATION P.O. BOX 4865 DES MOINES, IA 50304 (515) 265-6121 Circle 232 on inquiry card. July 1979 © BYTE Publications Inc 201 Write faster in BASIC, FORTRAN, or COBOL Document & modify more easily, too Human-engineered to do the job better. Yes, you really can get flawless code faster using the Stirling/Bekdorf™ system of software development tools with structured programming concepts. The 78F2, 78P4, and 78C1 are human-engineered to reduce initial errors, improve de-bugging speed, and aid concept communication. First, use the 78F2 Flowchartrix™to lay out your original concept blocks. Then use it to write a finely detailed flowchart. 54% more logic cells than other flowchart forms, put far more of your program on each page Each Flowcharts has a full 77 logic cells, not just 50. This saves paper, and makes your finished flowcharts easier to understand. By seeing up to 27 extra steps of a program on each page, you comprehend program flow more clearly. You save money and storage space, too. Every matrix cell in the 7 x 11 matrix has a specific label to help you track branch points. When you write program documentation, having a separate reference point for each cell makes your program much easier to describe clearly. With Flowchartrix, you don't need a shape template to draw remarkably regular logic symbols. Guides for the most-used logic symbols are right in each matrix cell, to help you draw most standard flowchart symbols entirely free-hand. 78P4 Print-Out Designers are next. When you finish flowcharting, lay out the printed reports your program will generate. Then when you write code you blaze through the report generation segments right along with the rest of your program. Unique 70 x 160 matrix accommodates even proportional-spacing word processor formats. The 160-column width can handle practically any printer format. The 78P4 is big, 14% x 22 inches, because we've scaled the cell size to human writing comfort, not machine print, giving nearly twice the character-writing area of other printout design sheets. Special 5-column area records the program line number of the code which creates each printed line. It shows, at a glance, exactly which line of code creates each line of your report, saving hours of needless search time when you must change the report format (and don't you always have to, sooner or later 1 ', Every sheet of 78C1 gives you 2 form uses for the price of one. Use 78Cl s full 28 line x 80 column grid area to code regular program steps. Then for inter- active or instructional sections, simply keep your characters within the appropriate CRT indicator lines, and you'll automatically know where every character will show on your CRT screen. 28 line x 80 column coding capacity saves you 14 sheets out of every 100, compared to 24-line forms. 86 sheets hold more program steps than 100 sheets of any 24-line form, yet we offer full-size 6mm x 3mm grid blocks to give you comfortable writing room and visual space between lines. Works with your CRT display, no matter what brand you own. Equipped for both 16 line x 64 column and 24 line x 80 column display formats. Available in three versions (one for BASIC languages, one for FORTRAN, another for COBOL), the 78C1 is so powerful we include a 7-page instruction manual with every order. Every tool in the Stirling/Bekdorf system is surface-engineered to take both pen & pencil without blotching. Our tough, extra-heavy, 22* paper is pure enough to use with critical magnetic ink character readers, and gives you crisp, sharp char- acters with pencil or plastic-tip pen. Every part of our system uses eye-comfortable soft blue grids. All grid rulings, tints, and division rules are reproduced in a special shade of blue, easy on your eyes even after hours of continuous programming. If you're a professional pro- grammer, you'll particularly appreciate our improvement over the green lines you've been writing on. A 3-ring binder is one more of our secrets for your success. All your notes, logic, concepts, flowcharts, code, CRT layouts, print-out designs, and documentation can be kept together, in order, in one place. When everything you create stays together, debugging and modification is much simpler. Order your supply of the world's most advanced software development tools, right now, before you hatch even one more bug. I 78F2 riowchartrii □ 2 pads ol 50= $7:90 +- $2.85 pkng & shpg □ 10 pads ol 50 - S3). 35 + !6 45 pkng S shpg 7&H Print-Out Design Sheets □ 1 pad 0150- $7)5 + $3 15 pkng S shpg D 5 pads ol 50 = $32 10 $6 75 pkng & shpg 3 hole punched vinyl pockets for 78P4 Design Sheets □ set ot 5 lot $2.65 + $1.35 pkng & shpg □ setol 12 loi $5 00 « $1 85 pkng J shpg 78C1 Combination Coding/CRT Layouts All are the same price, but please check which language format you want' □ loi BASIC □ for FORTRAN □ lor COBOL □ 2 pads ol 50 - $6 35 t $1 95 pkng I shpg □ 10 pads ol 50 - $26 85 * $3 35 pkng * shpg leias ,esidenis please add S S", sales la, ro Pase pure We ship UPS so P C 8oi address must gne phpne number Prices shoein tpi packing £ shipping aie U S A only International shipping nates aie higher mile lot details □ Sample of one sheet ol each lorm + Charge to: □ Master Charge □ Visa exp. date — -'--■ sg, literature $2.50 Card } Signature Enclosed Is my check for $_ Name Address City . Phone_ . State.. . Zip _ IS. Stirling/Bekdorf 4407 Parkwood □ San Antonio, TX 78218 □ (512) 824-5643 7 © 1978 Sliflint-Uelfto'l Di. ol glickmin Ukt[ Gp.. Int. same program, these points: The following illustrates A7= BA.= A.! B.! A1 + .! $$ A 7= assigns the value 7 to A, and BA.= copies the same value to B. This value is then printed three times: A.! prints the value of A; B.l prints the value of B; and Al+.l prints the value of A[1]. Before we pass on to a discussion of the control structures of Mouse, we need one more concept: clause. A clause is a string which contains quoted strings and expres- sions, which have been defined above; and complete control structures, which are defined below. Control Structures A condition in Mouse is written E[C]; E is an expression, and C is a clause. The condition itself is a clause. E is evaluated, and if its value is greater than zero, C is executed. If E is zero or negative, C is skipped. The Pascal statement: if X > O then Y := X becomes in Mouse: X.[YX.=] Since Mouse distinguishes only E > 0 and E < O, more complicated expressions must be devised for different conditions. For example, X > O is equivalent to X+1 > O, and so the Pascal statement: if X > O then C becomes in Mouse: X.1+[C] Similarly, X = O is equivalent to (1+X > O) and (1-X > O), and so Pascal: if X = O then C becomes in Mouse: 1X.+[1X.- [C]] Now, reconsider the definition of clause. A complete condition E [C] is both a clause itself, and contains a clause, C. Suppose C is itself a condition, F[D]. If we replace C by F[D] in the clause E[C], we obtain the clause £[F[D]]. This demonstrates that the nested condition 1X.+[1X.-[C]] of the last example is a legitimate Mouse construction. 202 July 1979 © BYTE Publications Inc Circle 352 on inquiry card. A loop in Mouse is written: (q Etc 2 ) where E is an expression and C 1 and C 2 are clauses. This loop is a clause; it may be paraphrased as follows: START: EXIT: if E < 0 goto EXIT C 2 goto START In other words, the loop is executed for as long as E > 0, and the exit test may appear anywhere within the loop. Either or C 2 may be omitted. (E\ C 2 ) is equivalent to Pascal: while E > 0 do C 2 and (Ci ft/ 1 is equivalent to Pascal: repeat C ] until E < 0 There may be more than one exit test in a loop. For example, (Cj Et C 2 Ft C 3 ), in which E and F are expressions, is allowed. We now consider some simple Mouse programs which use these control structures. The following program reads a number N, and prints its factorial, 1 *2*3*. . *N: N?= F1= ( N.t FF.N.*= NN.1-= ) F.i $$ We can shorten the factorial program by using the top of the stack instead of the variable F. The program then becomes: N?= 1 ( N.t N* NN.1-= ) ! $$ In this version, 7 puts the value one on the stack; N.* multiplies the value on top of the stack by N; and / removes the value from the top of the stack and prints it. We can expand this program so that it continues to ask for data until it reads a number which is less than or equal to zero. Note the nested loop: ( "ENTER A NUMBER" M?= M.t NM.= 1 ( N.t N * NN.1— ) "FACTORIAL ( " M.! ") = " ! "!" ) $$ Here is a dialogue produced by this program: ENTER A NUMBER 3 FACTORIAL (3) = 6 ENTER A NUMBER 7 FACTORIAL (7) = 5040 ENTER A NUMBER 0 ( ANNOUNCING New from DEC LA34 DECwriter IV S U99J 00 1 10 or 300 baud, RS 232C serial • Upper/lower case, 9 x 7 dot matrix ASCII . 10, 12,13.2, 16.5 characters /inch Friction feed, paper width to 15" • 2, 3, 4, 6, 8, or 12 lines/inch • 22"Wx7"Hx 15M."D, 25 lbs. New from DIABLO DIABL0 1640 $2 ( 690. 00 Receive-only $2,331.°° High-quality daisywheel printing at 45 cps. DIABLO 1650 5 2,779.°° Receive-only $2,419.°° Metal daisywheel printing at 40 cps. soroc iq 120 $795.°° • RS 232C, upper/lower case full ASCII • Numeric keypad, protected fields • Cursor keys plus addressable cursor • Auxiliary extension port Teletype 43 s 999.00 • RS 232C, 110 or 300 baud • Upper/lower case full ASCII • Pin feed, 12" x 8Vz" paper T.I. 810 printer $1,695.°° • 150 characters per second • RS 232C serial interface • Adjustable forms tractor • Upper/lower case option $90.00 SOROC IQ 140 $1,250.°° • RS 232C and 20mA current loop • Extensive editing features • 25th line terminal status display • 16 function keys (32 with shift) To Order: Send certified check (personal or company checks require two weeks to clear) including handling* and 6% sales tax if delivered within California. "Handling: Less than $2,000, add 2%; over $2,000, add 1%. Everything shipped freight collect in factory cartons with manufacturer's warranty. [ cMJCRaiYlflJL., MICROMAIL • BOX 3297 • SANTA ANA, CA 92703 (714) 731-4338 Circle 222 on inquiry card. July 1 979 © BYTE Publications Inc 203 The program which follows reads numbers into an array and then prints them in reverse order. A is used as an array index, and B is the array. The input is terminated by a neg- ative number. A0= ( BA.+.?= BA.+.l+t AA.1+= ) ( A.t AA.1-= BA.+.! ) $$ We can improve this program so that it will read no more than 25 numbers, the maxi- mum capacity of the array B. Note the use of two exit conditions in the first loop: A0= ( BA.+.?= BA.+ .l+t AA.1+= A.25- [ "ARRAY FULL!"0t ] ) ( A.t AA.1-= BA.+.! ) $$ Macroinstructions A complex algorithm always has a hier- archical structure, and a programming lan- guage must provide the means of defining and calling procedures and functions so that programs which have an analogous hierarchical structure can be written. In Mouse, procedures and functions are imple- mented by macroinstructions. A macro- instruction call is written like this: #M; This is a call to macroinstruction M. There must not be a blank between # and the macro name. In this example there are no actual parameters. When there are actual parameters, they follow the macro name and are preceded by commas. The follow- ing is a call to macroinstruction M with parameters X and Y: #M,X,Y; A macro name is a single letter, so a program may use up to 26 different macroinstruc- tions. Macro definitions come between the main program and the terminating $$. A macro definition starts with the character $ and the name of the macroinstruction, and is termi- nated by the character @. There must not be any blanks between $ and the name of the macroinstruction being defined. The defini- tion must be a clause, and definitions cannot be nested. The following program uses a macroinstruction, M, to print a message: #M; $M "A MESSAGE" @ $$ Note that the main program code is termi- nated by $, which introduces the first macro definition. As usual, the entire program is terminated by $$. When the interpreter encounters #M; in the program, it substi- tutes the definition of the macroinstruction, excluding $M or @. Thus when the program above is interpreted, it prints: A MESSAGE Each macroinstruction has its own com- plete set of local variables, A, B, C,. . .Z. Assignments to these variables do not affect the values of main program variables. The program which follows will print the number 3, despite the assignment to N in macro- instruction X: N3=#X;N.I $X N99=@ $$ A macro definition may have up to 26 formal parameters, written %A, %B, %C, . . .%Z, with no blank between % and the letter. When a formal parameter is encoun- tered in a definition, the actual parameter is GenRad needs Trolls! What are Trolls? Trolls are a rare breed of engineer, who can work in software as well as hardware. At GenRad we design and build Automatic PC-Board Testers for electronic manufacturing. Our support engineers like to eat a chip data sheet for breakfast, breadboard the chip for lunch and debug its software models at dinner. GenRad trolls are good; as a m atte r of f act, we t h i n k they' re the best ! They help guide ourcustomers through the sometimes bewildering land of testing. If you think that you would enjoy this challenging mix of hardware, software and human contact, set up a meeting with our troll leader by contacting Pat Perillo, GenRad, Inc., 300 Baker Avenue, Concord, MA 01742. Or call Pat (collect) at (617)369-4400, ext. 332. An equal opportunity employer M/F GenRad 204 July 1 979 © BYTE Publications Inc Circle 137 on inquiry card. substituted as a string. Macroinstruction P in the following program prints the value of its parameter: #P,3;A5=#P,A.;#P,A; $P%A! @ $$ The call #P,3; is equivalent to 31, and prints 3. The call #P,A.; is equivalent to A.! and prints the value of A, which is 5. These are known as calls by value, be ause the macro- instruction can obtain only the value of the parameter. The final call, #P,A;, is equiva- lent to A! , and prints the address of A. It is known as a call by reference, because the parameter is an address. Calls by reference can be used to return values to the calling program. Macroinstruction A in the follow- ing program adds the values of its first two parameters, and returns the result as the third parameter: #A,2,3,X; #A,3,4,Y; #A,X.,Y.,Z; $A %C %A %B + = @ $$ This program adds 2 and 3, giving X, then adds 3 and 4, giving Y, then adds X and Y, giving Z. Note that the actual parameters in the last call are the values X. and Y. and the address Z. You must know, when writing a macro call, whether the macroinstruction expects a value or an address. The device mentioned before for exchanging two values can be in- corporated into a macroinstruction: $E%A%B.%B%A. = = @ In this case, both actual parameters must be addresses. To use this macroinstruction to interchange the values of X and Y write: #E,X,Y; An array can be passed to a macroin- struction by the address of its first com- ponent. The following macroinstruction sums %B components of the array %A, and returns the result as %C: $S %C0= N0= ( %BN.-t %C%AN.+.%C.+= NN.1+= ) @ The call #S,A,3,Z; would store the value of A+B+C in Z. A macroinstruction which leaves a value on the stack acts as a function. We can re- write macroinstruction A, which was de- fined above, as a function: $A %A%B+ @ The call #A,2,3; is now an operand which leaves the value 5 on the stack. This macro- instruction evaluates the factorial function: $FN%A=1 (N.tN.*NN.1-)@. The clause #F,5; #F,6; + ! prints 840 (=5!+6!). A macro definition may include macro calls. Moreover, a macroinstruction may call itself, either directly or indirectly, so that it is possible to define recursive macroinstruc- tions. The factorial function can be defined recursively in this way: $F%A [%A #F,%A1-;* ] 1%A- [ 1 ] @ The character @ acts like a RETURN state- ment in BASIC or FORTRAN, and we can use it more than once in a macro definition. Here is a slightly shorter version of the recur- sive factorial macro that exploits this fact: $F %A [ %A #F,%A1-; * @ ] 1 @ PRICE: $129.00 We also carry the SYM-1 Microcomputer with manuals $269.00 VAK-1 MOTHERBOARD • Designed specifically for use with the AIM-65, SYM-1, and KIM-1 microcomputers • Standard KIM-4* Bus • Fully buffered Address and Data Bus • Provides 8 expansion board slots • Complete with rigid card-cage • All IC's are socketed • Provides separate jacks for one audio-cassette, TTY, and Power • Completely assembled (except for card-cage) We manufacture a complete line of high quality expansion boards. Use reader service card to be added to our mailing list, or U.S. residents send $1.00 (International send $3.00 U.S.) for airmail delivery of our complete catalog. 'Product of MOS Technology ENTERPRISES INCORPORATED 2967 W. Fairmount Avenue • Phoenix, AZ 85017 • (602) 265-7564 Circle 325 on inquiry card. July 1979 © BYTE Publications Inc 205 This definition may be paraphrased in ALGOL: F(N) := if N>0 then N * F(N-l) else 1 If %A>0, the conditional clause is executed, and the macroinstruction is terminated by the @ between the brackets. If %A < 0, the value 7 is placed on the stack and the macro- instruction is terminated by the final @. If there is no actual parameter corre- sponding to a formal parameter, the formal parameter is processed as a null string. Actual parameters for which there are no formal parameters are ignored. A call to an undefined macroinstruction is also processed as a null string. These points are illustrated by the following program: #T; #T, "A"; #T, "A", "B"; #T, "A", "B", "C";#U; $T"<"%A%B ">!"@ $$ This program prints: <> In the first call, #7";, there are no actual parameters. In the second call, #T,"A";, there is one actual parameter, "A", which is printed. In the third call, both param- eters are printed. In the fourth call, there are three actual parameters, of which the "SQUARE AND TRIANGULAR NUMBERS" ( "ENTER A NUMBER" N? = N . t "S(" N . ! ") = " #S,N.; ! " T(" N . I ") = " #T,N.; ! "I" ) $S %A1 - [ #T,%A; #T,%A1 -; + <§>] 1 @ $T %A1 - [ #S,%A1 3%A*1 - + 2/ @ ] 1 @ $$ Listing 7: This Mouse program reads an integer and prints the corresponding square number S n and triangular number T n . It uses two mutually recursive macroinstructions S and T. "PRIME NUMBERS!" N1 = ( NN.1 + = #P,N.; ) $p F1 = N1 = ( FF . 1 + = %AF . - 1 %AF . /F . * %A - 1 + [ NO = Ot ] ) N. [ %A! *'!" ] @ $$ Listing 2: This program prints a list of prime numbers. Macroinstruction P determines whether its parameter N is a prime number and, if it is, prints it. third, "C", is ignored because there is no formal parameter %C. The last call is to an undefined macroinstruction U, and has no effect. Now that all of the control structures of Mouse have been described, we can define clause more precisely. A clause may be: an expression, a literal string, a condition, a loop, a macro call, or a clause followed by another clause. Actual parameters and macro definitions must be clauses. These rules are not precise enough to formally define the syntax of Mouse, but they serve as a guide for the Mouse programmer. Their principal purpose is to ensure that all of the com- ponents of a control structure are on the same level. They forbid, for example, the use of ( or [ without the matching ) or ] at the same level in a condition, loop, macro definition or actual parameter. Example Programs We conclude this section of the article with some sample Mouse programs. The first program illustrates mutual recursion. Two macroinstructions are said to be mutu- ally recursive if each one calls the other. The square numbers S n (1, 4, 9, 16,. . .) and the triangular numbers T n (1, 3, 6, 10,. . .) can be defined in terms of each other in the fol- lowing way: St =1 S n=T n +T n _ 1 forn>1 Ti=1 T n = {S n _^ +3n-1)/2forn>1 The program, which appears in listing 1, uses mutually recursive macroinstructions S and T to compute S n and T n . The second program, which appears in listing 2, prints prime numbers. It loops indefinitely, calling macroinstruction P for each integer N in turn. Macroinstruction P prints N, if N is prime. The expression %AF./F.*%A-I+ is equivalent to 1 - %A mod F.; it is positive only if F divides %A exactly. The program will fail when incre- menting N causes overflow, but the algo- rithm is so inefficient that there is little danger of this happening. The third program, shown in listing 3, uses recursive macroinstruction V to print the words of a song. The British and Ameri- can versions of this song are different, and I am not sure that the words printed by the program are a correct statement of either version. The limit of nine verses is a restric- tion imposed by the interpreter described in this article, not an inherent limitation of Mouse. 206 July 1 979 © BYTE Publications Inc Circle 131 on inquiry card. Circle 91 on inquiry card. The experienced 2114 4K static RAM ■0. X I.I From EMM — the industry's largest supplier of 4K static RAMs — a 2114 with a year and a half of delivery behind it. Not a new part. Just a new pin-out of a proven part. 1 K x 4 organization. 5V only. Standard 18-pin DIP. It draws only 300 mw, has all the speed you need for microprocessor applications. SEMI,INC. A division of Electronic Memories & Magnetics Corporation 3883 North 28th Avenue, Phoenix, Arizona 85017 (602)263-0202 NO FRILLS! NO GIMMICKS! JUST GREAT DISCOUNTS MAIL ORDER ONLY HAZELTINE 1400 $ 679.00 1500 995.00 Mod 1 1495.00 CENTRONICS 779-1 954.00 779-2 1051.00 700-2 1350.00 761 KSR tractor 1595.00 703 tractor 2195.00 NORTHSTAR Horizon I assembled. . 1629.00 kit 1339.00 Horizon II assembled. . 1999.00 kit 1599.00 Disk System 589.00 TELETYPE Mod 43 995.00 IMS 16K Static Memory. . . 459.95 DIGITAL SYSTEMS Computer $4345.00 Double Density Dual Drive 2433.00 IMSAI VDP 80/1000 $5895.00 VDP40 3795.00 VDP 42 3895.00 VDP 44 4195.00 16K Memory assem.. . 399.00 PCS 80/15 679.00 15% off on all other Imsai products CROMEMCO System III $1000 ott . . 4990.00 10% ofl on all other Cromemco products TEXAS INSTRUMENTS 810 Printer 1595.00 CENTRONICS Microprinter 495.00 Most items in stock for immediate delivery. Factory-fresh, sealed cartons. DATA DISCOUNT CENTER p.o. box 100 135-53 Northern Blvd., Flushing, New York 11354, 212/465-6609 N.Y.S. residents add appropriate Sales Tax. Shipping FOB N.Y. I BankAmericard, Master Charge add 3%. COD orders require 25% deposit. from Computer Headware ... the Self-Indexing Query System for your Apple II, North Star, or CP/M machine Unlimited/ 219-924 3522 P.O. Box 8372. Merrillville. Indiana 46410 ■ Lifeboat Associates / 212-580 0082 (CP/M model only) 2248 Broadway, Suite 34, New York City 10024 • Structured Systems Group, Inc. / 415-547-1567 5208 Claremont Avenue, Oakland, California 94618 BYTE July 1979 207 The program which appears in listing 4 prints the moves required to solve the Towers of Hanoi problem for a given num- ber of disks. It uses recursion, and demon- strates the use of strings as actual parameters. ( "HOW MANY VERSES?" S?= S.l 10S. - [ #V,S. 1 +; ] ) $V %A1 - [ #N,%A; #B; #W; ",!" #N,%A; #B; ";!" #F; ",!" #N,%A1 -; #B; #W; ".II" #V,%A1 -; I @ $B " GREEN BOTTLES" @ SW "STANDING ON THE WALL" @ $F "IF ONE OF THOSE BOTTLES SHOULD HAPPEN TO FALL" @ $N %A9 - [ "NINE" @ 1 %A8- [ "EIGHT" @ ] %A7 - [ "SEVEN" @ ] %A6 - [ "SIX" @ I %A5- [ "FIVE" @ I %A4 - [ "FOUR" @ ] %A3 - [ "THREE" @ 1 %A2- [ "TWO" @ ] %A1 - I "ONE" @ 1 %A I "NO" @ 1 $$ Listing 3: Macroinstruction V calls macroinstructions B, W, F, and N to print one verse of a song, and then calls itself recursively to print the next verse. The number of verses is limited to nine, but the interpreter is quite easily modified to enable the program to print more verses. "TOWERS OF HANOIIHOW MANY DISKS?" D? = D. I #H,D . , "LEFT", "RIGHT", "CENTER"; ] $H %A [ #H,%A1 - ,%B,%D,%C; "MOVE " %B " TO " %C "I" #H,%A1 -,%D,%C,%B; ]@ $$ Listing 4: The famous Towers of Hanoi problem. The program prints a list of the moves required to solve the problem for a specified number of rings. "BUBBLE SORT!" #P,A; $P "HOW MANY NUMBERS?" N? = N . 26 - [ "TOO MANY!" ] "ENTER " N . ! " NUMBERS!" NN . 1 - = #F,M,0,N.,%AM. +?=; "INPUT ARRAY!" #F,M,0,N . , %AM .+.!""; "!" #B,%A,0,N.; "SORTED ARRAY!" #F,M,0,N . , %AM . + . I " "; "I" @ $B #F,I,%B1 + ,%C, #F,J,%C,I., %AJ . 1 - + . %AJ . + . - [ #E,%AJ . +,%AJ . 1 -+;];; $F %A%B= %C%A. -1 + [ ( %C%A. -1 +1 %D %A%A. 1 + = ) ] ( %A . %C - 1 + 1 %D %A%A . 1 - = ) @ $E %A %B. %B %A. = = @ $$ Listing 5: This is the most elaborate Mouse program presented in this article. The main program contains one macro call (#P,A;) only, and so all 26 vari- ables at the lowest level can be used to store an array. The program sorts the array using the bubble sort algorithm, and then prints it. The last program, shown in listing 5, is the most elaborate. It reads an array, prints it, sorts it into ascending sequence, and prints the sorted array. The main program prints the title and then calls macroinstruc- tion P to do everything else. The address of A is given to P, and since no variables are used in the main program, all 26 compo- nents of array A can be used to store the input data. Thus, the program can sort up to 26 numbers. The program makes extensive use of macroinstruction F, which simulates a for statement. The effect of a call to F is: for %A := %B to %C do %D If %B > %C then the index variable %A will be decremented rather than incremented. Macroinstruction E is the exchange macro- instruction introduced earlier. Macroinstruc- tion B does the actual sorting in two nested loops, using the bubble sort algorithm. Implementation The Mouse interpreter is presented in listing 6 in the form of a Pascal program. It is not intended, however, that Mouse should be implemented by that program. Listing 6 is intended to be a machine independent guide to the implementation of Mouse in assembly or machine language. Accordingly, the explanation which follows contains hints as to how the Pascal statements can be trans- lated into machine language. Numbers in parentheses refer to line numbers in listing 6. Some explanation of the meaning of the Pascal statements is given here. (If you need more, consult either Jensen and Wirth (refer- ence 3) or my book (reference 4)). The program starts with a heading (1). This line merely states that the program is called Mouse and that it uses two files, INPUT and OUTPUT. Lines 12 thru 18 declare the global variables of the program. Global variables can be used anywhere in a Pascal program, even in subroutines. The first five declarations (12 thru 16) define arrays. PROG is an array of 500 characters used to store the text of the Mouse program. The components of PROG are written PROG[1], PROG[2]. . .PROG[500]. DEFI- NITIONS is an array of 26 integers. Each nonzero component of DEFINITIONS forms an index for the start of a macro definition in the array PROG. The array CALSTACK is the stack used for calcula- tions. The array STACK is the main stack, used to store the status of the program during the expansion of a macro call, a formal parameter, or a loop. Each compo- nent of STACK is a variable of type 208 July 1979 © BYTE Publications Inc. FRAMETYPE. This type is defined in lines 5 thru 9. A FRAMETYPE variable has three components: TAG, POS, and OFF. A TAG has one of three values: MACRO, PARAM, or LOOP; these values can be coded as 0, 1, 2, or -1, 0, +1. POS and OFF are both integers. The most convenient way to repre- sent STACK is as a block of 20 units, each unit having three words. Within a unit, the word required is addressed by its offset: 0 for TAG, 1 for POS, and 2 for OFF. For example, the address STACK [NJ.OFF (the address of component OFF of the Nth unit) is STACK+3*(N-1)+2. Finally, the array DATA is used to store the values of both local and global variables of the Mouse program. The sizes of the arrays are adequate for simple Mouse programs, including all programs in this article. The choice of array sizes is discussed below in greater detail. Lines 17 and 18 declare global scalar variables. CAL is a pointer to CALSTACK; it is an index for the next free stack word. LEVEL performs the same function for STACK, the main stack. CHPOS is a pointer to the array PROG; it indexes the character currently being processed. The current character itself is stored in CH. Assuming that a single byte is used to store a character, and two bytes are used to store an integer, global data for the interpreter occupies 1248 bytes of memory. Lines 20 thru 84 define the subroutines used by the interpreter. The function NUM (20 thru 23) maps letters into integers. The Pascal function ORD means simply ordinal value of. The ordinal value of a character is its ASCII (or other) code. For example, if the code for A is 65, then ORD('A') = 65. Thus, NUM('A') = 1, NUM('B') =2, and so on. The interpreter assumes that the letters have consecutive codes, and hence that NUM('Z') = 26. The function VAL performs a similar task for digits. VAL('O') = 0, VAL ('1') = 1, and so on. In machine language, these functions can be implemented by a single instruction which subtracts the appro- priate constant from the character value. The procedure GETCHAR (30 thru 33) increments the character pointer CHPOS and sets CH to the next character in the array PROG. The Mouse program is accessed by means of this procedure only. PUSHCAL (35 thru 38) and POPCAL (40 thru 43) are used to store and remove values from the calculation stack CALSTACK. The parameter of PUSHCAL is the value which is to be pushed onto the stack. The value returned by POPCAL is the value removed from the stack. In a machine language imple- mentation, these values can be passed in a register. PUSH (45 thru 51) and POP (53 Listing 6: The Mouse interpreter expressed as a Pascal program. 1 program MOUSE (input, output); 2 3 type 4 TAGTYPE = (MACRO, PARAM,LOOP); 5 FRAMETYPE = 6 record 7 TAG : TAGTYPE; 8 POS, OFF : integer 9 end; 10 1 1 var 1 2 PROG : array [ 1 . . 500 ] of char; 13 DEFINITIONS : array [ 1 . . 26 ] of integer; 14 CALSTACK : array [ 1 . . 20 ] of integer; 1 5 STACK : array [ 1 . . 20 ] of FRAMETYPE; 1 6 DATA : array [ 1 . . 260 ] of integer; 1 7 CAL, CHPOS, LEVEL, OFFSET, PARNUM, PARBAL, TEMP : integer; 18 CH : char; 19 20 function NUM (CH : char) : integer; 21 begin 22 NUM := ord(CH) - ord('A') + 1 23 end; 24 25 function VAL (CH : char) : integer; 26 begin 27 VAL := ord(CH) - ord('O') 28 end; 29 30 procedure GETCHAR; 31 begin 32 CHPOS := CHPOS + 1 ; CH : = PROGICHPOS] 33 end; 34 35 procedure PUSHCAL (DATUM : integer); 36 begin 37 CAL : = CAL + 1 ; CALSTACKICAL] : = DATUM 38 end; 39 40 function POPCAL : integer; 41 begin 42 POPCAL : = CALSTACKICAL]; CAL : = CAL = 1 43 end; 44 45 procedure PUSH (TAGVAL : TAGTYPE); 46 begin 47 LEVEL : = LEVEL + 1; 48 STACKILEVEL] .TAG := TAGVAL; 49 STACKILEVEL]. POS := CHPOS; 50 STACKILEVEL]. OFF := OFFSET 51 end; 52 53 procedure POP; 54 begin 55 CHPOS : = STACKILEVEL] . POS; 56 OFFSET : = STACKILEVEL] . OFF; 57 LEVEL : = LEVEL - 1 58 end; 59 60 procedure SKIP (LCH, RCH : char); 61 var CNT : integer; 62 begin 63 CNT := 1; 64 repeat 65 GETCHAR; 66 if CH = LCH 67 then CNT : = CNT + 1 68 else if CH = RCH 69 then CNT : = CNT - 1 70 until CNT = 0 71 end; 72 73 procedure LOAD; 74 var THIS, LAST : char; CHARNUM : integer; 75 begin 76 for CHARNUM := 1 to 26 do DEFINITIONSICHARNUM] : = 0; 77 CHARNUM := 0; THIS := "; 78 repeat 79 LAST : = THIS; read(THIS); 80 CHARNUM := CHARNUM + 1; PROG [CHARNUM] := THIS; 81 if (THIS in [ 'A' . . 'Z' ] ) and (LAST = '$') 82 then DEFINITIONSINUM(THIS)] := CHARNUM Listing 6 continued on page 210 July 1979 © BYTE Publications Inc 209 Listing 6 continued from page 209: 83 until (THIS = '$') and (LAST = '$') 84 end; 85 86 begin 87 LOAD; 88 CHPOS : = 0; LEVEL : = 0; OFFSET : = 0; CAL : = 0; 89 repeat 90 GETCHAR; 91 case CH of 92 93 ' ', ']', '$' : ; 94 95 *0','1','2','3','4' ( '5','6','7','8','9' : 96 begin 97 TEMP:=0; 98 while CH in [ '0' . . '9' ] do 99 begin 100 TEMP := 10 * TEMP + VAL(CH); GETCHAR 101 end; 102 PUSHCAL(TEMP); CHPOS := CHPOS - 1 103 end; 104 105 'A','B','C','D','E','F','G','H','I','J','K','L','M', 106 'N','0'/P','Q','R','S'/T','U','V','W','X','Y','Z' : 107 PUSHCAL(NUMICH) + OFFSET); 108 109 '?' : begin 1 1 0 read(TEMP); PUSHCAL(TEMP) 1 1 1 end; 112 113 'I' : write(POPCAL : 1); 114 115 '+' : PUSHCAL(POPCAL + POPCAL); 116 117 '-' : PUSHCALI -POPCAL + POPCAL); 118 119 '*' ; PUSHCALIPOPCAL * POPCAL); 120 121 V ; begin 122 TEMP : = POPCAL; 1 23 PUSHCALIPOPCAL div TEMP) 124 end; 125 126 '.' : PUSHCAL(DATA[POPCAL]); 127 128 '=' : begin 129 TEMP := POPCAL; 1 30 DATAIPOPCAL] : = TEMP 131 end; 132 133 "" ; repeat 134 GETCHAR; 135 if CH = T 136 then writeln 137 else if CH * "" 138 then write(CH) 139 until CH = ""; 140 141 T : if POPCAL < 0 then SKIP('[',T); 142 143 '(' : PUSH(LOOP); 144 145 T : if POPCAL < 0 1 46 then 147 begin 148 POP; SKIPCf,')') 149 end; 150 151 ')' : CHPOS := STACK[LEVEL) . POS; 152 153 '#' : begin 1 54 GETCHAR; 155 if DEFINITIONSINUM(CH)] > 0 1 56 then 1 57 begin 158 PUSH(MACRO); 1 59 CHPOS : = DEFINITIONS[NUM(CH)|; 160 OFFSET := OFFSET + 26 161 end; 162 else SKIPCr,';') 1 63 end; Listing 6 continued on page 212 thru 58) perform similar functions for the main stack, but they are more complicated because each stack entry has three words. The data placed on the stack by PUSH con- sists of the parameter, TAGVAL, and the values of the two global variables, CHPOS and OFFSET. The procedure POP restores the values of CHPOS and OFFSET but ignores the stacked value of TAG. The procedure SKIP (60 thru 71) is used to skip over nested pairs of characters. For example, SKIP('[',']') is used to skip over conditional clauses. SKIP uses a local vari- able CNT to count occurrences of left and right brackets so that it can correctly skip over sequences such as: [...[...]...] On entry, SKIP assumes that the first character, [, in the example, has been read, so CNT is initially set to 1. Subse- quently, [ increments CNT and ] decrements CNT. The procedure terminates when CNT = 0. This procedure is used for skipping over [. . .], (. . .), and #. . .;. The procedure LOAD (73 thru 84) has two functions: it reads the program from the input file into the array PROG, one charac- ter at a time; and it stores pointers to macro definitions in the array DEFINITIONS. It uses local variables THIS, LAST, and CHARNUM (74), and it initializes all com- ponents of the array DEFINITIONS to zero (76), so that the interpreter can later recog- nize a call to an undefined macro. LOAD recognizes a macro definition by the se- quence $ and the end of the pro- gram by the sequence $$. In this version of the interpreter, both the Mouse program and its input data are read from the system input file. If you have auxiliary storage, such as disks or cassette tapes, it is probably better to store the Mouse program there. If you use disks or tapes, READ(THIS) on line 79 will call a procedure that reads one charac- ter from the chosen device. It is much easier to develop a Mouse program if it is stored on an external medium where it can be attacked with a text editor, rather than keying it directly into mem- ory. Alternately, if you have room in mem- ory, you can elaborate the procedure LOAD into a Mouse editor, rather than using it simply as a loader. The main program begins at line 86. Initialization consists of loading the pro- gram (87) and setting various global variables to zero (88). The rest of the interpreter consists of a single repeat statement (89 thru 197). The body of the repeat statement contains two statements: GETCHAR (90), 210 July 1979 © BYTE Publications Inc Circle 331 on inquiry card. Computer Lab of New Jersey Computer Lab sells the best S-1 00 Bus products at the best possible prices. Not only are our prices great, so is our deliv- ery. We offer a 1 0% discount on most major lines, plus a 5% additional discount for a cash purchase. OUR LIST CASH PRICE PRICE Imsai S10 2-2 Kit $156.00 $133.00 SSM VB-2 Video Board Kit $149.95 $128.00 Vector Graphic Bitstreamer I/O Board $195.00 $166.00 Problem Solver TLC Intelligent CRT Terminal $1095.00 $936.00 Cromemco Z-80 CPU Board Kit $295.00 $252.00 S.D. Sales Z-80 Single Card Computer Kit $239.00 $204.00 Subject to available quantities. Prices quoted include cash discount. Shipping and insurance extra Call for our prices on: Cromemco, Godbout, Imsai, Problem Solver, SSM, Vector Graphic, Tarbell, Integral Data Systems, North Star, Mountain Hardware, Compucolor, Thinker Toys, Soroc, California Computer Systems, Seattle Computer Products, and many other fine products. Computer Lab of Naw Jersey 141 Route 46 • Budd Lake, N.J. 07828 Phone: (201) 691-1984 HOURS: Monday & Friday: 1 2 to 6, Tuesday-Thursday: 1 2 to 9 Saturday: 1 0 to 5 Call or write for our free catalog & price list 16K STATIC RAM $310 Assembled, Tested, Guaranteed to operate at 4M Hz clock for one year. Also available with 250 nsec Memory Chips add $35 Static TMS 4044 or equivalent - Fully Static 4Kx1 Memory Chips for full DMA capability, no tricky timing problems. Fully S-100 Bus Compatible - All lines fully buffered. Dip Switch Addressable in two8K block, 4K increments. Write Protectable in 2 blocks, Memory Disable using Phantom, Battery back up capability. Bank Select - Using output port 40H (Cromemco software compatiblej-addressable to 512KB of Ram for time share or Memory Overlap, also has alternate port 80H. Guaranteed - Parts and labor for one year. You may return the undamaged board within 10 days for a full refund. Orders - You may phone for Visa, MC, COD ($4 handling charges for COD) orders. Personal checks must clear prior to shipping. Shipping-Stock to 72 hours normally. Will notify expected shipping date for delay beyond this. Illinois residents add 5% tax. Please include phone number with order. S.C. digital P.O. Box 906 Phone: Aurora, I L 60507 (312)897-7749 RADIO SHACK COMPUTER OWNERS TRS80 • PRACTICAL APPLICATIONS • BUSINESS • GAMBLING • GAMES • EDUCATION • PERSONAL FINANCE • BEGINNER'S CORNER • NEW PRODUCTS • SOFTWARE EXCHANGE • MARKET PLACE • QUESTIONS AND ANSWERS • PROGRAM PRINTOUTS . .AND MORE MONTHLY NEWSLETTER 24 HOUR ORDER LINE (914) 425-1535 WORD PROCESSING PROGRAM (Cassette or Disk) For Writing Letters, Text, Mailing Lists, Files, Etc. With Each New Subscriptions or Renewal ■uunvHuumrAi acq r/nrx; wnurc"' Box 149 New City, New York 10956 ONE YEAR SUBSCRIPTION $24 TWO YEAR SUBSCRIPTION $48 SAMPLE OF LATEST ISSUE $4 START MY SUBSCRIPTION WITH ISSUE (#1 - July 1978 • #7 - January 1979) NEW SUBSCRIPTION RENEWAL _ CREDIT CARD NUMBER EXP. DATE SIGNATURE NAME ADDRESS I Send lor FREE Software Catalogue {Including listings of hundreds) of TRS-80 programs available on cassette and diskette). Circle 159 on inquiry card. BYTE July 1979 21 1 Listing 6 continued from page 210: 164 165 '@' : begin 166 POP; SKIPC #',';') 167 end; 168 169 ■%■ : begin 1 70 GETCHAR; PARNUM : = NUM(CH); PUSH(PARAM); 171 PARBAL := 1; TEMP := LEVEL; 172 repeat 173 TEMP := TEMP - 1; 1 74 case STACKITEMP] . TAG of 175 MACRO : PARBAL := PARBAL - 1; 1 76 PARAM : PARBAL : = PARBAL - 1 ; 177 LOOP: 178 end 179 until PARBAL = 0; 1 80 CHPOS : = STACKITEMP] . POS; 181 OFFSET : = STACKITEMP] . OFF; 182 repeat 183 GETCHAR; 184 if CH = 185 then 1 86 begin 187 SKIPC #',';'); GETCHAR 188 end; 1 89 if CH = ',' then PARNUM : = PARNUM - 1 190 until (PARNUM = 0) or (CH = ';'); 191 if CH = ';' then POP 192 end; 193 194 ',',';': POP 195 196 end 197 until CH = '$' 198 end. PET WORD PROCESSOR This program permits composing and printing letters, flyers, advertisements, manuscripts, etc., using the COMMODORE PET and a printer. Script directives include line length, left margin, cen- tering, and skip. Edit commands allow the user to insert lines, delete lines, move lines and paragraphs, change strings, save onto cassette, load from cassette, move up, move down, print and type. The CmC Word Processor Program addresses an RS- 232 printer through a CmC printer adapter. The CmC Word Processor program is available for $29.50. Add $1.00 for postage and handling per order. Order direct or contact your local computer store. '0 CONNECTICUT microCOMPUTER 150POCONO ROAD BROOKFIELD, CONNECTICUT 06804 (203) 775 9659 TLX: 7104560052 and a case statement (91 thru 196) which selects an action according to the character obtained by GETCHAR. The repeat state- ment, and hence the interpreter, terminates when CH = '$'. The operation of the inter- preter can therefore be described solely in terms of the action taken for each character returned by GETCHAR. The case statement can be implemented by comparing CH to each legal character in turn. A jump table addressed by the ordinal value of CH is more efficient, but it may use more memory. The characters (blank), ] , and $ require no action by the interpreter (93). If the charac- ter is $, the repeat statement terminates, otherwise control returns to GETCHAR (90) which gets the next character. If the character is a digit (95), this digit and succeeding digits are read, and the value of the corresponding number is accumulated in TEMP (97 thru 101). The value of TEMP is then pushed onto the stack (102). The interpreter has now read one character past the last digit, which it has to do in order to recognize the end of the number, so the character pointer is backspaced (102). If the character is a letter (105 and 106), its address NUM(CH)+OFFSET is pushed onto the stack. If OFFSET = 0, the address of A is 1, the address of B is 2, and so on. (The use of OFFSET will be explained later.) The remaining operand is ? (109 thru 111), which reads a number from the input file and pushes its value onto the stack. The Pascal statement READ (TEMP) reads a signed number from the input file, having skipped over leading blanks. Lines 113 thru 131 define the actions taken when an operator has been read. Operators use the calculation stack CALSTACK. The character ! (113) pops the top value off the stack and prints it. The Pascal statement WRITE(POPCAL : 1) prints the value of POPCAL without leading or trailing blanks. 1 If blanks are required to separate numbers, they must be explicitly coded in the Mouse program. The arithmetic operators (115 thru 124) remove two operands from the stack, apply the appropriate operation, and push the result onto the stack. Note that the second operand is on top of the stack, but must be used after the first operand in the noncom- mutative subtraction and division operations. The Pascal operator div means "divide and truncate" (123). The operator . (period) replaces the address on the stack by the corresponding component of the array DATA (126). The assignment operator (=) uses the address and value on the stack to update a component of the array DATA (128 thru 131). All of the operations on CALSTACK are 212 July 1 979 © BYTE Publications Inc Circle 78 on inquiry card. Circle 73 on inquiry card. AT LAST! BioNi'c Ear A landmark book by John L. Stewart, with technical information never before available. Based on years of research with partial support through the original Air Force Bionics program of the 1960's. Now you can understand and build devices that behave like the human ear-or a thing called "Hal". • Speech recognition for the robot • Aids for the deaf and deaf-blind • Reliable voice control • Speech bandwidth compression • Speech security • Binaural localization • Bat-like echoranging • Sonar target recognition • Control of animals with sounds • Language training • Speech enhancements • and much, much more... Hardware representations give new understanding of man-not only how, but also why the ear works as it does. A far-reaching new theory-complete-sophisticated- powerful-destined to influence not only computers, but also concepts in physiology for decades to come. This new and invaluable information for only $35.00 plus post- age and handling. ($1.50 regular or $4.00 priority or UPS Blue in USA and Canada. Other countries add $12.00 for air or $3.50 surface, all U.S. funds.) California residents also add 6% sales tax. Send check, money order, or VISA or Master Charge num- ber (and expiration date). Phone orders accepted. Credit only on approval. COVOX PublishiNq P.O. Box 2342 Orcutt, CA 93454 • Tel.: (805) 937-9545 A MICROCOMPUTER SYSTEM WITH THE SPEED AND POWER TO HANDLE A BUSINESS WORK LOAD. TheComputex 16-bit MICROENGINETM CPU processes Pascal (UCSD version 3.0) five times faster than any comparable unit, and at least twenty times faster than the 8080 or Z80. Still ourX-pert SystemsTM are price competitive with 8-bit systems. $2695* ready to run PASCAL MICROENGINETM LIMITED TIME cash price. 10% DOWN, guarantees priority. MICROENGINETM specifications: • 16-bit P-codeCPU • 64K bytes RAM • Floppy disk controller • Full DMA • Floating point hardware - 2 serial (RS232) I/O ports • 2 parallel I/O ports • Pascal and Basic compilers • Text editor, • File manager - CPU and memory diagnostics • Symbolic Pascal debugger Also available: • Complete turn-key systems • CRT terminals • High speed printers • Text quality printers ■ Floppy disk drives • Applications software Customer satisfaction is guaranteed. Full refund with the return of any product within 10 days. Complete technical catalog $1. COMPUTE "THE COMPUTER EXPERTS." 5710 Drexel Avenue Chicago, IL 60637 (312)684-3183 Expand yourTRS-80. Save $100. Meet the Vista V80 Mini Disk System. The perfect way to upgrade yourTRS-80* system. Inexpensively. (Our $395.00 price is about $1 00.00 less than the manufacturer's equivalent.) Here's how it can help you. 23% more storage capacity. Useable storage capacity is increased from 55,000 to 65,000 bytes on drive one. 8 times faster. While electronically equal to the TRS- 80 Mini-Disk system, track-to-track access is 5ms versus 40ms for the TRS-80. Better warranty. The V80 carries a 1 20 day warranty - longerthan any comparable unit warranty available. The Vista V80 Mini Disk System comes complete with Minifloppy disk drive, power supply, regulator board and case. And it's ready to run - simply take it out of the box, plug it in and you're ready to go. Vista 1 320 East St. Andrews Place, Suite I Santa Ana, California 92705 (714)558-8813 At Vista, we mean business. *TRS-80 ©Tandy Corp. Circle 82 on inquiry card. Circle 378 on inquiry card. BYTE July 1979 213 coded using the subroutines PUSHCAL and POPCAL. They can be coded more efficient- ly without these subroutines. For example, the action required for division can be written: CAL :=CAL - 1; CALSTACK[CAL] := CALSTACK[CAL] div CALSTACK[CAL+1] The advantage of using the subroutines PUSHCAL and POPCAL is that they can check for stack underflow (CAL < 0 in POPCAL) and stack overflow (CAL > 20 in PUSHCAL), although these checks are not shown in this listing. When the double quote character " is encountered, the interpreter prints successive characters up to, but not including, the next quote character (133 thru 139). The Pascal procedure WRITELN writes a carriage return/ line feed to the output file, and WRITE(CH) writes the single character CH. The left bracket [ introduces a condi- tional clause. The value on top of the stack is removed and examined. If it is positive and nonzero, no action is taken, and the interpreter proceeds to execute the bracketed clause. If the value on the stack is zero or IMSAI • Cromemco • SWTPC • Lear-Siegler • Problem Solvers • RCA •North Star • Verbatim • ALPHA Micro Systems and others Fast, off the shelf delivery. Give us a call TOLL FREE 800/523-5355 MARKETLINE SYSTEMS, Inc. 2337 Phllmont Ave., Huntingdon Valley, Pa. 19006 215/947-6670 • 800/523-5355 Dealer Inquiries Invited 214 July 1 979 © byte Publications inc Circle 205 on inquiry card. negative, the interpreter skips to the matching right bracket ]. The use of the procedure SKIP enables the interpreter to process nested conditions correctly. Loops are implemented by lines 143 thru 151. The effect of the left parenthesis ( is simply to push a stack frame of type LOOP onto the main stack. This stores the current value of CHPOS on the stack. (It also stores the current value of OFFSET, but OFFSET is not used for loops.) When the interpreter encounters the up arrow symbol (f), it removes and examines the value on top of the calculation stack. If this value is positive and nonzero, there is nothing to do, but if it is zero or negative, the interpreter must exit from the loop. It does this in two steps (148). First, the main stack is popped. This restores the value of CHPOS, which now points to the left parenthesis ( at the be- ginning of the loop. Then the procedure SKIP is used to skip over the body of the loop and leave CHPOS pointing to the closing right parenthesis ). This is a slightly inefficient method of terminating the loop, because the entire body of the loop is skip- ped, rather than just the section from t to ). When the right parenthesis is encountered during the execution of the loop, CHPOS is set to the stacked value POS, which causes the interpreter to jump back to the opening parenthesis. The stack is used for loops to allow loops to be nested. The rest of the case statement, lines 153 thru 194, handles macro expansion and parameter substitution. When the interpreter encounters the character # (1 53), it reads the character which follows. This character should be a letter (154). If there is a definition for the macroinstruction (DEFINITIONS[NUM(CH)] > 0), the inter- preter pushes a MACRO entry onto the main stack (158) and assigns new values to CHPOS (159) and OFFSET (160). CHPOS now points to the first character of the macro definition. The effect of adding 26 to OFFSET is to allocate 26 local var- iables in the array DATA for the use of the macro. The address of the local variable A is NUM('A')+OFFSET (see line 107); in the main program this is 1, in a macro- instruction called from the main program it is 27, and so on. If there is no definition for the macroinstruction, the interpreter skips to the semicolon which terminates the call (162). The procedure SKIP must be used to find the semicolon because the actual parameters of the macro call may include macro calls. The interpreter continues to process the macro definition until it encoun- ters an @, at which point it pops the main stack (166). Popping the stack resets OFFSET Circle 93 on inquiry card. 25 START-AT-HOME COMPUTER BUSINESSES In "Low Capital, Startup Computer Businesses" CONSULTING • PROGRAMMING • MICRO COMPUTER OPPORTUNITIES • SOFTWARE PACKAGES • FREELANCE WRITING • SEMINARS • TAPE/DISC CLEANING • FIELD SERVICE • SYSTEMS HOUSES • LEASING • SUPPLIES • PUBLISHING • HARDWARE DISTRIBUTORS • SALES AGENCIES • USED COMPUTERS • FINDER'S FEES • SCRAP COMPONENTS • AND MORE . . Plus — ideas on moonlighting, going full-time, image building, revenue building, bidding, contracts, marketing, professionalism, and more. No career tool like it. Order now — if not completely satisfied, return within 30 days for full immediate refund. • 8V4 x 11 ringbound • 156 pp. • $20.00 Phone Orders 901-761-9090 tow c*wr*. DATASEARCH incorporated 4954 William Arnold Road, Dept. B, Memphis, TN 38117 Rush my copy of "Low Capital Startup Computer Businesses" at $20. NAME/COMPANY ADDRESS CITY/STATE/ZIP _ □ Check Enclosed □ VISA □ Master Charge Exp. Date Circle 372 on inquiry card. Trans-Oats Goppopstion ANNOUNCES MICROCOMPUTERS SOFTWARE FOR OHIO SCIENTIFIC, APPLE II, AND NORTH STAR. OHIO SCIENTIFIC (C1-P, C2-4P, C2-8P) 'Interest on Loans $ 6.00 'Checking Account $ 8.00 *Luna Lauder $ 6.00 *StarTreck8K $ 6.00 'Hangman 8K $ 8.00 'Basic Tutor Series $29.00 APPLE II *File Management System 32K $60.00 •Word Processor 32K $60.00 •Step By Step 16K $39.95 NORTH STAR •Inventory $25.00 •Medical Billing $25.00 •Payroll $25.00 WE HAVE THE MOST SOPHISTICATED LIBRARY OF SOFT- WARE FOR THESE MICROCOMPUTERS IN STOCK. SEND $1.00 FOR SOFTWARE CATALOG OR CALL OUR TOLL FREE NUMBER (800) 327-8455. PLEASE SPECIFY DISK OR TAPE VERSION AND COMPUTER MODEL. Trans-Data Corp. 161 Almeria Avenue Coral Gables, Florida 33134 EASYSOFTWARE for your APPLE Let your APPLE teach you FRENCH, GERMAN, ITALIAN, a/jrfSPANISH Each package contains more than 1000 French, German, Italian or Spanish words and their English equivalents. You may answer in French, German, etc. or English either by multiple choice or by fill-in. The programs keep track of cor- rect and incorrect responses and sort words according to their difficulty. Then enjoy COMPUTER ART new beautiful symmetrical high resolution color designs. An almost infinite number! Endless hours of enjoyment. Don't get high and start watching these! ( ) FRENCH ( ) GERMAN ( ) ITALIAN ( ) SPANISH ( ) HI ART $25 Name _ $25 Address $25 City $25 State _ $10 Zip Send check or money order to: EASYSOFTWARE PO Box 84305 Veterans Adm Br Los Angeles CA 90073 MICROPOLIS SOFTWARE, mod „, WHY Do you need the CCA DATA MANAGEMENT SYSTEM? BECAUSE With this powerful system, You're in control • YOU decide on the files you need (Name & Address A/R. A/P. Payroll. Inventory. Cuslomer Lists, etc.). ■ YOU choose the names for the files and all of the data fields in the files. ■ YOU let the DMS assist you in maintaining your files using YOUR field names. Records can be added, updated, deleted, inspected, or scanned for in any file. ■ YOU let the DMS sort your files as needed. •YOU select the report or mailing label format, selecting title, fields, totaling, sub-totaling, editing and more. Stay in control ! Order the CCA Data Management System today! Only $150.00 - Comprehensive Documentation Dealer Inquiries Invited Creative Computer Applications 2218 Glen Canyon Road Altadena, CA 91001 (213) 798-4529 VISA master charcjt; Circle 103 on inquiry card. Circle 84 on inquiry card. BYTE July 1979 215 correctly, but it leaves CHPOS pointing at the macroinstruction name. The call to SKIP (166) moves CHPOS past the macro call so that processing can continue. The most difficult task for the interpreter is processing a formal parameter (169 thru 192). First, the interpreter reads the param- eter name and sets PARNUM to the corre- sponding numeric value (170). For example, if it reads %A, PARNUM is set to 1. A new entry is created in the main stack. The next problem is to find, in the stack, the stack #A,3i $A #B,%A; @ $B %A POS TAG PAR AM PAR AM MACRO OFF 26 LEVEL Figure I: The interpreter has read the formal parameter %A in the call #B,A; and is looking for the actual parameter 3. Level I of the stack, shown at the right, contains a pointer to the corresponding macro call #A,3; . The inter- preter finds this pointer by searching the stack for a MA CRO frame matching the PA RAM frame at stack level 4. CY-480 UPC™: THE WORLD'S ONLY SINGLE CHIP LSI UNIVERSAL PRINTER CONTROLLER. NOW ONLY $25.00! The CY-480 UPC™ . . . providing the kind of service and special features others don'tl And that means for off-the-shelf low prices, the CY-480 provides great flexibility and easy interfacing. Cybernetic Micro Systems' amazing CY-480 will control and interface standard 5" x 7" dot matrix printers (including those from Victor, LRC, Practical Automation and Amperex) with speeds up to 200 CPS! Operating from a single +5V power supply, the flexible CY-480 will interface easily with any microcomputer or minicomputer system through standard 8-bit ports. The CY-480 accepts either serial (RS232C) or parallel ASCII input from the host system's data channel. The CY-480 replaces bulky, expensive, dedicated controllers. This small, single LSI package offers a 5 x 7 dot matrix character generator, full upper and lower case ASCII 96-character font, and a 48-character (expandable by daisy-chaining) internal line buffer storage. Standard features include a 10, 12 or 16 characters/inch variable character density command, and horizontal and vertical independently expanded print command. The CY-480 provides graphic capability and includes a "flip-print" operating mode for 180° viewing, and ready lines provide full asynchronous communications with handshaking. Stock delivery . . . only $25 a single unit . . . send for YOURS todayl CYBERNETIC MICRO SYSTEMS 2378-B Walsh Ave., Santa Clara. CA 95050 VISA and Phone (408) 249-9255. MASTER CHARGE accepted. 216 July 1 979 © BYTE Publications Inc Circle 88 on inquiry card. frame created by the corresponding macro call. This would be easy if the call frame was at the top of the stack, but this is not necessarily the case. Consider the situation shown in figure 1, which shows a simple Mouse program and the main stack during its execution. The interpreter reads #A, creates the stack frame at level 1, and moves CHPOS to $A. It then reads #B, creates the stack frame at level 2, and moves CHPOS to $B. Now it encounters %A, creates a PARAM stack frame at level 3, and sets CHPOS to the actual parameter. The actual parameter is %A (in the call #B,%A;) and so it creates a new stack frame at level 4. Now the interpreter has to find the actual parameter corresponding to this %A. In order to do this it must locate the stack frame at level 1, which contains a pointer to #A. It can find the correct frame by using the fact that MACRO and PARAM frames in the stack are nested. (The situa- tion is slightly more complicated when an actual parameter contains a macro call, but the same strategy works.) The search is implemented by lines 171 thru 179 of the interpreter. LOOP frames on the stack are ignored (177). When the interpreter has found the cor- rect stack frame, it sets the values of CHPOS and OFFSET from it (180 and 181). The stacked value of OFFSET must be used because variables in an actual parameter belong to the level of the macro call, not to the level of its definition. CHPOS now points to the name of the macro in the macro call. The interpreter finds the correct parameter by counting PARNUM commas (182 thru 190). The counting process is complicated by two factors. One is that the actual param- eter may contain macro calls; this con- tingency is handled by SKIP (184 thru 188). The other complication is that there may be no actual parameter corresponding to the formal parameter. In this case, the interpret- er will encounter a semicolon (190), and must pop the stack frame that it just created (191). An actual parameter is terminated by either a comma or a semicolon. The action of the interpreter is simply to pop the main stack (194). Improving the Implementation The Mouse interpreter that is presented here has been pared to the bare essentials. It is complete and accurate, and was used to test the example programs of listings 1 thru 5. Mouse is easier to use, however, if the interpreter does some error checking. THANKS FOR THE MEMORIES. Thanks to these inexpensive Pet and TRS-80 memories and disk drives you can instantly turn your personal computer into a speedy and efficient professional computer. ■ Expand your Pet. 1. Disk Drive. Double density 400k on-line disk drive and DOS operating system including 17 additional BASIC commands. Random or indexed sequential access. Exceptionally fast — loads 20k program in 3 seconds. Only $1295. 2. Expandamem™ Completely internal memory that adds up to 32k. 32k unit allows for 8k of assembly language subroutines accessed via the USR command. 16k only $425. 24k only $525. 32k only $615. 3. Software. Complete library available. Write for details. Expand your TRS-80. 1. Disk Drive. Compact dual disk drive is completely compatible with TRS-80 DOS and uses own controller. Only $895. IMMEDIATE DELIVERY! ORDER TODAY! COMPU/THINK™ 3260 Alpine Road, Menlo Park, CA 94025 (415) 854-2577 Please send me the following: □ Pet Disk Drive □ Pet Expandamem™ □ 16k □ 24k □ 32k □ Pet Software (Into only) □ TRS-80 Disk Drive Total Enclosed: $ Check or Money Order only Calif. Res. add 6% tax. Freight pre-paid in continental U.S. Dealer Inquires Invited. Circle 72 on inquiry card. Circle 353 on inquiry card. for graphics! 3D GRAPHIC SOFTWARE for Apple II, TRS-80, 8080 and Z80, M6800, and BASIC. Plus Graphic Drivers for Dazzler, Matrox ALT-256 and 51 2, and Vector Graphics. HARDWARE . . . Matrox ALT-256 and _ ALT-51 2 display boards for your S100 bus. We're open 9 to 6, Monday thru Friday, central time. Give us a call. The engineering & graphics people (217)367-0299 LOGIC liUU^y Box V, Savoy, IL 61874 HOW TO START YOUR OWN SYSTEMS HOUSE A practical guide for the small EDP entrepreneur. 213-page manual covers all aspects of start- ing and successfully operating a Small Business Computer com- pany. 5th revised edition June 1979. From the contents: • The Systems House Industry • Hardware, Software or Both? • Market Selection & Evaluation • Industry Applica- tion Opportunities • Equipment Selection • Becoming a Distributor • Product Pricing • Getting Your Advertising Dollars Worth • The Selling Cycle • Financing For The Customer • Questions You Will Have To Answer Before The Customer Buys • Solving The Service Problem • Protecting Your Product • How To Write A Good Business Plan • Raising Capital • Send $36.00 (check, VISA or Mastercharge) to: Essex Publishing Co., Dept. B 285 Bloomfleld Avenue Caldwell, N.J. 07006 | | L - A Credit card orders: Send card #, dateexp. Add $2.00 for rush, air mail shipping. N.J. residents add 5% sales tax. For faster shipment on credit card orders, phone (201) 783-6940. 218 July 1 979 © BYTE Publications Inc Circle 132 on inquiry card. Some of the errors which it can easily detect are listed here: • Stack underflow and overflow (both stacks). Underflow is always the result of an error in the Mouse program; overflow may be due to an error in the Mouse program, but it is more likely that the stack is not large enough for the program. Checks for underflow should be incorporated into POP and POPCAL, and checks for overflow should be incorporated into PUSH and PUSHCAL. • Illegal characters. The interpreter should check the program for illegal characters; this can be done during loading. • Division by zero. TEMP = 0 at line 122. • Illegal address. The value of the stack at line 126 should satisfy 1 < POPCAL < OFFSET+26; the same test can be made at line 129. A stricter address check would be preferable, but is not easy to devise, since a macroinstruc- tion can access the variables both at its own level and at lower levels by means of parameters. • Context errors. The characters # and % must always be followed by a letter. • Undefined macroinstruction or missing actual parameter. These would be re- garded as errors in a stricter implemen- tation of Mouse. A tracing option is a powerful aid to debugging Mouse programs. The easiest way to trace the execution of a Mouse program is to make the interpreter display the value of each character it processes. This can be done by inserting WRITE(CH) after GETCHAR at line 90 of the interpreter (listing 6). It is also useful to trace the results of assign- ments. This can be done by printing the value of TEMP at line 129. The size of the arrays (12 thru 16) can be adjusted to suit your requirements. Most expressions can be evaluated with a small stack of two or three entries, and you may find it surprising that CALSTACK has space for so many entries. The reason is that some recursive macroinstructions (such asSandT in listing 1 ) create an entry in the calculation stack at each level of recursion, and CAL- STACK must be large enough to hold these. The array DATA makes the poorest use of space; 26 words are allocated at each level of macrocall. This implementation allows ten calling levels, which is not as generous as it sounds if you are using recursive macro- instructions. You can reduce the space requirement to ten variables (A,B. . .J) at each level, by changing line 160 to OFFSET := OFFSET + 10. Note that a macroinstruction with no local variables needs space in the array STACK but not in the array DATA, so recursive macros such as S and T in listing 1, V in listing 3, and H in listing 4, are limited only by the size of the arrays STACK and CALSTACK. Improving the Language It is easy to add features to Mouse. A random number generator is useful, particu- larly for programming games. Probably the simplest method is to use a unary operator which multiplies the number on the top of the calculation stack by a real random num- ber R such that 0 < R < 1, truncates the result, and increments it. If the character : (colon) is used to denote the operator, then 6: would leave a simulated die throw on the stack. The most severe restriction of this partic- ular version of Mouse is that it cannot process character data. A more powerful version of Mouse can be obtained by redefin- ing ? and / so that they read and write a single character. The disadvantage is that macroinstructions are then required to read and print numbers - not a large price to pay for the greater generality achieved. It is quite easy to add a case construction to the language. The following syntax is suitable: E Each C| is a clause. When the interpreter reads <, it performs the following actions: • skip to the matching > and push a CASE frame onto the main stack; • return to <; • if E > 1 , then scan the clause list until the (n-1)th comma is encountered, otherwise pop the stack. If the charac- ter > is encountered during this scan, then E > n, and the case clause is null or illegal. The action for comma, which is already defined to be POP, is correct. This construc- tion will select and execute one of the clauses C 1; C 2 . . .C n , according to the value of E. It is very easy to write a random sen- tence generating program in a version of Mouse to which a random number generator and a case construction have been added. The facilities for annotating Mouse pro- grams are very limited. Strings in quotes may be used in the main program outside loops. These serve as comments to the program 68 MICRO JOURNAL m ® ★ * VOUM IMU l-Ow*«(to*»«00Uw.(»h«nim 6800/09 USER-ORIENTE MAGAZINE Months ahead of all others with 6800/09 articles & new products Crunchers Corner — Bryant (A monthly programming tutorial) * Flex® to BFD — Puckett * Tiny Music — Thompson * Semiconductor, Part 1 — Kinzer * Soup Up Your TVT — Pass * Hints & Kinks — fixes (soft & hard) * 50 pages plus Each Month! Crunchers Corner — Bryant * A Look at the SWTPC CT-82 — Ferguson * 6800 Relative Branch Calculation (Hand) — Berenbon * Relative Calculator (Machine) - Heatherington * Maillist (Disk) - Lilly * Modems — Schuman * Semiconductor - Part 2 — Kinzer * Locate — Pigford * A20 MA, Printer-SWTPC - Perdue * AS-50 Monitor Board — Pentecost * TSC Basic for 6800 — Shirk * Plus Much-Much More! Crunchers Corner — Bryant * A Case for the Small DOS — Mauch * MF-68 Motor Fix — Sorrels * Transfer (FLEX 1 to 2 or 5) — Womack * 6800 Delay — Beren- bon * Make Like a 6809 — Fein- tuch * Games (Basic) — Harmon * Boot (Flex-BFD) — Puckett * Freeze Display (SSB) — Johnson * Paper Tape Reader — Adams * FLEX® Fixes and Much More! MAGAZINE COMPARISON (2 years) Monthly Averages 6800 Articles TOTAL PAGES KB BYTE CC DOBB'S 7.8 6.4 2.7 2.2 19.1 ea. mo. Average cost for all lour each month: $5.BB (Based on advertised 1-year subscription price) '68' cost per month: 88* {$10.50 Charter Subscription Rale) That's Right! Much. Much More for 1/6 the Cost! CHARTER SUBSCRIPTION SPECIAL 1-Year $10.50 2 Years $18.50 3 Years $26.50 OK, PLEASE ENTER MY SUBSCRIPTION Bill My: Master Charge Q — VISA p Card = _ Exp. Oate For p 1-Year p 2 Years Enclosed: $ □ 3 Years City_ -.Zip My Computer Is: 68 MICRO JOURNAL 3018 Hamill Road HIXSON, TN 37343 FOREIGN ADD: $9.50 Per Yr. Surface $26.50 Per Yr. Air Mail NOTE: Subscription Rates to increase August 1 979 by 40% — Don't miss anymore than you have already! ★ MORE 6800 ARTICLES THAN ALL OTHERS COMBINED* Circle 329 on inquiry card. July 1 979 © BYTE Publications Inc 219 text and also as a guide to progress when the program is running, since they are printed by the interpreter. The interpreter ignores text between macro definitions, so macroinstruc- tions can be titled. However, these methods use up valuable space in the array PROG. A better solution is to use a special symbol such as ' (apostrophe), or a pair of symbols such as | and | , and to modify the loader so that it does not store comments in memory. Conclusion Mouse is simple enough to be imple- mented on a small computer system in a few days, yet it is rich enough to give insight into the mechanisms used by much higher level languages. The Mouse interpreter can be used by itself or as part of a larger system. The General Purpose Macrogenerator is considerably more powerful than Mouse, but nonetheless 1 think that Strachey's appraisal of the GPM provides an apt conclusion: It has been our experience that the GPM, while a very powerful tool in the hands of a ruthless programmer, is something of a trap for the unsophisti- cated one. It contains in itself all the undesirable features of every possible machine code — in the sense of invit- ing endless tricks and time-wasting though fascinating exercises in inge- nuity - without any of the irritating ad hoc features of real machines. It can also be almost impenetrably opaque, and even very experienced programmers indeed tend to spend hours simulating its action when one of their macro definitions goes wrong. Furthermore, it is remarkably good at using up machine time - fortunately the programs written for it are usually rather short. ■ REFERENCES 1. Grogono, Peter, "MUSYS: Software for an Electronic Music Studio," Software: Practice and Experience, volume 3, 1973, pages 369 thru 383. 2. Strachey, C, "A General Purpose Macrogener- ator," Computer Journal, volume 8, 1965, pages 225 thru 241. 3. Jensen, K and N Wirth, PASCAL User Manual and Report, Springer-Verlag, 1976. 4. Grogono, Peter, Programming in PASCAL, Addison-Wesley, 1978. tllC IMGTO [BUY A PET 'l6K RAM FOR ONLY $950. Comp uter Theatre FEATURE ATTRACTIONS Cromemco system Three Features.. • Z-80A Micro Processor • 32 K RAM • Dual 8" Disk Drive, Easily Expandable to 4 Drives. • RS232 and Printer Interface . List $5,990. Our Price $4,995. Cromemco System Two Features... • Z-80A Micro Processor • 32K RAM • Dual 5" Wangco Drives • RS232 and Printer Interface. List $3,990. Our Price $3,095. Pre-paid orders are shipped with any software package FREE (specify) . EXIDY SORCERER 16 K $1,150^ |Ma g 0 . Extra A A tree! 16K Memory AND RECEIVE f t A CASSETTE RECORDER ** TC * automodem n for the ^Jappta II a special introductory offer... $ 259. Here's an ^appie there's an ^appfc (or any other remote computer, large or small) and the automodem will combine the two to establish a total data communication system the applestick The NEW Applestick Joystick /Game Paddles Combination. Introductory price $ 34.95 Hours: Tues-Fri 11:00 AM to 8:00 PM-Sat 10:00 AM to 6:00 PM (Closed Sun, Mon) Master Charge, VISA, BofA are accepted. No COD. Allow two weeks for personal check to clear. Add $1.50 for handling and postage. For computer systems please add $10.00 for shipping, handling and insurance. California residents add 6% sales tax. ^CipplGlI 16K $1,195. free ! l^KMemory B computer components MICRO computers •personal /small business 15818 Hawthorne Boulevard k Lawndale. California 90260 ( 213) 370-4842 OF SOUTH BAY 220 July 1979 © BYTE Publications Inc Circle 54 on inquiry card. Circle 316 on inquiry card. WE SHIP FROM STOCK — EVERYTHING FACTORY FRESH, FULLY WARRANTEED WE ARE KNOWN FOR OUR PROMPT, COURTEOUS SERVICE TELETYPE MODEL 43 TTL $985 RS232 $1,085 (We stock Teletype Paper and Ribbons! DEC LA 34 High quality, hard copy, dot matrix printer. Plug compatible substitute for the Teletype 43. RS232 included at no extra cost $1,159 HAZELTINE 1500 assembled $945 1510 $1,085 Also available with French, German or Danish character sets. MARINCHIP SYSTEMS M9900 CPU The Complete, Compatible 16 bit CPU for the S-100 Bus Kit Assembled M9900 (includes software) $550 $700 We configure systems to suit your individual requirements. MODEM Originate/Answer. The "CAT" from Novation $190 HARD DISK CONTROLLER From Konan $1,550 S-100 compatible; plugs into S-100 mainframe, controls 1-4 drives. We Also Carry: •PER SCI'FUJITSU HARD DISK DRIVES'TEI MAINFRAMES* • TARBELL CONTROLLERS • INTERTUBE • SOROC • • IMS AND OTHER MEMORIES • TELL US OF YOUR NEEDS • • WE CAN OBTAIN MANY ITEMS AT LOW COST • To Order: $1 2 shipping for Terminals. $4 shipping for other items. 24 hr. shipping upon receipt of certified check or money order. Personal checks: allow 10 days. Credit cards: 4% charge. NY residents add tax. ★ WE EXPORT TO ALL COUNTRIES * OVERSEAS CALLERS USE (212) 448-6298 ONLY WE CAN ADAPT MOST EQUIPMENT FOR 220v, 50Hz We have no reader inquiry number. Please call or write. john d. OWENS ASSOCIATES, inc. 147 NORWOOD AVENUE STATEN ISLAND, NEW YORK 10304 DAY. EVENING, WEEKEND, HOLIDAY CALLS WELCOME! (212) 448-6283 (212) 448-6298 CATCH THE S-100 BUS! OUR LIST SPECIAL PRICE CASH PRICE 195.00 150.00 lmsai"8080" 750.00 625.00 Imsai MI0 (two parallel, one serial, one control & Tarbell tape cassette port SSM 5B-1 Music Synthesizer Board Kit IMC PR0-1 Dual Extender Card Thinker Toys Discus II - Double Density Disk System S.D. Systems Versafloppy Disk Controller Kit S.D. Systems 32/64K Memory Board Kit 150.00 39.00 125.00 33.00 1149.00 977.00 159.00 135.00 141.00 120.00 Call for Our Prices on: Cromemco, IMSAI, Vector Graphic, North Star, Sanyo, Hazeltine, IMC plus Most Other Major Lines. Subject to Available Quantities • Prices Quoted Include Cash Discounts. Shipping & Insurance Extra. bus S-IDD,inc. Address. . .7 White Place Interface. Clark, N.J. 07066 201-382-1318 tipple computer SOFTWARE FOR BUSINESS includes: * Mailing List * General Ledger Payroll * Phone Directory * Customer Information * Invoice Writer * Inventory * CheckWriter * Complete Business System * Master Business System Available Soon Word Processor vidEo|sslw/oRld 2224 N. University, Peoria, II. 61604 Phone 309/686-9352 •Trademark of Apple Computer Co. Inc. Main/Frames m $200 Main/Frames $200 • 14 Basic Models Available • Assembled & Tested • Power Supply: 8v@15A, ± 16v@3A • 15 Slot Motherboard (connectors optional) • Card cage & guides • Fan, line cord, fuse, power & reset switches, EMI filter • 8v@30A, ± 16v@10A option on some models Write or call for our brochure which includes our application note: 'Building Cheap Computers' INTEGRAND 8474 Ave. 296 • Visalia, CA 93277 • (209) 733-9288 We accept BankAmericard/Visa and MasterCharge Circle 376 on inquiry card. Circle 179 on inquiry card. BYTE July 1979 221 ■ THE RECREATIONAL PROGRAMMER QUALITY SOFTWARE! Tl & HP Programmables BASIC lor most computers GAMES- ALGORITHMS-PUZZLES STOCK ANALYSIS- AND MORE! OVER 30 PAGES BIMONTHLY! ANNUAL SUBSCRIPTION ONLY: S12 within USA & APO/FPO:s S24 Foreign by AIRMAIL Single Issue lor S3 incl P&H VISA and MASTERCHARGE OKI CALL (616)343-3546 NOW! Box 2571 Kalamazoo Ml 49003 6800 SS50 16K SYSTEMSl Includes: Mainframe cabinet, mother board, powerl supply, fan. CPU, 16K static RAM. and choice of I/O I card $1294.29 1 Other packages available. 16K STATIC RAM BOARDS - SS50I Gold Bus connectors — DIP switch controllable I addressing, write protect and enabeling of each 4K| block. Tested at 2 MHz Assembled $298,131 Above but socketted and with software control registers. [ Assembled $368,161 TI TMS 4044's: 450 ns $5.00 each I 250 ns $6.00 each I 2708's $7.90 each | These are factory prime chips from same shipments we our professional quality boards. Add $10 handling on orders under S200. cimix inc. 1337 W. 37th Place • Chicago, IL 60609 1 (312)927-5510 • TWX 910-221-4055 The Company that delivers. Quality Electronic products since 1975. GIMIX- and GHOST" are registered trademarks of GIMIX INC TRS-80 disc software WORD PROCESSOR Avoid work processor converted from other system. Hard to load object file & cannot store text in disk. Ours is specifically designed for the TRS-80. Written in BASIC. No special hardware and text limit. £39. INVENTORY While others use inefficient sequential file, we use 9-digit key for fast on-line random access. Reports give order info, performance summary, etc. $39. MAIL print report & labels sorted by any field. Random access, special buffering technique. £35 DATA BASE MANAGER You can maintain a data base & produce reports without any programming. Define fields, types, screen & report formats on-line. Almost use up the required 32K memory. £49. KEY RANDOM ACCESS UTIL hashing, blocking, buffering, auto I/O error retry. Put your disk into optimal use. £19. ACCOUNT manage client accounts & account receivable. Remark fields for general use. Automatic billing & transaction recording. 32K req. £59. Full documented. Fast delivery. Our competitors offers £99 cassette word processor. £90 'on memory' inventory, inflexible mail system, 1 BK data base. MICRO ARCHITECT 9B Dothan St.. Arlington. MA 021 74 Intel 8080 Microprocessor Instruction Set Technical G3 H Fwum Symbol B, C, D, E, H, L F PSW rp PC M r, r1 , r2 r m data addr, data16 PP n cc -(SP) (SP) + A V v- + In my work with the 8080 micropro- cessor, I have found the accompanying instruction set summary very useful. The instructions are grouped in five tables ac- cording to function, with a single line sum- mary being given for each instruction. In addition, there is an explanatory table of nomenclature and symbols. The order of the instructions is the same as given in the Intel 8080 Microcomputer Systems User's Manual. The method of tabulation makes it very clear which registers and flags are af- fected by the execution of each instruction. R S Clist PhD, Scientist, Electronics Group, Dept of Scientific and Industrial Research, POB 2225, Auckland NEW ZEALAND.. Meaning 8 bit accumulator 8 bit general purpose registers Condition code flags Z, S, P, CY, AC (Zero, Sign, Parity, Carry, and Auxiliary Carry) 16 bit Processor Status Word (comprising A and F) One of the register pairs B representing BC D representing DE H representing HL SP representing 16 bit stack pointer 16 bit program counter register Memory location whose address is in HL One of the registers A, B, C, D, E, H, L, or M bit m of the register r 7 6 8 bit data quantity 16 bit address or data quantity (note: 8 bit port number Restart number 0 thru 7 1 low byte is stored first) NZ not zero Z = 0 Z zero Z = 1 NC no carry CY = 0 C carry CY = 1 PO parity odd P = 0 PE parity even P = 1 P plus S = 0 M minus S = 1 indirect reference stack push operation stack pop operation is replaced by is exchanged with boolean NOT (bar above symbol) boolean AND boolean OR boolean Exclusive — OR addition two's complement subtraction Data Transfer Group Flags affected Z S P CY AC Registers affected Bytes Op code Operands Meaning Action r2 1 MOV r2,r1 Move register r1 to register r2 r2-r1 r 2 MVI r, data Move immediate data r <- data rp 3 LXI rp, datal 6 Load register pair immediate rp *~ data 16 A 3 LDA addr Load accumulator direct A<- (addr) 3 STA addr Store accumulator direct (addr) «- A HL 3 LHLD addr Load HL direct HL*- (addr) 3 SHLD addr Store HL direct (addr) *- HL A 1 LDAX rp* Load A indirect A<-(rp) 1 STAX rp* Store A indirect (rp) *- A HL, DE 1 XCHG Exchange HL with DE HL <-» DE *B or D only Arithmetic Group ■J V V n/ st yj V V V V V VV si sj V V V V V V V V V V V n/ sj v v VV V V n/ V V V V v V A,F 1 ADD r Add register A^A + r A, F 2 ADI data Add immediate A <- A + data A, F 1 ADC r Add register with carry A + r + CY A, F 2 ACI data Add immediate with carry A^A + data + CY A, F 1 SUB r Subtract register A*-A -r A, F 2 SUI data Subtract immediate A <- A — data A, F 1 SBB r Subtract register with borrow A «- A - r - CY A, F 2 SBI data Subtract immediate with borrow A <- A — data - CY r, F 1 INR r Increment register r<- r + 1 r, F 1 DCR r Decrement register r«~r-1 * rp 1 INX rp Increment register pair rp<- rp + 1 *binary si rp 1 DCX rp Decrement register pair rp «- rp — 1 * HL, CY 1 DAD rp Add register pair to HL HL*- HL + rp A, F 1 DAA Decimal adjust accumulator The 8 bit number in A is adjusted to form two 4 bit BCD digits. r TERMINALS FROM TRANSNET PURCHASE FULL OWNERSHIP AND LEASE PLANS PURCHASE PER MONTH DESCRIPTION PRICE 12 MOS. 24 MOS. 36 MOS LA36 DECwriter II 51,595 S 152 S 83 $ 56 LA34 DECwriter IV 1,295 124 67 45 LA120 DECwriter III, KSR . . . 2,295 219 120 80 LS120 DECwriter III, RO 1,995 190 104 70 LA180 DECprinter I, RO 1,995 190 104 70 VT100 CRT DECscope 1,695 162 88 59 VT132 CRT DECscope 1,895 181 97 66 TI745 Portable Terminal — 1,875 179 98 66 TI765 Bubble Memory Term. 2,795 267 145 98 TI810 RO Printer 1,895 181 99 66 TI820 KSR Printer 2,395 229 125 84 ADM3A CRT Terminal 875 84 46 31 QUME Letter Quality KSR 3,195 306 166 112 QUME Letter Quality RO 2,795 268 145 98 HAZELTINE 1410 CRT 895 86 47 32 HAZELTINE 1500 CRT 1,195 115 62 42 HAZELTINE 1520 CRT 1,595 152 83 56 Dataproducts 2230 7,900 755 410 277 DATAMATE Mini Floppy 1,750 167 91 61 FULL OWNERSHIP AFTER 12 OR 24 MONTHS 10% PURCHASE OPTION AFTER 36 MONTHS t< ACCESSORIES AND PERIPHERAL EQUIPMENT ACOUSTIC COUPLERS • MODEMS • THERMAL PAPER RIBBONS • INTERFACE MODULES • FLOPPY DISK UNITS PROMPT DELIVERY • EFFICIENT SERVICE J I IransNet Corpora tion 2005 ROUTE 22, UNION, N.J. 07083 201-688-7800 NEW! 779 Line Printer Timer Works with TRS-80® and Centronics® 779 Line Printers Turns Motor on and off Automatically No software or hardware changes needed. Saves motor life and power. Just solder 3 wires and mounts inside printer. Dealers wanted, inquire on company stationery, also O.E.M. and service accounts wanted. $75.00 complete with one year warranty. Make checks payable to: Digital Timing Devices 4306 N.E. 6 Ave. Ft. Lauderdale, FL 33334 USA Phone # (305) 561-3757 Division of D. S.S.I. • These are registered trademarks for Radio Shack & Centronics. Circle 373 on inquiry card. Circle 102 on inquiry card. July 1 979 © BYTE Publications Inc 223 Logical Group Flags affected Z S P CY AC Registers V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V 1 affected Bytes Op code Operands Meaning Action A, F 1 ANA r AND register A*-AAr A, F 2 ANI data AND immediate A^-AA data A F 1 X RA Fxrlllsivp — OR rpniltpr A <- A¥ r A, F 2 XRI data Exclusive -OR immediate A «- A V data A, F 1 ORA r OR register A*- A V r A, F 2 ORI data OR immediate A *- A V data F 1 CMP r Compare register (Z = 1 if A = r) (CY =1 if A < r) F 2 CPI data Compare immediate (Z = 1 if A = data) A_data (CY = 1 if A < data) A, CY 1 RLC Rotate left A n + 1- A nAr A 7- CY *- A 7 A, CY 1 RRC Rotate right A n^ A n + 1' A 7^ A 0- CY ^ A 0 A, CY 1 RAL Rotate left through carry A n + 1<- A n' CY *- A 7' A 0^ Y A, CY 1 RAR Rotate right through carry A n -A n+1 ,CY-A Q ,A 7 -CY A 1 CMA Complement accumulator A*- A CY 1 CMC Complement carry CY*-CY CY 1 STC Set carry CY<-1 Branch Group Flags affected Registers affected Bytes Op code Operands Meaning Action PC 3 JMP addr Jump PC <- addr PC 3 Jcc addr Conditional jump PC *- addr (if cc true) PC, SP 3 CALL addr Call -(SP) <- PC, PC <- addr PC, SP 3 Ccc addr Conditional call -(SP) <- PC, PC*- addr (if cc true) PC, SP 1 RET Return PC*- (SP) + PC,SP 1 Rcc Conditional return PC <- (SP)+ (if cc true) PC, SP 1 RST n Restart -(SP) <- PC, PC*-8n PC 1 PCHL Jump HL indirect PC*- HL Flags affected Stack, I/O, and Machine Control Group Registers affected Bytes Op code Operands Meaning Action SP 1 PUSH rp* Push register pair -(SP) «- rp SP 1 PUSH PSW Push processor status word -(SP) *- A, F SP, rp 1 POP rp* Pop register pair rp*- (SP)+ SP, A, F 1 POP PSW Pop processor status word A, F «- (SP) + HL 1 XTHL Exchange stack top with HL HL*-^ (SP) SP 1 SPHL Move HL to SP SP*- HL A 2 IN pp Input A *- (pp) 2 OUT pp Output (pp) *- A 1 El Enable interrupts Enable interrupts after execu- tion of next instruction. 1 Dl Disable interrupts Disable interrupts after execu- tion of this instruction. 1 HLT Halt Stop the processor (may be started again only by interrupt or hardware restart). 1 NOP No Operation No operation is performed. * B, D,or H only 224 July 1979 © BYTE Publications Inc Headwind Progress Made In "Computer Assisted Flight Planning " (March 1979 BYTE, page 206), the author did, indeed, identify a problem suited for the computer. One aspect of the article is unclear and I would like to suggest a solu- tion to the headwind/tailwind limitation de- scribed by the author. The unclear aspect of the article relates to the two pass system. Such a system is not really necessary as the author has already solved the problem. The drift equation is the exact solution of the velocity vector triangle for the crab angle (angle at which the plane must be turned so that the resultant forces of the wind and airplane produce travel in the desired direction). In other words, the drift plus the true course heading yields the true heading to be taken. The given equation is instructive in that all elements are included for students to identify. However, for pro- grammable calculators with very limited program steps, this equation can be short- ened by using the identities: s'm(-x)=-sin(x) and sin(x±1 80)=-sin(x). This yields: drift= sin" 1 Q*g! x sin (wind-true)] where wind direction is defined as the di- rection from which the wind is coming. The author, in solving the velocity vector triangle for the ground speed, uses the Law of Sines. This introduces the limitation that the equation cannot be used for direct tail wind or head wind situations, since a non- physical answer results from division by zero (sin (0) = 0). The use of the Law of Cosines avoids this problem and yields: GS -X (TAS) 2 +W 2 -2(W) (TAS) cos (WD - TC ■ CA) where: GS = TAS = W = WD = TC = CA = ground speed, true air speed, wind speed, wind direction (the direction from which the wind is coming), true course heading, crab angle ■ Bruce Ronald Fiene Commercial Pilot, ASMEL Instrument 408 Big Stone Dr Xenia OH 45385 64KB MICROPROCESSOR MEMORIES • S-100 - $695.00 • SBC 80/10 - $750.00 • LSI 11 - $750.00 • 6800 - $750.00 CI-S100 64K x 8 CI-1103 32K x 16 " >iiiiiiF!mmiiiiM!!iiiiiTlli!iiii ! CI-6800 64K X 8 CI-8080 64K x 8 CI-S100 — 64K x 8 on a single board. Plugs directly into the IMSAI, MITS, TDL, SOL and most other S-100 Bus computers. No wait states even with Z80 at 4Mhz. Addressable in 4K in- crements. Power requirement 6 watts. Price $695.00. CI-1103 — 8K words to 32K words in a single option slot. Plugs directly into LSI 11, LSI 11/2, H11 & PDP 1103. Addressable in 2K increments up to 1 28K. 8K x 1 6 $390.00. 32K x 1 6 $750.00 qty. one. CI-6800 — 16KB to 64KB on a single board. Plugs directly into Motorola's EXORcisor and compatible with the evaluation modules. Addressable in 4K increments up to 64K. 1 6KB $390.00. 64KB $750.00. CI-8080 — 16KB to 64KB on single board. Plugs directly into Intel's MDS 800 and SBC 80/10. Addressable in 4K increments up to 64K. 16KB $390.00. 64KB $750.00 Tested and burned-in. Full year warranty. Chrislin Industries, Inc. \ j Computer Products Division 31352 Via Colinas • Westlake Village, CA 91361 • 213-991-2254 Circle 47 on inquiry card. July 1979 © BYTE Publications Inc 225 Subroutine Parameters W D Maurer University Library Bldg Room 634 George Washington University Washington DC 20052 If you've written computer programs in any language, you must be aware by now what a subroutine is, although you might not have written any. The basic concept of a subroutine is present in all computer lan- guages, although every language implements it a bit differently from the others. In sys- tems based on the 8080, the 8085, or the Z-80, you write CALL SUB to call the sub- routine called SUB. On the 6800 and the 6502, it's JSR SUB, while in BASIC it's GOSUB a where the first statement of the subroutine SUB is on line number a. But re- gardless of the language, the concept is the same: you have something in your program that you want to do more than once. It may be looking up an element in a table; it may be printing out a list; it may be making an access to a data structure; but whatever it is, you need it at various times in your pro- gram. You don't want to have to write out the same instructions over again every time you need that particular job to be done, be- cause this is wasteful of memory space. So, therefore, you group together the instruc- tions that do this job into ^subroutine, and then, at any point that you want the job to be done, you put in an instruction to call the subroutine. When the subroutine is finished, it returns to the point immediately following the place where it was called; and this is also done differently in different programming languages - one writes RETURN in BASIC, RET for the 8080 and Z-80, and RTS (re- turn from subroutine) for the 6800 and 6502. All this is fine if the job you want to do repeatedly is exactly the same every time you want to do it. But, in practice, this is usually not the case. For example, if you are looking up an element in a table, you are probably looking up a different element each time. If you are multiplying two 16 bit quantities — a very common subject for a small system subroutine — the quantities you are multiplying are probably not the same from one multiplication to the next, and the result is also probably not the same variable. This is true even though the logic of multiplication does stay the same. It is this that has led to the idea of subroutine parameters, the subject of this article. Parameters In applied mathematics, there is a con- cept of parameter which will be familiar to those small system users who have back- grounds in engineering or physical science. Consider, for example, the graph of a func- tion. You are usually expressing y in terms of x, but if you are constructing the graph of a circle, it is sometimes more useful to intro- duce another variable 8 to represent the angle, and then to express both x and y in terms of 6. The variable d, in this context, is called a parameter. In computer program- ming, however, whether on large systems or small ones, the word "parameter" has a more general meaning, and one which does not require any knowledge of applied math- ematics; it is simply any variable which is used by a subroutine, and which is supplied to that subroutine by the program that calls it. Parameters of subroutines are related to arguments (sometimes also called parameters or formal parameters) of functions. If you have a function f(t) or g(a, b) or h(x, y, z), then t, a, b, x, y, and z are the arguments. On a computer, the value of a function is computed by a subroutine, and this must be considered as one special kind of subroutine. Some languages allow you to use functional notation for functions; thus h(x, y, z) might be FNH(X, Y, Z) in BASIC, for example (provided that the definition of h was simple enough). In assembly language, however, one generally uses the same instructions (CALL, JSR, or whatever), whether one is calling a subroutine to calculate the value of a func- tion, or a more general subroutine. Those who work with big computers have laid out a considerable amount of terminol- ogy dealing with parameters and how they are supplied, or passed, to a subroutine by the program that calls it (and sometimes vice versa). One of the purposes of this article is to lay out this terminology for the small sys- tem user so that he or she will not have to reinvent the wheel. It should be emphasized that, for a long time, mathematicians be- 226 July 1 979 © BYTE Publications Inc lieved that there ought to be a single concept of parameter that would work well in all sit- uations. Gradually we have come to realize that there are at least four, and probably a good deal more, reasonable implementations of parameter passing. These will be detailed in what follows. Two Examples To illustrate why the concept of para- meter differs from one situation to another, let us consider two simple subroutines: an output subroutine and a multiplication sub- routine. The output subroutine will be called OUTPUT(X), and its job will be to output the character X. The multiplication subrou- tine will be called MULT16(I, J, N), and its job will be to multiply the two 16 bit quan- tities I and J, producing the result N. The problem we are to solve is how to call OUT- PUT(Z), OUTPUT(Q), and so on, for various characters we wish to output, and similarly MULT16(A, B, C), MULT16(U, V, W), and so on, for various multiplications we wish to perform. Consider first the case of the output sub- routine. Suppose that in this subroutine there is a variable called X. In order to out- put Z, for example, we move Z to X just be- fore calling OUTPUT. The same sort of thing will work for Q, or any other character we wish to output. This method of passing para- meters is known as call by value. It may be defined more formally as follows. Suppose we have a subroutine such as OUTPUT(X), where X stands for any parameter, such as Z or Q, that might actually be supplied. Here Z and 0 are called the actual parameters, and X is called the forma/ parameter. Then call by value consists of: 1 . Moving the value of the actual para- meter to the formal parameter. (If there is more than one formal para- meter— as in the case of a function h(x, y, z) — then they must all be moved.) 2. Calling the subroutine. In assembly language it is very common for X, in a situation such as the above, to be a register. Then all we have to do is to load the register before we call the subroutine; the subroutine assumes that Z, or Q, or whatever stands for X, is in that register. (On the 8080, the Z-80, the 6800, and the 6502, the most common register used for this pur- pose is the A register, although ISIS, the operating system for the Intellec, which is an 8080 based system, uses the C register.) If we now look at MULT16, however, we can see without too much trouble that call by value doesn't work. Let us see why not by laying out a specific example. Suppose we are calling MULT16(U, V, W), where MULT16 has been defined as a subroutine with parameters I, J, and N. That is, I, J, and N are the formal parameters, while U, V, and W are the actual parameters. To use call by value, we would first have to move the values of U, V, and W into I, J, and N. That is, U would be moved to I; V would be moved to J; and W would be moved to N. Now we would call the subroutine; and the subroutine, we are assuming, multiplies the 16 bit quantities I and J and sets N equal to the result. What is wrong with this? Since we were calling MULT16(U, V, W), what we presum- ably wanted was to multiply the two 16 bit numbers U and V, and set W equal to the re- sult. It is not too hard to see that we did, actually, multiply U by V, because we set I equal to U, and J equal to V, and then we multiplied I by J. But what happens to W? We set N equal to the result of multiplying U by V; but we didn't set W equal to any- thing. (We also, earlier, set N equal to W — an unneeded and useless operation.) The general situation here is that whenever we have a formal parameter that is set to some new value by a subroutine, call by value will not work; the formal parameter will not be set to the new value (or to any new value). Because of this, people who work with big computers came up with three alterna- tive methods of passing parameters. The first of these is known as call by value and result (or sometimes, informally, as "copy- restore"). The second is known as call by reference (or sometimes "call by address" or "call by location"). The third is known as call by name. We shall take up each of these in turn. Call by Value and Result Call by value and result is a rather straightforward way of fixing the bug in call by value that should be evident from the preceding discussion. In fact, what we wanted to do in our MULT16 subroutine was as follows: 1. Set I equal to U and J equal to V. 2. Call the subroutine (which multiplies I by J, giving N). 3. Set W equal to N. In other words, there are two parameter- passing operations — one just before the sub- routine starts, the second one after it ends — and one is the reverse of the other. In the first operation, we move actual parameters to formal parameters. In the second opera- tion, we move formal parameters to actual parameters. The parameters we move the first time are the ones that are used by the subroutine; the parameters we move the sec- ond time are the ones that are set by the subroutine. But how can we tell which parameters are used and which ones are set? It won't always be the case that the first two are used and the last one is set (if there are three alto- gether). They might all be used, or two of them might be set, or any number of possi- ble combinations. Again, there is more than one reasonable solution to this problem. The solution chosen by the designers of a number of computer languages in wide- spread use by the American military estab- lishment (NELIAC, JOVIAL, CMS-2) was to build the distinction between used and re- turned parameters into the syntax of the lan- guage. In other words, when you call a sub- routine in any one of these languages, you would have to specify, in some way, which of these you intended to be used and which you intended to be returned. (JOVIAL, for example, uses a semicolon; we would speak of MULT16(U, V; W), for example, where the semicolon separates the used parameters U and V from the returned parameter W.) This certainly solves the problem, although only if you are going to use call by value and result, at the cost of making life a trifle more complicated for those who don't want to have to worry about how parameters are passed. The other solution, chosen by IBM, is to regard all parameters as both used and re- turned at all times. This may seem a bit wasteful, but in fact, compared to call by reference (to be described below), it is more efficient, most of the time. It does, however, lead to some strange and unusual results, the most famous of which may be illustrated as follows. Suppose we have a subroutine D(X, Y), where X and Y are the formal para- meters, and suppose that this sets X to zero and does not change Y. Now suppose that we call D(L,L). Of course, we would like this to set L equal to zero. But see what happens: 1 . Since X and Y are treated as both used and returned, our first step is to set X equal to L and Y equal to L. 2. Now we call the subroutine, which sets X equal to zero and does not change Y. 3. Finally, we return the actual para- meters. First we return X by setting L equal to X. Since X is now zero, this will set L equal to zero, which is exactly what we wanted. But now we return Y by setting L equal to Y. Since Y is still the original value of L, this will undo the previous result, and the final outcome will be that L is the same after calling D as it was beforehand! The behavior illustrated above can be avoided simply by setting LI equal to L and then calling D(L, LI), rather than D(L, L). In general, when using call by value and re- sult, with all parameters used and returned, one should never use two actual parameters which are the same. The problem above actually happened to a student of this author, who wrote a big FORTRAN pro- gram that ran on the CDC 6400, a computer using call by reference — to be described be- low— but mysteriously failed to run on the IBM 360, a computer using call by value and result. Many hours of analysis traced the bug to a subroutine call like D(L, L) above. Call by Reference Call by reference, historically, preceded call by value and result, although it was not known by that name at that time. The idea of call by reference is to give the subroutine the addresses of its parameters, rather than their values. Then, when the subroutine either uses or sets one of its formal para- meters, it does so by making a reference to that address. Let us see how this would work on a small system: 1. On the 8080, you can load the HL reg- ister pair with the address of the parameter a with the instruction LXI H, a just before calling the subroutine. Then, in the subrou- tine, if you need to load this parameter into any register r, you can use MOV r,M; if you need to operate on it arithmetically, you can use ADD M, SUB M, ANA M, and the like; if you need to set it to a new value which is now in register r, you can use MOV M,r. If you need the HL register pair for other pur- poses in your routine, you can do an XCHG if you don't need the DE register pair, or you can PUSH H while you use HL and POP H afterward. If there are two parameters, you can load one into HL with LXI H, a as before, and load the other one into BC or DE. If there are several parameters, you can push their addresses onto the stack before calling the subroutine, and pop them back within the subroutine. 2. On the 6800, you can load the X regis- ter with the address of the parameter a with the instruction LDX # a (where the # speci- fies an immediate addressing instruction) just before calling the subroutine. You can now use indexed addressing instructions to manipulate the parameter by loading it (LDAA 0,X or LDAB 0,X), storing it (STAA 0,X or STAB 0,X), or performing arithmetic operations such as ADDA 0,X or ANDB 0,X. 228 July 1979 © BYTE Publications Inc If there is more than one parameter, you can move the addresses of all the actual para- meters to fixed locations within the subrou- tine before calling it. The subroutine can then load each of these into the X register when needed, after which any of the in- dexed instructions discussed above may be used. 3. On the 6502, there is a general method involving loading the X register, just before calling the subroutine, with the address of a table of addresses of actual parameters. That is, we execute LDX #a where we have written (in page zero) : DFB DFB DFB DFB DFB DFB U MOD 256 U/256 V MOD 256 V/256 W MOD 256 W/256 for example, defining a byte for the low order address and then for the high order address of each of the parameters U, V, and W. One can then make reference to the actual parameters by indexed indirect ad- dressing: LDA (0,X) for U, LDA (2,X) for V, and LDA (4,X) for W. This is perfectly general, since LDA (load) can be replaced by STA (store), ADC (add with carry), CMP (compare), AND, and so on. 4. On the Z-80, you can (as always) mimic the 8080, or you can use registers IX and IY to contain the addresses of para- meters. An additional advantage of call by refer- ence is that it allows you to have, as a para- meter, the name of an array. For example, you might be writing a subroutine to com- pare two character strings to see if they are the same. There would be two parameters, namely the two character strings. If you used call by value, you would have to move these entire strings into new locations just before calling the subroutine. This would be wasteful of both time and space, and is, in fact, never done; even systems that use call by value or call by value and result, if they allow array names as parameters, use call by reference (or call by name, to be discussed below) for these. Thus you would only be passing, from the program to the subroutine, the two string starting addresses; that is, for each string, the address of its first byte. One important source of confusion, when call by reference is used, has to do with how to return a parameter. A large number of programmers try, when they are writing a subroutine, to have it put its answer "some- where" and then furnish the main program with the address of where that "somewhere" is. This never works, because the main pro- gram has no way of using that information. It is not up to the subroutine to tell the main program where the information is to be returned; it is up to the main program to tell the subroutine where to return the informa- tion, and then the subroutine must return the information to that point. In particular, the subroutine will never be right if it re- turns a parameter to a fixed location. When writing a subroutine, if call by reference is used, it should be remembered that this sub- routine can be called more than once, with different actual parameters each time, and therefore, when it changes the value of one of its actual parameters, that change must be made by storing this new value in an indexed location — where the index is normally the HL register pair on the 8080, the X register on the 6800 and 6502, and (possibly) the IX or IY register on the Z-80. Call by reference is, in general, more in- efficient than call by value and result, partic- ularly if we make reference to a parameter inside a loop. One technique that has been tried on big computers, and works rather well for subroutines that take large amounts of time, is address modification. This in- volves storing the addresses which are passed as parameters directly into the instructions that use them. Unfortunately, this technique is inappropriate in most microcomputer sys- tems, where the instructions are in read only memory and thus cannot be modified as the program is running. It should also be men- tioned that on some systems which use both call by reference and call by value and result, the second of these is implemented as a special case of the first. That is, it is always the addresses, or references, that are passed (so that there is only one kind of standard subroutine protocol rather than two), but, whenever call by value and result is to be used, the subroutine — rather than the main program - performs the setting of formal parameters to actual parameter values and vice versa. Call by Name This brings us, finally, to call by name — the easiest to define, and yet the hardest to understand, of the better known parameter passing methods. For years, call by name was a pons asinorum among big computer software people; that is, the way of distin- guishing the bright from the dumb, or the "with-it" from the "not-with-it," was whether you understood call by name. Lately there has been a bit less interest in call by name among practical computer people, since, although it was used in ALGOL 60, one of the first big computer July 1 979 © BYTE Publications Inc 229 languages (in both senses -big [computer languages] and [big computer] languages), it has not been used in most languages devel- oped since then. But an understanding of it, and of some of the problems that arise with it, is still essential to the amateur as well as the professional computer scientist. Call by name is defined as follows. Sup- pose I have a subroutine with a formal para- meter X. Suppose I call this subroutine, with actual parameter Y. Then call by name im- plies that the subroutine is executed as if we had gone through it and substituted Y for every occurrence of X. There is one important proviso to the above, which may be illustrated as follows. Suppose that in the subroutine we have A = B-X. Suppose now that the actual para- meter is not Y, but rather U+V. (It is quite permissible to call SUB(U+V), for example, where SUB is the name of a subroutine.) Now we would like to proceed as if A = B-X really means A = B-(U+V); but if we substi- tute U+V for X, as in the above definition, we obtain A = B-U+V, which is not quite the same. Therefore we need to change the defi- nition so as to specify the insertion of paren- theses. On the other hand, it should also be clear that we do not want to insert parenthe- ses all the time. For example, the variable A could have been the formal parameter, rather than X. In this case, the actual para- meter could not be U+V, because then A = B-X would be interpreted as (U+V) = B-X, which makes no sense. But suppose the actual parameter is Y, just as be- fore; we still don't want to write (Y) = B-X (with parentheses) in BASIC or any other algebraic language. Therefore the rule is that the actual parameter is substituted for the formal parameter, inserting parentheses wherever syntactically possible (this is the phrase used in the definition of ALGOL 60). So long as the actual parameters are not expressions like U+V (or like A(l), which could be either a subscripted variable or a reference to a function), call by name is al- most identical to call by reference. There- fore, in studying the differences between the two, we have to look at the general rules for handling actual parameters which are expres- sions. These are that an actual parameter cannot be an expression (other than a single variable, either subscripted or not) when the corresponding formal parameter is returned, as we have illustrated above with the formal parameter A and the actual parameter U+V; and, of course, a formal parameter can never be an expression. Suppose now that in our subroutine we have S = S+X, where X is a formal para- meter, and the corresponding actual para- meter is A(l). (This is a simplification of an actual example given with the definition of ALGOL 60.) Therefore S = S+X becomes S = S+A(I). But now suppose that we want to do this for 1 = 1 to 10. That would be, presumably, a way of adding the numbers A(1) through A(10), if S were originally set to zero. If we use call by reference, however, this won't work. In call by reference, the address of the actual parameter - in this case, the address of A(I) — would be given to the subroutine. When the subroutine does S = S+X, it would get X from the location which has that address. But that location is a constant location - the location, in fact, of A(l) where the variable I has whatever value it had before the subroutine was called. This means that we add X ten times, whatever X is, and in this case we add the same value of A(l) ten times, rather than adding A(1) through A(10). How would we implement call by name? In the above case, when the subroutine does S = S+X, it has to have a way of finding out whether X will stand for a different variable each time. Therefore it loads S and then calls a subroutine to find the value of X, which it then adds and stores the result in S. This means that it is the address of the start of this subroutine that is passed, rather than the address of X itself as in call by reference. (This is known as Jensen's device, after a programmer at Regnecentralen, or the National Computer Center of Denmark, who used it in implementing ALGOL 60.) We should remark that there is another entirely different way of implementing call by name, which is to replace each call to a subroutine, separately, by the subroutine with the sub- stitutions performed as discussed above. This won't work for ALGOL 60, because it won't work, in general, for recursive subroutines, and it also takes up quite a bit of space if the subroutines are long. Call by name is considerably less efficient than the other methods we have discussed, which is a big reason for its general decline. Nevertheless, it has its own unexpected ad- vantages. Let us consider a subroutine like D(X, Y), which we discussed earlier, but this time suppose that it simply uses X and does not use Y, and let us call D(A, F(B)), where F(B) is a reference to a function. Suppose further that the calculation of F(B) (for some reason) gets the computer into an end- less loop. If we use call by name, then, since we never use Y, we have no occasion to call the subroutine that calculates Y — that is, we never call F(B). If we use call by value, however, the first thing we do is to set X equal to A and Y equal to F(B). The result is that we get into the endless loop, in this case, if we use call by value, but not if we use call by name. ■ 230 July 1979 © BYTE Publications Inc Languages Fonum Circl A "Tiny" Pascal Source Creator Thomas W Phillips MD RD 1-551 Chenango Lake Rd Norwich NY 13815 I would like to thank you for publishing "A 'Tiny' Pascal Compiler" by Kin-Man Chung and Herbert Yuen (September, October and November 1978 BYTE). I now have the compiler working without problems on my 8080 system (Altair with North Star Disk). It is a fascinating way to learn about compilers and Pascal. I am not sure how Mr Chung and Mr Yuen create their Pascal source programs; however, listing 1 shows my method of creating the Pascal source. Editing is easy with North Star BASIC. Listing 7 100 110 120 130 140 150 DATA ' DATA DATA DATA DATA DATA ! CALCULATE SQUARE. ! ' VAR A,B:INTEGER; " BEGIN " READ (B#); " A:=B*B; " WRITE (13,10); " WRITE SQUARED IS A#, 13,10); " DATA " CALL (%0800) " DATA " END. " DATA " " DATA " XX "' DIM A$(100) A$ =" " OPEN #1,"A" READ A$ IF A$ |1,2)="XX" THEN 290 260 WRITE #1 ,A$,NOENDMARK 270 A$ =" " GOTO 240 CLOSE #1 CHAIN " PASCAL " 160 DATA 170 180 190 200 210 220 230 240 250 280 290 300 READY RUN PASCAL & PASCAL 2 P-CODES STARTS AT 0000 use TRcopy WITH YOUR LEVEL II TRS-80* TRcopy is a cassette tape copying system thut lets you SEE what your computer is reading. COPY ANY CASSETTE TAPE** With the TRcopy system you can copy any TRS- 80 Level II cassette tape whether it is coded in Basic or in machine language. You can also copy data created by programs and you can copy assem- bler listings. YOU CAN SEE THE DATA As the tape is being loaded, you can SEE the actual data byte-for-byte from the beginning to the end of the program. Up to 320 bytes arc displayed at one time. ASCII characters are displayed on the first line and hexadecimal code is displayed on the following two lines. Data is displayed exactly as it is input including memory locations and check sums. IDENTIFY PROGRAMS With TRcopy you can identify programs on cas- sette tapes without written documentation because you can SEE the filename. If you forget to label a tape, you can use TRcopy todisplay the tape contents and identify the cassette, VERIFY CASSETTE TAPES With TRcopy you can verify both the original tape and the tape copies. You can make certain that your machine reads the original tape correctly and that it makes byte-for-byte copies. TRcopy also counts as it reads giving you the exact length of the data. HAKE BACKUPS FOR YOUR PROGRAMS Now you can make backup copies of yourvaluable programs. Many times a cassette that you make will load better than one that is mass produced. The original can then be kept as a backup in case the copy is damaged. MAKE COPIES OF YOUR SOFTWARE If you are in the software business you can use TRcopy to make tested copies of your programs for sales distribution. TRcopy produces machine lan- guage tapes that are more efficient than those pro- duced by the assembler itself. RECOVER FAULTY DATA With TRcopy you can experiment with the volume and level controls andyou canSEE what the computer is reading— even if your computer will not read the data through normal read instructions! In this way it is possible to read and copy faulty tapes by adjusting the volume control until you SEE that the data is input properly. SIMPLE - FASCINATING - FUN TRcopy is not only a practical utility program.lt is also a fascinating graphics program that lets you SEE, for the first time, cassette data as your com- puter is reading it. And it's as simple as 1-2-3. Just load, verify and copy. You will now be able to use cassette tapes with confidence knowing that TRcot)y is there when you need it. The TRcopy system is a machine language program with documentation explaining tape leaders, sync bytes, check sums and other formatting conventions. With the TRcopy system, you can SEE what you are doing! TRcopy System Including Cassette Tape and Docunc QQ95 0 $A 0 I CALCULATE SQUARE. ! 0 VAR A,B:INTEGER; 1 BEGIN 1 READ (B#); Listing 7 continued on page 232 pj xy J post Orders accompanied by money order N — ~ ^ ' PAID or cashier's check moiled lame day. Orders poid by other check shipped in 14 days. No COD's Return within 10 day* for a full refund If you are not satisfied. N.D. Orders Add 'TRS-80 is a trademark "You cannot copy the Z% Sales Tax. of the Tandy Corporation. TRcopy cassette, Data/Print DEPT.BT, BOX 903. FARGO, N.D. 58107 k July 1979 © Circle 78 on inquiry card. G nil c KIM ANALOG INPUT Analog to Digital Conversion System for the KIM Computer Give Uie KIM Uie ability to sense* measure* and control the world around it with DArt SYSTEMS nodules. Just plus the KIMSET1 into the KIM to set 16 channels of analog input. 9crew terminals are provided for each channel so you can hooK up Jo*=tsticKs* polsi or whatever appropriate sensors uou have. Each of the 1A analog inputs* in the ranae of O to 5.12 volts* is converted to a decimal number between 0 and 255 ( 20 millivolts per count). Conversion time is 100 microsconds. The K1MMOD provides one user port as well as a DAM SYSTEMS port. Software is provided. KIMSET \ 1 -AIM161 - 16 ANALOG INPUTS 8 BITS 100 MICB0SEC 1-KIMM0D 1 -CABLE A24 - 24 INCH INTERCONNECT CABLE 1-MANM001 1-P0W1 -POWER MODULE Kl MSET1 o for 110 VAC $ 283 KIMSETta for 230 VAC $295 Ord.r dirsci or contact your loc»l campultr itor». CONNECTICUT microCOMPUTER , Inc. 150 P0C0N0 ROAD BR00KFIELD, CONNECTICUT 06S04 TEL: 1203) 775-9659 TWX: TLX: 7104560052 Listing 1 continued from page 231: 4 A:=B*B; 8 WRITE 113,10); 12 WRITE (B#, 'SQUARED IS',A#, 1 3, 1 0); 34 CALL{%0800) 36 END. PC0DTR & PC0DTR2 *** P-C0DET0 8080 TRANSLATION **' PAS.LIB = 1A00 P-CODE = 0000 8080 OUTPUT =0800 STACK START ADDRESS = 8000 STACK END ADDRESS = A000 2 REFERENCES 2 ACTUAL LABELS 0 0809 09 OF 12 18 1A 1D 20 26 2C 2F 35 38 3E 41 1 5 0847 4D 53 59 5F 65 6B 71 77 7D 83 89 8F 52 58 30 085B 61 64 6A 6D 73 76 79 0 FORWARD REFERENCES P-CODE.. 37 INSTRUCTIONS 8080.. 121 BYTES P-CODE:8080 = .81756757 * END TRANSLATION * READY BYE *LF PAS. LIB 1 A00 *JP0800 ?1 1 SQUARED IS 1 12 2 SQUARED IS 4 • FOR PET, TRS 80, COMPUCOLOR. COMPOSER (to create your own BASIC sound subroutines) and instructions. Unit has volume control, earphone jack, connectors. 1 year warranty. $29.95 for PET & TRS-80 Level II. $39.95 For Compucolor II (includes Diskette). SOUND WARE SOFTWARE FOR 8K PET! Compatible with all CB-2 sound devices. Features sound, super graphics, instruction booklet. 90 day warranty. 1. ACTION PACK— Breakthru (8 versions) /Target/ Caterpillar 2. THE CLASSICS— Checkers (8 versions)/ Backgammon/Piano Player 3. WORD FUN— Speller (4 versions) /Scramble/ Flashcard $9.95 per pack. More sound programs coming: TRS-80 and Compucolor, too! To Order: Send to CAP Electronics. Dept. B . 1884 Shulman Ave.. San Jose. CA 95124. or call (408) 371-4120. VISA/ Master Charge accepted. No charge for shipping when payment is included. Please add 15% for C.O.D. Calif, residents add 6% tax. Prices subject to change without notice DEALER & DISTRIBUTOR INQUIRIES WELCOME PROCONSUL A COMPUTER STIMULATION CAMS A long time ago, in a galaxy far, far away, there was a planet . . . This planet was very much like the Earth at the time of Julius Caesar: A time of some technical ability, but more a time of vaunting ambition; a time of desiring not only to see the other side of the hill, but to conquer it as well. There are 210 provinces on the PROCONSUL world of various sizes, types and resources. Each player starts with four provinces and vies with the other players, the weather, the possibility of revolt or plague in building an economy and an empire. The goal? To conquer more than half of the provinces on the PROCONSUL world. PROCONSUL is a true simulation game. Each player has control over farmers, artisans and basic workers and can assign them to various tasks, assign them to another labor category, move them to other provinces or draft them into the military. The player can manipu- late the production and distribution of the commodities produced by the labor units. In a battle not only are the relative sizes of the oppos- ing forces taken into consideration, but the morale and experience of each army as well. PROCONSUL is $1.50 per turn, with turns every three to four weeks. Cost to enter a PROCONSUL game is $10, which includes a $4 setup fee, the first four turns, and a copy of the rules. Individual copies of the rules are available for $1.00, which will be credited to anyone who then decides to play in a game. Games are starting all the time and there are no long delays about getting into one. For further information, or to join a game write to: NIX OLYMPICA PROCONSUL P.O. Box 33306 Phoenix, AZ 85067 232 July 1979 © byte Publications inc Circle 40 on inquiry card Circle 286 on inquiry card. Digital Introduces LSI-11/23 and PDP-11/23 Microcomputers This new microcomputer called the LSI-11/23 from Digital Equipment Corp, 146 Main St, Maynard MA 01754 has the funtionality and software compatibility of a midrange minicomputer, yet it con- sists of two 5.2 by 8.9 inch (1 3.42 by 22.61 cm) boards and backplane. A rack moun- table, packaged version, the PDP-11/23, has also been announced. Both versions can run the RSX-11M and 11 S operating systems that were previously available only on mid to high-range PDP-11 mini- computers. The LSI-11/23 features 256 K bytes of memory capacity. It uses the full instruc- tion set of the PDP-11/34 minicomputer, and software supported memory seg- mentation and protection features of the RSX-11M and 11 S multitasking, multi- user operating systems. The LSI-11/23 has the same small size circuit boards as the LSI-11/2, which permit easier place- ment in instruments and specialized systems. The LSI-11/23 has an optional floating point processor integrated cir- cuit. Besides accommodating RSX-11M and 11 S software, the LSI-11/23 and PDP-11/23 run all software developed for the LSI-11 family without modification. This includes the RT-11 operating system and high level languages such as BASIC, FORTRAN IV and FOCAL. The LSI-11/23 is at least twice as fast as previous LSI-11 family members. The system is plug compatible with the entry level LSI-11/2. It is also soft- ware compatible with the LSI-11/2 and PDP-11 minicomputers. In 100 unit quantities, the LSI-11/23 and PDP-11/23 are priced at $1,758 and $4,500 respectively. The single unit price of the PDP-11/23 is $6,800. A new pro- grammable read only memory board for $300 and programmable read only memory programmer for $1,975 have also been introduced. Circle 623 on inquiry card Design, Build and Test Circuits With BredBord Kits These BredBord kits are prototype design aids developed to simplify circuit design and building, and testing and wiring without patch cords or solder. The 8 BredBord kit models are assembled on heavy duty, glass epoxy boards, copper clad on each underside for ground plane. They feature color coded, insulated bin- ding posts and rubber mounting feet; and a designated number of test points and capacities for multi-pin dual-in-line package integrated circuits. Each of the kits is made to interface with meters, scopes and other devices. The packages are produced in three types to accept different BredBord sizes. For further in- formation, contact Herman H Smith Inc, 812 Snediker Av, Brooklyn NY 11207. Circle 624 on inquiry card. July 1 979 © BYTE Publications Inc 233 Circle 313 on inquiry card. TRS-80 LEVEL II AND DOS COMMAND PROCESSOR 1 C0MPR0C' '"NEW PRODUCT*" Automatically load and execute any sequence of System and/or BASIC programs and data from power up. Command files created, saved, and edited in BASIC. Sophisticated options include interactive prompting and substitutional parameters. Allows non-computer personnel to easily execute programs RENUMBER WITH 'REMODEL' - MERGE WITH 'PROLOAD' REnumber any section or an entire program. MOve program segments. DELete program lines. All line references readjusted as required. COMBINE programs with renumber and merge. LOAD or SAVE any portion of program from tape. GENERAL SUBROUTINE FACILITIES 'GSP Collection of fast easy-to-use machine language routines. IN-MEMORY SORT with multiple variables and keys. SORT 1000 - Element array in 9 seconds. ARRAY read/write to tape, compress/uncompress/move data. SCREEN scrolling, save screen displays, and more DISK SORT PROGRAM 'DOSORT SORT/MERGE multi-diskette sequential files. MULTIPLE variables and keys. User input/output sort exits. Includes GSF machine language in-memory sort, etc. 32 or 48K. COPY SYSTEM TAPES WITH 'COPSYS' Dealer Inquiries Invited REMODEL Order TS21D at $24.95 REMODEL + PROLOAD Order TS22D at $34.95 GENERAL SUBROUTINE FACILITIES Order TS25D at $24.95 DISK SORT PROGRAM Order TS260 at $34.95 Must specify 16, 32, or 48K on above. System house discounts. COMMAND PROCESSOR (DOS ONLY) Order TS27D at $19.95 COPSYS (Not DOS) Order TS24D at $14.95 For TAPES thai TEST best Order 1 0 ea at $1 4.95 E~. nipcT -3 Check. VISA. M/C. C.O.D. E~HALfcl COMPUTES Calif, residents add 6% ^TOjMJalrridj)^^ Circle 303 on inquiry card. Need Intelligence in your 488 Instrumentation System 111 Get it with your favorite S-100 computer and the P&T-488 Interface Board. The P&T-488 Interface Board gives your S-100 computer the ability to be a talker, listener, or controller on the IEEE-488 instrumentation bus. Three software packages are available: 1) Driver for North Star DOS/BASIC 2) Driver for CP/M which can be used by MFJASIC or CBASIC 3) Driver for direct assembly level programming (for generating customized systems.) Price of the P&T-488, assembled and tested with any one of the software packages, is $400. fgotJf PICKLES & TROUT P.O. BOX 1206, GOLETA, CA 93017, (805) 967-9563 HARD DISC FOR S100 MICROS The XCOMP DCF-10 Disc Controller pro-' vides the OEM with a high performance, low cost interface forfixed and removable (2315 or 5440) cartridge disc drives. The DCF-10 is currently supported by two operating systems. For information or manuals, contact XCOMP. XCOMP INCORPORATED 9915-A Businesspark Ave., San Diego, CA 92131 • (714) 271-8730 234 byte July 1979 Circle 395 on inquiry card. BYTE BACK ISSUES FOR SALE The following issues are available: 1976: July, November 1977: March, May thru December 1978; February thru November 1979: January, February, May Cover price for all issues thru August 1977 is $1.50 plus $.25 postage and handling ($3.50 total foreign). September 77 thru 79 issues are $2.00 plus $.50 postage and handling ($4.00 total foreign). Send requests with payment to: BYTE Magazine 70 Main St, Peterborough NH 03458 Attn: Back Issues i® m HOBBY WORLD® CALL TOLL FREE: (800) 423-5387 OA, HI, AK: (213) 886-9200 California Computer Systems XVI 16K STATC WH\ KIT $285 A true static ram board designed (or the S-100 bus. Bank switching capability, addressable in 4K blocks. FR4 silk screened PC board with solder mask on both sides! The lowest price TRUE static ram board in its class. • IEBE S-100 Compatible. • True static operation • Requires only +5 volts • 450 ns • Fully buffered Bareboard $27.00 California Gompjfer Systems S-100/4.pple Prototyping Board All signals labeled on board. S-100 boards have all circuitry uncommited except for 4 mul- tiple voltage regulator pads. High density hole configura- tion. On board ground bus. Double sided, plated thru FR4 PC board. Accept 14, 16, IB, Cat No. 1604 $25.00 S-100 Soldertail Cat No. 1605 25.00 S-100 Wirewrap Cat No. 1609 21.00 S-100 Etch Cat No. 1607 21.00 Apple Soldertail Cat No. 1606 21.00 Apple Wirewrap Cat No. 1608 18.00 Apple Etch 8" FLOPPY $8.50 DISKS Cat No. Type BOX OF 2 BOX OF 10 FOR $37 1 • IBM compatible Description • Single density FD32-1O00 32 sector holes, one inde* hole, f 0.14- 1 000 Interchangeable with IBM 32, 3740, 3540, 3770, 3790, or equivalent /Vtannchip Systems /W900 16 Bit Mini for the S-lOO Bus • With PASCAL Brings the most powerful single chip CPU available to- day - the TMS9900 - to the S-100 bus and supports it with powerful software. Included with the CPU board are Disk Operating System, BASIC, Cat No. 1379 kit $550 Cat No. 1379-A assembled and tested $700 Cat No. 1394 documentation only $20 Cat No. 1395 PASCAL compiler $150 Cal No. 1380 Prom/Ram bd. $275 Assembler, Linking Loader, Text Editor, and interactive debug. The powerful pascal compiler is only $150 more! Move up to a 16 bit machine and the power of PASCAL without losing the economy and selection of the S-100 bus. Microprocessors Order by type no. Type Price TMS9900 $45.00 6008 4.00 8060A 7.00 8085 15.00 6800 10.00 Z80A 9.00 1802 17.50 6502 11.50 Microprocessors Support Order by type i Type price TTLs 8212 8214 8216 8224 $2.40 4.95 2.50 3.95 6820/6520 6.95 Shugart SA-4CO Minifloppy Drive $295 Hard and soft sectoring, single density, 35 tract. Requires power supply. Cat No. 1154 $295.00 \ferbatim 5 1/4" Diskettes $27box of lO Cat No. Type Use 1147 Soft sector TRS-80, Apple 1148 Hard, 10 hole North Star , 1149 Hard, 16 hole Micropoli- California Computer Systems For APPLE. TRS-S0, EX/DV Everything you need! Installs in minutes, no special tools, no solder- ing! 250 nsec. Cat No. 1156 8224-4 9.50 8226 3.95 8228 8238 8251 8255 6810 4.95 6.50 6.50 6.50 6.95 6821 6828 6850 6852 6860 1822CE 1852CE 1861CE 1854 MK38B1N-4 MK3882IM-4 MK3883 MK3884N-4/0 MK3884N-4/1 R4MS Order by type no. Type 21L02-250 21L02-450 21L02-650 21 141-200 2114L-300 21 141.-4 50 TMS4044-450 TMS4O45-3O0 4116-200 4116-150 1101 6.95 11.95 8.50 8.95 9.95 16.95 9.95 . 9.95 13.95 13.95 13.95 45.00 45.00 45.00 , Price 1.25 1.10 .85 8.50 8.00 7.50 7.50 7.50 11.00 13.00 1.50 EPRCVMS Order by type no Type 1702A 2708 2716 2758 9.50 60.00 22.00 7400 .15 7483 .60 7401 .20 7485 .75 7402 .20 7486 .35 7403 .20 7489 1.75 7404 .20 7490 .45 7405 .20 7491 .55 7406 .30 7492 .45 7407 .30 7493 .45 7408 .20 7495 .65 7409 .20 7496 .65 7410 .20 74107 .35 7413 .35 74109 .55 7414 .60 74121 .35 7416 .25 74122 .40 7417 .25 74123 .60 7420 .20 74126 .40 7423 .25 74132 .65 7425 .25 74145 .65 7426 .25 74151 .60 7427 .25 74153 .60 7430 .25 74154 1.00 7432 .2S 74155 .70 7437 .25 74157 .60 7438 .25 74160 .85 7440 .20 74161 .75 7441 .70 74163 .75 7442 .50 74165 .95 7443 .50 74166 1.25 7444 .25 74170 1.60 7445 .75 74173 1.10 7446 .75 74174 .85 7447 .65 74175 .70 7448 .75 74176 .80 7450 .20 74177 .75 7451 .20 74180 .65 7453 .20 74181 1.75 7454 .20 74191 .95 7460 .20 74192 .75 7470 .30 74193 .75 7472 .25 74221 .85 7473 .35 74251 .80 7474 .35 74365 .65 7475 .45 74366 .65 7476 .35 74367 .65 7481 1.20 74368 .65 Special Purpose ICs Order by type no Type Description Price AY3-1014 UART 8.00 AY3-1013A UART 5.00 KR2376-ST ASCII Keyboard encoder 9.50 2513 Character gen, up case 9.50 FD1771BO-1 Floppy Disk controller 37.00 FD1791B Floppy Disk Controller 47.00 BR1941L Baud rate generator 9.50 TMS6011 High speed UART 5.50 95H90 350MHz prescaler 12.00 11C90 650MHz prescaler 17.00 7205 Stopwatch 17.50 6571AP Character gen 11.00 7207A/7208 Frequency counter 24.00 MC14410 Touch Tone Encoder 8.00 7107 LED DPM chip 11.00 8038 Voltage Cont Osc 4.00 MC14411 Baud rate generator 10.00 Nlolta&e Regulators Type Equal to Voltage Case Price 7805K LM340K-5 4-5 TO-3 S1.40 7812K LM340K-12 + 12 TO-.) 1.40 7B15K LM340K-15 + 15 1.40 7818K LM340K-1B + 18 TO-3 1.40 7824 K LM340K 24 + 24 TO-3 1.40 7805T LM340T-5 + 5 TO-220 .95 7812T LM340T-12 +12 TO-220 .95 7815T LM340T-15 + 15 TO-220 .95 7818T 1 M 14111 III + 18 TO-220 .95 7824T LM140T-24 +24 TO-220 .95 7905K LM120K-5 -5 TO-3 1.75 7912K LM320K-12 ■12 TO-3 1.75 7915K LM12IIK-15 -15 TO-j 1.75 7924K LM120K-24 -24 TO-3 1.75 Problem Solver Systems Streaker • Designed, constructed and tested to survive the most difficult and demanding computer environments. • Each offers unchallenged re- liability, versatility, and price advantage! • Only the finest-grade, fire retardant glass-epoxy PC material is used in board construction. • All boards are solder-flowed to assure uniform solder quality, virtually eliminating weak solder joints. • 40 hour burn-in • Exclusive "Blitz-Test" Places boards at maximum specified conditions for one hour. • Stringent production stan- dards allow only the sur- vival of the fittest. Motherboard • Imsai compatible • Factory assembled and tested Available in 12 or 22 slot versions. Standard S-100 bus compatible. Features connec- tors with gold plated bifur- cated contacts. Each signal is surrounded by ground plane Chassis compatible with IMSAI, No isolation hardware required for mounting. Cat No. 1451 12 slot $99 Cat No. 1452 22 slot $159 CM50O0 Computer /Vtainframe Includes cabinet, 18 amp power supply, S-100 STREA- KER-12 (12 slot motherboard), and dual disk provision, with disk power supply. Minidisk drives fit directly into front panel with no modifications. The CM5000 is fan cooled, has AC line filter to eliminate EMI, and is fully assembled and factory tested. Power and reset switches are located on front panel. Cat No. 1450 $549.00 Matchless Systems Minidisk Drive for TRS-80 Accesses twice as fast as the Radio Shack drive, plus offers 40 tracks as opposed to 35! Includes case, power supply, and cables. Completely assem- bled and tested, ready to plug in and go! Simple modification to use as second drive! Cat No. 1375 MINIDISK DRIVE $395 Cat No. 1396 4 DRIVE EXPANSION CABLE $15 Cat No. 1147 Verbatim Diskettes J for above-box of 10 for $27^ Send for FREE CATALOG Featuring The best selection of computer accessories add-ons, factory fresh ICs, led's, semi's, soft- ware, PC aids, prototyping aids, books, test equipment, and moret Always updated! Dozens of new products every issue! Pay by check, COD, Visa, or Mastercharge. Order by phone or mail. Please include phone no. USA add $1 .50 for shipping/handling, or $2.50 for air. Foreign add $2.00 for surface, $5.00 -for air. COD's add B5c. All items guaran- teed satisfaction for 120 days! Circle 170 on inquiry card. BYTE July 1979 235 11 BASICS from □ BASIC, From the Ground Up by David E. Simon. This book Is a good Introduction to computing and the BASIC language for anyone, regardless of their background. David Simon assumes you have no previous programming experience and no familiarity with computing concepts. From the ground up, he builds on the fundamental concepts and teaches each part of the BASIC language In turn. Examples illuminate each step and six fully solved problems are Included. This Is the "beginner's book" In BASIC we at BITS have been looking for. 222 pages $8.95. □ THE BASIC WORKBOOK - CREATIVE TECHNIQUES FOR BEGINNING PROGRAMMERS by Kenneth Schoman, Jr. This book contains lecture notes, exercises and problems for people learning BASIC. In a hands-on workbook style, Ken- neth Schoman covers statements, loops, functions, variables, Input/output and strings. Simulation and plotting are intro- duced. The examples and problems are runnable in virtually any version of BASIC. If you're learning BASIC, complement your studies with this bookl 117pp.$5.95 □ BASIC WITH STYLE: PROGRAMMING PROVERBS by Paul Nagln and Henry Ledgard. "Programmers can and should write programs that work the first time." This statement may sound idealistic to those accustomed to long hours of debugging. Yet, It's the theme of this book — a unique collection of "proverbs" or rules and guidelines for writing more accurate error-free programs. Newly rewritten, this book now emphasizes structured program- ming and all examples are in BASIC. 134 pp. $5.95 □ BASIC BASIC, 2nd EDITION by James S. Coan. If you're not already familiar with BASIC, James Coan's Basic BASIC is one of the best ways to learn about this popular computer language. BASIC (which stands for Beginner's Ail-Purpose Symbolic Instruction Code) is easy to learn and easy to apply to many problems. Basic BASIC gives you step-by-step instructions for using a terminal, writing programs, using loops and lists, solving mathematical problems, understanding matrices and more. The book contains a wealth of illustrations and example programs, and Is suitable for beginners on many different levels. It makes a fine reference for the experienced pro- grammer, too. 256 pp. $8.95. □ ADVANCED BASIC by James S. Coan. Advanced BASIC Is the companion volume to James Coan's Basic BASIC. In this book you'll learn about some of the more advanced techniques for programming in BASIC, including string manipulation, the use of files, plotting on a terminal, simulation and games, advanced mathematical applications and more. Many useful algorithms are covered, including some clever sorting techniques designed to reduce program execution time. As with Basic BASIC there are many illustrative exam- ple programs included. BASIC doesn't have to be basic with Advanced BASICI 184 pp. $8.95 □ BASIC AND THE PERSONAL COMPUTER by Dwyer/Crltchfleld. A fascinating book covering many areas of interest to the personal computer user. After giving an In-depth course in BASIC, which can be covered in 8 hours, the book discusses microcomputer hardware, graphics, word processing, sorting, simulation and data structures. This Is an easy to read text that Is useful for the beginner and Informative for the advanced user. 438 pp $12.95 □ THE LITTLE BOOK OF BASIC STYLE by John Nevlson. Structure, style, correctness, maintainability. Attributes of good programming are getting much attention, and well they should. When one considers what we invest in programs, their manageability and efficiency become very important. Here these concepts are explained, along with 19 rules and many examples in BASIC to help Improve your programming style. 151 pp. $5.95 □ SOME COMMON BASIC PROGRAMS by Lon Poole and Mary Borchers, published by Osborne and Associates. At last, a single source for all those hard to find mathematics programs! Some Common BASIC Programs combines a diversity of practical algorithms In one book: matrix multiplication regression analysis, principal on a loan, integration by Simpson's rule, roots of equations, operations on two vectors, ohl-square test, check writer, geometric mean and variation, coordinate conversion and a function plotting algorithm. These are Just some of the many programs included. For only $8.50 you can buy the kind of programs previously available only as part of software math package systems for large scale com- puters. All the programs are written in a restricted BASIC suitable for most microcomputer BASIC packages, and have been tested and debugged by the authors. 1 92 pp. $8.50. □ BASIC WITH BUSINESS APPLICATIONS by Richard W. Lolt. This book focuses on the BASIC language and its application to specific business problems. The book is divided into two sections. Part one Introduces the BASIC language and the concept of logical flowcharting. Part two presents problems and possible solutions. Topics include: interest rate calculation, break-even analysis, loan rates, and depreciation. Exercises at the end of each chapter give a greater understanding of BASIC by actual programming. This book is a great aid to the begin- ner wanting to learn BASIC without having a technical or scientific background. 284 pp. $11.50. □ BASIC COMPUTER GAMES: MICROCOMPUTER EDITION edited by David H. Ahl. Here are 102 classic computer games, every one in standard microcomputer BASIC; every one complete with large, legible listing, sample run and descriptive notes. All the classics are here: Super Star Trek (one of the most challenging versions • anywhere), Football (two versions), Blacklack, Lunar Lander (three versions), Tic Tac Toe, Nlm, Life and Horserace. 188 pp. $7.50 □ GAME PLAYING WITH BASIC, by Donald D. Spencer. You'll enjoy the challenge of competing with your own computer. Games described include: 3-D Tic Tac Toe, Nim, Roulette, Slot Machines, Magic Squares, Keno, Morra, Baccarat, Knight's Magic Tour, and many others. The style is non-technical, and each section gives complete rules for the game, how it works, illustrative flowcharts, and example outputs for each program. The last chapter contains 26 games for reader solution, including Hexapawn and Poker Dice. 166 pp. $7.95. FOR YOUR CONVENIENCE, PLEASE USE ORDER FORM ON PAGE 137 DIAL YOUR CHARGE CARD ORDERS TOLL-FREE 800-258-5477 IHC (in NH call 924-3355) Mon-Fri 9-5 Books tO 6 rose the impossible POB 428, 25 Route 101 West, Peterborough, N.H. 03458 isitT charge 236 BYTE July 1 979 ) ^-computer, Products B . ' tlo<», THE FIRST TO OFFER PRIME PRODUCTS TO THE HOBBYIST AT FAIR PRICES NOW LOWERS PRICES EVEN FURTHER! 1. Proven Quality Factory tested products only, no re-tests or fallouts. Guaranteed money back. We stand behind our products. 1979 CATALOG NOW AVAILABLE. Sena $1 .00 for your copy oi the most complete catalog of computer products. A must S-100 32K (uses 21 14) ASSEMBLED Kit '/ji* 450ns. 599.00 450ns. 539.95 250ns. 699.95 250ns. 599.95 Bare Board 49.95 8are Board w/all parts less mem. 99.95 S-10016K (uses 2114) KIT (exp. to 32K) ASSEMBLED 450ns. 279.00 450ns. 325.00 250ns. 299.00 250ns. 375.00 Bare Board 49.95 LOGOS I 8K ASSEMBLED 450 ns. 169.95 KIT 450ns. 125.95 250ns. 189.95 250ns. 149.95 Bare PC Board w/Data 121.95 Now over 1 year successful field experience "Special Offer" Buy (4) 8K 450ns. Kits $1 1 7.00 E2S FLOPPY DISK DRIVES 1 . VISTA V-80 MINIDISK ^^^^^f FORTRS-80 ■ 9W * 23% More Storage ^^^^E/ Capacity-40Tracks * Faster Drive - Up to 8 Times Faster 1 305 00 I 2 Drive Cable Add $29.95 4 Drive Cable Add $39.95 N ' 2. VISTA V-200 MINI-FLOPPY SYSTEM * 204K Byte Capacity * w/CPM, Basic "E" * One Single Sided, Double Density Drive I V-200 A * One Double Density 1699.00 J Controller w/Case & P.S. X_ S Add to your EXIDY, HORIZON, etc. 3. VISTA V-1000 FLOPPY DISK SYSTEM * (2) Shugart 800-R 8" Floppy Disks * Controller Card, Cable, Case 8 P.S. /V-1000\ * CPMS Basic "E", H699.00I Instructions & Manual y 4. MPI B51-5V." 40 tracks 279.00 5. Shugart SA400-5'/«", 35 tracks. . .. 295.00 6. Siemens/GSI FDD1O0-8 8" 375.00 7. Shugart 800/801 R 8" 495.00 8. PERSCI Model 277 Dual 1195.00 EXPANDORAM MEMORY KITS * Bank Selectable * Uses 41 15 or 41 16 200 ns. * Write Protect * Power 8VDC, ±1 6VDC * Phantom * Lowest Cost/Bit Expando32 Kit (4 115) Expando 64 Kit (4 1 1 6) 8K $179.00 16K $248.95 16K $229.00 32K $369.00 24K $299.00 48K $469.00 32K $349.00 64K $565.00 IMS STATIC RAM BOARDS * Memory Mapping * Low Power & * Phantom * Assembled & tested Recommended by Alphamicrosystems 250 ns. 450 ns. 8K Static $209.00 $189.00 16K Static $449.00 $399.00 32K Static $799.00 $699.00 ANADEX PRINTER Model DP-8000 compact, impact, parallel or serial. Sprocket feed, 80 cols, 84 lines/min., bi-directional. New only $895.00 VERBATIM™ DISKETTES 0 ti * 5V." Minidiskettes * B&$S Sottsector, 10 Sector, 16 Sector r -%0;<(< $4.25 Each, 1 0/39.95 riO^Sftf * 8" Standard Floppy Disks * jfel* Soft Sector, Hard Sector V™ $4.50 Each, 10/41.95 •Add 4.95 for 1 0 Pack in Deluxe Disk Holder MOTOROLA IXORCISIR COMPATIBLE 9600 MPU Module w/6802 CPU $495.00 9601 16 Slot Mother Board 175.00 9602 Card Cage (1 9" Retma Rack Mount) ... 75.00 100.00 250.00 .36.00 9604 Switcdmode System PowerSupply 9610 Utility Prototyping Board 9616 Quad 8K Eprom Module 9620 1 6 Channel Parallel I/O Module .... 295.00 9622 Serial/Parallel I/O Combo 9626 8K Static RAM Module 295.00 B627 16K Static 450ns 495.00 9630 Card Extender 68.00 9640 Multiple Programmable Timer (24 Timers) 395.00 9650 8 Channel Duplex Serial I/O 395.00 96103 32/32 I/O Module 275.00 96702 32 Point Reed Relay Module 350.00 MOO BARE BOARDS 9620-0 $45.00 9603-0 27.00 9626-0 45.00 9600 55.00 9650-0 45.00 96103 55.00 9B01-0 50.00 96702 55.00 Also AMI EVK System in Stock APPLE/EXIDY/EXPANDO TRS 80 16K-UPGRADE KIT # 16K with Jumpers & Instructions for either Level I or Level II $89.95 * 1 6K for Apple II Upgrade $89.95 Special: TRS80 Schematic $ 4.95 Expansion Interface Schematic — $ 4.95 TRS 80 TO S-100 PET TO S-100 ADAPTER Allows Pet/TRS 80 to be interfaced to popular S-100 Bus. Pet to S-100 Kit $189.95 Assembled $269.95 TRS80toS-100 HUH 8100 Kit ....$275,00 Assembled $355.00 KEYBOARD ASCII ENCODED One time purchase of NEW Surplus key- boards. From the Singer Corporation. The keyboard features 1 28 pASCII characters in a 63 key format, MOS encoder circuitry "N" key rollover, lighted shift lock, control, escape and repeat functions. Ltd Qt v 63 KEY $50.99 UV "EprorrV' Eraser Model UVs-HE S64.95 Holds 4 Eprom's at a time Backed by 45 years experience. Model S-52T. . . $21 9.95 Professional Industrial Model TARBELL FLOPPY INTERFACE * Z80/80BO S100 Compalibte * Uses CPM Assembled lor Shugart. . . . SALE 1229.00 Assembled Other Drives $269.95 Kit $179.95 Bare Board $36.95 (Doc. Add $10.00) ViBla Double Density 5VV Controller Assem $299.00 SD Versa FIoddv Kit $159.95 SD Versa Floppy Assembled $ 1 89.95 Tarbel Cassatte I/O Kit $11 5.00 Sale * 1771-01 Floppy Chip $27.95 BYTE USER SK EPROM BOARD * Power on Jump * Reset Jump Assembled 8 Tested $94.95 Byteuser Kit $64,95 Bare PC Board $?1.95 Special Offer: Buy 4 kits only $59.95 each MR-8 8K w/1K Ram $99.50 MR-1 6 1 6K w/1 K Ram $99.50 EPM-1 4K 1702 $59.95 EPM-2 2708 or 2716 Eprom $69.95 Z-80/Z-80A/8080 CPU BOARD * On board 2708 * 2708 included (450ns.) * Power on jump * completely socketed Assembled and tested $185.00 Kit $129.95 Bare PC Board $ 34.95 * For 4MHz Speed Add $1 5.00 8080A Kit $ 99.95 8080A Assembled $ 1 49.95 S-100 MOTHERBOARD SPECIAL 8 slot expandable w/9 conn. reg $69.95 NOW $52.95 TARBELL FLOPPY CONTROLLER Card assembled and tested for use with Shugart Drives $ SALE PRICE only $229.00 ACOUSTIC MODEM NOVATION CAT*" 0-300 Baud Bell 1 03 Answer, Originate $1 98.00 ACOUSTIC COUPLER SPECIAL AJ MODEL A30 SPECIAL PURCHASE OF SURPLUS UNITS AVAILABILITY LIMITED $29.95 DATA BOOKS • COMPUTER BOOKS 1970 IC Mailer 49.95 Intel MCS BO Manual 7.BS NSC TTL Data 3.95 MM MCS 40 Manual 4.95 NSC Linear .4.95 AMD 8080 A Manual 5.95 NSC Linear App Notes II . 3.95 AMD Schottky Databook . . 4.95 NSC CMOS 3.05 AMI MOS/LSl Data 3.05 NSC Memory .3.95 Ql MOS/LSl Data 4.95 Intel Oatabook 4.95 Hams Analog Databook.. .4 95 Intel MCS 65 Manual 7.50 Tl Linear Control Data 3.95 SAL I • OUOHMI BOOKS • SALI Inlro lo Micros Vol. 0 .* o^p 7.75 Inlro to Micros Vol. I ft« 7.75 80 BOA Programming JSQ 7.75 6800 Programming £3Q 7.75 Z80 Programming. BV5Q 7.75 Vol. II Some Real Microprocessors w/Bmder 3OA0. 27.50 Vol. Ill Some Real Sjppon Devtcei w/Bindet 30*0. 18.50 Inlro io Micros Vol. Ill 70*0. 18.50 SALI e OILITtlltIM COMPUTER BOOKS • SALS Understanding Computers WMfc 7.95 8080 Microcomputer Experiment .. . TMi 11.95 Beginning BASIC *9i 8 95 Beginners Glossary ft Guide VD6> 5 95 Peanut Butter S Jelly Guide to Computer* . . .TAfc 6 95 8080 Machine Language Programming .m 6.96 Home Computers Vol- I Hardware TrBS. 6.95 Home Computers Vol II Software 1*94. 1 1 95 Send $1 .00 for your copy for the serious computer user. I MICROPROCESSORS STATIC RAM HEADQUARTERS z-eo z-eoA F-S I3850I 2650 CD1802 80 BOA 8080A-4MHI 2901 2901 A IMS 9900JL CP 1600 6502 6502A iMetOO S 16.85 1895 16.1)5 14.95 16.95 2495 49.95 39 35 2495 17 50 ..49.95 6995 8036 8755 8748 SUPPORT DEVICES AM95H Anih Processor S195 00 AM 9511-1 300 ns 245 00 AM95'7 DMACom-oller 71 95 AM95 1 9 Universal Interrupt " 3861 tZBOPIOf 3881-4 i4MHil 3882IZ-80 CTO 3682-4 t4MHzl 8205.745136 Decoder 82'28t>ill'0 821 4 Pr,onty lot 8216 Bus Driver 6214 Clock Gen 8224-4 r4MHii S226 Bus Driver 8T26 Bus Dnver 8226 Sys Control 6238 Sys Coni 8251 Prog I/O 8253 int Timer 8255 Prog 1:0 8257 Prog DMA 8259 Prog Ini 8275 CRT Controller 8279 Prog KeyOoaid 24 95 10 45 14 95 10 45 14 95 295 250 4 95 2 50 2 95 9 75 3 95 2 33 595 6.25 6 95 19.53 650 19 53 19 50 128 > 6820 P 6821 PI A 6828 Priority Int 6834-1 512 < 6 Eprom 6850 ACIA 6853 Serial Adapter 684S.'HD46505CRTC"il. 6860 Modem 68152 Modulator 6871A 1 GMHr OSC 6875 6880 Bus Dover MC68488 1821 SCD 1 K HAM 1822 SCD 256 i 4 RAM 1824 CD 32 ■ 8 RAM 1852 CD 8 0.1 l.'O 1854 Uart 1856 CD I/O 1857 CD I/O 6520 PJA 652E Mull 6530-002 6530-003 6530-004 653000S 3851 F8 Prog Store 3853 1-8 Memory UO DYNAMIC RAMS 416/4116 16K(16Pin) i 2 .45 Se'ol8416 , s -89.95 4I158K [16PinJ , 6.95 4050 4Kx I (18 Pin) 4.25 4060 4K* 1 (22 Pmj 4.B5 4096 4K * 1 (16 Pin) . 2104 4Ki 1 (16 Pin).. 4027 4K * 1 (16 Pin) . 5261 1 95 lit 5262 1 .95 40C 5270 4.95 B6C 5280.. . 4.95 66C 5290 .12.45 60C PROMS 2708 2708-6 1702A I 702A-6 2716-SV 2716-5V. 12V 2758 5V 5203AO 5204 AO 6834 1 IM 5610 SALS 8323 32 X B... 82S115 512*B(TS, 825123 32 x 8 82Si2fl23B«4 ... 82S129 256 » 4(75) 82Si30512 i4(Oa NSC DM7576 32 x 8 . CHARACTER GEN 2513-001 |SV| Upper . - 2513-005 <5V) Lower 2513-ADM3I5V) Lower. MCM6571 MCM6571A MCM6574 MCM6575 . . 3.B5 4.75 ..4.95 . . 7.95 ..4.95 ..1.50 9 95 7 50 3 95 350 59 95 40.00 2995 1 1 95 9 95 12 95 2 95 ...2.03 16 95 250 350 .3 60 650 ...2 96 14 95 10.75 10.75 14 50 14 50 695 8 95 550 7.95 8.95 9 95 24 95 UARTS/USRTS TR1602BI5V. 12Vl AY51013I5V. 12VI AY51014A/I5t^ lb 14V. AY5I0I6A/1B63 iCVI TMS 601 1 15V 12VI IM6402 IM6403 2350 USRT 1671B Aslros SALS TR1473B fl.i BAUD RATE GEN MC144H 11.95 4702 14 95 WD1941 1)4!, KEYBOARD ENCODERS 13 75 13 75 .- fl.BS 9.95 995 AY5 2376 AY5-360O HD0185.. 74C922 74C923 . A/D CONVERTERS 8700 8 bit Binary 13 2IL02 450ns 21L02 250ns 2102 211 1.25 375 295 2.90 12.95 8.95 7.50 9.95 2112! 2101-1 21 14L-2S0ns. 2114L-300ns. 2114L-4SOns. 4044/4041 300ns. 4044/4041 4B0na. 7 50 EMM4200A EMM4402 EMM4804 S101C-E up04l0t4200i AMD914C41 AMD9U0'31 3.65 285 2.70 10.95 7.95 6.75 8.75 6.75 .75 8.75 795 7.25 12.50 1150 7 95 7 95 10 95 10 25 10 95 12 95 3.55 2.85 2.55 9.95 6.45 4.75 7.95 4.7B 7.95 6.25 9.95 7 25 9 25 S25 10 25 FSC 460 464 I6K CCD Only SI ft 95 Earn 1101 1 95 7 95 P2125 93425 i45 ns 6508 1K « 1 CMOS 6518 IK , l CMOS 74SV89 64 b.l Ram 3 95 8155 l/Ow/Ram 21 95 2147LowPower4KStaliC 1- CHARGE COUPLED DEVICES 18K CCD - F.rsl time ottered Fanch.ld 460 CCD 16K Memory inow you can enperimem with CCD technology al a reasonable puce 1 7 page Applica- tion noie supplied with each order Ouantiiy hmiledl $16.95 each (reg. 43.00) 19 95 4 75 .650 660 9 95 3995 9 BS 825 239 19 95 25 00 16 95 995 1095 CRYSTALS Mlcroproeaasor 1 ->0IM>V 209rthJMHr Z-ln7flMHi .1 !,i'HM6MH( 4 CMH/ 1 4 194304MH/ 4Sii5.'0MH/ OMH/ . Olidfl ■> i'UJMH; nebaaea TV Oama Frequency Price 6 0MHf S 4 95 6 144 4 95 6 5536 4 95 iOOMH; 495 UOMHl 4.95 1431818 495 18 0MH/ 495 13 432MHr 595 20 0MHj 4 95 22 1 184MHi 2? OMHi 36 0MHI 48 0MHr ' 100KC 595 595 5.95 5.95 12 95 DISPLAYS/OPTO/LED'S * 7 SEGMENT * CALC * CLOCKS DL 704 (CCl. DL 707 (CA) 300" Red FND 357 (CO 3S7" Red FND 500/503 (CCl SOO - RerJ FND 507/5 lOiCAi 500' Red FND BOO/803 tCC) 800" Red FND 807/810 (CA] 800-Red . . XAN 3062 500" Green HP5082-7731 (CA| 300" Red 9 Dfl.i Bubble Mm. Cak: Display 9 DiQii Panaole» Display .400" 9 DiQii Fluoresced 300" MA1003 I2VAul0 Clock Module 1 Betel !o> MA1003 w/Red F.ne> MA10O2A LED 12 hr Dock Module * HEX DISPLAYS * IHCOOBO DISPLAYS * HP 5082-7340 Red Hexideclmal 15 95 HP 5062-7300 Red Nymenc ., 14 95 TIL 306 Numeric w/logrC 8.95 TIL 300 Number w/Logic 835 TIL 309 Number w/Logic BBS TIL 311 Hexadecimal 12.95 MAN 2 A 320" Red Atpna Nume'c 5 95 MAN 10A 270'RedAI(yna-NumeriC 895 • LCD's * OPTOISOLATERS * LEDS Red. Yellow. Green .185 5/1 .00 MCT 2 Photo XSTR HFE 250, 30V 99 4N25 Photo XSTR HFE 250, 30V 1 .29 4N33 Photo Oartlnglon 1 .75 FPT 1 lOBPhotoXSTRFIatLense ... SALE i. 00 ATTENTION KIM USERS KIMSAI-expanslon 10 S-100 . . .125.00 K.1/165.00 KIMSI lo KIM Connects 5.75/pair KIM 1 6502 Single Board Computer 179.00 KtM 1 Power Supply 59.95 KIM Memory Plus - (consists of 8K Ram. 8K27 16 Eprom, Programmer. I/O etc.)- . .245.00 KIM SOFTWARE • Please package (cassette) 12 games. . 16.95 • Help Editor package (cassette) 16.95 • Help Mailing List pkg. (caasoite).. 16.95 • Help Into Relrival pko. {cassette) 18.95 a Mlcrochess (cassette) 16.B5 • Microaid Assembly/Disassem/Editor ... 27 95 • M-croaid Source Listing (cassette) 27.95 • Tiny Basic lor K!M (paper tape) 10.95 COMPUTER SPECIALS SALI 898.00 735.00 119500 1045 00 159500 3995 00 5395 OC LIST 1085 00 795 00 139500 1195 00 1695 00 4995.00 5990.00 795 00 995 00 39500 1349.00 495.00 59500 HiPlol Qgmier "My Exidy W/32K Apple II W/16K Compucolor II w/16K TEI PT20BH avail ) Cromemco Sys III Commodore Pel Soroc 10/120 ADM3A Assem. Teletype 43 Centron.cs P-1 Centronics S-1 MONTHLY IC SPECIALS LF 1 3508 JFET Anlog Multi 8 oil ICM7208 Seven Decade Counter ICM7207 Oscillator Controller ICM7045 Precision Sio/Walch Timer ICL7107 3'. Digit A/D (LED) ICL82 1 1 Voltage Reference LM390 Batiery OP Audio Amp LM1B30 Fluid Detector LM 1850 Ground Fault IC LM180O Phase Lock Loop FM Sterna LMIB20 AM Radio DS3825 Dual Mob Sense Amp 765 CH 69500 829 00 1 150 00 395 00 52500 6.95 22 95 1495 ~1.0 20 P * ^, " , *V.IHt 1 M_.. . 1. !_■ ffi™ 4 ~ 9 ™ 10147ECLRaffl...9.95 I48B/1489 2/1.99 NES01 5i00 22 Pin S/T Sockut 10/1 00 , nwwBiF-i in aa 8223 Prom - " LF356HBIFet ..3/1.99 6331-1 Prom MK5014 Calc 7414IN. . LM29I7 8T26/8T2B 95H90 ,_ c MCM14505 8.95 musmoonsc c..<- rvo.-.. 1 95 74S89 3/1.99 "f^P* tlt * " P"' 74107N 6/1.99 ' 3/1 99 75452N 8/1.99 225 741N-14 10/1.99 2 39 5 S5CN , 5/1.99 9 95 5S8CN 3/1 .99 ATTENTION APPLE II USERS All Shrumenli FCM or UPS. Oidsri undtr S10OOO add b% haodlms *nd poitag*. Orda*/Bink ■meiicwd/COD scctpted w/25% d»x>tii. California Rsildtnll «M 0% MR. Fonign Orderi add 8% h*ndll stHpntant. Add .35 o Is for Oats. P.O. BOX 17329 Irvine, California 92713 Phone (714) 558-8813 910-595-1565 Retail Store Open Mon. - Sat. Located at 1310 "B" E. Edinger Santa Ana, CA 92705 Circle 4 on inauiry card. BYTE July 1 979 237 SOFTWARE ___________ Key-to-Disk Software Available for Microcomputers A new key-to-disk software (P1- KTDS), designed to run on 8080 and Z-80 microcomputers, has been an-' nounced by Phone 1, POB 1522, Rock- ford IL 61110. The software supports four video terminals, four floppy disk drives, line printer, and 3780 communi- cations. The P1-KTDS package allows up to four video users to define and sel- ect as many as four screen formats per user. Each format may contain as many as 40 user specified fields. Constant data fields may also be specified. In addition to data entry, data verification is also included as a feature of the system. Verification is done on each field specified as a verify field whenever the verify option is enabled. Each of the four users has a separate disk drive that stores the formats and data records for the particular video assigned to the drive. The P1-KTDS software is currently shipping on Phone 1 's PI -5 Data Con- centrator product which utilizes the 8080 microcomputer, 8214 and 8259 interrrupt controllers, 8251 terminal and printer controllers. Mylar decals, which attach to the front edge of the video keytops, guide the user in efficiently entering data. P1-KTDS source module on CP/M or FDOS III compatible disk, limited use license, users manual, and four sets of keyboard decals are priced at $2,500. The users manual is available separately for $35. Circle 629 on inquiry card. Business Software Packages A line of 21 fully integrated and auto-chaining business software packages is available from Univair International, 10327 Lambert International Airport, St Louis MO 63145. Some of the major programs include General Ledger, Ac- counts Payable, Accounts Receivable, Payroll, Inventory, Dental Management System, Medical Management System, Real Estate Multi-List, Insurance Agency, Credit Union, Data Base Management, and Word Processing. All programs are run under CP/M or IMDOS with com- mercial BASIC and 31 K bytes of pro- grammable memory. A system of auto- matic chaining, posting, file backups, and updates is incorporated. The cost of each program on an eight inch soft-sectored floppy disk is $395. Complete source code and operators manual are provided. Programs are also available on five inch Northstar or five inch Micropolis disks. Circle 630 on inquiry card. Software for the Apple II Computer Softape, 10756 Vanowen St, North Hollywood CA 91605 has an extensive selection of'software available for the Apple II computer. One such program, Appletalker accepts voice or audio information through the cassette input port, digitizes the information, and stores it in numbered tables in the computer's memory. The stored infor- mation can then be played back using the Apple's on board speaker. Apple-Lis'ner allows the user to communicate with the Apple II com- puter via spoken words. By using a cass- ette recorder and microphone, Apple Lis'ner will listen for the words or phrases it has learned and respond under program control. For more information on these and other Apple II programs, write to Softape at the above address. Circle 631 on inquiry card. Software for the Micropolis Floppy Disk System The Basically Speaking Co has announced the availability of software for the Micropolis five inch floppy disk systems. Statpak includes the ability to create a data file and to do multiple statistical analyses on a data base. Available statistical functions include Chi Square, analysis of variance and linear regression. Gradebook allows school teachers to use their computer as a gradebook. Multiple classes are allowed, as well as missing assignments, excused absences, and addition and deletion of student records. A grade figuring program called Reportcard is included. The Personal Accounts Ledger (PAL) program keeps not only a checkbook ledger, but a savings ledger, a small business ledger, and an investment ledger, and allows these ledgers and their accounts to be fully integrated. Selected account printing is also sup- ported. The price is $45 for a Micropolis MDOS (Model I or II) or Micropolis CP/M disk and documentation. The documentation includes full instructions for use, suggestions for modification, and complete listings. For further in- formation contact Basically Speaking, 719 Anna Lee Ln, Bloomington IN 47101. Circle 632 on inquiry card. 8080 Simulator for the 6502 Now available in a KIM-1 version, the 8080 Simulator for the 6502 processor executes the entire 8080 instruction set. All internal 8080 registers are main- tained, ready for convenient examin- ation or modification of their contents. In its minimum configuration on the KIM-1, the 8080 Simulator supports register single step, program counter single step and run modes. It also offers an input and an output port, breakpoint operation, and rejection of illegal op- codes. The 8080 Simulator runs in less than 1 K of memory, leaving up to 224 bytes of 8080 programming space on an unexpanded KIM-1. The Simulator may be relocated in read only memory and can be adapted to other 6502 based systems. Well suited to all but time sensitive applications, the 8080 Simulator may be used to assist in the design and testing of 8080 software, used as a training aid or used for running most 8080 application software. The pack- age consists of a KIM-1 format cassette tape, a user manual and a complete, commented assembly level source and object listing. The price is $18 plus $1.50 for postage and handling. For further information, contact Dann McCreary, 4758 Mansfield St #2B, San Diego CA 92116. Circle 633 on inquiry card. Word Processing System for Z-80 Based Computers with North Star Disk The Wordsmith is a word processor for Z-80 based computers with North Star floppy disk systems, an RS-232 ter- minal and a Diablo 1620 or equivalent printer. It provides complete cursor con- trol, block movements, string searches and alterations, insertion and deletion of text, and other editing functions through the use of control commands. Print formatting commands are en- tered along with the text and allow the format to be changed while the printing is taking place. The format commands include right justification, setting of margins, automatic paging and headers, four types of paragraphs, insertion of variable data into the text, and operator instructions. Form letters are easily produced, each one person- alized for the recipient, through the use of simple text commands. Disk file creation, deletion and updating are han- dled automatically. The Wordsmith is priced at $299. For further information contact Southwest Micro-Systems, POB 20088, Riverside CA 92516. Circle 634. on inquiry card. 238 July 1979 © BYTE Publications Inc ITHACA AUDIO THE OEM MARKETPLACE Assembled and Tested Added at Ithaca Audio Field-proven reliable engineering Over 15,000 boards worldwide prove Ithaca Audio provides the quality and reliability you demand. Ithaca Audio Boards are fully S-100 com- patible, featuring gold edge connectors and plated-through holes. All boards (except the Protoboard) have fully buffered data and address lines, DIP switch addressing, solder mask and parts legend. • Z-80 CPU Board still the most power- ful 8 bit central processor available. Featuring power-on-jump, provision foron-board 2708. Accepts most 8080 software. A&T 4 mHz $205.00 A&T 2 m Hz $175.00 Blank PC $ 35.00 • Disk Controller Board controls up to 4 single or double sided drives. Supported by a host of reliable software packages: K2 FDOS, Pascal, Basic and complete diag- nostics. A&T $175.00 Blank PC $ 35.00 • K2 FDOS Disk software in the DEC tradition. Includes character oriented text editor (TED), File Package (PIP), Debugger (HDT), Assembler (ASMBLE), HEXBIN, 1 COPY, System Generator (SYSGEN) and more. Command syntax follows Digital's OS-8/RT-11 format. First in a family of high level software. Basic and Pascal available now. Soon-to-be-released Fortran. K2 Disk $ 75.00 • Video Display Board features the full 128 upper/lower case ASCII character set. Easy-to-read 16 line x 64 character format can be displayed on an inexpensive video monitor or modified TV set. Includes TTY software. Add our powerful K2 FDOS to create a versatile operator's console. A&T $145.00 Blank PC $ 25.00 • 8K Static RAM Board High speed static memory at a reasonable cost per bit. Includes memory protect/unprotect and selectable wait states. A&T 250 ns $195.00 A&T 450 ns $165.00 Blank PC $ 25.00 • 2708/2716 EPROM Board indis- pensable for storing dedicated programs and often used software. Accept up to 16K of 2708's or 32K of 271 6's. A&T (less EPROMs) $ 95.00 Blank PC $ 25.00 2708 EPROMs $ 11.00 The leading manufacturer of blank S-100 boards is adding a new wrinkle— now all their boards are available assembled and tested. "This is a natural progression for the com- pany" according to Mr. James Watson, President. "Actually we've been supplying assembled and tested for some time to our volume customers and OEM's, particularly those overseas. Our production staff is now fully up to speed, so just about everything is available from stock." The company sched- uled 6 months to phase in assembled and tested to allow time to build base inventories, before offering the boards to the public. "We feel this is quite important. A lot of companies have earned themselves a bad name in this business by announcing products they can't really deliver. We simply won't do that." Mr. Watson further explained that Ithaca Audio intends to remain leader in blank boards and expects to release a minimum of 6 new designs by August, which will be offered both blank and assembled and tested. Memory Prices Tumble Ithaca Audio first to break 10/Byte Barrier By cutting prices for 32K of RAM to $319 Ithaca Audio becomes the first computer vendor ever to offer high speed memory for less than a penny a byte. Commenting on the announcement, Steve Edelman, Director of Engineering said "Just a few years ago people were wishing for a penny a bit, and even now memory for most large computers costs about 2«/byte and that's only in 1 Megabyte chunks." In fact it's the relative modest capacity of the 32K board that makes it so interesting. Users need not buy the full 64K to take advantage of the low price per bit. Furthermore, the board is available both as a kit and assembled and tested. Delivery is stock to two weeks. Pricing is: • 32K kit $319 • 32K A&T $359 • 64K kit $645 • 64K A&T $695 8" Disk Drives Shugart compatible Memorex 550's are in stock. Single and double density compatible, 330K bytes capacity with our controller or use your own. Either way $456 Protoboard Universal wire-wrap board for developing custom circuitry. Room for three regulators. Accepts any size DIP socket. Blank PC $ 25.00 Pascal/Z Ready The first Pascal Compiler for the Z80, and the fastest Z80 Pascal ever is now ready. Over one year in development, Ithaca Audio was obviously pleased with the results. "We really have outperformed them" states Jeff Moskow, Director of Software Engineering, beaming over the recently released bench- marks, in which Pascal/Z averaged better than five times the speed of a recent P-code implementation. "Pseudo-code means a vendor only has to supply one compiler to lots of people using lots of different machines, and that makes his life very easy, but it also means users' pro- grams execute significantly slower. There- fore, we chose to write a native compiler that delivers fast re-entrant ROMable code, with no need for an intermediate language and interpreter. That's where our speed comes from." As a matter of fact, Pascal/Z is often twenty times as fast as UCSD's implementa- tion and may well be faster than dedicated Pascal machines such as the recently announced Western Digital Pascal Micro- engine.™ Unlike the Microengine, Pascal/Z does not require any new special CPU hardware and has the added benefit of com- patibility with existing Z80 software. Operational requirements of Pascal/Z are the Ithaca Audio K2 Operating system and 48K of memory during compiles. The output is standard Z80 Macrocode which is linked and run through the Ithaca Audio Macro- assembler. Binary files may be as small as 2.5K, or even less if the full library is not used. The compiler, including the Macroassembler, is available on an 8" K2 floppy disk. Price including full documentation is $175.00. The Macroassembler is available separately for $50.00. Delivery is from stock. More Software: For those that don't require the speed of a compiler like Pascal/Z, Ithaca Audio also offers the convenience of BASIC. BASIC/Z, an extended version of TDL's Super Basic, runs in slightly over 1 2K and is supplied on an 8" K2 disk for $75.00. SAVE Even More - When you buy your software as a package K2 and Pascal/Z $225 SAVE $25 K2, Pascal/Z and Basic/Z $275 SAVE $50 HOW TO ORDER Send check or money order, include $2.00 shipping per order. N.Y.S. Residents include tax. For technical assistance call or write to: ITHACA AUDIO P.O. Box 91 Ithaca, New York 14850 Phone: 607/257-0190 Circle 191 on inquiry card. BYTE July 1979 239 MISCELLANEOUS _ Home Computer From Bally The Bally Computer System contains the built-in "Bally Brain," a micro- processor that has a 12 K byte memory. Each optional Bally Videocade cassette adds up to 8 K additional bytes. Also built into the system are a five function, ten memory register calculator, 256 color display variations, stop-action pause control, and automatic shut- off. The unit is available in two player and four player models and has a 16,000 dot picture image. With three arcade games and a 24 key calculator built in, the two player model has a retail price of $299.95 and the four player model is $329.95. Both an optional Bally BASIC programming cassette and an audio cassette interface are priced at $49.95. For further information contact Bally Consumer Products Div, 10750 W Grand Av, Franklin Park It 60131. Circle 639 on inquiry card. Microcomputer Offers Pascal in Programmable Read Only Memory This new microcomputer designed for use with Pascal is being marketed by Control Systems Inc, Drawer EE, Williamsburg VA 23185. The UDS 470 offers Pascal in programmable read only memory as an alternative to as- sembly language and BASIC for low and medium volume applications where power and fast development are im- portant. They make available a version of UCSD Pascal specifically designed for read only memory and programmable read only memory operation for use in dedicated applications when the development cycle would be slow with assembly language. The Pascal in pro- grammable read only memory feature makes high level programming as easy as assembly language programming. A Pascal program is compiled (instead of assembled) and compiler output (P-code) is burned into programmable read only memory and erasable read only memory. The UDS 470 is a rack mountable system designed for industrial environ- ments (high temperature, vibration, etc). It currently uses the 6800 micropro- cessor, but can be upgraded to the 6809 or 68000 when they become available. The UCSD system was designed to be machine independent. UCSD's 2 .0 version is currently being supplied, but the 3.0 version will be used when UCSD releases it. The standard UDS 470 package includes a processor with 1 K bytes of programmable memory and 2 K bytes of erasable read only memory; serial I/O (input/output) port with automatic reset and VCC monitor; 48 K bytes programmable memory; 16 K bytes erasable read only memory; 5 inch double density floppy disks with inter- face; 5 V power supply; and a case. The approximate price of the standard UDS 470 is $4000. Circle 640 on inquiry card. Where Do New Products Come From? The information printed in the new products pages of BYTE is obtained from "new product" or "press release" copy sent by the promoters of new products. If in our judgment the Information might be of interest to the per- sonal computing experimenters and homebrewers who read BYTE, we print it in some form. We openly solicit releases and photos from manufacturers and suppliers to this The Information Is printed more or less as a first in first out queue, subject to occasional priority modifications. While we would not knowingly print untrue or inaccurate data, or data from unreliable companies, our capa- city to evaluate the products and companies appearing in the "What's New?" feature is neces- sarily limited. We therefore can- not be responsible for product quality or company performance. North Star Word Processor With Extras IDSWORD is a comprehensive word processing package available in North Star BASIC Version 6, under North Star disk operating system release 4.0. Prompts are given as complete English sentences, and responses are accepted as words, rather than numbers. Imbed- ded commands are not required since IDSWORD formats the text interactively. Some of the features are insertion, deletion, and block moves of text; global searches; complete text editing on video terminal or printer; control of margin size and justification; merging of up to ten files; sorting and printing of mailing labels. Block editing capability on the video terminal is available by a linked list of all lines of text in memory, coupled with full cursor control over the entire text display. The amount of text in memory is automatically adjusted to the available memory. About 25 pages of text may be stored on a single density disk. Longer docu- ments may be developed and printed in segments. IDSWORD will run with one or two disk units. It is presently configured to run with the Soroc, Lear Siegler ADM-3a, Hazeltine, and Intertube ter- minals, and the IBM Selectric, Qume, Diablo, and Spinwriter printers. IDS- WORD is a modular system starting at $125 for the basic configuration. The complete word processor is priced at $245 for the video screen edit capabil- ity, or $220 for the editing on the printer capability. The form letter, labels, name and address file mainte- nance, and sort modules are $50. For further information, contact CW Appli- cations, 1776 E Jefferson St, Rockville MD 20852. Circle 641 on inquiry card. 240 July 1979 © BYTE Publications Inc CaUForn.a DiqiTAl Post Office Box 3097 B • Torrance, California 90503 Sankyo Magnetic Card Reader These Sankyo I/O units are capable of storing and retrieving over '400 characters of data in under two secords. >The flexability of this device lends itself to numerous applications. As an input reader to a computerized security system, the com- puter has the ability of identifying the card holder and admitting only those individuals who are authorized to enter the premises I during specified time frames. The device is also suitable for I maintaining customer information files, or any other application I where small amounts of information must be quickly entered into I a data processing system. I Accepts 2" by 4" HP style mag-cards. (Similar to bank cards. ) J Motorized feeder pulls the magnetic card across the four channel | read/write head. NEW surplus, original cost $200. Full documentation CONNECTORS iiumuu, m mai m |°^:.-.v.-.v.y>| your choice DB25P , male plug&hood or DB 25s female *3.95 Qty. fe. mile bd. 10 MS 2.45 1.15 25 3.15 2.2S 1.05 100 2.15 1.90 .95 500 2.25 1.50 .85 IK 1.97 1.37 .73 Edge Connectors GOLD 100 PIN IMSAI/ALTAIR Imial iolilfr.12Si.250 Imtil w/w.l25ceeter« • Hair iold.rt.il .140 ro» SPECIALS 22/44 Him eyelet.150" 25/50 Idld.r lib .155" 36/72 wide pint W/W.156 13.95 3/» 9.00 •4.55 3/113.00 15.95 3'MS.00 • 1.95 3, «5.00 • 1.09 3/12.00 • 1.95 3. 15.00 S-100 Mother Board Quiet TEN Sill {*< — Certified Digital J*M SCOtCh CASSETTES £.rTT^ ^UNIVAC KEYBOARD Tfia lirnom Sparry umvac 1110 Hollsrlih knybonrd aawmbly .» no* arailabta liom Calllomia InrJuflriil lor only 12* M Tha idaal compular input devica tor iccountinti and nalieiani Tha numariC *eyi am placed on I rut lowar owl lo raaambW 1 Uxi key adding macntna. Thn alUM on* handed numeric dale entry, ii coti was S38S llMd t>ul guaranteed in eicellenl Shugart Associates $79.50 Plugs directly into you Apple II. Allows you to enter numerics, punctuation and upper case alpha characters, all from the data entry pad. Sold assembled in walnut finished enclosure. APPLE (I IBK MEMORY COLOR • GRAPHICS* SOUND $1024 PLUS SHIPPING Mlt.Suj. Rel.il..., •1195 Diskettes 8inchSoft(IBM< 8 inch 32 sector Mini Soft sec. Mini 10 sector Mini 16 sector Won't drop a BIT ! SA800 R Floppy Dlstf DflVe The most cost effective way to store data proc- essing Information, when random recall is a prime factor. The SA800 is fully compatible with the IBM 3740 format. Write protect cir- cuitry, low maintenance & Shugart quality. CALIFORNIA DIGITAL 16 BiT 8086 S-100 CPU Board Directly addresses one megabyte. 8 bit unidirectional & 16 bit bi- directional. 4K of static memory is supplied on board. $650. 00 DiqiCAST A/V-100 R.F. MODULATOR ^AQAeBroadcast both fc»af,*** audio and vidio on your existing color television. Recommend- ed for the Apple II. memory (8) 4116*8 • As you may be aware, publishers require advertisers to submit their ad copy 60 to 90 days prior to "press" date. That much lead time in a volatile market place, such as memory circuits, makes it extremely difficult to project future cost and availability. To obtain the best pricing on memory we have made volume commitments to our suppliers, which in turn affords us the opportunity to sell these circuits at the most competitive prices. Please contact us if you if you have a demand for volume state of the art mem- ory products. STATIC 21L02 450nS. 21L02 250nS. 2114 1Kx4 450 2114 lKic4 300 4044 4Kcl 450 4044 4Kxl 250 4045 110t4 450 4045 lftt4 250 5257 low pow. 1-31 1.49 1. 69 6. 95 8.95 5.95 9.95 8.95 9. 95 7.95 32-99 100-5C 1. 19 1.49 6. 50 8. 50 5. 50 9.50 8.50 9. 50 7. 50 1.05 1.45 6. 25 8. 00 5.00 9. 00 8.00 9. 00 7. 05 .95 * 6.00 1K+ 5.75 SPECIAL CIRCUITS Z80A 4 MHz. 8080A CPU 8085 8086 Intel 16 bits TMS9900 16 bits 24.95 9.95 22. 50 AY5-1013A UART 4.95 Floppy Disc Controllers WD 1771 single D. 39. 95 WD 1781 DoubleD 65. 00 WD 1791 D/D3740 * E PROMS 1-15 16-63 64+ 1702A 2K 4.95 4.50 4.00 2708 8K 9.95 9.50 9.00 2716 5vl6K 49. 95 45. 00 42. 50 2532 32K * * * $139.50 PORTABLE DATA ENTRY SYSTEM These used data terminals were originally designed for chain store inventory con- trol and order entry systems. The operator enters the inventory control number, merchandise on hand and the unit price. After all pertinent data has been entered Into the recorder, the main warehouse is telephoned, the handset is placed in the acoustic coupler and all the recorded information is transmitted back to the master computer. With a little imagination and one of these portable entry systems, you should be able to exchange programs and computer information with associates across the country. All units were removed from Bervice in working condition. Original cost $2,500. Each system comes complete with: •Portable Cassette Drive Unit "Five Gould "D" NtCads -DB25 Cable ■Removable Entry Keyboard -Acoustical Coupler .Shoulder starp with LED Display -Battery Charger -Full Documentation Miniature Switches your choice e ao 10 » too '> 5.88 .81 73.66 SPDT Miniature Toggles 7101 CaK ON -NONE' ON 7107 |bt 0N-0f F(nmt.ON) 7108 CK ON (moment. OH) Rocket IBT DP0T Rotary 3P-4-Pos. Rotary 3P-6-Po». Push 8 (N.0.( S.39ei.4/Sl DIP Switch ysTEm xn It's nol offer, that California Digital ven- tures Into the distribution of consumer pro- ducts, but we have resently come accross a product that appears so unique that we just had to add it to our product line. This is the System X-10 manufactured by th* BSR turntable company. This space age system will re- motely control any light or appliance in your home or office. Command sig- nals are transmitted from the command console over your existing wiring. From your bed or easy chair you can control up to 16 different electrical de- vices InBide and outside your home. Use the System X-10 to control your stereo, television or any light fixture on the premises. The basic sampler package comes complete with command console, battery operated ultrasonic controller, one each of the appliance module, lamp mod- ule and wall switch. The basic package is priced at only $09.50 Additional modules are available for $13. 95 each. DISCOUNT ' UJire Wrap Center ■sail IC SOCKETS wire wrap low profile ee. 25 5 0 ee. 25 50 » 17' 16 15 14 37< 36 35 It 17 16 16 38 37 36 19 18 17 24 99 93 85 36 35 34 40 let 155 139 63 66 58 »«. KVNARwrSp •98 500 1,000 11,000 $9. 515. (105. BW630 law (213)679-9001 Circle 39 on inquiry card. All merchandise sold by California Digital is prentiuili yrade. Sorrv. no CCD's. ( Jcdt-rs are shipped \h'- same day received. California residents add (*"'.>. Foreign order* add 10'Jt.. Orders ovf-T $215, when accompanied by paytnent, arc shipped ai our expense. Otherwise! pleftse add $2. BYTE July 1079 2 41 . What's New? PUBLICATIONS mKKs • FOBCS OPSBATEO • INFINITE RESOLUTION • HIGH RELIABILITY Miniature Joystick Catalog Measurement Systems Inc announces publication of their new 16 page catalog, Miniature Joysticks. These joysticks are used for cursor positioning of many displays including interactive terminals, computer aided drafting, and radar sys- tems. They are also used for mechanism positioning such as microcircuit pro- duction equipment and vehicle control. These joysticks are offered for control of one, two, or three axes. They are offered in commercial, industrial and military grades. For further information contact Measurement Systems Inc, 121 Water St, Norwalk CT 06854. Circle 642 on inquiry card. EPROM Bulletin Shows Erase Times An in-depth technical bulletin show- ing erase times and energy characteristics for various popular erasable read only memories is available at no charge from Adco Electronics, 2182 DuPont, Suite 222, Irvine CA 92715. It contains two charts which make it easier for the user to be sure of proper erasure of ultraviolet (UV) erasable programmable read only memories. The brochure, Ultraviolet Erasing of EPROMS (# A78286), has been prepared by the engineering staff of Spectronics Corp to take the guess work out of making sure that various programmable read only memories are empty of data. By quickly determining the specific energy level needed and required exposure time, the user can select the correct UV source. Circle 643 on inquiry card. TV WIKTKC ftlXAGK Wintek Corp Offers New Catalog This catalog contains a 6800 based single board computer plus 15 support and interface modules on industry stan- dard 4 1 /2 by 6V2 inch cards for process control and data acquisition. Addition- ally, 6800 development systems, resident and cross assemblers, and compilers are listed. For further information contact Wintek Corp, 902 N 9th St, Lafayette IN 47904. I Circle 644 on inquiry card. The Complete Motorola Microcomputer Data Library 77?e Complete Motorola Microcom- puter Data Library presents technical data for microcomputer design and implementation. It is divided into three basic segments, each further subdivided into subordinate product categories. The three segments are: • microcomputer components- microprocessor and microcom- puter unit components, together with interface and peripheral components to implement micro- computer systems, • memory products— basic memory components and add-in and add- on memory subsystems for com- puter applications, • microcomputer development sys- tems and subsystems— support products (hardware and software) to design microcomputer systems; board-level subsystems for system implementation. The organization within each of these basic segments is by device families and application groupings rather than in al- phanumeric sequence. Therefore, a com- prehensive table of contents provides the reader with a sequential listing of the chapter by chapter content of each segment. The book is priced at $6. For further information write to Motorola Semi- conductor Products Inc, POB 29024, Phoenix AZ 85036. Circle 645 on inquiry card. Buyers Guide Offered Free of Charge This buyers guide of microcomputer software, accessories, and supplies is available from Wallace Electronics Inc, 4921 N Sheridan Rd, Peoria IL 61614. Software and accessories for the Apple II and TRS-80, as well as a wide range of computer supplies, are listed on these sheets. The guide is updated weekly. The buyers guide is free of charge, although .50 should be included to cover postage and handling. Circle 646 on inquiry card. PIMS Personal Information Management System Personal Information Management System describes a data base manage- ment program designed for personal use on such small computer systems as the Radio Shack TRS-80 Level II, or other systems using a Microsoft compatible BASIC language. Along with complete source listings of the program and com- prehensive operating instructions, this 88 page book discusses the microcomputer and its potential for personal use. Addi- tionally, 15 comprehensive applications of the program are illustrated in detail. The publication is designed for the computer novice although the program may be beneficially used by anyone. The book is priced at $9.95. For further information contact Scelbi Publications, POB 133 PP STN, Milford CT 06460. Circle 647 on inquiry card. 242 July 1979 © BYTE Publications Inc Venus 2001 Video Board Assembled and Tested $259.95 • Complete Unit with 4K of Memory and Video Driver on Eprom assembled and tested $339.95 OPTIONAL: • Sockets $10.00 • 2K Memory $30.00 • 4K Memory $60.00 • Video Driver Eprom $20.00 • Text Editor Eprom (Includes Video Driver $75.00) 5- 1 00 Plug-In • Parallel Keyboard Port On board 4K Screen Memory (Optional). On board Eprom (Optional) for Video Driver or Text Editor Software. Up and Down Scrolling through Video Memory Reverse Video, Blinking Characters. Display: 128 ASCII Characters 64 X 32 or 32 X 16 Screen format (Jumper Selectable). 7 by 1 1 Dot Matrix Characters. American or European TV Compati- ble (CRT Controls Programable) Dealer Inquires Invited 15 MHZ DUAL TRACE Portable Scope •399. m m BIG PRICE W77il Igfwi, *■ ■> & hjj BREAKTHRU^ 1 mm s/ MODEL MS-215 • Battery or A.C. Operated • External and Internal Trigger • Time Base— .1 m Sec./Div. Into 21 Calibrated Ranges • 3% Accuracy. Input Impedence 1 M Ohms • Complete with Input Cables, Battery and Charger. OPTIONAL: • Leather Case $45.00 • 10:1 Probe $27.00 (2 for $49.00) MS- 1 5 Single Trace Scope $299. 32-K Static RAM $499. • S-100 Plug-In • Kit includes P.C. board, all parts and assembly manual • Uses2114L, 450 nS. I.C. sockets - $20.00 P.C. BOARD BY S-100 CO. 16-K Static RAM $249. • S-100 Plug-In Kit includes P.C. board, all parts and assembly manual. Uses 21 14L 450 nS. Sockets -$10.00 Add $40.00 for 300 nS (4MHz) RAMS P.C. BOARD BY WAMECO z-80 cpu $125. kit • S-100 Plug-In Kit includes P.C. boards, all parts and assembly manual. FEATURES: 2MHz operation • S-100 plug-in • Power-on jump • On board provision for 2708 (optional at $12.95). P.C. BOARD BY ITHACA AUDIO Circle 130 on inquiry card. ASCII Keyboard Kit $77. Assembled and Tested $93.00 • Single +5V Supply • Full ASCII Set (Upper and Lower Case) • Parallel Output • Positive and Negetave Strobe • 2 Key Rollover • 3 User Definable Keys • P.C. Board Size: 17-3/16" X 5" • Control Characters Molded on Key Caps • Optional Provision For Serial Output OPTIONAL: Metal Enclosure $27.50 • Edge Con. $2.00 • Sockets $4.00 • Upper Case Lock Switch $2.50 • Shift Register (For Serial Output) $2.00 Dealer Inquiries Invited Apple II I/O Board Kit Plugs into Slot of Mother Board •1 8 Bit Parallel Output Port (Expands to 3 Ports) • 1 Input Port • 15mA Output Current Sink or Source • Can be used for peripheral equipment such as printers, floppy discs, cassettes, paper tapes, etc. • 1 free software listing for SWTP PR40 or IBM selectric. PRICE: 1 Input and 1 Output Port $49.00 1 Input and 3 Output Ports $64.00 Dealer Inquiries Invited SHIPPING $3.50 / California residents add 6% sales tax ELECTRONICS WAREHOUSE Inc. 15820 Hawthorne Boulevard Lawndale, CA 90260 (213) 370-5551 PUBLICATIONS Visible Computer Supply Offers Free General Catalog Visible Computer Supply Corp, sup- plier of data processing supplies and accessories, is offering their 116 page 1979 illustrated catalog featuring more than 2800 products. Their product line covers binders and accessories for printout storage, systems and program- ming aids, a complete line of magnetic media and related handling and storage systems, minicomputer accessories, video terminal stands, keypunch furniture and accessories, word processing supplies, microform retention and retrieval sys- tems, and pressure sensitive labels. For further information contact Visible Computer Supply Corp, 3626 Stern Dr, St Charles I L 60174. Circle 648 on inquiry card. Apple Software Directory Over 700 software programs for the Apple computer have been compiled in- to the Apple Software Directory- All pro- grams are listed alphabetically so that the same type of program produced by several sources can be compared. Listings include description, memory re- quirements, price, format and the source. All sources are listed with ad- dresses. The directory is printed in two volumes. Volume 1 covers business and utility programs. Volume 2 covers games and entertainment programs. Each is priced at $4.95. For more information, write WIDL Video, 5325 N Lincoln, Chicago IL 60625. Circle 649 on inquiry card. Publication Lists 32 BASIC Programs for the PET 32 BASIC Programs for the PET Com- puter by Tom Rugg and Phil Feldman is precisely that . .32 fully documented pro- grams that are ready to run on an 8 K byte Commodore PET 2001 computer. The reader does have the option of mak- ing changes to these programs. This 267 page book covers application, educa- tional, game, graphic display, mathe- matical and miscellaneous programs. The book is priced at $15.95. For further information, contact Dilithium Press, POB 92, Forest Grove OR 97116. Circle 650 on inquiry card. Software Magazine Devoted to Radio Shack TRS-80 Owners of Level II Radio Shack computers will appreciate SoftSide, a magazine devoted to providing games and light application software in Level II BASIC. Owners gf other personal computers using Microsoft BASIC will also find programs that can be readily converted for their systems. The particular emphasis of the magazine is simulation games. Readers of recent issues have been able to play football, race a clipper ship around Cape Horn, rule a fif- teenth century Italian city-state or chase wild animals on a photographic safari. Light application programs are also published, and have included an income tax program and a personal finance program complete with graphic pictures of checks on the screen. Hints for TRS-80 programmers regularly appear in various places throughout the magazine. Softside is published monthly and is available by sub- scription for an annual rate of $15. A special cassette edi- tion which includes the magazine and all the monthly pro- grams in machine readable form is available for $38 for a six month subscription. For further information contact SoftSide Publications, POB 68, Milford NH 03055. circle 661 on inquiry card. New Book Features Self-Contained Programming Problems Circle 652 on inquiry card. Etudes for Programmers by Charles Wetherell is a collection of large scale problems for learning by doing. Each problem includes a real world back- ground discussion of appropriate pro- gramming techniques, detailed re- quirements for correct solution, exten- sions, and annotated bibliography. Two of the problems are completely solved by the author. The solutions concentrate on good programming techniques, mea- suring the quality of the program and the output, and possible extensions of the problem. They are models of what solu- tions to any programming job should be, and they contain many practical hints about writing good programs. Additionally, this 200 page book of- fers references to sources for program- ming information and further reading about problem subjects. It includes a complete set of four projects for a pro- gramming language course: macro-inter- preter, compiler, relocating loader and computer simulator. Etudes for Programmers is priced at $12.95. For further information, contact Prentice-Hall Inc, Englewood Cliffs NJ 07632. 244 July 1979 © BYTE Publications Inc The TO ORDER CALL TOLL FREE 800-223-7318 COMPUTER FACTORY only $795 USED $559 , • 14K ROM Operating syslem • 8K RAM Memory • 9" Video Monitor • Built in Keyboard • Digitally controlled tape I Today s best value in personal computers, along with the latest | in peripherals are always in slock at the COMPUTER FACTORY NEW! pet s ?& s e n m ess I The PET is now a truly sophisticated Business System with the Floppy Disk and Printer which makes an ideal cost efficient business system for most professional and specialized fields: medicine, ■ law, research, ' education, etc. engineering." PET 2001 - 16K$995 32K$1295, I • 18 or 32K Bytes. p| | Dynamic RAM • 14K ROM - Operating System' | • Upper-Lower Case and Graphics I* Full Sized Business Keyboard • Full Screen Editing I • Operating system will support multiple Languages (BASIC resident) I • Machine Language Monitor I • 8K ROM Expansion Sockets ' 9" CRT PERIPHERALS FOR PET • 24K Memory Expansion • I6K Memory Expansion • PET to HS232 Sena/ • 2 Way Serial. Comrrumcatioi • Modem Board for PET • Analog to Digital Board For 16 Devices ' Second Cassette Drive i Parallel Printer Interface . . . I PET .. PRINTERS 2023 $849 | 2022 $995 i (Includes Tractors) • Bottom and Rear Tractor Feed • 8V Paper Width • 6504 Microprocessor Controlled I • 4K ROM • ' ,K RAM • Upper/Lower Case and Graphics • J x 6 Do! Matrix PET MUSIC BOX Add music and sound effects to your programs. Compose, play, and hear music on your pet. Completely self-contained (no wiring). Free 3 programs including Star Wars theme, sound effects, etc. $39. DUAL DRIVE FLOPPY DISK 2040 $1295 • 360 K Bytes Storage • High Speed Data Transfer » Plugs into IEEE Port • 6504 Microprocessor • 8K ROM Operating System • 8K ROM Encoding and Decoding » 4K RAM • Uses Single or Dual sided Diskettes | SINGLE DRIVE FLOPPY UNIT 2041 $895 » Intelligent mini floppy I • 171 5K net user storage 51 $1495 Complete! 16K Model add $200 32K Model add $500 Cbmpucolorll COMPUCOLOR II Disk-Based Model 3 Advanced hardware and software technology gives you: • 13 " Color Display • Advanced Color Graphics • 51K Disk Built-in • 16K ROM Operating System • 8K RAM User Memory • 4K RAM Relresh • 8080A Microcomputer • RS-232 I/O I Every unit comes with an extended DlSK- BASIC that has full file management capa- bility resident in the COMPUCOLOR II in 16K of ROM Color is fantastic, but COM- PUCOLOR 11 has the power to handle com- plex tasks and small business applications. An impressive software library supplements your own creativity BUSINESS COMPUTER IMSAI The low cost solution for all small business problems A wide variety of software is available for all your needs PCS series include dual floppies, 32K RAM. I O. DOS. BASIC • PCS-42 (400KB) $3295 • PCS-44 (780KB) $3995 VDP-42 series adds video terminal, key- board and VIO to above • VDP-42 $4995 • VDP-44 $5595 • VDP 80 $7995 NEWIfron, Eventide AUDIO SPECTRUM ANALYZER • Mounts inside the PET • Third-Octave audio specttve analysis • Complete with software and documentation • Replaces equipment costing thousands of dollars $595 MARK SENSE CARD READER $750 • Automatic turn-on and card feed J • Ideal for marking test scores • Accepts any length card • Perfect for schools & business AHPLr. 11 apple i-. ,i eoitifHittiy fOftt«ntd comiuiiti tyiWm, with BASIL in hum lull ASC 11 ki'Vliu.ml in ,i llglilVKBighl iimloVil uarrvmg bum E-ajwndabPt to 4 en APPLE It Uim $59b APPt ES0F I .i> ROM* .. SZQH InlBHuceCardt 5179 MICHOPROOUCTS • fcPMIM PffltTM S 99.9b • El'ROM Suck.'! A.lm S 14.95 SUPER SOFTWARE Word Processing For PET This super advanced full function program will allow you to create text from PET or terminal Keyboard. • INSERT • DELETE • CENTER • UNDERLINE • FULL SCREEN EDITING • MOVE LINES OR | BLOCKS • SAVE TEXT ON TAPE • AUTO PRINT FEATURE.... $45 Apple's This fantastic program disk allows the statistician. Moving mathematician, trader in stocks, money or Average commodities, the ability to maintain 30 database Plot series of up to 300 values and plot 3 different moving Program averages of a series at the same time, in 3 different colors. Files can be updated, deleted, changed, extended, etc. A sure value disk at only $401 Word Processing For Apple on disk. ..$50 bv exidv • ZBOPi • Keyboard and H • BK HAM (up lo 32KI CQQC • Serial and Parallel I/O *° • Dual Casselie 1/0 • 3D i 64 Display • S 100 Compatible • 6i Usei Oelined Chaiacim • 240 > 517 Resolution Gtapfiici Modular dostyri allows me ol both cas«ttei lor program! and RUM PAC cartridge! lor luture language inl reduction J like; APL. COBOL. PILOT. FORTRAN, en. Add mon- itor and tape or disk loi complete computet SORCERER i SPECIAL 12" Video Monitor for SORCERER ($299 value) ONLY SI 25 with 8K unit 95 with 16K unit 65 with 32K unit ANDERSON JAC0BS0N Ei3j Ideal lor word procniing and small bun- nesssi. • Ascncodi uoW * 15 cpt Printout P" v • High Quality Stltctiva Printing • Use Keyboard lor PET ■ Reliable huvy duty Mechanism * Completely Rilurbiihid by A.J. * Serv.ce in IS Maktr due) foCKll IN SI Parallel - $1095 Snul $1195 RADIO SHACK • PET • SORCERER • APPLE • COMPUCOLOR • ETC. PRINTERS • PRINTERS • PRINTERS The COMPUTER FACTORY'S extensive CENTRONICS. $1095 inventory and wide selection of computer AXIOM (Parallel) 445 printers assures you of finding the printer AXIOM (Serial) 520 best suited (or your needs and TRENDCOM 375 specifications. The following printers worklNTEGRAL DATA 795 well with all known personal computers OUME or DIABLO 3400 Min Credit Card Order $75 rvith purchase ot any > page N Y residents add 8% sales tax • Same day e a * shipment on prepaid and credit card orders » Add S5 shipping for computers. S3 for joards. S 25 each cassette tape. FREE TO ORDER CALL TOLL FREE 800-223-7318 NEW CENTRONICS 730 SO CPS - MICROPROCESSOR CONTROLLED) Tractor & Friction Feed • Uses Single Sheets, Roll, Fanfold • Upper & Lower Case • Light Weight Parallel $995 Serial $1045^-^^ 6 (46th St.) TL* /^aOlVlID! iTETD CAPTHDV 485 Lexington Avenue 750 Third Avenue New York, N.Y. 10017 I lit? V^V^IVInU I Cn "MV^ I V^rl I (212) 687-5001 (212) PET-2001 Foreign order desk ■ Telex 640Ubb BYTE July 1 979 245 What ■ s New? PERIPHERALS Answer and Originate Acoustic Coupler Real Time Calendar and Clock for Apple II Computer The AC -312 answer/originate acoustic coupler operates at 300 bps. The device is 103 Western Electric compatible and is switch selectable between originate and answer modes. When in the answer mode, this unit will generate the answer tone necessary to communicate with 300 bps originate only couplers and modems. The AC-312 includes a single plugable printed circuit board for ease of field upgrading to 1200 bps operation and field service. Standard light emitting diode diagnostic indicators are also featured. The AC-312 answer/originate modem is priced at $295. For further in- formation, contact Digicom Data Pro- ducts Inc, 1440 Koll Circle, Suite 108, San Jose CA 95112. Circle 653 on inquiry card. Mountain Hardware has announced the Real Time Calendar and Clock for Apple II computers. The Apple Clock keeps time and data in 1 ms increments continuously for over one year. Calen- dar, clock, and event timer functions are easily accessed from BASIC using rou- tines contained in on board read only memory. Some of the features of the Ap- ple Clock include crystal control, on board rechargeable battery to keep the clock running during computer down times; software for calendar and clock routines as well as an event timer con- tained in on board read only memory; and an interrupt feature which can be programmed to make efficient use of computer time. Sample applications in- clude programming a morning printout of appointments; date of transactions; creating games in which elapsed time is important; and time events. The Apple Clock can be added to Mountain Hard- ware's Introl Remote Control System for real time control and monitoring of remote devices over regular AC wiring. The price of the Apple Clock is $199 assembled and tested. For further infor- mation, contact Mountain Hardware Inc, 300 Harvey W Blvd, Santa Cruz CA 95060. Circle 654 on inquiry card. Interface TRS-80 to Summagraphics' Bit Pad Summagraphics Corp has announced the availability of an interface for the company's digitizer, the Bit Pad, which allows connection to the Radio Shack TRS-80 microcomputer. This new inter- face permits the entry and transfer of X,Y coordinate values for graphics and data entry applications from the Bit Pad to the TRS-80 computer. The interface is priced at $175, and a cassette containing software is provided. Data is transferred from the Bit Pad in groups of five bytes. The interface is con- tained in a small separate box that con- nects to the Bit Pad and the TRS-80. The interface allows use of all other TRS-80 accessories. For further information, contact Summagraphics Corp, 35 Brent- wood Ave, Fairfield CT 06430. Circle 655 on inquiry card. Compact Low Cost Alphanumeric Printers The DigiTec'6410 and 6420 small desktop printers print 20 columns of alphanumeric characters. Sixty-four dif- ferent characters are produced in a 5 by 7 dot matrix. The printer can easily replace teletypewriter terminals in ap- plications that don't need 80 column capability. An internal microprocessor makes these new printers reliable and easy to interface. The Model 6410 pro- vides a serial interface to RS-232C and 20 mA current loop systems at 110 bps. The Model 6420 works with 8 bit parallel bus systems at up to 1000 characters per se- cond. They both use the ASCII input for- mat. The single unit price is $395. For fur- ther information and special OEM infor- mation, contact United Systems Corp, 918 Woodley Rd, Dayton OH 45403. Circle 656 on inquiry card. 246 July 1 979 © BYTE Publications Inc Electrolabs new FOB 6721, Stanford, Ca 94305 CATALOGUE //. &»»,».: 415-321-5601 800-227-8266 TLX: 345567 FLOPPY SYSTEMS Crystals Integrated circuits Keyboards Lasers LSI-11 Media RAMs S-100 Components Z-80 Components 8" Siemens FDD 120-8 Drive All. Siemen's options included in this drive which can be con- figured hard or soft and single or double density. (Others give only stripped unit) $399.00 "Power One" Model CP206 Floppy Power Unit For two drives going full-out, and poss- ably more on less severe service. 2.8A®24V, 2.5A@SV, 0.5ASJ-5V. Beautiful quality. $99.00 (Standard) §39.00 $34.95 Tarbell ("It Works") Interface (Includes cable set for 2 drives) $265.00 but only $219.00 with purchase of two drives. Cable Kits 10' with 50 cond. cable and connectors and also Molex connectors and power cable: For one drive: $27.50 For two drives: $33.95, and for three drives: $38.95 CABINETS for FDD120 and 801 R Drives, or CP206 power supply. Matte finish in mar resistant black epoxy paint. H||Lstacking type design. $29.99 ELECTRO LABS is proud to announce appointment as DISTRIBUTOR by Cll-Honeywell Bull. $3495.00 1500.00 995.00 1900.00 PRICE BREAKTHROUGH on SUPERDISK 10MBY! General purpose controller (requires 2 parallel I/O ports) S-100 Controller (DMA) "RL-01/RK-05" surrogate (transparent to RT, RS, RX) SOFTWARE: (CP/M Compatible) SUPERD0S 1 (Z-80) $695.00 MICR0D0S 1 (TRS-80)... $199.00 Power supply (switching) $395.00 Enclosure (desktop) $ ^- uu Removeable Media Cartridge Drive Used Sylvania 12" Video Moni- tors. Composite video 15mhz, 115vac, 50/60hz New Tube. As shown $109 OEM style without case: $99, Anti-glare tube option add $12. Specify p4 or p39 ESAT 200B 5/4" MINI- FLOPPY DRIVE $299.00 — single or double dens- ity - quick access time - high reliability & durability Mini-floppy CABLE KIT: for TRS-80 or your Tarbell controller. $24.95 Daisy Wheel Printers Qume Sprint: 3\45 Print wheels S8.95 Ribbons $5.95 OEM Style mechanism $1399.00 BI-LINGUAL 80x24 COMMUNICATING TERMINAL Scrolling, full cursor, bell, 8x8 metrix, 110-19,200 baud. Dual Font Appli- cations. Arabic & Hebrew, Multilingual Data Entry, . Forms Drawing, Music Instruction, Specialized Graphics (e.g. Games, Chemical Plants, Switchyards) $349.00 We carry keyboards, cases, power supplies, etc., enough to make an entire system. Circle 115 on inquiry card. BYTE July 1979 247 What's New? MEMORY — — Associative Computer Memory Available from Semionics Associates Content addressable or associative computer memory is available from Semionics Associates, 41 Tunnel Rd, Berkeley CA 94705. Called REM (recogni- tion memory), it differs from conven- tional memory by eliminating serial sear- ching. An item may be accessed simply by being named. REM can be written in- to and read from like ordinary memory, but has parallel processing functions, in- cluding six types of recognize and multiwrite. The recognition operations replace serial searching, while multiwrite allows the processor to write into multi- ple locations with a single instruction. In- dividual bit masking may be applied to all of the operations, including ordinary (location accessed) read and write. A data processing system with these func- tions is known as a CAPP (content ad- dressable parallel processor). Ideal for pattern recognition and information retrieval applications, it is also capable of performing parallel arithmetic opera- tions. Semionics' first product is an add-in recognition memory for microcomputers having the S-100 bus. Called REM S-100, the board converts the microcomputer to a CAPP by adding new instructions to the instruction set of the processor. The board is organized to make these addi- tional instructions possible without any alteration to the processor. Recognition memory is organized in 8 bit words and 256 word REM records. It is a static memory with an access time of 200 ns for a single memory location, and recognize or multiwrite time, for all REM records of 4 ^s. This time does not in- crease with size of memory. In a system with multiple REM boards, all of these are accessed in parallel during a recog- nize or multiwrite operation. The REM S-100 add-in recognition memory board has a capacity of 4 K .bytes and is priced at $345. Circle 657 on inquiry card. NEW OLD "BUYERS-SELLERS-TRADERS-READERS" COMPUTER PRODUCTS FLEA MARKET • Want to BUY, SELL or TRADE COMPUTER ITEMS? Hardware, Software, Anyware?? • Want to READ WHERE to GET ITEMS?? • Don't want to WATT 3, 4 or 5 MONTHS for your AD to APPEAR?? • Want WORLD-WIDE' CONTACT POTENTIAL with INTERESTED PATRONS?? • Want REASONABLE RATES?? + We PUBLISH and SEND the AOs VIA 1st CLASS MAIL WITHIN 3wks of RECEIPT. + We PROVIDE WORLD-WIDE* CONTACT. + ADs "RUN ONE TIME FOR ONLY $6.75 or BLOCKS of 3 TIMES EA FOR $18.00. **IAd length! of 180 charscten "Charactm' include punt tuition and spices. For longer AOs, over 1B0 characters, add ID* per character). • RECEIVE AD PUBLICATIONS ONLY-RATE: (7.5019 nuts, (14.40 JIB issues (sent 1st dass to US 6 CA) ta/Bxta US Er CA rate: add (1 50 to 9 issue RATE and 53.00 to )8 rssne RATE is sent VIA AIR MAIL - sand U.S. funds.) •IPar AO response). SEND CHECK OK MONEY ORDER TO: "KING FLEA" P.O. Box 2256 Pocatelln. ID. 83201 MORE INNOVATIONS! FROM P.S. SOFTWARE HOUSE FORMERLY PETSHACK PET" INTERFACES NI.W* PETioCENIHONICS INTERFACE S9800 PET to PARALLEL INTERFACE «>th 5V 8A power mprjiy SM 95 PET 10 2ryj CASSETTE INTERFACE S49 95 PET " SCHEMATICS _ 'CPU boaia prus ovo-K/od scrwnancs or mo U«ao Monitor and Tap* Recorder Out complete p *"» Lay-out an acrwaWy and painuakinglY drawn in the minuted detail PET " ROM ROUTINES FOR ONLY $19 95 YOU GET CWnpMM b.iasnxnwy Ititmgi o* all t ROMS t#m lllHpTHU penis V«Jeo Momtoi Keyboard routine Tape Record and Playback Time Clock etc To entice you we are aiw •ncluUsng our own Machine Language Monitor program lor your PET usmq the keyboard and v«Jeo display You can have me Momlcn progtam on cassette lor only 19 95 enlra SOFTWARE 650IOISASSfMSL[H MAILING LIST for ofw> M RuMtetA enpta * MACHINE tANGUAtif MONItOH ■ S.l.f n" I.H Budget srw >Ufiit<«> ..ih,h< lOva* utuuw^'^tm S i AR ifltrt An t>m* lajtMril* wsillen It* the PI I ■, tm .at r,i.u,».i * Senfl tor oui Ira* SOfTWARC BROCHURt Oealer nqjMM *ettom* P.S. SOFTWARE HOUSE P.O. Box 966 Mishawoka. IN 46544 <5CS Tel: (219) 255-3408 f 6800 DEVELOPMENT PAC I •CONTROL MODULE-single board computer • 16K RAM MODULE-16K 8-bit bytes •RS232 INTERFACE-switchable rates •CASSETTE INTERFACE-300/2400 baud • FANTOM-II monitor/debug ROM •EDITOR/ASSEMBLER-on cassette •CARD RACK, BACK PLANE, POWER SUPPLY •$895 I Corp. Phone: 317-742-6802 902 N. 9th St., Lafayette, IN 47904 Circle 201 on inquiry card. Circle 295 on inquiry card. Circle 389 on inquiry card. NEW 32K EPROMjRAM MEMORY CARD SS 50 BUS SV only DS0 PIR-32K 527.00 2716 EPR0MS & TMS 4016 2K * 8 Static RAM. 4 Independent 8K rramory blocks. Siia 9" « 5ft". 0S0 2114-I8K 527.00 16K Static RAM memory card using the 2114 ar TMS 4045 IK « 4 Static RAMS. Size 9" « 6ft". 2 Independent 8K memory blocks. 5V only. NEW DSD U P 8255 IC & Ml 514.00 Universal parallel interlace card lor Both the SWTP 30 pin I/O BUS IM) & the DSD 27 pin BUS ICI. Utilizes INTEL'S 8255 PROGRAMMABLE 110 chip. Wire wrap aree for full UTILIZATION of the 8255. Card size 5»" « 5" (Ml. 6»" « 4)4" ICI. ALL cards are bare board with edge connectors & Dsta. % DIGITAL SERVICE & DESIGN P.O. BOX 741 MIC. NEWARK, OHIO 43055 VISA Ohio residents add 4.5% sales tu. 0Rr Ge^' eW at>\e 9 s toW ,rtd sc ^tl0 „ tted- 64K RAM BOARD The Zg-SYSTEMS 64K RAM board is designed to op- erate m any Z80 based microcomputer having 5-100 bus. It uses 16K dynamic RAM chips, & features: — Board select — Bank select — Transparent on-board refresh — 2 or 4MKz operation (w/ no wait state) — Memory disable Compatible with Cromemco system Fully assembled, burned in, & tested Available from Btock to 60 days As low as $300.00 in quantities of 100 Price of one $649.00 PC board only $59.00 Withl6K RAM $359.00 PIub shipping charges Z s SYSTEMS POBox 1847, San Diego, CA 92112 (714) 447-3997 Circle 101 on inquiry card. Circle 284 on inquiry card. Circle 401 on inquiry card. SOLID STATE SALES. . . A PICTURE MAY BE TAKEN BY OUR CAMERA, STORED IN A COMPUTER IN REAL TIME AND THEN DISPLAYED ON A CRT AT AN AFFORDABLE PRICE VIDEO COMPUTER PROCESSING SYSTEM THIS REMARKABLE VP-1 COMPUTER/ INTERFACE KIT HAS THE FOLLOWING: FEATURES • IT PRODUCES COMPOSITE VIDEO OUTPUT IN A 128x128 MATRIX FROM A DIRECT MONITOR CONNEC- TION USING 8K OF MEMORY • THE SYSTEM USES A STANDARD S 100 BUSS • WILL NOT TIE UP COMPUTER SOFTWARE WHEN NOT ADDRESSED • IT DISPLAYS CONTINUOUSLY WHEN NOT ADDRESSED • IT MAY PRODUCE PSEUDO COLOR AND/OR GRAPHICS (UP TO 16 GREY LEVELS, 4 BIT BINARY) GRAY LEVELS THE CAMERA WILL TAKE BETWEEN 15 AND 100 FRAMES/SECOND. THE CAMERA CONNECTS TO THE PROCESSOR WITH SEVEN LINES. THIS INCLUDES VIDEO AND TIMING SIGNALS APPLICATIONS • CONTINUOUS SURVEILLANCE • INSPECTION OF MOVING PARTS WITH PROPER STROBING • VISUAL GRAPHIC INPUT TO A COMPUTER • CHARACTER OR PATTERN RECOGNITION • PICTURES MAY BE TAKEN DIRECTLY FROM A TV WITHOUT ELECTRICAL CONNECTIONS • THE INTERFACE KIT MAY BE USED SEPARATELY AS A 128 x 128 16 LEVEL GRAPHIC DISPLAY OUR VP1 VIDEO SYSTEM CONSISTS OF THE FOLLOWING KITS: • CCD 202C SOLID STATE VIDEO CAMERA KIT ASSEMBLED & TESTED $499°° t VP-1 COMPUTER/VIDEO INTERFACE SYSTEM (3 BOARDS) ASSEMBLED & TESTED $99900 • ASSEMBLED 8K MEMORY BOARD (OPTIONAL) $235°° THIS VIDEO COMPUTER KIT CAN WORK WITH THE GE, REDICON, OR ANY OTHER 128 x 128 SENSOR CAMERA REGULATED POWER SUPPLIES POWER SYSTEMS I PS1111 115-230V 50/60 cv. .n 5v DC al 35A out. 6' x 16K"x 15'/." 26 lbs. shipping weight S55.00 POWER SYSTEMS # PS] 106 115-230V 50/60 cv. if> 12v DC at 15A out. 5"x 16K'"x 5" 19 lbs. shipping weight. S49.00 [OV PROTE CT) C/MOS 30 -1OJ0 is «ni 37 1022 11 «023 20 -1024 20 «» 75 4027 75 4028 27 4029 1 05 403" 90 4035 4042 4044 PRINTED CIRCUIT BOARD 4" x 6" DOUBLE SIDED EPOXY BOARD 1/16" thick 5/S2.60 1 1 S.60 ea 7 WATT LD 65 LASER DIODE IR $a95 (DIODE CLAMPED) 40 74C73- 90 40DO 90 «05T g 0 4053 ia 4055 J5 4066 i| 4069 - 37 407T kn 4072 - 60 4076 _ 95 4518 33 4!>?i) 9 7 74 COO 65 74C02 65 74C10 1.40 40 7dC74 I 00 74C86 1 10 71C93 ' 25 74C151 . -t ™ 74C160 t 05 20 74C161 1-Ob 74C174 1 05 97 74C175 105 .95 74C901 IB /<> 74C902 48 22 74C9I4 1 10 muiiiijj: u.Tinf *ci mm wjj mnn$ *ci i, M.H Jt*l SB 141) CMAHAC CXH ur KIBMEKJJBItSn n;j static Smrimc jnU B* IPMOM IIHnl .. 11 VM 710IB *» U'W HAM J» IM5 40MI i as ■■'Ot *k rnou DOS a?s» 7 95 fl?S176 in I1SIJ9 ruat, AVM0I3 VAUT Jldl 1 Jl* t * STATIC )« 1 »6i*IIATIC J '■■ J11J I tttti STATIC III II144KRA1 RAMKIO-K 010 B1J0 78E. 8T3BO 3 31 2N3820PFET S 45 2N 5457 N FET S 45 2N2646 UJT 3 45 ER 'J00 THlGtjEH DIODES 4 SI 00 2N C02S PROG UJT S Kb MINIATURE MULTI-TURN TRIM POTS 100, 1 K, 2K. 5K. 10K. 20K. 50K. 200K, IMey, 2Meo. 5.75 each 3/S2.00 CtTAR^ ED COUPLE DEVICES CCD 201C 100x100 Image Senior 595 00 CCD 202C 100x100 Imago Sonior . . . S14D.00 VERIPAX PC BOARD S16.95 Our new Prototyping 11 n Hi density 4H" * GYt" single sided 1/16" epoxy board. It will hold 40, 24, 16 (34 unitsl, 14 > 8 pin IC's. There are three busses, + 5V, ground and a floating buss. There is a pad (or a TO 220 regulator There is a 22 pin edge connector with . 1 56" spacing. FP 100 PHOTO TRANS S .50 RED, YELLOW. GREEN LARGE LED's. 2" 6/ST.00 TIL-1 18 OPTO ISOLATOR $ .75 MCT-6 OPTO ISOLATOR $ .80 1 WATT ZENERS: 3.3, 4.7. 5.1. 5.6, 9.1, 10,12, 15, 18. or 22V 6/S1.00 i. MCM 657IA 7 x 9 character gen . . S 10.75 , UNIVERSAL 4Kx8 MEMORY BOARD KIT S69.95 ,32 2102-1 fully buffered. 16 address line*, on beard decoding for any 4 of 64 pages, standard Silicon Power Rectifiers TRANSISTOR SPECIALS 2N6233-NPN SWITCHING POWER $1.95 MRF-8004 a CB RF Transistor NPN S 75 7N3772 NPN Si TO 3 S 1 00 2N1546 PNP GE TO-3 $ .75 2N490K PNP S- TO 3 SI 00 2N5086 PNP Si TO 92 4 S I 00 2N3137 NPN Si RF 5 ,55 2N3919 NPN Si TO 3 RI . S 1 50 2N1420 NPN Si TO 5 3/S 1.00 2M3767 NPN Si TO 66 S 70 2N2222 NPN Si TO 18 5 S 1 00 2N3055 NPN Si TO 3 S .50 2M3904 NPN S. TO 92 6/S 1.00 2N3906 PNP Si TO 92 6/S 1.00 2N5296NPNS. TO 220 S 50 2N6109 PNP S. TO 220 S 55 :'NJIi3o PNP Si TO 5 . 5 S 1.00 MPSA 13 NPN Si 4/$ 1.00 TTLIC SERIES »" PRV 100 200 4 00 600 1.20 1.7' 25 A fi PIN .17 24 PIN .35 14 PIN .20 28 PIN ,40 16 PIN ,22 40 PIN .60 18 PIN .25 SANKEN AUDIO POWER AMPS St 1010 G 10 WATTS. $ 7.80 Si 1020 G 20 WATTS . $15.70 Si 1050 G 50 WATTS. . . . $28. 5Q TANTULUM CAPACITORS Mia wot 10.000 MH J mum RIBBON CABLE F LAT (COLOR CODED) ^30 WIRE 26 cond. - .50/per foot ■10 cond. - ,75/pei loot GO cond. - ,90/oer foot CTS 206-8 eight position dip switch $1.60 CTS 206-4 four position dip switch $1.45 LIGHT ACTIVATED SCR's to 18. 200 ,V 1A. . $.70 SILICON SOLAR CELLS 2)4" diameter ,4V at 500 ma S4.00 4" diameter ,4V at 1 AMP $10.00 FND 359 C.C. .4" $ .50 LED READOUTS PCS 8024 a digit DL-704 C.A. .3" $ .76 C.C B" display $5 95 OL 747 C.A. .6" SI 50 FND 503 C.C. 5" S B5 HP3400 .8"CC $1-95 FND 510 C.A 5" S 85 HP3405 8"CA SI 95 400 09 25 G00 1 1 30 80 2 00 8 50 12.50 800 15 Js ' 00 2 50 10 50 16.60 SAD 1024 a REDICON 102<5 itage a 8'taade" shift requter. IN 4148 (IN914) RS232 DB25Pm 3 le S2 95 CONNECTORS 08 25S female S3.50 __ HOODS $1.50 REGULATORS 323K - 5V 3A . .S 5.75 340K - 12, 15 309K SI. 10 or 24 V. . . ,S 1.10 723 s.50 340T-5.6, 8. 12 320T - 15, 18 or 24VS 1 .10 74177 741B0 741H1 74 190 74IS1 74135 74196 7*197 7440 > 7441 4T '4160 1 00 74303 I JS 7*4b SS WW ' 8' 7S3J3- ISO v J4I53- .61 M335- ISO DATA CASSETTES 1/2 HR S 95 14 pin headers 3AS1.00 MM5387AA . . $5.95 M7001 $7.50 MM53G9 I . , 83.75 NO. 30 WIRE WRAP WIRE SINGLE STRAND 100- $1.40 AlCO MINIATURE TOGGLE SWITCHES MTA 106 SPDT .... S .95 MTA 206 DPDT $ 1.70 , 206 P-DPDT CENTER OFF * 1 8S .22UF 35V5/S1.00 .47UF 35V5/S1.00 .68UF 35V5/S1.00 1UF 35V 5/$ 1.00 2.2UF 20V 5/S1.00 3.3UF 20V4/S1.00 4.7UF 15V 5/S1.00 6.8UF 35V4/S1.00 10UF 10V S .25 22UF 25V $ .40 15UF 35V 3/S1.00 30UF 6V 5/$ 1.00 33UF 20V $.40 47UF 20V $.35 68UF 15 V S.50 LINEAR CIRCUIT LM 201 -.75 lm idling n LM307 - 30 LM 308 • 7S LM311 - 75 LM 318 LM 324 - LM 339 J4LSM '4LS15 74LSJO T4LS7I 7*LSSl J4LSS4 74LS71 J4LS75 74LS9J HLS9J J4L5109 I4LS193 J4LS1S* 74LS1BS 74LS741 7*LS?S7 74L5JM - 1 30 LM 3! LM 370 LM 377 LM 380 LM 381 LM3B6 LM 38 > LM 1800 CA 3030 LM S37 LM 553 TRIACS SCR'S MSD 206 f LEVER SV 70 1 10 1.75 TE B c 5A 6A 35A Tmm FOB Cambridge. Mass. Send Check or Money Order. Include Poitaoe, Minimum Order J5.00, COO'S $20.00 Send 254 for our catalog featuring Transistors and Rectifiers 145 Hampshire St., Cambridge. Mass. SOLID STATE SALES P.O. BOX 74 B SOMERVILLE. MASS. 02143 TEL. (617) 547-7053 WE SHIP OVER 95% OF OUR ORDERS THE DAY WE RECEIVE THEM Circle 340 on inquiry card. BYTE Julv 1979 249 What's New? SOFTWARE - Disk Operating and File Management System for 6800 Microcomputers This disk operating and file manage- ment system, called INDEX (Interrupt Driven Executive), executes faster than most systems because the console and other I/O (input/output) devices are serviced by interrupt requests instead of by polling. INDEX supports unlimited disk commands. A user can expand INDEX by adding utility commands and driver routines. These reside on disk and are loaded into memory only when needed. With INDEX, files can be assigned an activity value as a parameter of the file name, and the user may thereby list or display only the file directory entries at or above the activity level specified in the DIR (directory listing) command. INDEX handles both ASCII and binary files, and disk files are automat- ically created, allocated and de-allocated. Files are referenced by names, and file name parameters are addended for name extension, drive number, directory level and a file protection flag. The INDEX operating system soft- ware also features a routine for copying files onto a disk. The console interface segment of INDEX software supports any standard serial ASCII terminal. It features program interrupt for runaway programs; operator start, stop and skip display control; interrupt-serviced, typed-ahead character queue buffer; and a secondary line editing queue buffer. INDEX versions are available for the PerCom LFD-400, Southwest Technical Products' MF-68, Smoke Signal Broad- casting Company's BFD-68 disk systems, and Motorola's EXORciser development system. INDEX is supplied on two 5 inch disks together with a users manual for $99.95. For further information contact PerCom Data Co, 318 Barnes, Garland TX 75042. Circle 658 on inquiry card. New Self-Merchandising Software From ComputerLand ComputerLand is now making per- sonal computing software available through all participating ComputerLand stores. SoftSpot is a custom designed, self-merchandising fixture offering off- the-shelf programs for personal finance, time budgeting, education, games, stock analysis, stock portfolio evaluation, and more. SoftSpot programs start at $7.95. Customer education about personal computers and their applications are of- fered through MainBrain. Books, self- study cassettes and video tapes, and "in person" lecture programs are available from well known publishers. MainBrain has self-service instructions to assist customers in making their own choice of multimedia educational products. For further information contact Com- puterLand, 14400 Catalina St, San Lean- dro CA 94577. Circle 525 on inquiry card. PET SPECIALS LIST SALE PET 16N 16K full size graphics keyboard $ 995 $ PET 16B 16K full size business keyboard $ 995 $ PET 32N 32K full size graphics keyboard $1295 $ PET 32B 32K full size business keyboard $1295 $ PET 16S 16K small keyboard, integral cassette $ 995 $ PET 32S 32K small keyboard, integral cassette $1295 $ PET 8K 8K small keyboard, integral cassette $ 795 $ SYM-1 PET 2040 Dual Disk Drive - 343,000 bytes PET 2040A Single Disk Drive - 171,000 bytes PET 2022 Tractor Feed Printer PET 2023 Pressure Feed Printer PET C2N External Cassette Deck $1295 $ 895 $ 995 $ 849 $ 95 ASK ABOUT EDUCATIONAL DISCOUNTS ON PET IEEE - RS232 Printer Adaptor for PET BETSI PET to S-100 Interface & Motherboard PET Connectors - Memory (8K) - Parallel or IEEE - Cassette Port Personal Information Management System— Scelbi Protect-A-Pet dust cover EXS 100 Floppy Disk Controller for PET PET 6550 RAM Write for PET Software List MICR0CHESS for PET (Peter Jennings) PET 4 Voice Music Board (MTUK-1002-2) Music Software (K-1002-3C) for PET CmC Word Processor program for PET Bridge Challenger program for PET Play and reply bridge hands against the PET Graphics Utility Package for PET Stimulating Simulations 10 PET programs on tape Kite Fight - Michael Riley 2 player action game $ 59.50 $119.00 $ 2.95 $, 2.25 $ 1.60 $ 8.90 $ 9.95 $299.00 $ 16.20 $ 17:90 $ 49.00 $ 19.00 $ 25.00 $ 13.50 $ 13.50 $ 13.50 $ 7.95 Minimum Order $10.00 KIM-1 $159 (Add $30 for Power Supply) BAS-1 Microsoft ROM Basic for SYM Memory Plus SEA-16 New 16K Static RAM Seawell Motherboard-4K RAM space KTM-2 Synertek Keyboard and Video Interface with Graphics Capability North Star 16K 4MHz RAM Kit RAM 16 4MHz 16K Static S-100 RAM 2114 L 450 ns 4K Static RAM 2716 EPR0M (5 volt) BOOKS Programming the 6502 (Zaks) 6502 Applications Book (Zaks) 6500 Programming Manual (MOS) 6500 Hardware Manual (MOS) First Book of KIM Programming a Microcomputer:6502 (Foster) Basic for Home Computers Programming in PASCAL (Grogono) Hands-On Basic with a PET (Peckham) (fOR KIM SYM AIM} $229 $139 $199 $325 $ 99 $290 $245 $309 $ 6.95 $45.00 $ 9.90 $11.90 $ 6.50 $ 6.50 $ 8.90 $ 8.90 $ 5.90 $ 9.90 $10.50 3M "Scotch" 8" disks 10/S31.00 3M "Scotch" 5" diskettes SALE 10/S35.00 Verbatim 5" diskettes 10/S28.50 (Write for quantity prices) Cassettes (all tapes guaranteed) Premium quality, high output lownoise in 5 screw housing with labels: C-10 10/5.95 50/25.00 100/48.00 C-30 10/7.00 50/30.00 100/57.00 WRITE FOR 6502 AND S-100 PRODUCT LIST A B Computers 115 E. Stump Road Montgomeryvllle, PA 18936 (215) 699-8386 250 July 1979 © BYTE Publications Inc Circle 1 on inquiry card. P.O. Box 4430X Santa Clara, CA 95054 RCA Cosmac Super Elf Computer $106.95 Compare features before you decide to buy any other compuler. There is no other computer on the market today that has ail the desirable bene- fits ol the Super Ell for so little money. The Super Elf is a small single board computer that does many big things. It is an excellent compuler lor training and tor learning programming with its machine language and yet it is easily expanded Aith additional memory. Tiny Basic. ASCII Keyboards, video character generation, elc. The Super Ell includes a ROM monitor lor pro- gram loading, editing and execution with SINGLE STEP for program debugging which is not in- cluded in others at the same price. With SINGLE STEP you can seethe microprocessor chip opera- ting with the unique Quest address and data bus displays before, during and after executing in- structions. Also. CPU mode and instruction cycle are decoded and displayed on eight LED indicator lamps. An RCA 186 1 video graphics chip allows you to connect to your own TV with an inexpensive video modulator to do graphics and games. There is a speaker system included lor writing your own music or using many music programs already written. The speaker amplifier may also be used to drive relays for control purposes. A 24 key HEX keyboard includes 16 HEX keys plus load, reset, run. wait, input, memory pro- Super Expansion Board with This is truly an astounding value! This board has been designed to allow you to decide how you want it optioned The Super Expansion Board comes with 4K of low power RAM fully address- able anywhere in 64K with built-in memory pro- tect and a cassette interlace. Provisions have been made for all other options on the same board and it fits neatly into the hardwood cabinet alongside the Super Ell. The board includes slots for up to 6K of EPROM (2708. 2758. 2716 or Tl 2716) and is fully sockeled. EPROM can be used lor the monitor and Tiny Basic or other purposes. A IK Super ROM Monitor $19.95 is available as an on board option in 2708 EPROM which has been preprogrammed with a program loader/ editor and error checking multi file cassette read/write software, (relocatible cassette file) another exclusivefrom Quest. It includes register save and readout, block move capability and video graphics driver with blinking cursor. Break points can be used with the register save feature to isolate program bugs quickly, then follow with single step The Super Monitor is written with subroutines allowing users to take advantage of monitor functions simply by calling them up. tect, monitor select and single step. Large, on board displays provide output and optional high and low address. There is a 44 pin standard connector for PC cards and a 50 pin connector for Ihe Quest Super Expansion Board. Power supply and sockets for all IC's are included in the price plus a detailed 127 pg. instruction manual which now includes over 40 pgs. of software into, in- cluding a series ol lessons to help get you started and a music program and graphics target game. Remember, other computers only offer Super Elf features at additional cost or not at all. Compare before you buy. Super Ell Kit S106.95. High address option S8.95. Low address option S9.95. Custom Cabinet with drilled and labelled plexiglass front panel S24.95. NiCad Battery Memory Saver Kit S6.95. All kits and options also come completely assembled and tested. Questdata. a 12 page monthly software publica- tion for 1802 compuler users is available by sub- scription lor SI 2 00 per year. Attention Elf Owners New products in hardware and soltware coming soon. Tiny Basic cassette S10.00. on ROM S38.00. original Ell kit board $14:95. Cassette Interface $89.95 Improvements and revisions are easily done with the monitor. II you have the Super Expansion Board and Super Monitor the monitor is up and running at the push of a button. Other on board options include Parallel Input and Output Ports with lull handshake. They alloweasy connection of an ASCII keyboard to the input port. RS 232 and 20 ma Current Loop lor teletype or other device are on board and il you need more memory there are two S-1 00 slots for static RAM or video boards. A Godbout 8K RAM board is available for S135.00. Also a IK Super Monitor version-2 with video driver for full capa- bility display with Tiny Basic and a video interface 1 board. Parallel 1/0 Ports S9.35. RS 232 $4.50. TTY 20 ma l/F SI. 95, S-1 00 $4.50. A 50 pin connector sel with ribbon cable is available at S12.50 for easy connection between the Super Ell and the Super Expansion Board. The Power Supply Kit lor the Super Expansion Board is a 5 amp supply with multiple positive and negative voltages S29.95. Add $4.00 for shipping. Prepunched frame S5.00. Case S10.00. Add S1.50 for shipping. Auto Clock Kit $15.95 DC clock with 4-.50" displays. Uses National MA-1012 module with alarm option. Includes light dimmer, crystal timebase PC boards. Fully regulated, comp instructs. Add S3. 95 for beau- tiful dark gray case. Best value anywhere. RCA Cosmac VIP Kit $229.00 Video computer with games and graphics. Fully assem. and test. $249.00 Not a Cheap Clock Kit $14.95 Includes everything except case. 2-PC boards. 6- 50" LED Displays. 5314 clock chip, trans- former, all components and full instructions. Orange displays also avail. Same kit w/,80 displays. Red only. $21.95 Case $11.75 60 Hz Crystal Time Base Kit $4.40 Converts digital clocks from AC line frequency to crystal time base. Outstanding accuracy. Kit includes: PC board. IC. crystal, resistors, ca- pacitors and trimmer. Digital Temperature Meter Kit Indoor and outdoor. Switches back and forth . Beautiful. 50" LED readouts. Nothing like it available. Needs no additional parts for com- plete, full operation. Will measure - 100 to ^200 F. tenths of a degree, air or liquid. Very accurate. $39.95 Beautiful woodgrain case w/bezel $11.75 NiCad Battery Fixer/Charger Kit Opens shorted cells that won t hold a charge and then charges them up. all in one kit w/full parts and instructions. S7.25 PROM Eraser win erase 25 proms in 15 minutes. Ultraviolet, assembled $34.50 Rockwell AIM 65 Computer 6502 based single board with full ASCII keyboard and 20 column thermal printer. 20 char, al- phanumeric display. ROM monitor, lully expand- able. $375.00. 4K version S450.00. 4K Assem- bler $85.00. 8K Basic Interpreter $100.00 Power supply assembled incase S60.00 TERMS: $5.00 min. order U.S. Funds. Calif residents add 6% tax. BankAmericard and Master Charge accepted. Shipping charges will be added on charge cards. Circle 311 on inquiry card. LM379M 500 LM380N LM703H LM709H LM723RN .50 LM733N LM741CH 35 LM747H.'n LM13U3N 47 LM39QQN LM3905 74123H .59 LM39Q9N Si 7412SN MC 1 458 V 50 NE55DN .65 NE555V .43 NE556A .78 1 00 NE565A 1.00 74157N 69 NE566V 1 SO NES67V 1.20 NE570B 5.00 NE571B 5.00 78L05 .60 60 78L0S 74190N 79L05 70 78MD5 B5 75108 1 75 7549 1CN .50 75492CN .55 75494CN 89 A lo 0 CONVERTER. 803 8 B 4 50 74L4UQ TIL 8700CJ 74L500N B701CN 15 95 74LS02N B750CJ 9400CJV;F 74L50BN ICL7103 IC17I07 14 25 8702 17 95 Lljj40D1 Fair. 74LS28N CD40OQ .16 74L53QN CO40O1 .21 74LS33N CD40D2 .21 74LS38N CO40D6 1.10 CD4007 .21 74LS75N ^47 C04008 21 C04009 -39 CO4010 39 CD4011 .21 CD4012 .21 CO40I3 .36 74LS1 13N C040I4 86 CO 4015 66 CD4016 .36 CD4017 94 CD4Q18 94 74LSI57N CD4019 .21 CD4D20 1.02 74LS163N CD4021 1.02 004022 .86 7-tLS l^olv CD4023 ■ .21 74LS221N CD4024 .75 .21 74LS258N CD4025 74LS367N 1 CD4026 CD4027 1 51 .36 CD4028 79 CD4029 1.02 CD403O 21 CD4035 T.02 CD4040 1.02 CD4042 .71 L MJII 1 AN. AM CD4043 .03 CO4044 63 LMJUr N CD-1046 1.67 LM308N CD4049 36 C04050 .36 C04051 1 13 CD4060 1.42 CD4066 .71 CD4066 .40 CD4069 .40 LM323K-5 CD4070 40 LM320K- 12 CO 1071 .21 LM320K 1 1 5 CD4072 21 CD4073 .21 CDJ075 .21 LM320I-12 i'm CD<076 175 LM320T-I5 1 60 CD4078 .40 LM324N 1 IS CD4031 .21 LM339N t.ss CD4082 .21 LM34QK-5 1 35 CD4116 ■A? LM340K-8 1 35 CO4490 5.50 LM340K-12 1 35 CD4507 1 00 LM340K-15 1 35 CD4508 4.25 LM340K-24 1.35 CD4510 1.02 LM34QT-5 1.25 CD451J .94 LM340I-8 1.25 C04515 2 52 LM340M2 1 25 CD4516 1.10 LM34QMS 1 25 C04518 1 02 LM34QT-18 ' 1 25 CD4520 1.02 LM340T-24 1 25 CD4527 1.51 LM343HJ 4 50 CD4528 .79 LM350 7 50 C04553 3 50 LM370 1 15 CD4566 2 25 LM377 3 00 CD45B3 450 C045B5 CD40192 74CO0 74C04 74C10 74C14 74C20 74C30 74C48 74C74 74C76 74C90 74C93 74CI54 74C1S0 74C175 74C192 74C221 74C905 74C906 74C914 74C922 74C923 74C925 74C926 74C927 8T20 8T23 8T24 BT25 BT26 8T28 BT97 8T98 IC SOCKETS Solder Tin Low Prairie pin i up pm iup 8 .15 22 .30 18 27 36 . 58 20 .29 40 57 3 level mm » U out n JO WIRE WRAP LEVEL 3 switches Very compart wilM .50" and MAI002A, C orE .50" 102P3 Trantlormer 2.25 MA1010A. C or E .84 11.95 1D2P2 Tuntiormer 2.25 Special irantfotmtr and sfi switch ei whan pu rctmed w module 2.BJ MA1003 at module .3" green iiuor. display 15.BS RESISTORS H win 5% tOpedype .03 iQOQc-ertyjM 012 25 per type 025 350 piece sack lOOperlype 015 5peitype675 KEYBOARDS 56 key ASCII keyboard kit folly assembled 70.00 Enclosure 14.95 LEDS rJT018 15 MOS/MEMQHY RAM 2101- 1 2102- 1 2102AL-4 21L02-! UART/FIFO .95 AY5-1013 95 AY5-1014 95 3341 .95 1.25 PROM 4 50 1702A 3 00 N82S23 5.50 N82S123 3 10 N82S126 3.50 N82S129 3.20 N82S131 169 NB2S136 2.75 NS2S137 1.69 2708 1.69 DMB577 8223 2716T1 3 75 3.95 S 75 10,95 9.95 3.50 10 00 2114L-3 4116 2513B MM5262 MM5260 MM5320 MM5330 PD4IID-3 PD4I10-4 P5I01L 42O0A 82S25 91L02A HD0165-S MM57100 'GIAY3850O-1 MCM657IA 9368 410D 418 CLOCKS MM5309 MM531I MM53I2 WM5313 MM5314 MM5315. UU5316 MM5318 MM5369 MM5841 MM5865 CT7001 CT7002 CT7010 CT7015 MM5375AA/N MMS375AB/N 7205 7207 7208 7209 DS0026CN DS0Q56CN MM53104 2 50 MICROPROCESSOR 6BO0 17 50 6602 24.95 8080A with data 8 95 27 00 95 2716 Intel CRYSTALS 1 MHi 2MHi 4 MHI 5 MHi 10 MHi 18 MH; D MHi - s 32 MHi 6 30 32768 MHz « 1.8432 MHz 3 00 3 5795 MH, 9-95 2.0100 MHi 5 34 2.097152 MH; *00 2.4576 MHi 3 2768 MHi 3 £ 5.068B MHi 9 95 5 185 MHi 2-90 5.7143 MHi ' 50 6.5536 MHi 6.95 14.31818 MHi ■i 50 18.432 MHi 22.1184 MHi Green. Yellow iota Jumbo Red Green. Orange. Yellow J urn bo 25 Clipiile LEO Mounting Clips SS1 25 (specify red. ember, green yellow, dear I CONTINENTAL SPECIALTIES In ItOCk Compteifiimtol breadboard lest equip MAX- too B digit Freq. Clr. UZB.BS OK WIRE WRAP TOOLS hi ttoct Potiabii MuHlmiler 111.00 DIGITAL THERMOMETER 141.50 Bait. oper. General puiposa or medical " — sable pr - "" ~ COMPUTEH BOARD KITS 8K RAM Board XH £135.00 4K EPROM Kii 114.95 I/O Board Kg 44 50 Eilender Board wccnneclof 12.50 16K EPROM board lot w o PROMS 74 50 North Slir Floppy Q.ik Kfl [665.00 AdtHional Drive K« SPECIAL PR00UCT8 MM5855 Stopwatch Timer 9.00 PC board 7.50 Swltchei Mom. Pushbutton .27 3 pos. slide 25 Encoder HD0I65-5 6.95 3 Digit Unlrerlll Counter Board KH Operates 5-18 Vort DC lo 5 MHi lyp 125' LEO display 10.50 Voice actuated twitch .50 Piralrofllci 100A Logic Anaiyier Kit 5235 00 415.00 CONNECTORS 44 pin edge 100 pm ecge 100 pin ecge WW 475 3.00 3-60. KEYBDARO ENCOOERS 4 80 AY5-2376 3 60 AY5-3600 3 90 74C922 4 00 74C923 5 00 HDO 165-5 3 60 2 10 IE Tell Clips Model 10 Trig go i 4 50 Eipandei Kit £229.00 4 25 Model 150 Bus 4 50 Grabber Kit $369.00 a 50 Sinclair 3V> Olgll Mulilmeter 159.95 Clock Calendar KII S23.95 2 75 TRANSFORMERS 4 50 6V3D0ma 3.25 12 Volt 300 ma transformer 1.25 12.6V CT 600 ma 3,75 !2V 250 ma wall plug 2.95 S12 50 12V CT 250 mi will plug 3.50 13 50 2« CT 400 mi 3.9* 5i0 10V 1.2 amp well plug 4 65 5' M I2V6amp 12 95 6 95 DISPLAY LEDS MAN1 CA 270 2 90 MAN3 CC .125 .39 10 MAN72/74 CA/CA 300 1 00 47 DL704 CC .300 1.25 .47 DL7O7/DL707R CA .300 1.00 DL727/728 CA/CC .500 1.90 16.50 7.50 15.95 Z80A 8216 8224 8228 8251 8253 8255 6257 6259 1802CP plas 1802DP plas 1BGIP CDPIB02CO TRANSISTORS 2N1893 2N2222A , bb 2N2369 .30 **l 2N2904A 20 9>!s 2N2907A .25 2N3053 40 2N3638 25 2N3643 25 2N3904 18 2N3906 18 2N3055 69 2N44O0 25 ,_ 2N4401 ,75 2 90 2N4402 20 8 00 TIP31 60 2 90 TIP33A 1.00 2 90 5.35 0 Connectort RS232 25 Pin SubTiiniaiuies OB25P 2.95 DS25S 3 95 Cover 1.50 19 50 RS232 Complete Set 6.50 ■* 0E9P 1.50 0E9S 1.95 DA15P 2.10 OA15S 3.10 OL747/750 DL750 FND359 fNO500.'5O7 FND503/5JO FNDS00.807 CA'CC .600 1.95 CC 600 1.95 CC .357 .70 CCCA 500 1 35 CC CA .500 .90 CC. CA .800 2.20 iO.OO 9.25 19.50 3 digit bubble .60 4 dioif bubble .60 DG8 Fluorescent 1 75 OGiO Fluorescent 1.75 ; - g i 14 pin display 1.00 NSN69 9 fligrt display .60 7520 Claitet otiolocelis .39 TIL311 Hex 9.50 COMPUTER GRADE CAPS 1600 mid 200V 4.50 2000 mid 45V 2.50 3200 50V 2.50 5500 25V 2.:.0 5800 40V 3.00 6100 40V 3.00 6100 50V 3.00 7700 50V 2.50 8000 55V 2.50 10000 20V 2.50 12000 30V 3i0 35000 2SV 5 00 S5Q00 25V TOO e.'coo 15V fi 00 40V 6.00 20000 e'oo Multi-volt Computer Power Supply 8v 5 amp. -18v .5 amp. 5v 1.5 amp, -5v .5 amp, 12v .5 amp. -12 option. r5v. =12v are regulated. Kit S29.95. Kit with punched frame S34.95. Woodgrain case S10.00. Video Modulator Kit $8.95 Convert your TV set into a high quality monitor without affecting normal usage. Complete kit with lull instructions. 2.5 MHi Frequency Counter Kit Complete kit less case S37.50 30 MHz Frequency Counter Kit Complete kit less case $47.75 Prescaler kit to 350 MHz $19.95 79 IC Update Master Manual S3500 Complete IC data selector, 2500 pg. master ref- erenceguide. Over 50,000 cross references. Free update service through 1979. Domestic postage S3.50. Foreign $5.00. 1978 IC Master closeout Stopwatch Kit $26.95 Full six digit battery operated. 2-5 volts. 3.2768 MHz crystal accuracy. Times to 59 min.. 59 sec, 99 1/100 sec. Times std., split and Taylor. 7205 chip, all components minus case. Full instructions. Hickok 3V 2 Digit LCD Multimeter Batt/AC oper. 0.1mv-1000v. 5 ranges. 0.5% accur. Resistance 6 low cower ranges 0.1 ohm-20M ohm. DC curr. .01 to lOOma. Hand held, W LCD displays, auto zero, polarity, over- range. $74.95. S-100 Computer Boards 8K Static RAM Kit Godbout 16K Static RAM Kit 24K Static RAM Kit 32K Dynamic RAM Kit 64K Dynamic RAM Kit 8K/16K Eprom Kit (less PROMS) Video Interface Kit $135.00 265.00 423.00 310.00 470.00 $89.00 $139.00 d $8.99 FREE: Send for your QUEST CATALOG. Inc BYTE July 1979 251 f mm wn 7400 TTL Jfl5 1M TT jfffi SN747QN ■Jo inn n SN7472N •29 SN7473N .35 SN74160N aflMUin In SN7474H .35 on/** 10 »rl lit SN7475N .49 SN74I62N '■S SN7403N ■™ SN7476N .as SN74163N SN7404N SN747BN 5.00 SN74164N AQ SN7405N Art SN7480N .50 SN74165N M SN74B2N .09 bN/* loo405> C04093 CO40S8 C04059 CO4090 C04086 CD4089 C04099 1.19 1.19 2.99 9.95 1.49 74CO0 74C90 74C93 74C95 74C107 74C151 74C154 74CI57 74CI80 -SI 2.49 1.95 2.90 3.00 2.15 2.49 M LINEAR 1.25 LM340K-18 1.35 LM340K-24 1.35 LM340T-5 LM340T-6 LM340T-0 1.25 LM340T-12 1.25 LM340T-15 1.25 LM340T-1S 1.25 LM340T-24 1.25 LM358N LM370N LM373N LM377N LU3B0N LM381N LM382N HE501N NE510A NE529A NE531H/V NE536T NE540L NE544N NE550N NE555V NE556N NE5608 NE561S NE562B NE565N/H NES66CK KE567V/H NE570N LM703CN/K 1.00 1.95 3.25 4.08 1.25 .99 1.79 1.79 8.00 8.00 4.95 3.95 8.00 8.00 4.95 1.30 5.00 5.00 5.00 1.25 1.75 74LS00TTL 741947 .81 74L35I .29 741554 .29 741555 .29 741373 .45 741574 .45 741575 .59 741576 .45 741S78 49 741S83 .89 741S85 741S86 741S90 74LS93 741S95 741S96 741SI97 741S109 741S1I2 7413123 7415125 741SI32 74I-SI36 .45 .59 .75 .75 .99 1.15 .45 C04070 CO4071 CO4072 CD4078 CD4081 C04082 CO4093 C04098 MC14409 MCI 4410 MC144H MC14419 MC14433 MC14506 MC14507 MC14562 MC145S3 CO4509 CD4510 C04511 C04515 C045I8 CD4520 004589 74C183 74C184 74C173 74C192 74C193 74C195 74C922 74C923 74C925 74C929 80C95 80C97 2.49 2.49 2.90 2 49 2.19 249 1M710N .79 1U71IN .39 1M723M .55 IM733N 1.00 1M739N 1.19 1M741CWH .35 1M741-14K .39 1M747N/H .79 1M748N/H .39 1M1310N 2.95 LMI458CN/H .59 MC1498N 1.39 MCI489N 1.39 LMI496N .95 1M1558V 1.75 MC1741SO" 3.00 IM21I1N 1.95 1M2901N 2.99 1M3053N 1.50 LM3055N 1.49 LM39O0N(3401) 49 1M3905N .89 1M3M9N 1.25 MC55S8V .59 80388 1M754 50K 7545ICN 4.85 75452CN 75453GN 75454CN 7549101 75492CN 75493N 7549401 RC4I38 RC4151 RC4194 HC4195 .39 .39 .39 .79 .89 .89 89 1 25 2 85 7413138 7413139 74LSI51 7413155 7413157 7413160 741S161 7413182 7413183 7413104 741S175 7413181 7413190 7413191 741SI92 741S193 741S194 741S195 249 1.15 1.15 1.15 1.15 741S257 7413258 7413280 7413279 741S367 7413368 74LS670 EXCITING NEW KITS JE600 HEXADECIMAL ENCODER KIT FEATURES: • Full S M laictttd oulput lot mlcio- pioceuor use • 3 User Delina key* with ons beinn bi- ntbh opeitton • Debounce ciicuii piovloed foi aU 19 lays • LEO readout to vnrily entries • Easy miert3OT0 wtttt slantfard 16 pin 1C connectut • Only +5VDC requited lor opetatlons FULL S BIT LATCHED 0LTTPUT-19 KEYBOARD The JE6O0 Encoder Kayboaitl prowtes two sepiiB* heudeomat digits produced from sequential key entries to Uiow direct prog- ramming lor 8 bit microprocessor or 8 bit memory drcuits. Thrw (3) additional keys are provided tor user operations with one having a bistable output available. The outputs ate latched ind monitored with LED readouts. Also Included is a key enlry strobe, Digital Thermometer Kit JEbOO . $59.95 • Dual seneorn-tw Itching control for in- door/outdoor or dual monitoring, ■S« for Fahrenheit or Celilut rending :i!^rJ?4 u ^ c r6. 6 ^.^ l ','3 d / n rlncl - JE300 $39.95 DISCRETE LEDS 200" dtl XC556R led XC556G green XC566V yellow XC556C clear .200- OH. XC22R red XC22G green XC22Y yellow .170- die. MV10B red 5/$1 4* 4/$1 4/il 47J1 4/tl MV50 red infra-red led 1/4K1/4"x1/16-1lal 5/5)1 6/S1 TIMEX T1O01 110 CRYSUL DISPUY CLASS II FIELD EFFECT . 4 DIGIT — .5" CHARACTERS THREE ENUNCIATORS 2.00" X 1.20" PACKAGE INCLUDES CONNECTOR TlOOl-Tn.ismiiiiv. 17.95 TIOOIARellictlve I.2S DISPLAY LEI IS TYPE POLARITY «r PMCf TTPi POURITY HI PRICE MAN 1 Common Anode-red .270 MAN 6730 Common Aooo«.r«l - 1 .560 .99 MAN 2 5 x 7 Dot Matrix-red 300 '! MAN 674 Common Camooo-ied-D D .550 .99 MAN 3 Common Cathode -red 125 MAN 6750 Common Cilhode.™) = 1 .560 .99 MAN 4 Common Cathode -red .187 1.9S MAN 6761 Common Anodo-rad .560 .99 MAN 7G Common Anode-green 300 1.28 MAN 6780 Common ClIhKe-iU .560 .99 MAN 7Y Common Anode-yellow 300 .99 OL701 Common AnodB-lsd ± 1 .300 .99 MAN 72 Common Anode red 300 .99 01704 Common Clttioo«-nKj .300 .99 MAN 74 Common Cathode- red .300 1.25 FJL707 Common Anoda-roO .300 .99 MAN 62 Common Anode -yellow 3O0 .09 DL728 Common Cltnods-iod .500 1.49 MAN 94 Common Cathode -yeilow 300 .99 01741 Common Anoift-nd .600 1.25 MAN 3620 Common Anode-orange .380 .99 D1746 Common Anods-rad * 1 530 1.49 MAN 3630 Common Anode-orartgs 1 ,300 .99 0L747 Common AnodB-rtd .608 1.49 MAN 3640 Common dthode-orange .300 .99 DL749 Common dttiode-md t 1 .630 1.49 MAN 4610 Common Anode -orange 300 .99 OL750 Common Cjmodo rpd .600 1.49 MAN 4640 Common Cathode -oranrje .400 .99 DL336 Common Cilhode. red .110 .35 MAN 4710 Common Anode-red 400 .99 FND70 Common Cilhode .256 .69 MAN 4730 Common Anode-red x 1 400 .99 FN0368 Common Camode t 1 .357 .99 MAN 4740 Common Cathode-red 400 .99 FN0359 Common Camodo .357 .76 MAN 4610 Common Anoda-yaliow 400 .99 FN0503 Common Cl»od«lffl0500) .500 .99 MAN 4840 Common Cathode-yeuow .400 .99 FN0507 Common Anode (FN0510) Common Anodfl-red 530 .99 MAN 6610 Common Anode -oi-ange-O D. .960 .99 5082-773 .300 1.30 MAN 6630 Common Anoft-iWBnge t 1 560 .99 HOSP-3400 CommonAnoo4.ua .800 2.10 MAN 6640 Common amoda-orange-DD 560 .99 HOSP-3403 Common Cilhode ted .600 2.10 MAN 6650 Common Ctthode-orjnge x 1 .560 .99 8082-7300 4 < 7101. OOII-RHDP .600 19.95 MAN 6660 Common Anode -orange 560 .99 5082-730- 4 > 7 Sgl. Oioll-LHDP .600 19.95 MAN 6680 Common Cemode-orange .500 .99 5082.730' Ovenanoi chlnlcHf (ill .600 15.00 MAN 6710 Common Anode-red -0.0. .560 .99 5062-7340 4 « 7 Sgl. DIlll-HradecM .600 22.50 RCA LINEAR CA3013T CA2023T CA303ST CA3039T CA3046N CA3059N CA3060N CA3O60T CA3081N 2.15 CA3082H 2.56 CA3083N 2.48 CA30S6N 1.35 CA3089N 1.30 CA3130T 3.25 CA3140T 3.25 CA3160T .68 CA3401K 2.00 CA36O0N CALCULATOR CHIPS/DRIVERS MM572S 32 95 MM5738 2.99 DM6864 2.00 0M6865 1.00 0M8887 .78 DM8889 . 75 9374 7 1-24 25-49 50-100 6pm LP .317 .16 .16 14 pin LP .20 .19 .19 16 1*1 LP .22 .21 .20 ia pan LP » .29 .2? 20 pin LP .34 32 .30 14 pin ST $.27 .26 .24 16 Hn ST .30 .27 .23 18 pin ST .35 .32 .30 24 pin ST .49 .45 .42 8pm S3 5 30 .27 .24 14 pin SO 35 ,32 .28 16 pin SG .38 .3! .32 18pm SG .52 .47 .43 6 pin WW 3.39 .36 .31 10 pin WW 45 .41 .37 14 pin WW .39 .36 .37 16 pin WW .43 .42 .41 18 pin WW .75 .68 62 ON 3.50 C.A L£0 dn.«r 1 50 IC SOLOERTAIL — LOW PROFILE (TIN) CLOCK CHIPS MOTOROLA MMS309 M.95 MC1408L7 S4.95 MMS311 4. 95 MC1406LB 5.75 MalS312 4.95 MC1439L 2.95 MMS314 . 4.95 MC3022P 2.95 MMS316 6.95 MC3061P 3.50 MM531S 9.95 MC401 6(744 18) 7.50 MMS369 2.95 MC4024P 3.95 MMS387/1938A 4.95 MC4040P 6.95 MMS841 9.95 MC4044P 4.50 SOCKETS 1-24 22 pin LP I .37 24 pin LP .38 28 pkl U> .45 36pkilP .60 40 pal LP .63 26 phi ST 3 .99 30 pm Si 1.39 40 pin ST 1.59 SOLDERTAIL STANDARD (GOLD) ^^^ m ■jJJJBjjHaa 24 pin 5G 3 28pinSS 110 mKMM ""Tf"" 36pinSG 163 40pinS8 175 WIRE WRAP SOCKETS (GOLD) LEVEL #3 22 pin WW t .95 24 pin WW 1.03 26 pin WW 1.40 36 pin WW 1.69 40 pkl WW 1.75 25-49 50-100 .33 .35 .37 .38 .44 .43 .59 .58 .62 .61 .90 .61 1.26 1.15 1.45 1.30 .63 .57 1.00 .90 1.40 1.26 1.39 1.45 .85 . .75 .99 .35 1.25 1.10 1.46 1.30 1.65 1.40 1/4 WATT RESISTOR ASSORTMENTS - 5% to OHM 1?. OHM 15 OHM 16 OHM 22 OHM $1.75 A.SST. 1 5ea. 27 OHM 33 OHM 39 OHM 47 OHM 56 OHM 50 PCS 66 OHM 8? OHM 100 OHM 120 OHM 150 OHM 1.75 ASST. 2 Sea. 160 OHM 220 OHM 270 OHM 330 OHM 390 OHM BO PCS 470 OHM 560 OHM 680 OHM 870 OHM 1.75 ASST. 3 5 ea. I.2K 1.5K I.8K Z.2K 2.7K 60 PCS 3JK 3.9K 4.7X SM 6.8K 1.75 ASST. 1 Sii, 8.2K I0K 1?K 15K 1*W SO PCS 22R 27k 33K 39K 1.75 ASST. 5 Sea 56X 68K 82K 10W 120K SO PCS 150* 180K 220K 270K 330K 1.75 ASST. 6 5ea. 390K 470K 560K 680K B20K 50 PCS IM 1.2M 1.5M 1.8M 2.2M 1.75 ASST. 7 Bu, 2.7M 3.3M 3.9M 4.7M 5.6M DO PCS ASST.BR Includes Resistor Assortments 1 -7 (350 PCS.) $9.95 ea. $10.00 MINIMUM ORDER- U.S. Funds Only Spec Sheets - 25i California Residents — Add 6% Sales Tan "79 Catalog Available — Send 4K stamp 3* ameco ELECTRONICS PHONE ORDERS WELCOME (41 B) 592-8097 MAIL ORDER ELECTRONICS - WORLDWIDE 1021 HOWARO AVENUE. SAN CARLOS. CA 94070 ADVERTISED PRICES GOOD THRU JULY AV-5-9100 AY-5-9200 Ar-5-SSOO AV-5-2376 HD016S 74C922 TELEPHONE/KEYBOARD CHIPS ^> Push Button Telephone Dialler S14.95 Repertory Dialler 14.95 CMrjSCfori Generator 4.95 Keyboard Encoder (68 keys) 14.95 Keyboard Encoder 16 keys 7.95 Keyboard Encoder 16 keys) 5.95 ICM7045 ICM7205 ICM7207 ICM7208 ICM7209 ICM CHIPS CMOS Precision Timer CMOS LED Stopwatch/Tlmei Oscillator Controller Seven Decade Counter Clock Generator 24.95 19.95 7.50 19.95 6.95 NMOS READ ONLY MEMORIES MCM657I 128 X 9 X 7 ASCII Shifted with Greek 13.50 MCM6574 128 X 9 X 7 Man Symbol S Pictures 13.50 MCM6575 128 X 9 X 7AlphanumedcControl 13.50 Character Generator MISCELLANEOUS TL074CN Ouad Una Noise til-let Op Amp 2.49 TL494CN Switching Regulator < « TL496CP Single Swltchlno Regulator 1.75 11C90 DMde 10/11 PrescaTer 19.95 95H90 Hi-Speed Divide 10/11 Prescaler 11.95 4N33 Photo-Darlington Opto-lsolator 3.95 MK50240 Top OOave freo. Generator 17.50 DS0026CH 5ivlhi 2-pluse MOS clock dHver 3.75 TIL308 .27" red num. display w/integ. logic chip 10.50 MM5320 TV Camera Sync. Generator 14.95 MM5330 414 Digit DPM Logic Block (Special) 3.95. LOt 1 0/1 1 1 3Vi Digit A/D Converter Set 25.00/set LITRONIX ISO-LIT 1 Photo Transistor Opto-lsolalor (Same as MCT 2 or 4N25) 2/990 SN 76477 SOUND GENERATOR Generates Complex Sounds Low Power - Programmable 3.95 each TV GAME CHIP AND CRYSTAL AY-3-8500-1 and 2.01 MHZ Crystal (Chip s Crystal , . includes scorn display, 6 games and select angles, etc. / .33 /SB XR205 XR210 XR215 $9.40 4.40 4.40 EXAR XR2242CP XR2264 XR2556 1.50 4.25 3.20 XR320 1.65 JE2206KA 14.95 XR2567 2.99 XR-L555 1.50 JE220SKB 19.95 XR3403 1.25 XR555 .39 XR1S00 3.20 XR4136 1.25 XR556 .99 XR2206 4.40 XR41S1 2 85 XR567CP .99 XR2207 3.15 XR4194 4.9b XR567CT 1.25 XR2208 5.20 XR4202 3.60 XR1310P 1.30 XR2209 1.75 XR4212 2.05 XR1468CN 3.S5 XR2211 5.25 XR4553 .75 XR14S8 1.39 XR2212 4.35 XR4739 1.15 XR1489 1.39 XR2240 3.45 XR4741 1.47 DIODES TVPt VOLTS IV PRICE IN. 1002 100 PIV 1 AMP 1211.00 TYPE VOLTS W PfllCE 1N4003 200PIV1AMP 12/1.00 1N746 3.3 400m 4/1.00 1N4004 400 PIV 1 AMP 12/1.00 1N751 5.1 400m 4/1.00 1N40O5 600 PIV 1 AMP 10/1.00 1N7S2 5.6 4O0m 4/1.00 1N40O6 600 PiV 1 AMP 10/1. 00 IN7S3 6.2 400rn 4/1.00 1N4M7 1000 PIV 1 AMP 16/1.00 1N754 6.6 400m 4/1.00 1N36M 50 200m 6/1 00 IN7S7 9.0 400m 4/1.00 1N4148 75 10m 15/1.00 IN7S0 12.0 400m 4/1.00 1H4IS4 35 10m 1211. 00 1N959 8.2 400m 4/1.00 1.1430b 75 25m 15/1.00 1N965 15 400m 4/1.00 IIH1» 5.6 l» 26 1NS232 5.6 500m 26 1H1/35 6.2 lar 26 1N5234 6.2 500m 28 1N4716 6.8 1» 26 1NS235 6.6 500m 28 1N4738 S.2 lar 28 1N5236 7.5 500m 28 IN4742 12 tw 28 INS242 12 500m 26 1N4744 15 1w 26 1N524S 15 500m 26 1141163 50 PIV 35 AMP 1.60 1H4S6 25 40m 6/1.00 1N11B4 100P1V35AMP 1.70 1N458 SO 7m 6/1.00 1N1185 150 PIV 35 AMP 1.70 1N465A 80 10m 5/1.00 IN1IB6 200 PIV 35 AMP 1.80 1N4001 50 Prv 1 AMP 12/1.00 INI 186 400 PIV 35 AMP 3.00 SCR AND FW BRIDGE RECTIFIERS C360 I5A 6 400V SCR(2N!B491 |!.«5 C36M 3SA<3'600V SCR 1.95 2N2328 1 6A .- 3C0V SCR .50 MOA 960-1 12A@50V FW BRIDGE REC. 1.06 MDA 960-3 12A ® 200V FW BRIDGE REC. 1.95 C10681 MPSA05 MPSA06 40409 40410 40673 2K916 2N2219A 2N2221A 2N222IA PN2222 Plastic 2X2369 2N2369A MPS2369 2H2484 PN2907 PUslic 2N2925 MJE2955 2M3053 50 IHANSISTORS ■30 2K3055 .89 2N3904 4/1.00 2X3905 4/1.00 5/1.00 MJE30S5 1.00 2X3906 4/1.00 6/1.00 2N3392 5/1.00 2N4013 3/1.00 6/1.00 2K3398 6/1.00 2N4123 6/1.00 1.75 PN3587 3/1.00 PN4249 4/1.00 1.75 PN3568 4/1.00 PN4250 4/1.00 1.76 PR3569 4/1.00 2X4400 4/1.00 4/1.00 MPS3638A 5/1.00 2144401 4/1.00 2/1.00 MPS3702 5/tOO 2X4402 4/1.00 4/1.00 2N3704 5/1.00 2X4403 4/1.00 5)1.00 MPS3704 5/1.00 2N4409 5/1.00 7/1.00 2K3705 5/1.00 2X5066 4/1.00 5/1.00 MPS3705 5/1.00 2X5087 4/1.00 4/1.00 2N3706 5/1.00 2N5086 4/1.00 5/1.00 MPS3706 5/1.00 2N5089 4/1.00 4/1.00 2H3707 571.00 2X5129 5/1.00 4/1.00 2R37I1 571.00 PK5I34 5/1.00 5/1.00 2H3724A .66 PX513B 5/1.00 7/1.00 2N3725A 1.00 2X5139 5/1.00 5/1.00 2N3772 2.25 2N5210 5/1.00 1.25 2N3823 1.00 2H5449 3/1.00 2/1. 00 nam 511.00 2X5951 3/1 00 ITrtD 50 VOLT CERAMIC 1 1 UlT DISC CAPACITORS CORNER 10 pi % 10-99 .04 .03 001»E !ii m o?r 22 pi .05 .04 03 .0047jJ .05 .04 .035 47 pi .05 .04 03 .05 .04 .035 100 pi .05 .04 .09 .022#F .06 05 .04 220 pi .05 .04 03 w .03 05 .04 470 111 .05 .04 035 At OS .075 100 VOLT MYLAR RLM CAPACITORS .001ml .12 .10 .07 .022ml .13 .11 .06 .0022 .12 .10 07 .047ml .21 .17 .13 .0047ml .12 .10 .07 ,1ml .87 .23 .17 .01ml .12 .10 .07 ,22ml .33 .27 .22 4-20% DIPPED FAX TAIL MS tSOUDI CAPACITORS .1/35V .28 .23 .17 1.5/35V .30 .26 .21 .15/35V .26 .23 .17 2.2/25V .31 .27 .22 ,22735V .26 .23 .17 3.3/25V .31 .27 .22 .33/3SV .28 .23 .17 4.7/25V .32 .26 .23 .47/35V ,26 .23 .17 6.8/25V .36 .31 .25 ,68735V .26 .23 .17 10/2SV .40 .66 .29 1.0/35V .26 .23 .17 15/25V .63 .50 .40 MINIATURE ALUMINUM EUCIROLTIIC CAPACI10RS Axial Lead RsttltlU ad 47/SOV .16 .13 .10 .47/25V .15 13 .10 I.0/50V .18 .14 .11 ,47750V .16 .14 .11 3.3/50V .14 .12 .09 1.0/I6V .IS .13 .10 4.7/25V .15 .13 .10 1.0725V .16 .14 .11 10725V IS .13 .10 1.0/50V .id .14 .11 10/50V .16 .14 .12 4J/16V .15 .13 .10 22/26V .17 .15 i! 2 .18 4.7/25V .15 .13 .10 22/50V .24 .20 4.7/50V 10/I6V 10/25V .16 .14 47/25V .19 .17 .15 .14 .12 !09 47/50V .26 21 .19 .15 .13 .10 I0O/25V .24 .20 18 10/50V .16 .14 .12 100/SOV .36 .30 .26 47/60V .24 .21 .19 220/25V .32 .28 .26 100716V .19 .15 .14 220/50V .46 .41 38 100/25V .24 .20 .16 470/25V .33 .29 XI 100/50V as .23 30 • a , I0O0/16V .55 .50 .45 220716V .17 22O0/16V .70 .62 .55 470/25V .31 28 V BYTE July 1979 Circle 200 on inquiry card. /" Transistor Checker Battery Operated The AS) Transijtor Checker is cap- able of checking a wide range of trenaietor typei, either "In circuit" or out of circuit. To operate, limply plug the tramistor to be checked into the front panel socket, or connect it with the alli- gator clip ten leads provided. The unit safely and automatically identifies low, medium and high- power PNP and NPN transistors. Size: 3M" x 6M" x 2" "C" cell battery not included. Trans-Check s 29.95 ea. Custom Cables & Jumpers Part No. 0B25P-4-P DB25P-4-S DB25S-4-S DJ14-1 DJ16-1 DJ24-1 DJ14-1 -14 0J16-1-16 DJ24-1-24 DB 25 Series Cables Cable Length Connectors Price 4 Ft. 2-DP25P $15.95 ea. 4 Ft. 1-DP25P/1 -2SS $16.95 ea. 4 It. 2-DP25S Dip Jumpers 1 It. 1-14 Pin 1 It. 1-16 Pin 1 It. 1-24 Pin 1 It. 2-14 Pin 1 It. 2-16 Pin 1 II. 2-24 Pin For^MtoiT^ablj^UumgorOe^AJ^ $17.95 ea. $1.59 ea. 1.79 ea. 2.79 ea. 2.79 ea. 3 19 ea. 4.95 ea. Imp CONNECTORS 25 Pin-D Subminiature (as pictured) PLUG (Meets RS232) $2.95 SOCKET (Meets RS232) S3.50 Cable Cover (or DB25P or DB25S $1.75 PRINTED CIRCUIT EDGE-CARD 156 Spanng-Twi-Doublt RMdOuI - eilurKtel Donnas - m .054 to .070 P.O. Car* 15/30 PINS (Solder Eyetel) $1.95 18/36 PINS (Solder Eyelet) $2.49 22/44 PINS (Solder Eyelet) $2.95 50/100 (.100 Spacing) PINS (Wire Wrap) $8.95 50/100 (.125 Spacing) PINS (Wire Wrap) R681-1 S6.95 4-Digit Clock Kit * Bright .357" ht. rod display * Sequential flashing colon * 12 or 24 hour operation * Extruded aluminum case {black) * Pressure switches for hours, minutes & hold functions * Includes all components, case and wall transformer * Slie: 3U. x 1* x 1* JE730 $14.95 Jumbo 6-Digit Clock Kit * Four .630" ht. and two ,300"ht. common anode displays * Uses MM53H clock chip * Switches tor hours, minutes and hold functions * Hours easily viewable to 30 feet * Simulated walnut case * 115 VAC operation * 12 or 24 hour operation * Includes all components, case and wall transformer * Size: 6%x3*xl«. JE747 $29.95 • Bright .300 ht. comm. cath- ode display • Uses MM5314 clock chip • Switches for hours, minutes and hold modes • Hri. easily vleweble to 20 ft. • Simulated welnut cose • 115 VAC operation • 1 2 or 24 nr. operation • Incl. all components, case & wall transformer • Size: 6K" x 3-1/8" x 1H" JE701 • Size: 6K" x 3 6-Digit Clock Kit $19.95 REMOTE CONTROL TRANSMITTER & RECEIVER Digital Stopwatch Kit • Use Intersil 7205 Chip • Plated thru double-sided P.C. Board • LEO display (red) • Times to 59 mln. 55.55 sec. with auto reset J| • Quartz crystal controlled • Three stopwatches In one: single event, split M (cum mutative) i taylor (sequential timing) • Uses 3 penlite batteries • Size: 4.5" x 2.16" x .90" JE900 $39.95 MICROPROCESSOR COMPONENTS aosoA 8212 8214 B218 8224 8226 8228 6238 8251 8253 8255 8257 6259 'POflTD CPU a -an tnpm/Output Priority Interrupt Control BJ-Dlrectlonil Bus Orrver Clock Generator/Driver Bus Driver System ContioWr/8us Driver System Controller Prog Comm liu(USAHT) Prog. Interval Timet Prog. Pertph l/0(PPI) Prog. DMA Control Prog. Interrupt Control -6800/W0Q SUPPORT 0EVICES- MPU 19.95 19.95 MC682I MC6828 MC6830L8 MC6850 MC685? MC6800 MC6802CP MPU witfi Clock and Ham MC6810API 128XB Static Ham 5.95 Penpft. inter. AOapl (MC6620) 7.49 Priority Interrupt Controller 12 95 1024X8 Bit ROM (MC88A30-6) 14.95 Asynchronous Comm. Adapter 7.95 Synchronous Serial Data Adapt 9.95 0-600 bps digital MODEM 12.95 2400 ops Modulator 14 95 Quad 3-SQte Bus. Trans (MC8T26) 2.2S MICROPROCESSOR CHI PS — Ml SC£l LA H£0 US 280(7800) CPU $19.95 zeoA(76o-n cpu 24.95 CDP1602 CPU 19.95 2650 MPU 19.95 8035 . 8-Btt MPU w/ciock. RAM, 1/0 lines 19.95 PB085 CPU 19.95 TMS9900JL 16-Bil MPU -/hardware, multiply A divide 49.95 MM504H MM510H MM5016H 25041 2518 2522 2524 2525 2527 2526 2529 2532 2533 3341 74LS670 Ou* 25 H Dynamic Dual 50 Brt Dynamic Dual 16 Btl Static Dual 100 Bit Static Dual 64 B<1 Accumulator 500/512 Ebl Dynamic 1024 Dynamic Hex 32 Oil SUM DuaJ 132 Bn Static 512 Static 1024 Dynamic Dual 256 Bit Sta&c Dual 250 Static Dual 240 Brt Static Quad 80 Bit Static 1024 Static 4X4 Register Rle (TriState) - UAHTS 3.95 4.95 2.95 4.00 4.00 2.95 2.95 6.95 2.49 A-Y-5-1013 30K8AUD M-7S0 User Mann n 17.50 M-COP1B02 User Manu 4 7.50 M-2650 User Manu at 5.00 2513(2140) Chiiader GenerBlor(upper case) S9.95 2513(3021) ,enerator(lower case) 9.96 2516 CftMdk* 10.95 MM5230N 2048-Bit Read Only Memory 1.95 256X1 Static $1.49 1103 1024X1 .99 2101(8101) 256X4 Sialic 3.95 2102 1024X1 Static 1.75 21L02 1024X1 Static 1.95 2111(8111) 256X4 Sialic 3.95 2112 256X4 Static MOS 4.95 2114 1024X4 Stabc 450ns 9.95 2114L Static -150ns low power 10.95 2114-3 1024X4 Static 300n3 10.95 21 14L-3 1024X4 Static 300ns tow power 11.95 5101 256X4 Static 7.95 528O/2107 4096X1 Dynamic 4.95 7489 16X4 Static 1.75 74S200 256X1 Static Trlstaie 4.95 256X1 sane 2.95 UP0414 4K Dynarnlc 16 pin 4.95 (MK4027) UPD418 1BK Dynamic 16 pin 9.95 (MK4116) TMS4044- 4K Static 14.95 45NL TMS4045 1024X4 Static * of 2117 16.364X1 Dynamic 350ns 9.95 (house marked) MM5262 2KX1 Dynamic 4/1.00 PflOM'S 1702A 2046 FAM0S S5.95 2716INTEL 16K- EPR0M 59.95 TMS25I6 1BK* EPROM 49.95 (2716) •Requires single i-5V power supply TMS2532 4KXB EPROM 89.95 2708 8K EPROM 10,95 2716 T.I 1BK" EPROM 29 95 -Requires 3 v Itagcs. -5V. +5V. +12V 5203 2048 FAMOS 14 95 6301-1(7611) 1024 Tnsiate Bipolar 3.42 6330-1(7602) 256 Open C Bipolar 2.95 82S23 32X8 Open Collector 3.95 82S115 4096 Bipolar 19.95 82S123 32XB Tristale 3.95 741B6 S12 TTL Open Collector 9.95 74168 256 TTL Open Colleclnr 3.95 74S267 1024 Static 2.95 CONTINENTAL SPECIALTIES Proto Board 203 r»!03 975.00 PB-6 PB-100 PB-101 LlWiH (Inches) 5.0* 4.5x1.4 6.0 X 4.5 X 1.4 5.0 x 4.5 x 1.4 Price S15.95 SDH 122.19 Proto Board 203 A Alt i in Ihiuw ol thi PD703 pint addition!) ptrMf uppl* Mr ■ itlihtt . pic. .Jo 1%-R*|utl1ld SVDC !u(ipl, lum. wmlimmni n P8 303). R>g IlltlKl HDWIlt XSVPC »'■« -IS VOC OS* wp pi in. ur.li mm innrmlly im) mliptndinlly iditul •bit oitlpul vpliitL ftipplimliwi* Dl . >nd -15V tupplin. 10mV >i ..»» 9124.95 WTH PB-102 7.0 x 4.5x 1.4 S28.8S PB-103 9.0 x 6.0x 1.4 544.95 PB-104 9.9 x 8.0x 1.4 S54.95 THE SINCLAIR POM35 DC Volts (4 ranges) Range ImVto 1000V Accuracy ot reading 1.0%= 1 count. Note 10MD input impedance. AC Volls (40.1IZ-5 kill) Range IV to 500 V Accuracy of reading 1.0%: 2 counts DC Current (6 ranees) flange 1 n*. to 200 mA. Accuracy ol reaping 1 0%t1 count. Note. Max resolution 0.1 nA Resistance (5 ranges) Range: in to 20 Mil Accuracy ol reading. 1.5%= 1 count. Also provides 5 lunciwn iest ranges D)row.lor*:6mi3ini1l*tn. WeigM: 6W or Power Supply: 9 V batlery or Sinci.fr AC adapter (BaDery not md.) Sockets. Standard 4mm tor resilient plugs PDM35: Digital Multimeter . . . $59.95 (completely assembled! PDM-AC: 117V ACAdapter . . . 6.95 PDM-DP: Deluxe padded carrying case. . . 6.95 117 V 60 Hz pew De-luxe padded carrying wallet. REGULATED POWER JE200 5V-1 AMP POWER SUPPLY •Uses LM309K *Hoat sink provided -PC Board construction .Provides a solid 1 imp @ 5 volts *Can supply up to ±5V. ±9V and +12V with J E 205 Adaptar • Includes components. JE200 $14.95 «Sl2e:3>i"x6"x2"H 100 MHz 8-Digit Counter . 20 Hi-10Q MHz Range • Four power souces. i.e. . 6" LED Display Cutleries. 110 or 220V with > Crystal -conlrolted umebase charger 12V with aulo . Fully Automatic lighter adapter and external . Portable - completely 7.2-10V sell -contained . Size - 1.75- x 7.38- x 5 63- ww - 100 $134.95 ACCESSORIES FOR MAX 100: Mobil ■ Chargar Eliminator use power from car battery Model 100 — CLA $3.08 Charger/Eliminator 110 VAC Model 100 -CAI S9.S5 SUPPLY m JE205 ADAPTER BOARD - Adapts to JE200 - ±SV,±9Vand±12V -DC/DC converter w/ + BV Input •Toriodal hl-speed switching XMFR •Short circ. protection -PC Brd. construction •Piggy back to JE20D board •Sile:3K"x2"x9/16"h JE205 $12.95 {10.00 Minimum Order — U.S. Funds Only California Residents — Add 6% Sales Tax Spec Sheets - Ui 1979 Catalog Available— Send 41C stamp ameco ELECTRONICS PHONE ORDERS WELCOME ) 592-8" (415) 592-8097 MAIL ORDER ELECTRONICS - WORLDWIDE 1021 HOWARD AVENUE, SAN CARLOS. CA 94070 ADVERTISED PRICES GOOD THRU JULY The Incredible "Pennywhistle 103" $139.95 Kit Only 1 The PtiifrywfiUlle 103 Is capable ol racordinrj data to and from audio tape without cnttcal speed requiremenls lor me recorder and it Is able to communicate directly wttfi Receive Channel Frequtndei . .300 Baud. . .Asynchronous Serial (return to mark level required between each character) . .2025 Hz lor space; 2225 Hi lor mark. .Switch selectable: Low [norma.} ■ 1070 space, 1270 mar* High - 025 tpaca. 2225 mark. , .-46 dbm accousllcady coupled. .-15 flom nominal. Adjustable from -B dbm lo -20 dbm. . .Frequency ralerence aulomalicalry id|uttt is allow lor operation between i BOO Ha and 2400 Hz. . .EIA RS-232C or 20 mA current loop incarnr is 120 VAC. single phase. 10 Watts. Pfcydeal All components mount on a tingle 5' by 9" printed circuit (ward. ATI components included. Reouites a VOM. Audio Oscillntor, Frequency Counter and/or OscHlosoope to align. TRS-80 16K Conversion Kit Expand your 4K TRS-80 System to 16K. Kit comes complete with: • 8 each UPD416-1 (16K Dynamic Rams) 250NS * Documentation for conversion TRS-16K $75.00 COMPUTER CASSETTES . 6 EACH 15 MINUTE HIGH QUALITY C-15 CASSETTES . PLASTIC CASE INCLUDED 12 CASSETTE CAPACITY . ADDITIONAL CASSETTES AVAILABLE #C-15-S2.95ea CAS-6 $14.95 (Case and 6 Cassettes) UHF SUP FT MOD II Channel 33 TV Interface Unit Kit Wide Band B/W or Color System ★ Converts TV to video Display lor home computers. CCTV camera. Apple II. works with Cromeco Oaz- zler, SOL-20, IRS-80, Challenger, etc. MOD II is preluned to Channel 33 (UHF). * Includes coaxial cable and antenna transformer. $29.95 Kit Function Generator Kit • Provides 3 basic waveforms: sine, triangle & square wave • Frequency range trom 1 Hz to 100K Hz • Output amplitude from 0-volts to over 6 volts (peak to peak) • Usesa12V supply ora±6V split supply • Inc.. chip. P.C. board, compo- nents and instructions.- JE2206B $19.95 IDEAL FOR TRS 80 "Plug/Jack interface to any computer system requiring remote control of cassette functions" The CC100 controls cassette motor functions, monitors tape location with its internal speaker and requires no power. Eliminates the plugging and unplugging of cables dur- ing computer loading opera- tion from cassette. CASSETTE CONTROLLER #CC-100 $29.50 63-Key Unencoded Keyboard This Is a 63-key. terminal keyboard newly manufactured by a large computer manufacturer. It is unencoded with SPST keys, unattached to any klndol PC board. Avery solid molded plastic 13 x 4* base suits most application. IN STOCK tgg 95 /each Hexadecimal Unencoded Keypad 19-key pad Includes 1-10 keys ABCDEF and 2 optional keys and a shift key. $10.95/each m Circle 200 on Inquiry card. BYTE July 1979 253 save more than 20%! NORTH STAR XITAN INTERTUBE tha smartest computers at the smartest price DOUBLE DENSITY HORIZON-1-16Kkit, list $1599 ...$1279 Assembled & tested, list $1899 ...$1519 H0RIZ0N-2-32K kit, list $2249 ... $1 799 Assembled & tested, list $2549 ...$2039 PASCAL for NORTH STAR on Disk $49 Powerful NORTH STAR BASIC FREE XITAN computers-NOW-Wlth QUAD DENSITY DISKS! Famous XITAN Software & BASIC FREE HORIZON & XITAN are S-100, Z-BO-THE BEST INTERTUBE II Terminal, list $995 $780 NEW: Our VIDEO BOARD CODE on Disk! Now you can run our computers on a TVI SAVE HUNDREDS $$$$ TV Code on DISK. . .$10 LISTING. . .FREE Business Software, Terminals, Printers, Computers In stock & special-ordered Other brands al good discounts. Ask! Which Computers are best? BROCHURE. . FREE AMERICAN SQUARE COMPUTERS KIVETT DR, JAMESTOWN NC 27282 (919)863-1105 MAXIMUM VALUE FOR YOUR DOLLAR NORTH STAR COMPUTER PRODUCTS HORIZON116KKIT $1275.00 16K RAM BOARD KIT % 250.00 32K RAM BOARD KIT $ 475.00 VERBATIM DISCS FOR NORTH STAR BOX OF 10 $29. POSTPAID COMPLETE SYSTEMS AVAILABLE CUSTOM SOFTWARE FOR NORTH STAR SYSTEMS CASIO CALCULATORS AT DISCOUNT PRICES MANY OTHER SUPER VALUES WRITE OR CALL: A.E.I. 3851 HACKETT AVE. LONG BEACH, CALIF. 90808 (213)421-4815 (213)429-0535 HAZELTINE 1400 only $649.95! • Verbatim Mini Diskettes . . . . . . $3.70 each (boxes of 10) • Intertube . . $784.00 • TRS-80 16K Level II Expansion Kit $89.95 • Centronics 779 tractor .... $1050.00 • Horizon II ass. . . .$1999.00 Mail TORA SYSTEM INC. Order 2 9-02 23rd Avenue ° nly- Astoria NY 11105 (212) 932-3533 Circle 5 on inquiry card. Circle 21 on inquiry card. TRS-80 16K MEMORY EXPANSION KIT INCLUDES 8 TESTED & GUARANTEED M5K 4116 3 16K RAMS. PROGRAMMING PLUGS & EASY-TO-FOLLOW INSTRUCTIONS. $72 00 PER KIT 6800 64K BYTE RAM SET AND CONTROLLER CHIPSET MAKE C4K BYTES OF MEMORY FOR YOUR 6S0O THE CHIP SETS INCLUDE: ,.„ r ., 32 M5K 4116-3 16K RAMS. S2955S 1 MC3480L MEMORY CONTROLLER. PFR friMPI FTP SfT 1 MC3242AP MEMORY ADDRESS rcR vQMruuc >tl. MULTIPLEXER/COUNTER. DATA t APPLICATION SHEETS. PARTS TESTED 8 GUARANTEED. 16K DYNAMIC RAMS M5K 4116-3 200NSEC ACCESS TIME/375NSEC CYCLE TIME.TESTED S 8URNED-IN. $850 EACH/MIN.QTY. 8 4K STATIC RAMS EQUIV.TO TMS40L44-30 300NSEC ACCESS TIME/ CYCLE TIME FOR 4 MHZ 2-80 OPERATION. $750 EACH/MIN.QTY. 8 'fflty £ GUARANTEED QUANTIFY 0ISC00NFS AVAILABLE ALL ORDERS POSTPAID. U.S.FUNDS. CHECK OR MONEY ORDER. VISA.BA.MASTERCHARGE — SEND ACCOUNT NO., EXPIRATION DATE , INTERBANK NO, & SIGNED ORDER. PHONE ORDERS: 714/633-4460 MEASUREMENT SYSTEMS & CONTROLS, inc. ' MEMORY DEVICES DIVISION, DEPT. B3 867 NORTH MAIN ST, ORANGE, CA 92668 Circle 216 on inquiry card. CASSETTE AND FLOPPY DISC LABELS. | | (; STANDARD CASSETTE J Avery offers a complete line of labels for cassettes and floppy discs— all with re- movable adhesive. Including these stan- dard sizes: Cassette Label x 3%") #5250 Floppy Disc Label (W x 5V2") #5252 Write for more information and free samples to: Avery Label 777 East Foothill Blvd. Azusa, CA 91702 Avery Label An Avery International Company TRS-80 J SPECIAL PROMOTION SALE SAVE 10%, 15% or more on ALL Computers, Peripherals, Software, and ALL other fine Radio Shack® products. NO TAXES on out-of-state ship- merits. FREE Surface delivery in U.S. WARRANTIES will be honored by your local Radio Shack® store. Offered exclusively by Radio Shack 8 Authorized Sales Center 1117 Conway Mission, Texas 78572 (512) 585-2765 Jf Circle 314 on inquiry card. Scotch Diskettes Order Direct: 2 for $11.75 5 for $26.45 10 for $49.75 (Hard Bold Price Includes Shipping (Hawaii, Alaska & Canada add $1.00 shipping) VISA, Master Charge. Check, Money Order 740-0 - 8" Soft Sector 740-32 - 8" Hard (32) Sector 744-0 - 5" Soft Sector 744-10-5" Hard (10) Sector 744-16-5" Hard (16) Sector Mass. residents odd 5% salestax. cpu I 99F COMPUTER PACKAGES UNLIMITED Reservoir St. Holden, MA 01520 (617)829-2570 Dlv. of SCB Inc. SURPLUS ELECTRONICS ASCI ASCII IBM SELECTRIC BASED I/O TERMINAL WITH ASCII CONVERSION INSTALLED $645.00 • Tape Drives • Cable • Cassette Drives • Wire • Power Supplies 12V15A, 12V25A, 5V35A Others, • Displays • Cabinets • XFMRS • Heat Sinks • Printers • Components Many other items Write for free catalog WORLDWIDE ELECT. INC. 130 NORTHEASTERN BLVD. NASHUA. N.H. 03060 Phone orders accepted using VISA or MC. Toll Free 1-800-258-1036 In N.H. 603-889-7661 Circle 391 on inquiry card. •'CRT INTERFACES" black * white /colon Monitors • Combination Hcvr /monitor sets • Modulator kits * B-W Cameras • Color Cameras • Audio Subcarrier kits * Parti WRITE or PHONE for DETAILS I PRICING. DIAL: 402-907-3771 1 Dealers welcomed. Well established program. * v/V>. Broadway ATV ^ NE. 6873 Circle 20 on inquiry card. Circle 19 on inquiry card. Bm v m • •• ••••..V 16K EPROM CARD-S 100 BUSS V 8K LOW POWER RAM KIT-S 100 BUSS 250 NS SALE! 'ADD $5 FOR 250NS! OUR BEST SELLING KIT! USES 2708 s! Thousands of personal and business systems around the world use this board with complete satisfaction. Puts 16K of software on line at ALL TIMES! Kit features a top quality soldermasked and silk-screened PC board and first run parts and sockets. All parts (except 2708's) are included. Any number of EPROM locations may be disabled to avoid any memory conflicts. Fully buffered and has WAIT STATE capabilities. OUR 4S0NS 2708'S ARE S8.95 EA. WITH PURCHASE OF KIT ASSEMBLED AND FULLY TESTED ADD $25 $129 KIT (450 NS RAMS!) Thousands of computer systems rely on this rugged, work horse, RAM board. Designed for error-free, NO HASSLE, systems use. KIT FEATURES: 1. Doubled sided PC Board with solder mask and silk screen layout. Gold plated contact fingers. 2. All sockets included. 3. Fully buffered on all address and data lines. 4. Phantom is jumper selectable to pin 67. 5. FOUR 7805 regulators are provided L on card. Blank PC Board w/Documentation $29.95 Low Profile Socket Set. .13.50 Support IC's (TTL & Regulators) $9.75 Bypass CAP'S (Disc & Tantalums) $4.50 ASSEMBLED AND FULLY BURNED IN ADD $30 . 16K STATIC RAM KIT-S 100 BUSS $295 KIT FULLY STATIC, AT DYNAMIC PRICES WHY THE 2114 RAM CHIP? We (eel the 21 14 will belhenext industry standard RAM chip (like the 2102 was). This means price, availability, and quality will all be goodl Next, the 2114 is FULLY STATICI We (eel this is theONLY way to go on the S-100 Buss! We've all heard the HORROR stories about some Dynamic Ram Boards having trouble with DMA and FLOPPY DISC DRIVES. Who needs these kinds ol problems? And finally, even among other 4K Static RAM's the 21 14 stands out! Not all 4K static Rams are created equal! Some of the other 4K's have clocked chip enable lines and various timing windows just as critical as Dynamic RAM's. Some of our competitor's 16K boards use these "tricky" devices. But not us! The 21 14 is the ONLY logical choice for a trouble-free, straightforward design. KIT FEATURES: 1. Addressable as lour separate 4K Blocks. 2. ON BOARD BANK SELECT circuitry, (Cromemco Standard!) Allows up to 512K on line! 3. Uses 2114 (450NS) 4K Slatic Rams. 4. ON BOARD SELECTABLE WAIT STATES 5 Double sided PC Board, with solder mask and silk screened layout. Gold plated contact lingers. 6. All address and data lines fully bulfered. 7. Kit includes ALL parts and sockets. 8. PHANTOM is jumpered to PIN 67. 9. LOW POWER: under 2 amps TYPICAL from the »6 Volt Buss. 10. Blank PC Board can be populated as any multiple of 4K. BLANK PC BOARD W/DATA-$33 LOW PROFILE SOCKET SET— $12 ASSEMBLED & TESTED-ADD $30 SUPPORT IC'S & CAPS-$19.95 2114 RAM'S— 8 FOR $69.95 J \^ TM990 BUSS PROTOTYPE & WIREWRAP BOARD For use with the Texas Instrument Series of 16 Bit Micro- computer Module. Fully buss compatible. An inexpensive and quick way to expand the capacity of your Tl computer. Made of G-10 Epoxy PC material. Gold plated contact finger, all plated through holes. High density, up to over 100 DIP's. Fully documented. $70 each (OEM Discounts Available) 16K DYNAMIC RAM CHIP 16K X 1 Bits. 16 Pin Package. Same as Mostek 41 16-4. 250 NS access. 410 NS cycle time. Our best price yet (or this state ot the art RAM. 32K and 64K RAM boards using this chip are readily available. These are new, fully guaranteed devices by a major mfg. VERY LIMITED STOCKI 8 FOR $89.95 NOT ASSOCIATED WITH DIGITAL RESEARCH OF CALIFORNIA, THE SUPPLIERS OF CPM SOFTWARE. 450 NSI 2708 EPROMS Now full speed! Prime new units from a major U.S. Mfg. 450 N.S. Access time. 1 K x 8. Equiv. to 4-1702 A's in one package. $ 15.75 oa . $9 95 PRICE CUT 4 FOR $ 50°° NATIONAL SEMICONDUCTOR NEW! CAR CLOCK MODULE - #MA6008 Originally used by HYGAIN to indicate time and A a mm channel on an expensive C.B. Mini size, self ▼ R»v contained module. Not a Kit. Four digits plus each flashing indicator for seconds. Includes MM5369 and 3.58 MHZ crystal for super accurate time base. With hookup data. MFGR's CLOSEOUT LIMITED QTY. INCLUDES CRYSTAL TIMEBASE! WORKS ON 12 VDCI Z-80 PROGRAMMING MANUAL By MOSTEK, or ZILOG. The most detailed explanation ever on the working of the Z-80 CPU CHIPS. At least one full page on each ot the 158 Z-80 instructions. A MUST reference manual for any user of the Z-80. 300 EXPERIMENTER'S HEATING PLATE Large Manufacturers Surplus. 5Vix10'/2 in. Made of 3/8 in. tempered glass with heating element laminated on back. Works off 120 VAC. Protected by thermostat and two thermal fuses. Rated 120 Watts. Use for any heating applications. Perfect for heating ferric chloride to increase PC Board etching efficiency. Units are brand new, non-submersible. WHILE THEY LAST- $2.99 each GENERAL INSTRUMENT FULL WAVE BRIDGE 4 AMP 600 PIV ■MA IN SQUARE - WITH LUGi. 75$ 3 FOR $2 MALLORY COMPUTER GRADE CAPACITOR 30.000 MFD 15WVDC Small: 3x2 Inches $1.99 ea. 3 For $4.99 Newt REAL TIME Computer Clock Chip N.S. MM5313. Features BOTH 7 segment and BCD outputs. 28 Pin DIP. $4.95 with Data "THE COLOSSUS" FAIRCHILD SUPER JUMBO LED READOUT A full .80 inch character. The biggest readout we have ever sold! Super efficient. Compare at up to $2.95 each from others! YOUR CHOICE FND 843 Common Anode * . FND 850 Common Cathode * 1 ea ( Digital Research Corporation ** (OF TEXAS) v P.O. BOX 401247Y GARLAND, TEXAS 75040 • (214) 271-2461 TERMS: Add 30c postage, we pay balance. Orders under $15 add 75C handling. No COD. We accept Visa. MasterCharge. and American Express cards Tex Res. add 5% Tax Foreign orders (except Canada add 20% P & H 90 Day Money Back Guarantee on all items. ■••••i •••••• •••••• •••••i i •*•••< i •••••i i •••••i i •••••(i •••••< i •••••I i -•••I i •••••i i •••••i i •••••I i •••••( •••••i •••••i •••••i •••••( •••••( •••••i •••••i ■••••i ■••••i •••••i •••••i •••••i •••••< •••••i .•••« •••••i •••••i •••••i •••••i •••••i •••••I ■••••i •••••i •••••i •••••i •••••i • ••e«i •■•••I •••••I •••••I •••••I ■••••I •••••I •••••I •••••< ■••••< •••••< •••••I •••••l •••••I •••••I •••••l •••••l ■••••I •••e«i •••••I •••••i •••••I •••••i •••••( ■••••< ■••e»< •••••( •••e»l •••••( •••••I •••••I -••••< •••••I •••••I •••••I •••••I •••••I •••••I •••••I ■••••I •••••I •••••( •••••I •••••I •••#•( •••••I •••••( •••••i •••••I -•••I •••••I •••••I •••••I •••••I •••••I ■••••i •••••I •••••I ■••••I •••••( •••••I '••••I ■••••I ••••• ••••§ ••••§ ••••• ••••• ••• Circle 100 on inquiry card. BYTE July 1979 255 Hit' KMM) A completely refurbished IBM Selectric Terminal with built-in ASCII Interface. Features: $1395 300 Baud 14.9 characters per second printout Reliable heavy duty Selectric mechanism RS-232C Interface Documentation included 60 day warranty - parts and labor High quality Selectric printing Off-line use as typewriter Optional tractor feed available 15 inch carriage width HOW TO ORDER DATA-TRANS 1000 1. We accept Visa, Master Charge. Make cashiers checks or personal check payable to: DATA-TRANS 2. All orders are shipped F.O.B. San Jose, CA 3. Deliveries are immediate Circle 126 on inquiry card. For orders and information DATA-TRANS 2154 OToole St. UnitE San Jose, CA 95131 Phone: (408) 263-9246 h1---~f,V * 4 a I n it M >" >> » N I * * « * x. % # *fl M *l» t'-p «•*■ art * 4 4 >4 wi M Ki ft *- *• ASCII KEYBOARD By Cherry Products • • Mounted to DECWRITER Panel ASSEMBLED 89.95 TIDMAtt • Tape Interface Direct Memory Access • Re- cord and play programs without bootstrap load- er (no prom) has FSK encoder /decoder for direct connections to low cost recorder at 1200 baud rate, and direct connections for inputs and outputs to a digital recorder at any baud rate • S-100 bus compatible • Board only $35.00 Part No. 1 1 2, with parts $1 1 0 Part No. 1 1 2A ASCII to Correspondence code converter This bidirectional board is a direct replacement for the board inside the Trendata 1000 terminal. The on board connector provides RS-232 serial in and out. Sold only as an assembled and tested unit for $330.00. Part No. TA 1 000C §|nppkz ii With 16K $1024.00 T.V. INTERFACE • Converts video to AM modulated RF, Channels 2 or 3. So powerful almost no tuning is required. On board regulated power supply makes this ex- tremely stable. Rated very highly in Doctor Dobbs' Journal. Recom- mended by Apple • Power required is 1 2 volts AC C.T., or +5 volts DC • Board only $7.60 part No. 107, with parts $1 3.50 Part No. 107A (Illegal where prohibited by law.) *IX ftrHpr • Mention part number, description, and price. In USA, shipping paid for orders accompanied by check, money order, or Master Charge. BankAmericard, or VISA IV VI Uwl • number, expiration date and signature. Shipping charges added to C.O.D. orders. California residents add 6.5% for tax. Outside USA add 10°/o for air mail postage and handling, no C.O.D/s. Checks and money orders must be payable in US dollars. Parts kits include sockets for all ICs. components, and circuit board. Documentation is included with.all products. Prices are in US dollars. No open accounts. To eliminate tariff in Canada boxes are marked "Computer Parts." Dealer inquiries invited. 24 Hour Order Line: (408) 226-4064 # Circuits designed by John Bell For free catalog including parts lists and schematics, send a self-addressed stamped envelope. 256 BYTE July 1 979 Circle 125 on inquiry card. TRS-80 ES SERIAL I/O • Can Input into basic • Can use LUST and LPRINT to output, or output continuously • RS-232 compatible • Can be used with or without the expansion bus • On board switch selectable baud rates of 110,150.300.600, 1 200, 3400, parity or no parity odd or even, 5 to 8 data bits, and 1 or 2 stop bits. D.T.R line • Requires +5. -1 2 VDC • Board only $1 9.95 Part No.BOIO. with parts $59.95 Part No. 801 OA, assembled $79.95 Part No. 8010 C. No connectors pro- vided, see below. EI»/nS-232 con- nector Pert No. DBS5PSB.00.~tli 9*. B conductor cat* S10 95P.rt No. 0B25P9 3 ribbon cable with etuched eon- nectoratofrtTHS- boardSIS.BSPart No. 3CAB4a RS-232/ TTLtt I INTERFACE • Converts TTL to RS- 232, and converts RS- 232 to TTL • Two sep- arate circuits • Re- quires -12 and +12 volts • All connections go to a 10 pin gold plated edge connector • Board only $4.50 Part No. 232, with parts $7.00 Part No. 232A 10 Pin edge connector $3.00 Part No. 10P modem-::- • Type 103 • Full or half duplex • Works up to 300 baud • Origi- nate or Answer • No coils, only low cost components • TTL in- put and output-serial • Connect 8 fl speak- er and crystal mic. directly to board • Uses XR FSK demod- ulator • Requires +5 volts • Board only $7.60 Part No. 109, with parts $27.50 Part No. 109A DISKETTES BOX OF 10 $29.95 $39.95 RS-232 / TTY-JJ* INTERFACE • Converts RS-232 to 20mA current loop, and 20mA current loop to RS-232 • Two sep- arate circuits • Re- quires + 12 and -12 volts • Board only $4.50 Part No. 600, with parts $7.00 Part No. 600A S-100 BUS ACTIVE TERMINATOR Board only $14.95 Part No. 900, with parts $24.95 Part No. 900A APPLE ii-::- SERIAL I/O INTERFACE Baud rate is continuously adjustable from 0 to 30,000 • Plugs into any peripheral connector • Low current drain. RS-232 input and output • On board switch selectable 5 to 8 data bits, 1 or 2 stop bits, and parity or no parity either odd or even • Jumper selectable address • SOFTWARE • Input and Output routine from monitor or BASIC to teletype or other serial printer • Program for using an Apple II for a video or an intelligent terminal. Also can output in correspondence code to interface with some selectrics. • Also watches DTR • Board only $1 5.00 Part No. 2, with parts $42.00 Part No. 2A, assembled $62.00 Pert No. SC 8K EPROM PIICEON Saves programs on PROM permanently (until erased via U V light) up to BK bytes. Programs may be directly run from the program saver such as fixed routines or assemblers. • S- 100 bus compatible • Room for BK bytes of EPROM non-volatile memory (270B's). • On- board PROM programming • Address relocation of each 4K of memory to any 4K boundary within 64K • Power on jump and reset jump option for "turnkey" systems and computers without a front panel • Program saver software available • Solder mask both sides • Full silkscreen for easy assembly. Program saver software in 1 2708 EPROM $25. Bare board $35 including custom coil, board with parts but no EPROMS $139, with 4 EPROMS $179, with 8 EPROMS $219. WAMECO PRODUCTS WITH ELECTRONIC SYSTEMS PARTS FDC-1 FLOPPY CONTROLLER BOARD will drive shugart, pertek, remex 5" & 8" drives up to 8 drives, on board PROM with power boot up, will operete with CPM [not included). PCBD $42.95 FPB-1 Front Panel. (Finally) IMSAI size hex displays. Byte or instruction single step. PCBD $42.95 MEM-1A 8Kx8 fully buffered, S-100, uses 2102 type RAMS. PCBD $24.95, $168 Kit QMB-12 MOTHER BOARD, 1 3 slot, termi- nated. S-1 00 board only $34.95 $89 95 Kit CPU-1 8080A Processor board S-1 00 with 8 level vector interrupt PCBD .. $25.95 $89.95 Kit HTC-1 Realtime clock board. Two independ- ent interrupts. Software programmable. PCBD $25.95. 560.95 Kit EPM-1 1702A 4K EPROM card PCBD $25.95 $49.95 with parts less EPROMS EPM-2 2708/2716 16K/32K EPROM card PCBD $24.95 $49.95 with parts less EPROMS QMB-9 MOTHER BOARD. Short Version of QMB-12. 9 Slots PCBD $30.95 $67.95 Kit MEM-2 16Kx8 Fully Buffered 2114 Board PCBD $25.95. $269.95 Kit T.V. TYPEWRITER • Stand alone TVT • 32 char/line, 16 lines, modifications for 64 char/line Included • Parallel ASCII (TTL) input • Video output • 1 K on board memory • Output forcomputer controlled curser • Auto scroll • Non- destructive curser • Curser inputs: up, down, left, right, home. EOL, EOS • Scroll up, down • Requires +5 volts at 1.5 amps, and -12 volts at 30 mA • All 7400, TTL chips • Char. gen. 2513 • Upper case only • Boerd only $39.00 Part No. 106, with parts $145.00 Part No. 106A UART& BAUD RATE GENERATORS • Converts serial to parallel and parallel to serial • Low cost on board baud rate gener- ator • Baud rates: 110, 150, 300, 600, 1200, and 2400 • Low power drain +5 volts and -12 volts required • TTL com- patible • All characters contain a start bit, 5 to 8 data bits, 1 or 2 stop bits, and either odd or even parity. • All connections go to a 44 pin gold plated edge connector • Board only $12.00 Part No. 101, with parts $35.00 Part No. 101 A, 44 pin edge connector $4.00 Part No. 44P TAPE * INTERFACE • Ray and record Kan- sas City Standard tapes • Converts a low cost tape recorder to a digital recorder • Works up to 1200 baud* Dig- ital in and out are TTL- serial • Output of board connects to mic. in of recorder • Ear- phone of recorder con- nects to input on board • No coils • Requires +5 volts, low power drain • Board only $7.60 Part No. 111, with parts $27.50 Part No. 111A HEX ENCODED KEYBOARD E.S. This HEX keyboard has 1 9 keys, 1 6 encod- ed with 3 user defin- able. The encoded TTL outputs, 8-4-2-1 and STROBE are debounced and available in true end complement form. Four onboerd LEDs indicate the HEX code generated for each key depression. The board requires a single +5 volt supply. Board only $15.00 Part No. HEX-3, with parts $49.95 Part No. HEX- 3A. 44 pin edge con- nector $4.00 Part No. 44P. dc power supply-::- • Board supplies a reguleted +5 volts at 3 amps., +1 2, -1 2, and -5 volts at 1 amp. • Power required is 8 volts AC at 3 amps., and 24 volts AC C.T. at 1.5 amps. • Board only $12.50 Part No. 6085, with parts excluding transformers $42.50 Part No. 6085A TV r\rMar ■ Mention part number, description, and price. In USA. shipping paid for orders accompanied by check, money order, or Master Charge, BankAmericard. or VISA lw V.»l Uwl t number, expiration date end signature. Shipping charges added to C.O.D. orders. Celifornia residents Bdd 6.5% for tBx. Outside USA add 10% for air mail postage and handling, no C.O.D.'s. Checks end money orders must be peyable in US dollars. Parts kits include sockets for all ICs, components, and circuit board. Documentation is included witlvell products. Prices are in US dollars. No open accounts. To eliminate tariff in Canada boxes are marked "Computer Parts." Dealer inquiries invited. 24 Hour Order Line: (40B1 226-4064 -ft Circuits designed by John Sell For free catalog including parts lists and schematics, send a sell-addressed stamped envelope. ELECTRONIC SYSTEMS ^P*- B - p O. Box 21638. San Jose. CA USA 95151 Circle 125 on inquiry card. BYTE July 1979 257 T-BUG™ accessories Machine language programs linking with your copy ol the Radio Shack TRS BO™ monitor EMU f/2: Software emulation of MCS/SY 6502. Includes disassembling single-stepper, four speed animated before/- after programming models and quick interpreter for "direct" execution of 6502 object code strings in TRS-80 RAM. Write, debug and execute programs in another machine language. Software communication with 6502 based micro computers is made possible. BL 1 16K Level II $24.95 Super TLEGS: Onboard relocater moves T BUG to your choice of RAM. Now examine anything. LL O Level II $ 9.95 TSTEP: Single steps for T-BUG, clearable belore/after display shows all instruction set aspects of machine status as you SPACE through memory in program flow sequence. TLEGS relocates LL 1 16K Level II 11.95 M LOCO pack; On-site editing keys for T-BUG. Backspace, Relative Space, Insert, Delete and Clear. Minimal complete set for hand assembly use. TLEGS relocates. LL 2 4K Level II $ 9.95 Includes cassette, instructions, examples. Add .75 each shipping. CA include 6% Allen Gelder P.O. Box 11721 San Francisco, CA 94101 T-BUG. TRS-80 tm Radio Shack/Tandy Corp. Circle 136 on inquiry card. TRS-80 GAMES T^^SGAMES CRONIES T W~Jr OTHERS TAKE NOTE N^dlu Ball turret gunner: incoming fighters mix with twilight sky-three dimensional turret control and targeting sequence option. Descent: faithful to physics— a real time lander with control console graphics. Takes 10-20 minutes to land. Five landing operations. Haystack 500: rural race through haystacks and mud-drivers rated for times and trace difficulty. Simulation you can't believel These programs run in 4-16K Level II. On screen in- structions and background in separate load. Any game above on Scotch brand tape— $ 1 0.DQ {includes the sur- prise on the backl. We specialize in action-write for a brochure of TRS-80 games, software, beepers, joy- sticks and other mechanical goodies. Four Seasons Company 2318 Harvard Avenue Ft. Myers FL 33907 FOR TRS-80 ™ OWNERS T-PAL Programming Amateur's Letter THE "DO-IT-YOURSELF" SOFTWARE NEWSLETTER Published Monthly, We'll Teach You All The Latest Wrinkles — How To Get The Most Out of Your Computer Graphics • Games • Personal Home • Business • Finance And Much More! $24/year ... or write for FREE Details THE MAIL MART Box FJ 1 1 102 San Francisco, CA 94101 Circle 199 on inquiry card. I BYTE's New p > /\Toll-frfee ; Subscriber ; \ W.A.T.S. Line ! (80$ 258-5485 \ \S V \ , To further improve service to 1 our customers We have installed , a toll-free WATS line in our Peterborough, New Hampshire , office. If you would like to order ' o a subscription to BYTE, or if you , <° have a question related) to a BYTE j subscription, you ar? invited to\ < call (800) 258-i,48S; between \ J 8:30 AM and 4:30 PM Eastern \ Time. This applies to calls from [ within the continental |)S qnfyj ^. We thank you arid-lorn i ° forward to serving you. 1 '^SLJlJLSLSULSLSiSiSLJUL^ f SHORT CASSETTES r " 10 (s) ^ ^ (T% 50 V>— ?/) FEET List SI. 1)0 10 for S7.50 50 for $32.50 MICROSETTE CO. > 777 Palomar Ave. • Sunnyvale. CA 94086 Duplication Services Microsette also offers professional duplication services for Commo- dore PET and Radio Shack TRS-80 Level I and Level II cassettes. Our service provides mastering, quality control, all material including two- piece box, affixing of your labels or supplying our blank labels and ship- ping. Prices start at $2.00 each in 100 quantity. MICROSETTE CO. 777 Palomar Ave. • Sunnyvale. CA 94086 Circle 229 on inquiry card. Professfona/ Real Estate Programs available now on cassette for Apple & TRS-80 II • Property Managment System (Two 8K Programs) 1. ) Expense Analysis 2. ) Income Info & Tracking Introductory Offer *50 Price After July 15, '75 • Home Purchase Analysis • Income Property Cashflow/Leverage • Construction Cost/Profit • Tax Free Exchange Model Separately s 20 All s 65 Call (213) 372-9419 lor immediate CO D Attractive Dealer Pricing 2045 Manhattan Avenue. Hermosa Beach. California 90254 Circle 135 on inquiry card. Circle 323 on inquiry card. COMPUTER TECHNICIAN ENGINEERING STUDENT LOS ANGELES AREA Part time position. Must have at least one year of engineering educa- tion. Must be familiar with electrical measuring devices Si computers. Good experience would be hobby computers or University computers. Should have a working knowledge of hardware components S. ability to in- terface such components. Should also have ability to submit well writ- ten technical reports. PCI 1815 VICTORY BLVD. GLENDALE, CA. 91 201 [213] 956-3770 CR0MEMC0 AT 15% DISCOUNT • EVERYTHING ON THE CROMEMCO CATALOG • ALL NEW EQUIPMENT FULLY GUARANTEED • MANY SOFTWARE PACKAGES AVAILABLE DIGITAL DATA SYSTEMS, INC. 1396 N W 65 TERR PLANTATION, FLA 33313 (305) 792-3290 TRIPLE E TIME MACHINE An IEEE 488 to S100 Bus Interface and Control Board. Included are counter-timer functions. Board, is addressable anywhere in memory or I/O. KIT $225 BARE $35 wit A GEMINI SBC 3.0 A 2650 Microprocessor based single board computer for the S100 Bus. Tape interface, parallel input port, power control port, 3 to 7K ROM and 1 to 3K RAM on board. Documentation with BARE board. KIT (IK/IK) $275 BARE B KIT $225 MONITOR IK machine language monitor in 2708. Supported are: memory inspect and change; register inspect; breakpoints; tape load and dump; memory mapped video and keyboard input port. j2fj C G ENGINEERING P.O. BOX 1145 MILPITAS, CA 95035 lion IE S35 Circle 310 on inquiry card. Circle 105 on inquiry card. Circle 74 on inquiry card. PEPQCM SAMPLER For your SS-50 bus computer — the CIS-30 + • Interface to data terminal and two cas- sette recorders with a unit only 1/10 the sizeofSWTP'sAC-30. • Select 30, 60, or120 bytes per second cassette interfacing, 300, 600 or 1200 baud data terminal interfacing. • Optional mod kits make CIS-30+ work with any microcomputer. (For MITS 680b, ask for Tech Memo TM-CIS- 30+— 09.) • KC-Standard/Bi-Phase-M (double fre- quency) cassette data encoding. De- pendable self-clocking operation. • Ordinary functions may be accom- plished with 6800 Mikbug™ monitor. • Prices: Kit, $79.95; Assembled, $99.95. Prices include a comprehensive Instruction manual. Also available: Test Cassette, Re- mote Control Kit (for program control of recorders), IC Socket Kit, MITS 680b mod documentation, Universal Adaptor Kit (converts CIS-30+ for use with any com- puter). MIKBUG® Motorola, Inc. In the Product Development Queue . . . Coming PDQ. Watch lor announce- ments. 6809 Processor Card — With this SS-50 bus PC board, you'll be able to upgrade with the microprocessor that Motorola designers describe as the "best 8-bit machine so far made by humans." The Electric Crayon™ — This color graphics system includes its own mP and interfaces to virtually any microcomputer with a parallel I/O port. Printer Interface — For your TRS-80™. Interface any serial RS232 printer to your TRS-80™ with this system. ' "ELECTRIC WINDOW. ELECTRIC CRAYON, Pilon- 30 and Pllon-10 are trademarks of Percom Oala Company. Inc. TRS-80 is a trademark ol Tandy Corporation and Radio Snack which has no relationship to Percom Data Company. Orders may be paid by check or money order, or charged to Visa or Matter Charge credit account. Texas residents must add 5% sales tai. For your data storage — Pilon-30™ and Pi I on- 10™ data cassettes • Orders-of-magnitude improvement in data integrity over ordinary audio cas- settes. • Pilon-coated pressure pad eliminates lint-producing felt pad of standard audio cassettes. • Smooth pilon coating minimizes erra- tic tape motion. • Foam pad spring is energy absorbing. Superior to leaf spring mounted pad which tends to oscillate and cause flut- ter. • Five-screw case design virtually pre- cludes deformation during assembly. • Price: $2.49. For your S-100 computer— the CI-812 • Both cassette and data terminal inter- facing on one S-100 bus PC board. • Interfaces two recorders. Record and playback circuits are independent. • Select 30, 60, 120, or 240 bytes per second cassette interfacing, 110 to 9600 baud data terminal interfacing. • KC-Standard/Bi-Phase-M (double fre- quency) encoded cassette data. De- pendable self-clocking operation. • Optional firmware (2708 EPROM) Operating System available. • Prices: kit, $99.95; assembled, $129.95. Prices include a comprehensive instruction manual. In addition to the EPROM Operating System, a Test Cassette, Remote Control Kit (for program control of recorders), and an IC Socket Kit are also available. CASSETTE SOFTWARE For 8080/Z-80 fiCs . . . BASIC ETC — Developed by the co- authors of the original Tiny BASIC, BASIC ETC is easy to use yet includes com- mands and functions required for power- ful business and scientific programs as well as for hobby applications. 9.5K bytes of RAM. 1200-baud cassette and 42-page user's manual $35.00 Cassette Operating System — EPROM (2708) COS for the Percom CI-812 dual peripheral interfacing PC card . . $39.95 If you're programming on a 6800 /j.C, you'll want these development and de- bugging programs written by Ed Smith of the Software Works: Disassembler/Source Generator — Dis- assembles SWTP Resident Assembler, TSC Mnemonic Assembler/Text Editor or Smoke Signal Mnemonic Assembler/Text Editor and produces compacted source code suitable for re-editing. Prints or dis- plays full assembly-type output listing. 4K bytes of RAM. (Order M68SG) $25.00 Disassembler/Trace — Use to examine (or examine and execute) any area of RAM or ROM. "Software-single-step" through any program, change the con- tents of CPU or memory location at any time, trace subroutines to any depth. 2.3K bytes of RAM. (Order M68DT) $20.00 Support Reiocator Program — Supplied on EPROM, this program relocates a program in any contiguous area of RAM or ROM to anywhere in RAM. Use to assemble and test programs in RAM, ad- just programs for EPROM operating ad- dresses and then block move to your EPROM burner address. 952 bytes of RAM, Loads at hex 1000. (Order M68EP) $20.00 Relocating Assembler & Linking Loader (M68AS) $50.00 Relocating Disassembler & Segmented Source Text Generator (M68RS) $35.00 Americana Plus — 14 tunes for the New- tech Model 68 Music Board in machine language ready to load and run. Cassette compatible with Percom CIS-30+ and SWTP AC-30. Order MC-1SW . . $15.95 HARDWARE Newtech Model 68 Music Board — Pro- duces melodies, rhythms, sound effects, morse code, etc. from your programs. Includes manual with BASIC for writing music scores and assembly language routine to play them. Installs in SWTP I/O slot. Assembled & tested $59.95 The Percom ELECTRIC WINOOW™ — Memory-resident and programmable, this video display character generator board for your SS-50 bus displays up to 24 80-character lines. Features dual character generators, dual-intensity high-lighting. One programmable regis- ter controls scrolling. Compatible with standard video monitors $249.95 SS-50 Prototype Cards: Large card (up to 70 40-pin ICs) $24.95 I/O size card $14.95 To order products or request additional I It - . . . . . , ... erature, call Percom's toll-free number: PERCOM™ 'peripherals for personal computing' 1-800-527-1592. For detail technical in- formation call (214)272-3421. PERCOM DATA COMPANY, INC. DEPT. B 211 N. KIRBY • GARLAND, TX. 75042 Circle 301 on inquiry card. BYTE July 1979 2 I mail mlBmm 313 The EXPANDORAM is available in versions from 16K up to 64K, so for a minimum investment you can have a memory system that will grow with your needs. This is a dynamic memory with the in- visable on-board refresh, and IT WORKS! • Bank Selectable • Phantom - Power 8VDC, ± 16VDC, 5 Watts • Lowest Cost Per Bit • Uses Popular 4116 RAMS • PC Board is doubled solder masked and has silk-screen parts layout. SD EXPANDORAM 74e Uttimate S-tOO THemvuf [DISC DRIVES Sugart SA400 5 1 /4" with attractive metal case $29500 Sugart 801 with attractive metal case $495.00 Siemens FDD 200-8 8" double-sided | double density $599.00 DISC CONTROLLER SD "VERSAFLOPPY" Kit Th.V.r«lll. Floppy DISK Q n | y s^goo FEATURES: IBM 3740 Soli Sectored Compati- ble. S-100 BUS Compallblo lor Z-80 or 6080. Con- trols up to 4 Drives (single or double sided). Direclly controls the following drives: oppy. 1. Shugart SA400/450 Mini Floppy 2. Shugart SA800/850 Standard Fli 3. PEFISCI 70 and 277. 4. MFE 700/750. 5. CDC 9404/9406. 6. GSI/Slemans FDD120-8. 34 Pin Connector tor Mini Floppy. 50 Pin Con- nector lor Standard Floppy. Operates with modilled CP/M operating system and C-Basic Compiler. The new "Versafloppy" from S.D. Computer Products provides complete control for many of the available Floppy Disk Drives, Both Mini and Full Size. FD1771B-1 Single Den slty Controller Chip. Listings for Control Soft- are are Included in price. ^ SAVE $ 100 00 DM2700S DISK & CABINET with POWER SUPPLY DM2700S includes Siemans FD120-8" Disk Drive with the following features: • Single or Double Density • Hard or Soft Sector • Door Interlock • Write Protect • Hard Sector Detection • 500 KB/S Transfer • 800 KB unformated • Bit density 6536 BP1 • Sugart 800 Series Compatable DM2700S Disk Drive & Cabinet REG. $750 SALE PRICED • Extensive documentation clear- ly written • Complete Kit includes all Sockets for 64K • Memory access time: 375ns, Cycle time: 500ns. • No wait states required. • 16K boundries and Protection via Dip Switches • Designed to work with Z-80, 8080, 8085 CPU's. EXPANDO 64 KIT (4116) 16K ... $245.00 32K $310.00 48K $375.00 10.00 J Cabinet includes: • 110V to 125V 60 Hz power supply • Data Cable • Fan • Accepts per SCI, Shugart, Siemans 8" Drives s 650 00 DM2700 Cabinet, less Drive 32495° *225 00 N Logic Probes and Digital Pulsers LOGIC PROBES CSC logic probes are the ultimate tool for breadboard design and testing. These hand-held units provide an instant overview of circuit conditions. Simple to use: juat clip power leada to circuit's power supply, set logic family switch to TTUDTL or CMOS/HTL. Touch probe to lest node. Trace logic levels and pulses through digital circuits. Even stretch and latch for easy pulse detection. Instant recognition of high, low or invalid levels, open circuits and nodes. Simple, dual-level detector LEDs tell it quickly, correct- ly. HI (Logic "1"); LO (Logic "0"). Also Incorporates blinking pulse detector, e g., HI and LO LEDs blink on or off, tracking "1" or "0" states at square wave frequencies up to 1.5 MHz. Pulse LED blinks on for Vi second during pulse transition. Choice of three models to meet Individual requirements; budget, project and speed of logic circuits. MODEL LP- 1 Hand-held logic probe provides Instant reading of logic levels for TTL, DTL, HTL or CMOS. Input Impedance: 100.000 ohms. Minimum Detectable Pulse: 50 ns. Maximum Input Signal (Frequency): 10 MHz. Pulse Deteelor (LED): High speed train or single event. Pulse Memory: Pulse or level transition detected and stored. — CSC Model LP-1 Logic Probe— Net Each -£&£95 $42.70 mm MODEL LP-2 Economy version of Model LP-1. Safer than a voltmeter. More accurate than a scope. Input Impedance: 300,000 ohms. Minimum Delectable Pulse: 300 ns. Maximum Input Signal (Frequency): 1.5 MHz. Pulse Detector (LED): High speed train or single event. Pulse Memory: None. _ CSC Model LP-2 Logic Probe-Net Each 04rfj5 $23.70 MODEL LP-3 High speed logic probe. Captures pulses as short as 10 ns. Input im- pedance: 500,000 ohms. Minimum Detectable Pulse: 10 ns. Maximum Input Signal (Frequency): 50 MHz. Pulae Detector (LED): High speed train or single event. Pulse Memory: Pulse or level transition detected and stored. CSC Model LP-3 Logic Probe-Net Each flMfrgS $66.45 DIGITAL PULSER The ultimate In speed and ease of operation. Simply connect clip leads to positive and negative power, then touch DP-i's probe to a circuit node; aulomalic polarity sensor detects circuit's high or low condition. Depress the pushbutton and trigger an opposite polarity pulse into the circuit. Fast troubleshooting includes Injecting signals at key points in TTL, DTL, CMOS or other popular circuits. Test with single pulse or 100 pulses per second ,vla bulit-ln dual control push-button; button selects single shot or con- tinuous modes. LED Indicator monitors operating modes by flashing once for single pulse or continuously for a pulse train. Completely automatic, pencil-size lab/field pulse generator for any family of digital circuits. Out- put: Trl-state. Polarity: Pulse-sensing auto-polarlty. Sync end Source: 100 mA. Pulse Train: 100 pps. LED Indicator: Flashes for single pulse; stays lit for pulse train. CSC Model DP-1 Digital Pulser-Nel Each £>43j5 $71.20 S100 4607 DEC LSI-11, PDP8, PDP11, Heatri H-11. P Pattern Epoxy Glass. Plug Board S.43"x5.187' Dual 36 pin DEC/HEATH Connectors. 1-4 5-9 10-24 10,95 17.96 15.96 VECTOR-PAK ASSEMBLED MICROCOMPUTER CASES Adjustable packaging system for S-100 bus microcomputers, compatible with Altalr 8800 and IMSAl 8080 size cards. • Smart looking, deluxe cases unmarred by unsightly screws or fasteners. • Finished in dark blue textured vinyl. • Instantly accessible Interiors with slip out covers. • Removable recessed rear and (ront panels. • Fully adjustable interiqr mounting systems (or any card or card spacing within size limitations. No cutting or drilling necessary. • Perforated bottom cover for cooler opera- lion. DESCRIPTION Assembled case with pertoraled bottom cover. Installed mounting struts for card guides and receptacles or mother board. Cards top loaded, spanning Iront to back. Card guide (12 pair) and chassis plate sup- plied uninstalled. 8801-1 Plain no etched circuitry except contacts. Pro- duces maximum flexibility. 1-4 14.95 8802-1 Pad per 2 holes. Two-holE pads allow tack solder- ing ol socket, plus second hole for component leads. 5-9 19.76 VP-1 $163.00 Shipping Weight 25 lbs VP-2 $159.00 Same as VP1 except cards oriented side to side. PRIORITY 16723B Roscoe "ANY DiP" has full power and ground planes back to back. Board accommodates 3, 4, 6, 9" Dips, 1-4 5-9 10-24 21.95 19.78 17.56 Individual tinned square pads surround most holes. Ideal for mounting components by "tack soldering" Top ol board pod Iree for mounting I/O connectors. P° wef buses. 4808 Is form and size compatible with IN- TEL S8L80 Series and NATIONAL BLC 80 Series microcomputer boards. Power and Ground buses on both sides. 1-4 5-9 10-24 45.00 40.50 36.00 4808-1 Same as 4608. except plain less 1.4 19.95 5-9 17.95 10-24 15.96 104 34.00 S-9 30.60 10-24 27.20 ELECTRONICS ivd. Sepulveda, CA 91343 Terms: Visa, MC, BAC, Check, Money Order, C.O.D. U.S. Funds Only. CA residents add 6% sales tax. Minimum order $10.00. Prepaid U.S. orders less than $75.00 include 5% shipping and handling, minimum $2.50. Excess refunded. Just In case . . . please include your phone no. Prices subject to change without notice. We will do our best to maintain prices thru June 1979. OEM and Institutional phone orders welcome (213) 894-8171, (800) 423-5633 inquiries invited. % 260 BYTE July 1979 Visit our new retail location! c,rcie3i2oni ™ card - ICKOK LX303 $74.95 HICKOK LX303 $7495* „ .5%, 3 1 / 2 digit 19 Range DVM. Vj" LCD displays runs 200 hrs on 1 battery. 10 Meg Ohm Input. 1 yr. guarantee, made in U.S.A., test leads included. Available Accessories RC-3115V AC Adapter $7.50 CC-3 Deluxe Padded Vinyl Carrying Case $7.50 VP-10 X10 DCV Probe Adapter/ Protector 10Kv $14.95 VP-40 40Kv DC Probe $35.00 CS-1 10 Amp Current Shunt $14.95 r *FREE Just for Asking. FREE BATTERY with your meter. hickok 1$ Sale DUAL-TRACE 30 MHz Oscilloscope Model 532 Deluxe 10:1 Probe Set SALE PRICED AT , $114500 .^O^ 0 Dual-Trace 30 MHz Oscilloscope • Built In delay line for leading edge viewing of fast rlsetlme pulses. • Compact portable size. • 11.7 ns rlsetlme. • Full time X4 expansion I (horizontal position control automatically allows moving trace 4 screen widths at all sweep times). • TEST MOST DIGITAL LOGIC CIRCUITS IN- CLUDING MICROPROCESSORS. • STABLE TRIGGERING UP TO 50 | MHz. • High and low pass trigger filters. • 11 step precision vertical at- tenuators. • 24 calibrated sweep times. • Analyze CB AM and SSB I waveforms. • Regulated power supplies for accuracy over 105-130 VAC. SPECIFICATIONS VERTICAL RANGES: 10 mV/DIV to 20 V/DIV In 11 calibrated steps. Variable control permits fine adjustment between steps. Accuracy: ± 4%. Frequency Response: DC to 30 MHz (-3 dB) DC coupled, 2 Hz to j 30 MHz (-3 dB) AC coupled. Rlsetlme: 11.7 ns. Overshoot: 4% or less. Positioning: 3 screens. Input Impedance: 1 megohm ±2% shunted by 27 pF. ±1.0 pF. Maximum Input Voltage: 500 V DC plus peak AC ex- cept 300 volts on .01 V range. Vertical Modes: Channel A only; Channel B only; Alternate A & B, Chopped A & B, Difference (A-B). TIME BASE I Sweep Rates: 2 SEC/DIV to 0.05 ii SEC/DIV In 24 calibrated steps. Variable control permits fine adjustment between steps. Accuracy: ±4%. Except 7% from 2 SEC/DIV to 0.5 SEC/DIV. TRIGGERING Modes: AC-HF High pass filter, signal component below 3 kHz re- jected. AC-LF Low pass filter, signal component above 10 kHz rejected. Auto: Provides continuous sweep without input signal. Sources: Line, Internal, External. Slope: Positive and negative; continuously variable J level control. Sensitivity: Internal, Vt division (on CRT) to 30 MHz; 1 divi- sion to 50 MHz; external, 200 mV to 5 V peak-to-peak. EXTERNAL I HORIZONTAL (X-AXIS). Frequency Response: DC to 5 MHz, AC, DC coupled. Input Impedance; 1 megohm ±5% shunted by approximately 30 pF. GENERAL Probe Calibrator: 0.6 V peak-to-peak, 200 ns risetime. CRT: 4-inch flat faced round with viewing area of 6 x 10 divisions. Power Requirements: 105-125 V, 50-400 Hz, 35 watts. SIZE & WT.: 6-7/8" h x 11 Vi" wx 17V4" d, 27 pounds (not including handle). (17.2 cm x28.6 cm x 45.1 cm) (12.27 kg). ACCESSORIES: Model 532 Includes 2 model ' SP-7, 10:1 probes and Instruction manual. Includes two probes. LX303 DVM 1e with Purchase of Scope •MKUnl! QQf] Q IHiro* +9. +12. MOTHER -i!ft,Mi*Miniu- BOARD FOR .••ga^o- 5100 BUS potwn mm but toon HICR0- BWi»m«*rt.*j>nnoih)« COMPUTERS • Gi0«MiygiHiMirdi>ith2aunc< :W KWtn'KOT 03S aunt- ie hWfl 10* • Mounls 1 1 ikihUcM wlh 100 CMMI [1 rMtlofl lISctniMiBitli 2M'0*ilMcmg VecWp*nnumWBMi-2 oimounli 10,«W- tKitjotui MMnliwiwimii in vm'ie' ™tw wura Plugboards , Price: $29.50 1/16 BOARD .042 dia holes on 0.1 spacing for IC's Phenolic PRICE PART NO. SIZE 1-9 10-19 64P44XXXP 4.5x6.5" $1.56 $1.40 169P44XXXP 4.5x17" $3.69 $3.32 8800V Universal Microcomputer/processor plugboard, use with S-100 Dus Com- plete Willi neat sink & hardware 5 3k 10' * 1/16 1-4 5-9 $19.95 S17.95 8801-1 Same as 8800V except plain buses & heal sink. 1-4 5-9 10-24 $15.22 t $13.79 $12.18 10-24 J15 96 less power 3682 9.6 ,, x4.5" $10.97 3682-2 6.5" X 4.5" $9.81 Hi-Density Dual-ln-Line Plugboard for Wire Wrap with Power & Grd. Bus Epoxy Glass 1/16" 44 pin con. spaced .156 3677 9 6"x4.5" $10.90 3677-2 6.5" x 4.5" $9.74 Gen. Purpose D.I. P. Boards with Bus Pattern lor Solder or Wire Wrap. Epoxy Glass 1/16" 44 pinccn. spaced .156 I 3662 6.5" X 4.5" $7.65 3662-2 9.6" X 4.5" $11.45 P pattern plugboards tor IC's Epoxy Glass 1/16" 44 pin con. spaced .156 TRS-80/APPLE MEMORY EXPANSION KITS 4116's RAMS (16Kx1 200ns) 8 for $75.00 Add $3.00 tor programming Jumpers for,TRS-80 Keyboard ' 2708 8K 450 ns EPROM FACTORY PRIME $ 9.00 ea. 25 + Call For Price 3690- 12 CARD EXTENDER Card Extender has 100 con- tacts 50 per side on .125 centers-Attached connec- tor-is compatible with S-100 Bus Systems. $25.83 3690 6.5" 22744 pin .156 ctrs. Extenders $13.17. 14 & 16 PIN MJ'GOID 3 LEVEL ' VtottWIRE WRAP SOCKETS '14-G3 100 for $30.00 16-G3 100 for $30.00 50 of each for $32.00 Sockets are End 81 Side stackable. closed entry 2114N-L 4096 - BIT (1024x4) 450 ns Low Power Static Ram 8 for s 50° ORDER TOLL FREE 1 1 800 423 5633 ""life . . • Gail {213) 894-8171 2102LPC 450ns Low Power RAMS $1.10 Ea. in lots of 25 2102LHPC 250ns Low Power RAMS L $1.25 Ea. In lots of 25 t TMS 4044/ MM 5257-3L 4096x1 300 ns Low Power Static Ram 8 for s 50 00 WRAR POST tor .042 dia. holes u I (all boards on this page) , |T44/Cpk g . 100 .. t 2.34 T44/Mpkg. 1000 $14.35 v I A-13 hand installing > tool « 2.94 . ELECTRONICS 16723B Roscoe Blvd. Sepulveda CA 91343 Terms: Visa, MC, BAC, Check, Money Order, C.O.D. U.S. Funds Only. CA residents add 6% sales tax Minimum order $10.00. Prepaid U.S. orders less than $75.00 include 5% shipping and handling minimum $2.50. Excess refunded. Just in case . . . please include your phone no. Prices subject to change without notice. We will do our best to maintain prices thru July 1979. OEM and Institutional phone orders welcome (213) 894-8171, (800) 423-5633 inquiries invited 2716 5 volt only 16K EPROM HICKOK LX303 $74.95 HICKOK LX303 $74.95 We have 5V 2716's in Stock. SSnwfmmmmKsmmgiiam SIOOWWQ 50/100 Com. .125 clrs. 3 LEVEL WIRE WRAP .025" sq. posts on .250 spaced rows. GOLD PLATED. 1-4 5 9 10-24 (4.00 13.75 $3.50 S100ALT 50/100 Com. .125 ctls. DIP SOLDER TAIL on .140 spaced rows lor ALTAIR motherboards. GOLD plated. 1-4 >9 10-24 •4.00 13.75 J3.50 S100-STQ 501100 Com. .125 ctrs. DIP SOLDER TAIL on .250 spaced rows lor VECTOH and MASI motherboards GOLD plated. 1-4 5-1 10-24 S3.50 13.25 53.00 S100SE 50/100 Com. .125 clrs. PIERCED SOLDER EYELET tails. GOLD 1-4 5-9 10-24 S5.00 14.50 S4.25 We have the Best Prices on 2102's, 2114's, 4116's. OTHER POPULAR EDGE CONNECTORS All Edge Card Connectors are GOLO PLATED (not Gold Flash) Bodies are non brittle. Solvent res.. G.E. Valox. Contacts are Bifurcated: Ptios/Bronze: GOLD over Nickel. ABBREVIATIONS: SE - Solder Eyelet WW - 3 LmI Wire Wrap ST • Solder Tall .100" Contact Center Connectors PART NO. D1326-1SE D2244-1WW D2250-1SE D22S0-1ST D2040-1SE D2040 1ST 02040-1WW O3060 1WW D3S721SE 038/2 1ST D3672 1WW D40B01ST D4080 1WW 04388 1SE D43S61ST D430S-1WW D5010O-1WW PART NO. D3672-2WW D40S0-2WW 8100-STO S100-WWQ S100-ALT S100SE PART NO. S6X-5SE D612-5SE D1224 5SE 02224 5ST 01530 5SE 01S30-5ST D1530SWW D1838-5SE D2244-5SE D2244-5ST 02244 5WW 03672-SSE □3672 5ST 03672 5WW DE4386-SSE D4386-5ST D43S6SWW CO-1 PART NO. DE-9P DE-9S DE-9C DA16P DAI5S DA ISC 0B-25P DB-25S OB51212-1 001226 1A DB110963-3 OC37P DC37S DC37C OOSOP 0DS0S DOSOC D20418-S Imjal P10. Inlel Mulllbuas Imsai PIO. Inlel Multlbuss TP.S-80 TP.S-80 Intel Mulllbusa Vector Plugboards Vector Plugboards Vector (/•—'■ PET PET PET Cos. ELF Cos. ELF Cos. ELF 1-4 2.60 4.00 3.70 3.50 3.20 300 3.30 4.10 500 4.95 4.90 595 500 5.20 5.60 5.40 550 5.95 .125" Contact Center Connectors TYPICAL APPLICATION Vector 4350 s-100. Imtsl. Vector, Cromenco. Mother- boards s too Wire Wrep Altelr S100 Solder Eyelet .156 Contact Centers Connectors TYPICAL APPLICATION Pet. NSC CLK Modules Pet. NSC CLK Modules Pel Pet Vector Plugboards. GRI Keybrds Vector Plugboards. GRI Keybrds Vector Plugboards. GRI Keybrds vector. Kim. etc. Vector. Klm. etc. Vector. Kim. etc. Vector Plugboards Vector Plugboards Vector Plugboards Mot 6800. Intel Multlbuss. NSC pacer Mot 6600. Inlel Mullibuss. NSC pacer Mot 6800. Intel Multibuss. NSC pacer Imsai Style Card Guides RS232 & "D" P - Plug-Male S = DESCRIPTION 9 Pin Male 9 Pin Female 9 Pin Cover 15 Pin Male 15 Pin Female 15 Pin Cover 25 Pin Male 25 Pin Female 1 pc. Grey Hood 2 pc. Black Hood 2 PC. Grey Hood 37 Pin Male 37 Pin Female 37 Pin Cover 50 Pin Male 50 Pin Female 50 Pin Cover Hardware Set 12 pair) PRICE 5-9 2.40 3.80 3.50 3.30 3.05 2.85 315 3.90 4.75 4.70 465 5.70 4.75 4.95 5.35 5.15 525 5.75 PRICE 10-24 2.20 3.60 3.40 3.10 2.90 2.70 3.00 370 4.50 4.45 4.40 5.45 4.50 4.70 5.05 4.90 5.00 5.55 1-4 5-9 10-24 5.25 500 4.75 5.95 5.65 5.35 3.50 3.25 3.00 4.00 3.75 3.40 4.50 4.25 4.00 5.00 4.50 4.00 :tors PRICE 1-4 59 10-24 1.40 1.30 1.20 1 60 1.50 1.40 2.40 2.30 2.20 2.30 2.20 210 2.50 235 2.10 2.40 2.25 2.05 2.60 2.40 2.15 3.00 2.80 2.60 3.00 260 2.20 3.00 2.60 250 3.95 3.70 3.40 5.50 5.30 5.00 5.45 5.25 5.00 5.60 5.40 5.10 6.00 5.75 6.25 5.90 5.65 5.15 6.50 6.30 5.90 511.00 or 100/10.00 TYPE CONNECTORS Socket-Female C = Cover Hood PRICE 14 59 10-24 1.50 1.30 1.10 1.95 1.75 1.45 1.50 1.30 1.10 200 1.80 1.55 2.90 2.70 245 1 60 1.60 1.30 2.50 3.20 2.05 3.50 3.10 2.96 1.65 1.35 1.20 1.60 1.50 1.35 1.70 1.40 1 25 3.95 375 3.50 550 5.25 4.90 2.00 1.80 1.60 5.00 4.75 4.60 6.50 6.00 5.75 2.50 2.30 2.20 1.00 .80 .70 .67 8STG 14SG 165 TO, 16STO 20STG Connector lor CENTRONICS 700 SERIES: Amphenol 57-30360 lor back o( Centronics 700 Series printers 1-4-S9.00 5-up-57.50 DIP PLUGS PRICE PRICE 111 No. 01 1-24 2 599 100-499 Peril No. of 124 Pins 41 36 .29 P22P02 22 75 48 .42 .34 P24P02 24 . 79 71 .66 .38 P28P02 28 1.10 .93 .81 .46 P40P02 40 1.25 1.07 .94 GOLD SOLDERTAIL STANDARD IC Sockets 2549 50-99 1-24 25 49 .27 .24 22STO .70 .63 .32 .29 24STG 70 63 .35 .32 26STG 1.10 1.00 .43 40STO 175 1.55 P06P02 P14P02 P16P02 P18P02 .67 .57 38 .66 52 50-99 .57 .57 .90 1.45 6CS2 14CS2 16CS2 18CS2 20CS2 .15 TIN SOLDERTAIL - LOW PROFILE IC Sockets 25-49 50-99 1-24 2549 50-99 22CS2 .37 .36 .35 24CS2 38 .37 .36 28CS2 45 .44 .43 40CS2 63 62 61 .32 .30 20 PORTABLE OSCILLOSCOPES MS-215 Dual Trace MS-15 Single Trace Re 9 S 435 00 Reg. $ 318 00 Sale Priced %)OS) Sale Priced S389 00 * w ^ $289 00 * With Rechargeable Batteries and Charger Unit • 15 megahertz band width e External and Internal trigger • Time base • 1 micro sec. to 0.5 21 settings • Battery or line operation • Automatic or line sync modes • Power consumption less than 15W. • Vertlcle Gain • 0.01 to 50 Volts/ dlv. 12 settings. • Weight Is only 3 pounds • Viewing area 1.1" x 1.35" case size 2.75"H x 6.4"W x 7.5"D • Parts & labor guaranteed 1 year, made In USA! 41-140 Leather Carrying Case $45.00 41-141 10:1 Probe $27.00 41-349510:1, 1:1 Combo Probe $36.00 • Sale Prices Valid tor PREPAID or CRE DIT CARD, ORDERS ONLY. Why Cut? Why Strip? Why Silt? WHY NOT . . JUST WRAP™ • AWG 30 Wire • Built In Cut off • .025" Square Posts • Easy Loading of Wire • Daisy Chain or Point • Available Wire Colors: To Point Blue, White, Red & Yellow • No Stripping or Slitting Required . JUST WRAP TM . . . NEW JUST WRAP TOOL WITH ONE 50 FT. ROLL OF WIRE COLOR PART NO. U.S. LIST PRICE BLUE WHITE YELLOW RED JW-1B 14.95 JW-1-W 14.95 JW-1-Y 14.95 JW-1-R 14.9S REPLACEMENT ROLL OF WIRE 50 FT. BLUE WHITE YELLOW RED R-JW-B 2.98 R-JW-W 2.98 R-JW-Y 2.98 R-JW-R 2.98 3 LEVEL GOLO WIRE WRAP SOCKETS Sockets purchased In multiples of 50 per type may be combined for best price. 1-9 10-24 25-99 100-249 250-999 8 pin* .40 .36 .34 .31 .27 14 pin* .45 .39 .37 .34 .32 .16 pin* .50 .42 .40 .36 .34 18 pin .70 .60 .55 .50 .45 20 pin .90 .80 .75 .65 .62 22 pin* .95 .85 .80 .70 .65 24 pin .95 .85 .80 .70 .65 28 pin 1.25 1.15 1.00 .95 .90 |40 pin 1.65 1.45 1.35 1.20 1.10 All sockets ere GOLD 3 level closed entry ' End end side stsceble. 2 level. Solder Tsil. Low Profile. Tin Sockets end Dip Plugs available CALL FOR QUOTATION JUST WRAP KIT CONTAINS • JUST WRAP Tool • Roll of Blue Wire, 50 ft. • Roll of White Wire, 50 ft. • Roll of Yellow Wire, 50 ft. • Roll of Red Wire, 50 ft. • Unwrapping Tool JWK-6, JUST WRAP KIT $24.95 DIP JUMPERS FLAT RIBBON CABLE ASSEMBLIES WITH DIP CONNECTORS • Available with 14, 16. 24 and 40 contacts. • Mate with standard IC sockets. • Fully assembled and tested. • Integral molded-on strain relief. • Line-by-line probeabiiity. A P DIP Jumpers are the Ic quality solution for jumpering w-cost. high- board; interconnecting between PC I within a PC backplanes and motherboards; interfacing In- put/Output signals; and more. All assemblies use rainbow cable. Stan- dard lengths are 6. 12, 18, 24 and 36 inches. r*™ Dinolai Pin No | DOUBLE-ENDED DIP JUMPERS No. Contacts Length 6" Length 12" Length IB" Length 24 Length 36" 14 924106 6 R (2.41 924106 12 R •2 61 924106 tB-R )2 82 924106 24-R S3.02 924106 36 R (3 43 16 924116 6 R 52 66 924116 12 R S2 88 924116 IB R S3 11 924116 24 fl >334 924116 .16 B 1380 24 924126 6 Ft S4 15 924126 12 R S450 924126 tB-R 14.85 924126 24-R S5 20 924126 36 II S5.90 40 924136 6 Ft S6.93 924136 12 fl 1752 924136 18-R S8.1l 924136 24-fl 18.73 924136 36 R J9 88 PRIORITY ONE ELECTRONICS 16723B Roscoe Blvd. Sepulveda CA 91343 Terms: Visa, MC, BAC, Check, Money Order, C.O.D. U.S. Funds Only. CA residents add 6% sales tax. | Minimum order $10.00. Prepaid U.S. orders less than $75.00 include 5% shipping and handling, minimum $2.50. Excess refunded. Just in case . . . please include your phone no. Prices subject to change without notice. OEM and Institutional! We will do our best to maintain prices thru July 1979. inquiries Invited. phone orders welcome (213) 894-8171, (800) 423-5633 ave 5V 2716's in Stock. Circle 312 on inquiry card. Circle 384 on inquiry card. ff^OZOFF 20Z0FF YOUR OWN TRS-80 SYSTEM AT TREMENDOUS SAVINGS OTRS-80 Complete System DISK DRIVES NOW IN STOCK! Includes: CPU/ Keyboard, Power Supply, Video Monitor, Cassette Recorder, Manual, and Game Cassette. WLine Printer ©Mini Disk System 0C-1O Cassettes ©Verbatim Diskettes REG. OUR ITEM PRICE PRICE TRS-80 Complete System Level II - 4K RAM $ 698.00 $ 628.20 TRS-80 Complete System Level I1 16 K RAM $ 988.00 $ 889.20 Expansion Interface $ 299.00 $ 269.10 Pertec FD200 Mini Disk Drive $ 495.00 $ 385.00 Centronics 779 Printer $1599.00 $1175.00 Centronics 101 Printer $1595.00 $1400.00 Anadex DP-8000 Printer $1295.00 $ 995.00 Centronics P1 Printer $ 534.00 $ 445.00 Trendata 1000 $1495.00 $1295.00 Memory KM16K) $ 199.00 $ 98.00 •FREE INSTALLATION Verbatim Diskettes ea. $ 5.95 $ 4.95 3 $ 17.89 $ 12.00 .10 • S 59.00 $ 37.00 Maxell Diskettes ea. $ 10.00 $ 7.50 3 $ 30.00 $ 21.00 10 $ 100.00 $ 60.00 C-10 Cassettes 5 $ 4.95 $ 4.50 25 $ 24.75 $ 18.75 C-30 Cassettes 1 2 $ 29.95 $ 23.95 Paper (9V2"x 11 "fanfold. 3500 sheets) $ 35.00 $ 29.95 Model List Price Our Price Level II— 4K $698.00 $628.20 Level II— 16K $988.00 $889.20 Expansion Interface $299.00 $269.10 Comprehensive circuit analysis for your system • RAM — tests for Random Access Memory errors • ROM — tests for Read Only Memory errors • CPU — tests for errors in Processor func- tions • I/O — tests for Input/Output errors in peri- pheral equipment- The one "necessity" for any TRS-80 system — use as pre-' ventive maintenance for de- tecting circuit malfunctions and as a diagnostic tool for pinpointing hardware problems. $34.85 There are new developments every day — write or call for the latest information. -7 pm. Outlet Hours: Mon.-Fri.; 9 am- Sat. 12—5 pm. 777 Henderson Boulevard N-6 Folcroft Industrial Park Folcroft PA 19032 (215) 461-5300 Classroom Instruction offered in Level II Basic— $49.95; and DOS/Disk Basic— $69.95 Uiaaaiuum man uuuun uiigigu hi loci ii uaaiu — J ^J./^ P.O. Box 3089 Simi Valley, CA 93063 Circle 30 on inquiry card. BYTE July 1979 263 Circle 230 on inquiry card. T CALIFORNIA COMPUTER SYSTEMS 16K RAM BOARD. Fully buffered addressable In 4K blocks. IEEE standard lor bank addressing 2114's PCBD $26.95 Kit 450NSEC $259.95 PT-1 PROTO BOARD. Over 2,600 holes 4" regu- lators. All S-100 buss lunctions labeled, gold fingers. PCBD $29.95 PT-2 PROTO BOARD. Similar to PT-1 except set- up to handle solder tail sockets. PCBD $29.95 FORMERLY CYBERCOM/SOUD STATE MUSIC. PB-1 2708 & 2716 Programming Board With provisions lor 4K or 8K EPROM. No external supplies require textool sockets. Kit $124.95 CB-1 8080 Processor Board. 2K of PROM 256' BYTE RAM power on/rest Vector Jump Parallel port with status Kit $119.00 PCBD $30.95 MB-6B Basic 8KX8 ram uses 2102 type rams, S-100 buss. Kit 450 NSEC $139.95 PCBD $26.95 MB-7 16KX8, Static RAM uses W P410 Protection. fully buffered Kit $299.95 MB-8A 270B EROM Board, S-100, 8K8X or 16Kx8 kit without PROMS $75.00 PCBD $28.95 MB-9 4KX8 RAM/PROM Board uses 2112 RAMS Or 82S129 PROM kit without RAMS or PROMS S7Z00 IO-2 S-100 8 bit parallel /IO port, % of boards is for kludging. Kit $46.00 PCBD $26.95 IO-4 Two serial I/O ports with full handshaking 20/60 ma current loop: Two parallel I/O ports. Kit $130.00 PCBD $26.95 VB-1B 64 x 16 video board, upper lower case Greek, composite and parallel video with software, S-100. Kit $125.00 PCBD..'. $26.95 Altair Compatible Mother Board, 11 x 1114 x Vt". Board only $39.95. With 15 connectors $94.95 Extended Board full size. Board only $ 9.49 With connector $13.45 SP-1 Synthesizer Board S-100 PCBD $42.95 KIT $135.95 fWmC/ inc WAMECO INC. FOC-1 FLOPPY CONTROLLER BOARD will drive shugart, pertek, remle 5" & 8" drives up to 8 drives, on board PROM with power boot up, will operate with CPM (not included). PCBD $42.95 FPB-1 Front Panel. IMS~AI size, hex displays. Byte, or instruction single step. PCBD $47.50 MEM-1 8KX8 fully buffered, S-100, uses 2102 type rams. PCBD $25.95 QM-12 MOTHER BOARD, 13 slot, terminated, S-100 board only $34.95 CPU-1 8080A Processor board S-100 with 8 level vector Interrupt PCBD $26.95 RTC-1 Realtime clock board. Two Independent in- terrupts. Software programmable. PCBD $23.95 EPM-1 1702A 4K Eprom card PCBD $25.95 EPM-2 2708/2716 16K/32K EPROM CARD PCBD $25.95 QM-9 MOTHER BOARD, Short Version of dM-12. 9 Slots PCBD $30.95 MEM-2 16K x 8 Fully Buffered 2114 Board PCBD $26.95 8080A $9.95 5101-8P .....$8.40 8212 2.49 2114 (450 NS) low pwr... 7.25 8214 4.49 2114 (250 NS) low pwr... 7.99 8224 3.49 2102A-2L 1.50 2708 9.49 2102A-4L 1.20 5101-1P 6.90 4116 ...« 8/89.95 mm (415) 592-1800 P.O. Box 424 • San Carlos, California 94070 Please send for IC, Xlstor and Computer parts list JULY SPECIAL SALE ON PREPAID ORDERS (charge cards not Included on this offer) CCS PROTO BOARDS PT-1 $27.95 4/$100 PT-2 $27.95 4/$100 MIKOS PARTS ASSORTMENT WITH WAMECO AND CYBERCOM PCBDS MEM-2 with MIKOS -7 16K ram with L2114 450 NSEC $235.95 MEM-2 with MIKOS »13 16K ram with L2114 250 NSEC $269.95 MEM-1 with MIKOS #1 450 NSEC 8K RAM $119.95 CPU-1 with MIKOS #2 8080A CPU $94.95 MEM-1 with MIKOS #3 250 NSEC 8K RAM $144.95 QM-12 with MIKOS #4 13 slot mother board $89.95 RTC-1 with MIKOS #5 real time clock $54.95 VB-1B with MIKOS #6 video board less molex connectors $99.95 EMP-1 with MIKOS #10 4K 1702 less EPROMS $49.95 EPM-2 with MIKOS #11 16-32K EPROMS less EPROMS $59.95 QM-9 with MIKOS #12 9 slot mother board $79.95 FPB-1 with MIKOS a 14 all parts for front panel $134.95 MIKOS PARTS ASSORTMENTS ARE ALL FACTORY PRIME PARTS. KITS INCLUDE ALL PARTS LISTED AS REQUIRED FOR THE COMPLETE KIT LESS PARTS LISTED. ALL SOCKETS INCLUDED. VISA or MASTERCHARGE. Send account number, Interbank number, expiration date and sign your order. Approx. postage will be added. Check or money order will be sent post paid in U.S. 1f you are not e regular customer, please use charge, cashier's check or postal money order. Otherwise there will be a two-week delay for checks to clear. Calif, residents add 6% tax. Money back 30 day guarantee. We cannot accept re- turned IC's that have been soldered to. Prices subject to change without notice. $10 minimum order. $1.50 service charge on orders less thin $10.00. WAMECO THE COMPLETE PC BOARD HOUSE EVERYTHING FOR THE S-100 BUSS * FPB-1 FRONT PANEL BOARD * EPM-2 16K or 32K BYTE EPROM Hex Displays, IMSAI Replaceable $54.95 2708 or 2176 interchangeable $30.00 * FDC-1 FLOPPY DISC CONTROLLER BOARD * QMB-9 9 SLOT MOTHER BOARD Controls up to 8 Discs $45.00 Terminated $35.00 * MEM-1 A 8K BYTE 2102 RAM Board ....$31.95 *QMB-12 12 SLOT MOTHER BOARD * MEM-2 16K BYTE 21T*4 RAM Board ....$31.95 Terminated $40.00 * CPU-1 8080A CPU Board #RTC REALTIME CLOCK With Vector Interrupt $31.95 Programmable Interrupts $27.95 * EPM-1 4K BYTE 1702A EPROM $29.95 FUTURE PRODUCTS: 80 CHARACTER VIDEO BOARD, IO BOARD WITH CASSETTE INTERFACE. DEALER INQUIRIES INVITED, UNIVERSITY DISCOUNTS AVAILABLE AT YOUR LOCAL DEALER ***~J iftC. WAMECO INC. 111 GLENN WAY #8, BELMONT, CA 94002 (415) 592-6141 264 byte July 1979 Circle 387 on inquiry card. computer products, inc. 11542-1 KNOTT STREET GARDEN GROVE. CALIFORNIA 92641 (714) 891-2663 MICROBYTEZ80/I-O A complete single board Z80A CPU and serial/paraile I/O system Fully S 100 Bus compatible, IMSAI, ALTAIR Z80A CPU (4MSs version ot the Z80) 158 Instructions — superset ol and upward compatible from the 8080's 78 Instructions 1K (2708), 2K (2716), or 4K (2732) EPROM onboard with ZSO Monitor program On board EPROM can be hard- ware and/or software deselected 2MHs or 4MHs operation Is switch selectable 0 or 1 wait state for all cycles Is switch selectable Full vectored interrupt capability (7 bits) with NMI (1 bit) 2 RS-232C serial ports with 8251 USARTs Serial baud rates switch selectable 1 8-bit parallel port with 2 control lines with Z80A-PIO • Gold Contacts for higher relia- bility • Power requirements: + 8V @ 800mA, + 16V, ® 86mA, - 16V @ 100mA • Operating temperature 0 a -55*C • Will operate with or without IMSAI/ALTAIR front panel • Low power shotttky trl-state buf- fers on all address and data lines • Fully warranted for 120 days from date of shipment $360.' 8251 PROGRAMMABLE/U-ART TESTED @ 4 MHZ $6. 00 each 2708's LOW POWER 450 NS. $9. 00 each 8for$69. 00 IMSAI CONN. 100 PIN-SOLDERTAIL GOLD CONTACTS $3." each or 10/ 2.75 ea. SA400 DISK DRIVE INCLUDES CABINET, NO PWR SUPPLY CUTOUTS FOR SWITCH, FUSE, & INTERFACE CABLE Mfg. By Lobo Drive $325. 00 MICROBYTE 16K STATIC RAM BOARD • Fully S100 Bus Compatible, IMSAI, SOL, ALTAIR, ALPHA MICRO • Uses National's Low Power 5257 4K x 1 Static Rams • 2 MHz or 4 MHz operation • On board single 5 amp regulator • Thermally designed heat sink (board operating temperature 0" — 70'C) • Inputs fully low power Shottky Schmitt Trigger buffered on all address and data lines • Phantom is jumper selectable to pin 67 • Each 4K bank addressable to any 4K slot with in a 64K boundary. • 4K hardware or software select- able • Selectable port address • 4K banks can be selected or d.w- abled on power on clear or reset • Will operate with or without front panel • Compatible with ALPHA MICRO, with extended memory manage- ment for selection beyond 64K • No DMA restriction • Low power consumption 1.3 amp • Fully warranted for 120 days from date ol shipment TRS ■ 80 FLOPPY DISK DRIVE WITH CABINET & PWR. SUPPLY COMPATIBLE WITH RADIO SHACK INTERFACE ASSEMBLED & TESTED WITH 1 YR. WARRANTY ON PARTS & LABOR Mfg. By Lobo Drive $385. 00 450 NS $340°° 300 NS $360.°° REGULATORS MICROBYTE 32K STATIC RAM BOARD • Fully S100 Bus Compatible, IMSAI, SOL, ALTAIR, ALPHA MICRO • Uses National's Low Power 5257 4K x 1 Static Rams • 2 MHz or 4 MHz operation • On board single 5 amp regulator • Thermally designed heat sink (board operating temperature 0* - 70 *C) • inputs fully low power Shottky Schmitt Trigger buffered on all address and data lines • Phantom is lumper selectable to pin 67 • Each 4K bank addressable to any 4K slot with In a 64K boundary. • 4K hardware or software select- able • One on board 8-blt output port enables or disables the 32K In 4K blocks • Selectable port address • 4K banks can be selected or dis- abled on power on clear or reset Will operate with or without front panel Compatible with ALPHA MICRO, with extended memory manage- ment for selection beyond 64K No DMA restriction Low power consumption 2.3 — 2.5 amps Fully warranted for 120 days from date of shipment 1-9 10-49 50 up 320 T-5 .90 .85 .75 320 T-12 .90 .85 .75 340 T5 .85 .80 .70 340 T-12 .85 .80 .70 78 H05 6.50 6.00 5.50 2716 5 VOLT ONLY LOW POWER HIGHSPEED $45. 00 Limited Qty. MM 5257 4KX1 STATIC RAM 1:16 17-48 49 up 300 NS 6.50 6.05 5.65 450 NS 6.25 5.85 5.50 450 NS $650.°° 300 NS $650.°° 1-24 (tin) 25-99 100-499 500 up 14 PIN .18 .17 .15 .13 16 PIN .19 .18 .16 .14 18 PIN .24 .23 .20 .18 20 PIN .29 .28 .26 .25 24 PIN .34 .33 .32 .30 40 PIN .60 .59 .58 .56 MICROBYTE DISK CONTROLLER • IBM 3740 Soft Sectored Compat- ible • ZSO or 8080 compatible on S-100 Bus • Single density runs both mini and full size drives, runs CPM, on Shugart, Perscl, Memorex etc. $250, • Selectable port/address • On bord 2708/2716 for bootstrap or monitor program • No hardware lumpers, uses plug in modules tor different drives • Uses 1771B-01 controller chip • Assembled and tested 00 CALL FOR INFO ON OUR NEW PROM/ PROGRAMMER PROGRAMS 2708 I 2716 / 2732 SPECIAL .1 © 12 VOLTS CERAMIC CAP 90 each 100 for$8. 00 SHUGART 801 -Disk Drive WITH CABINET & POWER SUPPLY ASSEMBLED & TESTED 1 YR PARTS & LABOR Mfg. By Lobo Drive $585. 00 MICROBYTE MOTHERBOARD • Active Diode termination • Slot for IMSAI front panel • Terminal block connection for easy hook-up • Extra wide ground plane • Silk screen and solder mask • Assembled and tasted 9 SLOT $135. 00 20 SLOT $200. 00 ORDERING INFORMATION: Name, Address, Phone Ship by: UPS or P.P. Shipping Charge: Add $2.50 up to 5 lbs., all excess shipping charges will be refunded. Credit cards will be charged appropriate freight. TERMS: We accept cash, check, money orders, Visa, and Master Charge cards. COD's: on approval only Open Acct's: companies may inquire for net terms. - Tax: add 6% for Calif, residents only Circle 11 on inquiry card. BYTE July 1979 265 c Computer Products Rockwell AlM-65: The Head-Start in Microcomputers A KIM-1 compatible machine with on-board printer ana a real keyboard! $375.00 w/IK RAM $450.00 w/4K RAM 4K assembler/editor in ROM: $ 80.00 8K BASIC in ROM: $100.00 Power supply: $ 59.95 Case for AIM- 65: $49.95 Special Package Price: $599.00 AIM-65 (4K), Power Supply, Case, and 6K BASIC ROM i 1 1 ri 1 1 i : i 1 1 hi mmmm THE EXIDY SORCERER Flexibllty Is the key. The Sorcerer Computer gives you the flexibility of jslng ready-to-run, pre-packaged programs or doing your own thing and personalizing the programs for yourself. Which ever you choose, the Sorcerer Is the personal computer that speaks your language. The Sorcerer also provides full graphics capablltles. Each character, formed by an 8 « 8 dot cell, can be programmed as a graphic symbol set. High resolution (512 > 240 addressable points) gives a total of 122,880 locations lor super animation and extremely tight plotting curves. The alphanumeric set gives 84 x 30 characters on the video screen With 16K of memory $1150.00 r 1ddV.08-SU.L.a3U3OblOS.31ddV.08-SHjfi RS-BO-APPLE'SORCERER'TRS-80'APP 1 JADE MEMORY i EXPANSION KITS For; TRS-80, Apple, & Exidy jS 4116i Everything a person needs to ° add 16K of memory. Chips £ come neatly packaged with 3 easy to follow directions. In fj minutes your machine is ready for games and more g advanced software. a $82.00 $245 GS02 — based single board computer with keyboard/dis- play, KIM-1 hardware compa- tible, complete documentation. SYM-1 CASE $39.95 $179 KIM-1 Module monit- or, programs stored in 1 2048 ROM Bytes, User Manual, Wall size schemalic, Hardware manual. Programming manual, Programmers reference card, and Keyboard display. SD SYSTEMS Z-80 STARTER KIT Based on the powerful Z80 CPU, this kit Is an Ideal introduction to microprocessors. It has an on-board keyboard and display, plus cassette tape Interface and expansion provisions for two S-100 connectors. This "Do-it-air Board will also program the 2716 2K EPROM. Kit, $249.95 Assembled and Tested, $399.95 JADE PROTO BOARD Includes gold plated fingers, S-100 size, holds 72-16 pin dips, accomodates all 8 thru 40 pin dip packages. $19.95 THE PIGGY MAINFRAME THE PIGGY IS HER El This sleak new mainframe Is neatly trimmed to hold six S-100 boards, two mini-floppy drives, and Is available In five colors. Power requirements: 115/220 VAC, 50/60 HZ. Weight: 27 lbs. (with drives). Dimensions: 21 .375" Wide X 8.4" High X 15.875" Deep. Power Supply: 8 volts at 18 Amps unregulated, + 16 volts at 3 amps uregulated, - 16 volts at 3 amps unregulated, + 5 volts at 3 amps regulated, + 12 volts at 3 amps regulated. THE PIGGY (Without Drives) $475.00 Bare Board w/Manual $1 79.95 $ 30.00 LEEDEX MONITOR • 12" Black and White • 1 2MHZ Bandwidth • Handsome Plastic Case $139. 00 Part No. positions 1-9 SWD-103 3 $1.18 SWD-104 4 $1.20 SWD-105 5 $1.24 SWD-106 6 $1.28 SWD-107 7 $1.30 SWD-108 8 $1.34 SWD-109 9 $1-36 SWD-110 10 $1.38 DIP SWITCHES VECTOR PLUG BOARDS 8800V Universal/Mlcrocomputer/Processor Plugboard S-100 Bus. Complete With Heat Sink & Hardware. 5.3" x 10" x 1/16" $19.95 8801-1 i Same as S800V Except Plain, Less Power Buses & Heat Sink. $15.95 P Pattern Plugboards For I.C.'s Epoxy Glass 1/18" 44 Pin Connector Space .156 3662 6.5" x 4.5" 3662-2 9.6" x 4.5" $7.65 ...$11.45. Hi- Density Dual-ln-Llne Plugboard For Wire Wrap With Power & Grd. Bus Epoxy Glass 1/16" 44 Pin Con Spaced .156 3682 9.6" x 4.5" $10.97 3682-2 6.5" x 4.5 $9.81 Gen Purpose D.I.P. Boards With Bus Pattern For Solder Or Wire Wrap. Epoxy Glass 1/16"44 Pin Con. Space .156 3677 9.6" x 4.5" $10.90 3677-2 6.5" X 4.5 $9.74 3690-12 Card Extender Card Extender Has 100 Contacts 50 Per Side ON .125 centers. Attached Connector is Compatible With S-100 Bus Systems $25.83 3690 6.5" 22/4 Pin .158 Centers Extenders. $13.17 Solid State Music's I/O 4 2- Serial & 2- Parallel I/O Ports. S-100 with full hand- shaking. KIT $149.95 Assembled $199.95 Bare Board $29.95 SD SYSTEMS SBC-100 An S-100 single board com- puter. Z-80 CPU with 1024 bytes of RAM, 8 to 32K bytes of PROM, Serial I/O port. Kit $239.95' Assembled $369.95 TARBELL Cassette Interface Plugs Into your IMSAI or ALTAIR, 4 extra status lines, 37 page manual Included, 4 extra control lines. Kit $99.95 Assembled $175.00 Bare Board $40.00 Manual $8.00 FLOPPY DISK INTERFACE JADE FLOPPY DISK (Tarbell board) Kit $195.00 Assembled & Tested $250.00 S.D. Computer Products VERSA-FLOPPY Kit S159.95 Assembled & Tested S239.00 PARALLEL/SERIAL INTERFACE S 100 compatible 2 serial I/O ports, 1 parallel I/O. Kit JG-P/S $124.95 Assembled & Tested: JG-P/SA VIDEO INTERFACE S-100 Compatible Serial Inter- face with Sockets Included. Kit $117.95 Assembled & Tested $159.95 Bare Board w/manual $ 35.00 MEM -2 16 K Static RAM Board Kit- (450ns) $250.00 Kit- (250ns) $285.00 Assembled- (450ns) $325.00 Assembled- (250ns) $350 .00 DYNAMIC RAM BOARDS EXPANDABLE TO 64K 32K VERSION • KITS Jses 4115 (8Kx 1, 250ns) Dynamic RAM's, can be expanded in 8K ncrements up to 32K: SK $159.00 24K $249.00 16K $199.00 32K $299.00 41 1 5 SALE 8 for $39.95 64K VERSION .KITS loses 4116 (16Kx 1. 200ns) Dynamic RAM's, can be expanded in 16K increments up to 64K: 16K $249.00 32K $369.00 4SK $469.00 64K $569.00 STATIC RAM + SPECIALS 2114's, low power (1024x4) 45 0ns 300ns 1.00 9.00 $.95 S.OO 3.50 $.50 r TMS4044 450ns 300ns /MM5 S.OO 9.95 257. lo> 7.50 8.75 v powe S.SO S.OO 4200 A (4 Tested: RAM 1$ (250ns) $375.00 RAM 1SBt*4S0ns) $325.00 16K with memory management Assembled & Tested: RAM (5 (250ns) $390.00 RAM«SB(4S0n»i $350.00 32K Static Assembled & Tested 250ns 450ns 250nt Kit 266 BYTE July 1979 Circle 195 on inquiry card. PLACE ORDERS TOLL FREE: 800/421-5809 Continental U.S. 800/262-1710 Inside California jlillf 3 mw*wm\ THE BIG Z THE NEW Z-80 CPU BOARD FROM JADE Features Include: ■ S-100 Compatible, available In 2MHz or4MHz versions. ■ On-board 2708, 2716, 2516, or 2532 EPROM can be addressed on any 1K, 2K, or 4K boundary, with power-on jump to EPROM. ■ On-board EPROM may be used In SHADOW mode, allowing lull 64K RAM to be used. ■ Automatic MWRITE generation II front panel is not used. ■ On-board USART for synchronous or asynchronous RS232 operation (on-board baud rate generator).! Reverse-channel capability on USART allows use with buffered peripherals or devices with "not-ready" signal. 2MHz- K1,: CPU-30200K, 2 lbs $149.95 Assembled and Tested: CPU-30200A, 2 lbs $199.95 4 MHz- Kit: CPU-30201K, 2 lbs Assembled and Tested CPU-30201A, 2 lbs . . $159.95 S209.95 JADE'S DOUBLE DENSITY TM. KIT: $249.00 Assmb. & Tstd: $299.00 ■ Single or Double Density Recording ■ Full Size or Mini Floppy ■ CP/M Compatible In either density ■ Programmed Data Transfer, no DMA ■ Controls up to 8 drives ■ IBM format In either density ■ Software Selectable Density ■ This controler utilizes the proven reliability of the IBM standard format as well as the lastest phase-locked-loop for data separation a All clocks are generated from an on-board crystal oscillator a Right precompensation is used to enhance data recovery reliability in the double density mode a Density selection is entirely transparent to the user a Single and double density diskettes can be mixed on the same system. MICROPROCESSORS FB S16.95 Z80 (2MHz) $10.95 Z80A (4MHz) $14.95 CDP1802CO $19.95 6502 $11.95 6800 $9.75 6802 $14.00 8008-1 $15.95 8035 $24.00 8035-8 $24.00 8080-A $10.00 8085 $23.00 TMS9900TL $49.95 8080A SUPPORT DEVICES 8212 $2.90 8214 $4.65 8216 $2.75 8224 (2MH2) $4.30 8224-4 (4MHz) $9.95 8226 $2.75 8228 $6.40 8238 $6.40 8243 $8.00 8251 $7.50 8253 $20.00 8255 $6.40 8257 $18.00 8259 $18.00 8275 $51.20 8279 $17.70 USRT S2350 $10.95 UARTS AY5-1013A $5.25 AV5-1014A $8.25 TR16028 $5.25 TMS6011 $5.95 IM6403 $9.00 BAUD RATE GENERATORS MC14411 $10.00 14411 Crystal $4.95 6600 PRODUCT 6821 P $5.25 6828P $9.50 6834P $16.95 6850P $4.80 6852P $5.25 6860P $9.25 6862P $12.00 6875L $7.30 6880P $2.50 CHARACTER GENERATORS 2513 Upper (1-12+5) $6.75 2513 Lower (1-12+5) $6.75 2513 Upper (5 volt) $9.75 2513 Lower (5 .oil) $10.95 MCM6571 up aeon $10.95 MCM6571A down scan $10.95 PROMS 1702 A $5.00 2708 $12.95 2716 (S 1-121 $49.00 2716 (5v) $49.00 2758 <5v) $30.00 DYNAMIC RAMS 416D/4116 (200ns) $12.50 2104/4096 $4.00 2107B-4 $3.95 TMS4027/4096 $4.00 STATIC RAMS 1—15 16-100 21L02 (450ns) $1.50 $1.20 21L02 (250ns) $1.75 $1.50 2101-1 $2.95 $2.60 2111- 1 S3 25 $3.00 2112- 1 $2.95 $2.65 FLOPPY DISK CONTROLLERS 1771801 $39.95 1791 $49.95 KEYBOARD CHIPS AY5-2376 $13.75 AY5-3600 $13.75 MM5740 $18.00 POWER SUPPLIES PSO-249A: For a Single 5 1/4" Disk Drive. By Power-One or Alpha Power +/- 5V at .7A, +/- 12V at 1.1A$52.00 PSD-205A: For Single 8" Disk Drive. By Power-One. +5V al 1 A, -5V al .5 A, +24V at 1.5 A $89.95 PSD-206A: For Two 8" Disk Drives. By Power-One or Alpha Power. +5V at 2.5A, -5V at 5A, +/-24V at 3 A $125.00 Rockwell: Alm-65 Power Supply PSX-030A $59.95 KIM-1 or SYM-1 Power Supply PSX-020A $59.95 * DISK DRIVES * BS1 5'/4" $295.00 by Micro Peripherals, Inc. Operates In eithei single density (125KB, unformatted) or double density (250KB, unformatted) modes, up to 40 tracks, with a track-to-track access time of only 5 ms. SA801R $575.00 by Shugart Single-sided 8" floppy disk drive. FD8-I00 S395.00 GSl/Siemens. Runs cooler and quieter than 801 (8") SA400 $325.00 Single density 5V., 35-Track drive. Cabinet and power 'uflply available 1791 BOI Dual Density Controller Chip $49.05 JADE CABLE ASSEMBLIES Mini-Disk Cable Kit: 51/4" Interface to 2 -Shugart or compatible drives. Cable is 5' long with 34 pin edge connectors WCA-3431K $34.95 B" Disk Cable Kit No. 1: 34 pin assembly WCA-5031K $38.45 8" Disk Cable Kit No. 2: 50 pin assembly (great lor Tarbell disk controller) WCA-5032K $38.45 Signal Cables: 6 feet long, 34 pin edge connectors at each end $24.95 WCA-3421A mm JADE ISO— BUS MOTHERBOARDS Comes In either 6, 12, or 18 slot sizes. These boards with a special ground plane assures a silent operation JADE 6 Slot Kit $49.95 Assembled $59.95 Bare Board $24.95 JADE 12 Slot Kit $89.95 Assembled $99.95 Bare Board $39.95 JADE 18 Slot Kit $129.95 Assembled $149.95 Bare Board $59.95 Computer Products 4901 W ROSECRANS AVENUE Department "F" 3 HAWTHORNE. CALIFORNIA 90250 USA. Telephone: (213) 679-3313 (800) 421-5809 Continental U.S. (800) 262-1710 Inside California Cash, checks, money orders, and credit cards accepted. Minimum order $10.00, California residents add 6% sales tax. Minimum shipping and handling charge: $2.50. Discounts available at OEM quantities. WRITE FOR OUR FREE CATALOG All prices subject to change without notice. vista V80 mini dish SYSTEM FOR TRS—80 $395.00. Includes disk drive, power supply, regulator board, and compact case. The V-80 olfers 23% more storage capacity. Simply take It out of the box, plug In the cable, and It's ready to run. Requires 16K, Level II, expansion Interface. Signal Cable $24.95 ■ Two Drives Siemens/ GSI 8" Floppy ■ Power Supply for Above ■ Jade Double Density Board (KIT) ■ CP/M Operating System with Basic E ■ Package of 10 Blank 8" Diskettes (Double Density) ■ Includes Interface Cables Price if Purchased SeDaratelv $1544.95 Jade Special Package Deal $1225.00 3M or VERBATIM FLOPPY DISKS 5Vi in. Minidiskettes Soft sector. 10 sector, or 16 sector $4.40 each or Box of ten lor $37.50 8 in. Standard Floppy Disks $4.75 each or Box of ten for $35.00 Circle 195 on inquiry card. BYTE July 1 979 267 Circle 354 on Inquiry card. BUILD YOUR OWN LOW COST MICRO-COMPUTER POWER SUPPLIES FOR S-100 BUS, FLOPPY DISCS, ETC. POWER TRANSFORMERS (with mounting brackets) ITEM NO. USED IN KIT NO. PRI. WINDING TAPS SECONDARY WINDINGOUTPUTS 2x8 Vac 2x14 Vac 2x24 Vac SIZE W x D x H UNIT PRICE T1 I 2 T 3 T4 1 2 3 4 OV, 110V, 120V 0V, 110V, 120V 0V, 110V, 120V 0V, 110V, 120V 2x9A 2X12.5A 2X10A 2X4.5A 2x2.5A 2X3.5A 2x2.5A 2x2.5 A 2x4.5A 3%"x3%"x3'/a" 3%"x4%"x3V 8 " 3%"x4%"x3Va" 3%"x3%"x3y 8 " POWER SUPPLY KITS (open frame with base plate, 3 hrs. assy, time) ITEM USED FOR @+8Vdc @-8Vdc @+16Vdc @-16Vdc @+28Vdc 19.95 25.95 27.95 19.95 SIZEWxDxH UNIT PRICE KIT 1 18 CARDS SOURCE 18A KIT 2 SYSTEM SOURCE 25A KIT 3 DISC SYSTEM 18A KIT 4 DISC SOURCE 8A 1A 1A 2.5A 3A 2A 2.5A 3A 2A 4A 8A 12"x6"x4%" 12"x6"x4%" 14"x6"x4%" 10"x6"x4%" 46.95 54.95 62.95 44.95 EACH KIT INCLUDES: TRANSFORMER, CAPACITORS, RESIS., BRIDGE RECTIFIERS, FUSE & HOLDER, TERMINAL BLOCK, BASE PLATE, MOUNTING PARTS AND INSTRUCTIONS. REGULATED POWER SUPPLY "R1" assy. & tested, open frame, size: 9" (W) x 5" (D) x 5" (H) $49.95 SPECS: +5V, ±1%, @ 5A, OVERCURRENT PROTECTION, 5% ADJ. FOR +5V. +24V UNREG. @ 5A FOR PRINTERS OR DISCS. REMARK: IDEAL FOR ROCKWELL AIM-65 MICROCOMPUTER. ALSO UNREG. ~8V @ 8A ATTAINABLE FOR USE IN S-100 BUS. SHIPPING FOR EACH TRANSFORMER: $4.75. FOR EACH POWER SUPPLY: $5.00 IN CALIF. $7.00 IN OTHER STATES. CALIF. RESIDENTS ADD 6% SALES TAX. OEM WELCOME. MAILORDER: P.O. BOX 4296 TORRANCE, CA 90510 SUNNY INTERNATIONAL (TRANSFORMERS MANUFACTURER) Telephone: (213) 633-8327 STORE: 7245 E. ALONDRA BLVD. PARAMOUNT, CA 90723 STORE HOURS: 9 AM-6 PM PRINTER TERMINALS COMMERCIAL GRADE PERIPHERALS FOR THE MICROCOMPUTER j i i f • • • « t » » . MODEMS TAPE DRIVES •ASCII SELECTRIC PRINTER/TYPEWRITER: Why settle tor less than letter-quality printout from your computer? Refurbished IBM Model 725 can be used as off-line typewriter or on-line printer. Complete with solenoids, power supply, case and ASCII interface card (TTL to CPU parallel port.) Interface includes programmable ASCII translation table on EPROM with up to 8 tables for use with various type spheres. Feedback signals on completion of each print cycle insures fastest printing speed (15 cps.) Price: programmed w/3 translation tables (one type sphere): $695.00 •SELECTRIC I/O TERMINALS (by GTE/Information Systems). Both ASCII & IBM code versions with microcomputer interface software & hardware IRS- 232 connector.) Cassette drive models permit up to 2400 baud data transfer rate as well as off-line data storage, use as memory typewriter, & use as data entry device for office personnel familiar with Selectric typewriters but not computers. Wide-carriage, interchangeable type spheres: optional built-in modem. All units cleaned, adjusted & warranted. Model 5541 (IBM Correspondence code) $695.00 Model 5550 (corres. code, built-in cassette drive) $1 195.00 Model 5560 (ASCII code, built-in cassette drive). $1 295.00 •DIABLO MODEL 1S50 "DAISY-WHEEL" TERMINAL: Refurbished letter-quality terminal with Hytype I printer (30 cps), full ASCII key- board, RS-232 serial prot, 110, 150, 300 baud, 768 char, print buffer, software controlled graphics mode (1/60 in. spacing), built-in stand. SHIP WT. 200 lb. Price, refurbished: $1 895.00 • DIABLO HYTYPE I Model 1200 PRINTER MECHANISM: used, complete and tested. Requires power supply, case & mCPU interface. 15 day return privilege - no other warranties. LIMITED QUANTITYI $750.00 -6' Ribbon cable & connector for printer Main Logic PCB $10.00 -14-pin Winchester connector & 18" power supply cable $5.00 As-is" spare printer PCB's for parts (Logic, Heat Sink, Controll: ea. $20.00 • POS 103/202 "MIX or MATCH" MODEM: BELL 103 and/or BELL 202 FREQUENCIES: Unique POS control design permits use in one housing of both Bell-compatible 103 (0 - 300 baud) and 202 (0 - 1200 baud) modem modules originally made by VADIC Corp. for a telephone company subsidiary. FEATURES: RS-232 serial interface, auto-answer, auto-dial, LED display, telephone line interface via acoustic coupler, manual DAA, or auto-answer DAA (sold separately.) FULLY ADJUSTED; no special tools required. 3,000 mile range over standard dial-up telephone lines. -POS 103 MODEM (with Auto Answer, Auto Dial). $179.95 -POS 202 MODEM (Half-Duplex with Reverse Channel) $249.95 -POS 202 MODEM (Half-Duplex w/Rev. Ch., Auto-Answer) $279.95 -POS 103/202 MODEM (Auto-Answer, Auto-Dial) $399.95 •POS-100 NRZ1 TAPE DRIVE CONTROLLER/FORMATTER: Designed as interface between S-100 bus mCPU and 9-track, 800 BPI, NRZ1 tape drive. Allows microcomputerist to read and write IBM-compatible Yt" mag tapes. Software provided for 8080 or Z-80 systems. Requires modification for drives of various mfrs. Price: (Includes S-100 card, controller card, 10' cable, software listing) . $750.00 •NRZ1 TAPE DRIVE by WILLARD LABS. 9-track, 800 BPI. NRZ1 format. 1 2"/sec, 1200 ft. reels (1 0 megabyte capacity) Fully tested and warranted $599.00 •CONVERT 15" IBM OFFICE SELECTRIC TO I/O TYPEWRITER: Kit includes assembled solenoids, switches, wire harness, magnet driver PCB plus instructions for installation and mCPU interface $200.00 • DIGITAL CASSETTE DRIVE (from GTE/IS Terminal): 1800 baud, 6"/sec; AC motor; fwd/rewnd circuitry plus tape head, no read/write electronics $25 •FORMS TRACTORS, Moore Variable width "Form A-Liner" for print terminals: alModel 565P for 15" Carriage IBM Selectrics (new): $50.00 bIModel K81 for QUME or DIABLO Hytype I or II printers (new): .... $90.00 •POWER SUPPLIES for Disk Drive, mCPU, tested under load shown: -No. 519 (w/fan & AC cord): +5V reg., + 12V reg., +24 V, @4A (10 lb.). .$39.95 -LAMBDA No. LMEE5 w/OV protect: +5V reg. @ 25A (35 lb.) $69.95 -New Pin-feed Platen (14"): $50 if bought w/printer; separately . . . $100.00 — ^ — ■ NORISKI 15 DAY APPROVAL ON ALL MAIL-ORDERS Full documentation included PLUS interface instructions J£ PACIFIC OFFICE SYSTEMS, INC. H Call or write for details^ quantity prices, catalog, where indicated. All equipment is shipped insured FOB |S| 2600 El Camino Real, Suite' 502 & Palo Alto within 14 days after check clears or COD K Palo Alto, Calif. 94306 a order is received. Prices may change without notice. f\ (415) 321-3866 15 day return privilege PLUS 90 day no charge replacement of defective parts. All orders shipped from stock. No back orders, no substitutions. M/C & VISA accepted. 268 BYTE July 1979 Circle 296 on inquiry card. 10-DAY FREE TRIAL Send for our FREE Catalog r jj i t m n t Tzmrwmn ■ 1 1 r . T . r j » r - i i r xj We have more PETs than anyone, call for quick delivery. $100 worth of FREE accessories with purchase of 16K & 32K PETS! AS LOW AS $595 4K - Keyboard C . .$ S95 8K - Keyboard C S 795 16K - Keyboard B $995 16K • Keyboard N $ 995 32K - Keyboard C $1195 32K - Keyboard B $1295 32K - Keyboard N $1295 C — calculator keyboard (only version vyith tape deck) B — large business keyboard without graphics symbols H — large keyboard with graphics symbols PET ACCESSORIES Commodore Dual Floppy Disk Drive $1295.00 New! PET Terminal Package $69.00 Second Cassette — from Commodore $95.00 Commodore PET Service Kit $30.00 Beeper - Tells when tape is loaded $24.95 Petunia - Play music from PET $29.95 Video Buffer - Attach another CRT $29.95 Combo ■ Petunia and Video Buffer $49.95 New Serial Printer Interface for PET $79.95 Integral Data Printer w/new interface $878.95 PET - Compatible Selectric In Desk $895.00 TTY KSR-33 Screen Printer for PET . . . HTKB , $395.00 Originate/Answerback Modem for PET *T . . ." . $320.00 Bi-directional RS-232 Interface $280.00 Betsi 4-slot S-100 Motherboard 01*9 $119.00 S-100 PET Interface was $289.00 SALE »*!.". $99.00 apple II 200 FRCC ACCCSSORICS Buy a 48K Apple II. mention this ad and take $200 in accessories free (if ordered together). This offer is good for $150 on 32K and $100 on 16K Apple ll"s.Now you can enjoy more of the best for less. 16K Apple II — $1195 (take $100 in free accessories) 32K Apple II — $1345 (take $150 in free accessories) 48K Apple II — $1495 (take $200 in free accessories) Apple II Accessories Centronics Printer Interlace 8225 Disk and Controller $595 Second Disk Drive $495 Parallel Printer Card $180 Communications Card $225 Hi-Speed Serial Card $195 Firmware Card $200 Hobby/Proto Card $24 Microverter RF Mod $35 Sanyo M2544 Recorder $55 Hazeltine 1400 \*& 0 ° $699.00 Now a 5th Generation in Terminals: Immediate Delivery Hazeltine 1410 with numeric keypad 5835 Hazeltine 1500 full of features 0SS3»$1O99 Hazeltine 1510 with buffer logic $1149 Hazeltine 1520 with printer interface $1499 call or write for more information MINI/MICRO CATALOG We've Just published our brand new 48 page catalog and Its full of great mini and micro computer buys. The microcomputer section Is packed with illustrations and text presenting all that's new In personal computing. All the Items you see In this ad are described in much greater detail. Featured Is the Apple II and the PET along with the newest PET accessories and disk. Other popular computers, computer peri- pherals, supplies and books are described, along with some special deals you can get only if you have this catalog. To get your free catalog Just write us at the address listed at the bottom of this ad. Please be sure to include the department number to insure speedy delivery. LOW-COST PRINTER FOR PET This is a completely 'elurbir>ned Teletype KSR-33 terminal ready to attach to your PETi interlace to use as a printer INTRODUCTORY PRICE $395 FREE a $169 SANYO value MONITOR _ when you buy the SORCERER • Omi Ctmaeitajfp • Solal >nd parallel I'O - Complete Optnlon Manual plulti Ihii system Can be usiM terminal Later ROM PACs will Z-80 Assembly Language. PILOT Wtird Processing and a PAC for (tisk-basptl FOHTRAK COBOL What a system lor $6 50% OFF CENTRONICS PRINTERS While they last. Refurbished, excellent working condition. 90 day war- ranty. 10day return privilege of course. Model CENTRONICS 700 CENTRONICS 701 CENTRONICS 703 CENTRONICS 779 CENTRONICS 780 CENTRONICS 701 Cenlronici Llal ■t Si 520 Same as 7Q0 bidm Keyboard send receive bidirec- tional 60 cps 132 column 64 7 ■ 7 chars tractor leed 110 300 1200 baud 1.129 1.025 CENTRONICS 101 165 cps 132 col 64 5 « 1 tractor leed Operator's Manual Included. For Technl NCE Reg. Price 1 St-500 ^ II 1 PROGRAMMCR Hexadecimal oi calculator converter Reg. $59.95 * $49.95 Datel /Selectric Table-top Terminals ■WW" NCE/CompuMart ■* 1250 North Main Street, Department BY79 P.O. Box 8610 Ann Arbor, Michigan 48107 10 DAY RETURN PRIVILEGE List $279.95 $99.00 S-100 MPA S-100 MPA gives your PET complete control of the S-100 bus (even DMA). Get an assembled unit at kit price. CAT COUPLE. New 300 baud Originate/ Answerback Acoustic Coupler. Looks good, works great and sale priceda, $189. NOW IN STOCK SYM BASIC $159 KIM-1 $169,951 power lupply ^ _ _ I $21 4.95 1 EXPAND YOUR KIM SYSTEM: KIMSI KIM to S-100 Board Assembled $169 Connector Set 15 | MICRO TECH POWER SUPPLY KIM ENCLOSURE (313) 994-3200 • Michigan residents add 4% saies tax • Add 4% shipping and handling for all domestic orders • Foreign orders (except Canada) add 10% additional handling (U.S. currency only) • P.O.'s ac- cepted from D & B rated companies — shipment contingent upon receipt of signed purchase order • Phones open from 9:00 a.m. to 7:00 p.m. EST Monday-Friday, 10:00 a.m. to 5:00 p.m. Saturdays • Open accounts invited — call for credit applica- tion • Most items in stock for immediate shipment — call for delivery quotation • Sorry, no C.O.D.'s • All prices subject to change without notice • In the Ann Arbor area? Retail store open 11:00 a.m. to 7:00 p.m. Tuesday-Friday, 10:00 a.m. to 5:00 p.m. Saturdays (Closed Sunday and Monday) u Circle 283 on inquiry card. BYTE July 1979 269 UnalsBsified Ms FOR SALE: Digital Group system dual Phi-Decks, dress cabinets, Hitachi video display, DG keyboard, 34 K programmable memory, lots of software. Will sell for $2200. Optional Selecterm printer, $1475 with WOPROC. Irv, 14522 Acacia, Tustin CA 92680, (7141 731-4850. FOR SALE: Digital Group system 34 K program- mable memory, dual Phi-Decks, lots of software. Homebrew mainframe cabinet with front panel. All documentation. This is a reliable system. Worth $1700, asking $1100. Larry, 3069 Copenhagen, Riverside CA 92504, (7141 687-6725. FOR SALE: TRS-80, Level 2 BASIC, 1 6 K, complete with video monitor, power supply, keyboard, cas- sette unit. Level 1 and 2 manuals, game software, all in perfect condition, I pay shipping. $750. Bruce Grunewald, 7065 Granada Dr, Flint Ml 48504, (313) 733-1 730 during business hours. FOR SALE: Computer terminals - Portable timeshare or direct connection terminals. Contain 80 column quiet printer, full ASCII keyboard; built-in modem and acoustic coupler, dual speed 1 10 and 300 bps, RS-232 and 20 mA and DAA interfaces, in a small suitcase size enclosure. Brand new condition with guarantee. Send $0.30 SASE for manuals, reprint and pictures. $849.95 plus shipping. S Stoddard, 1 2 Kathy Dr, Poquoson VA 23662. FOR SALE: Going to school, must sell. SwTPC CT- 1 024 video terminal. Cursor and serial boards, Tl keyboard, power supply, scrolling. $85. GT-61 graphics. Power supply, MP-L, PPG-J joystick, soft- ware. $ 1 50. PR-40 printer. New head, MP-L, smok- ed cover. $ 250. 4 K memory boards. $ 60. Morrow's S-1 00 Wunderbuss motherboard with ten edge connectors. $100. All in sockets and running. If phone disconnected, please write: Chip Kroll, 4136 Tennyson, Houston TX 77005, (713) 667-6318. SEW VNCLASS1FIEI) POLICY Readers who have equipment, software or other items to buy, sell or swap should send in a clearly typed notice to that effect. To be considered for publication, an adver- tisement must be clearly noncommercial, typed double spaced on plain white paper, contain 75 words or less, and include complete name and address information. These notices are free of charge and will be printed one time only on a space available basis. Nonces can be ac cepted from individuals or bona fide computer users clubs only. We can engage in no correspondence on these and your confirmation of placement is appearance in an issue of BYTE. Please note that it may take three or four months for an ad to appear in the magazine. ■ WANTED: BYTE magazine issues volume 1, issue 1 thru January 1977 inclusive. Also have FOR SALE May 1 977 issue. Best offer will be contacted. M M Kashani , 9862 La Jolla Farms Rd, La Jolla CA 92037. FOR SALE: BYTE Issues 1 , 2 and 3; 5 thru 16(1976 complete); Vol II Issues 2 thru 12 (1977 except January): Vol III Issues 2 thru 4 (1978 February thru April). Best offer. Jim Taylor, 6720 N 75th St, Milwaukee Wl 53223, (414) 353-1977. FOR SALE: SYM-1 microcomputer brand new, used one day, in box with warranty and manuals. $200. Jim Riffle, 1 75 Piedra Loop, White Rock NM 87544, (505) 672-9541. FOR SALE: IMSAI 8080 with 44 K programmable memory; iCOM FD-3712 dual drive floppy; Lear Siegler ADM-3 video display; Centronics 1 01 -A 1 32 column printer; National Multiplex CC7A digital cassette recorder; SOLA 1.5 KW constant voltage transformer. iCOM FDOS-II/III Relocating Assembfer, Text Editor, DEBBI (MITS Disk BASIC); business software; more. All manuals included. All hardware operating perfectly for 1.5 years. Desire to sell as unit. A bargain today for $8000. Ship at my ex- pense. John Berry, 1 520 Aberdeen Av, Baton Rouge LA 70808, (504) 344-8760. FOR SALE: Heathkit microprocessor course and trainer computer. Works perfectly. Teaches microprocessor design and machine language pro- gramming. Many experiments in interface circuitry. Check November 1 978 BYTE for more information. First check or money order for $225 gets it and I will ship it anywhere free. John Maurer, 3583 Vernal, Merced CA 95340. COMPUTERIZED COMMODITY: and stock market is my interest. I have developed three systems and am interested in exchange with others oriented and suc- cessful in this area. E Trachtenberg, POB 407, Little Neck NY 1 1363. FOR SALE: HP-67 programmable calculator, all stan- dard accessories. Plus an extra recharger and battery pack and 100 blank program cards. Compare at $485 (plus tax). Everything goes immediately via UPS for $365 certified check or money order. Michael Craig, 105 E Edward St, Endicott NY 13760. FOR SALE: Apple computer, 32 K, $750 or trade for new HP-67 and $200. Send card to Rob Dinnell, 600 Park Av 1 2A, Capitola CA 95010. FOR SALE: TRS-80, Level II BASIC, expansion inter- face, 48 K of user programmable memory, dual disk drives, DOS version 2.1. Editor/Assembler, Line Renumber and 1 2 disks containing game and statis- tical software. Original cost, $3000. Current Radio Shack cost, $2700. Will sell for $2000 or best of- fer, I pay the freight. Joseph Boykin, 1 897 N Fourth St Apt A, Columbus OH 43201. FOR SALE: 4 K programmable memory chips. 1 6 UPD414D chips from converting my 8 K Exidy Sorcerer to 32 K. Make me an offer. Tom Kreuzer, 310 Pine Av, Canby MN 56220. WANTED: Digital Group equipment. Needed are one each of the following: Z-80 processor card, TVC-64 TV interface, MB-4 mother board and an I/O-F parallel interface card. Will accept assembled or unassembled boards in good condition and in work- ing order with documentation. Name your price. Gregory P Cramer, POB 31, APO San Francisco CA 96555. FOR SALE: PDP-8/A equipped with programming console, options one and two, and 16 K core memory. ASR33. Everything works. Asking price for everything $3000. J Woodbury, Sleepy Hollow Rd, Atkinson NH 0381 1, (603) 362-4256 after 7 PM. FOR SALE: Technico Super System 16. Tl TMS9900 16 bit processor with RS-232C, erase- able read only memory program, 2 K read only memory, 2 K programmable memory and 2 K eraseable read only memory plus additional 32 K programmable memory. Also chassis, power supply, digital cassette tape drive and software. Factory assembled and tested. Only one year old. Asking $1600. John M Sullivan, 721 E Harding Av, Ap- pleton Wl 54911, 1414) 734-3239. WANTED: Catalogs from hardware/software dealers for the Level l( TRS-80. Bob Martin, 911 Buck- ingham, Windsor Ontario, CANADA N8S 2C9. FOR SALE: Free games with purchase of a Micro- polis 1 042 macrof loppy disk drive system. For $595 .you can have an assembled and tested package complete with drive, cabinet, power sup- ply, top-notch system software, blank diskettes and full documentation, an $835 value. Like new. I'll ship UPS. David or Robert Mason, 503 Timber Ter, Houston TX 77024, (713) 681-3427. FOR SALE: MITS 4 K dynamic programmable memory assembled, tested, burned in. Also 2SI0 board (only one port implemented) assembled, tested, including MITS documentation. Best offers or trades (will accept parts). T Shaw, 5F Nutmeg Knoll, Cockeysville MD 21030. FOR SALE: Two Ithaca Audio 300 ns low power 8 K programmable memory boards (S-1 00), $ 1 50 each. Electronic Systems television typewriter board, stand alone, assembled but never used, $ 1 30. First money order or cashier's check takes any or all, all others returned. I pay shipping. R Schuchman, 6221 Del Paso, San Diego CA 92120. FOR SALE: Fully operational ELF II computer system with system cabinet and video/radio frequency modulator plus program manuals and 1802 Club Newsletter. $175 and shipping cost. Shaji Jacob, 827 Lincoln, Fort Morgan CO 80701 . WANTED: TRS-80 Radio Shack computers. Any condition, any quantity. Immediate cash available, Portacom briefcase ASCII printing terminals with in- tegral modem $595. ASR33 Teletypes $495 and $595. DEC PDP-8/E and all peripherals. Also repair, buy and custom design DEC equipment/peripherals. Tom Perera, POB 632, W Caldwell NJ 07006, (201 ) 226-9185. FOR SALE: Four ASR33 Teletypes. All are in very good working order and have been under continuous maintenance contract. All four have the DEC paper tape modification and can be shipped with this modification enabled or disabled. Will sell each for $400. You ship. F Mitchell, POB 86, Due West SC 29639, (803) 379-881 6 days. FOR SALE: IMSAI boards. 32 K programmable memory, $650. 16 K programmable memory, $350. 8080 microprocessor a, $100. PIC-8, $80. I have recently purchased a Z-80 and cannot use these boards. Must sell; will accept any reasonable offer. Send SASE for correspondence. John Paul Daley, 7545 S Beloit, Bridgeview IL 60455. FOR SALE: Why buy a kit? Two fully static, 500 ns 8 K programmable memory boards (one SSM MB-6, one Logos-1) $125 apiece. One IMSAI UCRI cas- sette board, $30. Henry Kapteyn, 1 1 75 W Baseline Rd, Claremont CA 91 71 1 . FOR SALE: Heath H8 compatible dot matrix printer 5- by 7, 80 or 96 column, operates in serial or parallel mode from 1 1 0 to 1200 bps. Made by practical automation, this unit is a current production machine, not a discontinue or surplus. Plenty of documentation. It is similar to the IPS 745. Make of- fer. R C Jackson, 201 Mortimer Av, Rutherford NJ 07070, (201) 939-2421. FOR SALE: Micro-Term ACT IVB with 20 mA cl and printer port options. Excellent condition, 500 hours use. Includes number pad, full editing, 80 by 24 display, block send, more. Full documentation. Originally $900, sell $800 (I pay shipping). Don Markuson, 56 Dellwood Av, Chatham NJ 07928, (201) 635-9615. FOR SALE: HP-67 like new, out of warranty, 1 00% operational, includes 120 new magnetic cards, two solutions manuals, programming pads, two boxes of paper roll, standard accessories, etc. $500 will ship UPS in US. Brewer Pedin, 121 Hearthstone Dr #2. Blacksburg VA 24060, (703) 951-0539. 270 Juiy 1979 & BYTE Publications Inc PRECUT WIRE WIRE WRAP TOOLS #30 WIRE KITS #1 $7.95 #2 $19.95 3" inn l uu *+ /2 ?sn 2V 2 " 250 5" 250 3V&" 100 5" 500 3" 100 5 1 / 2 " 100 4" 100 6" 500 3V 2 " 250 6" 500 4" 100 6y 2 " 250 4V 2 " 100 7" #3 $24.95 #4 $44.95 500 2V 2 " 500 4V 2 " 1000 2V 2 " 1000 4V 2 " 500 3" 500 5" 1000 3" 1000 5" 500 3W 500 5V 2 " 1000 3'/ 2 " 1000 5V 2 " 500 4" 500 6" 1000 4" 1000 6" Choose One Color or Random Assortment: Red, Blue, Green, Yellow, White, Orange, Black. #26 Prices on Request #30 Kynar stripped 1" on each end. Lengths are overall. Colors: Red, Blue. Green. Yellow. Black, Orange, White. Wire packaged in plastic bags. Add 25C/length (or tubes. In_ 100 500 1000 ■ 5000 2Vi 104 2.98 5.16/K 4.67/K •3 1.08 3.22 5.65/K 5.06/K 3'4 1.13 3.46 6.14/K 5.46/K 4 1.18 3.20 6.62/K 5.87/K 4V4 - 1.23 3.95 7.12/K 6.25/K 5 1.28 4.20 7.61/K 6.62/K 5V* 1.32 4.48 8.10/K 7.03/K 6 1.37 4.72 8.59/K 7.43/K 6'