all systems jo u r rial Tk WmM/a Miwt fmM 8-Bit MuMflHrtpufaJi Featuring the World's Most Powerful 8-Bit MPU -The Motorola MC-6809 Welcome to a whole new world of microcomputing. Here at last is a microcomputer with all the speed and power that you have wished for. The MC6809 is an exciting new concept in microprocessors that fills the gap between 8- and 16-bit machines. It provides the power of 16-bit instructions with the economy of 8-bit architecture. The MC6809 has more addressing modes than any other 8-bit processor. It has powerful 16-bit instruc- tions, and a highly efficient internal architecture with 16-bit data paths. It is easily the most powerful, most software efficient, and the fastest 8-bit general pur- pose microprocessor ever. 6809 PROGRAMMING MODEL I A |B I Accumulators D | X— Index Register I | Y — Index Register > Pointer Registers | U— User Stack Pol Iter | S— Hardware Stack Pointer | | PC I Program Counter | DP Direct Page Register Ice Condition Code Register The greatest impact of the Motorola MC6809 undoubtedly will be software related. Ten pow- erful addressing modes with 24 indexing sub- modes, 16-bit instructions and the consistent instruction set stimulate the use of modern pro- gramming techniques. Such as structured pro- gramming, position independent code, re- entrancy, recursion and multitasking. A memory management system with extended addressing designed into the bus system controls up to 256K bytes of RAM memory. The dyna- mic memory allocation system, which is part of the multitasking DOS, allocates available memory in as small as 4K blocks. The MC6809 system is the only 8-bit processor designed for the efficient handling of high-level languages. New addressing modes, a consistant instruction set and easy data manipulation on stacks allows the efficient execution of block- structured high-level code as generated by a compiler like PASCAL. MP-09 Processor Card $ 195.00 68/09 Computer w/48K $1,500.00 SOUTHWEST TECHNICAL PRODUCTS CORPORATION 219 W. RHAPSODY SAN ANTONIO, TEXAS 78216 (512) 344-0241 Circle 350 on inquiry card. / \ Z-2D Model Z-2 Up to 51 2K of RAM/ROM Model Z-2D One or two disks Up to S12K of RAM/ROM Up to 184K of disk System Two Dual disk Up to 512K of RAM/ROM Up to 184K of disk Fill your computer needs with the industry's most professional microcomputers #1 IN RELIABILITY When you choose Cromemco you get not only the industry's finest microcomputers but also the indus- try's widest microcomputer selec- tion. What's more, you get a computer from the manufacturer that compu- ter dealers rate #1 in product re- liability.* Your range of choice includes our advanced System Three with up to four 8" disk drives. Or choose from the System Two and Z-2D with 5" drives. Then for ROM-based work there's the Z2. Each of these com- puters further offers up to Vz mega- byte of RAM (or ROM). We say these are the industry's most professional microcomputers because they have outstanding fea- tures like these: • Z-80A microprocessor — oper- ates at 250 nanosecond cycle time — nearly twice the speed of most others. Up to 512 kilobytes of RAM and 1 megabyte of disk storage "Rated in The 1977 Computer Store Survey by Image Resources, Westlake Village, CA. / m \ ii UN .- (J CnOMSMB System Three Two to four disks Up to 512K of RAM/ROM Up to 1 megabyte of disk 30-amp power supply — more than adequate for your most demanding application. 21 card slots to allow for un- paralleled system expansion us- ing industry-standard S-100 cards. S-100 bus — don't overlook how important this is. It has the in- dustry's widest support and Cro- memco has professionally imple- mented it in a fully-shielded design. Q • Cromemco card support of more than a dozen circuit cards for process control, business sys- tems, and data acquisition in- cluding cards for A-D and D-A conversion, for interfacing daisy- wheel or dot-matrix printers, even a card for programming PROMs. • The industry's most professional software support, including COBOL, FORTRAN IV, RATFOR, 16K Disk-Extended BASIC, Z-80 Macro Assembler, Cromemco Multi-User BASIC, Data Base Management System, Word Proc- essing System — and more com- ing. • Rugged, professional all-metal construction for rack (or bench or floor cabinet) mounting. Cabi- nets available. FOR TODAY AND TOMORROW Cromemco computers will meet your needs now and in the future because of their unquestioned tech- nical leadership, professionalism and enormous expandability. See them today at your dealer. There's no substitute for getting the best. Circle 80 on inquiry card. Cromemco incorporated Specialists in computers and peripherals 280 BERNARDO AVE., MOUNTAIN VIEW, CA 94040 • (415) 964-7400 BYTE May 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 V2 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. Q Cromemco incorporated Microcomputer Systems 280 BERNARDO AVE., MOUNTAIN VIEW, CA 94040 • (415)964-7400 • 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. BYTE May 1979 Circle 80 on inquiry card. i lie feeus II May 1979 A MMn'nar G Foreground 10 14 32 52 130 50 104 110 150 164 176 196 218 233 238 COMPUTER GENERATED MAPS, Part 1, by William D Johnston Maps help make the arrangement of numeric data meaningful REPRESENTING THREE-DIMENSIONAL OBJECTS IN YOUR COMPUTER, by Richard Blum Using a digitizer to input graphical data COMMUNICATE ON A LIGHT BEAM, by Steve Ciarcia Transmit digital information over a beam of light SINGLE CHIP VIDEO CONTROLLER, by Bob Haas Controlling a video display with a single integrated circuit THE INTEL 8275 CRT CONTROLLER, by Chris Tennant This controller device eases video display design page 10 Background THE SUPERBOARD II, A Surprising Single Board Computer From OSI, by Chris Morgan This single board computer can be expanded to a full-scale system 6800 DISASSEMBLER, by Bob Lentz Decipher your machine code programs SPACEWAR IN TINY BASIC, Navigating Through Integer BASIC, by David J Beard A space navigation application SMART MEMORY, Part 2, by Randy C Smith A black box approach to associative memory design SIMULTANEOUS INPUT AND OUTPUT FOR YOUR 8080, by W D Maurer A roundabout method of I/O QUEUING THEORY, THE SCIENCE OF WAIT CONTROL, Part 2: System Types, by Len Gorney Looking at realistic situations TRIGONOMETRY IN TWO EASY BLACK BOXES, by John A Ball Calculate trigonometric functions using arithmetic operations TIC-TAC-TOE: A PROGRAMMING EXERCISE, by Delmer D Hinrichs How to approach a programming task THE HOBBY UNWRAP, by Ralph Stirling How to unwrap what was previously wrapped A MINI-DISASSEMBLER FOR THE 2650, by Edward R Teja and Gary Gonnella A disassembler can save countless headaches AIDS FOR HAND ASSEMBLING PROGRAMS, by Erich A Pleifler A personal routine helps increase accuracy page 14 Nucleus 6 Editorial: Don't Forget the Hardware.. 8 Letters 30,210 Technical Forum 117 BYTE News 124 Event Queue 128 Nybbles: TMS-9900 Monitor 174,268 BYTE's Bits 182 Desktop Wonder: Digits 204 Clubs and Newsletters page 130 205 BYTE's Bug 206 Languages Forum 209 Machine Language Puzzler: An Added Attraction 220 Programming Quickies 226 Book Reviews 249 What's New? 286 Unclassified Ads 288 BOMB 288 Reader Service .ii. Cover Art: BENEATH THE GRID, by Robert Tinney. BYTE is published monthly by BYTE Publications Inc, 70 Main St, Peterborough NH 03458. 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 Peter- borough NH 03458 and at additional mailing offices— USPS Publication No. 102410 (ISSN 0360-5280). Subscriptions are $18 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 48106 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 May 1979 © BYTE Publications Inc In This BYTE This issue's theme is provided by an article on various cartographic projections by William Johnston. To emphasize this theme of map- ping terrain with computer models, Robert Tinney's painting "Beneath The Grid" shows a landscape with a superimposed grid of lumines- cent white lines as might be pro- jected in the mind's eye by an ap- propriate graphic output device. Microcomputers allow the quick and easy performance of operations that take an ex- temely long time to perform by hand. One of these operations is drawing maps from accumulated tables of data. William Johnston describes the simple programs used to produce Computer Generated Maps. page 10 A data tablet is a graphical input device that enables you to enter visual images into your computer. Richard Blum has a program for Representing Three-Dimensional Ob- jects in Your Computer, page 14 If you need to communicate digital infor- mation from one point to another through an electrically noisy environment, then op- tical communications may be one solution. If you are going to communicate over long distances or at high speeds, then a laser may be the best choice for a light source. This month Steve Ciarcia explains how to Com- municate on a Light Beam. page 32 The people interested in just wetting their feet in the field of microcomputers are usually not looking for a very big system. A single board computer is often a good first experience. The Ohio Scientific Superboard II is one single board computer which has some interesting capabilities. Find out what Chris Morgan thinks about The Superboard II. page 50 Flexible video displays have been made possible by special display controllers. Bob Haas describes four devices from different manufacturers and tells how he used a specific video display controller in a suc- cessful construction project. You can learn more about these single integrated circuit marvels in Single Chip Video Controller. page 52 If you do not have documentation for a machine language program, it is almost im- possible to determine how the program works. Bob Lentz describes a 6800 Disassembler that he wrote for his SwTPC 6800 system. page 104 Possession of an integer arithmetic language does not preclude the writing of intricate programs involving trigonometric functions. David j Beard describes how he used an integer BASIC to develop naviga- tion routines for Spacewar in Tiny BASIC. page 770 The most prevalent form of output from a personal computer seems to be a video display. Therefore, the serious hobbyist should be aware of the number of different video display controllers that are available. Chris Tennant looked at the Intel 8275 video display controller and liked what he saw. In his article he describes a video interface us- ing The Intel 8275 CRT Controller, page 130 In part 2 of Smart Memory, Randy Smith presents a series of black box diagrams to describe the workings of an associative memory. page 750 The "wraparound" queue can save you time during input and output operations on your computer. W D Maurer explains how the queue works and how to implement it on 8080 computer systems in Simultaneous In- put and Output for Your 8080. page 164 Last month Len Gorney described how to implement a queue on a computer. This month he talks about real life queues and how the science of Queuing Theory can be applied. page 176 The CORDIC algorithm is a venerable and efficient method for calculating trigono- metric functions. John A Ball gives some practical suggestions to experimenters in Trigonometry in Two Easy Black Boxes. Find out how you can streamline your number crunching with CORDIC. page 184 Good programming techniques are vital in personal computing as well as in comput- ing in general. Author Delmer D Hinrichs, using tic-tac-toe as an example, describes the strategies of the game programmer in Tic-Tac-Toe: A Programming Exercise. page 796 Ralph Stirling describes how to turn a motorized wire wrap tool into a motorized unwrapping tool in The Hobby Unwrap. page 278 For owners of Signetics 2650 based com- puter systems, Edward R Teja and Gary Gonnella have provided a useful dis- assembler program to help make sense of those hexadecimal machine language list- ings. Read A Mini-Disassembler for the 2650. page 233 If your microcomputer lacks an assem- bler or high level language, it will be necessary to hand assemble all of your pro- grams. To do this quickly and accurately it is a good idea to develop a consistent routine. Erich Pfeiffer describes a useful technique in Aids for Hand Assembling Pro- grams, page 238 Publishers Production Editors Circulation Manager Comptroller Drafting Virginia Londoner David William Hayward Gregory Spltzfaden Kevin Maguire Techart Associates Gordon R Williamson Ann Graves Assistants Assistant Typography Goodway Graphics Vice-President Periodicals Faith Hanson Pamela R Heaslip Mary E Fluhr John E Hayes Art Director Agnes E Perry National Advertising Photography Assistant Ellen Bingham Melanie Bertoni Ed Crabtree JIM E Calllhan Production Art Barbara Ellis Sales Representatives: Printing Editorial Director Carl T Helmers Jr Wal Chlu LI Christine Dixon Nancy Estle Typographers Cheryl A Hurd Stephen Kruse Debe L Wheeler Dealer Sales Glnnle F Boudrieau Anne M Baldwin Hajar Associates Inc East 280 Hillside Av The George Banta Company Editorial Associate Executive Editor Christopher P Morgan Editor In Chief Receptionist Jacqueline Earnshaw Needham Heights MA 02194 (617)444-3946 521 Filth Av Daniel Fylstra Associates Walter Banks Raymond G A Cote New York NY 10017 Steve Ciarcia Senior Editor Traffic Department (212) 682-5844 David Fylstra Blaise W Liffick Rick Fuette Midwest Ira Rampil Editor Advertising Director Patricia E Burgess Mark Sandagata 664 N Michigan Av Distributors: Richard Shuford, N4ANG Suite 1010 Eastern Canada Editorial Assistant Assistant Book Division: Chicago IL 60611 RS-232 Distribution Company Gale Brllton Ruth M Walsh Publisher (312) 337-8008 186 Queen St W, Suite 232 New Products Editor Adv/Prod Coordinator Edmond C Kelly Jr West, Southwest Toronto ONTARIO M5V-1Z1 Clubs, Newsletters Thomas Harvey Production Editors 1000 Elwell Ct Western Canada Laura A Hanson Advertising Billing Patricia Curran Suite 227 Kltronic Ltd Drafting Noreen Bardsley William Hurlin Palo Alio CA 94303 26236 26th Av RR 5 Jon Swanson Don Bardsley E S Associates (415) 964-0706/(714) 540-3554 Aldergrove BC VOX 1A0 Mav 1979 © BYTE Publications Inc Circle 219 on inquiry card. ScreenspHtter Video Display System From "Dumb" To "Smart" ScreenspHtter is a video module designed for many levels of use— from the "dumb terminal" configuration to a page-oriented document processor to a multiple-process display sys- tem. As a terminal, ScreenspHtter offers up to 4Q lines of SB characters, more than twice the number of visible characters than other systems in its price range. As a document processor, it gives you single keystroke control over character 1 , word, line, and page level alterations such as insertion or deletion. And a powerful new unit of area— the window— allows you to move blocks of text around or redimension paragraphs dynamical- ly; again, all at the touch of a finger. Indention, justification and pagination are standard and transportability is guaranteed with our CP/ M""" interface. As a multiple-process display system, Screen- splitter places the raw power of the Window Package at your control. You can create any number of "subscreens", each a logically distinct I/O region with its own cursor, scroll control, reverse video, optional frame and many, many more features. Plotting and bar- charting are a snap and you can even define your own character set to personalize your display. """"CP/M is a trademark of Digital Research, Inc. Professionally Designed There was only one design goal in the develop- ment of the ScreenspHtter: to provide a large rock-solid display that could accommodate diverse applications without sacrificing exten- sibility or compatibility. We not-so-modestly say that we have outdone ourselves. Just look at these features and compare them with other video systems available today: • 40 lines of SB characters per line. • 1 ,D94 words of onboard intelligence that manages your displayed data. • a selection of esthetically designed fonts, including APL. multiple subscreen control. a page-oriented document processor that boasts dynamic redimensioning and move- ment of text blocks, ultra-fast display control. a character generator that is changeable and offers intrinsically winking characters that can be set to wink by scan line. 4,096 words of static display memory, interfaces for CP/M and North Star DOS. a dedicated crystal for guaranteed display stability. composite and direct-drive video output. S-1 OO compatibility, full buffering on all buss lines. 1 40 page user's manual, immediate availability. Micro Diversions, Inc. 8455-D Tyco Road Vienna, Virginia 221 80 (703) 827-0888 Look for Shugart drives in personal computer systems made by these companies Editorial 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 6 May 1979 © BYTE Publications In Don't Forget the Hardware... by Carl Helmers With respect to manufactured products for the small computer user, we live in a time of plenty. There are at least 20 to 30 different manufactured or kit versions of complete personal computer systems, many featuring numerous models and sets of options. The hardware of these computers is complete, and in the better brands comes with am- ple documentation of the system's internals. The systems software comes in various stages of completeness and usefulness as a software development tool to satisfy particular personal computer users' needs. Many readers, like myself, may tend to hesitate at the thought of ex- periments which involve building hardware to couple with appropriate software, in order to accomplish an application. But what is the mystery of peripheral hardware? In this era of integrated circuits, standard logic levels, and a wealth of solid state parts, even the most hesitant software addict can, with a small amount of effort, create custom hardware for personal applica- tions by the simple act of wiring. I come from a software oriented background, and use programs in place of dedicated hardware wherever possible. But when I want to use my program to turn the lamps on and off in my hous.e, in response to voice inputs, 1 "somehow" have to make my computer talk to 110 VAC 60 Hz. There is no way that my software can switch several amperes without some assistance. One alternative means to accomplish this goal is to purchase one of several fairly elaborate AC wiring control interfaces which are coming on the market. But, if you want to learn about hardware and the simplicity of interfacing, you can make a simple evening's project of wiring several optically isolated solid state relays to a parallel output port for your computer. The ease of interfacing is phenomenal. I recently purchased several solid- state relays (see photo 1) from a local electronics parts distributor. This hybrid relay takes a standard TTL (transistor- transistor logic) signal of 5 V as its input, the same kind of a signal which is sup- plied by any typical computer's TTL output port lines. It is optically isolated, so there is no direct electrical connec- tion to the computer. Short of dropping a screwdriver across the 110 VAC lines, there is no chance of errant 110 VAC entering the back side of your computer. Text continued on page 123 Photo 7. At $12.80 (quantity one) from an electronics distributor, op- tically isolated solid-state relays like this open up a whole world of practical personal computing experiments around the home. "My 8 to 5 minifloppy™now works flights and weekends!' "I own a fast-growing business and before I bought my computer system I put in a lot of late hours keeping up with my accounting and inventory control. Now the computer does my number crunching quickly, so I have time after hours to have some fun with the system. My son and I started out playing Star Trek on the system, and now we're learning to play chess. "When I was shopping around for my system, the guys in the computer stores demonstrated all the unique features of the minifloppy. I've got to admit that at first I didn't really understand all the technical details. But now that I use the system every day, I really appreciate the minifloppy's fast random access and data transfer. I like the reliability, too. "I'm glad I went with Shugart drives. Look, when you lay out your own money for a system, you want dependable performance and good value. Do what I did. Ask for the system with the minifloppy." If it isn't Shugart, it isn't minifloppy. =3® Shugart Associates 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 May 1979 Letters KUDOS FOR ITHACA I have recently had the pleasure of doing business with a company which deserves recognition. I ordered a 16 K byte expansion kit from Ithaca Audio and installed it in my TRS-80 expansion interface box. Over several months I discovered that most of the time it didn't work. I also discovered that this was a design problem with the Radio Shack expansion interface, not the memory. Radio Shack was not helpful. After all, I had installed additional memory not purchased through Radio Shack. I called Ithaca Audio, expecting a similar reaction. On the contrary! They knew about the various problems with the interface expansion box and offered the following free aid: • a replacement set of eight NEC memories which require less fre- quent refresh signals. • Should this fail, I would send them my expansion interface box and both sets of memory. They would return the interface in working order. • If the new memory did work, I would then return the original set. The NEC memory worked fine. All problems were solved. Now I know that when Ithaca Audio guarantees that their upgrade kit will work, they mean it. Al Baker 2327 S Westminster St Wheaton IL 60187 COMMENTS ON COMPUTER ASSISTED INSTRUCTION I appreciated the articles by Davidson, Gerhold, and Kheriaty (November 1978 BYTE) and by Gerhold (December 1978 BYTE) relating to computer assisted instruction (CAI) on microcomputers. The discussion on what constitutes good and bad CAI courseware was helpful, and the description of PILOT software they are using was also informative. I am pleased to learn of work being done in the area of CAI on microcomputers, for my experience suggests it can be a very useful teaching tool. One concern I have is that the micro- computer system described in these articles does not include the capability to prepare courseware on the small com- puter system. The approach taken by the authors to prepare and test course- ware on a larger computer system, and then to use that courseware with micro- computers, has merit for their situation where the larger machine is readily avail- able. However, many persons do not have access to such systems. Moreover, course objectives change rather fre- quently and individual teachers will prefer to present materials differently. It seems to me the small computer system should permit the teachers to write, test, and edit the courseware without being dependent on a large computer. This might possibly generate low quality courseware, but I feel many teachers could make good courseware who would not do so if a large (and probably less accessible) computer were required. People with experience in CAI could be of great assistance by publishing guide- lines for writing good courseware along with methods of determining its quality. Professor Gerhold presents a strong case for the use of PILOT instead of other languages for CAI; however, good courseware can be prepared using BASIC or other languages if that is all that is available to a particular user. I am using North Star BASIC and a Horizon II computer with 32 K bytes of program- mable memory for computer aided instruction in soil physics at Oklahoma State University. Three BASIC programs were developed here to enter and edit courseware, process the courseware and interact with students and store their responses, and analyze student responses. The system is capable of performing complex matches of the kind described by Mr Gerhold (December 1978 BYTE, page 125) in one to five seconds, as well as jumping to specific parts of the course- ware depending upon the student's responses to previous questions. More- over it is very easy to create and edit courseware once the teacher has planned the material to be presented. I hope to see more articles in BYTE relating to computer aided instruction on microcomputers. I would appreciate articles on software (such as PILOT), software and hardware required for pre- paring good courseware, methods of assessing the quality of courseware, and low cost video terminals with special features needed in instruction such as graphics, subscripts, and superscripts. Asst Prof David L Nofziger Oklahoma State University Stillwater OK 74074 PASCAL COSTS ADD UP I would like to respond to BYTEs comment on "Pascal Critique and a Comment," by J O'Loughlin (December 1978 BYTE, page 179). I feel that the UCSD Pascal system is not an affordable implementation of Pascal. Although the software costs "only" $200, you need 56 K bytes of programmable memory to use it productively ($800), plus 8 inch floppy disk ($1000), and a terminal with cursor control ($1000). Add this to a $1000 mainframe and this "affordable" system costs $4000. Compare this to a $600 TRS-80! Sure, Pascal is more read- able than BASIC, but there are other con- Text continued on page 223 ComputerLand Huntsville, AL (205) 539-1 200 Phoenix, AZ (602) 956-5727 Little Rock, AR (501) 224-4508 Belmont, CA (415) 595-4232 Dublin, CA (415) 828-8090 El Cerrito, CA (415) 233-5010 Hey ward, CA (415) 538-8080 Lawndals, CA (213) 371-7144 Los Altos, CA (415) 941-8154 Los Angeles, CA (213) 776-8080 Marin, CA Call Directory Information Pasadene, CA (213)449-3205 Saddleback Valley, CA (714) 770-0131 San Bernardino, CA (714) 886-6838 San Diego, CA (714) 560-9912 San Diego East, CA (714) 464-5656 San Francisco, CA (415)546-1592 San Jose, CA (4081 253-8080 Santa Maria, CA (805)928-1919 Santa Rosa, CA (707) 528-1775 Thousand Oaks, CA (805) 495-3554 Tustin, CA (714) 544-0542 Walnut Creek, CA (415) 935-6502 Colorado Springs, CO (303) 574-4150 Denver, CO (303) 759-4685 Fairfield, CT (203) 255-9252 Newark, DE (302) 738-9656 Boca Raton, FL (305)368-1122 Ft. Lauderdale, FL (305) 566-0776 Jacksonville, FL (904) 731-2471 Atlanta, GA (404) 953-0406 Honolulu, HI (808) 521-8002 Arlington Heights, IL (312) 255-6488 Downers Grove, IL (312) 964-7762 Mundelein, IL (312)949-1300 Niles, IL (312)967-1714 Oak Lawn, IL (312)422-8080 Peoria, IL (309) 688-6252 Overland Park, KS (913) 492-8882 Louisville, KY (502) 425-8308 Rockville, MD (301) 948-7676 Grand Rapids, Ml (616) 942-2931 Southfield, Ml (313) 356-8111 Bloomington, MN (612) 884-1474 Springfield, MO (417) 883-7085 Nashua, NH (603) 889-5238 Cherry Hill, NJ (609) 795-5900 Bergen County, NJ (201) 845-9303 Morristown, NJ (201) 539-4077 Buffalo, NY (716) 836-6511 Ithaca, NY (607) 277-4888 Nassau County, NY (516) 742-2262 Charlotte, NC (704) 536-8500 Cleveland, OH (216)461-1200 Columbus, OH (614) 888-2215 Portland, OR (503) 620-61 70 Harrisburg, PA (717) 763-1116 Austin, TX (512)452-5701 Dallas, TX (214) 363-2223 South West Houston, TX Houston Bay Area, TX (713)488-8153 Salt Lake City, UT (801) 364-4416 Tyson's Corners, VA (703) 893-0424 Bellevue, WA (206) 746-2070 Federal Way, WA (206) 838-9363 Tacoma, WA (206) 581-0388 Madison, Wl (608) 273-2020 Milwaukee, Wl (414) 466-8990 INTERNATIONAL Adelaide, Australia Call Directory Information Brisbane, Australia 07 221 9777 Perth, Australia Call Directory Information Sydney, NSW Australia 29-3753 Brussels, Belgium 43 29 05 Burlington, Canada Call Directory Information Toronto, Canada Call Directory Information Winnipeg, Canada (204) 772-9519 Manila, Philippines 58-36-66 8 May 1979 © BYTE Publications Inc Circle 75 on inquiry card. 1 1 If the truth is that you want a computet . . . \hen 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'll find educational materials to give you a total insight into the world of microcomputers. You II 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. © ComputerLand Corp., 1978 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 BYTE May 1979 9 Computer Generated Maps, Part i William D Johnston 1808 Pomona Dr Las Cruces NM 88001 Cartography, the art of mapmaking, originated in ancient times. It came of age in 1538 when Gerhard Mercator revolution- ized the science with the introduction of the first modern mathematically derived map projections. Those projections, which bear his name, have stood the test of four and a half centuries, and to this day are of great value in a wide variety of applications. Many of the world's most famous cartographers lived, worked, and made great theoretical contributions more than 200 years ago. The names of Lambert, Mollweide, Lagrange, Gauss, and others will ring familiar to even the casual user of maps. While these men all had brilliant minds, they shared an extraordinary handicap: that which they could conceive in theory they could put in practice only through enormous labor in manual computation. The construc- tion of maps through mathematical projec- tions begins with sets of geographical coordi- nates which define the boundaries of the areas to be mapped. These coordinates are manipulated with appropriate mathematical procedures to convert the geographical data to map coordinates, and these final numeric figures arc used to draw the maps. In prac- tice, accurate maps require defining literally tens of thousands, and frequently hundreds of thousands — or even millions — of refer- ence points. About the Author: William D Johnston has worked in the fields of mathematics and computer systems since 1962. For the past ten years his professional position has been that of senior mathematician with primary responsi- bilities in computer graphics, user executives, and data reduction soft- ware for missile flight analysis. He built his first computer circuits (binary counters, ring counters, and half-adders) using vacuum tubes in 1959, the same year he received his amateur radio license. Johnston has had articles in Sky and Telescope, Radio Communica- tion, Ham Radio, QST, CQ, Ham Radio Horizons, RTTY Journal, and other technical publications. It is no wonder that until recent times, these eminent scientists wasted years of their lives arduously computing complex mathe- matical conversions by hand. As recently as 20 years ago, it was still standard procedure in many government and private mapping agencies to create maps using nothing better than tables of precomputed conversion factors, between whose entries interpolation was required. The tables themselves had been computed manually, with the assistance of slide rules or mechanical calculators, at best. Over the years, cartographers frequently pointed out the need for various types of maps, and even developed the procedures for making them, but the manpower simply wasn't available to execute the task. Now, with the power of the microcom- puter, the rankest amateur can produce in minutes what might have taken Mercator or Lambert many years to accomplish. Not only can the mathematical computations be carried out on the microcomputer, but with a suitable graphics device the map itself can be drawn in final form. The practical appli- cations are limitless. Such diverse fields as economic sector mapping for business, generating map overlays for direct recep- tion of weather satellite photos in the home, aeronautical and maritime navigation, OSCAR satellite tracking for communica- tions, topographic mapping, and celestial maps for astronomy are just a few of the many worthwhile applications. For Space War fans, a vivid video graphics presentation of the changing Earth as seen from an orbiting spacecraft can add excite- ment to the game as battles rage over Ant- arctica, then shift to high above Europe, or wherever the Captain takes his ship. A whole new dimension can be added to such games as Battleship, when the combatants have the entire Pacific Ocean with all of its islands and atolls in which to maneuver, plan tactics, and try to outwit the enemy. Classifications of Maps The kinds of maps that you might gener- ate on your own personal computer will depend upon the intended use, but, broadly speaking, map projections fall into two gen- eral categories: mathematical projections 10 May 1979 © BYTE Publications Inc and perspective (or geometric) projections. Mathematical projections are defined by a mathematical function or procedure which will preserve or enhance the characteristics most important in the map's application. The Mercator map is a classic example of the mathematical projection. Perspective projections are very much like perspective engineering drawings, which come under the category of perspective geometry. They are defined by, and may be created through, geometric constructions. (Perspective projections may also be de- scribed mathematically, but the converse is not true. Projections classified as mathemat- ical cannot be defined geometrically.) A map made of the visible surface of the Earth, exactly as it appears from an orbiting space- craft, is a perspective projection. The map outline overlays placed on weather satellite photos are common examples of this type of projection. Ideally, a map should portray the Earth as it actually is, preserving both the shapes and the relative sizes of the areas being mapped. Distances throughout the map should be at a constant ratio to the actual distances on the Earth. For navigation and radio communication purposes, it would be convenient to have great circles on the surface of the Earth (which define the shortest distance between any two points) to appear as straight lines on the map. Unfortunately, since the Earth is a sphere and maps are, of necessity, flat, it is impossible to incorporate all of these features into a single projection. Conse- quently, the various map projections are compromises selected to minimize the various distortions while enhancing other features, depending upon the particular application that the map is to be used for. Any map which preserves the relative sixes of the areas portrayed is called an equal-area projection. Any map which preserves the shapes of the areas portrayed is said to be a conformal projection. In practice, if the error is no more than one or two percent, the map is considered to have met the requirements. A given map may be either conformal or equal-area, or it may be both, or it may be neither. Hardware The creation of maps by computer is exceedingly simple. The only hardware necessary is the computer itself, along with some type of graphics device. The graphics equipment may be a video display, or an X,Y pen plotter. If you are primarily interested in printed maps, then obviously a pen plotter (or a video display with hard f START J OBTAIN COORDINATES OF REFERENCE POINT AND TYPE OF PROJECTION TO BE DONE COMPUTE NECESSARY SCALE FACTORS, BASED ON THE REFERENCE POINT AND THE MAP SIZE GET A PAIR OF GEOGRAPHIC COORDINATES FROM THE DATA BASE DATA BASE RAW GEOGRAPHIC COORDINATES DEFINING AREAS TO BE MAPPED CALL APPROPRIATE SUBROUTINE TO CONVERT GEOGRAPHIC COORDINATES TO MAP COORDINATES PLOT THE CONVERTED DATA ON THE GRAPHICS DEVICE NO ( STOP J Figure 7: Flowchart of the basic procedure used to generate any map with a computer. copy attachment) would be your best choice. If, on the other hand, your first interest is in fast-changing maps for games, then a good video graphics display alone would serve quite well. Some dot matrix plotters can produce satisfactory maps, though often at a sacrifice in memory or mass storage I/O (input/output) time. Map Generation Algorithms One of the most appealing aspects of mapmaking by computer is the simplicity of the software. Figure 1 shows a flowchart of the fundamental procedure used to gen- erate any map. The algorithm consists of a data base of raw geographic coordinates and a mathematical conversion procedure. Given a reference point (a point of projection or a set of mapping limits), the program loops through the conversion procedure, convert- ing one pair of geographic coordinates to map coordinates each time, until the data base is exhausted. As each pair of map coor- dinates is computed, the information is used to draw that element of the map. If the pro- May 1979 © BYTE Publications Inc 11 gram is to have the ability to generate several different projections, each projection con- version procedure can be written as a sub- routine, and the appropriate subroutine would then be called at that point in the loop. Most of the common projections, as we will see by the examples later, are defined by relatively simple mathematical equations. More often than not, the mathematical com- putations for a given conversion require no more than two to six statements in a BASIC program. Data Base Requirements As mentioned earlier, the data base con- sists of sets of geographic coordinates which describe the areas to be mapped. Since the map is generated by lines connecting the points, they must occur frequently enough to provide the desired resolution. The greater the resolution needed, the more data points required, and hence, the larger the storage requirements for the data base. Of course if you are mapping the entire world, your data base will be much larger than if you are mapping, say, just the United States. Furthermore, the resolution of your graphics device, along with the scale factor of the finished map, sets an upper limit on both the number of data points and the angular resolution (that is, the number of significant digits) needed in the data base to secure the highest resolution possible with that particular device. The maps that accom- pany this article were generated from a data base that is far more extensive than most people would ever need. It consists of ap- proximately 10,000 pairs of coordinates, sufficient to produce a satisfactory world map several feet (more than a meter) in diameter. The angular resolution of the latitudes and longitudes is 0.0001 radian, which is sufficient for maps down to a scale of 1:1,000,000 (ie: on the order of service station road maps). The geographic coordinates (latitudes and longitudes) in the data base are almost uni- versally stored in radians. The reason is that almost all map projections are computed by trigonometric formulas, and there is no sense having to convert the data base from degrees to radians every time the program is run. Data Base Structure block is the same as the first pair in the same block, so that the line drawn on the map will fully close. (Repeating the first pair of coor- dinates in this manner is not absolutely necessary, but it will save headaches later, at a very small cost in storage space.) Each of these blocks is separated by a flag — normally a pair of zeroes (ie: a zero for both the latitude and the longitude). Islands which are so small as to require that only a dot be drawn for mapping pur- poses are grouped together into a single block. The program need know only the starting and ending addresses of that block so it can instruct the graphics device to draw only dots for these locations, rather than connecting them with lines. Political bound- aries represented by dotted lines are handled in this same manner. The size of your data base will determine whether it can be stored in main memory along with the program, or whether it will have to reside on a mass storage device. From the standpoint of computing effi- ciency, the ideal situation is to have it in main memory since this eliminates a tremen- dous amount of input/output (I/O) time. On the other hand, if the graphics device is rela- tively slow (as are many pen plotters), the lost I/O time will be masked by the time the computer spends waiting on the plotter, so no advantage is gained by using memory. In cases where fast-changing maps are to be displayed on video display, programmable memory is definitely the best choice for lo- cating the data base. Where sufficient main memory isn't available for the size of the data base in use, the data base can fre- quently be partitioned in such a manner as to permit the program to load portions of it from mass storage into memory at far less frequent intervals. For certain special applications it has even been found advantageous to store data bases in read only memory. A number of amateur astronomers, for example, have stored the coordinates for the entire Messier catalogue of nonstellar objects, as well as limited star catalogues, in read only memory. The coordinates and catalogue numbers are used for both the real time control (pointing) of the telescope, as well as for generating star maps on the video display. Such applica- tions of read only memory are generally limited to cases where the data base occupies no more than a few hundred bytes. The organization of the data base is straightforward. Each closed area repre- sented by a continuous solid line which closes on itself is stored as a block of sequen- tial coordinates (geographically sequential, that is). The last pair of coordinates in each Compiling the Data Base You can put together your own data base to fit your own particular requirements, if you have a mind to do so. Most libraries Text continued on page 76 12 May 1979 © BYTE Publications Inc How to buy a personal computer. Suddenly everyone is talking about personal computers. Are you ready for one? The best way to find out is to read Apple Computer's "Consumer Guide to Personal Computing." It will answer your unanswered questions and show you how useful and how much fun personal computers can be. And it will help you choose a computer that meets your personal needs. Who uses personal computers. Thousands of people have already discovered the Apple computer — businessmen, students, hobbyists. They're using their Apples for financial management, complex problem solving — and just plain fun. You can use your Apple to analyze the stock market, manage your personal finances, control your home environment, and to invent an unlimited number of sound and action video games. That's just the beginning. What to look for. Once you've unlocked the power of the personal computer, you'll be using your Apple in ways you never dreamed of. That's when the capabilities of the computer you buy will really count. You don't want to be limited by the availability of pre-programmed cartridges. You'll want a computer, like Apple, that you can also program yourself. You don't want to settie for a black and white display. You'll want a computer, like Apple, that can turn any color tv into a dazzling array of color graphics* The more you learn about computers, the more your imagination will demand. So you'll want a computer that can grow with you as your skill and experience with computers grows. Apple's the one. How to get one. The quickest way is to get a free copy of the Consumer Guide to Personal Computing. Get yours by calling 800/538-9696. Or by writing us. Then visit your local Apple dealer. We'll give you his name and address when you call. *Apple II plugs into any standard TV using an inexpensive modulator (not included). '-'■ , .'J .*■,..:<. „4 .«,< ;(H ,„« i«4 fH* | Circle 1 5 on inquiry card. apple computer 10260 Bandley Dr.. Cupertino, CA 95014 In California call (408) 996-1010. BYTE May 1979 13 Representing Three-Dimensional Objects in Your Computer Richard Blum 3 Mohawk Dr Westboro MA 01581 How would you like to make still pic- tures "come to life"? Or perhaps draw or photograph objects and then animate them, on a video display? You can do it on your personal computer with the help of a data tablet and the program described herein. The program takes images from a data tablet and transforms them into a three-dimensional representation inside a computer. Once a three-dimensional representation of an object is entered into a computer's memory, programs can be used to display the object in perspective on a graphical video display. The object can be displayed from an infinite variety of perspectives. One can look at objects from any desired view- point and generate different viewpoints rapidly — a capability that is very useful in animation. Computer Animation Animation with computers has several advantages over traditional animation tech- niques. First, a computer can draw faster than a person. In 16 millimeter films, 24 frames must be displayed every second. Thus a normal animation requires thousands of drawings. The speed of the computer can save the time required to draw the many pictures animation demands. Second, a computer can quickly generate perspective drawings of objects. Perspective, the reduction in size of objects as they move further away from the viewer, gives pictures three-dimensional realism. Many cartoons do not use perspective drawings because of the time required to draw them. With the aid of computers, this realism in animation is easily achieved. Third, computers can recreate the effects of wide angle or telescopic lenses, and can simulate lighting from any angle. With all these effects at their disposal, artists have the potential to create realistic and exciting animation. To make computer animation available to artists not familiar with computer programming, there must be techniques which enable easy entry of visual data into the computer. This is made pos- sible by the data tablet. The Data Tablet The data tablet is a graphical input device that enables the entry of visual images into a computer. Just as a keyboard enters alpha- numeric characters (the elements of text), so a data tablet enters lines and points (the elements of images). Data tablets are now commercially available for personal com- puter systems. The Bit Pad™, manufactured by Summagraphics, is an example of a high quality data tablet available for personal computers. In using the data tablet, a pen shaped stylus is moved over a flat electromagnet- ically sensitive board. The pen's position over the board is monitored by a controller which relays information to a computer. In this way it is possible to "draw" images directly into a computer's memory. The tablet board is 1 1 inches square. Each point on the board represents a value in an X,Y coordinate system. Resolution is good, distinguishing as many as ten points per millimeter. There are three modes of operation. Data can be sent to the computer continuously, continuously while the stylus is touching the board, or at distinct mo- ments while the stylus is touching the board. Even if you are not interested in anima- tion, you may still find it useful to manipu- late images using a computer. A space game enthusiast could enter pictures of starships and then display them during the game. The homeowner needing to do some interior decoration could enter photographs of a room interior and furniture. Then different furniture arrangements could be viewed. 14 May 1979 © BYTE Publications Inc Circle 255 on inquiry card. DOUBLE DENSITY ___, | _„,,,_« m.rti «!' — ' ##«••«■ K • » « % X X UD 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. CPIM* 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 There are many other uses for a data tablet; only imagination is needed to discover them. Preparing to Use the Picture Input Program The program in listing 1 allows one to construct three-dimensional representations of objects inside a computer. These repre- sensations will later be used to display the objects in perspective. The description of an object is entered using a data tablet, so that the process resembles drawing. For each side of the object entered, two pictures must be supplied. Either photographs or drawings may be used. The procedure de- scribed below assumes that photographs are used. If drawings are used instead, they must be prepared according to this procedure. The two photographs must be taken such that they both center on the same point of the object (see figure 1). This point is to become the origin point. It is also neces- sary that the camera location for the second shot be directly behind where the camera was for the first shot, so that there is a straight line between the origin point and the center of the camera in both shots. Then the distance between the camera's positions should be measured. It is not necessary to know how far the camera was from the object, but only to know the difference in camera position. The only other measure- ment necessary is the X,Y,Z distance be- tween the origin and one vertex on the object. It is also necessary that the lens' effective focal length does not change between the two photographs. This may be achieved by using the same focus setting with a very small aperture, or more simply by using a Photo 1: Two views of side view 1. Photo 2: Two views of side view 2. 16 May 1979 © BYTE Publications Inc >]:MI«iViliL=JiM=TE BHHBBBH^^ j^^^^^*^^^^ BMHHI BH^^ ^^^^^^^^^^ ^p^^^^^^^^^ ■P^^H^' ■pi^^^^^^^^ ■ppHMI^^^^^^ 9 4 1 1 1 rM \ p BM liMBP 1^*^W ^ fM >™ muLromru" amis Anewquarterlyby 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 ft; $8.50 for one year (U.S.); Canada and Mexico: $10.00. GUIDE TO PERSONAL dKl 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) TM Listing 1 : BASIC program for entering and manipulating data from a data tablet. 0010 LETX1=1 0020 REM (THIS PROGRAM ACCEPTS DATA FROM A TABLET AND TERMINAL) 0030 REM (AND CREATES THREE DIMENSIONAL MODELS OF THE OBJECTS ENTERED) 0040 REM X,Y,Z COORDINATES 0050 DIM X[100),Y[100),Z(1001 0060 REM X.Y.Z DISPLACEMENTS FROM SIDE 1 'S ORIGIN 0070 DIM X9(61.Y9[6l,Z9[6l 0080 REM INITIALIZE TOTAL NUMBER OF VERTICE TO 0090 LET 13=0 0100 PRINT "HOW MANY SIDE VIEWS ARE TO BE ENTERED" 0110 INPUTS1 0120 REM ENTER THE POINTS FROM EACH SIDE VIEW 0130 FORS=1TOS1 0140 PRINT "PROCESSING SIDE VIEW'.S 0150 GOSUB 0230 0160 NEXTS 0170 OPEN FILEt1.1l ."RESULT" 0180 FOR 17 = 1 TO 13 0190 PRINT FILE ( 1I.I7.X [I7],Y II 7], Z8-Z1I7) 0200 NEXT 17 0210 CLOSE FILE [ 1 ] 0220 END 0230 REM (FIND THE USERS ORIGIN) 0240 PRINT "PLACE THE STYLUS ON THE ORIGIN FOR PICTURE 1" 0250 CALL 1,01,02 0260 PRINT "PLACE THE STYLUS ON THE ORIGIN FOR PICTURE 2" 0270 CALL 1,03, 04 0280 PRINT "HOW FAR WAS CAMERA ONE FROM CAMERA TWO" 0290 INPUT L 0300 REM (FIND THE KNOWN VERTEX) 0310 PRINT "PLACE THE STYLUS ON THE KNOWN VERTEX IN PICTURE 1" 0320 CALL1.K1.K2 0330 REM (TRANSFORM DATA TO THE USERS TABLET SPACE) 0340 LETK1=K1-01 0350 LET K2=K2-02 0360 PRINT "PLACE THE STYLUS ON THE KNOWN VERTEX IN PICTURE 2" 0370 CALL1.K3, K4 0380 LET K3 = K3-03 0390 LET K4 = K4-04 0400 PRINT "ENTER THE X-Y-Z DISTANCES BETWEEN THE KNOWN VERTEX AND ORIGIN' 0410 INPUT VI, V2.V3 0420 REM (CALCULATE THE DISTANCE BETWEEN CAMERA ONE AND THE OBJECT) 0430 IF K1-K3=0 THEN GOTO 0460 0440 LETZ=(K3-LI/(K1-K3) 0450 GOTO 0500 0460 LET Z=(K4.L)/(K2-K4) 0470 REM (CALCULATE THE PERSPECTIVE TRANSFORM) 0480 LETD = Z-K2/V2 0490 GOTO 0510 0500 LETD=Z.K1/V1 0510 IF S = 1 THEN Z8 = Z 0511 PRINT "HOW MANY VERTICES ARE TO BE ENTERED?" 0520 INPUT 11 0530 FOR 1 = 1 TO 11 0540 IF S -1 THEN GOTO 0570 0550 IF l>=S1 THEN GOTO 0570 0560 PRINT "VERTEX COMMON TO SIDE VIEW", 1 + 1 0570 PRINT "IN PICTURE ONE POINT TO VERTEX", I 0580 CALL1.X1.Y1 0590 PRINT "IN PICTURE TWO POINT TO VERTEX", I 0600 CALL1.X2, Y2 0610 REM (CALCULATE THE X-Y COORDINATES FOR THE VERTEX) 0620 LETD1=X1-X2 0630 IF D1O0 THEN GOTO 0660 0640 LET Z [I + 13] = (Y2 • L) / (Y1 - Y2) 0650 GOTO 0670 0660 LETZ[I + I3]=(X2-L)/IX1-X2) 0670 LET X[I + I3I=Z[I + I3] -X1/D 0680 LET Y[I + I3)=Z[I + I3] -Y1/D 0690 REM IF THIS IS THE FIRST SIDE FIND COMMON VERTICE 0700 IF S>1 THEN GOTO 0790 0710 REM IF WE HAVE FOUND ALL THE COMMON VERTICE LOOP AGAIN 0720 IF l>S1 THEN GOTO 0830 0730 LET X9|I + 1]=X|I + I3] 0740 LET Y9(I + 1)=Y(I + I3] 0750 LET Z9(I + 1]=Z(I + I3! 0760 GOTO 0830 0770 REM PROCESSING A SIDE VIEW OTHER THAN SIDE ONE 0780 REM IF THIS IS FIRST VERTICE ITS A COMMON ONE 0790 IF 1 = 1 THEN GOSUB 0870 0800 LET X[I + I3]=X[I + I3] -X9[S] 0810 LET Y[l + l3l*Y[l + l3]-Y9lSl 0820 LETZ[l + l3]=Z[l + l3l-Z9[Sl 0830 NEXT I 0840 REM FIND TOTAL NUMBER OF VERTICE 0850 LET 13=13+11 0860 RETURN 0870 IF S=1 THEN GOTO 0920 0880 REM FIND THE DIFFERENCE BETWEEN SIDE ONE AND SIDE N 0890 LETX9[S]=X[I + I3]-X9[S1 0900 LET Y9[S)=Y[I + I3)-Y9[S) 0910 LETZ9[S]=Z[I + I3]-Z9[S] 0920 RETURN See Sol at all these fine computer centers AL: Birmingham: Computer Center, Inc., (205) 942-8567. CA: Costa Mesa: OrangeCounty Computer Center, (714) 646-0221. Los Angeles: Computers Are Fun, (213) 475-0566. Modesto: Computer Magic, (209) 527-5156. Mountain View: Digital Deli, (415) 961-2670. Walnut Creek: MicroSun Computer Center, (415) 933-6252. CO: Boulder: Byte Shop, (303) 444-6550. CT: Bethel: Technology Systems, (203) 748-6856. FL: Ft. Lauderdale: Byte Shop of Ft. Lauderdale, (305) 561-2983. Miami: Byte Shop of Miami, (305) 264-2983. Tampa: Microcomputer Systems Inc., (813) 879-4301 . IL: Lombard: Midwest Microcomputer, (312)495-9889. ID: Boise: Byte Shop Computer Store, (208) 345-381 1 . IA: Davenport: Memory Bank. (319) 386-3330. KY: Louisville: Martronix Associates, (502) 459-0500. MD: Silver Springs: Computers Etc., (301) 588-3748. Towson: Computers Etc., (301) 296-0520. MA: Waltham: Computer Power. Inc., (61 7) 890-4440. MO: Florissant: Computer Country, (314) 921-4434. NJ: Cherry Hill: Computer Emporium, (609)667-7555. Iselin: Computer Mart of New Jersey, (201) 283-0600. NY: Endwell: The Computer Tree, (607) 748-1223. New York: Computer Mart of New York, (212) 686-7923. White Plains: The Computer Corner, (914) 949-3282, NC: Raleigh: Bennett-Stiles Computer, (919) 781-0003. OH: Akron: The Basic Computer Shop, (216) 867-0808. OR: Beaverton: Byte Shop Computer Store, (503) 644-2686. Portland: Byte Shop Computer Store, (503) 223-3496. PA: King of Prussia: Computer Mart of Pennsylvania, (21 5) 265-2580. Rl: Warwick: Computer Power, Inc., (401)738-4477. TN: Kingsport: Microproducts & Systems, (615) 245-8081. TX: Arlington: Computer Port, (817) 469-1502. Houston: Interactive Computers, (713)772-5257. Houston: Interactive Computers, (71 3) 486-0291 . Lubbock: Neighborhood Computer Store, (806) 797-1478. Richardson: Microstore, (214) 231-1096. UT: Salt Lake City: Home Computer Store. (801 ) 484-6502. VA: McLean: Computer Systems Store, (703) 821-8333. WA: Bellevue: Byte Shop Computer Store, (206) 746-0651. Lynnwood: Byte ShopComputerStore, (206) 775-7436. Seattle: Byte Shop of Seattle, (206) 622-71 96. Wl: Madison: The Madison Computer Store, (608) 255-5552. Milwaukee: The Mi Iwaukee Computer Store, (41 4) 445-4280. DC: Washington: Georgetown Computer Emporium, (202) 337-6545. CANADA: London, Ontario: Computer Circuit Ltd., (519) 672-9370. Toronto, Ontario: Computer Mart Ltd., (416) 484-9708. Vancouver, B.C.: Basic Computer Group Ltd.. (604) 736-7474. ARGENTINA: Buenos Aires: Basis Sistemas Digitales, 393-5299. AUSTRALIA: Prospect: A.J.F. Systems & Components, Pty. Ltd., 269 1244. Sydney: Automation Statham Pty. Ltd., (02) 709.4144. BELGIUM: Brussels: Computerland, 02/511-34-45. COLOMBIA: Bogota: Video National, 326650. DENMARK: Copenhagen: Peter W. Holm Trading Aps, 01-54366. PHILIPPINES: San Juan: Integrated Computer Systems. Inc.. 78-40-71. SPAIN: Barcelona: Interface S.A., (93) 301 7851. UNITED KINGDOM: Essex: The Byte Shop Ltd., 01 554 2177. Huntington: Comart, Ltd., (0480) 74356. VENEZUELA: Los Ruices, Caracas: Componentes Y Circuitos Electronicos TTLCA, 355591. 18 Mav 1979 © BYTE Publications Inc Circle 300 on inquiry card. Soli The small computer that won't fence you in. A lot of semantic nonsense is being tossed around by some of the makers of so-called "personal" computers. To hear them tell it, an investment of a few hundred dollars will give you a computer to run your small business, do financial planning, analyze data in the engineering or scientific lab — and when day is done play games by the hour. Well, the game part is true. The rest of the claims should be taken with a grain of salt. Only a few personal computers have the capacity to grow and handle meaningful work in a very real sense. And they don't come for peanuts. Remember, there's no free lunch. So before you buy any personal computer, consider Sol? It costs more at the start but less in the end. It can grow with your ability to use it. Sol is not cheap. But it's not a delusion either. Sol small computers are at the very top of the microcomputer spectrum. They stand up to the capabilities of mini systems costing four times as much. No wonder we call it the serious solution to the small computer question. Sol is the small computer system to do the general ledger and the payroll. Solve engineering and scientific problems. Use it for word processing. Program it for computer aided instruction. Use it anywhere you want versatile computer power! Build computer power with our software. At Processor Technology we've tailored a group of high-level languages, an assembler and other packages to suit the wide capabilities of our hardware. Our exclusive Extended BASIC is a fine example. This BASIC features complete matrix functions. It comes on cassette or in a disk version which has random as well as sequential files. Processor Technology FORTRAN is similar to FORTRAN IV and has a full set of extensions designed for the "stand alone" computer environment. Our PILOT is an excellent text oriented language for teachers. Sold and serviced only by the best dealers. Sol Systems are sold and serviced by an outstanding group of conveniently located computer stores throughout the U.S. and Canada. For more information contact your nearest dealer in the adjacent list. Or write Department B, Processor Technology, 7100 Johnson Industrial Drive, Pleasanton, CA 94566. Phone (415) 829-2600. In sum, all small computers are not created equal and Sol users know it to their everlasting satisfaction. Processor tn~ l — Lra ORIGIN -% CAMERA POSITION 2 CAMERA POSITION I V KNOWN VERTEX Figure 1 : To analyze perspective, two pictures of each side must be taken from two different distances. The line of sight through both cameras should be in line with a point on the object. fixed-focus camera. Under a discussion of theory there is a description of another technique, in which there is no restriction of constant focus. Enlargements of the photographs should be made to make measurements more accu- rate. I have found that there are always errors in reading values from photographs; the smaller the photographs, the larger the error ratio. gram. To illustrate the use of this program, a simulated run will be described. For this simulation a simple object was photographed (see photos 1 , 2, 3 and 4), and measurements taken. Four photographs were needed to represent two side views. (Note that for this object only two side views are necessary to see all the vertices.) In figure 2 each vertex of the object is associated with a letter. Table 1 gives the values of the coordinates measured from the four photographs. These measurements are provided to illustrate the simulation. In a normal run of the program these values would be provided to the program directly from the data tablet. The picture input program, written in BASIC, receives the information from the data tablet by making use of the BASIC CALL statement. The CALL statement activates an assembly language routine which handles the interface to the data tablet. This routine, not included here, must be supplied by the user. The simulation begins by having the program prompt with the question: Using the Picture Input Program With photographs and measurements, the user is ready to run the picture input pro- HOW MANY SIDE VIEWS ARE TO BE ENTERED? 2 In this example there are two side views. The new Pascal Computer System is driven by a unique 16- bit Pascal MICROENGINE™ — the first microprocessor hard- ware designed exclusively for direct high-level language execution. ■ The processor is incorporated into a single board computer system, the WD/90, which directly executes Pascal intermediate code generated by the University of California at San Diego (UCSD) Pascal compiler, Release Ill.O. ■ Since P-code output by the Pascal compiler repres- ents an ideal architecture for a computer executing Pascal programs and since the WD/90 directly executes P-code (no interpreter), these programs execute up to five or more times faster than equivalent systems. WESTERN DIGITAL 3128 Redhill Avenue, Box 2180 • Newport Beach, CA 92663 (714) 557-3550, TWX 910-595-1139 The WD/90 Pascal MICROENGINE'" Computer includes: ■ Pascal MICROENGINE™ processor ■ 64K bytes of RAM Memory ■ Two RS-232 asynchronous/synchronous ports (1 1 0-1 9.2K baud-full duplex) ■ Two 8-bit parallel ports (500 kHz maximum data rate) ■ Floppy disk controller with direct memory access (DMA), switch selectable for: single or double density (IBM format); mini or standard floppy; 1 to 4 drives (same type) ■ Floating point hardware (proposed IEEE standard) ■ Memory Mapped I/O ■ Enclosed power supply Complete UCSD Pascal Operating System (Release Ill.O) FOR FURTHER INFORMATION CONTACT DISTRIBUTOR: CIT (714) 979-9920 RETAIL: Your LOCAL COMPUTER Store OEM: Your WESTERN DIGITAL Sales Representative 20 May 1979 © BYTE Publications Inc Circle 388 on inquiry card. POWERFUL JNTERFflCES S-100 3 S+P INTERFACE CARD MODEL 3 S+P-100K - $159.95 MODEL 3 S+P-100A - $189.95 lfi'^l|lHi! A powerful I/O interface card for any S-100 BUS. Three serial ports and one parallel port. Fully hardware operated. No software initialization required. In addition, this board will operate with any software. User is able to select status bits to fit any software configuration. • SELECTABLE BAUD RATES: All baud rates are dip switch selectable. Each port can be set for its own baud rate. CRYSTAL CONTROLLED baud rates. This interface card can operate with any Microprocessor at any speed. The 3 S+P does not depend on the CPU for its originating clock. 110-9600 baud. • EASY CONFIGURATION: The 3 S+P is easy to set All port addresses are set by dip switches. Each port can be assigned independent of each other. • SOFTWARE COMPATIBLE: The 3 S+P will be compatible with most software arrangements due to the ability to set the status bits and the parity. Parity, character length, stop bits all set by dip switches. Each port can be set to its own individual arrangement. • HIGH QUALITY: The highest quality parts are used. P.C. Board is with plated through holes, solder mask, silk screen legend and gold plated contacts. • OUPUT ARRANGEMENT: All outputs terminate at the top of the card via a 26 contacts. Standard 26 pin IDC connectors mate with each port. RS-232, current loop at each serial port and full data lines at the parallel port connection. Operation is asynchronous mode, but can be configured for synchronous operation by minor reconfigu- ration. • FULL DOCUMENTATION: A complete manual of operation and construction is included. Easy construction and 3 hours is the estimated construction time. Just plug in, set the switches and enjoy all the different configured software. NO MORE changing the software to match I/O board. Just set the board and enjoy. "TRS-80 is a Irademark ol Tandy Corp S-100 VIDEO DISPLAY BOARD MODEL VID-100K (KIT) - $119.00 MODEL VID-100A (ASSEM.) - $139.00 • Provisions for plugging in keyboard. • 16 lines at 64 characters • Full upper and lower case. • Ascii key, character set, symbols, greek letters, and numbers. • 7x9 dot matrix in an 8x10 field. • Normal and reverse video, and blinking cursor. • Compatible with CPM. • A natural for text editing. • Comes with software driver in ROM which provides scroll up and down, full cursor positioning, flashing and field characters. Specifications are: S-100 BUS compatible, high speed 1 K memory. Voltage requirements - +8 volts @900MA, + 16volts @40MA. -16volts @ 100MA. Output is standard video. Epoxy glass double sided with plated through holes, solder mask and silk screened legend for easy assembly and servicing. S-100 EPROM PROGRAMMER +3 MODEL EPR-100K (KIT) - $129.95 MODEL EPR-100A (ASSEM.) - $159.95 All the same features of the TRS-80* model. Comes complete with interface cable, S-100 plug-in card. Totally self contained power suply, plus many other extras. S-100 DISC CONTROLLER CARD TRS-80* DISC DRIVES MODEL DC-80K (KIT) - $169.00 MODEL DC-80A (ASSEM.) - $189.00 With the use of our interface cable or S-1 00 BUS system for TRS-80* computers this card controls mini or 8" floppies. On board firmware with WDOS operating system, video driver, and keyboard driver which allows user to run any type of software available and emulates basic softwear driver resident in keyboard, if user so desires. WORLD POWER SYSTEMS, INC. 1161 N. El Dorado Place, Suite 333, Tucson, Arizona 85715 24 Hour Order Phone No: 602-886-2537 Circle 390 on inquiry card. BYTE May 1979 21 The program next states: READY TO PROCESS SIDE VIEW NUMBER 1. At this time the user should put the two photographs of side view 1 onto the data tablet. The program tells the user: PLACE THE STYLUS ON THE ORIGIN IN PICTURE ONE. The user should find the location of the origin in the photograph and indicate it a o c c N L SIDE VIEW I SIDE VIEW 2 Figure 2: Each of the vertices of the object is given a designation letter. Side View 1 Picture 1 Picture 2 Vertex X Y X Y A: - 3.3 -2 B: - 3.3 -12.3 -2 - 7.6 C: 40.1 26 D: 40.1 -10.6 26 - 6.7 E: -25.5 -10.6 -16.6 - 6.9 F: -25.5 44.5 -16.6 28.9 G: -19.4 -12 H: -19.4 47 12 30 1: 43.1 Side View 2 28.2 Picture 3 Picture 4 C: 39.9 25.6 J: 25 -11.8 15.6 - 7.3 K: 25 15.6 L: - 7.4 -10.9 - 4.7 - 7 M: - 7.4 45.9 - 4.7 28 M: -10.5 - 6.8 1: 43.8 28.3 Table I: A compilation of the data obtained from photos I and 2. The vertex designations are the same as in figure 2. For photos la and lb, L is 26.7 inches (67.8 cm) and the known vertex is I at location (0,11.75,0) inches (0,29.85,0) cm. For photos 2a and 2b, L is 27.3 inches (69.34 cm) and the known vertex is I at location (0,11.75,0) inches (0,29.85,0) cm. The common vertex to side views 1 and 2 is vertex C. with the stylus. In this example it is point O. Knowing this point allows the program to relate the data tablet's coordinates to the photograph's coordinates. The same is asked for picture 2: PLACE THE STYLUS ON THE ORIGIN IN PICTURE TWO. In preparation for the program, the user should measure the distance between the two camera positions. In this example the distance was 26.7 inches. HOW FAR WAS CAMERA ONE FROM CAMERATWO?26.7 The program next needs to know where in the photograph the vertex whose distance to the origin has been measured lies. This point should be located twice. Once in response to: PLACE THE STYLUS ON THE KNOWN VERTEX IN PICTURE ONE; and once in response to: PLACE THE STYLUS ON THE KNOWN VERTEX IN PICTURE TWO. Vertex 1 is the known vertex. From table 1 we see that values (0,43.1) and (0,28.2) would be the values provided by the tablet. In preparing for the program, the distance between the origin and vertex 1 was meas- ured. In X,Y,Z terms this distance is (0,11.75,0). This value should be entered in response to: ENTER THE X,Y,Z DISTANCE BETWEEN THE KNOWN VERTEX AND THE ORIGIN: (0,11.75,0). If more than one side view is to be entered, the other side views must somehow be related to the first coordinate system. This is done by finding points in the first side view which are also in other side views (see figure 3). Therefore, the program will ask the user to point to a vertex in side 1 which is also in side N. The first N vertices pointed to in side view 1 should be vertices which are also in other side views. That is, the first vertex in side view 1 should be a vertex which is also in side view 2. The second vertex pointed to in side view 1 should be a vertex found in side view 3, etc. (The program as presented in listing 1, for the sake of simplicity, assumes that only two side views are necessary, and that these side views are opposite (180°) to each other. For most objects these will be sufficient.) 22 May 1979 © BYTE Publications Inc The Personal Computer Line by OHIO SCIENTIFIC \*I r I IpJ4y!Adramatic breakthrough in price and per- formance. Features OSI's ultra-fast BASIC-in-ROM, full graphics display capability, and large library of software on cassette and disk, including entertainment programs, personal finance, small business, and home applications. It's a complete pro- grammable computer system ready to go. Just plug-in a video monitor or TV through an RF converter, and be up and running. 1 5K total memory including 8K BASIC and 4K RAM — expandable to 8K. wl i Ivl ■ Z 3>9>70: First floppy disk based computer for under $1000 ! Same great features as the C1 P plus more memory and instant program and data retrieval. Can be expanded to 32K static RAM and a second mini-floppy. It also supports a printer, modem, real time clock, and AC remote interface, as well as OS-65D V3.0 development disk operating system. \*£. m *\t)r\ Ij)byo! The professional portable that has over 3-times the display capability of 1 P's. Features 32 x 64 character display capability, graphics, full computer type keyboard, audio cassette port, and 4 slot BUS (only two used in base machine). It has 8K BASIC, 4K RAM, and can be expanded to 32K RAM, dual mini-floppies and a printer. C2-4P MF:$1599!ltsabig personal computing mini-floppy system at a special package price. Contains the famous C2-4P microcomputer with 20K static RAM, 5" mini-floppy unit for instant program and data loading, RS-232 circuitry (for optional modem and printer), and four diskettes featuring exciting games, personal, business and education applications. KjuL'Or ' 3> I y*7 ! The personal class computer that can be expanded to a full business system. Has all the features of the C2-4P plus an 8 slot BUS (3-times greater expansion ability than the C2-4P). Can be expanded to 48K RAM, dual floppies, hard disk, printer and business software. CZ"OP DPI $2599! A full business system avail- able at a personal computer price! The system includes the powerful C2-8Pmicrocomputer(32K RAM expandable to 48K), dual 8" floppy unit (stores 8-times as much information as a mini-floppy), and 3 disks of personal, educational and small business applications software. Has all the capa- bilities of a personal system including graphics plus the ability to perform Accounting, Information Manage- ment, and Word Processing tasks for small business. Contact your local Ohio Scientific dealer All prices, suggested retail * Monitors and cassette recorders not included. Ohio Scientific offers a com- bination TV/Monitor (AC-3P) for $115. Circle 290 on inquiry card. America's largest full-line microcomputer manufacturer 1333 S. CHILLICOTHE RD., AURORA, OHIO 44202 (216) 562-3101 All that remains is to point to a vertex IN PICTURE ONE POINT TO in picture 1 and then again to that vertex in VERTEX N; picture 2, and to continue until all of the vertices in that side view have been pointed and out. The program will ask: IN PICTURE TWO POINT TO HOW MANY VERTICES ARE TO BE VERTEX N. ENTERED :8 For example, the first vertex pointed to Eight is the answer for the first side view of this simulation. Then the program will ask: SIDE VIEW I SIDE VIEW 2 VERTEX A IN BOTH SIDE VIEWS Figure 3: When processing two different views, at least one point must be common to two views. In this example, vertex A is seen in both side views. u\ Figure 4: Three pictures drawn using data generated by the program in listing 1. The original information was obtained from photos I thru 4. Results Vertex Number X Y Z C: 1 10.7 1.3 A: 2 - 0.7 9.5 B: 3 - 0.7 - 2.7 9.5 D: 4 10.7 - 2.8 1.3 E: 5 - 6.9 - 2.8 0.7 F: 6 - 6.9 12 0.7 G: 7 4.5 7.2 H: 8 4.5 11 7.2 C: 9 10.6 1.3 J: 10 6.3 - 2.9 -4.9 K: 11 6.3 -4.9 L: 12 - 1.9 - 2.8 -2.3 M; 13 - 1.9 11.7 -2.3 N: 14 0,1 - 2.8 Table 2: Conversion of the measured data from table 7 into three-dimensional coordinates. is the common vertex. C is the common ver- tex in our simulation, so it is indicated first in picture 1 and again in picture 2. The data tablet provides the values (40.1, 0) and (26, 0). Then vertex A is pointed to in picture 1 and picture 2. Values (—3.3, 0) and (—2, 0) will come from the data tablet. This continues until all of the vertices of a side view have been entered. When it is time to process another side view, the program will say so, asking for the same information as it did in side view 1 (eg: where the origin and known vertex for this side view are, what are the measure- ments for the known vertex, and what was the distance between camera positions). Next, the different vertices should be pointed to, starting with the vertex common to side view 1 . When the program is finished, all the coordinates of the vertices will have been converted to three-dimensional coordinates, and represented inside the computer. Table 2 contains the results from this simulation. Displaying the Object With these results the object can be dis- played from any desired viewpoint. For example, let us say that two side view pic- tures were taken such that the directions of the pictures were perpendicular to each other. It would be quite simple to display the object from a viewpoint between those from which the photos were taken, even though no picture was taken from such a position. Figure 4 shows examples of dif- ferent viewpoints of the object photo- graphed. These figures were developed math- ematically, using the results of the picture input program, in the same manner that they would be developed by a program which displays objects three-dimensionally. Start- ing with just a few photographs, many such pictures of an object can be made. Some Theory How is it possible, that from two photo- graphs of one side of an object, all of that side's dimensions can be calculated? To answer this question, let us first examine the way in which perspective pictures are dis- played. For simplicity, we will assume that 24 May 1979 © BYTE Publications Inc IVe finally found a personal computer I respect* r - • ,' • • > _^ r ^ wJ^ It s a totally-integrat I OfYlfMlf^fllofl* I with full color graphics display, I V^M.1X|/1*^IS1U1. *.*♦ M , ini . t | is |. ( | rivc% illu | , | K . Ix , s( cos( personal i,s n °' *»rp™»w that professionals get excited about the Compucolor II, It's a totally-integrated 8080A system lor graphics display, built-in 51 K ratio available in a personal computer. The complete system is only SI i95; i: And that price includes 8K user RAM, RS-232C compatibility and random access file 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 16,481 individually-accessible plot blocks. And the I. V diagonal measure screen gives you 32 lines of 64 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, likea second disk drive and expanded keyboard, as well as expandability to32K of user RAM. Of course we also have a whole library of low-cost Sof-Disk IM programs, including an assembler and text editor. Visit your nearest computer store lor details. And | , while you're there, do some comparison testing. With all ^ ^^J «% «»■«» "' due respect to I lie ot hers, once you sec it, you'll be sold on ^^fiW J»iflii|i UCiIIOb the Compucolor ii. I I Corporation Compucolor Corporation Post Office Box 569 Norcro.. Circle 50 on inquiry card. 404/449-5996 BYTE May 1979 25 the outline of an object consists of straight edges which meet at vertices. Rounded edges are approximated by several straight edges. Putting an object into perspective entails transforming the edges' three-dimensional coordinates into two-dimensional coordi- nates. Internally, the computer represents the objects' edges as pairs of vertices. Since straight lines in three dimensions get trans- formed to straight lines in two dimensions, all that is necessary is to transform coordi- nates of their endpoints. The screen of a video display device is two-dimensional. We will call this plane the VIEWER Figure 5: The viewing screen can be considered as the picture plane to be viewed. Putting an object into perspective involves drawing straight lines between the object and an imaginary viewer. WIDE ANGLE picture plane (see figure 5). Putting an object into perspective involves drawing straight lines between the object and an imaginary viewer. The imaginary picture plane is also inserted between the viewer and the object. The objects' vertices are pro- jected to where the lines adjoining object and viewer intersect the picture plane. These points of intersection can be computed using similar triangles. Triangle ABC is similar to triangle ADE. The equation for a perspective transform is therefore: XP = DP(X)/Z YP = DP(Y)/Z where the X,Y, and defined in figure 5: Z directions are as and XP = X coordinate in picture YP = Y coordinate in picture DP = distance between viewer picture plane X = vertex's X coordinate Y = vertex's Y coordinate Z = distance between vertex viewer. Figure 6: The location of the picture plane determines the angle of view. A wide angle effect is produced by having the plane close to the viewer. A telescopic effect is produced by a picture plane far from the viewer. and The location of the picture plane with respect to the viewer determines the angle of vision. If the picture plane is close to the viewer, there is a wide angle effect. If the picture plane is far from the viewer there is a telescopic effect (see figure 6). The term DP in the above equations is that distance, and it is referred to as the. perspective trans- form of the lens of the camera. The object is displayed according to the values put into several equations. We know that the distance between camera and object is given by term Z, and that the angle of vision is given by term DP. To achieve rota- tion of the object, we use the equations below: XR = X x cos (angle 1 ) - Y x sin (anglel ) YR = X x sin (angle 1) + Y x cos (anglel). By rotating the object around two axes, any angle of rotation in three dimensions can be achieved. YR1 = YR x cos (angle 2) — Z x sin(angle2) ZR = Z x cos (angle 2) + YR x sin (angle2). Perspective is arrived at by applying the original transform equations: XP=DP(XR)/ZR YP=DP(YR)/ZR. 26 May 1979 © BYTE Publications Inc Circle 5 on inquiry card. ow You Can Make Your Own Unleash the Full Power of Your Personal Computer With the JLNewAladd Personal Programs™ Aladdin Automation now offers you the magic of a full range of 'ersonal Program™ series especially designed to support the most popular personal computers available today. Some Personal Programs™ will take you to faraway places of exciting, action-packed adventures. Others will bring fun-filled learning experiences home to you and your child. Still others are designed for your own use in the home or office. All Aladdin Personal Programs™are moderately priced. Visit your personal computer dealer today to see and experience the magic wailing for you in every one of the Aladdin Personal Programs™. (And if your dealer hasn't ordered f supply yet, then ask him tot Aladdin Automation for comp information on all the Personal Programs™ available r Welcome To The All-New World Of Aladdin. And Get Rea To Make Your Own Magic A camera is a device which produces a perspective transform. The procedure with the photographs and data tablet is to reverse the transform to produce the three-dimen- sional coordinates of the vertex. From the equations above, we see that there are five variables. The photographs give us values for XP and YP. If DP and Z are determined, values for X and Y can be computed. It can be assumed that DP in one photograph will be the same as DP in another photograph, as long as the angle of vision does not change. With two photographs taken with camera positions one behind the other, and with the distance known between positions, we have two sets of perspective transform equations and a relationship between Z in one photo to Z in the other photo: XP1(Z1) = DP(X) (1) XP2(Z2) = DP(X) (2) YP1(Z1) = DP(Y) (3) YP2(Z2) = DP(Y) (4) Z2-Z1 = L. (5) Subtracting equation 2 from equation 1 and substituting Z2= L + Z1: XP1(Z1) = XP2(L + Z1)or Z1 =XP2(L)/(XP1 -XP2). (6) Therefore, to learn how far the camera was from a vertex, all we need to know is the dis- tance between camera positions. Finding DP, the perspective transform, re- quires the knowledge of the coordinate in either the X or Y direction for one known vertex. For example, with a value for X known and a value for Z obtained through the use of equation 6, we can write an equa- tion for DP as: DP = Z(XP)/X. (7) Once a value for DP is obtained, values for X and Y are computed using the Z values computed and the equations: X: Y Z(XP)/DP Z(YP)/DP. (8) (9) Now every vertex's three-dimensional X,Y, and Z coordinates can be determined. These coordinates are given with respect to the edge of the camera. To orient them with respect to the origin, subtract the distance between origin and camera from each com- puted Z value. The first side of the object is now described three-dimensionally, inde- pendently of a viewing point or picture plane. To describe other sides of the object, the above equations must be applied again. Also, two photographs taken as above, an origin, one known vertex, and an additional vertex common to both side views must be sup- plied. This additional common vertex will be used to relate the values obtained in one side view to the values obtained in the other side view (see figure 3). Once all of the values are computed for the second side, the differ- ences are found between values computed in view one from values computed in the other view for the common vertex. These differ- ences in value are the offsets from one side's coordinate system to the other side's coor- dinate system. If these values are subtracted from one side's values, all vertices will be in relation to one origin. If this procedure is applied to all sides, the entire object is described. With the aid of your computer you can now display the object from any perspective you choose. You are not limited to the perspective of the photographs, and you can have the object placed at any distance or angle of rotation you like. Another Input Method There is another technique for entering three-dimensional information from photo- graphs into a computer. This technique is useful in cases in which, rather than meas- uring between the camera positions and the object, it is easier to measure the positions of several points on the object. For example, you may be taking a picture of a house, and have no convenient way to measure the dis- tance between the camera and the house. Yet it may be quite simple to measure the dimensions of a window frame. In this technique, rather than measure the distance between camera and object, the user meas- ures two vertex coordinates in reference to a third vertex which is to serve as the origin. The distance between object and camera need not be known, but the camera must point so that the origin of the object is in the center of the photos. Again, two photos are required. They should be taken parallel to each other, rather than taken one behind the other. Each photograph will have its own origin, and it is necessary to know the dis- tance between the camera's positions, or distance between origins. Three vertices from one photograph yield three equations: Z1 x XP1 = XI x DP Z2 x XP2=X2 x DP Z3 x XP3 = X3 x DP. Measurements of the object give X1,X2,X3, Z1,Z2, and Z3. Measurements of the photo- graph give XP1.XP2, and XP3. We can sub- stitute the differences for the Zs with Ls: 28 May 1979 © BYTE Publications Inc L1 =Z2-Z1 L2=Z3-Z1 Z1 x XP1 = XI x DP Z1 x XP1 = Z1 x DP (LI +Z1) x XP2 = X2 x DP (L2 + Z1) x XP3 = X3 XDP; and subtract the bottom equations from the top equations: Z1 Z1 (DPx (XI ~X2)) + (L1 x XP2) (XP1 -XP2) (DP x (X1 -X3)) + (L2 x XP3) (XP1 -XP3) and solve for DP. DP; ((XP1-XP2) X (LP2 X XP3))-((XP1-XP3) X (LI X XP2)) ((X1-X2) X (XP1-XP3))-((X1-X3) X (XP1-XP2)). Once DP is solved for, Z1 can be found for any vertex by using the two photographs' equations and knowing the distance between camera positions: XI = (Z1 x XP1)/DP X2= (Z1 x XP2J/DP Z1 = (XP2 - DP)/(XP1 XP2). Of course with Z1 determined XI and Y1 can easily be found: X1 = (Z1 x XP1) /DP Y1 = (Z1 x XP2) /DP. To enter data from the tablet with this technique, first indicate through a keyboard the values for the three known vertices, and then point to them in one photograph. This would allow the program to compute DP. Then, as in the other technique, point to a vertex in one photograph, and again to that vertex in the other photograph. More sides can be added, and eventually the whole object will be described. There are additional techniques for enter- ing three-dimensional data. For example, photographs may be taken with added amounts of rotation. This is particularly true in cases in which the user cannot take actual photographs, but has some means of deter- mining a few dimensions of the object. In these cases, the angles of rotation must be calculated in addition to DP, X, Y, and Z. Because the mathematics for solving the equations with rotation is more involved than the equations in this article, I have not discussed it here, except to mention that for each angle of rotation one more known value, a vertex coordinate, needs to be known before the equations can be solved." We're mot 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 Pluy Compatible • STATIC - No refresh required 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 * memory system, with a total storage capacity of 16834 words of 8 bit, each, I is switch selectable to any 4K I 'ting address, and a hardware I Titc protect switch is also included. [ system's storage elements an by 1 STATIC memory chip ih store 4 times as much ir ly 12% more space than the low I power 2102's. Typical access time is fast enough to work a 6800 based computer operating at 2 MHz and all systems t o fectory tasted at 2 MHz. jSIM ?BB0ADCASTIM* •fZIWl TvplcUaB 31336 Vh Colina*. Wesilakn Village, CA 91361 (213)889-9340 LH Send information on your M-16A D Send name of nearest dealer MLKSIfiMi. BROADCAST Circle 328 on inquiry card. May 1979 © BYTE Publications Inc 29 Technical Fopum M6809 is Silicon Technical Forum is a fea- ture intended as an interactive dialog on the technology of personal computing. The sub- ject matter is open-ended, and the intent is to foster dis- cussion and communication among readers of BYTE. We ask that all correspondents supply their full names and addresses to be printed with their commentaries. I— VHLjujM Kl,ttii L;.'l- M< tfr„" 1 ' ' • 1 ■1 r\ 7i |'S1 IHtt|'>'' ' «^— — f^jfoU^tttlm -. ,.: -r^| r i | i hee v Photo 7. A look at the 6809 device. Terry Ritter Joel Boney Motorola Inc H2565 3501 Ed Bluestein Blvd Austin TX 78721 In our recent article, "A Micro- processor for the Revolution: the 6809" (January, February, March 1979 BYTE), we tried to indicate that the specifica- tion, logic design, layout, and testing of a new microprocessor is a very big job. Throughout the project we were quite aware of the potential market for this new part, and the entire microprocessor design team made Herculean efforts to get it out as quickly as possible. The big push finally came down to getting the design ready for the mask shop before Christmas 1978 (we wanted to enjoy the holiday). Every metal line, every polysilicon line, every connection, and every tran- sistor in the entire layout had to be in- dividually hand checked. A checking team consists of two individuals. The first member, and leader, is a circuit engineer who can read the layout to identify transistors, verify their logic function and size, and trace the connec- tions between them. The second engi- neer monitors the checkout process on a logic-diagram blueprint, coloring each line and each gate as it is checked. This process continues until all gates and all lines are colored and until all paths are investigated on the layout. Uncovered errors are edited, replotted, and rechecked. The 6809 layout (with about 15,000 transistors) was completely hand checked three times in the last two weeks before Christmas 1978, in addi- tion to sophisticated computer spacing checks. Our EXORciser II based test system had been working for weeks with the 6809 breadboard (a gate-for-gate transistor-transistor-logic equivalent of the 6809). The working system had the new EXBUC09 monitor, and would run all our 6809 programs, including an 30 May 1979© BYTE Publications Inc 18,000 line diagnostic package. This pro- gram checks all registers, instructions, addressing modes, and numerous com- binations. Correct execution provides a characteristic pattern of address posi- tions as displayed on the logic analyzer. We disconnected the breadboard, popped the first 6809 into the socket and started testing parts at 7:30 PM on Tuesday, January 9 1979. None of the devices worked the first time, but we did get two that failed in exactly the same way. This is one of nature's hints. Naturally, we were disappointed that none of the parts passed all tests, but we knew the complexity involved in an LSI (large scale integration) device. After you have checked 5,000 gates they all tend to look alike, especially at 3 AM. All conductors look the same- there is no color coding on an inte- grated circuit. It is all too easy to miss a wrong connection, a shorted transistor, a floating gate, or any one of many possible errors. Thus, virtually all LSI devices require a sequence of mask iterations before a fully functional device is obtained. As weak areas are pinpointed by testing, new masks are obtained to improve yield. But the Motorola microcomputer design group has a history of producing functional, or nearly functional parts the first time, hence our disappointment. Resigned to the worst, we proceeded to write programs to narrow the error to a particular instruction or sequence of instructions, and hopefully to a par- ticular gate. After an hour of machine language testing, it became apparent that the error was random, not instruc- tion dependent, and possibly para- metric. That is, the malfunction was responsive to clock frequency, supply voltage, or operating temperature parameters. Finally, the Microcomputer Design Manager picked up a heat gun and train- ed it on one of two suspicious devices. Everyone was transfixed, watching the logic analyzer with renewed hope. There was one false start, then the 6809 made it once through all tests. More heat, and the 6809 was running all 18,000 lines of test code over and over again. Pande- monium broke loose, with cheers and congratulations all around. After some investigation, the minor temperature sensitive problems were identified, and masks were modified to produce customer samples... and Moto- rola is now in the 6809 business. ■ SHUGART SERENADE £~* COMPUTE* • I" Specify Verbatim II you want mini niiinn the whole l ilay.givc it quality Verbatim Corpoiatior ir machine to media. And al sage is quality Would Victor Rorgc kid you? Pot the iiiiniL ' 1 Gispcid's Circuit Cellar Photo 1: Example of an optical fiber transmitting a very bright light. The conductor is a single 40 mil plastic fiber. The light is generated by a helium- neon laser. Communicate on a Light Beam Steve Ciarcia POB 582 Glastonbury CT 06033 Coming up out of the Circuit Cellar is a rare occurrence, to the point where some of my friends have accused me of being a mush- room. I prefer to be likened to a mole— a more dignified species. We share a common bond of subterranean existence and fear of bright sunlight, but the mole's predicament is dictated by nature, and mine by choice. The Circuit Cellar is by no means a hole in the ground. It's heated, well-lit and looks more like a living room than a cellar. Even though it affords all the comforts of home, there are those occasions when a change of environment is required. It's not enough to walk out in the driveway, take a deep breath and run back into the cellar. Sometimes a complete change of surroundings is needed to shock the mind out of the doldrums and spark creativity (eg: a vacation). Since I usually don't have time for vacations, I take "business excursions for purposes of cerebral detoxification"or "ECDs" for short. For two months I had been wrestling with the details of an article on fiber op- tics and laser communications (this one). The hardware was completed very quickly, as with most of my projects, but the text dragged on for weeks. Lighting the wood stove in the Circuit Cellar became an all too easy chore using the piles of scrap paper I was generating. My graphospasms (ie: writer's cramps) were not bearing fruit. One time I even found myself sitting at my desk pushing pencils through the electric pencil sharpener until it started smoking. During times like this there was only one place to go — New Hampshire — to see the Colonel. My father-in-law, Colonel Foster, was the one person who could break me out of this slump. Between stories about old army buddies and spending the war in the Aleutians waiting for an invasion I would surely find some inspiration. "Colonel? Are you there?" After anx- iously dialing his telephone number and saying hello, I was left with silence at the other end of the line. . . "Colonel?" "Be right with you, Steve." As the re- ceiver was picked up again he apologized, "Sorry Steve, my man was at bat and I had to see the hit. You're a Red Sox fan, aren't you?" It would be in bad taste for me to suggest that my subterranean hideaway provided all the spiritual stimulation I needed and that chasing a little ball around in the grass was not in my spectrum of pursuits. "I quite understand your enjoyment of the game, Colonel. I hope your team wins," I replied, evading his question. During my statement I heard him roar again in response to the activities on the television. When I sensed a lull, possibly precipitated by a commercial, I continued, "Colonel, I need to get away. How would you like some com- pany tonight?" "Sure, you know you're always welcome. I haven't had anyone to tell a good army story to in a long time." 32 May 1979 © BYTE Publications Inc I told him I'd pack all the gear in the car and be there in three hours. Possibly I would feel better about writing once I arrived. The Colonel, sensing the termination of the commercial, quickly responded, "Three hours is great. The game is still in the first inning. If you hurry you may get here before it's over. . .gotta go now." One of the good things about living in New England is that everything is close. It was a scant 3 hour drive between Con- necticut and New Hampshire, but I drag- ged it out an extra half hour so I wouldn't be competing with the Red Sox for the Colonel's attention. As I pulled into the garage he came out to greet me. "Howdy," he said, slapping me on the back. From his exuberance I could tell that the Red Sox had just won the game. "Come on in and get settled. I'm ex- pecting a telephone call. . .oops, there it is now." Leaving the electronics junk in the car I followed him into the house. He was still wearing his lucky Red Sox baseball cap as he spoke. "Chester, wasn't the game great? I thought they were going to blow it in the 6th. . .You bet, I'm ready for tomorrow's game. If they can play like that again, the pennant is in the bag. . ." Suddenly Colonel Foster's expression changed, to amazement, then anger. He grabbed his cap, slung it into the chair he was standing near and complained, "Darn woman again!. . .What do you mean lucky! The Red Sox won through skill, not luck!. . .Go play with your WATS lines and let Chester and me talk." It was obvious that suddenly there was a third party to their conversation. "Beatrice, I don't care if you think it was an error. It was ruled as a single!. . . Yes, I know the 6th looked bad but that still doesn't mean they're just lucky. . ." It was becoming an argument between the Colonel and Beatrice. A hint as to her identity was provided when he re- sponded, "Beatrice, would you keep your opinions to yourself and let me talk to Chester? Chester, come on over for a private talk!" He slammed the reciever down on the phone, put his baseball cap back on, and slumped into the easy chair. "I just can't carry on a baseball conversation with that woman around." "Who's Beatrice?" "The switchboard operator for the town. We don't have all that new computer tele- phone stuff you city slickers have. We have Beatrice. When it's business or personal she's good and keeps her nose out. But, when it's baseball, Beatrice has to get her two cents in!" (Obviously what the Colonel and Chester needed was an alternate means of com- munication, such as CB.) "I've got a great idea, Colonel. Why don't you and Chester use CB radios in- stead of the telephone?" The Colonel led me to the bookcase in the study. I found myself staring directly at a CB radio. He flipped it on and said, "Tune in channel 19 and listen." The radio came to life. "Breaker one nine. . .breaker one nine. . . this is your Big Mama on this one niner. . . all you 18 wheelers just put the hammer to the floor and let Big Mama be your guide. . .I'll have a Smokey report in five, but first, the weather. . ." My eyes opened wide. "Is that Bea. . ." "Beatrice? You're darn tootin' it is. She's got an antenna tower on her house and radio gear that would put an FCC test laboratory to shame. I swear she's running a full gallon." "We tried CB a while back and it was useless." This time the conversation came from behind. Chester had let himself in and joined us in the study. He continued, "It all started when we telephoned the games to the tower." "Tower?" "I'm sorry, I guess the Colonel didn't tell you." Walking over to the window of the study and pointing to the adjacent mountain top roughly two miles away. "You see that structure on top of that hill? That's my tower. Well, not exactly my tower. I just work there. It's a combination fire tower and radio relay station. Oc- casionally I have to sit up there and monitor equipment during important transmissions. "What's that got to do with Beatrice?" "With all the interference from the equipment up there I can't use a radio or television to watch the Red Sox." (This was beginning to take on the aspects of a good mystery.) "The Colonel would tune in the game on his television set here, telephone me in the tower and then lay the receiver near the television so I could listen to the game. When Beatrice found out she'd bust in and add her commentary to the game. Do you know what it's like having a nosey Howard Cosell-type beating on your ear for three hours at a time?" I could only offer my sympathy. If there was a solution short of stringing two miles of wire I didn't see it yet. But I would continue to think about it. "Tomorrow is a very important Red Sox game. The pennant may hinge on it. Text continued on page 36 Warning: due to the nature of lasers, any prolonged skin contact or viewing of the laser beam is hazardous. Copyright © 1979 by Steven A Ciarcia. All rights reserved. May 1979 © BYTE Publications Inc 33 Wfe've worked like mad to cook up all your favorites. 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*or S-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 5 So Nobody Goes Away Mad. 7774 abte APPLE ROM ROM APPLE* flO/v, Oe/, 'cac &fi?@ >e s US &S 7. spcmas* 774Q K M & ana >NDi\, STre . SVr S6g An use i cou, Module tFIR. UP Pro 95 7470 APPi E3 era/. *n l ^?tota,iyjBCD '■'; ■ Warn. ' ch am ">abi e f req, 9en s , ring 'Or g "ency ' a ^r n , '°De, er Per, Tim able ( 'Hon •>V! 1 ' S PO fees mte, 9aii fa/ msa sureS 0rr >> !!*asu. rer ne n 'Pu, er, 'Hon Tier;' '^its Wetenc, 999 V Con 'DC- verier 00 7S20 7500 7590 ang e APPi Hot [ ai ^a e :; Unn s.. So , s ^t "° *90 ' I y a " s »or, , -"^"eo auZ >. - . <££** Inter, Gp/ 6 /PPc ' &n '"(err Du/S e 7570 APP L£ APPi_ E 6 Bet Mn a / °9- or Si2 9 W, ender 9ro U i 'na 00 APp LE Etch Soide ire Wr, Bo, a P So ard ard M e"ory T * S : °0l6K Ad Z On - $25 S21, 00 00 baun^r. ' e aiunnr> ' ••■. ' *2T.Oo S 2J.OO S ^0. 00 f rom c„ e •«** '?? P <-E,, ff) S . '"0, ; W ace '< av aiiabie g ,9 ^'0>i= 0a ^d ,-=,!■ accura, lr Heri=~ a Pa raiiei i a ,ara "cycb. Circle 37 on inquiry card. aetoeo- Sa <„, ' ab e//eo ' • • . "» s„/„ a '° »af *«'«,, -;■■ *n ss 6l/a '4am°^'sa re " TEMav1979 35 Text continued from page 33: Unfortunately, tomorrow is also a day I have to spend in the tower. I really want to listen to the game, but Beatrice is tough to listen to." I ran over to the window, looked at the tower in the distance, and noted the glass windows circling the observation deck. "What's the weather report for tomorrow?" "Cloudy and cool I think." Chester answered. "Good! Clear weather. . .Colonel, could the television set be moved in this room for the game tomorrow?" "I suppose so. Why?" I scanned the study looking for a con- venient AC power outlet and spied one by the window. "Perfect," I said. Both the Colonel and Chester were a little perplexed at my behavior. "What if I told you there was a way for Chester to listen to tomorrow's game undisturbed by Beatrice?" "We've tried everything. What are you planning?" "Wait here and I'll show you." I dash- ed off to my car and took a tripod, a long white rectangular instrument, a small black box with a lens at one end and a few patch cords out of the trunk. Dragging all the equipment into the study, I proceeded to assemble it, much to their amazement. "What's all this, Steve?" the Colonel asked. With as straight a face as I could muster I replied. "It's a laser." Both men, army veterans of two wars and thirty years' service, took two steps back and exclaimed, "A laser?" It was in- stantly apparent that the words laser and "death ray" were synonymous for them. Before I let them think I planned to rub out Beatrice, I quickly continued my ex- planation. "There are big lasers and little lasers. This is a little one. It won't bum anything or hurt anyone if used properly. Eye pro- tection is the only consideration necessary on this particular laser." "Do you always carry this stuff around with you?" the Colonel asked. "No. It just happens to be the topic of this month's article for BYTE." "What has this got to do with tomor- row's game?" Chester asked. "We're going to transmit the game to you in the tower on a beam of light." Their eyes opened wider but they re- mained receptive. "Let me demonstrate." I took the transistor radio, tuned it to a station and placed it on the coffee table. Taking a long patch cord, I plugged one end in the radio earphone jack, auto- matically silencing the radio speaker, and plugged the other into the rear of the laser. Aiming the laser, I turned it on. A red spot, about 1/8 inch diameter, shone brightly on the wall 15 feet away. "You're sure that won't burn the wall?" "Trust me." Next, I picked up the black box with the lens on it and turned it on. I walked over to the illuminated spot on the wall and interrupted the laser beam path with the box. When the beam intersected with the lens, music was heard! "That's the radio station you tuned in, all right, " Chester said. "Colonel, take that poker from the fire- place and wave it back and forth in front of the laser so it interrupts the beam." "Why. . .the radio goes on and off," he exclaimed a minute later. "Correction, Colonel. The radio doesn't go off, only the receiver, when it no longer "sees" the modulated laser light beam. Notice in addition that the beam barely spreads out at all over the 15 feet to the wall." "I think I get what you're driving at, Steve." "You've got it. Chester takes the re- 36 May 1979 © BYTE Publications Inc Circle 170 on inquiry card. ;v^ x\&* co^ g*** x<* o°v- v^^^o* 6 ^^ v^ A* ^o<- eO *> o^ V3T «*■ Va v ^O VC^ .<3^ aaOV- 1 o^ e ' >«*>' .<&<" *V>>* ~tfv O^ ~> <^ vO j*r .<** ,o<- n^ \^ N5i^ <3*> ©^ o& J^ 4 >& 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 8V2" wide paper ■ Quiet, non-impact operation ■ 6 month warranty Available now at computer stores and industrial distributors. Computer Printers International, Inc. 340 E. Middlef ield Rd., Mt. View, CA 94043 • 415 969-6161 Circle 53 on inquiry card. BASE STATION REMOTE STATION OPTICAL CABLE CONNECTOR Figure 7 : Block diagram of full duplex optical com- munications link. DATA IN OPTICAL TRANSMITTER OPTICAL RECEIVER 2 FIBER OPTICAL CABLE 3cZ OPTICAL RECEIVER DATA OUT OPTICAL TRANSMITTER DATA IN ceiver up to the tower tomorrow, aims it at this window using the gun sight scope on top. Then we turn on the laser which, in- stead of being connected to the radio, comes from the television. Voila! Instant uninterrupted Red Sox baseball. And, no Beatrice!" "Will it really work, Steve?" Chester asked. "Sure, and tomorrow we'll prove it." Before the next comment from anyone the telephone rang and Colonel Foster answered it. Chester and I listened and smiled. "Look, Beatrice, your team doesn't have a chance for the pennant. . .Are you still claiming that that was an error?. . . It wasn't just luck in the 6th I tell you. . ." Chester and I laughed. Beatrice was really giving the Colonel a run for his money, but there was a twinkle in his eye as he spoke. The Colonel was living what he enjoyed most — baseball. First on tele- vision and then blow by blow with Beatrice. Communicate on a Light Beam Most experimenters have never considered using a modulated light beam for data com- munication. I'm not suggesting that every- one throw out their twisted pair RS-232 lines and replace them with laser beams, but I do ask you to consider the commercial ad- vantages of such a concept and try a few experiments. When discussing modulated light com- munications, a definition of terms is in order. The two most often heard are lasers and fiber optics. It is important to recognize that one is a light source and the other is a light conductor. It is not necessary for them to be used together but this is often the case. I'll explain more about each later. A full duplex optical communication link is shown schematically in figure 1 . It consists of two pairs of optical transmitters and receivers which allow data to flow in two directions simultaneously. Data from the base to the remote travels on one line, while data from the remote to the base is on the other. This is a dedicated duplex hookup. Unlike the ones you've probably used, this one uses fiber optic cable rather than wire. In its commercial applications it can offer the following advantages: • Immunity to strong electrical or mag- netic noise. Fiber optic material is usually glass or plastic and since there is no electrical conduction there can be no induced electrical noise. • High electrical isolation. Since the data conductor is a dielectric material, the isolation between the transmitter and receiver is a function of distance. • Higher bandwidth and lighter cable. Optical modulation systems have inherently higher data rate capabilities and glass and plastic weighs less than copper. Bandwidth is typically TOO megabits. • Lower loss than coaxial systems. New low loss fibers extend transmission distance. • Negligible crosstalk. If each fiber optic channel is optically sheathed there is no crosstalk. Even adjacent unsheathed fibers rarely interfere with each other. • Ultimately lower cost than either coaxial or twisted-wire systems. The raw material (sand) used in making fiber optics is abundant, while copper gets increasingly more expensive. Cost for a data transmission system is ulti- mately based on dollars per megabit times distance. Since fiber optic sys- tems have higher bandwidths, the cost factor is slowly moving in their favor. 38 May 1979 © BYTE Publications Inc "Our inventory is our existence* Think we'd trust it to anything less than ScotcK 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 May 1979 39 INCIDENT RAY REFLECTED RAY •r»i n| sin 0| - n2 sin c?g REFRACTED RAY Figure 2: An example of reflection and refraction at an interface, such as the side of the optical cable. Key ingredients in any optical communi- cations system are the transmitters and receivers. The ultimate data rate is a func- tion of how fast the transmitter can turn on and off, sending one bit of information, and whether the light sensitive receiver can track this transition. If the date rate is very low, say 110 bps in your experimental setup, a simple incandescent light and cadmium sul- fide photocell will suffice. Higher data rates require much faster response and dictate use of LEDs (light emitting diodes) and photo- transistors or photodiodes. Common red LEDs will easily handle 100 K bits per sec- ond and most common phototransistors, if properly biased, will also suffice. Higher fre- Figure 3: Pictorial diagram of a single fiber illustrating the cladding and core boundary. Only light entering within the "acceptance cone" will be guided down the optical fiber as in figure 3b. Any rays outside this cone are not transmitted. CLADDING n ; quencies require specially fabricated LEDs or, if the transmission line is especially long, then laser diodes might be in order. It is important to know what each of the components in the system is and the way its selection affects the other components. The designs illustrated in this article are included to demonstrate a workable low frequency system which the personal computer enthu- siast may wish to build. The physical elec- tronics of high frequency commercial systems differ considerably, but the physical laws and general concepts are the same. Fiber Optics Fiber optics are just what they sound like - glass fibers which conduct light rather than electricity. To understand optical fibers we must look at a few definitions. An exam- ple of reflection and refraction is illustrated in figure 2. When a light ray strikes a bound- ary, partial reflection and partial transmission take place. The materials on either side of the boundary have particular constants n 1 and n 2 respectively (called indices of refrac- tion) associated with them. These constants are dependent upon wavelength of the light transmission and the speed of light through the material. Reflection and refraction are related as follows: Reflection 6 Refraction n-| sin 1 sin 6- The fiber has a core, a. light transmitting material of higher index of refraction sur- rounded by a cladding or optical insulating material of a lower index of refraction. Fig- ure 3a is a pictorial representation of a single fiber. Light enters the fiber at an infinite number of angles but only those rays entering the fiber at an angle less than the critical acceptance angle are transmitted. Light is propagated within the core of a multimode fiber at specific angles of internal reflection. When a propagating ray strikes the core/ cladding interface, it is reflected and zigzags down the core. This is further illustrated in figure 3b. ACCEPTANCE CONE HALF ANGLE SINGLE FIBER LED ILLUMINATION CONE 40 May 1979 © BYTE Publications Inc Circle 151 on inquiry card. Wm OUTWIT M\ ■J •) ! / >•■> i ri \ I '}> it i !'JJl!i I ) I ! I ,'J I J 1 ,'J otn»o«»J T m >XVj ^?#$?'- «; l rvKJ»: YOUR COMPUTER RETAILER NOW TRS-80, Apple II, Sorcerer, SOL and Southwest Tech 6800 owners: get more out of your personal computer. Get into action with G2 Bullseye!, Sea Battle, Confrontation and Attack! Sharpen your analytical abilities with G2's Outwit I, Outwit II and Mind Bender. Take a chance with G2's Beat the House. Check out your health with Clinic. And enjoy the challenging experience of two new G2 computer simulations: The Market and Wildcatting. Or get serious with three powerful new languages. Level III Basic for the TRS-80. Extended Basic for the SOL. And Standard Basic for the Southwest Tech 6800. All written by Microsoft— the Basic wizards. Exclusively from G2. A Product ol C Consumer Ct 1 286 North Li Our software has more so your computer does more. Great programming. Highest quality cassette. The most comprehensive instruction manual available. Plus source listing print-out of every application program in Basic. You can learn how the programs were written. We even encourage you to do your own re-programming to improve your skills! G2 software is available from computer retailers nationwide. If your local retailer doesn't have it, ask him to become a G2 dealer by calling us toll free: (800) 538-8540 (U.S.A.) or (800) 672-8691 (California). THE REASON J YOU BOUGHT ' YOUR COMPUTER. + 5V ; looii TRANSMITTER V> 3 i ?f TTL INPUT -) GE LED56 r^s r ' Ida 7437 1 S ' 2 r ( I GE LI4F2 OR \k/ EQUIVALENT rn Figure 4: Schematic of a simple low speed and short distance fiber optics com- munications interface. Photo 1 demonstrates that a very bright light can be transmitted through a single fiber. In this example the conductor is a single 40 mil plastic fiber with a helium-neon laser as an illumination source. A fiber optic transmission system using readily available components can be con- structed by any interested experimenter. A simple interface is shown in figure 4. An LED driven by a 7437 NAND buffer is focused into the end of a fiber optic bundle. The light emitted at the other end is focused on a phototransistor. When the light strikes the phototransistor it effectively grounds the input of the 74LS04, producing a high out- put. The connection between the LED, fiber optics, and phototransistor is facilitated through use of special optical connectors. Photo 2 shows an assortment of the type which should be used to build the interface in figure 4. Lasers The circuit of figure 4 is useful for only a short distance. This is due primarily to the low intensity of a standard LED. For greater distances a more intense light source is need- ed. This calls for a device such as a laser, an acronym that stands for light amplification Photo 2: Special connectors necessary to use fiber optics properly. Shown here (starting in the upper right corner and continuing clockwise) are a fiber optic cable with an end connector, a phototransistor in a TO-i 8 package, an exten- sion coupling which allows two cables to be connected, and a bulkhead receptical containing either an LED (light emitting diode) or phototransistor. 42 May 1979 © BYTE Publications Inc - 100% MIRROR PULSE LASER (5b) STEP I \/IIIIW/l/l/l/ll//l//lllll\ i i n i i i o o o o o o o 100% o o REFLECTIVE o o o o o o o o o o o o o o RUBY o o o SEMITRANSPARENT MIRROR -XENON FLASH LAMP OUTPUT BEAM -99% REFLECTIVE MIRROR , J..1.HJ.1.L by stimulated emission of radiation. Light from a laser is all the same frequency, unlike the output of an incandescent bulb. Laser light is referred to as coherent, and has a high energy density. It can travel great distances without diverging from a tight beam. The basic requirements for the creation of a laser are quite simple. We need a materi- al that can absorb and release energy. Next, we need an energy source for exciting this material and a container to hold and control the lasing action, such as a glass tube or solid crystal. In the actual lasing process, the laser ma- terial is placed inside the container, and then stimulated by means of an energy source into the emission of light waves. The laser beam is created by channelling the energy of these light waves into a particular and con- trolled direction. The result is a highly con- centrated, brilliant beam of tremendous power. Figure 5 is a schematic of the first laser invented by Dr Theodore Maiman and a pictorial description of the lasing process. The ruby laser is a pulse type laser which only produces a light output when the xenon lamp flashes. The best flash lamp can only be fired a few hundred times a second without extensive cooling apparatus. In a ruby laser this pulse mode operation is suit- able for cutting stone and welding steel, but not for data communications, because the duty cycle is too short and the energy den- sity too high for low cost fiber optics. The solution is to use a laser that operates con- tinuously, such as a helium-neon gas laser (5c) STEP 2 (5d) STEP 3 (5e) STEP 4 COHERENT LIGHT OUTPUT Figure 5: The first laser, invented by Dr Theodore Maiman, was made from a ruby rod excited by a xenon flash lamp. A schematic representation is shown in figure 5a. The laser builds up energy by the following process. In figure 5b the flash lamp is fired thereby exciting the electrons in the ruby rod. As the electrons drop back to their original energy level (step 2, figure 5c) they emit photons in random directions. In-step collisions of photons with other excited electrons start a wave front between mirrors (figure 5d). After many reflections back and forth between the mirrors, a wave front is built up until it contains sufficient energy to pass through the slightly less reflective of the two mirrors. This light output consists of coherent light. May 1979 © BYTE Publications Inc 43 SOLID STATE LASER GALLIUM ARSENIDE P-N JUNCTION ELECTRIC CURRENT Figure 6: Gas and solid- state laser light producing mechanisms. LASER LIGHT Photo 3: A laser on a tripod shooting across my living room. The laser is a 2.2 mW unit built by Metrologic Instruments of Bellmawr NJ 08031 (this particular model is the ML-969). This picture was taken at night; the trees outside are illuminated by outside flood lamps. SPHERICAL REFLECTOR OUTPUT BEAM (figure 6) or a laser diode which can be pulsed often enough to carry useful data. The He-Ne laser uses mirrors and electrical excitation in a manner similar to the solid crystal type except that the lasing action is continuous. Photo 3 shows a He-Ne laser in operation. The particular unit has a power output of 2.2 mW and is made by Metrologic Inc. This type of laser can be modulated (the power supply high voltage is modulated) and used to drive a fiber optic bundle, but it is not normally used in that application. The light output of a He-Ne laser is usually red. GAS LASER TUBE CONTAINING MIXTURE OF HELIUM AND NEON SPHERICAL REFLECTOR £L ELECTRODE HIGH VOLTAGE Wffim iJBBfel ftSEOfr H M i •— M\ nT ALTOS presents a new standard in quality and reliability AC/ ■■ WE'RE ALTOS COMPUTER SYSTEMS. Our SUN-SERIES ACS8000 business/scientific computer creates a new standard in quality and reliability in high technology computers. HIGH TECHNOLOGY The ACS8000 is a single board, Z80®* disk-based computer. It utilizes the ultra-reliable Shugart family of 8 inch, IBM compatible, disk drives. A choice of drives is available: single or double density, single or double sided. Select the disk capacity you need, when you need it: *4M, 1M, 2M, or 4M bytes. The ACS8000 features the ultimate in high technology hardware: a fast 4 MHz Z80 CPU, 64 kilobytes of 16K dynamic RAM, 1 kilobyte of 2708 EPROM, an AMD 9511 floating point processor, a Western Digital floppy disk controller, a Z80 direct memory access, Z80 Parallel and Serial I/O (two serial RS232 ports, 1 parallel port), and a Z80 CTC Programmable Counter/Timer (real time clock). In essence, the best in integrated circuit technology. COMPUTER SYSTEMS BUILT-IN RELIABILITY The ACS8000 is a true single board computer. This makes it inherently reliable and main- tainable. The board and the two Shugart drives are easily ac- cessible and can be removed in less than five minutes. All elec- tronics are socketed for quick replacement. Altos provides complete diagnostic utility software for drives and memory. QUALITY SOFTWARE Unlimited versatility. The ACS 8000 supports the widely accepted CP/M®** disk operating system and FOUR high level languages: BASIC, COBOL, PASCAL and FORTRAN IV. All available NOW. PRICE ACS 8000-1, single density, single-sided ['/, Mb] $3,840 ACS 8000-2, double density, single-sided [1 Mb] $4,500 ACS 8000-3, single density, double-sided [1 Mb] $4,800 ACS 8000-4, double density, double-sided [2 Mb $5,300 Brackets show disk capacity per standard two drive system. All models come standard with 32 Kb RAM and two 8" disk drives as shown above. Expansion to 64 Kb is $363 per 16 Kb. FPP, DMA, software optional. Dealer/OEM discounts available. Delivery: 30 days ARO, all models. *ZB0 is a trademark of Zilog, Inc. ••CP/M is a trademark of Digital Research. Inc. Circle 7 On inquiry card. 2338A WALSH AVENUE • SANTA CLARA • CA 95050 • (408) 244-5766 Figure 7: System configu- ration necessary for one computer to transmit data to another via a helium- neon laser beam. The schematic for the modula- tor and demodulator are shown in figures 8 and 9, respectively. Figure 8: A frequency shift keyed laser modula- tion Interface. This circuit accepts input from the computer's UART (univer- sal asynchronous receiver and transmitter). A logic 7 input produces a 2400 Hz output. An input of logic produces a 1200 Hz output. The power con- nections for the integrated circuits are shown in table I. The starred capacitor is either a mylar or poly- carbonate capacitor. COMPUTER A SERIAL OUTPUT MODULATOR / HELIUM-NEON LASER The most economical high intensity light source for long runs of fiber optics is the laser diode. Don't be so whimsical as to run out and buy one thinking you are going to make a ray gun — it should be just as easy to use as an LED. Laser diodes get very hot in operation and are generally operated only in pulse mode. An 8 W laser diode sold through the surplus dealer can have an average power of only a few hundred microwatts when used in pulse mode operation. Using laser diodes in continuous operation is beyond the talents and resources of most hobbyists and must be left to the commercial ranks for the moment. The light output from a laser diode is infrared and invisible to the human eye. Communicating on a Laser Beam While it is possible to demonstrate com- munication with a laser diode, it is much more dramatic with a He-Ne laser since you can see the beam. A He-Ne laser can be mod- ulated, but it cannot be turned on and off f5V SERIAL INPUT r^^ FROM UART I — " 5> ~ 10K y*20K IC5 4049 DISCHARGE IC3 NE555 THRESHOLD TRIGGER OUT FREQUENCY ADJUSTMENT O.OI^F* 4800Hz m to IC5 4049 I0K £ SET IC4a 4027 RESET If p— q COMPUTER 8 ii SERIAL INPUT \ DEMODULATOR PHOTO DETECTOR rapidly like an LED or diode. Instead the light intensity is modulated by the data signal. The Metrologic laser I used is a type ML-969 "modulatable" laser. It has a BNC connector on the rear and accepts a thru 1 V input for to 15 per cent intensity modulation. Any greater degree of modu- lation shuts off the lasing action. Figure 7 illustrates the system configura- tion necessary to transmit data from one computer to another. Figure 8 is the sche- matic of a FSK (frequency shift keyed) modulation interface which can be used as the input to the laser. A 4800 Hz frequency reference produced by IC1 is divided by IC2 to give either 2400 Hz or 1 200 Hz for a 1 or logic input respectively. The modulation input to the laser can be any 1 V input up to 500 kHz bandwidth. A transistor radio is a good test source for experiments. The receiver is shown in figure 9. The laser beam is directed at the phototransistor. With no modulation, the sensitivity is adjust- ed to set the phototransistor in the middle of its linear range. With the modulation turned on, the trigger adjust control is turned until the modulation data is seen at test point 1 . If using a transistor radio as the source, the analog output can be obtained at this point and the rest of the circuit is unnecessary. IC4b 4027 CLOCK RESET I OUTPUT ADJUSTMENT fL i0.005/i.F -) IV PEAK TO PEAK OUTPUT TO LASER m 46 May 1979 © BYTE Publications Inc The Only Computer Reference Book You Need. The one computer reference book that won't go out of date. Because we vow to supply updates— free— to registered Cookbook owners as long as we keep our loose-leaf binder edition in print. We'll send you new pages. You just pull out the old and plug in the new. Bad business? We don't think so. It's our way of supporting the people who supported us. After all, the Cookbook is your book. We've distilled the advice of hundreds of computer owners who've put together systems— and had to make them work. Working on a word processing system? We offer a quick and dirty hyphenation algorithm (used in the early phototypesetter machines) that you can do yourself in BASIC— and we tell you how the big machines do it. Accounts receivable? We have step-by-step recipes in our special machine independent "Cook- book" format— plus advice on what hardware you need, and how to hook it up. And for fun, we tell you how to do your astrological chart. Or tie your computer to the New York Stock Exchange. We even offer Merrill Lynch, Pierce, Fenner, and Smith's commondity market model— but offer no money-back guarantee on that one. Plus hardware profiles with the kind of nitty-gritty details you won't get anywhere else. And if the Cookbook doesn't cover your particular problem, let us know— we just may solve it in our next update. 'Cause if it isn't in the Cookbook, just wait— it probably will be. Yes, I'm hooked. Ship me the Cookbook. I enclose $15 plus $1.50 shipping. (We always ship by UPS. However, allow four weeks for "worse case" Cookbook supply problems. California residents add $.98 sales tax. Checks should be payable to "The Computer Cookbook." Or charge to Mastercharge or Visa). Name Street City State for Mastercharge/Visa: Card Numbers Signature Expiration Date Zip The Computer Cookbook / P.O. Box 4084 / Berkeley, CA 94704 See the Computer Cookbook at the 4th West Coast Computer Faire May 1 1-12-13. Our booth is Number 47— Downstairs in Brooks Hall, far left corner. Circle 52 on inquiry card. byte May 1979 47 JDCC CM < o< CO CVJ CC _1 UJ HO 7 U)t-t- CM CC tO = 03 * I- CC -J lO O UJ Q CC 10 2 IM < > I •J <0 10 ± UJ o 1-0. .10 r 4 - 3£ fee « fa iS ° >-' * "" N ? ^ § Si ^ -Si Is; <-> Si « e i O id S- w "1 ^ K ID So cri fe §1 U. •2 G s la £ g 8 2 § o S i, 5 o -vw- •-£ ~«- s § ^J 2 c > CM + r^ r~ r* r^ > CM 1 *r * « t ■O C 3 S a r~ l» - CO CO > LO + ^f « CO CO - CO a >■ 1- CO * CO _j in LO LO LO UJ z rs CM O en a 9 5 _J 5 E 3 Z O CN O CO O 5 10 CO l» O CO O 01 U o a •s I I" 8 su .0 I +5V IA FUSE TAPPED TRANSFORMER 18V CENTER IN4002 TYPICAL OF 4 f + I2V • 0~I2V Integrated circuits 1 thru 4 form a fre- quency shift keyed demodulator with a TTL (transistor-transistor logic) output which is sent to a UART (universal asynchronous receiver-transmitter). To tune this section, first connect a 1200 Hz signal source to test point 1. Turn potentiometer R2 until the output amplitude of IC3 test point 4 peaks. Then apply 2400 Hz to test point 1 and ad- just R1 until the amplitude at test point 3 also peaks. R3 adjusts the point at which circuit's output switches between logic levels. It should be set to follow the input at test point 1 with the shortest response time. While the 15 per cent modulation could be detected directly and converted to NRZ (nonreturn to zero) formatted data, the re- ceiver circuitry would be far more compli- cated. The combination of amplitude and frequency modulation techniques is intend- ed to add significantly to the chances that an experimenter will have success building it. The critical parameters (as with any optical system) are alignment and light level. And, while you may not have to transmit a Red Sox baseball game across two miles of New Hampshire woods, it's nice to know how if you ever have to do it. If you have any questions, ideas or com- ments on Ciarcia's Circuit Cellar please write to me and enclose a self-addressed, stamped envelope. I'm always interested in knowing what you readers think. Next month's "Circuit Cellar" topic will be biofeedback.* Figure 10: A triple voltage power supply for the laser modulator. computer mart of new jersey computer mart of Pennsylvania the microcomputer people® Computers don't make o computer store, PEOPLE do. Our people hove been involved with microcomputers since day one. We offer experience and expertise unparalleled in the microcomputer industry. Whether you ore in the market for a complete system, peripherals, custom software, service, or just some friendly advice; there simply is no other place to go. 530D.KolbPlh King ot Pruuia. PA 1V406 (213)263-2500 Circle 66 on inquiry card. May 1979 © BYTE Publications Inc 49 Product Description The Superboard II A Surprising Single Board Computer From OSI All' \F* ° : . 1*1-1 MIHIMW IllbBBBBBBBBBB t nine b.bdb II SH HfllGl Photo 7: The Ohio Scientific Superboard II single board computer, which features a 6502 processor, expandability, an 8 K byte Microsoft BASIC package on read only memory, and 1 K bytes of dedicated memory for video, sells for $279. +5 V power supply not included. Photo 2: OSI Challenger IP, electrically identical to the Superboard II, but with power supply and case, for $349. Christopher Morgan Executive Editor My first experience with an Ohio Scientific product (in fact, my first ex- perience with a personal computer) was with an OSI single board computer I bought in 1976. The unit sold for $99 and featured a row of eight switches and ac- companying LEDs (light emitting diodes) for entering machine language pro- grams. It had 256 bytes of program- mable memory, and no other I/O (in- put/output) besides the LEDs. Much has happened to the personal computer industry since then, and this is reflected in OSI's latest single board computer, the Superboard II. Actually a stripped down version of the Challenger 1P, the Superboard II is a no frills com- puter with surprising capabilities. The $279 price buys an assembled and tested unit with a 53 key upper and lower case keyboard on one board. The user must supply a + 5 V power supply and a video monitor or TV set with RF (radio fre- quency) converter in order to be up and running. The Superboard II comes with a machine language monitor and 8 K byte Microsoft BASIC in read only memory, 4 K bytes of user memory, and a Kansas City standard cassette interface. A 6502 processor forms the heart of the system. An intriguing graphics package is also supplied: the direct access video display has 1 K bytes of dedicated memory. BASIC PEEK and POKE commands are used to create the video display. 256 special graphics characters can be call- ed by the user for special applications including tanks and spaceships for 50 May 1979 © BYTE Publications Inc games, plus building block characters for generating bar graphs and the like. The Superboard II can also be bought with a cabinet and power supply includ- ed in the form of the Challenger 1P; the price is $349 to which the cost of a television monitor must be added. A variety of software is available from OSI for both units in the areas of games, business software, and educational soft- ware. Titles include: Tiger Tank; Lunar Lander; Breakout; Presidents Quiz; Trig Tutor; Math Think; Checking Account; Advanced Mathematics; Definite In- tegrals; Return on Investment; Load Calculator; Cash Flow Analysis; and many others. Evaluation Having an 8 K byte Microsoft BASIC package on board the Superboard II is a real plus, especially when you consider the price. I found the Kansas City stan- dard cassette interface to be rather slow when entering long programs, but pro- grams are listed on the screen while be- ing read —a real convenience. The 25 character by 25 line display format took some getting used to, but the characters are big and easily read. There is no provi- sion for screen clear. Not mentioned in the instructions is the fact that the keyboard must be in upper case mode for the user to enter programs and com- mands. This is a minor point, but one which might lead one to think that the unit is malfunctioning. One of the attractive features of this computer is its expandability. The Super- board II (and the Challenger 1 P) can be expanded with the addition of a 24 K byte programmable memory expander board, dual 5 inch floppy interface, port adapter for printer and modem, and an OSI 48 line expansion interface. An assember/editor and extended machine code monitor are also available. The unit can be upgraded to a 5 inch floppy system called PICODOS for approx- imately $650 additional cost. PICODOS is a limited single drive system that gives the user an 8 K byte work space and the ability to store up to eight programs on one disk. A full capability single drive computer system can be had for under $1000. The Superboard II is an excellent choice for the personal computer en- thusiast on a budget. ■ CJDhy reinvent the wheel? Graham-Dorian Software Packages are turn-key programs. We supply the source ... you tailor for your customers. And save months of tedious work! Here are sophisticated programs that meet the information processing needs of the business professional. Graham-Dorian packages are fully documented, including source code in each package and easily understood operator instructions. All programs compatible with any Z-80 or 8080 CP/M® system, and can be ordered in standard eight-inch disk either double or single density, or mini-floppy disk. Each package contains a disk with CBASIC-2 compiler, CBASIC-2 run command, XREF command, the Graham-Dorian software program in INT and BAS file form, plus a user's manual and hard copy source listing. Average 185K of programs per package. • Inventory Package — Can be connected with cash register for point of sale inventory control. Number of on-line items limited only by disk space available. • Cash Register Package — Creates daily sales reports containing information on gift certificates, paidouts, overrings, refunds, and how much in each category a salesperson sold. • Payroll Package — Handles 100% of all necessary payroll functions including state income tax tables for your state. Ideally suited for both large and small companies. • Apartment Package — Said one user, "Obviously, this was developed by apartment owners." The package fills virtually all the needs of apartment owners and managers. Ideal for projects with 75 units or more. $695.00 for any package listed above. Any single package order includes free CBASIC-2. Send for detailed packet of information explaining capabilities of each program and sample runs. Or, phone our software technicians. Watch for new Graham-Dorian Software Program releases. Attractive dealerships available. G^fl^k Graham-Dorian Software Systems ^^ ^^^^^B programs are copyrighted and require ^^tf^H ^^ licensing agreement. \/£j^n^^^V^F Visa an? eABCDEFGHIJKLMNO PQRSTUUHXY2E\3*_ ^abcdefghijklftno pqrstuwuxyz ♦* "9 for plot 'n' for blank 1 r' for restart •b' for backspace 1 1 ' load characters 's' saue characters 'e' exit progran 18k 7.2k 3k Open the manual and LOAD the cassette. Then get ready to explore the world of Programmable Characters' with the SCREEN MA- CHINE M . You can now create new character sets — foreign alpha- bets, electronic symbols and even Hi-Res playing cards, or, use the standard upper and lower case ASCII character set. The "SCREEN MACHINE" lets you redefine any keyboard character. Just create any symbol using a few easy key strokes and the "SCREEN MACHINE" will assign that symbol to the key of your choice. For example: create a symbol, an upside down "A" and assign it to the keyboard 'A' key. Now every time you press the 'A' key or when the Apple prints an 'A' it will appear upside down. Any shape can be assigned to any key! The "SCREEN MACHINE" gives you the option of saving your character symbols to disk or tape for later use. There is no compli- cated 'patching' needed. The SCREEN MACHINE is transparent to your programs. Just print the new character with a basic print state- ment. The "SCREEN MACHINE" is very easy to use. Included on the cassette are Apple Hi-Res routines in SOFTAPES prefix format. You can use both Apple's, routines and the SCREEN MACHINE to create microcomputing's best graphics. Cassette, and Documentation, a complete package $19.95 III ii \/ \/ \/ \/ [my [] \/ \/ £] n w \/ \/ \/ C3m/ C] \/ \/ \/ n/ n/ \s \/ w E3H\/ El \/ \/ \/ \/ \/ \/ \/ \/ tJB\/ E3 \/ V v \/ \/ \/ \/ \/ E3lr»/ \/ \/ \/ \/ If \s \/ \/ w \/ \/fl\/ \/ \/ \/ \/ v /\ y\ y\ /\ /\ /\tt/\ /\ /\ /s /\ ? /\ y\ /\ s\ /v / /\ /\ s\ /\ s\ / ~~ /\ /\ /\ E /\ /\ /\ E lul 24 23 22 21 28 19 18 1? 16 15 14 13 AN INTERPRETIUE MUSICAL LANGUAGE BY GARY J. SHANNON COPYRIGHT 1979 BY SOFTAPE '<■ is B" £961.6' SAMPLE SONG PROGRAM" ■ 5 20 "WRITTEN ON THE APPLE COMPUTER" H 3B T175 Ul P2 y. 40 E4/8 G/4 A5/6 B C/16 B/8 •-! 50 A F#4 E/16 F*/8 \. 60 G/8 E E D#/16 E/8 F»/4 D»/8 B/4 y. 70 E G/4 A5/8 B C/16 B/8 (. 88 A/4 F#4/8 0/4 E/16 Ft/8 MICROGAMMON 1.0 Learn, practice and inhance your Backgammon ability with a true competitor $14.95 APPLE-LIS'NER Voice recognition Software. Create your own pro- grams which 'listen' and understand 31 spoken words — English or Foreign. No hardware needed $19.95 APPLE TALKER Your Apple's voice. Create programs which talk to you in English or Spanish or any language $15.95 JUPITER EXPRESS Command your ship thru the hazards of the Asteroid belt between Mars and Jupiter $9.95 FORTE' A music language, written like basic, you use line numbers for your notes. You can trace line numbers or notes. You can even print the words of any song. Save your song to your Disk . $19.95 FORTH DL Is the creation of Wm. Graves. This language gives you faster execution of programs than basic and is easier to program than machine language. Our 100 page manual will teach you everything you will need. FORTH Xcomes complete with demo programs on one Apple diskette $49.95 WHERE TO GET IT: Look for the SOFTAPE Software display in your local computer store. Apple dealers throughout the United States, Canada, South America, Europe and Australia carry the SOFTAPE Software line of quality products. If your local dealer is sold out of SOFTAPE Software you can order it direct from us by check or Visa/Master Charge. If you have any ques- tions please call us at: BRIGHT PEN What is the difference between a light and a Bright Pen? Intelligent Software and extensive documentation . . . . $34.95 VISA 1-213-985-5763 Or mail your order to the address below. We'll add your name to our mailing list for free literature and announcements of new products. SOFTAPE! 10432 Burbank Blvd. • North Hollywood, CA 91601 Circle 329 on inquiry card. BYTE May 1979 53 For your SWTP 6800 Computer ... I PERCOM's" FLOPPY DISK SYSTEM Ready to plug in and run the moment you receive it. Nothing else to buy, no extra memory. No "booting" with PerCom MINIDOS™, the remark- able disk operating system on EPROM. Expand- able to either two or three drives. Outstanding operating, utility and application programs. PERCOM DATA COMPANY, INC. 211N.Kirby Dept.B Garland, Texas 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™, 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 MINIDOS-PLUSX An easy-to-use DOS for the small computing sys- tem. Supports up to 31 named files. Available on ROM or diskette complete with source listing $39.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 disk CHAINing $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 16K RAM and Linkage Editor (see below). Use one 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 used 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 $1 7.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 ™ trademark ol PERCOM Data Company, mc Ordering information To order, call toll free 1-800-527-1592. MC and VISA welcome. COD orders require 30% deposit plus 5% handling charge. Allow three weeks for delivery. Allow three extra weeks if payment is by personal check. Texas residents add 5% sales tax. PERCOM 'peripherals for personal computing' 54 BYTE May 1979 Circle 301 on inquiry card. E... Addon Mini-Disk for the TRS-80 Requires 16K RAM, Level II BASIC and Expansion Interface. PERGOM PERCOM DATA COMPANY, INC. 211 N.Kirby Dept. B Garland, Texas 75042 (214) 272-3421 To Order Call 1 -800-527-1 592 •RADIO SHACK and TRS-80 are trademarks ol Tandy Corporation which has no relationship lo PERCOM DATA COMPANY INC. Circle 301 on inquiry card. BYTE May 1979 55 Intel 8275 Motorola MC6845 National Semiconductor DP8350 Standard Microsystems Corp 5027 Format Lines by Characters fully programmable to 64 by 80 fully programmable to 1 28 by 256 mask programmable to 64 by 110 programmed options to 64 by 132 Microprocessor Compatability 8080 family (direct memory access only) all all all Simplest System Interface direct memory access via Intel 8257 shared memory shared memory shared memory Display Memory Size (maximum) 64 K 16K 4 K 4K Addressing linear linear linear row/column Scrolling line, character, page line, character, page line, character, page line only Cursor blink or steady, reverse video or underline blink or steady, reverse video or underline reverse video or underline, no blink reverse video or underline, no blink Interlace none video, or video and sync, or none none none or interlaced sync and video Light Pen yes yes no no Graphics Capability limited full full full Process MOS MOS ML MOS Power +5 V +5 V +5 V +5, +12 V Other Features (see text) on board line buffers; visual attributes high-speed timing on board self-loading for stand- alone use Table 7 : Summary of characteristics of four video display controllers. Text continued from page 52: such as 20, 32, 40, 64, 72, 80, 96, and 132 characters, from which the initialization program can choose. The NS DP8350 is mask programmed. Its characteristics are set by internal read only memories, the contents of which are deter- mined when the device is manufactured. Changing the display format with this part means unplugging the current unit and plug- ging in a differently manufactured unit. A number of stock formats, among them 24 lines by 80 characters, will be available, but if your particular needs are not met by a stock part, you must contract with NS to program a custom part, agree to purchase a certain quantity, and perhaps pay a one time mask charge. The SMC part has the ability to load its format parameters at power-up from an external read only memory, so that it does not have to be part of a microprocessor based system at all. It can therefore be used in a so-called "dumb" terminal. All of the devices may theoretically be interfaced to any microprocessor, but prac- ticalities limit the choices. The Intel part, being part of the 8080 family, is designed to interface to 8080 based systems via DMA (direct memory access) through the Intel 8257 DMA controller. This makes it difficult to interface the Intel part to non8080 sys- tems. In fact, since many people's S-100 bus 8080 systems will not support direct mem- ory access, the Intel part would be difficult to interface even to these systems. The Motorola MC6845, a member of the Motorola 6800 family, is easily interfaced to 6800 and 6502 systems, and can be inter- faced to 8080 and Z-80 systems. The NS and SMC parts have system interfaces similar to the Motorola part. The simplest method of interfacing the latter three parts is by means of shared memory, wherein the display memory appears to the processor to be ordinary programmable memory. Memory Usage The maximum size of the display refresh memory for each part is limited by the num- ber of refresh memory address lines coming out of the package. The Motorola part has 14 address lines, and the NS and SMC parts each have 12. The Intel part has access to the entire system memory through an attached direct memory access controller, and the system memory may be as large as 64 K (65,536) bytes. The Intel, Motorola, and NS parts access linear (sequential) re- fresh memory addresses, so there is a simple relationship between the refresh memory address of a given character and its position on the display screen. The SMC 5027, however, outputs ad- dresses in a row and column format which (without the addition of hardware to do ad- dress translation) causes inefficient use of 56 May 1979 © BYTE Publications Inc NorthStarT "Micro-Computer Products to Look Up to" Y \7^ I Horizon Disk Capacity Keeps Growing The Horizon is now capable of 720K bytes on-line! The Horizon can connect to four double density 5 1 /i" single-sided disk drives. Each of those drives can access 180K bytes of information. A four drive system accesses 720 K bytes! That's capacity you don't usually find in a microcomputer, but there's even more to come! The North Star disk con- troller board is designed so that two- sided disk drives may be added as soon as they become available from North Star. Existing Horizons will accommodate the new two-sided drives so North Star owners can simply add additional drives to up-grade their system. Each two-sided drive will access 360K bytes! That means the maximum on-line disk storage for the Horizon will increase to over 1.4 million bytes! New Cabinet for Disk Drives North Star additional disk drives are now available with the same high quality wood cover as the Horizon computer! The Additional Drive Cabinet (ADC) is designed to accept either one or two drives for the Horizon or for mounting North Star Micro Disk System drives. Like the Horizon, the ADC is available with either wood or blue metal cover. Included is a new power supply capable of powering one or two drives. The ADC is $129 in kit form. Assembled, with one drive the ADC is $599, with two drives $999. Pascal Now Available for Horizon The much-heralded Pascal language is now being offered for use with the North Star Horizon computer. North Inside view of Horizon with processor board, RAM board, disk controller, two drives, and power supply. Star, with the co-operation of the Uni- versity of California at San Diego, is now delivering a Pascal Program De- velopment system. North Star Pascal is ideally suited for developing large programs because of features such as: long variable names, block-structured control statements, and compilation. North Star Pascal is available on 5Vt" diskettes for use with the Horizon or Micro Disk System. North Star Pascal will operate with either the Z80 or 8080 microprocessor. Pascal, including documentation, is available in either single or double density versions for $49. An auxiliary Pascal diskette, contain- ing an 8080/Z80 assembler and some additional Pascal utilities, is available for $29. Complete information is avail- able at your local retail computer store. First Double Density, Now Double Memory The new North Star 32K RAM board (RAM-32) has doubled the memory density of the popular Horizon compu- ter. Available either with the Horizon or other S-lOObus computers, the RAM-32 runs at full speed -no wait states - with the 4 MHz Z80A microprocessor (as well as with slower Z80 and 8080 processors). Addressability of the RAM-32 is switch-selectable in four 8K regions. North Star RAM features like bank- switching and parity checking are standard. The parity checking capa- bility means that the RAM-32 is con- stantly diagnosing itself. That's a plus for your system. The fact that parity checking is a North Star RAM-32 stan- dard is a plus for your pocketbook! There is no extra charge for this impor- tant capability. A Horizon with 48K of RAM can be con- figured by using one North Star 16K RAM board and a RAM-32. Need more memory? 56K can be configured by using two RAM-32 boards with one 8K region switched off. NORTH STAR MDS, ZPB, FPB FOR OTHER S-100 COMPUTERS Upgrade your system with these North Star products — avai lable for any S-100 computer: Micro Disk System — a complete 5W floppy disk system, Z80 Processor Board, or the Hardware Floating Point Board. Horizon and RAM board prices are: Kit Assembled Horizon - 1-16K $1599 $1899 Horizon - 1-32K 1849 2099 Horizon - 2-32K 2249 2549 RAM-32 599 659 RAM-16 399 459 ■4 Atypical Horizon configuration: CRT, Hori- zon computer. Additional Drive Cabinet (ADC). W> NorthSlary Computers 2547 Ninth Street Berkeley, California 94710 (415) 549-0858 Circle 285 on inquiry card. BYTE May l l )79 57 display memory when the display dimen- sions are not integer powers of 2. For exam- ple, building a 24 line by 80 character display with the SMC part would require a refresh memory that is 24 by 128, or 3,072 bytes total. Of these, 1,152 bytes would not be displayed. Also, a program to manage the display would have to perform row and column calculations to locate a given screen position. Of course, additional hardware could be added to "linearize" the addresses, but this defeats the purpose of using one of these devices, namely, the reduction of hardware. Scrolling and Cursing All of the devices provide scrolling, that is, the ability to move data around on the display screen without actually moving the data in the refresh memory. The SMC device provides line scrolling only. An example of scrolling using the Motorola part is given in a later section of this article. All the parts provide for the generation of a cursor (ie: some way for a human oper- ator to determine the position at which the next character entered from a keyboard will be placed on the display). The Intel and Motorola devices allow a steady or blinking cursor consisting of an underscore or a re- verse video (black on white) block. The NS and SMC parts allow for underscore or re- verse video, but do not provide blinking. Video Signal Characteristics A standard North American television picture is composed of two frames of 262 1 /2 scan lines each, with scan lines from alter- nate frames interlaced vertically the width of one line, so that the resultant picture has 525 scan lines. Many computer video dis- plays use only about 262 scan lines, and are not interlaced. This limits the maximum number of character rows on a display to about 25. The Motorola part allows the use of interlacing to produce an aesthetically more pleasing display by doubling character dots vertically. This fills in what might otherwise be spaces on a high-resolution display. This is called interlaced sync, in Motorola's terminology. The Motorola and SMC parts also provide for interlaced sync and video, in which all 525 lines can be used for charac- ter formation, allowing as many as perhaps 50 character rows per display. The use of interlace does cause a flicker effect on ordinary white phosphor (P4) monitors, but computer experimenters with long per- sistence, green phosphor (P39) monitors may want to consider using interlace. Other Features The Intel and Motorola circuits provide support for a light pen, that is, a light- sensitive "wand" used by the display oper- ator to point to areas on the display screen to signify something to the attached sys- tem. This requires additional hardware to implement. The data displayed on the screen by the display controller need not be dot patterns from a character generator read only mem- ory. They might be dots forming part of a graphic image. Except for the Intel part, the display controllers support whatever graphics-generation hardware the system designer cares to attach to them. The Intel part is limited in this area because of its line buffers, which orient it toward char- acter generation only (more on this later). The Intel, Motorola, and SMC display controllers are manufactured by the MOS (metal oxide semiconductor) process, and do not include the so-called high-speed timing function of a display on the device. The National part, however, uses an l 2 L (integrated injection logic), with none of the speed limitations of MOS, so it does include the high-speed timing functions. This inclu- sion helps to reduce external parts count. (A discussion of just what these timing func- tions are follows in a later section of this article.) As mentioned earlier, the Intel display controller must interface to a system through a DMA controller such as the Intel 8257. The Intel display controller incorporates two 80 character line buffers. While it is display- ing a row of characters from one line buffer, it fills the second line buffer from the mem- ory by "stealing" some memory cycles. It then uses the second line buffer for display and fills the first line buffer from the third row of characters, and so on. The timing for a 24 line by 80 character display is such that up to 25 percent of a system's memory cycles may be taken by the display con- troller action. The Intel part's line buffers store 7 bit characters, so the graphics achiev- able with this part are limited to what can be displayed with a 128 character set, aug- mented by character-set switching (using additional hardware). A distinguishing feature of the Intel part is support for visual attributes. With only minimal external hardware, blocks of char- acters can be made to blink, be highlighted (higher than normal brightness), be reversed (black on white), be underlined, or have any combination of these four qualities. In addi- tion, two more attribute signals are provided that could provide color selection on a color display. 58 May 1979 © BYTE Publications Inc Color. VP-590 add-on Color Board allows program control of 8 brilliant colors forgraphics, 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. Great for supplementing graphics with sound effects or music. Set tone and duration with easy instructions. $24* Music. VP-550 Super Sound Board turns your VIP into a 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 upperand 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.* uxiliary Keypads. Program your VIP for 2-player inter- action games! 16-keykeypad 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 . computer power a board at a time. 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. CDP18S711 does not include video monitor or cassette recorder. ""Available 1st Quarter, 1979. The fun way into computers. RCA Circle 322 on inquiry card. BYTE May 1979 59 BUSV — U- REFRESH MEMORY 7 \ M1SC J CONT jr =fc CHARACTER /REVERSE VIDEO CHARACTER VIOEO DOT CLOCK 9MHz CHARACTER CLOCK 1.5 MHi t=0 CHARACTE GENERATOR 5 C=t SCAN LINE TIMING SCAN LINE OVERFLOW VERTICAL (ROW) TIMING ♦ 29 COUNTER HORIZONTAL OVERFLOW CHARACTER CLOCK Jfl VERTICAL SYNC HORIZONTAL (CHARACTER) TIMING + 96 COUNTER HORIZONTAL SYNC HORIZONTAL BLANKING COMPOSITE -O VIDEO OUT Figure 7 ; Block diagram of a conventional video display which uses TTL (transistor-transistor logic) integrated circuits. A Conventional Display Design To understand what the single integrated circuit video display controllers do, it is helpful to understand what functions a video Photo I : Video display circuit constructed from TTL (transistor-transistor logic) devices. This is the same TTL circuit discussed in the article text. display circuit must perform, and how those functions can be carried out with conven- tional TTL (transistor-transistor logic). Fig- ure 1 shows the block diagram of such a dis- play. A total of 32 packages (including the memory and character generator circuits) is required. The design is optimized for a 16 line, 64 character format. It uses the shared memory type of interface to the system. This interface scheme is simpler to imple- ment, and faster for sytem updates, than the cursor control interface used in TV Type- writer designs, but it does suffer from a "snow" effect when the system updates the display. A 9 MHz crystal oscillator provides the timing for the entire display. The 9 MHz signal is used to clock the shift register that feeds dots (or pixels) to the video combiner circuit, hence it is called the "dot clock." The character generator is a 5 dots horizontal by 7 dots vertical unit The dot clock fre- quency is divided by 6 to allow for the 5 horizontal dots in each character, plus one blank dot space between characters. The dot clock divided by 6 is called the character clock, and it controls the transfer of char- acters between portions of the circuit. The horizontal timing circuit is driven by the character clock. This circuit counts to 95, then resets itself to 0; therefore there are a total of 96 character intervals in each hori- zontal scan. The character clock rate of 1.5 60 Mav 1979 © BYTt Publications Inc MHz (9 MHz divided by 6) yields a character time of 0.666 ps. 96 character intervals per horizontal scan yield a scan time of 63.94 lis, or a frequency of 15,640 Hz, close to the television standard. Of the 96 character intervals, 64 are displayed, and 32 are blanked. At the end of each horizontal scan, another counter, the scan line counter, is incremented. It counts to 8, then resets itself to 0. Its output is connected to the character generator, to cause the character generator to output the correct line of dots for each scan line. Scan lines and 8 are blank, be- cause the character generator puts out no dots for these lines. There are, therefore, two blank scan lines between rows of char- acters. When the scan line counter resets to 0, the vertical (row) counter is mcremented. The vertical counter counts to 28, then re- sets to 0. The first 16 counts are used to display character rows, and the remaining 13 are blanked. The 29 rows of nine scan lines each yield a total of 261 scan lines per frame, a vertical scan time of 16.69 ms (63.94 ps times 261), and a vertical fre- quency of 59.9 Hz, close enough to 60 Hz to minimize any shimmy problems in the dis- play caused by power supply ripple or mag- netic fields. The addresses supplied to the refresh memory are produced by the horizontal (character) timing and the vertical (row) timing. The vertical address is incremented only when the scan line counter resets, so n Hi If B . m iiiiiiiii y** Photo 2: Printed circuit board from photo 1 after modification. Observe the wiring changes and "kluge board" attached to the back side of the board. The small kluge board contains the Motorola MC6845 video display processor, which has been grafted onto the original circuit. A mirror was used to show front and back sides simultaneously. IMMEDIATE DELIVERY ^ MODEL 40 300 LPM PRINTERS ■ Mechanism or complete assembly ■ 80-column friction feed ■ 80-column tractor feed ■ 132-column tractor feed INTERFACES • EIA-RS232 • Simplified EIA-Iike interface • Standard serial interface • Parallel device interface CCnCDAI Communications rtUCnML Corporation 11126 Shady Trail, Dallas, Texas 75229, (214) 620-0644, TELEX 732211 TWX 910-860-5529 MODEL 43 TERMINALS • 4310 RO (Receive Only) • 4320 KSR (Keyboard Send-Receive) • 4340 BSR (Buffered Send-Receive) INTERFACES • TTL Serial • EIA RS232 or DC20 to 60ma • 103-type built-in modem Circle 134 on inquiry card. May 1979 © BYTE Publications Inc 61 REVERSE VIDEO iTf= CHARACTER/REVERSE VIDEO DOT CLOCK 9MHI SYSTE DATA BUS BUS (■ [j- SYSTEM f >- ADDRESS (— A0-A9 R/W D— RESET O- - I Htt-Khi P v MEMOR fa fan: n 10 -t~l TT 1*1 CLOCK GENERATOR P "S ADDRESS ,. /i * \ g j MULT lPL EX ^J^ SYSTEM DATA BUS -t JT t=t MISCELLANEOUS CONTROL CHARACTER CLOCK 1.3MHz 6845 CURSOR HORIZONTAL SYNC VERTICAL SYNC VIDEO COMBINER COMPOSITE * VIDEO OUT Figure 2: Block diagram of a video display utilizing the Motorola MC6845 video display controller. that a given row of 64 characters of refresh memory is scanned nine times, in order to "paint" all seven scan lines of the characters, plus two blank lines. When the scan line counter resets, the vertical counter is incre- mented so that the next row of 64 charac- ters may be scanned. In order to center the display, the vertical sync pulse is produced at about the 22nd character row, and the horizontal sync pulse at about the 80th character interval. The circuit includes the capability of re- versing (ie: converting to black on white) any character with bit 7 (the most signifi- cant bit) on. Thiscan be used to highlight blocks of text, or generate a cursor. Normally the refresh memory is con- nected to the vertical and horizontal timing circuits through a multiplexer, which can be thought of as a 10 pole, 2 position switch. When the processor wants to update the dis- play, control circuitry switches the multi- plexer so that the address the processor wants to update is supplied to the refresh memory instead of the address the timing circuits would be supplying. The processor reads or writes the location. The memory output is probably not correct for the dis- play at that moment, so a segment of a dif- ferent character is substituted for the correct one, producing the snow effect if extensive updates are being performed. The snow can be eliminated by allowing the processor to access the refresh memory only when the display is blanked, but I did not include cir- cuitry for this in my design. Using the Motorola MC6845 Display Controller Figure 2 shows the block diagram of the display redrawn using the Motorola MC6845. The change is not striking. The 6845 has re- placed only three blocks, namely, scan line timing, vertical (row) timing, and horizontal (character) timing. The circuit using the 6845 has five fewer packages. The 6845 occupies about the same amount of board space, consumes about the same amount of power, and costs more than the TTL pack- ages it replaces. What have we gained by the replacement? For the person who is per- fectly happy with the 16 by 64 TTL design, nothing. However, the advantage of the 6845 lies in its programmability. The charac- teristics of the display of which it is a part are easily changeable. This means that the same circuit can provide formats other than 16 by 64, such as 25 by 40, 14 by 72, and 1 2 by 80. The 6845 provides hardware scrolling, a blinking cursor (in addition to the selectable reverse video carried over from the all TTL circuit), support for a light pen, and three interlace options. The programmability of the 6845 is in one way a slight disadvantage. An initializa- tion program must be run by the system be- fore the display will start up. The TTL ver- sion starts displaying immediately upon power-up, although the display will show at first whatever random characters the refresh memory contains at power-up. Motorola's diagram of the 6845's internal 62 May 1979 © BYTE Publications Inc Circle 335 on inquiry card. SSM "BLUE BOARDS' The Standard of Value «*•* » |^ ar t. CBI 8080 CPU Board •sec. JJJ. ■ pi Available assembled or as kits. If you're looking for outstanding value in S-100 boards you can't afford to overlook the "Blue assemb Boards" from SSM. The best or as kl combination of design, quality and price available anywhere. Innovative designs that feature versatility and reliable performance. Quality backed by a strong warranty. And prices that won't let you down. But value goes beyond the boards themselves. It's reflected in the company that stands behind them. And SSM has been known for unparalleled customer service since the beginning of the personal computing industry. With one of the broadest product lines in the S-100 marketplace, it's likely that SSM has the board you need. So, if you're looking for value, ask for the "Blue Boards'.' They're available at over 150 computer stores nationwide and abroad. hi i I8 •I Ml II. | M * iim!1!jh| :i«S» i. : -o?-si' |HJ161SI1IH«I V a "H* mi las am 8080 CPU Board ... JOS" 4K Static RAM -. s-iTJ Music Synthesizer Board -. s=/it Memory Mapped Video Board .... 5=m SK Static RAM — am I/O Mapped Video Board ... Bm Low Power 16K Static RAM - am Parallel I/O Board . am 4K Static RAM/PROM - am 2 Parallel 6 2 Serial I/O Board - am 2K/4K EPROM Board -. =SSJ Vector Jump & Prototyping .. am 16K EPROM Board — Om 15 Slot Motherboard ... Om 2708/2716 EPROM Programmer.. ^SiTJ Extender Board ... 2116 Walsh Avenue Santa Clara, CA 95050 (408) 246-2707 Send for our free brochure and find out why so many hobbyists and OF.Ms have chosen SSM products. Music. We Figure 3: Functional block diagram of the Motor- ola MC6845 video display controller. Diagram used by permission of Motorola Semiconductor Products, Inc. V cc GND 1 \ R/W CS RS E RESET DO D7 MM L HORIZONTAL CTR(-r256) MC CE HORIZONTAL SYNC WIDTH CTR (-H6) MC CHARACTER ROW c CTRI-M28) MC VERTICAL CONTROL SCAN LINE r CTRl-^32) MC HEND ■ CLK • LINEAR ADDRESS GENERATOR c ESS REGISTER DECODER HORIZONTAL TOTAL REG. ) C °C HORIZONTAL DISPLAYED REG. K- >c HORIZONTAL SYNC POSITION REG. rr HORIZONTAL SYNC WIDTH REG )<°C VERTICA TOTAL REG ^ VERTICAL TOTAL ADJUST REG. V DISPLAY VERTICAL DISPLAYED REG 3 C ° VERTICA SYNC POSITION REG :d REG. V, | 5ITION r INTERLACE MODE REG. 3-C MAX SCAN LINE ADDRESS REG. CURSOR START REG. CURSOR CONTROL CURSOR END REG. START ADDRESS REG. \ RI6 J RI7 CURSOR ADDRESS REG. B LIGHT PEN REG. 3 — I \ displ; __) / ENABL structure is shown in figure 3. The charac- teristics of the display are set by values stored in the 6845's internal registers by a program run on the system processor. Some of the registers are written only once, at sys- tem power-up, to establish the format of the display. Other registers are updated period- ically as part of normal display usage. In order for the system to access the 6845's internal registers, the device is con- nected to the system data bus, the system 4>2 (phase 2) and R/W (read/write) control lines, to an address decoder, and to address bus line 0. The display now responds to two sets of addresses — 1 ,024 addresses cor- responding to the 1,024 screen positions, and to two additional addresses used to ac- cess the 6845's internal registers. I will call 64 May 1979 © BYTE Publications Inc Build your own microcomputer as you learn computer technology at home. New from NRI! The Most Complete and Up-to-date Home Study Course Ever Offered As the microprocessor revolutionizes the computer world and microcomputers appear almost everywhere, NRI brings you a new, convenient, and effective way to keep up with this expanding technology. It's NRI's Computer Technology Course, created and designed exclu- sively for learning at home in your spare time. Featuring NRI's Exclusive Dual Language Microcomputer NRI goes beyond book learning to give you practical, "hands-on" experience in designing circuitry, interfacing components, programming, and troubleshooting. As you learn, you actually assemble NRI's designed-for- learning microcomputer, incorporating the latest advances in the state of the art. It looks and operates like the finest of its kind, actually does more than many commercial units. But NRI engineers have designed components and planned assembly so it demonstrates important principles, gives you working experience in detect- ing and correcting problems. And it's yours to keep, put to work in your own home or business. You also build and keep your own test instruments, including a transistorized volt- ohm meter and CMOS digital frequency counter. And NRI's Discovery Lab® broadens your horizons with specialized experiments and theory demonstrations. The Proven Way to Learn at Home You don't have to worry with travel, classes, or time lost from work when you learn the NRI way. As they have for more than 60 years of teaching technical subjects, NRI brings the material to you. You study in your spare time, at your convenience, using "bite-size" lessons that program material into logical segments for easier assimilation. You perform experiments and build equipment using kits we supply. And your personal NRI instructor is always available for consultation should you have questions or problems. Over a million students have already shown the effectiveness of NRI training. Choice of Courses Several courses are available, depending upon your needs and J™ mm "" ~™ ~" background. NRI's Master Course in Computer Technology starts with the fundamentals, ex- plores basic electronics and digital theory, the total computer world, and the microcomputer. The Advanced Course, for students already versed in electronics and general comput- ers, concentrates on the microprocessor and mic- rocomputer. In both courses, you build all instruments and your own computer. Send for Free Catalog. . . No Salesman Will Call Get the details on these exciting new courses in NRI's free, 100-page catalog. Shows all kits and equipment, lesson outlines, and full information, including facts on other electronics courses. Mail the coupon today and we'll rush your catalog. No salesman will ever call. Keep up with the latest technology as you learn on your own computer. If coupon has been removed, write to NRI Schools, Computer Department, 3939 Wisconsin Ave, Washington, D.C. 20016. NRI Schools McGraw-Hill Conlinuing Education Center 3939 Wisconsin Avenue Washington, D.C. 20016 NO SALESMAN Will, CALL Please check for one free catalog only. □ Computer Electronics Including Microcomputers □ TV/Audio/Video Systems Servicing □ Complete Communications Electronics with CB • FCC Licenses • Aircraft, Mobile, Marine Electronics D CB Specialists Course D Amateur Radio • Basic and Advanced ,\.Wilvt>» H '" All career courses approved under GI Bill. □ Check for details. □ Digital Electronics • Electronic Technology • Basic Electronics □ Small Engine Repair □ Electrical Appliance Servicing □ Automotive Mechanics □ Auto Air Conditioning □ Air Conditioning, Refrigeration, & Heating Including Solar Technology (Please Print) Age Clly/State/ZIp Accredited by the Accrediting Commission of the National Home Study Council BYTE May 1 979 65 Listing 7 : Initialization routine for MC6845 as coded for the 6800 micro- processor. Listing 2: Initialization routine coded for the 6502 microprocessor. 0200 5F CRTINI CLR B INITREG # 0201 CE 0213 LDX #TABLE INIT TABLE PTR 0204 F7 E800 CRTLP ST A ,B CRTC STORE REGISTER NUMBER 0207 A6 00 LDA A 0,X GET TABLE VALUE 0209 B7 E801 STA A CRTC+1 STORE IN REGISTER 020C 08 INX NEXT TABLE VALUE 020D 5C INC B NEXT REGISTER NUMBER 020E C1 10 CMP B #16 LAST REGISTER? 0210 26 F2 BNE CRTLP REPEAT IF NOT LAST 0212 39 RTS RETURN TO CALLER 0213 TABLE FCB $5E,$40,$4D,$08 0217 FCB $1C,$02,$10,$16 021 B FCB $00,$08,$40,$08 021 F FCB $00,$00,$00,$00 0200 A2 00 CRTINI LDX #0 INIT REG AND TAB PTR 0202 8E 00 E8 CRTLP STX CRTC STORE REGISTER NUMBER 0205 BD 11 02 LDA TABLE,X GET TABLE VALUE 0208 8D 01 E8 STA CRTC+1 PUT VALUE IN REGISTER 020B E8 INX NEXT REGISTER 020C E0 10 CPX #16 LAST? 020E DO F2 BNE CRTLP REPEAT IF NOT 0210 60 RTS RETURN TO CALLER 0211 TABLE .BYTE $5E,$40,$4D,$08 0215 .BYTE $1C,$02,$10,$16 0219 .BYTE $00,$08,$40,$08 021 D .BYTE $00,$00,$00,$00 Photo 3: Display gener- ated by MC6845 con- trolled circuit. The 12 line by 80 character format is shown. Parameters illus- trated are values placed in 6845 registers by pro- gram executing on the main system processor. A 10.275 MHz crystal is used to correct for severe over- scan in the author's moni- tor. *mmmmmrommwmmmmmmtmmm*mmmmtttttmm * THIS IS THE 12 BY S3 FORMAT , * FOR THE MOTOROLA MC6345-C0NTR0LLED DISPLAY t PARAMETERS : R8 113 (6E) R139<53) R2 99 (5A) R3 3 (®) R4 27 (IB) R5 5(85) R6 12(80 R7 22 (165 **" 3 R3 8 (88) R18 8 (83) Rll 3 (833 R12, 13,14, 15 - AS REQUIRED * TIMING IS FOR 18.275 KHZ CRYS TAL t * FEATURES 1 EJfijjjgJEl JUl LNDER IHE CURSOR s Photo 4: MC6845 circuit generated display using 1 6 line by 64 character for- mat. Parameters shown and referenced are correct for 10.275 MHz crystal, which was left in place after demonstrating 12 by 80 format. See table 2 for parameters appropriate for 9.0 MHz crystal. tuumuummiumunummmmummuummun * * * THIS IS THE 16 BY £4 MC6845 DISPLAY FORMAT t * * nt Hd 12 cl Bo 2 84 (54) * TIMIf larawiayg reverse uideo ■ mmmtittummmmmmmmmmmmmmtmm 66 May 1979 © BYTE Publications Inc these latter addresses X and X+1 ; with the 6845's RS (register select) line connected to system address line (the least significant bit), these will be consecutive addresses. The first address, X, is the 6845's "pointer" register, which determines which register is accessed through address X+1. To write to a particular register, store the regis- ter number at X, and the desired value at X+1. A routine to initialize the 6845 coded for the 6800 is shown as listing 1, and a ver- sion for the 6502 as listing 2. The 6502 ver- sion is slightly shorter, because the 6502's X register can be used both as a table pointer and as the 6845 register number. Table 2 summarizes the function of each register and the values to be programmed into each register for three formats: 16 lines by 64 characters, 25 by 40, and 12 by 80. The detailed function of each register and the calculation of the values for the 16 by 64 format are as shown in the following seventeen examples. R0 Horizontal total. This register is pro- grammed with one less than the total num- ber of character intervals in a horizontal scan. A value of 94 provides for a total of 95 character intervals. This produces slightly better overall timing than the value of 96 character intervals used in the TTL circuit. The horizontal scan time is 95 X 0.666 jus = 63.27 jus, for a frequency of 1 5,800 Hz. R1 Horizontal columns displayed. A value of 64, equal to the number of characters displayed, is used. R2 Horizontal sync position. A value of 77 specifies that the horizontal sync pulse is to start at the 77th character position. This value centers the display on my particular monitor, but may be varied as needed for other monitors. R3 Horizontal sync width. This is spec- ified in number of character intervals. A value of 8 yields a sync pulse width of 5.33 /is, close to the television standard. R4 Vertical total. This register is pro- grammed with one less than the total num- ber of character rows. A value of 28 speci- fies 29 character rows. R5 Vertical total adjust. This register allows adding additional scan lines to the vertical display time to trim the vertical scan frequency, if required to bring it close to the power line frequency (to minimize display "shimmy"). A value of 2 is used here. R6 Vertical rows displayed. This register is programmed with the number of char- acter rows to be displayed, 16. R7 Vertical sync position. A value of 22 specifies that the vertical sync pulse is to be produced at the 22nd character row, which centers the display on my monitor. Other monitors may require a slightly different Register Function Value for 16 by 64 25 by 40 12 by 80 RO horizontal total 94 (5E) - 110I6E) R1 horizontal cols, displayed 64 (40) 40 (28) 80 (50) R2 horizontal sync position 77 (4D) 66 (42) 90 (5A) R3 horizontal sync width 8 (08) - - R4 vertical total 28 (1C) - 27 (1B) R5 vertical total adjustment 2 (02) - 5 (05) R6 vertical rows displayed 16 (10) 25 (19) 12 (0C) R7 vertical sync position 22 (16) 27 (1B) 22(16) R8 interlace mode (0) - - R9 maximum scan line 8 (08) - - R10 cursor start 64 (40) - - R11 cursor end 8 (08) - - R12 refresh start address (high order) 0* - - R13 refresh start address (low order) 0* - - R14 cursor address (high order) 0* - - R15 cursor address (low order) 0* - - R16 light pen (high order) ** R17 light pen (low order) ## Table 2: Appropriate values to-be stored in internal registers of MC6845 for several display formats. The decimal representation is given first, and the hexadecimal representation follows in parentheses. The values marked by one asterisk (*) may be updated during display usage. The positions marked by two asterisks (**) are for a light pen; this. design does not provide for a light pen. The values given for the 12 line by 80 character format should be used with a 70.275 MHz crystal. The values for the J 6 by 64 and 25 by 40 formats are specified for a 9.0 MHz crystal. Value Stored in R10 (decimal) Result 8 32 or 40 64 72 96 102 nonblinking reverse block nonblinking underscore no cursor fast blinking reverse block fast blinking underscore slow blinking reverse block slow blinking underscore Table 3: Summary of cursor options for Motorola MC6845. To produce results shown in table, a value of 8 must also be stored in R11 . value. The vertical sync pulse width is not programmable, as is the horizontal sync pulse width. It is fixed at 16 scan line times. R8 Interlace mode. This register is pro- grammed with 0, specifying no interlace (equivalent to the TTL circuit). Two other interlace modes are available, as mentioned previously, but these require a long per- sistence phosphor (P39) monitor. R9 Maximum scan lines. This register May 1979 © BYTE Publications Inc 67 * THIS IS THE 25 BY 48 FORMAT FOR * FOR THE MC6845 DISPLAY t PARAMETERS^ SAHE AS 12 BY 89 * EXCEPT: Rl 48 (48) X R2 72 (48) * R6 25 (19) X R7 26 (1A) * FEATURES^ UNDERLINE CURSOR. NOTE: THE MONITOR SCAN WIDTH HAS * * BEEN INCREASED SLIGHTLY AND SHOULD % % BE INCREASED EUEN MORE TO MAKE THIS * * FORMAT MORE READABLE. * t ' * * TIMING FOR 18.275 MHZ CRYSTAL * tttttnttntttttttttnttttttttmttttttt Photo 5: Display demonstrating 25 line by 40 character format, again pro- duced by the MC6845 circuit. As before, see table 2 for 9.0 MHz crystal parameters. • is programmed with the maximum scan line number that is to be presented to the char- acter generator, and is 1 less than the num- ber of scan lines per character row. A value of 8 causes the counter to run from to 8, then back to 0. This produces a total of nine scan lines per character row. Using this num- ber along with the others specified above, the resultant vertical timing is: 29 rows (R4) X nine lines per row (R9) = 261 scan lines. 261 scan lines + two lines extra (R5) = 263. Now, 263 X 63.27 jus per scan line = 16.64 ms per vertical scan, or a fre- quency just under 60.1 Hz, again close to the power line frequency. (Other values could be used to adjust the vertical fre- quency to 50 Hz, the common power line frequency in other countries.) RIO and R11 Cursor start and end. These registers, specify the format of the cursor. The values of 64 for RIO and 8 for R1 1 gen- erate a cursor which is a blinking reverse video block covering the entire character. For discussion of other cursor options see the section entitled "Cursor Generation." The above registers are write only. Values may be stored in them, but not read back. These registers are generally written to only once (when the system is first powered up) to establish the characteristics of the display. R12 and R13 Refresh start address. These registers are the high order six bits (R12) and low order eight bits (R13) of a 14 bit re- fresh address counter. For a nonscrolled dis- play, these are initialized to 0. For a scrolled display, these registers will be updated peri- odically; since they, too, are write only, copies of them must be maintained by the processor. More information on the use of these registers is given in the section on scrolling. R14 and R15 Cursor location. These registers are the high order six bits (R14 and low order eight bits (R15) of the location at which the cursor is to be displayed. When the refresh address output by the 6845 equals the cursor address, a cursor output signal is activated, subject to the constraints placed on the cursor by values placed in RIO and Rl 1 . More information on cursor gener- ation is in a later section of this article. R14 and R15 are in principle readable as well as writeable, but unless proper buffering is provided for the 6845, they cannot be read. The circuit presented in the next section does not have the proper buffering, so these registers are treated as if they were write only, and copies are maintained by the processor. R16 and R1 7 Light pen. These read only registers capture the refresh memory address at the instant a pulse is received from an ex- ternal light pen. The processor can thereby calculate where on the display screen the operator is pointing the light pen. I provide no circuitry to support this feature of the 6845. Display Design Description Figure 4 shows the schematic of the dis- play using the Motorola MC6845. The MC6845 being a MOS device (limited in counting speed to about 3 MHz), the high- er speed dot and character clock circuits are still TTL. These are the high-speed timing functions mentioned previously. They must be implemented with external TTL packages on the Intel and SMC parts as well. The National display controller includes the dot clock crystal oscillator and the character clock divider on the chip. IC10 is a 9 MHz crystal oscillator. IC9 and IC7a divide this by 6 to produce the character clock. IC9 counts from to 5; when it reaches 5, the output of IC7a goes low, conditioning IC9 to reset itself on the next clock pulse. Two variants of the char- acter clock are used. The output of IC7a goes high when IC9 goes from 5 back to 0, and a rising edge clock pulse is needed for IC2, IC4, an IC5. A falling clock is needed for IC1 and the 6845. Furthermore, the clock supplied to IC1 must be high a min- imum of 220 ns, and low a minimum of 160 68 May 1979 © BYTE Publications Inc 32K Board Pictured Above New RAM Prices. From The Dynamic Memory Company. 16K— $249 48K— $500 32K— $375 64K— $625 Ever since we started making these memory boards over a year ago we have continued to lower 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 16K 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 16K 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 May 1979 69 <0 *— 2 1 6 & -H AH An $ '1 *| ° |Q HI u. U _L_ in ■ ( '-:•- /( "280 4;:90 4300 4310 4 320 4330 4? 4 • 50 '■1360 4370 4O80 4.590 44 00 4410 4420 4 4 30 i*t* «*0 4450 ■'.60 4470 4 4 80 I 30 4 U 10 4: iO 4520 4530 'J 540 4550 4560 4570 REM REM REM RtM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM "EM REM " E M RtM REM REM REM REM REM RE.M REM REM REM REM REM REM REM REM REM RtM REM REM REM REM REM REM REM REM REM REM REM RcM REM REM SUBROUTINE TO COMPUTE MAP COORDINATES FOR RECTANGULAR PROJECTION. THE FOLLOWING VARIABLES MUST BE DEFINED BEFORE THIS SUBROUTINE IS CALLED! LI IS THE GEOGRAPHIC LONGITUDE AT THE LEFT-HAND LIMIT OF THE MAP. L2 IS THE GEOGRAPHIC LONGITUDE AT THE RIGHT-HAND LIMIT OF THE MAP. IF THE MAP CROSSES THE 180-DEGREE MERIDIAN (LE.i L1>L2)> THEN L2 MUST BE REDEFINED AS L2 = L2 + 6.2831853. Pi IS THE GEOGRAPHIC LATITUDE AT THE BOTTOM LIMIT OF THE MAP. P2 IS THE GEOGRAPHIC LATITUDE AT THE TOP LIMIT OF THE MAP. Cl IS THE GEOGRAPHIC LONGITUDE AT THE CENTER OF THE MAP- WHERE Cl = (Ll+L2>/2.0> AND must have been computed after L2 was REDEFINED IF IT WAS NECESSARY TO DO SO. C2 IS THE GEOGRAPHIC LATITUDE AT THE CENTER OF THE MAP. WHERE C2 = (P1+P2J/2.0 Fl IS THE MAP SCALE FACTOR IN THE HORIZONTAL (EAST-WEST) DIRECTION. Fl = D1/' WHERE Dl IS THE MAP LENGTH" IN CENTIMETERS OR INCHES. IN THE EAST-WEST DIRECTION. F2 lb THE MAP SCALE FACTOR IN THE VERTICAL (NORTH-SOUTH) DIRECTION. F2 = D2/(P2-Pl)r where d2 is the length in centimeters or inches of the map in the north-south direction. n is a flag to indicate whether the map crosses the 180-degree meridian (that is. whether l1>l2 before l2 is redefined). n=0 means that the map does not cross the 180-degree meridian. n><0 means that the map does cross it. l is the geographic longitude (obtained from the data base) of the point being converted- p is the geographic latitude (obtained from the data base) of the point being converted- THE FOLLOWING VARIABLES ARt COMPUTED BY THIS SUBROUTINE: Listing 1 continued on page 80 The flowchart in figure 1 has illustrated the principal features of the main program, and no attempt will be made here to detail it further, since there would be some varia- tion dependent upon your own hardware. In any case, it will be quite straightforward and simple. The remarks included in the listings fully explain the operation and use of each sub- routine, so those aspects will not be repeated in detail in the text. In fact, the greatest part of each listing is composed of remarks, with the actual executable portion com- prising only about ten to 20 statements in each case. Rectangular Projections This is probably the simplest projection in existence, and requires an absolute mini- mum of mathematics to generate. The meridians and parallels are simply laid out as equally spaced straight lines at right angles to each other. You can take a standard sheet of graph paper, for example, and let each space in the horizontal direction equal a degree of longitude, and each space in the vertical direction equal a degree of latitude. Plot a few geographic coordinates on the graph paper in this manner and you have a rectangular projection. The computer, of course, can do the job faster, and the subroutine given in listing 1 will serve quite nicely. Notice that no trigo- nometry is required, and that the actual con- version requires only two statements. Consequently, this type of projection can be carried out very rapidly, even when a large data base is involved. The rectangular projection is not a real "projection" in the true sense of the word, since it is arranged arbitrarily and there is no direct geometric relationship between it and the surface of the Earth. Nevertheless, for many purposes it works very well, especially if the latitudinal (north-south) extent of the area being mapped is not too great. It works best for areas near the equator, and becomes useless near the poles. (The meridians on the Earth converge at the poles, whereas they remain parallel to each other on the projection. The resultant dis- tortion above about 50 or 60 degrees latitude is usually unacceptable.) The accuracy of the projection can be significantly improved if the horizontal map scale factor, Fl, is adjusted to compensate for the convergence of the meridians. We can do this in the main program by computing F2 first, then computing F1 by Fl = F2 X COS(C2). This does not eliminate the con- vergence problem, but it does reduce its effect. '.j HI IE Mhi 1'J7>J Wondering which memory is best for you? bQ/e 2* offers the following products to the S-100 market at the industry's lowest prices: 8K Static Memory Board This 8K board is available in two versions. The 8KS-B operates at 450ns for use with 8080 and 8080A microprocessor systems and Z-80 systems operating at 2MHz. The 8KS-Zoperates at 250ns and is suitable for use with Z-80 systems operating at 4MHz. Both kits feature factory fresh 21 02's (low power on 8KS-B) and includes sockets for all IC's. Support logic is low power Schottky to minimize power consumption. Address and data lines are fully buffered and 4K bank addressing is DIP switch selectable. Memory Protect/Unprotect, selectable wait states and battery backup are also designed into the board. Circuit boardsare solder masked and silk-screened for ease of construction. These kits are the best memory value on the market! Available from stock . . . 8KS-B $125 (assembled and tested add $25.00) 8KS-Z $145 (assembled and tested add $25.00) 1 6K Static Memory Board Base 2 can nowofferthe same price/performance in a 1 6K static RAM as in its popular 8K RAM. This kit includes 8K bank addressing with 4K boundary address setting on DIP switches. This low power unit provides on-board bank selection for unlimited expansion ... No MUX board required. Using highest quality boards and components we expect this kit to be one of the most popular units on the market. Available in two speed ranges, the 1 6KS-B operates at 450ns while the 1 6KS-Z operates at 250ns. 16KS-B $285 (assembled and tested add $25.00) 16KS-Z $325 (assembled and tested add $25.00) Z-80 CPU Board Our Z-80 card is also offered in two speed ranges. The CPZ-1 operates at 2MHz and the CPZ-2 operates at 4MHz. These cards offer the maximum in versatility at unbelievably low cost. A socket is included on the board for a 2708 EPROM which is addressable to any 4K boundary above 32K. The power-on jump feature can be selected to address any 4K boundary above 32K or the on-board 2708. An On-board run-stop flip- flop andoptional generation of Memory Write allows the board to run with or without a front panel. The board can be selected to run in either the 8080 mode, to take advantage of existing software, or in the Z-80 mode for maximum efficiency. For use in existing systems, a wait state may be added to the M1 cycle, Memory request cycle, on-board ROM cycle, input cycle and output cycle. DMA grant tri-states all signals from the processor board. All this and more on tOD quality PC boards, fully socketed with fresh IC's. CPZ-1 $110 CPZ-2 $125 S-100 for Digital Group Systems This kit offers, at long last, the ability to take advantage of S-1 00 products within your existing Digital Group mainframe. Once installed, up to four S- 1 00 boards can be used in addition to the existing boards in the D.G. system. The system includes an "intelligent" mother board, ribbon cables to link existing D.G. CPU to the DGS-100 board and a power wiring harness. The DGS-1 00 is designed to fit in the 5-3/4" x 1 2" empty areain the standard D.G. cabinet. It may seem expensive but there's a lot here! End your frustration! DGS-100 $295 bo/e 2* inc. Send for more details on these products. Get on our mailing listfor information on more soontobeannouncedproducts at factory-direct prices from BASE 2. Why pay more when you can get the best at these prices??? P.O. Box 3548 • Fullerton, Calif. 92634 (714) 992-4344 CA residents add 6% tax MC/BAC accepted • FOB — U.S. destination Circle 22 on inquiry card. BYTE May 1979 79 Listing 7 continued from page 78: 1580 4590 4600 1610 1620 1+630 4640 4650 4660 4670 4680 4690 4700 4710 4720 4730 4740 4750 4760 4770 4780 4790 4800 4810 4820 4830 4840 4850 4860 4870 4880 4890 REM REM REM REM REM REM REM REM REM REM LET S REM REM REM REM IF N = IF L > LET L = REM REM IF L < IF L > IF P < IF P < LET S = RETURN REM REM LET X = LET Y = RETURN END S IS THE OFF-SCALE FLAG. S=0 MEANS ON-SCALE. S=l MEANS OFF-SCALE. X IS THE MAR X-COORDINATE. IN CENTIMETERS OR INCHES. Y IS THE MAP Y-COORDINATE. IN CENTIMETERS OR INCHES- = IF THE MAP CROSSES THE 180-DEGREE MERIDIAN. AND THE LONGITUDE OF THE POINT FROM THE DATA BASE IS NEGATIVE' REDEFINE THE LONGITUDE AS A POSITIVE ANGLE. THEN 4780 : THEN 4780 L + 6.2831853 IF THE POINT IS OUTSIDE THE LIMITS OF THE MAP- SET THE OFF-SCALE FLAG AND RETURN. LI ThEN 4830 THEN 4B20 THEN 4820 THEN 4860 L2 PI : P2 1 COMPUTE THE MAP COORDINATES FROM THE GEOGRAPHIC COORDINATES. (L - CI) * Fl (P - C2) * F2 The map of the continental United States shown in figure 2 was generated with the rectangular projection routine. Even though the area being mapped does not meet the requirements for high accuracy (ie: it is far from the equator; it has a fairly large lati- tudinal extent; and in the case of this partic- ular map, F1 was not corrected for conver- gence of the meridians), it is still entirely satisfactory for many purposes. Another interesting thing about the map in figure 2 is that it is made up entirely of dots. In response to an article of mine which appeared in another magazine, I received about three thousand letters over a period of about four weeks. These were requests for technical data which required that the geo- graphic coordinates for the center of the person's town be supplied. This resulted in a ready-made data base, and I became curious as to its distribution. It was a simple matter to have the computer examine the data base and draw a dot for each city rep- resented (eliminating duplications), using a rectangular projection. Notice that all dots are the same size, and *•*•••• • .* * • » • ^ «_• • • •• • . . i » ' •T r , : . * . • . ' .•» •• •. • . - v-» Figure 2: Rectangular pro- jection of the continental United States. Dots repre- sent locations of selected cities. "J HERE'S A QUICK POINT YOU SHOULD KNOW ABOUT The fastest floating point BASIC for any micro. TSC BASIC for the 6800 is the fastest floating point BASIC for ANY 8 bit micro- processor. No longer will the 6800 take a back seat to the 6502, 8080, or Z80! And with the TSC name, you know it's top quality. TSC BASIC is not only fast, but complete with over 50 commands and functions. Features include six digit floating point math, full transcendental functions, unlimited string length, if/ then/else construct, logical operators, and two-dimen- sional arrays including string arrays. The disk versions for FLEX™ 1.0 and 2.0 support random access data files (the mini FLEX™ version does not). A cassette version requires 10K while the disk versions require at least 12K. No source listings included. With KCS cassette - $39.95; mini FLEX™ -$49.95; FLEX™ 2.0 -$54.95; and FLEX™ 1.0- $59.95. Soon to come are a business BASIC and 6809 BASIC. T53 Technical Systems Consultants, Inc. All ordersshould include3% for postage and handling (8% on foreign orders). Send 25$ for a complete software catalog. Box 2574 W. Lafayette, IN 47906 (317) 463-2502 Circle 363 on inquiry card. BYTE May 1979 81 FLORIDA MIAMI 25 47N 80 12W Figure 3: Polar equidistant projection of the northern hemisphere. This map is overlaid with OSCAR sat- ellite tracking information for use by a ground station located at Miami FL NORTHERN HEMISPHERE that only one dot was drawn for each city, regardless of its population and regardless of how many letters were received from the city. No dot was drawn for any city (regard- less of its size) unless at least one letter was received from it. It took only a few minutes to set up the program to make the map, and only a few seconds for the computer to draw it. I then had an excellent graphical illustration of what I could only guess at by looking at the listing of the data base. Polar Equidistant Projections This is another rather simple projection, but one which has many important uses. Figures 3 and 4 show polar equidistant pro- jections of the northern and southern hemi- spheres, respectively. The parallels are drawn as equally spaced concentric circles, and the meridians as equally spaced radii. As seen in listing 2, the polar form of the map coordi- nates can be represented directly from the geographic coordinates by (PI/2-P,L), where P and L are the latitude and longitude, respectively. (PI/2, of course, is the equiva- lent of 90 expressed in radians.) These in turn are directly converted to rectangular coordinates by the standard polar-to-rectan- gular conversion formulas. The entire process requires only three statements in the subroutine. 82 May 1979 © BYTE Publications Inc FLORIDA 25 47N 80 12W MIAMI These particular maps were made for satellite tracking, for use with the amateur radio OSCAR communications satellites, and for tracking of weather satellites by amateurs who receive weather pictures in their homes directly from the satellites. In addition to the basic geographic information, the maps are overlaid with tracking infor- mation based on the location at which the map is to be used (Miami FL, in this case). The set of interconnected concentric "circles" around Miami are elevation angle contour lines. The radial lines that connect them are azimuth angle contour lines. The satellite's position over the surface of the Earth is plotted on the map, and if it falls anywhere within the interconnected "circles" it is within range of the ground station. The station antenna can then be pointed at the satellite, based on the information derived 180 0-6.7 SOUTHERN HEMISPHERE from the map. The radial lines give the an- tenna azimuth angle from true north in 30° increments (with additional 10° tick marks around the outer elevation contour). The concentric "circles" give the antenna eleva- tion angle in 10° increments, starting with the outermost circle at 0° elevation (ie: the satellite is exactly on the horizon at this point). The elevation increases inward, with the innermost circle being 80°, and the dot at the center (the location of the ground station) being 90° (ie: directly overhead). Figure 4: Polar equidistant projection of the southern hemisphere. This map is used in conjunction with the one in figure 3 to complete the sate/lite tracking coverage south of the equator. May 1979 © BYTE Publications Inc 83 The far outside arc, which is not con- nected to the inner elevation circles, shows the maximum communications range through the satellite. In order for the ground station to see and access the satellite, the satellite's ground track must lie within the inner set of interconnected circles, but once it comes within that area the spacecraft will relay the signals to a far greater range. The distant unconnected circle shows what the maximum possible range is. When used for Listing 2: Subroutine to compute map coordinates for polar equidistant projection. SUBROUTINE TO COMPUTE MAP COORDINATES FOR POLAR EQUIDISTANT PROJECTION. the following variables must be defined before this subroutine is called: p is the geographic latitude (obtained from the data base) of the point being converted. l is the geographic longitude (obtained from the data base) of the point being converted. f is the map scale factor, equal to d/3. 1415927, where d is the diameter (in centimeters, inches, etc.) of the finished MAP. H IS A FLAG TO INDICATE WHICH HEMISPHERE IS BEING DRAWN. H=0 MEANS NORTHERN HEMISPHERE- HXO MEANS SOUTHERN HEMISPHERE- THE FOLLOWING VARIABLES ARE COMPUTED BY THIS SUBROUTINE: S IS THE OFF-SCALE FLAG. S=0 MEANS ON-SCALE. S=l MEANS OFF SCALE. Rl IS TEMPORARY STORAGE. X IS THE MAP X-COORDINATE IN CENTIMETERS OR INCHES- Y IS THE MAP Y-COORDINATE IN CENTIMETERS OR INCHES- ; IF THE POINT FROM THE DATA BASE IS NOT IN THE HEMISPHERE BEING DRAWN, SET THE OFF-SCALE FLAG AND RETURN. THEN 3490 0.0 THEN 3500 FOR A SOUTHERN HEMISPHERE MAP, CHANGE THE SIGN OF THE LONGITUDE TO MAINTAIN THE PROPER MAP ORIENTATION. -L 5t0 = 0-0 THEN 3540 1 COMPUTE THE MAP COORDINATES FROM THE GEOGRAPHIC COORDINATES. = F * (1.5707963 - ABS(P) ) : Rl * C0S(L> : Rl * SIN(L) 3000 REM 3010 REM 3020 REM 3030 REM 3040 REM 3050 REM 3060 REM 3070 REM 3080 REM 3090 REM 3100 REM 3110 REM 3120 REM 3130 REM 3140 REM 3150 REM 3160 REM 3170 REM 3180 REM 3190 REM 3200 REM 3210 REM 3220 REM 3230 REM 3240 REM 3250 REM 3260 REM 3270 REM 3280 REM 3290 REM 3300 REM 3310 REM 3320 REM 3330 REM 3340 REM 3350 REM 3360 REM 3370 REM 3380 LET S : 3390 REM 3400 REM 3"+10 REM 3420 IF H = 3430 IF P > 3440 REM 3450 REM 3460 REM 3470 LET L = 3480 GO TO 3 3490 IF P > 3500 LET S = 3510 RETURN 3520 REM 3530 REM 3540 LET Rl 3550 LET X = 3560 LET Y = 3570 RETURN 3580 END weather satellite tracking, this circle takes on a slightly different meaning. In that case, it shows the most distant land areas that the station can expect to receive pictures of. In practice, a transparent plastic overlay showing the satellite's ground track is placed over the map to find the position at any given moment. Since the shape of the orbit doesn't change, only one ground track over- lay is needed, and it is simply rotated on the map to match up with the point where the satellite crosses the equator on that particu- lar pass. A more elegant system, however, is to generate the map and tracking overlays on a video display. The satellite's current location can be displayed as a flashing dot whose position is constantly updated in a real-time mode. Returning to the matter of the map itself, one realizes that the orientation of the map need never be changed, regardless of where the ground station is located. The subroutine shown in listing 2 generates the map from geographic coordinates, but this really needs to be done only once. A new data base can be made up of map coordinates, and every time a map is to be drawn the map coordi- nates can be fed directly to the graphics de- vice without having to go through the con- version calculations. On the other hand, the azimuth-elevation tracking overlays will change in position, size, and shape for every different ground station location and for every different satellite. A separate subroutine is required to generate sets of geographic coordinates to define the overlays, and that subroutine would in turn call the subroutine given in listing 2 in order to get the map coordinates with which to draw the overlays. Although the maps shown in figures 3 and 4 stop at the equator, they can be ex- tended further with no change in the program. In fact, it would be advantageous in this particular application to extend each of them another 20 or 30 degrees to provide some overlap. Extension much beyond 40 degrees, however, will result in excessive distortion. As a final note about the satellite tracking maps, you may have noticed that the longi- tudes are labeled from to 360 degrees. Not only that, they are positive westward. This convention used in satellite tracking is an exception to the standard rule stated earlier. But as far as we are concerned it makes no difference. It is simply the way the map is labeled. Our data base and conversion sub- routine still use the standard convention to generate the map. While we have concentrated on one specific application of the polar equidistant 84 May 1979 © BYTE Publications Inc The TARBELL Connection in an effort to offer products that meet the continually changing demands of the microcomputer industry, TARBELL ELECTRONICS is pleased to offer immediate delivery of these quality components and operating software. All TARBELL products are available from computer store dealers everywhere. Tarbell Floppy Disk Interface Tarbell Disk BASIC • Plugs directly into your 1MSAI or ALT AIR and handles up to 4 standard sin- gle drives in daisy- chain. • Operates at standard 250K per second on normal disk for- mat capacity of 256K bytes. • Works with modified CP/M Operating Sys- tem and BASIC-E Compiler. •Hardware includes 4 extra 1C slots, built-in phantom bootstrap and on- board crystal clock. Uses WD 1771 LSI chip. • Full 6-month warranty and extensive documentation. • Kit $190 Assembled $265. Specify drive for assembled units. Complete disk subsystems with opera- ting software available. Please inquire for details. • Runs on 8080, 8085 or Z80 • Searches a file quickly for a string. • Up to 64 files open at once. • Random Access. • Assignment of I/O. • Alphanumeric line labels allowed. • Read and Write string or numeric data. • Unlimited length of variable names and strings. • Procedures with independent varia- bles. • Number system 10 digits BCD inte- ger or floating point. • Chain to another program. • Cause programs to be appended on- to programs already in memory. • Cause interpreter to enter edit mode using 15 single character edit com- mands. Occupies 24K of RAM. Tarbell BASIC on CP/M Disk $48. Source on paper or CP/M Disk . . .$25. CP/M and BASIC-E on disk with manuals $100. Tarbell 32K RAM Memory 32K Static Memory S-100 Bus Connector 9 regulators provide excellent heat distribution. Extended addressing (bank switching.) Phantom line. Low power requirement. 20-Page operating manual. Full 1-year warranty. Assembled and tested full price only $625 16K version also available, assembled and tested only $390. Tarbell Cassette Interface _£ T iiiiiiiiiiTiimiiiitii)irnrfriiimiiifflg Plugs directly into your IMSAI or ALTAIR. Fastest transfer rate: 187 (standard) to 540 bytes/second. Extremely reliable— Phase encoded (self-clocking). 4 extra status lines, and 4 extra control lines. 3 7-page manual included. Device code selectable by DIP-switch. Capable of generating Kansas City tapes. No modification required on audio cassette recorder. Complete kit $120 Assembled $1 Manual may be purchased separately Tarbell Cassette BASIC Includes most features of ALTAIR Extended BASIC, plus these added features: Assignment of I/O. Alphanumeric line labels. Unlimited length of variable names and strings. Number system 10 digits BCD integer or floating point. Procedures with independent variables. Read and Write string data. Multi-file capability. Full price with complete documentation $48. Prepaid, COD, or cash only. California residents please add 6% sales tax. ALTAIR is a trademark/tradename of Pertec Computer Corporation CP/M is a trademark/tradename of Digital Research 75. $8. • Full 6-month warranty on kit and assembled units Circle 360 on inquiry card. 950 DOVLEN PLACE • SUITE B CARSON, CALIFORNIA 90746 (213)538-4251 • {213) 538-2254 BYTE May 1979 85 1000 REM 1010 REM 1020 REM 1030 REM 1040 RLM 1050 REM 1060 REM 1070 REM 1080 REM 1090 REM 1100 REM 1110 REM 1120 REM 1130 REM 1140 REM 1150 REM 1160 REM 1170 REM 1180 REM 1190 REM 1200 REM 1210 REM 1220 REM 1230 REM 1240 REM 1250 REM 1260 REM 1270 REM 1260 REM 1290 REM 1300 REM 1310 REM 1320 REM 1330 REM 1340 REM 1350 LET S 1360 REM 1370 REM 1380 REM 1390 LET L 1400 REM 1410 REM 1420 IF L 1430 LET L 1440 GO TO 1450 IF L 1460 LET L 1470 REM 1480 REM 1490 IF L 1500 IF L 1510 LET S 1520 RETURN 1530 REM 1540 REM 1550 LET Rl 1560 LET X 1570 LET Y 1580 RETURN 1590 END SUBROUTINE TO COMPUTE MAP COORDINATES FOR ORTHOGRAPHIC EQUATORIAL PROJECTION. THE FOLLOWING VARIABLES MUST BE DEFINED BEFORE THIS SUBROUTINE 15 CALLED: LO IS THE REFERENCE LONGITUDE (LONGITUDE AT CENTER OF MAP) • P IS THE GEOGRAPHIC LATITUDE (OBTAINED FROM THE DATA BASE) OF THE POINT BEING CONVERTED. L IS THE GEOGRAPHIC LONGITUDE (OBTAINED FROM THE DATA BASE) OF THE POINT BEING CONVERTED. R IS THE RADIUS OF THE FINISHED MAP. IN CENTIMETERS. INCHES. ETC. THE FOLLOWING VARIABLES ARE COMPUTED BY THIS SUbROUTINE; S IS THE OFF-SCALE FLAG. S=0 MEANS ON-SCALE. S=l MEANS OFF-SCALE. Rl IS TEMPORARY STORAGE. X IS THE MAP X-COORDINATE. IN CENTIMETERS OR INCHES- Y IS THE MAP Y-COORDINATE. IN CENTIMETERS OR INCHES- = ROTATE THE GEOGRAPHIC LONGITUDE OF THE POINT FROM THE DATA BASE TO REFERENCE IT TO THE MAP CENTER LONGITUDE- = L - LO NORMALIZE THE ROTATED LONGITUDE BETWEEN -1B0 DEGREES AND +180 DEGREES (-PI AND +PI). <= 3.1415927 THEN 1450 r L - 6.2831853 1490 >= -3.1415927 THEN 1490 r L + 6.2831853 IF OFF-SCALE (OUTSIDE THE RANGE FROM -PI/2 TO +PI/2). SET FLAG AND RETURN. < -1-5707963 THEN 1510 <= 1-5707963 THEN 1550 = 1 COMPUTE THE MAP COORDINATES FROM THE GEOGRAPHIC COORDINATES. - R * SINll-5707963 - ABS(P)) = Rl * SIN(D r R * SIN(P) Listing 3: Subroutine to compute map coordi- nates for orthographic equatorial projection. map (and a very important and useful appli- cation at that), one should remember that there are many other uses for it. Even if you have no interest in communications or weather satellites, you will probably sooner or later come across an application where it suits your needs perfectly. Orthographic Equatorial Projections Perspective projections are those which show the Earth exactly as it appears when viewed from some point in space. These are especially useful for generating images of the Earth for use in spaceship maneuvering, and for generating outline maps for overlay on weather satellite photos. In the orthographic equatorial projection, the point of view is at infinity, and level with the equator. As com- plex as this might sound, the math is actual- ly very simple, and the entire procedure requires only about a half dozen statements in the conversion subroutine, which is given in listing 3. Figures 5 and 6 show a pair of maps gen- erated by the program — the former centered on 70° west longitude and the latter on 90° east longitude. These are quite spectacular to generate in rapid succession on a video dis- play, simulating the rotation of the Earth or the passage of a spacecraft around the earth. Incrementing the center longitude by five or ten degrees between images gives a sufficient- ly smooth transition for most purposes, but the increment can be made as small as desired. It is true that not all spacecraft orbit the Earth at the equator, and the point of view is somewhat closer than infinity. For games, however, the simplicity of the mathematics required for projection often outweighs other considerations. c, c KIM ANALOG INPUT Analog to Digital Conversion System for the KIM Computer •YITIMl Give the K1H the ability to sense, nieasure* and control the world around it with DAM SYSTEMS modules. Just p-lusl the KIMSET1 into the KIM to del 16 channels of analoa input. Screw terminals are provided ■for each channel so you can hook up Joysticks * pots* or whatever appropriate sensors uou have* Each of the 1A analog inputs* in the ran^e of O to 5.12 volts- is converted to a decimal number between O and 255 (20 millivolts F-er count). Conversion tiiire is 100 microsconds. The K1MMOD provides one user port as well as a liAM SYSTEMS port. Software is provided. p-i O HSJ L^™"'" re, mma [*£- ] o [prf] ACCELCHATIOH LICII1 L£VEL 1 -AIM16T l-KIMMOD 1- CABLE A24 1-MANMOD1 I-P0W1 KIMSET1 16 ANALOG INPUTS ■ B BIT KIM ADAPTER I USER PORT ■ 100MICROSEC 24 INCH INTERCONNECT CABLE POWER MODULE [ as ] [ "z? 3 CONNECTICUT microCOMPUTER , Inc. 150 POCONO ROAD BROOKFIELD, CONNECTICUT 0S804 TEL: 1203) 775-9659 TLX: 7104560052 86 May 1979 © BYTE Publications Inc Circle 78 on inquiry card. Meet Super Grip II, the great new test clip from A P Products. 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 Intermittents. Steel pivot pin. Engineering-grade thermoplastic body molded around contact pins. Made to lastl l r •! f • ■ ? f f ? Mimmm 1 ' 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 is 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 110 • 72 Corwin Drive Painesville. Ohio 44077 Tel. 216/354-2101 TWX: 810-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 11 on inquiry card. BYTE May 1979 87 Figure 5: Orthographic equatorial projection cen- tered on 70° west longi- tude. This is a perspective view of the Earth, similar to that seen from a space- craft in a high orbit above the equator. If you need a more exact projection, pull out an old high school text on solid geome- try or analytic trigonometry and you can come up with the formulas you need to generate a map projected from any altitude over any point on the Earth. You will need to go ahead and do this if you plan to gen- erate map overlays for weather satellite photos, since some of the satellites are in very low orbits. TIROS-N, for example, is only about 854 km (531 miles) above the Earth's surface, and can see an area only about 6251 km (3884 miles) in diameter at any given moment. The picture image it transmits covers a significantly smaller area. By the time you get to the height of a geosynchronous satellite (35,800 km or 22,250 miles), you see all but about 9 degrees around the edges of the Earth's disc. That's less than the last little sliver between the outer edge and the outermost meridian lines on the maps in figures 5 and 6. At the distance of the moon, you miss less than one degree, so the orthographic projection is vir- tually perfect at this distance. That's also why most maps of the moon are printed using an orthographic equatorial projection. If you do write a subroutine to generate close-up perspective projections, you may find that in some cases the trouble is repaid with the advantage of needing to handle a considerably smaller portion of the data base at any given time. This is true because so much less of the Earth is visible in any one close-up projection. Depending upon exactly what you are doing, you may be able to par- tition the data base in such a manner that smaller hunks of it need to be accessed at a given time, cutting down on unnecessary input and output operations. 88 May 1979 ® BYTE Publications Inc VPS***' «*& COflPUTER SOFTWRRE For Homeowners, Businessmen, Engineers, Hobbyists, Doctors, Lawyers, Men and Women We have been in business for over nine years building a reputa- tion tor providing a quality product at nominal prices - NOT what the traffic will bear. Our software is: • Versatile - as most programs allow for multiple modes of operation. • Tutorial - as each program Is self prompting and leads you through the program (most have very detailed Instructions contained right Tn their source code). • Comprehensive - as an example our PSD program not only computes Power Spectral Densities but also Includes FFTs, Inverse-transforms, Windowing, Sliding Windows, simulta- neous FFTs variable data sizes, etc. and as a last word our software is: • Readable - as all of our programs are reproduced full size for ease in reading. • Virtually Machine independent - these programs are writ- ten In a subset of Dartmouth Basic but are not oriented for any one particular system. Just In case your Basic might not use one of our functions we have Included an appendix In Vol- ume V which gives conversion algorithms for 19 different Basic's: that's right, Just look It up and make the substitution for your particular version. If you would like to convert your favorite program into Fortran or APL or any other language, the appendix In Volume II will define the statements and their parameters as used In our programs. Over 85% of our programs In the first five volumes will execute In most 8K Basic's with 16K of free user RAM. If you only have 4K Basic, because of Its lack of string functions only about 60% of our programs In Volumes I through V would be useable, how- ever they should execute In only 8K of user RAM. For those that have specific needs, we can tailor any of our programs for you or we can write one to fit your specific needs. Vol. I Business & Personal Bookkeeping Programs Bond Building Compound Cyclic Decision 1 Decision 2 Depreciation Efficient Flow Installment Interest Investments Mortgage Optimize Order Pert tree Rare Return 1 Return 2 Schedule 1 Games & Pictures Animals Four Astronaut Bagel Bio Cycle Cannons Checkers Craps Dogtlght Goir Judy Line Up Pony Roulette Sky Diver Idnk leach Me Pictures A Newman J.F.K. Linus Ms. Santa Nixon Noel Noel Nude Peace Policeman Santa's Sleigh Snoopy Virgin Vol. Binomial Cht-Sq. Coeff Confidence 1 Confidence 2 Correlations Curve Differences Dual Plot Exp-Dlstrl Least Squares Paired Plot Plotpts Polynomial Fit Regression Stall Stat 2 T-Dlstrl button Unpaired Variance 1 Variance 2 XY APPENDIX A Vol. Ill Vol. IV Vol.V Vol. VI Beam Billing Bingo Andy Cap Ledger Conv Inventory Bonds Baseball Filter Payroll Bull Compare Fit Risk Enterprise ContkHO Vol. VII Integ ration 1 Schedule 2 Football Descrlp Integration 2 Shipping Stocks Funds! Differ Chess Intensity Funds2 Engine Lola Switch Go-Moku Fourier Macro Jack Horse Max. Mln. Navald Life Loans Integers Logic Medbll Optical Mazes Playboy Planet Poker Primes PSD Randl Popul Proflts Probal Quad roc Wdproc Rand 2 Quote Red Baron Solve Rates Regression 2 Sphere Wan Stars Retire Road Runner Utility Savings Roulette Track SBA Santa Vol. VIII Triangle Variable Tlc-Tac-Toe Stat to Statu 1040-Tax Vector Steel Top Vary Xmas Balance Checkbook lnst1o78 Maintains Company accounts and generates financial reports, includes routines tor Pyrl, Inv, Depr, A/R, A/R Designed to challenge the average player, fairly comprehensive. Great tun lor all, offers a unique opportunity for beginners In need of an opponent. For Doctors and Dentists alike, a complete patient billing system which also permits the maintaining ot a patient history record. Wordprocesslng tor lawyers, publishers, writers, etc. Write, store, and change from rough droit to final copy In a variety of formats. Disk utility program with memory testing. Taxpayers return, Itemized deductions or standard Reconciles bank statements Balances your checkbook Computes real cost on bank financed Items; cars, boats, etc. Computes depreciation, 4 methods, any time period Deprec2 APPENDIX C - FAVORITE PROGRAM CONVERSIONS Vol. I - $24.95 Bookkeeping Games Pictures Vol. II - $24.95 Math/Engineering Plotting/Satisfies Basic statement Det. Vol. Ill - $39.95 Advanced Business Billing. Inventory Investments Payroll Vol. IV - $9.95 General Purpose Vol. V - $9.95 Experimenter's Program Vol. VI - $49.95 Mini-Ledger Vol. VII - $39.95 Professional Programs Vol. VIII- $19.95 Homeowner* Programs AVAILABLE AT MOST COMPUTER STORES Master Charge and Bank Amertcard accepted. Our Software Is copyrighted and may not be reproduced or sold. Add $1.50 per volume handling, all domestic shipments sent U.RS. except APO and PO Box which go parcel post. Foreign orders add $8 00/ volume for air shipment and make payable In U.S. dollar* only £T> SCIENTIFIC RESEARCH ^^^ PO. Box 490099-B Key Biscayne, FL 33149 Phone orders call 800-327-6543 Information - (305) 361-1153 BYTE May 1979 89 Figure 6: Orthographic equatorial projection cen- tered on 90° east longi- tude. Here, the same type of projection as used in figure 5 is employed, but the view has been rotated 160° to the east. THE INDUSTRY LEADER IN AFFORDABLE HI-RES VIDEO ANALYSIS The Micro Works— FIRST to bring high resolution, low cost video to the micro world. Our Dlglsectors (we even coined the term) provide high speed, precise conversion of video signals to digital data— data you can manipulate to manage security systems, interpret bar codes and steer robots. We've been in the video business for a long time; our DS-68 for 6800 machines was the first video digitizer designed specifically for microprocessors and the first to sell at prices experimenters and hobbyists could afford. Its big sister, the DS-80, provides new features at an unprecedented price for S-100 micros. Both boards support high resolution, a 256x256 picture element scan, the precision of 64 grey scale levels, and speed— conversion times as low as 3 microseconds per pixel. The Dlglsectors are shipped with the software to digitize a full frame of video and store the image In memory. From there, you can output to disk, printer, or simply analyze the data for conditions your system is programmed to interpret. What else do you get for your money? A reliable, trouble-free board which you don't need to be a hardware or software wizard to operate. Dlgl- sectors are shipped assembled, burned In and tested; you ]ust plug them in and run. Our customers are happy; they use Digisectors In research applications, custom microprocessor systems, scanning devices, portrait systems and robotics. Isn't it time for your computer to get the whole picture? Price: DS-68 $169.95 DS-65 for the Apple DS-80 $349.95 COMING SOON! P.O. BOX 1110 DEL MAR, CA. 9SD14 714-756-E6B7 Master Charge Visa Accepted 90 May 1979 © BYTE Publications Inc Circle 231 on inquiry card. 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 ■■i^HBaBr^H^BaaHaaaHi 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 Qume" 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, ""i 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 Blocks 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 join, 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. Page 3 of 8 File=ADV1 Cursor row 28, col 43 * T 1 ♦ ♦ 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! The TM uoo&nsrnxcn TEXT EDITOR Defining the New Generation of Text Editing from Micro Diversions, Inc. 8455-0 Tyco Rd. Vienna, Va. 22180 (703) 827-0888 Direct CP/M ,R! 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 Ordering Information: $200 (Screensplitter™ Owners: S80) 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. Circle 219 on inquiry card. BYTL May 1979 91 Figure 7: Orthographic polar projection of the northern hemisphere. A spacecraft high over the north pole would see a view similar to this. 2000 REM 2010 REM 2020 REM 2030 REM 2040 REM 2050 REM 2060 REM 2070 REM 2080 REM 2090 REM 2100 REM 2110 REM 2120 REM 2130 REM 2140 REM 2150 REM 2160 REM 2170 REM 2180 REM 2190 REM 2200 REM 2210 REM 2220 REM 2230 REM 2240 REM 2250 REM 2260 REM 2270 REM 2280 REM SUBROUTINE TO COMPUTE MAP COORDINATES FOR ORTHOGRAPHIC POLAR PROJECTION. THE FOLLOWING VARIABLES MUST 3E DEFINED BEFORE THIS SUBROUTINE IS CALLED: P IS THE GEOGRAPHIC LATITUDE (OBTAINED FROM THE DATA BASE) OF THE POINT BEING CONVERTED. L IS THE GEOGRAPHIC LONGITUDE (OBTAINED FROM THE DATA BASE' OF THE POINT BEING CONVERTED. R IS THE RADIUS OF THE FINISHED MAP, IN CENTIMETERS. INCHES. ETC. H IS A FLAG TO INDICATE WHICH HEMISPHERE IS BEING DRAWN. H=0 MEANS NORTHERN HEMISPHERE. HXO MEANS SOUTHERN HEMISPHERE. THE FOLLOWING VARIABLES ARE COMPUTED BY THIS SUBROUTINE: S IS THE OFF-SCALE FLAG. S=0 MEANS ON-SCALE- S=l MEANS OFF-SCALE. Rl IS TEMPORARY STORAGE. Listing 4: Subroutine to compute map coor- dinates for orthographic polar projection. Orthographic Polar Projections This is another special case of the per- spective projection where the point of pro- jection is at infinity. This time, however, the viewpoint is located directly over the poles. As seen in figures 7 and 8, maps of this pro- jection suffer from compression of geograph- ic features near the equator, but this is a minor drawback considering the ease with which they are generated. Grid lines for the meridians and parallels were omitted from these two particular maps, so the distortion is really not so noticeable unless someone points it out to you. The differences near the equator will be apparent if you compare these maps to the polar equidistant maps in 92 May 1979 © BYTE Publications Inc Figure 8: Orthographic polar projection of the southern hemisphere. The projection is the same as in figure 7, but the vantage point has been shifted to a point above the south pole. figures 3 and 4. Nevertheless, those maps are mathematical projections designed for specific purposes, and the orthographic polar maps are much more realistic for other pur- poses (the orbiting spaceships, for example). The subroutine used to generate these maps is shown in listing 4, where only three statements are required for the conversion process. Although this sample routine does not provide for rotation of the map, this can be implemented by the inclusion of one ad- ditional statement. All you need to do is add the desired rotation angle to the geographic longitude (L) of the point being converted. (Some systems may also require that the resultant angle be normalized before it is used in the trigonometric function.) Azimuthal Equidistant Projections Here we come to one of the most inter- esting projections in common use. The azimuthal equidistant projection, also Listing 4 continued: 2290 REM 2300 REM 2310 REM 2320 REM 2330 REM 2340 REM 2350 REM 2360 LET S = 2370 REM 2380 REM 2390 REM 2400 IF H = 2410 IF P > 2420 REM 2430 REM 2440 REM 2450 LET L = - 2460 60 TO 252 2470 IF P >: 2460 LET S = 1 2490 RETURN 2500 REM 2510 REM 2520 LET Rl : 2530 LET X = R 2540 LET Y = R 2550 RETURN 2560 END X IS THE MAP X-COORDINATE IN CENTIMETERS OR INCHES' Y IS THE MAP Y-COORDINATE IN CENTIMETERS OR INCHES' IF THE POINT FROM THE DATA BASE IS NOT IN THE HEMISPHERE BEING DRAWN. SET THE OFF-SCALE FLAG AND RETURN, THEN 2470 .0 THEN 2480 FOR A SOUTHERN HEMISPHERE MAPf CHANGE THE SIGN OF THE LONGITUDE TO MAINTAIN THE PROPER MAP ORIENTATION. L 0.0 THEN 2520 COMPUTE THE MAP COORDINATES FROM THE GEOGRAPHIC COORDINATES. R * COS(P) 1 * COS(L) 1 * SINfD May 1979 © BYTE Publications Inc 93 A21NUTHRL EOUIQISTRNT MAP CENTEREO ON TEXRS. 32 47N 96 DALLAS 48W ?70 Figure 9: Azimuthal equi- distant projection centered on Dallas, Texas. Also called a great circle map, this projection gives true azimuths and distances from the center to all other points. This kind of map is especially useful for showing great circle navi- gation routes and for determining the proper great circle bearings when aiming radio antennas. SCALE OF DISTANCE FROM CENTER RH.MHM referred to as a great circle map, is particu- larly useful in navigation and radio communi- cation. Each such map is based on a chosen central location, and the land areas are mapped so that the azimuths to them from the center are true in all directions. This is accomplished by computing the great circle bearings and distances from the central loca- tion to each of the points in the data base, then scaling the distance to fit the map. This yields the polar form of the map coordinates which are then directly converted to rec- tangular map coordinates in the usual manner. Since the shortest distance between any two points on the surface of the Earth is along the great circle path between them, ships and aircraft follow such paths as close- ly as possible. Radio signals are usually 94 May 1979 © BYTE Publications Inc SYNCHRO-SO and offer RIGINAL Compi jple Who KNOW computers EVERYTHING you need in Small Computer Systems RVICEand ^^^^^ TStAEHTS SOFTWARE oNLy SU"^ .00 yjecafV ,(u»«oe ,Te*a s instw im enW ( tot P"ces cf^* tot prices A400- AAAO. 43. w pt\ce Here are nine packaaeq th- tne 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 \| com' CBO * /once MORE SPECIALS MWcto • \ GM,\- 779-2- ■■■ w 700-2 1 p V \ces 703-0- -J V Decwriterll $1395.00 Qume Sprint 5/45 R0 2795.00 Persci 277 Dble Density 1395.00 Imsai PCS 80/15 599.00 l Anadex DP 8000 Printer 995.00 44 Column Printer .... $295.00 Livermore Accoustic Coupler 249.00 Javelin 9" Monitor . . . .159.95 Pertec 4511-R 10 M Hard Disk CALL* 4rOur prices are too low to advertise. Please call or write. 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 York 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 May 1979 95 AilNUTHAl EQUIDISTANT HAP CENTEREO ON flUSTRRLIR. CflNBERRR 35 17S 149 8E ?70 " Figure 10: Azimuthal equi- distant projection centered on Canberra, the capital of Australia. Compare this map to the one in figure 9 and notice how different the world looks from the standpoint of navigation and radio bearings. SCALE OF OISTANCE FROM CENTER MipmjtM msL Twff 4000 i loop i4m ' hAm^ii strongest along the shortest path, so recep- tion is best when the antenna is lined up with the correct great circle bearing. The azimuthal equidistant map is superb in these applications. Figures 9 and 10 illustrate maps centered on Dallas TX, and Canberra, Australia, respectively. A navigator planning a flight from Dallas to Tokyo would draw a straight line from the center of the Dallas map, to Tokyo. This line indicates the shortest path between the two cities, and shows the inter- vening territory to be traversed. By extending the straight line on out to the bearing scale on the perimeter of the map, the initial departure bearing can be read directly. Ham radio operators and shortwave listeners use these maps extensively. Suppose 96 May 1979 © BYTE Publications Inc PQWEHRIL JNTERFflCES S-100 RS-232 CONTROL CARD 8-SERIAL I/O CHANNELS MODEL 232-100K (KIT) - $149.95 MODEL 232-100A (ASSEM.) - $179.95 A MUST FOR THE SERIOUS USER: NOW, FROM A SINGLE SERIAL I/O PORT YOU CAN SEND AND RECEIVE DATA TO ANY OF THE 8 CHANNELS WITH A SIMPLE SOFTWARE COMMAND EITHER IN BASIC OR MACHINE CODE. •INDIVIDUAL BAUD RATES: Each channel can be set for its own individual baud rate via a dip switch. Card contains its own on board baud rate generator chip and crystal. The RS-232 Control Card will run any S-100 Microprocessor because of its on board timing clock. • ALL HARDWARE: Yes this has our "ALL HARD- WARE" software match setting features. You are able to select and set status, its parity to match any software configuration. NO NEED TO CHANGE THE SOFTWARE TO MATCH THE BOARD. • SIMPLE OPERATION: Only one port to configure. It's easy to set and run. You just output from Basic or your machine code program the Port # and Bit 1 -8. By turning on bits one through eight you're able to direct your output to any RS-232 device. An extra feature is, you are able to run more than one RS-232 device at a time. Output and input from all 8 if you want. • EASY CONNECTION: On top of the board are two 50 pin edge connectors. Supplied with the board are two cables with 40 Pin I DC connectors on one end and four DB- 25 connectors on the other. All cables for connection from board to I/O devices is supplied. • HIGHEST QUALITY: The highest quality parts are used. The PC. board is double sided with plated through the holes, solder mask and silk screened legend. • FULL DOCUMENTATION: A complete manual of operation and assembly is included. S-100 Z-80 CENTRAL PROCESSING UNIT MODEL Z-80100K (KIT) - $129.95 MODEL Z-80100A (ASSEM.) - $139.95 • Selectable power on jump to any memory address. • Provisions for on board EPROM. • True generation 8080Q1 and Q2 clock signals. • Selectable wait states on M-1 cycle memory request cycle, on board ROM cycle, and input-output cycles. • True DMA tri states for all signals from processor board. • All status signals are latched per the S-100 BUS specifications. • Unit includes high speed Z-80A Microprocessor chip, 4 Mhz operation - can be switched to 2 Mhz, if so desired. • Power requirements — +8volts @ LOamps. •TRS-BO is a trademark ol Tandy Corp TRS— 80* TO S-100 BUS CABLE ADAPTER MODEL CAB-80K (KIT) $99.95 MODEL CAB-80A (ASSEM.) $119.95 • FULL INTERFACE: Contained within the cable assembly, is a small enclosure. This enclosure contains all the logic to convert your TRS-80* to be compatible with the S-100 BUS system. • FULL BUFFERING: All address, data and signal lines are fully buffered. • EASY CONNECTION: It is easy to connect. Just plug the one end of the cable into the one slot on your S-100 system and plug the other end into the rear of the TRS-80* keyboard or between the expansion interface. Turn on and go • TWO EDGE CONNECTORS: Two addition 40 pin port edge connectors are provided for other connection of expanision interfaces. • POWER: All power is derived from the S-100 BUS structure. Since the TRS-80* will not support other devices hooked to its power supply, it is a must that your S-100 supply =8-10 volts D.C. Logic card contained within the cable has on board 5 volt regulator. Current requirements is 375 ma. Unit has separate terminal for exterior connection of DC power requirement if it is to be supplied outside the S- 100 BUS system. • FULL OPERATION MANUAL: Not much need for a manual, but we have prepared one with full principal of operation, etc. TRS-80* 16K MEMORY ADD-ON KIT FOR THE TRS-80* — SORCERER:]: — APPLE lit 8-PRIME, 250NS HIGH SPEED MEMORY CHIPS MODEL 16K-80- $95.00 • All chips are new, top quality, factory fresh and tested. • Each kit comes with complete, simple to understand instructions. Even the least experienced individual can add on memory. • Comes complete with programmed jumpers. • Guarantee: If a chip fails, we will replace it with no questions asked. Lifetime guarantee! • Remember: These are top quality prime #1 chips. All orders shipped same day as received! WORLD POWER SYSTEMS, INC. 1161 N. El Dorado Place, Suite 333, Tucson, Arizona 85715 24 Hour Order Phone No: 602-886-2537 Circle 390 on inquiry card. BYTE May 1979 97 Listing 5: Subroutine to compute map coordinates for azimuthai equidistant projection. SUBROUTINE FOR COMPUTING MAP COORDINATES FOR AZIMUTHAL EQUIDISTANT PROJECTION. THE FOLLOWING FUNCTION MUST BE DEFINED BEFORE THIS SUBROUTINE IS CALLED: FNC< ) COMPUTES THE ARC COSINE OF THE ARGUMENT. THE FUNCTION MUST BE NON-AMBIGUOUS! THAT IS. IT MUST ATTACH THE CORRECT ALGEBRAIC SIGN TO THE RESULT. THE FOLLOWING VARIABLES MUbT BE DEFINFD BEFORE THIS SUBROUTINE IS CALLED: AI IS EQUAL TO SIN(A>, WHERE A IS THE GEOGRAPHIC LATITUDE OF THE LOCATION ON WHICH THE MAP IS CENTERED. A2 IS EQUAL TO COS(A). WHERE A IS AS DEFINED ABOVE LO IS THE IDEOGRAPHIC LONGITUDE OF THE LOCATION ON WHICH THE MAP IS CENTERED. P IS THE GEOGRAPHIC LATITUDE (FROM THE DATA BASE) OF THE POINT BEING PROCESSED. L IS THE GEOGRAPHIC LONGITUDE (FROM THE DATA BASE) OF THE POINT BEING PROCESSED. F IS THE MAP SCALE FACTOR. EQUAL TO R/3. 1415927. WHERE R IS THE RADIUS OF THE FINISHED MAP. IN CENTIMETERS OR INCHES- THE FOLLOWING VARIABLES ARE COMPUTED BY THIS SUBROUTINE: LI IS TEMPORARY STORAGE FOR THE DIFFERENCE BETWEEN THE LONGITUDE OF THE POINT BEING PROCESSED. AND THE LONGITUDE OF THE LOCATION ON WHICH THE MAP IS CENTERED. Pi IS TEMPORARY STORAGE FOR THE SINE OF THE LATITUDE OF THE POINT BEING PROCESSED. D IS THE ANGULAR DISTANCE (ARC DISTANCE)' IN RADIANS, BETWEEN THE LOCATION ON WHICH THE MAP IS CENTERED AND THE POINT BEING PROCESSED. Dl IS TEMPORARY STORAGE FOR THE COSINE OF D. C IS THE NORMALIZED ANGULAR COMPONENT OF THE POLAR FROM OF THE MAP COORDINATES. Cl IS THE COSINE OF THE VALUE OF C BEFORE C IS NORMALIZED. Rl IS THE RADIAL DISTANCE COMPONENT OF THE POLAR FORM OF THE MAP COORDINATES. X IS THE MAP X-COORDINATE. IN CENTIMETERS OR INCHES. Y IS THE MAP Y-COORDINATE. IN CENTIMETERS OR INCHES- L - LO NORMALIZE THE LONGITUDINAL DIFFERENCE BETWEEN Listing 5 continued on page 100 5000 REM 5010 RuM 5020 REM 5030 REM 5O';0 REM 5050 REM 5060 REM 5070 REM 5080 REM 5090 REM 5100 REM 5113 REM 5120 REM 5130 REM 5140 REM 5150 REM 5160 REM 5170 REM 5180 REM 5190 REM 5200 REM 5210 REM 5220 REM 5230 REM 5240 REM 5250 REM 5260 REM 5270 REM 5280 REM 5290 REM 5300 REM 5310 REM 5320 REM 5330 REM 5340 REM 5350 REM 5360 REM 5370 REM 5380 REM 5390 REM 5400 REM 5410 REM 5420 REM 5430 REM 5440 REM 5450 REM 5460 REM 5470 REM 5480 REM 5490 REM 5500 REM 5510 REM 5520 REM 5530 REM 5540 REM 5550 REM 5560 REM 5570 REM 5580 REM 5590 REM 5600 REM 5610 REM 5620 REM 5630 REM 5640 REM 5650 REM 5660 REM 5670 REM 5680 REM 5690 REM 5700 REM 5710 REM 5720 LET LI 5730 REM that a ham in Canberra, the capital of Australia, hears a station in Venezuela that he would like to talk to. By using the map in figure 1 0, he can draw a line from the center, through Venezuela, out to the edge. The bearing read at the edge tells him where to set his antenna, and once done he not only receives the strongest possible signal from Venezuela, but he also assures that his own signal is transmitted along the shortest pos- sible path to the other ham. The distance scale at the bottom of these maps can be used to measure the distance between the center and any other location on the map. But it cannot be used between just any two locations: on this type of pro- jection the distance scale is accurate only when measuring outward from the center. The bearing scale, you will notice, is num- bered from to 360 degrees, clockwise from true north. This is the usual convention for all navigation and radio bearings. We label the map in this manner, but work with stand- ard trigonometric convention in the program. More will be said about that later. The program that generated the example maps is given in listing 5. Although slightly more involved than the previous map pro- jections that we have looked at, it still re- quires only about a dozen statements to carry out the entire conversion process. One interesting feature is that there is no off- scale flag to worry about, because there is no such thing as an off-scale condition on an azimuthai equidistant map. The entire world is mapped, with no discontinuities, so every coordinate in the data base will find a home somewhere on the map. The solution of the mathematics requires an inverse cosine function, which is not present in many BASIC interpreters. Rather than worry about what other implementa- tions might be like, I just set it up to com- pute the inverse cosine by a user-defined function, FNC, It is up to the user to insert a properly defined function for this operation. [Most BASIC interpreters have inverse tan- gent functions. Inverse cosine can be derived by cos-^(X) = -tan-1(X/y/ 7 - X 2 ) + 1.5708.... RGAC/ Since many of the people who are inter- ested in this type of map are also interested in printing out tables of great circle bearings and distances to other locations, I arranged the first part of the program to compute the angle in navigation/radio bearing convention before converting it to standard convention. The remarks beginning at line 5900 give ad- ditional details for extracting this informa- tion if you want it in tabular form. One should be cautioned that the creation of azimuthai equidistant maps requires a fairly dense data base, because of 98 May 1979 © BYTE Publications In A LOT LESS THAN YOU EXPECT. Less Cost Less Hassle The INFO 2000 Disk System eliminates the "I/O configura- tion blues" by incorporating all necessary interface ports. A CP/M Loader and all I/O drivers are contained in EPROM so there is no need for special software customization. Just plug the system into your S-100 microcomputer and begin immediate operation using the CP/M disk operating system. The INFO 2000 Disk System is supported by the most exten- sive library of software available, including 3 different BASICs, 2 ANSI FORTRAN IVs, several assemblers, text editors, de- bugging tools, utilities and numerous applications packages. Less Errors This disk system uses full size 8" diskettes and stan- dard IBM 3740 recording format. So you're assured superior protection against errors, and full inter- changeability with other CP/M-based systems. The DISCOMEM Controller board costs us less to manufacture. So your complete INFO 2000 Disk System costs you less - at least $400 less than com- perable disk systems. Less Hardware Only three S-100 boards are needed to create a com- plete, high-performance disk-based microcomputer system-the DISCOMEM Controller Board, a 32K memory board, and any 8080, 8085 or Z80 CPU board. You don't need extra interface or EPROM boards since DISCOMEM contains 2 serial ports, 3 parallel ports and provision for 7K of EPROM and IK of RAM. LessTime The INFO 2000 Disk Sys- tem is incredibly fast! Using the PerSci Drives with voice coil positioning, disk seek times are up to 8 times fast- er than with other drives. A full disk-to-disk copy and verification takes well under a minute. Formatting and verifying a new diskette takes less than half a min- ute. Reloading CP/M* from diskette takes a fraction of a second. Less Space The system is remarkably compact, requiring only 1/2 to 1/3 the space taken by other 2-drive disk sys- tems. It all adds up to more capability for your money. The complete INFO 2000 Disk System comes completely assembled and tested. It includes dual' diskette drives, the DISCOMEM Controller, power supply, cabinet, cables and the CP/M disk operating system — everything you need for immediate plug-in -and-go operation with your microcomputer. This means less time, hassle, hardware, space, errors and less money than for comparable equipment. Now, isn't that a lot less than you'd expected in a dual disk system? INFO 2000 Disk Systems are also available for Digital Group and Heath H8 microcomputers. Dealer inquiries welcomed. tCP/M is a registered trademark of Digital Research. * Extra cost option. Circle 173 on inquiry card. CORPORATION 20620 South Leopwood Avenue Cocson. California 90746 (213) 532-1702 BYTE. May 1979 99 Listing 5 continued from page 98: 5740 5750 5760 5770 5780 5790 5800 5810 5820 5830 581+0 5850 5860 5870 5880 5890 5900 5910 5920 5930 5940 5950 5960 5970 5980 5990 6000 6010 6020 6030 6040 6050 6060 6070 6080 6090 6100 6110 6120 6130 6140 REM -180 DEGREES AND +180 DEGREES (-PI AND +Pl). IF LI >= -3.1415927 THEN 5780 LET LI = LI + 6.2831853 GO TO 5800 IF Ll <= 3.1415927 THEN 5800 LET Ll = Ll - 6.2831853 LET PI = SIN(P) LET Dl = Al * PI + A2 * COS(P) * COS(Ll) LET D = FNC(Dl) LET CI = (PI -A1*D1> / (A2 * SIN) LET C = FNCIC1) REM NORMALIZE THE VALUE OF Cr DEPENDING UPON THE REM RELATIVE LONGITUDES OF THE POINT AT THE CENTER REM OF THE MAP AND THE POINT BEING PROCESSED. IF Ll >= 0.0 THEN 6020 LET C = 6.2831853 - C AT THIS POINT C IS IN THE KANGE FROM TO 2*PI» MEASURED CLOCKWISE FROM TRUE NORTH. IF DESIRED' ONE CAN COMPUTE THE BEARING IN DEGREES BY B = C * 57.2957795. THE GREAT CIRCLE DISTANCE ALONG THE SURFACE OF THE EARTH CAN ALSO BE COMPUTED AT THIS POINT BY K = D * 6378. WHERE K IS IN KILOMETERS, OR BY M = D * 3963f WHERE M IS IN MILES. REM REM REM REM REM REM REM REM REM REM REM REM LET C IF C LET C REM REM LET Rl REM REM REM LET X LET Y RETURN END NOw REVERSE THE DIRECTION OF MEASUREMENT OF C AND ROTATE IT BY PI/2 (90 DEGREES). THEN NORMALIZE THE RESULT BETWEEN -PI AND +PI. = 1.5707963 - C >= -3.1415927 THEN 6070 = C + 6.2831853 CONVERT TH£ ANGULAR DISTANCE TO THE MAP RADIAL DISTANCE. D * F Rl AND C NOW REPRESENT NORMALIZED POLAR COORDINATES ON THE MAP* FROM WHICH THE RECTANGULAR MAP COORDINATES ARE COMPUTED! Rl * COSIO Rl « SIN(C) the extreme elongation of graphical features near the edge of the map. The consequence of having widely separated data points will be an entirely unacceptable map with long straight and angular lines on the outer por- tions. This can be minimized somewhat by certain interpolation techniques, but none of these can entirely compensate for funda- mental deficiencies in the data base. Perhaps by this time some readers have realized that the polar equidistant maps that we looked at in figures 3 and 4 are actually just very special cases of the azimuthal equidistant map. Due only to their unique central locations, they happen to be more easily generated by the procedure in listing 2 than the one in listing 5, though either could do the job with just minor modification. Celestial Maps No examples of celestial maps have been included because the methods used to create them have already been covered in the discus- sion of the other types of maps. It is doubt- ful that you would want to generate a hard copy of a celestial map, since the projections used are pretty much standardized and there are plenty of nice printed maps avail- able at nominal cost. The true value of com- puter generated celestial maps materializes in the creation of video displays for use adjacent to the telescope during astronomi- cal observations. One can set up a system to display selected areas of the heavens on a video display equipped with a red filter to preserve night vision. The area displayed can be specified at the keyboard, or it can be automatically designated according to the current pointing position of the telescope. The computer can be used to drive the telescope's tracking motors, and simultaneously update the video display as the field of vision moves across the night sky. As mentioned earlier, ready-made data bases abound for astronomical applications. For all practical purposes, the format is the same as for geographical data bases. Celestial coordinates, however, are given in right ascension (measured in hours, minutes, and seconds) and declination (measured in degrees). Right ascension can also be rep- resented in degrees of arc, where 15 degrees are equal to one hour of time. The format you use would depend upon the ultimate application. In addition to the coordinates stored in the data base, it will be necessary to store a code indicating the type of object (star, nebula, galaxy, etc) as well as its visual magnitude (brightness). Then dots of varying size, or even distinctly different symbols, can be displayed to give a much more accurate representation of what the observer will see through the telescope. The process used for celestial mapping is very much like that demonstrated by the United States map in figure 2, in that the map is made up entirely of isolated dots or symbols with no lines connecting them. Since the area of the sky presented on the video screen at any one time is comparatively small, most portions of the sky can be dis- played with no noticeable distortion merely by using a simple rectangular projection. Areas within about 30 or 40 degrees of the celestial poles might be presented using a polar equidistant projection. Homemade Projections It has already been pointed out that the projections we examined are just the most common of the many projections actually in use. You may find that you have an applica- tion that requires a different approach, and you will probably find just what you want in any good text on cartography or map projec- tions. But don't let that be the end of the line for you. There is nothing that says that you can't devise your own projections. If you want a projection that shows the surface of the Earth as viewed from an antimatter 100 May 1979 © BYTE Publications Inc spaceship traveling through the core of the Earth, it's a simple matter to set up one. When you're through, you can even name the projection after yourself. To demonstrate the liberties one can take, I have included in figure 11 a projection of my own design. This I have called Johnston's Complementary Latitude Polar Projection of the Northern Hemisphere. The reader is left to find a use for it. Summary Some of the greatest theoretical contribu- tions to the science of cartography were made as far back as 400 years ago. But producing each given map was a monumental task of manual computation, not to be taken lightly. What was possible in theory for hundreds of years has only become practical to carry out on any significant scale in the past 25 years, and for a time only by organi- zations with access to large scale computers. Today, you and I can sit before our home computers, and with a few keystrokes we can command our machines to spew out maps of all descriptions. In mere seconds, we can have maps for satellite tracking, for an- tenna pointing, for Space War games, or for whatever purposes suit our fancy. The sub- routines given in the accompanying listings can be used to generate a number of different types of very useful maps, and with little effort the reader can devise additional software to further expand the capability. This article has barely scratched the surface of the field of computer generated maps. We have not, for example, addressed the subject of topographic mapping, or any of a host of other interesting aspects of computerized cartography. Commercial and government installations use techniques far more sophisticated than those demonstrated here. One can, however, derive an enormous amount of practical use and personal satisfaction from putting into operation the procedures that we have examined. If your imagination has no limits, then the power of your computer has no bounds." Figure I 7 : Johnston 's com- plementary latitude polar projection of the north- ern hemisphere. This is a homemade projection in- vented by the author, for which the reader is invited to find a use. May 1979 © BYTE Publications Inc 101 cut it out! Software with Manual Manual Alone DIGITAL RESEARCH □ CP/M* FDOS — Diskette Operating System complete with Text Editor, Assembler, Debugger, File Manager and system utilities. Available tor 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 $145/$25 D 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) $100/$15 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 $1 5 □ TEX — Text formatter to create paginated, page-numbered and justified copy from source text files, directable to disk or printer $05 $1 5 D DESPOOL — Program to permit simultaneous printing of data from disk while user executes another program from the console S50/S1 MICROSOFT D Disk Extended BASIC with long variable names, length file records — New version, ANSI compatible WHILE/WEND, chaining, variable 8300/825 □ □ □ □ □ FORTRAN-80 — ANSI '66 (except for COMPLEX) plus many extensions. Includes relocatable object compiler, linking loader, library with manager. Also includes MACRO-80 (see below) $400 $25 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/825 MACRO-80 — 8080/Z80 Macro Assembler. Intel and Zilog mnemonics supported. Relocatable linkable output. Loader, Library Manager and Cross Reference List utilities included $149/815 MACRO-80 plus FORTRAN subroutine library available. Li- brary includes ABS. SIGN, EXP, DLOG, SORT, DSQRT, ATAN, DATAN etc. etc $219/81 5 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 $89/81 5 L 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 □ 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 869/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 869/820 □ LINKER — Link-edits and loads ASM modules ...869/820 D 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 ol Digital Research □ □ TOP Text Output Processor — Creates page-numbered, jus- tified documents from source text files $69/820 arithmetic and string features but without random access data file support. Available optionally with features to support VDB Xitan video output board $99/$20 A3 package includes Z-TEL, TOP. ASM and Super BASIC $249 340 A3+ package includes Disk BASIC, Z-TEL, TOP, ASM, Z-BUG and LINKER $409/$40 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! $250/$25 ■ Above available as absolute program only $200 $25 □ Super Sort II □ Super Sort III — As I without SELECT/EXCLUDE $150/825 U 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 $1 50 $25 Corresponder — Mail list system, supporting form 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 $90 $1 5 STRUCTURED SYSTEMS GROUP D 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 $899 $20 □ 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 $699 $20 □ 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 S699 S20 □ 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 $79/$20 U 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 $95/$20 102 May 1979 © BYTE Publications Inc Software for most popular 8080IZ80 computer disk systems, including NORTH STAR, MICROPOUS, iCOM, SD SYSTEMS, DYNABYTE DB8I2, HELIOS, ALTAIR, TRS-80 and 8" SOFT SECTORED formats. □ □ Software I 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 maii labels. Requires CBASIC. Supplied in source code. $605 $35 □ 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. $605/835 □ 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 S605/S35 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 S95/S1 5 D 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 D 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 $1 25 $25 □ DISZILOG — As DISINTEL to Zilog/Mostek mnemonic files. Runs on Z80 only. Standard CP/M and TRS-80 CP/M versions available S65/S10 Fill it in Lifeboat Associates, 2248 Broadway, New York, N.Y. 10024 {212) 580-0082 Software with Manual Manual Alone 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 $65/$ 10 □ XYBASIC Interactive Process Control BASIC — Full disk BASIC features plus uniaue 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 $295/$25 Extended Disk or Extended ROMable S395/S25 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/31 5 □ 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 S1 95 $20 Selector III — Multi (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 $295/$20 □ 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 $195/$10 LJ Flippy Disk Kit — Template and instructions to modify sin- gle sided 5%" diskettes for use of second side in singled sided drives $9.75 D 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 20t 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 $325 Macro assembler, loader and editor alone $165 n □ Software Price D manual alone □ manual alone □ Check DU.P.S. COD □ Visa □ Master Charge Shipping Account # Exp. Date $1.00 for C.O.D. Signature Total My computer configuration (specifying disk system): Name Address (No P.O. Box) City State Zip Effective 4/1/79 i*i The Software Supermarket is a trademark of Lifeboat Associates Disk systems and for- mats: North Star single or double density, IBM single or 2DI256, Altair. Helios II. Micropolis Mod I or II. S'A" soft sector (Micro iCOMISD Sales! Dynabyte), etc. Add $1 litem shipping ($2 min.). Add $1 additional for UPS C.O.D. Manual cost applicable against price ol subse- quent software pur- chase. The sale ol each pro- prietary software pack- age conveys a license lor use on one system only. Jboat Associates Circle 206 on inquiry card. May 1979 © BYTE Publications Inc 103 6800 Disassembler NAM DISASSEMBLER OPT S OPT NOG OPT 1800 ORG $1800 A00C XHI EQU SA00C A066 FLAG EQU 5A066 A067 CTR EQU SA067 8004 KBD EQU S8004 8008 PIAD EQU $8008 E07E PD1 EQU SE07E E047 BADR EQU $E047 A060 XTEM EQU SA060 A062 PCTEC EQU $A062 A064 YTEM EQU $A064 1800 20 16 START BRA SET 1802 00 PCR FCB 0, $10, $16,0 1806 00 FCB 0,'?,4 1809 0D CRLF FCB SD,SA,0,0,0,4 180F 0D PAGE FCB SD,SD,SD,'- 1813 2D FCB '-,$D,$D,$D,4 1818 CE 8008 SE LDX #PIAD 181B 4F CLR A 181C A7 01 STA A 1,X 181E 43 COM A 181F A7 00 STA A 0,X 1821 86 3F LDA A #S3F 1823 A7 01 STA A 1,X 1825 CE 1802 PROM LDX #PCR 1828 BD E07E JSR PD1 182B BD E047 JSR BADR 182E FE A00C LDX XHI 1831 FF A062 STX PCTEM 1834 86 3B LCTR LDA A «3B 1836 B7 A067 STA A CTR 1839 CE 1809 CONT LDX #CRLF 183C BD 18DC JSR T1S 183F 7A A067 DEC CTR 1842 26 08 BNE ADR 1844 CE 180F LDX *PAGE 1847 BD 18DC JSR TTS 184A 20 E8 BRA LCTR 184C CE A062 ADR LDX #PCTEM 184F BD 18E7 JSR TT4 1952 FE A062 LDX PCTEM 1855 BD 18E9 JSR TT2 1858 09 DEX 1859 BD 18EB JSR OUTS 185C BD 1932 JSR TABCK 185F 08 INX 1860 7F A066 CLR FLAG 1863 16 TAB 1864 C4 0F AND B #$ Vi h simplifies the /••• . . ••••. i process. '...- '... £.* *..: Prints any char- s'" :"•: :••" •?' cicter <* typewriter :... •:.. : : can F as t er , . . The BrighterWriter can print plain and simple. With 7x7 dot matrix clarity You get all the let- ters, numbers, and standard symbols of a regular ■:/;■'■"*""' \ I %. Sf ill 3 ' :*: .,:!!!!!!!, typewriter. At up to 80 cps throughput. Ordinary paper. Fancy or plain, the Brighter- Writer prints on ordinary paper. Better yet, it prints on many shapes of paper. Single sheets. Roll. Fanfold. Want more copies? The BrighterWriter prints multiple copies without extra adjustments. Four easy buttons. Operating the BrighterWriter couldn't be simpler. Up-front con- trols are easy to get to . A power "Some of these advantages require extra-cost options. Circle 177 on inquiry card. button to turn it on. A test button to self-test your printer. A paper feed button to advance the sheets or forms. Aline feed button to advance the paper a line at a time. 'iijjii. !! ;:s* ss »%• i5 :;j'" Prints any- which- way. The BrighterWriter comes in two models. The IP-225, at $949, gives you a BrighterWriter with tractor-feed drive for precision forms control. This one can handle everything from labels to 8W paper widths. It has eight form lengths and gives you all the features of our IP- 125. A brighter ...... buy. "•-!&- „.:••'"" JP ""r ! " Our IP- 125, friction-feed,BrighterWriter has a 96 character set and prints on 8H"wide paper. Upper and lowercase. It prints expanded characters, too. You can choose a RS-232 serial or parallel interface. $799 Lots of goodies. There's more. Choose all kinds of options for your BrighterWriter. Up to 132 characters per line, var- iable character densities, larger buffers, special graphics pack- ages, interface cables, and more. Give us a call or write. Integral Data Systems, 14 Tech Circle, Natick,MA01760, (617) 237-7610. Better yet, see the Brighter- Writer at the store nearest you. Integral Data Systems, Inc. BYTE May W) 109 # Spacewar in Tiny BASIC Navigating Through Integer BASIC David J Beard Sortiarii RD 1 Box 648 Newmanston PA 1 7073 So you want to fly your own spaceship, but you're not up to doing six months worth of assembly language programming and the only high level language you've got is a tiny version limited to 4 function integer arith- metic? That rules out any kind of realistic navigation — or so it seems. All digital ma- chines are limited to integer mathematics. Nearly any operation possible in machine code can be duplicated in a high level lan- guage, provided you have enough memory and the time to wait for the results. Armed with a little bit of knowledge, though, you can keep the convenience of your interpreter and have three-dimensional trigonometry, too. Here's how I did it. My first objective in writing a spacewar game was to provide a realistic trainer for spaceflight rather than a flashy video display Figure 1: Cartesian coordinates for three- dimensional representation of position, velocity and acceleration. or a complex set of board game type rules. I feel strongly that a spacewar game ought to be three-dimensional. The third dimension is far more than a frill: it's the major differ- ence between spaceflight and surface opera- tions. I developed the scenario for my game in 1972 when I was working with a home- brew analog computer. In my version a single ship maneuvers in Cartesian space and is attacked by a series of homing torpedos that must be either destroyed or evaded. The game requires both aimed laser fire and navi- gation precise enough to permit evasion by narrow margins. This article describes the trigonometry routines developed for the game. It assumes that you are familiar with high school phys- ics and right angle trigonometry. These rou- tines represent a compromise between preci- sion and speed; they are neither quick nor simple, but then, neither is astrogation. Moving the Ship The playing area for my game is a sphere of Cartesian space with a radius of 10,000 units. This provides about 4.2 x 10 distin- guishable positions, or the same number of vectors, each defined by a set of three inte- gers X, Y, and Z as in figure 1. The ship's position, acceleration and velocity vectors can be represented by nine integers. A convenient feature of this Cartesian representation is that motion along each axis can be calculated independently of the other axes. Also, I made the simplifying assump- tion that each turn in the game is one unit of time. This simplifies Newton's laws of motion considerably. The familiar: position=S=S +VT+AT 2 /2 velocity=V=V +AT can be written as: S=S+V+A/2 V=V+A for each axis. Finding relative position and 110 May 1979 © BYT! Publications Inc POWERFUL JNTERFflCES TRS-80* SERIAL PARALLEL I/O MODULE 8-SERIAL INPUT/OUTPUT PORTS: 8-PARALLEL INPUT/OUTPUT PORTS: MODEL MS10-K $129.95 MODEL MS-10A (ASSEM.) $149.95 • EASY CONNECTION: Connects to the expansion port edge card connector between keyboard and expansion interface or direct to rear of the TRS-80* keyboard. • DIP SWITCH: All ports, baud rate, parity, etc. all set by dip switches. • ON BOARD FIRMWARE: No software driver routine needed for operation of the module. Simple OUT and IN statements operate the module. • RS-232, CURRENT LOOP: All 8 channels can be selected for RS-232 or current loop. • BAUD RATE SELECTION: All channels dip switch selectable for individual baud rates from 1 1 to 9600 baud. TRS-80* TO S-100 BUS MODEL RSB-K (KIT) - $249.95 MODEL RSB-K (KIT) - $289.95 • FULLY SELF CONTAINED POWER SUPPLY. (10 AMP). • BUS TERMINATION: BUS termination and condition- ing for no croos talk or noise etc. • S-100 SIGNALS: All required S-100 signals are generated by on board logic and is fully compatible with the TRS-80*. 'TRS-80 is a trademark of Tandy Corp. • COMPLETE: Comes complete with cabinet, card guides, on-off switch and sockets. Nothing else to buy. • STAND ALONE: This system can stand alone or can operate with the TRS-80*. All input, output, address and signal lines fully buffered between TRS-80* and S-1 00 BUS system. • EASY CONNECTION: Just plug it into the rear of the keyboard or between the keyboard and expansion interface. Also includes 40 pin edge connectors for connection to other interfaces. TRS-80* EPROM PROGRAMMER +3 MODEL EPR-80K (KIT) - $129.95 MODEL EPR-80A (ASSEM.) - $159.95 • SELF CONTAINED: Comes housed in an attractive cabinet with self contained power supply. • PROGRAMS: This unit programs the popular 2708, 271 6 EPROMS. Personality modules for other EPROMS will be available at a later date. • FIRMWARE: On board firmware so that no software need be written or entered into your CPU system. The firmware can be shut off when not in use. Firmware residents at F0000. The firmware in and out of system is controlled from a switch on front panel. • 3-ADDRESSABLE ROM LOCATIONS: The EPROM Programmer has three sockets on front panel which are addressable to any location by dip switch. In addition each ROM location can be shut off or turned on by switches located on the front panel. • MONITOR: A monitor is supplied within the firmware for performing several functions. Move memory, debug, verify, program from memory, program from TTY input, etc. • EASY CONNECTION: The EPROM Programmer is attached with ease. For the TRS-80* users, the unit plugs into the rear of the keyboard or between the keyboard and expansion interface,. Included with the unit are two additional 40 pin edge connections for interfacing of other interfaces. For the S-1 00 users, a molded connection cable is supplied and it is inserted into one of the connectors on your mother board. Plug it in and it is ready to use. • FULLY BUFFERED: add address and data lines are fully buffered. • OTHER FEATURES: Other features include status lights for which ROM selected, switch enable for programming, pulse (burn) indicator firmware select- deselect switch, on, off and dip switches for the addressing of each ROM location. WORLD POWER SYSTEMS, INC. 1161 N. El Dorado Place, Suite 333, Tucson, Arizona 85715 24 Hour Order Phone No: 602-886-2537 Circle 390 on inquiry card. HYTE Mav 1979 111 D = 90° A= 270° D=-90° A = 0° Figure 2: Spherical representation in three dimensions. Instead of the X, Y and Z axes as in Cartesian coordinates, spherical coor- dinates use azimuth, declination and radius. velocity is also much simpler. Vector addi- tion is just that — addition: S rel =S 1~ S 2 V ref V l- V 2 for each axis. Spherical Coordinates Cartesian coordinates make it simple to model the laws of motion. A spaceship might possibly use a Cartesian system for 10 IF S>45 GOTO 60 28 LET 5=174*5/10 30 LET T=5/10 46 LET 5=5-T*T/1000*T/6*T*T/1000*T/100*T/100*T/120 53 RETURN 60 LET 5=90-5 70 LET 5=174*5/10 S0 LET T=S/10 90 LET S=1008-T*T/20+T*T/1000*T/100*T/24 100 LET 5=5-T*T/1000*T/lB0*T/180*T/100*T/720 110 RETURN Listing 1: BASIC routine for calculating the sine function. The sine is calculated in parts per thousand and the value of the sine is returned to the calling routine in variable S. 10 IF U>960 LET U=U+4 20 LET T=U/10 30 LET S=U-T*T/1000*T/3+T*T/1000*T/108*T/100*T/5 40 LET S=5-T*T/1000*T/100*T/100*T/100*T/100*T/7 50 LET 5=5*10/174 60 RETURN Listing 2: Routine for calculating the arctangent of U in parts per thousand. The result is returned to the calling routine in variable S. navigation, but what about those homing torpedos? Any conceivable shipboard rang- ing and detection system tracking a foreign body should read out an angle and a range, not a set of grid points. Besides, entering your throttle settings in three axes is unnat- ural enough to deter any but the most hardened of spacewar addicts. The simplest solution is to keep track of all moving bodies in Cartesian coordinates and convert those coordinates to spherical form for display. Figure 2 shows a system of spherical coor- dinates. Each point or vector is defined by an azimuth ranging from to 359 degrees (A), a declination ranging from -90 to 90 de- grees (D), and a radius given in unit lengths (R). Instead of X,Y,Z we have A,D,R. The ship's position and velocity are con- verted to spherical form for display. The thrust vector is input in spherical form and converted to Cartesian for computation. The direction of laser fire is kept in spherical form and compared to the spherical coordi- nates of the target at the next turn. Next, we need routines to convert vectors in the form X,Y,Z to the form A,D,R and back again. The only trigonometric func- tions needed for those two conversions are the sine and the arctangent. Listing 1 shows the S=sin (S) routine. S is an angle ranging from to 90 degrees. The routine returns the sine of S in variable S in parts per thousand (1000 times the sin (S)). This routine makes use of the series: sin (S)=S-S 3 /3!+S 5 /5!-S 7 /7!+. . . where S is in radians. Line 20 converts S from degrees to radians times 1000. Line 40 is the sine series in a form suitable for 16 bit integer mathematics. Beyond 45 degrees this series gave poor results. For values over 45 degrees line 10 transfers control to line 60. Lines 60 to 110 take the cosine of 90— S using the series: cos (S)=1-S 2 /2!+S 4 /4!-S 6 /6!+. . . It's a good idea to test this routine by gener- ating all 91 values and checking them against a table or calculator. The results should be within 2 or 3 parts per thousand. Listing 2 is a similar routine to calculate the arctangent of a ratio U expressed in parts per thousand (U times 1000). The series used here is: arctan (U)=U-U 3 /3+U 5 /5-U 7 /7+. . . It is not valid for U > 1 . Line 10 is an adjust- ment to improve accuracy for values ap- proaching 1. Notice that here the result S is in radians and must be converted to degrees immediately before exiting (line 50). Again, it's a good idea to test this routine for values of U between and 999 before using it. 112 May 1979 © BYTE Publications Inc A DEVELOPMENT TOOL FOR INTERACTIVE SOFTWARE CIS COBOL is more than an efficient COBOL Compiler, it is a complete software development tool for business and office automation systems. It enables the programmer to write applications in a powerful subset of ANSI 74 standard COBOL and to take advantage of CIS COBOL language extensions such as interactive screen handling which are designed to fully exploit the special features of the microcomputer environment. Version 3 of CIS COBOL has many language additions but the compiler still requires only 20K bytes of memory and runs on 8080 and Z80 based microcomputers with 32K to 64K under the popular CP/M* operating system. CIAHr-00 03 Fiuea o? nuRv-oo-oooi 3 Fill PR 03 OIARV-OD-000? PIC XIO074I. en: Miinui PIC xtozioi. PIC XlflOUl ACF 60 TO CtnsF-OOwN. VF INPUT-TN CUk V-CI-001K NOT => PH 1NP1IT-T1MF = PP.EV-TIMF CIS COBOL is designed to support interactive applications. Areas of a CRT screen are mapped onto record descriptions in your CIS COBOL program and data is transferred using the ACCEPT and DISPLAY verbs providing full cursor manipulation and data entry facilities to the CRT operator. CIS COBOL language extensions enable the screen position at which the transfer is to start to be specified, protected fields to be defined and the CURSOR position to be detected and set by the program. CIS COBOL is able to exploit features of the microcomputer. Language extensions in CIS COBOL enable programs to define file names at run time, to read and write text files of variable record length and to access free memory in varying machine configurations. CIS COBOL supports run time subroutines written in assembler and accessed from COBOL by means of the CALL USING verb. Built in subroutines implement facilities to CHAIN programs together, PEEK and POKE memory locations outside your COBOL program and GET and PUT data to special peripheral devices via your microcomputer's I/O ports. CIS COBOL is orientated toward rapid program development. The compiler accepts input of your source program direct from keyboard as well as from source and library files on disk and generates an object file which the CIS COBOL run time system immediately loads and executes or optionally links and saves as a self loading program. The run time system has built-in indexed and relative I/O packages and contains an interactive debug package to help find errors quickly by stepping through the execution of your CIS COBOL program. CIS COBOL is supported by intelligent utility programs. When you take delivery of CIS COBOL Version 3 on 8 inch or 5 inch diskette you will receive in addition to the compiler and run time system the CONFIG program which enables you to configure CIS COBOL run time systems to drive many different types of "dumb" CRT terminal such as Lear Siegler ADM3A and Hazeltine 1 500, plus the time saving FORMS program which allows you to create and edit screen images of business forms and then automatically generate the corresponding COBOL record descriptions to COPY into your CIS COBOL program. 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 ot Digital Research Circle 220 on inquiry card. BYTE May 1979 113 10 LET V=8 20 IF U>=T GOTO 70 30 LET V=i 40 LET S=T 50 LET T=U 60 LET U=S 70 IF T>32 GOTO 118 80 LET T=T*1088 85 IF U=8 LET U=l 90 LET U=T/U 100 GOTO 300 110 IF U>327 GOTO 168 120 LET T=T*108 138 LET U=U/18 135 IF U=0 LET U=l 148 LET U=T/U 158 GOTO 308 168 IF T>3276 GOTO 218 178 LET T=T*18 1S8 LET U=U/188 185 IF 0=0 LET U=l 198 LET U=T/U 200 GOTO 388 218 LET U=U/188 215 IF U*0 LET U=l 228 LET U=T/U*10 308 IF U>999 LET U=999 310 GOSUB 328 IF V=l LET S=98-S 338 RETURN Listing 3: To guarantee that overflows do not oc- cur during calculation, this routine makes sure that the range of numbers is broken down by decades. This also improves the accuracy of the approx- imation. Figure 3: Measurements used for conversion between spherical and Cartesian coordinates. See text for full explanation. Exact values of the tangent for angles in 1 degree increments should return the proper angle, but a tangent falling between these values does not necessarily return the closest angle. Large Values In order to prevent overflow and preserve even two digits of precision, it is necessary to make a special case of each decade. List- ing 3, the S=arctan (T/U) routine, should serve as a worst case example of this process. This routine calculates the 3 digit ratio U and calls the arctangent routine shown in listing 2. The variable V is a flag set for angles over 45 degrees (line 30) and cleared otherwise (line 10). S is a temporary storage location used to swap T and U in these cases (lines 20, 40, 50, 60). Lines 70 to 100 repre- sent the first decade. Note the trap at line 85 to prevent division by zero. The other dec- ades are similar. Line 300 traps for values of U over 999, and line 320 tests the flag V and complements the angle S if T and U had been reversed. You will also need similar, but simpler, routines that return U=Usin(S) and U=U/ sin(S). All of these routines can be shortened considerably if they do not need to accept the full range of 1 6 bit integers (as, for exam- ple, in a battleship type game on a 100 by 100 grid). The general process of writing these routines is similar to the manipulation of decimal places and the use of rough pre- calculations necessary if one were using a slide rule. It may be helpful to run through each decade of the routine on paper before beginning to program. One More Detail So far, all our routines work with first quadrant angles (positive declination and azimuth from to 90 degrees). It is nec- essary to express each vector as its first quad- rant equivalent before conversion, and re- store the converted vector to its proper quad- rant afterwards. Listing 4 is the Cartesian to spherical routine. In lines 10 to 120 the values X, Y, and Z are made positive and their original signs stored in the flags F, L, and G, respectively. The vector is now in the first quadrant and conversion can proceed. Refer to figure 3 during this discussion. Lines 130 to 160 calculate the azimuth, angle A. Lines 1 70 to 1 90 find the projected radius (R 1 in figure 3) and store it temporar- ily in variable R. Lines 200 to 220 find the declination, angle D. Lines 230 to 260 find the true radius. Note that line 230 comple- ments S; the projected radius divided by the true radius, R^R, is the cosine of D or the sine of 90-D. The vector A,D,R is now complete but must be restored to the proper quadrant. In line 270 the declination is simply given the same sign as Z. Line 280 exits if the azimuth is unchanged. Lines 290 to 310 apply the proper correction for azimuths between 270 and 360 degrees. Lines 320 to 340 deal with angles between 90 and 180 degrees, and line 350 corrects for the only remaining case. The conversion from spherical to Cartesian requires a similar process of reduction to first quadrant and restoration, and uses the same three flags. Listing 5 shows only the actual spherical to Cartesian conversion. Lines 10 to 40 find Z. Lines 50 to 80 find the projected radius R^ and store it tempo- rarily in Y, again using the cosine or sine of the complement. Lines 90 to 110 find X, and lines 120 to 150 find Y. Application My version of this trigonometric package ran to 1 70 lines and almost 4 K bytes of pro- gram storage in a version of tiny BASIC that permits subscripted variables and FOR- NEXT loops. Even if your BASIC does not permit subscripted variables, it's a good idea to keep the temporary vectors A,D,R and X,Y,Z for the two conversion routines. If these are not written as subroutines, pro- gram length will get out of hand quickly. The flags F, L, and G can be replaced by a single variable holding the quadrant number. In a game involving two ships, one can be kept at the origin (X,Y,Z = 0,0,0), and only 114 May 1979 © BYTE Publications Inc 10 LET F=0 20 LET L=0 30 LET G=0 40 IF H>-1 GOTO 70 50 LET X=-X 60 LET F=l 70 IF Y>-1 GOTO 100 SO LET Y=-Y 90 LET L=l 100 IF Z>-i GOTO 130 110 LET Z=-Z 120 LET G=l 130 LET T=X 140 LET U=Y 150 GOSUB 260 LET R=U 270 IF G=l LET [>--[> 2S8 IF F=0 IF L=0 RETURN 290 IF L=l GOTO 320 300 IF F=l LET Fl=360-R 310 RETURN 320 IF F=l GOTO 350 330 LET fl=130-rt 340 RETURN 350 LET fl=130+fl 360 RETURN Listing 4: BASIC program for converting from Carte- sian to spherical coord- inates. certain values return much larger errors. As long as the Cartesian vectors are preserved from turn to turn, the errors do not accumu- late and can be treated as quirks in the ship's ranging and detection system. Any attempt to rotate the coordinate system by convert- ing to spherical coordinates, adding angular translations and converting back to Cartesian will quickly introduce large errors. Also remember that to keep the radius (R) from overflowing, X, Y, and Z must be limited to about ± 13,000. If you plan to acquire a full BASIC for your system, you'd be well advised to wait for it before attempting a spacewar game. If, like me, you have to live with integer arithmetic for some time, a weekend's worth of work will give you a package of trigo- nometric capability that can serve as the nucleus for a wide variety of games and simulations. Gravity wells and orbits can be handled nearly as easily as in a full BASIC; speed and position can be controlled accurately enough to make a docking maneuver painstakingly difficult. Another possibility is a version of lunar lander that includes the return to orbit. The software vacuum is likely to be with us for some time, but you can begin sharpening your skill as an astrogator now." Id LET S=£> 20 LET U'R 30 GOSUB (U'U'SIN S) 40 LET Z'U 50 LET U'R 60 LET S'98-0 70 GOSUB (U'U*SIN S> 80 LET Y=U 90 LET S=8 108 GOSUB (U'U*SIN S> 110 LET X'U 120 LET U'Y 130 LET S'90-ft 140 GOSUB (U=U*SIN S) 158 LET Y'U Listing 5: Program for converting from spherical to Cartesian coordinates. relative position and velocity for the other displayed. This saves nine more variables. However, it also eliminates a major challenge from the game. It's astonishing how far from your station you can wander while concen- trating on combat, and how long it takes to turn around and get back. If you assume a fixed, forward firing weapon, you can use the same vector to represent both thrust and direction of fire. As a last resort, you can always go two-dimensional; this brings the number of variables used within limits (and greatly simplifies the conversion process). Don't expect a great deal of accuracy from these routines. I got results within 1 degree and 1 percent for most cases, but IMMEDIATE DELIVERY Domestic & Export DEC LSI -11 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 Circle 236 on inquiry card. May 1979 © BYTE Publications Inc 115 Turning computer programmers into computer composers! 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 50$ per book for postage and handling GUI ECIOW •BOOKS OF INTEREST TO COMPUTER PEOPLE" 70 Main Street Peterborough, New Hampshire 03458 116 BYTE May 1979 Circle 36 on inquiry card. iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiuiiiinii minimum iiimiiiiiiiiii imimiimimmimiimimiiiim i BYTE News .... iiimmmmiimmimimmiiiiiimiiiiiimiimiiiiimiiii mimimiiiiiiiiiiimiiiimmmmimimimiiimNimiiiiimMmmmimmimimiiMmiiiiiimmiiimimmi TI PERSONAL COMPUTER DELAY DUE TO HARDWARE PROBLEMS. Rumors abound that Texas Instruments has delayed introduction of their personal computer system because of problems encountered in the design of a new microprocessor circuit to be used in the system. The 9985 microprocessor is a 16 bit stripped down version of the 9940, which contains 2 K bytes of read only memory, 128 bytes of programmable memory, 32 bit I/O (input/output), 5 M Hz operation and timer/counter on one integrated circuit. Also, it has been reported that the FCC rejected the TI approach to the RF (radio frequency) modulator design. It is expected that TI will have solved these problems for the introduction of the system in June at the summer Consumer Electronics Show in Chicago. RADIO SHACK HAS OVER 50 PERCENT OF PERSONAL COMPUTER BUSINESS. According to a report issued by Dataquest, a marketing research firm, Radio Shack sold approximately 100,000 TRS-80s, valued at $105 million dollars in 1978. This represented almost 10 percent of Tandy's business, and means that Radio Shack shipped over 50 percent of the total 1978 volume and 21 percent of the value of personal computer systems. Commodore was second, selling 25,000 PETs valued at $20 million, and Apple shipped 20,000 systems valued at $30 million. MITS/Pertec shipped 3000 units valued at $12 million, IMSAI shipped 5,000 valued at $18 million and all other personal computer makers shipped 35,000 units valued at $130 million. Dataquest adds to this the IBM and Hewlett-Packard table- top systems selling for less than $15,000. Thus IBM shipped 5,000 units valued at $95 million and Hewlett-Packard shipped 4,000 units valued at $80 million. TANDY TO INTRODUCE NEW COMPUTER SYSTEM. Tandy has disclosed that it will soon introduce two, three and possibly four new computer systems in the second and third quarters of 1979. The systems will be designed to fit specific purposes. This is seen by industry experts as an attempt by Tandy to strengthen its market position in anticipation of Texas Instruments entering into the personal computer market. Tandy has had their TRS-80 in production for almost two years. INTEL REPORTS 42 PERCENT INCREASE IN SALES FOR 1978. Intel, the pioneer in micro- processors, reported sales of just over $400 million dollars in 1978, compared to $282.5 million in 1977 — a 41.8 percent increase. In fact, sales in the last quarter increased over 61 percent as compared to the same period in 1977. Profits increased 39.7 percent; from $ 31.7 million to $44 million. Coincidentally, Zilog had sales of $18 million, and reportedly operated in the red for 1978. MICROSOFT MOVING INTO 16 BIT SOFTWARE. Microsoft, a recognized leader in micro- processor software, plans to introduce a broad range of software for 16 bit processors, using the new Intel 8086 and Zilog Z-8000 microprocessors. Most of Microsoft's business is OEM (original equipment manufacturer). This indicates that several hardware manufacturers plan systems using these 16 bit processors. Microsoft will not desert the 8 bit area in which they plan to release a BASIC compiler and Pascal and APL interpreters. INTEL PRESIDENT WORRIES ABOUT VLSI. Gordon Moore, Intel founder and president, was the keynote speaker at the recent International Solid States Circuit Conference. In his speech, he expressed great concern about the possibility that integrated circuit technology is too far ahead of applications. The industry is moving into the next generation of integrated circuits, called VLSI (very large scale integration) which feature devices with upwards of 400 K transistors, or 100 K gates. So far, the applications for such large devices have not developed. At the same meeting Dr Tom Longo, vice-president and chief technical officer at Fairchild Semiconductor, suggested that one possible application for VLSI might be the 64 bit microprocessor. MICRODISKS ARE COMING. Microdisk is the name given to the new 8 inch hard disk drive, which is now being developed by several disk manufacturers. It is expected that at least four manufacturers will show these new disks at the NCC (National Computer Conference) show next month. These drives will fit into the same space as an 8 inch floppy disk, provide upwards of 20 M bytes unformatted storage, and use Winchester technology for high speed May 1979 © BYTE Publications Inc 117 access. It is anticipated that the iirst production microdisks should be available late 1979, with full production not expected until mid 1980. Expected selling price in OEM quantities is $1500. This will probably translate to $3000 retail for a complete system including con- troller and power supply. At present 14 inch hard disks with 10 M byte storage are avail- able at an end user cost of $7000 to $10,000. 16 BIT MICROPROCESSOR SCENE GROWING. Zilog began shipping Z-8000 samples in March, and Motorola expects to start sampling their 68000 this month. Production quantities should be available in the fall. Meanwhile, Intel has heated up competition by cutting the 8086 price by 23 percent; from $82.50 to $65.20 (4 MHz) and from $99 to $76.25 (5 MHz) in 500 quantity lots. The 8086 has been in production for almost a year; a very substantial lead time. However, the Zilog Z-8000 and the Motorola 68000 in particular are more powerful than the 8086, and Intel's price reduction probably represents a marketing strategy. HP NOW PRIMARILY A COMPUTER COMPANY. Hewlett-Packard, which until now has been primarily a manufacturer of electronic instruments (voltmeters, frequency generators, etc), has disclosed that their computer business is now larger than their instrument business, and is growing at a faster rate. It is rumored that Hewlett-Packard will soon introduce a personal computer system. COMMODORE REPORTS 8.6 PERCENT INCREASE FOR 1978. Commodore's 1978 Annual Report states that sales increased from $46 million to $50 million and that income rose from $1.5 million to $4 million, a 165 percent increase. There is little doubt that the PET and KIM accounted for the major portion of this increase. Like Tandy, Commodore does not break down its sales figures: however, industry experts estimate that over 25,000 PETs were sold in 1978. The Annual Report shows pictures of a PET with a standard keyboard, numeric pad and outboard tape recorder. Further, they promise a "new generation of PET computers" but do not say when. IEEE AND ANSI WORKING ON PASCAL STANDARD. The IEEE (Institute of Electrical and Electronic Engineers) and ANSI (American National Standards Institute) have formed a joint committee to coordinate development of a Pascal standard. It is expected that the development of the standard will take several months. PERKINS-ELMER LEAVES FLOPPY BUSINESS. Perkins-Elmer is the second major floppy disk manufacturer to leave the business within the last year. The Wangco division supplied drives to personal computer systems makers such as Cromemco, Heath Co and Intelligent Systems Corp. Although Wangco operated in the black and was growing, its profits were not apparently fulfilling Perkins-Elmer's expectations. APL INTERPRETER AVAILABLE. The first APL interpreter for a microprocessor has been intro- duced by Vanguard Systems Corp, San Antonio TX. It is designed to run on a Z-80 computer system. As yet no data is available on how it compares to IBM APL. Several companies, including Microsoft and Scientific Time Sharing, have been promising a microprocessor APL package, but Vanguard is the first to reach the market. LOW COST VOICE OUTPUT FOR COMPUTERS. If you are looking for a low cost, high quality voice output for your computer system, why not try interfacing the Texas Instruments Speak and Spell game to your system. This is done by interfacing some parallel ports to the keyboard connections of Speak and Spell. A short software driver routine for the interface was published in the January issue of the Ottawa Computer Group Newsletter (Box 132218, Kanata Ontario Canada). MICROSOFT PASCAL. We have heard that Microsoft is going to announce a Pascal package. The Microsoft version is supposed to be compatible with UCSD, ANSI, and ISO Pascal. The initial implementations of Pascal will be on the 8080, 8086, Z-80, Z-8000, and LSI-11. Additional implementations will be produced as the demand arises. The 8080, 8086, and Z-80 versions will be CP/M compatible. The rumored price for Microsoft Pascal is $1,000. Sol Libes ACGNJ 1776 Raritan Rd Scotch Plains NJ 07076 118 May 1979 © BYTE Publications Inc BITE wmwa "BOOKS OF INTEREST TO COMPUTER PEOPLE" More BYTE Hilf KS in your future Circle 36 on inquiry card. BYTE May 1979 119 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 your computer. Forthe budget minded, "A$19 Music Interface" contains practical tutorial information— and organ fans will enjoy reading "Electronic Organ Chips For Use in Computer Music Synthesis". New 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. r $&k ISBN 0-931718-11-2 Editor: Christopher P. Morgan Pages: approx. 128 Price: $10.00 1 1 (Hi Hli m SUPERWUMPUS is an excit- ing computer game incorpo- rating the original structure of the WUMPCJS 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 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. ISBN 0-931718-03-1 Author: Jack Emmerichs Pages: 56 Price: $6.00 Tiny *0* : 1-1 Oil s £ S i i s 1 1 i SMf 81 | § II lilfffjf 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 the PAPERBYTE™ book TINY ASSEMBLER 6800 Version 3.0. In September 1977, BYTE 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 (Novemberl977),ProgramYourNextEROMinBASIC (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 \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 10 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. \gg2l ISBN 0-931718-05-8 Author: Paul Warme Pages: 88 Price: $8.00 ui&m^' 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 included. 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-4 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 MIKBCIG 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 ICOM 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 softwa re. 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. h 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 MIKBCIG 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 • 70 Main Street • Peterborough, New Hampshire 03458 Name Title Cornpanv Street City □ Check enclosed in the amount of $ □ Bill Visa □ Bill Master Charge Card No. Please send the books I have checked. □ Computer Music $10.00 □ SCIPERWCIMPGS $6.00 □ Tiny Assembler (3.1) $9.00 □ Circuit Cellar $8.00 DBASEX$8.00 □ Program Design $6.00 BYTE BOOKS. BYTE BOOKS logo, and PAP I- RBYTE are trademarks of BYTE Publications. Inc. State Province Exp. Date □ Simulation $6.00 DRA6800ML $25.00 DLink68$8.00 □ TRACER $6.00 DMondeb$5.00 □ Bar Code Loader $2.00 Add 50C per book to cover postage and handling Please allow 6-8 weeks lor processing your orde 122 BYTE May 1979 Circle 36 on inquiry card. Text continued from page 6: The parts for a simple 110 VAC lamp controller with one channel and a 10 A rating consist of: One Sigma Instruments Model 221A-3-5D Hybrid Relay One AC Line Cord (surplus store) One AC Socket (local hardware store) One plug for my computer's parallel interface (DB-15) One aluminum minibox Miscellaneous interconnect wire $12.80 $ 1.00 $ 1.35 $ 2.00 $ 2.98 0.00 Total for one channel $20.13. In an evening I had this relay wired to my computer, and ready for use in some applications. The most obvious home oriented application is, of course, the control of lamps in real time, assuming you have a real time clock and an ap- propriate operating system in your com- puter. At a high level, the simplest open loop lamp control procedure can now be implemented: DO FOREVER BEGIN Wait Until 6; Turn On Lamp; Wait Until 11; Turn Off Lamp END; Here I have used "DO FOREVER" to mean that the block will be repeated in- definitely with no ending condition in the program itself, although it is always possible to pull the plug or reset the computer with manual intervention. This is a procedure which is reiterated day in and day out as a background task of the computer system, with a real time executive which can monitor time. What is the advantage over a simple mechani- cal timer? It is, of course, the equivalent of that timer, but you have gained the ability to combine the relay control with the more sophisticated logic of a pro- gram. With this simple amount of hardware, it is now possible to write programs which do much more than the me- chanical timer. For example, if you want to give your house a lived-in look on the basis of lights, you can now add some randomization. Let's define a function, RANDOM(X), which returns a random number ranging from to X, as do many standard compilers and interpreters. We can extend this procedure, using ran- domization of the starting and stopping times. In this next example, we add a se- cond period in which the lamp is on: DO FOREVER BEGIN Wait Until (6 + RANDOM(2)); Turn On Lamp; Wait Until (8 + RANDOM(1)); Turn Off Lamp; Wait Until (9 + RANDOM(1)); Turn On Lamp; Wait Until (11 + RANDOM(3)) END; Our program has no inputs now, other than time synchronization with the com- puter's real time clock. The effect is that of having two periods with random star- ting and stopping times during the even- ing. Combine this with several other channels for different rooms of the house, and you have unique and random night lighting control for times when the house is vacant due to business or fami- ly trips. Of course, no computer (as yet) can collect piled up mail or clear snow from the driveway, but with a simple evening's effort of wiring up several re- lays in a control box, this sort of program can be left running when you go away. In this example, I wanted to use this relay for lamp control. But, with a little imagination, you can control much more than lamps. The solid-state relays can turn on and off virtually any load within the current limitations of the device (10 A in this example) at the zero point of the AC waveform. This could in- clude: turning on your coffeemaker in the morning (assuming that you primed it with water and grounds the night before); turning on a hot plate (of less than 1000 W) under a tea kettle in the morning; responding to a voice input microphone for the particular room you are in by recognizing the words on and off (all using techniques discussed in past BYTE issues). There is no reason why other appliances, such as the motor of my attic fan, could not be controlled in the same way. The point is, the act of creating hard- ware for such brute force things as turn- ing AC lines on and off has been reduced to wiring, and is now an easily solved problem. Just as we all experiment with software, we can now very simply ex- periment with software that controls significant hardware outside the com- puter system. All it takes is the will- ingness to spend some time wiring the particular details needed to make your system's output port talk to the real world. Hardware is not hard to control, once you've got a complete computer system with real time clock and parallel output data ports. ■ May 1979 © BYTE Publications Inc 123 Event Cueue In order to gain optimum cover- age of your organization's computer conferences, 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 Inc, 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 fol- lowing 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. May 1-3, 1979 Southwestern Computer Conference, Myriad Convention Center, Oklahoma City OK This conference, sponsored by the Oklahoma State University Technical Institute in cooperation with the Data Processing Management Association and the Association for Systems Management, will include 150 exhibit booths and 60 seminar presentations. Contact E Z Million, OSU Technical Institute, 900 N Portland, Oklahoma City OK 73107 May 7-11, Data Base Concepts and Design, Kansas City KS. Sponsored by the American Management Association, this course will feature practical infor- mation, workshops and case studies to help the participant understand struc- ture, concepts, design, software and management Contact American Management Associations, 135 W 50th St, New York NY 10020, (212) 586-3100. May 11-13, The West Coast Computer Faire, San Francisco Civic Auditorium This is a conference and exposition on personal computers for home, business, and industry. Contact Computer Faire, POB 1579, Palo Alto CA 94302, (415) 851-7075. May 14-16, Implementing Cryptography, The New York Sheraton, New York NY. This seminar will present current techni- ques that protect transmitted and stored data, authenticate messages and system users, and generate electronic digital signatures. Contact Ketron Inc, Valley Forge Executive Mall, # 10, 530 E Swedesford Rd, Wayne PA 19007 May 15-17 Micro/Expo '79, Centre Inter- national de Paris, Paris FRANCE. Con- tact Sybex Inc, 2020 Milvia St, Berkeley CA 94704. If you need Business Reports with fancy frills you have the wrong company. We don't put these in our Software or our Ads. Both cost *** You *** Money. But if you need solid, Down-To-Earth Software for your North Star, Imsai, or other low cost Data Processing System written in Microsoft Basic or Cbasic in- cluding GL, AR, AP, Inventory, Payroll, Mailing List and Fixed Asset Accounting then you *** Do *** have the right company. GIVE US A TRY - WE KNOW YOU'LL BE GLAD YOU DID We honor Visa and Mastercharge 102 Avenida Dela Estrella Suite 208 San Clemente, CA 92672 (714) 492-7633 May 15-17, First Education Computer Fair, Detroit Plaza Hotel, Detroit Ml. This fair will be held in conjunction with 1979 Association for Educational Data Systems 17th Annual Convention. The theme of the fair will be the use of microprocessors in education. Contact Bruce C Alcock, Riverdale Country School, W 253 St and Fieldston Rd, Bronx NY 10471. May 15-18, 1979 Association for Educa- tional Data Systems 17th Annual Con- vention, Detroit Plaza Hotel, Detroit Ml. The convention program will focus on computer applications, computer re- sources, computer related curriculum, application development methodologies and futures. Exhibits, user group meetings and vendor sessions will also be offered. Contact Arthur W Daniels |r, 31202 Dorchester, Madison Heights Ml 48071 May 17-18, Microcomputers in Educa- tion and Training, Arlington VA. Contact Society for Applied Learning Tech- nology, 50 Culpeper St, Warrenton VA 22186 May 21-23, Distributed Data Processing, Logan Airport Hilton, Boston MA A detailed perspective of the decisions to be made in planning, implementing and maintaining distributed data processing systems. Contact American Management Associations, 135 W 50th St, New York NY 10020. May 21-24, Eighth Annual Incremental Motion Control Symposium, Ramada Inn, Urbana IL. Contact Dr B C Kuo, POB 2772, Station A, Champaign IL 61820. May 21-25, Systems Analysis Workshop, Chicago IL. This workshop will teach systems analysts and others needing systems analysis skills to use a practical set of tools and techniques to evaluate user requests and document require- ments for new data processing sys- tems. Contact Brandon Systems Insti- tute, 4720 Montgomery Ln, Bethesda MD 20014. May 21-25, Structured Programming and Software Engineering, The George Washington University, Washington DC. This course is designed for experienced program architects, designers and managers. It will provide up-to-date technical knowledge of logical expres- sion, analysis and invention for perform- ing and managing software architecture, design and production. Presentations will cover principles and applications in structured programming and software engineering. Design workshops with analysis and review sessions will provide actual practice in problem solving. Con- tact George Washington University, Con- 124 May 1979 © BYTE Publications Inc Circle 1 on inquiry card. 1 6K MEMORY ADD-ON KIT FOR THE TRS-80* - SORCERER* APPLE lit 8-PRIME, 250 NS HIGH SPEED MEMORY CHIPS $95 00 • All chips are new, top quality, factory fresh and tested. • Each kit comes with complete, simple to understand instruc- tions. Even the least experienced individual can add on memory. • Comes complete with programmed jumpers. GUARANTEE If a chip fails, we will replace it with no questions asked. Lifetime guarantee! Remember: These are top quality prime #1 chips. All orders shipped same day as received! TERMS CASH WITH ORDER, VISA, MASTER CHARGE. NO C.O.D.'S! PERSONAL CHECKS REQUIRE 3 WEEKS TO CLEAR. WORLD POWER SYSTEMS, INC. 1161 N. El Dorado Place, Suite 333, Tucson, Arizona 85715 24 Hour Order Phone No: 602-886-2537 ' TRS-80 is a trademark of Tandy Corp. % Sorcerer is a trademark of Exidy, Inc. t Apple II is a trademark of Apple Computer, Inc. WATCH FOR MODULE 50 Circle 390 on inquiry card. byte May 1979 125 tinuing Engineering Education, Washington DC 20052. May 23-24, The Clemson Conference on Small Computers: Application for Business, Industry, Education, Medicine, Clemson University, Clemson SC. This conference will be of interest to in- dividuals interested in small computers who have a wait and see attitude. Per- sons who are already involved with small systems will find the conference in- teresting and beneficial. There will be discussions on a wide variety of applica- tions, tutorials on small systems and ex- hibits of equipment. Contact William J Barnett, Associate Professor, College of Engineering, Clemson University, Clem- son SC 29631. May 24-26, Computers in Critical Care and Pulmonary Medicine. Yale Univer- sity School of Medicine, Norwalk CT. The purpose of this meeting is to bring together computer scientists, biomedical engineers and physicians who are in- terested in the application of computer technology to the diagnosis and treat- ment of critically ill patients. The pro- gram will consist of one day devoted to respiratory monitoring and two days devoted to the presentation of papers pertaining to the application of com- puter technology to the monitoring of critically ill patients. Contact S Nair MD, Norwalk Hospital and Yale University School of Medicine, Norwalk CT 06856. June 3-6, 1979 International Summer Consumer Electronics Show, McCormick Place, Chicago IL. This show serves as the marketplace for the entire consumer electronics industry. Contact Consumer Electronics Show, 2 Illinois Ctr, Suite 1607, 233 N Michigan Av, Chicago IL 60601 . June 4-7, 1979 National Computer Con- ference, New York Coliseum, New York NY. NCC '79 will feature a premier showcase of the state of the art in com- puting and data processing. Leading organizations, large and small, will show the latest equipment and services in ap- proximately 1500 booths. More than 100 program sessions are planned, emphasiz- ing the four major areas of management, applications, science and technology, and social implications. In conjunction with NCC '79, the Personal Computing Festival of commercial exhibits, applica- tion demonstrations, and technical ses- sions on microcomputer systems and ap- plications will be held at the Americana Hotel. Contact NCC '79, c/o American Federation of Information Processing Societies Inc, 210 Summit Av, Montvale Nl 07645. NEW HEALTH INTEREST PROGRAMS... ^>eokeosy VitoFoctr • Heart Attacks • Blood Pressure • Adolescence • Teenage Drinking & Drugs • Birth Control • Talking About Sex For Everyone — YOUTH ADULTS PARENTS Help yourself — your family — your friends to better health with the new Speakeasy VitaFacts Series learning programs! These professionaly-prepared programs include an audio cassette, a computer cassette and a booklet. They are available through hundreds of computer stores worldwide at very reasonable prices. Please check with your dealer or contact Speakeasy VitaFacts. DEALERS: Please call us at the number below for the name of your distributor. MICROCOMPUTER-ASSISTED INSTRUCTION FOR HEALTHFUL LIVING! Speakeasy VitoFoaV Box 909 Kcmplvillc, Ontario, Canada K0G 1 JO (613) 258-3291 June 6-8, Twelfth Annual Association of Small College Computer Users in Educa- tion Conference, Denison University, Granville OH. Sessions will include the presentation of papers and demonstra- tions of the educational use of micro- computers, computer text book surveys, discussions with authors of computer texts, administrative uses of computers in small colleges, and a tutorial on microprocessors. Contact Douglas Hughes, Computer Ctr, Denison Univer- sity, Granville OH 43055, (614) 587-0810. June 6-8, Eighth Annual Conference of the MUMPS Users Group, Marriott Hotel, Atlanta GA. Papers will be presented on all aspects of MUMPS development, implementation, and use. Contact Judith Faulkner, Program Com- mittee, Department of Psychiatry, Clinical Sciences Ctr, 600 Highland Av, Madison Wl 53792. June 6-8, Computer Contract Negotia- tion, New York NY. This three day course is designed to give participants sound answers to the complex ramifications of preparing and negotiating computer con- tracts. Contact Brandon Consulting Group Inc, 505 Park Av, New York NY 10022. June 19-21, International Microcom- puters/Minicomputers/Microprocessors '79, Palais des Expositions. Geneva SWITZERLAND. Focusing on the chang- ing state of the art in mini/microcom- puters and microprocessors, the 1979 conference program will probe advances in systems and equipment, with em- phasis on practical applications and uses of minicomputers and microcomputers as well as the techniques important to their development. June 20-22, The 1979 Symposium of the Wilmington Section of the Instrument Society of America, University of Delaware, Newark DE. The symposium theme, "Measurement Technology for the 80's," is being programmed by three of ISA's divisions: Process Measurement and Control, Analysis Instrumentation, and Water and Waste Water Industries. Contact A H Straightiff, E I Du Pont de Nemours and Co Inc, (302) 366-3810. June 27-29, Machine Processing of Remotely Sensed Data, Purdue Univer- sity, W Lafayette IN. The symposium will focus upon the theory, implementation and novel applications of machine pro- cessing of remotely sensed data. Contact Purdue University, Laboratory for Ap- plications of Remote Sensing, 1220 Pot- ter Dr, W Lafayette IN 47906. July 9-20, Computing Systems Reliability. University of California, Santa Cruz CA. Contact Institute in Computer Science, University of California Extension, Santa Cruz CA 95064. ■ 126 May 1979 © BYTE Publications Inc Circle 351 on inquiry card. Buy this book at yourfavorite com- puter bookstore or direct from BYTE BOOKS.™ Add 50$ per book for postage and handling The marvelous computer projects that Steve Ciarcia has constructed in his cellar are explained in detail so that you can make your microcomputer perform the same useful functions. Each article is a complete tutorial, presented in such an easy-going style that even beginners can understand and enjoy. ,/ZjP 1 ™ EOnNSI "HOOKS Of INTEREST TO COMPUTER PEOPLE" 70 Main Street Peterborough, New Hampshire 03458 Circle 36 on inquiry card. BYTE May 1979 127 TMS-9900 Monitor Jeremy O Jones Alan Jones Dept of Computer Science Trinity College Dublin Dublin 2-IRELAND Everyone has their own idea of what a good monitor should and should not do. Our TMS-9900 monitor is aimed at a small Texas Instruments 9900 system (without disks) with a terminal (64 by 32 character screen size) for I/O (input/output). It has been designed so that programs (which may be cross assembled elsewhere) can be debugged efficiently. To this end, the monitor con- tains an instant assembler, a disassembler, and comprehensive user program tracing facilities. The instant assembler allows modifications in code to be made quickly, since calculating op codes is difficult because the op code fields are not aligned on nybble boundaries. The monitor occupies slightly less than 256 bytes of memory and has been as- sembled to occupy hexadecimal locations F400 thru FFFE. The monitor allows the user to examine and change memory lo- cations; disassemble instructions; assemble mnemonics; perform memory searches; move blocks of memory; set breakpoints; trace program operation; and other func- tions." The Nybbles Library is an inexpensive means for B YTE readers to share some inter- esting 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 programming techniques in these programs can be directly used by readers with similar equipment, or can serve as an inspiration for improvisation on com- puters of different characteristics. Potential authors of such programs should send us a self-addressed stamped envelope, with a request for a copy of our Guidelines for Nybbles Authors. Payment for Nybbles items is based on sales and length of the item. Rates are set at the time of acceptance. This month the "TMS-9900 Monitor" (# 106) has been added to the Nybbles Library. To order your personal copy, at $3.00 postpaid, fill out the coupon below. Please send copies of BYTE Nybble #_ Please remit in US funds only. Check Enclosed Bill my BACK Bill my MC It Name Street City at $_ postpaid. Nyttles _ Exp Date . Exp Date 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. 128 May 1979 © BYTE Publications Inc CLIP & ORDER Description Model No. Price Qnty Total 16K Memory Add-On Kit $ 95.00 S-100 3 S+P Interface Card 3 S+P-100K $159.95 3 S+P-100A $189.95 S-100 EPROM Programmer +3 EPR-100K $129.95 EPR-100A $159.95 TRS-80* to S-100 BUS RSB-K $249.95 RSB-A $289.95 S-100 Video Display Board VID-100K $119.00 VID-100A $139.00 TRS-80* Master Control Console MCC-K $159.95 MCC-A $189.95 TRS-80* Expandor Interface EI-80K $329.00 EI-80A $349.00 TRS-80* Disc Controller Module DCM-80K $129.95 DCM-80A $159.95 16K RAM Kit (With purchase of DCM-80) $ 85.00 TRS-80* EPROM Programmer +3 EPR-80K $129.95 EPR-80A $159.95 S-100 BUS Master Control Card MCC-100K $159.95 MCC-100A $189.95 S-100 Disc Controller Card— TRS-80* Disc Drives DC-80K $139.00 DC-80A $159.00 S-100 RS-232 Control Card 232-100K $149.95 232-1 00A $179.95 TRS-80* Serial Parallel I/O Module MS10-K $129.95 MS10-A $149.95 S-100 Z-80 Central Processing Unit Z-80100K $129.95 Z-80100A $139.95 TRS-80* To S-100 BUS Cable Adapter CAB-80K $ 99.95 CAB-80A $119.95 S-100 8K Static 250NS RAM Memory Card 8K-100K $119.95 8K-100A $139.95 TERMS— CASH WITH ORDER, VISA, MASTER PERSONAL CHECKS REQUIRE 3 WE charge. no < :eks to cleaf S.O.D.'S! 1. TOTAL □ My check (made payable to World Power Systems, Inc.) is enclosed □ Please charge to my: □ Visa □ Master Charge No. Signature Exp. Date SHIP TO: Name_ Address. "TRS-80 is a trademark ol Tandy Corp {Sorcerer is a trademark ot Exidy Inc tApple II is a trademark ot Apple Computer. Inc City/State. Phone WORLD POWER SYSTEMS, INC. 1161 N. El Dorado Place, Suite 333, Tucson, Arizona 85715 24 Hour Order Phone No: 602-886-2537 Circle 390 on inquiry card. BYTE May 1979 129 The Intel 8275 CRT Controller Chris Tennant 119 S Kaspar Arlington Hts IL 60005 About the Author Chris Tennant is an electrical engineering graduate of the Univer- sity of Illinois. His spe- cific areas of interest are communications and computer systems. As a hobby, Chris has been building theZ-80S-100 microcomputer par- tially shown in the pictures. Chris works in the University s Psychology department as an elec- tronic technician of the Cognitive Psychophysi- ology Lab. Brain wave experiments are run, and PDP-11 minicom- puters abound in this environment. Along with a fellow senior technician he has de- signed and built dig- ital and analog devices to interface the com- puters to the test sub- jects. Microprocessor projects are both in progress and on the drawing board. The Intel 8275 is a programmable video display controller manufactured by Intel Corporation. It is sealed in a 40 pin dual in line package. The device is presently expensive, but it replaces more costly circuitry of a greater size and complexity. The 8275 has full color capability, a light pen option, many display modes, and simplicity in both hardware and software. This article's focus is on the ability and overall value of an 8275 based video ter- minal. Since value is a relative judgment, frequent comparisons will be made be- tween an 8275 based terminal and other kinds of terminals presently available. Video terminals can be divided into two groups: • Dedicated memory terminals. These are prevalent in microprocessor sys- tems. A typical terminal contains 1 K or 2 K bytes of memory for screen data. The memory is used almost continuously for screen re- fresh, and hence is dedicated to the terminal. The processor may have both read and write access to the video memory. Dedicated memory terminals include bit mapped ter- minals. Every dot location on a bit mapped display is addressable. Many bit mapped terminals allow read access as well as write access. • Direct memory access terminals. This kind of terminal is connected to a processor bus. The video memory actually resides in processor memory. It is not dedicated memory, so the information must be transferred from the processor to the screen for each screen refresh. Usually processor oper- ation is suspended for refresh, result- ing in lower processor throughput. For the most part, this article considers the use of an 8275 and a microprocessor Photo I : The author's 2 board video controller using the Intel 8275 video display controller. 130 May 1979 © BYTE Publications Inc • !• YES!! Godbout has S-l BANK SELECT BOARDS ! We're happy to announce the new CompuKit"' memories, each with two totally independent, individually selectable and addressable banks. These are low power, completely static, 4 MHz boards that offer Econoram quality in a brand new format. Our memory boards are generally available in 3 forms: unkit (sockets, bypass caps pre-soldered in place for easy assembly); assembled and tested; or qualified under the Certified System Component (CSC) high-reliability pro- gram (200 hour burn-in, guaranteed 4 MHz operation over the full commer- cial temperature range, and immediate replacement in event of failure within 1 year of invoice date). Name Econoram Xll-16 Econoram XII -24 Econoram XIII " Storage 16KX8 24KX8 32KX8 Buss Addressable on Design Unkit Assm CSC S-100 8K boundaries static S-100 8K boundaries static S-100 16K boundaries static $369 $419 $519 $479 $539 $649 $629 $699 $849 AND WE STILL HAVE THE BOARDS THAT MADE US FAMOUS, ALL THE WAY TO 32K: Name Storage Buss Design Speed Configuration Unkit Assm esc Econoram II 8KX8 S-100 static 2 MHz dual 4K $149 $164 N/A Econoram IV '" 16KX8 S-100 static 4 MHz single 16K $295 $329 $429 Econoram VI " 12KX8 H8 static 2 MHz 1-8K, 1-4K $200 $270 N/A Econoram VII ™ 24KX8 S-100 static 4 MHz 2-4K, 2-8K $445 $485 $605 Econoram IX" 32KX8 Dig Grp static 4 MHz 2-4K, 1-8K, 1-1 6K $649 N/A N/A Econoram X™ 32KX8 S-100 static 4 MHz 2-8K, 1-1 6K $599 $649 $789 Econoram XI ™ 32KX8 SBC static 4 MHz 2-8K, 1-1 6K N/A N/A 1 $1050 [SEE CompuKit " PRODUCTS AT YOUR LOCAL COMPUTER STORE ^S\ • FULL FUNCTION THE • DUAL CHANNEL l/0 BOARD $189 unkit, $249 assembled & tested Our new I/O board gives you unparalleled flexibility and operating con- venience . . .we include features such as two independently addressable serial ports, real LSI hardware UARTS for minimum CPU housekeeping, full RS232C, current loop (20 mA) and TTL signals on both ports, crystal controlled Baud rates up to 19,2 KBaud, transmit and receive interrupts on both channels, industry standard RS232 level converters with five RS232 handshaking lines per port, optically isolated current loop with pro- visions for both on board and off board current sources, full feature operation with either 2 or 4 MHz systems, low power consumption ( + 8V @ 350 mA typ; +16V @ 70 mA typ; -16V @ 55 m A typ), no software initialization required for board operation (although board parameters may be altered by software) . . . and much more. Amazingly enough, all these features won't cost you more than other types of I/O boards that do a whole lot less. Want complete information? ust write, and we'll be glad to tell you all about it. 16K MEMORY EXPANSION SET $109 (3/$320) For Radio Shack-80, Apple, Sorcerer machines. 250 ns chips for 4 MHz operation, DIP SHUNTS, 1 year limited warranty. Includes easy-to-follow instructions. ACTIVE TERMINATOR KIT $29.50 Our much imitated design plugs into any S-100 motherboard to treat the S-100 buss as the RF system it really is, thereby reducing noise, glit- ches, ringing,overshoot, and other buss-related problems. Improves reliability of data transfer, while saving power compared to standard passive termination systems. 11 SLOT MOTHERBOARD UNKIT $90 Includes 11 edge connectors soldered in place for simplified assembly as well as active termination for reliable data transfer with energy effi- ciency. Dimensions: 8.5" x 11". 18 SLOT MOTHERBOARD UNKIT $124 Same as above, but 18 slot version. Dimensions. 8.5" x 16.7" JUST IN: AN EXCITING NEW CHIP FROM WESTERN DIGITAL, the 1791 MOS LSI dual density disc controller chip. Prime part! With pinout and data, only $59, h£) TERMS: Allow 5% shipping, excess refunded. Cal res add tax. VISA'-'/Mastercharge® call our 24 hour order desk at (415) 562-0636. COD OK with street address for UPS (LIPS COD charge applies). Prices good through cover month of magazine. Circle 150 on inquiry card. CompuKit" " . rom ®i mm BOX 2355, OAKLAND AIRPORT, CA 94614 HOT-OFF-THE-PRESSES-CATALOCUE: Our new catalogue is something you need if you're into electronics. Parts, kits, computers, electronic music, specials ... it's really packed, and ifs free. Just send us your name and ad- dress, we'll take care of the rest. BYTE May 1979 131 CSC^ RDD- WRD>- AOD- DATA BUS CD- DIRECT MEMORY ACCESS REQUEST DIRECT MEMORY r->- ACCESS ACKNOWLEDGE INTERRUPT O- 22 CS RD WR AO D7 06 D5 D4 D3 02 Dl DO DRQ DACK IRQ + 5V f 40 V C C 8275 T CCLK CC6 CC5 CO CC3 CC2 CCI ceo LC3 LC2 LC I LCO GPAO GPA I LAO LA I RVV LTEN VSP HLGT HRTC VRTC LPEN 29 30 27 25 33 38 32 - \ II BUILT IN _OJ CHARACTER! -OREVERSE VIDEO -OLIGHT ENABLE -O VIDEO SUPPRESS -OHIGHLIGHT -OH0RIZ0NTAL RETRACE -O VERTICAL RETRACE -CJLIGHT PEN INPUT statistics change dynamically. Headings of tables would be underlined. Important statistics would be printed as reverse video characters, yellow alert information would be highlighted, and disaster information would be highlighted and blinking. This way, the operator can find the necessary information at a glance. If one is looking for all disaster and yellow alert data, one can spot it immediately, at a time when seconds count. If one is looking for other kinds of information, it can also be found quickly because it, too, has its own kind of signature. Dedicated memory termi- nals and bit map terminals would all be too slow for this application involving emergency situations. Once the operator has the needed information, he or she can initiate corrective measures through the same terminal. What follows is an introductory expla- nation of 8275 operation. Its merits and weaknesses are judged by comparing it to scrolling terminals, dedicated memory ter- minals and bit mapped (also dedicated mem- ory) terminals. Finally, the frequent uses of terminals in general are measured against the 8275's abilities. I hope to show that the 8275 meets most of these needs better than the other terminals. Figure 1 : A functional block diagram of the Intel 8275 video controller integrated circuit. system as a terminal. Hence, this terminal is intended to be connected to a large computer. The hobbyist, on the other hand, often uses a microprocessor as a stand alone computer. For the hobbyist, processor time is more important than for the user of a microprocessor based terminal connect- ed to a larger computer. Therefore, the potential homebrewer reading this article would understandably be skeptical of the 8275 because it can rob up to 25 percent or more of the processor's time. But after all things are considered, I believe that even the experimenter will be tempted by the fea- tures of the 8275 as I was. An example of how the 8275 can be uniquely applied to a real life situation will help to orient the reader toward its abilities. A power generating plant could employ an 8275 based terminal in its main control room. Many tables of data might be kept in the computer defining the status of various generators, the power load of various points in the city and graphs of previous days and weeks' status. The operator, using an 8275 based ter- minal, could flip between the pages of information. The operator could watch Device Description The 8275 video controller requires two peripheral items in order to operate: a microprocessor and a direct memory access device. The microprocessor initializes the 8275 during power-up. It also shares its memory with the 8275. Figure 1 is a func- tional block diagram of the 8275. The lefthand signal lines interface to the system bus. The processor communicates with the 8275 via the bidirectional data bus and standard handshaking. The single address line, AO, indicates that this device occupies two locations in memory or I/O (input/ output) space. The 8275 communicates with the direct memory access controller via the direct memory access request output and direct memory access acknowledge input. The interrupt output is used to co- ordinate direct memory access activity. The video control lines are described below. • Character Clock input. The character clock tells the 8275 how fast char- acters are to be output to the screen. It also clocks the several internal counters which provide the screen timing. Direct memory access timing is based on the character clock as well. 132 May 1979 © BYTE Publications Inc ForS left '.',■ ':-.K$?;- «w FILL SIZE. DUAL DENSITY. AFFORDABLE PRICE We are offering, for a limited time, the industry proven Remex RFD1000B Disc Drive at an introductory price of $395. This is the lowest price ever advertised for a full size disc drive. This drive can operate in either single or double density mode and can store up to 800k bytes unformatted. It has been on the market for three years and has been proven in the field. We are also a service center and ready to service what we sell at rates that keep hobbyist and small OEM budgets in mind. $395.00 BONUS OFFER: We will include two important options-Optical Write Protect and a Door Lock Mechanism-list price value $50. for only $25. for ordering promptly. If you include check or money order with your order, we will include these two options absolutely FREE. The Computer Factory P.O. Box 155 Arlington Ma. 02174 Name Address City State Zip Disc Drives @ $395. Options Packages @ $25. Shipping ($6.00/drlve) Tax (Mass. Residents) TOTAL D Check or M.O. with order (Get tree options package) □ C.O.D. (Include 25% with order) DM.C.I □ Visa* Signature Circle 68 on inquiry card. BYTE May 1979 133 (2a) B27S CHARACTER OUTPUTS LINE COUNT LAI II BUILT-IN CHARACTERS { OUTPUTS U-AO VSP LTEN HGLT DOT CLOCK 00 02 CHARACTER GENERATOR ROM 2716 03 04 05 06 HORIZ RIGHT HALF \ CHAR GEN — t ENABLE tjd- ^ ;;=D zt> O O :z£> ;=D- a VERT LINE r^ io- T>- 6 ^N t^== QQ HORIZ LEFT HALF SHIFT REGISTER OUT k>- P>7=E> SYNCHRO- NIZATION ■VIDEO VSP LTEN •HIGHLIGHT (2b) Figure 2: A description of the circuitry needed for generating built-in characters. The resulting characters that are output are shown in figure 2b. Line Count outputs. These four outputs inform the character gen- erator which scan line the screen is tracing. At the top of a character row, the line count is 0. After the next retrace, the line count is 1, and so forth. The line count tells the char- acter generator which row of dots to output. The line count is pro- grammable from one to 16 scan lines per character. Character outputs. These seven bits of output determine which one of 128 possible characters is to be dis- played. They typically output the ASCII code representations of the characters. 134 May 1979 © BYTE Publications Inc • Two Built in Characters outputs. These signals are used to provide 11 characters without the use of a character generator. The use of these outputs may add needless complexity to the video circuitry. Figure 2a shows the circuitry needed to pro- vide the characters in figure 2b. These characters are used for drawing boxes around fields on the screen. A lower chip count and several hours of building time are sacrificed for these 11 characters. It is recom- mended that the characters be put in the character generator read only memory. The 2708 programmable read only memory makes a good 128 by 8 by 8 character generator. I chose a programmable read only memory because I could not find a character generator I liked on the market. • Two General Purpose outputs. These two bits can be individually pro- grammed to change logic levels at pre- determined points on the screen. Their function is left to the designer. • Reverse Video output. This bit tells the video circuitry that the negative image of the character is to be dis- played. A white character on a black background is therefore displayed as a black character on a white back- ground. • Light Enable output. When this out- put is high, an override of the char- acter generator occurs and only white dots are sent to the screen. This output is used for the under- line function and to display the cursor. • Video Suppress output. This output has the opposite function of light enable. It blanks the screen. It also provides blinking characters, invisi- ble retrace and "end of line" blank- ing (which will be explained later). • Highlight output. Characters of two intensities are possible because of this output. • Horizontal Retrace output. Raster timing is generated internally. This output synchronizes the video moni- tor's horizontal oscillator with the 8275. • Vertical Retrace output. This output synchronizes the monitor's vertical Number IC1 Type 8275 +5 V 40 GND 20 -5 V +12 V IC2 8212 24 12 IC3 74LS165 16 8 IC4 74169 16 8 IC5 7404 14 7 IC6 7400 14 7 IC7 7486 14 7 IC8 7402 14 7 IC9 7432 14 7 IC10 7416 14 7 IC11 7408 14 7 IC12 7414 14 7 IC13 74174 16 8 IC14 74157 16 8 IC15 74157 16 8 IC16 74157 16 8 IC17 7400 14 7 IC18 74126 14 7 IC19 2102 10 9 IC20 2102 10 9 IC21 2102 10 9 IC22 2102 10 9 IC23 2102 10 9 IC24 2102 10 9 IC25 2102 10 9 IC26 2102 10 9 IC27 2708 24 12 21 19 IC28 7400 14 7 IC29 74426 14 7 IC30 74426 14 7 IC31 74426 14 7 IC32 74426 14 7 IC33 7405 14 7 IC34 7421 14 7 IC35 7486 14 7 IC36 74139 16 8 Table 1 : Power pin assignments for the circuits in figures 3 thru 6. oscillator with the 8275. The duration of both kinds of retrace is program- mable. • Light Pen input. A positive edge on this input latches the present row and column positions. One possible light pen circuit is shown in figure 3. The light pen is a phototransistor. It is connected to a differentiator (the resistor/capacitor network) and a com- parator. The comparator detects a positive spike caused by the electron beam intensifying the phosphor on the screen. A Schmitt gate gives the video controller a clean, sharp edge. The controller now has the row and Text continued on page 139 May 1979 © BYTE Publications Inc 135 Figure 3: A possible configuration of the 8275 to produce a composite video signal. The number of dots which make up a character is determined by the dot clock. 136 May 1979 © BYTE Publications Inc NEW FROM MOUNTAIN HARDWARE. THE APPLE CLOCK. NEW UTILITY FOR YOUR COMPUTER. Until now, there hasn't been a Real-Time Clock for the Apple II*. The Apple Clock from Moun- tain Hardware keeps time and date in 1 mS increments for over one year. On- board battery backup keeps the clock running in the event of power outage. Software controlled interrupts are generated by the clock. That means you can call up schedules, time events, date printouts . . .all in real time on a programmed schedule. EASY TO USE. The Apple Clock is easily accessed from BASIC using routines carried in on-board ROM. With it, you can read time and program time-dependent functions for virtually any interval. From milliseconds to days, months or a year. PLUG IN AND GO. Plug the Apple Clock into a peripheral slot on your Apple II and you're ready to go. FEATURES. • Time and date in 1mS increments for periods as long as one year. • Software for calendar and clock routines, as well as an event timer are contained on on- board ROM. Program interrupts. • Crystal controlled accuracy of ±.001%. • On-board battery backup keeps your clock in operation even during power outage. REAL TIME AT THE RIGHT PRICE. At $199 assembled and tested, it's the clock your Apple has been waiting for. And, it's available now through your Apple dealer. Drop in for a demonstration. Or return the coupon below. A COMPLETE LINE. Mountain Hardware also offers a complete line of peripheral products for many fine computers. JQ Mountain Hardware, Inc. 300 Harvey West Blvd., Santa Cruz, CA 95060 (408) 429-8600 Sounds great. Send me everything I'll need to know about the Apple Clock. I've got a computer. Send me information. Address. . State. — Zip_ "Apple II is a trademark of Apple Computer, Inc. Circle 256 on inquiry card. BYTE May 1979 137 00000000 Figure 4: Adding the character generator circuitry to the 8275 video controller. This particular configuration has 128 prede- fined characters and 128 programmable characters. 138 May 1979 © BYTE Publications In Text continued from page 135: column positions latched in its in- ternal registers. It is good to know that the two General Purpose, the Reverse Video, and the High- light outputs all operate identically. Their functions can be changed at the will of the designer. Any three of the outputs could be used to represent the primary colors. Then either additional chroma circuitry or direct connection to the elec- tron guns' amplifiers could turn the output bits into actual colors. This feature could be very important to experimenters who may someday upgrade their systems to have color video. Video Display Circuitry Since this article is primarily concerned with the 8275's operation, discussion of the circuit will be limited mostly to the composite video output circuitry. The purpose of this section is to further acquaint the reader with the 8275. Figure 3 shows one configuration for producing a composite video signal. A dot clock is divided down to provide the character clock. If the dot clock is divided by n, there are exactly n dots per character horizontally. The character clock is connected to the 8275, but it must also connect to two other points. It controls the loading of the shift register, and it clocks several bits through flip flops. The shift register turns the parallel dot data from the character generator to serial form for the video display. The six bits [Reverse Video, Light Enable, Video Suppress, High- light, Horizontal Retrace and Vertical Retrace) are delayed by one clock by passing them through the flip flops to synchronize them with the slow speed of the character generator. They are then gated with the character data through some logic gates to produce the composite video output signal. My character generator (figure 4) has 128 fixed characters and 128 programmable characters. The programmable characters are interfaced to the processor bus in such a way that the processor has priority of access over the 8275. The video controller selects one of the 128 character groups with a General Purpose output. Note that up to 512 characters are possible if both General Purpose outputs are used. The simplest character generator would have no inter- face to the processor bus and would consist of a single character generator. Figure 3 gives the reader an idea of the complexity of the output circuit. Each box represents one integrated circuit (if a simple character generator is assumed), except for the six flip flops, which are all contained ■acs ici 8275 BIDIRECTIONAL DATA i BUS ' 74426 (TYPICAL OF 16) icii] ' ! ^O 0,7 O DIE O DI5 O DI4 O DI3 O DI2 O Dll ODIO + 5V $ IC35 ilOK 7486 AI4 O- 3n>i •IOK IC35 74 86 AI3D- DE^ i -^ ,0K 7486 AIZO- iE> cs MCS_ ROMCS DIRECT MEMORY ACCESS CS height of each character is programmable from 1 to 16 raster scan lines. The number of characters in a row is programmable from 1 to 80. The number of rows from top to bottom is programmable from 1 to 64. Unfortunately, the monitor's timing is not infinitely flexible. Some screen formats would be impossible for a monitor to synchronize with. For example, a screen format of two characters horizontally by two characters vertically would not be possible. A horizontal or vertical retrace signal would come from the 8275 long before the monitor's beam was at the end of the screen. Another limitation may be the bandwidth of the monitor. If the monitor has a low bandwidth, the characters may become smeared and difficult to read if there are too many characters in a hori- zontal row. The parameters also depend on the character clock going into the 8275. In spite of all this confusion, there is a range of screen and character formats which is acceptable to the monitor, and one of them must be chosen before data can be displayed. The screen format parameters are loaded into the 8275 after power-up, but can also be changed dynamically. This means that different screen and character formats can be used to represent different kinds of information. For example, a tightly packed screen of 4 K characters might be used for graphics, a medium packed screen of 2 K to 3 K characters might display text, and a loosely packed 1 K character screen might be a table of contents or other directive data. The user could tell at a glance what kind of information he is looking at just by the screen format. Only six bytes are required to reprogram the 8275 's screen and character format. Controller Circuitry Building a direct memory access circuit requires special care. The device is master of the bus at one moment, a normal periph- eral the next; a situation which requires some signal reversing. Furthermore, when it is the bus master, it can do some odd things to the timing. The Intel 8257 direct memory access controller will set up a memory address and do a normal memory read by making MEMRD low. Then, the I/O write (TOWR) will go low to strobe the data to the I/O device (th e video controller in this case). The signal DACK informs the video control- ler that it alone is intended to receive the data. If the designer is not careful, other I/O devices may be accidentally addressed. Each direct memory access cycle puts a new address on the bus. T he cyc ling of addresses and the strobing of IOWR will eventually access all I/O devices unless disabling of I/O devices is designed into the system. The job is more complex when dealing with S-100 signals. My direct memory access controller has evolved its way out of S-100 compatibility. Stubbornly using Intel's direct memory access controller meant altering boards and the bus. Some nonstandard things needed to be done. Indeed, my devices are not even I/O mapped as the 8275 assumes. Rather than raking over the details of my circuit, I recommend the reader check on other direct memory access devices, such as the Zilog Z-80 DM-8. It has separate cycles for reading 140 May 1979 © BYTE Publications Inc $-100 Memory for peanuts, Artec has slashed its prices! 32K for $620, 16K for$315-Assembled. No matter what your needs, Artec has a memory board for you. You can start with 8K of Tl 4044 memory on a 5.3" x 10" card and work your way up to a full 32K in 8K increments. The access time is only 250ns. The memory is addressable in 4K blocks and is perfect for S100 and battery aug- mented systems. The Artec 32K Expand- able Memory has four regulator positions, bank select and plenty of room for all necessary support hardware. It uses less than 1 amp per 8K of memory (3.9 for 32K), and only +8 volts. LMWIWll IIIIIIIIIIIINIIIIIHII BOARD KIT ASSEMBLED 8K Memory $150 $175 16K Memory $265 $315 24K Memory $400 $475 32K Memory $520 $620 Add-ons: $135-Chips alone: $7.00 Circle 13 on inquiry card. GP100— $20.00 Maximum design versatility along with standard address decoding and buffer- ing for S100 sys- tems. Room for 32 uncommitted 16 pin IC's, 5 bus buffer & decoding chips, 1 DIP address select switch, a 5 volt reg- ulator and more. High quality FR4 epoxy. All holes plated through. Reflowed solder circuitry. WW100— $20.00 A wire wrap bread- board, similar to the GP100. Allows wire wrap of all sizes of sockets in any sizes of sockets in any com- bination. An extra regulator position for multiple voltage appli- cations. Contact finger pads arranged for easy pin insertion. Buffering Kit— $12.65 All the necessary components to bootstrap any Artec board into your system. Buffering I/O, DIP switch heat sinks and every support chip you need. TO ORDER: Use your Mastercharge or BankAmericard. Or just send along a money order. We can accept only U.S. currency. Please include $3 handling on all orders. California residents add 6.0% sales tax. FOR MORE INFORMATION: For more in- formation about these or any of Artec's com- plete line of circuit boards or for either indus- trial or personal use, please call or write. A catalog will gladly be sent. Please send me: (Include Quantity) 32K GP100 WW100 □ I've enclosed a money order. □ Mastercharge No. □ BankAmericard No. Name Exp. Date Exp. Date Address City .State . -Zip- Calit. Res. add 6% Sa/es Tax $3.00 Handling End. /4RTCCeLGCTROMIC9,IMC. 605 Old County Rd.,San Carlos, CA 94070 (415) 592-2740 BYTE May 1979 141 MEMORY MAP OF VIDEO DATA N BY M VIDEO SCREEN (a) TOP DIRECT -* MEMORY ACCESS ADDRESS (b) BOTTOM • DIRECT MEMORY ACCESS ADDRESS N+l 2N TOP LINE OF SCREEN SECOND ILINE OF SCREEN (\a (C) BEFORE SCROLL "\J -CURRENT POINTER (d) AFTER ' ' SCROLL ^xJ -NEW POINTER Figure 7: An example of scrolling and using direct memory access. The screen (7a) resides in processor memory (figure 7b). Scrolling takes place when the current direct memory access pointer is moved as shown in figures 7c and 7d. memory and writing to a peripheral. It also allows memory mapped I/O. Of the two direct memory access devices mentioned, it alone can be considered S-1 00 compatible. Direct Memory Access Characters which are to be displayed on a video screen are transferred by direct memo- ry accessing from processor memory. The direct memory access process also retrieves the special attributes such as reverse video, highlight, underline, blink, and two general purpose signals. A series of direct memory access transfers occur for each character line to be displayed. After theentire screen has been written, vertical retrace occurs, and the direct memory access is repeated. The micro- processor must wait while the transfer takes place. This may interfere with as much as 25 percent of the processor's time. This figure does not take "cycle stealing" into account. (Cycle stealing is a condition where the processor allows the direct memory access controller to take control of the system bus while the processor is doing internal work.) The processor is not using the bus anyway, so the direct memory access controller steals that clock cycle or cycles. For an 8080A, the timing diagrams seem to indicate that no cycle stealing takes place. The processor-direct memory access hand- shaking is too slow. This will be true for either controller mentioned earlier. My 25 percent figure assumes a full 2 K screen with no cycle stealing, and using the Intel controller at a 2 MHz clock frequency. The screen is refreshed at a rate of 60 Hz. A strong argument against the 8275 is that it cuts into processor time while merely displaying a static picture. Other terminals for microprocessors, such as those with dedicated video memory, can operate without disrupting processor operation at all. The only time the processor uses up with respect to video is the time it takes to change the screen. Opponents of the 8275 point out the direct memory access problem as its greatest weakness. But using direct memory access also has its advantages. The reader can weigh the advantages of the 8275 against this overhead disadvantage. I find that, for my purposes, the flexibility and display power offered is worth the loss of processor throughput. Furthermore, as will be seen, the overhead can be reduced. With direct memory access capabilities, the processor memory is shared with video memory but without timing conflicts. Dedicated memory video terminals, on the other hand, give the processor priority in memory operations. If the terminal is writing characters when the processor takes over its memory, the screen becomes unde- fined, and a "scratch" mark results. Scrolling, page changing and other operations which require around 2,000 reads and 2,000 writes (for a typical 2 K screen) can produce temporary havoc on the screen. A dynami- cally changing screen can be annoying to look at. Video memory for the 8275 can be read from or written into at any time with- out scratch marks because only one device operates at a time — either the controller or the processor. The direct memory access controller is programmable to work on any section of memory. It can, in fact, be programmed to change source locations at any time. This means that page changes of the video screen 142 May 1979 © BYTE Publications Inc can be made by changing the accessed address; a task which requires half a dozen writes. This compares with 2,000 reads and 2,000 writes of a block transfer in dedicated memory terminals. With direct memory access, scrolling is automatic. The interrupt output of the 8275 is used to tell the processor that the bottom of the screen has been reached. At this time the processor can effect a scroll by changing the current pointer in the con- troller (figure 7). Without any actual charac- ter manipulation, the characters on the screen are made to move up by one row. The top row swings around to the bottom. This new bottom row can then be erased. The same locations in memory are used before and after the scroll. Both scrolling up and scrolling down are possible. A different kind of scrolling is also possible. In this method, the addressed memory space actually does change. If the programmer is dealing with 10 K bytes of text, it could be scrolled one line at- a time by moving the direct memory access space down by 80 (for an 80 character per line screen format — see figure 8). The current direct memory access pointer is always at the top of the address space. This is just another form of page changing with most of fX/l BEGINNING OF - 1st LINE BEGINNING OF- 2nd LINE }r \^ }r \J (a) (bl BEFORE SCROLL AFTER SCROLL the screen being common to both pages. The 8275 is an intelligent controller. As it accesses the data, it examines the incoming characters for special command bytes. When the most significant bit is a one, the controller knows this is a special command. One command outputs one of the 1 1 built-in characters. Another special command sets or resets six bits corre- sponding to reverse video, underline, blink, Figure 8: A simplified memory map showing scrolling by moving the pointers to different mem- ory areas which are ac- cessed by the video controller. < (J "O c CD CD C CD CO o O c CD V K — 1 \ E3 k \ Q. PERSONAL COMPUTING SOFTWARE FOR APPLE®, PET®, AND TRS-80® o u r- commG mnv i*t AT ALL PARTICIPATING ComputerLand STORES. Circle 75 on inquiry card. May 1979 © BYTE Publications Inc 143 INTRODUCING — THE NEW DUAL DRIVE MINIFLOPPY FOR PET! /_o NOW WITH OPTIONAL 400K (DUAL DENSITY) CUSTOMER ORDERS ARE NOW BEING SHIPPED WITHIN TEN DAYS!!! DKH641 IS A PRODUCT OF COMPUTHINK. • DUAL MINI FLOPPY DRIVE WITH 100K PER DISK SIDE FOR TOTAL 200K ON LINf . • COMMERCIAL LOADING SPEEDS ' 8K LOADS IN 2.6 SECONDS COMPLETE. • DOS REORGANIZES SPACE AFTER SAVE OR ERASE FOR EFFICIENT STORAGE. • DISKMON ADDS OVER 20 COMMANDS TO BASIC INCLUDING DISK DATA FILES. • DISKMON COMMANDS SUPPORT COMMERCIAL PRINTER OFF PARALLEL PORT SUCH AS CENTRONICS LINE OF PRINTERS (AVAILABLE FROM NEECO) ■ FULL DISK SOFTWARE SUPPORT ' FORTRAN & PLM COMPILERS ' • 90 DAY MANUFACTURER'S WARRANTY ON HARDWARE * READY TO USE ON DELIVERY. FULL MANUAL AND UTILITY DISKETTE INCLUDED. • CALL OR WRITE FOR COMPLETE INFORMATION ON THE "DISKDRIVER". • THIS SYSTEM REQUIRES EXPANDAPET MEMORY (MINIMUM 16K) DKH642 -DUAL DRIVE SYSTEM, COMPLETE WITH DISKMON $1295.00 ASM789D — PET ASSEMBLER ON DISKETTE WITH MANUAL $49.95 •LNK456 -AUTOLINK LINKING LOADER ON DISKETTE WITH MANUAL $49.95 • PLM400 - COMPILER ON DISKETTE (AVAILABLE APRIL/MAY) $49.95 FOR300 -FORTRAN COMPILER ON DISKETTE (AVAILABLE APRIL/MAY)... $69.95 DKL067 - DISKMON ASSEMBLER LISTING/DOS $19.95 DATA100 - COMPLETE DATA BASE SYSTEM (PRICE APPROXIMATE) $400.00 BASCOMP— BASIC COMPILER ON DISKETTE (AVAILABLE MAY) NGP200 — 20 GAMES ON DISKETTES $49.95 BKGAM - BACKGAMMON ON DISKETTE $24.95 MICRO - MICROCHESS ON DISKETTE $24.95 CEN779(1) — CENTRONICS 779-1, ROLL FEED DOT MATRIX COMMERCIAL PRINTER $1245.00 CEN779(2) — SAME AS 779(1) BUT WITH TRACTOR FEED — PLUG INTO PET ... . $1345.00 AX10M -ELECTROSTATIC5.5INCHPRINTERWITHALLOFPET'SGRAPHICS $495.00 PET COMPUTER NEECO NOW OFFERS A FULL SIX MONTH WARRANTY ON ALL PETS! — AN ADDITIONAL 3 MONTHS! WHY NOT BUY FROM THE BEST? 8K PET $795 * NEECO IS A CUSTOMER ORIENTED, FULL SERVICE COMPANY. — __' rh* oork* PETS RECEIVE 48 HR.'BURNIN' BY NEECO BEFORE SHIPMENT. 24K PET(8+16K) $1220* full customer service and full product support. 32KPET( 8 + 24K) $1320 by COMMODORE ALL PRICES INCLUDE 48 HR. PRE- SHIPMENT TESTING & 3 FREE CASSETTE PROGRAMS PRICES SHOWN ABOVE IN- CLUDE EXPANDAPET. PME MEMORIES WILL HAVE HIGHER PRICING. * 48 HR MAXIMUM 'TURNAROUND' ON PET WARRANTY SERVICE ON PETS PURCHASED FROM NEECO. * FULL PRE-PURCHASE INFO AVAILABLE FROM OUR PET INFO PACKAGE — WE ANSWER CUSTOMER QUESTIONS! * AUTOMATIC SOFTWARE/HARDWARE UPDATES VIA OUR PET OWNERS MAILING LIST — CALL/WRITE TO BE LISTED! * COMMERCIAL QUANTITIES AVAILABLE. * WE ALSO MARKET REPLACEMENT RAMS & ROMS, ETC. * OFF THE SHELF DELIVERIES (NO DEPOSIT REQUIRED). SCHOOL INQUIRIES INVITED! INTERNAL MEMORY I IFULLSIZED TYPEWRITER EXPANSION FOR PETSI KEYBOARD FOR PET! EXPANDAPET 1 DEALER INQUIRIES INVITED INTERNAL MEMORY EXPANSION UNIT •MOUNTS EASILY INSIDE YOUR PET •EASY TO INSTALL (15 MINUTES) •NO DEGRADATION OF PET SYSTEM 'USES LOW POWER DYNAMIC RAMS •90 DAY PART&LABOR, 1 YR-RAMS. •30 DAY MONEY BACK GUARANTEE. •MOUNTING SLOTS FOR 4 BOARDS. •CALL/WRITE FOR ADDITIONAL INFO 'DEALER INQUIRES INVITED. EXPANDAPET PRICES 16K( + 8KPET = 24K) $425 24K( + 8KPET = 32K) $525 32K ( + 8KPET = 40K) $615 OPTIONAL PLUG-IN BOARDS 32K UNIT ALLOWS' 8K OF 4K EPROM DAUGHTER BOARD ASSEMBLY LANGUAGE USING 2716 EPROMS .... $50 SUBROUTINES ACCESSED VIA THE USR COMMAND. EXPANDAPET IS A PRODUCT OF COMPUTHINK. •COMMERCIAL QUALITY KEYBOARD WITH METAL ENCLOSURE. •BASIC TYPEWRITER DESIGN FOR TOUCHTYPISTS. •SINGLE KEY FUNCTIONS FOR ALL CURSOR CONTROLS. SHIFT/RUN, INSERT, CLEAR SCREEN/HOME CURSOR, MORE. •FUNCTIONS SIMULTANEOUSLY WITH PET'S KEYBOARD. •PLUGS DIRECTLY INTO PET'S LOGIC BOARD. •DOES NOT USE USER OR IEEE-488 PORTS. 'NPK-101 IS FULLY TESTED & READY TO USE. 'ATTACHES DIRECTLY TO FRONT OF PET'S FRAME. •CAN BE USED AS A REMOTE TERMINAL (SPECIAL ORDER). '30 DAYS TRIAL PERIOD ' 90 DAY WARRANTY. •CALL OR WRITE FOR FULL SPECS-INITIAL QTY LIMITED. NOW AVAILABLE! $139. 95 NPK-101 IS A PRODUCT OF NEW ENGLAND ELECTRONICS. WE CANNOTLISTALLOF OUR SOFTWARE AND HARDWARE PRODUCTS CALLOR WRITE FOR OUR*FREE*SOFTWARE/HARDWARE DIRECTORY | DOMESTIC & OVERSEAS DEALER INQUIRIES INVITED ON * MEMORY * KEYBOARD * FLOPPY NEECO NEW ENGLAND ELECTRONICS CO., INC. 679 HIGHLAND AVE., NEEDHAM, MASS. 02194 MON.-FRI. 9:30-5:30 (617)449-1760 MASTER CHARGEA/ISA ACCEPTED TELEX 951021 144 liYTl May 1 C J7'J Circle 281 on inquiry card. 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. Tlit; PET'" incorporated WW the flonjjy Disk and Punier mates an ideal business system tw most professional una speoateed Irakis meticma law denial reseat* ■ Dj :(■■■! ■ nn [i Dlmak I'H pnrlif,] BflUCalB 'i I n-jgy COH- Wfvaltoo.etc iM:i'f 7 T"-[-, i. *3j«amasa rrr.j'i:ir]t:rlT-"itt.i!)'. <:■■!. >...■". I ■'. — ','itiofttoalltovesol Business prev ..i-J. ati..c"j! ■■ '.,.'." •.■ii,p'reni many limes more expensive Tho PET™ Business , •:•■'• uHhe mosi cosl HhDoflt business tools li.::iay II offers ;i wide ranut! cut appicauntislfoin legging itSliaiegyinma-O'CO'poialions!^ . rgan s and inventory control of smalt businesses Here arc |Usl a low ot the cost -saving uses m the corporaiiGn, professional office 01 sn*;ill business slock control, iv.ir.-nas:na forecasting r run nuta cluing costing customer records mating fets etc TnePET'" Floppy D.Sfcand Printer, a cuntpai-lile bun riess system at a reasonable price — Take a closer look at these Peripherals .»...» .# i..j.j..i,.i LARGE TYPEWRITER KEYBOARDS NOW AVAILABLE! PRODUCT DESCRIPTION AVAILABILITY PET 2001— 4K* 4KRAM PET 2001 — 8K' 8KRAM PET 2001 — 16Klarge keys 16K RAM PET 2001 — 32KLARGE keys 32K RAM PET 2041 SINGLE FLOPPY PET 2022 PRINTER TRACTOR/ROLL PET 2023 ROLL FEED PET 2040 DUAL FLOPPY 8 K RETROFIT ROM KIT ' THESE UNITS INCLUDE THE C2N CASSETTE AND SMALL KEYBOARD UNITS DO NOT INCLUDE A BUILT IN CASSETTE- SI 595 795 995 195 595 995 850 095 50 IMM IMM IMM IMM JULY- JULY- JULY- IMM IMM KEYBOARD. THE -ORDER C2N EDIATE EDIATE EDIATE EDIATE AUGUST AUGUST AUGUST EDIATE EDIATE FULL SIZE NEECO IS NOW ACCEPTING $25 DEPOSITS ON THE SYSTEM COMPO NENTS OF YOUR CHOICE! PURCHASE ORDERS ARE ACCEPTED IN LIEU OF DEPOSITS. NEECO IS A FULL COSTOMER SERVICE ORIENTED COMPANY. PLEASE CALL FOR ADDITIONAL INFORMATION THE NEW ^ commodore PET PERIPHERALS! c* 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™ The Floppy Disk operating system used with the PET' M computer enables a program to read or write data in the background while simultaneously transferring data over the IEEE to the PET' M 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 SW 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. IMMEDIATE DELIVERY The Tractor 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 formal print for: width, dec mal position, leading and trailing zero's, left margin justified, lines per page, etc. It accepts QW paper giving up to four copies. Bidirec- tional printing enables increased speed of printing. NEW ENGLAND AREA SUB-DEALERSHIP INQUIRIES INVITED! NEWIBMSELECTRICII TYPEWRITERS FOR PET! (BRAND NEW IBM II) PLUG COMPATIBLE VIA USER PORT! WORD PROCESSING SOFTWARE AVAILABLE FROM NEECO. CALL FOR INFO! IBM FOR PET $1995. $99 95 C2N SECOND CASSETTE NEECO NOW OFFERS A FULL SIX MONTH WARRANTY ON ALL PETS SOLD BY NEECO! FEEL FREE TO CALL US FOR THE LATEST INFORMATION ON THE NEW PET PERIPHERALS. REMEMBER, A $25 DEPOSIT (OR A PURCHASE ORDER) WILL BACKORDER AND HOLD ANY SYSTEM COMPONENT OF YOUR CHOICE!— WHY NOT BUY FROM THE BEST! — NEECO OF- FERS THE BEST IN CUSTOMER SERVICE! — NEECO OFFERS COMPLETE SOFTWARE (COMMERCIAL & CONSUMER) SUP- PORT!— MANY PACKAGES AVAILABLE! CALL FOR MORE INFO!— ARE YOU ON OUR MAILING LIST? NEECO NEW ENGLAND ELECTRONICS CO., INC. 679 HIGHLAND AVE., NEEDHAM, MASS. 02194 MON.-FRI. 9:30-5:30 (617)449-1760 MASTER CHARGE/VISA ACCEPTED TELEX 951021 Circle 282 on inquiry card. BYTE May 1979 145 Figure 9: An example of using "invisible" special commands with the video controller. The output shown in figure 9a is what is desired. We wish to underline the five letters in the word "codes". Figure 9b shows a memory map with the special codes inserted in the text. The set underline bit com- mand will command the controller to underline all output until the bit is reset. The reset underline bit command stops the underlining procedure. If the codes were not Invis- ible, the output would probably look like figure 9c. Since the special com- mand codes cannot be converted into printable ASCII characters, spaces are output on the screen. Note the extended under- line. This occurs because the reset underline bit command is printed before the bit is actually reset. This visible code mode is not advisable for high quality output. COMMAND CODES FOR VIDEO fa I Ibl SUB -SPACE CHARACTER SET UNDERLINE BIT RESET UNDERLINE BIT SPACE CHARACTER 2 SPACES FOR VIDEO 2 SPACES NOTE EXTENDED UNDERLINE Ic) highlight, and general purpose. In order to underline five consecutive characters on the screen as in figure 9a for example, the five characters must be pre- ceded by a special command which sets the underline bit (figure 9b). Every character following the command is underlined for the remainder of the screen unless another special command resets the underline bit. Such a command would follow the 5 charac- ter word to terminate the underline. Note in figure 9a that the special code does not occupy a character position on the screen. This happens with the 8275 even though the special codes are accessed just like the displayed data. The codes are "invisible." The 8275 can be programmed for either visible or invisible special command codes. Figure 9c is an example of a visible com- mand code. A different kind of command is end of line. When the 8275 reads this one byte command, it blanks the remainder of the current line by enabling the video suppress output. Thus, after a scroll, the new bottom line need not be erased but only headed by an end of line command. For an 80 charac- ter per line format, one write effectively clears the bottom line instead of 80 writes. The end of screen command is similar to end of line except that the remainder of the screen is blanked instead of just one line. Thus, a clear screen operation consists of one write instead of 2,000. The end of screen command would be placed at the top lefthand corner of the screen. It has been shown that emulating a simple scrolling terminal is easy with the direct memory access controller and the 8275 video controller. When using a scrolling terminal, one notices the large amount of unused screen space that frequently exists. If the 8275 controller were to access 2,000 characters when, say, only 200 characters were being displayed, the 8275 would be wastefully cutting into processor time. The stop direct memory access commands answer this problem. A short line of print is followed by an end of line, stop direct memory access command, which blanks the remainder of the line and discontinues memory transfer until it is needed for the next line. Variable line lengths are stored in memory, each followed by end of line, stop direct memory access. The end of line, stop direct memory access command allows text to be both stored in compact form and dis- played easily. Both kinds of scrolling dis- cussed as well as page changing are simply achieved. The only difference is that variable line lengths are involved. The last line of nonblank characters can be followed by end of screen, stop direct memory access, which blanks all subsequent lines and terminates the transfer operation. The stop direct memory access commands reduce overhead considerably. The processor experiences not 25 percent delay, but fre- quently as low as to 10 percent delay due to direct memory access operation. In this way, the direct memory access overhead argument is no longer as strong. Further- more, much processor time is actually saved by the memory access — page changes, scrol- ling, and line and screen blanking are all faster, requiring fewer reads and writes. They take less software than most dedicated memory terminals. Also, visual continuity is maintained because no scratches ever appear on the screen during reads and writes. Interesting results can be obtained by changing some of the device parameters. If the direct memory access controller is programmed to transfer 4 K bytes of mem- ory, but the video controller is only pro- grammed for a 2 K byte screen, the following results occur. The first scan displays the first 2 K bytes of addressed memory. The vertical retrace occurs and the screen is redrawn. This time, the second 2 K bytes of addressed memory is displayed. Upon the third frame, the first 146 May 1979 © BYTE Publications Inc BYTE May 1979 147 2 K bytes is once again displayed. A double exposure of the two images effectively occurs. Since each frame is 1/60 second, the refresh of each image is 1/30 second. The human eye senses flicker below approxi- mately 24 frames per second, so no flicker is noticeable. If each frame contained a graph on identical axes, the double exposure would be the superposition of the two graphs. The graphs could be plotted by loading programmable characters into the character generator and displaying them in the proper positions on the screen. Double exposures would double the memory requirement but have no effect on the data transfer overhead. The video display is still refreshed at the same rate but with alternating images. Triple exposures can also be made. The addressed memory size is three times the screen size. Some flicker would exist since each image is refreshed every 1/20 second. Superposition of screens cannot be done with ordinary dedicated memory systems. Bit mapped displays can, however, super- impose any number of images without experiencing screen flicker. This can be done by ORing the images together into the same bit map. If involved graphics are intended for a video terminal, the bit map displays are preferred to an 8275 based display. Interlacing Ordinary television sets andmonitors will interlace the picture if the incoming signal has interlace timing. An interlaced picture has twice as much vertical resolution as a noninterlaced picture. For ordinary televi- sion, there are 525 scan lines in an interlaced picture but only 262 lines in a noninterlaced picture. Like so many video terminals, the 8275 unfortunately does not provide inter- lace timing. Cost This topic is a bit unpleasant to the average hobbyist. As of midMarch, 1978, the 8275 was a $100 integrated circuit. If this device is like many others, its price could drop significantly before too long. The direct memory access controller is presently about $28 (it has two spare channels left over for the user's floppy disk and digital cassette too). A character generator runs for $8 to $18. My 2 board system was under $225. All things considered, this is not very expensive when one thinks about the price of terminals with half the features of this one. A smart way to build this circuit (or anything else that uses expensive com- ponents) is to construct the boards first, begin testing the transistor-transistor logic, and last of all buy the 8275. This way, you give the price a chance to come down. Conclusions An 8275 based terminal offers the user a large number of features. The useful lifetime of such a terminal is long because of its flexibility. It can bend to meet a wide variety of requirements. Features which are not immediately taken advantage of are always available at a later time. Features include outputs for reverse video, underlining, blinking, highlighting and general purposes (user defined). A light pen can be used and a cursor is provided. 11 built-in characters are a mixed blessing because of the work involved in decoding them. The character height (line count), the screen format, the retrace timing, the direct memory access burst timing, and the type of cursor to be displayed are programmable. Upgrading the system is easy because of its programmability. Hence, color can be added without major complications. The controller easily becomes a dual controller for two video monitors. More and more "minimal systems" that are not so minimal in their power are coming into being. Greater need is arising for a video interface that is small. 10 chip computers with video are possible, and larger single board computers promise great performance for their size when they use the 8275. The price paid for all the features of the 8275 is in direct memory access overhead. The processor is halted for a portion of the time while the screen is refreshed. The end of line, stop direct memory access and end of screen, stop direct memory access commands reduce this overhead, dependent on how full the screen is. The double space mode cuts the overhead in half. Direct memory access also increases the speed of some operations. Page changing and scrolling are two examples that take almost no processor time. To the user, they appear to be instantaneous operations. Visual continuity is maintained while the processor works in video memory. None of the "scratch" marks characteristic of dedi- cated memory terminals appear. Feature for feature, terminals using the 8275 surpass dedicated memory terminals. In text environments with only light graphics requirements, its speed and special attributes make it more attractive than bit-mapped terminals. For many users, a video terminal based on the 8275 video display controller is the optimum choice." 148 May 1979 © BYTE Publications Inc THE DIAGNOSIS: MEDICAL OFFICE MALAISE Between insurance forms, Medicare and Medicaid forms, bills, and patient records, the typical medical office today is swamped with paperwork. If the sheer volume isn't enough of a problem, it is also essential that all this be done with speed and accuracy. It has been estimated that Doctors and office staff spend nearly a quarter of their time handling paperwork. Until now, the only alternatives were either hiring more per- sonnel or subcontracting with an outside firm. Obviously, a medical data base management system has great potential for significantly increasing office efficiency and freeing staff for more valuable duties. THE CURE: MED2 FROM OHIO MICRO SYSTEMS MED2 is a reliable, debugged program that generates valuable adminis- trative reports, bills, aging account analysis, and insurance forms. It is the result of over a year of design, testing, and retesting in colloboration with medical offices. It features a large on-line capacity and can be operated by the existing office staff. MED2 is suitable for one person offices or group practices. It adapts readily to GP's, specialists, dentists, and medical laboratories. MED2 requires a Z80/8080 microcomputer system that supports CP/M and it is available on Micropolis 5.25 in. and IBM 3740 8 in. diskettes. FREE USERS SEMINAR WITH EVERY MED2 DISK There is a lot to know with microcomputers, but it is about MED2 - more than can specifically geared for dealers. be explained in an ad or MED2 provides an excellent manual. To show you what entry for dealers into the large MED2 can do, how to use it, new marketplace of medical and why it is configured as it offices. There is no question is, OHIO MICRO SYSTEMS that the need exists. Investing makes an unprecedented offer the time in the seminar will - a FREE two day user's open the doors to increased seminar (lodging included) hardware and system sales. with every MED2 disk. We The price of MED2 is believe this is the best way for $895. A deposit of $200, which you to obtain a thorough applies toward the purchase working knowledge of MED2. price, is required for You get to see, question, and registration in the seminar. If evaluate MED2 with its you decide to not purchase designers. The seminar is MED2 after the seminar, you comprehensive and includes owe no more. Contact OHIO information on procedures in MICRO SYSTEMS for medical offices, customizing seminar dates, registration, MED2 for unique situations, and further information. technical aspects of MED2, Phone (216) 678-5202 or write and marketing strategies. The to us at 500 South Depeyster, seminar can be a complete Kent, Ohio 44240. course for an end-user familiar OHIO MICRO SYSTEMS 500 S. DEPEYSTER ST. • KENT, OHIO 44240 • (216) 678-5202 Circle 284 on inquiry card. BYTE May 1979 149 Smart Memory, Part 2 Randy C Smith 115 Crosby Ct #2 Walnut Creek CA 94598 In part 1 the principal processes of an associative memory and processor were described. These include: • Selection — activating the desired memory words in parallel via their content (addressing by content). • Alteration — updating all selected words in parallel, with multiwrite. • Arbitration (Responder Resolution) — methods for reading content serially from potentially more than one responding word. The second and concluding part of this article reiterates these themes through the use of successive black box logic diagrams. No attempt is made to specify exact devices (as in a schematic), since the idea is to illustrate a general architecture. Once the conceptual components are understood (and this is only one of many forms for associative memories) the personal computer enthusiast can experiment with methods for further logic reduction through the use of large scale integration circuits, addition of circuitry for random access or multidimensional addressing, or even the application of more hardware processing power at each memory node. This concludes our content addressable design discussion. For information about REM, which is a 4 K byte associative mem- ory board for the S-100 bus, contact Semi- onics at 41 Tunnel Rd Berkeley CA 94705. See figures following on pages 152 thru 760. About the Author: Randy Smith is em- ployed by Semionics Associates as the design engineer for the REM S-100 board and is the coinventor of REM. His personal interests in- clude artificial intelli- gence research, espec- ially language compre- hension. Photo 2: Content addressable memory board for the S-100 bus. The 4 K byte memory board is manufactured by Semionics Associates. 150 May 1979 © BYTE Publications Inc SPINTERM MEANS QUALITY IN REVERSE Introducing Bidirectional Printing At Affordable Prices FASTER THAN THE DEVIL! Using bidirectional printing the Spinterm can print up to 55 characters per second with the quality of a printing press. In fact, with more than 14 different optional printing "thim- bles," each with up to 128 characters, there is no end to its printing capabilities. In addition, during communications, there are six user selectable baud rates to 1200. Untouchable! MULTI-FUNCTIONAL Spinterm's many standard features include 10 or 12 pitch spacing (user selectable), normal and absolute tabs from 1-136 (in either direction), adjustable line feed with sub- script and superscript capabilities and enough power to imprint the original and five copies. Spinterm boasts an incredible graphing resolution of up to 5760 plot points per square inch (120 horizontal — 48 verti- cal). Fantastic! LONGER LIFE — QUIETER OPERATION Having an MTFB of more than 2000 hours, the Spinterm will perform to the reliability you demand. The materials used in the "thimble" and print hammerextend their life by 50%. The "thimble" alone provides normal element life of more than 30 million impressions! And when it comes to quiet, the Spinterm printers are -60dB with the standard die-cast aluminum cover; 67dB or less without cover — so they can be used in almost any application. Unbelievable! TOTAL ADAPTABILITY Means compatibility. The Spinterm features five optional interfaces (RS232-C, standard). In addition, Spinterm's op- tions include Proportional Spacing — Tractor, Bottom and Pin Feed — Nylon fabric or Multi-strike film ribbon cartridges, plus too many more to mention. Outstanding! Now instead of a printer playing catch-up, the computers gotta pitch. See it! For complete information about Spinterm printers see your dealer or write: SPINTERM, Input Output Unlimited, 5922 Kester Avenue, Van Nuys, CA 91411, (213) 997-7791. Circle 1 75 on inquiry card. Educational Sales Division: PO Box 8394, Ann Arbor, Ml 48107 • (313) 655-8514 Export Sales Division: IOU Inc., Dept. IS, 5922 Kester Avenue, Van Nuys, CA 91411 • Telex/TWX 910 496 3497 ASSOCIATIVE CELL I ASSOCIATIVE CELL 2 ASSOCIATIVE CELL N Note: The numbering of figures, photos and tables is continued from part 1 in April 1979 BYTE, page 54. ASSOCIATIVE WORD MASK "-Ml, • • • , MN COMPARAND; C I, • • • , CN COMPARISON LOGIC FOR EXACT MATCH Figure 4: Word parallel associative memory. Each cell of the word contains logic to compare its contents with the respective bit of the comparand broadcast from the central processor. The type of comparison selected by the FNCODE is generally only exact match (=) for this archi- tecture. The result of the comparison for each bit is placed on the output line, and the separate bit results are combined by external logic into the result for the entire word. For exact match, the output lines need merely be ANDed. If the outputs are open collector, this can be imple- mented without a gate by tying the outputs together through an appropriate pull-up resistor. An N bit mask is applied to the associative cells so comparison on only part of the word (where the mask = I) is possible. The inset shows how the comparison logic box could be implemented for exact match. The word read and write logic is omitted for simplicity. 152 Mav 1979 © BYT1 Publications Inc Circle 96 on inquiry card. BIT BIT CELL 1 CELL 2 L_. ^ND)- N BIT COMPARISON LOGIC M -f- WORD OUTPUT Figure 5: Word parallel associative memory with external word logic for comparisons. By placing the comparison logic external to the memory word, the need for special memory cells Is removed, and the memory word may be an ordinary, available, and cheap random access type. The N bit comparison logic can be built in the form of available integrated circuit comparators. Magnitude comparisons like word > comparand (>), or word < comparand (<), etc. are now readily included with exact match in the associative func- tion set. i 8 2 56 X 8 MEMORY D OUT (comparand)- 8 BIT COMPARISON LOGIC d M -h- •X FN CODE J WORD OUTPUT D TRUE /FALSE Figure 6: Block oriented comparison logic: byte serial, block parallel. A fur- ther savings in associative logic can be realized by sharing the logic over a block of memory words. By choosing the block size judiciously, it is possible to use existing programmable memory circuits. Information in the block will be considered as a unit (eg: a personnel record for one individual) and all blocks (rather than all words) in the system will be treated in parallel. For the rest of this article, the figures will illustrate conceptual architectures for a microcomputer add-in associative memory subsystem. Therefore, the word size will be eight bits. The block size is chosen as 256 words by eight bits so it can hold enough related character information. For textual information, one ASCII character will occupy one byte. Since our processor can send only one byte of comparand to the memory at a time, eight bits of low address (A 7 thru A ) will select the one of 256 bytes of all blocks to be compared. This offset address can be kept conveniently in an 8 bit register and incremen- ted or changed when necessary. See and Copy Data use TRcopy WITH YOUR LEVEL II TRS^O*^ TRcopy is a cassette tape copying system that lets you SEE what your computer is reading. COPY ANY CASSETTE TAPE 00 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 byle-for-byte from the beginning to the end of the program. Up to 320 bytes are displayed at one time. ASCfl characters are displayed on the first line and hexadecimal code is displayed on the following two lines. Data is displayed exactly as il 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 to display 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. MAKE BACKUPS FOR YOUR PROGRAMS Now you can make backup copies of your valuable 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 II 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 and you can SEE 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 il. 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 TRcopy 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 formattingconventions. With the TRcopy system, you can SEE what you are doing! TRcopy System Including Cassette Tape and Docurr May 1979 © BYTE Publications Inc 153 CLK PR J K Q X L X X H t H L H Qo t H L L L Table 2: Partial function table of a J-K flip flop. I 8 COMPARAND • ■+- FNCODE J- e MASK /- SAMPLE - IT CE WE 256 X 8 MEMORY I D OUT ,8 8 SIT COMPARISON LOGIC I -fh vcc J vcc WE CE 256 X 8 MEMORY N D OUT ,8 8 BIT COMPARISON LOGIC N -ih -ih -fh -WORD I, OUTPUT ~7h * P PR SET -fh 1 -WORD N, OUTPUT ^ PR -fh Figure 7: The parallel selection system. Suppose the first ten bytes of each block were defined to hold the lastname of each person in our personnel file. To find all people named Smith, the computer would execute a series of byte comparisons: [lastname] = S, [lastname + 1] = M, etc. Lastname is the beginning offset (A 7 — A = 0) of that field, and [lastname] indicates the value stored there in each block. For multibyte comparands we need a temporal AND of the byte comparison results, as op- posed to the spatial AND of bit comparison results in figure 5. A J-K f lip flop (whose partial function table is given in table 2) performs the conjunction. The SET function intializes the tags of all blocks. All blocks start as responders (tag = I) because no selection criteria have been imposed. Subsequent restrictions cause those blocks t hat d o not meet all specifications to turn their tags off — and they remain discarded until a new SET command is issued. Therefore, at the end of the comparison or s election p rocess, that subset of blocks whose tags are still on have met all the requirements. The SAMPLE line clocks the flip flops only during an associative compare function, and at the time when the comparison logic result becomes valid. All blocks respond to the comparison simultaneously, and as shown at this level of the design, can only read out their data for comparison purposes. 154 May 1979 © BYTE Publications Inc • NEW PRODUCT' 64 K bytes of f as t , low power dyna- mic RAM. MEMORY BANK SELECT $89500 tor model DMB 6400 64K bytes of fast, low power dyna- mic RAM. Both our UNCommon Dynamic and our UNCommon Static RAMS have the following features and specifications: 5 $79500 lor model DM -0400 • NEW PRODUCT* 32K bytes of faster Static RAM which MEMORY BANK SELECT $69500 for model SMB 3200 • They are all GUARANTEED to be compatible with the following S-100 systems: CROMEMCO. IMSAI. ITHACA AUDIO. MITS. NORTH STAR. PROCESSOR TECHNOLOGY. TDL. TEL VECTOR GRAPHICS, and other S-100 systems. Both of Our UNCommon Dynamic RAM Series, the DMB -6400 and the DM-6400, feature: • 64K bytes of dynamic RAM with on board transparent refresh. • S-100 interface comparible. with crystal conitolled riming INDEPENDENT of bus or processor timing. • No wait states with 8080 or Z-80 10 4MHz. Up to 5MHz with I wait state. • Memory selectable or deselectable in 4I< byte increments. • Low power. 8 watts maximum, in 64K byre configurarion. Our UNCommon Static RAM Series, the SMB 3200, features: • Memory Bank select capabilities: Either two(2) l6Kbytebanksof mem- ory, or one (1} 32K byte bank per board. • 32K bytes of low power static RAM. • No wait states with 8080. 8085. or Z-80 processors up to 5MHz. • Addressable in 4K byte increments at 4K boundaries. Deselectable in 4K byte inctements. Announcing the Model DMB-6400 Series of UNCommon Dynamic RAMS. This Series incorporates the features which are stan- dard in the DM-6400 Series and adds the following capabilities: • MEMORY BANK SELECT which is compatible with CROMEMCO. NORTH STAR, and other systems using output pott bank select. • 256 ports selectable (including CROMEMCO 40H and NORTH STAR COH) • Eight (8) 64K bytes banks of memory per output port • Each I6K bytes of addressable memory space may be individually set to start at 0000. 4000. 8000. or C000 and can be set for any of the 8 banks on one selected output port. The bank memory size can be incremented from I6K bytes to64l< bytes in I6K increments, allowing 5I2K byte bank sizes. • Total memory addressing to over 100 Megabytes by using different I/O ports for memory control. UNCommon Dynamic RAMS with | MEMORY BANK SELECT. □ DMB 6400/64K RAM - »895 00 D DMB 4800/48K RAM - s 795 00 □ DMB 3200/32K RAM - ^695°° UNCommon Static RAMS with MEMORY BANK SELECT. D SMB 3200/32K RAM - 5 695 00 UNCommon Dynamic RAMS □ DM 6400/64K RAM - s 795 00 □ DM 4800/48K RAM - 5 695 00 □ DM 3200/32K RAM - s 595°° Delivery Mm I, to 30 d.iv- • TRICtS SUB|tCT TO CHANGE WITHOUT NOTICE! • All of our UNCommon Dynamic and Static Series RAMS feature the following: • Inpurs are RC filtered and buffered with I LS TTL load. Compatible with terminated or unterminated busses. • Outputs are all tti-srate. • Disc comparible. DMA compatible. • Phantom memory selectable on pin 67. • DIP switch selectable addressing. • Reliability — all boards fully tested and burned-in. • FULL DOCUMENTATION — Schematics, layout, parts list, theory of oper- ation, timing diagrams, and option selection. • Industrial quality design, components and construction. Glass epoxy boards. Fused, double solder masks. Silk screened legends. Gold plated connector contacts. All IC's socket mounted. • Guaranteed performance on parrs and labor for one year. MEASUREMENT systems &. controls incorporated directly. 867 North Main Street Orange. California 92668 Telephone: (714) 633-4460 For the above products see your local dealer or order ORDERS — BA. VISA. MASTER CHARGE, money orders, or personal checks. Please allow 14 days for checks to clear bank. California residents please add 6% sales tax to your order. All orders shipped postpaid. All orders in U.S. funds. Please add 10% on all orders outside the U.S.A. and Canada. Circle 215 on inquiry card. BYTE May 1979 155 Figure 8: Parallel processing in place: the multiwrite func- tion. New logic black boxes have been added to the CE (chip enable) and the WE (write enable) inputs of our memory blocks to turn them into CAPPS (content address- able parallel processors), which Foster (see biblio- graphy, part 1) has defined as associative memories with parallel write ability. Without recourse to address, we can change the contents of any previously selected blocks, whose tags are 1. When the multiwrite responders com- mand is executed, only the chip enables of those blocks whose tags are on are acti- vated. The write enable is also activated during multiwrite. The value of the addressed byte in all selected blocks is changed to the contents of the comparand bus. The tags are unaffected (no SAMPLE signal is present). Without knowing the addresses of the blocks in our selected subset, we are able to change their contents in place. Notice this change can be common data (mark all engineers in our file for a $100 bonus) or specific (show 550 parts on hand for stock item #36574). MW I (WR CE LOGIC WRITE LOGIC CE WE 2 56 X 8 MEMORY D OUT (mWj(tAG J COMPARAND - FN CODE- MASK- 8 BIT COMPARISON LOGIC I -r h - 1 of 16 associative functions. Random access memory write. MEM READ <16 bit address> Random access mem- ory read; any memory in hole space must be read only. Derivation of Associative Commands Ai 5 thruAi2 A^thruAs A 7 thru A HOLE FNCODE OFFSET (Address during an associative command.) Table 3: A clarification of the random access and associative operation definitions. 156 M,iy 1979 © BYTE Publications Inc As your introduction to The Library of Computer and Information Sciences Choose either This $60.00 classic for only $3.95. A saving of 93%! ENCYCLOPEDIA OF COMPUTER SCIENCE Edited by Anthony Ralston and Chester L. Meek. More than 1550 outsize pages of information on every aspect of computer science — from algebra to automata theory, from basic terminology to string-processing languages. 470 articles by 208 experts. Over 700 charts, tables, graphs, and diagrams. Counts as 3 of your- 3 books. m^s- — OR — — i any other 3 books for only $3.95 (values to $59.85) if you will join now for a trial period and take only 3 more books - at handsome discounts - over the next 12 months. 39890-2. COMPUTER DATA BASE ORGANIZA- TION. 2nd Edition. James Martin. Over 200 dia- grams. Counts as 2 of your 3 books. $26.50 42303. A DISCIPLINE OF PROGRAMMING. Edger W. Dijkstra. Impressive new programming tools to solve problems that range from the everyday to the complex. $19.95 72690. THE PSYCHOLOGY OF COMPUTER PROGRAMMING. Gerald M.Weinberg. The classic study of computer programming as a human activity. $10.95 42410-2. DISTRIBUTED PROCESSING AND DATA COMMUNICATIONS. Daniel R. McGlynn. The technical and organizational components of data communications. Countsas2 of your 3 books . $20.75 37400. CDP REVIEW MANUAL: A Data Proces- sing Handbook. 2nd Ed. Lord and Steiner. In-depth coverage of data processing equipment, computer programming and software, data processing manage- ment, and mathematics and statistics. Softcover. $19.95 69297. PL/1 STRUCTURED PROGRAMMING, 2nd Edition. Joan K. Hughes. Covers the full lan- guage with detailed case studies, practice problems, coding explanations, a glossary of over 300 terms, and an extensive chart listing of all PL/ 1 keywords. $18.95 41785. DEBUGGING SYSTEM 360/370 PRO- GRAMS USING OS AND VS STORAGE DUMPS. D. H. Rindfleisch. A superior guide to storage dump debugging. Illustrations, examples, sample dumps. $19.95 81845. SYSTEM/370 JOB CONTROL LAN- GUAGE. Gary DeWard Brown. Includes descriptions of hardware devices and access methods and reference to many useful JCL features. Softcover. $12.50 42275-2. DIGITAL SYSTEMS: Hardware Organi- zation and Design. Hill and Peterson. A classic refer- ence on hardware organization and system architec- ture. Counts as 2 of your 3 books. $23.95 54455. IMS PROGRAMMING TECHNIQUES: A Guide to Using DL/1. Kapp and Leben. Spells out specific techniques to write application programs in an IMS DL/ 1 data base environment. $17.95 52900-2. HIGH LEVEL COBOL PROGRAM- MING. Gerald M. Weinberg et al. Introduces "shel- tered programming" concepts, stresses modular de- sign and maintainability of code. Counts as 2 of your 3 books. $21.95 54465. I/O DESIGN: Data Management in Operat- ing Systems. Freeman and Perry. Covers I/Odevices, channel programming, device allocation, controi statements, data organization and staging, and much more. $18.95 62757. MINICOMPUTERS: Low-Cost Computer Power for Management. Revised Edition. Donald P. Kenney. How to use minicomputers to cut data proc- essing costs and set up more manageable information handling systems. $14.95 41645-2. DATA COMMUNICATIONS: Facilities, Networks, and Systems Design. Dixon R. Doll. A straightforward guide that covers everything from basic terminology to design trade-offs. Counts as 2 of your 3 books. $25.95 62620. MICROCOMPUTER HANDBOOK. Charles J. Sippl. Detailed reference to the technology and applications of microprocessors. $19.95 62651-2. MICROPROCESSORS AND MICRO- COMPUTER SYSTEMS. G. V. Rao. Highlights the latest microelectronic and microcomputer technology. Counts as 2 of your 3 books. $24.50 80150. STANDARDIZED DEVELOPMENT OF COMPUTER SOFTWARE. Robert C. Tausworthe. How to incorporate principles and techniques of struc- tured programming in the development of large-scale systems. $19.95 80845. STRUCTURED SYSTEMS DEVELOP- MENT. Kenneth I. On. The basic steps for analyzing, developing and installing systems with the emphasis on a structured "problem-solving" approach to sys- tems building. $17.00 82560. TECHNIQUES OF PROGRAM STRUC- TURE AND DESIGN. Edward Yourdan. Over 300 illustrative problems, 90 valuable references, and four demonstration projects. $19.50 53795-2. HOW TO MANAGE STRUCTURED PROGRAMMING. Edward Yourdon. Offers a de- tailed step-by-step presentation of just what program- mer productivity techniques (PPT) can do for the DP manager. Counts as 2 of your 3 books. $21.50 39970. COMPUTER ARCHITECTURE. Caxton C. Foster. Covers microprogramming, switching cir- cuitry, memory speed increases in mainframes. $16.95 (Publishers' Prices shown) 54450. THE IBM 5100 PORTABLE COMPUTER: A Comprehensive Guide for Users and Pro- grammers. Harry Katzan, Jr. Includes BASIC and APL programs for payroll/inventory control applica- tions. $19.95 56265. INTRODUCTION TO DECSYSTEM-10 ASSEMBLER LANGUAGE PROGRAMMING. Singer. Softbound. $8.95 67175. PASCAL: An Introduction To Methodical Programming. Findlav and Watt. Introduction to the fundamental language features of PASCAL. Softcover. $10.95 70093. PRIMER FOR SMALL SYSTEMS MAN- AGEMENT. Grady M. Easley. Spells out the super- visory skills needed in the day-to-day administration of a small computer complex. $16.95 32278. ADVANCED PROGRAMMING TECH- NIQUES: A Second Course in Programming Using FORTRAN. Charles E. Hughes et at. $14.95 82730-2. TELECOMMUNICATIONS AND THE COMPUTER. James Martin. Counts as 2 of your 3 books. $29.50 MEMBERSHIP BENEFITS • In addition to getting either the Encyclopedia of Computer Science or any other three books for only $3.95 when you join, you keep saving substantially on the books you buy. Also, you will immediately become eligible to participate in our Bonus Book Plan, with savings of al least 70% offpublishers' prices. • At 3-4 week intervals (16 times per year) you will receive the Book Club News, describing the coming Main Selection and Al- ternate Selections, together with a dated reply card. In addition, up to 3 times a year, you may receive offers of special selections, always at substantial discounts. • If you want the Main Selection, or the special selection, do nothing and it will be sent to you automatically. • If you prefer another selection, or no book at all, sim- ply indicate your choice on the card, and return it by the date specified. • You will have at least 10 days to decide. If because of late mail delivery of the News, you should receive a book you do not want, we guarantee return postage. The Library of Computer 7-ain and Information Sciences Riverside, New Jersey 08370 Please accept my application for trial member- ship and send me either the Encyclopedia of Computer Science or any other three books, bill- ing me only $3.95. I agree to purchase at least three additional Selections or Alternates during the first 12 months I am a member, under the club plan described in this ad. Savings range up to 30% and occasionally even more. My member- ship is cancelable any time after I buy these three books. A shipping and handling charge is added to all shipments. □ Check here if you want the Encyclopedia of Computer Science (44900-3). □ Check here if you prefer three other volumes and indicate below by number the books you want. A few expensive books (noted in book descriptions) count as more than one choice. Name_ Address_ City- State _ . Zip_ (Offer good in Continental U.S. and Canada only. Prices slightly higher in Canada.) BYTE May 1979 157 iATA IN / TO ^~ DATA ( PROCESSOR] ■ c DATA I (TO PROCESSOR) OCTAL E THREE-STATE BUFFER II (T J) 8 LIN I I OCTAL THREE-STATE E BUFFER ES -if- ~ff- U p 8 LINE ■ I INPUT BIT SCHEME (TAG i ) . . — PO ADD I I I I I I I OCTAL THREE-STATE BUFFER I I I M I I RT _/~\ DR Z | (INPUT) OCTAL THREE -STATE BUFFER 6 p 8 LINE S s- -ff- TT— O p 8 LIN Figure 9: Nonassociative read responder techniques. In part 1 an associative technique was described to read the contents of respond ers (without addresses) when there were more than one. It consists of a daisy chain connecting all the tags in the memory into a priority list. During an associative read, only the highest priority responder (the first responder) could place its contents on the bus to the processor. A companion function, next, to turn off the first responder, and the query function to determine if there are any more responders, completed the description of necessary hardware. Implementing these priority chains would require at least three more different logic gates per memory word and, although fast (and address free), the design becomes rather bulky. When a random access address structure is placed on the memory words (as it usually is to facilitate loading and unloading of the memory), a nonassociative technique for reading re- sponders is available. The responders may be read serially by taking advantage of their address structure. The tags of all blocks from least to highest in address may be sent in batches to the central processor through input ports. The processor can then scan the tags in sequence for the next (or first) responder, and quickly derive the responding block 's address in preparation for a random access read. The tag input ports could also be arranged hierarchically, to speed search in cases where there are likely to be few responding words. Alternatively, all responders could first multiwrite a I into a reserved flag bit in their memory block. Groups of tags could be ORed and the results for many groups sent to the processor through input ports. Finding a I in any bit of the input word tells the processor the group of blocks to search. A random access, serial scan of the flag bit for each block in that group determines exactly which one (or more) responded. A random access read then fetches the information desired. The query function, here, simply entails reading and testing the input words. 158 May 1979 © BYTE Publications Inc The TO ORDER CALL TOLL FREE 800-223-7318 MM PET MM on iv $795 $ U 54l D » 14K ROM Operating system ' 8K RAM Memory » 9" Video Monitor • Built in Keyboard • Digitally controlled tape I Today's best value in personal computers, along with the latest ]m peripherals, are always in stock at the COMPUTER FACTORY- MFWI PET BUSINESS fVCIrV; system The PET is now a truly sophisticated Business System with the Floppy I Disk and Printer which makes an ideal cost efficient business j system for most professional and | specialized fields: medicine, law. research, engineering, education, etc. PET 2001 - 16K$995 / 32K$1195/-f • 16 or 32K Bytes Dynamic RAM , '£L • 14K ROM Operating System • 9"' CRT • Upper/Lower Case and Graphics • Full Sized Business Keyboard • Full Screen Editing • Operating system will support multiple Languages (BASIC resident} • Machine Language Monitor • 8K ROM Expansion Sockets " sy 2 ELECTROSTATIC PRINTER 2021 ■ 80 column dot matrix • Full PET graphics • 8\' ? inch paper! Bottom and Rear Tractor Feed V z " Paper Width i 6504 Microprocessor Controlled > 112 cps Bi-directional » 4K ROM • V 2 K RAM t Upper/Lower Case and Graphics • 7 x 6 Dot 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 I Wars theme, sound effects, etc. S39. NEW! BILLINGS MICROSYSTEM EXPANDABLE TO 2 MEGABYTES features: • 12" CRT • 64K RAM • Z-80 Dual mini • 320 K Storage • Graphics • 94 Keys • 2 RS-232 ports floppy • 1 parallel port BUSINESS SOFTWARE AVAILABLE! only $3645 I PET . PRINTERS 2023 $849 2022 $995 (Includes Tractors' CompucolorH 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 Refresh • 8080A Microcomputer } • RS-232 I/O Every unit comes with an extended DISK- BASIC that has full file management capa- bility resident in the COMPUCOLOR II in 16K of ROM. Color is fantastic, but COM- PUCOLOR II has the power to handle com- plex tasks and small business applications. An impressive software library supplements your own creativity, SALE! Come In Or Call For Special Low Prices WE'RE MOVING TO LARGER QUARTERS AND MUST SELL EVERYTHING IN OUR INVENTORY $1495 Complete! 16K Model add $200 32K Model add $500 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} $2995 • PCS-44 (780KB) S3695 VDP-42 series adds video terminal, key- board and VIO to above • VDP-42 $4795 • VDP-44 S4495 • VDP/80 S6995 DUAL DRIVE FLOPPY DISK 2040 $1095 • 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 ISINGLE DRIVE FLOPPY UNIT 2041 $595 • Intelligent mini lloppy 1 17I.5K net user storage COBOL, PILOT, FORTRAN, I Hot and tape or disk lot tompl SORCERER SPECIAL 12" Video Monitor for SORCERER (S299 value) ONLY $125 with 8K unit 95 with 16K unit 65 with 32K unit The Computer of the Future is here Now! PASCAL TM MICROENGINE PERIPHERALS FOR PET ' 24K Memory Expansion , , . » 16K Memory Expansion . . _ » PET to RS232 Serai IRADIO SHACK • PET • SORCERER • lAPPLE • COMPUC OLOR • ET C. rjnTTH^fcgjiii^iiikgiJiii^i-iiik* | The COMPUTER FACTORY'S extensive CENTRONICS 779 . .$1045 inventory and wide selection of computer AXIOM (Parallel) 395 I printers assures you of finding the printer AXIOM (Serial) 495 1 best suited for your needs and EXPANDOR (Tractors) 425 I specifications. The following printers work INTEGRAL DATA 795 I well with all known personal computers. OUME or DIABLO . . . 3400 Word Processing For PET. With this program In hand, you can create text and add, delete, center, recall lines and move text around on page or between pages. Use either PET or terminal keyboard. 445.00 S35 of Softwarewith purchase ol any computer on this page Min Credit Card Order $75 N.Y residents add 8% sales tax • Same day shipment on prepaid and credit card orders • Add $5 shipping for computers. $3 foi boards. $.25 each cassette tape. FREE TO ORDER CALL TOLL FREE 800-223-7318 V/SA* Mon.-F $2995 Western Digital's new 16-bit Pascal Computer System • 64K bytes (32K words) of RAM • 2 RS-232 ports • 2 8-bit parallel ports • Floppy disk controller • Floating point hardware • Memory Mapped I/O • Enclosed power supply Open Mon.-Fri. 10-6 Sat. 10-4 **V%° ^ TU A fVMVJIDI ITCD CAfTHDV 485 Lexington Avenue 750 Third Avenue New York, N.Y. 10017 I IIC KsKJlVlr U I Cll "HV/ I \Jt\ T (212) 687-5001 (212) PET-2001 Foreign order desk - Telex 640055 . BYTE May 1979 access determination LOGIC -*/ ASSOC J WRSTAT ■ SYSTEM WRITE STATUS ASSOC = (AI5-AI2 s'HOLE') A WRSTAT DETERMINATION OF ASSOCIATIVE ACCESS REQUEST DATA OUT BUS MASK PORT # 8 BIT LATCH •"T~y i_r OUT MASK APPARATUS OUTPUT STROBE COMPARISON CLOCK LOGIC 4 TO 16 DECODER LOGIC -► SET -►MW SAMPLE ■ ASSOC A FN CODE f (SET, MW ) AWR Figure 10: Accessing the add-in associative memory. Only eight address bits (A 7 thru A ) are used for associative memory accesses. Therefore, eight bits (A J5 thru Aj are left to specify whether a memory access represents an associative access, and, if so, which function is involved. Let Ay j thru A g be the FNCODE (one of 16 functions) during an associative instruction. Comparison and multiwrite instructions need data supplied by the central processor. For these operations, the processor must execute a memory write. If the nonassociative (random access) technique for reading responders is used, all associative functions may be initiated by a processor memory write cycle. To distinguish between random access and associative operations, a 4 K byte "hole" Is defined at some arbitrary 4 K boundary of address space. In general, a memory write to the hole indicates an associative function specified by A^ thru A„. A read of any byte in the hole is considered normal random access (although memory, if present, must be read only). Table 3 clarifies the definition of random access and associative operations. Figure 10 also illustrates the derivation of the mask and other signals used in previous diagrams. The mask, for example, can be implemented by a simple 8 bit output port, m 160 M,iy 1179 © UYTE Publications Inc Wfc «UW OO »,\_IOE . KtXDES OUtl. OUJH EXTtNSIVE Ltw.wt cr\a.o,Y soPTwwtB PRom. piMOnm. 8or-n->tt*t, «»^M-L «VSTBM tOir-noRHS JO-US, CUtUXLVS COMPUTING, E.^V^'SSXi.'ESirft? »Ot=TUIkeE r«CM»N(lfi / «0(=T»,PC / Cx«.CLE eNTSBPRisei aho man-i' othsi?. softuww puW-xshciu PROGRAM GALACTIC BLOCKADE RUNNER SCI-FI GAME SAMPLER R/T LUNAR LANDER MICRO-TEXT EDITOR OTHELLO III 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 FORTRAN SYSCOP ANDROID NIM-2 SNAKE EGG LIFE 2 DCV-1 MUSIC MASTER DISK MUSIC MASTER TRS-80 CP/M PET ASTROLOGY PERSONAL FINANCE PKG. TRS-80 DISK LIB. "A" 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 VERSION 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 FOR THE TRS-80— SEE MICROSOFT'S ADS MAKE BACKUP TRS-80 SYSTEM TAPES THE EASY WAY GAME OF NIM WITH ANIMATED ROBOTS AND SOUND A BETTING GAME WITH ANIMATED SNAKES AND SOUND 100 GEN. PER MIN. LIFE & BATTLE 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 DOES ALL THE COMPUTATIONS FOR YOU KEEPS TRACK OF CHECKS. BUDGET. COMPUTES INTEREST 9 PROGRAMS ON DISK— INC. BLOC. RON, OTHELLO ETC. BUSINESS AND APPLICATION SOFTWARE— CALL OR WRITE FOR DETAILS 16K MEMORY UPGRADE FOR TRS-80, APPLE & SORCERER COMPUTERS C-10 HIGH OUALITY DATA CASSETTES W/SCREW HOUSINGS VERBATUM 5-1/2 INCH BLANK DISKETTES 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 $325.00 $ 9.95 14.95 14.95 14.95 9.95 14.95 24.95 $150.00 $ 14.95 $ 9.95 $ 39.95 $ 94.95 10/$ 34.95 10/$ 10.00 O O 10% OFF IF YOU ORDER 3 SOFTWARE PACKAGES OR MORE SEND FOR FREE CATALOG— GIVE TYPE OF COMPUTER AVAILABLE FROM THESE FINE MICRO COMPUTER DEALERS JAJ ELECTRONICS LTD 28 COLLI NGTON AVE. BEXH1LL-ON-SEA. E. SUSSEX, ENO. COMPUTER VILLAGE 931 SW87THAVE. MIAMI FL 33174 L. C. SALES I0OHINCHEYAVE. 8705 OTTAWA. ONT., CAN. K1Y4L9 HOBBY WORLD ELECTRONICS 19335 BUSINESS CENTER OR. M NORTHRIDOE CA 91324 AUGUST AUTOMATION 28 MILK ST. WESTBORO MA 01381 THE CPU SHOP 39 PLEASANT ST. CHARLESTOWN MA 02129 CAPITOL COMPUTER SYSTEMS COMPUTER CABLEVISION. INC. 3396 EL CAMINO AVE. 26IT 42ND ST. NW 12 SACRAMENTO CA 93821 WASHINGTON DC 2O0O7 TRS-80 SOFTWARE EXCHANGE 17 BR1ARCLIFF DR. MILFORD NH 03035 OP AMP TECH BOOKS 1033 N. SYCAMORE AVE. LOS ANGLES CA 9003* KENNEDY SYSTEMS 74 BROAD ST. LYNDONVILLE VT 05831 ADVANCED COMPUTER PRODUCTS I3I0BE. EDINGER SANTA ANA CA 92705 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 • 900 b SALEM RD • DRACUT, MA 01826 l E) CD Circle 202 on inquiry card. BYTE May 1979 161 PET / TRS-80 1 APPLE: Personal Software brings you the finest! NEW! THE ELECTRIC PAINTBRUSH by Ken Anderson for 4K Level I and II TRS-80s: Create the most dazzling graphics displays you have ever seen with a minimum of effort. The Electric Paintbrush is actually a simple 'language' in which you can write 'programs' directing your paintbrush around the screen— drawing lines, turning corners, changing white to black, etc. Once defined, these programs may be called by other programs or repetitively executed, each time varying the parameters of brush movement. nit" * m * mm ' li t The machine language interpreter executes your programs almost instantaneously, allowing you to create real-time, animated graphics displays. The screen photos above are actually 'snapshots' of the action of a single one-line program over about thirty seconds. Mesmerize your friends with visual effects they've never seen on a TV screenlThere'snolimitto the variety of exciting and artistic graphics displays you can create with The Electric Paintbrush. And it's available now for only $14.95 nnn ttnitn MICROCHESS is the culmination of two years of chessplaying program development by Peter Jennings, author of the famous 1K byte chess program for the KIM-1 . MICROCHESS 2.0 for 8K PETs and 16K APPLEs, in 6502 machine language, offers 8 levels of play to suit everyone from the beginner learning chess to the serious player. It examines positions as many as 6 moves ahead, and includes a chess clock fortournament play. MICROCHESS 1.5for BRIDGE CHALLENGER by George Duisman for 8K PETs, Level II 16K TRS-80s, and 16K APPLEs: You and the dummy play 4 person Contract Bridge against the computer. The program will deal hands at random or according to your criterion for high card points. You can review tricks, swap sides or replay hands when the cards are known. No longer do you need 4 people to play! $14.95 TIME TREK by Brad Templeton with sound effects for 8K PETs is Personal Software's answer to the proliferation of Star Trek games. This is a real time action battle game which requires fast thinking as well as sharp wits. There are no 'turns' in Time Trek: your scanners and ship's status report are constantly updated on the screen, and you can enter commands as fast as you can press the keys. You use your shields, phasers and photon torpedoes against enemy Klingons in a game where you can move, steer and fire at the same time. Star Trek aficionado or not, you'll appreciate the excitement and excellence of this real time game $14.95 WHERE TO GET IT: Look for the Personal Software'" display rack at your local computer store. Over 275 dealers now carry the Personal Software™ line— more than any other brand. If your local dealer doesn 't already carry Personal Software™ products, ask him to call us at (617) 782-5932. Or you can order direct from us by check, money order or VISA/Master Charge. If you have questions, please call us first at (617) 783-0694. If you know what you want and have your VISA/MC card ready, you can use any telephone to DIAL TOLL FREE 1-800-325-6400 24 hrs In Missouri dial 1-800-342-6600 7 days Or you can ma il your order to the address below. To add your name to our mailing list for free literature and announcements of new products, use the reader service card at the back of this magazine. Personal Software™ P.O. Box 136-B4, Cambridge, MA 02138 162 BYTE Mav1979 4K TRS-80s, in Z-80 machine language, offers 3 levels of play (both Level I and Level 1 1 versions are included and can be loaded on any TRS-80 without TBUG). MICROCHESS checks every move for legality and displays the current position on a graphic chessboard. You can play White or Black, set up and play from special board positions, or even watch the computer play against itself! Available now at a special introductory price of only $19.95 Circle 302 on inquiry card. Look for Personal Software™ products at the dealer nearest you! ALABAMA BYTE SHOP Huntsville. AL 35805 COMPUTERLAND Huntsville, AL 35805 CPU, INC. Montgomery, AL 36104 THE LOGIC STORE Opelika. AL 36801 ALASKA ALPHA ELECTRONICS Anchorage, AK 99503 ARIZONA MILLET'S TV 8, RADIO Mesa. AZ 85204 PERSONAL COMPUTER PLACE Mesa. AZ 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 Bakersfield, 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 El Caion, CA 92020 COMPUTERLAND OF EL CERRITO El Cerrito, CA 94530 BUSINESS ENHANCEMENT COMPUSERVE Escondido, CA 92027 CHANNEL DATA SYSTEMS Goleta, 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 TLACENTIA Placentia, CA 92670 COMPUTER CENTER Riverside, CA 92503 CAPITOL COMPUTER SYSTEMS Sacramenlo, CA 95821 COMPUTERLAND San Bernadmo. 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 S 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 Ratael, 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 Fairfield, 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, DC. 20007 FLORIDA COMPUTERLAND Boca Raton, FL 33432 THE COMPUTER STORE Bradenton. FL 33505 THE COMPUTER STORE Clearwater, FL 33516 UCATAN Destin, 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 8each, 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 Niles, IL 60648 COMPUTERLAND Oak Lawn, IL 60453 COMPUTERLAND OF PEORIA Peoria, ll 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 Southheld. Ml 48034 LEVEL FOUR PRODUCTIONS Westland, Ml 48185 MINNESOTA COMPUTERLAND Bloommgton, 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 Springlield. MO 65804 NEBRASKA OMAHA COMPUTER STORE Omaha, NE 68127 NEVADA HOME COMPUTERS Las Vegas, NV 89109 NEW HAMPSHIRE TRS 80 SOFTWARE EXCHANGE Milford. NH 03055 COMPUTERLAND OF NASHUA Nashua, NH 03060 BITS. INC. Peterborough. NH 03458 NEW JERSEY 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 Morris'town, NJ 07960 COMPUTERLAND Paramus, NJ 07652 COMPUTER NOOK Pine Brook, NJ 07058 COMPUTER CORNER Pomplon 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 Manhasset, NY 11030 COMPUTER SHOPPE Middle Island, NY 11953 THE COMPUTER FACTORY New York, NY 10017 COMPUTER MART OF NEW YORK New York. NY 10016 OATEL 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 Williamsville. 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 Mayfield Heights, OH 44121 RADIO SHACK (Dealer) SI. Clairsville, OH 43950 OKLAHOMA HIGH TECHNOLOGY Oklahoma City, OK 73106 MICROLITHICS Oklahoma City, OK 73127 HIGH TECHNOLOGY Tulsa. OK 74129 OREGON THE COMPUTER STORE Corvallis. 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 Murrysville. 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 Chnsti, TX 78411 COMPUSHOP Dallas, TX 75243 COMPUTERLAND Dallas, TX 75231 RA 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 COMPUTER 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, Alberta T2N 2A4 Circle 302 on inquiry card. THE COMPUTER SHOP Calgary, Alberta T2T 4T9 ORTHON COMPUTERS Edmonton, Alberta T5N 3N3 TJB MICROSYSTEMS Edmonton. Alberta T5M OH9 CONTI ELECTRONICS Vancouver. B.C. V5W 2Z4 COMPUTER CITY Winnepeg. Manitoba R3P 0H8 COMPUTERLAND Winnepeg. Manitoba R3G 0M8 INTERACTIVE COMPUTER SYSTEMS Frederickton, New Brunswick MINICOMP SYSTEMS Halifax. Nova Scotia B3K 2G1 KOBETEK SYSTEMS Wolfville, 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 Sarnia. 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 Montreal. 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 llford, Essex INFOGUIDE London CYTEK Manchester M4 3E4 PETSOFT Newbury, Berkshire RG13 1PB KEEN COMPUTERS Nottingham NG7 1FN T « 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 20123 Milano SCOTLAND MICRO CENTRE Edinburgh EH3 5AA SINGAPORE THE COMPUTER CENTRE PIE. LTD. Singapore 7 SWEDEN MICROFUTURE Stockholm 10322 SEMIDAKO Uppsala 75353 SWITZERLAND INTERFACE TECHNIC Basel INGENIEUBUREAU Basel 1 DIALOG COMPUTER Lucerne ELBATEX Wettingen BYTE May 1979 163 EIQ ■ FIQ FIO (lb) EIQ Figure 1: The "wrap- around" queue. The queue is a method for storing data in the form of a list: the first item into the list becomes the first out of the list, in the same manner as a waiting line of people at a supermarket checkout counter. Figure la shows the data for an input queue in memory with two pointers, FIQ (front of input queue) and EIQ (end of input queue). When an item is added to the end of the queue, EIQ is incremented by I. In removing an item from the queue, FIQ is incremented by one. Note that the queue is ' 'upside-do wn ' ' here; that is, the end of the queue is on top. When the top of the array in memory is reached, EIQ is altered so it points to the bottom of the array, thus "wrapping" the queue around the array as in figure 1b. Notice also that pointer EIQ points to the location that is one . beyond the end of the queue. This enables the program to detect an empty or full array when EIQ = FIQ. W D Maurer University Library Bldg Room 634 George Washington University Washington DC 20052 Simultaneous Input and Output for Your 8080 The process of I/O (input/output) in assembly language on a typical microcom- puter system is rather crude. You input the status register and perform a logical AND with a mask consisting of one bit. If the result is not zero, you know the bit was on and the I/O device was therefore ready. In that case, you either input or output the data register, as appropriate. Otherwise, you loop back to input the status register again. On the 8080, it goes like this: Input ILOOP: IN ISTAT AN I IREADY JZ ILOOP IN IDATA Output IN OSTAT ANI OREADY JZ OLOOP OUT ODATA OLOOP: where the quantities ISTAT, IDATA, OSTAT, ODATA, IREADY, and OREADY are what is called, in the world of big com- puters, "installation-dependent" (that is, they differ from one person's 8080 to another). The first four of these might be given by: ISTAT EQU 3 IDATA EQU 2 OSTAT EQU 3 ODATA EQU 2 describing a single channel for both input and output involving two ports, with port numbers 3 and 2. The other two might be given as: IREADY EQU 1 OREADY EQU 2 to denote that the rightmost bit of the status register is the input-ready flag and the second bit from the right in this register is the out- put-ready flag. (Your dealer must supply you with these values, or show you how to find what they are, when you buy your system.) You can also make these into sub- routines by adding a return as follows: INPUT: IN ISTAT ANI IREADY JZ INPUT IN IDATA RET OUTPUT: IN OSTAT ANI OREADY JZ OUTPUT OUT ODATA RET This allows you to CALL INPUT to bring a newly input character into register A, or to CALL OUTPUT whenever you have a new character in register A that you want to put out. The trouble with this kind of I/O is that it is not simultaneous. When you are doing input, that is all you are doing; when you are doing output, that is all you are doing. Meanwhile, your system is sitting uselessly in a loop, which it is performing several thousands of times, or sometimes (particu- larly in the case of input) several millions of times. What you need in order to increase the efficiency of your system, if you have 190 bytes of read only memory and 65 bytes of programmable memory to spare, is a simultaneous I/O package which allows you to do input, processing, and output, all at the same time. The basic idea of simultaneous I/O is that of the queue. Any queue can be considered by analogy to a waiting line for a bus. (The story, told to this author second or third hand, is that in England people line up for buses in lines that look like spirals or, more 164 May 1979 © BYTE Publications Inc > THE LEADER IN miCROCOmPUTER EDUCATION PRESENTS BEST-SELLING BOOKS Used by Universities and Industry worldwide (ten languages} < AN IN1KXXOON TO PERSONAL AND BUSINESS CONFUTING r\ f\r s w& ■ N / rodnay zak» mieroBmessofs 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 text on all aspects of microprocessors and the assembly of a system. $9.95 C202 - PROGRAMMING THE 6502 Rodnay Zaks, 250 pp A complete introductory programming text for the 6502 $10.95 D302 ■ 6502 APPLICATIONS BOOK Rodnay Zaks, 200 pp Connecting a 6502 board to the outside world: from home alarm to music and industrial control . $12.95 MICROPROCESSOR INTERFACING TECHNIQUES ROONAVZAXS :; C207- MICROPROCESSOR INTERFACING TECHNIQUES A. Lesea & R. Zaks, 41 6 pp How to interface a microprocessor to external devices: from keyboard to ADC to floppy disk, including standard busses. $11.95 XI -MICROPROCESSOR LEXICON, 125pp All the definitions of the microprocessor world in a con- venient pocketbook format . 52.95 r 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 Vi to two days). Highly effective. < 'R MICROPROCESSOR 5 oi ID O 3 CD W 01 O) -J at c 3 g n 1 . Chess 4.7 V \ 1 1 1 2. Duchess \ Vi X 1 3. Chaos '/, 1 1 4. Belle i 1 1 1 5. Blitz VS 1 1 6. Ostrich 1 1 7. Black Knight X '/, 1 8. Awit \ 1 9. Sargon \ Vi 1 10. Mike 54 'A \ K 1 1 . BS6676 Vi 1 12. Brute Force \ Table I: Cross table giv- ing results of games in the 1978 North Amer- ican Computer Chess Championship. 174 May 1979 © BYTE Publications Inc Circle 73 on inquiry card. Browne was only able to capture the Rook exactly on move 50. This enabled Browne to quickly win the game and a $100 wager he had riding on it, but he was not able to find the win in 31 moves predicted by the program. In his chess programs Thompson uses a Digital Equipment Corp PDP-11 which has been outfitted with two special purpose hardware devices. One generates possible moves, and the other evaluates positions. ■ Land Identification and Information Management System The San Diego County Department of Transportation has recently formed a task force whose objective is to for- mally define a proposed LIMS (Land Identification and Information Manage- ment System). The collection, analysis and display of land related information, particularly in map form, is a significant part of every- day county operations, not only in San Diego or California, but nationwide. In the United States, county governments are the geographic and political units for land information and record keeping. Most land use recording and mapping systems today are unorganized and un- coordinated, having evolved from anti- quated systems which have changed little since the days when America was still expanding westward. The current systems used in processing, storage, and subsequent use of this data pertaining to land use, acquisition, assessment, and development are proving to be costly and inefficient. San Diego County's LIMS Task Force is proposing to develop a land identifi- cation system which will combine these efforts into a single, comprehensive and cost-effective system. High-speed, high capacity computer technology which will permit increased data storage, rapid access to this data, and automated display and/or printout of the desired map-formulated products is now available. The system would provide a central repository of all geographically oriented information in the county and a singular comprehensive file of land related data. San Diego County is approaching the data input problem in a way that is significantly different from previously proposed or developed automated map- ping systems. The innovative method of data input envisioned for the LIMS pro- ject will utilize inputs based on engineer- ing calculations, in lieu of digitized in- puts. This process will produce end results which represent real world geographic values instead of digitized map data. The study will examine the inefficien- cies of the current land records keeping system, prepare new system design parameters, evaluate alternative systems, and recommend a final design with organizational, funding, and im- plementation plans. When imple- mented, LIMS should serve such other county departments as the planning, assessment, records, and registry of voters departments. Additional users are expected to be the municipalities within the county, state and federal agencies located in the county, and land related businesses in the private sector. For further information on the LIMS Project in San Diego County, contact Kenneth L Pyle, LIMS Task Force Direc- tor, at (714) 565-5297. ■ A Call For Educational Material The Florida Educational Computing Project, which is supported by the state of Florida, has recently approved a pro- ject for the evaluation and implementa- tion of a microcomputer based instruc- tional computing system. As a member of the evaluation committee, I am writing to you so we may contact those readers whb have education oriented software developed for microcomputers. We are looking for both computer aided instruction type material and ad- ministrative support programs (eg: film library inventory/control, word process- ing, statistical analysis, etc). At this time we do not have the funds to purchase any software, and would therefore be willing to certify the return or destruc- tion of any program material loaned to us. Because of the variety of computers these programs may run on, we would prefer those which are not too depen- dent on a particular hardware configura- tion or operating system (if one is re- quired). However, we would like to hear about any programs running on 6502, 6800. 8080, 8085, or Z-80 machines. The outcome of this project will be a catalog listing all the acceptable soft- ware packages we receive, their evalua- tion, and their source of distribution. This catalog will be available to all educational institutions in the state of Florida and to any other interested educational systems. Naturally we would like to share with those who con- tribute software for evaluation, possibly starting an exchange program among the participants. Any help we receive would not only be greatly appreciated, but would ac- celerate the exposure, use, and knowledge of microcomputers in general. We feel that the microcom- puter, because of its relative small size, low cost, and dedicated one-on-one responsiveness, will prove to be a power- ful learning tool for the student and a valuable timesaving aid to the educator. We hope, with the cooperation of your magazine and your readers, that our efforts will show that the microcom- puter is "an idea whose time has come" in the field of education. Those who have software they wish to submit for evaluation and inclusion in our catalog, or questions concerning our project may contact Dr Nelson ) Towle, Sarasota County Schools, 2409 Hatton St, Sarasota FL 33577, (305 953-5000 ex- tension 322." ^ Pascal MICROENGINE™ 16-bit P-code CPU PASCAL PROGRAMS EXECUTE 5x FASTER THAN ON SIMILAR CPU'S $ 2695* READY TO RUN $ 2995 List price $ 2949 COD (25% down) STANDARD: • 16-bit P-code CPU • 64K bytes RAM • Floppy disk controller • Full DMA • Floating point hardware • 2 serial I/O ports • 2 parallel I/O ports • Pascal & Basic compilers, text editor, file manager, CPU & memory diagnostics, symbolic Pascal debugger I / yt? Without case & power supply $ 1995 List price $ 1949 COD (25% down) 10% DOWN, GUARANTEES PRIORITY* PRICE PERKIN-ELMER (Model 550) *799' List price $ 956 COD (25% down) $ 899 $ 695' SHUGART (Model SA850) s 755 List price $ 719 COD (25% down) LIMITED TIME CASH DISCOUNT (IL residents add 5% sales tax) A lull refund will be made lor any product returned within 10 days. X-pert Systems'" designed by Computex are integrated and cost efficient. Customer satisfaction is guaranteed. Write for information on technical details and applications software. Special prices to computer clubs. Complete systems catalogue $1. (312) 684-3183 COMPUTEX "The Computer Experts" 5710 Drexel Avenue Chicago, I L 60637 Sales & Service May 1979 © BYTE Publications Inc 175 Queuing Theory, The Science of Wait Control Part 2: System Types Len Gorney Box 96 R D 1 Clarks Summit PA 18411 CUSTOMERS IN > QUEUE In part 1 we discussed the computer implementation of row and circular queues. Now, let us take a look at the structure of queues in the real world and see if they can be fitted to our previous programs. In the following discussion, the word queue refers to the waiting line in the system. I he word facility refers to the service facility area located at the head of the queue. System Types There are four general types of queuing structures. The first, and simplest, is the single queue single facility system (figure 3). In this structure, there is one waiting line and one service area to be studied. A 1 pump gas station with one entrance is a real world example of this system. We can extend this system' to the single queue multifacility system (see figure 4). In this structure, customers line up in a single waiting line and are serviced at the first of a series of facilities. Upon depar- ture from the first facility, the customers immediately enter another queue to await their turn at the second service facility. This insertion and deletion continues until the customer is eventually deleted from the last facility and consequently the entire system. This structure is not unlike a cafe- SERVICE FACILITY Figure 3: A single queue single facility system with one waiting line and one service area. teria where you first line up for a sandwich, then line up for dessert, then for a drink, and finally, for the cash register. Another basic queue structure is a multi- queue single facility system (see figure 5). This is the type of structure you see at a typical supermarket checkout counter area. Customers arrive at the queue with their purchases and choose one of many waiting lines. Each service facility offers the same service, that is, checking out the purchases, but each line holds different customers. The multiqueue, multifacility system in figure 6 is a combination of the previously mentioned structures. A number of initial queues feed into a series of facilities. When a customer enters a particular queue, that customer travels from each facility within that subsystem until the eventual deletion from the system. Once a customer is entered into a subsystem, that customer causes that subsystem to behave as does the single queue multifacility queue system. Any waiting line can be fitted to one of the four queue structures just mentioned. Try it the next time you're waiting in a line. After we are able to define the type of queue we have, the problem of analyzing the structure and arriving at answers most important in queuing problems is our next step. At this time we won't concern our- selves with the difference between a single server or a multiserver queue. The former represents a grocery store checkout counter arrangement where customers enter any line (usually the shortest or the fastest moving). The latter fits into the situation at a barbershop. One long line feeds into Note: The num Dering of the figures and listings is continued from part 1 in April 1979 BYTE, page 132. J CUSTOMERS IN t> QUEUE I SERVICE FACILITY QUEUE 2 SERVICE I FACILITY I SERVICE I FACILITY OUT _r ~l Figure 4: Single queue multifacility system, in which the customer waits in a queue to use a facility, then waits in another queue for the second facility, and so on until all ser- vice facilities have been used. 176 Mav W9 >S BYlt Publications Inc a large service area where a number of barbers (ie: the servers) wait for you to come to them. Let's imagine a 1 pump gas station. At the start of the day, the operator (ie: server) opens the pump and waits for the first customer of the day to arrive. After some period of time, the first customer arrives and immediately drives up to the pump for service. This lucky first customer has no waiting time since the facility (at the head of the queue) is open and free of previous customers. The customer requires some period of time for service, and upon completion of this servicing time leaves the system. The operator sits back and waits for the next customer to arrive. The second customer arrives, is immedi- ately served, and leaves the system. If the only time a customer spends in a queue is the time required for service, no queue forms. What we need for a queue to form is to have customers arrive while there is a customer being serviced. Then a line will form with waiting customers. The queue will form based entirely upon the service requirements of the customer at the service area. Randomness A pure queuing problem requires that customer arrival and service times be differ- ent. In other words, while a customer is being serviced, other customers enter the system at random intervals during the simulation period to form a queue. Formally speaking, the randomness of these arrivals follows a Poisson distribution and exponential interarrival times. Basically, this means that an arrival has an equal chance of arriving at the tail of the queue at any time during the simulation period of the problem. Typical nonqueue structures do not exhibit this random criterion. For example, a movie theater line is not a good queue problem because arrivals usually bunch up in a period 10 to 15 minutes before the new show starts. Therefore, during the simulation period, randomness is a key ingredient. Randomness causes the queue to lengthen and decrease based only on the service requirements of each customer. Usually a customer must wait in a line at any business establishment before receiving the desired service. How the businessman treats these waiting customers is of prime importance as to the success or failure of most businesses. A typical customer will take one of the following actions when faced with a waiting line. The first action is to just wait in the line until service arrives. Once in line, that customer will remain in line until the end. The businessman has little worry over this customer because this customer will eventually be serviced and some profit will be realized. A second alternative open to a waiting customer is for that customer to jockey from line to line. How many times have you seen this customer arrive at one queue, wait for a short period of time, move to another queue, wait again, then move again, and so on. This situation exists in the multiqueue system as is evidenced in a bank or large supermarket with many service facilities available for customer use. CUSTOMERS IN >- -> QUEUE -C> QUEUE 2 IN -l> QUEUE n The definition of a queue requires that arrivals to the queue be random. SERVICE FACILITY I SERVICE FACILITY 2 SERVICE FACILITY Figure 5: Multiqueue single facility system. An example of such a system is the supermarket checkout area. The checkout area has several service facili- ties, each with a corresponding queue, that all offer the same service. CUSTOMERS IN >- QUEUE SUBSYSTEM QUEUE I SUBSYSTEM 2 -*■ QUEUE I SERVICE FACILITY I SERVICE FACILITY I SUBSYSTEM m SERVICE FACILITY I QUEUE 2 QUEUE 2 QUEUE 2 SERVICE FACILITY 2 QUEUE 3 QUEUE n SERVICE FACILITY 2 QUEUE 3 SERVICE FACILITY 2 QUEUE 3 QUEUE n SERVICE FACILITY SERVICE FACILITY SERVICE FACILITY CUSTOMER OUT CUSTOMER OUT CUSTOMER OUT ■ Figure 6: Multiqueue, multifacility system. This system has a number of initial queues feeding into a series of facilities. A cus- tomer entering a particular queue stays within that particular subsystem until leaving the system. May 1979 © BYTt Publications Inc 177 f^^^J We are the first manufacturer to offer you a complete family of add-on disk drives for your TRS-80. Select from single head brdual head units. Each comes complete with Power Supply and Chassis. n ■ i SINGLE HEAD DRIVES TF-1X Choose Pertec FD-200 or MPI TF-3 Shugart SA 400 DUAL HEAD DRIVE TDH-2 Dual Headed mini floppy, includes cable CABLES TFC-2 Cable for two disk drives TFC-4 Cable for four disk drives TRS-80 PERIPHERALS & SUPPLIES $379 $389 $699 $25 $35 PRINTERS LP779TR Centronics Model 779 with tractors LP1 Centronics Model P1 CABLES MEMORY 16KM 16K RAM Kit (specify computer or expansion interface) NEW PRODUCTS AC-1 A.C. Line Interference Eliminator NKP Numeric 16-Key Pad Kit DISKETTES VERBATIM 5" Soft sector GM 5" Soft sector $1179 $399 $39 $84 $18.95 $68 $3.59 $3.49 TRS-80 SOFTWARE New TRS-80 DOS Accounts Recievable Inventory Control Job Entry/Status Mail List $95 $39 $39 $75 $39 SEND FOR FREE PRODUCT CATALOG BUY IT ALL... HARDWARE/SOFTWARE... FROM ONE SOURCE TWO LOCATIONS TO SERVE YOU APPARAT, INC. 6000 E. Evens Ave. Bldg. 2 Denver, CO. 80222 303-758-7275 MICROCOMPUTER TECHNOLOGY INC. 2080 S. Grand Ave. Santa Ana, CA. 92705 714-979-9923 ORDERING I NFORMATION: Cash, check. Money Order or Credit Card (MC or VISA) COD'S require 20% deposit. Orders will be processed and shipped within 3 to 1 days ot receipt ot order. Customers will be notified ot any delay over 30 days. The previous two actions should cause little concern. The customer remains in the system and will eventually be served, there- by yielding the business some profit. How- ever, what happens when the customer leaves the system after entering or refuses to enter the system initially? If a customer has entered the system and leaves before being serviced, that customer has reneged. This situation occurs quite often when the waiting lines are moving at a rate far too slow for the customers within the lines. The customer and possible profits are lost to the businessman when a custom- er's action takes him or her on this route. The last, and most damaging to the businessman, is the situation where a cus- tomer doesn't initially enter the system. When a customer sees a long and slow moving line, that customer usually balks. This customer is surely lost because he doesn't even give the businessman a chance at the very outset. Since time is money, the important questions relating to queuing systems must be solved with relation to the time involved in waiting and servicing customers. What is the maximum amount of time a customer waits in a line? What is the aver- age amount of time all the customers are expected to wait in line before being served and deleted? What is the maximum amount of service time for any one customer during a typical period of time? Any measurement involving customer waiting time and cus- tomer service time is vital to the success or failure of a business. A Queuing Problem The program shown in listing 3 is that of a typical queuing problem utilizing the circular queue as the queuing structure. What we may have here is a hypothetical 1 pump gas station. The system will therefore be described as a single queue single facility structure. Past experience gives us some of the input parameters required for the problem solu- tion. For example, our queue is dimensioned to ten locations, so only ten cars can fit in our service area. This parameter can be adjusted using input parameter questions at the beginning of the program. In addition to the queue length, the program asks for the minimum and maximum typical service times. The arrivals per unit time determine how many customers are arriving each minute during the simulation. The simula- tion is halted after the first parameter value is reached, namely, the amount of time to run the model. 178 May197 A THEN 1580 1550 GOSUB 1900 1560 A3 = A3 + 1 1570 GOTO 1540 1580 NEXT J 1590 GOSUB 1730 1600 STOP 1610 S = INT (RND (1)*10) + (S3-9) 1620 IFQ(H) = -9 THEN 1640 1630 Q (H) = 1640 M3 = Q (HI + S 1650 IF P = OTHEN 1670 1660 PRINT "REQUIRED SERVICE TIME=";S 1670 RETURN 1680 FOR J2 = 1 TO H2 1690 PRINT Q(J2); 1700 NEXTJ2 1710 PRINT "TAIL=";T;"HEAD = ";H 1720 RETURN 1730 PRINT C4," FULLY SERVED CUSTOMERS IN "; J;' 1740 PRINT "MAXIMUM CUSTOMERS QUEUED=";C3 1750 M5 = M2/C4 1760 PRINT "AVERAGE WAIT TIME =" ; M5 1770 S5 - S4/C4 1780 PRINT "AVERAGE SERVICE TIME = "; S5 1790 C5 = C2/J 1800 PRINT "AVERAGE NUMBER OF QUEUED CUSTOMERS=' 1810 RETURN 1850 REM 1860 REM INSERTION ROUTINE 1870 REM 1880 REM CHECK TAIL AND HEAD POINTER VALUES >UT 0"; 1890 REM 1900 IF H = T GOTO 1970 1910 IF H < T GOTO 2030 1920 IF T >= 1 GOTO 2030 1930 IF H = H2 GOTO 2080 1931 REM 1932 REM INSERT ITEM AT Q (H) 1933 REM SINCE QUEUE IS EMPTY 1934 REM 1940 Q(H2) = 1950 T = H2-1 1960 GOTO 2050 1970 IF T <> GOTO 2000 1971 REM 1972 REM RESET POINTERS TO HEAD OF QUEUE 1973 REM 1980 H = H2 1990 T = H2 1991 REM 1992 REM CHECK IF Q (T) EMPTY FOR POSSIBLE INSERT 1993 REM 2000 IF Q (T) <> -9 GOTO 2080 2010 H = H2 2020 T = H2 2021 REM 2022 REM NORMAL TAIL INSERTION 2023 REM 2030 Q(T) = ES" 2040 T = T-1 2050 IF P = OTHEN 2070 2060 PRINT "ARRIVAL" 2070 RETURN 2080 IF P = OTHEN 2100 2090 PRINT "OVERFLOW- 2100 RETURN 2101 REM 2102 REM DELETION ROUTINE 2103 REM 2104 REM CHECK POINTER VALUES FOR POSSIBLE DELETE 2105 REM 2110 IF H = TGOTO 2150 2120 IF H > OGOTO 2190 2130 H = H2 2140 GOTO 2180 2150 IF H <> OGOTO 2180 2160 H = H2 2170 T = H2 2171 REM 2172 REM DELETE FROM Q (H) IF Q (H) HAS AN ITEM 2173 REM ELSE, QUEUE IS EMPTY, I. E. UNDERFLOW 2174 REM 2180 IF Q (H) =-9 GOTO 2240 2190 Q (H) = -9 2200 H = H -1 2201 REM 2202 REM RESET POINTERS FOR NEXT DELETE 2203 REM 2210 IF H <> OGOTO 2260 2220 H = H2 2230 RETURN 2240 IF P = OTHEN 2260 2250 PRINT "UNDERFLOW- MINUTES" 2260 RETURN 2270 END ;C5 180 May 1979 © BYTE Publications Inc Circle 299 on inquiry card. Conclusion For the serious reader, the list of refer- ence material includes those texts which place a good emphasis on queuing theory. After digesting the ideas in this article, plunge into these texts. Now I can return to my reading queue and get to those lines of books and articles waiting on my bookshelf. I'm sure that somewhere out there is a line waiting for you!" BIBLIOGRAPHY 1. Cooper, Introduction to Queuing Theory, Macmillan, New York, 1972. 2. Cox, Smith, Queues, John Wiley and Sons, New York, 1961. 3. Gross, Harris, Fundamentals of Queuing Theory, John Wiley and Sons, New York 1974. 4. Harrison, Data Structures and Programming, Scott, Foresman, Glenview IL, 1973. 5. Hillier, Lieberman, Operations Research, Holden-Day, San Francisco, 1974. 6. Siemens, Marting, Greenwood, Operations Research, Macmillan, New York, 1973. 7. Wagner, Principles of Operations Research, Prentice-Hall, Englewood Cliffs NJ, 1975. r ^ ALPHA MICRO FINANCIAL ACCOUNTING SYSTEM A generalized, interactive bookkeeping and accounting system created by our staff of CPAs for our accounting practice. The system includes all of the accounting journals, ledgers and reports necessary for a complete accounting package (ie: payroll, receivables, payables, financial statements). It also includes a few things not found elsewhere, and will run in either a floppy or hard disk environment. The PJA Accounting System with documentation is available for $500. J^wwne, *s Certified Public Accountants 447 East Fifth Avenue Anchorage, Alaska 99501 (907)272-7261 or 279-2351 Dealer Arrangements A vailable J Solve your floppy disk inventory problems ♦ ♦ ♦ Use ours* Verbatim/ corporation 8SS» Kybe can ship any model floppy disk, data cassette or mag card in only two days. You'll get the same high performance products sold by 3M, BASF, Memorex and other brand name suppliers. The same products we've built for OEM's for years. Why not order direct? Our full line is competitively priced, backed by an unconditional 90 day warranty and in stock for fast delivery. Dealer inquiries invited. (800)225-8715 KYBE K V KYBE CORPORATION 132 Calvary Street Waltham. Mass 0215-t Tel (6t7t899-0O12, Telex 94-01 79 Offices & representatives worldwide Circle 201 on inquiry card. May 1979 ■?■ UYfl Publications In 181 OesfcTcp Wonders Digits Hal Snyder 855 Fair Oaks Deerfiold I L 60015 Listing 1: The Digits program, written for the Texas Instruments SR-52. The object of the game is to guess a number generated randomly by the calculator in the fewest number of guesses possible. Digits is a number guessing game written for the Texas Instruments SR-52 program- mable calculator featuring cyclic permu- tation, nested loops and various space saving devices. Hal Snyder teaches mathematics at Roosevelt University in Chicago. Program Listing 000 LBL A' 002 4 STO 00 rtn 007 LBL E' 009 ( STO - .5 ) 015 EE INV EE rtn 019 LBL D' 021 10 INV log rtn 026 LBL + 028 A' 029 LBL cos 031 9 SUM 00 035 ( IND RCLOQ- 041 9 INV SUM 00 046 IND RCLOO) 051 INV ifzro7T 054 IND STO 00 058 1 SUM 19 062 LBL7T 064 dsz cos rtn 067 LBL B 069 prt fix 072 -f-A' INV log 076 LBL sin 078 x 10 = 082 - E' IND STO 00 = 089 dsz sin 091 OSTO 19 095 SBR + 097 10PROD 19 102 A' dsz x 105 LBLx 107 RCL00 + 111 A'RCLOI ( 116 LBL r 118 IND EXCOO 122 INV ifzro 2' 125 IND EXCOO 129 LBL 2' 131 dsz 1* 133 + A'0) 137 IND STO 00 141 SBR + 143 = STO 00 148 dsz x 150 RCL 19 INV fix 155 prt pap HLT 158 LBL E 160 fixO A' 163 LBL SUM 165 RCL 00 + 9 170 + STO 01 174 7yX 9x RCL 99 181 tD'"E' = 186 x D' f STO 99 192 9 INV log = 196 E'x( 199 IND STO 01 - 204 07) = 208 ifposSUM 210 dsz SUM 212 INV fix CLR HLT 216 LBL D 218 EXC99 HLT Commentary ; number of digits :10 10 ; count matching ; digits ; if match, clear ; guess digit, ; increment count : respond to guess ; fraction in display ; tens digit in ; response ; cycle ; save outer loop ; index : leave zeroed digit : in place ; retrieve outer ; loop index ; pick a number ; generate random number ; by taking ; (R99 x 7») mod 10 10 ;get leading digit ; is it in range? ; cleanup ; seed for random ; note EXC is used Instructions: 1. Enter program. 2. Start random number sequence by keying in a positive integer and pressing D. 3. For a new game, press E. In the initial configuration, the SR-52 selects four digits, all between 1 and 6, such as 2361 or 5335, then displays (this takes about 120 seconds). 4. Key in your guess and press B. After a few moments (see below for approxi- mate timing), SR-52 responds with a 2 digit number xy, where x (tens) is the number of digits in your guess which are in the right position, and y (ones) is the number of cor- rect digits in the wrong position. For example, if the SR-52 had chosen 5335 and your guess was 5351, the response would be 21. 5. Repeat step 4 as many times as needed to determine the hidden number completely. If not using a Tl PC-1 00 printer, you should keep a written record of guesses and responses. The object of the game is to use as few guesses as possible. Step 3 starts a new game. 6. Variation: the program is initially set for 4 digit numbers. For any other num- ber (2 to 9) of places, set location 002 to the desired number, say by keying GTO A' LRN number LRN. 7. Variation: the program initially uses digits 1 thru 6. To use digits 1 thru r, enter r+1 in locations 204 thru 205, with leading if r+1 is a 1 digit number. To use digits 1 thru 7, key GTO 204 LRN 08 LRN. Digits Versus Codebreaker The game described above is similar to Codebreaker (copyright 1976, Texas Instru- ments), which comes in the Tl game library for the SR-52. Digits, however, permits repeated occurrences of a digit in the hidden number, and can be easily modified (steps 6 and 7 above) for different versions of the game. The Program The Digits program is shown in listing 1. Frequently used subroutines are placed at the front for improved speed. Subroutine 182 May 1979 © BYTE Publications Inc Circle 85 on inquiry card. QiMiaomoioooooou800000oooOMooooooooooiooooopo W pooo^ E' shows one way to do truncation on the SR-52. A quick way to get powers of 10 is illustrated in D'. The "cycle" routine (loca- tions 105 thru 149) cyclically permutes the digits of the guess entered with the following modification: any digits in the guess which were previously matched in the answer will have been set to 0, and these digits will not be moved. (Thus, 1234 becomes 4123, but 1034 becomes 4013.) The outer loop (105 thru 149) contains an inner loop (114 thru 132), and the program listing shows how the outer index is saved on the SR-52 operations stack when the inner loop is executing. The random number formula (see listing commentary) is the one used in the Tl basic library. Key D can be used between games to examine or restart the random sequence since it exchanges display contents with the random number in memory. Response time depends on the width of the numbers used. As a rule, if you are using numbers with p decimal positions, the time in seconds from guess entered to response displayed will be 5/3 (p^+p), which means it will take about 20 and 35 seconds for 3 and 4 digit numbers respectively, all the way up to 150 seconds for 9 digit numbers." TRS-80 means business! ! ! ...with CP/M, CBASIC2, & applications software. CP/M ("the software bus") & CBASIC2 (the stan- dard for business software) bring new power and versatility to the TRS-80 for practical use. CP/M Operating System (w/Editor, Assembler, Debugger, Utilities & 6 manual set) CBASIC2 Compiler (w/manual) DSPO0L Print Spooler (w/manual) *0sborne & Assoc. PAYROLL W/C0ST ACCTNG *Osborne & Assoc. ACCTS. RECEIVABLE & ACCTS. PAYABLE *Osborne & Assoc. GENERAL LEDGER *=CBASIC2 source programs; add $15 (each) for applicable O & A book. APH - Self-administered Automated Patient History $145 $ 95 $ 75 $250 $250 $250 $175 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 IC.lV, IB. IE. IR.1N.|E,|T. I l,[C ;S 8041 NEWMAN AVENUE • SUITE 208 • HUNTINGTON BEACH. CALIFORNIA 92647 CP/M+TRS-80 The CP/M Operating System now available for Radio Shack's TRS-80 CP/M OPERATING SYSTEM • Editor, Assembler, Debugger, and Utilities • For 8080 and Z-80 Systems • Up to four floppy disks • Documentation includes: CP/M Features and Facilities CP/M Editor Manual CP/M Assembler Manual CP/M Debugger Manual CP/M Interface Guide CP/M Alteration Guide CPIM System Diskette and Documentation (Set of 6 manuals) for $150. CP/M Documentation (Set of 6 manuals) only $25. MAC MACRO ASSEMBLER • Compatible with new Intel Macro standard • Complete guide to Macro Applications MAC Diskette and Manual for $150. SID® SYMBOLIC INSTRUCTION DEBUGGER • Symbolic memory reference • Built-in assembler/disassembler SID Diskette and Manual for $125. TEX® TEXT FORMATTER • Powerful text formatting capabilities • Text prepared using CP/M Editor TEX Diskette and Manual for $125. HIGH-LEVEL LANGUAGES • Basic • Fortran • Cobol • Call or write for information USER'S GROUP • 35 disks with utilities, games and applications • Call or write for information FMG ©@B[p©[jMYD©[N] P.O. Box 16020 • Fort Worth. TX 76133 • (817) 738-0251 CP M is a registered trademark ol Digital Research Corp TRS-80 is a registered trademark ot Radio Shack Circle 136 on inquiry card. May 1979 © BYTE Publications Inc 183 Figure 7 : Diagram illustrating rotation of the vector x, y in Cartesian coordi- nates. The final position of the vector endpoint is x , y . Two different "black boxes, " or subroutines, are used to solve various trigonometric problems by means of the CORDIC algorithm. Black Box 7 (BB I) calculates x and y given the displacement angle d. Black Box 2 (BB 2) calculates the displace- ment angle 9 necessary to rotate the vector to a given y '. These two routines enable the programmer to calculate a variety of trigonometric functions quickly and efficiently. (x,y) Trigonometry in Two Easy Black Boxes About the Author John A Ball is a radio astronomer at the Center for Astrophysics, Cam- bridge MA. He has written a book entitled Algorithms for RPN Calculators published by Wiley. John A Ball Oak Hill Rd Harvard MA 01451 If your computer can add, subtract, multiply, divide, calculate square roots, sines, cosines, tangents, arc sines, arc cosines, and arc tangents, then you are prepared to solve any trigonometry problem. How- ever, if your computer lacks some of these trig functions, then this article will be help- ful, as it shows how to use CORDIC tech- niques to program two "black boxes" (alias subroutines or processors) to perform trigonometric functions. As a bonus, you will find that some complex and important problems are easier with the two black boxes than with conventional trig functions. Coordinate Rotations Suppose we have a black box (call it BB 1 for "black box number one") that performs rotations in Cartesian coordinates. Given x, y, and , BB 1 calculates x and y where: x = xcos0 - ys'und = (x — ytan0)cos0 y = ycos0 + xsin0 = (y + xtan0)cos0 (Eql) These are the standard equations for a rota- tion. They can be derived from figure 1. The sign convention on the angle in these equations is such that the point (or vector) x, y rotates counterclockwise through an angle in a stationary coordinate system, or alternatively, the coordinate system ro- tates clockwise through an angle and the point is stationary. Interchanging the plus and minus signs in equations 1 gives the opposite sign convention for 0. Many trigonometric problems are solvable using BB 1. The special case y - 0, x = R, for example, gives: x y RcosO Rslnd (Eg 2) These are the equations for converting polar to rectangular coordinates. The special case y = 0,x = 1 gives: x y COS0 sin0 (Eq3) BB 1 will calculate sines and cosines, and from these the other trigonometric functions are easy. Now suppose we have a second black box, BB 2, which rotates the given coordi- nates x and y through whatever angle is B~BB 2^ „l Figure 2: Functional diagram of Black Box 7 and Black Box 2 showing inputs and the outputs which can be calculated from them. 184 M,iy 1979 © BYH Publications Inc SWITCH! D-ON TftS SYSTEMS... SUPPORT... SOFTWARE Using the Radio Shack TRS-80 as our base, we provide a full line of business-oriented soft- ware, plus products with the follow-on support necessary to insure a success- ful installation and ongoing operations. *'■■ Our program costs $100 for the docu- mentation, an additional $50 for the software on magnetic tape, and/or another $100 for the software on diskette. ■•-■' We highly recommend that you subscribe on one form of media. In adopting this ap- proach, we're going straight for the jugular (so to speak). Within the next year, we anti- cipate a very competitive market for busi- ness software relating to the TRS-80, and wish to establish ourselves immediately in a dominant position. In doing so, we are presuming over 1,000 participants in BIZ-80. Pricing accordingly, we're sure BIZ-80 will become such a fantastic bargain that few serious businessmen intending to use a TRS-80 could possibly pass up the value of- fered. Really ... how could you pass this up? We're sure you must ested in just what getting ... be inter- you'll be Well, just about everything you need! Within the year, you'll receive a disk based Inventory system, Accounts Receivable system, Ac- counts Payable system, General Ledger system, Sales and Payroll. At the same time, all six subjects will be covered for a tape-based sys- .*' ..•' tern. Yes! Provisions have been made so that as your system upgrades, your data base will follow with a minimum of dif- ficulty. We're not talking about stripped- down systems, either. Elements of — BIZ-80 are already prepared and have been sold to satisfied customers for as much as $150. The Name/ Address system requires an entire diskette it- self (over 50,000 bytes) with some op- tional subroutines relegated to yet an- other disk. Our magazine, SoftSide, has proven it can be done: significant software can be offered at ex- traordinary prices, attracting a sufficient fol- lowing to make the effort profitable. The Business Software People BIZ-80 is not only competitive, but will set the standard by which value will be compared... and that standard will be hard to meet. The object of BIZ-80 is to develop systems that are easy to use, well-documented and include simple error-correction routines; will be inexpensive; can be used by the cus- tomer without the need for sophisticated com- puter-oriented personnel; existing employees and management can easily learn to operate. Our goal is to ultimately provide the complete computer system with 1 . Basic business programs on subscription basis 2. Special applications business programming on contractual basis The systems are professional quality products developed for the businessman utilizing a TRS-80 microcomputer — they are well-documented from the customer's point of view; they all tie together, i.e., Order Processing feeds Ac- counts Receivable, etc.; and they work all the time. Rerun, operation and backup procedures, as well as start-up and first time run instructions are covered in detail, from the perspective of the first-time user. Easily followed step-by-step instructions guide you through a sample run with dummy data (provided with every system). Start running your system at once, without the need to stumble through it try- ing to create a file in order to understand how to use it. Periodically, we upgrade the documentation to reflect improvements and/or changes in the system caused by TRS-80 enhancements. The enhancements will be available at a nominal charge to cover distribution expenses. Updates are FREE to BIZ-80 subscribers. Programs and systems are only as good as the documentation and people behind them. Participants in the one-year (max.) contract wi|l receive: »12 Systems-6 tape/6 disk 'Support 'Updates 'Newsletters Our software products are oriented to four levels of TRS-80 systems: System S-a stand alone 16K Level II with one cassette tape System l-a 32K with DOS, op- tional printer (CRT oriented) and one disk drive System I l-a 32K with DOS, line printer and two disk drives System lll-a 48K with DOS, line printer, RS232 interface and three-plus disk drives. Remember, all these business systems tie together They're add-on modules developed to complement one another; the building blocks of your complete business microcomputer system. The TRS-80 is a powerful tool for business management. We want to help you use this tool to your best advantage. BIZ-80 17 Briar Cliff Dr. Milford, NH 03055 603-673-5144 Circle 28 on inquiry card. I3YTC May T>7') 185 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. The78F2, 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 Flowchartrix 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 7x11 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' 2 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 yon always have to, sooner or later 7 ; 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 Flowchartrix D 2 pads dl 50- J!. 911 < $2.85 pkng S slips D 10 pads ol 50 - S34.35 * $6 45 pkng S shpg 78P4 Printout Design Sheets D I pad ol 50 - V «5 . S3 15 pkng S shpg D 5 pads ol 50 =-- $32 10 . S6 75 pkng & shpg 3-holl punched vinyl pockets (Of 78P4 Design Sheets D set ol 5 [oi $2 65 + SI 35 pkng S shpg O set of 12 lor $5 00 .SI 85 pkng S shpg 78C1 Combination Coding/CRT Layouts All are the same puce bill please check which language loimal yon want D for BASIC OloiFORlRAN D lor COBOL a 2 pads ol 50- $6 35 * SI 95 pkng £ shpg □ 10 pads ol 50 = $26 85 + $3 35 pkng & shpg leias 'esidmir piear e ado S i"-. sales tar to base p,,te We ship UPS so P Boi address musl give phono number Hures shown lor parking & shipping are U S A only Inlemaiional shipping rates □ Sample ol one sheet of each form -+- associated labels 8 litetature $2 50 Enclosed is my check for $ Name Charge to: □ Master Charge D Visa exp. date. Card ! Signature . Address _ City Phone. .State. .Zip. | Stirling/Bekdorf 4407 Parkwood □ San Antonio, TX 78218 a (512) 824-5643 'P ~> (ci ]9?8 Sliilini^t.doil Dm, of BlirAmin Mkt|. Cp , inc necessary to give a specified y . So BB 2 also satisfies equations 1 but x, y, and y are the given quantities and BB 2 calculates x and 8 as shown in figure 2. Equations 1 can be rewritten as: x = ± v a-2 +y2 _y2 6 = sin- 1 (y'lR)-4> (Eq4) where R = *Jx 2 +y 2 = tan -1 (yjx) x = Rcoscj) y = /?sin0 (Eg 5) That is, R and are the polar coordinates corresponding to x and y as shown in figure 1. Some combinations of x, y, and y are impossible: if \y\ > R, then BB 2 will award you a demerit and write an uncomplimen- tary error message. Two distinct solutions exist for x and 8 . These solutions differ in the sign of a - ', and 8 is replaced by 180° - 8 - 20. BB 2 gives the solution first encountered while rotating. Alternatively, a version of BB 2 could be written to give both solutions. BB 2 is also a powerful trigonometric problem solver. The special casey' = O, for example, gives: x = ±R 6 = -0 or 180° (Eg 6) This case gives rectangular to polar coordi- nate conversion. Also, since = tan - 1 (y/x), this case gives a four quadrant arc tangent. The special casey = O gives: x = ± V x 2 —y' = xcosd sin" - 1 07a (Eg 7) This case gives an arc sine and the solution to a right triangle. And the special case x - gives: < = ±V) -y = — ys\nd = cos~1 (y'/y) (Eg 8) This case gives an arc cosine and the solution to a right triangle. Together with add, subtract, multiply, divide, and maybe a square root, BB 1 and BB 2 can be used to solve any solvable prob- lem in plane or spherical trigonometry. 186 Mav 1979 © BYTE Publications Inc Circle 352 on inquiry card. Many problems are simplified by being written directly in terms of coordinate rota- tions or rectangular to polar to rectangular coordinate conversions. Examples are con- versions of coordinate systems in positional astronomy and problems in complex num- bers, especially complex impedances in electronics. CORDIC Techniques Voider (1959) developed the original CORDIC (Coordinate Rotation Digital Computer) technique for use in a special purpose computer which solved, among other problems, for the distance and heading between two points specified by their lati- tudes and longitudes on the earth. Meggitt (1962) and Walther (1971) described gen- eralizations of the CORDIC technique called pseudo-multiplications and pseudo-divisions. (See the end of this article for bibliographic information about this reference and the other references cited.) Hewlett-Packard and other calculators use CORDIC techniques internally to calculate trigonometric func- tions [see Cochran (1972) and Egbert (1977)]. CORDIC techniques allow one to pro- gram (or to "solder" together) BB 1 and BB 2 using only adds, subtracts, and shifts inside the loops. Outside the loops one also needs one or two multiplications or divisions in a base 2 machine, or one or two multi- plications or divisions and a square root in a base 10 machine. As a rough general rule, CORDIC techniques are faster and easier in a computer that has no floating point hardware and no multiply/divide hardware, but does have multibit shifts. If a multibit shift must be built up from single bit shifts or from a multiply, then series expansions to get trigonometric functions are sometimes preferable. These statements are usually also true in a base 10 machine with "digit" substituted for "bit." If you are really in a hurry, a CORDIC rota- tor can be made in hardware, as Voider (1959) describes. With the second half of equations 1 in mind, suppose we wan"; to perform coordi- nate rotations quickly and easily. The cosd factor multiplying the parentheses is a scale factor for both x and y . As a special case, consider rotating through an angle 6 n satisfying: 8„ = tan" 1 [b-n) (Eq 9) where b is the radix or the base of the num- ber system in the computer (usually b = 2 or 10) and n is an integer. For these special Up\bur Output. TEMPOS MULTI-TASKING! The TEMPOS Operating System is quickly becoming the standard in Multi- User, Multi-Tasking operating systems for 8080 and Z80 microcomputers. Multi-Tasking means that, even with only one user at one terminal, more than one job can be running on the system simultaneously! If you have ever had to go get a cup of coffee while you wait for your computer to print list- ings, you know the advantages of a system that will handle one job while you are working on another. TEMPOS is a true time sharing system, and the maximum number of jobs is limited only by your memory. MULTI-USER! Want to share your computer with another user? With TEMPOS all it takes is another terminal ... up to seven interactive terminals are allowed! And with Re-Entrant programs, each user does not need a complete copy in memory. We include three Re-Entrantprograms(theOPUS/THREEHigh- Level Language, the TEXTED Text Editor, and FILES, a disc file directory/manipulator) or write your own! In addition, we include an assembler, a linking loader, over a half-dozen other utility programs and over 60 system subroutines, callable by the programmer! PROVEN! With TEMPOS, you get a package that has been tested in our facilities for over two years, and in the field at over 50 different installations. We have used this system ourselves for everything from writing high-level languages to developing applications to text editing to games. TEMPOS is undoubted- ly the most flexible software tool on the market . . . and you can have it for much less than you think! COMPATIBLE! TEMPOS is available for many different systems; prewritten drivers may include yours. Or, using our interactive System Generation Routine, you can add your own. Call or write noiu for our free catalog and the name of a dealer near you. The TEMPOS Operating System is available for $787.00, the manual set ( price may be credited toward the purchase of the TEMPOS package) for $21.50 (prices include shipping within the U.S.). ADMINISTRATIVE □□SYSTEMS □□□INC □□ 1642 S. Parker Road, Suite 300, Denver, Colorado 80231 (303) 755-9694 Circle 2 on inquiry card. May 1979 © BYTE Publications Inc 187 ANNOUNCING New from DEC LA34 DECwriter IV $ U99. 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 15 1 /z"D, 25 lbs. New from DIABLO DIABL0 1640 $2,690.°° 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. S0R0CIQ 120 $795.°° • RS 232C, upper/lower case full ASCII • Numeric keypad, protected fields • Cursor keys plus addressable cursor • Auxiliary extension port Teletype 43 $999.00 • RS 232C, 110 or 300 baud • Upper/lower case full ASCII • Pin feed, 12" x 8V2" paper T.I. 810 prinler $1,695.°° • 150 characters per second • RS 232C serial interface • Adjustable forms tractor • Upper/lower case option $90.00 SOROCIQ140 $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. Visit MICROMAIL at the National Computer Conference — Personal Com- puting Festival, New York City, June 5-7, Booth 128. nMJCRQMflJL, MICROMAIL • BOX 3297 • SANTA ANA, CA 92703 (714) 731-4338 angles, the rotation in equations 1 simplifies to shifts (multiplying by tan 8 n is equivalent to a right shift by n places) and add and sub- tract, except for the scale factor cos8 n . Since & n becomes arbitrarily small for arbi- trarily large n, any angle 8 can be repre- sented as a sum of &„: = ZR n e n n (Eq 10) where each R n is an integer, and \R n \ and also 8 > 0, which are not restrictions, since < 8 < 360 represents all possible angles. In base 2 we can specify R n = ±1 (never 0) provided we begin with a 90° initial rota- lion, and provided 180° < 8 < 180°. Rotating by 90 is, of course, trivial. These R n in base 2 have the following advantage: The scale factor cos(R n 8 n ) is independent of R n , so the product K = n(cos0„)-1 n = 1.64676 (Eq 13) which is the scale factor for the total 8 rota- tion, is a constant independent of R n and 8 . K depends only slightly on the number of bits in a word, which is the range of n in equation 13. In any base other than 2, K is a function of R n and we need to calculate K for each 8. Fortunately this calculation can be done also using only adds and shifts inside the loop and a square root outside the loop. To see this, write: K = n /; \Cos9 /7 R n(\/l + tan 2 (Eq 14) R &= 11(1 +6~2") " n 188 BY 1 1 Publications ln< Circle 222 on inquiry card. Multiplying by b~^ n is equivalent to a right shift by 2/7 places. This scheme for finding K works well for BB 1 because the square root can wait until outside the loop; but BB 2 is somewhat more difficult. In BB 2 we need to know K at each step of the loop in order to compare the current y with the desired / (unless it is 0). Except for the needed square root, we could use equations 14 to keep a correctly scaled version of the desired y to compare with the current y at each step. The need for a square root can be eliminated by step- ping through angles of 2d n . The correct factor for K therefore becomes (cosfl^) - 2. Rotating by 2d n at each step is twice as much work as rotating by 6 n , but any other scheme involves still more work. BB 2 takes about twice as much time in the loop as BB 1, but needs no square root. As pointed out by Walther (1971) and Rheinstein (1977), the CORDIC approach can also be used to calculate hyperbolic functions, and, from these, logarithmic and exponential functions. In my experience, however, the conventional approach using series expansions for logs and exponentials is almost always preferable. CORDIC techniques produce arbitrarily precise answers if the effective word length is arbitrarily long. If digits lost by shifting are rounded rather than truncated, then the precision will usually be no worse than ±2 or ±3 in the least significant digit, as discussed by Meggitt (1962). Test Programs in BASIC Listing 1 is a CORDIC version of BB 1 and BB 2 written in BASIC. The point of using BASIC is that this listing is simultane- ously an algorithm (or flowchart) and a test to verify that the algorithm works. The pro- gram in BASIC has no practical value, but should be translated into assembly language (or even hardware) to make useful sub- routines. Statements 10 thru 60 are initialization. B is the base of the computer's number sys- tem (a special version for B = 2 is discussed below). M is the number of digits in a word and also the number of places in the arc tangent radix representation of angles. The array A is 6 n (see equation 1 2). The value of A should be precalcuiated and assembled into the program as a permanent reference array. The D array is unnecessary in a work- ing program. Instead, think of D(J)* as an operator that produces a right shift by 2J digits. This is important because D(J)* is used not as a multiply, but as a shift in the loops. The units in this program are degrees. To 5 REM BBIj 8B2/ AND R->P 6 REM ADAPTED FROM RHEINSTEIN IN BYTE 2- 10 LET B = 10 20 LET M = 6 25 DIM A(M>. D(M) 30 FOR J = TO M 40 LET OCJ) = 8' C-2*J) SB LET A(J) ■ ATNCBt ( - J ) )* 180/3. 14159 60 NEAT J 8. 142 (AUGUST 1977) 7 PRINT "TrPE 1 FOR BBIj 80 INPUT 2 85 PRINT 90 IF Z » I GOTO 120 1 00 IF Z = 2 GOTO 300 1 05 IF H = 3 GOTO 500 I 10 GOTO 70 120 PRINT "TYPE X, Y. THETA 1 30 INPUT X, Y, T 1 32 IF T > = GOTO 135 I 33 LET T = T*360 1 34 GOTO 132 I 35 PRINT 1 55 LET K = 1 17 FOR J = TO M 175 LET Tl = T 1 80 LET T = T-A»»< 240 GOTO 175 250 LET T > Tl 255 LET Y ■ Y*B 2 63 NEXT J 2 6S LET K = SQR(K) 280 PRINT ••X 1 ' = "J X/K; "j Y 290 GOTO 70 2 FOR BB2, OR 3 FOR R->P 'i Y/K/8' <.n* I ) 300 PRINT 3 10 INPUT 3 IS PRINT 3 40 LET T 345 LET K 350 FOR J 370 LET 372 37 4 376 380 382 384 390 4 00 402 404 A 10 420 430 435 436 LET LET LET LET "TYPE X, 1, \ X. Y, Y3 ■ = Y3 ■ TO M • Y = X » Y*X = X-D(J)*Y : Y2+X2 LET Kl = K LET K = K*D(J)*K IF (Y-K)*(Y1-K1 ) <= GOTO 430 LET X ■ X2-DCJ)*Y2 IF X«X1 > GOTO 410 IF *X > GOTO 430 LET T = T+A(J)+A(J> GOTO 37 < Bt <-M* 1 ) DELTA Y ■ LET Y « YI LET X = Xl/B LET K ■ Kl 440 NEXT J 442 IF ABSCY/K-1 ) 443 PRINT "ERROR! 445 LET K = K/Y3 450 PRINT "X" = "t X/K*Bt(M+l)J 460 GOTO 70 500 PRINT "TYPE X. Y "t 5 10 INPUT X, Y 5 15 PRINT 5 40 LET T 545 LET K 550 FOR J 57 LET YI 580 LET Y = 590 IF Y»Y1 600 LET X = 610 LET T = 6 15 LET K » 620 GOTO 570 630 LET Y = Y1*B 6 40 NEXT J 645 LET K = SQRCK) 646 IF X > GOTO 650 6 47 LET X = -X 648 LET T = T+180 650 PRINT "R = "J X/KJ 660 GOTO 70 999 END GOTO 445 J CY/K- 1 )*Y3 1 TO M = Y = Y-X <= GOTO 630 X*D(J)*Y1 T+AP 6 REM ADAPTED FROM RHEINSTEIN Ifl BYTE 2-8. 8 REM BINARY VERSION. B = 2 12 LET K = 1.64676 23 LET M = 22 25 DIM A(M). DcM) 27 LET A<0> = 90 30 FOR J = I TO M 40 LET D( J> = 2i ( l-J) 50 LET A(J) = ATNfDU) >* 180/3. 1 41 59 68 NEXT J 70 PRINT "TYPE 1 FOR BB1. 2 FOR B32. OR 3 FOR R->P "I 8B INPUT Z 85 PRINT 90 IF Z = 1 GOTO 120 1 00 IF Z = 2 GOTO 300 1 05 IF Z = 3 GOTO 500 1 10 GOTO 70 120 PRINT "TYPE X, Y, THETA "J 1 30 INPUT X. Y. T 131 IF T- 180 < GOTO 134 132 LET T = T-360 1 33 GOTO 131 1 34 IF 1* 180 ' GOTO 137 1 35 LET T = T*360 1 3 6 GOTO 134 1 37 PRINT 17 8 FOR J = TO M 175 LET 1 = SGN(T) 17 6 LET 1 = I+1-ABSC1) 177 REM I = SGN(T) WON'T DO BECAUSE SGN(0) = 1 80 LET T = T-I*A(J) 2 10 LET Yl = Y 2 12 IF J > GOTO 220 2 13 LET Y = I*X 214 LET X " - I * Y 1 2 15 GOTO 260 220 LET Y = Y+I*D*X 230 LET X = X-I*U 373 LET I = 1 ♦ I -Abb ( I > 380 LET Yl = Y*I*D(J)*X 400 LET X = X-I*D(J)'*Y 402 LET Y - YI+I*D(J)*X 404 LET X = X-I*D(J)*Y1 410 LET T = T*I«CA(J)+A(J) ) 41S LET Kl = K1*D(J)*D(J)*K1 4 40 NEXT J 442 IF ABSCY/K1-I) < 2t(-M*3> GOTO 445 443 PRINT "ERROR! DELTA Y « "; CY/K1-1)*Y3 445 LET Kl = K1/Y3 450 PRINT "X' = "; X/KIJ ". THETA = " 1 T 460 GOTO 70 "J 500 PRINT "TYPE X. 510 INPUT X. Y S15 PRINT 540 LET T = 550 FOR J = TO M 570 LET Yl = Y 572 LET I = SGN(Y) 573 LET I » I-U-ABS(I) 57 4 IF J > GOTO 580 57 5 LET Y = -I*X 576 LET X = I*Y1 577 GOTO 610 580 LET Y = Y-I*D(J)*X 600 LET X = X+I*D(J>*Y1 610 LET T e T+I*ACJ> 6 40 NEXT J 650 PRINT "R = "J X/K> ". 660 GOTO 70 9 99 END PHI = "1 T Listing 2: A CORDIC version of Black Box 1, Black Box 2, and a rectangular to polar conversion routine written in BASIC for the binary number system. change to radians, drop the *180/3. 14159 in line 50 and replace 360 by 2tt in line 133 and 180 by it in line 648. Statements 70 thru 110 allow the opera- tor to select BB 1, BB 2, or R->P discussed below. BB 1 Statements 120 thru 290 are BB 1. The operator types X, Y, and THETA (alias T). Lines 132 thru 134 make T positive. This version can rotate only positively; negative angles are handled by going all the way around. Two nested loops are necessary, a J loop from lines 170 thru 260, which cor- responds to the n sum in equation 10, and an inner loop from 175 to 240, which rotates and also determines R n by the sub- traction in 180 and the test in 190. State- ments 210 thru 230 implement equation 1 for 6 = 6 n but with two twists: first, cos0 is ignored until outside the loops, as men- tioned above; second, the Y value is actually YBJ (see line 255). This eliminates a shift which would otherwise be in line 220. So we trade a multidigit shift in the inner loop for a single digit shift in the J loop (line 255) and a multidigit shift outside the loops (in the print statement 280). This idea is described by Egbert (1977). The inner loop also calculates K, as in equations 14. Line 235 is another shift and add (not a multiply) and the square root is outside the loop in line 265. Dividing by K in line 280 gives X' and Y' correctly scaled. Note that X, Y, and T are all written over. BB2 Statements 300 thru 460 are BB 2. The angle T starts from in line 340 and K is initialized to Y3 (the desired y) in line 345 rather than to unity as in line 155. The J loop extends from lines 350 thru 440 and the inner loop from lines 370 thru 420. Lines 370 thru 384 and lines 400 and 410 implement the double angle rotation de- scribed above. The trick of moving one of the shifts outside the inner loop, as de- scribed in BB 1, is used here also, but with the roles of X and Y interchanged (see line 435). The obscure part of this program is prob- ably the three IF statements (lines 390, 402, and 404) used to determine when to exit from the inner loop. Only one subtraction per cycle is needed in line 390 because the expression Y1-K1 for one cycle is the same as Y-K for the preceding cycle. The multiply is not needed. Instead, the point of 390 is 190 May 1979 © BYTE Publications Inc /TRS-80 owners! AVAILABLE FOR IMMEDIATE DELIVERY CASSETTE SOFTWARE DISKETTE Package # 1036 (Level II) $495.00 COMPLETE SMALL BUSINESS - This program is a complete small business program that was tailored to work for most small business applications. The program includes such things as Accounts Receivable, Accounts Payable, Invoicing, Inventory Control, Payroll and General Ledger. Package # 1038 (Level II) $ 99.95 ACCOUNTS RECEIVABLE Package # 1039 (Level II) $ 99.95 ACCOUNTS PAYABLE Package # 1044 (Level II) $125.00 INVENTORY CONTROL Package # 1045 (Level II) $ 99.95 INVOICING Package # 1046 (Level II) $ 99.95 PAYROLL Package # 1047 (Level II) $ 99.95 MAILING LIST Package #1024 (Level II, DISKETTE) $24.95 Includes the following: SPACEWAR I - BANNER - UFO ATTACK - PILE UP - BIORHYTHM - AUTO RACE and WORDS. Package #1026 (Level II, DISKETTE) $24.95 Includes the following: SPACEWAR II - CIVIL WAR - TRAP THE TRIBBLE - LIFE - KNIGHT - CONCENTRATION and LUNAR LANDER. EDUCATION OVER 150 EXCITING PROGRAMS * MORE EVERY DAY * ELECTRONICS MARKETING Also available for PET and APPLE. All SOFTWARE-80 programs are guaranteed. Programs available in Level I and Level II Basic. All of our business programs will operate with printer; custom programs also available. With certified check or money order, all orders shipped within 24 hours. Personal checks allow 2 weeks. Send for our complete catalogue. ===== SOFTWARE-80 — 18228 Cabrillo Court Fountain Valley, CA 92708 ALL PRICES AND PROGRAMS ARE SUBJECT TO CHANGE WITHOUT NOTICE Circle 321 on inquiry card. BYTE May TJ7 1 ) 191 to determine whether the sign of Y-K differs from the sign of Y1-K1 and, if so, to go to line 430. These signs differ only if the last rotation has carried past the proper stopping point. K and K1 in line 390 are the desired y scaled by the same factors as Y and Y1 . The subtractions would be meaningless if the scale factors were different. Even if the signs of Y-K and Y1-K1 in line 390 are the same, the rotation might still have carried past the proper stopping point. This occurs if Y1 -K1 is positive and X has changed from positive (XI) to negative, or if Y1-K1 is negative and X has changed from negative (XI) to positive. These two cases correspond to rotating through 90° or 270° and are tested for in lines 402 and 404. The multiplications in 402 and 404 again need not be done, and the subtraction in 404 has already been done in 390. An alter- native would be to perform the addition in line 41 and then test T. Statement 442 tests whether the desired y has been achieved. If not, the desired y is too large (\y'\ > R) and your reward is in 443. K needed to scale X' is calculated in line 445, this time without a square root. However, there is a problem: Y3 (the desired y) must not be 0. This version of BB I can- not work with the desired y ' = 0. R^P The special case y = in BB 2 is the very useful rectangular to polar (R-*P) coordinate converter. Although the preceding general purpose BB 2 will not handle y = 0, a spe- cial program for y - is actually easier and faster than BB 2. Statements 500 thru 660 are R^P. No new tricks are needed: R-*P is quite similar to BB 1. The IF statement in line 590 determines whether or not the sign of Y has changed. The reversed signs in lines 580 and 600 change the sign of the angle to give rather than d as the answer (see equa- tions 6). Statements 646 thru 648 are neces- sary because X can be negative. Figure 3: The side-angle-side problem in plane trigonometry (given a, b, C; find A, B, c) can be solved as follows: Call BB1 (b, 0, C; t7, \2) t7 and \2 are the rectangular coordinates corres- ponding to a vector of length b at an angle C (equation 2 in the text). Call R^P (a - t/, t2; c, Bj a - t7 and \2 are the rectangular coordinates corresponding to a vector of length c at an angle B. Base 2 is Special A binary version with R n = ±1, as shown in listing 2, allows some simplifications but also presents some problems. For BB 1 and R^P, K is the constant in line 12. With no inner loop, just a J loop, no advantage comes from shifting only X or only Y. So D(J)* is an operator causing a right shift by J-1 bits. This binary version of BB 1 can rotate either positively or negatively, but only up to 180°; hence the reason for lines 131 thru 136. I is the direction to rotate and is equal to the sign of T (see line 175); so multiply- ing by I in lines 180, 213, 214, 220, and 230 is really just selecting whether to add or sub- tract. The special case for J = in lines 213 through 215 is a preliminary 90° rotation, as mentioned above. In BB 2, J can start at 1 rather than (line 350) because each rotation step is double the normal angle. The direction to rotate is positive if K1-Y has the same sign as X and negative if these signs differ (see line 372). As before, K1 is the desired y with the same scale factor as Y. Most of the rest of this program is the same as the previous version in listing 1 . Examples This section contains two examples of problems solved using BB 1 and BB 2. I use the following notation: Call BB 1 [x,y,6;x',y') Call BB2 (x,y,y';x',e) Call R->P (x,y; R, 0) (Eq 15) In each case above, the given quantities pre- cede and the answers follow the semicolon (see figure 2). When using the actual pro- grams, remember that the given quantities often are written over. Consider first a plane triangle. Given two sides and the included angle, find the other side and two angles (see figure 3). This prob- lem is known as SAS for side-angle-side: A, B, and C are angles; a, b, and c are the oppo- A= 180'- B- C the sum of the interior angles of a triangle is 180°. 192 May 1979 © BYTE Publications Inc Le; ak; ■ " Progi —— — — Payroll with Cost Accounting #09-8 $15.00 Accounts Payable and Accounts Receivable #13-6 $15.00 General Ledger #20-9 $15.00 These books feature complete, quality applications software for small-to-medium sized businesses. Each book includes fully documented program listings, sample printed reports, installation instructions and user's manual. Written in an extended Wang BASIC (write to ask us about our CP/M CBAS1C version and other conversions). Volume - The Beginner's Book Volume I — Basic Concepts Some Common BASIC Programs #06-3 $8.50t 76 short practical programs, most of which can be used on any microcomputer with any version of BASIC. Complete with program descriptions, listings, remarks and examples. 200 pages. #06-3 $8.50t MEW PET Cassette All 76 programs from Some Common BASIC Programs are now reprogrammed ready to run on the Commodore PET. Available on cassette only. The book is necessary for program documentation and user instructions. #25-X $10.00 1 8080A185 Assembly Language Programming 6800 Assembly Language Programming Z80 Assembly Language Programming | 6502 Assembly Language Programming | 8080 Programming For Logic Design 6800 Programming For Logic Design | Z80 Programming For Logic Design" PAYROLL WITH COST ACCOUNTING Accounts Payable and Accounts Receivable General Ledger 8080A/8085 Assembly Language Programming #10-1 $8.50t 6800 Assembly Language Programming #12-8 $8.50t MEW Z80 Assembly Language Programming #21-7 $9.50 c0!v \\MG 6502 Assembly Language Programming These books describe how to program a microcomputer using assembly language. They discuss classical programming techniques, and contain simplified program- ming examples relevant to today's microcomputer applications. 400 pages each. Volume - The Beginner's Book If you're not familiar with computers, but would like to be, then this is the book for you. Computer logic and terminology are introduced in a language the begin- ner can understand. Computer software, hardware and component parts are de- scribed, and simple explanations given for how they work. Text is supplemented with creative illustrations and numerous photographs. 300 pages. #08-X $7.95 Volume 1 - Basic Concepts A must for anyone in the computer field, this best selling text explains hardware and programming concepts common to all microprocessors. Its universal appeal is reflected by its having the greatest yearly sales volume of any computer text. 350 pages. #02-2 $8.50t Volume 2 - Some Real Microprocessors* Provides objective, commercial-free descriptions of virtually every microprocessor on the market today. Lets you know what's available, how they work (or sometimes don't work), and how to use them. More detailed user/designer information than provided by most manufacturers. #04-7 $8.50t #05-5 $8.50t #11-X $8.50t 8080 Programming for Logic Design 6800 Programming for Logic Design Z80 Programming for Logic Design These books describe the meeting ground of programmers and logic designers; written for both, they provide detailed examples to illustrate effective usage of microprocessors in traditional digital applications. 300 pages each. Volume 3 - Some Real Support Devices* Same objective, in-depth coverage as Volume 2, but applied to support devices that might be used in any microprocessor system: memory, data communication devices, data converters, direct memory access controllers, busses, and much more. *Volume 2 and Volume 3 Updates To cope with the rapid evolution of microprocessor products. Volumes 2 and 3 have their own series of six bimonthly updates, allowing you to remain current with all parts as soon as they are really available. Update subscriptions sold sepa- rately. Volume 2, 1400 pgs. loose leaf #15-2 $25.00 Volume 2 binder #16-0 $ 5.00 Volume 3, 700 pgs, loose leaf #18-7 $15.00 Volume 3 binder #19-5 $ 5.00 Volume 2 update only $25.00/yr. Volume 3 update only $25.00/yr. Volume 2 and 3 updates $40.00/yr. t As of July 1, 1979 all $8.50 book prices increase to $9.50. If ordering after July I, 1979 please use $9.50 price, ooooooooooooooooooooooooooooooooooooooooooooo I ' . . ! oooooooooooooooo OSBORNE & ASSOCIATES, INC. 630 Bancroft Way, Dept. 120 Berkeley, CA 94710 (415) 548-2805 TWX 910-366-7277 Book /Cassette Price Quantity .STATE. PHONE SHIPPING (Shipping for large orders to be arranged) Vol. 2 and Vol. 3 update subscriptions: □ $4.00 foreign air mail shipping per update subscription a No charge in the U.S. - 4th class mail ONLY Books & Binders: a All foreign orders $4.00 per book for airmail □ $0.45 per item 4th class (allow 3-4 weeks in the U.S.) a $0.75 per item UPS in the U.S. (allow 10 days) a $1.50 per item special rush shipment by air in the U.S. Calif, residents add 6% sales lax. S.F. BART residents add 6-1/2 % sales tax. No tax on update subscriptions. Subtotal California residents tax Updates: Payment in advance must be enclosed for purchases of up to $70.00. Invoicing U.S. purchases over $70.00 available upon approval of your account. All foreign orders must be prepaid in U.S. dollars drawn on a U.S. bank. Shipping TOTAL AMOUNT ENCLOSED Cassettes: □ No additional charge in the a $1.50 each foreign air mail Please send the following information: U.S. □ Becoming an O&A dealer d School discounts □ List of foreign distributors a Current catalog a CP/M CBAS1C business programs Circle 292 on inquiry card. BYTE May 1979 193 site sides. Given a, b, C; find A, B, c. The solution can be written as: Call BB 1 (b,0,C;f\,t2) Call Rr+P{a-f\,t2;c, B) A =180° -B- C (Eq 16) The ts are intermediate answers. As a test case: a = 50, b = 70.71, C = 105°; get A = 30°, B = 45°, and c = 96.59. This test case is in listing 3. The derivation of this algorithm is left as an exercise for the reader; start from the equations in any trigonometry book. As a somewhat more difficult example, consider the problem Voider (1959) origi- nally solved: given the latitudes and longi- tudes of two points on the earth, find the great circle distance between them and the initial heading. This problem comes up, for example, in long-distance ham radio in deter- mining where to point the antenna beam. Given the longitude X-| (west longitudes are +) and latitude 0-| (north latitudes are +) of station 1 (home) and the longitude X 2 ar| d latitude $2 of station 2, the algorithm below calculates A, the initial heading or pointing angle (north reference clockwise azimuth) RUN TYPE I FOR BBl, 2 FOR 8B2. OR 3 FOR R->P ? 1 TYPE X, Y, THETA ? 70.71? 0? 105 X 1 = -18.3009 , V = 68.3011 TYPE 1 FOR BB1. 2 FOR BB2, OR 3 FOR R->P ? 3 TYPE X, Y ? 68.3009? 68.3011 R = 96.5922 , PHI = 45.0001 TYPE 1 FOR BBl. 2 FOR BB2, OR 3 FOR R->P ? STOP 6 80 PRINT 180-45.0001-105 29.9999 from station 1 toward station 2, and D, the great circle distance between stations. Call BB1 (1,0,

\ = 42.367° (Boston), X 2 = 70.667°, 2 = -33.417° (Santiago de Chile on the west coast of South America); get A = 179.7° (slightly east of south) and D = 5237 statute miles. This test case is shown in listing 4. The derivation of this algorithm is also left as an exercise for the reader. [As a hint: two approaches are possible. One approach begins with figure 6 in Smart (1962) and uses spherical trigonometry. Another ap- proach, mentioned by Voider (1959), uses rotation matrices and views the problem in terms of coordinate transformations. Calcu- lator algorithms for this and some similar problems are in Ball (1978), appendix A.7.]" REFERENCES Listing 3: Test case solution to a side angle side triangle problem. PRINT 7 RUN TYPE 1 TYPE X, X' = • TYPE 1 TYPE X, X- = . TYPE 1 TYPE X. X' = . TYPE 1 TYPE X, R = .9 TYPE 1 TYPE X. R = TYPE STOP PRINT 7 1.05-70. 667 .383 1 FOR 8B1, 2 FOR BB2, OR 3 FOR R->P ? I Y, THETA ? 1? 0? -33.417 834679 • Y' = -.SS0739 FOR BB1. 2 FOR BB2, OR 3 FOR R->P ? 1 Y. THETA ? .834679? 0? .383 83466 < Y 1 = 5.57898E-3 FOR BBl. 2 FOR BB2, OR 3 FOR R->P ? 1 Y. THETA ? .83466? -.550739? -42.367 245545 . Y 1 = -.969374 FOR BBl, 2 FOR BB2. OR 3 FOR R->P ? 3 Y ? -.969374? 5.S7898E-3 6939 » PHI = 179.67 FOR BBl. 2 FOR BB2. OR 3 FOR R->P ? 3 Y ? .245S45? .96939 « PHI = 75.7858 FOR BBl, 2 FOR BB2, OR 3 FOR R->P ? 80 5.7856*69. 1 5236.8 Listing 4: A test case for the algorithm that gives great circle distance and heading between points on the earth. 1. Ball, J A, "Pointing and Range on a Pocket Calculator," Ham Radio Magazine, February 1978, page 40. 2. Ball, J A, Algorithms for RPN Calculators, John Wiley Co, 1978. 3. Cochran, D S, "Algorithms and Accuracy in the HP-35," Hewlett-Packard Journal, June 1972, page 10. 4. Egbert W E, "Personal Calculator Algorithms II: Trigonometric Functions," Hewlett-Packard Journal, June 1977, page 1 7. 5. Meggitt, J E, "Pseudo Division and Pseudo Multiplication Processes," IBM Journal, April 1962, page 210. 6. Rheinstein, J, "Simple Algorithms for Calcu- lating Elementary Functions," BYTE, August 1977, page 142. 7. Smart, W M, Textbook on Spherical Astron- omy, 5th Edition, Cambridge University Press, England, 1962. 8. Voider, J E, "The CORDIC Trigonometric Computing Technique," IRE Transactions on Electronic Computers, September 1 959, page 330. 9. Walther, J S, "A Unified Algorithm for Elemen- tary Functions," Proceedings, Spring Joint Computer Conference, 1971, page 379. 194 May 1979 © BYTE Publications Inc "HOT" NEW BOOKS FOR MICRO-COMPUTER PROS! The latest in microcomputer books that people waited in line to buy! Now available by mail for the first time. „..w™.'~" --- •-" How to Buy & Use Minicomputers & Microcomputers By W. Barden, Jr. Explores the basics; covers hardware, software, peripheral devices, programming languages & techniques; use for fun or profit! 240 pgs. #27357 . . . $9.95 Microcomputer Primer By M. Waite & M. Pardee Explains it all: central processing unit, mem- ory, input/output interfaces, programs. Dis- cusses well-known models & shows how to program your own. 224 pgs. #21404. ..$7.95 Basic Primer ByM. Waite & M.Pardee Covers BASIC fundamentals, program con- trol, organization, functions & variations. With a game program & data on numbering sys- tems & ASCII character codes. 192 pgs. #27586 . . . $8.95 How to Program Microcomputers By W. Barden, Jr. Examines assembly-language programming of 8080, MC6800 & MCS6502 models. Ex- plains concepts, operation & architecture. With precanned operations. 256 pgs. #27459 . . . $8.95 Fundamentals of Digital Computers (2nd Ed.) By D. Spencer Explains computers, programming, hard- ware, BASIC, FORTRAN & COBOL lan- guages, advanced concepts & computer center operation. 320 pgs. #27534 . . . $9.95. The 8080A Bugbook : Microcomputer Interfacing and Programming By Rony, Larsen & Titus Emphasizes the computer as a controller. Covers principals & 4 basic tasks of computer interfacing. BUGBOOK® is a registered trademark of E&L Instruments, Inc., Derby, Conn. 06418. 416 pgs. #27447. . . $70.50 Circle 332 on inquiry card. DBUG: An 8080 Interpretive Debugger By C. Titus & J. Titus How to use DBUG (a software debugging package) to develop & test programs. With documented hexadecimal & octal listings. 112 pgs. #27536 . . . $4.95 Introductory Experiments in Digital Electronics and 8080A Microcomputer Programming and Interfacing By Rony, Larsen & Titus Covers basic gates thru microcomputer inter- rupts, with hardware & software examples. Experiments re: breadboarding, circuits, etc. over 416 pgs. each. Book 1: #27550 .. . $72.95. Book 2: #27557 . . . $70.95. Both: #27552 ... $20.95 NCR Data Communications Concepts By NCR Corp. Explores concepts, techniques & limitations of data communications: telephone-based & others. 208 pgs. #27548 . . . $6.95 NCR Data Processing Concepts Course By NCR Corp. Intro to data processing, computers & digital logic. Covers input/output devices, memories, control. 256 pgs. #27547 . . . $7.95 Understanding CMOS Integrated Circuits (2nd Ed.) By R. Melen & H. Garland Begins with basic digital ICs; covers semiconductor physics, CMOS fabrication technology & design, & advanced CMOS ap- plications. 144 pgs. #21598 . . . $5.95 Transistor-Transistor Logic (2nd Ed.) By G. Flynn Discusses digital logic & different types of logic circuits used in the TTL functional class. With block diagrams, schematics, logic truth tables. 288 pgs. #27572 . . . $6.95 SAVE 10% when you order 3 or more! Examine any book(s) at NO RISK for 15 Days! Clip Out-Mail Today! YES — Please send me the book(s) indi- cated below. If I'm not completely satisfied, I may return any or all within 15 days of receipt for full credit or refund. Add sales tax where applicable. Q 21534 Q 21552 □ 21447 □ 21548 □ 21536 □ 21547 □ 21550 □ 21598 □ 21551 □ 21572 □ I have checked 3 or more titles and de- ducted my 10% savings. D 21351 □ 21404 □ 21586 □ 21459 Name I I I I I I I I I I I (Please Print) Address -Total: $_ State Zip Code □ Check □ Money Order □ Master Charge □ Visa/BankAmericard Exp. Date Account No. : Interbank No.: (Master Charge only) Signature: _ Minmum credit card purchase: $10.00 MY 53 MAIL TO: Howard W. Sams & Co., Inc. 4300 W. 62nd St. Indianapolis, IN 46206 Prices subject to change 6 months after issue date. BYTE May 1979 195 Tic-Tac-Toe: A Programming Exercise Delmer D Hinrichs 2116 SE 377th Av Washougal WA 98671 Computer and calculator games serve at least four useful functions: • Developing logic and mathematical skills. • Demonstrating programming methods. • Demonstrating operation of the com- puter. • Providing entertainment Keeping these possibilities in mind, let us examine the problem of developing a pro- gram to enable the computerto play tic-tac- toe with the user. The game of tic-tac-toe at first appears to be a trivial game. New players quickly learn that a game played rationally by both sides must end in a draw. But being un- beatable does not mean you have mastered the game. The skilled player sets traps in the form of forks so that there are two ways to complete a row of three, only one of which can be blocked by the opponent. There are 1 5,1 20 different sequences for the first five moves alone, counting rotations and reflections, but these may be reduced to a manageable number of possibilities. There are only three basic opening moves: center, side, and corner. The corner opening is strongest; only by taking the center can the second player avoid an immediate trap. With a side opening or with a center opening, the second player has four choices to avoid an immediate trap. For the side opening game, these safe choices are the three adjacent cells or the opposite side. For the center opening game, the safe choices are the four corners. There are a number of tic-tac-toe pro- grams already available, so why write an- other one? Many of these programs play a very passive game, and some even allow the user to win. If the user can win, it follows that the computer response was a mistake. Actually, the computer response may be a mistake even if it does not allow a user win (it may fail to take advantage of an oppor- tunity to set a trap). I have designed an ag- gressive program that allows no user wins, and that takes every possible opportunity to set a trap. The user has to play a perfect game to get even a draw. System Considerations It is assumed that either a printer or a video terminal is to be used for input and output. The user's responses to program questions may be entered as Y or N (for yes or no), and user moves during the game may be entered as single digits 1 thru 9. Each digit represents one of the nine cells of the playing board (see figure 1a). The printer or video terminal allows a 2-D display of the tic-tac-toe playing board, including the posi- tions of all computer and user moves. Program Planning There are several possible ways of pro- gramming a tic-tac-toe game. One way is to identify all possible board configurations (as is done in the game of Hexapawn) and then to make the proper response for each configuration. For tic-tac-toe, this would involve an unreasonable number of possibili- ties. Another approach is to check the center cell, take it if it has not been taken, and otherwise take a corner cell, etc. This leads to a passive and irrational game. The algorithm used in my program is as follows: 1. Randomly select a center, side, or corner opening move. 2. Check the user's response to be sure it is a legal move before entering it onto the board. 3. Based upon the user's response, select a sequence of forcing moves so that the user must next make a predeter- mined move or lose the game. 4. If possible, set a trap (fork). 5. For variety, randomly select alternate strategies for setting traps. 6. After either a computer win or a draw game, print an appropriate message (remember that it is not possible for the user to win). 196 May 1979 © BYTE Publications Inc Circle 3 on inquiry card. Circle 313 on inquiry card. TRS-80 LEVEL II AND DOS GENERAL SUBROUTINE FACILITIES GSF' Collection of last 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 DSP.' SORT/MERGE multi-diskette files. Fast and easy to use. MULTIPLE variables and keys. User input/output sort exits. Includes GSF machine language in-memory sort. etc. 32 or 48K. 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 ol program from tape. COPY SYSTEM TAPES WITH COPSYS' COPY and VERIFY machine language object tapes. MERGE object tapes to form single load module. MICROCOMPUTER CASSETTES C-20Y SPECIAL formulation optimized for microcomputers. Extremely broad FREQUENCY response. Clean recordings. Exceptional DENSITY characteristics. Broad range. Consistency. Deale r Inquiries Invite d REMODEL Order TS21 Dat REMOOEL + PROLOAD Order TS22Dat S34.95 GENERAL SUBROUTINE FACILITIES Order TS25Daf S24.95 DISK SORT PROGRAM Order TS26Dal S34.95 Must specify 16. 32. or 48K on above. System house discounts. COPSYS [Not DOS] Order TS24ual S14.95 For TAPES that TEST best Order 10 ea at S14.95 User Manuals S3. 00 refundable on program purchase. F- n.pr T -3 Check. VISA. M/C. C.O.D. ^-HALtl COMPUTES"^ calif, residents add 5% 702 Palmdale, Orange CA 92665 [714] 637-5016 READY-TO-RUN SOFTWARE FOR YOUR NORTH STAR COMPUTER NEW! LANGUAGE TRANSLATOR PKG. $60.00 ENGLISH TO JAPANESE - Teaches rudimentary conversational Japanese - easy to use, easy to learn. TUTORIAL III $40.00 Release version 4, covers many new commands plus customizing program for BASIC. INTEGRATED BUSINESS SYSTEM $175.00 Designed for dual floppy drive system - contains A/P; A/R; Pay; Gen. Ledger; Letter Generator; Bus Stat; Inventory; Sales/Sales Analysis. MEDICAL/PROFESSIONAL BILLING $35.00 Doctors, Lawyers and Dentists - use this to issue statements, track receivables, age accounts, etc. MAILING LABEL PROGRAM $35.00 Lots of help for your direct mail program. Add, delete, maintain mailing list and print labels. ALL SOFTWARE PACKAGES ARE WRITTEN IN BASIC ON DISKETTE ONLY Send for Free Catalog Packages containing Program Listings only are available. QEJ (714)774-1270 i m AJA SOFTWARE P.O. Box 2528 • Orange, CA 92669 /To further improve service to our customers we have installed a toll-free WATS line in our ^Peterborough, New Hampshire office. If you would .like to order a ^subscription to\ % BYTE, or if Toll-free i BYTEs New Subscriber W.A.T.S. Line (800)258-5485 We thank you and look forward to serving you. ^XXSLSLSLSLSLSLSLSULSJLSLSlSLSULSlSl^^ I you have a question relat- ed to a BYTE subscription you are invited to call (800)258-5485 between 8:00 AM and 4:30 PM Eastern Time. (Friday 8 AM -Noon) * Calls from conti nental U.S. only, yf o 9178° SJULSULSmSUO JJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIllllllllll Minima 1 T.D.Q. I 1 TAPE DATA QUERY I PET-8 K SOL-IIA TRS-80-LEVEL II 1 1 *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 | | 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 ACCOUNTS RECEIVABLE ACCOUNTS PAYABLE ORDER PROCESSING CUSTOMER DIRECTORY APPOINTMENT SCHEDULING $35.00 $35.00 $35.00 $35.00 $25.00 $25.00 EACH WITH CASSETTE AND MANUAL SEND SELF-ADDRESSED STAMPED ENVELOPE FOR COMPLETE SOFTWARE CA TALOCUE. 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) ? iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii; Circle 142 on inquiry card. byte May 1979 197 There are a number of special cases that complicate things. The program must cor- rectly handler// possibilities. Implementation The program first checks to see if the operator needs instructions for playing the game. If so, they are printed out, including a Listing 1 : Tic-tac-toe program written in BASIC. tic-tac-toe board with the number of each cell indicated. Note that the board array (B), which holds the contents of all nine board cells, is not a string array; instead, the num- ber which corresponds to the desired ASCII character is stored and then converted to an ASCII character at board display time. Program initialization is necessary to in- sure that the first and all subsequent games start off correctly. The initial computer move is selected by using the RND function, Text continued on page 202 10 20 30 40 50 60 70 80 85 90 100 110 120 130 *** RATIONAL TIC-TAC-TOE ***' ! A PROGRAM BY D D HINRICHS IN TDL 8 K BASIC APRIL 1977 'DO YOU WANT INSTRUCTIONS (Y OR N) " ; "N" THEN 230 : REM A$ SKIP INSTRUCTIONS REM SET EACH BOARD CELL TO ITS NO. PRINT REM REM REM PRINT INPUT ' IFA$ = N = 48 FOR I = 1 TO 9 B(I) =N + I NEXT I PRINT PRINT "THIS PROGRAM PLAYS AN AGGRESSIVE GAME OF TIC-TAC-TOE. IF" PRINT "YOU MAKE ANY MISTAKE, THE COMPUTER WILL WIN. IF YOU PLAY" 140 PRINT "A PERFECT GAME, YOU WILL GET A DRAW. THE PLAYING BOARD IS" 145 PRINT "DISPLAYED AS FOLLOWS:" 150 GOSUB 1780 : REM DISPLAY PLAYING BOARD 160 PRINT 170 PRINT "TO MAKE YOUR MOVE, ENTER THE DIGIT (1 - 9) THAT REPRESENTS" 180 PRINT "THE BOARD CELL YOU WISH TO OCCUPY, THEN ENTER A CARRIAGE" 190 PRINT "RETURN. THE COMPUTER WILL THEN CALCULATE ITS RESPONSE AND" DISPLAY THE UPDATED BOARD. AT THE START, THE COMPUTER WILL"- RANDOMLY CHOOSE A CENTER, CORNER, OR SIDE OPENING MOVE." 195 PRINT 200 PRINT 205 PRINT 210 PRINT "COMPUTER MOVES ARE: 220 PRINT "YOUR MOVES ARE: 230 F = RND(-l) 250 DATA 4,6,8,2,3,7,0,9,0,0, 7,3,1,4,9,3,7,6,9,4 260 DATA 2,8,6,4,1,9,0,7,0,0, 1,9,3,7,2,7,3,8,9,2 270 DATA 9,1,8,2,7,3,7,1,2,9, 8,2,1,9,6,4,0,3,0,0 280 DATA 9,1,6,3,4,1,9,7,4,3, 6,4,2,8,7,3,0,1,0,0 290 DATA 5,8,7,3,6,4,0,9,0,0, 5,8,6,4,1,9,0,7,0,0 300 DATA 1,3,5,9,8,5,8,3,1,7, 1,3,7,4,6,0,9,0,8,0 X" O" 310 DATA 3,1,5,7,8,5,8,3,1,7, 320 DATA 1,5,7,4,6,3,6,5,7,4, 330 DATA 4,7,5,6,9,5,9,7,4,3, 340 DATA 5,9,2,8,3,3,2,9,5,6, 350 DATA 2,3,5,8,9,9,5,3,2,6, 360 DATA 7,4,3,5,2,3,2,7,4,5 440 REM 450 REM ENTRY POINT TO INITIALIZE FOR A NEW GAME 1,3,5,8,9,0,0,0,0,0 3,1,5,8,7,0,0,0,0,0 9,5,7,8,4,7,4,9,5,8 5,9,3,2,7,2,3,5,8,9 3,2,5,9,7,7,4,5,3,9 455 RESTORE 460 E = 465 F = INT(RND(1)*2) 470 G = 1 475 H = 480 Cl= 10 490 C2= 10 500 N = 510 FOR I = 1 TO 9 520 B(I) = 32 530 NEXT I 550 REM INITIAL COMPUTER MOVE IS 570 C = INT(RND(1)*3) 580 IF C = THEN C = 5 590 U= 10-C 600 GOSUB 2100 630 IFC = 5THEN 1720 640 IFC = 2 THEN 1320 650 IF U = 5 THEN 940 670 R= 10*U+ 140 680 IF U > 5 THEN R = R - 10 700 E = 1 720 IF F = 1 THEN R = R + 5 740 F = 1 : REM 742 IF R = GOTO 770 745 FOR I = 1 TO R 750 READC : REM 760 NEXT I REM RESET DATA POINTER TO START REM SET FLAG TO OR 1 : REM SET BOARD CELLS TO BLANKS OR 2 (0 THEN CHANGED TO 5) REM SELECT INITIAL MOVE REM CENTER OPENING GAME REM PUT COMPUTER MOVE IN CELL, REM DISPLAY BOARD, ACCEPT 1ST USER MOVE REM CENTER OPENING GAME REM SIDE OPENING GAME REM CORNER GAME, 1ST USER MOVE 5 REM FIND RESPONSES FOR CORNER GAME REM REENTRY POINT FOR 5-UNIT RESPONSES REENTRY POINT FOR 7-UNIT RESPONSES INCREMENT DATA POINTER TO 1ST RESPONSE Listing 7 continued on page 200 198 May 1979 © BYTE Publications Inc Circle 31 on inquiry card. BUSINESS APPLICATION SOFTWARE ACCOUNTS PAYABLE ACCOUNTS RECEIVABLE GENERAL LEDGER . COMPATIBLE MODULES . ALSO INDEPENDENTLY INSTALLABLE PROGRAMS IN EACH MODULE ALLOW: All File Maintenance Utility File Listing Individual Account Incjuirins Original-Journal* Automatic Master F.le updating A/B ; CUSTOMER STATEMENTS AGEING 8. TRIAL BALANCE SALES/ C/R JOURNALS A/P : CHECK WRITING AGEING 6. TRIAL BALANCE ACCT. = VERIFICATION G/L : DETAIL HISTORY INQUIRY TRIAL BALANCE P8-L & BALANCE SHEET BUSINESS APPLICATION SOFTWARE Programs on AR, AP, GL ■CP'M CBASIC Co"' NAME A/R $1000 n S55 00 I I S90 00 I S3D0 00 COD c S10 00 $55.00 l I 590 00 I ■ , CA 95030 $ 19.00 ' 160.00 I 250.00 I .:..■ f. Ol> code Circle 32 on inquiry card 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 2k- 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 Announcing . . . SMALL BUSINESS COMPUTERS Magazine The magazine for users and potential users of small business computer products and services • Thy monthly magazine for businessmen in the process of purchasing or installing their first com- puters • The practical how to publication written in non technical language and stressing business applica lions for small computer systems. Each monthly issue includes: FEATURE SURVEY REPORTS: Such as. Software Packages lor Small Business App/icafions, Small Manufacturing Systems. Inuentory Control Sysfems. Microcomputer Business Appliactions, and so on APPLICATION STORIES: Real life examples of computer applications in the small business en vironment capabilities, benefits, what to watch for, and much more of direct interest to the small businessman COMPUTER PROFILES • IDEAS AND INNOVATIONS • INFORMATIVE ADS SPECIAL CHARTER SUBSCRIPTION 12 issues (» 50% off Receive the next 12 issues of Small Business Computer Magazine for just $9 SCnoffthe cover price Mail the coupon today to: SMALL BUSINESS COMPUTERS Magazine 33 Watchung Plaza • Montclair. NJ 07042 SMALL BUSINESS COMPUTERS Magazine • 33 Walchung Plaza • Montclair, NJ 07042 □ YES Enter my charter subscription at the ' ,. price cost of $9 for 12 monthly issues. D Check enclosed. □ Bill me. Name Organization . Address City/Stale Circle 82 on inquiry card. -Zip. ED SMITH'S SOFTWARE WORKS ANNOUNCES MMMM,® AN M6800 SYSTEM RELOCATABLE RECURSIVE MACROASSEMBLER & LINKING LOADER ATTENTION ALL PROGRAMMERS: if you have been looking for an assembler with real macro capabilities, then 11IB1EA® is the one for you. Character replacement is the crux of macro expansion. JSSMAE allows unlimited character replacement in any field of a macro model statement. JSBlMIASS's argument notation can specify replace- ment from any field, subfleld, sublist or substring of the macro call statement. 3slSlM!A(S's set of macro directions supports both global and local set symbols. Set symbols can be based on either arithmetic expressions or character expressions. Macro model statements can determine attributes of set symbols or macro arguments. 3EEIHSA© allows macros to define new macros and to call other macros. Macro calls can be recursive, that is, a macro may call itself. ElKUSSA© contains a mini co-resident editor, allows spooling if desired, supports insert files, retains TSC Text Editor source code compatibility, plus many other programmer convenience features. BUEBEA63 can be furnished on cassette or mini-floppy in either SSB or Mini-Flex format. Comes complete with linking loader, Instruc- tion Manual/Programmers Guide Se an extensively commented assembly listing. M68RR . . . .cassette . . . .$150.00 M68RR-D ... SSB disc . . . 8160.00 M68RR-F . .FLEX disc . .J180.00 A 6800 to 6809 cross assembler version of ®3ES3A(B will be available In June. Order directly by check or MC/Visa. California residents add 6% sales tax. Customers outside of U.S. or Canada add $5 for air postage & handling. Dealer inquiries welcome. Ed Smith' s SOFTWARE WORKS P.O. Box 339, Redondo Beach, CA 90277, (213) 373-3360 Circle 327 on inquiry card. BYTE May 1979 199 Listing 7 continued from page 198: 770 REM REENTRY POINT FOR LOOP TO SELECT COMPUTER RESPONSES 780 F = F - 1 790 800 810 820 830 840 850 860 870 880 890 900 910 920 930 940 950 960 970 F = F*F READC C2 = C 1 C1 = C N = N + 1 IF C = OR C = U THEN 770 B(C) = 88 IF C2 = OR C = H THEN 1 160 IF F = 1 THEN 2070 IF E = THEN 900 IF N = 5 THEN 2070 GOSUB 1780 : REM GOSUB 1980 : REM GOTO 770 : REM REM REM CORNER OPENING GAME, FIRST USER MOVE WAS 5 REM FLIP FLAG (0 TO 1 OR 1 TO 0) REM SELECT COMPUTER RESPONSE FROM LIBRARY REM UPDATE PREVIOUS COMPUTER RESPONSE REM INCREMENT RESPONSE NO. REM IF SPACER OR MATCH, TRY AGAIN REM PUT COMPUTER MOVE IN CELL : REM DRAW GAME : REM COMPUTER WINS : REM COMPUTER WINS DISPLAY UPDATED BOARD ACCEPT NEXT USER MOVE LOOP TO SELECT NEXT RESPONSE U = 1 GOSUB 2100 IF U = 3 OR U = 7 THEN 1220 980 IF U = 4 OR U = 8 THEN G = 990 GOSUB 2100 REM PUT COMPUTER MOVE (9) IN CELL, REM DISPLAY BOARD, ACCEPT 2ND USER MOVE REM SECOND USER MOVE IS 3 OR 7 REM SECOND USER MOVE IS 4 OR 8 REM CALC RESPONSE, DISPLAY, 3RD MOVE 1030 C = 7 1040 IF G = THEN C = 3 1050 IF C <> U THEN 2060 1060 GOSUB 2100 1090 IFG = 0THEN 1130 1095 C = 2 1100 IFB(2) <>32THENC = 6 1110 IFB(C) = 32THEN2060 1120 GOTO 1150 1130 C = 4 1135 IF B(4) <> 32 THEN C = 8 1140 IF B(C) = 32 THEN 2060 1150 C= 10 -U 1155 B(C) = 88 1160 GOSUB 1780 1163 PRINT "CONGRATULATIONS - YOU GOT A DRAW THAT GAME" 'DO YOU WANT TO PLAY ANOTHER GAME (Y OR N)"; A$ "Y" THEN 450 ; REM GO TO START NEW GAME : REM SET UP TRIAL COMPUTER MOVES : REM TRIAL CORRECT, COMPUTER WINS REM OTHERWISE, CALC RESPONSE, DISPLAY, 4TH MOVE REM SET UP TRIAL COMPUTER MOVES REM TRIAL CORRECT, COMPUTER WINS REM SET UP TRIAL COMPUTER MOVES REM TRIAL CORRECT, COMPUTER WINS REM CALC FINAL MOVE FOR DRAW GAME REM PUT COMPUTER MOVE IN CELL REM DISPLAY BOARD FOR DRAW GAME "SO LONG UNTIL NEXT TIME THEN' 1167 PRINT 1170 INPUT ' 1180 IFA$ = 1190 PRINT 1195 PRINT ' 1200 STOP 1210 REM CORNER OPENING GAME, 1ST USER MOVE 5, 2ND USER MOVE 3 OR 7 CO = 2 : REM SET UP TRIAL COMPUTER MOVES REM CALC RESPONSE, DISPLAY, ACCEPT 3RD USER MOVE 1220 1230 1240 1250 IF U = 3 THEN CO = 4 GOSUB 2100 C = C0 1260 IF U = C THEN C = C + 4 1270 GOTO 2060 1310 REM 1320 REM SIDE OPENING GAME REENTRY POINT : REM ADJUST TRIAL COMPUTER MOVES REM COMPUTER WINS WITH ADJUSTED TRIAL MOVE 1330 IF U = 8 THEN 1420 : REM 1340 R= 10 *U + 60 : REM 1350 IF U = 1 THEN R = 80 1360 IF INT(U/2) = U/2 THEN 700 1370 IF U > 6 THEN E = 1 GOTO 740 REM REM SIDE OPENING GAME, FIRST USER MOVE IS 8 SKIP IF FIRST USER MOVE IS 8 FIND RESPONSES FOR SIDE GAME REM RETURN TO SELECT RESPONSES 1380 1400 1410 1420 1430 1440 REM RETURN TO SELECT RESPONSES COMPUTER RESPONSE IS 9 DISPLAY UPDATED BOARD ACCEPT SECOND USER MOVE COMPUTER RESPONSE IS 3 DISPLAY UPDATED BOARD ACCEPT THIRD USER MOVE REM COMPUTER RESPONSE IS 1 OR 6 REM COMPUTER WINS B(9) = 88 : REM GOSUB 1780 : REM GOSUB 1980 : REM 1450 IFU < 4 THEN 1560 1460 IFU> 5 THEN 1630 1470 B(3) = 88 : REM 1480 GOSUB 1780 : REM 1490 GOSUB 1980 : REM 1500 C= 1 1510 IFU= 1THENC = 6 1520 GOTO 2060 1540 REM 1550 REM SIDE OPENING GAME, 1ST USER MOVE IS 8, 2ND USER MOVE IS 3 OR 1 1560 F = 1565 H = 6 1570 IF U <> 1 THEN 1600 : REM SET UP LAST 5 REPONSES 1580 F= 1 1590 H = 4 1600 R = 140 : REM SET RESPONSE ENTRY POINT 1610 GOTO 700 : REM RETURN TO SELECT RESPON! 1620 REM 1630 REM SIDE OPENING GAME, 1ST USER MOVE IS 8, 2ND USER MOVE IS 6 OR 7 1640 B(l) = 88 : REM COMPUTER RESPONSE IS 1 200 May 1979 © BYTE Publications Inc Listing 7 continued on page 202 Circle 93 on inquiry card. Circle 79 on inquiry card. 22 START-AT-HOME COMPUTER BUSINESSES in "The Datasearch Guide to Low Capital, Startup Computer Businesses" CONSULTING • PROGRAMMING • SOFTWARE PACKAGES • COM • FREELANCE WRITING • SEMINARS • TAPE/DISC CLEANING • FIELD SERVICE • SYSTEMS HOUSES • LEASING • SUPPLIES • PUBLISHING • TIME BROKERS • HARDWARE DISTRIBUTORS • SALES AGENCIES • HEADHUNTING • TEMPORARY SERVICES • USED COMPUTERS • FINDER'S FEES • SCRAP COMPONENTS • COMPUTER PRODUCTS AND SERVICES FOR THE HOME. Plus — Loads of ideas on moonlighting, , mmmmm ,, going full-time, image building, revenue building, bidding, contracts, marketing, professionalism, and more. No career planning tool like it. Order now. If not completely satisfied, return within 30 days for full immediate refund. • 8% x 11 ringbound • 156 pp. • $20.00 Phone Orders 901-382-0172 cgMKttmwmtut DATASEARCH incorporated 5694 Shelby Oaks Dr., Suite 105, Dept. B, Memphis, TN 38134 Rush copies of "Low Capital Startup Computer Businesses" at $20 per copy to me right away. NAME/COMPANY ADDRESS CITY/STATE/ZIP _ D Check Enclosed D Bankamericard D Master Charge 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. ( CONNECTICUT microCOMPUTER 150 POCONO ROAD BROOKFIELD, CONNECTICUT 06804 (203) 775-9659 TLX: 7104560052 • North Star DOS and BASIC now fully supported on double density 8" drives. More than 500K storage per disk now possible. TIMESHARING for the Horizon — The only true interrupt-driven, bank switching timesharing software available for the Horizon. Supports as many as four 5ki" drives, four 8" drives, and as many as four CRTs with 16 to 48 K RAM per CRT. Interrupts at 26 ms. Spooler and file locking to be supported in the near future. Specify single (Release 4) or double density (Release 5). Requires additional memory in computer. A machine language program on S%" disk $49.95 Complete business application software auailable. Write for additional information. Dealer discounts auailable. Circle 204 on inquiry card. Thinker Toys dual density 8" drive and controller $1 149 Additional drives $795 8" disk drive connector software on 5 1 /," disk included with drive(s) and controller without additional charge, or, separately $49.95 PerSci dual and quad density dual 8" drives to be supported in the near future. Specify CPU clock speed and Release 4 BASIC or Release 5 BASIC. North Star DOS and BASIC licensed for use with North Star disk controller only. All software shipped on 5'.," North Star ONLY. Write for information about COMPUCORP computers. Micro Mike's PROGRAM LIBRARY A one-time fee of $500 (soon to be increased) buys for the purchaser continuous unlimited access to the programs, updates and revisions in the PROGRAM LIBRARY. In stock: Intertec Intertubes . . $874 ea. Slightly used (demonstrator ADM-3A CRTs, full upper & lower case $695 ea. JUAAfe's Micro Mike's, Incorporated 905 South Buchanan Amarillo, Texas 79101 806-372-3633 BYTE May 1979 201 1 2 3 4 5 6 7 8 9 Figure la: Cell numbers for the tic-tac-toe board. i I o I x i x — + — + . . . I X I o - . - + — + — I O I X I I Figure lb: A typical print- out of a tic-tac-toe board. Listing 7 continued from page 200: Text continued from page 198: which calculates a random (actually pseudo- random) number between and 1. This number is then multiplied by 3, and only the integer part saved to form a random 0, 1 , or 2. Then (later changed to 5), designates a center opening game, 1 a corner opening game and 2 a side opening game. Variable F (flag), which selects alternate computer strategies, is also randomly set to or 1 . In this program, the response library is entered with DATA statements. The pro- gram's opening move and the initial user response are used to determine where to start reading in the response library. The library contains sequences of digits which represent the program's forcing moves. For 13 of the 24 possible combinations of opening move and user move, there are two possible winning strategies for the program, one of which is selected depending upon the status of variable F. Thus, even with the same opening move and the same initial user move, the program's responses may vary. Each of these winning strategies, which results in a fork, has five digits. These digits are selected sequentially for the pro- gram's responses. If the selected response is the same as the user's move, the user has blocked that row and the next digit is selected by using a loop. The digits in the even numbered positions and the fifth (last) digit represent winning responses, and con- trol is diverted to a win routine which prints the board and the computer winning message. Two more of the 24 possible combinations have only one strategy for a sure program win, but the program responses are handled in the same manner. Six of the 24 possible combinations do not have a forced win strategy. These are handled by a 7 digit string of forcing moves that may end in a draw. These 7 digit strings have a spacer inserted before the seventh digit to trigger diversion to the draw routine. The latter prints the board and a draw mes- sage after the seventh digit has been selected. A separate test causes a jump to the next digit if a zero spacer is detected as a program response. That leaves three cases that require spe- 1650 1660 1670 1680 1690 1700 1710 1720 1730 1740 1750 1760 1770 1780 1790 1800 1810 1820 1830 1840 1850 1860 1960 1970 1980 1990 2000 2010 2020 2025 2030 2040 2050 2055 2060 2070 2075 2080 2090 2100 2110 2120 2130 2140 2150 2160 2170 DISPLAY UPDATED BOARD ACCEPT THIRD USER MOVE COMPUTER RESPONSE IS 3 OR 5 COMPUTER WINS RETURN TO SELECT RESPONSES RETURN TO SELECT RESPONSES GOSUB 1780 : REM GOSUB 1980 : REM C = 3 IF U = 3 THEN C = 5 : REM GOTO 2060 : REM REM REM CENTER OPENING GAME REENTRY POINT R = U * 10 - 10 : REM FIND RESPONSES FOR CENTER GAME IF U > 5 THEN R = R - 10 IF INT(U/2) = U/2 THEN 700 : REM GOTO 740 : REM REM REM DISPLAY SUBROUTINE TO PRINT UPDATED PLAYING BOARD PRINT PRINT TAB(4) "I I" PRINT TAB(2) CHR$(B(1)) ; " I ";CHR$(B(2)) ; " I " ; CHR$(B(3)) PRINT " + + " PRINT TAB(2) CHR$(B(4)) ; " I ";CHR$(B(5)) ; " I " ; CHR$(B(6)) PRINT " + + " PRINT TAB(2) CHR$(B(7)) ; " I ";CHR$(B(8» ; " I " ; CHR$(B(9)) PRINT TAB(4) "I I" RETURN REM REM SUBROUTINE TO ACCEPT AND CHECK NEW USER MOVE INPUT "YOUR MOVE IS" ; U IF U < 1 OR U > 9 THEN 2030 IF INT(U) <> U THEN 2030 IF B(U) < > 32 THEN 2030 B(U) = 79 RETURN PRINT "YOUR MOVE IS ILLEGAL. TRY AGAIN" GOTO 1980 REM REM ROUTINE FOR WHEN THE COMPUTER WINS THE GAME B(C) = 88 : REM PUT COMPUTER MOVE IN PROPER CELL GOSUB 1780 : REM DISPLAY BOARD FOR WINNING GAME PRINT PRINT"***** I WON *****" GOTO 1170 : REM NEW GAME? REM REM SUBROUTINE FOR COMBINED CALC, ENTERING, BOARD DISPLAY, USER MOVE C= 10 -U B(C) = 88 GOSUB 1780 GOSUB 1980 RETURN END 202 May 1979 © BYTE Publications Inc cial handling. One is similar to the six cases of the preceding paragraph except that the last move is not a forcing move. To avoid a false win-test on the sixth (even) digit, zeros are inserted as spacers before the sixth and also before the seventh response digits. The last two cases are more difficult, and somewhat similar. In each case it would be possible to use a series of forcing moves ending in a draw if the user simply blocked each potential row of three as it occurred. In each case, it is also possible to forego a first response forcing move, and instead to set a trap if the nonforced user move is not correct. I used the latter method in this program. This requires checking the second user move and then making the correct response to that move. A number of extra program steps are required to do this, but the program now plays a rational game. Other Systems? Some BASICs may not have some of the features used in this program, such as logical operators, ASCII code to character conver- sion, string variables, prompting INPUT statements, or PRINT TAB. These opera- tions can normally be duplicated in other BASICs by slight program changes. If you would like a copy of this program in its Hewlett-Packard HP-67 programmable cal- culator form, send me two blank magnetic cards and a stamped, self-addressed enve- lope, and I will send it to you along with the slightly different instructions. Conclusions This game program exercise demonstrates the programming requirements for even a fairly simple problem: 1. Thoroughly evaluate the problem, to be sure that all possibilities are allowed for. 2. Consider the limitations and special features of the system to be used. 3. Decide exactly what you want to program to do, and then program to do it in a logical, straightforward manner. 4. Plan for ease of input and clarity of output. 5. Document so that others (and yourself at a later date) can readily understand the program. In programming for this game, you may have found some pointers on logic and pro- gram planning. In any case, the completed program may be used to demonstrate system operation while entertaining your family and friends." SUPER SOFTWARE! MICROWARE 6800 SOFTWARE IS INNOVATION AND PERFORMANCE v / I NEW I 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 languagefrom 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 INEWI 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 [NEW1 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 MASTEHCHARGE 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. MICROWUtE SYSTEMS CORPORATION P.O. BOX 4865 DES MOINES, IA 50304 (515) 265-6121 Circle 21 1 on inquiry card. May 1979 © BYTE Publications Inc 203 Slobs anc Newsletters The Birmingham Microprocessor Group Computer Club The Birmingham Microprocessor Croup Computer Club meets on the fourth Sunday of each month. Meeting time is 2 PM at the Park Memorial Branch of the public library, 1814 11th Av S, Birmingham. The rear entrance to the building should be used. Member- ship dues are $6 per year which includes their newsletter. For more information, write POB 8072, Birmingham AL 35218 New Apple Computer Club in North Carolina A new Apple computer club, the Carolina Apple Core, has been founded in the Durham-Raleigh-Chapel Hill NC area. The meeting format consists of monthly meetings on the third Tuesday of each month at different locations. Annual dues are $5 with a monthly newsletter and software library deve- loping. At least two Apple computers with dual disk drives will be attendant at each meeting. Dynamic programs featur- ing Apple captions are scheduled mon- thly, with seminars on Apple topics scheduled at other times during the month for the novice or the professional. The club is interested in exchanging in- formation and software with other clubs. Contact Carolina Apple Core, 5212 In- glewood Ln, Raleigh NC 27609. MUMPS Users Group In an attempt to reach a larger MUMPS area, the MUMPS Users Croup has switched to a controlled circulation magazine format. The intention is to publish the magazine quarterly with each issue featuring a major MUMPS ap- plications package, a number of unique applications, facts on new implemen- tations, information on the annual meeting and on available MUMPS tutorials, and whatever items prove of in- terest to the readers. For more informa- tion about the MUMPS Users Group, write to POB 208, Bedford MA 01730. Triangle Amateur Computer Club The TACC (Triangle Amateur Com- puter Club) in Raleigh NC is dedicated to the advancement of interest in amateur or personal computers. Membership is open to all who support these ideas. The club meets on the last Sunday of the month at 2 PM in the Dreyfus Audi- torium, Research Triangle Institute, Research Triangle Park NC. For further information about the club, write POB 17523, Raleigh NC 27514. Apple Users Group in Boston Area The Boston area now has its own Ap- ple Computer Users Group. NEAT (New England Apple Tree) supports a regular newsletter containing the latest informa- tion in the world of Apple, programming tips and techniques, program listings, reviews, tutorials, and more. Monthly meetings are held the third Wednesday of each month in the Mitre Corp cafeteria, Rt 3, Bedford MA, for software exchange, information sharing, and guest speakers. They also have available software for the Apple. Annual dues are $6. For further information, contact Mitch Kapor, 31 Birch Rd, Watertown MA 02172. Boston Computer Society Membership Increases 281% According to the latest issue of The Boston Computer Society newsletter, the 8CS Update, their club's member- ship has increased from 80 to 225 members in a five month period. Con- gratulations! The club has a wide range of interests, ideas and interesting people. New computers and programs are dis- played at meetings, rumors and facts are exchanged, free magazines and in- formation are available, and guest speakers keep members up to date with new systems and applications. Addi- tionally, the club fosters a PET user group. For meeting information, write to The Boston Computer Society, 17 Chestnut St, Boston MA 02108. Attention French Computer Enthusiasts A new club called Microtel-club for the hobbyists in microcomputer and telecommunication areas has been form- ed in France. Their intentions are to develop the interest of the French population in these technical areas, to give the members the chance to use and compare microcomputers, to support the most interesting projects of its users, and to promote the exchanges between them. More than ten Microtel-clubs exist $95 MORSE TRANSCEIVER SEND: " 1 to 150 WPM (set from terminal) • 32 character FIFO buffer with editing • Auto Space on word boundries Grid/Cathode key output • LED Readout for WPM and Buffer space remaining SERIAL INTERFACE: • ASCII (110, 300, 600, 1200) or Baudot (45, 50, 57, 74) compatible Simplex Hi V Loop or T 2 L electrical interface Interfaces directly with the XITEX® SCT-100 Video Terminal Board; Teletypes 9 Models 15, 28, 33, etc.; or the equivalent MRS-100 CONFIGURATIONS: $95 Partial Kit (includes Microcomputer components and circuit boards; less box and analog components) $225 Complete Kit (includes box, power supply, and all other components) $295 Assembled and tested unit (as shown) ■ Overseas Orders and dealer inquires welcome ^^ COPY: " 1 to 150 WPM with Auto-Sync. Continuously computes and displays Copy WPM • 80 HZ Bandpass filter • Re-keyed Sidetone Osc. with on board speaker Fully compensating to copy any 'fist style 1 See your local dealer or contact XITEX® direct. MC/Visa accepted »XIT€X CORP 1362H Neutron • P. 0. Bun 402110 Dallas, Texas 75240* 1214) ;!86-:l859 204 May 1979 © BYTE Publications Inc Circle 400 on inquiry card. in France. In Paris the club owns six microcomputers, many training kits, a library, and three laboratories with elec- tronic equipment. The club is open every day and a newsletter is published twice a month. A new Microtel-club will be formed in Palo Alto CA to develop ex- changes between France and the United States. The membership cost is $35 per year. For further information, write Microtel-club Administration, 9 rue Huysmans, 75006 Paris FRANCE 544 70 23. Newsletter for ProcessorTechnology Computers Proteus/News, formerly Solus News, is an independent newsletter for owners and users of Processor Technology Corpora- tion computers. A sampling of the con- tent of this one page newsletter includes: a "Review of PTDOS 1.5"; "An Introduc- tion to Programming in Pascal"; a book review of 45 BASIC Programs by Didac- tix; "Development of the SLAC Pascal Compiler"; description of the SLAC Pascal Solus/Cuter utilities; and other features. The bimonthly subscription rate is $12 per year. Contact Proteus, 1690 Woodside Rd, Suite 21 'J, Redwood City CA 94061. Free Timeshare Access The 8080 Etc compatible users group has expanded its services to both the per- sonal computer user and commercial firms. Free access to over 85 types of business, medical, accounting, research, and hobby software programs is offered to members who have a communications modem. Acoustic couplers or the IDS card for the S-100 bus are recommended and they must be set at the transmission rate of 300 bps. The system can be ac- cessed by dialing (209) 638-6392 and typ- ing the following passwords; Hello-w101, 8080 Etc. The users group also publishes a quarterly journal of group activities and general debugging notes and always has need for tidbits and notes from members or interested people. For a free list of program titles, send a self address- ed stamped envelope and include the type of system and specific components, along with any questions to Membership, The 8080 Etc, POB 894, Fresno CA 93714. Microcomputer Business Users Group BUG (The Microcomputer Business Users Group) is an association of business men and women and data pro- cessing professionals who meet monthly to educate themselves about the methods of achieving solutions to business problems with microcomputers. The primary emphasis is upon education related to application software, although system software and hardware get some attention. Vendors are invited to speak and are encouraged to give educational talks. The group is geared towards end users and vendors or pro- spective vendors of software. The BUG newsletter keeps members informed about activities, happenings, forth- coming speakers, hearsay information and previous meetings. Meetings are held 7 PM on the first Tuesday of each month at Baruch College, 46 E 26 St, New York NY (3rd floor computer library). Contact The Microcomputer Business Users Group, 161 W 75 St, New York NY 10023. Chicago TRS-80 Users Group TRS-80 users in Chicago will be pleas- ed to know of the existence of the Chicago TRS-80 Users Group (Chicatruc). The group meets the third Wednesday of every month and a monthly newsletter is available to members who have paid the $9 membership fee. Contact Emmanuel B Garcia Jr and Associates, 3950 N Lake Shore Dr, Apt 2310, Chicago IL 60613. BYTE's Bugs FFT BASIC Problem Some users have experienced pro- blems in running the BASIC program from "Fast Fourier Transforms on Your Home Computer" by William D Stanley (December 1978 BYTE, page 14). The dif- ficulties are caused by differences in the behavior of BASIC interpreters when they encounter additional statements on the same line following an IF-THEN statement. Many BASIC systems act in this man- ner; in cases where the condition tested by the IF is false, program flow proceeds to the next line of the program, skipping over additional statements on the same line as the IF-THEN (following the colon or backslash). However, some BASICs will execute statements on the same line as the IF-THEN, even if the condition is false. If you have the second type of BASIC interpreter, the following program line must be inserted for the program to run correctly: 1075 IF C > X4 THEN 1090. [Thanks to Dana Tremblay, I7S County St, Apt 6, Attleboro MA 02703, for poin- ting out this problem.] ■ MONITOR *139, 12" B&W COMPLETE KEYBOARD TERMINAL *350 Full Kit $295 (includes SCT-100) SCT-100 VIDEO BOARD FEATURES 64x16 line format with 128 displayable characters Serial ASCII or BAUDOT with multiple Baud rates • $187 Assembled or $157 Kit (Partial Kit $95) • Full cursor control with scrolling and paging • On board power supply • Serial interface RS232 or current loop • Purchase SCT-100 alone or complete terminal »XIT€XCORP x < 13B28 Neutron P.O. BOX402H0 \:~ Dallas. Texas 75240 (2 1 4 1 386-3859 I^MJ^M ^2 '^S ORDER BY PHONE/Overseas orders & dealers welcome Circle 401 on inquiry card. May 1979 © ISYTE Publications Inc 205 Languages Fopum APL and the Greatest Common Divisor Bill ciaxton ' reac ^ th e article "Pascal versus BASIC: 431 Mishier Rd An Exercise" in August 1978 BYTE, page Mogadore OH 44260 168. Upon examining the Pascal, BASIC and FORTRAN listings on page 172 for the greatest common divisor between two integers, I was curious about how an APL program would compare. I submit my APL version in listing 1 (several example runs are shown in listing 2). A detailed step by step analysis of the APL program is given which shows some of the power inherent in the APL language. Analysis of Program The explanation is given for the function GCD 6 8 14. The greatest common divisor among a series of integers as contained in vector V is necessarily less than or equal in magnitude to the smallest one of the inte- gers. The smallest integer is easily selected in APL using the floor reduction l/V, which in our example would result in selecting the number 6. One could proceed by dividing all of the elements of V by this smallest integer and testing each division for a remainder of 0. This again is easily implemented using A /( ( l/V) | V)=Q , wherein, for our exam- ple, the 6 residue of vector 6 8 14 given by 6 | 6 8 14 returns the vector 2 2. When this vector is logically equated to the vec- tor 1 results. The logical AND reduction of this vector a/ 1 returns the number V GCD V [i] i L IV) . If this position index is appended as a subscript, (4>i L/tOL . .index . . ] ,■ the greatest common divisor will be dis- played. The first occurrence of 1 in the vector for our example is obtained by the dyadic use of the index operator iota on the vector 11 i 1, which returns a 5. The fifth element of vector 6 5 4 3 2 1 is 2, which is the greatest common divisor of 6 8 14." 206 May 1979 © BYTE Publications Inc APL Aids Instructors Prof Selby Evans Psychology Dept Texas Christian University Fort Worth TX 76129 Fortunately, I did not know that APL was unsuitable for computer aided instruc- tion, so I started using it four years ago. It works fine. Professor Gerhold's "Teaching with a Microcomputer" (December 1978 BYTE, page 124) falls far short of convinc- ing me that I should learn another special purpose language just to handle computer aided instruction. Professor Gerhold found the interpre- tation of responses to simple yes-no ques- tions formidable in BASIC. None of my programs ask that kind of question as part of the instruction, but rather as the start up routine. Here's how I handle it: [10] -+SKxi '/V'=l +Q,0 'WANT YOUR MISSION ORDERS? 1 I don't try to handle variants of expres- sion because I find that beginning students, told to answer yes or no, do it. I haven't protected against expressions like yesterday, yetti, or you blasted idiot, because I've never seen inexperienced students answer that way. Semisophisticated students may try to spoof the system with things like that, but as far as I am concerned, they are welcome to whatever they get. When I present a question calling for a word or two as response, I use a function that tests for the presence of key letters in specified order. Thus, a judicious selection of key letters makes the function tolerant of some misspelling and typographical errors. The function checks the list of al- ternatives and responds differently depend- ing on whether the response matches the first or one of the subsequent alternatives. Professor Gerhold believes that such a function would be too slow. I find no basis for that belief. On a Sigma-9 in a timesharing environment with 30 users, the function has no discernable impact on terminal response time. Under those conditions the response time does not exceed the carriage return time and so is perceived as immediate. If a dedicated microprocessor can't match that, I am going to be disappointed. Aside from permitting me to work in a familiar and powerful language, using APL for computer aided instruction allows me to use functions already developed. For ex- ample, when I need to plot histograms, I simply copy the histogram function from my statistical workspace. This came in handy in the writing of my StarTrek game in which I had to figure a confidence interval for the mean, in order to spread the phaser enough to have a reasonable chance of hitting the Klingon. A third advantage of APL is that it lets me write complex programs very easily." The Problem of Software Piracy Revisited: A Proposal Vernor Vinge Assoc Prof of Mathematics San Diego State University San Diego CA 92182 One of the greatest problems facing indi- viduals who own computers is to legally acquire inexpensive, high quality software. The fact that it is often possible to acquire such software for free illegally is one of the reasons we have the problem, for if a paying market existed, some extremely useful pro- grams would be written for it. (There are rumors that Bell Labs LSI-11 UNIX may never be released: if it costs hundreds of Main/Frames $200 Main/Frames l$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 Rack mounted from $200 Desk top from $235 Write or call for our brochure which includes our application note: 'Building Cheap Computers' INTEGR4ND 8474 Ave. 296 • Visalia, CA 93277 • (209) 733-9288 We accept BankAmericard/Visaand MasterCharge Circle 179 on inquiry card. May 1979 © BYTE Publications Inc 207 thousands of dollars to develop a system which can then be stolen and sold for $10, there is scarcely a reason to market it at $500 to $1000, prices that would yield a good profit on an "honest" market.) Most illicit copying is done casually and in a spirit of friendly (nonprofit) cooper- ation between fellow users. I believe that the following suggestion, if adopted by sellers of major software products, would drasti- cally reduce the risk of such copying. Let P be the price the seller has currently put on one unit of his or her product. (P would be related to the seller's estimate of what the traffic could bear if no illicit copying were possible.) When customers buy the product, they have the option of naming (on the sales form) any person who is already a registered purchaser of the soft- ware. The person so named would then receive an r? dollar "software bounty" from the seller, where r is a number between and 1 announced by the seller when the product is introduced. (It might take some experience to decide the best value for r. My opinion is that some value greater than 0.5 would be optimum for the seller. The price P could be changed with time, but a fixed r would help consumers maintain confidence in the bounty.) Retro-Graphics™ For your Dumb Terminal. The Retro- Graphics PC card mounts easily in the Lear Siegler ADM-3A to provide you with an afford- able graphics computer terminal. Features: Z-80 Based 512 by 250„ Dot Matrix Simple Plug-in Interconnect • Point Plotting • Automatic Vector Generation ■ Optional TEKTRONIX Software Compatibility You will be impressed with the packaging, per- formance and price of the Retro-Graphics card. Write or phone today for complete specifications. DIGITAL ENGINEERING, INC. 1787 Tribute Road, Suite K Sacramento, CA 95815 (916)920-5600 The r? software bounty would have many effects. Suppose Tom buys the pro- duct. If he can convince Jan to buy, Tom can recover a substantial portion of his expense (assuming that r is reasonably large). But why would Jan name Tom on the sales form? Presumably because Tom has promised Jan some fraction of the bounty; that is their affair. If Tom is an enterprising individual (and if the product is much in demand) then he might be able to recover his entire purchase cost and possibly make more. Of course, Jan and all the others that Tom has won bounties on may be doing the same thing. This is a secondary effect of the scheme. It turns present marketing realities upside down: the software bounty would reward those who purchase early, and leave procrastinators with the risk that there may be no bounties left to win when they get around to buying. Notice that although the arrangements between customers and prospective cus- tomers may be quite complicated and novel, the situation would be simple for the seller. He or she must keep a mailing list of registered purchasers— also necessary for sending out software updates and main- tenance fixes. If n units are eventually sold, the seller will receive at least n? - {n~])rP for his efforts. (If P changes with time, the result is only slightly more complicated.) The software bounty scheme will not stifle those whose moral fiber is not merely weak, but nonexistent. An outright criminal who copies the product and sells it at a low price could make a lot of money. Two fea- tures of the plan might tend to discourage this, however. The person receiving the bounty must be named by the new pur- chaser on a bona fide sales form. Thus anyone buying a bootlegged product would know that he was doing so and would know that he could not obtain any bounties of his own; in fact, he would have to undertake equivalent criminal activity if he wished to make any money from disseminating the product. Secondly, outright bootlegging directly damages legitimate bounty hunters and is therefore more likely to be reported than under present marketing strategies." A creative suggestion, to be sure. But if to purchase a score of a great symphony one had to pay the same amount as the original composer's stipend, very few people would have ever heard a number of masterpieces. A commission sales arrangement is exactly how such works of art are sold by a myriad of dealers — and there is no reason why software works of art cannot be sold on a similar basis. . . .CH 208 May 1979 © BYTE Publications Inc Circle 84 on inquiry card. Circle 359 on inquiry card. Machine Language Puzzlep An Added Attraction Christopher Strangio CAM I Research 43 Bailey Rd Watertown MA 02172 Using any instructions in the Intel 8080 instruction set except ADD, ADI, ADC, ACI, and DAD, write a program that adds two 8 bit binary numbers. Assume that the addend and augend have been preloaded into the B and C registers, respectively. The sum should be located in the accumulator when the addition is completed, and then the processor should be halted. The pro- gram should have a minimum number of instructions and should execute with the greatest possible speed. Puzzle a bit on this problem and when you figure out how to do it, turn to page 217." » Have you gotten one of * ® Don Lancaster's INCREDIBLE SECRET MONEY MACHINES , yet? -***J i V-W j i^' V^L The Incredible Secret Money Machine J vy^^-T^flft * s a Get-Rich-Quick book that shows _Lj) I t -q L. j£b \WT~ tested and proven ways to reduce or "" SS^ ^==^-'?7VsJAf eliminate taxes, get free insurance, eliminate utility bills, to pickup paid- forvacations & win at " investments. " The Incredible Secret Money Machine is a self-help, how-to cookbook essential for anyone setting up their own craft, computer or technical business. The Incredible Secret Money Machine is the only book that dares tell all about the honchee guidelines, the steam calliope fund, the perfect tinaja quest, the Deadly J -Dollar, and the dangers of two crossed granfalloons. The Incredible Secret Money Machine is the seventh and latest book by Don Lancaster. He has half a million books in print so far. Synergetics, Dept. B-85, Box 1112, Parker, AZ 85344 I Please send me INCREDIBLE SECRET MONEY MACHINES at S6.95 each postpaid J Price includes SI postage & handling. i C ) I enclose a total of $ , check or moneyorder or J C ) You can charge my Bank Americard/ Visa card no. : expiration date:. _ signature:. BYTE BACK ISSUES FOR SALE The following issues are available: 1976: July, November 1977: May thru September, November 1978: February thru October, December 1979: January thru March. 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 P.S- SOFTWARE HOUSE FORMERLY PETSHACK PET™ SCHEMATICS FOR ONLY $24,95 YOU GET: 24" X 30" schematic of the CPU board, plus oversized schematics of the Video Monitor and Tape Recorder, plus complete Parts layout - all accurately and painstakingly drawn to the minutest detail. PET™ ROM ROUTINES FOR ONLY $19.95 YOU GET: Complete Disassembly listings of all 7 ROMS, plus identified subroutine entry points; Video Monitor, Keyboard routine, Tape Record and Playback routine, Real Time Clock, etc. To entice you we are also including our own Machine Language Monitor program for your PET using the keyboard and video display. You can have the Monitor program on cassette for only $9.95 extra. PET to PARALLEL INTERFACE with 5V .8A power supply $74.95 PET to 2nd CASSETTE INTERFACE $49.95 Send for our free SOFTWARE BROCHURE. Dealer inquiries welcome. PET™ EXPANDOR PRINTER PRINTER PRICE with pet interface $525 • Small size of 4.5"H x 12V4"W x aw'D • Impact printing - 3 copies • Prints 80 columns wide • Print Cylinder - not a matrix • Uses 8'A" paper, pressure or pin feed • Easy to maintain yourself, or return to us • Regular Paper - Coated paper not required • Lightweight, 11'/2 lbs. with cover • Prints 10 characters per second • 64 Character ASCII Character Set • Full Documentation Included This is the ideal, low cost, reliable, self maintained printer with which to complete your PET system. P.S. SOFTWARE HOUSE P.O. Box 966 Mishawaka, IN 46544 Tel: (219) 255-3408 33 Circle 303 on inquiry card. May 1979 © BYTE Publications Inc 209 Circle 82 on inquiry card. F T I I I I I. -'■■' I' "•' I I V::; RNE riC n i cro svsi em: • PRESENTS! "} l_ffC-?04O SERIFS. HtK't IS 1 H^ /■■-■• rz? Jfr? S3 -fSS /">/ "T -S: ,'TFRS BSBtKS The world's only single-chip LSI Universal Printer Controller is here! The very low-cost 40-pin CY-480 controls ANY standard 5 x 7 dot matrix printer with print speeds up to 200 cps! The CY-480 Universal Printer Controller from Cybernetic Micro Systems is the tirst— and only— 40-pin LSI device which will controi and interface any standard 5" x 7" dot matrix printer (including those from Victor, IRC, Practical Automation and Amperex) having a print speed up to 200 cps. It operates from a single +SV power supply and will interface a printer 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. The 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 are a 10, 12or 16 characters/inch variable character density command, 2-color selectable print command, forward/backward printing command, and horizontal and vertical independently expanded print command. The CY-480 provides graphics capability and includes a "flip-print" operating mode for 180° viewing. Ready lines provide full asynchronous communications with handshaking. Low price! $35 a single unit! CYBERNETIC MICRO SYSTEMS 2378- B Walsh Ave. • Santa Clara, Calif. 95050 Phone (408) 249-9255 CP/M™ LOW-COST MICROCOMPUTER SOFTWARE CP/M™ OPERATING SYSTEM: • Includes Editor, Assembler, Debugger and Utilities. • For 8080, Z80, or Intel MDS. • For IBM-compatible floppy discs. • $100-Diskette and Documentation. • $25-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. • $75 Diskette and Manual. (1 DJGJTflL RESEARCH P.O. Box 579 • Pacific Grove, California 93950 C408) 649-3896 Technics! Fopum Periodic Answers Mark Zimmermann Caltech 130-33 Pasadena CA 91125 I would like to comment on the question BYTE posed in reference to Jef Raskin's article "Unlimited Precision Division" (Feb- ruary 1979 BYTE, page 156). The question concerned decimal expansion of 99991/ 99989. By using several tricks from An Intro- duction to Number Theory by Harold Stark, in conjunction with an HP-25 calcu- lation to do 10 digit arithmetic, I found that the period of the decimal expansion of 99991/99989 is 99988. The theorem states that for any pair of numbers m and n which have no factors in common except 1, and which have no com- mon factors with 10, the rational number m/n has a purely periodic decimal expansion and the length of the period is ord n (10). The function ord n (10) is defined as follows (paraphrasing Stark): if 10 b leaves a remainder of 1 when divided by n, and b is the smallest positive integer for which this occurs, then ord n (10) =b. For example, ord 99 (10) =2 since 102 leaves a re- mainder of 1 when divided by 99. Therefore, by Stark's theorem, 1 /99 has period 2 in its decimal expansion. Stark also gives some hints which reduce the amount of work in finding the smallest working value of b. For the case n=99989, there are 11 candidates for b, of which only b=99988 works. During all stages of the calculation, one cares only about the remainders after div- ision by 99989, so a calculator that can handle 10 decimal digits is adequate. Thanks for suggesting an interesting puzzle! ■ 210 Mav 1979 © BYTE Publications Inc Circle 95 on inquiry card. Circle 297 on inquiry card. A Y Le Maout 48 rue P J Proudhon 78370 Plaisir FRANCE A Hard Way to Hard Copy Suppose you have glued a light emitting diode (LED) on each key of your type- writer, then connected those LEDs to the outputs of a decoder, then connected the decoder to the output ports of your favorite microcomputer. Each time a character is displayed on the output LED light, you push the key and the character is printed. You must not forget some auxiliary function indicators for things like space, new line, etc. I think it is the most economical way to obtain a good printout from a microcom- puter or a personal computer. In my opinion the achievable speed is nearly two characters per second. The cost of such an adaptation should be less than $25, assuming bargain basement LEDs and a typewriter you already own. It could be possible to extend the function by adding a touch contact on each key. I have only one reservation: in a few years it might be more common to own a microcomputer than a typewriter." Other Early Computers G B Lane Computer Science Dept Manchester University Oxford Road Manchester ENGLAND Keith Reid-Green's article "A Short History of Computing" (July 1978 BYTE, page 84) neglected to mention a number of very significant machines. On reading the article one gets the impression that prior to this decade no computers were built outside the USA, and that any machine within the USA was in all probability built by IBM. Of course in a short article one cannot hope that a complete history will be presented, but I do not feel that the author presented a correct view of the development of computers. Since my own knowledge of the history of computing is limited to mainly British machines, I too will no doubt leave out many machines that others would include. The following are some of the machines that I feel should have been mentioned: • Konrad Zuse's electromagnetic com- puters built in Germany before and during World War II. 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 Cupper case alpha numeric option included ) & get the Book at 1/2 price. .ELECTRONICS, DEPT.5-B, 1020 W. WILSHIHE BLVD.. OKLAHOMA CITY. OK 73116 I'm Sold, PLEASE RUSH C ) SEND FREE CATALOG C ) TVT 6 5/8 Kit & Cheap Video Cookbook $42.95 (enclosed! C ) TVT-6 5/8 Kit only Cbook required for assembly] -$39.95 address:, city: . state: , zip: . ELECTRONICS 0EPT.5-B, 1020 W.WILSHIRE BLVD.. OKLAHOMA CITY. OK 73116 16K STATIC RAM Kit price $285 450 nsec $320 250 nsec Memory Chips Add $25 for assembled, tested, Guaranteed. Static TMS 4044- Fully Static 4Kx1 Memory chips for better data integrity and DMA compatibility. Fully S-100 Bus Compatible-All lines fully buffered, Dip Switch Addressable in two 8K blocks, 4K increments. Write Protect- able in 2 blocks, Memory Disable using Phantom (pin 67) or strappable to any other pin. Bank Select-Using Output port 40H (Cromemco software compati- ble)-addressable to 51 2KB of RAM or for time share. Also has alternate port 80 H -ma king over 1 million byte of RAM available. Quality Components-First quality parts, fully socketed. Glass epoxy board with silk screened legends, solder masks, Gold Contacts. Guaranteed-parts and labor for 1 year. You may return the undamaged board within 1 days for a full refund. Foreign and kit purchasers-parts only guaranteed; no return privilege. Orders- You may phone for Visa, MC, COD orders. ($4 handling charge for COD orders only) Personal checks must clear prior to shipping. Shipping-Stock to 72 hours normally. Will notify expected shipping date for delays beyond this. Illinois resi- dents add 5% tax. Please include phone number with order. S. C. digital P.O. Box 906 Aurora, IL 60507 Phone: 312-897-7749 Circle 331 on inquiry card. May 1979 © BYTE Publications Inc 211 Circle 205 on inquiry card. argains 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 r TERMINALS FROM TRANSNET PURCHASE ^ FULL OWNERSHIP AND LEASE PLANS PURCHASE PER MONTH DESCRIPTION PRICE 12 MOS. 24 MOS 36 MOS LA36 DECwriter II $1 ,595 $ 152 $ 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 VT1 32 CRT DECscope 1 ,895 1 81 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 K ACCESSORIES AND PERIPHERAL EQUIPMENT ACOUSTIC COUPLERS • MODEMS • THERMAL PAPER RIBBONS • INTERFACE MODULES • FLOPPY DISK UNITS PROMPT DELIVERY • EFFICIENT SERVICE J TrahsNet Corpora tion 2005 ROUTE 22, UNION, N.J. 07083 201-688-7800 • The code breaking computers (COLOSSI) built in Bletchley Park England, during World War II. • The Manchester University Mark 1 (1948) and the Cambridge EDSAC (1949). The Mark 1 was the first stored program computer. The first program written for it was to deter- mine the highest proper factor of 2 1 8 . It succeeded in solving this problem in a 52 minute run on June 21 1948. It used as memory the electrostatic Williams Tube which was later used under license by IBM for the 701 and 702 computers. The EDSAC machine introduced the concept of subroutines. • Two transistorized computers were built at Manchester in 1953 and 1955. These machines led to the MV950 computer which was used commer- cially, six being built and used for a period of five years. • The Atlas computer (1962). This was designed at Manchester by a team led by Prof Kilburn who was part of the team that built the Mark 1 and also wrote the program mentioned above. When Atlas was finished it was said to be the most powerful computer in the world and it introduced concepts such as paging and virtual storage. This machine was also sold to a number of users and one was still in full time use up to a couple of years ago. The machine made such an impression that even today the power of a computer is often quoted as so many Atlases. • No mention was made of the Bur- roughs machines with their unique architecture. • What ever became of DEC? If any one is interested in a fuller account of the development of computing machines, there are several books that should be read. They are: • History of Manchester Computers by S Lavington, published by the National Computing Center, Manchester Eng- land and distributed in the USA by The Hayden Book Company Inc, 50 Essex St, Rochelle Park NJ. This book describes the development and con- struction of all the computers built at Manchester University. • The Origins of Digital Computers: Selected Papers, second edition B Randell (ed), published by Springer- Verlag, New York, 1975. This book contains many reprinted and some un- published papers on the development of early digital computers." 212 May 1979 © BYTE Publications Inc Circle 374 on inquiry card. Circle 304 on inquiry card. Compare New Processors Carefully David P Kemp 1307 Beltram Ct Odenton MD 21113 I would like to compliment you on the article "A Microprocessor for the Revolution: The 6809, Part 1: Design Philosophy" by Terry Ritter and Joel Boney (January 1979 BYTE, page 14). Although most of us will never be in a position to design an LSI micro- processor, an article on design philosophy is quite appropriate. The same considerations faced by the microprocessor designer are faced by the system designer trying to choose the best microprocessor for his system, and the user (including the hobbyist) trying to choose the best system for his ap- plication. Ritter and Boney do an excellent job of presenting the criteria to be used in judging a microprocessor, but their con- clusions — that the 6809 is "the best 8 bit machine so far made by humans" and "definitely superior to the 8 bit com- petition" — are by no means beyond question. Their attitude can perhaps be excused by the fact that they are the proud fathers of a new "baby", but it has been said with considerable justification that there is no "best" microprocessor for all applications. It is unlikely that when the 6809 becomes available the situation will be any different. For exam- ple, Synertek's upgrade of the 6502, the 6516, could prove superior to the 6809 in many applications. It is true, but perhaps not immediately obvious, that increasing the number of address modes available on a micro- processor does not necessarily make it more useful. The autoincrement and autodecrement modes, in particular, are powerful and appropriate on a 16 bit machine like the PDP-11, but they can actually decrease the power of an 8 bit machine by introducing two types of in- efficiencies. First, because an exotic instruction set requires a complex architecture, it in- Need Intelligence in your 488 Instrumentation System ? ? ? 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 MBASIC 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. PICKLES & TROUT P.O. BOX 1206, GOLETA, CA 93017, (805) 967-9563 Algol 60 •tm for Z80 based computers under CP/M The Algol 60 compiler from Research Machines provides a breakthrough in size/performance for users of microcomputers: • Structured high level language comparable with Pascal • Combines fast execution with efficient use of memory • Fully operational in 21K CP/M system with one disk drive • Very easy to use with powerful I/O routines and extremely fast floating point software • Burned in compiler — also available in PDP8 and PDP11 versions • Available now on CP/M 8" diskette for $299 • Users manual separately, $20 refundable with order CP/M is a trademark of Digital Research Orders and information: RESEARCH MACHINES P.O. BOX 75, OXFORD, ENGLAND (865)-49792 Circle 324 on inquiry card. Mav 1979 © BYTE Publications Inc 213 Circle 325 on inquiry card. VAK-4 16K STATIC RAM BOARD • Designed specifically for use with the AIM-65, SYM-1, and KIM-1 microcomputers • Two separately addressable 8K-blocks with write protect. • Designed for use with the VAK-1 or KIM-4* motherboards • Has provisions for mounting regulators for use with an unregulated power supply • Made with 1st quality 2114 static ram chips • All IC's are socketed • Completely assembled, burned-in, and tested 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 VAK-4 DUAL 8K-RAM $379.00 VAK-2 8K-RAM (V 2 populated) $239.00 i]RNB> ENTERPRISES INCORPORATED 2967 W. Fairmount Avenue • Phoenix, AZ 85017 • (602) 265-7564 creases both the die size (and cost) of the device and the overhead (instruction decode, internal transfers, and thus ex- ecution time) required to perform a given operation. Second, it necessitates the use of page prefixes or 2 byte op codes, because a single byte instruction does not have enough bits to describe all combinations of operations that can be performed. Thus, many 6809 instruc- tions require four bytes to specify. By contrast, the 6516's instruction set is more compact and includes only 8 bit op codes. Does this mean that it is less powerful than the 6809? Not necessarily. Ritter and Boney indicated that loads and stores were by far the most pre- valent operations encountered in their static analysis of 6800 source code. The following example illustrates how the 6516 would handle a load auto- increment instruction for which it does not have a specific address mode. Similar sequences would be used for ac- cumulator offset and PC (program counter) relative modes, and of course both the 6502 and 6516 have true index- ed modes which operate much faster than the 6809's constant offset modes: 6809: LDAA.Y + 6516: LAY INY load accumulator with con- tents of location addressed by Y, then autoincrement Y. requires two bytes and six cycles. load accumulator with con- tents of location addressed by Y. increment Y. requires two bytes and four cycles total. In addition to requiring the same amount of memory and executing 50 percent faster, the unbundled 6516 ap- proach is more flexible. Suppose the programmer wishes to use the same in- struction but the index register is decremented after use. The 6516 code would be LAY, DEY but since the 6809 does not support postdecrement mode, a longer and slower sequence of instruc- tions (four bytes and nine cycles) must be used. For the most complex address modes (eg: LDAA [,-X]) the 6809 does have an advantage in memory and speed. There- fore, the user must determine if his ap- plication requires a large enough pro- portion of such operations to make the 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 ADA1200B Assembled and tested $169.00 ADA1200C 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 (flfj) |=) 150 POCONO RD, BROOKFIELD. CT 06804 La (2031 7759659 TLX: 7104560052 214 May 1979 © BYTE Publications Inc Circle 79 on inquiry card. Circle 379 on inquiry card. CONVERT ANY TV TO A HIGH QUALITY MONITOR - NE» " MICH QUALITY TTTTTTT V T V V T V V 7 V • Hot Chassis or Transformer sets • 64-80 characters per line • By-passes tuner & I.F. • Normal viewing unaffected • Safe — Easy installation ACVM Hi-Resolution $24.95 pod "POLYGRAFIX A completely self-contained, high density graphics system forS-100 buss users of Polymorphic VTI-64 video board. — 512H by 128V resolution. Total software control. Assembled & tested. . . .$245.00 Write for details and avail, options. VAMP Inc. Box 29315 Los Angeles, Calif. 90029 The "EXTERMINATOR" All New Dual Function Boar.d: Serves as an extender card & also terminates S-100 buss. Eliminates crosstalk, overshoots & noise which can scramble data. Occupies only a single slot.. Fully fused. VTE-100-K (Kit) $49.95 VTE-100-A (Asmb.) .... 74.95 Extender Card (w/conn.). . 24.95 Add $2 shipping & handling Calif. Residents add 6% Sales Tax 6809 the most effective choice, remembering that all operations using the common address modes (direct and extended) require the same or fewer bytes of code and at least one less cycle of execution time on the 6516. The next most frequent operations in Ritter and Boney's static analysis, after loads and stores, were subroutine calls and returns. A comparison of the two processors' capabilities in that area follows: Type of S809 6516 Addressing Byt e Cycles Byte Cy cles extended 3 8 3 5 rel, 8 bit 2 7 2 4 rel,16 bit 3 9 3 6 indirect 3 14 3 7 system 1/2 19/20 1 6/7 RTS 1 5 1 4 RTI 1 6/15 1 5 Other all ndexed address must modes available be calculated As mentioned in the article, the use of software interrupts for breakpoints and operating system calls is a good pro- gramming practice. The 6809 provides three software interrupt instructions; two require two bytes and all save all registers on the stack. The 6516 has six BRK instructions; all 1 byte instructions. They save no registers for flexibility and speed, but only one byte and ten addi- tional cycles are required, if necessary, to save all registers. Authors Ritter and Boney indicated that a major effort was made to "clean up the 6800 instruction set and make it more consistent," and cite the instruc- tion TFR R1, R2 as an example. It is not clear to me that remembering 42 com- binations like TFR A,B, TFR X,Y is any easier than remembering 42 mnemonics of the form TAB, TBA, and TXY, and the 6809 user will pay a heavy price for such consistency. The TFR instruction re- quires two bytes and seven cycles for each register transferred, as opposed to one byte and one cycle on the 6516. Moreover, if the programmer insists on using a TFR type format, a 6516 assembler could certainly be written to accept it. Another advantage of the 6516 is the 16 bit data handling capability. Aside from the ADDD, SUBD, and CMPD in- structions, the 6809 has no facilities for computing with 16 bit data. All 6516 Technical Forum is a fea- ture intended as an interactive dialog on the technology of personal computing. The sub- ject matter is open-ended, and the intent is to foster dis- cussion and communication among readers of BYTE. We ask that all correspondents supply their full names and addresses to be printed with their commentaries. 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 PRICE: $129.00 We also carry the SYM-1 Microcomputer with manuals $269.00 iJRNB> ENTERPRISES NCORPORATED 2967 W. Fairmount Avenue • Phoenix, AZ 85017 • (602) 265-7564 Circle 325 on inquiry card. May 1979 © BYTE Publications Inc 215 Circle 287 on inquiry card. yOU DIDNT KNOW! OAE'S new PP-2708/16 PROM Programmer is the only programmer with all these features: • Converts a PROM memory socket to a table top pro- grammer: No complex inter- facing to wire — just plug it into a 2708 memory socket* • A short subroutine sends data over the address lines to program the PROM • Programs 2 PROMS for less than the cost of a personal- ity module. (2708s and TMS 2716s) • Connect 2 or more in paral- lel — super for production programming • Complete with DC to DC switching invertor and 10 *Pat s Pending turn cermet trimmers (for precision pulse width and amplitude alignment) • All packaged in a handsome aluminum case PP-2708/16 ..A & T$325. PP-2716 (Programs Intel's 2716) A & T$325. OAE Oliver Advanced Engineering, Inc. 676 West Wilson Avenue Glendale, Calif. 91203 (213) 240-0080 WE SHIP FROM STOCK-EVERYTHING FACTORY FRESH, FULLY WARRANTEED TELETYPE MODEL 43 TTL $985 RS232 $1 ,045 (We stock Teletype Paper and Ribbons) HAZELTINE 1500 assembled $945 1510 $1,085 Also available with French, German or Danish character sets. PER SCI Model 277 Dual Disk Drive, single density $1 ,210 Slimline cabinet w/power supply $299 MARINCHIP SYSTEMS M9900 CPU The Complete, Compatible 16 bit CPU for the S-100 Bus Kit Assembled M9900 $550 $700 We configure systems to suit your individual requirements. IMS MEMORY High speed, fully static, 8K $180 MODEM Originate/Answer. The "CAT" from Novation $190 INTERTUBE Smart terminal for intelligent users $800 DEC LA 34 High quality I/O Printer $1,159 9900 S-200 INTERFACE BOARD Provides interface from Technico to S-100 components $59 64K MEASUREMENT SYSTEMS & CONTROLS MEMORY High speed, fully static, on ONE board $695 S-100 MAINFRAME 12slotTEI Model MCS-112 $433 To Order: $10 shipping for Terminals, Per Sci and Mainframe. $3 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 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 arithmetic and logical instructions (ADD, ADC, SUB, SBC, CMP, ORA, AND, EOR) operate on both 8 and 16 bit data. The 6516 can operate on two bytes in memory as a 16 bit quantity, using a single rotate, shift, increment, or decre- ment instruction. Equally important, the 651 6's index registers can be used as 8 bit quantities for true indexing and counting applications, and data from memory can be added directly to the index registers for fast address calcula- tions. Finally, the 6516 has a direct-page- indirect address mode which allows many pointers to be maintained entirely in memory without involving the index registers at all. In short, I am not convinced that the 6809 is "definitely superior" and would suggest that careful consideration be given to the merits of all processors before such claims are made for any one of them. ■ Puzzling Rotation Ken Barbier Borrego Engineering POB 1253 Borrego Spgs CA 92004 Listing 7. 10 print 20 Y=0: X = INT((1/7)* 1E + 06) 30 FOR K = 1 TO 7 40 Y=Y + X 50 PRINT Y 60 PRINT 70 NEXT K 80 END The program in listing 1 is more a puz- zle than a useful routine. The only prac- tical application I can foresee would be to entice some computer hobbyist with more mathematical ability than I, to ex- plain why the resulting numbers have the same digits in the same order. Does the same digit rotation occur for similar operations in other number bases? Line 20 starts with a 6 digit integer formed from the first six digits of the reciprocal of that magic number, seven. This number is repeatedly added to itself to form a column of 6 digit numbers with curious properties. I won't show these results here. You will have to try it on your computer. If your version of BASIC insists, you might have to enter 1E+06 in line 20 as 1000000. ■ 216 May 1979 © BYTE Publications Inc Solution to Machine Language Puzzler (See page 209) Addition can be performed without an ADD instruction by subtracting the two's complement of the addend from the augend. Specifically: X + Y= X- (-Y) = X- Y* where Y* is the two's complement of Y. A simple approach is as follows (assume that X is in register C, and that Y is in register B): MOV A, B CMA INR A MOV B, A MOV A, C SUB B CMC HLT A shorter solution is not quite as obvious: MOV A, B CMA SUB C CMA HLT ■ C/PM SOFTWARE TOOLS ED-80 TEXT EDITOR THE PROGRAMMERS MOST IMPORTANT SOFTWARE TOOL WHY NOT MAKE IT YOUR BEST? ED-80 encompasses the features found on large mainframe and minicomputer editors, such as the IBM 370, CDC 170, UNIVAC 1100, and the DEC PDP-11 series computers, plus additional features designed for floppy disk based operating systems. It is a context editor which is compatible with C/PM and its derivatives, including IMDOS, DOS-A, CDOS, etc. Over 50 commands are provided, including forward or backward LOCATE, CHANGE, and FIND commands; INSERT, DELETE, REPLACE, APPEND, PRINT, LIST, MACRO, upper and lower CASE, SCALE, TABSET, and WINDOW commands; and GET and PUT commands for repositioning, duplicating, concatenating, and managing text files and libraries. Sophisticated search and change techniques are provided for managing BASIC, FORTRAN, COBOL, PL/I, ALGOL, APL, PASCAL, ASSEMBLER. TEXT FORMATTED, and other file types. The WINDOW command allows instantaneous full screen displays of both the current and surrounding lines for further editing, and provides for forward and backward scrolling in the full screen mode. Designed for today's high speed CRT's and video monitors, the WINDOW command separates ED-80 from all other available editors, and is not hardware dependent. Up to three MACRO commands may be defined for iterative execution of concatenated editor commands. Once defined, they may be subsequently executed, or recalled for observation. A MACRO may also be defined and executed in a single operation. Configurable parameters for tailoring the editor to the user's keyboard and environment are provided through the use of the C/PM Dynamic Debus Tool (DDT). The WINDOW, WINDOW NEXT, WINDOW PREVIOUS, NEXT LINE, and PREVIOUS LINE commands fall in this category. These commands are considered so important to text editing that only one key has to be depressed to cause any one of them to execute. A CURRENT LINE NUMBER is internally maintained by the editor for displaying when prompting for input and with certain other commands. Line numbers are dynamically adjusted as the result ot line inserts and deletes, and may be used for positioning within the file. They are not stored or associated with the text in any manner. ED-80 is thoroughly documented with a User's Manual of over 35 pages describing each command and feature, and includes numerous examples. It .s 9.5K bytes in size, and a minimum C/PM operating system of 20K is recommended. A User's Manual and standard size single density diskette are $69.00. A User's Manual is $7.50, refundable with purchase. COD and money orders shipped next day. COD orders require 10% deposit. Personal checks must clear before shipment. Include $2.00 shipping/handling per order. SOFTWARE DEVELOPMENT AND TRAINING, INC. P. O. Box 451 1 — Huntsville, Alabama 35802 C/PM" is a trademark of Digital Research NO FRILLS! NO GIMMICKS! JUST GREAT DISCOUNTS MAIL ORDER ONLY HAZELTINE 1400 $ 650.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 VDP44 4195.00 16K Memory assem... 399.00 PCS 80/15 679.00 15% oti on all other Imsai products CROMEMCO System III $1000 oft .. 4990.00 10% off 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 po 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. apple computer SOFTWARE FOR BUSINESS includes: Mailing List * General Ledger Payroll Phone Directory * Customer Information Invoice Writer Inventory * Check Writer * Complete Business System Master Business System Available Soon Word Processor vidEo|:slwoRld 2224 N. University, Peoria, II. 61604 Phone 309/686-9352 "Trademark of Apple Computer Co. Inc. Circle 91 on inquiry card. Circle 386 on inquiry card. May 1979 © BYTE Publications Inc 217 Guess who builds this great $19.95 Logic Probe . \ #,-, With this easy-to-build Logic Vfjl I Probe Kit from CSC and just a IV^WIb few hours of easy assembly- thanks to our very descriptive step-by-step manual— you haveafull performance logic probe. With it, the logic level in a digital circuit translates into light from the Hi or Lo LED; pulses as narrow as 300 nanoseconds are stretched into blinks of the Pulse LED, triggered from either leading edge. You'll be able to probe deeper into logic with the LPK-1, one of the smarter tools from CSC. Complete, easy-to-follow instructions help make this a one- night project. dMlMMWKl* CONTINENTAL SPECIALTIES CORPORATION 70 Fulton Terr., New Haven, CT 06509 (203) 624-3103, TWX 710-465-1227 OTHER OFFICES: San Francisco: (41 5) 421-8872, TWX 91 0-372-7992 Europe: CSC UK LTD. Phone Saffron-Walden 0799-21682. TLX 817477 Canada: Len Finkler Ltd.. Ontario Call toll-free for details 1-800-243-6077 'Suggested U S resale Available at selected local distributors Prices, specifications subject lo change without notice ©Copyright 1979 Continental Specialties Corporation Circle 81 on inquiry card. The Hobby Unwrap Ralph Stirling 7401 Garland Av Takoma Park MD 20012 The Hobby Wrap Model BW-630 wire wrap gun, manufactured by the OK Tool Company, 3455 Conner St, Bronx NY 10475, is a useful tool for experimenters. One feature I missed, though, is the ability to unwrap wrong connections. The Hobby Wrap is powered by a DC motor run on two C cells. If the batteries are installed backwards, the motor runs in the reverse direction. It can then unwrap wire wrap connections. But removing the batteries and replacing them backwards is a very inefficient way to do unwrapping. Some better method of reversing battery polarity is required. A double pole double throw (DPDT) switch can be used to change the polarity of the motor connections. The Hobby Wrap is dismantled by removing the two bolts and the metal ring around the battery compartment. I have found that a Radio Shack 275-407 (or equivalent) DPDT sub- miniature slide switch can be mounted in a cutout made in the thin plastic square at the NOTE: GLUE TABS ON SWITCH TO PLASTIC SHELL WITH EPOXY Figure 2: Installation of double pole double throw switch in the Hobby Wrap gun. 218 May 1979 © BYTE Publications Inc Circle 86 on inquiry card. Figure 1: A modification to the Hobby Wrap Model BW- 630 wire wrap gun manufactured by the OK Tool Com- pany. A double pole double throw switch is used to reverse the direction of motor rotation, enabling the user to unwrap wire wrap connections. -=- BATTERY MOTOR I O DPDT SWITCH rear of the top side of the tool. The switch should be mounted in the left half of the case (when viewed from the rear of the gun). This allows the right half to be removed completely without upsetting the battery connections. The slide switch is glued in position with epoxy, because mounting holes would be difficult to drill. The whole modification takes less than two hours. Step by Step Instructions 1. Remove right half of case (two bolts and ring). 2. Remove motor (pop off rubber belt and gently remove motor from drive shaft). 3. Unsolder wires connecting the motor with the battery connectors. 4. Solder wires (30 gauge wire wrap) diagonally across the switch as shown in figure 1. 5. Solder two wires from the motor to the middle two contacts on the switch, and two wires from the battery con- nectors to one of the outer pairs of contacts on the switch. 6. Trim out the thin section of plastic on the left half of the case (figure 2) and glue the switch into this slot with epoxy. 7. Remount the motor, route the wires past the bolt hole, replace the right half of the case in its original position, and label the switch positions. You now have an unwrapping tool when- ever you need it. To unwrap, slide the switch to the unwrap position, place the tool over the wire wrap post as in wrapping, and press more firmly than usual while giving the motor a brief burst. The wrap should come right off." LSI-11 TIME It's TIME you brought your LSI-11 up to DATE. TIME and DATE, two important parameters in the computer world, are available to your LSI-11 on one DUAL SIZE BOARD When requested, the TCU-50D will present you with the date (month and day), time (hour and minutes), and seconds. Turn your computer off and forget about the time — your battery sup- ported TCU-50D won't, not for 3 months anyway. The correct date and time will be there when you power up. The TCU-50D is shipped preset to your local time, but can be set to any time you want by a simple software routine. AT $295 YOU CANT AFFORD TO IGNORE TIME Time is only one way we can help you upgrade your LSI-11 or PDP-11 system. We'd also like to tell you about the others. So contact Digital Pathways if you're into -ll's. We are too. DIGITAL PriTHWVM IMC. 4151 Middlefield Road • Palo Alto, California 94306 • Telephone (415) 493-5544 3m ■■■COmPANY Scotch BRAND Diskettes At SUPER Lo wPrices ! 10-40 quantity $4.25 each in boxes of 10 10-40 quantity $4.20 each in boxes of 10 3M-740-0-H 8" IBM 3740-Type Soft-sectored in Hard box (reg $6.50 each) 3M-744-0-H 3M-744-10-H 3M-744-16-H 5" in Hard box (reg $6.50 each) 50-190 quantity $3.50 each in boxes of 10 50-190 quantity $3.50 each in boxes of 10 Write or call for quantities price schedule. Terms: • On orders under $50, add $2 handling charge. • We pay UPS shipping within continental U.S. on prepaid orders. • On C.O.D., $1 plus shipping charges will be added. • Foreign customers please ask about additional shipping charges. • N.Y. State residents add appropriate sales tax. • Prices subject to change without notice. • Allow 3 weeks for personal checks to clear. • Send check or money order to CSD. CSD Computer Systems Distributors 3470 Erie Blvd. East Syracuse, N.Y. 13214 • Floppy Diskettes • For your Microcomputer and Minicomputer needs • Fast delivery - we ship from st • Save by buying in volume • Authorized factory distributor • To place orders call 24 hrs./7 days TOLL FREE: 800-448-5523 800-962-5887 All states except N.Y.. Alaska, Hawaii N.Y, state only Circle 70 on inquiry card. May 1979 © BYTE Publications Inc 219 Circle 315 on inquiry card. The Rothenberg INTEGRATED FINANCIAL SYSTEM under CP/M* • GENERAL LEDGER • ACCOUNTS RECEIVABLE • ACCOUNTS PAYABLE • PAYROLL • INVENTORY CONTROL Easy to use, self-guided. You don't have to b"e a CRA! Price: $500 each Complete manuals: $8 each Immediate Delivery Requires only 32K system Requires CBASIC** ■ Prepaid or COD only Send CP/M serial # with each order Also available: Complete Legal Billing System Only $1995. Manual $12. Rothenberg INFORMATION SYSTEMS, INC. WO0 260 Sheridan Avenue Palo Alto, CA 94306 (415) 324-8850 *CP/M is a trademark of Digital Research **Add $100 if CBASIC is also needed Programming Quickies SwTPC 6800 Display Routine Mike Hayes Tektronix 3311 Roselawn San Antonio TX 78226 Listing 1: 6800 program for displaying and reading X number of bytes. The SwTPC 6800 computer requires the use of the MIKBUG M function to load and display the contents of memory. The pro- gram in listing 1 allows immediate display or loading of X number of bytes, and is much easier on the programmer than the MIKBUG subroutines. I hope this program will be of some service to readers." 00001 00002 • CHANGE ALLOWS USER TTY INPUT OF MANY BY I tb AT ONCE. USE MIKBUG "G" FUNCTION TO JUMP TO 00003 • S0 100 THEN TYPE IN THE FIRST ADDRESS . CHANGE 00004 • WILL DISPLAY THAT ADDRESS AND ITS DATA . . . 00005 * 00006 »»** DISPLAY MODE • * " • 00007 • ENTER A SPACE TO SHOW NEXT BYTE IF IN DISPLAY 00008 • MODE , OR TO ENTER NEXT BYTE IF IN LOAD MODE. 00009 • 00010 • ENTER ";" INSTEAD OF SPACE TO SWITCH FROM 00011 • DISPLAY TO LOAD MODE OR VICE VERSA. IN EITHER 00012 * MODE , ENTERING A CARRIAGE RETURN STARTS A 00013 ■ NEW LINE. 00014 "*** EXIT FROM THE PROGRAM **** 00015 * THE USER MAY EXIT AT ANY TIME FROM DISPLAY 00016 * MODE BY INPUTTING ANY CHARACTER EXCEPT ";" , 00017 * SPACE, OR THECARRIAGERETURN... 00018 * EXIT FROM THE LOAD MODE BY TYPING IN AN ILLEGAL 00019 * BYTE . ALSO CAN GO BACK TO CHANGE ENTRY POINT, 00020 . FROM LOAD MODE, BY TYPING IN AN ILLEGAL USER RESPONSE AFTER BYTE ENTRY. 00021 E047 BADDR EQU SE047 00022 E055 BYTE EQU SE055 00023 E1AC INCH EQU $E1AC 00024 EOCC OUTS EQU SEOCC 00025 E1D1 OUTCH EQU SE1D1 00026 EOBF OUT2H EQU SEOBF 00027 EOCA OUT2H3 EQU SEOCA 00028 E0C8 OUT4HS EQU SE0C8 00029 E07E PDATA1 EQU SE07E 00030 * 00031 » 00032 A00C ORG SA00C 00033 A00C 00 XHI FCB 00 00034 A00D 00 XLOW FCB 00 00035 * 00036 1000 ORG S1000 00037 1000 CHANGE EQU • BEGIN WITH USER INPUT ADDRESS 00038 1000 CE 1061 LDX ■'•-STRING 00039 1003 BD E07E JSR PDATA1 00040 1006 BD E047 JSR BADDR 00041 1009 8D 46 CHA51 BSR ADD0 PRINT CURRENT ADDRESS 00042 100B BD EOBF CHA31 JSR OUT2H PRINT CURRENT DATA 00043 100E FF A00C STX XHI 00044 1011 BD E1AC JSR INCH GET USER RESPONSE 00045 1014 81 20 CMPA =$20 00046 1016 27 F3 BEQ CHA31 IF RESPONSE-" " THEN PRINT NEXT DATA BYTE 00047 1018 81 0D CMPA =$0D 00048 101A 27 ED BEQ CHA51 IF RESPONSE'CR THEN START NEW LINE 00049 101C 81 3B CMPA 00050 101E 27 01 BEQ CHA71 IF RESPONSE ";" THEN ENTER LOAD MODE 00051 1020 3F SWI IF RESPONSE WAS NONE OF ABOVE, RETURN 00052 ' 00053 1021 BD E055 CHA71 JSR BYTE WAIT FOR USER INPUT OF TWO HEX CHAR 00054 1024 09 DEX 00055 1025 A7 00 STAA X STORE IN LOCATION POINTED TO BY X-1 220 May 1979 © BYTE Publications Inc Circle 90 on inquiry card. Listing J, continued: 00056 1027 OD E1AC CHA75 JSR INCH WAIT FOR USER DIRECTIVE 00057 102 A 81 20 CMPA -$20 00058 102C 27 OA BEQ CHA81 ON SPACE INPUT PREP FOR LOAD ANOTHER BYTE 00059 102E 81 3B CMPA 00060 1030 27 OD BEQ CHA91 TRANSFER BACK INTO DISPLAY MO 00061 1032 81 OD CMPA =$0D 00062 1034 27 OF BEQ CHA95 ON CARRIAGE RETURN PRINT NEW ADDRESS 00063 1036 20 C8 BRA CH( i ■! IF NONE OF ABOVE, GET NEW ADDRESS TO START 00064 " 00065 1038 08 CHA81 INX 00066 1039 08 INX 00067 103 A FF AOOC STX XHI 00068 103D 20 E2 BRA CHA71 00069 103F 08 CHA91 INX 00070 1040 FF AOOC STX XHI 00071 1043 20 C4 BRA CHA51 00072 1045 8D OA CHA95 BSR ADDO 00073 1047 BD EOBF JSR 0UT2H 00074 104 A 09 DEX 00075 104B 09 DEX 00076 104C FF AOOC STX XHI 00077 104F 20 D6 BRA CHA75 00078 • 00079 1051 ADDO EQU • 00080 1051 CE 1061 LDX sSTRING PRINT "@",CR AND LF 00081 1054 BD E07E JSR PDATA1 00082 1057 CE AOOC LDX =XHI 00083 105A BD E0C8 JSR 0UT4HS 00084 105D FE AOOC LDX XHI 00085 1060 39 RTS 00086 • 00087 1061 1062 1063 1064 1065 1066 OD OA 00 00 40 04 STRING FCB SD,$A,0,0 '@,4 00088 END TOTAL ERRORS 6800 Register Display The program in listing 1 solves a major point of frustration for users of the 6800 processor with the MIKBUG operating sys- tem. With such systems, the user must in- sert the software interrupt (SWI, #$3F) instruction into the code and stop the program execution at that point every time a register display is desired. A software interrupt causes MIKBUG to gain control after outputting the contents of the regis- ters. Note that after using the software interrupt, the user must reset the program counter and other registers and run the program again. There is no practical way to single step through a program or to have lights which allow one to view registers during execution of a program. DISPL solves this problem when called as a subroutine. It prints all register contents at the point of call and then returns control to the calling program with all registers restored. Slight modifications will allow DISPL to do elaborate and useful functions. In- cluding a small supervisor routine in the DISPL routine will allow conditional regis- ter printing, or conditional software inter- rupt. Conditional printing is useful when Mike Hayes Tektronix 3311 Roselawn San Antonio TX 78226 IT'S HERE.. anti-magnetic protection for cassette-stored data TAPE* SAFE METAL CASSETTE SHIELDS Don't risk the erasure of valuable cassette-stored data through accidental magnetic-field exposure. Such irretrievable loss can occur during storage or transit if unprotected tapes are exposed to the mag- netic fields produced by motors, transformers, gen- erators, electronic equipment— even the intense transient fields induced by electrical storms. TAPE* SAFE Cassette Shields are constructed of the same special magnetic alloy used to shield cathode ray tubes and other magnetic-sensitive components. Heliarc-welded seams and hydrogen annealing as- sure optimum shielding properties. Each attractively- finished TAPE'SAFE Shield accommodates one cas- sette in its original plastic box. The handsome FILE DECK, in contrasting color, stores six TAPE'SAFE Shields (One FILE DECK sent FREE with each six Cas- sette Shields). Order direct from this ad. TAPE'SAFE Cassette Shields — $1 4.95 ea., postpd. Six or more at one time— $1 2.95 ea., postpd. Inquire about quantity discounts Data-Safe Products, Inc. 4737 Darrah St., Phila., PA 19124 • 215/535-3004 Dealer Inquiries Invited SPECIAL INTRODUCTORY OFFER Ship TAPE'SAFE Shields at $ 4 Ship FILE DECK Racks at $ ea. Total Enclosed S- -(check or money order) Pa Residents add 6% Sales Tax Name- Address L£! y Zin- — : i May 1979 © BYTE Publications Inc 221 Listing 1: 6800 register display program. Use of references to MIKBUG makes this program fully position independent. the user desires to display the registers just the first ten times through a loop, or perhaps just after the 100th time through a loop. This is implemented with just a simple counter and branch if greater than. Condi- tional software interrupt is extremely useful when the user knows that at a certain place in a program, a particular register should not exceed a given value. Obviously there are many variations on the sorts of small supervisor routines which can be added on to this basic program. Most are easy to implement. The idea for DISPL was derived from certain functions available with the Motorola Exorcisor system. Un- fortunately, no listings of those system programs were available to me, so I wrote the basic idea." 00001 NAM DISPL 00002A 0200 ORG $200 00003 E0CA A OUT2HS EQU $E0CA PRINT 2 CHAR FROM X 00004 E0C8 A OUT4HS EQU $E0C8 PRINT 4 CHAR FROM X 00005 E1D1 A PRINT EQU SE1D1 PRINT A CHAR FROM A 00006A 0200 00 A SAVCC FCB SAVE CONDITION CODES 00007A 0201 00 A SAVBR FCB SAVE B REGISTER 00008A 0202 00 A SAVAR FCB SAVE A REGISTER 00009A 0203 0000 A SAVX FDB SAVE X REGISTER 0001 0A 0205 0000 A SAVPC FDB SAVE PROGRAM COUNTER 00011 A 0207 07 DISPLY TPA TRANSFER CC TO A REGISTER 00012A 0208 07 TPA 0001 3A 0209 B7 0200 A STAA SAVCC 00014A 020C 32 PULA STORE IN . . . 0001 5A 020D B7 0202 A STAA SAVAR SAVCC SAVAR SAVBR SAVX 0001 6 A 0210 F7 0201 A STAB SAVBR CC A B X 0001 7A 0213 FF 0203 A STX SAVX 0001 8A 0216 30 TSX STACK HOLDS PC ON ENTRY 0001 9A 0217 A6 00 A LDAA 0,X 00020A 0219 B7 0205 A STAA SAVPC 00021 A 021C A6 01 A LDAA 1,X 00022A 021 E B7 0206 A STAA SAVPC+1 STORE PREVIOUS PC IN SAVPC 00023A 0221 CE 0200 A LDX #SAVCC 00024A 0224 BD E0CA A JSR OUT2HS 00025A 0227 BD E0CA A JSR OUT2HS 00026A 022A BD E0CA A JSR OUT2HS 00027A 022D BD E0C8 A JSR OUT4HS 00028A 0230 BD E0C8 A JSR OUT4HS OUTPUT CC,B,A,X,P 00029A 0233 86 0D A LDAA #$D 00030A 0235 BD E1D1 A JSR PRINT 00031 A 0238 86 0A A LDAA #$A CR,LF OUT 00032A 023A BD E1D1 A JSR PRINT 00033A 023D B6 0202 A LDAA SAVAR 00034A 0240 F6 0201 A LDAB SAVBR 00035A 0243 FE 0203 A LDX SAVX 00036A 0246 36 PSHA RESTORE ALL REGISTERS 00037A 0247 B6 0200 A LDAA SAVCC 00038A 024A 06 TAP 00039A 024B 32 PULA 00040A 024C 39 RTS 00041 END TOTAL ERRORS 00000. ^ \w ■[■ . i'i-M'V ■- ■':■■ l m U.I 2 I A t Invented by Forrest Mozer 222 May 1979 © BYTE Publications Inc Introducing— New, Low-cost, Fixed Vocabulary Speech Synthesizers for Computer Hobbyists or OEM use FEATURES Two 64-word vocabularies available: — Full spoken numerics plus a variety of —ASCII characters: numerics, alphabet, Clear, highly intelligible male voice All MOS-LSI circuitry 6-bit parallel strobed input No external clocks required Inputs are TTL compatible Analog Speech output signal Custom vocabularies can be produced measurement words punctuation 179 00 Boards with numbers & calculator functions. . . only $95.00 * I *Plus state sales taxes where applicable TELESENSORY SYSTEMS, INC. 3408 Hillview Ave., P.O. Box 10099, Palo Alto, CA 94304 Telephone (415) 493-2626 Circle 362 on inquiry card. Text continued from page 8: siderations already discussed in the forum published with your comment. Remem- ber, all programming languages are equivalent (eg: to a Turing machine), so there are no programs that will run in Pascal that won't run in BASIC. I don't mean to defend BASIC. It's slow and archaic. Butit(and FORTRAN) have lasted much longer than any of the block structured languages: ALGOL, PL/1, SIMULA, etc. (By "last," I mean that it is still in popular use.) How long will Pascal last? The ideas behind block structured languages are great, but they have yet to be implemented in an optimal form. John Beetem Quillen 4-1 Escondido Village Stanford CA 94305 Several comments. You are consider- ing the cost of a system from the ground up. Many people already have systems with large amounts of memory, and therefore the Pascal system addition is only $200. If you own a small business, the cost of buying a complete Pascal system versus a smaller system using BASIC is probably less once program- ming time is considered. Also, Pascal is now running on the Apple II computer. The Apple cuts off the cost of a terminal and brings you down to an 1800 dollar computer . . . RGAC PASCAL COMMUNICATION REQUESTED We are busy with the implementation of a high level language compiler and would like to get in touch with other groups who pursue similar goals. Here is a short summary of our project. The language at which we are aiming has the full expressional power of Pascal and will run on a p-code interpreter for a virtual machine. As our language will have special features to support the com- piler writer's task, we have chosen the name COSY-Pascal to distinguish our Pascal from the strictly defined language. We have planned additional features for the following compiler subtasks: syntax definition, attribute propagation, and definition table options. Design criterions for the extensions were economy of memory usage, user convenience and simplicity of implementation. Based on recursive descent LL(1) techniques, syntactic rules may be for- mulated in Backnus-Naur Form. The grammar is compiled almost as is, and will be interpreted at runtime. As with attributed grammars, variables may be associated with every nonterminal of the grammar, such that the variables of the dynamically last nonterminals are ac- cessible to the programmer. Error messages produced by other errors will be suppressed by the system. Presently we want to implement a strongly simplified version of Pascal. Most of the interpreter (6502 processor) and some support routines are imple- mented, but they are not yet intensively tested. A detailed specification of most of Pascal has been worked out and will be discussed. We hope to have some simple programs compiled and running soon. Bernhard Miller Mozartstr 1 1744 Kandel Norbert Gireitzke Lenzstr 75 Karlsruhe WEST GERMANY IMPROVING STATISTIC ACCURACY Alan B Forsyth's article "Elements of Statistical Computation" (January 1979 BYTE, page 182) pointed out how numerical errors can accumulate when computing means and standard devia- tions. Readers interested in more infor- mation about this topic should consult the December 1978 issue of PPC journal, the monthly publication of the Personal Pro- grammers Club for Hewlett-Packard pro- grammable calculator users. The article, "More Accurate Statis- tics," discusses in detail a method for ac- cumulating sums of data to compute means and standard deviations. The recurrence formulas, which can be used to store or delete data using the new method, are given, as well as the formulas which show how to compute other statistical parameters associated with the line of best fit for a group of data and the correlation coefficient. An HP-67/97 program is given which shows how to implement the new technique, and numerical examples are discussed. The method given can be programmed on any calculator or com- puter. John Robert Kennedy 11692 Chenault St #310 Los Angeles CA 90049 SOME INSIGHTS ON INFORMATION Thank you for publishing the fine arti- cle by Andrew Filo, on the biology of robots "Designing a Robot from Nature," (February and March 1979 BYTE). His article "turned on a little light." One light turned on in my head per day, or even per week, makes it all worth while. He reports that frog skin was moved from back to stomach, and from stomach to back. Irritating the stomach then caus- ed the frog to scratch his back, and ir- ritating his back caused the frog to scratch his stomach. I say: Aha. Packet-switching. Headers, with source address. The telegram, the telephone call, or the computer packet all come with a source address; a necessity if the information comes in on a port that has multiple users. 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 COMPAN\ A Dun & Bradstreel Company 35 Mason St., Greenwich, CT 06830 (203) 661-5400 I 1 FOR A ONE YEAR SUBSCRIPTION (13 ISSUES) SEND $32. TO: SUZANNE A. RYAN DATAMATION magazine 666 FIFTH AVENUE NEW YORK., NY 10019 Name Address City State/Zip . magazine Circle 94 on inquiry card. May 1979 © BYTE Publications Inc 223 Aha #2) I have always wondered how there could be as many nerves in my spine as there are sensors below. If things are party-lined, there don't have to be as many wires. Aha #3) Our sensors, for the most part, have very low data rates. Normally we are not irritated on many parts of our skin at once. Thre is plenty of time for many sensors to share a trunk in a party- line architecture. We are, I think, con- fused by an over-abundance of signals at once. By stimulating large areas of skin at one time, you know that something is happening, but you may not be able to separate the points. Aha #4) Think acupuncture. I have a doctor who, though educated on the US mainland, is Chinese. Dr Lam has studied acupuncture, and practices it, in conjunc- tion with normal medicine. My wife had cramps in her stomach area. They per- sisted. Dr Lam couldn't localize the trou- ble because a large area of muscles were fighting. He got out his needle and spun it into her foot, in a spot which he says is related to the stomach area. Within five minutes the muscles had relaxed. The re- maining pain was isolated in a small area. He could feel this area, and he diagnosed the pain as gall-bladder. A subsequent operation proved him right: many large gall-stones, one of which had plugged up the duct. What had the doctor done? He had biased (pushed the break button) the nerve from the stomach area to the brain, by getting at the nerve from another port. The brain didn't know the foot-signal from any other signal on the same trunk. The brain decided that there was no longer any pain in the stomach. Aha #5) This suggests that there are many party-lines in higher animals (and I am a computer man: I have no idea how high) and each of these goes to may diverse sensors. Aha #6) Today airplanes are using high-bandwidth coax from a string of sen- sors to the controls. They're on the right track. Give us enough time, and mix together enough scientists and engineers, give us the help of magazines like BYTE, and we may figure ourselves out yet. N | Thompson 1615 Wilder #401 Honolulu HI 96822 PASCAL UNEXPANDABLE Your position in favor of UCSD Pascal is valid only from the perspective of the buyer of a complete computer system who wants the manufacturer to supply all of the operating system software. This buyer is willing to accept the limitations of the software in order that he may take advan- tage of its being off the'shelf. The trend towards bundled packaging of Pascal, as NOW, FROM MOUNTAIN HARDWARE. THE 100,000 DAY CLOCK. ■,■■■■■■ Put your S-100 Computer on the clock. A real time clock could double the utility of your computer. Time events in 100/uS increments for up to 100,000 days (over 273 years). Program events for the same period with real time interrupts that permit pre- programmed activities to take place... without derailing on-going programs. Maintain a log of computer usage. Call up lists or appointments. Time and date printouts. Time events. An on-board battery keeps the clock running in the event of power outage. Mountain Hardware also offers a complete line of peripheral products for many fine computers s Available at your dealer's. Now. Mountain Hardware, Inc. 300 Harvey West Blvd. Santa Cruz, CA 95060 (408) 429-8600 well as other major operating systems and languages, places the buyer of such a pro- duct in the position where he or she in- itially gets a very good deal on a powerful system, but is then unable to expand that initial hardware and software without buying a whole new system. Of course, no such expansion need be contemplated by the majority of customers. But some peo- ple may prefer that their initial investment in a system be of continuing value as future additions are made. Although less elegant than UCSD Pascal, there are other software packages one can start with which allow users to implement their own expansions, such as the IPS system described in your January issue. Thus, while valid from the perspective of certain users, your position should be qualified to reflect the limitations of that perspective. George Lyons 280 Henderson St Jersey City NJ 07302 As a user of UCSD Pascal for several months now, I have yet to find an im- penetrable wall — a fundamental function that was not in the system. To be sure, there are implementation dependent aspects which I find less than perfect. An implicit file name search over all volumes mounted in the system would be a conve- nience and a slightly larger maximum size for procedure blocks would be most useful. But the system is fundamentally well thought out, and complete as a basis for much productive programming.. ..CH APL NOT DESIRED Periodically I see APL programs in BYTE. I would like to discourage as much as possible all usage of APL. When I was an undergraduate at Rice University, I had occasion to use APL quite a bit — first as the language I cut my programming teeth on, then as a graphics language, and finally, tutoring other students who were cutting their program- ming teeth. I saw these students acquire the same bad habits which I had learned from the language, and have just as hard a time breaking these habits as I did. APL can be wonderful fun when you first use it, and it has some marvelously powerful constructions which allow you to do many things very concisely. Graphics is a good example. But this same conciseness and the lack of control struc- tures encourage students to have competi- tions for one-liners. Everyday some poor soul would be elated about a new, com- pletely obtuse line of APL which would generate the first n prime numbers, or some such foolishness. This was fine, as long as these one-liners remained the pro- perty of the programmer. But have you ever tried to decipher another person's APL programs? It is literally easier to read an assembler program than a foreign APL program. Even commercial APL software is written obtusely. I spent a good portion of a week trying to decipher a workspace of graphics routines written by a well-known and well-respected manufacturer, and finally gave up. I've also found that I have a hard 224 May 1979 © BYTE Publications Inc Circle 257 on inquiry card. time understanding programs that I myself have written more than a month ago in APL. I've found that I no longer need APL, because I have a program- mable calculator, and it is my belief that APL would never have existed had Hewlett-Packard come out with the HP-65 before IBM decided that FOR- TRAN was not all that the engineer needed. Please let me encourage you not to spoil any of your good articles with an obtuse, unreadable, inefficient one-liner in APL. If APL persists, and our civilization perishes, APL will one day be dug up by a future archaeologist, who will try to decipher it, and find it more unreadable than Linear B. David A Stephens POB 877 Pecos TX 79772 GENEALOGICAL INFORMATION Help! I am a genealogist with a PDP-10, expanded memory and disk and paper tape storage. Where can I find pro- grams for the genealogist to use? Mrs G Creaser 4 Sunny Hill Rd Northboro MA 01532 Could any readers help trace some pro- mising programs?.. .RGAC FAST FOURIER TRANSFORMS ON YOUR HOME COMPUTER I was pleased to see the article by Stanley and Peterson on the fast Fourier transform, "Fast Fourier Transforms on Your Home Computer" (BYTE Decem- ber 1978, page 14). Aside from having many useful applications, this technique is complex enough to provide some fun and surprises when just playing with it. I would like to share some observations and prejudices which have arisen out of my personal experience with the FFT (fast Fourier transform). Although the Fourier transform sometimes gives unexpected results and may be used to couch propositions in a very elegant fashion, it may not always be the best approach to use. Every operation in frequency space has an equivalent operation in real space; therefore any procedure utilizing the Fourier transform may, in fact, be per- formed without it. Sometimes results which appear to be profound become just common sense when approached in this way. I think that authors should emphasize strongly (as did Stanley and Peterson) that the FFT is not an approximation, but just a faster way to compute the DFT (discrete Fourier transform). Approxima- tions occur only in the sense that the DFT is used to approximate the con- tinuous transform of a continuous (or analytic) function. These approximations arise from two sources, a finite sampling interval and a finite total sampling time. By their very nature, computers cannot calculate a continuous Fourier transform, and we are always forced to use the DFT. I personally would like to see the "sampling theorem" banned. At best its invocation obscures a perfectly clear concept, and at worst it is a tautology. The useful content of the theorem is con- tained in the observation that two points are needed to specify a sine wave of a given frequency. Used in this way, the theorem is misleading when it implies that we can safely discard parts of a signal (above a given frequency) because they "contain no information." I think it is more correct to say that the lost parts of the signal contain information that we do not want, cannot get, or do not need. In one sense "information" is a concept that we bring to a signal, not a property of the signal itself. In another sense, all frequencies contain some information, and a portion of that information is always lost during the sampling process. The sampling theorem is meaningless if, in the literal sense, a signal really con- tains no information above a given fre- quency (ie: all Fourier amplitudes are 0). It is then obvious that a knowledge of all amplitudes below this frequency is equivalent to knowing the signal. For a number of reasons the high fre- quency part of the DFT differs from the continuous transform we would like it to approximate. It turns out that the DFT is equivalent to sampling a segmental linear function, that is, to a linear inter- polation between data points. High fre- quency components (ie: near the limit decreed by the sampling rate) may be better approximated by multiplying the transform by a low pass filter function. The shape of a given filter corresponds to a particular method of interpolating between data points, and conversely any interpolation scheme yields its own filter function. Some other references which I have found very useful are: • Cooley, J W, P Lewis, and P D Welsh, "The Fast Fourier Trans- form and its Applications," IEEE Transactions on Education 12, 1969, page 27. • Higgins, R J, "Fast Fourier Trans- form: An Introduction with some Minicomputer Experiments," American journal of Physics 44. 1976, page 766. • Bice, P K, "Speed Up the Fast Fourier Transform," Electronic Design 9, 1970, page 66. I would be interested in any response to these comments. Kenneth H Douglass Phd Division of Nuclear Medicine Johns Hopkins Hospital Baltimore MD 21205 ■ 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. f \/f T/" Ah 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 "Manufacturers of Information Processing Supplies" Circle 6 on inquiry card. May 1979 © BYTE Publications Inc 225 Bccfc Reviews Dan Wingren 2714% Greenville Av Dallas TX 75206 Practical Microcomputer Programming: The INTEL 8080 by W J Welter, A V Shatzel, and H Y Nice Northern Technology Books Evanston IL 1976 306 pages hardcover, 6 1 A by 9% Inches $21.95 There was my new computer running correctly, lights twinkling alluringly, and there was my first serious problem: how was I to introduce keyboard written code into the thing? I was (that was three years ago) a green novice suddenly required to create a program in machine language, and the available literature helped not at all. The assembly manuals were written in language that a child could follow, but the applications manuals were written in the runes of the software priesthood, all abbre- viation and ellipsis. How I wished for a book to bridge the gap! Well, here it is. In fact it has existed since the end of 1976, but without the fan- fare it deserves. It introduces 8080 machine language and assembly language program- ming to the novice. The authors know that there is a difference between novice and ninny. They never talk down. They merely talk in clear English, in sentences with rec- CATCH THE S-100INC. BUS! k \ V \ V OUR v S-IDD / SPECIAL LIST CASH S.D. Versafloppy Disk Controller Kit PRICE PRICE 135.00 159.00 I.M.C. "Pro" Dual Extender Card 39.00 33.00 Ithaca Audio TRS-8016K Memory Upgrade Kit 140.00 119.00 T.E.I. 22 Slot Mainframe Fully Assembled with All Edge Connectors 845.00 633.00 Dynabyte MSC 16K Static 250 NS Memory - Assembled and Tested 555.00 440.00 IMSAIS-10 2-1 Kit - Serial Intertace 125.00 106.00 IMSAI l-KB-1 Microprocessor Controlled Keyboard 395.00 •170.00 Call for Our Prices on: Cromemco, IMSAI, Vector Graphic North Star, Sanyo Hazeltine, IMC plus MostOthi r Major Lines. Subject lo Available Quantities • P rices Qui )ted Include Cash Discounts Shipping & Insurance Extra Bus. . s- JDD,ir 1C. Address. . 7Wh ite Place Clarl <, N.J. 0706 6 Interface. . 201-C J82-1318 ognizable nouns and verbs, and they spell out words fully. They move fast, but they have time for colorful illustrations and allu- sions. They introduce binary operations with a passing reference to Paul Revere's lantern ("One if by land . . . .") and with the case of "If the shade is up don't come in. My hus- band is home." Examples abound in the form of short assembly language programs. These are always cogent and often related to actual problems that confront the typical home computer owner, such as how to read a keyboard. What's more, the book is a pleasure to handle: hardcover, sewn in sig- natures (so that it can lie on the desk open at any page), printed in clear book type on creamy matte paper. The first chapters focus on binary oper- ations, the Intel mnemonics, the elemental operations that they instigate, and the con- ventions of assembly language programming. On every page the authors spot and clear up the small ambiguities of technical jargon that can block understanding. For example, the Intel instruction MOV A,B only copies the contents of B register into A register and nothing gets transported bodily. Throughout, they use the word copy in pref- erence to move. They point out the fact that the zero flag in the status register reads zero when the result of an operation is nonzero and is one when the result is zero. And they explain that there is a difference between carry and overflow in the status register even though, as they point out, "the Intel literature has used them inter- changeably and in some places errone- ously." They go on, chapter by chapter, to shed light on binary arithmetic; multiplication and division in binary; the use of the stack pointer; the use of subroutines, arrays, and tables; how to convert between binary and decimal (and why the instruction DAA is not often used); a detailed explanation of input/output (I/O) and communication with a terminal; analog I/O; interrupt driven processes; and the debugging of programs. With this kind of introduction, the reader is then quite able to benefit from the many books and manuals that are directed toward the professional. The reader will learn best by actually trying the little programs that accompany the text, but in doing so should be pre- pared for some snags. The source listings frequently contain pseudoinstructions that are peculiar to the cross assembler used by the authors: ZAR, LLA, JEQ, and about a dozen others. These can be translated even by a beginner (with the help of the index) into conventional Intel instructions, but one wishes it were not necessary. The cross 226 May 1979 © BYTE Publications Inc Circle 316 on inquiry card. assembler was written by the authors for a Computer Automation LSI-2 machine. The home computerist might wish they had used one of the resident assemblers commonly available to home users, but evidently the book is aimed not only at the hobbyist but also at the college classroom, where the big equipment is more likely to be available. Almost a third of the book is devoted to a complete source listing of the cross as- sembler. Another substantial source listing, found in Appendix A, is the authors' "Hexadecimal Debug" program, and you may well want to put it into operation in your own system. It's nifty. Debug is an 880 byte program that enables the user to inspect and alter the contents of memory, to inspect and alter the registers, and to set breakpoints, all in unusually convenient ways. Remember, however, to mark all the odd pseudo- operation codes and replace them. You may also have to replace subroutine labels that duplicate the designations of registers A, B, D and H, if your assembler gets confused by such duplication, as mine does. Line 254 contains a misprint: the printed instruction is CPI ' ', whereas it should read CPI '.'; perhaps the period got lost when the dot matrix printout was reproduced." Structured Programming in APL by Dennis P Geller and Daniel P Freedman Winthrop Publishers Inc, 1976 Englewood Cliffs NJ $9. 95 Structured programming began with two insights: one embodied in a formal proof that any possible program logic could be ex- pressed in terms of a conditional branch and a conditional loop, and the other, Dijkstra's observation that the quality of programmers' work is a decreasing function of the number of GOTOs in their code. From these two in- sights has sprung a revolution in program- ming style among those who have accepted them, and angry arguments from those who haven't, and who feel put upon by those who insist on eliminating GOTOs altogether. This book simply shows how to use APL in such a way that only structured programs result, and makes virtually no mention of the term structured programming outside its title. It is written as an introductory text- book, interweaving lessons on APL functions and operators among chapters on IF state- ments and DO loops, other features of APL such as terminal use, workspace management and debugging aids, and apt quotations from Lewis Carroll 's The Hunting of the Snark. Coverage is thorough, and the level is ele- 64KB MICROPROCESSOR MEMORIES • S-100 - $695.00 • SBC 80/10 - $750.00 • LSI 11 - $750.00 • 6800 - $750.00 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. 16KB $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 CI-S100 64K x 8 liiiiliVp -- , ijMffiN frfis^ CI-1103 32K x 16 i>MiFiilIP[ll]|l!|!llll CI-6800 64K x 8 CI-8080 64K x 8 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. May 1979 © BYTE Publications Inc 227 fk'fsi'i-sP-G Structured Programming in AW- I r C ft" lit***' \t * * r* r^? ■ . . . ^ ■ mentary. Anyone who absorbs all the mate- rial of this book will need only study and practice on a variety of applications in order to be a competent programmer, something that cannot be said of most language man- uals which define the language but do not show the right manner of using it. The chap- ter on documentation is especially valuable, and would make an excellent addition to every APL public library system. Another useful feature of the book is the careful demonstration of the program devel- opment process, especially after the program is working and various features are being incorporated into the design, many in exer- cises for the student. Included in program development is provision for error checking of input, with various indicators of error or prompts to try again. This is an area in which APL excels if the programmer knows how to do it and takes the trouble. Functions can check their arguments and user inputs for type, size, range and other errors before performing any operations that could adversely affect data or otherwise cause trouble, and a general utility function to do this is provided that accepts as its arguments a condition to be checked and a message to print when the condition holds. The method used to diagram program structure is one that enforces the discipline of structured programming. It permits the nesting of loops and decisions, but does not have provision for going from one point in the program to any other. Once a program has been laid out in this manner, it is a trivial task to code the branch statements; and thus correct structure, though not efficiency, is assured. This is one of the sore points among nonstructured programmers. It is, of course, not mentioned in the text, except for a note in the preface expressing the hope that stu- dents will learn from the text to write work- ing (ie: correct) programs here, whether or not they may learn to write more compact, faster or more aesthetic programs later. The foreword claims that students using the material of this book learn more, faster, at lower cost in human and machine time than those using other approaches. I have no way of directly testing this myself, but I can say that it would not surprise me if it were true. This is the only APL textbook that is a programming textbook first and a language manual second; this is rare in any program- ming language. The only book I can compare it with is APL: An Interactive Approach, by Gilman and Rose, on the basis that both teach the language to the user, on line, giving examples and experiments to try. Gilman and Rose go more deeply into the language, but neglect programming style and tech- r\ B^TfE IS COMPLETELY INDEXED! h Relax... you no longer have to do a sequential search to order reprint articles. In addition to the 1975-1976 index, the 1977 and 1978 indices are now available. To receive your BYTE INDEX/REPRINT CATALOG(S) send 50 C for postage and hand- ling to BYTE INDEX, 70 MAIN STREET, PETERBOROUGH NH 03458. 1 An order form is included in the index package for convenient ordering of reprint articles. Just fill it in, enclose payment and return it to BYTE. .«- "k A FEW OF THE BEST 1977 Making Hash with Tables T Dollhoff An Inexpensive Joystick Interface T Buschbach Newt: A Mobile Cognitive Robot RHollis How lo Pick Up a Dropped Bit D Maurcr An APL Interpreter for Microcomputers M Wimble Control the World S Ciarcia How to Implement Space War D Kruglinski Kompuutar D Brader Building a Computer from Scratch H Jones The Computers of Star Trek K Schmucker The Digital Cassette Subsystem Rampil & Breimier Give Your Micro a Megabyte R Grappel Structured Program Design D Higgins Floating Point Arithmetic B Hashizunie 1978 Brains of Men and Machines E Kent Program Your Next EROM in BASIC S Ciarcia A Programmable Character Generator L Weinslein Give an Ear to Your Computer B Georgiou How to Choose a Microprocessor L Frcnzcl Who's Afraid of Dynamic Memories L Hauck Let Your Fingers do the Talking S Ciarcia A Tiny Pascal Compiler Chung & Yuen WADUZ1TDO L Kheriaty Computer Chess Programming the Spracklens Tune in & Turn On S Ciarcia Three Dimensional Plotting M Gottlieb Add a Voice to Your Computer S Ciarcia Designing Structured Programs C Weems 228 May 1979 © BYTE Publications Inc nique; they are not writing for novice pro- grammers as Geller and Freedman are. If you are confident of your style, read Gilman and Rose. If you are just starting, or don't know much about structure, design and documen- tation, Structured Programming in APL is the one for you. Better yet, read both. Mokurai Cherlin APL Business Consultants POB 478 Mt Shasta CA 96067" The Cheap Video Cookbook by Don Lancaster Howard W Sams and Co Indianapolis IN, 1978 $5.95 Don Lancaster stays on the sequel band- wagon with his new "cookbook." This time, the recipe is for a 7 integrated circuit design called TVT 6 5/8. This $20 circuit, along with software and module customizing, allows a wide variety of alphanumeric (such as 24 lines by 80 characters) or graphic (256 by 256) displays on standard television sets. A little extra software gives you multiple cursors, scrolling, and full editing features. The book's first chapter introduces the concept of "cheap video," and has a brief explanation of its two novel tricks: SCAN and upstream tap. Chapter 2 covers various software routines needed for a good display, each routine building on the last. The reader is encouraged to write improved versions. Routines covered include cursors, scrolling, graphics loaders, memory repacking (for 40 or 80 character lines), and the all-important (to "cheap video") SCAN "microinstruc- tion." Upstream taps, data-to-video con- version, bandwidth reduction, sync circuitry, and other hardware, as well as television modifications, are in chapter 3. Construction details in chapter four describe the main circuit and several "personality" modules. The fifth chapter addresses transparency, or how to do other things such as run BASIC, when the computer is not working with the display. The TVT 6 5/8 is designed around a 6502 microcomputer (KIM), but with mainly software changes a 6800 system should work just fine. Other processors, such as the Z-80, 8080, 1802, and 2650 should be usable, but would require more SPECIALIZING IN QUALITY MICROCOMPUTER HARDWARE INDUSTRIAL • EDUCATIONAL • SMALL BUSINESS* PERSONAL BUILDING BLOCKS FOR MICROCOMPUTER SYSTEMS, CONTROL & TEST EQUIPMENT R 2 I/O 2K ROM 2K RAM 3 Serial Ports 1 Parallel Port 16 K RAM FULLY STATIC MEMORY ECT-100-F RACKMOUNT CARD CAGES ECT- «s ""taw. *_ 1 «*„/ '^.•l,,,,,/, "$y POWER SUPPLIES, CPU'S, MEMORY, OEM VARIATIONS TT-10 TABLE TOP MAINFRAMES 763 RAMSEY AVE. HILLSIDE, N.J. 07205 ELECTRONIC CONTROL TECHNOLOGY (am en-mo Circle 1 20 on inquiry card. May 1979 © BYTE Publications Inc 229 work. Although the TVT 6 5/8 is built from only seven integrated circuits, and the circuit itself only costs approximately $20, there is more to it than first meets the eye. The author makes a few important assumptions. It is assumed that you already own a microcomputer (KIM in this case) that has sufficient programmable memory (up to 8 K bytes for 256 by 256 black and white graphics) to store the display. There must also be enough memory left over to run any cursor, loader, or other applications software. You must be willing and able to modify your microcomputer's memory to add a clever trick called an "upstream tap." Finally, you mustn't mind giving up 5 per- cent (for a single 32 or 40 character line display) to 50 percent (for 16 by 80 alpha- numeric displays) to 50 to 95 percent (256 by 256 graphics) of the processor's time so that it can control the display. As far as the television is concerned, you may have to adjust the horizontal hold and/or defeat the sound trap for a really good 24 by 80 display. Still, you get only a 5 by 7 dot matrix (it uses less bandwidth than a 7 by 9 matrix) and, if you aren't careful, the dis- play may still flicker. Cheap video is cheap because the memory (the single largest expense for a video display) is assumed to be available at no cost, and the processor is assumed to be available between 5 and 95 percent of the time to provide display timing. Whether you stick with the older all- hardware interface using counters and gates and registers, or try your hand at this approach of letting the processor do most of the dirty work, or even if you just are curious about how video displays work, this is a good reference book. It has several hints and tricks for reducing bandwidth require- ments, for generating suitable video and sync signals, and for making more general (module programmed) circuits which easily can be changed to provide different display formats. It even has complete schematics, printed circuit board patterns, and "nuts and bolts" instructions on how to build your own TVT 6 5/8. Proofreading was lax in the schematics section, though, so you have to be on your toes and understand basic electronics to catch and correct the many discrepancies in component types and values, as well as to follow the few unexplained circuit changes made from schematic to schematic. Glen E Monaghan 1405 C Paegelow Scott AFB IL 62225" Get Vour Documentation Together! BITS INC. PROUDLY PRESENTS THE BITS PROGRAMMER PAD FOR ASSEMBLY LANGUAGE PROGRAMMERS Improve your style with Bits Programmer's Pads. One side is an ingenious form, custom-tailored to the microprocessor you're programming: 8080A, 6800, Z-80, 6502 or 1802. The microprocessor's arch- itecture is laid out along with contiguous memory I spaces to allow you to work out critical memory al- locations, data movement, tables, and stack manipu- lations. This adds another dimension to your docu- mentation. The other side is for your program, with pre-num- bered lines and columns for addresses object code, labels, instructions, and those essential comments. If you're hand assembling your programs, these pads are a life saver! Write your source code first and later assemble by filling in the object codes and assigning memory addresses. To relocate or revise your program, just renew the address column with typewriter correction tape and renumber. Each 50 page pad is printed on a durable stock paper that can stand up to erasers and they're punched for a 3 ringed notebook, too. Protect your programs, make them easier to write, use, and understand. Catch those bugs early and run a clean program. Only $2.50 each (Please include $.75 for postage and handling) 8080A BITS • • • ' Bits S3" — ... u- • — .... "" ....... - ._: I — . - - ^ ^J - - ; ' :: -■ - : - FOR YOUR CONVENIENCE USE ORDER FORM ON PAGE RSVGTSG SidG IOC 25 Rt. 101 Peterborough, N.H. 03458 — Dial Bank Card orders 800-258-5477 (in NH call 924-3355) 230 May 1979 © BYTE Publications Inc Microcomputer-Based Design by John B Peatman McGraw-Hill, New York 540 pages, 6'A by 9!6 inches $24.50 Microcomputer-Based Design by John B Peatman is a combination text and reference book aimed at engineers who wish to learn how to design systems using microprocessor. It is written not in a dull, dry tone, but rather in a light style. The minimum re- quired background for this text is a rudi- mentary knowledge of logic (ie: transistor- transistor logic gates and flip flops) and the basic concepts of computer programming. The book develops hardware and software design skills upward from that point to a practical and useful level. A key feature of this book is the logical, lucid presentation of arguments present in the many illustrated design decisions. Microcomputer-Based Design is divided into seven chapters and six appendices. The chapters are fairly complete, in-depth entities and each contains a set of practical design problems and additional references. The references may be difficult to find for readers without access to an engineering library since many of the references are articles in engineering journals or manu- facturers' application notes. Chapter one is an overview of micro- computer applications focusing primarily on the distribution of "intelligence" to instruments and tools. Chapter two, "Microcomputer Registers and Data Manipulation", includes a brief discussion of numbering systems and the various, commonly encountered modes of addressing. This is followed by a good presentation of machine language instruc- tions, assembly language, and assembly language programming techniques. Chapter three considers computer hard- ware organization. Several different philo- sophies of commercially available micro- processor families are described. The char- acteristics of various logic families are con- sidered with an eye towards interconnection compatibility. Bus structures and their electronic implementation are described in some detail. Flags, interrupts, direct memory access control and programmable timers are also described with examples. Chapter four reviews the various char- acteristics of memory components and sys- tems. Included are sections on the imple- mentation of main power failure battery video * III 12" BLACK & WHITE LOW COST VIDEO MONITOR $149.00 LIST • Ideal for home, personal and business com- puter systems • 12" diagonal video monitor • Composite video input • Compatible with many computer systems • Solid-state circuitry for a stable & sharp picture • Video bandwidth— 12 MHz ±3 DB • Input impedance — 75 Ohms • Resolution — 650 lines Minimum IN Central 80% of CRT; 550 Lines Minimum beyond central 80% of CRT ref EIA RS-375 • Dimensions— 11.375" high; 16.250" wide; 11.250" deep (exclude video input connector) • Weight— 6.5 KG (14.3 lbs) net AVAILABLE FOR IMMEDIATE DELIVERY! LEEDEX Corporation ,^L20 2300 East Higgins Road • Elk Grove Village, Illinois 60007 • (312) 364-1180 • TLX: 25-4786 Generous dealer discount available Circle 203 on inquiry card. May 1979 © BYTE Publications Inc 231 backup systems and floppy disks. Chapter five examines peripherals. There are sections on 10 control and handshaking, timing and buffering. There are also dis- cussions of specific common microcomputer peripherals: keyboards, phototransducers, circuit testers, analog to digital and digital to analog converters, pressure transducers, optical displays, relay drivers, synchro- motors and printers. Finally, there are sections on universal asynchronous receiver- transmitters (UARTs), line drivers, the HPIB-IEEE 488 bus and self-test hardware. Chapter six describes the various options that exist in hardware and software develop- ment packages from prototyping boards to disk based operating systems. There is also a brief discussion of high level languages for microcomputers. Chapter seven describes in detail the algorithms for solutions to several common microcomputer software problems. Algo- rithms are described to read and to parse a functional keyboard input, self-test routines and number system conversion and mani- pulations. Real time programming con- straints are also considered. The set of appendices describes the char- acteristics of specific microcomputers. Each appendix covers the architecture and organi- zation of a particular processor integrated circuit. The rest of the integrated circuit set (memory, 10, etc) is also briefly covered. Appendices are included on the 4004, F8, 8080, 6800, COSMAC, and PPS-8 pro- cessors. It is refreshing to see that these appendices are more than just a reprinting of the manufacturers' specification sheets. On the negative side, there is a disturbing absence of discussion of any of the higher performance integrated circuits that were certainly available when this book was written. There is also inadequate treatment given to bit slice and microprogramming techniques. Software development by emu- lation is also omitted. The balance is, how- ever, overwhelmingly positive. This is a text which starts off quietly, never grows dull, and yet contains a great deal of sub- stance. There are sections on using esoteric devices like first in first out stacks (FIFOs) that I have previously never seen in a design text. Microcomputer-Based Design is a wel- come development. I recommend this book to advanced experimenters, undergraduate engineering students and practicing engi- neers. Ira Rampil 2412 Independance La Apt #103 Madison Wl 53704" PERSONAL INFORMATION MANAGEMENT SYSTEM Personal Informa- tion Management System is indeed a data base manage- ment program. It's carefully customized for the small system owner. You can de- fine and construct your own data bas- es. Each record can contain up to ten fields. You define what goes in each. Then modify it whenever you want through use of just three commands. You can search, list, sort and also sum col- umns of numbers. Complete source list- ing is included. Check No. 10 on the coupon. ONLY $9.95* Z80 INSTRUCTION HANDBOOK ZBO Your complete guide to the powerful Z80 instruction set. Ma- chine codes are pre- sented in both octal and hexadecimal format. A conveni- ent index lists all instructions alpha- betically along with machine codes and timing information. Industry standard mnemonics are used throughout. A prac- tical guide for the novice, intermediate or advanced programmer. Pocket size. Check No. 20 on coupon. JUST $4.95* CALCULATING WITH BASIC Here's a variety of programs in BASIC language to help the student, scientist, engineer, technician or hobbyist apply the language to practical problems. Covers mathematics, finance and statis- tics, mechanical en- gineering and elec- tronics. For fun be- tween such serious applications. Hang- man and Space Cap- ture games are also provided. A real steal at such a low price. Order now. Available for shipment in March. Check No. 30 on coupon. ONLY $7.95* LEARN MICROCOMPUTERS A new multimedia information package. Includes text (Understanding Microcomputers) plus high- quality cassette. For the beginner. Covers all the basics quickly, easily and enjoyably. All the funda- mentals behind the operation of virtually every microcomputer. Clear. Concise. Tells what to look for in buying a microcomputer. Companion tape includes chapter-by-chapter synopsis of the book. Check No. 40 on coupon. JUST $14.95* 6800 & 8080 SOFTWARE COOKBOOKS Now you can cook up mouthwatering programs. Delectable "how to" facts include 8080 or 6800 instruction sets. How to manipulate stacks. Flow charts. Source listings. General purpose routines for multiple precision operation. Programming time delays for real time. And much more. In- cludes floating point arithmetic routines. Check No. 50 (6800) and No. 60 (8080) on coupon. ONLY $10.95* EACH 4HH SCELBI Publications [^ P. O. Box 133 PP STN, Milford, CT 06460 ♦IMPORTANT ORDERING INFO! Include 75 cents postage/hand- ling for each item. Prices shown are for North American customers. Master Charge, VISA, Postal and Bank Money Orders preferred. Per- sonal checks delay shipping up to 4 weeks. □ No. 10 □ No. 20 □ No. 30 □ No. 40 □ No. 50 □ No. 60 Name (please print) Card No. Address Bank No. Exp. City/State . Signature _ Zip Amt. Enclosed 232 May 1979 © BYTE Publications Inc. Circle 318 on inquiry card. A Mini-Disassembler for the 2650 Software development in machine lan- guage is a difficult task. A substantial part of the frustration can be traced to the difficulties of debugging a program when one must work from a printout that has no flow, no mnemonics, and bears little resemblance to any real world logic system. A disassembler can save the programmer countless headaches by correcting these deficiencies. This particular disassembler was constructed to aid in the development of software for a dedicated controller for an amateur radio repeater. The basic requirements for our disassem- bler are that it use a small amount of memory (this version uses less than 750 bytes of mem- ory, satisfying our definition of small), and that it provide a readable listing that includes mnemonics. The only restriction of this ver- sion is that it will print a maximum of only Edward R Teja Gary Gonnella 2140 Lullaby La Anaheim CA 92804 hexadecimal FF addresses (eg: hexadecimal 0400 to 04FF) without being restarted. Using the Disassembler The disassembler is employed in a straight- forward manner: 1 . Load the program from the listing. 2. Using the Signetics PIPBUG monitor, GOTO the initial address of the dis- assembler. 3. Input a 4 digit address for the program to be listed (include leading zeroes). 4. Input a 2 digit stop address. Text continued on page 236 New North Star Software • DOS+ $35 Enables any program to execute all North Star Disk and/or Meca Tape commands. Allows batch command list and more. • PRO-TYPE WORD PROCESSOR $75 Easy to learn. Combines text input, editing and printing in one program. Features right margin justification, tabs, paging, underlining, relocation of text blocks, etc. Requires only 8K of memory. Manual alone, $25. • GUIDE TO BASEX $33 A new interactive compiler similar to BASIC for 8080-type microcomputers (Z-80, 8085). Executes programs up to 10 times faster than equivalent programs while requiring about half the memory space. Features include: array variables; string manipulation; arithmetic operations on signed 16 bit intergers; and versatile I/O communication functions. Manual alone $8. • BASEX TAPE and DISK GUIDE $35 Allows your BASEX programs to access up to four North Star Disk and/or Meca Tape drives. All operations can be executed from the keyboard. Manual alone $20.00. Specify: North Star Disk/Meca Tape/Other Send for Free Literature INTERACTIVE MICROWARE INC. P.O. Box 771 -M- State College, PA 16801 ■■■■■ (814) 238-8294 ■ Ujl Circle 1 75 on inquiry card. May 1979 © BYTE Publications Inc 233 Listing I: A 2650 disassembler. Technically, this listing is a disassembled assembly listing of a disassembler. The program is designed to take Signetics 2650 machine language code and transform it into an assembler-like listing. Hexadecimal ddress Code 0440 76 40 0442 77 02 0444 06 FD 0446 3F 02 24 0449 01 044 A CE 64 00 044 D DA 77 044 F 06 FE 0451 0E 63 FF 0454 C1 0455 3F 02 69 0458 DA 77 045A 3F 03 5B 045 D 04 02 045F CC 04 FC 0462 OD 84 FD 0465 06 F8 0467 04 03 0469 07 DB 046B CC 04 FB 046 E OE 63 F3 0471 E1 0472 98 OE 0474 CF 04 F9 0477 04 09 0479 CC 04 FA 047C 3F 05 E4 047 F 1F 04 DO 0482 87 03 0484 DA 68 0486 04 01 0488 CC 04 FC 048B 04 OC 048 D CC 04 FA Operator PPU PPL LODI BSTA LODZ STRA BIRR LODI LODA STRZ BSTA BIRR BSTA LODI STRA LODA LODI LODI LODI STRA LODA COMZ BCFR STRA LODI STRA BSTA BCTA ADDI BIRR LODI STRA LODI STRA Operand Hexadecimal Address Code 0490 06 FC 0492 OE 63 F7 0495 E1 0496 98 09 0498 CF 04 F9 049 B 3F 05 E4 049 E 1F 04 DO 04A1 87 03 04A3 DA 6D 04A5 F5 10 04A7 18 03 04 A9 1F 05 15 04AC F5 08 04AE 1C 05 00 04B1 07 AB 04 B3 04 14 04B5 06 02 04B7 E1 04B8 99 09 04BA CF 04 F9 04BD 3F 05 28 04 CO 1F 05 D2 04C3 84 04 04 C5 87 OC 04C7 FA 6E 04C9 84 17 04CB D8 68 04CD 1F 00 00 04 DO 3F 00 8A 04D3 OC 04 FE 04 D6 E4 01 04 D8 1E 00 00 04DB OD 04 FF 04DE E1 Operator LODI LODA COMZ BCFR STRA BSTA BCTA ADDI BIRR TMII BCTR BCTA TMII BCTA LODI LODI LODI COMZ BCFR STRA BSTA BCTA ADDI ADDI BDRR ADDI BIRR BCTA BSTA LODA COMI BCTA LODA COMZ Operand 2 2 1 3 3 3 3 2 1 3 1 3 2 1 1 3 3 3 3 2 3 3 2 1 1 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 © iCQMRJTHQNXCSt MATVSWmCAl- APOuCAnCr^B SeFMCE~ 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 Send for FREE Software Catalogue (Including listings of hundreds of TRS-80 programs available on cassette and diskette). 234 May 1979©BYTE Publications Inc Circle 159 on inquiry card. Circle 266 on inquiry card. Listing 7 continued: 04DF 9E 00 00 BCFA 2 04 E2 1F 04 4F BCTA 3 04 E5 00 LODZ 04 E6 00 LODZ 04E7 00 LODZ 04 E8 00 LODZ 04 E9 00 LODZ 04 E A 00 LODZ 04 EB 12 13 SPU 04ED 74 75 CPU 04EF 76 77 PPU 04F1 B4 B5 TPU 04F3 40 HLT 04 F4 92 LPU 04F5 93 LPL 04F6 CO NOP 04F7 00 LODZ 04 F8 30 RDCZ 04 F9 EA 09 PPL 04FB 03 LODZ 3 04FC 01 LODZ 2 04FD 04 FE LODI 04FF * 12 0500 04 20 LODI 0502 07 93 LODI 3 0504 E1 COMZ 1 0505 99 06 BCFR 1 0507 CF 04 F9 STRA 3 050A 1F 05 28 BCTA 3 050D 87 03 ADDI 3 050 F 84 1F ADDI 0511 D8 71 BIRR 0513 1B 72 BCTR 3 0515 04 10 LODI 0517 07 7B LODI 3 0519 E1 COMZ 1 051 A 99 06 BCFR 1 051C CF 04 F9 STRA 3 051 F 1F 05 28 BCTA 3 0522 87 03 ADDI 3 0524 84 1F ADDI 0526 D8 71 BIRR 0528 F5 OC TMII 1 052A CO NOP 052B 98 OF BCFR 052D 04 03 LODI 052 F CC 04 FC STRA 0532 cc 04 F7 STRA 0535 04 06 LODI 0537 CC 04 FA STRA 053A 1B 37 BCTR 3 053C F5 08 TMII 1 053 E 98 OF BCFR 0540 04 02 LODI 0542 CC 04 FC STRA 0545 CC 04 F7 STRA 0548 04 09 LODI 054A CC 04 FA STRA 054D 1B 24 BCTR 3 054 F F5 04 TMII 1 0551 98 11 BCFR 0553 04 02 LODI 0555 CC 04 FC STRA 0558 04 01 LODI 055A CC 04 F7 STRA 055D 04 09 LODI 055F CC 04 FA STRA 0562 1B OF BCTR 3 0564 04 01 LODI 0566 CC 04 FC STRA 0569 04 00 LODI 056B CC 04 F7 STRA 056E 04 OC LODI 0570 CC 04 FA STRA 0573 3F 05 8A BSTA 3 0576 04 01 LODI 0578 CC 04 FB STRA 057B 07 77 LODI 3 057D OC 04 F7 LODA 0580 83 ADDZ 3 0581 CC 04 F9 STRA 0584 3F 06 02 BSTA 3 0587 1F 05 D2 BCTA 3 Listing 7 continued on page 236 CAMAC Complete CAMAC interface handles up to 10 CAMAC crates Complete system consists of one S-100 Circuit Board and one Byte Control Station per CAMAC crate Cabling - 50 conductor ribbon-cable, daisy-chained. Max. cable length - 150 ft. Full interrupt capability with RST address switch settable on S-100 Circuit Board Data transfer through 8 input/output ports or memory locations ■ JiL.J.-ii ,., J _ DELIVERY FROM STOCK S-100 CIRCUIT BOARD $250.00 BYTE CONTROL STATION $750.00 XYBASIC $475.00 NANOMETRIC SYSTEMS, INC. 451 SOUTH BLVD. . OAK PARK, IL 60302 . (312) 524-1348 The ftlfiQ fiUHl %J l\# \# ! ELECTRONICS An S-100 Bus Adapter/Motherboard fortheTRS-80 plus a whole lot more!!! %"* S-100 BUS INTERFACE 6 SLOT MOTHERBOARD The HHIII allows a Radio Shark TKS-HIl computer to be interfaced in I he |jopular SHU) I In si fur memory expansion iind extended I'll capabilities, Km- example, you an now easily add man memory, floppy disc systems. PIIOM boards, printer interfaces, multipurpose VQ boards. AC device controller*, and a whole hoot of other varied periph* The B1O0 hw Ite own built-in <> slot motherboard which include* our unique card guide .system which keeps the boards in their places. The 811111 bus support circuitry and sockets for eight lliK dynamic RAM chips allowing you to expand (he mem- ory of yourTKS Ho bv lliK without lutvnu; to buy any S-100 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 S185* • AVAILABLE IMMEDIATELY If you purchased an expansion memory kit Tor TRS-Rtl you could M lefl with eight -IK RAM chips and nowhere to put them] Well, they can no in the RAM sockets instead! That's right, you can use either 4K or l«K chips and kd- dress them anywhere you like. The SlIH) fair, .< lull RS-j;i2 2U ma serial interface whVs features include: RSS3S and 20 ma current loop interface, software programmable baud rate from DC lo 66K baud, Software programmable modem control lines, on board l)B-"J5 connector and much more The slOO also has an 8 bit parallel input port anil an 8 bit parallel output port. Both are latched, have bcth pusitive and negative si mix- inputs and outputs and have plenty of drive capability PRICES START AS LOW AS $185* (S-ioo BUS INTERFACE ONLY) Ruh) S ELECTRONICS 1429 Maple St. San Mateo, CA 94402 (415) 573-7359 DEALER INQUIRIES INVITED •Extra S-100 connectors. RAM support. I/O circuitry optional USA DOMESTIC PRICE ONLY. Circle 172 on inquiry card. May 1979 © BYTE Publications Inc 235 Circle 265 on inquiry card. With our new IEEE- 488 Interface Our popular series 40 printers are now available with an IEEE-488 compatible interface or an industry standard Buffered Parallel interface. Both interfaces include a line buffer and software addressability. Featuring our famous commercial quality construction, the new models start at $585 in singles. Other models available are the low cost Parallel ASCII starting at $425 and an RS232/Current Loop interface begin- ning at $5 75. Generous OEM discounts are available. All models are complete stand-alone units with a 40 column impact dot matrix printer and a 64 character ASCII set. Includes power supply, casework and interface electronics. For more information write to: MPI 2099 West 2200 South. Salt Lake City. Utah 84119 or call (801) 973-6053 (1% TSN d TRS-80 OWNERS LISTEN TO THIS.. There's a CT-1 SPEECH SYNTHESIZER for you. V O 1 ^ f^^^^^^^^S r=^\ That's right. The famous Computalker CT-1 Speech Synthesizer that produces highly-intelligible natural sounding speech can now be installed on your TRS-80. Completely self-contained, the Model CT-1T comes with its own chassis and power supply, on-board audio amplifier (2 Watts), CSR1 software, and inter- connect cable. The CT-1T comes with complete documentation and is avail- able on either 5'A inch diskette or cassette. TRS-80 Level Hand 16Kwords memory required, 32K words recom- mended. SAVE $100 SPECIAL INTRODUCTORY PRICE $495 236 May 1979 © BYTE Publications In Suggested retail price is $595 Calif, residents add 6% sales tax. COMPUTALKER CONSULTANTS 1730 21st St., Suite A Santa Monica, CA 90404 (213) 392-5230 Circle 48 on inquiry card. Text continued from page 233: The Listing Format Example: 0765 04 20 00 LODI T f | j. A i Add re SS First Byte [op code)- 1 Secon i Byte (if used) ' Third Byte Mnemonic; / I-F . i, J\ ^ 1 1 LoL.U J p/\/ K/ V Listing 1 continued Hexadecimal Address Code Operator Operar 058A 06 OC LODI 2 058C 0E 65 9B LODA 2 058 F E1 COMZ 1 0590 98 05 BCFR 0592 04 01 LODI 0594 CC 04 FC STRA 0597 FA 73 BDRR 2 0599 1F 05 A9 BCTA 3 059C 14 RTCI 059 D 15 RTCI 1 059 E 16 RTCI 2 059 F 17 RTCI 3 05A0 34 RTEI 05A1 35 RTEI 1 05A2 36 RTEI 2 05A3 37 RTEI 3 05A4 94 DARI 05A5 95 DARI 1 05A6 96 DARI 2 05A7 97 DARI 3 05A8 00 LODZ 05A9 F5 03 TMII 1 05AB 98 07 BCFR 05AD 04 33 LODI 05AF CC 04 F8 STRA 05B2 1B 1B BCTR 3 05B4 F5 02 TMII 1 05B6 98 07 BCFR 05B8 04 32 LODI 05BA CC 04 F8 STRA 05BD 1B 10 BCTR 3 05BF F5 01 TMII 1 05C1 98 07 BCFR 05C3 04 31 LODI 05C5 CC 04 F8 STRA 05C8 1B 05 BCTR 3 05CA 04 30 LODI 05CC CC 04 F8 STRA 05CF 1F 05 E4 BCTA 3 05D2 CO NOP 05D3 07 01 LODI 3 05D5 3F 03 5D BSTA 3 05 D8 0C 04 F8 LODA 05DB 3F 02 B4 BSTA 3 05DE 3F 00 8A BSTA 3 05E1 1F 04 D3 BCTA 3 05E4 0E 04 FC LODA 2 05E7 0D 84 FD LODA 1 05EA 3F 02 69 BSTA 3 05ED 07 01 LODI 3 05EF 3F 03 5D BSTA 3 05F2 0D 04 FE LODA 1 05F5 85 01 ADDI 1 05F7 CD 04 FE STRA 1 05FA FA 6B BDRR 2 05FC OF 04 FA LODA 3 05FF, # 3F 03 5D BSTA 3 0602 0E 04 FB LODA 2 0605 0D 04 F9 LODA 1 0608 0D 25 9B LODA 1 060 B 3F 02 B4 BSTA 3 060 E FA 78 BDRR 2 0610 07 01 LODI 3 0612 17 RTC 3 Listing 7 cor tinued. 0613 -5A -49 -52 -41 -4C -4F -44 -45 -4F -52 -41 -4E -44 -49 -4F -52 0623 -41 -44 -44 -53 -55 -42 -53 -54 -52 -43 -4F -4D -42 -43 -54 -42 0633 -53 -54 -42 -52 -4E -42 -53 -4E -42 -43 -46 -42 -53 -46 -42 -49 0643 -52 -42 -44 -52 -00 -00 -00 -52 -54 -43 -52 -44 -43 -52 -54 -45 0653 -52 -52 -52 -52 -44 -45 -52 -44 -44 -00 -00 -00 -00 -00 -00 -44 0663 -41 -52 -57 -52 -43 -00 -00 -00 -52 -52 -4C -57 -52 -45 -57 -52 0673 -44 -54 -4D -49 -00 -00 -55 -53 -50 -4C -43 -50 -55 -43 -50 -4C 0683 -50 -50 -55 -50 -50 -4C -54 -50 -55 -54 -50 -4C -48 -4C -54 -4C 0693 -50 -55 -4C -50 -4C -4E -4F -50 -0E -OE -OC -8E -OC -8B -4B -2D In any command dealing with registers, the R/V column represents the register number. In all other cases the R/V column represents the V (value or condition) field. The total memory used in this listing is from hexadecimal 0440 to 069A. Areas 04EB to 04F2 and 04F3 to 04F6 are used as tables of unique codes. 04F7 to 04FF is a scratch pad storage area (eg: STOP, START addresses). The area from hexadecimal 059C to 05A7 contains a table of op codes that are one byte long but which have a format of two bytes. Hexadecimal 0613 to 069A is used for storage of ASCII characters which are used for mnemonics. Storage Area Definitions 04F7 = Address mode 00=Z, 01=1, 02=R, 03=A 04F8= R/V of op code 04F9 = Indexing for mnemonics print 04FA= Number of spaces between data and mnemonic 04FB = Number of letters in mnemonic 04FC = Number of bytes in command 04FD= High order start address 04FE = Low order start address 04FF= Stop address This is not a refined program by any means: with some work it could reside in less memory and perhaps be more efficient. Its only intent is to be a development tool, and it does this well. It has helped make software development for our controller more like higher level language programming." RAM CHIPS 4044 TYPE 4Kby1 — 18-pin — 5V, 5% supply These are the same factory prime chips used in our premium quality RAM boards. May be 4044, 4041 , 5257, 6641, or 9044, depending on manufacturer. All have 4044 pinout and timing specs. All guaranteed 30 days. 1-31 chips 32-63 64-99 100-499 250 nsec. $7.50 6.50 5.75 5.50 450 nsec $6.50 5.50 4.75 4.50 Circle Inquiry number for free newsletter. i Seattle Computer Products, Inc. ^■■♦-^ 1114 Industry Drive, Seattle, WA. 981 88 (206) 575-1830 Computer Lab of New Jersey Computer Lab sells the best S-100 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. LIST PRICE OUR CASH PRICE SSM I/0-4 Kit $149.95 $128.20 Integral Data Systems IP-22S Printer P1210 Option -add Graphic Option - add $949.00 $811.39 $ 33.34 $127.39 Vector Graphic 8K Ram $245.00 $209.47 Thinker Toys Speakeasy I/O Kit $130.00 $111.15 Subject to available quantities. Prices quoted include cash discount. Shipping and Insurance extra Call for our prices on: Cromemco, Godbout, IMSAI, IMC, Meca, Micropolis, Problem Solver, SSM, Sorcerer, Vector Graphic Computer Lab of New Jersey 141 Route 46 • Budd Lake, N.J. 07828 Phone:(201)691-1984 HOURS: Mondays Friday: 12 to 6, Tuesday-Thursday: 12 to 9 Saturday: 1 to 5 Call or write for our free catalog & price list Circle 330 on inquiry card. May 1979 © HYTE Publications Iiil 237 Aids for Hand Assembling Programs BRAVEC The program takes a 16 bit number ORigin and adds two to it. The new number then is subtracted from another 16 bit number, DEstination. The difference, which may be positive or negative, in two's complement, is stored in POINTL. The difference is also examined to determine if it is larger than +127 (if positive) or smaller than —127 (if negative). If this is the case, FF is loaded into POINTH; otherwise 00 is loaded. POINTH and POINTL are then displayed by transferring control to the (KIM) opera- ting system. Listing 1: Program descrip- tion for BRAVEC. This description should be the first step taken when writ- ing a program. Erich A Pfeiffer PhD Wells Fargo Alarm Services Engineering Center 1533 26th St Santa Monica CA 90404 Resident assembler programs and inter- preters for high level languages are avail- able increasingly for microcomputer systems based on the more popular micro- processors. Nevertheless, many operators of small microcomputer systems are unable to use such programs because their systems are not large enough to support them. Unless they are lucky enough to have access to a timesharing service or to some larger computer which supports a cross assembler, their only way of developing a usable object program is to assemble it by hand. While the mere idea of such an endeavor might horrify any programmer who is used to working with large machines, the hand assembly of shorter programs for 8 bit microprocessors actually is not very difficult. It has been my experience that the assembly of programs can be greatly simplified and the likelihood of errors can be reduced by using some simple aids in the assembly process. One of these aids is in the form of hard- ware and consists of a special program assembly form. The software aids are several short utility routines which run even on the smallest microcomputer systems. Develop- ment of the assembly method described in this article is based on experience gained from working with programmable calcu- lators of the keyboard language type. Matt Biever of the Pro-Log Corporation has long been advocating some of the tech- niques that I am using. The article's as- sembly method is used for program develop- ment for a KIM-1 microcomputer. It can be adapted easily for other microcomputer systems as long as they use an 8 bit pro- cessor. The assembly method will be demon- strated with a sample program. Before writing a program, it is a good idea to put down in writing what the pro- gram is supposed to do. Such a program description, as shown in listing 1, might state any limitations on the magnitude of variables used or might indicate what happens if these limitations are exceeded. The next step is to develop a concept of the program in the form of a flowchart as in figure 1. While the symbols used in such charts are standardized, the chart's degree of detail is a matter of personal preference. From program descriptions and flowcharts, one can determine how many memory locations or registers will be nec- essary to store data and temporary results. These locations should be written in the program register table as shown in table 1. This table also contains the addresses of sub- routines or registers of the monitoring system that are called by the program, or of PIA registers that will be addressed. The table is similar to the symbol table printed by the computer during the machine assembly of a program. 238 May 1979 A # a- 6 02 ^ 7 IS AbC Z- O&LO 8 00 ^^ 9 010 act k£LO A 02 ^" B £& ZAtC ;z- OA.HI C 1 _^-"' D *S bBLO S7A ■z- 04^0 E oo ^~ V F W see Q /0 AS Lt>A Z- D&-0 1 02. < ^-*' 2 B5 sac Z- OteO 3 00 ^y \ 4 ?S STA Z- P0//tTL a 5 PA "' i 6 AS LbA zz- DBMI -*? 7 03 ^y 8 5S ssc ;z. 06HI 9 01 ^y A *s tf>A 5Z. P0/A7Z B f*A S r C ft? Bc& At&Gr D o4 ^y E to fiTL- oirr F 01 VA-BECC Program Assembly Form 240 May 1979 © BYTE Publications Inc columns. It should be noted that the Page column refers to memory pages while the Page-of heading indicates pages of coding forms. The program is written by entering the mnemonic of the first instruction into the MNE column of line 0. Many of the instructions of a microprocessor can occur in more than one addressing mode. During machine assembly, the assembler program deducts the addressing mode from the for- mat of the operand or the definition of a symbol. When hand assembling a program it is advantageous to specify the addressing mode in the Mode column. Immediate Listing 2 continued: Program: 6/tAl/ad Page 2 of 2- Date: Programmer: Page ADD OPC Label MNE Mode Operanc N Comment •20 *1 FLAG- LbA # MFF i f 1 FF ^* 2 8^ stA Z POIWH 3 F3 ^-^ i ' 4 4C SMP A6$ STAfiT f 5 4F ^^ 6 tc ^\ ' 7 10 A/5G- 6 PL FLAG- 8 F7 ^^ 9 4 T F 1C ^ i 1 2 3 4 5 6 7 8 9 A B C D E F VA-BECC Program Assembly Form Circle 366 on inquiry card. in r zsssisi- Immediate Dallas Openings Texas Instruments has immediate openings for highly motivated, talented individuals with interest in the areas of robotics and pattern recognition. You will be a member of a team whose function is to develop and apply advanced technologies, design and implement working sys- tems, and develop state-of-the-art tools and procedures for a broad range of industrial automation applications. We have positions for innovative individuals with background in: Hardware/Software Computer Architecture Operating Systems Systems Programming Mini/Micro Assembly Language Programming Electro Optics/Video Display Systems Applications Robotics Computer Vision System Computer Speech I/O Intelligent Machines Servo Systems If you have an Associate or higher degree, or equivalent experience, and are looking for a challenging op- portunity in any of the above areas, send your resume in complete con- fidence to: Staffing Manager/P. O. Box 225474, M.S. 217/Dallas, TX 75265. Texas Instruments INCORPORATED An equal opportunity employer M/F May 1979 © BYTE Publications Inc 241 mode addressing is commonly indicated by the symbol #. For other addressing modes, suitable abbreviations of the column head- ings in the programmer's reference card should be used. For operations which have only one addressing mode, the Mode column is left empty. The addressing mode deter- mines how many address bytes will have to follow the op code byte. After filling in the Mode column, the programmer should cross out the appropriate number of lines in the MNE column. This reserves the correspond- ing memory locations for the address or operand part of the instruction. The Label column will carry an entry for two conditions only: • If the line contains the start of a subroutine. • If the line is the destination of a conditional or unconditional jump or branch instruction. While assembly programs sometimes put certain limitations on the choice of labels, any suitable word or letter and number combination can be used as a label for hand assembly. However, it makes sense to pick a word or abbreviation that indicates what Get your PC masters in as little as 2 weeks At Echo Design your circuit drawings can be con- verted into finished artwork masters in only 2 to 6 weeks, depending on complexity. We do board layouts for many of the biggest names in the business. And we have broad capability. Such as computer boards having 450 ICs. Choose any or all these services: • Layout (to digitizing • standards if desired) • • Tape-up (artwork) • • Fab drawing • Assembly drawing Schematic drawing Bill of material Printed board Place a call now to John Offenbacker or Al Chew and get your new board moving at competitive prices. FREE Ask for a copy Basic Guidelines for Printed Circuit Partitioning echo DESIGN AND DEVELOPMENT CORPORATION 195 EAST GISH ROAD • SAN JOSE, CA 95112 408-292-0918 We also provide contract technical personnel world wide the subroutine or branch destination is doing in the program, (ie: "WAITLOOP," "COUNT," or simply "LOOP 7"). The next column to fill in is the one with the heading Operand. When writing pro- grams for machine assembly, the program- mer enters a symbolic label in this field and leaves it up to the assembly program to figure out what to do with it. When writing for hand assembly, the programmer can make the task easier by being a bit more specific. The operand can be one of the following things: 1. In the immediate addressing mode, it is simply the number that is to be entered by the operation. Rather than give this number a symbolic name which is defined somewhere in a symbol table, it is much easier to enter it directly in the Operand column. One has to be careful to remember which number system is being used. A num- ber without a prefix indicates decimal notation. The prefix % indicates binary notation. A bit mask for bit 2 and 0, for example, would have the operand % 0000 0101. If the number is in hexadecimal form, the prefix $ would normally be used, but in this case it is much simpler to enter the hexadecimal number directly in the OPC column of the following line. 2. With a jump or branch instruc- tion, the operand symbol indicates the destination of the operation. The oper- and of such an operation must have a counterpart in the label column some- where in the program. The only ex- ception is when the program calls sub- routines that are stored in read only memory (as I do frequently with sub- routines of the KIM monitoring sys- tem). In this case, the operand symbol has to have a counterpart in the stored program. 3. With any other memory refer- enced instruction, the operand must symbolize a memory location. I have found it useful to think of these loca- tions as registers even though, unlike the registers of the processor, they are physically located somewhere in mem- ory. As a matter of fact, their loca- tion, if possible, is in page zero of the memory to take advantage of the shorter addressing mode. For reg- isters used in stock subroutines, I have assigned locations which begin at the upper end of page zero and work their way downward. They are listed in a master register list and care has been taken that subroutines that are likely to be used in the 242 Mav 1979 © BYTE Publications Inc Circle 102 on inquiry card. same program do not occupy the same register addresses. The symbolic names for registers that will be used in the main pro- gram are noted in a program register table (table 1) with the addresses to be assigned later. The symbols again should be words or abbreviations which indicate the meaning of the data contained in the register, such as STARLO to mean starting address, low order byte. The column N of the program assembly form can be used to indicate the number of cycles it takes to execute the instruction. This is necessary, for example, to determine the time of timing loops. In most cases, however, this column will be left empty. Finally, the Comment column should be used to explain the function of the opera- tion listed in the current line and sometimes some following lines. While this information may not be needed by the programmer, it is tremendous help for any other person trying to understand what the program is doing. If the program has been flowcharted first, which is highly recommended for all but the shortest programs, the comment can simply be a number which refers to an equally numbered symbol on the flowchart. In this way the programmer works down the lines of the program assem- bly form. Every time a is encount- ered in the ADD column, (s) he adds the most significant bit. If that addi- tion makes the ADD column is also advanced. Eventually the program will be completed and the hand assembly can begin. Like the computer, I do this in a number of passes. The first pass is the easiest one. Using a listing of the instruction set, or the programmer reference chart, the mnemonic and the entry in the Mode column is used to look up the op code of the instruction, which is entered in- to the OPC column of the line. A fre- quent error during this operation is to mistake an 8 for a B or vice versa, and I double check op codes with these sumbols. The programmer's reference cards supplied by the manufacturers, although they fit nicely into a shirt pocket, were apparently not intended for use by programmers over 40 years of age. The listing of the instruction set in the data sheets or system man- uals is usually printed in a more reason- able letter size. The second step is to assign absolute addresses to the symbols of the program register list. First, all registers and their addresses used in stock subroutines to be called by the program are transferred from the master register list to the program register list. Then absolute addresses are assigned to all other registers listed, making sure that no duplication occurs. Registers which contain the low and high order bytes of numbers, or registers which contain successive bytes if multiple precision opera- tions are used, have to be arranged in such a way that their absolute addresses are ad- jacent in increasing order (STARLO = B3, STARHI = B4). With the completed program register list one can go over the program again. For each memory referenced instruction other than branch and jump instructions, the program register list will contain an absolute address tor the symbol in the operand column. This hexadecimal number is now entered into the OPC column of the follow- ing line. For registers located outside of page zero (such as the registers in PI As) the address will be entered in two lines and care has to be taken to enter the low order byte first, followed by the high order byte. During this pass I also check all lines with a # in the Mode column and, if necessary, convert the binary or decimal operand into hexadecimal notation which is entered in the OPC column of the following line. Parallel Processing Power for the S-lOO bus Discussed and dreamed about by computer scientists for years, Con- tent- Addressable Memory (CAM) is now here at an affordable price. CAMs have been so costly to build that few have actually been pro- duced. Now Semionics has devel- oped a simplified design, lowering the cost by two orders of magnitude. This new memory is called Recogni- tion Memory (REM), since (like the human brain) it can recognize words, patterns, etc. Adding a REM board to an ordinary microcomputer converts it into a very powerful machine known as a Con- tent-Addressable Parallel Processor (CAPP). Features: 4K bytes per board Static — no refresh needed Can be used as ordinary RAM or as CAM RAM access time: 200 ns ; CAM access time: 4 /as A Multiwrite— writing into multiple locations with one instruction Masking — for individual bit access Multiple REM boards accessed in parallel Adds 17 associative memory func- tions to instruction set of Z-80 or 8080. Applications: Pattern Recognition • Information Retrieval • Compiling & Interpreting • Natural Language Processing • Code Compression • Artificial Intel- ligence Price: $345 2K firmware package of REM routines: $40 J SEMIONICS 41 Tunnel Road • Berkeley »CA 94705 (415) 548-2400 Circle 320 on inquiry card. May 1979 © BYTE Publications Inc 243 With this step completed, the OPC column should show a hexadecimal number in most lines. The next step is to pass over the program listing another time. Any line with an open OPC column where the mnemonic indicates a branch instruction will require that the branch vector for the relative addressing mode be calculated. For short forward branches this poses no problem because the offset can easily be counted off (beginning at the second line following the one which contains the branch instruction, and continuing to the line which has the corresponding symbol in the label column). For longer branches and especially backwards branches, if memory pages are crossed it is very easy to make a mistake and miss by one count in either direction. I have found it advantageous to let the microcomputer perform this operation because, after all, it is much better in hexa- decimal calculations than any programmer. The example program BRAVEC receives the origin and destination of a branch and calculates the branch vector in two's comple- ment notation. A flag is set if the relative addressing range is exceeded. The program is loaded from cassette tape beginning at memory location 0000. Loading begins here because this location in the KIM-1 system can be addressed easily by pressing the space bar of the connected terminal. The first four locations are actually data registers into which the low and high order bytes of origin and destination of the branch are entered. When the program is executed beginning at location 0004, it displays or prints the branch vector in two's complement as the low order byte of the address field. The high order byte of this field normally shows 00, while FF indicates that the reach of the relative addressing mode has been exceeded. While the program, as listed, is written for the 6502 microprocessor, only instruc- tions that have an equivalent in the instruc- tion set for the 6800 were used. The pro- gram, therefore, can be converted easily. However, the registers POINTHI and POINTLO, which are displayed as an address in the LED display of the KIM-1 micro- computer, are specific for this system. For other computers the user will have to find another way of displaying the result of the calculation. After all branch vectors have been calcu- lated in this fashion and entered in the appropriate lines, the only open spaces in the OPC column should be the address parts of jump instructions. For jumps within the main program, it is easy to find the line with a matching entry in the label column and to enter the address of this line into the OPC columns of the lines following the one containing the jump instruction. For sub- routines called from read only memory, the address has to be looked up in the subroutine listing. Stock subroutines which have been written on some other occasion and which can be loaded from magnetic or paper tape frequently can be used. Normally such sub- routines will be tacked on after the last memory location occupied by the main program. The KIM-1 system has a relocating loading routine for loading from magnetic tape. If this feature is not available, some area in the memory should be set aside into which the subroutines are loaded. A move program then can be executed to pull up the subroutine. For the 6502 processor I use a program called MOVBLO which re- quires only 14 program steps due to one very convenient addressing mode of this processor. Unless one is very pressed for memory space, it is a good idea to have all subrou- tines start in lines with a as the least signi- ficant digit because it is easier to keep track of the starting address after relocation. In order to be relocatable, a subroutine may not contain any absolute jump instructions and only relative addressing within the sub- routine is permitted. After the last addresses for the stock subroutines have been entered in the pro- gram assembly form, the hand assembly is completed. I have never clocked the opera- tion, but by following the methods de- scribed, it goes much faster than one would expect. With all op codes being listed in a single column it is much easier to enter them into the machine, either from a hexadecimal keyboard or from the keyboard of a ter- minal. This is another occasion in which operator errors can easily occur and I proofread all programs after entry. This operation is again greatly simplified by the use of the assembly form which shows address and op code in adjacent columns. The assembly method and the assembly aids described have been in use for several months and have been found to greatly reduce the likelihood of assembly errors. Unfortunately, this method does not protect from programming errors and the debugging of the program still is a time consuming but necessary step to follow the assembly of a program." 244 May 1979 © BYTE Publications Inc Circle 29 on inquiry card. AT LAST! The High Density Color Graphics You've Been Waiting For! • Plugs directly into your S-100 bus • Eight different colors • Eleven software selectable modes • Display densities ranging from 64X32 to 256X1 92 Blocks • 6K bytes of on board screen refresh memory • Bank select • Board protect • Composite video • Software graphics driver routines for the 8080/Z80 Introductory Offer: BCG-800K (Kit) $285.00 BCG-800A (Assembled) $385.00 BCG-800B (Bare board W/S68047) $ 45.00 VISA & MASTER CHARGE • Calif. Res. Add 6% Sales Tax Call or Write for Details: • Biotech Electronics P.O. Box 485 Ben Lomond, CA 95005 (408) 338-2686 Circle 74 on inquiry card TM 1 NEW! for the PEl HIGH RESOLUTION GRAPHICS! Now there Is a complete Software Package and a simple, low cost Logic Circuit that gives the PET 2001 HIGH RESOLUTION GRAPHICS. It can plot 3-D images, pict- ures, fancy graphs, maps-almost anything! Points are plotted on a high resolution matrix of 236h.x191v. Graphic displays can be stored on tape cassettes. Do it yourself with the Graphics Hardware Manual from Conley Graphics. Complete hardware information, diagrams, and easy to understand explanations allow you to build your own Logic Circuit for the affordable price ol ONLY $15. Parts are readily available from popular electronics stores. Now, high resolution graphics opens up a world of new uses for the PET! Complete Software Package and Graphics Hardware Manual $19.95 MMKMm. CONLGY GRAPHICS 211 Purdue Avenue, Kensington, CA. 94708 Calif, residents add 67. Sales Tax PET is a trademark of Commodore Business Mach. Dealers, Computer Retailers and Bookstores: Let the BOSS work for you! Computer retailers and bookstores are invited to take advantage of Bits' One Stop Service — BOSS. Our entire stock of books, software, posters and products are available at wholesale prices to you. We review literally hundreds of books published today in the microcomputer field for technical accuracy and reada- bility. The result is a catalog of over 200 books from more than 60 publishers of the best selling, most asked for books. Plus a complete line of Personal Soft- ware ™ for Apple, TRS-80 and Pet, the most advanced and sophisticated soft- ware available today. Plus popular, hard-to-find posters. Plus Programmers Pads ™ available exclusively from Bits. Plus items-of-interest products. Because we buy in volume we can of- fer you wholesale prices usually equal to or lower than publisher discounts if you ordered yourself. Now you can have those wholesale prices and a wide vari- ety too from one source! One call on our toll free 800-258-5477 puts your order on its way in 48 hours. With BOSS'S comprehensive select- The BOSS processes., locates., packages., ion and fast friendly service, isn't it j time you gave your customers and your- self the very best? Call or write today ] for information on the wholesale pro- j gram. Bits, Inc. Books to erase the impossible PO Box 428 25 Route 101 West Peterborough, NH 03458 603-924-3355 and ships for fast service! BYTE May 1979 245 Spring into Bits' Garden of New Delights! THE ART OF PROBLEM SOLVING, ACKOFF'S FABLES by Russell L. Ackoff □ Most of us, in our rush to apply the computer in trying to solve our real world pro- blems, jump to find the right language or the proper algorithm. Perhaps a prepara- tory step could help us toward realizing the most direct, creative, and efficient solu- tion. Ackoff's book is a lesson in creative problem solving (Part One) with examples in the application of this art (Part Two). It is an enlightening book. 214 pp. $13.95 Hardcover. y amsmtmi Z-80 INSTRUCTION HANDBOOK by Nat Wadsworth □ Moving over to a more powerful pro- cessor? Learn the full capabilities of the Z-80 instruction set quickly with this new Scelbi publication. It is a practical reference, using the original Zilog mnemonics, and is meant to serve as a guide for the novice, intermediate, or experienced programmer. 117 pp. $4.95 THE ANATOMY OF A COMPILER (Second Edition) by John A. N. Lee □ This new edition reviews all areas of computer language translation and goes on to cover the syntex of complex lan- guages and their compilation. The text is designed to educate the users of high level languages to a position where they can understand, diagnose or implement a compiler. Lee accomplishes this end with a lively and graphic style. 470 pp. $19.95. BASIC WITH STYLE: PROGRAMMING PROVERBS by 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 is the theme of this book. It con- tains a unique collection of "proverbs" or rules and guidelines for writing more accurate error-free programs. Newly re- written, the book now emphasizes structural programming and all ex- amples are in BASIC. 134 pp. $5.95. BASIC MICROPROCESSORS AND THE 6800 by Ron Bishop □ This book is for people who would like to know more about microcomputers, and who do not have a technical background. Building on a foundation of basics, Ron Bishop explains the essential micro- computer parts and programming concepts. The text centers around the Motorola M6800 processor and explores in detail its instruction set, address- ing modes and use. A very comprehensive intro- duction. 262pp. $11.95. 9900 FAMILY SYSTEMS DESIGN AND DATA BOOK by Texas Instruments □ This is a comprehensive design manual/data book for Texas In- struments' family of 16-bit microprocessor products. Nine chapters cover basic decisions in system design, hardware design, software design, the 9900 instruction set, program development, and appli- cation examples. Here is a complete information package (1000 + pages)on Tl's powerful new processor. $9.95. SOURCE BOOK FOR PROGRAMMABLE CALCULATORS by Texas Instruments □ Tl has put together over 60 example problems for solution on their TI58 and TI59 programmable calculators. Each example con- tains a description of the problem, the calculator program, guides for using the program, example solutions and references for further investigation. The problems cover topics in: number theory, algebra and trig, calculus, statistics, business, economics, biology, engine- ering, and physics. 416 pp. $16.50. CONTENT ADDRESSABLE PARALLEL PROCESSORS by Caxton C. Foster D Content addressable memory arrays and parallel processing of all memory ele- ments simultaneously are techniques which offer the advantages of speed and ease of programming as the cost of logic and memory elements continues to decrease. This book by Caxton C. Foster covers the theory, structure, and capabilities of CAPP machines; the known algorithms for parallel processing; applications of CAPP's; a survey of papers on distributed parallel processing; and descriptions of real CAPP machines. It is a comprehensive text, and a good introduction to the sub- ject. 233 pp. $13.95. 246 BYTE May 1979 THE INCREDIBLE SECRET MONEY MACHINE by Don Lancaster □ This book tells you how to set up your own Incredible Money Ma- chine — computer, technical, craft or other small-scale business and keep it going strong. The author explodes a lot of myths and packs a goldmine of irreverent information into 160 lighthearted pages. He shows you how to reduce your taxes as much as you want, how to get free insurance and vacations, and the*iltimate solution to financing. Lancaster has been successfully running his own money machine for years, and now he's sharing what he knows. 159 pp. $5.95. CONSUMER'S GUIDE TO PERSONAL COMPUTING AND MICROCOMPUTING by Stephen Freiberger and Paul Chew □ Getting into personal computing can be confusing when one is confronted with the multitude of microcomputers, languages and peripherals available today. This current guide lives up to its name and provides an introduction to microcomputers, reviewing over 60 microcomputer products. Let Consumer's Guide to Personal Com- puting and Microcomputing aid you in selecting your computer. 164 pp. $7.95. THE LITTLE BOOK OF BASIC STYLE by John Nevison □ Structure, style, correctness, maintainability. Attributes of gooa programming are getting much attention, and well they should. Here these concepts are explained, along with 19 rules and many examples in BASIC to help improve your programming style. 151 pp. $9.95. COMPUTER CRIME by August Bequai □ In 1976 100,000 cases of computer crimes were filed in our federal courts, and it is estimated the computer felon steals more than $100 million annually from ourcitizenry. In this highly readable and fully referenced work Professor Bequai, a practicing attorney specializ- ing in legal aspects of technology, addresses the history and present dilemma posed by this new breed of criminal. 210 pp. $15.00. Hardcover. PROGRAMMING THE 6502 by Rodnay Zaks □ Here is the 6502 microprocessor from top to bottom. This book is a systematic course in 6502 assembly language programming, in- cluding exercises and application examples. Solid for you Kim and Apple users! 304 pp. $10.95 A FORTRAN COLORING BOOK by Dr. Roger E. Kaufman D Who says learning Fortran can't be fun? Here you'll find every- thing you need to know about programming in Fortran, in a very clever instructional style. Learn Fortran programming painlessly. 285 pp. $6.95 THE PSYCHOLOGY OF COMPUTER VISION by Patrick Henry Winston, Editor □ This book is a collection of major works in computer vision re- search: image conversion, noise reduction, determination of curved surfaces, scene analysis, and visual analysis. Here under one cover is today's scientific basis for tomorrow's seeing robots. 282 pp. $22. Hardcover. THE BASIC WORKBOOK - CREATIVE TECHNIQUES FOR BEGINNERS by Kenneth Schoman, Jr. □ This book contains lecture notes, exercises and problems for people learning BASIC. In a hands-on workbook style, Kenneth Schoman covers statements, loops, functions, variables, input/out- put and strings, simulation and plotting. Runnable in virtually any version of BASIC. 117 pp. $5.50. STAR SHIP SIMULATION by Roger Garrett □ Star Ship Simulation is a design for a program to simulate the op- erations of the starship Enterprise, as defined on the original TV program, on a computer. The program is presented in a general structured form with information to aid the user in implementing it for a particular hardware /software set-up. 122 pp. $6.95 LEARN MICROCOMPUTERS by Scelbi Computer Consulting Inc. □ This two-part information packet contains Understanding Micro- computers and Small Computer Systems by Nat Wadsworth. It ex- plains the basic operation of a microcomputer; instructions, input and output devices, and system considerations. Also included is an audio cassette tape which contains a chapter-by-chapter talking syn- opsis referenced to the book. 300 pp. (plus audio cassette) $14.95. BITS inc Books to erase the impossible POB 428, 25 Route 101, Peterborough, NH 03458 NAME. ADDRESS_ CITY _STATE_ ^ZIP_ Number of Books. $.75 per item USA Postage & Handling $1 .00 per item Foreign $- (to a maximum of $3.00) □ Credit Card # Grand Total $_ Expires_ □ Check enclosed SIGNATURE- ■ DIAL YOUR BANK CARD ORDERS • ION OUR TOLL-FREE HOT LINE: 1-800-258-5477 (In New Hampshire call 924-3355) Prices subject to change without notice BYTE May 1979 247 $5 Sophisticated Personal Software TEN PROGRAMS Finance Manager Checkbook Balancer Personal Budget SENETGame Blackjack Game TIC-TAC-TOE Destroyer X-Y Plot Fourier Analysis Multi-math Drill Order your copy — Send $5.00 to COMPUTALL CORPORATIONS P.O. Box 536 Atlantic, Iowa 50022 apple tv & computing GRAND OPENING SALE! An introductory salel Every PET ordered this month will come with Full size BIG KEYBOARD 1 6K ... .ONLY $895 or, the standard 8k PET $775 NEW!! ... PET MiniFloppy . . . $595 PET 2021 Printer 80 column electrostatic w/graphics $549 PET 2022 Printer forms tractor, & full graphics $995 Dual drive PET MiniFloppy .... $1295 TRS-80 to S- 100 interface (kit) $190 We Have The BALLY Computer System. And SOFTWARE for BALLY BASIC on audio cassettes. Write for list of titles. apple tv & computing 1213)5594268 2606 S. Robertson Blvd. Los Angeles, Celifornia 90034 FRUGAL FRONT PANEL SERIES S-100 DISPLAY-SENSE BOARD KIT Board and Manual S29.95 Kit S89.95 REMOTE HEX PANEL Board and Manual S22.95 REMOTE BINARY PANEL Board and Manual S22.95 Assembled Versions Available Kit S69.9S COMPUTER CANOPY DUSTCOVERS APPLE II S12.95 H-8, H-11, HORIZON, INTEGRAND SOOD S14.9S SWTPC CT-82, ADM-3, H-9, ACT IVb, PET, HAZELTINE 1500/1510/1520 S16.95 TRS-BO — Keyboard-Monitor-Cassette 3 pc S25.95 -ira.fj'.iii J Digital Dynamic*. Inc. Department B 310C Braaaport San Antonio. TX 78216 (512) 341-B782 Circle 49 on inquiry card. Circle 10 on inquiry card. Circle 87 on inquiry card. 6800/6801 MICRO SOFTWARE * * * CROSS SOFTWARE * * * 6800/6801 assembler $ 800 PL/Wcompiler $1400 cross linker $ 400 math/science $ 500 simulator $ 800 * * * RESIDENT SOFTWARE * * * editor/assembler $ 95 industrial 4K BASIC $ 95 in ROM $299 WltVIBK Corp. 317-742-6802 902 N. 9th St., Lafayette, IN 47904 RS 232C Computer Compatible Paper Tape Transmitter/Model 612 Stops & starts on character at all speeds, uses manual control or X-on, X-olf 90-260 V; 50-60 Hz power. 50-9600 baud, up to 150 char/sec syn- chronous or asynchronous; gated internal or ex- ternal clock; RS 232C, current loop or parallel output, reads 5-8 level tape, 7-11 frames/char, even or odd parity. Desktop or rack mount. ADDMASTEH CORPORATION 416 Junipero Serra Drive San Gabriel, CA 91776 (213) 285-1121 Telex 674770 Addmaster SGAB APPLE OWNERS! the ARESCO ASSEMBLER/TEXT EDITOR is now available * Line-numbered text editor * One-Pass Assembly with optional second pass * Compatible with Disk or Cassette * Sixty pages of Documentation * Only $29.95 Check, MC, VISA or UPS collect all OK SASE for more information Dealer inquiries are invited Also available for KIM & TIM Write for details ARESCO BOX 1142 COLUMBIA, MD 21044 (215) 631-9052 Circle 389 on inquiry card. Circle 4 on inquiry card. Circle 12 on inquiry card. SPACEWAR FOR THE TRS-80 Dynamic real-time action game in- cludes two spaceships (with forward and side thrusters) plus torpedoes, all moving in the strong gravitational field of the sun. User-adjustable game speed, thruster power, torpedo speed, and initial orbital radius and eccentricity. Excellent for teaching Newton's Laws — all motion is cor- rectly simulated. Z-80 machine- language program for Level II. Re- quires only 4K memory. For Level II cassette tape send $15.00 PODOSOFT 9 Smith Street Wellesley, MA 02181 30-day moneyback guarantee. residents add $0.75 sales tax. Massachusetts Don't Forget! Our New 4K Byte Non-Volatile Memory Boards Won't Let You! • 30 days minimum guaranteed data retention • Ultra low power 450 NSEC static CMOS RAM IC's • On-board regulator, power monitor and battery • S-100 bus compatible Assembled and Tested $395.00 Remember . . . to send for details! 1395 Golf Street Dayton, Ohio 45432 T-BUG™ accessories Machine language programs linking with your copy ol the Radio Shack TRS-80 tm monitor Super TLEGS: Onboard relocater moves T-BUG to your choice of RAM. Now you can examine, modify any formerly coincident material. LL-0 16K Level II 9.95 TSTEP: Single steps for T-BUG, enables an implicit keypad including backspace. A clearable before/after display shows all instruction-set aspects ot machine status; CPU registers, Hags, stack elements, as you SPACE through memory in program How sequence. TLEGS relocates. LL-1 16K Level II 11.95 Pee Wee Backspace: Very tiny, very handy. T-BUG internal, turns on f key under #M com- mand. Stroke shows previous memory location, like inverse ENTER. TLEGS relocates. PW-1 4K Level II 4.95 Includes cassette, instructions, examples. Add .75 each shipping, CA include 6%. ® Allen Gelder 5914 California Street San Francisco, CA 94121 T-BUG, TRS-80 tm Radio Shack/Tandy Corp. Circle 305 on inquiry card. Circle 88 on inquiry card. Circle 140 on inquiry card. Minidisk Library Case The Minikas-ette/10 is a minidisk sized version of the Kas-ette/10 Diskette Library Case. The cases safeguard recorded data by protecting against contaminants such as dust and debris, and offer temperature and humidity control for storage or shipping. Durably constructed of extra strong polyprolene, the library cases are finished in a beige leather type texture. Additional features include: flexible fan tabs which provide a firm vertical hold while allowing for easy media access and replacement, and the pop-up easel design places media New Electric Wire Wrapping Tool This new EW-8 electric wire wrapping tool from OK Machine and Tool Corp is interchangeable with its previous model EW-7D and incorporates a number of improvements at no increase in price. Rated to accept bits for wire sizes 22-30 AWG, the Model EW-8 features a re- inforced Lexan housing, radio frequency (RF) interference reducing circuitry, and a high reliability motor and indexing mechanism. The tool is double insulated and weighs 14 ounces. It is available with accessory tool VIT-1 which permits easy resetting of indexing position in 45 degree increments. The EW-8 is priced at $85.11 and the VIT-1 costs $15. Contact OK Ma- chine and Tool Corp, 3455 Conner St, Bronx NY 10475." Circle 645 on inquiry card. within convenient view and reach of user. Both library cases are available from The Minicomputer Supplies Com- pany, 963 Holmdel Keyport Rd, Holmdel NJ 07733." Circle 644 on inquiry card. Where Do New Products Items Come Frdm? The information printed In the new products pages of BYTE Is obtained from "new product" or "press release " copy sent by pro- moters of new products. If In our judgment the Information might be of interest to the personal 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 marketplace. While we would not knowingly print untrue or In- accurate data, or data from unre- liable companies, our capacity to evaluate the products and com- panies appearing in the "What's New?" feature is necessarily lim- ited. We therefore cannot be responsible for product quality or company performance. Printer Controller Supports Centronics and Dataproducts Printers The DEC PDP-11 Line Printer Controller (DLP 11), designed to sup- port either Centronics or Dataproducts type printers, operates on any Digital Equipment Corporation PDP-11 com- puter without software or hardware modification. The DLP 11 comes complete with all necessary cabling and connectors to interface directly to the printer used. In order to simplify installation and testing, a self-test mode is provided. Low power requirement is another feature of the controller, which incorporates low power Schottky transistor-transistor logic. Priced at $750 in single quantities, the DLP 11 is available from DataSystems Corp, 8716 Production Av, San Diego CA 92121." Circle 646 on inquiry card. An S-100 Compatible 6802/09 Micro Data Systems has announced the MD-690A, a new processor board which adds three features to those found on their MD-690. These features are: 6809 compatibility, 10 K bytes programmable read only memory, RS-232 interface provision and S-100 bus compatibility. The MD-690A gives the user more monitor flexibility and the option of up- grading the board to accommodate the 6809 processor by Motorola. It comes complete with MONBUG, a 1K byte pro- grammable read only memory monitor program which is software compatible with the standard Motorola MIKBUG monitor and designed to interface with most memory mapped video and graph- ics cards for fast input and output (IO). The board can accommodate up to 10 K bytes of 2716 erasable read only mem- ory which may be used for 8 K byte BASIC or other firmware. The price for the board with the 2400 bps cassette interface, 1 K byte monitor and 1 K bytes of programmable memory is $198 in kit form and $258 assembled and tested. Complete doc- umentation including assembly and troubleshooting instructions and a com- prehensive user's guide are provided. For further information write to Micro Data Systems, POB 36051, Los Angeles CA 90036. ■ Circle 647 on inquiry card. May 1979 © BYTE Publications Inc 249 What's New? MASS STORAGE CALCULATORS Multikeyed Indexed Sequential File Control The keyed indexed sequential search (KISS) system enables multikey access to a user's disk files. KISS provides user selected variability of key and data lengths. The KISS system includes an indexed sequential file manager (ISFM) and a direct access file manager (DAFM). The absolute maximum number of disk accesses to retrieve any record under control of KISS is three. The system is implemented in assembler language and is designed to operate on the 8080/8085 and Z-80 based systems. KISS is distributed as a relocatable object module on user specified format- ted floppy disk. Configurations are available for IMSAI (DOS-A) and ISIS-II using PL/M, FORTRAN, assembler, and Extended BASIC. The 3 section illus- trated user guide, which includes tech- nical concept, user interface control, and file control code examples for various languages, is included in the price of $485. The user guide can be purchased separately for $22.50 plus $2.50 for postage and handling. Contact Morrow Computer and Electronic Design Inc, 315 Wilhagan Rd, Nashville TN 37217." Circle 544 on inquiry card. Specialized Programming Aids for TI-59 Handheld Calculator Specialized computer programming aids are now available from Texas Instruments for use with the Tl pro- grammable 59 handheld calculator. These aids offer easier conversion of ASCII and EBCDIC codes, routines for debugging and analyzing TMS 9900 and Intel 8080 processor programs, and a number of general programmer aids covering base conversions and logical and arithmetic operations. The Programmer's Aid Pakette is a 64 page booklet providing detailed documentation for six full length pro- grams: EBCDIC code converter, ASCII code converter, ASCII and EBCDIC encoder, TMS 9900 disassembler, Intel 8080 disassembler and Tl programmer simulator. All require a TI-59 with attached PC-100A thermal printer, plus blank TI-59 magnetic program cards, into which the user keys the code lists for automatic entry into the calculator. The booklet format includes program listings which are keyed into the user's own magnetic cards; no additional programming is required. Pakettes are also available on securi- ties, statistical testing, civil engineering, electronic engineering, blackbody radiation, oil/gas/energy, astrology and TI-59/PC-100A printer utilities. All pakettes are priced at $10 with a $1.50 handling charge plus state and local taxes. For further information write to Texas Instruments Inc, Service Facility, POB 53, Lubbock TX 79408." Circle 545 on inquiry card. BYTEs Bits About the March 1979 Cover In the flurry of January's snow- storms, we neglected to put in an "About The Cover" text elaborating more than the title of Robert Tinney's March cover painting Through The Trapdoor. One or two readers took us to task for this omission, perhaps because it was not as obvious to them as to us. The lettering on the wooden block puzzle as assembled (if you could do so) spells out the word plaintext, in two lines. As the plaintext is cranked through the black box of a trapdoor algorithm, it becomes a jumbled form known as ciphertext. Here we sym- bolize the trapdoor by a hole in a sheet of translucent material, and the trapdoor jumbles the puzzle parts as they fall through the hole. This of course brings up a challenge. Who will be the first reader with skills at woodcrafts to rationalize the design of such a woodblock in order to create a real puzzle? The actual pieces should be close to those_ imagined in this picture, but certainly not identical since there is no way to assemble the pieces shown into a cube which spells "plain" and "text" along two rows." 250 May 1979 © BYTE Publications Inc ITHACAAUBK) 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 for on-board 2708. Accepts most 8080 software. A&T 4 mHz $205.00 A&T 2 mHz $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/P.T-11 format. First in a family of high level software. Basic and Pascal available now. Soon-to-be-released Fortran. K2Disk $ 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 Circle 190 on inquiry card. 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 1 TO-3 S .50 2N3904 NPN S. TO-92 . 6/$ 1 .00 2N3906PNPSi TO 92 6/$ 1.00 2N5296 NPN Si TO-220 S 50 2N6109 PNP Si TO-220 S .55 2N3638 PNP Si TO-5 5/S 1.00 MPSA13NPNSi 4/$ 1.00 TTL IC SERIES «« <* »«'- « Full Wave Bridges 1.20 1.75 1.00 DIP SOCKETS B PIN .17 24 PIN .35 14 PIN .20 28 PIN 4 q 16 PIN ,22 40 PIN .60 18 PIN .25 SANKEN AUDIO POWER AMPS Si 1010 G 10WATTS $ 7.80 Si 1020 G 20WATTS $15.70 Si 1 050 G 50 WATTS $28.50 TANTULUM CAPACITORS Silicon Power Rectifiers 4.000 MMi 5.000 MHt 6.000 MHl 8.000 MHi 10.000 MH* JOJOO^y^ RIBBON CABLE FLAT (COLOR CODED) f/30 WIRE 26 cond. - .50/per fool 40 cond. - ,75/por foot 50 cond. • .90/per 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 2K" diameter ,4V at 500 ma $4.00 FND 359 C.C. .4" $ .60 LED READOUTS FCSS024 A digit DL-704C.A. .3" $.75 C.C. 8" display $5.95 DL 747 C.A. .6" $1.25 FND 503 C.C. .5" $ ,85 HP3400 .8"CC $1.95 FND510C.A. .5" $ .85 HP3405 -8"CA $1.95 DL 704 .3" C.C. $ .85 _24QA 3 70 5,00 6.50 6 50 9.50 1 2.50 20.00 i REDICON 1021 Jlage RS232 DB 25Pmale CONNECTORS DB 25S female HOODS . . . S2.95 . $3.50 . $1.50 REGULATORS 323K-5V3A. .$5.75 34K-12, 15 309K $1.10 or 24 V. 723 $ .50 320T- 5, 12, 15 $ 1.10 .$ 1.10 340T-5,6,8, 12 15.18or24V$ 1.10 78 MG $1.35 74158- .65 IMS - -B5 74?79 - 74MA- 74 JOB - 74301 - 74376 - DATA CASSETTES 1/2 HR £ .95 14 pin headers MM 5387AA new clock drive LED's 12/24 hrs.. :hip which will directly supply & alarm $5.95 NO. 30 WIRE WRAP WIRE SINGLE STRAND 100' $1.40 .22UF 35V 5/$ 1.00 .47UF 35V5/$1.00 .68UF 35V5/$1.00 1UF 35V 5/S1.00 2.2UF20V6/$1.00 3.3UF 20V4/$1.00 4.7UF 15V5/$1.00 74LS SERIES 6.8UF 35V4/S1.00 10UF 10V $.25 22UF 25V $.40 15UF 35V 3/$1.00 30UF 6V 5/$1.00 33UF 20V $.40 47UF 20V $.36 68UF 15V $ .50 74LSO0 - 741S03 - 74LS90 - ,67 MLSIB1 - I41S1B] - HLS104 - MLS1JS - ULSWI - 7«LSW7 - UlSSM - 74LSM9 - HUM 74LSJ91 LINEAR Clfl LM 10! LM30WJ4B LM30? LM 30B LM31I LM31B LM 324 LM 339 LM3S6 LM 370 LM377 LM 3B0 LM 3B2 LM386 LM 387 LM 537 LM 353 - LM 555 LM566 NE540L - 75 AlCO MINIATURE TOGGLE SWITCHES MTA 105 SPDT .... , S .95 MTA 206 DPDT S 1.70 MTA 206 P-DPDT CENTER OFF * 1p g 5 MSD 206 P-DPDT CENTER OFF LEVER SWITCH $ 1.86 PRV 1A 10A 25A 1.5A 6A 35A 100 .40 .70 1.30 .40 50 1.20 200 .70 1.10 1.75 .60 .70 1.60 400 1.10 1.60 ?60 1.00 1.20 2.20 600 1.70 2.30 3.60 1 .50 3.00 SOLID STATE SALES P.O.BOX 74 B SOMERVILLE, MASS. 02143 TEL. 1617) 517 7053 WE SHIP OVEB 95% OF OUR ORDERS THE DAY WE RECEIVE THEM Circle 340 on inquiry card. BYTE May 1979 255 Mo) LOGIC for graphics! SOFTWARE ... Graphic drivers for Dazzler, Matrox ALT-256 and 51 2, and Vector Graphics. Plus 3D Graphics for Apple II, TRS-80, 8080 and Z80, M6800, and BASIC. HARDWARE . . . Matrox ALT-256 and ALT-51 2 display boards. The engineering & graphics people (217)367-0299 LOGIC ox V, Savoy, IL 61874 Circle 357 on inquiry card. DATA PROCESSING SUPPLIES Std. or Mini Floppy. . 2.98 ea. TRS-80 Cassette. . . . 1.49 ea, ANSI (notch) Cassette 4.90 ea. QumeorlBM6240 Ribbon 29.95 dz. OTHER SUPPLIES AT SIMILAR BARGAINS Order Now from John Richards KEY SUPPLY CO. 2101 S. IH 35 Suite 300 Austin, Texas 78741 (512)443-1347 All products from major manufac- turers, fully guaranteed. No limit while quantities last! Circle 168 on inquiry card. SEE US NOW! INDUSTRY-WIDE OPENINGS * Field Service Engineers-Local/National + Software Engineers * Systems Engineers * Mechanical Engineers * R A D EE Project Engineers * Systems Analysts * Project Leaders * Programmers (All Levels) Please contact us for further infor- mation on over 1200 industry-wide positions. All fees client paid. CORICO CORPORATION Technical Recruiters 301 South Broadway Salem, NH 03079 (603) 893-451 1 or (617)729-0660 vaf Circle 40 on inquiry card. What's New? MISCELLANEOUS MIT Offers Video Tape Course in Semiconductor Devices A course in semiconductor devices by Professor Clifton Fonstad is being offered by Massachusetts Institute of Technology in the form of tutored video instruction. The course consists of 38 1 hour MIT classes plus problem sets, quizzes and solutions. Starting with a basic presentation of the energy band viewpoint, this course deals with the physics, modeling, fabri- cation and application of semiconductor devices. Silicon devices are emphasized in the context of integrated circuits. Physical models for devices are devel- oped to a point sufficient for viewers to understand the design and use of semiconductor devices. The course be- gins with a presentation of much of the required physics, so that students with a wide diversity of backgrounds should be able to use the course effectively. The video tapes are delivered in four shipments of nine to ten tapes each. They may be kept up to six weeks, or the course may be accelerated by re- questing earlier shipment of the next course and returning tapes of the completed section. The fee for participating in TVI is $900 plus $150 per noncredit student. There is no additional charge if the number of students exceeds 25. Contact Dr John T. Lynch, director, Tutored Video Instruction, Room 9-267, Massa- chusetts Institute of Technology, Cambridge MA 021 39. ■ Circle 608 on inquiry card. Logic Probe for TTL and CMOS Testing from Heath Heath Company has released the IT-7410/ST-7410 Logic Probes which are designed for in circuit testing of TTL (transistor-transistor logic) and CMOS integrated circuits. Features include switch selection of threshold levels for either TTL or CMOS circuitry and lamps that turn on when the input voltage crosses the appropriate level. A memory circuit is incorporated in the design of the unit to turn on a light emitting diode when either threshold level is crossed. The new probes provide true logic level detection at high frequencies (no AC coupled) and detection of pulses as short as 10 ns. Upper frequency limits are 100 MHz (TTL or CMOS at 5 VDC squarewave) and 80 MHz (CMOS at 15 VDC squarewave). Power for the Logic Probe is drawn from the circuit under test via two spring loaded, insu- lated clips. A ground lead is provided for high frequency operation. Probe over- load protection is 50 VDC continuous and 1 75 VDC for 5 seconds. The IT-7410 is the kit version and is priced at $39.95 and the ST-7410 is the assembled version and sells for $64.95. For more information about the Logic Probes, write to the Heath Company, Dept. 350-690, Benton Harbor Ml 49022." Circle 609 on inquiry card. Speak to Me in MIC R This kit of magnetic ink character recognition letters makes it possible to personalize your own shirts, tote bags, jeans, director's chair covers, and other canvas or cotton items with a household iron. The software applications kit is designed to help the authors of such phrases as APL polisher, computer simulation, loose circuits, terminal case, and bubble logic, communicate creatively even when away from the computer. Each kit contains 118 letters, 40 num- bers and 44 computer widgets with complete instructions for application. The kit is $3.95 or $7 for two (add 10% for postage). Contact Martha Herman, 114 W 17th St, New York NY 10011. Specify blue or white type when ordering." Circle 658 on inquiry card. ••••• ••••• ••... ••••• ••••• ••••• ••••• $•••• ••••■ ••••• ••••• §•••«. ••••• :.... •••»■ ••••• ••••• :•••• ••••■ •••••• •••••■ •••••• •••••• •••••- •••••• :••••• ••••• •••••■ •••••• •••••■ •••••• •••••• §••••■ •••••• •••••■ •••••• •••••■ ••••-■ •••••< •••••■ •••••• •••••• •••••• £••••• •••••• •••••■ •••••■ $••••• •••••• •••••■ •••••• •••••• •••••• •••••< •••••■ •••••• #•••■■ •••••■ •••••• •••••• ••••■• •••••■ •••••■ •••••■ •••••■ §••••• ••••• •••••■ ••••■ ••••• • •••• • •••• ••••• #•••• ••••• ••••■ :••••■ ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• •••••' ••••• •••••• •••••< §•••• ••••■ §>•••• ••••• ••••• ••••■ ••••• •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 450NS 2708'S ARE $8.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 v on card. Blank PC Board w/Documentation $29.95 Low Profile Socket Set. ..13.50 Support ICs (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 leel the 21 14 will be the next industry standard RAM chip (like the 2102 was) This means price, availability, and quality will all be goodl Next, the 21 14 is FULLY STATIC! We (eel this is the ONLY 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 enablelinesandvarioustiming 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 (or a trouble-free, straightforward design KIT FEATURES 1 . Addressable as four separate 4K Blocks. 2. ON BOARD BANK SELECT circuitry (Cromemco Standard!) Allows up to 512K on line! 3. Uses 2114 (450NS) 4K Static Rams. 4 ON BOARD SELECTABLE WAIT STATES. 5. Double sided PC Board, with solder mask and silk screened layout. Gold plated contact fingers 6 All address and data lines fully buffered 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 ICS & CAPS— $19.95 2114 RAMS— 8 FOR $69.95 COMPLEMENTARY POWER TRANSISTORS SILICON NPN AND PNP. TO-220 CASE. VCEO - 40V PD - 30 WATTS FOR AUDIO POWER AMPS, ETC TIP29 - NPN TIP30- PNP YOUR CHOICE 3 FOR $1 16K DYNAMIC RAM CHIP 16K X 1 Bits 16 Pin Package. Same as Mostek 4116-4. 250 NS access. 410 NS cycle time. Our best price yet (or this state of 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 STOCK' 8 FOR $89.95 NOT ASSOCIATED WITH DIGITAL RESEARCH OF CALIFORNIA, THE SUPPLIERS OF CPM SOFTWARE. 450 ns. 2708 EPROMS Now full speed! Prime new units from a major U.S. Mfg. 450 N.S. Access time. 1K x 8. Equiv. to 4-1702 A's in one package. $ 15.75 oa. $J) 95 4 FOR $ 50°° PRICE CUT J NATIONAL SEMICONDUCTOR NEW! CAR CLOCK MODULE - #MA6008 $ 6 99 Originally used by HYGAIN to indicate time and channel on an expensive C.B. Mini size, self 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 INCLUDES CRYSTAL TIMEBASE! WORKS ON 12 VDC! LIMITED QTY. 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 tull page on each of the 158 Z-80 instructions. A MUST reference manual for any user of the Z-80. 300 pages. Just off the press $12.95 EXPERIMENTER'S HEATING PLATE Large Manufacturers Surplus. 5'/ix10V2 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 MALLORY COMPUTER GRADE CAPACITOR 30,000 MFD 15WVDC Small: 3x2 Inches $1.99 ea. 3 For $4.99 GENERAL INSTRUMENT FULL WAVE BRIDGE /^ 4 AMP 600 PIV <\sP ■ 3/4 IN SQUARE - WITH LUGS 75$ - 3 FOR $2 New' REAL TIME Computer Clock Chip N.S. MM531 3. Features BOTH 7 segment and BCD outputs. 2B 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 * I ea (6 for $6.95) .V Digital Research Corporation m (OF TEXAS) 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 •• ••••• ••••• ■•••• ••••• ••••• ••••• ••••• ••••• ■•••• ••••• ••••• ••••• ••••• ••••• ■•••• ■••••• ••••• ••••• ••••• ••••• ••••• •••••• '••••• •••••• •••••• ■••••• ■••••• •••••• •••••• •••••• •••••• ■••••• ■••■•• ■••••• •••••• •••••• —••• •••••• ■••••• •■•••• ■••••• •••••• ■••••■ — ••• ■••••• ••••if •••••• ■••••« •••••■ •••••■ •••••§ ■••••• •••••• •••••« •••••• ■••••« —••f •••••I •••••I ■••••« ■••••a •••••• •••••I ■••••• •••••« •••••• ■■•••« •••••• •••••• ■■•••• •■•••• •••••• •••••« •••••• •••••■ •••••« ••••• ■••••• ■ ..•« •••••■ •••••• ■••••< -•••t •••••a ■••••4 • •••« ■••••I ■••••• •••••f •••••• •••••■ •••••■ •••••€ ■••••• ••••I • •••1 •••••• •••••■ ••••• '••••• •••••• ■••••• ■••••• ••••« Circle 92 on inquiry card. BYTE May 1979 257 What's New? of INTEREST to DESIGNERS Switching Power Supplies With Power Fail Signal Circle 559 on inquiry card. High Speed Monolithic 8 Bit Digital to Analog Converter A 10 ns settling time enables Motorola's new state of the art MC- 10318 to convert digital information into analog signals in high speed instru- mentation, digital displays, storage oscil- loscopes, radar processing and television broadcast applications. Accurate to 8 bits [±Vi leastsignificant bit), and monotonic over a to 70° C (32° to 158° F) temperature range, the new digital to analog converter can operate in systems with data rates above 25 MHz. Inputs are compatible with MECL 10,000 logic, for direct inter- facing with high speed processing sys- tems. Operating from a standard —5.2 V power supply, the integrated circuits complementary outputs can produce 51 mA full scale over a compliance range from —1.3 V to +2.5 V, while dis- sipation is typically less than 500 mW. Maximum nonlinearity is ±0.19 percent of full scale. The 16 pin ceramic dual-in-line pack- age device is priced at $26 in quantities of 100 thru 999. For further informa- tion, contact Motorola Semiconductor Products Inc, POB 20912, Phoenix, AZ 85036.- Circle 561 on inquiry card. This new series of switching power supplies has been designed for small computers utilizing nonvolatile mem- ories. The DS151 series features a power fail signal as standard feature. Should a power failure of one half cycle occur, the TTL compatible power fail signal warns the computer (for example with an interrupt) that primary AC power has been lost allowing the program in the system to store the state of the machine in nonvolatile memory before DC power fails several milliseconds later. This power failure warning feature thus allows for "fail safe" operation when power is interrupted. Three models are presently available: 5 V at 30 A, 12 V at 12 A, or 15 V at 10 A. All are regulated to within plus or minus 0.1%. The power supplies will operate within a wide input voltage range from 1 00 to 1 30 VAC. The power fail series is priced at $194 in production quantities (1000) and $289 for prototype quantities. Contact Digital Power Corp, 2060 The Alameda, San JoseCA 95126." Guide to Texas Instruments Line of Optoelectronic Devices A publication entitled Optoelec- tronics Master Selection Guide is avail- able free from Texas Instruments Inc, POB 5012, M/S 308, Dallas TX 75222. CL-346 is a 56 page product selection guide and catalog designed to provide designers with a reference to Tl's line of optoelectronic devices. This publication covers infrared emitters and detectors, light emitting diodes, optocou piers, arrays and as- semblies, single digit displays, multidigit displays, hermetic displays, and electro- optical components. Packaging infor- mation and key features of all Tl opto- products are included. Basic features and descriptions are presented in short form to help in the selection of the proper devices. A complete cross- reference guide and an alphanumeric index of all devices in the guide are included." Circle 562 on inquiry card. Floppy Disk Read Amplifier From Motorola Motorola's new MC3470 floppy disk read amplifier combines linear and digi- tal functions ordinarily requiring several integrated circuits to accurately extract digital information from magnetic floppy disk read heads. The disk signal, which may be noisy and exhibit a number of waveform variations, is processed by the integrated circuit to produce a standard- ized logic output. Accepting a differential input from the magnetic head, in the presence of common-mode noise, the signal is ampli- fied, routed through an external RC (re- sistor capacitor) filter network, and then sharpened by an active differentiator. Peaks are detected by a comparator, which drives a digital time domain filter consisting of pulse generators, a oneshot multivibrator and a D type flip flop. The resulting digital output exhibits none of the amplitude variations and jitter pre- sent in the input, and can drive standard logic forms with a guaranteed maximum peak shift of 3.5 percent. The MC3470 floppy disk read am- plifier is available in an 18 pin plastic dual-in-line package at the 100 piece price of $5.95. For more information, contact Motorola Semiconductor Prod- ucts Inc, POB 20912, Phoenix AZ 85036. ■ Circle 560 on inquiry card. Video Speed Analog to Digital Converter This new analog to digital converter integrated circuit, the TDC 1014J, fea- tures 6 bit resolution and a 30 MHz sample rate. Packaged in a 24 pin dual-in-line package, the device provides video speed data conversion without the need for an external sample and hold circuit. The TDC 1014J requires only a single convert command to digitize an analog waveform between 0and-1 V. Included in the circuit are 63 strobed com- parators, encoding logic, and a 6 bit data latch with TTL outputs. Output mode controls provide either straight binary or two's complement data. The TDC 1014J is priced at $186 in quantities of 100. Contact TRW LSI Products, POB 1125, Redondo Beach CA 90278." Circle 563 on inquiry card. 258 May 1979 © BYTE Publications Inc CaMFornja DiqiTAl Post Office Box 3097 B • Torrance, California 90503 Hazeltine1400 cost effective CRT TERMINAL *735 plus shipping The Hazeltine 1400 Vidio Display Terminal is designed to optimize interactive real-time operations. The interface is capable of either local or remote connection through an EIA RS232-C interface at baud rates that are switch selectable up to 9600 baud. ' • All 128 ASCII Codes | ■- 1 o | » | ■ | ■ | t | . | u | i |~| • |.j.| .— | • 64 Displayable Characters |„.| » I , I ,1 ,1 „ I ,1 , I iKI • I ■ I -. I • 24 Lines; 12 inch Screen I I I I I I I I i 1 - 1 . i * I T I • 80 Characters per Line I I | I ' I c I " I ' I " I » I I I f I " 1~1 • Self Diagnostic Test | | Immediate Delivery 100 Mother Board IB slot IMS* I MODEL 43 Even II we have to give them ■ way, we're Koine, to ship more 43's in 1979 than the aicrefate of atl our competitor!. Model 43 AAA EACH 1 _j_ 875. (TTL) 10 850. *925. 875. 850. 825. RS-232 Interface"*:" Add*75P0 thfw'nc ' ITS. } I CONNECTORS C^ «°» ! ninnnnninfl H j 7 > U v.v.v.v.v.-.v; °1 your choice 0B25P male plug & hood or DB25S female »3.95 Qty. fe. male hd. 10 3.45 2.45 1.15 25 3.15 2.25 1.05 100 2.15 1.90 .95 500 2.25 1.(0 .15 IK 1.97 1.37 .73 Edge Connectors GOLD 100 PIN IMSAI/ALTAIR lanai aolder .1251.250 Imial w/w.l25center* •Italr eoldertail.MOrow SPECIALS 22/44 Kim eyelet. 150" 25/50 solder tab .150" 36/72 wide post w/w .156 •4.95 3/tlO.OO • 4.55 3/413.00 45.95 3/115.00 41.95 3/45.00 41.09 3/(2.00 41.95 3/45.00 r $ A1 CpntKh certified oigitai ,*L bCOtCn CASSETTES *3.85 BRAND Diskettes 8inchSoft(IBMi 8 inch 32 sector Mini Soft sec. Mini 10 sector Mini 16 sector Won't drop a BIT! MEMORY Shugart Associates SA800-R Floppy Disk Drive 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. $44950 '24.88 ., . .vs, $ UNlVAC KEYBOARD TRS-80 §| APPLE II 16k memory (8)4116's APPLE RS-232 Serial Interface *59.95 Interfaces Apple II to Teletype or other seri- al printer. ELECTRONIC SYSTEMS DISKETTES VCrDdTim Mini - Soft sect sector World Power TRS-80 Interface MSIOa I/OModual §129.95 MCCa master control. . . $149. 95 RSBa S-100 interface $289. 95 EPRSOa Eprom prog $159. 95 EPRlOOa Eprom prog. . . $159.95 Data sheet available upon request SPECIAL APPLE II 3K MET COLOR • GRAPH II $1024 IBK MEMORY COLOR • GRAPHICS* SOUND Mlc.Sug. Retail.... PLUS SHIPPING DiqiCAST A/V-lOO R.F. MODULATOR $*)Q CjC Broadcast both efc*J. ** audio and vidio on your existing color television. Recommend- ed for the Apple II. Extender Board mullen 34 s Facilitates design and trou- bleshooting of all S-100 mi- crosystems. Includes logic probe along with high-low and pulse LED display. Also available, the Mullin CB-1 controller board $88. Attention TRS-80 Owners • 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. 32-99 100-5C -999 STATIC 21L02 450nS. 21L02 250nS. 2114 1KX4 450 2114 1Kx4 300 4044 4Kxl 450 4044 4Kxl 250 4045 1KX4 450 4045 1KX4 250 5257 low pow. 1-31 1.49 1.69 6.95 8.95 5.95 9.95 8.95 9.95 7.95 1K+ 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 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 Double D 65.00 WD 1791 D/D3740 * E PROMS 1-15 1702A 2K 4.95 2708 8K 9.95 2716 16K 19.95 2532 32K » 16-63 4.50 64+ 4.00 9.00 WORD PROCESSING TERMINAL LAWYERS, BUSINESSMEN This terminal, when properly interfaced to your computer, allows you the flexibility of gener- ating computerized error free correspondence. Gives your clients and business associates the impression that each letter was per- sonally typed for the recipient. Compose your correspondence and "Fill-in" forms on your computer, edit on your screen and when your text is letter perfect instruct your computer to print an error free copy on your terminal. The heart of this terminal is the durable IBM Selectric Type- writer. If maintenance is ever required, the World Wide network of IBM service centers is at your disposal. The terminal is func- tional as a regular office typewriter when not performing com- puter work. Over the next several months 150 of these terminals will be re- moved from service, returned to the manufacturer, inspected and brought into perfect condition. Last Spring we offered for sale two-hundred Diablo printers. Within three weeks every unit was sold. Don't pass this opportunity to purchase a word pro- cessing terminal at an excellent price. Selectric Terminal $650 (FOB Los Angeles). Shipping to the East coast aprox. $35. Combined TRS-80 interface and power supply available. Documentation will be supplied to those individuals who want to do their own custom interfacing. Sorry, but credit cards will not be accepted on this purchase. •19.98 S-100 PROTOTYPE BOARD | OPIOO-MaxImum design ver- c * satilltv along wllti standard address decoding and buf- fering tor S100 SYllems. Room tor 32 uncommitted 16 pin IC's. 5 bus buffer tt de- coding chips. 1 DIP address select switch, a 5 volt regu- lator and more wwioo-wire wrap bread- board, similar to the GP100. Allows wire wrap of all sins of sockets in any slies of sockets In any combination An euro regulator position for multiple voJloge op plica- Thumbwheel pdra. switch Ten position BCD '139,,. o! c o I 10 50 U",9 .89 CAPACITORS ELECTROLYTICS jt. 10 50 $.98 your choice 50 100 Ml 80,000/lOv. 395 349 2.95 4500/50v.S»9 13S 119 1000/15v S.5S 49 45 anal 5,88 .81 .73 .66 | SPDT Miniature Toggles 7101 C8.K ON-HONE OH 7107 jbt ONOFFInmt.OH) I 7108 CK ON- (moment. OH) Becker IBT DPDT Rotary 3P-4-Pos. Rotary 3P-6-POS. Push B (N.0.) 5.39ea.4/51 DIP Switch SPST DISCOUNT ' | Wire WfQpXenter IC SOCKETS Wire wrap ea. 25 50 low profile ea. 25 50 i 17< 16 15 14 37' 36 35 18 17 16 16 38 37 36 19 18 17 24 99 93 85 36 35 34 40 169 155 139 63 60 58 son. '.98 rWNARwiSr 500 1,000 11,000 59. 515. 5105. VISA (213)6799001 . COD's. Order i residents add ' Circle 39 on inquiry card. • payment, art. 1 shippe What's New? PERIPHERALS New Video Product Line from Environmental Interfaces Environmental Interfaces' new video product line digitizes video data from standard EIA or NTSC TV cameras, deposits the data in the computer memory via the S-100 bus, and uses the digital data to reconstruct a picture on a monitor. The data is digitized into 16 gray levels with a maximum resolution of 512 pixels per line by 256 lines. The Real Time Video Digitizer (RT) digitizes the picture in 1/60 second and deposits it in the main memory as a single operation using direct memory access. The Gray Level/Graphics Monitor Interface (Ml) displays pictures in 16 gray levels or displays graphics in black and white. The Ml uses block direct memory access control between com- puter main memory (requiring an addi- tional interface) to develop the video signals for the monitor. In combination, the RT and Ml can simultaneously deposit a picture in computer memory and display it, providing flicker-free digitized motion pictures or a frozen image. The Programmable Video Digitizer (PVD) digitizes the image in a line bypass fashion under software control. Resolution of the PVD is completely variable up to 512 pixels per line by 256 lines. If the RT or Ml is used, horizontal resolution must be 64, 128, 256, or 512 pixels per line, and vertical resolution must be 64, 128, or 256 lines. Resolu- tion is varied by DIP switches. The RT, PVD and Ml each consist of two printed circuit boards which plug into the S-100 bus, utilizing one slot for each board. A combined RT and Ml is available which consists of three boards. The prices are as follows: PVD, $495; RT, $595; Ml, $595; and the RT and Ml, $850. For further information write to Environmental Interfaces, 23414 Greenlawn Av, Cleveland OH 44122.- Circle 535 on inquiry card. Call Me Tuesday at Four! A combination of crystal derived real time clock, hardware interrupts, and programmable read only memory software come together in the Time- minder, an S-100 compatible board by Objective Design Inc, POB 20325, Tallahassee FL 32304. Timeminder soft- ware will maintain a list of user requested wake up calls and alert the indicated routines at appointed times. Intervals range from ms to days. User calls can also be based on the Timeminder time of year calendar. Wake up requests are then given as time and date. Because this is an interrupt driven device, the computer is always available for non- timed activities while waiting for the next alarm. Timed interrupts may also be applied to control of time critical hardware and software. Timeminder software is held in on board programmable read only memory, with scratchpad programmable memory also available on the card. The inter- rupts and the required CALL instruc- tion vectors are all generated on board. Additional interrupts are free for general system use. The Timeminder in kit form, which includes one programmable read only memory, is $224.95 with shipping charges of $5 to Canada and $20 for other foreign countries." Circle 536 on inquiry card. PerCom Manufactures Add-On Disk Drive for Radio Shack TRS-80 PerCom has recently announced an add-on 5 inch floppy disk drive for the Radio Shack TRS-80 computer. The Per- Com unit, which includes the drive, drive power supply, and enclosure, is identical in all important respects to the TRS-80 Mini Disk System. The drive itself is the Shugart SA-400. The data transfer rate is 1 25 thousand bits per second, and access time is a fraction of a second. The drive power supply features overload current limiting and thermal protection. Interfacing of disk drives to the TRS- 80 computer is accomplished with the Radio Shack TRS-80 Expansion Inter- face, which accommodates up to four drives (and other peripherals), and in- cludes controller electronics and a four drive cable. Operating software for all drives is obtained by the user with the purchase of the first drive from Radio Shack. The PerCom unit sells for $399. For further information, contact PerCom Data Company Inc, 4021 Windsor, Garland TX 75042." Circle 537 on inquiry card. Buffered APL/ASCII Video Terminal Offering protected formats, video enhancements and APL overstrike and ASCII underscore, the Datamedia Elite 3045A is a microprocessor based, fully buffered, APL/ASCII video terminal. It features: character interactive, line or page mode communications; 103 and 202 modem compatibility and switch selectable EIA and optional 20 mA current loop interfaces; underscore in APL or ASCII mode; formatted data entry with protect capability; direct connect through RS-232C or 20 mA current loop or remote connection compatible with Bell 103 or 202 modems; cursor addressability and re- mote position sensing; ten user function keys; multiple level video display capa- bility; no memory address space required to support screen enhancements; de- tached keyboard to provide expanded applications flexibility; and 15 data transmission rates, up to 9600 bps, selectable from keyboard. The Elite 3045 A is priced at $1995. Contact Datamedia Corp, 7300 N Crescent Blvd, Pennsauken NJ 081 10." Circle 538 on inquiry card. 260 May 1979 © BYTE Publications Inc Ji Read this and save over ii oo Introducing the Vista V80 Mini Disk System C 23% MORE STORAGE CAPACITY — Increases your usable storage capacity 23% from 55,000 to 67,800 bytes on drive one. □ FASTER DRIVE — Electronically equal to the TRS-80 Mini-Disk System, but up to 8 times faster (Track-to-track access in 5ms for the V80 versus 40ms for TRS-80). □ DOES NOT VOID TRS-80 WARRANTY — V80 also has 90 -day warranty □ HERE'S WHAT YOU GET: Minifloppy disk drive/Power Supply/Regulator board/Compact case □ DOUBLE DENSITY FOR DOUBLE STORAGE — The V80 will work with the Vista double-density expansion unit when available. □ SHIPPED TO YOU READY TO RUN — Simply take it out of the box, plug it in and you're ready to run. P*Pu PLUS MORE GOOD NEWS - Vista has a new support team, new address, new telephone, and a new owner, Vista is now part of Advanced Computer Products. ALSO AVAILABLE FROM THE NEW VISTA. Vista V-200 Double Density Mini Floppy System with S-1 00 Controller, CPM on 5%", power supply & case $699.00 Vista V-250 Dual Shugart 8" Floppy System with S-1 00 Controller, CPM, BASIC "E", power supply & slimline case $21 99.00 Special Introductory Price: Vi/ta Vista Computer Company 1320 E. St. Andrews Place, Unit I Santa Ana, CA 92705 (714)751-9201 TWX 91 0-595-1 565 Circle 9 on inquiry card. BYTE May 1979 261 What's New? PERIPHERALS ^m^ ■OMPCTSCTM .tACPMttriSn DEC LA 36 Compatible Acoustic Coupler Designated A242A/36, this new acoustic coupler designed with TTL is made specifically for Digital Equip- ment Corporation's LA 36 teleprinter terminal. The A242A/36 offers full duplex 103/113 operation at up to 450 bps. The A242A/36 features posi- tive handset lock, direct microphone handset coupling and direct connection to terminal via permanently attached J4 cable. To increase accuracy of transmitted and received data, the unit features built- in quartz crystal controlled circuitry, double flange seals, special circuitry for reduction of sidetone effects, and special rubber feet for extra vibration isolation. The A242A/36 is housed in a com- pact, lightweight case and is priced at $265. For further information contact Anderson Jacobson lnc,521 Charcot Av, San Jose CA 95131." Circle 539 on inquiry card. Turnkey Video Interface Board The CRT-1000 is a complete 16 line by 64 character video interface. It in- cludes a 1 K by 6 bit programmable memory, a 64 by 7 by 5 row scan character generator, and a video pro- cessor, in addition to the supplemen- tary logic. It accepts TTL data levels in ANSI standard ASCII and provides a composite video output which can be directly connected to any standard video monitor. Power required by the CRT-1000 is 5 V at approximately 350 mA. Video and synchronous levels (positive or negative) are switch selectable. Syn- chronous timing is crystal controlled; however, the dot frequency (character width) may be adjusted to accommodate different video screen widths and scan rates. The CRT-1000 responds to a large group of cursor control commands, including: erase page and home cursor, home cursor, erase to end of line and return cursor, return cursor, cursor left, cursor right, cursor up and cursor down. An erase line function which does not affect the cursor position is provided. When the cursor reaches the bottom line of the display and a line feed code is activated, the entire display is shifted up one line. Additionally, a roll screen command is available which causes the bottom line to be replaced by what was previously at the top of the screen instead of a blank line as in line feed. The CRT-1000 measures 3.5 by 5 inches (8.89 by 12.7 cm). The price is $1 1 9.95. For further information contact Nucleonic Products Company, POB 1 454, Canoga Park CA 91 304." Circle 540 on inquiry card. Acoustic Coupler for Personal Computer Use This acoustically coupled modem as- sembly set has been developed specific- ally for the personal computer market. According to the manufacturer, the mocjem can be assembled in less than 15 minutes with a screwdriver and a pair of pliers. No soldering is required. Since all components are tested, calibrated and burnt in, test equipment is unnecessary. The coupler will operate in both orig- inate and answer modes, with full and half duplex capability. An RS232C/20 mA interface is standard. No special tele- phone lines are required, and the device is fully compatible with telephone com- pany 300BPS equipment (103/113 series). The price is $169.95 and the company offers a 20 day, money back guarantee. An additional 120 day warranty on parts and labor is also provided. For further information, contact Dynamic Devices, 1087 Mississippi St, San Francisco CA 94107.- Circle 541 on inquiry card. LDM 404B Synchronous Limited Distance Modem The Model LDM 404B limited dis- tance modem is designed for full duplex synchronous communication at 4800 bps out to 50 miles. LDM 404B oper- ates over 4 wire voice grade 3002 lines (conditioned or unconditioned), T Car- rier and most other carrier systems. The transmitter uses quaternary amplitude modulation followed by frequency trans- lation to a narrow band centered in the voice channel. The receiver uses delay equalization with digital filtering tech- niques. The alignment is performed with a built-in tuning meter and it has a self- checking capability. Installation requires no special tools or test equipment. The LDM 404B is available as a stand-alone unit or in a rack mounted version. For more information, contact Gandalf Data Inc, 1019 S Noel, Wheeling IL 60090." Circle 542 on inquiry card. Light Pen for Commodore PET 2001 A self-contained light pen which plugs directly into the Commodore PET 2001 user port has been announced by the 3G Company Inc, 37a Williams Canyon Rd, Gaston OR 971 19. This light pen makes it possible to bypass the PET's keyboard and interact directly with the information displayed on the video screen. The light pen adds versa- tility to most graphics programs. It also adds unique capabilities for application programs aimed at the noncomputer oriented person. The light pen is complete and ready to plug into the PET. A sample program and programming instructions come with the pen. The entire package sells for $24.95." Circle 543 on inquiry card. 262 May 1979 © BYTE Publications Inc P.O. Box4430X Santa Clara, CA 95054 RCA Cosmac Super Elf Computer $106.95 Compare features before you decide to buy any other computer. There is no other computer on the market today that has all the desirable bene- fits of 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 computer for training and for learning programming with its machine language and yet it is easily expanded with additional memory, Tiny Basic, ASCII Keyboards, video character generation, etc. The Super Elf includes a ROM monitor for 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 microprocessorchip opera- ting with the unique Quest address and data bus displays betore, during and after executing in- structions. Also, CPU mode and instruction cycle are decoded and displayed on eight LED indicator lamps. An RCA 1861 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 for 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- 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 the Quest Super Expansion Board. Power supply and sockets for ail IC's are included in the price plus a detailed 127 pg. instruction manual which now includes over 40 pgs. of software info, in- cluding a series of lessons to help get you started and a music program and graphics target game. Many schools and universities are using the Super Elf as a course of study. OEM's use it for training and research and development. Remember, other computers only offer Super Elf features at additional cost or not at all. Compare before you buy. Super Elf Kit $106.95, High address option $8.95, Low address option $9.95. Custom Cabinet with drilled and labelled plexiglass front panel $24.95. NiCad Battery Memory Saver Kit $6.95. All kits and options also come completely assembled and tested. Questdata, a 12 page monthly software publica- tion for 1802 computer users is available by sub- scription for $1 2.00 per year. Tiny Basic for ANY 1802 System Cassette $10.00. On ROM $38.00. Super Elf owners, 30% off. Object code listing with man- ual $5.00. Object list, manual and paper tape $10.00. Original ELF Kit Board $14.95. Super Expansion Board with Cassette Interface $89.95 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 Elf. The board includes slots for up to 6K of EPROM (2708, 2758, 2716 or Tl 2716) and is fully socketed. EPROM can be used for 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 exclusive from 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. Improvements and revisions are easily done with the monitor. If 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 full handshake. They allow easy connection of an ASCII keyboard to the input port. RS 232 and 20 ma Current Loop for teletype or other device are on board and if 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 S1 35.00. Also a 1K Super Monitor version 2 with video driver for full capa- bility display with Tiny Basic and a video interface board. Parallel I/O Ports $9.85, RS 232 $4.50, TTY 20 ma i/F $1.95, S-100 $4.50. A 50 pin connector set with ribbon cable is available at $12.50 for easy connection between the Super Elf and the Super Expansion Board. The Power Supply Kit for the Super Expansion Board is a 5 amp supply with multiple positive and negative voltages $29.95. Add 54. 00 for shipping. Prepunched frame S5.00. Case $10.00. Add $1.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 $3.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/.60" displays. Red only. $21.95 Case $11,75 GO 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 C 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. $7.25 PROM Eraser Will 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, fully expand- able. $375.00. 4K version $450.00. 4K Assem- bler $85.00, 8K Basic Interpreter 3100.00. Power supply assembled incase $60.00. TERMS: $5. 00 min. order U.S. Funds. Calif residents add 6% lax. BankAmericard and Master Charge accepted. Shipping charges will be added on charge cards. 7J16IN 7 1162N 71163N 7-H74N 74175N Ml »0N 74192N 74298N 74365N 74366N 74367N 74LS00 TTL 74LS00N 7-1LS02fJ 74LS0-1N 74LS05N 74LS0BN 74LS10N 74LS.13N 74LS14N 7.1LS2QN 74LS22N 74LS28N 741S30N 74LS33N 74LS38N 74L57-1N 74LS75N 74LS9QN 74LS93N 74LS95N 74LS107N 74LS112N 74LSII3N MLS132N 74LS136N 74LS15TN 74L5155N 74LS157N 74LS162N 74LS163N 74LS174N 74LSI90N MLS221N 74LS2S8N 74LS367N LINEAR CA3045 CA3046 CA3081 CA3082 CA30B9 LM301AN AH LM305H LM307N LM30BN LM309H LU309K LM311H'H LM317T.K LM31B LM320K-5 UM323K-5 LM320K-12 LM32K'15 LM330T-5 LM320T-B LM320T-12 LM320T-15 LM324N LM339N LM340K-5 LM340K-8 LM340K-12 LM340K-15 LM340K-24 LM340T-5 LM340T-8 LM3J0T-I2 LM340T-15 LM340T-1B LM34QT-24 LM343H LU350 LM370 LM377 LM2902 LM3900N LM390S LM3909N MCI 458V NE540L NE550N NE555V NESS8A NE565A NE566V \E567V 1.; NE570H 5.1 NE571H 5.1 78L05 .( 78L08 .( 79L05 :, 78M05 .( 75108 1 i 75491CN .£ 7549,'CN .£ 75494CN .8 AloD CONvERTEfl 803 BB 4 5 8700CJ 13 3 8701CN 220 875CCJ 13 9 LD13D 99 9400CJV/F 7 4 ICL7I03 9.5 ICL7107 14.2 CMOS CD34Q0I Fair. .5 C04000 .1 CD4D01 .2 CD-1002 .2 CD. 1096 1 1 CD4007 .a CD4008 .2 CD4009 .3 CD4010 .3 CO4011 .2 CD4012 2 CO4013 .3 CD4014 ,8 CO4015 .81 CO-1016 .31 CD4017 .9, CO-MI a 9. CD4019 .2 CDJ020 1 0; CD4021 1 u; CD4022 .Si CD4023 2 CD4024 7! CD4025 2: CD4U2G 1 5 CD-1027 3( CO 4028 7! CD-1029 1.0; CD4Q30 2' CD-1035 1 o; CDJ040 |,0! CD4042 7i CD -1043 6: C04044 .6: CO4046 1 61 CD4D49 .31 CO405O 31 CD-1051 l.i: CD.1UGD 1.4J CD406G .71 CD406B ,4C CD40G9 M CD4O70 .4C CD4071 .'1 CD4072 .21 CD4073 .21 CD4075 .21 C0407G US CD4078 .40 CO40B1 .21 CD-10B2 .21 C04116 .47 CD4490 5 K CD4507 100 CO4S0O 4.25 CD4S10 1.02 CO-151 1 .9-1 CD451S 2.52 CD4516 1 :D CD4518 CD452Q C04527 CD4528 C045H C049B6 CD-15B3 8T10 8113 BT20 BT23 8T24 BT25 BT26 2102-1 2102AL-4 21L02-! 21F02 2104A-4 2107B 2111-1 PROM 1702A NB2S23 N82S123 NB2S125 N82S129 N82S131 N82S136 N82S137 2708 DM8577 8223 2716T1 2716 Intel 4 95 2 MHz 4 mi 10 95 13 95 9.95 3 50 MM5320 MM5330 PD411D-3 PD41ID-4 P5101L 4200A 82S25 91L02A HD0165-5 MM57100 r.lAY3B500-1 Mi:M6S71A 9368 4100 416 CLOCKS MM5309 MM5311 MM53IJ MM5313 MM531J MM5315 MM5316 MM5318 MM5369 MM5841 MMSB65 CT7001 CT7002 CI70I0 CT7015 MM5375AAN MM5375A6/N 7205 7207 7208 7209 DSO026CN DS005GCN MM53104 MICROPROCESSOR 0800 17.50 6802 24.95 enaoA with daia 8.95 8085 27. DO 5 MHz 10 MHi 18MHj 20 MH; « 32 MHz 6 3<> 3276S MH; « 1.8432 MHZ 3.00 3.5795 MH; 3 95 2.0100 MHz 5 94 2 097152 Mil; 2 4576 MHz 3 2763 MHz 5,0586 MHz 5.185 MHz 5.7143 MHz 6.5536 MHi 14.31818 MHz 18 432 MHz 22.1184 MHz 1.50 villi transformer ana switches Very compact with 50 and .84" Digits MAI0D2A. Cot £ .50 £.95 102P3 Transformer 2.25 MA1010A. C or E .84' 11.95 1D2P2 Tranitormer 2.25 Special Irantformei and ill switches when purchatsd wimodule 2.95 MA1003 cat module .3 gtean floor, display RESISTORS '-.watt 5% 10 t«r type .03 1000 per type 012 25uDMype .025 350 pi 100 pet type 015 5 per type 6 75 KEYBOARDS 56 key ASCII keyboard kfl S67.5D Fully assembled 77.50 53 key ASCII keyboard kil 60.00 Fully assembled 70 00 Enclosure 14.95 LEDS RedTOIB .15 Green. Yellow T0 18 .29 Jumbo Red .23 Green. Orange. Yellow Jumbo .25 CNplite LED Mounting Clips 551.25 (specily red. amber, green, yellow, dear) CONTINENTAL SPECIALTIES In Hock Com oleic line ol breadboard (Ml (quip MAX- toil 8 dlgll Freq. Clr. $128.95 OK WIRE WRAP TOOLS In I toe It Portable Multimeter Si8.ua DIGITAL THERMOMETER $40.50- Ball oper. General purpose or medical 32 -230 F Disposable probe coue' * .2 accuracy. Comp. Assy in compact case. Switches Iram F to C COMPUTER BOARD KITS 8K RAM Board Kit 4X EPROM Krl 10 Board Krt 44 50 Extender Boaro wconnector 12.50 16K EPROM board kit w.o PROMS 74 50 North Star Floppy Disk KI1 $665.90 Additional Drive Kit 415. DO SPECIAL PRODUCTS MM5865 Stopwalcn Timer 9.00 PC board 7 50 SwllcfiEs Mom Pushbutton 27 3 pos slide 25 Encoder HD0165-5 6.95 3 Digit Universal Courtier Board Kit Operates 5-18 Volt DC to 5 MHz typ. ,125'LEDdispiay 10.50 Voice actuated switch .50 Paralronlci 100A Logic AnalyzBi KI1 S135 00 J224.0 CONNECTORS '""" 44 pm edge 2 75 u,uu 100 pin edge 4 50 100 pin edn.e WW 5.25 3.00 360 KEYBOARD ENCODERS 489 AY5-2376 3 60 AY5-3500 390 74C922 4-00 74C923 5 00 HD0165-5 Model 10 Trigger Expander Kil Model 150 Bus Grabber Kit S3 Sinclair 3tt Dlgll Multimeter S Clock Calendar Kit S TRANSFORMERS 6V 300 ma 12 Volt 300 ma irartslormei 12.5V CT 600 ma 12V 250 ma wall plug JU 12V CT 250 ma wall plug 3 5 o 2-fV CT 400 ma 5 50 10V 1.2 amp wall plug $229.0 12V 6 6 95 DISPLAY LEDS MAN1 CA 270 2. MAN3 CC 125 10 MAN72/7-I CA/CA .300 I 47 DL704 CC .300 1 -47 DL707/DL7O7R CA 300 1 25 2.50 19.75 2.90 1 -0 8253 1.02 8255 1.02 8257 151 B259 .79 1B02CPplas. 3.50 1802DPplas. 2.25 1861P 4.50 COP1802CO 2N1893 2N2222A 2N2369 ;'fl2G04A 2U2907A 2N3053 2N363B 2N3643 2N3904 2N3906 2N3055 2N4400 2N4401 2N4402 D Connectors RS232 25 Pin Sub i D825P UB?=S RS232 Complelc Set 6.50 12000 OE9P 1.50 350O0 DE9S 1.95 55M0 DA15P 2.10 82000 DA15S 3.10 60000 DL727/72B OL747.750 DL750 FND359 FNDtiUCI r;il7 FN[)5iJ3:)'(' FHO80O/M7 3 tltgil Bubble 4 digit bubble DG8 Fluorescent OG10 Fluorescent 5 digit 14 pm display NSN69 9 digil display 7520 ClairuK ntKitiicu!!:; TIL31 1 Hex CA-CC .500 1 CA-CC .600 1 95 CC 600 1.95 CC .357 .70 CC/CA .500 1.35 CC/CA .509 .90 CC/CA .800 2.20 GO 80 COMPUTER GRADE CAPS 1500 mid 200V 2000 mid 45V 3200 50V 5500 25V 5800 40V 3 95 9400 Multi-volt Computer Power Supply 8v 5 amp, »18v .5 amp. 5v 1.5 amp, -5v .5 amp, 12v .5 amp, -12 option. ±5v, *12v are regulated. Kit $29.95. Kit with punched frame S34.95. Woodgrain case $10.00. Video Modulator Kit $8.95 Convert your TV set into a high quality monitor without affecting normal usage. Complete kit with full instructions. 2.5 MHz Frequency Counter Kit Complete kit less case $37.50 30 MHz Frequency Counter Kit Complete kit less case $47.75 Prescaler kit to 350 MHz $19.95 79 IC Update Master Manual $35°o Complete IC data selector, 2500 pg. master ref- erence guide. Over 50,000 cross references. Free update service through 1979. Domestic postage $3.50. Foreign $5.00. 1978 IC Master closeout S19.50. 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 power ranges 0.1 ohm-20M ohm. DC curr. .01 to 100ma. Hand held, W LCD displays, auto zero, polarity, over- range. $74.95. S-100 Computer Boards 8K Static RAM Kit Godbout $135.00 16K Static RAM Kit 265.00 24K Static RAM Kit 423.00 32K Dynamic RAM Kit 310.00 64 K Dynamic RAM Kit 470.00 8K/16K Eprom Kit (less PROMS) $89.00 Video Interface Kit $139.00 Motherboard $39. Extender Board $8.99 FREE: Send lor your copy of our NEW 1979 QUEST CATALOG. Include 28c stamp. Circle 31 1 on inquiry card. BYTE May 1979 263 What's New? PUBLICATIONS Tl Publishes Third Edition of Under- standing Solid-State Electronics A new and updated edition of Under- standing Solid-State Electronics, 270 pages, is available from the Texas Instru- ments Learning Center Library, POB3640, MS 84, Dallas TX 75285. The softback is priced at $3.95. This third edition covers today's semiconductor technologies and prod- ucts and reviews earlier electronic de- vices and integrated circuits to provide the reader with a basic understanding of solid-state electronics. Written in non- technical language, Understanding Solid- State Electronics is a self-teaching text- book complete with quizzes and glossa- ries. New additions include comprehensive discussions on MOS (metallic oxide semi- conductors) and LSI (large scale inte- grated circuits); how an MOS transistor works, how it compares to a bipolar transistor and how MOS transistors have made microprocessors and microcomput- ers possible. New details are also pro- vided on linear integrated circuits; the techniques used to fabricate them and how they are used. The book explains how diodes, tran- sistors, thyristors and integrated circuits are made; how they work; and how they are used in systems. Other topics covered are: what electricity does in systems; how circuits make decisions; and how semiconductors relate to systems." Circle 526 on inquiry card. 1978/1979 Catalog from Cramer Electronics This comprehensive catalog from Cramer Electronics lists the components, systems, peripherals, instruments and tools that are available at local Cramer stocking centers. Listed in the 1978-79 Cramer Buyer's Guide are products made by such companies as Allen-Bradley, Amphenol, Bournes, Erie, Fairchild, General Electric, ITT Cannon, Mostek, Motorola, RCA, Sprague, Texas Instru- ments and about 80 more manufacturers. Cramer offers components in over 50 product categories covering all active and passive areas plus a wide range of acces- sories. For a copy of this catalog, write to Cramer Electronics, 85 Wells Av, Newton MA 02159." Circle 527 on inquiry card. How to Find the Personal Computer You Want A 24 page publication entitled Personal Computers for the Business- man explains what a personal compu- ter is and how it differs from a mini- computer. It also describes a shopping strategy to follow when the decision is made to purchase a system. A major part of the report is an overview of the best known manufacturers currently in the personal computer market. The configuration of each system is given as well as the price range. There is also a list of manufacturers and suppliers in the back of the publication. The pur- chase price of the report is $7.50. For further information contact Manage- ment Information Corp, 140 Barclay Ctr, Cherry Hill NJ 08034." PERSONAL PERSONAL PERSONAL PERSONAL PERSONAL PERSONAL PERSONAL PERSONAL PERSONAL PERSONAL PERSONAL PERSONAL PERSONAL PERSONAL PERSONAL PERSONAL PERSONAL PERSONAL PERSONAL PERSONAL PERSONAL PERSONAL PERSONAL PERSONAL PERSONAL PERSONAL PERSONAL PERSONAL PERSONAL PERSONAL COMPUTERS fOR COMPUTERS FOR COMPUTERS FOR COMPUTERS FOR COMPUTERS FOR COMPLJTERS FOR COMPUTERS FOR COMPUTERS FOR COMPUTERS FOR COMPUTERS FOR COMPUTERS FOR COMPUTERS FOR COMPUTERS FOR COMPUTERS FOR COMPUTERS FOR COMPUTERS FOR COMPUTERS FOR COMPUTERS FOR COMPUTERS FOR COMPUTERS FOR COMPUTERS FOR COMPUTERS FOR COMPUTERS FOR COMPUTERS FOR COMPUTERS FOR COMPUTERS FOR COMPUTERS FOR COMPUTERS FOR COMPUTERS FOR COMPUTERS FOR THE BUSINESSMAN IMF BUSINESSMAN THE BUSINESSMAN THE BUSINESSMAN THE BUSINESSMAN THE BUSINESSMAN THE BUSINESSMAN THE BUSINESSMAN THE BUSINESSMAN THE BUSINESSMAN THE BUSINESSMAN THE BUSINESSMAN THE BUSINESSMAN THE BUSINES5MAN THE BUSINESSMAN THE BUSINESSMAN THE BUSINESSMAN THE BUSINESSMAN THE BUSINESSMAN THE BUSINESSMAN THE BUSINESSMAN THE BUSINESSMAN THE BUSINESSMAN THE BUSINESSMAN THE BUSINESSMAN THE BUSINESSMAN THE BUSINESSMAN THE BUSINESSMAN THE BUSINESSMAN THE BUSINESSMAN i?ig Directory of PET Related Products A comprehensive hardware and soft- ware reference service for users of the Commodore PET computer has been announced by Channel Data Systems, 5960 Mandarin Av, Goleta CA 93017. The Channel Data Book is a user oriented directory of PET related products in- cluding: software, hardware and periph- erals, literature and periodicals of special interest to PET users, listings of user groups and distributors, and cross references by product type and supplier. The Channel Data Book provides di- viders and color coding to organize programs, articles, and newsletters of specific interest to each user. The book includes a 3 ring binder and updated supplements with instruc- tions for filing new and revised material. The Channel Data Book is priced at $19.95, which includes an update service through calendar year 1979." Circle 529 on inquiry card. SI! ■/ Circle 52B on inquiry card. New Microcomputer Magazine from Germany Chip is a new German language maga- zine for microcomputer users interested in computer construction, programming and application. Published every other month, this appealing publication has at least 65 pages of editorial material deal- ing with software and hardware, ready- for-use devices, instructions for circuit construction, programming, and stories in words and pictures. Every issue is complete with book reviews, training methods and instructions, and a forum for exchanging experiences and opinions. The cost for six issues of Chip is DM 24.00. For more information, write to Vogel-Verlag, Max-Planck-Str, 7/9, Postfach 6740, D-8700 Wurzburg 1, GERMANY." Circle 530 on inquiry card. 264 May 1979 © BYTE Publications Inc 10-DAY FREE TRIAL Send for our FREE Catalog *& P€T S79» $750 14K ROM, 8K RAM Fast Microsoft BASIC Integral Tape & CRT Graphics & Lower case Real-time clock IEEE and Parallel I/O IN STOCK NOW! 32K PET — $675.00 with the trade-in of your working PET Normally $1,195.00 / J 'ftHHj The most computer value you can buy in a single box, the PET is a complete system. It's our most popular computer. THE PET CONNECTION SECOND CASSETTE FOR PET$95 READER PUNCH We have interfaced our reconditioned reader/ punch units to give you the fastest and most reli- able unit at these low prices. Interfaces include power supply, cables and cabinet. TTL PARALLEL READER/PUNCH RS-232 SERIAL READER/PUNCH $750 $950 CENTRONICS 779 PRINTERS Selectable for 10 or 16.5 char/in. 80 or 132 char/ 8 "line. Print speeds up to 110 cps. Parallel interface with handshake. CENTRONICS 779-1 with friction feed $1035 CENTRONICS 779-2 with tractor feed $1140 3eeoe' — PET controlled S2<195 Peiunia — Play music Irom your PET S29 95 Video BuMe' — Outpui lot S39 95 Combo - Petunia Video S49 9S apple II RS-232 Modem Interlaces N Only ^&° c $699.00 Now a 5th Generation in Terminals: Immediate Delivery Hazeltine 1500 full of features $1049 Hazeltine 1510 with buffer logic $1149 Hazeltine 1520 with printer interface $1499 or write for more information 9" SANYO MONITOR with purchase of a 16K or 32K SORCERER INTEGRAL DATA IMPACT PRINTER! Now you can print on plain paper and make multiple copies on a low-cost printer. The friction-feed IP-125 and the tractor-feed IP-225 80 column, dot-matrix printers are perfect for parallel or RS-232 serial ap- plications at baud rates up to 1200. Graphics, print density and buffer options are available to fit every system's needs. Write for information on options. IP-125 $799 IP-225 $949 Datel ISelectric Table-top *g^ Terminals S3K S *9 S «*/«* NCE/CompuMart 1250 North Main Street, Department BY49 P.O. Box 8610 Ann Arbor, Michigan 48107 (313) 994-3200 >o?^ List $ 279 - 95 's*V£ $189.95 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. KTM-2 new concept in terminals Only $349.00 SyneMek s uniQue new terminal looks like a keyboard but il contains all (he logic to display 24 lines ol 40 charac- ters Upper Lower case and 128 special graphic characters may be outpui to a monitor (or TV with AF modulaiorl Local editing (erase line or screen) ad- dressable cursor scrolling wrap- around aulorepeai optional interlace and baud rales to 9600 make this youi best buy m terminal boards e SANYO MONITOR VM42099 ouaMymon.U.i $169 KIM-1 $169.95 ^.^, $214 _ 95 | EXPAND YOUR KIM SYSTEM: KIMSI KIM to S-100 Board Assembled $169 Connector Set 15 KIM 4 Expansion board 89.95 MICRO TECH POWER SUPPLY Assembled 134.0S KIM ENCLOSURE $23.50 CAT COUPLER New 300 baud Originate/ Answerback Acoustic Coupler. Looks good, works great and sale priced at <£-* qq Smqie boa-d VIDEO TERMINAL by XITEX aNOW$1B7 • Michigan residents add 4% saies lax • 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 Irom 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) SEND FOR FREE TERMINAL FLYER Circle 283 on inquiry card. BYTE May 1979 265 What's New? SOFTWARE SAL-11 Structured Assembly Language The SAL-11 Structured Assembly Language software is a MACRO-11 pre- processor which operates on DEC LSI-11s and PDP-11s under RT-11. SAL-11 is a midlevel language suitable for systems and applications program- ming which requires the advantages of assembly language. SAL-1 1 facilitates the use of struc- tured programming techniques; provides a standard interface between FORTRAN and MACRO-11 modules; provides string Play 4 Person Contract Bridge Against the Computer Bridge Challenger, for 8 K byte PETs, 16 K byte Level II TRS-80s and 16 K byte Apples, lets you and the dummy play 4 person contract bridge against the computer. The program will deal hands at random or according to your criteria for high card points, and you can save hands on cassette and reload them for later play. You can review tricks, rotate hands east-west, shuffle only the defense hands, or replay hands when the cards are known. Bridge Challenger is priced at $14.95 and is available from Personal Software, POB 136, Cambridge MA 02138." Circle 548 on inquiry card. handling capabilities; handles recursive and reentrant modules; and provides commands for stack manipulation, regis- ter saving and restoring, and for passing parameters and control between modules. The structured programming facilities provided by SAL-11 include the classic control structures for conditional execu- tion, iterative execution, case statements, program block definition and environ- ment setup. Included in the $515 binary license fee is a copy of the user's guide and 1 year warranty which includes technical assistance and maintenance support. For more information contact GEJAC Inc, 3322 Stanford St, Hyattsville MD 20783." Circle 546 on inquiry card. Structured Programming for the TRS-80 SLIC (structured language for inter- active computation) is a high level language interpreter offered by RTG Data Systems, 309 Santa Monica Blvd, Suite 312, Santa Monica CA 90401. SLIC features a complete set of con- trol statements for structured pro- gramming; modular programming using functions with arguments; dynamic variable allocation for efficient memory usage; device independent input and output (IO) using unit numbers (byte, record and variable IO are all pro- vided); programs that can read and write cassette data files; character, integer and real variables; one- and two-dimensional arrays; keyword com- pression; 28 built-in functions; cas- sette motor control and many more features. Sample SLIC program listings are included. SLIC is available on TRS-80 cassette and requires a 16 K Level I machine. The price is $50 and the user's manual may be ordered separately for $10." Circle 549 on inquiry card. Compiler for 6500 Microcomputer Family A systems implementation language called CSL/65 has been developed by Computer Applications Corporation (COMPAS) for the 6500 microcomputer family offered by Rockwell, Synertek and MOS Technology. The language resembles PL/1 and ALGOL in general form, but has been specifically designed for microcomputer users. Versions are currently available for the Rockwell System 65 development system and any PDP-11 using the RT-11 operating system. CSL/65 is a midlevel language de- signed to combine the power and flex- ibility of assembler language with the structuring potential of a high level language. All language features are aimed at improving the productivity of the systems programmer by sim- plifying the development of programs normally written in assembler. CSL/65 produces assembler code rather than object code. This allows the programmer to enhance or optimize at the assembler level if necessary as well as enabling the programmer to drop into assembler whenever necessary. CSL/65 output is then passed to the assembler, which is part of the System 65 monitor, or to the MINmic assembler, which is available from COMPAS for the PDP-11. The price for either the System 65 or PDP-11 versions of CSL/65 is $1000. The MINmic 1165 assembler (required for PDP-1 1 users) is $900. For further information contact Computer Applica- tions Corp, 41 3 Kellog, Ames I A 50010." Circle 551 on inquiry card. Game Series Available for Apple II The Intelligent Game Series #1 is available for the Apple II computer. The three software packages include: Battle- ship and 3-dimensional Tic Tac Toe; Hangman and Concentration; and Casino Royale (includes 1 arm bandit, crap game, blackjack and roulette). All three packages feature Apple II low and high resolution graphics with instructions in- cluded. Each program package costs $12 and individual program listings can be obtained for $3 per program. For more information contact Stuart Frager, POB 1 3331 , Baltimore MD 21 203. ■ Circle 547 on inquiry card. Zilog BASIC Interpreter Supports Z-80 Based Microcomputers Zilog's extended BASIC interpreter supports the firm's MCZ series of micro- computers introduced to date (the MCZ-1/05, MCZ-1/60 and MCZ-1/90) and its new line of development systems (the 4 MHz ZDS-1/40 and 2.5 MHz ZDS-1/25). Programs can be interactively entered, edited, run and debugged com- pletely within the BASIC interpreter subsystem. Zilog's BASIC allows the user to manipulate real, integer and string data with full file capabilities, including both string and record random access. BASIC includes two mathematics packages: a binary package with seven significant digits, and a binary coded decimal data version with 13 significant digits. The interpreter interfaces with the RIO operating system of Zilog's micro- computers, which use the Z-80 pro- cessor. Programs can be interfaced with PLZ or assembly language procedures and can be chained to other BASIC programs. For more information contact Zilog, 10460 Bubb Rd, Cupertino CA 95014.. Circle 550 on inquiry card. BASIC for Fairchild F8 Features Floating Point Micro Business Systems Inc has announced a full BASIC interpreter for use with Fairchild's F8 processor. Called MBS-BASIC, the new product features 9 digit precision and floating point arithmetic. Including all standard arithmetic operations and relations, MBS-BASIC is competitive in speed and efficiency with the 8080 and Z-80 BASIC interpreters. MBS-BASIC version 1.0 has a license fee of $179.95. The MBS-BASIC inter- preter is distributed on ASR33 compat- ible paper tape and is provided with documentation. Contact Micro Business Systems Inc, POB 8255, JFK Sta, Boston MA 021 14." Circle 552 on inquiry card. 266 May 1979 © BYTE Publications Inc rnatt Venus 2001 Video Board )M.mM^^ ^ Assembled and Tested $259.95 • Complete Unit with 4K ^A^^ffll of Memory and Video Driver on Eprom assembled VflALM and tested $339.95 **'**kiti99' 5 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-7 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. -American Or European TV Compafl- Display: 128 asch Characters 64 x 32 or 32 x ble ( CRT Controls Programable) 16 Screen format (Jumper Selectable). 7 by 1 1 Dot , . ... Matrix characters Dealer Inquires Invited WlMIIIfllllllll GRAND OPEN I HI & SPECIAL! 15 MHZ DUAL TRACE Portable Scope BIG PRICE w - - .i BREAKTHRU^ _•*■* 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) Prices Good through 5/31/79 MS- 1 5 Single Trace Scope $299. e 3 1 / 2 DIGIT DMM LCD Readout SIZE: 1.3" H 2.7" W 4.0" D • .5% Accuracy • AC-DC 1- 1000V • Ohms 1K-10M • Current lmA-1 Amp • 100% Overload Protection OPTIONAL: • Leather Case $20.00 • NiCad Battery and Charger $16.00 3.5 LED DIGITS Panel Meter • .5% Accuracy • Voltage Range 0- 1000V •Power: +5V 200mA • Auto Zero • Update Rate: 3 Rdg. / Sec. Circle 130 on inquiry card. MODEL LM-350 '139 95 '52. MODEL PM-349 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 TRS-80 ES SERIAL I/O • Can input into basic • Can use LLIST 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, 2400, parity or no parity odd or even, 5 to 8 data bits, and 1 or 2 stop bits. D.T.R. line • Requires +5, -12 VDC» Board only SI 9.95 Part No. 8010, with parts $59.95 Part No. 801 OA, assembled S79.95PartNo.S010 C. No connectors pro- vided, see below. EIA/AS-232 con- nector Part No. D625PS60O,witti 9'. 8 conductor cabla 310.95 Part No OB23P9. 3" ribbon cable with auacnod con- necters totitTRS- BO and our aerial board 51 9. 93 Part No. 3CAB40. RS-232/ TTLtt 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 S7.00 Part No. 232A 10 Pin edge connector S3.00 Part No. 1 0P w SHfe* modem-::- • Type 1 03 • 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 ft speak- er and crystal mic. directly to board • Uses XR FSK demod- uletor • Requires +5 volts • Board only $7.60 Part No. 109, with parts $27.50 Part No. 1 09A VERBATIM MINIDISK Vferbalim Box of 1 $29.95 RS-232/ TTYtt 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 f*ART'W'0 6V0 S-100 BUS" ACTIVE TERMINATOR Board only $14.95 Part No. 900, with parts $24.95 Part No. 900A APPLE ll# SERIAL I/O INTERFACE Baud rate is continuously adjustable from 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 e video or an intelligent terminal. Also can output in correspondence code to interface with some selectrics. • Also watches OTR • Board only $1 5.00 Part No. 2, with parts $42.00 Part No. 2A, assembled $62.00 Part No. 2C 8K EPROM puceon Saves programs on PROM permenently (until erased via UV light) up to 8K bytes. Programs may be directly run from the program saver such as fixed routines or assemblers. • S- 100 bus compatible • Room for 8K bytes of EPROM non-volatile memory (2708'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 S25. Bare board $35 including custom coil, board with parts but no EPROMS $1 39, with 4 EPROMS $179, with B EPROMS $219. WAMECO INC. FDC-1 FLOPPY CONTROLLER BOARD will drive shugart, pertek, remic 5" & 8" drives up to 8 drives, on board PROM with power boot up, will operate with CPM (not included). PCBO $42.95 FPB-1 Front Panel. (Finally) AMSAI size hex displays. Byte or instruction single step. PCBLT $42.95 MEM-1A BKxB fully buffered, S-100, uses 2102 type RAMS. PCBD $24.95. $1 68 Kit QMB-12 MOTHER BOARD, 1 3 slot, termi- nated, S-1 00 boerd 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 RTC-1 Realtime clock boerd. Two independ- ent interrupts. Software programmable. PCBD $25.95, $60.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 OMB-9 MOTHER BOARD. Short Version of QMB-1 2. 9 Slots PCBD $30.95 $67.95 Kit MEM-2 16KxB 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 for computer 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 • Board only $39.00 Part No. 106, with parts $145.00 Part No. 106A UARTfi 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 $1 2.00 Part No. 101, with parts $35.00 Part No. 101 A, 44 pin edge connector $4.00 Part No. 44P TAPE INTERFACE • Play and record Kan- sas Dty 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 boerd • 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 denounced and available in true and complement form. Four onboard 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 regulated +5 volts at 3 amps., +1 2, -1 2, and -5 volts at 1 amp. • Power required is B volts AC at 3 amps., and 24 volts AC C.T. at 1.5 amps. • Board only $12.50 Part No. 60B5, with parts excluding transformers $42.50 Part No. 6085A "IV*. C\Tfii\V ■ Mention part number, description, and price. In USA, shipping paid for orders accompanied by check, money order, or Master Charge, BankAmericard, or VISA Iw \J\ Uwl a number, expiration date and signature. Shipping charges added to C.O.D. orders. California residents sdd 6.5% for tax. Outside USA add 10% 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." Deeler inquiries invited. 24 Hour Order Line: 1408) 826-4064 * Circuits designed by John Bell For free catalog including parts lists and schematics, send a selt-addressed stamped envelope. ELECTRONIC SYSTEMS D^B, P- O. Box 21638,SanJose, CAUSA 95151 268 BYTE May 1979 Circle 125 on inquiry card. lliclXVIVlKANS A completely refurbished IBM Selectric Terminal with built-in ASCII Interface. II Features: • 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. AH orders are shipped F.O.B. San Jose, CA 3. Deliveries are immediate For orders and information DATA-TRANS 2154 0TooleSt. UnitE San Jose, CA 95131 Phone: (408) 263-9246 ASCII KEYBOARD By Cherry Products • • Mounted to DECWRITER Panel ASSEMBLED 89.95 TIDMAX • 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-1 00 bus compatible • Board only $35.00 Part No. 112, with parts $1 1 Part No. 1 1 2A KS23 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 S330.00. Part No. TA 1 000C ffappta With16K $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 OrHpr ■ ' vlentlon P art numDe r, description, and price. In USA, shipping paid for orders accompanied by check, money order, or Master Charge. BankAmericard. or VISA ■V wl %Jwl ■ number, expiration date and signature. Shipping charges added to C.O.D. orders. California residents add 6.5°/o for tax. Outside USA add 1 0°/o for air mail postage and handling, no C.Q.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. ELECTRONIC SYSTEMS Dept - B ' P - °- Box 21638, San Jose, CAUSA 95151 Circle 125 on inquiry card. BYTE May 1979 269 "CRT INTERFACES" black - white /color Monitors • Combination Rcyr /monitor sets • Modulator kits * B-w Cameras • Color Cameras " Audio Subcarrier kits • Parts WRITE or PHONE (or DETAILS & PRICING. DIAL: 402-987-3771 Dealers welcomed. Well established program. — & — e/V) 13-B ATV Research Dakota City, Broadway ., rj.f^i NE. 68T3I T Circle 19 on inquiry card. L 5 APPLE) SUPER SALE 16K Apple II $1039.95 Integral Data IP225 Printer . with graphics $1095.00 Apple Soft Cards $1 49.95 Carrying Case $29.95 Super Mod $29.95 UCATANCORP. P.O. Box 1000 Destin, Fla. 32541 904-837-2022 Credit Cards Accepted RECYCLE(D) COMPUTERS BUY £ SELL £ SWAP Hardware & Software MEW PRODUCT ANNOUNCEMENTS Mailed 1st Class every 3 Weeks lyr. (18 issues) %? $3.75 ON LINE w O.iur Uctltr Puulislin - i'sMUlishrb 1975 24695 Santa Cruz Hwy.. Los Gatos, CA 95030 Circle 288 on inquiry card. Pascal Micro Engine $2695.00 hiiiiiiiiiiiiiiiiimiiiiiiiiiiiiimiNiiiiiiiiiiiiiiiiiiiiiii Discounts on Xitan, Cromemco, SD Systems, Vector, TEI, North Star, Apple, Hytype II, Qume, Axiom, Tl, Centronics, Integral Data Systems, Soroc, Lear Siegler, Intertec, Micromation, PerSci, Micropolis, SSM, Computalker, Heuristics, Mountain Hardware, Summagraphics, iiiiiiiiiiiiiimiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii miLiKE] \umj Microcomputers. Peripherals and Software 1015 NAVARRO SAN ANTONIO. TEXAS 78205 512/222 1427 COMPUTER MART of NEW HAMPSHIRE, Inc. . SPECIALIZING IN BUSINESS & 1 AND PERSONAL COMPUTERS * "ptMUtUp DATA GENERAL microNOVA® XITAN, NORTH STAR HORIZON, MICROMATION, IDS PRINTERS, APPLE II S-100 Bus Products SOFTWARE currently available: AR, GL, AP, Inv., Payroll, Word Processing, and Dental Office Manager. □ 170 Main Street Nashua, NH 03060 603/8832386 □ Circle 76 on inquiry card. SHORT CASSETTES C-10 J List 31.00 10forS7.50 50 tor $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 11 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 380 on inquiry card. Circle 221 on inquiry card. Circle 229 on inquiry card. FLOPPY DISK REPAIR • PerSci and Shugart • Quick turnaround • Factory trained on PerSci COMPUTER SERVICE CENTER 7501 Sunset Blvd Hollywood CA 90046 213-851-2226 Circle 77 on inquiry card. TRS-80 16K MEMORY EXPANSION KIT INCLUDES 8 TESTED t GUARANTEED M5K 4H6 3 16K DAMS. PROGRAMMING PLUGS & EASY-TO-FOLLOW INSTRUCTIONS. $72°° PER KIT 6800 64K BYTE RAM SET AND CONTROLLER CHIP SET MAKE 64K BYTES OF MEMORY FOR YOU!) 6S00. THE CHIP SETS INCLUDE: *n„,-™ 32 M5K 4116-3 16K RAMS. $295°i> 1 MC3480L MEMORY CONTROLLER. PFR rnilPIFTF SFT 1 MC3242AP MEMORY ADDRESS PER COMPLETE SET. MULT , p LEXER/ C0UNT ER. DATA 8 APPLICATION SHEETS PARTS TESTED « GUARANTEED. 16K DYNAMIC RAMS M5K 4116-3 200NSEC ACCESS TIME/375NSEC CYCLE TIME. TESTED i BURNED-IN. |g50 EACH/MIN.QTY. 8 4K STATIC RAMS EQUIV. TO TMS40L44-30 300NSEC ACCESS TIME/ CYCLE TIME FOR 4MHZ Z-80 OPERATION. J75J) EACH/MIN.QTY 8 TESTED S GUARANTEED QUANTITY DISCOUNTS 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. SURPLUS ELECTRONICS ASCII ASCII IBMSELECTRIC 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. HICKOK LX303 $7495* $318. MS-15 MINISCOPE Rtcfitrgrabla BMtlttft A Chttg*r Unit • 15 megahertz bandwidth. • External and Internal trigger. • Time base — .1 microsec. to 0.5 Sec/div - 21 settings . -3%. • Battery or line operation • Automatic & line sync modes. • Power consumption < 15 watts • Vomcal Gam — 01 to SO Vffliv ■ 12 tailing* ± 3% • Case Si.-g 2 7"H . 6 *"W ■ 7 5"D. 3 poundi • PROBE K PROBE IC with the purchase of SCOPE and .the MENTION 01 this MAGAZINE • 5%, 3Va digit 19 Range DVM. '/«" 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-3 1 15V AC Adapter $7.50 CC-3 Deluxe Padded Vinyl Carrying Case 57.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 *FREE Just tor Asking. FREE BATTERY with your meter. i MS-215 Dual Trace Version of MS-15 $435. UNGARmatic" Controlled Soldering Station THREAD-TOGETHER MODULAR DESIGN FOR QUICK, ON-LINE HEATER OR TIP CHANGE • Available in 3 preset temperatures; 600*F.. 70CPF or BOO'F. lor iny application • Closed loop, non magnetic control • Low voltage system: 3 wire grounded • Blomechanlcal designed handle wilh cool grip for operator comfort. Co'd is super Nexible 3 wire grounded, treat resisiant. • Large capacity snap-on tray and sponge: removable tot opnonal plaee- ■ Long lite interchangeable t ns. iron clad, chrome plated, pro-tinned. • Designed lor use on sensitive components. COMPLETE STATION AND REPLACEABLE HEATER SELECTION GUIDE Ttmn§r»iuri Compltli SUIMn ConlroDtd Mull/ No 60O*F S0T6 »76 70O'F. 50T7 177 BOO'F. 50TB #78 Each of the above stations Include- i70B Power Supply with on/oll switch. Indicator light, and 3 wire power cord, 171 Handle with 3 wire heat resisiant secondary cord; #B9 Tray and Sponge: «72 Iron Holder; Controlled Healer with «B7 Screwdriver tip 1/16' MS TIP ADAPTER Tip Adapter -•' lor special micro applications This Adapter is designed for the use o! t'B" Ihread-m Princess Nibs Controlled Heaters: S14.SS Each. Tlpa; S2.25 Each. Adapter; SI. 30 Eactt List $59.50 OUR PRICE $52.50 HICKOK LX303 $74.95 SD EXPANDORAM lie. tUtimoit. S-fOO TKowvuf. 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. ItiiMT • 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. EXPAND0 64KIT(4116) 16K $245.00 32K $310.00 48K $375.00 64K $440.00 Plugboards A! MM mrctocompuin Price $29.50 1/16 lk(M BOARD .042 dia holes on 0.1 spacing for IC's ♦ 8800V Universal Microcomputer/processor plugboard, use with S 100 bus Com- plete with heat sink & hardware 5.3" x 10' « 1/16 1-4 5-9 10-24 119 95 $17 95 S15.96 8801-1 Same as 8800V excepl plain 'less power buses & heat sink 1-4 5-9 10-24 $14 95 S13 46 81196 3682 9.6"x4.5" $10.97 3682-2 6.5" x4. 5" $9.81 Hi-Density Dual-ln-Line Plugboard lor Wire Wrap with Power & Grd. Bus Epoxy Glass 1/16" 44 pin con. spaced .156 3677 9 6" x 4.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 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" 44pincon spaced .156 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" 22/44 pin .156 ctrs. Extenders .... $13.17^ Phenolic PRICE PART NO. SIZE 1-9 10-19 64P44XXXP 4.5x6.5" $1.56 $1.40 169P44XXXP 4.5x17" $3.69 $3.32 Epoxy Glass 64P44 4.5x6.5" $1.79 $1.61 84P44 4.5x8.5" $2.21 $1.99 169P44 4.5x17" $4.52 $4.07 169PS4 8.5x17" $8.03 $7.23 i same as 315 but with 14" bar to accomodate "S100" boards. PRICE:$IZ95 TRS-80 MEMORY EXPANSION KITS 4116'sRAMS (16Kx1 200ns) 8 for $69.00 STANDARD I ^H^^ ^^L^- BASE C&n V«*^^ Perfectly balanc 2708 8K 450 ns EPROM FACTORY PRIME $12.00 EA. 25 + Call For Price 14 & 16 PIN 'GOLD 3 LEVEL \WIRE WRAP SOCKETS >14-G3 100 for $30.00 16-G3 100 for $30.00 50 of each for $32.00 Sockets are End & Side stackable, closed entry PRICE:$12.95 PANAVISE TILTS, TURNS, AND ROTATES TO *ANY POSITION. IT HOLDS YOUR WORK . EXACTLY WHERE YOU WANT IT, IM-10A List $89.00 I SPECIAL $56.95 with tube balanced fluorescent lighting with precision magnifier lens. Tough thermoplastic shade. Easy lens re- moval. New wire clip design permits easy Installation and removal of fluorescent tube. Comes with plastic shield to protect tube from soiling and damage. Colors: Gray, Black, and Chocolate Brown. Comes with one 22 watt T 9 decline fluores- Oftflt lube. 3 diopter lens. _ $0- I WRAP POST lor .042 dia. holes J I (all boards on this page) IT44/C pkg 100 .. $ 2.34 |T44/M pkg 1000 .... S14.35 ' I A-13 hand Installing tool j 2.94 2102LPC 450ns Low Power RAMS $1.00 Ea.in lots of 25 2102LHPC 250ns Low Power RAMS $1.25 Ea. In lots of 25 ORDER TOLL FREE 1 8004235633 {213) 894-8171 FND 503 Common Cathode FND 510 Common Anode Vt" 7seg LED 59c ^ 10/ s 4 50 n ^c^c PRIORITY IONEI ELECTRONICS 16723B Roscoe Blvd. Sepulveda CA 91343 Terms. VISA. MC. BAC. check. Money Order. COD . U S. Funds Only CA residents add 6% sales lax Mini- mum order $10 00 Orders less lhan $75 00 include 10% stripping and handling; excess refunded. Just in case please include your phone no Good Thru May 1979 phone orders welcome (213)894-8171 oEMandmstitutionahnqui Send lor our latest brochure. 24 PIN DIP PLUGS WITH COVERS 3/ $1.00 40/ $10.00 HICKOK LX303 $74.95 HICKOK LX303 $74.95 our new retail location 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. )ISC DRIVES SD EXPANDORAM 74e tOtcmatc S-fOO %** 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 ol logic levels lor til. PTL. HTL or CMOS Input Impedance: 100.000 ohms. Minimum Detectable Pulse: 50 ns. Maximum Input Signal (Frequency): 10 MHz. Puis* Detector (LED): High speed train or single event. Pulse Memory: Pulse or level transition detected and slored. ^^ ^-e" ^CSC Model LP- 1 Logic Probe— Nel Each JS#£95 $42.70 s ^£ ^^ MODEL LP-2 Economy version ol Model LP-1. Safor than a voltmeler. More accurate than a scope. Input Impedance: 300.000 ohms. Minimum Detectable 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 »4^5 $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. Pulse Detector (LED): High speed train or single evenl. Pulse Memory: Pulse or level transition detected and stored. CSC Model LP-3 Logic Probe— Net Each tfXft^* $66.45 DIGITAL PULSER The ultimate In speed and ease of operation. Simply connect clip leads to positive and negative power, than touch DP-1's probe to a circuit node: automatic 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 via built-in dual control push-button; button selects single shot or con- tinuous modes. LED indicator monitors operating modes by (lashing once tor single pulse or continuously tor a pulse train. Completely automatic, pencil-size lab/field pulse generator for any family of digital circuits, Out- put: Trislate. Polarity: Pulse-sensing auto-polarity. Sync and Source: 100 mA Puis* Train: 100 pps. LED Indicator: Flashes for single pulse; stays lit lor pulse train. CSC Model DP 1 Digital Pulser-Nei Each (?■&$ $71.20 4007 DEC LSM1, PDP8. PDP11. Heath H-11, P Pattern Epoxy Glass. Plug Board B.43"x5.1B7' 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 Altai. 8800 and IMSAI 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 front panels. • Fully adjustable interior mounting systems tor any card or card spacing within size limitations. No cutting or drilling necessary. • Perforated bottom cover tor cooler opera- tion. DESCRIPTION Assembled case with perforated bottom cover. Installed mounting struts tor card guides and receptacles or mother board Cards top loaded, spanning front 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 ot socket, plus second hole for component leads. 8804 "ANY DIP" has full power and ground planes back to back. Board accommodates 3. 4, 6. 9" Oips. 1-4 5-9 10-24 21.95 19.76 17.56 VP-1 $163.00 Shipping Weight 25 lbs VP-2 $159.00 Same as VP1 except cards oriented side to side. PRIORITY 8801 Idual tinned square pads surround most holes. Ideal for mounting components by "tack soldering" Top of board pod free for mounting I/O connectors. 1-4 5-9 10-24 19.95 17.95 15.96 ELECTRONICS 4608 Is form and size compatible with IN- TEL SBL80 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 4608-1 Same as 4608. except plain less power buses. 104 5-9 10-24 34.00 30.60 27.20 Send for our latesl brochure 16723B Roscoe Blvd. Sepulveda CA 91343 Terms VISA. MC. BAC check. Money Order C D . J S Funds Only CA residents add 6% sales lax Mini- mum order $10 00 Orders less man $75 00 include 10% snipping and handling, excess relunded Just in case please include your phone no Good Thru May 1979 phone orders welcome (213) 894-8171 OEM and Institutional inquiries invited % Visit our new retail location! Circle 312 on inquiry card. Visit our n< r S-100 BUS EDGE CONNECTORS sioo-stg somoo Cont. .125 oirs. Dl SOLDER TAIL on .250 spaced rows for VECTOR and MASI motherboards GOLD plated S100WWG 50/100 Cont. .125 ctrs. 3 LEVEL WIRE WRAP .025" sq. posts on .250 spaced rows. GOLD PLATED. 1-4 5-9 10-24 S4.00 S3. 75 S3.50 S100ALT 50/100 Cont. .125 ctrs. DIP SOLDER TAIL on .140 spaced rows tor ALTAIR motherboards. GOLD plated. 1-4 5-9 10-24 $4.00 «3.75 J3.50 1-4 $3.50 5-9 $3.25 S100SE 50/100 Cont. SOLDER EYELET I 1024 $3.00 .125 ctrs. PIERCED . GOLD 1-4 5-9 10-24 55.00 $4.50 $4.25 S-100-CRM 50/100 Cont. 125 ctrs. 250 spaced rows SMALL DIP SOLDER TAIL PINS tor CROMEMCO motherboard. 14 5-9 1024 $6.25 $6.00 $5.76 OTHER POPULAR EDGE CONNECTORS All Edge Card Connectors are GOLD PLATED (not Gold Flash) Bodies are non brittle, Solvent res., G.E. Valov. Contacts are Bifurcated; Phos/Bronze: GOLD over Nickel. ABBREVIATIONS: SE - Solder Eyelet WW = 3 Level Wire Wrap ST - Solder Tell .100" Contact Center Connectors PRICE PART NO. TYPICAL APPLICATION 1-4 5-9 10-24 D132S-1SE Imssl M10. SIO 2.10 1.85 1.75 D22441WW Vector Plugboards 4.00 3.80 3.60 D2SKMSE Imsal P10. Intel Multibuss 3.00 2.80 2.60 D2550-1ST Imsal P10. Intel Multibuss 3.00 2.80 2.60 O3M0-1WW Intel Multibuss 4.00 3.80 3.60 D38721SE Vector Plugboards 5.00 4.80 4.60 D3872-1ST Vector Plugboards 4.00 3.75 3.50 D3672-1WW Vector Plugboards 4.80 4.60 4.30 04060-1SE PET 4.80 4.50 4.30 04060-1ST PET 4.90 4.60 4.25 D40W-1WW PET 5.00 4.65 4.35 D43M-1SE Cos. ELF 5.00 4.75 4.50 M3M-1ST Cos. ELF 5.10 4.85 4.60 D4M6-1WW Cos. ELF 4.95 4.70 4.45 DSO'HMWW Cos. ELF 4.80 4.60 4.30 .125" Contact Center Connectors PRICE PART NO. TYPICAL APPLICATION 1-4 5-9 10-24 D40M-2W/W Vector 4350 - 5.20 •5.00 4.60 S100-STG S-100, Imial. Vector Motherboards 3.50 3.25 3.00 S100-WWG S-100 Wire Wrep 4.00 3.75 3.50 S100-ALT S-100 Allalr 4.00 3.75 3.50 S10OCRM S-100 CROMEMCO 6.25 6.00 5.75 .156 Contact Centers Connectors PRICE PART NO. TYPICAL APPLICATION 1-4 5-9 10-24 S6X-5SE Pel. NSC CLK Modules 1.30 1.10 1.00 D612-5SE Pet, NSC CLK Modules 1.35 1.15 1.05 D1020-5SE 2.00 1.80 1.60 D1224- 5SE Pet 2.15 1.95 1.75 D1224-5ST Pet 2.15 1.95 1.75 D1530-5SE Vector Plugboards, GRI Keybrds 2.25 2.05 1.85 D1530-5ST Vector Plugboards. GRI Keybrds 2.25 2.05 1.85 D18365SE 2.40 2.20 2.00 D22445SE Vector, Kim. etc. 2.20 2.00 1.80 02244-5ST Vector, Kim. etc. 2.20 2.00 1.80 D22445W/W Vector, Kim, etc. 2.40 2.20 2.00 03672-5SE Vector Plugboards 3.50 3.30 3.10 D3872-5ST Vector Plugboards 3.50 3.30 3.10 D3672-5WW Vector Plugboards 4.00 3.80 3.60 D4366-5ST Mot 6800. Intel Multibuss 5.00 4.75 4.50 D4388-5WW Mot 6800, Intel Multibuss. NSC pacer 5.00 4.75 4.50 CG-1 Imsal Style Card Guides 5/1.00 or 100/10.00 RS232 & "D" TYPE CONNECTORS P = Plug- Male S = Socket-Female C = Cover-Hood PRICE PART NO. DESCRIPTION 1-4 5-9 10-24 DE-9P 9 Pin Male 1.45 1.35 1.25 DE-9S 9 Pin Female 2.00 1.90 1.80 OE9C 2 pc. Grey Hood 1.25 1.15 1.05 DA15P 15 Pin Male 2.00 1.90 1.80 DA15S 15 Pin Female 2.60 2.60 2.40 DA15C 15 Pc. Grey Hood 1.50 1.40 1.30 DB-25P 25 pin Male 2.25 2.15 2.05 DB2SS 25 pin Female 3.25 3.05 2.75 D851212-1 1 pc. Grey Hood 1.30 1.20 1.10 0B12281A 2 pc. Black Hood 1.40 1.30 1.20 DB110983-3 2 pc. Grey Hood 1.40 1.10 1.20 DC37P 37 Pin Male 3.70 3.50 3.35 DC37S 37 Pin Female 5.00 4.75 4.40 DC37C 2 pc. Grey Hood 1.95 1.85 1.75 DDS0P 50 pin Male 4.40 4.30 4.10 OD50S 50 pin Female 4.90 4.70 4.50 DDSOC 1 pc. Grey Hood 2.30 2.20 2.10 D20416-S Hardware Set .75 .70 .65 Connector lor CENTRONICS 700 SERIES: Amhoenol 57-30360 lor back of Centronics 700 Series printers 1-4— $9.00 5-up- -$7.50 DIP PLUGS PRICE PRICE Pen « No. ot 1-24 25-99 100-499 Part • No. ol 1-24 25-99 100-491 Pull Pine P08P02 8 .41 .36 .29 P22P02 22 .75 .67 .63 P14P02 14 .46 .42 .34 P24P02 24 .79 .71 .66 P16P02 16 .55 .47 .36 P29P02 28 1.10 .93 .81 P18P02 16 .67 .57 .46 P40P02 40 1.25 1.07 .94 GOLD SOLDERTAIL STANOARC 1-24 25-49 50-99 1-24 25-49 50-99 8STG .30 .27 .24 22STG 70 .63 .57 14SQ .35 .32 .29 24STG 70 .63 .57 16STG 38 .35 .32 28STG 1.10 1.00 .90 18STO .52 .47 .43 40STG 1.75 1.55 1.45 20STG 60 .56 .52 TIN SOLDERTAIL - LOW PROFILE 1-24 25-49 50-99 124 25-49 50-99 8CS2 .25 .16 .15 22CS2 37 .36 .35 14CS2 25 .18 .16 24CS2 38 .37 .36 18CS2 25 .20 .18 28CS2 45 .44 .43 1BCS2 .29 .28 ,27 40CS2 63 .62 .61 20CS2 .34 .32 .30 3 LEVEL GOLD WIRE WRAP SOCKETS Sockets purchased in multiples of 50 per type may be combined for best price. 124 25-49 50-99 100-249 250-999 1K-5K Spin* .41 .38 .35 .31 27 .23 14 pin* .39 .38 .36 .32 29 .27 16 pin* .43 .42 .39 .35 32 .30 16 pin .63 .58 54 .47 42 .36 20 pin .80 .75 .70 .63 58 .53 22 pin* .90 .85 .80 .70 ' .68 81 .57 24 pin .90 .84 .78 83 .58 28 pin 1.10 1.00 90 .84 76 .71 40 pin 1.50 1.40 1.30 1.20 1.04 .89 All sockets are GOLD 3 level closed entry. 'End and side stacable. 2 level Tail, Low Profile, Tin Sockets and Dip Plugs available. CALL FOR QUOTATION. PRIORITY ^.unbeatable GREAT JUMPERS FLAT RIBBON CABLE ASSEMBLIES AT AFFORDABLE PRICES ■ Choice of 3 types of end connectors molded on and factory tested. ■ Daisy chain and single-end also available. ■ 5 popular sizes to choose from: 20, 26, 34, 40 and 50 contacts, each with line-by-line probe access holes. ■ Choice of 2 cable types and 5 lengths. FLAT RIBBON CABLE Stranded, 28 AWG with laminated PVC insulation, "Electric Pink" cable has red stripe on one edge for ori- entation. Used only on double-end and daisy chain as- semblies "Rainbow" cable is coded in standard 10-color se- quence on Iront. Serpentine striping on back aids in identi- fying wire number and wire group during tear down sepa- ration (or discrete wire terminations. Used only on single- end jumpers, PCB JUMPERS CARD-EDGE JUMPERS No, Contacts DOUBLE END Electric Pink 6" SINGLE END Rainbow 36" DAISY CHAIN 13 connectorsl EloctricPink 6" 20 924052 06 R $5 69 924062-36 fl $4 11 924092 06 R $8.42 26 924053 06 R 56 46 924063-36 R $4 88 924093 06 R S9 54 34 924054 06 R S7 96 924064-36- R $6.15 924094 06 R- 511 74 40 924055 06 R $9 29 924065 36 R 57 20 924095 06- R S1370 50 924056 06 fl S10 10 924066 36 R $8 21 924096 06 R S1486 SOCKET JUMPERS No Contacts DOUBLE END JUMPER ASSEMBLIES Electric Pink Cable 6' 18" 36" SINGLE END Rainbow 36" DAISY CHAIN 13 connectorsl Electric Pink 6" 20 924002 06 R $3 70 924002 18 R $ 4 16 924002 36 R $ 4 85 924012 36 H S3 12 92407206 R $ 544 26 924003 06 R 54 78 924003 18 R $ 538 924003 36 R S 6 28 924013 36 R $4 04 924073 06 R 5 7 02 34 924004 06 R $6 25 924004 IB R S 705 924004 36 R $ 8 25 924014 36 R S5 30 924074 06 R $ 9 ta 40 924005 06 R $7 33 924006 06~H 59 15 924005 18 R S 8 27 924005 36 R S 968 924015 36 R 56 22 924075 06 H $10 76 50 924006 18 R $1031 924006 3fi R $12 05 924016 36 R 57 73 924076 06 R $1343 double-rOW Ideal mates for JUMPER HEADERS "great jumpers" Solder to PC boards for instant plug-in access via socket- connector jumpers .025" square posts are molded into plastic header strip on a .10" x .10" matrix Choice of straight or right angle con- figurations i — *.' — u — \/-^J — V— -y — V — u — v — \/—-j — VT\ ( JiMllffiliil?, STRAIGHT tt No. Posts Dim. "A" Dim. "B" Part Number Price 2 sets 20 1.0 0.9 923862 R S .38 26 1.3 1.2 923863 R $ 1.28 34 1.7 1.6 923864 R S 1.64 40 2.0 1 9 923865 R S 1.94 50 2.5 24 923866 R $2.36 ■»,» RIGHT-ANGLE 'ft* Y? .'»' ' — tr- > I0OTYP - - H^ I -- 0» SO TYP || (j ji i j ? i ii r ' i i M -.- DIP JUMPERS FLAT RIBBON CABLE ASSEMBLIES WITH DIP CONNECTORS • Availablo with 14, 16, 24 and 40 contacts. • Mate with standard IC sockets. ' • Fully assembled and tested. • Integral molded-on strain relief. • Line-by-line probeability. No. Posts Dim. "A" Dim. "B" 20 1 0.9 26 1 3 1 2 34 1 7 1 6 40 20 1 9 50 25 24 Part Number 923872 R 923873 R 923874 R 923875 R 923876 R Price 2 sets $ 1.20 S 1.52 S 1.96 5 2.30 $ 2.82 A P DIP Jumpers are the low-cost, high- quality solution for jumpering within a PC SINGLE-ENDED DIP JUMPERS board; interconnecting between PC boards, 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. y- A,,o« Dcnolei P,n No I DOUBLE-ENDED DIP JUMPERS F? No. Contacts Length 36" 14 924102 36 R S2 33 16 924112 36 R $2 59 24 924122 36 R $4 00 40 924132 36 R $6 71 No. Contacts Length 8" Length 12" Length 18" Length 24' Length 36" 14 924106 6- R S2 41 924106-12-R $2 61 924106 IB R S282 924'06 24- R $3,02 92410636R $343 16 924116 6 R $2 65 924116 12-R $2.88 924116-18R $3.11 92411624 fl $3.34 9241 16 36- R $3. BO 24 924126 6 R $4.15 924126 12 R $4 50 924126 18-R $4.85 924126 24- R $5 20 924126 36 R $5.90 40 924136 6R $6.93 924136 12-R $7.52 924136 18-R $8.11 92413624- R $8.73 924136 36 R $9 88 ELECTRONICS Send (or our latest brochure 16723B Roscoe Blvd. Sepulvedo, CA 91343 Terms VISA. MC. BAC. check Money Order COO . US Funds Only la residents add 6% sales lax Mini- mum order $10 00 Orders less ihan $75 00 include 10% shipping and handling, excess relunded Just in case please include your phone no Good Thru May 1979 phone orders welcome (213) 894-8171 OEM and Institutional inqui Circle 312 on inquiry card. Visit our new retail location! HAZELTINE 1400 only $649.95! • Verbatim Mini Diskettes $3.70 each (boxes of 10) • Two-tier walnut formica enclo- sure for SA-400 Shugart. . . $39.95 • Typewriter Ribbons (many makes such as Diablo, Centronics, DEC and print wheels) • TRS-80 16K Expansion Kit. . .$89.95 • Centronics 779 tractor -$1150.00 • Horizon II ass. - $1999.00 Mail TORA SYSTEM INC. Order 29 . 02 2 3rd Avenue ° nlv- Astoria NY 11 105 (212) 932-3533 Circle 371 on inquiry card. TERMINAL DATA CORPORATION MODEL 1200 RS 232 DATA SPLITTER available in kit form Model 1 200K gives the terminal or micro- processor user a second interface for a printer, plotter, cassette or tape drive. It operates at any speed & isolates the two output devices from each other, while providing 2 RS-232 interfaces from the terminal or microprocessor. The kit consists of 3 RS-232 connectors, printed circuit board, all necessary components, enclosure, mounting hardware & assembly in- structions $59 write or call TERMINAL DATA CORP. 11B78 Coakley Cir. Rockville, MD 20852 (3011 081 7655 Circle 361 on inquiry card. BASIC SUBROUTINE LIBRARY Volume 1 VM Professional Application Software, Ltd. 2703 Bainbridge Avenue BURNABY, B.C. V5R 2S7 " ARRAYS - minimum, maximum, sums, searching, sorting. • MATRIX ALGEBRA - addition, subtrac- tion, multiplication, transposition, determinant, inversion. • SIMULTANEOUS EQUATIONS - non- symmetrical, symmetrical, ba n ded , three-diagonal. Any routine you'll ever need, involving arrays, matrix algebra or simultaneous equations, can be found in this com- prehensive Collection of subroutines, compatible with any version of BASIC having subscripted variables. Numerous examples show how io< incor- porate those subroutines into your pro- grams or how to use ihem as stand alone programs. Order now and save days of work. $18.00 U.S. plus S2.00 for handling and postage. ENGINEERING PROGRAMMERS Don't Come To Mass... Unless you enjoy challenging micro software development projects with some of the fastest growing commer- cial systems manufacturers in the U.S. Our clients offer generous salaries, flexible hours, profit sharing, etc. to experienced or degreed assembly programmers In areas such as communications, diagnostics, text editing, graphics, compiler, and O.S, design. Starting salaries 18-28K. All fees, relocation and Interviewing expenses assumed by the companies. Please contact Dave Adams (617) 246-2815 (collect calls accepted). N.E. Recruiters, 6 Lakeside Office Park, Wakefield, MA 01880. Fee paid consultants Catf* How did you ever do without it? © 1979 PS Inc. Circle 302 on inquiry card. rr L THE RECREATIONAL PROGRAMMER A QUALITY SOFTWARE! Tl & HP Program ma bles BASIC for most computers LU Q. O CO (/) cc GAMES- ALGORITHMS PUZZLES STOCK ANALYSIS AND MORE! OVER 30 PAGES BIMONTHLY! ANNUAL SUBSCRIPTION ONLY: 512 within USA & APO/FPO's 524 Foreign by AIRMAIL Single Issue tor S3 Incl P&H VISA and MASTERCHARGE OKI CALL (616) 343-3546 NOW I Bon 2571 Kalamazoo Ml 49003 ffP^BllKM* \ TRS-80 y 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- ments. 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 \ J Circle 314 on inquiry card. ) Texas Instruments INCORPOR ATID THERMAL PRINTER $ 49 95 HANDLING CHARGE INCLUDED • 12 characters/line • 5 x 7 dot matrix • Alphanumeric capability • Weighs 6 ounces • Uses 2% inch thermal paper Send check, money order, or Master Charge or VISA number and expiration date to: BOOTSTRAP ENTERPRISES P.O. Box 614 Richardson, Texas 75080 Circle 34 on inquiry card. MUSICAL PET with Built-in Sound Generator $775 (8 K Model) Sold Separately for $39.95 Discounts available on the new 1 6 K/32 K Models Meets music standards proposed by "The Paper" and "Cursor." Supplied with complete instructions and demo tape. Offered jointly by: AMPTEC INC. S975 N Broadway Denver, CO 80216 I303) 571-0833 MICRO WORLD ELECTRONIX 6340 W Mississippi Lakewood, CO 80226 (303) 936-4407 Circle 385 on inquiry Card. Circle 323 on inquiry card. Circle 232 on inquiry card. ^ PRECUT WIRE WIRE WRAP TOOLS #30 WIRE KITS #1 $7.95 #2 $19.95 250 3" 100 4 1 / 2 " 250 2 1 / z " 250 5" 250 3 1 /2" 100 5" 500 3" 100 5V 2 " 100 4" 100 6" 500 3Va" 250 6" 500 4" 100 6 1 / 2 " 250 4 1 / 2 " 100 7" #3 $24.95 #4 $44.95 500 500 500 500 2W 3" 4" 500 4 1 / 2 " 500 5" 500 5 1 / 2 " 500 6" 1000 2 1 / 2 " 1000 4 1 / 2 " 1000 3" 1000 5" 1000 3Va" 1000 5 1 / 2 " 1000 4" 1000 6" Choose One Color or Random Assortment: Red, Blue, Green, Yellow, White, Orange, Black. s ' #26 Prices on Request ' 830 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 for tubes. In. 2!* 3 3VS 4 4V5 5 5 V, 6 9 9'/, 10 100 1.04 1 08 1.13 1.18 1 23 1.28 1 32 1.37 1.60 1.66 1.73 1.78 182 1.87 1.92 1.99 15 500 1000 5000 2.98 5.16/K 4.67/K 3.22 5.65/K 5.06/K 3.46 6.14/K 5.46/K 3.20 6.62/K 5.87/K 3.95 7.12/K 6.25/K 4.20 7.61/K 6.62/K 4.48 8.10YK 7.03/K 4.72 8.59/K 7.43/K 5.37 9.84/K 8.48/K 5.63 10.37/K 8.91/K 5.89 10.91/K 9.33/K 6.15 11.44/K 9.79/K 641 11.97/K 10.19/K 6.76 12.51/K 10.62/K 6.93 13.04/K 1 1 05/K 7.26 13.57/K 1 1 .48/K HOBBY WIRE WRAP TOOL BW 630 (Back Force) $34.95 BT 30 Extra Bit 2.95 BT 2628 #26 Bit 7.95 Batteries & Charger 11.00 INDUSTRIAL WIRE WRAP TOOL BW928 BW 928BF (Back Force) #30 Bit & Sleeve #26 Bit & Sleeve Batteries & Charger $49.95* 52.95* 29.50 29.50 11.00 ELECTRICAL INDUSTRIAL WIRE WRAP TOOL EW7D EW 7D BF (Back Force) #30 Bit & Sleeve #26 Bit & Sleeve $85.00* 92.90* 29.50 29.50 "Industrial Tools do not include Bit & Sleeve Spring Loaded bit on Back Force models. d EDGE CARD CONNECTORS 44 pin Solder Tail $1.95 $17.50/10 ALLareGold 100pin Solder Tail $3.95 $35.00/10 100pin are IMSAI 100 pin Wire Wrap $3.95 $35.00/10 spacing. TTT b r INTERCONNECT CABLES A Ribbon cable connectors tor connecting boards to front panels, or board to board. SINGLE ENDED DOUBLE ENDED 14 pin 16 pin 24 pin 14 pin 16 pin 24 pin 6" 124 134 2.05 2.24 2.45 337 12" 133 1.44 2.24 2.33 2.55 3.92 24" 152 165 2.63 2.52 2.76 4.31 48" 1.91 2.06 3.40 2.91 3.17 5.08 OK PRODUCTS WD 30 50 ft. Wire Dispenser Red White. Blue. or Yellow $3.75 WD-30-TRI TRI Color Dispenser 5.50 R-30-TRI Refill for TRI Color 3.75 INS 1416 14 & 16 pin Insertion Tool 3.25 MOS 40 40 pin Insertion Tool 7.50 EX-1 IC Extractor Tool 1.49 H-PCB-1 Hobby PC Board 4.99 WSU 30 Hand Wrap/Unwrap/Strip Tool 6.25 WSU 30M V Same as WSU30 with Modified Wrap 7.50 SOLDERLESS BREADBOARDS SK 10 $16.50 2.2" x 6.5" MB10 $18.95 SK10 mounted on board W74 Binding Posts & Rubber Feet WIRE WRAP SOCKETS 1-9 10-24 25-99 100-249 250-999 8 pin" .40 .36 .34 .31 .27 14 pin" — .39 .37 .34 .32 16 pin" — .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 25 pin strip 1.25 1.15 1.00 .95 .90 28 pin 1.25 1.15 1.00 .95 .90 40 pin 1.65 1.45 1.35 1.20 1.10 Gold 3-Level Closed Entry Design End & Side Stackable >-. 2-Level sockets Availab e ulU lOlIM GIMME! 135 E. Chestnut St. #5 Monrovia 1 , CA 91016 (213) 357-5005 Ordering Information: • Orders under $25 and COD'S add 52 • All others, shipped Ppd in U.S. via UPS '• For Blue Label (Air) or 1st Class, add $1 • We accept Visa & Mastercharge Catalog available on request. LOGIC PROBE PRB-1 $34.95 • Compatible with all Logic Families • 10 Nsec pulse response Dealer Inquiries Invited Circle 298 on inquiry card. BYTE May 1979 275 i Computer Products } * DISK DRIVES * B51 5%" $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 $495.00 by Shugart Slngle-slded 8" floppy disk drive. FD8-100 $395.00 GSI/Siemens. Runs cooler and Quieter than 801 (8") SA400 $325.00 Single density 5V., 35-Track drive. Cabinet and power supply available 1791 B01 Dual Density Controller Chip $49.95 LOGIC PROBES Mod.l LP ft ,„,„„ 111 ■ in Minimum DiiKiiblt ""'" w* CSC Mad* LP 1 log* MODEL L ? 3 fiOOuXX) Minimum ILEOI M CSC Mad* LP 3 Lo»i ' TWO SIEMENS/GSI 8 FLOPPY DRIVES " POWER SUPPLY FOR ABOVE - JAOE/TARBELL DISK CONTROL KIT IS100I ' CP/M OPERATING SYSTEM WITH BASIC E ' PACKAGE OF 10 BLANK B DISKETTES Price II purchased separately S1 192.50 JADE SPECIAL PACKAGE DEAL SI 050.00 3-LEVEL GOLD WIRE WRAP SOCKETS 14 PIN 39* each 16 PIN 43d each 100 for $35 Sockets are (Mid and side slack able, closed entry. S-100 MOTHER BOARDS JADE 6-SLOT Kit Assembled & Tested Bare Board $41.95 $56.95 $24.95 9-SLOT " LITTLE MOTHER' Kit Assembled Bare Board & Tested $85.00 $99.00 $35.00 13-SLOT 'QUIET MOTHER" Kit $95.00 Assm. & Tested $110.00 Bare Board $40.00 22-SLOT "STREAKER" Assm. & Tested $149.00 S-100 EDGE CONNECTORS Soldeitail S3.25 each 10 for $35.00 Wire wrap $4.00 each 10 for $40.00 TRENDCOM lOO Intelligent Printer Interface & Cable for TRS-80 $45. 00 40 character per second rate Low cost thermal paper 96 character set Microprocessor controlled Bidirectional look-ahead printing • Quiet operation • No external power supplies • Only two driven parts • High reliability • Clear 5x7 characters • Attractive metal and plastic case 2 rolls of paper for $5.00 Interface & Cable for Apple $60. 00 EXPANDOR'S BLACK BOX PRINTER This 64-character ASCII impact printer / with 80-column capability is portable .^-^^_ / and uses standard 8V2" paper and reg- ular typewriter ribbon. Base, cover and parallel interface are included. Assembled and complete with manual and documentation. , *.,« nn only $470.00 (90 day manufacturer's warranty) TRS 80 Interface Cable for Black Box Printer Willi m.itiruj CorinettOlS: $46.00 (must be uicd with t>xpanS'on module, • 8v ■ 1 diup poyVOi Supp'y n-quiri'Cl. 1 Power Supply for TRS-80/Black Box Printer $49.00 / VIDEO INTERFACE S-100 Compatible Serial Inter- face with Sockets Included. Kit $117.95 Assembled & Tested $159.95 Bare Board w/manual $ 35.00 Z80A SPECIAL 4MHz CPU Chip ^f $14.95 ^ TJ-l Convert your T.V. set into a Video Monitor Kit $8.95 PARALLEL/SERIAL INTERFACE 5100 compatible 2 serial I/O ports, 1 parallel I/O. Kit JG-P/S $124.95 Assembled & Tested: JG-P/SA Bare Board w/Manual Products MAINFRAMES Accomodates all S— 100 Mother Boards. Built-in card cage with card guides. Lighted reset switch. Rotron whisper fan. Includes heavy duty power supply. (+ 8 volts DC @ 30 AMPS, + 16 volts DC @ 4 AMPS, -B volts DC may be added. only $389.00 3M ^ or VERBATIM FLOPPY DISKS 5V. in. Minidiskettes Soft sector. 10 sector, or 16 sector $4.40 each or box of 10 for $40.00 8 in. Standard Floppy Disks Soft Sector $4.75 each— 10 for $42.50 $179.95 $ 30.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 Integral Data Systems €> Check the impressive features on Integral's IP-125 Impact Printer only $799 LOADED WITH EXTRAS AT NO EXTRA COST ■ Microp ocessor rn nlroller • Ser al RS232C ir ter (ace ■ Pjral ei T i level in p, face • Full upper an a lower ca e A5CII cfiai ac er iet (96 c iaiacte SI ■In i a .' 1 ii en w de P per ■ Li length o 80 colu TH i at 10 c lara te S per inch Impac nniin )■ / x/ dot m atr X . (J dirtj y paper roil, fanio d • 5« Dana rate u 1200 Is pe secu a Mu l.r of 256 i naracter insianta ml rate to 100 cr 11 aciers sec ond i W WMtiOut adjustme it ■ Reinkinq nDDi n mechams i ■ f-ro It opei r con At ract table lop console IP-125 Integral Data System IP-125 Friction Feed Printer • 96 upper & lower case ASCII character set • Enhanced character control • Serial RS232C Interface (std. factory wiring) • Parallel TTL Interface (factory wired on req.) •80 column line •256 byte multiline buffer $'99 IP-225 Integral Data System IP-225 Tractor Feed Printer • All standard features of IP-125 • Tractor feed paper drive • Forms Control Option (P1250) $949 pem Plugboards 8800V J n i vena I Microcomputer /processor plugboard. Use with S-100 bus. Com- plete with heat link & hardware. 5.3" « 10" * 1/16". V 3690-12 CARD EXTENDER Card Extender hat 100 contacts. 50 per side on 125 centers. Attached connector is com- patible with S- 100 Bui Systems . $26.00 3S90 6.5" 22/4 pin. 15t ctn. EKtender* S12.0Q Gen, Purpose D.I. P. doardt with Bus Pattern for Solder or Wire Wrap. Epoxv Glass 1/16" 44 pin con. spaced .156. 8801-1 Same as 8800V excepr plain, power buses Bt hear sink 3677 9.6" » 4.5" . . 3877-2 6.5" « 4.5". (10.90 . $9.74 IIOOV 19.95 17.95 15.96 11011 14.95 13.46 11.96 P partem plugboards for IC's Epoisy Glass 1/16" 44 pin con. spaced .166. 3662 6.5" x 4.5" $7.65 3662 2 9.6" « 4.5". . . S1 1.45 | Hi De nsitv Dual-in Line Plug- board for Wire Wrap with Power & Grd us Epoxv Glass 1/16' 44 pin con. spaced .156 3682 9.6" m 4.5" . . . $10.97 3682 2 6.5' x 4.5" . . . $9.81 276 BYTE May 1979 Circle 195 on inquiry card. c PLACE ORDERS TOLL FREE 800/421-5809 800/282-1710 LEEDEX MONITOR • 12" Black and White • 12MHZ Bandwidth • Handsome Plastic Case $139. 00 i uw once include!) KIM i Moduli: rnooiltfl UllKJldlTlb blU'Ml I" ?04H HOM Byitb DM'' Manual *aii m/i Sine main Haidwdit:Matn:di fpuypdinmmg Maiium Huxjiammeis KeteiHum ~Z1 "™ "* T Card ^eyftidin UimjIjh CASES - S29.95 $179 i i: $245 6502 — based single board computer with keyboard/dis- play, KIM-1 hardware compa- tible, complete documentation. SYM— 1 CASE $39.95 2MHz) I (4MH2) MICROPROCESSORS F8 Z80 12MHz) Z80A (4MHz) COP1802CD 6502 6800 6802 8008-1 8035 8035-8 8080A 8085 TMS9900TL 8080A SUPPORT DEVICES 8212 8214 8216 8224 8224- 8226 8228 8238 8243 8251 8253 8255 8257 8259 8275 82 79 USRT S2350 UARTS AY5-1013A AY5-1014A TR1602B TMS6011 IM6403 BAUD RATE GENERATORS MC14411 14411 Crystal 6800 PRODUCT 6810P 6820P 682 IP 6828P 6834P 6850P 6852P 6860P 6862P 6871P 6875P 6880P CHARACTER GENERATORS 2513 Upper (-12*5) 2513 Lower (-12*5) 2513 Upper (5 KBIt] 2513 Lower (5 volt) MCM6571 up scar MCM6571Adown sen PROMS 1702A 2708 2716 (5*12) Tl 2716 (5v) INTEL 2758 (5»j DYNAMIC RAMS 416D/4116 (200ns) 2104/4096 2107B-4 TMS4027/4096 (300ns) STATIC RAMS 1-15 21L02 (450ns) $ 1.50 21L02 (250ns) 2101-1 2111- 1 2112-1 FLOPPY DISK CONTROLLERS 1771B01 1791 KEYBOARD CHIPS AY5-2376 AY5-3600 MM5740 $ 1.75 $ 2.95 $ 3.25 $ 2.95 $10.95 $ 5.25 $ 8.25 $ 5.25 $ 5.95 i 9.00 $10.00 $ 4.95 $ 4.00 $ 6.60 $ 6.60 $11.25 $16.95 $ 8.65 $11.00 $ 9.25 $12.00 $28.75 $ 8.75 $ 2.50 $ 6.75 $ 6.75 $ 9.75 $10.95 $10.95 $10.95 $ 8.00 $ 9.95 $60.00 $60.00 $23.40 $12.50 $ 4.00 $ 3.95 $ 4.00 16-100 $ 1.20 $ 1.50 $ 2.60 $ 3.00 $ 2.65 $39.95 $49.95 $13.75 $13.75 $18.00 NEW! Naked Terminal FEATURES & BENEFITS • Industry standard 80 character by 24 line format (Model 57) » Completely self contained termi- nal electronics, just add CCTV monitor and keyboard. ■ No support software required. ■ Switch selectable modes: Half Duplex, Full Duplex, Block mode. ■ Block mode allows editing be- fore transmit. • Keyboard interface provided, including regulated +5 volts and -12 volts. • Video Is switch selectable as "Black-on-White" or "Whlte-on- Black". • Fully assembled, socketed, tes- ted, burned in, and guaranteed for a full year from date of purchase. JADE Z80 BOARD IMPROVED DESIGN AND FEATURES ON BOARD 2708 or 2716 EPROM • VERY RELIABLE AT 4 MHZ OR • POWER ON JUMP AND RESET • ON BOARD USART (8251) 2MHi Kit Assembled & Tested 4 MHz Kit Assembled & Tested Bare Board Continental U.S. Inaid* California I • V T ' f ' ¥ ' * ' f ' » ' » ' » V Jade memory < Expansion Kits lor , trs-80 and Applet , 4116*1 Everything a person needs to * add 16K of memory. Chips 4 come neatly packaged with 4 easy to follow directions. In minutes your machine is *, ready for games and more 4 advanced software. $75.00 i 4 * Call for discounts on larger quantities ^ a -♦- +~ -♦- A A ^^> uista V80 mini dish System lor TRS-80 $395.00 Includes disk drive, power supply, regular board compact case, and cable. The V-80 offers 23% more storage capacity. Simply take It out of the box and it's ready to go! Requires 16K, Level II, EX. R. rTEXTOOL ZIP* DIP® II Sockets (jgf mirin rTrj; [p ii ii ii ii ii ing) *ZERO INSERTION FORCE sockets I PRICES: 16 pin Zip Dip II S5.S0 1 24 pin Zip Dip II $7.50 40 pin Zip Dip II S10.2S Computer Products 4901 W ROSECBANS AVENUE Department "F" 3 HAWTHORNE. CALIFORNIA 90250 U.S.A. Telephone: (213) 679-3313 (BOO) 421-5809 Continental U.S. (800) 262-1710 Inside California Cash, checks, money orders, and credit cards accepted. Add freight charge of $2.50 for orders under 10 tbs. and $1.00 service charge for orders under $10.00. Add 6% sales tax on all parts delivered in California. Discounts available at OEM quantities. WRITE FOR OUR FREE CATALOG All prices subject to change without notice. "IMSAI"-TYPI CARD GUIDE SPECIAL: Regular Price 204 each SPECIAL: 10 for $1.00! 7U#* 'P'tice* DYNAMIC RAM BOARDS EXPANDABLE TO 64K 32K VERSION »KITS Uses 4115 {8Kxl, 250ns) Dynamic RAM's, can be expanded in 8K increments up to 32K: 8K $159.00 16K $199.00 24K $249.00 32K $299.00 4115 SALE 8 for $39.95 64K VERSION* KITS Uses 4116 (16Kx 1, 20Ons) Dynamic RAM's, can be expanded in 16K increments ud to 64K: 16K $249.00 32K $369.00 48K $469.00 64K $569.00 + STATIC RAM + SPECIALS 2114's, low power (1024x4) 1-15 16-99 100 + 450ns I 8.00 1 6.9S I 5.50 300ns 9.00 8.00 6.50 TMS4044/MM5257, low power 450ns 300ns 8.00 9.95 7.50 8.75 6.50 8.00 4200 A (4Kxl, 200ns) 19.95 I 8.50 8.00 410D (4K x 1, 200 ns) 18.25 I 7.00 16.75 STATIC RAM BOARDS JADE 8K Kits: 450ns $125.95 250n> $149.75 Assembled & Tested: 450ns $139.75 250ns $169.75 Bare Board: $ 25.00 16K - Uses 2114's (low power) Assembled & Tested: RAM 16 (250ns) $375.00 RAM 16B (450ns) $325.00 16K with memory management Assembled & Tested: RAM 65 (250ns) $390.00 RAM 65Bt450nii $350.00 32 K Static Assembled & Tested: 250ns $795.00 450ns $725.00 250ns Kit $575.00 Circle 19 5 on inquiry card. BYTE May 1979 277 Circle 384 on inquiry card. iMinniiniTiTniinim iiTHi i n T ] Sela corp. MORE DATA PER DOLLAR i QTRS-80 Complete System Includes: CPU/ Keyboard, Power Supply, Video Monitor, Cassette Recorder, Manual, and Game Cassette. ©Line Printer ©Mini Disk System QC-10 Cassettes © Verbatum Diskettes Description TRS-80 Complete System Level II-4K RAM TRS-80 Complete System Level II-16KRAM Expansion Interface Pertec FD200 Disk Drive BASF 6106 Centronics 779 Printer Centronics 101 Printer Anadex DP-8000 Printer Centronics P1 Printer 560 (selectric) Printer Memory Unit (installed) (kit) Verbatum Diskettes Maxell Diskettes C-10 Cassettes ea. 3 10 ea. 3 10 5 25 12 Each 1 MEG + $628 20 of DISK MEMORY $ 889.20 $ 269.10 $ 385.00 $ 495.00 $1299.00 $1400.00 $ 995.00 445.00 975.00 138.00 98.00 4.95 12.00 37.00 7.50 21.00 60.00 4.50 18.75 23.95 $ $ $ $ $ $ $ $ $ $ $ $ $ on line for TRS-80 $2195 Includes — Operating System (CP/M) HUH Electronic S-100 Interface to TRS-80 Kit $280.00 Assembled $350.00 Outlet Hours: Mon.-Fri.; 9 am. — 7 pm. Sat. 12—5 pm. Write or call for new innovations — Printers, Disks, Etc. 777 Henderson Boulevard N-6 Folcroft Industrial Park Folcroft PA 19032 (215) 461-5300 C-30 Cassettes Paper (9V 2 "x 11" fanfold, 3500 sheets) $ 29.95 Instruction offered in Level II Basic— $49.95; and DOS/Disk Basic— $69.95 In Washington, DC area: (703) 938-1099 Classroom ^intniiMiiiiininmnrmimf< For computer supplies da can't be beat ♦ QUALITY name brand products ♦ SERVICE 24hr shipping ♦ PRICES to fit your budget CHARGE IT Master Charge and Visa accepted HAZELTINE CRT Specials 1400- S735Q0 Modular I - $1550oo 1500- CallDRA 1510- for . 1 520 - Prices Introducing the 1410 with up to 2 year warranty iFromMEMOREX" 4 CASSETTES - ALL TYPES " S4.80-S6.00 DATA CARTRIDGES - $19.50 MARKETTE' Flexible DisksF ALL TYPES $3.25-55.50 J ksf J 1 MEMOREX and MARKETTE are registered trademarks of Memorex Corporation Send for FREE Price List Data Research Associates, Inc. River Rise Road New City, New York 10956 & 800-431-2302 or 212-220-4747 BYTE May 1979 Circle 92 on inquiry card. Circle 1 1 5 on inquiry card. 8" Siemens FDD120-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) $425.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@5V, 0.5A@-5V. Beautiful quality. $99.00 Electrolabs POB 6721, Stanford, CA 94305 415-321-5601 800-227-8266 Visa, American Express, Master Low Profile Socket Spectacular!!! Featuring a kind of "Mexican Hand- shake" principle, these sockets will NOT let your IC's vibrate out!! In 8,14,16,18,20,22,24,28 &40 let/pin 1000+: .75/pin, 20,000+: .65/pin ,,,-MTBf 10 Megabyte SUPER DISK!!! DISKETTES (Standard) Boxed 10 Boxed 10 S39.00 S34.95 & Tarbell ("It Works") Interface (Includes cable set for 2 drives) S265.00 but ONLY $219.00 with purchase of two drives. Cable Kits 10' with SO 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. Stacking type design. $29.99 SHRINKS your media RELIABLY!! NEW PRODUCT RELEASE !!! NEW Breakthrough InSize, Weight (39 lbs) Power (125W) Perform- ance (3600rpm) and cost effectiveness (10 MBy and controller for $6750.00) For PDP-11, LSI-11 AND S 100 machines Used Sylvania 12" Video Monitors. Composite video 15mhz, 115vac, 50/60hz New Tube. As shown $109 OEM style without case: S99, Anti-glare tube option add $12. Specify p4 orp39 ESAT200B (Bi-Lingual) 80X24 Communicating Terminal Scrolling, Full Cursor, Bell, 8X8 matrix, 256 addressable characters 110-19,200 baud, etc, etc This terminal has been purchased by many agencies, universities & companies. Fully stand-alone, it is the only dual font terminal of any kind for less than $2500. Supplied complete and fully guaran- teed: (many graphics applications) $349.00 'MOM' " I -1, If .11 ii; if I* ,*>■! iJJJ %. - ■■■: COMMERCIAL GRADE PERIPHERALS FOR THE MICROCOMPUTER PRINTER TERMINALS • • ; • . /. ! - I MODEMS TAPE DRIVES •ASCII SELECTRIC PRINTER/TYPEWRITER: Why settle for 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 (1 5 cps.) Price: programmed w/3 translation tabjes (one type sphere): $695.00 • SELECTRIC I/O TERMINALS (by GTE/Information Systems). Both ASCII & IBM code versions with microcomputer interface software & hardware (RS- 232 connector.) Cassette drive models permit up to 2400 baud data transfer rate as welt 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 drivel $1195.00 Model 5560 (ASCII code, built-in cassette drive) $1295.00 • IBM SELECTRIC 725 TYPEWRITER I/O w/solenoids switches & magnet driver PCB (from GTE/IS terminal) plus instructions for 8080 printer-driver interface hardware & software. a) Typewriter mechanism complete, cleaned & adjusted .... $375.00 b) Case from terminal & power supply(+24V, + 12V, +5V @>5A). . $ 75.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 QUANTITY! $750.00 -6' Ribbon cable & connector for printer Main Logic PCB $10.00 -14-pin Winchester connector & 1 8" power supply cable $5.00 -"As-is" spare printer PCB's for parts (Logic, Heat Sink, Control): ea. $20.00 -New Pin-feed Platen (14"): $50 if bought w/printer; separately . . . $100.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). $199.95 -POS 202 MODEM (Half-Duplex with Reverse Channel) $249.95 -POS 202 MODEM (Half-Duplex w/Rev. Ch., Auto-Answer) S279.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 Vi" 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, 12"/sec, 1200 ft. reels (10 megabyte capacity) Fully tested and warranted $599.00 •CONVERT IS" 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 blModel K81 for QUMEor 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„ ±1 2V reg., +24 V. @4A (10 1b.). . $29.95 -LAMBDA No. LMEE5 w/OV protect: +5V reg. @ 25A (35 lb.) $59.95 __^_______^^_______^__ NO RISK! 15 DAY -""""■■-■ Q ~„~,-r„. Full documentation included PLUS interface instructions ¥• PACIFIC OFFICE SYSTEMS, INC. M Call or write for details, quantity prices, catalog. 1 5 day where indicated. All equipment is shipped insured FOB 1?2| 2600 El Camino Real, Suite' 502 ' ia return privilege PLUS 90 day no charge replacement of Palo Alto within 14 days after check clears or COD (S. Palo Alto, Calif. 94306 ;=| defective parts. All orders shipped from stock. No back order is received. Prices may change without notice. f\ (415)321-3866 f[ orders, no substitutions. M/C & VISA accepted. Circle 296 on inquiry card. HYTE May WJ 279 7400 TTL SN7400N SN7401N SN7402N SN7403N SN7404N SN74Q5N SN7406N SN7407N SN7408N SN74Q9N SN7410N SN7411N SN7412N SN7413N SN7414N SN7416N SN7417N SN7420N SN7421N SN7422N SN7423N SN7425N SN7426N SN7427K SN7429N SN7430N SN7432N SN7437N SN743BN SN7439N SN7J40N SN7441N SN7442N SN7443N SN7444N SN7445N SN7446N SN7447N SN744BN SN7450N SN7451N SN7453N SN7454N SN7459A SN7460N 20% Discount SN7470N SN7472N 16 SN7473N 18 SN7474N .18 SN7475N 18 SN7476N 18 SN7479N .20 SN74B0N 29 SK7482N 29 SN7463N .20 SN74B5N 20 SN748BN IB SN74B9N .25 SN7490N .25 SN7491N .40 SN7492N .70 SN7493N ,25 SN7494N .25 ' SN7495N .20 SN7496N .29. SN7497N 39 SN74IO0N 25 SN74107N .29 SN74109N .29 SN74J16N .25 SN74121N. 39 SN74122N 20 SN74123N .25 SN74125N .25 SN74126N .25 SN74I32N .25 SN74I36N .20 SN74141N .89 SN74142H .49 SN74143N 75 SN74144N .75 SN74145N .73 SN74147N .69 SN7414BM .59 SN74I50N .79 SN741SIM .20 SN74152N .20 SN74153N .20 SN74154N .20 SN74155N .25 SN74156N .20 SN74157N 100 pci combined order .35 SN74I60N .89 .35 SN74161N 69 .49 SN74162N 1.95 .35 SN74163N .89 5.00 SN74164N .69 .50 SN74165N .89 .99 SN74166H 1.25 .59 SN74167N 1.95 .79 SN74170N 1.59 .35 SN74172H 6 00 1.75 SN74173N 1.25 .45 SN74174N .89 .59 SN74175N .79 .43 SN74176N .79 .43 SN74177N .79 .65 SN74179N 1.95 .65 SN74180N .79 65 SN741B1N 1. 95 3.00 SN741B2N .79 89 SN74184N 1.95 .35 SN74185N 1.95 ,59 SN741B6N 9.95 1.95 SN74188N 3 95 .35 SN74I90N 1 25 .39 SN74191N 1.25 .49 SN74192N .79 49 SN74193N 79 .49 SN74194N 69 .75 SN74195N 69 75 SN74196N .89 79 SN74197N .89 2 95 SN7419BN 1 49 2 95 SN74199N I 49 2.95 SN74S20O 4.95 .79 SN74251N 1 79 1.95 SN74279N .79 1.29 SN74263N 2.25 .89 SN74284N 3.95 .59 SN74285N 3.95 59 SN74365N .69 .59 SN74366N 69 99 SN74367N 69 79 SN74368N .69 .79 SN74390N 195 65 SN74393N 1.95 25% -1000 pel combined order C04000 C04001 CO40O2 CD4O06 CD4007 CD-! 009 CD4010 C04011 C04012 CQ4013 CD4014 CD4015 CD4016 CD40I7 CO4018 CD4019 CD4020 CO4021 CO4022 CD4023 CD4024 CD4025 CD4026 CD4027 .23 74C00 74C02 74C04 74C08 74C10 74C14 74C20 74C30 74C42 74C48 74C73 £££- 1.95 .39 39 195 2.49 78MG LM106H LM300H LM301CN/H LM302H LM3D4H LM305H LM307CN/H LM308CN/H LM309H LM309K LM310CN LM311N/H LM312H LM317K LM318CN/H LM319N LM320K-5 LM320K-5 2 LM320K-12 LM320K-15 LM320K-1B LM320K-24 LM320T-5 LM320T-S2 LM320T-8 LM320T-12 LM320T-15 LH320T-18 LH320T-24 LM323K-5 LM324N LM339N LM340K-5 LM340K-6 LM340K-8 LM340K-12 LM340K-15 74LSD0 74LS01 74LS02 74LS03 74LS04 74LS05 74LS06 74LS09 74LS10 74LS11 74LS13 74LS14 74LS1S 74LS20 74LS21 74LS22 74LS26 74LS27 74LS28 74LS30 74LS32 74LS37 V74LS42 C/MOS CD4028 CO4029 CD4030 C04035 CD40JO CD4041 CD4042 CD4043 CD4044 C04046 C04047 CO404B CD4049 CD4050 CD405I CO4053 CD4056 CO4059 CD4060 C04066 CO4068 CD4069 CD407Q CD4071 CO4072 CO4076 CD4081 CO4082 CD4093 CD4Q98 MC14409 MC14410 MC14411 MC14419 MC14433 MCI 4506 MC14507 MCI 4562 MC145B3 C04508 C04510 C0451I CD45I5 CD4518 CD4520 CD4566 74C00 74C85 74C90 74C93 74C95 74C107 74CI51 74C154 74C157 74CI60 74C161 1.25 2.90 3.00 2.15 2.49 2.49 74C163 74C164 74C173 74C192 74C193 74C195 74C922 74C923 74C925 74C926 B0C95 B0C97 2.49 2.49 2.49 5.95 6 25 1.50 LINEAR LM340K-18 1.35 LM340K-24 1.35 LM340T-5 1.25 LM340T-6 1.25 LM340T-8 1.25 LM340T-12 1.25 LM340T-15 1.25 LM340T-18 1.25 LM340T-24 1 25 LM358N 1.00 LM370N 1.95 LM373N 3.25 LM377N 4.00 LM380N 1.25 LM380CN .99 LM381N 1.79 LM382N 1.79 NE501N 8.00 NE510A 6.00 NE529A 4.95 NE531H/V NE5367 NE540L NE544N NES50N NE555V NE556N NE56QB NE561B NE5626 NE565N/H NE566CN NE567V/H NE570N LM703CN/H LM709N/H 2.95 3.95 6.00 6.00 4.95 LM710N LM711N LM723N/H LM733N LM739N LM741CN/H LM741-14N LM747N/H LM748N/H LM1310N LM1458CN/H MC1468N 1 39 MC14S9M 1 39 LM1496N .95 LM1556V 1.75 HC1741SCP 3.00 LM2111N 1.95 LM2901N 2.95 LM3053N 150 LM3065N 1.49 LM3900N(3401) 49 LM39Q5N 89 LM3909N 125 MC5558V .59 LM75450N 75451 CN 75452CN 75453CN 75454CN 7549 1CN 7S492CN 754 93N 75494CN RC4136 RC4151 RC4194 HC4195 .49 74LS0OTTL 74LS47 74LS51 74LS54 ' 74LS55 74LS73 74LS74 74LS75 74LS76 74LS78 74LS83 74LS85 74LS86 74LS90 74LS92 74LS93 74LS95 74LS96 74LS107 74LS109 74LS112 74LS123 74LS125 74 LSI 32 74LS136 74LS138 74 LSI 39 74LS151 74LS155 74LS157 74LS160 74LSI61 74LS162 74LS163 74LS164 74LS175 74LS181 74LS190 74LS191 74LS192 74LS193 74LS194 74LS195 74LS253 74LS257 74LS258 74LS260 74LS279 74LS367 74LS366 74LS670 EXCITING NEW KITS! Regulated Power Supply 5 to 15 VDC Digital Thermometer Kit •Full 1.5 amp at 5-10V output — Up to .5 amp at 15V output •Heavy duty transformer •3 terminal I.C. Volt. Reg. •Heat sink provided for cooling efficiency •PC Board construction •120 VAC input •Size: 3K"Wx5"Lx2"H JE210 5 to 15 vdc $19.95 ALSO AVAILABLE: JE900 Digital Stopwatch Kit . $39.95 JE301 6 digit Clock Kit .... S19.95 ■ Dual tentors-switchlng control for In- door/outdoor or dual monitoring ■ Continuous LED .8" ht. display ■ Rongo: -40"F to 199°F / AC'C to 100°C ■Accuracy: ±1°norninal ■Set for Fahrenheit or Celsious reading •Sim. wolnui caso - AC wall adapter Incl. ■ Size: 3-1/4"Hx6-5/8"Wx1-3/8' , D JE300 $39.95 JE730 4 digit Clock Kit . . . $14.95 JE2206B Func. Generator Kit . $19.95 JE747 Jumbo 6 dgt. clock kit $29.95 DISCRETE LEDS XC556R XC556G XC556V XC556C XC22R XC22G XC22Y yellow clear .200- dla. red green yellow .170" dla. I OB red A .015- dla. 10 red 6 INFRA-RED LEO 1/1-x1/4-k1/16- flat 5/S1 5/It 1/S1 Ml 4/SI 5/S1 4/SI 4/SI XC209R XC209G XC209Y XC526R XC526G XC526V XC526C XCI1IR XC1I1G XC111V XC111C green yellow 185- dla. red flreen yellow clear .190- dla. red rjreen yellow 5/$t 4/$1 4/SI 5/S1 4/SI 4/SI 4/SI Ml 4/S1 4/SI 4/SI TIMEXT1001 LIQUID CRYSTAL DISPLAY IELO EFFECT 4 DIGIT - .5" CHARACTERS THREE ENUNCIATORS 2.00" X 1.20" PACKAGE INCLUDES CONNECTOR TIODI-Trinsmiuive S7.9S T1001A Reltectrva 8.25 DISPLAY LEDS TYPE MAN 1 MAN 2 MAN 3 MAN 4 MAN7G MAN 7Y MAN 72 MAN 74 MAN 82 MANB4 MAN 3620 MAN 3630 MAN 3640 MAN 4610 MAN 4640 MAN 4710 MAN 4730 MAN 4740 MAN 4810 MAN 4840 MAN 6610 MAN 6630 MAN 6640 MAN 6660 MAN 6660 MAN 6660 MAN 6710 POLARITY ■ | Common An ode -red 5 x 7 Dai Matrix-red Common Calhode-iBi) Common Cathode- red Common Anode-green Common Anode-yellow Common Anode -red Common Camode-red Common Anode -ya How CommonCatnode-yellDw Common Anode -orange Common Anode-orange * I Common Camode-orange Common Anode-orange Common Cathode -orange Common Anode-red Common Anode-red : 1 Common Cathode-red Common Anode-yellow Common Cainode-yeflow Common Anode -orange -D D. Common Anode-orange • 1 Common Calhode-nfange-D Common Calhodo- orange : 1 Common Anode-orange Common CalhDde -orange Common Anode- red -D D PRICE 2.95 4.95 .25 1.95 1.25 TYPE MAN 6730 MAN 6740 MAN 6750 MAN 6760 MAN 6780 DL701 DL704 DL707 DL72B DL741 DL746 DL747 DL749 DL750 DL33B FND70 FN035B FND359 FND503 FNO507 5082-7730 HOSP-3400 HDSP-3403 5082-7300 5082-7302 5082-7304 5082-7340 POLARITY Common Anode-ted t 1 Common Caltiofle-red-D D. Common Cathode-red t 1 Common Anode-red Common Cathode -red Common Anode-red ± t Common Cathode -red Common Anode -red Common Cathode -red Common Anode -red Common Anode-red t 1 Common Anode -red Common Caltiode-ted i 1 Common Cam ode -red Common Cathode -red Common Cathode Common Cathode i 1 Common Calhoda Common Cathode) FN D5O0) Common Anode (FN0510) Common Anode- ted Common Anode -red Common Caihode red 4 x 7 sot. Digil-RHDP 4 x 7 Sgl Digil-LHDP Overrange cfia'scter { - 1 ) 4 x 7 Sgl Oigil-Hexadetimal 2.10 2 10 1995 1995 15 00 22 50 RCA LINEAR CA3013T CA2023T CA3035T CA3039T CA3046N CA3059N CA3060N CA3080I CA3081N 2.15 CA3082N 2 56 CA3083N 2.48 CA3086N 1.35 CA3089N 1.30 CA3130T 3 25 CA3140T 3.25 CA3160T 65 CA3401N 2 00 CA3600N CALCULATOR CHIPS/DRIVERS MM5725 S2.95 MM5738 2.95 0MB864 200 DM8865 1.00 DM8887 75 DM8689 75 9374 7 seg C.A LED driver CLOCK CHIPS MMS309 $4.95 MM53II 4 95 MM5312 4.95 MM5314 4 95 MM5316 6.95 MM5318 9.95 MM5369 2.95 MM53B7/1998A 4.95 MM5641 995 MOTOROLA MCI40BL7 S4 95 MC1408L8 575 MC1439L 2 95 MC3022P 2.95 MC3061P 350 MC4016I74416) 7.50 MC4024P 395 MC4040P 6.95 MC4044P 4.50 B pin LP 4 pin LP 5 pin LP B pin LP B pin LP 4 pin ST B pin ST 3 pin ST t pin ST B pin SG i pin SG B pin SG i pin SG B pin WW pin WW t pin WW 5 pin WW 3 pin WW IC SOLDERTAIL — LOW PROFILE (TIN) SOCKETS ) 50-100 1-24 22 pin LP J -37 24 pin LP .38 28 pin LP 45 36 pin LP -60 SOLDERTAIL STANDARD (TIN) 40 P' n LP M 28 pin ST S 99 36 pin ST 1.39 40ptnST 1.59 SOLDERTAIL STANDARD (GOLD) 24pin5G 1 ?0 25-49 50-100 26 pin SG 36pinSG 40 pin SG 1.10 WIRE WRAP SOCKETS (GOLD) LEVEL #3 22 pin WW | 95 24 pin WW 1 05 28 pin WW 1 40 36 pin WW 1 59 40 pin WW 175 1/4 WATT RESISTOR ASSORTMENTS -5% ASST. 1 ASST. 2 ASST. 3 ASST. A ASST. 5 ASST. 6 ASST. 7 10 OHM 1? OHM 15 OHM 18 OHM 22 OHM 2? OHM J3 OHM 39 OHM J.' OHM % OMM 6B OHM a? OHM 100 DHM 120 OHM 1!il) OHM (fill OHM ??0 OHM m OHM HO OHM 390 OHM 470 OHM 560 OHM 680 OHM H?0 OHM 'K I.2K 1.5K l.flN ?.2K B.7H 3.3K 1,9" 5.6m $1.75 1.75 1.75 1.75 1.75 1.75 so res 1.75 ASST. 8R Includes Resistor Assortments 1-7 (350 PCS.) $9.95 ea. 50 PCS 50 PCS 50 PCS 50 PCS 50 PCS 50 PCS S10.00 MINIMUM ORDER— U.S. Funds Only Spec Sheets - 2!ii' California Residents — Add 6% Sales Tax 1979 Catalog Available— Sand 41C stBmp ameco PHONE ORDERS WELCOME (415) 592-8097 MAIL ORDER ELECTRONICS - WORLDWIDE 1021 HOWARD AVENUE. SAN CARLOS. CA 94070 ADVERTISED PRICES GOOD THRU MAY TELEPHONE/KEYBOARD CHIPS AY-5-9100 Push Burton Telephone Dialler AY-5-9200 Repertory Dialler AY-5-9500 CMOS Clock Generator AY-5-2376 Keyboard Encoder (88 keys) HD0165 Keyboard Encoder (16 keys 74C922 Keyboard Encoder (16 keys 4.951 S14 14.95 4.95 14.95 7.95 5.95 ICM7045 ICM7205 ICM7207 ICM720B ICM7209 ICM CHIPS CMOS Precision Timer CMOS LED Stopwatch/Timer Oscillator Controller Seven Decade Counter Clock Generator 24.95 19.95 7.50 19.95 6.95 NMOS READ ONLY MEMORIES MCM6571 128 X9X 7 ASCII Shitted with Greek 13.50 MCM6574 128 X 9 X 7 Math Symbol 8 Pictures 13.50 MCM6575 128 X 9 X 7 Alphanumeric Control 13.50 Character Generator MISCELLANEOUS TL074CN Quad Low Noise bi-let Op Amp 2.49 TL494CN Switching ReguLitor 4.49 TL496CP Single Switching Regulator 1.75 11C90 Divide 10/11 Prescaler 19.95 95H90 Hi-Speed Divide 10/11 Prescaler 11.95 4N33 Photo-Darlinoton Opto-lsolator 3.95 MK50240 Top Octave Freq. Generator 17.50 DS0026CH SMru 2-phase MOS clock driver 3.75 TIL308 .27- red num. display w/integ. logic chip 10.50 MM5320 TV Camera Sync. Generator 14.95 MM5330 iVt Digit DPM Logic Block (Special) 3.95 LDttO/ttl 3Vi Digit A/D Converter Set 25 00/set LITRONIX ISO-UT 1 Photo Transistor Opto-lsolator (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 (Chips Crystal , __ , inclmlm; score display. G names and select angles, elc 7. 95/S(?t XR205 XR210 XR215 XR320 XR-L555 1.50 XR555 .39 XR556 XR567CP XRS67CT XR1310P 1.30 XR1468CN 3.85 XR14S8 1.39 XR1489 1.39 58.40 4.40 4.40 1.55 25 EXAR JE2206KA 14.95 JE2206KB 19.95 XR18O0 3.20 XR2206 4.40 XR2207 3. 85 XR2208 5.20 XR2209 1.75 XR2211 5.25 XR2212 4.35 XR2242CP 1.50 XR2264 4.25 XR2556 XR2567 XR3403 XR4136 XR4151 XR4194 XR4202 XR4212 XR4558 XR4739 XR4741 3.20 2.99 1.25 1.25 2.85 4.95 3.60 2.05 .75 1.15 1.47 TYPE 1N746 IN751 1N752 IN 753 1N754 IN 757 1N759 1N959 1N965 1N5232 1N523J IN5235 IIJ5236 IN 52-1 2 1N52J5 1N456 1N45B 1N485A 1N-IQ01 DIODES VOLTS W 3 3 400m 5.1 400rn 5 6 400m 6.2 400m 6.6 400m 90 400m 120 400m 8 2 400m 15 400m 5.6 500m 6.2 500m 7.5 500m 500m 500m 5O0m 50 PIV 1 AMP PRICE 4/1.00 4/1.00 4/1.00 4/1.00 4/1.00 4/100 4/1.00 4/1.00 4/1.00 28 26 6/1.00 6/1 00 5/1 00 12/1.0 TYPE 1N40O2 1144003 1N40O4 1N40O5 1N4006 1N4007 1N3600 1N4148 1N4154 1N4305 1N4734 1N4735 1N4736 1N4738 JN4742 1N4744 1N1183 IM11B4 1N1165 1N11B6 iNnea VOLTS W 100 PIV 1 AMP 200 PIV 1 AMP 400 PIV 1 AMP 600 PIV 1 AMP 800 PIV 1 AMP 1000 PIV 1 AMP 200m 10m l Dm PflIK 12/1.00 12/1.00 12/1 00 10/1.00 10/1 00 10/1.00 6/100 15/1.00 12/1 00 15/1.00 28 2B 12 1w 15 1w 50 PIV 35 AMP 100 PIV 35 AMP 150 PIV 35 AMP 200 PIV 35 AMP 400 PIV 35 AMP SCR AND FW BRIDGE RECTIFIERS C360 15A (a 400V SCR(2N1849) C38M 35A (a 600V SCR 2N2328 1.6Af«300V SCR MDA 980-1 12A ui 50V FW BRIDGE REC MDA 98 0-3 12A (« 200V FW BRIDGE REC C106B1 MPSA05 MPSA06 TIS97 TI598 40409 40410 40G73 2N918 2N2219A 2N2221A 2N2222A PN2222 Plastic 2N2369 2N2369A MPS2369 2N2484 2N2906 2N2907 PN2907 Plastic 2N2925 MJE2955 2N3053 TRANSISTORS SI 95 1.95 1.95 5/1.00 6/100 6/1.00 1.75 4/1 00 2/1.00 4/1.00 5/1.00 7/1.00 5/1.00 4/1.00 5/1.00 4/1 00 4/1.00 5/1 00 7/1.00 5/100 1.25 2N3055 MJE3055 2N3392 2N3398 PN3567 PN3558 PN3569 MPS3638A MPS3702 2N3704 MPS3704 2N3705 MPS3705 2N3706 MPS3706 2N3707 2N371 1 2N3724A 2N3725A 2N3772 2N3823 CAPACITOR 1.00 5/1.00 5/1 00 3/1.00 4/1.00 4/1.00 5/1 00 5/1.00 5/1 00 5/1 00 5/1.00 5/1.00 5/1.00 5/1.00 5/1.00 5/1.00 65 1.00 5/1 00 2N3904 2N3905 2N3906 2N4013 2N4I23 PN4249 PN4250 2N4400 2N440I 2N4402 2N4403 2N4409 2N50B6 2N5087 2N5088 2N5089 2NS129 PNS134 PN513B 2NS139 2N5210 2N5449 2N59S 4/1.00 4/1.00 4/1 00 3/1 00 6/1.00 4/1.00 4/1.00 4/1 00 4/1.00 4/1.00 4/1 00 5/1.00 4/1.00 4/1 00 4/1.00 4/1.00 5/1.00 5/1 00 5/1.00 5/1.00 5/1.00 3/1.00 47 pi 100 pi 220 p! 470 01 OOlmf 0022 0047ml ,01mf 1/35V .15/35V 22/35V .33/35V 47/35V 68/35V 1.0/35V 47/50V 1 0/5OV 3.3/50V 4.7/25V 10/25V 10/50V 22/25V 22/50V 47/25V 47/50V 100/25V 100/50V 220/25V 220/50V 470/25V 1000/ 16V 2200/ 16V 50 VOLT CERAMIC DISC CAPACITORS _ lfl£L 04 .03 OOljiF 04 .03 0047^F 04 03 OVF .04 .03 022 M F 04 03 047^F .04 .035 Apt 100 VOLT MYLAR FILM CAPACITORS 10 07 022ml 047ml CORNER L9 ipji9 lOJii 05 04 035 .05 04 035 .05 .04 .035 .06 05 04 .06 .05 .04 12 09 .075 .07 ,1ml ,22ml ♦ 20% DIPPED TANTALUMS (SOLID! CAPACITORS .28 .23 .17 1 5/35V .30 .28 -23 .17 2.2/25V 31 .28 .23 .17 33/25V 31 28 .23 .17 4 7/25V 32 28 .23 .17 6.B/25V 36 2B .23 .17 10/25V 40 28 .23 17 15/25V 63 MINIATURE ALUMINUM ELECTROLYTIC CAPACITORS .27 13 .10 .70 .62 ,55 .47/25V .47/50V 1.0/16V 1.0/25V 1.0/50V 4.7/16V 4.7/2SV 4.7/50V 10/16V 10/25V 10/50V 47/SOV 1O0/16V IO0/25V 100/50V 220/1 6V 470/25V Radlil Lud 15 13 .28 3^ 280 BYTE May 1979 Circle 200 on inquiry card. Transistor Checker — Completely Assembled — — Battery Operated — The ASI Transistor Checker is cap- able of checking a wide range of transistor types, either "in circuit" or out of circuit. To operate, simply plug the transistor to be chocked Into the front panel socket, or connect it with the alli- gator clip test leads provided. The unit safely and automatically identifies low, medium and high- power PNP and NPN transistors. Siio: 3Jj" x 6%" x 2" "C" cell battery not included. Trans-Check s 29.95 ea. Custom Cables & Jumpers Part No. DB25P-4-P DB25P-4-S DB25S-4-S DJ14-1 DJ16-1 DJ24-1 DJ14-1-14 DJ16-1-16 DJ24-1-24 DB 25 Series Cables Cable Length Connectors Price 4 Ft. 4 Ft. 4 It. 2-DP25S Dip Jumpers 2-DP25P S15.95 ea. 1-DP25P/1-2SS $16.95 ea. $17.95 ea. 1 ft. 1 It. 1 ft. 1 ft. 1 ft. 1 ft. -14 Pin 1-16 Pin 1-24 Pin 2-14 Pin 2-16 Pin 2-24 Pin $1.59 ea. 1.79 ea. 2.79 ea. 2.79 ea. 3.19 ea. 4.95 ea. For Cuitom CyMtj a Jumpant, Sea JAMECO 1979 Catalog tor Pricing '■."■. CONNECTORS 25 Pin-D Subminiature DB25P (as pictured) PLUG (Meets P.S232) J2.95 DB25S SOCKET (Meets RS232) $3.50 DB51226-1 Cable Cover for DB25P or OB25S $1.75 PRINTED CIRCUIT EDGE-CARD 156 Spaonfl-Tm-OouO* Rsad-Oul — Bifuracled Contacts — Fits OM to .070 PC Cards 15/30 1B/36 22/44 50/100 (.100 Spacing) 50/100 (.125 Spacing) PINS (Solder Eyelet) PINS (Solder Eyelet) PINS (Solder Eyelet) PINS (Wire Wrap) PINS (Wire Wrap) $1.95 $2.49 $2.95 $6.95 R681-1 $6.95 Solar Cells 2x2cm ■ 0.4 volts ■ 100mA • 41 MW Can be added in series for higher voltage or parallel for higher current. #SC2x2 Sl.95ea.or3/S5.00 the 3 rd Hand MAKES CIRCUIT ASSEMBLY A BREEZE! Lets you work with both hands. £ A AC g%n Sturdy Aluminum Construction, v*"*?** "di • Clamp "3rd Hand" on edge of bench, table or work- board. Insert circuit board, position components. • Flip circuit board to flat position for soldering and clipping. • Bright .300 ht. comm. ceth- ode display • Usee MM5314 clock chip • Switches for hours, minutes and hold modes • Mrs. easily viewable to 20 ft. • Simulated walnut case • 1 1 5 V AC operation • 12 or 24 hr. operation ■Incl. all components, case & wall transformer • Size: 6K" x 3-1/8" x 1 H" JE701 6-Digit Clock Kit $19.95 REMOTE CONTROL TRANSMITTER * RECEIVER $19.96 INSTRUMENT/CLOCK CASE This case is an injection molded unit that is ideal (or uses such as DVM, COUNTER, or CLOCK cases. It has dimensions of 416" in length by 4" in width by 1-9/16" in height. It comes, complete with a red bezel. .PART NO: IN-CC $3.49 each MICROPROCESSOR COMPONENTS S 9.95 3.2S 5.95 3.49 3.95 3.49 5.95 9.95 19.95 19.95 ■ ■— 8M0A7BD80A SUPPORT DEVICES" aoaoA cpu 8212 8-fltl Input/Output 8214 Priority Interrupt Control 8216 Bi-Olracl.onal Bus Driver 8224 Clock Generator/Driver 8226 Bus Oliver 8228 System Controller/Bus Driver 8238 System Controller 8251 Prog. Comm. 1/0 (USART) 8253 Prog. Interval Timer 8255 Prorj. Periph. 1/0 (PPI) 8257 Prog. DMA Control 8259 Prog. Interrupt Control ' 6800/6800 SUPPORT DEVICES MC6800 MPU SI 4. 95 MC6802CP MPU with Clock and Ram 24.95 MC68I0API 123X8 Static Ram 5.95 MCS821 Peripn. Inter. Adapt (MC6820) 7.49 UC6828 Priority Interrupt Conlroitef 12 95 MC6B30L8 1024X8 Bit ROM (MC68A30-B) 14.95 MC6B50 Asynchronous Comm. Adapter 7.95 MC6852 Synchronous Serial Data Adapl. 9.95 MC6860 0-600 Dps Digital MOOEM 12.95 MC6862 2400 Dps Modulator 14.95 MC6880A Quad 3-Stale Bus. Trans. (MC8T26) 2.25 MICROPROCESSOR CHIPS— MISCELLANEOUS Z80(7flOC) CPU 519.95 Z80A(7S0-1) CPU 24.95 COP1802 CPU 19.95 2650 MPU 19.95 6035 8-Bit MPU w/clock. RAM. 1/0 lines 19.95 P80B5 CPU 19.95 TMS990OJL 16-Bit MPU w /hard ware, multiply & JmdB 49.95 SHIFT REQISTERS Dual 25 Bit Dynam:c J. 50 Din! 50 Bit Dynamic .50 Dual 16 Bit Static .50 Dual 100 Bit Static .50 Dual 64 Bit Accumulator 50 500/512 Bit Dynamic .89 1024 Dynamic 3.95 Hei 32 Bit Static 4.95 Dull 132 Bit Static 2.95 512 Sialic .99 1024 Dynamic Dual 256 Bit Static Dull 250 Sialic Dual 240 Bit Static Quad 80 Bit Sialic 1024 Static Hfo 4X4 Register File (Instate) IMHTS -MICROPROCESSOR MANUALS - M-ZflO User Manual M-CDPI8Q2 User Manual M-2650 User Manual The Incredible Pennywhistle 103' -ROM'S - 2513{2M0) Characler Generator(upper case) 2513(3021) Character Generator(lower case) 2516 Character Generator MM5230N 2048-Bit Read Only Memory MM500H MM503H MM504H MM506H MM510M MM5016H 2504T 2518 2522 2524 2525 2527 2528 2529 2532 2533 3341 74LS670 1101 1103 2101(8101) 2102 21L02 2111(8111) 2112 2114 2114L 2114-3 2114L-3 5101 5280/2107 7489 T4S2O0 93421 UPD414 (MK4027) JPD416 (MK4I16) TMS4044- 45NL TMS4045 2117 MM5262 256X1 1024X1 256X4 1024X1 1024X1 256X4 256X4 1024X4 1024X4 1024X4 1024X4 256X4 4096X1 16X4 256X1 256X1 4K - RAM'S Static Dynamic Static Sialic Static Static Static MOS Static 450ns Static 450ns lo* power Static 300ns Static 300ns low power Sialic Dynamic Static Static Tristale Static Dynamic 16 pin Dynamic 16 pin Static Static Dynamic 350ns (house marked) Dynamic 4.95 9.95 10.95 10.95 - PROM'S - 2 95 2.95 4.00 4.00 2.95 2.95 6.95 1702A TMS2S16 (2716) TMS2532 270B 2716 T.l A-Y-5-1013 30KBAUD 5203 2048 6301-1(7611) 1024 6330-1(7602) 256 B2S23 32X8 82S115 4096 82S123 32X8 74186 512 74188 256 74S267 1024 2048 FAM0S 1BK* EPR0M(lntel 2716) 'Requires single < 5V power supply 4KX8 EPR0M 8K EPR0M 16K" EPR0M 'Requires 3 voltages, — 5V. +5V. FAM0S Tristate Bipolar Open C Bipolar Open Collector Bipolar Tristate TTL Open Collector TTL Open Collector Static 12V 89.95 10.95 29.95 3.95 9.95 3.95 2.95 ESSIE CONTINENTAL SPECIALTIES PROTO BOARDS Proto Board 203 SV'Li6*"W>2V'll $75.00 number PB-6 6. PS-100 6 PB-101 6 LlWxH (Inchai) 0x4.5x1.4 0x4.5x1.4 0x4.5x1.4 Prlca S15.95 S19.95 $22.95 Proto Board 203 A 'H2D1I Hbj ISVDC VOC 0.5A .upnl.ai. aach will. InteinillY and ndaaandanlly jiI]uii abia oulpul ..in: ... Rlppliand nam a' ' and -ISV lupohaa lOmV at 0.25A r-B 203A 9124.95 Model Humner PB-102 PB-103 PB-104 LxWxH (Inchai) 7.0x4.5x1.4 9.0x6.0x1.4 9.8x8.0x1.4 Price crsr S44.95 (54.95 BSSMSM Model 2800 $99.95 Comas with tesi leads, operating m.inual and spare 'use 3'A-Dlgil Portable DMM • Overload Prolecled • 3" high LED Display • Battery or AC operation • Auto Zeroing • Imv. IVa, 1 ofim resolulion • Overange reading ■ 10 meg inpul impendence • DC Accuracy I", typical Ranges: DC Voltage -0-IOO0V, AC Voltage 0-1000V Frerj Response 50-400 H2 DC/AC Current: 0-100mA Resistance 0-10 meg ohm Size 6 4" » 4 4' k 2' Accessor! as: AC Adapter BC-28 $9.00 Rechargeable Batteries BP-26 20.00 Carryinrj Case LC-28 7.50 JE200 5V-1AMP POWER SUPPLY -Uses LM309K *Heat sink provided *PC Board const ruction *Provides a solid 1 amp up 5 volts *Can supply up to ±5V, + 9V and +12V with JE205 Adapter •Includes components, hardware & instructions JE200 $14.95 *Si«..3J4"x5"x2"H 100 MHz 8-Digit . 20 Hz- 100 MHz Range COUfltCr ■ .6" LED Display . four power souces. i.e. . Crystal -controlled limehase Batteries. 110 or 220V with . fully Automatic charger 12V with aulo i Portable — completely iighter adapter and external sell -contained 7.2-tOV power supply . ^-,75-^38- max-iooj 134 g B ACCESSORIES FOR MAX 100: Mobile Charger Eliminator use power Irom car battery Charger/Eliminator use 1 10 V AC Modal 100 — CAI 19.95 Modal 100 - CLA 13.95 REGULATED POWER SUPPLY «& JE205 ADAPTER BOARD - Adapts to JE200 - +5V,±9Vand±12V ■DC/DC converter w/ + 5V input ■Toriodal hi-speed switching XMFR •Short circ. protect ion -PC Brd. construction -Piggy-back to JE200 board •Size:3SS"x2"x9/16"h JE205 $12.95 $10.00 Minimum Order — U.S. Funds Only California Residents — Add 6% Sales Tax Spec Sheets - 2H 1979 Catalog Available— Send 41C Hemp ameco ELECTRONICS lKL£CTRONIC8o(Caliro PHONE ORDERS WELCOME (415) 592-8097 MAIL ORDER ELECTRONICS - WORLDWIDE 1021 HOWARD AVENUE, SAN CARLOS, CA 94070 ADVERTISED PRICES GOOD THRU MAY $139.95 Kit Only The Purniywrtfetle 103 is capable ol recording data to and from audio tape wllhout critical speed requirements (or the recorder and It Is able (o communicate directly with another modern and terminal lor telephone "hamming" and communications. In addition .lllslree of critical adjustments and Is built with non-precision, readily available parts. Data Tremmlulun Method Frequency-Shift Keying, full-duplex (hail-duplex selectable). Maximum Data Rate 300 Baud. Data Formal Asynchronous Serial (return to mark level required between each character), deceive Channel Frequencies . . .2025 Hz lor space; 2225 Hz lor mark. Transmit Channel Frgqtjtndit . .Switch selectable: Low {normal) ■ 1070 space. 1270 mark. High - 025 space, Z225 mark. Receive Sensitivity -46 dbm accousticaily coupled. Trirumll Level -15 dbm nominal. Adjustable Irom -6 dbm to -20 dbm. Receive Frequency Tolerance ...Frequency reference automatically adjusts to allow for operation between 1800 Hz and 2400 Hz. Olgltel Date Interface ElA RS-232C or 20 mA current loop (receiver is opto Isolated and no n- polar). Power Requirement! t20 VAC, single phase, 10 Watts. Physical All components mount on a single 5" by 9' ' prinled circuit board. All components included. Requires a VOM. Audio Oscillator, Frequency Counter and/or Oscilloscope 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 $99.95 COMPUTER CASSETTES . 6 EACH 15 MINUTE HIGH QUALITY C-15 CASSETTES • PLASTIC CASE INCLUDED 12 CASSETTE CAPACITY . ADDITIONAL CASSETTES AVAILABLE #C-15-$2.50 ea (JrYS^TBf*!» ...... I....... -'\ CAS-6 , $14.95 i (Case and 6 Cassettes) SUP 'R' MOD II UHF Channel 33 TV Interlace Unit Kit Wide Band B/W or Color System * Converts TV to Video Display tqt home computers, CCTV camera, Apple II, works with Cromeco Daz- zler, SOL-20, IRS-80, Challenger, etc, MOD II is pretuned to Channel 33 (UHF). * Includes coaxial cable and antenna transformer. MOD II $29.95 Kit &m**w®E® Model P180 includes 2-100' spools #28 AWG wire wrap wire Supplies insulated wire from spool to wrap-posts without pr ping and precutting using "daily chain" method. Model P1 80 Tool $24.50 P180A Replacement Bit $12.95 W28-2 Replacement wire (3 spool pkg.) . . $2.75 ea. Specify color: A-green B-red C-c/ear D-Blue IDEAL FOR TRS 80 "Plug/Jack Interface to any computer system requiring remote control of cassette functions" Tne 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 kind of PC board. A very solid molded plastic 13 x 4" base suits most application. IN STOCK §29 95/eacfl Hexadecimal Unencoded Keypad 19-key pad includes 1-10 keys, ABCDEF and 2 optional keys and a shift key. $10.95/each Circle 200 on inquiry card. BYTE May 1979 281 Circle 30 on inquiry card. n BECKIAN ENTERPRISES dk All Prime Quality - - New Parts Only Satisfaction Guaranteed EDGE CARD CONNECTORS: GOLD PLATED. (Not Gold Flash) BODY: Non brittle, Solvent res., G.E. Valox. CONTACTS: Bifurcated: Phos/Bronze: Gold over Nickel. ABBREVIATIONS: S/T Solder Tail: S/E Sold. Eyelet: W/W Wire Wrap 3: SW/W Short W/Wrap: PART It Description 5010 50/100 S/T ALTAIR 5020 50/100 S/T IMSAI 5030 50/100 W/W IMSAI 5040 50/1 00 S/E ALT/IMSAI 5050 50/100 S/T CROMEMCO 1450 IMSAI CARD GUIDES ■ 100" Contact Center Connectors. 1020 1040 1050 1060 1065 1070 1075 1080 1085 1090 1093 1095 13/26 S/E Imsai MIO: 25/50 S/E 25/50 S/T 36/72 W/W Vector. 36/72 S/T Vector. 40/80 S/E PET 40/80 W/W PET 40/80 S/T PET 43/85 S/E Cos. ELF 43/86 S/T Cos. ELF 43/86 S/T Cos. ELF 43/86 W/W Cos. ELF POLARIZING KEYS: For Above .156" Contact Center Connectors. 1550 6/- S/E PET, Etc 1560 6/12 S/T PET:NSC. 1575 12/24 S/E PET 1580 12/24 S/T PET 1590 15/30 S/E GRI Keybd. 1620 18/36 S/E 1 650 22/44 S/E KIM, VECTOR 1660 22/44 S/T KIM, VECTOR 1 670 22/44 W/W KIM, VECTOR 1690 36/72 W/W 1710 36/72 S/E 1720 36/72 S/T 1730 43/86 S/T Mot. 6800 1740 43/86 S/T Mot. 6800 1 750 43/86 W/W Mot. 6800 POLARIZING KEYS: For Above Row Sp. .140 .250 .250 .140 .250 .140 .140 .140 .200 .200 .140 .200 .140 .140 .140 .200 .200 .140 .140 .140 .140 .140 .140 .140 .140 .200 .200 .140 .200 .140 .200 .200 1-4 3.75 3.95 4.10 5.00 6.25 0.16 2.10 2.95 3.00 4.80 4.00 4.80 5.00 4.90 5.00 5.10 4.95 5.50 0.10 1.30 1.35 2.15 2.10 2.25 2.40 2.20 2.00 2.40 3.90 3.50 3.30 4.40 4.35 4.45 0.10 5-9 10-24 3.50 3.30 3.75 3.50 3.90 3.70 4.50 4.25 6.00 5.75 0.14 0.12 1.85 2.75 2.80 4.60 3.75 4.50 4.65 4.60 4.75 4.85 4.70 5.20 0.10 1.10 1.15 1.95 1.90 2.05 2.20 2.00 1.80 2.20 3.75 3.30 3.10 4.15 4.10 4.25 0.10 1.75 2.50 2.60 4.30 3.50 4.30 4.35 4.25 4.50 4.60 4.45 4.90 0.10 0.90 0.95 1.75 1.70 1.85 2.00 1.80 1.70 2.00 3.50 3.10 2.90 3.90 3.85 4.10 0.10 RS232 & D' TYPE SUBMINIATURE CONNECTORS: QUANTITY DE9P Male DE9S Female DE1 10963-1 DA15P Male DA1 5S Female DA5121 1-1 DA1 10963-2 DB25P Male DB25S Female DB51212-1 DB51226-1A DB1 10963-3 DC37P Male DC37S Female DC110963 4 DD50P Male DD50S Female DD51216-1 DD1 10963-5 2pc. Grey Hood 1 pc. Grey Hood 2pc. Grey Hood 1 pc. Grey Hood 2pc. Black Hood 2pc. Grey Hood 2pc. Grey Hood 1 pc. Grey Hood 2pc. Grey Hood. D20418-2 Hardware Sets 1-4 1.45 1.93 1.20 1.95 2.80 1.25 1.22 2.20 3.20 1.30 1.40 1.35 3.70 4.90 1.95 4.40 4.90 2.30 2.40 0.75 5-9 1.35 1.80 1.10 1.80 2.60 1.15 1.10 2.10 3.00 1.20 1.30 1-25 3.50 4.70 1.85 4.30 4.70 2.10 2.20 0.70 10-24 1.25 1.70 1.00 1.70 2.40 1.10 1.05 1.90 2.70 1.10 1.20 1.15 3.35 4.40 1.75 4.10 4.50 1.90 2.00 0.65 I.C. SOCKETS. GOLD. WIRE WRAP 3 TURN. 14 pin SO. 36 ea. 16 pin 0.38 ea. I.C. SOCKETS. Dip Solder. Tin. 14 pin $0.1 5 ea. 1 6 pin 0.1 7 ea. 8080 PRIME 2708 EPROMS PRIME CONNECTORS FOR CENTRONICS 700 SERIES: Amhpenol 57-30360 For Back of Centronics '700' Series: Price: $9.00ea. 5 pes. $7.50ea. WHISPER FANS: Excellent for Computer cabinet cooling. Extremely quiet. Dim. 4-3/4" x 1-1/2" thick. U.L. Listed. JL4 JL9 10-24 $22.00 $19.00 $18.00 WRITE FOR LARGER QUANTITY DISCOUNTS. DEALER INQUIRIES ARE WELCOME. WE ARE CONNECTOR (EDGE CARD) SPECIALISTS. IF YOU DO NOT SEE WHAT YOU NEED IN THIS ADVERTISEMENT. PLEASE WRITE US. WE WILL REPL Y. TERMS: Minimum Order $10.00: Add $1.25 for handling and shipping. All orders over $25. 00 in USA and Canada: WE PA Y THE SHIPPING. NOTE: CA residents please add 6% sales tax. NO C.O.D. SHIPMENTS OR ORDERS ACCEPTED. MAIL0RDERST0: Beckian Enterprises P.O. Box 3089 Simi Valley, CA 93063 COMPUCOLOR II IS HERE!! HERE IS A SURPRISINGLY AFFORDABLE COMPUTER THAT MAKES THE COMPE- TITION LOOK TWICE I! STANDARD FEATURES * 13" COLOR CRT * SPECIAL GRAPHICS PKG. * EXTENDED DISK BASIC MINI DISK DRIVE * 8K RAM MEMORY * 72 KEY KEYBOARD PRICE & OPTIONS MODEL 3- 8K USER RAM- 1495 .oo MODEL 4-16K USER RAM -1695 .00 MODEL 5-32K USER RAM -1995 .00 2nd DISK DRIVE -400.oo EXPANDED KEYBOARD - 1 3 5 .00 FORMATTED DISKETTE - 5 .00 MANY PROGRAMS AVAILABLE * TO ORDER SEND CHECK OR MONEY ORDER CALIF. RES. add 6% TAX shipping 1% all orders HOLLYWOOD SYSTEMS CATALOG - 50* 9100 SUNSET BLVD. SUITE 112 LA. CALIF. 90069 282 BYTE May 1979 Circle 174 on inquiry card. Circle 387 on inquiry card. 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-1A8K BYTE 2102 RAM Board ..,$31.95 *QMB-12 12 SLOT MOTHER BOARD * MEM-2 16K BYTE 2114 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 wmc tflC. WAMECO INC. 111 GLENN WAY *8, BELMONT. CA 94002 (415)592-6141 J3337 FORMERLY CYBERCOM/SOUD STATE MUSIC. CB-1 8080 Processor Board. 2K of PROM 256 BYTE RAM power on/rest Vector Jump Parallel port with status. Kit $125.95 PCBD $28.95 MB-6A Basic 8KX8 ram uses 2102 type rams, S-100 buss. Kit 450 NSEC $123.95. PCBD $24.95 MB-7 16KX8. Static RAM uses U.P410 Protection. fully buffered KIT $299.95 MB-8A 2708 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 $72.00 IO-2 S-100 B 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. 11x11'/! x'/b" 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- PCBD $42.95 82S23 $1.50 82S123 1.50 82S126 1 95 82S129 1.95 82S130 3.95 82S131 3.95 MMI6330 IM5600 IM5603 IM5604 IM5610 IM5623 IM5624 1.50 1.50 1.95 3.95 1.50 1.95 3.95 KIT $135.95 PRIME SUPPORT 8080A $ 9.95 8212 3.25 8214 6.50 8224 3.49 2114 (450 NS) Low PWR 7.25 2114 (250 NS) Low PWR 7.99 2102A-2L 1.60 2102A-4L 1.25 2708 450 NSEC ... 8.95 1702A-6 3.50 4116 (Apple RAM) .12.95 8/89.95 W7I7C /ne. WAMECO INC. FDC-1 FLOPPY CONTROLLER BOARD will drive shugart, pertek, remic 5" & 8" drives up to 8 drives, on board PROM with power boot up, will operate with CPM (not inclulded). PCBD $42.95 FPB-1 Front Panel. IMSAI size, hex displays. Byte. or instruction single step. PCBD $47.50 MEM-1 8KX8 fully bullered. 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 ..$25.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 QM-12. 9 Slots PCBD $30.95 MEM-2 16Kx8 Fully Buffered 2114 Board PCBD $26.95 16K RAM BOARD by CCS fully buffered, bank se- lect standard to IEE buss gold fingers, solder mask, plated thru holes, silk screened PCBD $26.95 KLUDGE BOARD by CCS for S-100 glass epoxy over 2600 plated through holes. 4 regulators with CAPS all S-100 lunctions labeled, gold fingers. PCBD $29.95 CM (415) 592-1800 419 Portofino Drive San Carlos, California 94070 Please send for IC. Xistor and Computer parts list MAY SPECIAL SALE ON PREPAID ORDERS (charge cards not included on this offer) WAMECO REAL TIME CLOCK BOARD. Kit with all factory marked parts $54.95 PCBD $23.95 FPB-1 with Mikos #14 Front Panel Kit $124.95 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 $123.95 CPU-1 with MIKOS #2 8080A CPU 89.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 60.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 75.00 MIKOS PARTS ASSORTMENTS ARE ALL FACTORY PRIME PARTS. KITS INCLUDE ALL PARTS LISTED AS REQUIRED FOR THE COMPLETE KIT LESS PARTS LISTED. ALL SOCKETS INCLUOED. VISA or MASTERCHARGE Send account number, interbank number expiration dale and sign your order. Approx. postage will be added. Check or money order will be sent post paid in US II you are not a regular customer, please uaa charge, cashier's check or postal money order. Otherwise (here will be a two-week delay for. checks to clear. Calit. residents add 6% tax. Money back 30 day guarantee. We cannot accept re- turned IC's thai have been soldered to. Prices sublect to change without notice. S10 minimum order. 11.50 service chert* on orders leaa than 110.00. Circle 230 on inquiry card. BYTE May 1979 283 Circle 365 on inquiry card. ATTENTION TRS-80 & APPLE USERS A PRINTER FOR YOUR COMPUTER TERMS: VISA, MASTERCHARGE, Cashier Check or Money Order. C.O.D. with 10% down. Shipping Via Air or Truck collect. 3 S SALES P.O. BOX 45944 TULSA, OK 74145 918/622-1058 $995 00 MODEL 3S-80 for TRS-80 Ready to plug into your expansion interface. MODEL 3S-PP for computers with 8 bit serial port. MODEL 3S-SS for computers with RS-232 port. *1095 00 for MODEL 3S-AA Includes RS-232 card for Applell Specify model number on order. • Ready to plug into your computer • Very high quality print • Completely refurbished IBM 731 I/O Selectric terminal in a new table • Upper & lower case removable type ball • Special I/O interface • Heavy duty re-mfg. IBM power supply PET 2001 COMPUTER Quite portable, very affordable aod un- believably versatile, the PET computer may very well be a lifetime invest- ment.... 2001 4K bytes memory $595 2001-8 Computer 8K bytos with Integral cassette and calculator type keyboard $ 795.00 2001 -16N Computer 16K bytoi. large keyboard w/ieperate numeric pad and graphic* on keys S 995.00 2001 -16B Computer As above but standard typewriter keyboard. No graphics $ 995.00 2001-32N Computer Identical to 2O01-16N except has 32K bytes of memory $1195.00 200.1-32B Computer Identical to 2001-16B except has 32K bytes of memory $1195.00 2021 Printer 80 column dot matrix electrostatic printer, full graphics capability $ 549.00 2022 Printer 80 column dot matrix printer with plain paper or forms handling tractor feed, has full graphics . . . .$ 995.00 2023 Printer BO column dot matrix printer, plain paper printer with full graphics $ 849.00 2040 Floppy Disk Dual drive Intelligent mini floppy system. 343K net user storage $1095.00 2041 Floppy Disk Single drive intelligent mini floppy with 171.5K net user storage $ 595.00 C2N External Cassette Cassette player/recorder to use with PET 2001/8/16/32 $ 95.00 MANUAL User Manuel 160 page covering all facets of user operation, programming and I/O for PET computers $ 9.95 E^H^^I SOCERER COMPUTER FEATURES: 2B0 - 4K ROM - 1BK RAM CuHtta I/O - 30 Linn of 64 Character! - fiiMd Charwrtan and 64 Unr Daflnad Chi I 240 Gr.plilc RMolulion - Edga Card S- 100 But - Swiil and Patallal I/O. Vidao Dltplay EPROMPac Sundisrd flatic Hae DP4001 Canatti DP6004 DPGOOB OPSO0T Standard Bask Manual Technical Manual 8-100 Expansion Unit Manual Davaloainarrt Manual Word Procoalng Manual $8.40 4.40 4.40 1.62 2.70 XR206 XR210 XR215 XR320P XR34SCP XR565CP XRLS5BCP 1,50 XR6&6CP .86 XR567CN 1.51 XR1310P 1.31 XR1310EP 1.31 XR1458CP .86 XR1468CN 3.84 XR1488N 1.42 XR1488P 1.31 XR1409AN 1.42 XR1489AP 1.31 LJ2 XR2201CN $1.53 XR2201CP 1.33 XR2202CP XR2203CP XR2204CP XR2206CN t.33 1.33 1.33 6.36 XR2206K8 19.95 XR2206N 11.20 XR2207CN 4.28 XR2207CP XR2207N XR2207P XR2208CN 5.60 XR2208CP 5.20 XR2208N $8.8 XR2209CP 1.7 XR2211CN 6.2 XR2211CP 6.2 XR2212CP 4.3 XR2216CN 6.4 XR2240CN 3.6 3.32 5.25 4.28 XR2240CP 3.4 XR2240N 6.2 XR2242CN 1.6 XR2242CP 1.6 XR2264CP 4.2 XR2265CP 4.9 XR2271CP 1,1 XR2272CPS1.15 XR2656CN 3.52 XR2556CP 3.20 XR2567CN 3.71 XR2567CP 2.76 XR3403CP 1.22 XR3524CP10.70 XR4136CN 1.61 XR4136CP 1.22 XR4151CP 2.85 XR4194CN 3.81 XR4195CP 1.42 XR4212CP 2.05 XR4558CN XR4558CP XR4739CN 1.53 XR4739CP 1.12 XR4741CP 1.47 Intersil LED or LCD 3V 2 DIGIT PANEL METER KITS BUILD A WORKING OPM IN 1/2 HOUR WITH THESE COMPLETE EVALUATION KITS Tair lha» now pafla lor yourniif »iln inlcuiii low coil proioiyping kilt, complete wiih A/D converlm and LCD display (lor lha 71061 O' LED duplay (foe tha 7107). Km provide all malarial*, including PC board, lor a jCtTtOMW [LCD) $29.95 ICL7107 (LED) $24.95 1 FUNCTION GENERATOR KIT XR2206KB OPERATES ON EITHER " SINGLE 12V SUPPLY • t6V SPUT SUPPLY INCLUDES ALL, PARTS TO BE MOUNTED ON PC BOARD. $19.95 1802 SERIES 1802 L 18221. 1824L 1&S2L Ceramic -65 to 4 Epoxy -40° to + I S19.95 7.75 8.26 G.oS 11.70 6.60 5.-30 6*6 S.6S 1S22LE 1B24LE IB52LE IB53LE 1854LE 1B56LE 1B57LE 1B58LE 1B59LE SYM-1 l $269.00 Ballantine Model 1010A Dual Channel/X-Y Scope A professional oscilloscope ■MaaaaaaaaWj to * a a i y° ur ^j. basic ; */ * needs l±X*Ji& $695 KIM 1 MICROCOMPUTER $17900 Includlni Doeumentetlon GR 753K 753A 756K 756A 771 716 701 702 753MF 756MF SA1A I KEYBOARDS AND ACCESSORIES 53 Key plume Stylo Kybd w/lower case $ 65.95 Seme es ebove except Assembled and tested 79.95 56 Key, Full ASCII Keyboard KIT 69.95 Same as above except Assembled and tested 82.95 Key, Deluxe Kybd in Enclosure, Assm end tested 149.95 16 Key Hex Pad, Assembled end tested 29.95 Plastic Enclosure for 753/756 1 5.00 Steel Enclosure for 763/766 29.95 Mounting Frame for 753 6.95 Mounting Frame for 756 6.95 Converts 753/756 to Serial Output 89.95 15 Megahertz PORTABLE MINI-SCOPES MS-215 $43500 ■|*I'i*E !B- MS-15 $31800 with RECHARGEABLE PORTABLE (2.7"H x 6.4"W x 7.6"D) BATTERIES & CHARGER AVAILABLE OPTIONS-usable on both the MS215 and the MS15 41-140 Leather Carrying Case $45.00— 41-141 1 to 1 Probe $24.50 LIQUID CRYSTAL DISPLAY LCD106 $17.30 Ultra-Low Power Consumption- Rapid Response Time- Reflective Aluminum Foil-Superior MTBF— High Contrast Ratio-Wide View- ing Angle— Proven Sealing Tech- niques— £ in. Digit Height. DECODER/DRIVER/LATCH CMOS 7-Segment decoder driver Incorporating Input latchet and bi- polar NPN output circuits, each segment capable of sourcing 25mA to drive LED, Incadescent, fluores- cent, gas discharge or LCD displays directly. MD4311BE(HEX) *- «« MD4511BE(BCD) §2.08 LED Bar Graph Array & Driver GL-112R3 LED Array Is a red LED arranged In a 12 dot graph configur- ation. When used In comblnetion with the IR-2406, linear level Indi- cations con be generated. 1-24 25 up 100 up $6.00 $4.90 $4.00 GL.-1 12R3 IR2406 LED Driver Is an Integrated circuit LED driver with 12 outputs. Each successive output turns tha LED's on In steps equal to: VrefCMax.) - Vref (Mln.)/13 1-24 25 up 100 up $5.40 $4.50 $3.60 HICKOK LX303 DIGITAL MULTIMETER Compact. Accurate. Dependable. With easy- reed V," liquid crystal display for convenient i In any kind of light. Weighs only " Operates up to 200 hrs on a single 9 volt battery. Nineteen ranges Including 200mV to 10O0VDC, 100 to 10 Megohms, 100 and 1000 VAC ranges, IOuA end 10mA ranges. Excellent overloed pro- 4 _. Qr taction, color coordinated case and */4 9t> color coded panel. I — l HYBRID AUDIO UTI'ffll POWER AMPLIFIER * Matching P/N Power Transformer SI-1010GI10W) $ 6.95 TRIO $ 7.90 SI-1020GI20W) $13.95 TR20 $10.90 A-SI-8(Socket for above) .96 SI-1030G(30W) $19.00 TR30 $12.90 SI-1050GI50VU $27.80 TR50 $17.90 A-sl-10(Socket for above) : One Transformer can power two audio amplifiers. .95 $1.69 5% CARBON FILM RESISTORS All values from JO&to 10 Mil- Only in multiples of tOOpcs per value $1.79 Send Check or Money Order to: P.O. Box Z208V, Culver City, CA 90230. California resi- dents add 6% sales tax. Minimum Order; $10.00. Add S1.00 to cover postage and handling. Master Charge and Visa welcomed. Please include your charge card number, Interbank number and expiration date. PHONE ORDERS 1213) 641-4064 ARIZONA AIMCRONA 1518 E. etoidwiy rucion. AZ8S711 (602) SB 1-2348 CANADA, B.C. ANCnONA 5656 FrasarSt. CALIFORNIA OREGON ANCRONA ANCRONA ANCRONA 11060 Jafftrwn Blvd. 1300 E. Gliingn Ava. 1126 N.E. B2nd Ava. Santa Ana, CA 97706 11' 131 390-3595 [7141 547-8424 15031 2645541 GEORGIA TEXAS AIMCRONA ANCRONA ANCRONA 064 E. El Camlno Rail 3330 PlaOmonl Rd. N.E. 204B Rlcftmond Atlanta. GA 30306 Houiton, TX 770178 (408) 243-4121 U04) 261-7100 1713) 528-3480 284 BYTE May 1979 Circle 8 on inquiry card. 'MEMORY SALE ! have it your way m m 16K $295.00!! (4MHz)(Reg.$370.00) 32K $485.00!! (4MHz) (Reg.$620.0O M_L BOARDS ASSEMBLED AND TESTED . . . . . . (KIT PRICING AVAILABLE) Extended addressing allows board • Static, of course to exist anywhere in 256K memory on standard S-100 bus . • Phantom line • Each 4K block locateable LOW Power, 1.6 amp per 16K 9 Regulators for perfect heat distribution anywhere • Fully tested and burned in for 48 hours ADD-ON MEMORY CHIPS - $4.95 EACH!! (TMS 4044 or MM 5257) - 8 Chips - Minimum Order ♦Sale ends June 1, 1979 Z-80 CPU (one serial chip set, less eprom) $195.00 (Reg. $280.00) • 2 Parallel + 2 Serial Port • 2 MHz or 4 MHz Switch Selectable • Baud Rates 1 50-9600 • Power on Jump to On/Board Eprom (2708 or 2716) • Memory Management on A16 and A1 7 VIDEO TERMINAL SIMULATOR $295.00 (Reg. $400.00) • Plugs into S-100 Bus and simulates all functions of a Soroc or other RS-232 type terminal. A simple video monitor such as a Sanyo or Sony TV will perform as a smart terminal by writing into an IO Port. • 2K Eprom, 4K Ram (2 video pages on 16 x 64) • Lower Case Descenders ( 1 6 x 64 or 24 x 80) • Tabs, protected fields, home/load cursor, blink, reverse video, underline, page erase, etc. (Intel 8275 CRT controller) DOUBLE DENSITY DISC CONTROLLER $385.00 • CPM* Compatible, TARBELL Pin-out compatible • On/Board Boot • 2 or 4 MHz Jumper Selectable • 8 inch Single or Double sided (5.25 inch available) • 52 Sectors, runs CPM*, IBM Format "CPM is a trademark of Digital Research, Inc. West: DELTA PRODUCTS 1653 E. 28th Street Long Beach, Calif 90806 Tel (213) 595-7505 ORDER NOW ! ! SALES AND SERVICE East: DELTA PRODUCTS 1254 South Cedar Road New Lenox, Illinois 60451 Tel (815) 485-9072 Circle 89 on inquiry card. Dealer inquiries invited. Personal checks must clear before shipment • 90 day unconditional warranty BofA.M/COkay Unclassified Ads SEW UNCLASSIFIED 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. Notices 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 m an issue of BYTE. Please note that it may take three or four months for an ad to appear in the magazine. ■ FOR SALE: 8080A S-100 microprocessor with Morrows processor and I/O (input/output) boards, Processor Technology VDM-1 video, 8 K static programmable memory, and ASCI! keyboard. BASIC running, programs included. Full doc- umentation! Cost over $850, asking $500 plus shipping. Milan D Chepko, 119 Belleville Ct, Thief River Falls, MN 56701. FOR SALE: Digital Group parallel I/O (input/ output) card. Adds four input and four output ports to any Digital Group system. Add joysticks, printer, digitizer, etc to your system. $75 or best offer. John Case, 6703 Timberhill, San Antonio TX 78238, (512) 681-7504. WANTED: Maintenance manual or schematic information for Frteden Flexowriter model 2301A or similar unit. Will pay $5. for schematic or $25 for manual. William A Brown, 79 Salem HI Rd, Howell NJ 07731, (201) 364-6532. GAMES FOR SALE: Programs on cassette for Level I TRS-80. Star Trek (so compact it runs on 4 K) $10. Ping-Pong (4 K) $5. Lunar Lander (4 K) $5. Add $5 for cassette and shipping. M Feeley, 150-15 Ave, Iberville Quebec CANADA, J2X 1A3. FOR SALE: Digital Group Z-80 system with 8 inch disk and Diskmon, 34 K static memory, keyboard and monitor. All in Digital Group cabinets. $2950 or best offer. John Ciaccia, 5707 Valley Pt, San Antonio TX 78233, (512) 654-0338 evenings. FOR SALE: Apple II 32 K, Disk II, Applesoft read only memory card, carrying case, disk binder, with over 100 programs, three months old. $1975. Ship UPS. Peter Sils, 2065 California St, Apt #1, Mountain View, CA 94040, (415) 965-2775. FOR SALE: Heathkit H8 and H9 with cassette recorder, I/O (input/output) interface. 8 K with manual set. Extended Benton Harbor BASIC. Unit up and running. $1100. Will deliver free any- where in Northeast from Virginia north. .R D Morgan, 2433 Hepplewhite Dr, York PA 17404, (717) 767-4770. FOR SALE: Hewlett-Packard HP-25C program- mable calculator with continuous memory. Re- charger/AC adaptor. Programming pad. 120 page owners handbook, 161 page book of applications programs. Like new with case, originial box and stand. Cost new $199. I'll pay UPS and ship it to you for $100. Greg Glau, POB 1627, Prescott AZ 86302, (602) 445-3212. MOTOROLA D2 USERS: A manual of experi- ments on 6800 microcomputers containing 73 Assembly language problems. A step-by-step approach to learn to use the 6800 assembly lan- guage, digital I/O (input/output), interrupts and many programming techniques with solutions. $5. K K Rao, Dept of Physics, Western Michigan University, Kalamazoo Ml 49008. FOR SALE: H11 (LSI processor) with arithmetic chip and 16 K. Manuals and softwear. New cost (kit) $1,850. Would like $1,600. Also H10A; new cost (kit) $350, but have had trouble. Will sell for $200, with manuals. James L Achord, 2500 North State St, Jackson MS 39216. FOR SALE: Tl Microterminal for use with TM990 series microcomputers. $75. 12 inch modified line isolated video processor. $60. Quality keyboard case. $25. Miscellaneous character generators, 2102s, 1702As. K Zandler, 481 N Armistead St, Alexandria, VA 22312, (703) 664-6460 during day. HELP; Need Memorex Model 1240 terminal ser- vice manual. Also print cartridge and print cartridge drive belt. Johannes Oelke, 8852 Rock Forest Dr, St Louis MO 63123, (314) 421-5055 (Mon thru Fri) or (314) 843-5609 evening. WANTED: New or used dumb video display or PET. Also a modem for either. Jonathan Gutten- burg, 125 E 72 St, New York NY 10021. FOR SALE: Heath H8, 16 K, serial I/O (input/ output), video display terminal, and all Heath software. Working great. Bargain at $1000. Jeff Lambros, 7 Parkshore Cir, Sacramento CA 95831, (916)422-7802. FOR SALE: KIM-1, TVT-6 and an ASCII Key- board wired with software for use as an ASCII con- trolled video terminal. Complete documentation. Plus First Book of KIM, Cheap Video Cookbook, KIM-1 User Notes, Microchess and other utility and game programs on cassette. Will pay shipping. $250. John Dobiac, QTRS 770-2, Ft Ritchie, MD 21719, (301) 241-4744. FOR SALE: Heath H9 video terminal. Up and running, all documentation included. $425. Dr Bauman, 509 Wolcott Rd, Wolcott CT 06716 (203) 879-3855. WANTED: Information on the IBM Cardatype typewriter, type 866 and 868 or on the IBM electric typewriter Model 11C. I would like manuals, parts, or other data to help me convert this machine to a printer for a 6800 microcom- puter. John Kluth, 1060 DeLeone Dr, Kent OH 44240. WANTED: Operations manual and schematic for a Dumont Labs type 350-R oscilloscope. Will pay any reasonable price for copies. James Brown, 15 New Ocean St, Lynn MA 01902. FOR SALE: TMS-9900 16 bit Techinco starter system with monitor. Assembler, 1 .5 K power, manuals. $450. Datel Selectric terminal with full ASCII I/O Onput/output) RS-232, extensive manual $700. Power Supply ± 5 V ± 12 V com- mon ground at 1.3 A regulated and protected S50. David Lynn, 1913 Kingsland Av, Orlando FL 32808, (305) 293-4074 after 6 pm. WANTED: Back issues of Software-Practice and Experience, Computer Graphics, Computer Jour- nal, SIAM journals; other computer journals ex- cluding ACM. William G Hutchison Jr, Princton Arms N 191, Cranbury NJ 08512, (609) 443-6631. EMPLOYMENT WANTED: Graduated December 1978 from Central Michigan University with a Bachelor of Independent Study degree in Elec- tronic Sound Synthesis (minor in Computer Science). Also hold Associate degree in Industrial Electronics. Seeking employment in electronic sound synthesis but will consider other areas. I have an excellent background in microcomputers. Steven Petersen, 3111 Bird Av NE, Grand Rapids Ml 49505, (616)361-6083. FOR SALE: Heath H10 reader/punch assembled and tested. Never bought rest of Heath system. $280. Also Scientific Devices digital capacitance meter, factory built, $60. Jeff Duntemann, 6208 N Campbell Av, Chicago IL 60659, (312) 764-5069 evenings, 648-1668 days. FOR SALE: TRS-80 owners. The exciting game of Othello in 4 K Level. Two variations on one cassette: you play computer or you play opponent. Games on cassette plus documentation. Guaranteed. $5. Chuck Malmquist, 915 Aberdeen Dr, Sunny- vale CA 94087. FOR SALE: Several Digital Group Real World interface systems. Interfaces to any 8 bit machine with parallel I/O (input/output) ports. Has plug- ins for AC and DC controllers, analog-to-digital and digital-to-analog converters, temperature and current probes, and prototyping boards for custom circuits. A B Neel, 400 S Lipan # 2, Denver CO 80223. FOR SALE: Two complete control data RPC 4000 computers with some spare circuit boards. Also two autotypists with card punch. Make offer. Frank Booth (501) 452-4946. FOR SALE: Complete ELF II, almost new. In- cludes computer board with five edge connectors and case. Giant I/O (input/output) cassette and monitor board, two 4 K memory boards, cased ASCII keyboard, power supply, modulator, con- nectors, software. Worth over $600. Asking $400, vyill listen to offers. Contact R J Crafts, POB 139, Oak Bluffs MA 02557, (617) 693-2175. FOR SALE: Paratronix model 100A logic an- alyzer, new, assembled and working, $165 (factory price: $229 kit, $295 assembled). I bought a Paratronix 150. C J Drost, Cornell University, College of Vet Med, Ithaca NY 14853, at office: (607) 256-2121, or at home (607) 272-2458. FOR SALE: Heathkit owners; assembled 12 K programmable memory board for H8. $180. (God- bout Econoram VI). Darrell Mears, 201 Prospect St, Blacksburg VA 24060. FOR SALE OR TRADE: Integrand S-100 rack mountable mainframe. Includes 1 1 slot mother- board, five connectors , in place, 15 A power supply, and fan. Never been used. First check or money order for $220, or I will trade it for a KIM-1 like new with power supply and all manuals. David Minuk, 467 E College St, Murfreesboro TN 37130, (615)890-1701. WANTED: Operating manual, service manual, and used disk packs for an IBM 2311 disk drive. Also any information pertaining to a source for the above or use of the 231 1 in a hobby computer. Mike Braun, 200 N Adams, Mt Pleasant IA 52641 (319)385-2000. WANTED: Technical data on a Foto-Mem Inc video display terminal. Has Ball Brothers video display model TV-12C 7-012-0100, micro switch keyboard SW-10255 and auxiliary keypad SW-101 12. Display 80 characters, 24 lines. Fred Or'dway, POB 5946, Bethesda MD 20014. FOR SALE: Digital Group 10 K Z-80 system with two Phi-Decks 64 character-video. Javelin monitor, keyboard, power supplies. No cabinets. Fully functional. $1 ,500. or best offer. Grant Youngman, 3731 Bramblevine Cir, Lithonia, GA, 30058 at office (404) 586-8727, or at home: (404) 981- 6640. MEMORY: Static 16 K byte memory board for S-100 computer made by Vandenberg Data Pro- ducts, uses UPD410 circuits addressed in 4 K blocks. Assembled, works perfectly. $200. Steve Goldband, 58 Inwood PI, Buffalo NY 14209. (716) 886-1020. FOR SALE OR TRADE: BYTE magazine 16 issues Volume 1 thru Dec 76, excellent condition. $125, or swap for KIM-1, Heath ETS3400, ELF II, TI-58, or in part for challenger IP, AIM 65, TI-59. After 5 PM and weekends. Ralph Reinke, 3007 Heron Ave, Wausau Wl 54401, (715) 842-0196. 286 May 1979 © BYTE Publications Inc 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 WINDING OUTPUTS 2 x8 Vac 2x 14.5 Vac 2x25 Vac SIZE UNIT Wx D x H PRICE 3%" X35/8" X31/8" 19.95 3%"x4%"x3 1 /8" 25.95 3%"x4%"x3W 27.95 3% " x35/8" X31/8" 19,95 T1 T 2 T3 T 4 OV, 110V, 120V 0V, 110V, 120 V V, 110V, 120V 0V, 110V, 120V 2x9A 2X13.5A 2X10A 2x4.5A 2X2.5A 2x3.5A 2X2.5A 2x2.5A 2X4.5A POWER SUPPLY KITS (open frame with base plate, 3 hrs. assy, time) ITEM USED FOR @+8Vdc @-8 Vdc @+16Vdc @-16Vdc @+28Vdc 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 2.5A 3A 3A 2A 2A 4A 8A 12"x6"x4 7 /s" 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, ALUM. CHASSIS PLATE, ALL NECE. MTG. PARTS AND INSTRUCTIONS. SHIPPING: FOR EACH TRANSFORMER: $4.75. FOR EACH KIT: $5.00 IN CALIF., $7.00 IN OTHER STATES. CALIF. RESIDENTS ADD 6% SALES TAX. MASTER CHARGE, VISA & OEM WELCOME. MAILORDER: P.O. Box 4296 Torrance. Ca. 90510 SUNNY INTERNATIONAL (TRANSFORMERS MANUFACTURER) Telephone: (213) 633-8327 7245 E. Alondra Blvd. Paramount, Ca. 90723 STORE HOURS: 9 AM-6 PM HOBBY WORLD CALL TOLL FREE: (800) 423-5387 IN CA, HI, AK: (213) 886-9200 S-100 COMPUTER BOARDS 1601 CCS/M-XV1 16K STATIC RAM MODULE KIT $275 1602 as above, a&l 1603 as above, bareboard 1500 HUH/S-100 MPA kit 1503 MH PROPROM, 8K EPROM BOARD * $214 1504 6834 EPROMS (or above $ 10 1505 MH 100,000 DAY CLOCK, a&t . $219 1506 MH INTROL, 64 chan remote control a&t $329 1507 WMC/QM1 12 SLOT MOTHERBOARD . . .$ 39 1508 as above, with connectors . . . .$ 80 1509 WMC/MEM1 8K STATIC RAM BOARD . . .$ 28 1510 parts only for above $ 80 1403 SSM/CB1 8080A CPU BOARD KIT $134 1408 SSM/5B1 MUSIC SYNTHESIZER KIT $ 145 1411 SSM/104 2 PARALLEL + 2 SERIAL PORTS KITS $139 1414 SSM/I02 IO UNIVERSAL BOARD KIT .$ 48 1417 SSM/VB1B VIDEO INTERFACE KIT $129 1425 SSM/MB3 2/4K EPROM BOARD KIT . $ 54 1420 SSM/MB4 2 MHZ STATIC RAM KIT $ 89 1427 SSM ALTAIR IMSAI EXTENDER BOARD $ 10 1428 connector for above $ 4 1429 SSM/OB1 VECTOR )UMP & PROTO- TYPING CARD KIT $ 47 TRS-80 LEVEL BASIC $42 As advertised in March Interface. Loads on top of level II, turns your TRS-80 into, a powerful system. Solves loading problems, cures keyboard "bounce". Software cas- sette, has the power of a hardware modification! Guaranteed satisfaction! Cat No. 1332 CCS = California Computer Systems WMC = Wameco IA = Ithaca Audio SSM = Solid State Musk SDS = SD Systems SPL = Speech lab HUH = HUH Electronics MH = Mountain Hardware a&t=assembled & tested 1432 SSM/MT1 15 SLOT MOTHERBOARD . . .$ 39 1433 SSM/MB8A 16K (2708) EPROM BOARD KIT $88 1436 SSM/MB9 4K STATIC PROM/RAM BOARD KIT $ 64 1438 SSM/VB2 VIDEO BOARD KIT $139 1511 IA 2708/2716 EPROM BARE- BOARD $ 28 1512 IA Z80 CPU BAREBOARD $32 1513 IA 8K STATIC RAM BARE- BOARD $ 28 1514 IA S-100 WIREWRAP BOARD . .$ 28 1600 CCS S-100 WIREWRAP BOARD .$29 1516 SDS VERSAFLOPPY KIT $159 1517-0 SDS EXPANDORAM KIT $185 1517-16 as above, with 16K RAM.. . .$249 1517-32 as above, with 32K RAM' $330 1517-48 as above, with 48K RAM $425 1517-64 as above, with 64K RAM $500 1165 NEWTECH MUSIC BOARD a&l $ 57 1518 SPL 32 WORD SPEECHLAB a&t . .$189 1520 SPL 64 WORD SPEECHLAB a&t $299 1222 uSOUNDER SOUND EFFECTS BOARD a&t $149 COMPUCRUISE 1 MICROPROCESSORS $165 RAMS Navigational computer for mobile or marine Order by type no. use! Features cruise 80S0A $9,00 control, fuel manage- 6800 $ 9.00 ment, trip computer. z-aoA $14.50 timer/ counter, Warns 1702 A $ 3.00 low fuel! Compensates 2708 $ 9.50 21LO2-450 $ 1.25 Mounts easily on dash. 21LO2-6S0 .90 2114-200 2114-300 $ 9.50 2114-450 $ 8.50 Cat No. 1166 ^pj . 4116 $11.00 California Computer Systems MEMORY ADD-ON 16K $80 For APPLE. TRS-80, EXIDY Everything you need! Installs in minutes, no special tools, no solder- ing! 250 usee. Cat No. 1156 8" DISKS • Single density • IBM Compatible $40 box of 10 Cat No. Type 1145 32 sector holes, 1 index hole 1146 IBM 32, 3740, 3540, * 3770, 3790 AND V order b 7805 T 781 2T 781 5T 7905T 791 2T 791 5 T LM308V LM311N LM324N LM358N LM386N LM389N NE555V LM556N LM567V LM703N LM723N LM1458N .R. SALE! Y type 10. 2 for $1.50 2 for $1.50 2 for $1.50 2 for $1.70 2 for $1.70 2 for $1.70 2 for $1.30 2 for $1.30 2 for $1.20 2 for .65 2 for SI. 50 2 for $2.00 4 for $1.00 2 for $1.50 2 for $1.40 2 for .60 2 for .SO 2 for .70 , SHUGART SA-400 MINIFLOPPY DRIVE $275 Hard and soft sectoring, single density, 35 track. Requires power supply. Cat No. 1154 VERBATIM 5 1 /4" DISKETTES $29.95 box of 10 Cat No. Type Use 1147 Soft sector TRS-80, Apple 1148 Hard, 10 hole North Star 1149 Hard, 16 hole Micropolis DATA CASSETTES 10 for $17 Highest quality, leader- less! With protective plastic case. Cat No. 1142 FREE CATALOG! New, hot off the press! Top quality, low cost factory fresh IC's, leds, readouts, semis, compu- ter add-ons, boards, test equipment, books, soft- ware, PC aids, - and more! 19355 BUSINESS CTR DR.- 6B5 NORTHRIDGE, CA 91324 Pay by check, COD, Visa or Mastercharge. Order bv phone or mail. Please include phor no. USA add SI. SO for shipping/handling, i $2.50 for air. Foreign add 53.00 for surface, $5.00 tor air. COD's add 35t. All items guaran- teed satisfaction for 120 days! Circle 170 on inquiry card. BYTE May 1979 Heariep Service To get further information on the products advertised in B YTE, fill out the reader service card with your name and address. Then circle the appropriate numbers for the advertisers you select from the list. Add a 15 cent stamp to the card, then drop it in the mail. Not only do you gain information, but our advertisers are encouraged to use the marketplace provided by B YTE. This helps us bring you a bigger B YTE. Inquiry No. Page No. Inquiry No. Page No. Inquiry No. Page No. Inquiry No. Page No. 1 4 2 6 3 5 7 a 15 "10 11 12 13 19 22 30 29 28 34 31 32 36 37 39 45 47 53 50 48 49 51 52 70 68 75 76 66 77 73 74 78 79 81 40 80 82 85 88 Aaron Associates 1 24 91 Addmaster Corp 248 94 Administrative Systems 1 87 96 Advanced Access Group 225 92 AJA Software 197 90 Alladin Automation 27 93 Altos 45 89 Ancrona 284 87 Apple Computer 1 3 84 Apple tv 248 ' 86 AP Products 87 95 Aresco 248 100 Artec Electronics 141 102 ATV Research 270 115 base 2, inc. 79 120 Beckian Enterprises 282 125 Biotech Electronics 245 1 30 Bits Inc 230, 245, 246, 247 134 Biz-80 185 136 Bootstrap Enterprises 274 140 Business Applications Software 199 142 Buss/Charles Floto 199 150 BYTE Back Issues 209 152 BYTE Books 1 16, 119-122, 127, 213 151 BYTE WATS Line 197 159 California Computer Systems 34, 35 160 California Digital 259 162 Central Data 69 170 Chrislin Industries 227 174 "COMPRINT" (Computer Printers Intl) 37 172 "Compucolor" (Div Intelligent Sys) 25 171 Computalker 236 173 Computall Corp 248 169 Computer Components Inc 253 175 The Computer Cookbook 47 177 Computer Enterprises 21 9 179 Computer Factory (MA) 133 175 Computer Factory (NY) 1 59 190 Computer Lab of NJ & PA 237 195 Computerland 8, 9, 143 ' 200 Computer Mart of NH 270 168 Computer Mart of NJ 49 201 Computer Service Center 270 203 Computex Corp 1 7 5 Conley Graphics 245 202 CT Micro Computer 86 205 CT Micro Computer 201, 214 215 Continental Specialties Corp 218 216 Corico Corporation 256 217 Cromemco 1,2 219 Cybernetic Micro Systems Inc 210 220 Cybernetics Inc 183 222 Cygol 248 221 Data Discount Center 217 204 Datamation 223 229 Data/Print Publishing 153 " Data Research (TX) 278 228 Data Safe Products 221 211 DataSearch 201 231 Delta Products 285 232 Digital Dynamics 248 230 Digital Engineering 208 236 Digital Pathways 219 255 DRC (CAI 210 256 DRC (TX) 257 257 Echo Design & Development 242 265 Electrolabs 2 79 266 Electronic Control Tech 229 269 Electronic Systems 268, 269 281 Electronics Warehouse 267 282 Federal Communications Corp 61 280 FMG Corp 183 Allen Gelder 248 283 H Geller 197 . 285 Godbout Electronics 131 Graham Dorian Enterprises 51 284 GRT41 286 H & E Computronics 234 287 Hayden Book Publishers 167 Hickok Electrical Instrument Co 2 53 288 Hobby World 36, 287 292 Hollywood Systems 282 290 HUH Electronics 235 Industrial Micro Systems 105 296 Info 2000 99 298 Information Terminals (Verbatim) 31 297 Input Output Unlimited 151 299 Integral Data Systems 108, 109 301 Integrand 207 302 Interactive Microware Inc 233 303 Ithaca Audio 251 304 Jade Co 276, 277 305 Jameco Electronics 280, 281 312 Key Supply Co 256 300 Kybe 181 311 Leedex Corp 231 313 MacMillan Book Clubs 157 314 Mad Hatter Software 161 322 Marketline Systems 212 323 Measurement Sys & Controls 1 55 324 Measurement Sys & Controls 270 325 Micro Computer Technology 178 315 Micro Diversions 5, 91 316 Micro Focus Ltd 1 1 3 Micromail 188 332 Micro Mart 270 331 Micro Mike's 201 318 Microsette 270 * Microsoft 171 330 Micro Source 169 320 Microware 203 319 The Micro Works 90 Micro World Electronix 274 333 Mikos 283 327 Mini Computer Suppliers Inc 115 328 Morrow/Thinker Toys 1 5 329 Mountain Hardware 137 321 Mountain Hardware 224 mpi 236 340 Nano Metric System Inc 235 350 Nat'l Small Computer Show 77 351 NEECO 144 335 NEECO 145 - 352 Netronics Research 239 353 New England Recruiters 274 357 Newman Computer Exchange 265 364 North Star Computer 57 356 NRI Schools (Electronics Div), 65 99 Ohio Micro Systems 149 359 OK Machine & Tool 71 360 Oliver Advanced Engineering 2 1 6 363 onComputing 17 262 On Line 270 361 Osborne & Associates 193 366 OSI CIV, 23 368 Owens & Associates 216 364 Pacific Office Systems 279 365 Page Digital 275 371 PAI A Electronics Inc 21 1 374 Payne, Jackson & Associates 181 380 Per Com Data 54, 55 " Personal Software Inc 162, 163, 274 381 'P. S.' 209, 274 379 Pickles & Trout 213 383 Podosoft 248 386 Priority I 271, 272, 273 9 Processor Technology 18, 19 385 Quest Electronics 263 384 RACET Computes 197 387 Radio Shack Authorized Sales Center 274 388 RCA 59 389 The Recreational Programmer 274 390 Research Machines 213 RNB Enterprises 214, 215 391 Rothenberg Information Systems 220 400 S-100lnc226 401 St Jude 1 74 Howard E Sams (Div ITT Publishing) 1 95 S C Digital 21 1 Scelbi Computer Consulting Inc 232 Scientific Research 89 Seattle Computer Products 237 Semionics 243 Michael Shrayer Software 173 Shugart 6, 7 Small Business Computers Magazine 199 Ed Smith's Software Works 1 99 Smoke Signal Broadcasting 29 Softape 53 Software 80 191 Software Development & Training Inc 217 Solid State Sales 256 Southwest Technical Products Corp Cll Speakeasy VitaFacts 1 26 SSM 63 Stirling Bekdorf 1 86 Structured Systems Group Clll Sub Logic 256 Sunny International 287 Sybex Inc 1 65 Synchro Sound 95 Synergetics 209 Tarbell Electronics 85 Technical Systems Consultants 81 Telesensory Systems 222 Terminal Data 274 Texas Instruments 241 3/M Company 39 3 S Sales Inc 179 3 S Sales Inc 284 Tora System Limited 274 TransNet Corp 212 Ucatan 270 University Micro Films 147 US Robotics 240 Vamp 215 Vector Graphic Inc 107 Video World 217 Vista Computer Co 261 V M Professional Applications 274 VR Data 278 Wameco 283 Western Digital Corp 20 Wintek 248 World Power Systems 21, 73, 97, 111, 125, 129 Worldwide Electronics 270 Xitex 204 Xitex 205 *Correspond directly with company. ecMe- GYTE's Ongoing Monitor Box Article No. ARTICLE 1 Johnston: Computer Generated Maps 2 Blum: Representing Three-Dimensional Objects in Your Computer 3 Ciarcia: Communicate on a Light Beam 4 Morgan: The Superboard II 5 Haas: Single Chip Video Controller 6 Halsema: Bubble Memories 7 Lentz: 6800 Disassembler 8 Beard: Spacewar in Tiny BASIC 9 Tennant: The Intel 8275 CRT Controller 10 Smith: Smart Memory 1 1 Maurer: Simultaneous Input and Output for Your 8080 12 Gorney: Queuing Theory 13 Ball: Trigonometry in Two Easy Black Boxes 14 Hinrichs: Tic-Tac-Toe: A Programming Exercise 15 Stirling: The Hobby Unwrap 16 Teja, Gonnella: A Mini-Disassembler for the 2650 17 Pfeiffer: Aids for Hand Assembling Programs 288 May 1979 © BYTE Publications Inc PAGE 10 14 32 50 52 102 104 110 130 150 164 176 184 196 218 233 238 Video Out in Front Voting on the February 1979 BOMB card was rather close. The first and second place winners placed 8.75 and 8.46 points above the standard deviation. The third and fourth place articles were 7.38 and 7.09 points above the standard deviation. In first place was Timothy Loos for his short hardware article entitled "Use a Tele- vision Set as a Video Monitor." In second place was John Giacomo for his "Stepping Motor Primer." These authors will receive $100 and $50 respectively. Placing third was "A Microprocessor for the Revolution," by Terry Ritter and Joel Boney followed closely by Steve Ciarcia's "Build a Computer Controlled Security System." SSG's general accounting, data inquiry, mailing, and communications software packages are bringing real computer power to hundreds of businesses right now. They are ready to go to work for your business. The Honest-To-Business $12,000 Computer Our software will power DYNABYTE, CROMEMCO, IMSAI, NORTHSTAR, ALTOS, MICROMATION, DIGITAL SYSTEMS, or other Z-80 or 8080 based computers through your General Ledger, Accounts Receivable, and Accounts Payable. And maintain a conversational data-base query system, store and print your mailing list and labels, produce and edit correspondence, address it from your mailing list, and more. The price for a total system— hardware and SSG software— ranges from $8,000 to $14,000. Real Business Computing Our Business Software packages are designed to be up and running and working for you in a matter of hours. Without expensive reprogramming, technical staff addi- tions, or costly trial-and-error. Our quality is high, our documentation practically self-instructive. The applica- tions are flexible and extensive, designed to meet and exceed the requirements of most small to medium busi- nesses. Real computer solutions at microcomputer prices. Some Pleasant Surprises Your computer retailer can give you a demonstration and literature. You might find a solution just right for your business with "off the shelf" prices and delivery times. Or we will be happy to send you literature direct, including a list of our dealers and compatible hardware. Write us, or call The SSG product line includes these outstanding packages: General Ledger LETTERIGHT Letter Writer Accounts Receivable NAD Mailing System Accounts Payable QSORT Sorting System CBASIC-2 WHATSIT? Data/Query System Structured Systems Group INCORPORATED 5204 Claremont Oakland, California 94618 (415)547-1567 # Complete prices will vary with equipment and software selected. Required: 8080 or 2-80 based computer running a CP/M or CP/M-compatible disk-based operating system. Your retailer or SSG can advise on specifics. (CP/M is a product of Digital Research.) Circle 353 on inquiry card. The Microcomputers you should take seriously. The C3 Series is the microcomputer family with the hardware features, high level software and application programs that serious users in business and in- dustry demand from a computer system, no matter what its size. Since its introduction in August, 1977, the C3 has become one of the most suc- cessful mircocomputer systems in small business, educational and industrial development applications. Thousands of C3's have been delivered and today hun- dreds of demonstrator units are set up at systems dealers around the country. Now the C3 systems offer features which make their performance com- parable with today's most powerful mini- based systems. Some of these features are: Three processors today, more tomorrow. The C3 Series is the only computer system with the three most popular pro- cessors— the 6502A, 68B00 and Z-80. This allows you to take maximum advan- tage of the Ohio Scientific software library and the tremendous number of programs offered by independent sup- pliers and publishers. And all C3's have provisions for the next generation of 16 bit micros via their 16 bit data BUS, 20 address bits, and unused processor select codes. This means you'll be able to plug a CPU expander card with two or more 16 bit micros right in to your ex- isting C3 computer. Systems Software for three processors. Five DOS options including develop- ment, end user, and virtual data file single user systems, real time, time share, and networkable multi-user systems. The three most popular computer languages including three types of BASIC Circle 290 on inquiry card plus FORTRAN and COBOL with more languages on the way. And, of course, complete assembler, editor, debugger and run time packages lor each of the system's microprocessors. Applications Software for Small Business Users. Ready made factory supported small business software including Accounts Receivable, Payables. Cash Receipts. Disbursements, General Ledger, Balance Sheet, P & L Statements. Payroll, Per- sonnel files. Inventory and Order Entry as stand alone packages or integrated systems. A complete word processor system with full editing and output for- matting including justification, propor- tional spacing and hyphenation that can compete directly with dedicated word processor systems. There are specialized applications packages for specific businesses, plus the vast general library of standard BASIC, FORTRAN and COBOL software. OS-DMS, the new software star. Ohio Scientific has developed a remarkable new Information Manage- ment system which provides end user The C3 Series from Ohio Scientific. C3-S1 intelligence far beyond what you would expect from even the most powerful mini- systems. Basically, it allows end users to store any collection of information under a Data Base Manager and then instantly obtain information, lists, reports, statistical analysis and even answers to conventional "English" questions perti- nent to information in the Data Base. OS-DMS allows many applications to be computerized without any programming! The new "GT" option heralds the new era of sub-microsecond microcomputers. Ohio Scientific now offers the 6502C microprocessor with 150 nanosecond main memory as the GT option on all C3 Series products. This system performs a memory to register ADD in 600 nanoseconds and a JUMP (65K byte range) in 900 nanoseconds. The system performs an average of 1.5 million in- structions per second executing typical end user applications software (and that's a mix of 8. 16 and 24 bit.instruc- tions!)- Mini-system Expansion Ability. C3 systems offer the greatest expan- sion capability in the microcomputer industry, including a full line of over 40 expansion accessories. The maximum configuration is 768K bytes RAM. tour 80 million byte Winchester hard disks. 16 communications ports, real time clock, line printer, word processing printer and numerous control interfaces Prices you have to take seriously. The C3 systems have phenomenal performance-to-cost ratios. The C3-S1 with 32K static RAM. dual 8" floppies. RS-232 port, BASIC and DOS has a sug- gested retail price of under $3600. 80 megabyte disk based systems start at under $12,000. Our OS-CP/M software package with BASIC FORTRAN and COBOL is only $600. The OS-DMS nucleus package has a suggested retail price of only $300. and other options are comparably priced. To get the full story on the C3 systems and what they can do for you. contact your local Ohio Scientific dealer or call the factory at (216) 562-3101. C3-B wins Award ol Merit at WESCON 78 as the outstanding microcomputer application lor "mall Business