ISSUE =2 OCTOBER 1975

$1.50 the small systems journal

li.111',.,1,:4410.1'. '

7121F7. ): * Build a

;;* GRAPHICS DISPLAY

31 3 3 a '3.

'illrV/tbtriPert !!!il * TELEVISION INTERFACE

* NOVAL ASSEMBLER L.NC,

,,,tit,711141/1/10141:1 IL lire* I * KLUGE HARP: Music? i ,(r(1111111)11ilillifiiiit111411,117//ill.

'4^ iv 1 * LIFE Line: Game

',Iwo-- . r, J I 7.1'

1111111111111111111ifilli1i1fijaw,

. TI:111: Jflít - ,1.14111111116iiii"*. v The World's Greatest Toy!

jr:,'1

4111 I,

,....{ps !_

t ill UJ Iii aft Ili i lin it Ei.Ti!' ... "",... CT -1024 TERMINAL SYSTEM

When we designed the CT -1024 we of Frame functions. These may be want to connect it to the knew that there were many applica- operated by pushbutton switches, or with a parallel interface system. A di- tions for an inexpensive TV display uncommitted keyswitches on your key- rect parallel interface allows for much terminal system. Even so, we have board. Although not essential to ter- faster data transmission and reception been surprised at the many additional minal operation, these features can he and is basically a simpler device than a uses that have been suggested by our very helpful in some applications. serial interface system. Our parallel customer in the last four months since CT -M MANUAL CURSOR CONTROL interface circuit contains the necessary we introduced this kit. KIT $11.50 ppd tristate buffers to drive either a separ- ate transmitt and receive bus system, or The basic kit, consisting of the charac- a bidirectional data bus system. TTL ter generator, sync and timing circuits, If you plan to use your terminal with a logic levels are standard on this inter- cursor and 1024 memory gives telephone line modem, or any other face. Switch selection of either full, or you everything you need to put a six- system that requries a serial data out- half duplex operation is provided- The teen line message on the screen of any put; you will need our serial interface terminal may write directly to the TV monitor, or standard set with a (UART) plug -in circuit. This circuit screen, or the computer may "echo" video input jack added to it. Input converts the ASCII code from a par- the message and write to the screen. information to the CT -1024 may be allel to a serial form and adds "Start" any ASCII coded source having TTL and "Stop" bits to each character. The CT -L PARALLEL INTERFACE logic levels. Two pages of memory for standard transmission rate for this KIT $22.95 ppd a total of up to one thousand and circuit is 110 Baud, but optional rates We would be happy send a - twenty four characters may be stored of 150, 300, 600 and 1200 Baud may to you corn plete data describing at a time. The CT -1024 automatically be obtained by adding additional parts package the CT- switches from page one to page two to the board. The output of this cir- 1024 and a achematic. If you want this and back when you reach the bottom cuit is an RS -232 type interface and additional information, circle our num- of the screen. A manual page selector may be used to drive any type modem, ber shown below on your reader infor- switch is also provided. The main board or coupler system using this standard mation service card. The CT -1024 kit is 91/2 x 12 inches. It has space pro- interface. has complete assembly instructions vided to allow up to four accessory with parts location diagrams and step - CT -S SERIAL INTERFACE (UART) by -step wiring instructions. If you circuits to be plugged in. If you want a KIT $39.95 ppd display for advertising, a teaching aid, would like to check the instruction or a communication system then our manual before you purchase the kit, If you are using the CT -1024 as an 10 basis kit and a suitable power supply please return the coupon with $1.00 (input - output) device on own is all you will need. your and we will rush you the manual and computer system, you will probably the additional data mentioned above. CT -1 TERMINAL SYSTEM with MEMORY KIT $175.00 ppd Power supply kit to provide + 5 Volts @ MAIL THIS COUPON TODAY 2.0 Amps and - 5 Volts, -12 Volts @ 100 Ma. required by the CT -1 basic display Enclosed is $ or Master Charge # system. CT -P POWER SUPPLY KIT $15.50 ppcl or BankAmericard # Card Expiration Date

A very nice convenience feature at a CT -1024 Kit CT -M Cursor Control Kit very reasonable cost is our manual cur- CT -S Serial Interface Kit CT -L Parallel Interface Kit sor control plug -in circuit. The basic NAME kit allows you to erase a frame and to ADDRESS bring the cursor to the upper left cor- CITY STATE ZIP ner (home up). By adding this plug -in, you can get Up, Down, Left, Right, $1.00 Enclosed send manual and data package Erase to End of Line and Erase to End Southwest Technical Products Corp., Box 32040, San Antonio, Texas 78284 In the Queue 847E #2 OCTOBER 1975 Foreground

ADD A KLUGE HARP TO YOUR COMPUTER 14 ' r y¿ili'.":7:1_ Fun and Games - Carl Helmers LIFE Line 2 34 Software - Carl Helmers p. 14 A QUICK TEST OF KEYBOARDS 43 Hardware - Walters ADD A STACK TO YOUR 8008 52 JE Hardware - Chamberlin SITS A NOVAL ASSEMBLER FOR THE 8008 64

ENT Software - Peter Helmers IVE EA ASYNCHRONITIS 68 LIVE CELL p. 34 Hardware - Bancroft BUILD A GRAPHICS INTERFACE 70 Hardware - Hogenson

Background

TELEVISION INTERFACE 20 Hardware - Lancaster p. 52 MODULAR CONSTRUCTION 46 Hardware - Walters BUCK ROGERS AND THE 58 ARTHUR INFORMATION Pi Speculation - Gardner HIGH YOALrt IN/OAMAT1ON l AT AfAlOIAOIE Nli Nucleus p. 58 Speaking of Computers 5 BYTE magazine is published monthly by Green Publishing, Letters 8 Inc., Peterborough, New Hampshire 0 3 4 5 8. Clubs and Newsletters 12 Subscription rates are $12 for one year worldwide. Two years, $22. Three years, $30. A Word From the Publisher 61 Second class postage application pending al Book Reviews 82 - - Peterborough, New Hampshire ....,.. -{_ .r 03458 and at additional Bits and Pieces 84 mailing offices. Phone: 603.924 -3873. Entire contents Reader's Service 96 copyright 1975 by Green p. 70 Publishing, Inc., Peterborough, NH 03458. Address editorial The BYTE Questionnaire 96 correspondence to Editor, BYTE, Box 378, Belmont 111A 021 78. The Sphere System... Tomorrow's Computer Today!!!

IT WILL give you a competitive edge in many new micro- computer professions. IT WILL do your payroll and inventory for less than ANY competitor. IT WILL speed education in computer science using stand alone or disk basic. IT WILL monitor and protect your home or business when you can't. IT WILL maintain your mailing list, balance your checkbook, or edit your resu mé. IT WILL present new challenges long after your kit assembly project has ended. IT WILL allow you to expand to the largest set of peripherals and software available in today's low cost computer market. AND... IT WON'T BREAK YOUR BANK !!!

MORE Are you? send info to a an educator STAMP a hobbyist HERE n an OEM ... QTY /YR looking for product to ZIP sell.

What is your application SPHERE CORP. 791 South 500 West Bountiful, Utah 84010

cut here cut here

Clip out and mail coupon or call (801) 292 -8466

Before After KITS Sept. 30 Sept. 30

SYS 1 4K Byte computer with TV terminal, $ 650 $ 860 keyboard, and ROM monitor

SYS 2 4K Byte computer with TV terminal, 750 999 keyboard, ROM monitor, and audio cassette interface.

SYS 3 20K Byte computer with TV terminal, 1345 1765 keyboard, ROM monitor, audio cassette interface, and extended basic programming language.

NEW FEATURES

PEN Light pen kit for CRT board 80 100

BAS 1K micro -basic prom set (a modified basic language that makes your computer talk basic without loading from cassette) 90 140

RAC 2 Attractive plastic chassis with CRT display and acoustic coupler. 270 300

791 South 500 [West. Bountiful, Utah 84010 (801) 292 -8466

4 Carl Helmers Functional Specifications Editorial ' The Home Brew Voder"

the "ship's computer" give the 5 unused bits of the status reports aurally to make typical speech value word the game more exciting - could be used to control 5 perhaps coupling in a few additional bells and whistles. A whole line of home bells and whistles (literally) in The software of the computer experimentation the form of special purpose application is in two can be started by the person synthesizers of photon segments. There is the who designs - and writes up torpedo, phaser, transporter machine -independent data as an article for BYTE - a speech elements, say 100 and other sound effects table which specifies the basic simple and practical circuit to basic sounds, the data Trekkies know and love. phoneme information - and generate speech output from requirement is thus 3900 Then there is the ultimate the rules for combination phoneme codes in a program. - well within the application - making a higher into understandable words. The output problem in digital memory budgets of many grade voice synthesizer which Then there is the machine - speech representation BYTE readers' systems. The can sing, literally, so your dependent programmed techniques is well within the thruput required to output machine can play vocal "talker" routine which range of a the voice bytes is also well music. accepts an "n- byte" character system and inexpensive within a micro's capacity - How can such audio string with phoneme codes digital to analog conversion 1000 microseconds is a lot of peripherals be brought into and synthesizes the phonemes methods (such as the time to fool around with. It's existence? One way is one by one from the data

Motorola 6 -bit el cheapo even long enough for a through the encouragement I table by outputting the MC1406 DACs). tortoise of a computer like can give by publishing articles selected series of 3 -bit codes Consider, for instance, a the 8008 to do enough bit on various approaches - the in real time. In a design brute force technique in diddling to prepare a design articles of readers article, "talker" would be which the voice info is command code for a 3 -bit which make BYTE an specified functionally in a encoded as 3 -bit (eight level) DAC port. essential publication for the high level language along with quantities which are sent out Now, what's all the home computer a global flow chart, and the at a rate of once every purpose to the home voder? experimenter. A second way phoneme data information millisecond for conversion. Well, if you can't think of a is for the various would be specified as a table (Rate: 3000 bits per second.) use for it, I'll supply a couple entrepreneurial readers in the in hex and /or octal codes. So A typical voice "phoneme of suggestions. Wouldn't it be audience to take a cue from here you have the idea - let's string" in the micro's neat to put up a home this little essay and get see what BYTE readers can memory would specify data security system using your working on packaged come up with in the way of for maybe 100 milliseconds. micro in which the burglar products in the audio output articles on the subject. This would require a total of gets scared out of his wits by line which the majority of 100 data values or 300 bits, a threat issued in a readers will be able to put stored in a packed bit string computereeze voice while together and program. (Oh yes, one parenthetical format in 38 bytes plus one lights are flashing and other The essential elements of note - the proof of the overhead byte for string ominous things are the inexpensive voice putting is in the speaking. length. If one considers a happening? Or in the area of synthesizer are the familiar Prospective voder designers reasonable vocabulary of gamesmanship - when the hardware and software should send along a tape game program gets erroneous combination: The hardware recording of their design in input, have your program part is the n -bit (3 will do) operation - preferably issue the text of the message DAC output port (and latch) speaking the first two lines of "foul!" Or, getting less which converts internal codes Lewis Carroll's poem exotic, simply make yourself into one of 8 voltage levels. "Jabberwocky," the universal a which will The DAC in turn will drive an test string:) literally read out the answers active low pass filter (op to your problems as well as amp) and a power amplifier show them on an output for the speaker. If you get screen. Getting exotic again, fancy, a second DAC could suppose you make a Star be used as a gain control Trek oriented space war output (with an appropriate game. You really should have 8 -bit latch for storage) - and

5 A Need in Search of a Product

duplication stencils - the blue ink smeary reproduction that was in vogue for high schools and grade schools Have you ever run a before Xerox and its business, newsletter or club imitators became so which requires periodic widespread. A Sears version mailing of information? Have of this system, per their you ever tried to maintain a office products catalog, costs mailing list? The purpose of from about $70 upwards. this short essay is to identify Similar units run up to the technology which can be an opportunity which exists range of about $200 to $300 assembled by any of BYTE's for the entrepreneurial and address master blanks for more experienced readers is a persons in BYTE's readership the "Elliott" system cost hardware /software system - the opportunity to create about a dime each. This type consisting of the following and market a specialized of system has a higher degree items: mailing information system of automation (retyping of 1. (8 -bit) using contemporary names is much less frequent) with 1024 bytes RAM, 2048 technology in the form of - but still involves a costly to 4096 bytes ROM program, and "use- only -once" part, the three serial ports, one 8-bit automatic sequence checking inexpensive peripherals. Here stencil. parallel output and one 8-bit to maintain a sorted sequence is what you have to compete parallel input. on the files. against in the general market Addressograph -Multigrap h 2. Adding machine tape 6. Update /Merge program - the free market of all the The next step up in cost - ASCII printer - accepts - software for "batch" possible solutions to the a much more permanent parallel output and prints it changes to the file, in which a problems of mailing labels. system for large usage - is as characters on rolls of tape. previously prepared (and the Addressograph- 3. ASCII input keyboard sequenced) update tape is Multipart Carbon Forms Multigraph type of system - parallel input of text and merged with an old tape to My old standby in the which uses metal plates commands. create a new output tape. mailing list area is the prepared in advance. These 4. Triple audio cassette 7. Print program - multipart carbon form which systems have a much longer interface capable of two software to print the file - is manufactured by Dennison lasting and more expensive input operations and one either as an unconditional among others. These forms label master blank - and output operation dump of all labels, or a hold 33 names per sheet and minimal systems can be had simultaneously. selective dump such as "every come with four parts to in the $800 range and up. 5. Edit /Merge program - nth name" or "names with reduce typing and retyping of The system involved is software for editing of zips 07932 to 07860." names. They come with water essentially the same as the "current label" records held 8. A Percy Wing Machine. base glue backing and are duplicator style systems - in RAM, using the keyboard This is a hand -operated gizmo perforated - but the main but more costly, due to for commands and text input, which costs about $100 and problem is typing. The 33 fancier equipment, some using the printer for output. is used to automatically apply name per sheet figure only automation of envelope Allow optional input from labels from the roll of holds if you don't make any handling and longer lasting one tape port, output to a printout - slicing each label typing errors! The degree of media. There is still no second tape port, with off the roll and automatically automation of this system is automation of the typing and applying it with glue to the usually zero, unless you have related information handling. mailing piece. a power typewriter and are Here is where the new Put together a packaged using the carbon forms to computer systems will begin product based on these ideas, save output. Cost is also low to effectively compete. and it could most likely be - paid for in typing time of sold in the $1500 to $ 2000 The Hypothetical Small course - at about $2 to $3 range, supplying a nice profit Computer Addressing System for a package of ten. No margin and a product which competition - labor A "trivial" application of competes effectively with the intensive. the microprocessor Addressograph- Multigraph "systems," yet provides Spirit Duplicator Methods automatic features and a The next step up in the much more compact storage world of office automation is method (cassette tape) for a system involving spirit lists of moderate size.

6 'RIGS ELECTRONIICS1

DISCOUNTS: 10% OFF ORDERS OVER $25.00; 20% OFF ORDERS OVER $250.00.

SPECIAL ANOTHER POWER SUPPLY ... PS 25 -1 0 to 25v 1a lab type power supply with adjustable current 1 -8008 550 limiting; remote sensing & remote programming for voltage & current. Insturctions included. All parts except chassis, meter(s), p.c. board. 8 -2102 Kit of parts with schematics. $14.95 P.C. boards available, No. 007 $3.00 ea.

2K RAM BOARD KIT. ALL PARTS INCL. SOCKETS $84.50

ICs

8008 MICROCOMP. CHIP$30.95 2102 1K STATIC RAM 3.00 5203 256x8 PROM 15.00 5204 512x8 PROM 25.00 008A MICROCOMPUTER KIT INFO ON ABOVE CHIPS IF 8008 CPU, 1024 x 8 memory; memory is expand - ASKED FOR. ablE. Kit includes manual with schematic, program- ming instructions and suggestions; all ICs and parts supplied except cabinet, fuses & hardware. Includes p. c. boards. $375.00 MANUAL ONLY, $25.00 (no discount on manual) ORDERS OF $50 OR MORE GET FREE BYTE 008A -K ASCII keyboard input kit. $135.00 SUBSCRIPTION IF ASKED FOR (CONTINENTAL U.S. 008A -C Audio cassette adapter kit. $100.00 ONLY). Details on computer, peripheral kits in our flyer.

RGS ELECTRONICS 3650 Charles St., Suite K Santa Clara, CA 95050 (408) 247 -0158

We sell many ICs and components not listed in this ad. Send a stamp for our free flyer. TERMS OF SALE: All orders prepaid; we pay postage. S1.00 handling charge on orders under .10.00. California residents please include sales tax. Please include name, address and zip code on all orders and flyer requests. Prices subject to change without notice.

7 other factors. The simplest solution to this problem approach, with the least either to you privately or for amount of money and the publication.) least amount of computer In order to program the technology "learning" typical three space navigation experience is to simply go out problem, assuming well and buy one of the new determined static orbital HP-25 . You'll find elements, the following items it quite capable of solutions are required: to u large number of I. A computer with numerical analysis problems software for SIN, COS, TAN for engineering - although and A RCTA N trig functions unit sphere for a known it's adequate for extensive (you can get this set from an latitude, longitude and time. linear algebra and matrix data interface calculator chip). This is the right ascension and calculation. My associate 2. Vector-matrix algebra declination of un optical "IT'S ALL IN THE Chris Bancroft has been using for three -space. telescope or equivalent terns EPHEMERIS ... " the slightly more powerful Since you are talking about for your radio antenna. HP -65 for more than a year static orbits (no active The place to look for Dear Mr. Helmers, now to arrive at exact control altering parameters), detailed information is an

I have sent in a analytical (and very you don't need much in the advanced undergraduate or subscription order for BYTE. predictive) solutions to nature of the more advanced graduate level book on It seems to be what I'm engineering problems in error correcting algorithms. classical mechanics, looking for. Already I have applied electronics - and the 3. A floating point spacecraft navigation or been looking at surplus ads HP-25 should be able to arithmetic package to go astronomy if you want to tor CPUs with an eye to perform similarly on many along with the computational find info on the calculations. making my own digital problems. But a pre-packaged requirements of #1 and #2. One possible source of computer though "simple calculator may be "no fun " - This should probably include information, mentioned to minded" it would probably and certainly is not useful for data conversions to integer me by Bob Baker of have to be. anything other than and character string forms for Littleton, Mass., is a radio Among other things, I am calculation. Further, the convenience of programming. amateur organization called a ham and a consulting programming of a really 4. An orbital model which the Amateur Satellite

engineer for EBASCO. What I complicated satellite position uses a given set of ephemeris Corporation - AMSA T, Box have in mind is to have algorithm (e.g., adding in information at some time "t" 27, Washington DC 20044. available a programmable second and third order Bob tells me that their computer to solve filter perturbations of the earth's newsletter frequently design problems (and gravitational potential) may mentions computational antenna /feedline impedance be beyond the range of a algorithms for the OSCAR problems parametrically). simple hand calculator amateur radio satellite - However - as a first without multiple mental algorithms which could be question: Do you think it overlays. adapted to any satellite may be in the realm of a The problem of simple orbital elements. Another "non- computer expert" to celestial mechanics possible source of make a home built computer computation is well within information is the HP-65 solve weather satellite orbits the range of a small home Users Club run by Richard and read out azimuth and microcomputer system which Nelson -in scanning through elevation information for contains perhaps 4k bytes (or his back issues recently I saw

tracking purposes? I can feed equivalent) and the facility to several listings of names of in very accurate time do overlay programming programs sounding

information. I don't know using at least one audio suspiciously like what you yet how to get from "here" cassette drive. In order to do want, e.g., "Orbital Element to "there." this kind of calculation, Determination" and the like. Users W. J. Byron however, i am making the (HP -65 Club, 2547 West Camden PI., Suntu Ana New York NY following assumption: you already have the analytical CA 92704.) While by no solution to the problem in and calculates new satellite means a complete design, I the form of an algorithm position at time "t -% At" hope this information proves You have an interesting specification. (In case you later. (The "now" position.) useful to you. question ... For the first don't, maybe a reader with a 5. An output model which ... CARL portion, how to solve the bent for applied celestial uses various coordinate analytical equations of mechanics, coordinate transformations to turn the engineering, there is a range transformation problems and "now" position in of solutions depending upon numerical integration might `geocentric coordinates" into your purposes, budget und be so kind as to supply a an apparent position on the

8 EVOLUTION publishing operation l have I invite you or any reader NOT EROSION joined - and it will be the who thinks he or she is element which makes the getting a bad deal on the reputation for the magazine magazine to write me as a source ideas Dear Mr. Helmers, of and fun. connection with the M. P. personally at any time. I won't promise to publish all I am a subscriber to ECS .CARL Publishing Co. operation I such letters yours, Mr. magazine and was a little was running in my spare time - Southard, is published by uneasy to receive the until BYTE started - one of distinction of being the first announcement of its "BILL ME" the first such items was a but will endeavor to transformation into "BYTE ". condition of the arrangement - I made Green answer each one personally. I hope this is an evolutionary Dear Sir: I with Publishing As to technical content, development, and not an that all ECS subscribers should be picked up by you can peruse the first issue, erosion into the murkiness of Yes, I'll byte, but I think BYTE on a two issues one then make a judgment. I will total commercialism. I have I've been taken. I was a for endeavor to produce the best very much enjoyed and subscriber of ECS and was basis. Thus since your ECS possible magazine by benefited from ECS. told that subscription was subscription of $21 was selecting the best possible Thanks for the help, and okay for the charter BYTE fulfilled by mailings of 10 articles. I am about to issues; the remaining two ECS not good luck in your new publication; I guess that ignore the biggest venture. promise ... and ten bucks issues become four BYTE multiprocessor system of Duane L. Gustavus can also buy a year's issues. Adding to that your them all - the human race Denton TX subscription. I've been bit inadvertent resubscription ... all the people in the (for more than the ten bucks) gives a total of 16 BYTES.. . readership of BYTE who will by others feeding off the OK, you say, "he promises be coming up with ideas for crumbs of micro machine 16 BYTES - will I get I think I can sympathize articles and submitting them with uneasiness about data, so can't begrudge you them ?" You can best evaluate your will set the level of much of yours. that after you've gotten ECS Magazine's the material available for I am eternally hopeful for BYTE #16 The aim of BYTE transformation into BYTE. publication. If you don't like BYTE, but not optimistic. I magazine is -as is the aim of Yes, it is indeed an my personal work, kindly have been a ham for a long the large corporation for evolutionary transition, in give me the courtesy of several respects. First, if you time (23 years), and Mr. which you work - to turn a look in the first issue you will Green is not my favorite; also reasonable profit in the long run and provide enduring and find a much larger and more I didn't think Mr. Helmer's satisfying for those varied editorial content than I ECS info was very good. I work was ever able to achieve in agree, however, that there connected with the the course of preparing my "sure is a need for a good enterprise. It can only do so self-published 24-page photo magazine," so hope BYTE by providing good service to offset magazine. Second, by can serve that need. Let's its customers - the readers who providing a place for hope it's better than 73. and advertisers patronize magazine. BYTE is very commerce - a free market - Please bill me for the lousy the a phenomenon, it serves as a unifying element sawbuck. much market and unless in the whole sphere of the C. Southard WAQIOT cannot exist it a readership computer hobby endeavor. Cedar Rapids IA maintains of Throughout history, it is the intelligent and active persons market place which has such as yourself. If BYTE sustained the progress in I am printing your letter in were to consistently turn you well as others on a ideas, and technology which BYTE for a reason, a matter off -as stating why - I know that has brought the human race of principle if you will: I am large scale - wed be heading the ECS Series articles I from crude wheels to $20 personally responsible for the into bankruptcy faster than a previously put out had many bus -oriented microcomputers. editorial content of BYTE Penn Central express train flaws. I have heard some good be running. Third, there is the element of magazine, and have my should and some bad evaluations of ECS Series ECS professionalism in format and reputation on the line as a the and execution. BYTE is being put result. I believe that after you Magazine items. together by a fine have read your first issue of I will not however disown organization of craftspeople BYTE you will find it well anything I have done - and who take pride in the work worth a $10 which you had that series of self- published which results. Sure, the no reason to send in at this articles is my product with all magazine is commercial and time other than (perhaps) a its flaws and imperfections. If has advertisements - but negative attitude and a you wish to exercise the then, don't you work for promotional circular which moneyback guarantee, let me yourself, some employer, or came your way as a result of know . .. and send back your other agency? This pride in one of our mailing lists. I copies to fulfill your part of the quality and value of work have a number of items of the exchange. extends throughout the unfinished business in ...CARL

9 WHAT SINGLE ELECTRONIC MACHINE CAN BE USED TO PERFORM /CONTROL ALL THE FOLLOWING TYPES OF SERVICES?

Send morse code Control repeater stations Operate as a calculator Receive /send /buffer data between a wide variety of communication devices Monitor instruments Control machines Sort /compile data Test other devices Play games the SCELBI-8B MINICOMPUTER CAN !

SCELBI COMPUTER CONSULTING, INC. - The company that pioneered in producing the small computer for the individual user with the popular SCELBI -8H, now brings you the new SCELBI -8B with increased capability!

Like the former SCE LBI -8H, the SCE LB I -8B is built around the amazing '8 0 0 8' "CPU -on -a- Chip" which has been revolutionizing the electronics world.

However, the NEW SCELBI -8B offers extended memory capability at reduced cost! It is directly expandable to 16,384 words of RAM /ROM /PROM memory. This increased memory capability now means the user has the potential in a small and compact computer to support compiler type languages, manipulate sizable data bases for business and scientific applications, and support a wide variety of programs including those that take advantage of external mass memory storage devices. The NEW SCELBI -8B still retains the outstanding features of its predecessor. Decoding logic for 8 Output and 6 Input Ports is built into the basic computer. Plug -in capability for I/O devices is provided on the chassis. A unique, simple to operate console that utilizes just 11 switches on the front panel makes the SCELBI -8B a pleasure to use. The NEW SCELBI -8B is backed by a line of low cost SCELBI interfaces which currently include: an interface that turns an oscilloscope into an alphanumeric display system, low cost keyboard and TTY interfaces, and an interface that turns a low cost audio tape cassette into a "Mag- Tape" storage and retrieval unit. Last, but certainly not least, SCELBI has a wide selection of software ready to run on the NEW SCELBI -8B including: Editors, Assemblers, calculating programs, I/O and general utility routines. Additionally, SCELBI produces publications that can show you how to develop your own custom tailored programs. The NEW SCELBI -8B isavailableNOW. (We have been delivering since June!) It is available in three forms. Ultra -low cost "Unpopulated" card sets with chassis kits starting at $259.00 *. Complete parts kits for a 1,024 word mini- computer as low as $499.00 *. An assembled and tested 4,096 word computer is just $849.00 *. Interfaces, accessories, and software sold separately.

( *Domestic prices.) (Prices, specifications and availability subject to change without notice) Literature available for S.A.S.E. SCUM (OMIIIIER 1322 REAR BOSTON POST ROAD (ONSI1lI1NG IN(. MILFORD, CONNECTICUT 06460

10 MACHINE LANGUAGE PROGRAMMING for tli-i4 18008 (AND SIMILAR MICROCOMPUTERS)

Written to provide you with the detailed knowledge you need to know in order to successfully develop your own MACHINE LANGUAGE PROGRAMS! This information packed publication discusses and provides numerous examples of algorithms and routines that can be immediately applied to practical problems. Coverage includes:

DETAILED PRESENTATION OF THE "8008" INSTRUCTION SET MATHEMATICAL OPERATIONS

FLOW CHARTING MAPPING MULTIPLE-PRECISION ARITHMETIC

EDITING AND ASSEMBLING DEBUGGING TIPS FLOATING-POINT PACKAGE

FUNDAMENTAL PROGRAMMING TECHNIQUES MAXIMIZING MEMORY UTILIZATION

LOOPS, COUNTERS, POINTERS, MASKS I/O PROGRAMMING REAL -TIME PROGRAMMING

ORGANIZING TABLES SEARCH AND SORT ROUTINES PROGRAMMING FOR "PROMS"

CREATIVE PROGRAMMING CONCEPTS

Virtually all techniques and routines illustrated also applicable to '8080' and similar types of micro /minicomputers, with appropriate machine code substitution. Orders now being accepted for immediate delivery at the LOW price of just $19.95.* Add $3.00 if PRIORITY mailing service desired. ( *Domestic prices.) Pricing, specifications, and availability subject to change Order direct from - without notice.

ICEEB1 COMPLIER 1322 REAR BOSTON POST ROAD COMMIXING INC. MILFORD CONNECTICUT 06460

-fed, I enclose $19.95. Send me a postpaid copy of: --- MACHINE LANGUAGE PROGRAMMING for the '8008' (and similar microcomputers)

Please send my copy by Priority Mail. I enclose $3.00 extra. Charge it to my Mastercharge Card # Bank # Exp. Date Date Card Holders Signature

Ship to: NAME:

ADDRESS: ZIP-

11 Notes from the Garden State via the Goethels Bridge

Clubs creative computirad ACSNJ's second meeting was held at the Union County Technical Institute on July 18, 1975. The meeting was Newsletters presided over by Bohdan in the absence of Sol Libes. Thirty hobbyists showed up LA Update including 8 new members. In deference to Stephen Gray, Thanks to the efforts of founder of the original ACS, Derek McColl, I've received a we are considering changing further update on the Los Creative Computing is the not satisfactorily address. In our name to the New Jersey Angeles club activities ... a name of a magazine which is particular, school users, both Amateur Computer Group very active bunch of people. edited and published by college and elementary/ (N J ACG). Derek sent me a copy of the David H. Ahl. The motto of secondary, need more Roger Amidon gave a the operation is "a classroom activities, exercises, Southern California non- profit presentation on the DART. Computer Society Interface magazine of educational and problems and ideas than are Marty Nichols held a Volume 1, #0 (do I detect available in - recreational computing." textbooks and discussion on the differences an algolmaniac at work ?) for other magazines. there Creative Computing is Also between 8008 and 8080 August. The motto in the published bi- monthly, printed ought to be a discussion of . Andy Vics heading line reads "an in a saddle- 81/2 the social aspect stitched by 11 of the talked about his experiences announcement for computer format (similar to BYTE) computer, its effect on jobs, with the construction and hobbyists designed to with 60 pages in a typical medical care, privacy and the operation of TVT 1 and TVT connect people and ideas issue. The is editorial content like. Furthermore, what 2. Wayne Ahlers showed us and it lives up to that ..." - heavily oriented toward about the user of non -DEC his octal keyboard built billing in its six pages of information useful computers? Clearly in an to be around PEs 12-74 low cost typewritten copy. educational context. David responsive to these needs . Literature The person who is Ahl was formerly the another vehicle was needed. and other information was handling the administrative Educational Thus Creative Computing was Marketing disseminated before and after details of SCCS for the time Manager at Digital Equipment born ..." the formal meeting. being is Hal Lashlee, who can Corp., where he was The various issues I have Later that night, a small be reached by phone at responsible for the creation seen to date include group visited Roger Amidon's 1- 213 -682 -3108, or by mail of DEC's EDU publication. numerous puzzles, BASIC site. In addition to his 16k at PO Box 987, South To quote from his editorial in games, and articles on Altair, TTY and magnetic and Pasadena CA. the March -April 1975 issue of computers, computer paper tape peripherals, Roger The following topics and Creative Computing: education and computer K2SMN also has a home brew concerns were drawn from "Over the years EDU careers. To order a RTTY controller which is the suggestion boxes of a flourished and grew into a subscription, send $8 for one affectionately named Spider. brief survey form handed out 48 -plus page magazine. year or $21 for three years to (If I can ever get a picture of to members at the first However there were certain Creative Computing, Box it, you'll understand why.) meeting of SCCS (and printed aspects of educational 789 -M, NJ Morristown The third meeting of the in Volume 1 #0 of Interface): computing which EDU could 07960. ... CARL NJACG will be held in Members would like to - September, not August, on see a computerized the third Friday, September clearinghouse for computer 19, 1975, at the Middlesex hobby information. County College. For more One purpose of the - INTERFACE information contact George organization should be Fischer, 1- 212- 351 -1751. mutual assistance with specific problems. - Hardware procurement by group purchases. - Standardization. Oklahoma City Club In Oklahoma City OK, Bill - The club might act as a Cowden brain pool for small business reports that he is needs. organizing a computer enthusiasts' club. - The usual club type Contact Bill at his home address, activities of social meetings, 2412 lectures, seminars, SW 45th, Oklahoma City OK 73119. workshops, public service, etc.

12 lar STOP fussin' and cussin' at soldering, heat sinks, short circuits and ruined compo- PaC hígh'pe nents. That's a DRAG ... when circuit build- ing should be FUN and components should be REUSABLE. Now you can plug in, power up and test your experimental circuits FAST, SAFELY and CONVENIENTLY (and reuse jírcU those components) with all the assurance and satisfaction of A P HIGH PERFOR- dellJ MANCE in every circuit -building device. TRY THEM AND SEE !

Super - Versati/eTM TERMINAL and DISTRIBUTION STRIPS to build your own breadboards

SQUARE HOLES for ROUND LEADS? RIGHT! For easy corn - ponent plug in, no soldering, better gripping and solid electri- cal contact. These beauties have matrices of universal plug in terminals on .10" centers for accepting all DIP's and discrete components with leads to .032" dia. Model 264L (shown) holds up to nine 14 -pin DIP's. Interconnect with any solid wire up to No. 20 A.W.G. NEW, integral, non -shorting, instant -mount backing permits quick build -up of custom breadboards using any mix of Model 212R A P terminal and distribution strips. Distribution Strip...$2.50 Superior, non -corrosive, nickel -silver Contains 2 continuous buses of 12 connected terminals. Other mode/s available. 4- tie -point terminals. Size: 6.5" by .35 ". Model 264L Terminal Strip...$12.50 Contains 128 5 -tie point terminals. Size: 6.5" by 1.36 ".

HIGH quality ... LOW cost... Assemb /e- it-yourse /f KIT... SAVE $$ A C E 2 0 0- K ALL -CIRCUIT EVALUATOR MORE SQUARE HOLES...728...count 'em. Same high -performance features as above! This handy breadboard kit offers excellent cir- cuit- building versatility. Holds up to eight 16- SAVES pin DIP's. Universal matrix of solderless, plug - ON KITS in tie points includes 136 separate 5- tie -point terminals and 2 distribution buses, each consist- Other models also available ing of 6 connected 4- tie -point terminals... typi- fully assembled cally for voltage and ground. Includes two 5- ACE Model way binding posts, 4 rubber feet. Aluminum 200 -K only $18.95 base, serving as ground, is gold- anodized for Board size: 4- 9/16" x 5- 9/16" surface protection. Assembles in 12 min. Complete instructions included

for FAR -OUT DIP TESTING... Super-Grip' IC TEST CLIPS No more shorting across DIP leads ... just clip on an IC TEST CLIP to bring DIP leads out for SAFE attachment of probes and other leads. Ideal for signal inputs, tracing, trouble- terminals in card racks (photo shows shooting, etc. Patented, precision, this unique feature). Engineered mech- "contact comb" design guarantees no anical clamping plus gold -plated phos- shorting between DIP leads. Probes phor bronze terminals provide superior can hang "no- hands" free on Test Clip electrical contact. Unequaled as a safe DIP- pulling tool, too!

Models to fit all DIP's: ORDER BY MODEL NUMBER TC -16 fits 16-pin DIP'S etc. We honor Add proper fees from this chart -1 SHIPPING/HANDLING C.O.D. Master Charge 6' Add sales tax on OH and CA orders. Uptos10.00 $1.00 s .70 TC -8.... $7.35 TC -20... 11.55 BankAmericard $10.01 to 525.00 1.50 80 (F.O.B. Painesville on company P.O.'s.) 25.01 to 50.00 2.00 .90 TC- 14.... 4.50 TC -22... 11.55 charge orders. Dealer inquiries invited. 50.01 to 100.00 2.50 1.00 TC- 16.... 4.75 TC -24... 13.85 TC -16 LSI 8.95 TC -28... 15.25 All products guaranteed to meet or exceed published specifications TC -18... 10.00 TC -36... 19.95 aP A P PRODUCTS INCORPORATED TC -40. .. 21.00 Box 110 -G 72 Corwin Drive Painesville, OH 44077 or phone 216/354 -2101 or Twx 810- 425 -2250 Add a Kluge Harp to Your Computer

One of the most Simplify the music problem The next problem (since interesting computer to one channel of melody, wasn't using the Motorola applications is that of and you can use a virtually ROM software) was to make electronic music. This is the bare CPU with a very simple a test program which could use of software /hardware peripheral to play music.* be loaded by hand. By systems to produce sequences The combination of the CPU combining a little of notes heard in a loud with this simple peripheral is imagination, my predilections speaker or recorded on what I call the "Kluge Harp" for computer music systems magnetic tape. The idea of -a quick and dirty electronic and an evening getting the generating music - if well music kluge. whole mess straightened out, done - is of necessity I invented this electronic the Kluge Harp resulted. complex. If I want to put my music kluge to answer a While the program and

favorite Mozart piano sonata specific problem: I had just schematic are specific to the into an electronic form, I'd gotten a new system I was using, the idea have to record a very large system's CPU, memory and can be applied to your own number of bits in order to control panel up and running. system just as well. completely specify the piece with all the artistic effects of The Kluge Harp Hardware expression, dynamics, etc ... The hardware of a Kluge The magnitude of the Harp is simplicity at its by ( *ALTAIR owners: Write an problem can be intimidating. essence. The peripheral is Carl Helnes 8080 version of this program and But, never let a hard problem your machine can do more than driven off two "un- used" Editor, BYTE get in the way of fun! blink its lights.) high order address lines (I used A14 and A13), and consists of a set -reset flip flop. A program running in the computer alternately will Fig. 1. The Kluge Harp Circuit .. minus computer. set and reset the flip flop by +5V referencing one or the other of two addresses. These 414 OF COMPUTER addresses are chosen so that 13 the address lines in question 7437 12 will change state, actuating i_ the set or reset side of the flip CLR SETLOC en Ir flop. A "note" at some pitch SPEAKER consists of a delay loop in the program followed by 7437 1J x 9 t instructions to change the 413 OF COMPUTER state the flip flop. Since L of OPTIONAL the same count is used for the i_ RESISTOR two halves of a complete CLR RESETLOC (10011 ) cycle of the note, this will produce a perfect square wave. The actual music program organization is a bit

14 Backplane Interconnections

' 'efi t. 'r*'' l. O Ci :111447.,

.

VIM UM t 10 16 0 ÌX i Y wO pal

1®:

2k x 8 RAM Control Panel CPU and Buffers (M6800) Speaker KLUGEHARP Peripheral Control Panel Interface

The Kluge Harp peripheral and the KLUGEHARP program were concocted in order to test out a Motorola 6800 system's operation. This photo shows a test bench mounting of the three main cards and control panel. The Kluge Harp peripheral, such as it is, is the single isolated wire wrap socket in the foreground, with wires dangling from connections on the CPU card.

more complex and is over and over again all the indicated by the length code column were determined described in detail below. lines of code down through just retrieved. The note using the prime number 137

Fig. 1 illustrates the the "END" at the same generation is accomplished by as an arbitrary starting point hardware as implemented in margin, found at line 17. This delaying a number of time and calculating the integer my system. The 7437 circuit is the main loop used to cycle units (CPU states) set by the closest to the result of the is used to form the NAND through the SCORE stored at pitch code found at following formula: gate flip flop. This flip flop in some point in memory as SCORE(NOTER), then turn drives a parallel pairs of note selection /length changing the state of the (In(137)+ n In(2)/12) combination of the two data bytes. output flip flop and repeating remaining 7437 gates, acting Lines 3 to 4 compute the the process. The loop at lines rn=e as a buffer. The output of "next" pointer to tho SCORE 8 -10 counts down the pitch this buffer is used to drive the - incrementing NOTER by 2. code and has a fixed delay Where e is the usual speaker; an 8 Ohm 5" speaker Then LNGTH is set equal to multiplied by the pitch code mathematical number 2.717 produced more than adequate the second byte of the to give the time for one half ... and the natural logarithm volume. (A 100 Ohm resistor current pair, SCORE cycle of the desired of x (base e) is indicated by in series will limit the volume ( NOTER +1 ). The length frequency. Lines 11 to 15 In(x). This is the standard level to spare the ear drums.) codes are taken from Table change the state of the Kluge mathematical calculation of the musical along with note codes when Harp output device (0 to 1, 1 "well tempered" Generating Music With you set up a SCORE, and to 0) - remembering in the scale - the 8 -bit Program Loops represent a fixed interval of software location IT what the approximation used by the Fig. 2 illustrates the basic time for the note in question, previous state was. Kluge Harp is not perfect by concept of the one- channel measured as the number of any means, but comes close music generator, expressed in cycles. Generating Codes enough for the purposes of a procedure- oriented language Line 6 begins a note length Table I is a reference table this project. for compactness. The main loop which extends to line of 21 notes "roughly" spaced The length count columns program loop begins at line 2 14. This "note length" loop at equal intervals on the well are determined based upon of the listing - "DO repeats the generation of the tempered scale. The integer the FOREVER" means repeat note a number of times numbers in the "divide ratio" generated code for this

15 Fig. 2. The KLUGEHARP program specified in a procedure-oriented computer language.

1 KLUGEHARP: PROGRAM; 2 DO FOREVER; 3 NOTER = NOTER + 2; 4 IF NOTER = NOTEND THEN NOTER = NOTESTART; 5 LNGTH = SCORE(NOTER +1); /* SECOND OF TWO BYTES */

6 DO FOR I = LNGTH TO 1 BY -1; 7 PITCH = SCORE(NOTER); /* FIRST OF TWO BYTES */

8 DO FOR J = PITCH TO 1 BY -1; 9 /* COUNT DOWN THE PITCH DELAY */ 10 END;

11 IT = IT + ( -127); /* SWITCH SIGN BIT OF IT */ 12 IF IT OTHEN 13 SETLOC = 0; /* SET FLIP FLOP WITH MEMORY REF */ 14 ELSE 15 RESETLOC = 0; /* RESET FLIP FLOP WITH REF */ 16 END; 17 END; 18 CLOSE KLUGEHARP; Data assumed by KLUGEHARP: NOTER: 16-bit (two -byte) routine, so that for each Lcn = nth length count. the pitch count innermost address value. Initialize to pitch, the corresponding time is the total number of loop. point to the address of the length count column will states for one "beat" of the pcn is the pitch count for the first byte of SCORE. measure a nearly identical music (e.g., the shortest nth frequency. SCORE: An array of data in

interval of time. The formula note). Table I shows the divide memory containing the code is: oh is the overhead of the ratio in decimal, a sequence of the music (see

Lcn = time / (oh + dt# pcn) length counting loop. hexadecimal equivalent note Table I I ). Initialize with the where: dt is the number of states in pitch code, and seven music of your heart's desire or use the example of Table II. I. Kluge Harp Table Synthesizer pitch/length specification codes (HEX). NOTEND: 16 -bit address value, the address of the last n divide hex note Note Length Codes (second byte of pair) byte of SCORE (must be an ratio code 1 2 4 6 8 16 32 even number). -10 77 4D 19 32 64 96 C8 NOTESTART: 16 -bit address -9 81 51 18 30 60 90 CO value, the address of the first -8 86 56 17 2D 5A 87 B4 byte of SCORE (must be an -7 91 5B 16 2B 56 81 AC even number). -6 97 61 14 29 51 7A A2 F3 SETLOC: An unimplemented -5 102 66 13 27 4D 74 9A E7 address location which if -4 108 6C 12 25 49 6E 92 DB referenced turns off one bit -3 115 73 11 23 43 68 8A CF among the high order address -2 122 7A 10 21 41 62 82 C3 lines, bit 14 in the author's -1 129 81 10 1F 3E 5D 7C BA F8 case. 0 137 89 OF 1D 3A 57 74 AE E8 R E S E T L O C : A n 1 145 91 OE 1C 37 53 6E A5 DC un implemented address 2 154 9A OD 1A 34 4E 68 9C DO location which if referenced 3 163 A3 OC 19 31 4A 62 93 C4 turns off one bit among the 4 173 AD OC 18 2F 47 5E 8D BC high order address lines, bit 5 183 B7 OB 16 2C 42 58 84 BO 13 in the author's case. 6 194 C2 OB 15 2A 3F 54 7E A8 Data used but not initialized: 7 205 CD OA 14 28 3C 50 78 AO LNGTH 8 217 D9 09 13 25 38 4A 6F 94 PITCH 9 230 E6 09 12 23 35 46 69 8C IT 10 244 F4 08 11 21 32 42 63 84 I, J

16 Fig. 3. Motorola 6800 Code for KLUGEHARP program.

Address Data Label Opcode Operand

F800 FE KLUGEHARP: LDX NOTER F801 FA 3: F802 00 Add 2 to location in score F803 08 INX by incrementing and then F804 08 INX saving 16 -bit new address F805 FF STX NOTER F806 FA F807 00 F808 8C 4: CPX #NOTEND compare against immediate F809 FC NOTEND: (last address of F80A 80 SCORE plus 2)

F8OB 26 BNE Skip if not at end .. . F8oC 03 * +3 +2 F8OD CE LDX ,#- NOTESTART F80E FC NOTESTART: (first address of otherwise recycle F8OF 00 score ... I F810 FF STX NOTER save in either case ... F811 FA F812 00 F813 FE LDX NOTER This is superfluous! F814 FA F815 00 F816 E6 5: LDAB 1,X F817 01 F818 5A LENGTH: DECB F819 26 6: BN E Skip if length remains ... F81A 03 *+2+3 F81B 7E JMP KLUGEHARP Restart piece F81C F8 F81 D 00 Data allocations for KLUGE- F81E A6 7: LDAA 0,X HARP: F81 F 00 FA00 -FA01 = Current F820 4A F LOOP: DECA pointer F821 26 8: BNE F LOOP to SCORE, NOTER, F822 FD *+2-3 which should be initialized to F823 86 11: LDAA #80 FC00 before starting the F824 80 (-127) program. F825 BB ADDA IT FA02 = an F826 FA IT - arbitrary F827 02 initialization will do. F828 2B 12: BMI FA03 -FFF7 = memory area F829 05 * +2 +5 available for SCORE - the F82A 7F 13: CLR SETLOC example uses FC00 to FC7F F82B BO (address with bit 14 off ... 1 F82C 00 and puts the relevant F82D 20 BRA initializations into locations F82E 03 * +2 +3 F809 -F80A (NOTEND) and F82F 7F 15: CLR RESETLOC F80E -F8OF (NOTESTART). F830 DO (address with bit 13 off ... ) F831 00 NOTE: In the label column, F832 B7 STAA IT the numbers followed by colons F833 FA (e.g., "6: ") are used to indicate F834 02 corresponding places in the high F835 7E 16: JMP LENGTH level language version of the F836 F8 program of Fig. 2. F837 18 In the system for which this program was written, all active memory is found at addresses F800 to FFFF. Thus for all columns of hexadecimal pitches you'll get from these interval of time is normal program activity, bits A14 length codes weighted to 1, 2, codes depend upon the approximately 2000 CPU and A13 at the back plane of the 4, 6, 8, 16 and 32 unit details of the algorithm in states or about 4 system are logical "1 ". When the location SETLOC (8000) is intervals of time. A note is your own particular milliseconds. cleared, the high order address placed in the score computer and the by picking The hand assembled portion changes and bit A14 goes a note code, putting it in an of the computer. For the M6800 code for the to negative for a short time, even numbered byte, then 6800 system on which Kluge KLUGEHARP program is setting the Kluge Harp flip flop. placing a length code from Harp was first implemented, listed in Fig. 3. The When the location A13 is cleared (0000) on an alternate cycle, the same line of the table in the lowest note (code F4) is mnemonics and notations address bit A13 goes to logical 0 a the odd numbered byte approximately 170 Hz with have been taken from the for a short timer resetting the which follows it. The actual 500 kHz clock - and the unit Motorola M6800 Kluge Harp flip flop ...

17 Table Il. WOLFGANG: Set the content of SCORE in memory to the codes in this table - given for the addresses of the M6800 program version - and KLUGEHARP will play four bars from the classical period. 6800 Address Value 6800 Address Value

FC00 9A34 - F C40 5B56 FCO2 9A34 FC42 5B56 FC04 9A34 FC44 5B56 FC06 9A34 FC46 5B56

FC08 9A34 Note 1 FC48 5B56 Note 8 FCOA 9A34 FC4A 5B56 FCOC 9A34 FC4C 5656 FCOE 9A34_ FC4E 5856

FC10 7A41 FC50 664D FC12 7A41 Note 2 FC52 664D Note 9 FC14 7A41 FC54 664D FC16 7A41 FC56 664D

FC18 664 D FC58 4D64 FC1A 664D Note 3 FC5A 4D64 Note 10 FC1C 664D FC5C 4 D64 FC1 E 664D FCSE 4D64

FC20 A331- FC60 664 D FC22 A331 FC62 664 D FC24 A331 Note 4 FC64 664D Note 11 FC26 A331 FC66 664D FC28 A331 FC2A A331 - FC68 7343 - Note 12 FC6A 664D - Note 13 NOTE: This program is FC2C 9A34 - Note 5 FC6C 7343 - Note 14 simpleminded and not at all FC6E 7A41 - Note 15 optimized. As a challenge to FC2E 893A - Note 6 FC70 7343 - Note 16 readers, figure out a way to make the notation more compact yet FC30 9A34, FC72 7A41- preserving the total length of each FC32 9A34 FC74 7A41 note. FC34 9A34 FC76 7A41 FC36 FC78 7A41 Note 17 9A34 Note 7 FC38 9A34 FC7A 7A41 FC3A 9A34 FC7C 7A41 FC3C 9A34 FC7E 7A41_ FC3E 9A34_ FC80 (end pointer points here)

Fig. 4. Timing of the Kluge Harp Output Waveform. At is the amount Microprocessor Programming of time spent in the inner loop, and is set by choice of pitch codes. AT Manual available from the is the length of the note, measured as a count of half- cycles at its manufacturer. frequency. See Table I for a consistent set of length codes. While not the greatest ¡ AT musical instrument in the world, the Kluge Harp -")4- AtTot- 04-At- represents an interesting and challenging diversion. The program presented here is by 7437 no means the ultimate in PIN 3 IN music systems - and can FIG.I serve as a basis for further experimentation and elaboration. Some challenges for readers: modify the 414 LINE f1 program to change the frequency of the notes without changing the SCORE CLR SETLOC INSTRUCTION data; write another (longer) EXEC TED music program which only specifies the pitch 413 LINE code /length information once -±f - and represents the score as a series of one -byte indices the table CLR RESETLOC into of pitch INSTRUCTION code /length information. EXECUTED

18 USERS !

Did you know...

That all our modules are 100% compatible with the Altair 8800 VDM -1 Video Display Module computer, NO modifications necessary! This module is the first real computer terminal display in kit That our 4KRA Static Read /Write Memory module doesn't have form. Under software control the VDM -1 displays sixteen 64 to lose it's data when you pull the plug! character lines to any standard video monitor. Characters are That our 3P +S Input /Output module will fully interface two TV produced in a 7x9 dot matrix, with a full 128 character set, upper Typewriters with keyboards and a modem or teletype at the and lower case plus control characters. Data is accessed by the same time! VDM as a block from any 1K segment within the 65K address That we make the most powerful alphanumeric Video Display range of the 8800 computer. Multiple cursors are completely module anywhere! controlled by software and the display can begin anywhere on the That our software is FREE, or close to it! screen (this is great for many video games). When the last line is That all our modules are truly high quality, computer grade, but filled the display scrolls up a line. Powerful editing capabilities are that our prices are the lowest in the industry! provided with the FREE software package included in every That we have already shipped hundreds of modules on time, and VDM -1 kit. Available in September '75. we will continue to deliver what we promise, FAST! SOFTWARE

Our Assembler, Text Editor and System Executive is being CHECK THE SPECS: shipped now. This software package gives you very powerful 4KRA Static Read/Write Memory Assembly Language capability in the Altair 8800. The Executive This 4096 word STATIC memory provides faster, more reliable and Editor allow you to call programs by name (including and less expensive operation than any currently available dynamic BASIC) and then add, delete, change, or list programs by line memory system. The 4KRA permits Altair 8800 operation at number. The Assembler provides a formatted symbolic mnemonic absolute top speed continuously. All RAM's (Random Access listing as well as octal or binary object code from Assembly Memories) used in the 4KRA are 91L02A's by Advanced Micro Language programs written using the Editor. The Assembler also Devices, the best commercial memory IC on the market today. gives valuable error messages to help in debugging those inevitable 91L02A's require typically 1/3 the power of standard 2102 or errors. The Assembler, Editor, Executive Package No. 1 will be 8101 type RAM's and each one is manufactured to military available in read only memory along with an expanded Executive specification MIL STD -883 for extremely high reliability. These and a powerful Interpretive Simulator by October or November memories can be operated from a battery backup supply in case of 1975. of power failure with very low standby power consumption. (Ask We are working on two BASIC Language packages which should for our technical bulletin TB -101 on power down operation.) In be ready by October. One will be a basic BASIC needing about short we have done everything we could to make the best 4K 8K of memory as a minimum and the other will be an Extended memory module in the computer field, and because we buy in version with additional string manipulation, matrix operations large quantity, we can make it for a very reasonable price. and double precision arithmetic capabilities requiring about 12K. Available now. Both these packages will be available in Read Only Memory for a reasonable price. 2KRO Erasable Reprogrammable Read Only Memory Module With this module the Altair 8800 can use 1702A or 5203 type PRICE LIST Erasable Reprogrammable ROM's. The 2KRO accepts up to eight Item Kit Assembled Delivery IC's a words. of these for capacity of 2048 eight bit Once 2KRO EPROM module $ 50. $ 75. 2 weeks ARO programmed this module will hold its data indefinitely whether +S or not power is on. This feature is extremely useful when 3P I/O module 125. 165. 3 weeks ARO developing software. All necessary bus interfacing logic and 4KRA -2 RAM module regulated supplies are provided but NOT the EPROM IC's. Both w/2048 8 -bit words 135. 185. 2 weeks ARO 1702A and 5203 PROM's are available from other advertisers in 4KRA -4 w/4096 8 -bit this magazine for well under $25. Available now. words of RAM 215. 280. 2 weeks ARO 3P +S Input /Output Module RAM only, AMD 91L02A Just one 3P +S card will fulfill the Input /Output needs of most 500n sec low power 8/$40 2 weeks ARO users. There are 8 parallel and 8800 two -bit input output ports MB -1 Mother Board 35. - 2 weeks ARO with full handshaking logic. There is also a serial I/O using a -1 Display module 160. 225. Sept. 29, UART with both teletype current loop and EIA RS -232 standard VDM Video '75 then 3weeks ARO interfaces provided. The serial data rate can be set under software control between 35 and 9600 Baud. You can use your old model Send for our FREE flyer for more complete specifications and 19 TTY! This module gives you all the electronics you need to for pricing on additional items. interface most peripheral devices with the Altair 8800, it's really the most useful and versatile I/O we've seen for any computer. TERMS: All items postpaid if full payment accompanies order. Available now. COD orders must include 25% deposit. MasterCharge gladly accepted, but please send us an order with your signature on it. MB -1 Mother Board DISCOUNTS: Orders over $375 may subtract 5 %; orders over Don't worry any more about wiring hundreds of wires in your $600 may subtract 10 %. Altair to expand the mainframe. Our single piece 1/8 -inch thick, rugged mother board can be installed as one single replacement for either three or four 88EC Expander cards, so you don't have Processor Technology to replace your already installed 88EC card if you don't want to. 2465 Fourth Street The MB -1 has very heavy power and ground busses and comes íf1 Y with a piece of flat ribbon cable for connection to the front panel Berkeley,Ca 4/ 10 (415) 549 -0857 board of the 8800. Available now. Television

Anyone with a bunch of memory circuits, control logic and adding a video input and a a wire wrap gun can whip up a digital video generator with selector switch or else dedicating the set to exclusive TTL output levels. The problem as I see it is to get that digital TV typewriter use. Direct video signal into a form that the TV set can digest. The care video eliminates the and feeding of digital inputs to the TV set is the subject of bandwidth restrictions Don Lancaster's contribution to BYTE 2 - an excerpt from provided by the tuner, i -f his forthcoming book, TV Typewriter Cookbook, to be strip, and video detector published by Howard W. Sams, Indianapolis, Indiana. filter. Response can be ... CARL further extended by removing or shorting the 4.5 MHz sound trap and by other modifications to provide us with longer line lengths and We can get between a TV certain exactly spelled out premium characters. No FCC typewriter and a television FCC regulations and that approval is needed, and style display system either by system type approval is several sets or monitors are an rf modulator or a direct required. The second easily driven at once without video method. limitation is one of complicated distribution

I n the rf modulator bandwidth. The best you can problems. method, we build a possibly hope for is 3.5 MHz There are two limitations miniature, low power, direct for black and white and only to the direct video technique. wired TV transmitter that 3 MHz for color, and many One is that the set has to be clips onto the antenna economy sets will provide far modified to provide direct terminals of the TV set. This less. Thus, long character line video entry. A second, and has the big advantage of lengths, sharp characters, and far more severe, restriction, is letting you use any old TV premium (lots of dots) that many television sets are set and ending up with an character generators simply "hot chassis" or ac -dc sets essentially free display that aren't compatible with with one side of their chassis can be used just about clip -on rf entry. connected to the power line. by anywhere. No set In the direct video These sets introduce a severe modifications are needed, and method, we enter the TV set shock hazard and cannot be Don Lancaster you have the additional immediately following its used as TV typewriter video advantage of automatic safety video detector but before entry displays unless some isolation and freedom from sync is picked off. A few isolation technique is used hot chassis shock problems. premium TV sets and all with them. If the TV set has a There are two major monitors already have a video power transformer, there is restrictions to the rf input directly available, but usually no hot chassis modulator method. The first these are still expensive and problem. television of these is that transmitters rare. Thus, you usually have sets and IC sets using no of this type must meet to modify your TV set, either vacuum tubes tend to have power transformers, as do older premium tube type sets. All others (around half the sets around today) do not. Fig. 1. Standard video interface levels. (Source impedance = 72 or 100 Ohms.) Direct Video Methods WHIT EVEL r- 2 VOLTS With either interface DOT 1 (OPTIONAL approach, we usually start by GRAY) SYNC getting the dot matrix data, TIP 1.0V blanking, cursor, and sync 0.5 VOLTS BLACK LEVEL - signals together into one SYNC LEVEL 0 VOLTS composite video signal whose

20 Interface

form is useful to monitors miniature coax), the receiving Fig. 2. Analog switch combiner generates composite video. and TV sets. A good set of end of the cable need not be +5 standards is shown in Fig. 1. terminated in a 72 or 100 The signal is dc coupled and Ohm resistor. When H SYNC O_5 always positive going. Sync terminated cable systems are ¡ +5 are in use line runs JL_ tips grounded and blacker for long or CURSOR O than black. The normal open multiple outputs, they should circuit black level is positive be arranged to deliver the -11-.+.+ ±5 5 V SYNC O by one -half a volt, and the signal levels of Fig. 1 at their white level is two volts output under termination. +5n (WHITE) J L-5 positive. I n most TV camera Generally, terminated cable VIDEO DOTS systems, intermediate levels systems should be avoided as IK between the half volt black they need extra in the way of level and the two volt white drivers and supply power. CI SMEARING 4066 (CMOS) level will be some shade of The exact width of the ANALOG SWITCH CAPACITOR 100 gray, proportionately brighter horizontal and vertical sync (SEE TEXT) pF with increasing positive pulses isn't usually too voltage. With most TV important, so long as the typewriter systems, only the shape and risetime of these 680 three states of zero volts pulses are independent of O VIDEO OUT (sync), half a volt (black), position control settings and loo and two volts (white dot) power supply variations. One would be used. One possible exception to this is when exception would be an you're using a color receiver SYNCOV additional one volt dot level and a color display. Here, the BLACK0.4V WHITE 1.5V for a dim but still visible horizontal sync pulse should portion of a message or a be held closely to 5.1 single word. microseconds, so the The usual video source receiver's color burst impedance is either 72 or 100 sampling does in fact Ohms. Regardless of how far intercept a valid color burst. very much improve the shabby, or washed out we travel with a composite More on this later. display legibility and character. By reducing the video output, some sort of contrast. Why? video bandwidth going into shielding is absolutely Intentional Smear Because we are interested the system, we can move the essential. Fig. 2 shows us a typical in getting the most legible dot matrix energy lower in For short runs from board composite video driver using character of the highest frequency, resulting in to board or inside equipment, a 4066 quad analog switch. It contrast we can. This is not cleaner characters of higher tightly twisted conductors gives us a 100 Ohm output necessarily the one having the contrast. should be OK, as should impedance and the proper sharpest dot rise and fall For most TV displays, properly guarded PC runs. signal levels. Capacitor Cl is times. Many things interact to intentional smearing will help Fully shielded cables should used to purposely reduce the determine the upper video the contrast, legibility, and be used for interconnections video rise and fall times. It is response of a TV display. overall appearance. The between the TVT and the called a smearing capacitor. These include the tuner ultimate limit to this occurs monitor or TV set, along with Why would we want to settings and the i -f response when the dots overlap and other long runs. As long as further reduce the bandwidth and alignment, the video become illegible. The the total cable capacitance is and response of a TV system detector response, video less than 500 pF or so (this is that's already hurting to peaking, the sound trap around 18 feet of RG178 -U begin with? In the case of a setting, rf cable reflections, quality video monitor, we and a host of other responses. wouldn't. But if we're using Many of these stages are an ordinary run -of- the -mill underdamped and will ring if TV set, particularly one using fed too sharp a risetime rf entry, this capacitor can input, giving us a ghosted,

21 remove the carrier and then routed to a video amplifier made up of one or more tubes or . At some point in the video amplification, the black and white signal is split three ways. First, a reduced bandwidth output routes sync pulses to the sync Fig. 3. Block diagram of typical B and W television. separator stage to lock the set's horizontal and vertical \ANTENNA scanning to the video. A second bandpass output sharply filtered to 4.5 MHz extracts the FM sound subcarrier and routes this to a SOUND sound i -f amplifier for further PROCESSOR SPEAKER processing. The third output DIRECT VIDEO is video, which is strongly ENTERS HERE amplified and then capacitively coupled to the cathode of the picture tube. VIDEO I -F VIDEO VIDEO -IF TUNER -0-AMPLIFIER CRT The gain of the video 44 MHz DETECTOR (AMPLIFIER amplifier sets the contrast of the display, while the bias setting on the cathode of the SYNC picture tube (with respect to EXTRACTOR its grounded control grid) sets POWER the display brightness. SUPPLY Somewhere in the video amplifier, further rejection of SWEEP the 4.5 MHz sound subcarrier CIRCUITS is usually picked up to minimize picture interference. This is called a sound trap. Sound traps can be a series resonant circuit to ground, a parallel resonant optimum amount of true of recent small screen, circuit in the video signal intentional smear is usually solid state portable TV sets. path, or simply part of the the value of capacitance that On the other hand, if you transformer that is picking is needed to just close the have a hot chassis type with off the sound for more inside of a "W" presented to one side of the power line processing. the display. connected to the chassis, you The video detector output should avoid its use if at all a Video is usually around 2 volts peak Adding Input possible. If you must use this to peak and usually subtracts Video inputs are easy to type of set, be absolutely from a white level bias add to the average television certain to use one of the setting. The stronger the set, provided you follow safety techniques outlined signal, the more negative the some reasonable cautions. later in Fig. 8. swing, and the blacker the First and foremost, you must A block diagram of a picture. Sync tips are blacker have an accurate and typical TV set appears in Fig. than black, helping to blank complete schematic of the set 3. UHF or VHF signals the display during retrace to be modified, preferably a picked up by the tuner are times. Sams Photofact or something downconverted in frequency similar. The first thing to to a video i -f frequency of 44 check is the power supply on MHz and then filtered and the set. If it has a power amplified. The output of the

transformer and has the video i -f is transformer chassis properly safety coupled to a video detector, isolated from the power line, most often a small signal it's a good choice for a TVT germanium diode. The video monitor. This is particularly detector output is filtered to

22 Fig. 4 shows us the typical and thus higher gain to high video circuitry of a transistor frequency video signals. black and white television. Note particularly the Our basic circuit consists of a biasing of the video driver. A diode detector, a unity gain bias network provides us with emitter follower, and a a stable source of 3 volts. In variable gain video output the absence of input video, stage that is capacitively this 3 volts sets the white coupled to the picture tube. level of the display, as well as The cathode bias sets the establishing proper bias for accepting a maximum of a 2 brightness, while the video both stages. As an increasing volt peak to peak signal. It gain sets the contrast. signal appears at the last also has the right polarity, for Amplified signals for sync video output transformer, it a positive going bias level and sound are removed from is negatively rectified by the means a whiter picture. But, the collector of the video video detector, thus lowering an unmodified set is already driver by way of a 4.5 MHz the 3 volts proportionately. biased to the white level, and resonant transformer for the The stronger the signal, the if we want to enter our own sound and a low pass filter blacker the picture. Sync will video, this bias must be for the sync. A parallel be the strongest of all, giving shifted to the black level. resonant trap set to 4.5 MHz us a blacker than black bias We have a choice in any eliminates sound interference. level of only one volt. TV of direct or ac coupling of Peaking coils on each stage The base of our video our input video. Direct extend the bandwidth by driver has the right sensitivity coupling is almost always providing higher impedances we need for video entry, better as it eliminates any

Fig. 4. Typical video circuitry of transistor B and W TV set.

+12V BRIGHTNESS I 1 + 80

T001 SYNC +150 V IOOK 4.5MHz SOUND SOUND PICKOFF 6800 3V (WHITE) I v(SYNC) f

VIDEO VIDEO LAST VIDEO DETECTOR DRI VER 620µH I -F XFMR (PEAKING)

.22 +150 43K 70V )

(2.4V) VIDEO +12V OUTPUT 250µH (1.8V) (PEAKING) 470 5K 4.5MHz SOUND 47 TRAP 1 (3V) N 470 BIAS SOURCE PICTURE TUBE fi 200

CONTRAST

23 Fig. 5. Direct coupled video uses 1.2 volt offset of Darlington transistor as bias.

+12

+12 EXISTING DETECTOR & BIAS NEW shading effects or any change CIRCUITRY 2.2K of background level as ALTERNATE additional characters are USING TWO REGULAR added to the screen. Fig. 5 EXISTING I.2V(SYNC) RF TRANSISTORS 3.2V(WHITE)-O VIDEO shows how we can direct DRIVER 2.2 K couple our video into a OV (SYNC) VIDEO 2V (WHITE) transistor black and white set. DARLINGTON VIDEO We provide a video input, TRANSISTOR INPUT PAIR IN914 usually a BNC or a phono IK MPSA65 2N4402 jack, and route this to a PNP ALTERNATE USING TRANSIS- Darlington transistor or TOR AND DIODE transistor pair, borrowing around 5 mils from the set's +12 volt supply. This output is routed to the existing video driver stage through a SPDT switch that either picks the to pick up the same amount Ac or capacitively coupled 2 volt peak to peak video, the video input or the existing of offset, as shown in Fig. 5. video inputs should be sync tip voltage would be 1 video detector and bias If more or less offset is avoided. Fig. 6 shows a volt; the optimum bias is then network. needed, diodes or transistors typical circuit. The TV's 1.6 volts. Input video is The two base -emitter can be stacked up further to existing bias network is capacitively coupled by a in our Darlington diode drops pick up the right amount of lowered in voltage by adding fairly large electrolytic transistor add up to a 1.2 volt offset. a new parallel resistor to capacitor in parallel with a positive going offset; so, in The important thing is ground to give us a voltage good high frequency the absence of a video input that the video driver ends up that is 0.6 volts more positive capacitor. This provides for a base a tip, or at the of sync with the same level for white than the blacker than black minimum of screen shading the video is biased to a driver bias and for black bias in sync tip voltage. For instance, and still couples high blacker than black sync level either position of the switch. with a 3 volt white level, and frequency signals properly. A of 1.2 volts. With a white clamping diode constantly video input of 2 volts, the clamps the sync tips to their to video driver gets biased its bias value, with the 0.6 volt usual 3.2 volts of white level. drop of this diode being Thus, our input transistor taken out by the extra 0.6 provides just the amount of Fig. 6. Ac coupled video needs shift of bias to black level plus a clamping diode. volts provided for in the bias offset we need to match the network. This clamping diode white and black bias levels of automatically holds the sync our video driver. Note that tips to their proper value, is on the EXISTING the old bias network regardless the number I DETECTOR of of other side of the switch and white dots in the picture. the video does nothing in EXISTING Additional bypassing of the position. VI0E0 DRIVER bias network by a large Two other ways to offset VIDEO INPUT electrolytic may be needed our video input are to use for proper operation of the two ordinary transistors clamping diode, as shown in connected in the Darlington Fig. 6. Note that our bias configuration, or to use one 1 network is used in both transistor and a series diode 250µH switch positions - its level is shifted as needed for the direct video input. I.5K 1.6V) 470 +12 Tube type sets present about the same interface problems as the solid state *470 005 versions do. Fig. 7 shows a * 100 VIDEOr m *New components. µF typical direct coupled tube rh in interface. In the unmodified

24 Fig. 7. Direct coupled video added to tube type B and W television.

+140

PEAKING

SYNC 4.7K

4.5MHz , SOUND

20 K 100x8 FROM VIDEO VIDEO -AMP LAST DETECTOR CR T VIDEO RF CATHODE 130V I -F VIDEO CONTRAST (2V- VIDEO) (0V- RF) fi 100µF

VIDEO NEW CATHODE SELF -RIAS INPUT SHIFTS TO SYNC LEVEL IN IK VIDEO POSITION

*New components.

circuit, the white level is zero minus two volts with respect power line connected to the volts and the sync tip black to the cathode. A white level chassis. Depending on which level is minus two volts. If we presents +2 volts to the grid, way the line cord is plugged can find a negative supply which equals zero volts grid in, there is a 50-50 chance of (scarce in tube type circuits), to cathode. the hot side of the power line we could offset our video in Should there already be a being connected directly to the negative direction by two self bias network on the the chassis. volts to meet these bias levels. cathode, it is increased in Hot chassis sets, Instead of this, it is usually value as needed to get the particularly older, power possible to self bias the video black rather than white level hungry tube versions, should amplifier to a cathode voltage bias in the direct video mode. be avoided entirely for direct of +2 volts. This is done by video entry. If one absolutely breaking the cathode to Hot Chassis Problems must be used, some of the ground connection and There is usually no shock suggestions of Fig. 8 may ease adding a small resistor (50 to hazard when we use clip -on rf the hazard. These include 100 Ohms) between cathode entry or when we use a direct using an isolation and ground to get a cathode video jack on a transformer- transformer, husky voltage of +2 volts. Once this powered TV. A very severe back -to -back filament value is found, a heavy shock hazard can exist if we transformers, three wire electrolytic bypass of 100 use direct video entry with a power systems, optical microfarads or more is placed TV set having one side of the coupling of the video input, in parallel with the resistor. Switching then grounds the cathode in the normal rf mode and makes it +2 volts in the video entry mode. In the direct video mode, a sync tip grounded input presents zero volts to the grid, which is self biased

25 and total package isolation. Fig. 8. Getting Around a Hot Chassis Problem. Far and away the best route is simply never to attempt Hot chassis problems can be avoided entirely by direct video entry onto a hot using only transformer -powered TV circuits or chassis TV. by using clip -on rf entry. If a hot chassis set Making the Conversion must be used, here are some possible ways around the problem: Fig. 9 sums up how we modify a TV for direct video 1. Add an isolation transformer. entry. Always have a complete schematic on hand, A 110 volt to 110 volt isolation trans- and use a transformer style former whose wattage exceeds that of the TV set if at all possible. Late set may be used. These are usually expen- models, small screen, medium a can be made to high quality solid state sets sive, but workable substitute are often the best display by placing two large surplus filament trans- choice. Avoid using junk sets, formers back to back. For instance, a pair particularly very old ones. of 24 volt, 4 Amp transformers can handle Direct coupling of video is far around 100 Watts of set. modulator, the tuner, video preferable to ac capacitor i -f strip, and the video coupling. Either method has 2. Use a three wire system with a solid ground. to maintain the black and detector filter. Direct video should bring us to a 3 white bias levels on the first entry Three prong plug wiring, properly MHz bandwidth for a color video amplifier stage. A shift polarized, will force the hot chassis connec- set and perhaps 3.5 MHz for a of the first stage quiescent tion to the cold side of the power line. This black and white model, unless bias from normally white to protection is useful only when three wire we are using an extremely normally black is also a must. plugs are used in outlets. bad set. The resultant 6 to 7 properly wired A Use short, shielded leads severe shock hazard is reintroduced if a between the video input jack million dot per second rate is user elects to use an adaptor or plugs the and the rest of the circuit. If adequate for short character lines of 32, 40, and possibly system into an unknown or improperly a changeover switch is used, 48 characters per line. But wired The three wire system should keep it as close to the rest of outlet. the characters will smear and the video circuitry as you NOT be used if anyone but yourself is ever possibly can. be illegible if we try to use to use the system. longer line lengths and Extending Video and Display premium (lots of dots) 3. Optically couple the input video. Bandwidth character generators on an By using the direct video ordinary TV. Is there Light emitting diode -photocell pairs are input route, we eliminate any anything we can do to the set low in cost and can be used to optically bandwidth and response to extend the video couple direct video, completely isolating restrictions of an rf bandwidth and display the video input from the hot chassis. Most response for these longer line of these optoelectronic couplers do not lengths? have enough bandwidth for direct video In the case of a color TV, use; the Litronix IL-100 is one exception. the answer is probably no. Probably simplest route is to use two The video response of a color the set is limited by an essential separate opto- isolators, one for video and delay line and an essential one for sync, and then recombine the 3.58 MHz trap. Even if we signals inside the TV on the hot side of the were willing to totally circuit. separate the chrominance and luminance channels, we'd still 4. Use a totally packaged and sealed system. be faced with an absolute limit set by the number of If you are only interested in displaying holes per horizontal line in messages and have no other input /output the shadow mask of the tube. devices, you can run the entire circuit hot why video color This explains chassis, provided everything is sealed inside displays are so expensive and one case and has no chassis -to- people so rare. Later on, we'll look access. Interface to teletypes, cassettes, at what's involved in adding color to the shorter line etc., cannot be done without additional lengths. isolation, and servicing the circuit presents a With a black and white the same shock hazards that servicing hot TV, there is often quite a bit chassis TV does.

26 we can do to present long lines of characters, depending Fig. 9. How to Add a Direct Video Input to a TV Set. on what set you start out with and how much you are willing to modify the set. 1. Get an accurate and complete schematic of The best test signal you the set either from the manufacturer's can use for bandwidth - service data or a Photofact set. Do try extension is the dot matrix not data you actually want to adding an input without this schematic! display, for the frequency response, time delay, ringing, 2. Check the power supply to see if a power and overshoot all get into the transformer is used. If it is, there will be no act. What we want to end up shock hazard, and the set is probably a with is a combination that good choice for direct video use. If the set gives us reasonably legible has one side of the power line connected to characters. the chassis, a severe shock hazard exists, A good oscilloscope (15 and one of the techniques of Fig. 8 should MHz or better bandwidth) is be used. Avoid the use of hot chassis sets. very useful during bandwidth extension to show where the signal loses its response in the 3. Find the input to the first video amplifier circuit. At any time during stage. Find out what the white level and the modification process, sync level bias voltages are. The marked or there is usually one response quiescent voltage is usually the white level; bottleneck. This, of course, is sync is usually 2 volts less. A transistor TV what should be attacked first. will typically have a +3 volt white level and Obviously the better a TV a +1 volt sync level. A tube type TV will you start with, the easier will typically have a zero volt white level and a be the task. Tube type gutless -2 volt sync level. wonders, particularly older ones, will be much more 4. Add a using difficult to work with than changeover switch minimum with a modern, small screen, possible lead lengths. Add an input con- quality solid state portable. nector, either a phono jack or the premium Several of the things we BNC type connector. Use shielded lead for can do are watching the interconnections exceeding three inches in control settings, getting rid of length. the sound trap, minimizing strays, spot circuit optimizing 5. Select a circuit that couples the video and size, controlling peaking, and biases the first video amplifier stage so that shifting to higher current the white and sync levels are preserved. For operation. Let's take a look transistor sets, at these in turn. the direct coupled circuits of Fig. 5 may be used. For tube sets, the circuit of Fig. 7 is recommended. Avoid the Control Settings use of ac coupled video inputs as they may Always run a data display introduce shading problems and changes of at the lowest possible background as the screen is filled. contrast and using only as much brightness as you really 6. Check the operation. If problems with need. In many circuits, low contrast or sync tearing crop up, recheck contrast means a lower video amplifier gain, and thus less and adjust the white and sync input levels to set uses of a gain- bandwidth match what the during normal rf restriction. operation. Note that the first video stage must be biased to the white level during rf operation and to the sync level for direct Eliminate the Sound Trap video use. The white level is normally two The sound trap adds a volts more positive than the sync level. notch at 4.5 MHz to the video response. If it is eliminated or switched out of the circuit, a wider video bandwidth automatically

27 Fig. 10. Removing the sound trap can extend video bandwidth. (a) Response (b) Parallel resonant trap short or bypass. 4.5 MHz TRAP VIDEO WITH SOUND DRIVER TRAP VIDEO OUTPUT FREQUENCY

WITHOUT frequencies. Sometimes you FREQUENCY can alter this second network CONTRAST to favor dot presentations. Fig. 11 shows a typical (d) Combined trap and peaking network and the

pickoff - open or SOUND I -F effects of too little or too (c) Series resonant trap - remove (series resonant); much peaking. Note that the open or remove. short or bypass (parallel 4.5MHz resonant). stray capacitance also enters into the peaking, along with VIDEO VIDEO VIDEO the video amplifier output DRIVER OUTPUT OUTPUT CRT capacitance and the picture tube's input capacitance. Generally, too little peaking VIDEO will give you low contrast OUTPUT dots, while too much give 4.5MHz will TRAP SOUND you sharp dots, but will run I -F dots together and shift the 4.5 MHz more continuous portions of m the characters objectionably. Peaking is changed by in- creasing or decreasing the results. Fig. 10 shows us the Additional Peaking low frequency signals double series inductor from its design response changes and the Most TV sets have two the amplitude of the higher value. several positions for this trap. peaking networks. The first frequency ones. The second Generally, series resonant of these is at the video of these goes to the collector Running Hot are or plate the video traps opened and parallel detector output and of output Sometimes increasing the stage and raises the circuit resonant traps are shorted or compensates for the vestigial operating current of the video suitable impedance and thus the bypassed through sideband transmission signal output stage can increase the effective gain for very high switching or outright that makes sync and other system bandwidth - IF this elimination. The trap has to stage is in fact the limiting Fig. 11. Adjusting the peaking coil can extend video response. go back into the circuit if the response, IF the power set is ever again used for supply can handle the extra ordinary program reception. (a) Circuit. current, IF the stage isn't Sometimes simply backing already parked at its the slug on the trap all the PEAKING COIL gain- bandwidth peak, and IF way out will improve things the extra heat can be gotten enough to be useful. COLLECTOR rid of without burning LOAD anything up. Usually, you can Minimizing Strays CRT try adding a resistor three One the limits of the of VIDEO times the plate or collector video bandwidth is the stray OUTPUT OUTPUT, STRAY, load resistor in parallel, and capacitance both inside the INPUT see if it increases bandwidth video output stage and in the CAPACITY /77 by 1/3. Generally, the higher external circuitry. If the the current, the wider the contrast control is directly in bandwidth, but watch the signal path and if it has (b) Response. TOO MUCH long leads going to it, it may L TOO LARGE be hurting the response. If you are using the TV set OPTIMUM exclusively for data display, AMPLITUDE can you rearrange the control TOO LITTLE location and simplify and L TOO SMALL shorten the video output to p i c t u r e t u b e interconnections? FREQUENCY

28 carefully any dissipation Fig. 14. Television Picture Carrier Frequencies. limits. Be sure to provide extra ventilation and Channel 2 55.25 MHz additional heatsinking, and Channel 3 61.25 MHz check the power supply for Channel 4 67.25 MHz unhappiness as well. For Channel 5 77.25 MHz 6 83.25 MHz major changes in operating Channel current, the emitter resistors and other biasing components should also be Fig. 13. Standard rf interface levels. Impedance = 30052. Carrier proportionately reduced in frequency per Fig. 14. value. SYNC TIPS= Spot Size 100% AMPLITUDE V RMS TYPICAL Even with excellent video bandwidth, if you have an BLACK= out -of- focus, blooming, or X75 % AMPLITUDE 3 mV RMS TYPICAL changing spot size, it can completely mask character o sharpness. Spot size ends up II II II Fig. 15. FCC Regulations on Class to IIWHITE= 10 % OR the ultimate limit 1 TV Devices. More complete regardless video LESS AMPLITUDE resolution, of .3mV RMS TYPICAL information appears in subpart H bandwidth. of Part 15 and subpart F of Part 2 Federal Once again, brightness and of the Communications Commission Rules and Regula- will have a contrast settings tions. It is available at many large profound effect, with too technical libraries. much of either blooming the spot. Most sets have a focus A Class 1 TV device generates jumper in which ground or a a video modulated rf carrier of a minimize display washout with a 55.250 MHz carrier standard television channel positive voltage is selected. from ambient lighting. Fig. frequency, except in areas frequency. It is directly You can try intermediate 12 lists several sources of where a local commercial connected to the antenna values of voltage for terminals of the TV set. material for contrast Channel 2 broadcast is maximum sharpness. Extra The maximum rms rf voltage improvement. Much of this is i ntolerably strong. Circuit power supply filtering can must be less than 6 millivolts rather expensive, with pricing cost, filtering problems, and using a 300 Ohm output line. sometimes minimize hum and from $10 to $25 per square stability problems tend to The maximum rf voltage on noise modulation of the spot. foot being typical. Simply increase with increasing any frequency more than 3 MHz Anything that externally away from the operating channel adding a hood and channel number. raises display contrast will let must be more than 30 dB below positioning the display away The sync tips are the the peak in -channel output run a smaller beam you with from room lighting will also strongest part of the signal, voltage. current and a sharper spot. help and is obviously much representing 100% An antenna disconnect switch Using circularly polarized of at least 60 dB attenuation must cheaper. modulation, often something filters, graticule masks, or be provided. around 4 millivolts rms across No user adjustments are simple colored filters can Direct Rf Entry a 300 Ohm line. The black permitted that would exceed any If we want the con- level is 75% of the sync level, of the above specifications. from venience of a "free" or about 3 millivolts for 4 Residual rf radiation case, leads and cabinet must be display, the freedom from millivolt sync tips. White level less than 15 microvolts per meter. hot chassis problems, and is less 10% Fig. 12. Contrast Enhancing than of maximum. A Class 1 TV device must not Filter Materials. "use it anywhere" ability, Note that the signal is interfere with TV reception. direct rf entry is the obvious weakest when white and Type approval of the circuit is required. A filing fee of $50 and choice. Its two big limitations strongest when sync. This is Circularly polarized filters: an acceptance fee of $250 is are the need for FCC type the exact opposite of the involved. Polaroid Corp. approval, and a limited video video interface of Fig. 1. Cambridge MA 02139 bandwidth that in turn limits Rf modulators suitable for Anti -reflection filters: the number of characters per clip -on rf entry TV Panelgraphic Corp. line and the number of dots typewriter use are called Class 10 Henderson Dr. per West Caldwell NJ 07006 character. 1 TV Devices by the FCC. A is Class 1 is supposed Light control film: An rf interface standard TV device shown in Fig. 13. It consists to meet the rules and 3M Visual Products Div. 3M Center of an amplitude modulated regulations summarized in St. Paul MN 55101 carrier of one of the standard Fig. 15. Acrylic plexiglas filter sheets: television channel video Fig. 16 shows us a block parts Rohm and Haas frequencies of Fig. 14. diagram of the essential Philadelphia PA 19105 Channel 2 is most often used of a TV modulator. We start

29 Fig. 16. Block diagram of rf modulator.

FROM ANTENNA 1 55.250 MHz DIODE UPPER ANTENNA CRYSTAL MODULATOR `-p SIDEBAND DISCONNECT I -o OSCILLATOR a ATTENUATOR FILTER SWITCH TO TV SET

VIDEO o SLICER VIDEO INPUT RFI SHIELD J

with a stable oscillator tuned to one of the Fig. 14 frequencies. A crystal black and white video dot output. The phase of this oscillator is a good choice, is low enough in subcarrier (or its time delay) and low cost modules are rate to be attractively is shifted with respect to widely available. The output frequency displayed on an ordinary what the phase was of this oscillator is then color TV. Color may be used immediately each amplitude modulated. This after to emphasize portions of a horizontal sync pulse to can be done by changing the vestigial sideband signal that message, to attract attention, generate the various colors. bias current through a silicon stays inside the channel band as part of an electronic game, Fig. 18 shows us the small signal diode. One limits. This same filter or as obvious added value to a differences between normal milliampere of bias current eliminates second harmonic graphics display. Color color and black and white makes the diode show an ac effects and other spurious techniques work best on TV operation. Black and white and rf impedance of 26 noise. The filter's output is typewriter systems having a baseband video is some 4 Ohms. Half a mil will look usually routed to an antenna horizontal frequency very MHz wide and has a narrow like 52 Ohms, and so on. The disconnect switch and the near 15,735 Hertz. 4.5 MHz sound subcarrier. diode acts as a variable TV's antenna terminals. A All we basically have to do The video is amplitude resistance attenuator in the rf special switch is needed to is generate a subcarrier sine modulated, while the sound is circuit, whose bias is set and provide enough isolation. wave to add to the video narrow band frequency changed by the video circuit. Some of the actual Since diode modulators circuitry involved is shown in are non -linear, we can't Fig. 17. The video slicer simply apply a standard video consists of a pair of high gain, signal to them and get a small signal NPN transistors, Fig. 17. Channel two oscillator, modulator, video slicer and attenuator. standard rf signal out. A while the oscillator is a R sets output level. differential amplifier circuit commercially available called a video slicer may be module. OX OSCILLATOR MODULE & used to compensate for this Rf entry systems always EX CRYSTAL ( INTERNATIONAL non -linearity. The video slicer must be direct coupled to the CRYSTAL) OR EQUIV 7T- I /4in.DIA (NO SLUG) provides three distinct antenna terminals of the set currents to the diode and should never provide any DIRECT COUPLE OUTPUT modulator. One of these is more rf than is needed for a IN914or 47pF IN414 8 almost zero for the white minimum snow -free picture. RF level, while the other two They should be permanently t) OUT provide the black and sync tuned to a single TV channel. levels. A contrast control that Under no circumstances sets the slicing level lets you should an antenna or cable adjust the sync tip height service hookup remain respect to the connected the set during with black to MPS652O level. The video slicer also TVT use, nor should + 5V 2N5129 2N4400 minimizes rf getting back into radiation rather than a direct ETC CONTRAST the video. An attenuator to rf cable connection ever be reduce the size of the used. VIDEO +5 modulated signal usually INPUT IK 470 follows the diode modulator. Color Techniques .1 An upper side band filter We can add a full color removes most of the lower capability to a TV typewriter 141K sideband from the AM system fairly easily and modulated output, giving us a cheaply - provided its usual - 5V

30 Fig. 18. Differences between color and black and white spectra.

(a) Black and white - base band video.

SOUND SOUND O

54 55.25 59.75 60 MHz

(b) Black and white - Channel two rf.

(c) Color - baseband video.

LUMINANCE LUMINANCE modulated. This translates up CHROMINANCE CHROMINANCE to a 6 MHz rf channel with a SOUND vestigial lower sideband as shown in Fig. 18(b). 3.58 4.5 MHz 54 55.25 58.82 60 MHz To generate color, we add a new pilot or subcarrier at a (d) Color - Channel two rf. magic frequency of 3.579545 MHz - see Fig. 18(c). What ratios of electron beam was the video is now called current's on the picture tube's the luminance, and is the red, blue and green guns. same as the brightness in a same spectral space, with the 19. The burst is around 25% Meanwhile, the luminance black and white system. The one being where the other of maximum amplitude, or channel gets amplified as new subcarrier and its one isn't, overlapping comb about the peak to peak height brightness style video. It is modulation is called the style. of a sync pulse. delayed with a delay line to chrominance signal and The phase or relative delay The TV set has been make up for the time delay determines what color gets of the chrominance signal trained at the factory to sort involved in the narrower band displayed and how saturated with respect to a reference all this out. After video color processing channel. It is the color is to be. determines the instantaneous detection, the set splits out then filtered with two traps - Since the black and white color, while the amplitude of the chrominance channel the 4.5 MHz sound trap, and information is a sampled data this signal with respect to the with a bandpass amplifier and a new trap to get rid of any system that is scanned at the luminance sets the saturation then synchronously remaining 3.58 MHz color vertical and horizontal rates, of the color. Low amplitudes demodulates it with respect subcarrier that's left. The there are lots of discrete holes generate white or pastel to an internal 3.58 MHz luminance output sets the in the video spectrum that shades, while high amplitudes reference. The phase of this overall brightness by aren't used. The color of the chrominance signal demodulation sets the color modulating the cathodes of subcarrier is designed to stuff produce saturated and deep and the amplitude sets the all three color guns itself into these holes (exactly colors. saturation by setting the simultaneously. in a NSTC color system, and At least eight cycles of a Just after each horizontal pretty much in a TVT reference or burst color phase sync pulse, the set looks for display). Both chrominance are transmitted immediately the reference burst and uses and luminance signals use the following each horizontal this reference in a phase sync pulse as a timing reference, as shown in Fig.

Fig. 19 Adding a color reference burst to the back porch of the horizontal sync pulses.

8 CYCLES (MIN) OF 3.57945 MHz COLOR REFERENCE PHASE BLACK BLACK ll J

SYNC I SYNC

I

( BLACK & WHITE) (COLOR)

31 Fig. 20. Colors Are Generated by Delaying or Phase Shifting the Burst Frequency. Approxi mate Approximate Color Phase Delay

Burst 0 0 Yellow 15° 12 nanoseconds wanted. The output chrominance signal is RC Red 75" 58 nanoseconds filtered to make it somewhat Magenta 135" 105 nanoseconds sinusoidal. It's then cut down Blue 195" 151 nanoseconds in amplitude to around Cyan 198 nanoseconds 255" one -quarter the maximum Green 315" 244 nanoseconds video white level and is capacitively coupled to the 100 Ohm video output of Fig. 2 or otherwise summed into the video or rf modulator circuitry. For detector circuit to keep its is, or can be trimmed to reference phase position truly dramatic color effects, own 3.58 MHz reference specific colors by varying the (000) immediately before, the amplitude and delay of locked to the version being supply voltage. during and for a minimum of the chrominance signal can be transmitted. The reference phase and a few microseconds after each changed in a more complex Fig. 20 shows us the phase the delayed color outputs go horizontal sync pulse. This version of the same circuit. angles related to each color to a one -of -eight data gives the set a chance to lock More information useful in with respect to the burst selector. The data selector and hold onto the reference solving television interface phase. It also shows us the picks either the reference or a color burst. appears in the Television equivalent amount of delay selected color in response to a The chrominance output Engineering Handbook, by we need for a given phase code presented digitally to from the data selector should Donald Fink, and in various angle. Since we usually want the three select lines. The be disabled for the duration issues of the IEEE only a few discrete colors, it's logic that is driving this of the sync pulses and any Transactions on Consumer far easier to digitally generate selector must return to the time a white screen display is Electronics. colors simply by delaying the reference through gates or

buffers, rather than using . complex and expensive analog phase shift methods. Fig. 21. Color subcarrier generator. Hex buffer used as delay line. Use Strictly speaking, we supply voltage variation on 4050 to trim colors. should control both the chrominance phase and 3.579545 MHz amplitude to be able to do 3.3OpF f 15pF both pastel and strongly saturated colors. But simply cif )H keeping the subcarrier 22K amplitude at the value we 4049 used for the burst - around (CMOS) O SC. >- 25% of video amplitude is - YELLOW RED MAGENTA BLUE CYAN GREEN far simpler and will usually 22 MEG get us useful results. A circuit to add color to a REF TV typewriter is shown in PHASE Fig. 21. A 3.579545 MHz WHITE crystal oscillator drives a O I 2 3 4 5 6 7 string of CMOS buffers that H SYNC dis inh 4512 (CMOS) INPUT EIGHT make up a digital delay line. ONE-OF- a b OUT SELECTOR The output delays caused by o- the propagation delay times COLOR SELECT o 3300 in each buffer can be used as INPUTS 680pF

MUST RETURN TO 000 )1 SET TO (REFERENCE OF PHASE) 2 5 K 25% PEAK DURING 8 AFTER H WHITE LEVEL SYNC PULSE ANW\A )1- .01 VIDEO COMBINER (10012 LOAD)

32 The The MODULAR MICROS shifts each digit left automatically as a from MARTIN RESEARCH new digit is entered! The value on the display is also entered into an internal CPU register, ready for the next opera- Here's why the new MIKE 2 and MIKE 3 tion. Simply by pressing the write key, are the best values in microcomputers to- for example, the user loads 135 into day! Family memory.

8008 OR 8080 The MONITOR program also allows the user to step through memory, one loca- Research has solved the Martin problem tion at a time (starting anywhere), to bothering many potential micro users check his programming. Plus, the Swap .. whether to go with the economical Register Option allows use of the inter- 8008 microprocessor, or step up to the rupt capabilities of the microprocessor: powerful 8080. Our carefully designed the MONITOR saves internal register bus structure allows either processor to status upon receipt of an interrupt re- used in the same be system! quest; when the interrupt routine ends, the main program continues right where The MIKE 3 comes with an 8080 CPU it left off. board, complete with crystal -controlled system timing. The MIKE 2 is based on We invite the reader to compare the pro- the 8008. To upgrade from an 8008 to grammability of the MIKE family of an 8080, the user unplugs the 8008 CPU microcomputers to others on the mar- board and plugs in the 8080 CPU. Then Introducing the family of modular micros ket. Notice that some are sold, as basic he unplugs the 8008 MONITOR PROM, from Martin Research! units, without any memory capacity at and plugs in the 8080 MONITOR Choose either the economical 8008 proces- all. This means they simply cannot be PROM, so that the system recognizes the sor, or the powerful 8080. Either CPU is programmed, until you purchase a mem- 8080 instruction set. That's about it! compatible with our advanced bus structure! ory board as an "accessory." Even then, Plus, a convenient monitor program, in adding RAM falls far short of a conve- PROM memory, allows you to enter instruc- If the user has invested in slow memory nient, permanent MONITOR program chips, the tions with the ease of a handheld calcul- compatible with 8008 but too stored in PROM. Instead, you have to slow for the 8080 running at full speed, ator. Six large digits display data in octal format. enter your frequently -used subroutines he will have to make the 8080 wait for by hand, each and every time you turn memory access -an optional feature on Modularity makes for easy expansion. First quality parts throughout. Professionally the power on. our boards. Better still, a 4K RAM board made PC boards with plated holes, solder - can be purchased from Martin Research mask protection. 8080 CPU board features EASY I/O INTERFACE with fast RAM chips, capable of 8080 versatile interrupt structure, multiprocessing speeds, at a cost no more that you might capability. Easy interfacing to input and The MIKE family bus structure has been expect to pay for much slower devices. output ports. designed to permit easy addition of in- MIKE 303A: CPU board with 8080, key- put and output ports. A hardware inter- In short, the MIKE 2 user can feel confi- board /display board, PROM /RAM board face to the system generally needs only dent in developing his 8008 system with monitor PROM (256 bytes of RAM), two chips -one strobe decoder, and one expanded memory and other features, breadboard, hardware, and instructions: ' latching device (for output ports) or knowing that his MIKE 2 can be up- $395.00 kit, $495.00 assembled and tested. three -state driving device (for inputs). A graded to a MIKE 3 -an 8080 system -in MIKE 203A: CPU board with 8008, key- new I/O board can be plugged in any- the future. board /display, PROM /RAM, breadboard, the fact, hardware, and instructions: $270.00 kit, where on bus; in all the boards $345.00 A &T. in the micro could be swapped around in EASE OF PROGRAMMING any position, MIKE 3 -5 or 2 -5: 4K RAM board with without affecting opera- 450 ns static RAM: $165.00 kit, $190.00 tion. I/O addresses are easy to modify by Instructions and data are entered simply A &T. reconnecting the leads to the strobe de- by punching the 20 -pad keyboard. Infor- coder (full instructions are provided); in format, F R E E C A T A L O G ! mation, convenient octal ap- this is in marked contrast to the clumsy pears automatically on the seven - Kits: US & Canada only. input multiplexer approach sometimes Master Charge accepted. segment display. This is a pleasant con- used. trast to the cumbersome microcom- OEMs: write for quantity prices. puters which require the user to handle POWER & HOUSING all information bit -by -bit, with a confus- ing array of twenty -odd toggle switches The micros described the are and over thirty red lights! to left com- plete except for a cabinet of your own design, and a power supply. A powerful MONITOR program is in- The basic +5 cluded with each microcomputer, stored micros require V, 1.4 A, and -9 V, permanently in PROM memory. The 100 MA. The 4K RAM board requires MONITOR continuously scans the key- 5 V, 1 A. A supply providing these volt- ages, and ±12 V also, be ready soon. board, programming the computer as will keys are depressed. OPTIONS Say the user wishes to enter the number 135 (octal for an 8008 OUTPUT 16 in- A number of useful micro accessories are struction). He types 1, and the right - scheduled for announcement. In addi- hand three digits read 001. Then he tion, the MIKE 3 and MIKE 2 may be presses 3, and the digits say 013. Finally purchased in configurations ranging from he punches the 5, and the display reads unpopulated cards to complete systems. 135. Notice how the MONITOR program MARTIN RESEARCH For details, phone, write, or check the (Continued in column 3.) Microcomputer Design reader service card. 1825 S. Halsted St. Chicago, IL 60608 (312) 828=6932 LIFE Line

For the readers who are listing of some specialized only just now beginning to service routine or simple learn the programming of "gimmick" program (see the computers, an elementary Kluge Harp article in this acquaintance with some issue), the complexities and machine's language, a BASIC subtleties of scale begin to interpreter, or high level enter into the programming languages would tend to give art. For an application such the impression that as the LIFE program, programming is proceeding from the vague by fundamentally simple. It is! notion "I want this Carl Hetm.ers To write a program which application" to a working Editor, BYTE fills a single page of listing - program can be done in whatever the language or innumerable ways - many of machine architecture involved which will work quite well. - is not a tremendously This is the first ambiguity of down is for the most part difficult task. When it comes scale - where do you head as visible through the obscuring to more complex projects - you start programming? water. But the details of the say 1000 or more words of Unless you have a unique base of the pyramid - while hand or machine -generated parallel processing mind, you you know they have to be code on your microcomputer can't possibly concentrate on there in some form - are not - the problem is how to the whole problem of at all visible at the start. The What Is This Process preserve the blissful programming at once. design process moves the Designing A Program? innocence of simplicity in the In order to make a big logical "water level" face of the worldly forces of application program work, surrounding the pyramid complexity. you have to select "bits and lower and lower as you figure When you begin to talk pieces" of the desired result, out more and more of the about programs more figure out what they do and detail content of the complex than a one page how they fit into the big program. assembly or machine code picture, then program them one by one. These little Start at the Top .

pieces of the program - its In LIFE Line 1, I "modules" - are like the mentioned two major multiple layers of stone functions which compose a LIFE Line 1 (BYTE #1) presented the general picture of blocks in a pyramid. In fact, practical LIFE program - the LIFE program application of your computer. That picture defining what to do is very data entry and manipulation includes the rules of the gaine, methods of interactively much like the tip of some is one, the LIFE evolution entering graphic data, major software components in verbal Egyptian tyrant's tomb in the algorithm is the second. description and some of the hardware requirements of the spring flood ... as the murky Together, these functions game. In this installment, the discussion turns to some of the generalities recede, more and define the "program control" program design for the LIFE application. The discussion starts more of the structure of the layer of the LIFE pyramid. "at the top" (overall program flow) and works down to more program is defined and Fig. 2 is a flow chart detailed levels of design, concentrating upon the "evolution clarified. Fig. 1 illustrates the illustrating the program algorithm" which generates new patterns from old patterns. pyramid of abstractions at control algorithm which is As in the previous LIFE Line, the goal of the article series is the start of a program design the top level of the program as much to explain and instruct as it is to elaborate upon this process. The top layer is clear structure. Although the one particular system. This article concentrates on the - a LIFE program is the diagram - and the algorithm program design process as illustrated by a real LIFE example. desired goal. The next layer - are extremely simple, they

34 Fig. 1. Defining what to do is like the tip of some Egyptian tyrant's tomb in the spring flood ... as the murky generalities recede more and more of the structure

is defined and clarified . . .

DESIGN

PROCESSt

EVOLUTION ALGORITHM

ADDITIONAL LAYERS VET TO BE DEFINED

and "N" defined. If "N" is greater than zero, control flows to the evolution process - and "N" generations of LIFE will be computed and displayed as they are serve a very useful purpose in restart mechanisms and a interactive commands and the completed. After the "N" the program design process: front panel console. scope display output. The generations have been This high level design has split The first module of the KEYBOARD_INTER- completed, the scope display most of the programming LIFE application to be PRETER eventually will and the LIFE grid have the work into two moderately entered is the KEYBOARD_ receive a "GO" command or last completed results. If the large segments, each of which INTERPRETER, a set of an "END" command from program is not "DONE," is less complicated than the routines which is used to the user - whereupon it will control flows back to the whole program. This view of define the initial content of return to the main routine KEYBOARD INTER- the problem now gives us two the LIFE grid using with the parameters "DONE" PRETER for modification of major components upon the data, clearing the screen which to concentrate and starting over, or other attention once the top level operations. If the program is routine is completed. The then r "DONE" the control program control algorithm of START (JUMP OR flows back to the systems CALL) FROM SYSTEM Fig. 2, elaborated in Fig. 3, is EXECUTIVE OR MONITOR, ETC. programs - or to a halt point. the "mortar" which cements This program control together these two blocks of KEYBOARD is elaborated in INTERPRETER algorithm function. (DEFINE DATA) more explicit detail in Fig. 3. The LIFE program is entered by one of a number of methods. Fig. 2 illustrates branch or jump possibilities EVOLVE from a systems program ..N.. GENERATIONS called a "monitor," "executive" or "operating system" - the preferred way once you get such a system Fig. 2. LIFE program flow of generated. If your system control. runs "bare bones" with little VES system- resident software, you NO might select the starting point RETURN TO MONITOR OR HALT and activate the program through use of hardware

35 Fig. 3. The main control routine of LIFE specified in a procedure - on lines 5 to 8 are executed complete LIFE grid pattern oriented language... over and over again until into the "next" complete DONE is found to be equal to pattern. The rules of the logical 1 or "TRUE" when a Game of LIFE - the "facts 1 LIFE: test is made at the END of life" - must be applied to 2 PROGRAM; statement of line 9. A "DO each location in the grid to 3 DONE = FALSE; FOR" loop is used to compute the next value of 4 DO UNTIL DONE = TRUE; sequence "N" calls to a that location. Fig. 4 5 CALL KEYBOARD_INTERPRETER (N,DONE); called illustrates two potential 6 DO FOR I =1TON; GENERATION which does strategies for computing the 7 CALL GENERATION; the actual work of computing next generation - methods of R END; the next generation content scanning the grid to compute U END; and then displaying it on the one location at a time. / e MONITOR, OR JUST HALT */ 10 RETURN; TO EXECUTIVE, scope. The remainder of Fig. The first strategy, Fig. 11 CLOSE LIFE; 3 summarizes the data and 4(a), is to employ alternate subroutines referenced by copies of a complete LIFE LIFE. grid of 64 by 64 points. If From this point, the LIFE generations are numbered Subroutines Referenced by LIFE: Line can extend in two consecutively, the generation KEYBOARD_INTERPRETER ... This is the routine which directions. In order to have a algorithm would transform looks at the interactive keyboard and interprets user actions complete LIFE program, copy A into a "next" copy in such as specifying initial patterns, modifying patterns, etc. N is both areas have to be B on odd generations, and defined by the GO command which causes return from this traversed - the complete the cycle by subroutine to LIFE. KEYBOARD_INTER- transforming copy B into a GENERATION ... This is the routine which is used to evolve PRETER and the "next" copy in the A grid on one generation of the life matrix and display the result. Since G E N E R A T I O N even generations. Since each the entire matrix is kept in software by GENERATION until routine . . .but the grid requires 4096 bits - after a new matrix has been evolved, there will never be any partitioning has nicely which can be packed into 512 partially updated patterns on the scope. separated the two problems. bytes - a total of 1024 bytes The simpler and most is required for data storage if Data (8 bit bytes) used by LIFE at this level: self -contained of the two this method is used. The FALSE - the value "0 ". s e g m e n t s is t h e primary advantages of this TRUE - the value "1". GENERATION algorithm, so method are its "straight- DONE - variable set by KEYBOARD_INTERPRETER I'll turn attention to it next. forward" nature and its after a user command (GO) to start execution. separation of old and new N - a variable set by user interaction in KEYBOARD_ Grid Scanning Strategies data at all times. INTERPRETER giving the number of generations to evolve. The GENERATION A second strategy is I - a temporary loop index variable. subroutines of the LIFE illustrated in Fig. 4(b), the program has as its design goal strategy of using alternate the transformation of one row -buffers with only one

Fig. 4. The LIFE evolution algorithm - matrix scanning techniques which preserve relevant old information while creating new information in overlapping storage areas. Fig. 3 uses a "procedure - oriented language" (see the A. ODD GENERATIONS box accompanying this article) to specify the program in a more explicit ... the problem is how ADVANTAGES and compact form than is 1. STRAIGHTFORWARD. to preserve the blissful 2. ONLY "NEW" BITS possible with a flow chart. ARE UPDATED IN ALTERNATE MATRIX. innocence of simplicity Each line of the program as in the face of the wordly DISADVANTAGES specified in Fig. 3 could 1. TWO 512 -BYTE R.A.M. forces of complexity. be by an AREAS REQUIRED FOR potentially compiled 64 x 64 LIFE GRID. appropriate compiler - but for the purposes of most home computer systems, EVEN GENERATIONS code from this generation of B. model would be done by hand. The outer loop is MAIN GRID ROW. BUFFERS ADVANTAGES 1. ONE 512 -BYTE LIFE performed by a "DO UNTIL" GRID PLUS TWO 8 -BYTE BUFFERS. construct starting at line 4 64 x 64 64 BITS OLD DISADVANTAGES BITS 1. LESS "INTUITIVE." and extending through line 9. 64 BITS X CURRENT 2. MOVEMENT OF DATA TAKES TIME. The program elements found 3. EXTRA CODE.

36 main grid copy. Two 64 bit rows must be maintained - the last previous row and the An objective: Split the processing into moderately large current row - as 8 byte segments, each of which is less complicated than the program copies. These copies contain taken as a whole. information prior to updating in the row by row scan down the matrix. The main advantage is a saving of data the new. If this is not the defined as the set of X and Y areas (partially offset by case, a less desirable output in limits on the extent of live more complicated software). which partially updated cells in the grid. In Fig. 5, the The main disadvantages are patterns are seen will be the active area is the inner square its less "intuitive" nature, the result. (Counting the CRT of 7 x 7 = 49 grid locations. extra time required to make refresh, the method of Fig. In computing the next data copies, and a slightly 4(a) thus requires three full generation, a box which is larger program. copies of the matrix one location wider in each of The choice between these information, and the method the four cardinal directions is two methods is primarily one of Fig. 4(b) requires two full the "zone of possible of the amount of storage to copies.) expansion" for the pattern. be devoted to data. The In Fig. 5, this zone is the Active Area Optimization tradeoff is in favor of the outer box of 9 by 9 locations. double matrix method when With the choice of a The computation of "next very small LIFE matrix sizes matrix scanning strategy - generation" values need only are considered. The extra 8 the alternate row- buffer be carried out for the 81 grid bytes required for a second method - another locations bounded by the copy of an 8 by 8 grid of bits consideration in designing the outer limits of the zone of hardly compares to the generation algorithm is a programming cost of the computation time alternate row -buffer strategy. optimization method. There When large matrices are is no real need to calculate a Fig. 5. Active area optimization - never compute more than the minimum if speed is at a premium. considered, however, the new value of every cell in a absolute memory requirements of an mostly empty LIFE grid. If I ZONE extra copy of the data are only have one glider with its OF POSSIBLE considerable, but the corner at location (34, 27) of EXPANSION programming involved is no the grid, why should I OF PATTERN more difficult. For example, compute any new generation IN NEXT 111111111%1-8:0:10; consider the limit of an 8 bit information outside the area GENERATION indexing method - a 256 by which could possibly be i 256 grid. This will require a affected by the present "Y" LIVE total of 8192 bytes for each pattern's evolution? Again, CELL LIMITS copy of the LIFE grid. Two the savings in computation copies of the LIFE grid time using active area would use up 16k bytes, or optimization depend upon one fourth of the addressing the size of the grid. If most occupy the grid, space of a typical patterns full PRESENT contemporary micro- then very little will be saved ACTIVE computer, and all of the - for the small 8 x 8 grid AREA -"X "y addressing space of an 8008 "straw man" used in LIVE CELL microcomputer! At the 64 x discussing scanning strategy, LIMITS 64 bit level, the tradeoff is there would also be no point much closer to the break -even to active area optimization. point, but I expect to find at But with a huge 256 by 256 possible expansion. Thus in least 100 bytes saved as a grid, and an 8 by 8 active the case of the 64 by 64 result of using the row -buffer area, this optimization might matrix of LIFE points, this method. An assumption mean the difference between optimization for the pattern which is also being made a 15 minute computation and of Fig. 5 will limit the when the alternate row- buffer a 1 or 2 second computation program to calculation of 81 method is used is that the of the next generation. new points versus the 4096 scope display or TV display Fig. 5 illustrates the poi nts which would be you use for output will have concept of active area calculated if at least one cell its own refresh memory so optimization in a LIFE was found at each of the that the "old" pattern can be program. The current minimum (0) and maximum held during computation of generation's active area is (63) values of the X and Y

37 (Subscripts, like in XPL and PL /M are taken to run 0 through the dimension minus The "facts of life" must be applied to each location in the grid 1.) NRMIN, NRMAX, to compute the next value - cell or no cell - of that location. NCMIN, and NCMAX are used to keep track of the new active area limits after this generation is computed; NROWMIN, NROWMAX, coordinates. This case yields a along with notes on further NCOLMIN and NCOLMAX savings of 98% of the subroutines and data are originally initialized by maximum generation to requirements. The procedure the KEYBOARD_INTER- generation computing time. starts by initializing the data PRETER and are updated by used for the scan of the LIMITCHECK after each The GENERATION matrix, in lines 3 through 15. generation is calculated - Subroutine THIS and THAT are used to using the new active area Fig. 6 illustrates the code alternately reference the 0 limits. of the GENERATION and 1 copies of an 8 byte The actual scan of the grid routine, specified in a data item called a 2 by 8 byte of LIFE, stored in the data procedure -oriented language, data area called "TEMP ". area called LIFEBITS, is

Fig. 6. The GENERATION routine specified in a procedure- oriented language... TEMP of the previous row, and the saved value in TEMP of the 1 GENERATION: current row before updating. 2 PROCEDURE; LIMITCHECK... This is the routine used to calculate the 3 THIS = 0; /* INITIALIZE POINTERS TO TEMPORARY ROW */ next values of NROWMIN, NROWMAX, NCOLMIN, 4 THAT = 1; /e COPY VARIABLE "TEMP" e/ NCOLMAX using the current values of NRMIN, NRMAX, 5 DO FOR I = TO 7; 0 NCMIN and NCMAX. 6 IF NROWMIN = 0 THEN DISPLAY... This routine transfers the LIFEBITS data to the 7 TEMP (THAT,I) = LIFEBITS(63,I); display, on whatever kind of device you have. R ELSE

0 TEMP ( THAT,I) = 0; Data (8 bit bytes) used by GENERATION at this level:

10 /e THIS ESTABLISHED WRAP -AROUND BOUNDARY CONDITION */

11 END; X = TEMPORARY

12 NRMIN = 09; /* THEN INITIALIZE ACTIVE AREA LIMITS */ I = temporary index (not the same as the I in Fig. 3)

13 NRMAX = 0; ICOL = index for column scanning .. .

14 NCMIN = 99; IROW = index for row scanning .. . 15 NCMAX = 0; NCMAX = current maximum column index of live cells 16 ROW_LOOP: NCMIN = current minimum column index of live cells 17 DO FOR IROW = NROWMIN TO NROWMAX; /* SCAN ACTIVE ROWS ONLY */ NRMAX = current maximum row index of live cells 1R DO FOR I = 0 TO 7; /* COPY THIS ROW TO TEMPORARY */ NRMIN = current minimum row index of live cells 10 TEMP (THIS,I) = LIFEBITS (IROW,I);

20 END; Data (8 bit bytes) used by GENERATION but shared with the

21 DO FOR ICOL = NCOLMIN TO NCOLMAX; /* SCAN ACTIVE COLUMNS ONLY */ whole program:

22 CALL FACTS_OF_LIFE (IROW, ICOL); THIS = current line copy index into TEMP. 23 END; THAT = previous line copy index into TEMP. 24 X = THIS; TEMP = 2 by 8 array of bytes containing 2 64 -bit rows. 25 THIS = THAT; NROWMIN= minimum row index of live cells. 26 THAT = X; /* THIS SWITCHES BUFFERS */ NROWMAX = maximum row index of live cells. 27 END; NCOLMIN = minimum column index of live cells. 28 CALL LIMITCHECE; NCOLMAX = maximum column index of live cells. 20 CALL DISPLAY; LIFEBITS = 64 by 8 array of bytes containing 64 rows of 30 CLOSE GENERATION; 64 bits. Assumptions: Subroutines Referenced by GENERATION: L IFEBI TS, NROWMIN, IV ROWMAX, NCOLMIN, EVOLVERVER ... This is the routine used to calculate the next NCOLMAX are initialized in KEYBOARD INTERPRETER value of the ICOLth bit in the IROWth row of LIFEBITS for the first time prior to entry - and retain old values across using the current value of the next row, the saved value in multiple executions of GENERATION thereafter.

38 Fig. 7. The LIMITCHECK routine specified in a procedure- oriented language...

1 LIMITCHECK:

2 PROCEDURE;

3 /* CALCULATE NEXT ROW LIMITS */

4 IF NRMIN -1 < NROWMIN THEN NROWMIN = NRMIN -1;

5 IF NRMAX +1 > NROWMAX THEN NROWMAX = NRMAX +1;

6 IF NROWMAX > 63 THEN NROWMAX = 63;

7 IF NROWMIN < 0 THEN NROWMIN = 0;

/= CALCULATE NEXT COLUMN LIMITS */ the output display 0 IF NCMIN -1 ( NCOLMIN THEN NCOLMIN = NCMIN -1; into device. The LIMITCHECK 10 IF NCMAX +1 > NCOLMAX THEN NCOLMAX = NCMAX +1; routine simply performs 11 IF NCOLMAX > 63 THEN NCOLMAX = 63; comparisons and updating - 12 IF NCOLMIN ( 0 THEN NCOLMIN = 0; Fig. 7 illustrates the high level 13 CLOSE LIMITCHECK: language description of its logic. Subroutines Referenced by LIMITCHECK: None. Computing The Facts of Data (8 bit bytes) used by LIMITCHECK but shared with the LIFE ... whole program: Fig. 8 contains the NCOLMAX, NCOLMIN, NROWMAX, NROWMIN information on implementing the Facts of LIFE in a NRMA X, NRMIN, NCMAX, NCMIN (see Fig. 6) programmed set of Assumptions: instructions. The The arithmetic of the comparisons in this routine is done computation is divided into Two copies of a 256 by using signed two's complement arithmetic - thus a negative two major parts. The first 256 grid would require number results if 0 - 1 is calculated ... this is consistent with part is to determine the more memory than (for code generation on most 8 bit micros. STATE of the bit being example) an 8008 can updated, where "STATE" is a address if you want to number from 0 to 8 as have programs along

described in LIFE Line 1 last with your data. month. The second major step is to evolve the grid location using its current performed by the set of DO by FACTS_OF _LIFE. At value and the STATE. groups beginning with the end of the row loop, prior FACTS_OF_L I FE begins ROW_LOOP at line 16. For to reiteration, the THIS and by performing left and each row of the matrix, THAT copies of temp are bottom boundary ROW_LOOP first copies the switched by changing the wrap- around checks by row into TEMP as the THIS indices. What was THIS row adjusting indices. Lines 8 to copy (the THAT copy is left becomes THAT row with 18 determine the current over from initialization the respect to the next row to be STATE by referencing all 8 first time at lines 5 to 11, or computed. grid locations surrounding the from the previous After all the rows have location being computed at ROW_LOOP iteration been computed, line 28 is (IROW, ICOL). In thereafter). Following the reached. Line 28 calls determining the state, the copying operation, another subroutine LIMITCHECK to subroutines TGET and LGET DO FOR loop goes from compute the next NCOLMIN to NCOLMAX generation's active area applying the FACTS_OF_ computation limits using the LI FE to each grid position in results of this generation. the current (THIS) row as Line 29 then calls a module saved in TEMP. New data is named DISPLAY to copy the stored back into LIFEBITS results of GENERATION

Why should I compute any new generation information outside the area which could possibly be affected by the present pattern's evolution?

39 Fig. 8. The FACTS_OF_LIFE routine specified in a procedure - oriented language. FACTS_OF_LIFE does the actual calculation of the next value for the LIFEBITS location at the IROWth row and ICOLth column based upon the previous value of the 8 neighboring locations. (The state defined in LIFE Line 1, last month.) This routine implements the rules described in BYTE #1, page 73.

Subroutines Referenced by FACTS_OF_LIFE: TGET... This is a "function" subroutine which returns an 1 FACTS_OF_LIFE: 8 bit value (for example in an when you generate 2 PROCEDURE (IRON ICOL); code) of 00000001 or 00000000 depending upon whether or 3 'M = IROW + 1; not a referenced column in one of the two temporary line IF M >63 THEN M = 0; /* BOTTOM BOUNDARY WRAP CONDITION */ 4 copies in TEMP is 1 or 0 respectively. The first argument tells 5 N= ICOL -1; which line of the two, and the second argument tells which 6 IF N ( 0 THEN N = 63; /* LEFT BOUNDARY WRAP CONDITION */ column (0 to 63) is to be retrieved. 7 DETERMINE STATE: LGET... This is a "function" subroutine which returns an R STATE = TGET (THAT,N); 8 bit value similar to TGET, but taken instead from the bit

STATE = STATE + TGET (THIS,N); value at a specified row /column location of LIFEBITS.

10 STATE = STATE + LGET (M,N); LPUT ... This subroutine is used to set a new value into the

11 N = ICOL; specified row /column location of LIFEBITS. NOTE: The routines LGET and LPUT will be referenced from 12 STATE = STATE + TGET ( THAT,N);

13 STATE = STATE + LGET (M,N); the KEYBOARD_INTERPRETER routine in the course of when a life pattern. 14 N = ICOL + 1; manipulating data setting up SETLIMIT ... This subroutine is used to check the current 15 IF N > 63 THEN N = 0; /* RIGHT BOUNDARY WRAP CONDITION */ active region limits when the result of the facts of life indicate 16 STATE = STATE + TGET ( THAT,N); a live cell. 17 STATE = STATE + TGET (THIS,N); 18 STATE = STATE + LGET (M,N); Data (8 bit bytes) used by FACTS_OF_LIFE at this level: 19 EVOLVEIT: IROW = Parameter passed from GENERATION. 20 NEWCELL = 0; /* DEFAULT EMPTY LOCATION UNLESS OTHERWISE */ ICOL = Parameter passed from GENERATION. 21 OLDCELL = TGET (THIS, ICOL); M = temporary, row index. 22 IF OLDCELL = 1 THEN DO; N = temporary, column index. 23 IF STATE = 2 OR STATE = 3 THEN NEWCELL = 1; STATE = count of "on" bits in neighborhood of IR OW, ICOL. 24 END; OLDCELL = temporary copy of old cell at IROW, ICOL. 25 ELSE DO; NEWCELL = new value for location IROW, ICOL.

26 IF STATE = 3 THEN NEWCELL = 1; Data (8 bit bytes) used by FACTS_OF_LIFE but shared with 27 END; the whole program: 2R CALL LPUT (IROW, ICOL, NEWCELL);

29 IF NEWCELL = 1 THEN CALL SETLIMIT (IROW, ICOL); THAT, THIS (see Fig. 6) 30 CLOSE FACTS_OF_LIFE;

are used to reference bits in the positive cases of an "on" TEMP and LIFEBITS (live cell) value for the grid respectively, using location. A cell will be in the appropriate bit location grid location for the next indices. The values returned generation in only two cases: What was THIS row becomes THAT row with respect to the by these two "function If the old content of the next row to be computed. (What's in a name? A pointer of subroutines" are either 0 or 1 location was a live cell and course!) in all cases - thus counting the STATE is 2 or 3; or if the the number of "on" cells old content of the location is consists of adding up all the 0 (no cell) and the STATE is TGET or LGET references 3. A default of NEWCELL = required to examine 0 covers all the other cases if neighboring grid locations. these two do not hold. Line Once the STATE of the 28 stashes the new value grid location is determined, away in LIFEBITS with the Facts of LIFE are subroutine LPUT, and if the implemented by examining new value of the grid location

40 Fig. 9. The SETLIMIT routine specified in a procedure -oriented language.

1 SETLIMIT:

2 PROCEDURE IIROW,ICOLI;

3 IF IRO'A NRMIN THEN NRMIN = IROW;

4 IF IROW > NRMAX THEN NRMAX = IROW;

5 IF ICOL < NCMIN THEN NCMIN = ICOL;

6 IF ICOL > NCMAX THEN NCMAX = ICOL;

7 CLOSE SETLIMIT;

Subroutines Referenced by SETLIMIT: None.

Data (8 bit bytes) used by SETLIMIT at this level: IROW = parameter passed from FACTS_OF_LIFE. ICOL = parameter passed from FACTS OF LIFE.

Data (8 bit bytes) used by SETLIMIT but shared with the Fig. 10. The Tree of LIFE. whole program:

NR MI N, NR MA X, NCMIN, NCMA X (see Fig. 6)

is a live cell, SETLIMIT is called (see Fig. 9) in order to update the active area pointers NRMAX, NRMIN, NCMAX and NCMIN.

Where Does the LIFE Application Stand? An alternative to the pyramid structure way of viewing programming program designs introduced KEYBOARD GENERATION at the beginning of this article INTERPRETER is a "tree" notation showing the heirarchy of modules in the application. The "Tree of LIFE" is shown in Fig. 10 as it exists in materials printed to date. The next installment of LIFE Line will explore the left hand branch of the tree DISPLAY FACTS OF LIMITCHECK diagram by a similar LIFE presentation of a KEY BOA RDINTER- PRETER algorithm.

41 LIFE Line 2 Addendum

Procedure -Oriented Computer may be called as a language, one statement Languages "subroutine" from a program typically represents several The examples of programs or another procedure. A machine instructions. In these accompanying two articles in procedure may be called in a the high level language this issue have been "function" sense as well, in statement has a "semantic constructed in a which case a RETURN intent" - a definition of its procedure -oriented language. statement would be required operation - which can be This method of program to set a value. translated into the lower level representation is compact and machine language. In these complete. In principle, one Data examples several types of could write a compiler to For the purposes of these statements are employed ... automatically translate the examples, no "data programs written this way declarations" are put into the into machine codes for some programs to complicate the computer. By writing the picture. Instead, each "IF THEN ELSE "assignment" a statement this example has a section ...... " - programs in manner, are used for of the form = Y;" is called following it which verbally constructs "X more detail is provided than notation of decisions. The the assignment statement. Y in a flow and the describes each data name chart, first set of ellipses indicate a is "evaluated" and the result program is in a used. Only one "data type" is retained condition which is to be is moved into X when the form. considered at this point machine independent - tested. The second set of statement is executed. If X or T h e p a r t i c u l a r integers and these are - ellipses in the model is used Y have subscripts as in generally assumed to be 8 representation used here to stand for the "true part" EMP(TH languages in bits. - "T IS,I)= resembles several a statement (or DO group) LIFEBITS(IROW,I);" then Arrays integers are used the "PL/1" family of of which is to be executed if and the subscripts (such as is array computer languages, but in several examples. An only if the condition is true; "THIS,I" and "IROW,I" in not intended for compilation is a group of bytes, starting at the third set of ellipses is the the example) are used to by any existing compiler. For the location of its address and "false part" - a statement reference the name as an readers familiar with such extending through ascending which is only executed if the array and pick particular find a memory addresses from the languages, you will condition is false. The word bytes. strong PL /1 influence and a starting point. The purpose of ELSE and the whole false moderate XPL influence. In a an array is to reference part are often omitted if not future issue BYTE will be "elements" within the array needed. running articles on a language by "subscripts ". For these specifically designed for examples, the elements are microcomputer systems, referenced by the numbers 0 "DO groups" - a grouping of PL /M, which is an adaptation through "n -1" for an array several statements beginning of the XPL language for 8 -bit dimension of length "n ". If with a "DO" statement and machines. For the time being, LIFEBITS is an array of 64 "CALL X" is a statement running through a this representation is used by 8 bytes, then used to call a subroutine, in corresponding "END" is used with some notes to aid your LIFEBITS(63,7) is the last its simplest form. A more to collect statements for a understanding. element of the last row of the complicated form is to say logical purpose. In "DO FOR array, and LIFEBITS(I,J) is CALL X(Z) where Z is a set I = 0 to 7;" this purpose is to Programs and Procedures the byte at row I, column J of "arguments" to be passed execute the next few A program is a group of provided I and J are within to the routine. Another form statements through the lines which extends from a the proper ranges. of subroutine call is the corresponding "END;" 8 PROGRAM statement to a "function reference" in an times with I ranging from 0 matching CLOSE statement. Statements assignment statement, where to 7. "DO UNTIL It is intended as the "main A program or procedure the name of the subroutine is DONE = TRUE;" is an routine" of an application. A consists of statements which used as a term in an example of a group which is procedure is a similar group specify what the computer arithmetic expression. repeated indefinitely until a of lines which extends from a should do. In a machine condition is met at the END. PROCEDURE statement to language, these would "DO FOREVER" is a handy its CLOSE statement. A correspond to the selected way of noting a group to be procedure may have operation codes of the repeated over and over with parameters indicated in the computer which is being no end test, a practice often PROCEDURE statement, and programmed. For a high level frowned upon.

42 A QUICK Test of Keyboards

This indicator circuit can be used to advantage when analyzing keyboards using techniques described in BYTE "Deciphering the Mystery Keyboard," page 62.

After completing the pattern at the same time. The ASCII, EBIDIC, or whatever assembly of a keyboard late solution was very simple, could be checked out quickly

one night, I wanted to check inexpensive, and quickly with this system. allowed the bit pattern on the keyboard out for proper the Example operation. So I picked up my keyboard output pins to be A keyboard which VOM and started looking at viewed as a bit pattern. Fig. 1 the voltage levels on the shows the system used. The generates ASCII coded output pins of the keyboard, LEDs are lit or unlit characters has the "A" key pressed and held. The LED since I do not have a CRT depending on the key pressed pattern terminal or any other ASCII and held. The pattern bit would look like this: device available. Well, being a produced by the LEDs will software type, I kinda felt a display the bits of the 0 -LED on, logic level high little frustrated since I am character generated by the -LED off, logic level low generally used to being able key pressed on the keyboard. 0 lS SSO ASCII character to see all the bits of a bit Keyboards which generate code for "A" bit 0 123 456

1 000 001 It should be pointed out that this test method will work without modification Fig. 1. Examining Keyboard Outputs with LED Indicators. A with diode encoded TTL- compatible output can drive the typical LED with about 10 keyboards such as Southwest milliamperes in an active low state. Technical Products KBD -2 keyboard (which is the

keyboard I assembled and + 5V tested with the above method). However, some keyboards may generate an inverted code which +5 shouldn't be a problem. Some

KP o keyboards (surplus and perhaps new) with more

GND I sophisticated debouncing tLED wv330SZ techniques may not work KEYBOARD BO by AND with this test method without ENCODER LED ,33051 some additional components. Dolt R. Walters B I o- For example, some keyboards 330S1 3505 Edge wood Dr. B2. Q "LED have a bus -oriented tri -state Ann Arbor MI 48104 LED 33011 MOS output without B 3 o ____ sufficient drive to light the B4. 'LED 33051 diode lamps; you would need a buffer gate in this case, as LED 33051 B5 well as an output data strobe. Other keyboards require an BE o OrLED 330 ft active "read" operation in which a pulse is supplied to reset flip flops acknowledging CPU acceptance of data.

43 FLYER HYPE - - -WE SELL CAPACITORS, CLOCKS, RESISTORS, LINEARS, TTL, CMOS, MOS, KEYBOARDS, KITS, MUSICIAN'S KITS, SOCKETS, FETS, TRANSISTORS, TOOLS, HOBBYIST'S SPECIALS, READOUTS, MORE KITS, AND SPECIAL ITEMS. SEND A STAMP AND YOUR ADDRESS TO GET OUR NEW FLYER LISTING BILL GODBOUT ELECTRONICS ALL OUR STUFF. BOX 2355, OAKLAND AIRPORT, CA 94614 power VCTO1 1/ìuw suiily WIRE Aim -- -LESS CASE AND HARDWARE - --k , t S REGULATED, SHORT -PROOF, THERMALLY LIMITED. HALF AN AMP CONTINUOUS OR 1 AMP INTERMITTENT. SAVE YOUR - PENCIL SELF THE HEADACHE OF DESIGNING YOUR OWN; USE ONE OF OURS. SPECIFY 5, 6, 8, OR 12 VOLTS. $7,95 + 2 LBS.

0 ° o O C S o° +1 POUND 5203 2K EROM Ç3bOfl SHIPPING O Wir O ---$14,50--- ° e 5204 4K EROM VECTOR P173 WIRING PENCIL - - -A HAND HELD, UNDER 1 OZ. TOOL USED TO HELP GUIDE AND WRAP #36 INSULATED WIRE (FROM A o ---$24.50--- SELF -CONTAINED BOBBIN) ONTO COMPONENT TERMINALS. MAKE CON- NECTIONS BY SOLDERING; HEAT FROM THE IRON MELTS THE INSULA- 8008 8 BIT TION, PERMITTING A GOOD SOLDER BOND. THIS IS A FAST WAY TO MICROPROCES- o WORK WITH COMPONENTS AND VECTORBOARD. COMES WITH TOOL, AN This is a flat, multiconductor wire, INSTALLED BOBBIN OF 250 FT. GREEN WIRE, AND AN EXTRA BOBBIN SOR available in multiples of 10 conduc- OF RED WIRE AS WELL AS INSTRUCTIONS $9.50 - -- $27.95 - -- tors up to 100 conductors. Comes in - GO YOUR WIRE PENCIL-- - o --AND TO WITH O 20 ft. lengths only. Cost is 1¢ per VECTORBOARD-- -TYPE 169P84 -062, PRE-PUNCHEDVECTORBOARD WITH 8 BIT CHIP ° conductor foot; for example , a 20 X ", HOLES ON .1" CENTERS (PERFECT FOR ICs). 81" 17 1/16" SET - 8008 + conductor cable 20 ft. long = $4.00

THICK EPDXY GLASS $8.95 + 1 lb. SPHG /BOARD. 8 -2102s o o O o ° O o o ° - -- $42.50 - -- o O o o ° O o o O o o o o o ° SEE facind ° O SOCKET TO YOU WE MADE A SPECIAL PURCHASE OF PC MOUNT SOLDERTAIL SOCKETS, INCLUDING DISCONTINUED O page o TYPES AND A LOT OF 14 PIN SOCKETS THAT REQUIRE fop HIGHER THAN SPEC INSERTION FORCE. BRAND NEW FROM A LEADING MFGR OF TOP QUALITY IC SOCKETS. co111putE1' news (G) = GOLD PLATED CONTACTS (T) = BRIGHT TIN PLATE ° o° O 11 T 40 PIN 5/$2.95 0 0 T 14 PIN /$1.95 G 14 PIN 10 /$1.95 LOW PROFILE SOCKETS: o T 24 PIN 5 /$1.95 G 16 PIN 10 /51.95 1IIIIIIIIIU T 28 PIN 5/$1.95 G 40 PIN 5/$2.95 o OPI CAP OLOOIIK® ° ° 0 o 0o O O ° 0 o <

44 qODROUT R A M kIt ]31.07 Vio c BIT

COMPATIBLE ALTAIR 8800 & OTHER 8 BIT MACHINES / / \ TRI -STATE BUFFERED OUT DRIVES 20 TTL LOADS; GOOD / 1 BUSS DRIVE, LOW NOISE SUSCEPTIBILITY, EXTEND FEA-

TURE, MEMORY PROTECT ON BOARD VOLTAGE REGULATION.] / PRESENTS 1 LPTTL LOAD TO ALTAIR & OTHER BUSSES.

"THE WHOLE BALL OF WAX ", SAYS BILL

W 1 W11.1 III!, . I' 'III // I , l 1 , I I . i . I I

/1[E IEDCDR

ADD $25 & C3 @g00 WE'LL PROGRAM ADD $15 E C NgE WE'LL PROGRAM FULL LK NEEDS 5V @ LESS THAN .5A AND -12V @ LESS THAN 100 MA-- -BOARD RUNS COOL, POWER SUPPLY DOESN'T GRUNT ffoMpQ40adIE in\aß M00 LaH.D o4NC Q ßaú flVt]CQCNaaIE@ . . - SICRET IS Hi: 1 T MiIOROCOMiPUTER Toó 000

NATIONAL HAS HIT THE MICROCOMPUTER WORLD IN A BIG WAY WITH PACE, A REAL 16 BIT PARALLEL MICROPROCESSOR. THIS SINGLE 40 PIN DIP PROVIDES CAPABILITY FOR :s::. 45 CLASSES OF INSTRUCTIONS WITH UP TO 337 INSTRUCTIONS. DACE 16 BIT MICROPROCESSOR $125

6117 n Agi; 1\V t, WRITE FOR Inl // II c%uJiio c©rlcLc /O* DETAILS... /

c íl I buj I p u * , n c s l R ° M b©©d* ,í,16 . , - - . pRpGRAM;;EROMkS. , - . .. , lp í \\\\\\,\.v.,\.. , , îi. -.- , I , ' pC I WE CAN PROGRAM YOUR 5203s, 1702s, ANI\. /, CALL OUR 24 HOUR HONE LINE TO RE- -- OTHER ROMS FOR $7.50 APIECE, OR 10/,': QUEST HEXADECIMAL CODING FORMS. $35.00 _ ` - 60' .._

NOW...CALL (415) 357 -7007, 24 HOURS A DAY, TO PLACE MASTERCHARGE® OR BANKAMERICARDS ORDERS

45 becomes defective it can be Modular Construction , OR removed, repaired or replaced without having to do a lot of unwiring and rewiring or performing major surgery on Why Not Do It Yourself ? the system. Well, you might think, that is fine for companies and Modular construction is people who can afford to buy nothing new. In fact, the the modules from the various Ask a computer person what "hardware" is and you'll often concept has been around for manufacturers. But I can't get the answer "gates, MSI, ROMs and microcomputers ". Ask a very long time. Many afford that, so my system will make have to be together as an astronautical engineer what "hardware" is and you'll often companies which put computers or computer best I can. Well, guess what? get the answer "boosters, fuel tanks and space shuttles ..." systems use this method of You too can put your system Here in this article, Don Walters covers a few of the "nuts and construction for their together in a modular form bolts" of packaging hardware for electronics. Which concept products. For example, a (assuming you haven't of hardware you wish to use depends upon the point of view - company which makes an purchased a kit which tends your focus of attention. ...CARL industrial process control to limit your ability to go the computer system might buy modular route, or already has the power supply, printed done it for you, such as is the circuit board card cage, case with the many existing Fig. 1. Printed circuit card cage concept. Card cages can be fabricated physical system enclosure, inexpensive computer along these lines. A short cut would be to strip and modify a cage CPU or memory, or systems). obtained from a surplus dealer. peripherals from one or more Figs. 1, 2, 3 and 4 show POP -RIVET OR BOLT HOLES other companies. The how easy it is to fabricate company which makes the printed circuit board card .--IB in. OR AS REQ.() TO CLEAR PC BOARD LENGTH industrial process control cages, cabinets, printed \\\..I computer system then circuit boards, and even SPACING-BRACE \ v BAR assembles the parts together, modular power supplies. writes the necessary True, it always looks good on software, and adds whatever paper, but if you think out other special hardware is the project and are a little

4.5 in. OR TO needed. The end product is careful and persistent, you CLEAR PC BOARD something new, but is still should be able to fabricate HEIGHT made up out of all the the modules of your subassemblies (modules). But computer system at a fraction

more importantly, because of the . cost that commercial the system is made up of units would cost, plus your

EDGE CONNECTORS CAN BE MOUNTED EITHER modules, if a module system will have a good VERTICAL OR HORIZONTAL

Fig. 2. Cabinet Fabrication. Imagination, metal plates and angle stock are blended into a computer cabinet for your system.

ALUMINUM OR STEEL ANGLE STOCK THICKNESS AS NEEDED FOR ADEQUATE STRENGTH

PANELS ARE ALUMINUM OR 7 CANE METAL ( PERFORATED ALUMINUM)

HEIGHT AS NEEDED L by 1 Don R. Walters DEPTH 3505 Edge wood Dr. AS NEEDED N0. 8 -32 THD :Inn Arborrhnr 1111 48104 WIDTH AS NEEDED MOUNTING HOLES ON --USUAL IS 19 in. FOR A 19 in CENTERS PC BOARD CARD CAGE 2.25in.

46 professional-looking Fig. 3, Typical 22-pin printed circuit board stock (minus printed wiring). Note: Gold plating on contacts is appearance. highly recommended; avoid surplus backplane sockets with any tarnish to interface with contact. The printed circuit board

card cage of Fig. 1 is simple to fabricate from locally available materials (hobby shops, hardware stores, and 156in lumber are a perhaps yards WIDTH AS NEEDED good source of materials). 3.6 in. FOR 22 PIN FOR 22 PIN EDGE EDGE CONNECTOR CONNECTOR (4.5 in The side panels of the PC IS COMMON) CHANGE DIMENSION board card cage can be made AS NEEDED FOR from heavy gauge aluminum. DIFFERENT NUMBER OF PINS Aluminum door kick panels available in most hardware stores are good sources for the aluminum of the side panels. The spacing-brace bar TAPER FOR EASY IN- is, again, something found in SERTION INTO EDGE CONNECTOR most hardware stores in the

form of long thin EDGE CONNECTOR LENGTH AS NEEDED FOIL PADS (approximately 1/16 inch 6.5 OR IOin. IS EASY TO DEAL WITH thick) aluminum bars. The PC BOARD EDGE CONNECTOR card cage assembly can be (SIDE VIEW) fastened together with pop rivets or nuts and bolts (6 -32 binder head machine screws are about the right size). Card guides can be made from this is to use an abrasive heavy gauge cookie sheet). It is hoped that this short channeled plastic strips, cleanser such as COMET, Placement of parts is not burst of ideas will motivate aluminum or even wood. The AJAX, etc., and a little elbow critical and there is enough others into trying their hand card guides can be fastened in grease. Then use the methodl room for whatever needs to at building some of the the card cage with glue or that best suits your needs for be in the power supply. There physical hardware of their drilled and bolted in. PC laying out the foil pattern is even enough room for a system (terminal or board edge connectors can be and etching the board. PC barrier terminal strip. Barrier computer). The ideas mounted on the back edge of board edge connector foil terminal strip? Yep, if you presented here can be realized the back spacing -brace bars in pads are not too hard to put use barrier terminal strips on with a little cash, some work, a vertical position by drilling on a board, even if you use an power supplies, in your and perseverance. So if you and tapping holes in the back etch resist pen to do it. There computer, and for connecting are building your computer edge of the back are also a couple of the real world to your or terminal from scratch, spacing -brace bars. Edge companies who sell a rubber computer, then it is very easy partially from scratch, or connectors could also be stamp for edge connector foil to disconnect a wire(s) from from a kit, here are some mounted horizontally on a pads, IC pin pads, etc. the barrier terminal strip with ideas which should be of piece of aluminum and then Etching PC boards is not a screwdriver. interest to you. fastened to the back difficult either. Try it; after spacing -brace bars. all, practice may not make Fig. 4. Building a power supply as an assembly. The cabinet of Fig. 2 is perfect PC boards, but after a another item that can be while of trial and error you'll a BARRIER TERMINAL STRIP fabricated easily. The cabinet be making usable PC boards I BRACKET ETC can be made from aluminum (see Fig. 3). TRANSFORMER Fig. a / or steel angle stock. For small 4 illustrates compact cabinets, aluminum is modular power supply layout PASS TRANSISTOR(S) OR VOLTAGE REGULATOR(S) probably more desirable since that can be easily fabricated. (LM309K ETC) it is lighter. However, steel is The "U" shaped piece of more easily welded and aluminum should be made would be better for larger from 1/32 or 1/16 inch cabinets or relay rack type aluminum (yep, go get an FILTER CAPACITOR(S) enclosures. aluminum door kick panel or Printed circuit boards are not that hard to make. Really! The big secret to I GC Electronics Printed Circuit "U" SHAPED ALUMINUM Handbook and several articles OPEN ENDED BUT WITH is (OR WITHOUT) METAL success to thoroughly clean MOUNTING OR STUDS which have appeared in recent HOLES SCREEN COVERING OPEN the copper surface of the PC issues of and ENDS AND TOP FOR VENTILATION AND RFI board. The best way to do Radio -Electronics. PREVENTION

47 IF; .. -á; ú i .. Memory board options include 1024 word, PRICES; 204,8 word and. 4096 word boards. Each memory board has memory protect features. Altair Computer kit with complete Interfa'ce`board options include a Parallel. assembly instructions $439 Interface hoard and 3.'Serial Interface Assembled and tested Altair $621 boards. These boards allow you to connect 1,024 word memory the Altair to'ourgrowing list of ;input/output card $97 kit and $139 assembled ': deyices. 2,048 word memory card .:..:...$l;á5 kit and-$195 assembled 4,096 word rtiemory card . ..$264 kit and $338 assembled Full Parallel Interface

card . . . , :. $92 kit and $114 assembled 9{.a p8wérful,, general'.:` Serial Interface card , 'seHsfdr an amazingly (RS232) ..: r .$i19 kit and $138 assembled '94;Tri kit form and $621 Serial Interface card (TTL or

x.Y - ,. . - teletype)' ....$124 kit and $146 assembled trcs dr superbly,engineereti,, Expander Card (adds 4 slots etrgfji oóííiputer. Its,'byttè to 8800) ...... $16 kit and $31 assembled designed to tt{tc81t uilization ón(;faund in the SOFTWARE PRICES: 00 has .benchks Altair 4K BASIC - $350 3 tih6se of much more Purchasers of Altair 8800, .4K, of Altair omputers. It has a cycle For cost sensitive applications and for memory, and Altair I/O card ONLY $60 b 2' microseconds; it can directly hobbyists, the Altair 8800 and most Altair Altair 8K BASIC $500 réss 65000 words of memory and 256 in kit options come form. Already, thousands Purchasers of Altair 8800, 8K of Altair ... output devices; . over 200 Altair kits have been assembled and are in of memory, and Altair I/O card .. ONLY $75, nine ins ct' full operatingorder. y. t °kj1hv {/. ? á tav Altair kit .builders include individuals, $ ri" rt Contact Factory for complete Altair Price lop tp a R tats BASIC schools, companies, small laboratories, and ns.it `. ENDED BAStClanguage are List. industrial users i t t designed for most computer needs from Altair DocumentationSpecial ...... includes to scientific applications. Assembly manual, Operators manual, Theory udes an Assembler, K.` of Operation manual, BASIC language ffr Monitor, Debug, a manual, catalog and sample Altair Users Qperáting. stem. Croup newspaper .,. $15 (offer expires November 1, 1975) Ordering Instructions You can order the Altair Computer by simply filling out the coupon in this ad or by py Disk an store over calling us at 505/265 -7553 or 262-1951: Or , ÿnformation on a flexible you can ask fbr free technical consultation or sk. transfer- rate of 250,000 for one of our free Altair System Catalogs..' rds /secon ,> k,to track access Prices, specífícations and delivery subject to time of 10 msec., 4,4.4 ty' for {flange. LVarranty: 90 days on parts for kits and 90 advanced data processing prit days on parts and labor for assembled units. Other Altair options include the Ci Computer terminal with built -i audio -cassette interface for inexpensive mass T#re Altair pffp0 has !teen designed: with ; bus.orientatitth to be'eastÌy expanded and storage, ASR -33': Teletypewriters, and the easily adapted' to thousand's of applications. Altair ,tiÌ(. Line printer which produces 80 and can be plugged into any slot and the columns of.'Sx7:dot matrix.characters at 110 per or lines per s, etc., for that card will .bie characters second 65 minute. pkkOr The sembled to fit`.. ALTAIR COUPON

,; almost anywhere rpose ls., Enclosed is check for $ Altair 8800 Kit Assembled computing (busrnesrp; e BankAmericard # Options (list on separate sheet) uses), the Altair is ideal fop' or Master Charge # include $8 for postage and handling and industrial uses.I Credit Card Expiration Date .._ E Altair Documentation Special : rr-rnrluìi'es Central Fyap Please send free Altair catalog .áa »fibril panel, power suppl :additional boards), '-Efowe any Name and expander board (viwith room for 3 extra boards) all enclosed in a handsome, Address aluminum case. Up to 16 cards can be added inside the main case (memory and I/O City State & Zip

. boards). MITS/6328 Linn NE, Albuquerque, NM 87108,505/265-7553 or 262 -1952 INSIDE the Altair® Computer

-40111M1 ir:,-r :.Ir

1. (CPU) Board. Other Altair Options include additional PRICES: This double -sided board is the heart of the expander boards, computer terminals, Altair Computer kit with complete assembly instructions . .. $439.00 Altair 8800. It was designed around a -cassette board, audio interface line Assembled and tested Altair Computer $621.00 powerful, byte oriented, variable word printers, ASCII keyboards, floppy disc sys- 1,024 word memory board $97.00 kit and length processor -a complete central tem, alpha- numeric display and more. $139.00 assembled processing unit on a single LSI chip using 2,048 word memory board $145.00 kit and n- channel, silicon gate MOS technology. $195.00 assembled 5. All aluminum case and dress panel. The The CPU board also contains the Altair 4,096 word memory board $264.00 kit and Altair Computer has been designed both System Clock standard TTL oscillator $338.00 assembled. -a for the hobbyist and for industrial use. It Full Parallel Interface board $92.00 kit with a 2.000 MHz crystal as the feedback comes in an all aluminum case complete and $114.00 assembled. element. Serial Interface board (RS232) $119.00 kit and with sub -panel and dress panel. $138.00 assembled. 2. Power Supply. The Altair Power Supply Serial Interface board (TTL or teletype) $124.00 provides +8, a +16 a two and -16 volts. 6. It all adds up to one fantastic computer. kit and $146.00 assembled These voltages are unregulated until they The Altair is comparable to mini-com- Audio Cassette Record Interface___$128.00 kit and reach the $174.00 assembled individual boards (CPU, Front 10 -20 puters costing thousand dollars. It Expander Board (adds 4 slots to 8800) ___$16.00 kit Panel, Memory, I /O, etc.). Each board has can be connected to 256 input /output and assembled all the necessary $31.00 regulation for its own devices and can directly address up to operation. 65,000 words of memory. It has over 200 NOTE: Altair Computers come with complete docu- The Altair Power Supply allows you to machine instructions and a cycle time of mentation and operating instructions. Altair cus- tomers receive software and general computer expand your computer by adding up to 16 2 microseconds. boards inside the main case. Provisions for information through free membership to the Altair You can order the Altair Computer by User's Club. Software now available includes a the addition of a cooling fan are part of simply filling out the coupon in this ad or resident assembler, system monitor, text editor and the Altair design. BASIC language. by calling us at 505/265 -7553. Or you can ask for free technical consultation or for 3. Expandability and custom designing. The one of our free Altair System Catalogues. Altair has been designed to be easily expanded and easily adapted to thousands MITS/6328 Linn NE, Albuquerque, NM, 87108 505/265 -7553 of applications. The basic Altair comes with one expander hoard capable of hold- r MAIL THIS COUPON TODAY! 1 ing four vertical boards. Three additional expander boards can be added inside the Enclosed is check for $ main case. BankAmericard # or Master Charge # Credit Card Expiration Date 4. Altair Options. Memory boards now "Creative Electronics" Altair Computer Kit Assembled available include a 1024 word memory Options (list on separate sheet) hoard, a 2048 word memory board, and a Include $8.00 for postage and handling. PLEASE SEND FREE ALTAIR SYSTEM CATALOGUE 4096 word memory board. Interface boards Prices and specifications subject to change include a parallel board and 3 serial boards without notice. Warranty: 90 days on parts NAME (RS232, TTL and Teletype). Note: Interface for kits and 90 days on parts and labor for boards allow you to connect the Altair assembled units. ADDRESS Computer to computer terminals, tele- typewriters, line printers, plotters and other CITY STATE & ZIP devices. MITS /6328 Linn NE, Albuquerque, NM, 87108 L505/265-7553 J Permission Granted to Xerox

(or 311. I1S-11. ;lpeco or otherwise facsimile, copy or duplicale)

BYTE SUBSCRIBERS WILL LEARN ... About all of the new small systems coming on the market ... which are real and which are still in development stages ... there will be a simple series of articles on computer languages ... reviews of kits ... info on surplus buys and used equipment ... circuits for building your own equipment ... discussions of standards ... news of user clubs and programs available ... info on specialized newsletters ... games and game groups ... game programs ... computer art ... computer music ... and if that doesn't cover it, all you have to do is write in and either say what else you want or else start writing the articles yourself.

BYTERS SAVE ... With single copies going for $1.50 (insane price), the $12 subscription price begins to look attractive. You won't want to miss a copy (presumably), so fill in the coupon here and send it in quickly ... no cash needed, just send it in, we'll put you into the subscription computer (with fingers crossed) and send you the invoice. It's probably a business expense, right? If you dislike ripping your soon to be valuable issue of BYTE to shreds by removing a coupon, you are hereby given permission in perpetuity (until subscription rates go up) to violate the copyright and make a copy of any one of the four coupons ... neatness counts. Your friends may do likewise, unless you are a lot less persuasive than we think you are.

The Management

Cut Tear ------

Name I Name

Address I Address

City State Zip City State Zip

''BILL ME ri Check for $12 enclosed !BILL ME 0Check for $12 enclosed Bill BankAmericard or MasterCharge # Bill BankAmericard or MasterCharge #

------Rip ------I ------Shred I ------i

Name i Name

Address I Address

City State Zip Ì City State Zip

f t O I I BILL ME Check for $12 enclosed BI LL ME Check for $12 enclosed

t t Bill BankAmericard or MasterCharge # I Bill BankAmericard or MasterCharge # 1------J 51 Add a Stack to Your 8008

Besides higher speed, the memory. The stack pointer contents of the top location most significant improvement does not need to be are read into register A and offered by the 8080 is the initialized and thus the stack then all of the lower data in addition of a general purpose is always ready for use, or it the stack moves up one stack capability. Using the can be completely ignored by location and the top location stack, the programmer may programs that don't need it is lost. save registers used in without problems. An obvious application of subroutines and interrupt Programming the data the stack is in writing service routines and then later stack is quite simple. The subroutines that do their job restore them. Arguments to output address associated without destroying any subroutines may also be with the stack is given the registers. A simple example is pushed onto the stack. In the symbolic name STPSH for the exchange HL and DE 8080 the stack is kept in STack PuSH and the input subroutine in Fig. 1. First main memory and addressed by means of a stack pointer register. One inconvenience of the 8080 stack is that data may be pushed and popped Fig. 1. A subroutine to exchange DE and HL register pairs using only in byte pairs creating one stack location and no addi- wasted space if only a single tional registers. register needs to be saved. Also, the stack pointer MUST XCDEHL STPSH SAVE A THE be set up at the beginning of OUT ON STACK LAH EXCHANGE H AND D a program before any LHD USING A subroutines are called and LDA kept valid at all times or very LAL EXCHANGE L AND E strange things may happen. LLE Much of the programming LEA convenience of the 8080 INP STPOP RESTORE A FROM STACK stack may be had on an 8008 RET AND RETURN system with the addition of about six ICs and the use of one input and one output address. The basic stack is 16 elements deep which is address is given the name register A is pushed onto the generally adequate for STPOP for STack POP. When stack. Then registers H and D 1).N register saving applications. an OUT STPSH is executed and L and E are exchanged 11(11 Chamberlin Addition of more chips and by the program, all of the using A. Finally the original The Computer Hobbyist substitution of 256 X 4 existing data (or garbage) in state of register A is restored RAMs for the 16 X 4 RAMs the stack is conceptually by popping it off the stack PO Iyn.r :'t).i gives a 256 element capacity, pushed down one location and the subroutine returns. Guy \(: 27.311 ample for almost any use. In and the byte in register A is Because of the push -down either case the added written into the top location nature of the stack, one hardware provides both a which was vacated. When an subroutine that uses the stack stack pointer and a dedicated INP STPOP is executed, the may call another subroutine

Reprinted by permission from The Computer Hobbyist, May /975.

52 Hal Chamberlin and his associates at The Computer Hobbyist put out excellent small systems technology ... designs include a high reliability audio cassette recording method, an inexpensive high resolution graphics display - and this article's stack design among others. Several of their more general purpose designs (e.g., tape interface, CRT display) are that uses it and so on without soon to be available in kit or assembled versions. This article loss of data as long as the describes a custom modification of an 8008 based system stack's capacity is not which you can add to an input /output port to achieve a stack exceeded. The only mechanism. The method is that old standby of minicomputer requirement is that all of the instruction set escape mechanisms - use I/O commands to a data saved on the stack by implement "new instructions." With a stack of sufficient size be popped back subroutine and suitable save /restore subroutines accessed by RST instruc- This circuit brings the off before it returns. tions of the 8008, you can eliminate conflicts in register usage 8008 one step closer Fig. 2 shows a completely between multiple levels of subroutines. The overhead penalty to the goal of a "real" general interrupt service is a single RST or CAL instruction in the linkage code, the computer. routine that uses the data stack to save all registers and register save and restore routines, and the time required to the state of the conditions (C, execute the save /restore subroutines. Z, S, P). When entered, CARL register A is first pushed onto the stack. Then the remaining six registers are saved one at a Fig. 2. A general purpose register time by first loading them and condition code save routine. into A and then pushing A onto the stack. None of the instructions necessary to do GSAVE OUT STPSH SAVE A ON THE STACK this affect the condition flags. LAB SAVE B Finally a chain of conditional OUT STPSH C jumps is executed to create a LAC SAVE OUT STPSH "magic number" in A that LAD SAVE D reflects the state of the OUT STPSH conditions. After A is pushed LAE SAVE E onto the stack, the interrupt OUT STPSH may be serviced without LAH SAVE H restrictions on register usage. OUT STPSH In order to return to the LAL SAVE L interrupted program, first the OUT STPSH magic number is popped off LAI 0 CLEAR A PUT IN HIGH ORDER and added to itself with an RAR CARRY ADA instruction. The JTZ GSAV3 JUMP IF IS ON LBI 170B PUT INTO B THE BIT MASK TO number is such that the JTS GSAV1 TURN OFF THE ZERO FLAG AND are set proper conditions LBI 030B RESTORE THE SIGN FLAG when it is added to itself. GSAV1 JTP GSAV2 OR IN A 004B IF PARITY Next the six index registers ORI 004B INDICATOR IS OFF are popped off and restored GSAV2 ORB COMBINE B AND A in reverse order from which GSAV3 OUT STPSH SAVE MAGIC NUMBER ON STACK they were saved. Finally A is REGISTER AND CONDITION RESTORE ROUTINE restored and a RET GRSTR INP STPOP RESTORE MAGIC NUMBER FROM STACK instruction is executed. This ADA ADD IT TO ITSELF TO RESTORE CONDITIONS method of complete status INP STPOP RESTORE L saving may be modified for LLA use by a debug program. INP STPOP RESTORE H Debug can be entered by a LHA console interrupt and the user INP STPOP RESTORE E may examine things. Then LEA INP STPOP RESTORE D program execution may be LDA resumed with no loss of data. INP STPOP RESTORE C These two programming LCA examples should serve to INP STPOP RESTORE B illustrate the use of the stack. LBA The stack is implemented INP STPOP RESTORE A with an up -down counter and RET RETURN WITH STATUS RESTORED

53 Fig. 3. Logic Diagram of a 16 element data stack. NOTE: "X" refers to a source of logical one, usually a 1k resistor to +5.

OUTPUT 15K WRITE 15K ADDRESS NAND 100NS 'DONS DECODE NO.1 PULSE WRITE ' DELAY m-- PULSE STPSH' PUSH DECODE WIDTH 390 7 CA A D C 220pF B SONS 74123 74123 A 74193 INPUT fi ADDRESS NAND 0 X-B 0 X LD X-B 1 DECODE NO.2 R R CLR 'STPOP' - V 5 POP DECODE - X UPCLK 4 DNCLK SS-1 SS-2 STACK COUNTER

7400 INPUT BUS DRIVERS

2 WE 7 IND o INC 6 6 5 INB 740/10 7 4 4 INA 7489 \) 13 740p 6 ADS 14 AD4 15 CPU DATA AD2 74 01 10 5 OUTPUT BUS AD I CE I7401p 4

CPU DATA INPUT BUS

12 WE 3 IND 10 41 740 P 3 2 INC D /// 6 IN B 4 9 7401/p 0 INA C 2 7489 13 AD8 174401p 14 AD4 15 5 AD2 A ADI 740). 0 CE 7400 q STACK 12 MEMORY

a random access read -write timing problem may arise in a addressing the next lower memory. Rather than the system using the 8008 -1 if element on the stack. data moving when pushes and the output data is not valid Figs. 3 and 4 show the pops are executed, the for the sum of write pulse logic diagram and timing An obvious application up -down counter acts as a delay and write pulse width chart respectively for a 16 of the stack is in writing pointer to the top element on (950 NS) required by the element data stack. A bus subroutines that do their the stack and the pointer MOS RAM. (Timing given is type of I/O system (as job without destroying moves. The logic is set up so for the 2101 RAM. Matters opposed to a "port" type) is that when an OUT STPSH is are improved if 2101 -1, assumed. As shown, any any registers. decoded, the counter first 2101 -2, or 9101 RAM is system with either separate counts up one notch and used.) There should be no data input and output busses after sufficient time for the problems with the bipolar or a bidirectional bus may be address to settle in the RAM, RAM in the 16 element used. Some systems may use a write pulse is generated to version. an output bus with TRUE write the data from A into When an INP STPOP is data and an input bus the RAM. The write pulse recognized, the contents of requiring FALSE data. In this delay can be fairly short (50 the currently addressed case, the 7401s may be NS or so) in the 16 element location are simply gated omitted and the TTL RAM stack but must be at least 200 onto the input bus. The outputs tied directly to the NS for the slower MOS RAM counter counts down one input bus. The two used in the 256 element notch at the end of the INP single -shots, SS -1 and SS -2, version. It is possible that a instruction thereby are used to time the sequence

54 Fig. 4. Stack Timing Diagram. 2101 RAM. I f a 9101 is used, the timing may be speeded up considerably. An 8101 may PUSH OUTPUT ADDRESSED< VALID require somewhat slower timing. In any case be sure to OUTPUT STROBE _1 I check the data sheet for the CPU OUTPUT DATA IMMTIIIIE el /O////////// RAM being used. PUSH DECODE After writing a few programs using the stack you WRITE PULSE DELAY SINGLE SHOT I will wonder how you got SINGLE SHOT 2 ~WRITE PULSE WIDTH along without it. The size and STACK COUNTER N X N +I speed of some routines may be improved by a factor of two if use of the stack alleviates the need to POP constantly reference memory. INPUT ADDRESS EZDK VALID An overall improvement of

INPUT ENABLE I I 10 to 20% can be expected such as POP DECODE on large programs assemblers. The biggest STACK OUTPUT ////!/// //////!////// improvement however will be STACK COUNTER N _X N-I in coding time since register usage will not have to be carefully planned in advance. Use the stack to pass of events for a stack push. memory when either a push parameters to subroutines

First, NAND gate number 1 or a pop is being executed when you don't have recognizes the coincidence of and disables it otherwise. enough registers. the STPSH device code on The logic necessary for a the address bus and an output 256 element stack is strobe pulse or its equivalent. essentially the same as for the The gate output triggers SS -1 16 element version. The which increments the stack major differences are that a pointer counter when its separate single -shot should be 1K 475 ns all orders shipped cycle is finished. An RC used to time the write delay STATIC RAM SIGNETICS postpaid and network between the two and that a buffer is absolutely $4.25 for one 2602 -1 insured. Mass single -shots delays firing of necessary to drive the CPU $4.00 each for residents add 3% SS -2 until the counter has input bus. If the polarity of eight 4 sales tax settled down and the RAMs the input bus is the same as $3.75 recognize the new address. that of the output bus or it is each for 32 The write enable is connected the same bus, 8093 or 74125 WHY PAY FOR BEING SMALL? to SS -2 which allows data on noninverting and quad Cenci-Byte is a new source of memory components the CPU output bus to be tri -state buffers are and other necessary items for the computer hardware written into the newly convenient to use. builder. Our function is to be a voice to the addressed RAM location. Open -collector 7401 gates manufacturing companies representing you, the consumer of special purpose com- The occurrence of an INP may be used instead if the modest volume ponents. Centi -Byte brings you this special intro- is is The STPOP detected by NAND input bus inverted. ductory offer of fast memory chips, chips fast enough gate number 2. As long as the chip enables on the MOS to run an MC6800 or 8080 at maximum speed. These gate is satisfied, data from the RAMS should be grounded so 2602 -1's are new devices purchased in quantity and specifications. RAM is placed on the CPU that the chip is always fully guaranteed to manufacturer's Centi -Byte works by concentrating your input bus. At the end of the enabled. The connection to purchasing power into quantity buys of new INP instruction when the the bus drivers is left as it was components. Let us know what you need in the way NAND gate output goes back for the 16 element version of specialized components and subsystems for future to a ONE, the counter however. The timings for the offerings. With your purchasing power concentrated decrements to address the write delay and write pulse through us, together we will lower the cost of home computing. next lower element on the width single -shots can be set stack. A 7400 connected as to the minimum values an OR -NOT enables the allowable for the standard 1.4 BOX 312 BELMONT, MASS. 02178

55 THE TROUBLED BY CURVE TRACER TRIGGERED THAT WON'T SCOPES? COLLECT DUST.

. .. , . % . a , . led ,._..

The Hickok Model 440 semiconductor curve tracer is The Hickok Model 512 Dual all purpose and convenient to Trace Oscilloscope eliminates use. It's the ideal instrument for the set -up and precision testing, evaluating, classifying problems you've had to accept and matching all types of using other triggered scopes. transistors, FET's and diodes. It's easy to set up You'll get stable, full range Simplified color -coded front panel dynamic displays that you can controls. accurately scale right from Beam finder quickly locates off -scale the screen. traces. Pull -out card for easy, fast Foolproof triggering to 15 MHz. set-up and operation. It gives you superior performance Set -up marks for rapid set -up 10 MHz response flat within 3dB. of 80% of tests. Excellent pulse response. 3% accuracy on vertical and hori- Unique INSTA -BETA display zontal ranger. takes the guesswork out of Hickok industrial lab quality and con- transistor and FET parameter struction measurement. Glass epoxy PC boards used through- In -or -out of circuit testing. out. Regulated power supply. A full range professional tracer at a you price can AT YOUR DISTRIBUTOR $67500 afford. complete ::ith probes and accessories HICKOKAT YOUR DISTRIBUTOR $16500 HICKOK the value innovator the value innovator INSTRUMENTATION & CONTROLS DIVISION INSTRUMENTATION & CONTROLS DIVISION THE HICKOK ELECTRICAL INSTRUMENT CO. THE HICKOK ELECTRICAL INSTRUMENT CO. 10514 Dupont Avenue Cleveland, Ohio 44108 10514 Dupont Avenue Cleveland, Ohio 44108 (216) 541 -8060 TWX: 810- 421 -8286 (216) 541 -8060 TWX 810- 421 -8286

56 A PRECISION DIGITAL WAVEFORM PERFORMANCE GENERATOR YOU CAN RELY ON. AT A PRICE YOU CAN AFFORD.

The Hickok Model 334 DMM is a rugged, non -temperamental, hardworking tool that's easy to use and easy on your eyes. Hickok has established a unique reputation in digital electronics during the past 10 years. The The Hickok Model 334 is another example Model 270 Function Generator of our engineering expertise - gives you a lot more waveform an economical lab quality generating capability than you'd instrument with exceptional expect for its price. durability and accuracy. Puts stable, calibrated, high Easy reading, green quality sine, square and fluorescent display triangle waveforms from 1 Hz 31/2 digit auto polarity to 500 kHz at your fingertips. - 26 ranges including 200 mV With external connections DC you can produce logic AC & ranges pulses, sweeps and ramps, Fast response - AM and FM outputs, phase 2.5 readings /sec and frequency shift keying Basic Accuracies (% of reading) signals, tone bursts and more. DC Volts; ±0.2% ( ±0.5% on 200V, 1200V ranges) AC Volts; ±0.5 % (±2.0% on Ifs an audio generator and 200 mV, 2V ranges) OHMS; ±0.5% much more. DC Current; ±1.5% AC Current; -±2.0% AT YOUR DISTRIBUTOR $16600 AT YOUR DISTRIBUTOR $22900 HICKOK HICKOK the value innovator the value innovator INSTRUMENTATION & CONTROLS DIVISION INSTRUMENTATION & CONTROLS DIVISION THE HICKOK ELECTRICAL INSTRUMENT CO THE HICKOK ELECTRICAL INSTRUMENT CO. 10514 Dupont Avenue Cleveland, Ohio 44108 10514 Dupont Avenue Cleveland, Ohio 44108 (216) 541 -8060 TWX 810- 421 -8286 (216) 541 -8060 TWX: 810- 421 -8286

57 Ah yes! It conjures up visions of an earlier day, many years ago, when Mom, Pop and the kids sat around The Shadow, that newfangled gadget, the radio, and listened to "The Shadow" and "Buck Rogers." Flash forward to the future, right now! Again, we see Mom, Pop and the kids Buck Rogers, sitting around that new- fangled gadget, the computer, balancing a checkbook, converting a four servings recipe to seven, and playing tic -tac -toe. Not very exciting and the things to do with a computer, you say? Well, you're right. But let's see if we can do something to make it at least as exciting as old -time radio. We mentioned three Home Computer applications for a home computer: 1) checkbook balancing A at home? Ask many present day computer computer 2) recipe converting a and systems people what they'd do with home computer 3) game playing you'll get the old silent treatment in return. But all that by For starters Mom and Pop indicates is a lack of imagination. A large part of the BYTE Richard Gardner should have a program for philosophy is the discovery of applications areas through the collecting and summarizing Box l34 imaginations and practical results of readers. Richard Gardner all their financial data, on a I laruard .Square supplies us with a "Gee Whiz" article on potential applications daily, monthly and yearly areas to get things in motion a bit. Richard has extensive Cambridge MA 02139 (for your "friend" and mine, computer applications experience including one stint working the IRS) basis. A family will the Children's Museum in for Boston, creating interactive be more secure by knowing computer oriented exhibits. Eventually, many of the systems the state of its financial ideas Richard mentions in his article will appear as practical affairs. You will want to plans and programs in the pages of BYTE - as developed and described by our readers. If you'd like an interactive meeting of the minds on possible uses and ideas, Richard invites correspondence from readers. ... CARL

ARTHUR'S INfQ 1ATION PAAIOY HIGH OPAL IT Y !NFOA1ATION LINKS AT REASONA&LE PA lc( 5

58 compute interest for different energy use. Open and close Using a Symbol Table to purchase plans, and balance curtains on windows to use Improve the Food Table the checkbook. the sun's energy or keep it Moving on to a subject out. Most people in America close to my heart (just below, 2) Security. While you're have a poor diet in spite of and a little to the right) - at home or away, monitor the the fact that we have more food. Almost anyone can opening and closing of food of a better quality and convert 4 to 7 servings - just windows and doors. variety than any other Since double it and feed the Automatically telephone the country. So I consider the your computer won't leftovers to the dog, or give it police with a recorded following to be important be doing anything most of to a charitable organization message when you're gone or uses for a home computer: the day ... (tax deductible, of course). at home. Monitor the use of 1) Selection of foods on a What you really want to your swimming pool - sound seasonal basis to reduce cost know is whether everyone got an alarm when the pool is in and improve quality. A This application, like others enough nutrients (vitamins, use and nobody's in the program for doing this would mentioned, would use the minerals, protein, etc.) from I ifeguard seat. Fire run for a year and use a data telephone system - the what they ate today. Hint: it monitoring equipment can be base for your area (to take world's largest computer. can be done. I know of two located in many places and advantage of local produce). can see it now. The kids get people who started a small sound an alarm long before A second data base would be home from school and ask, company to do it. you might smell or see programmed for widely "What's for dinner, Ma Bell ?" On to fun and games - hundreds of game playing The Bottom Line Isn't programs have been written (I Always an End Statement invented one called Or, how to profit from YOUGUESS) for all sorts of your home computer: computers and languages. 1) Income management, as You should have them all. It previously mentioned, but will win friends and influence with the help of another neighbors, if you'll pardon computer. Several computer the pun. companies that do nothing I'd say that's at least as but figure taxes (for you exciting as old -time radio. know who!) already exist. Good, but we can do much Eventually they will allow better. Let's consider three your computer to call their things: computer. Your computer 1) Today's computers are shovels in a year's data and very fast. The applications out pops a tax form with all we've mentioned might take the right numbers. You might one hour of CPU time per smoke. The fire department available foods and when think it easier to do your own day, at the very most. So can be called automatically they are best and cheapest. programming, but remember what do we do with the other with another recorded 2) A menu building that you can't write every 23+ hours? message. program to take advantage of program you will want to use. 2) There are lots of These applications will the above system but with In addition, these companies computers in the world, and make use of photocells, the intention of increasing have staffs that do nothing they can talk to each other. theramins (motion sensing variety and maximizing but make program 3) Computers can hear, devices), heat sensors, contact nutrition. improvements and changes see, feel, smell and touch. switches, smelling devices 3) A shopping guide to required by the IRS. What Keep these things in mind (like those used by the take advantage of local food person in his or her right as we consider what might be Defense Department in supplies by indicating the mind could possibly keep called economic, personal and Vietnam to smell passing best one or two markets from track of a myriad of new educational applications for elephants and tigers). Eight which to purchase your food. rules from the IRS? the home computer. bits might be used to This data base might be 2) Play the ponies or the represent a temperature range maintained by some person in puppies? An obvious use for Computerizing the Home of 256 degrees. 100 degrees your locality - and then your computer. Again, use a Since your computer would be adequate for most rented on a per use basis. No data base compiled by some won't be doing anything most locations. One analog to sense in everyone typing in local eager beaver. Perhaps of the day why not put it to digital converter could be today's price for cumquats. you'd be charged a small fee work: used for other analog inputs, Perhaps the New York Times for accessing the day's 1) Heating and air such as from a photocell. A will eventually computerize statistics. Perhaps you have a conditioning control. digital to analog converter its cookbook, plus thousands data base or program to Optimize increases and would generate voltages to be of other recipes, and allow trade. decreases in the inside used by motors and other the public to access this data 3) Then there's always the temperature to minimize mechanisms. base via a . world's biggest daily crap

59 used to play Space War - the Grandpa of computer games! Your computer, a TV set, a few buttons and switches and, presto - Space War! Or ping -pong, or driving down a road, flying and landing an airplane, landing on the moon, chess, checkers (you can play these games in Boston with the Children's Museum computer). 2) Toys that play with you - like robots. The Boston Children's Museum has a robot that was built for about $200. Mass production of a special chip and board will bring that cost down. Then the biggest cost will be the Meccano Set (like an erector set, only better), which can be used to build almost any sort of mechanical device. and quality changes during stories, financial page stories, How about a robot to do the year: clothes, home or any story that contains a housework? furnishings, gifts, trans- keyword or some 3) The ultimate fun, portation, even housing. combination of keywords. though, is to write your own Some local person, or you, This would be done early in programs to do all these could create the necessary the morning and read by you things! Kids, and adults, will game - the stock market. A commodity and price data at breakfast time. play only so many games of company in Philadelphia will bases, then use or rent them. 2) Your local university or tic-tac -toe - then they want charge you $300 a year for a Remember! There is a host high school might have a to know how it works. Help small numeric terminal and of areas for small business computer with courses that them write their first BASIC 24 hour a day access to their activities using your home can be taken via a remote program ... and they're stock data base. You key in computer as a tool of the terminal. Many universities likely to be hooked for life! the number of a stock and trade. All it takes is already give some courses Eventually programming will out pops the high, low, imagination, a bit of digging using only this method. include a broader range of average, etc. Your computer into the wants and concerns 3) The Children's Museum input /out devices such as the could make one call after of your neightbors, and the in Boston will eventually previously mentioned buttons each trading day, collect the programming of your allow you to call their and switches, photocells, stock data you're interested computer. computer, via a terminal or microphones, etc. This will in, hang up, and then computer, and access a data lead to the applications just determine if you should buy, base of cultural, educational, discussed, and who knows Six Munce Ago I Couldn't sell or hold. The decision events in the Even Spell Computer and social what? making could be done by Boston area. Your computer These are just some of the Programmmer .. . your program or one being might call theirs once a day possible applications for a rented from a stock market Computers are good for to learn what's new or learn home computer. All of them wizard you know. keeping you in touch with about a particular type of might not be reasonable or 4) I mentioned how a the world. For example: event. practical things to do but computer could be used to 1) The New York Times they should set you to optimize the purchase of Toys has a computerized data base Computers As thinking. food. This principle applies to of all its back issues - Computers are probably As future issues of BYTE whose price any commodity currently accessible to the the greatest toy ever unfold, the Gee Whizzers general public, for a fee. The invented. Here are some applications will lead to cost will probably go down to examples of how you can practical articles on the the point where you might play around with yours: software and specialized program your computer to 1) It has been rumored peripherals needed to query the Times data base that 50 %, or more, of the implement some of these and retrieve front page computer time used at MIT is ideas.

60 from the Publisher . . LUÍ staff are they real ?

EDITOR Carl T. Helmers Jr. PUBLISHER Wayne Green We have a lot of buzz display generator and hand and were expecting to MANAGING EDITOR words these days, and one received one a few days later be able to set up a production Judith Havey phrase we hear a lot is about in the mail. I was department very soon. The ASSOCIATE EDITORS companies being "real ". disappointed not to have a system is based upon the Dan Fylstra Being the publisher of BYTE, chance to talk with them at Motorola M6800 chip and Chris Ryland it seemed to me that it would greater length. features a PROM loader. CONTRIBUTING EDITORS be worthwhile if I were to They plan to have another In Salt Lake I was met by Hal Chamberlin make a trip to visit the major PROM with Basic in it, which Doug Hancey of Sphere and Don Lancaster microcomputer systems would be quite a step ahead driven out to their new plant ASSISTANT EDITORS companies and talk with for it would free all of the in Bountiful, a suburb. It's a John C. Burnett them ... possibly making RAM memory for use and small building and I have a Susan G. Phil brick more real to our would permit instant use of them feeling that they will quickly readers. Basic without the usual PRODUCTION MANAGER be outgrowing the facilities My first stop was in loading process. Lynn Panciera- Fraser ... I don't think they realize Denver - a short layover ART DEPARTMENT what a demand there is going I gather that Motorola has between planes on my way to Nancy Estle to be for their system. been extremely helpful in Lake. I tried to locate Neal Kandel Salt supplying information and Digital Group there, but They had a prototype up Peri Mahoney the support for the effort. This had no luck. Sorry about and running and it looked Bob Sawyer may have a lot to do with that. I know they are real good. There were a couple of PRINTING because I recently sent them glitches, of course, but they Biff Mahoney Continued on page 81 a check for their video seemed to have these well in PHOTOGRAPHY Bill Heydolph Ed Crabtree TYPESETTING Barbara J. Latti Marge McCarthy ADVERTISING Bill Edwards Nancy Cluff CIRCULATION Susan Chandler Dorothy Gibson Cheryl Hurd Pearl Lahey Lorraine Morton Judy Waterman INVENTORY CONTROL Marshall Raymond DRAFTING Bill Morello Sphere HQ in Bountiful, Utah, just outside of Salt Lake. That's Michael Wise, the president, in COMPTROLLER front. These are new offices for Sphere and the production will be set up in the back part of the building. Knud E. M. Keller

61 Join now Association for Computing Machinery and Since 1947, ACM has served as the educational 1133 Avenue of the Americas, New York, N.Y. 10036 scientific society for computing professionals- 30,000 strong and growing. I would like to consider joining ACM. Please send more information. Write today Name For regular and student membership information Position send the attached coupon to ACM headquarters. With Special Interest Groups covering every major computing Address discipline and local Chapters in most metropolitan areas, City State Zip ACM is probably the organization you're looking for. lowEt Takeoff yours oes.

Hit the deck in shorts and a tee shirt. Or your bikini if you want. You're on a leisurely cruise to remote islands. With names like Martinique, Grenada, Guadeloupe. Those are the ones you've heard of. A big, beautiful sailing vessel glides from one breathtaking Caribbean jewel to another. And you're aboard, having the time of your life with an intimate group of lively, fun - loving people. Singles and couples, too. There's good food, "grog :' and a few pleasant comforts...but there's little resemblance to a stay at a fancy hotel, and you'll be happy about that. Spend ten days exploring paradise and getting to know congenial people. There's no other vacation like it. Your share from $245. A new cruise is forming now. Write Cap'n Mike for your free adventure booklet in full color.

Windammer Cruises. ' A WINDJAMMER INTERNATIONAL SUBSIDIARY OTC

Neme

Address

Cnv State ZIP

Phone

P.O. Box 120, Dept. 121 Miami Beach, Florida 33139 A NOVAL Assembler for the 8008 Microprocessor

To the hardware specialist code had to be written out assembler which is very easy who has just spent months byte by byte. Well, there had to adapt to the 8008. building his own personal to be a better way. computer (well, in the case of What Is An Assembler? the 8008, his own personal A "Noval" Concept Computers, being digital processor), having to actually The solution adopted is machines, operate on a series program the computer can be not unique except in its of numeric codes which an entirely new and unique implementation: Use a piece instruct them to perform one experience. In the author's of software called a macro of a fixed set of operations. case, writing an audio cassette assembler. One way to People, on the other hand, storage based operating accomplish this is to write a find it easier to instruct the system for the 8008 was fun. macro assembler which can computer using symbols At least it was fun the first run on a minimal 8008 rather than numeric codes. time that the program was system. However, despite For example with the 8008, hard assembled and the first doubts about whether this is HLT (e.g., stop!) is easier to time that some unique, even theoretically possible conceptualize and understand sophisticated and entirely with the 8008, writing a than just: 3778. The process ambiguous method of double macro assembler is like of translating symbols into a by indirect addressing had to be re- inventing the wheel (which numeric code is called an developed. However, when it in was a assembly. The software that Peler H. Ilel hers itself came time to rewrite the code "revolutionary" idea...). does this is called an Rost 6297 for the operating system, all Just about every large, assembler. River Station of this had to be done again: medium and small scale In the simplest case, there Rochester NY 14627 Every byte of code had to be computer has a macro is a one to one corres- assigned to its core location; assembler. Wouldn't it be nice pondence between the every label had to be defined; to adapt one to the 8008? It symbols used by the human and every time double turns out that the Data programmer and the numeric indirect addressing or the General Corp. Nova codes used by the computer. equivalent was required, the Minicomputer has a macro Basically, in order to use the Nova macro assembler to assemble programs using 8008 mnemonics, all that has to be done is to redefine the assembler's symbol table so that the correct mapping I wonder how many readers have access to one or more between 8008 symbols and minicomputer systems - or larger systems. It might be a numeric codes is achieved. question of how many readers have already been in the The symbol table for the "pond" of using computers in one form or another versus how DGC macro assembler is many are just in the process of "diving in" for the first time. generally contained in a file For those readers who have access to a mini, the software named MAC.PS. However, Data General has made it very development aspects of the home microcomputer can be easy to redefine any and /or simplified by use of "cross assembly" techniques. In this all of the symbols in the article Peter Helmers tells how he and Loren Woody MAC.PS file. This is done by implemented the NOVAL assembler while undergraduates at using two special operands the University of Rochester. NOVAL is an 8008 cross - that the macro assembler assembler running on a Data General NOVA, based upon recognizes: .XPNG and extensions of the Data General Macro Assembler. .DUSR. The .XPNG operand CARL (meaning "expunge ") deletes

64 Fig. 1. The .PS File Listing.

TITL INTEL IIITEL $OOS FS MACRO CTR' TXTM 1 17 XPNG I644: oNeT..bek (ar..usóyov.C) " 1 -. ..' 1 '.'4O\ / . a5'5' RDY. "1.v00 RDXO 5 (USR RCR.210 MACRO CTS .DUSP FICB.211 1%2 DUSR ACC.212 CUSP- RCD.21: .-1/400 all Nova symbols from the MGR ACE.214 .DUSF AC M.215 MACRO CTS symbol table. The .DUSR (U_:R RCL=216 152 DLPSF: RCPI.217 DLISP RET=05'7 operand (meaning "define DUSR F/('R.200 (USC PFC =OC'" DUSR A(0.201 user symbol ") can then be DUSP PFF'.0:: . ('USF ADC .202 MACRO JFC ('(15F' RFS02: L4SR ADD.20: 100 used to equate most of the (515F F'FZ=0'1:. . DUSP FI(E20J (LISR PLC =0C12 "1,-.' "1 .'rNi'.JOO' DUSR ADH205 -li:'40C' (.LISP F'PL_U1_ .7 8008 mnemonics to [USP FdL=206 (LISP F"1:70=005 .DUSR ADM.-207 .MACRO JFP corresponding numeric codes. (LISP F'ST1=015 DUSP. ': PF/.270 1'0 ['LISP F'STt=C12` (USF. CPB.271 .'1-:.i-1 'aO0.400 use these ('LISP RST3=035 The of two CLISR CPC=272 ('USA F5T4=CW 5 L4ISP C F'(.2.7'_ operands can be seen in the ('USA F'ST5=055 COSE C F'E.274 .MALEO Jr ('LISP- F'S-.T6.O65 listing of the INTEL.PS file (USR C F'M.275 DUSP PST7=075 120 LLISR CPL= ' ' (N5P PTC=043. -: "1 .'400'.400 VU SP C PM.='/' shown in Fig. 1. ('USA CTP.C17: ('LISP VC S.011 DUSR PTS=C'63

. ('uSP (CI:.O21 MACRO JFS The .XPNG operand first ('LISP PT3;.05: (USR (n:(O:1 DUSP SBM___0 110 deletes the Nova mnemonics DLISR (C E041 .DUSR 56E:2:1 i "li -: i t "1!:'400!..00

. DC M.051 í"l)/400 (4JSR SSC- 2:2 UC L.061 DUSK from the MAC.PS symbol CUSR .DUSP SBD2" . ('USF' HLT=000 JPIP . ('USA SBE.234 MACFD

. ('LISF: IIIC.010 " table. Then after telling the .DUSR SEIH= 104 (!IJSR I IIC '320 DUSK SEL 36 í-1)-CC(-1)/400)w400) .DLSP IND0:5' macro assembler that all DUSR SBM=237 ('1)/400 I I1E= 040 DUSP DUSR SUA=.-20

. I IIH=O50 numbers are interpreted as ('L5P DUSP 5L16.221 MACRO JTC

. I ML=OUC' DUSR L'USA SI!C.=222 140 LRB=301 octal numbers (by means of .DUSR L'USA SUD22: l- 1) -(C5- 1)/400).400, DUSR LAC'O2 .DUSP SUE224 :- íi/400 the .RDX and .RDXO .DLISR LRD=_0_ DUSP SLIH225 . DUSP LAE.304 DUSR 5LIL226 MßI:Ro JTP LRH.30`. operands), the line: .DUSR DUSK SLIP1.227 170 DU SP LAL:5'6 DUSP )iRA=250 . "1i- (':'-1)/400'v400, .DUSR ACA =210 CUSP LAM=::07 DUSP ::R6251 í"1i/400 tells the assembler . L'LISR LE:FI=:10 DUSP ::RC.252 ; to insert .DLISR LBC =:10 DUSP ::R(253 MACRO JTS an entry in its symbol table .('USR LB(:1: DUSK ::PE254 160 ['USR L(E=:14 .DUSK XRH.25'_ ,-.1.)-(0-1./400, 400, .('USP LBH.315 ('LISE :':P.L=256 .7'1)1400

that will cause the mnemonic . (USR LBL=316 iMACRO . ('USE LUIR .('LISP LBPI=:17 DUSR PO=101 JTZ ACA (e.g., add register A to . L'USA LCA=:20 DUSR R11O: 150 .('LISP LCB'21 DUSK R2.105 ..-1,-(C1)/400. 400. with to be (aJSR register A carry) LCD323 .DUSR R3107 ('1)/400 the code .DUSR LCE:24 DUSR P4=111 translated into octal DUSP' LCH.:2`- DUSR F1511' MAC PO ACI . LaJSR LC.L=326 DUSP R6.115 014 210 every time that the ACA LCM.327 .DUSR L'USA R7117 a "li -';i. "1!/.00!.45'0 .DLISR L('A330 operand is encountered in the ('USC W10121 . LUSR L('B331 DUSK W'11123 MIPo=F'C' Abt 8008 source code file. Most . ('u5R LDC=:'-2 DUSR W12125 004 . ('L5R LC'E.3'4 DUSR W13127 '-1,-aa 1!!400'.4G0 of the other 8008 mnemonics DUSP LUH:35 DUSR Iá14.131 . MISR LDL.336 DUSK W15.133 -MACRO CPI arc done similarly. . C'USR L('M.337 DUSR W16.135 074 . WSR LEA.340 .DUSK W17.137 "1'-a'. -1!/400,+400 Although most of the . DIJSR LE8341 DUSR W20.141 DUSR LEC:42 DUSR W21.143 M ACRO LAI mnemonics used are standard . fNJSR LED343 .DUSR W22.145 006

. LEH345 WSR .DUSR W23147 "1' -C a : "1!.'JOO x400! as compiled in the first . (,USR LEL346 DUSR 1á24.151 .DUSR LEM.347 ('LISP W25.15: MAC PC' LEI versions of . (4JSR LHA.350 t,urr. 016. .DUSR LHB.351 DUSR W27.157 -'. -l'.'4C'D'.400 documentation, the DUSR LHC352 .DUSR 1430161 . (4JSR LHD.353 .DUSR W31.163 -MACRO LCI INx /OUTxx mnemonics were . DUSR LME354 ('USA W32.165 026 .DUSR LHL356 . DUSP N33167 - 1)/400!4400 changed to a Rx /Wxx format .DUSR LHM.357 .DUSR LLA.360 (USC W34171 MACRO L[I to avoid confusion with DUSR LL6.361 [LISP M35.173 0:6 . DUSP LLC362 DUSR W26.175 "1!-Cii"1,.'4004400 mnemonics for incrementing .DUSR LL0363 .DUSR Iá37=177 .OUSR LLE.364 MACRO CAL MAI: .CI LEI registers (e.g., INA). .DUSR LLM.363 106 046

. L'LISR LLM.367 "1)- ail- 1i:4OO,.4DO! Some 8008 opcodes are DUSR LI'1A=370 "1,/400

. (4JSF' LMB=371 MACFri LMI more complicated than those .DUSR LI'IC=372 '.:MACRO CFC 056 .DUSR LMI(=3 73 102 ."1)-..1)/400.+400 which can be defined using DUSP LME:74 -14-C.7C-1 /4000.400) DLSR LMIH.3 75 MACFC' LLI the .DUSR operand. These (LISR LMLti76 066 DUSP lltA.240 MACRO CFF .-1,-ít11'.'4O0'.400, opcodes fall into the (IUSR ll(B=2a 1 1 :2 DUSR IICC =242 ./40A.,400. -MACRO LMI following two categories: all DLISR NO(2J: 07 DUS'P N(E241 a1,-..."1,. .400.a00 instructions involving labels, . ('USR N(M.245. 'MACRO CFS (USP. NtL2r6 122 MACRO ND! and all instructions involving DU SP N(M247 ./400..4A0. 044 (USC' NOP.:00 "1 . VM "l'-1 -'1!/4D0 .iOC, immediate operands. The DU SR OPA=2:'.0 basic (LISP CIR'E261 MACPO CF2 MACRO SRI problem is that these L4)`iC' CFC262 112 0:4 (LISP COD= 26: ,A00..400. "1 instructions have operands (qI..C' OF'E.26J which (.LISP 'MACRO SUI must be evaluated. [LISR CIF'L MAC PO C TC 014 However these instructions (41SP C'F'M=2:7.7 142 (4SP PAL=02i '1- -1.'4O0.JOC:. can easily be accommodated (Nw'P PAF.0:2 ' "1 .'400 END

65 by using the assembler's immediate statements (e.g., macro facility to perform the for those opcodes which evaluations. An example of a require the use of the macro macro defined for the CAL facility). opcode is the following: Assembler Output .MACRO CAL The assembler output 106 shown in Fig. 3 was obtained (t'1)-((($1) by issuing the command line: /400) *400) macro facility is used in a similar manner to create an MAC WALKL.SR $LPT /L which assembles the source (+1)/400 8 -bit octal representation of the operand for an immediate file WALKL.SR using the type of opcode. For example, 8008 defined symbol table, if S1 #$ is defined as above, and provides a listing via the that the was printed (Note t then: Nova's line printer ($LPT). as a by the line printer.) ^ LLI S1 #$ The leftmost numbers listed As an example, when the is evaluated: give the line number in the following line is encountered source file. The five digit in the 8008 source code: 066 octal number gives the CAL S1 #$ ; CALL SOME 002 address (or program counter) KRAZY ROUTINE value. Note that this is not in then the macro will expand Implementing the Nova! the Intelese format using page this line into the following Assembler and address within page form: (although as stated before, 106 The implementation of the label operands are correctly (51 #$ ) -( ((S1 #$) /400) *400) assembler with the evaluated into Intelese (Si #$)/400 8008 -defined symbol table is format). The six digit octal Now, if Si #$ is a label at very straightforward. The number gives the contents of location 001002 (note that first step is to type in the the given address. The leading this is a true octal number as source file INTEL.PS as it is three zeroes should be opposed to an "I ntelese" listed in Fig. 1. (Note that it ignored. Printed next on the octal number), the number is assumed that the user has line is the source statement 001002 is substituted for some familiarity with the that was assembled into the Fig. 2. A sample program, Nova test editor and file WALKL - source input to the every occurrence of (S1 #$) in code shown. In the case of assembler. the above expansion so that format.) Then just issue the opcodes with operands, the the following expression following command line: source line is printed, resu Its: MAC/S /N INTEL.PS followed by the macro TITL blflLl:L 106 Once this has been done, the expansion of the source line. ENT START. WFLKL

START : RRA 001 002 -((001002/400) *400) assembler can be used with LG[ 277 LEI 30? 001002/400 8008 source files. 41FILhL LAE For the Record ... PAL which is evaluated by the LEA Using the Assembler LAD assembler using octal integer Once the user has tried PAL I he LGF arithmetic to: t is very simple to this system, will no doubt W_1 LAE 106 assemble any source program. find unique features of the l.l_.0 step is to type the macro assembler which he LC [ s[6 002 The first DELAY LAN a LAN 002 source program into file can utilize to his benefit (see C JFZ DELAY Thus the macro, despite the using the Nova text editor. the Data General Corp. Macro TNP I.1MLIb.L is Fig. User's JI'IF' r1 fact that the assembler was An example shown in Assembler Manual, END START written for a 16 -bit machine 2. The .TITL statement is order no. 093 -000081). and keeps track of memory used to name the program if However the following locations in true octal format, desired (the default name is features are some of the most is capable of formatting the .MAIN) and appears at the useful. The starting address label's address in the proper top of all output pages from value can be defined by use Intelese paged format of the macro assembler. of the .LOC psuedo -op. Also, L(...) and H(... ). The The basic format of any the assembler supports statement is: repetition and conditional Iabel: opcode operand ; ops such as: .DO, .I FE,.IFG, comment .I FL, .I FN, .ENDC, .GOTO. Both the label and the These opcodes can allow comment are optional. easier generation of code. However, if they are used, the Also, there is no reason why associated punctuation must further use of the macro be included. An operand is facilities can't be used to take only used for branch and care of the double indirect

66 e 1 Fig. 3. The Assembler output for WALKL. INTEL 1K 2102 RAM

0E01 WAL) L FIOCF'O PEI. 02 14 44 40 07.-1,0.%75 Factory Factory selected for 01 prime, tested units. 02 much faster speed units sold by others. TITL IJOLF L than 650 04 ENT STFIF'T. IJOLI L NS. These are memories that are TTL 05 static 06 00000 000250 START - :-:FA compatible and operate off + 5 VDC. The real 0' LC1 0? 00001 0000_6 ==h workhorse of solid state memories because they OS, 00002 , 400 r400 . LEI are so easy to use. Perfect for memories because 11 0000: 040

00004 - . 400 1G cl;;=,_,J= :0: :0: they are so easy to use. Perfect for TV typewriters, 1_ 14 00005 0--04 FIñLI L LOE mini- computers, etc. With specs. 15 00006 000022 FOL 1._ 00007 0 40 LEO $3.95 ea. or 8 for $30 1- 00010 LOI 1A. 00011 FAIL la 00012 LIJO ru 01: 16- WI 1 :3 -1114 _04 LOE SIGNETICS 1K P -ROM 015 _-0161 IJ: i t LCI 825129. 256 x 4. Bipolar, much faster than MOS 4 00016

25 01017 ..._C: =.UO .- . :00 A '400 40: devices. 50NS. Tri -state outputs. TTL compatible.

LOFI Field programmable, and features on chip address ' 00020 000:07___ CELOY L O11 _- 00022 000021 DC decoding. Perfect for microprogramming appli- .1F_ DELAY _1 ,0110 110 cations. 16 pin DIP. With spec. $2.95 ea. - ;24 000020 DELAY .i400 .1400 006000 400 HALF' L 0,102, 104 104 00027 000005 L IJOLY L .'400 .4 8T97B 000:0 000000 WALK .L . '400 By Signetics. +1 40 0=1 00104 104 Tri -State Hex Buffer Fr +1 +1.'400»400 41 ' 000_2 -0=E-objj ' 4:: ::I_=: 000000 . +1.'40" MOS and TTL Interface to Tri -State Logic. 40 G age da,-es .+ re,.y.,.ed prapepeeper,/ % 4=. I END START Special $1.49

0002 LIOLI L DO YOU NEED A LARGE COMMON ANODE RELAY 000020 JF_ 000074 FU 1.'-'0 READOUT AT A FANTASTIC PRICE? JI1F' 000101 l'll 1.-_4

LC 1 000156 11 li__ S.D. presents the MAN -64 by Monsanto - 40 inch Lfq 000162 19i 1!07

LEI I+00166. I'l, 1.'10 character. All LED construction - not reflective =TAFT 000000 E11 1.'i-i4 1.'06 F10L1L 0000.5 EN 1.'i3O 1.'04 1.'14 bar type, fits 14 pin DIP. Brand new and factory prime. Left D.P. $1.59 ea. 6 for $7.50

MOTOROLA POWER DARLINGTON - $1.99 addressing problem, etc. use of a post -processor could MJ3001 - NPN - 80 Volts - 10 Amps - HFE 6000 Another interesting feature of be to punch a paper tape of typ. To -3 Case. Ideal supplies, the macros is that they can be the object code which could for power etc. recursive. be loaded directly into the We include a free 723 regulator w /schematic for power supply with purchase of the MJ3001. You Further refinement of this 8008 system if a paper tape system, currently being reader was available. get the two key parts for a DC supply for only considered by the author, is $1.99. Regular catalog price for the MJ3001 is the use of a Fortran Disavowal ... $3.82. post- processor program which The fact that the 8008 can could reformat the listing execute some opcodes LARGE SIZE LED LAMPS with addresses in Intelese so doesn't make it a computer. Similar to MV5024. Prime factory tested units. We that they would be easier to This was found out the hard include plastic mounting clips which are very hard read. Also, there is a slight way - by building an 8008 to come by. "bug" when using PC relative system (it seems that while Special 4 for $1 addressing as was done on software people claim they line 39 of the program in Fig. could have surmised this from 48 HOUR SERVICE

3 (e.g., the J M P . +1 looking at the instruction set, You deserve, and will get prompt shipment. On statement). In this case, the hardware people have to orders not shipped in 48 HRS' a 20% cash refund low order byte of the jump build a working system will be sent. We do not sell junk. Money back address is evaluated to one before they learn ...). guarantee on every item. WE PAY POSTAGE. less than it should be. A However, there are some uses Orders under $10 add 75t handling. No C.O.D. post -processor could easily for an 8008 system. The Texas Res. add 5% tax. identify this case, and correct author is presently working it. (Until such time, this on an article by the title: problem can be avoided by "How To Make the 8008 using labels for all branches - Emulate a Computer." S. D. SALES CO. which is better programming [Look for it in a future P. 0. BOX 28810 DALLAS, TEXAS 75225 practice anyway!) Another issue of BYTE - CH.)

67 Asynchronitis sufferers - relief is here. by Christopher M. Bancroft CELDAT Design Associates Box 752 Amherst NH 03031 ch#4

Do you suffer from however, because the the leading edge of the gate asynchronitis? A typical frequencies are not identical and trailing edge of the clock, sufferer has two systems, - as we see in Fig. 1, showing or vice versa, are nearly each with its own clock, and Case 1 - effective simultaneous - out comes a these systems must communication, Case 2 - a short pulse, alias glitch. If Fig. 1. The Asynchronitis communicate. With a and Case 3 Sufferer. There are cases where simple bit garbled, - counters - or any similar the system #1 clock and the AND gate their oops! The result in Case 3 devices - are used, this blip system #2 gating signal overlap communications suffer, shows what happens when may only partially trigger perfectly (1 and 2) and other them, causing erratic or cases (like 3) a pesky where glitch erroneous results. develops. The chronic sufferer may be cured with a close constructed from a 7400 CLOCK package, just a shade more complicated than the single GATE NAND gate. As simple and CASE inexpensive as it is, this OUTPUT dosage guarantees that the GATE gated clock pulses are always 2 complete, eliminating those OUTPUT nasty short spikes which cause bad operation. This GATE 3 cure also provides an output rises falls in 1 and OUTPUT i 1 II i which '-- GLITCH AT TRAILING EDGE `- .(GLITCH AT TRAILING EDGE synchronization with the OF GATED CLOCK OF GATED CLOCK clock, no matter when the CLOCK (SYSTEM NO.1) OUTPUT gate command occurs. (See Fig. 2.) Examining the timing diagram (Fig. 3), we see how the cure works. Gates 1 and 2 GATE (Fig. 2) form a latch that (SYSTEM NO.2)

Fig. 2. How the cure looks. Materials: one 7400 package.

CLOCK iA 4 SYSTEM NO.1 10 13 2 6 12 3

GATE i8 SYSTEM NO 2 PIN 14= VCC = +SV PIN 7=GND= OV ALIGNED OUTPUT GATE COMMAND GATED CLOCK OUT,

TO SYSTEM 40.1

68 Fig. 3. How the cure works. Case I shows the de- glitcher without an active role due to fortuitous alignment. Case 2 shows how a glitch (cropping up at C) is ignored and replaced by a full clock pulse at output F (and a clock synchronized gate level at output E). All gates 7400. A. holds the data in the off state when the gate goes high (logic level one) with the clock I c1J high. At C, there is a possible CASE glitch out when the gate turns I off (Fig. 1, Case 3). However, Gates 3 and 4 form a latch to shield the output from glitches. The output at F, as seen in Fig. 3, is reliably glitch -free. Because E, Fig. 2, is gated in synchronization with the clock, the output at ; uGLITC F is synchronous with the C 2 E (D1 clock input. I__

USE OUR HARDWARE ASSEVBLERSW SAVE TIME AND FRUSTRATION WITH THESE CONVENIENT PRINTED CIRCUITS O

4096 -BYTE MEMORY MATRIX MACRO CARD Have you ever wanted to construct a memory matrix as part of a system ?? The tedious part is the interconnection of all the address and data bus pins! The CDA -1.1 memory matrix is a general purpose memory prototyping card for the 2102/2602/9102 pinout static RAM chips. This PC card is 8 "x10" with 70 pin edge connector, gold plated for reliability. The memory matrix occupies about 60% of available area with all lines brought out to pads for wire -wrap pins and has plated- through holes. The other 40% has 24 16 -pin socket positions and a general purpose area which can hold 12 16-pin sockets, or 4 24-pin sockets, or 2 40 -pin sockets. Add a custom wired controller to interface this board's memory matrix to any computer, or use the prewired matrix as the basis for a dedicated 4K by 8 memory in a custom system. Think of the time you save!! GENERAL PURPOSE PROTOTYPING CARD The CDA -2.1 general purpose 8 "x10" prototyping card comes predrilled for use in construction of custom circuits. This board accommodates 16-pin sockets plus has a general area for 16 -pin sockets or 24 or 40 pin sockets. The 70 -pin edge connector is gold -plated for reliability and the pins are brought to pads for wire -wrap post insertion. The socket side has a solid ground plane to minimize noise problems; busses on the wiring side allow short jumper connections for power and ground. A whole system may be constructed in modules with these boards. DIGITAL GRAPHIC DISPLAY OSCILLOSCOPE INTERFACE, CDA -3.1 James Hogenson (see the October issue of BYTE magazine) designed a 64x64 bit -matrix graphics display for oscilloscope. This design permits use of your scope as a display for ping -pong, LIFE, or other games with your system. The CDA 3.1 card provides all the printed wiring needed to assemble the graphics display device down to the TTL Z -axis output as described in October 1975 BYTE. To complete the display you merely add components to this double sided card with plated- through holes. For info: CIRCLE READERS' SERVICE NUMBER - or, send your order using the coupon below:

YES Please rush me the boards ordered below: FROM: O 4096 -BYTE MEMORY MATRIX PROTOTYPING NAME CARD at $49.95 ADDRESS GENERAL PURPOSE PROTOTYPING CARD AT $29.95 DIGITAL OSCILLOSCOPE GRAPHIC DISPLAY CARD AT $29.95

O I've enclosed a check or money order for CELDAT DESIGN ASSOCIATES $ Foreign orders (except Canada) please P.O. BOX 752 add $2 postage per card. AM H E RST, N.H. 03031 Please allow four weeks for delivery - you must be fully satisfied or your money will be cheerfully refunded.

69 Build an Oscilloscope

Ever wonder how to make a computer draw pictures for output? One way is to use an oscilloscope - which many readers have on general principles for debugging the logic Many members of the circuitry. Jim Hogenson provides a practical circuit for large family of alphanumeric accomplishing that end in his "Oscilloscope Graphics Inter- computer output devices may face" design. This graphics device was conceived by Jim as a be readily used in the home neat idea to add to the 8008 -oriented computer system he was computer system. But there are as yet few devices of a building for a high school science fair. He first mentioned it to graphic orientation which are me in a letter late last year. I suggested to him (or was it the economically acceptable in other around ?) be way that it might appropriate to turn it into the home computer system. an article for the ECS Magazine I was publishing at the time. The oscilloscope graphic After a fair amount of time spent researching the various interface project presented options - plus one lengthy phone conversation with me - Jim here provides one unique, settled on the design shown in this article, which is reprinted inexpensive and here from its original publication in the last issue of ECS uncomplicated solution to Magazine. The interface is very simple, and can be adapted to the graphic output problem virtually any computer with a minimum of 8 parallel TTL in small scale systems. It turns an essential test output lines and a clock pulse line which is active when output instrument the oscilloscope data is stable. Arrangements have been made for a PC version - - into a versatile output of this design (see the parts list, Fig. 6) so you won't have to device. wire wrap the thing like Jim did in his first version. The oscilloscope graphic ... CARL interface is programmed and operated through a parallel 8 -bit TTL compatible input. An image is represented by a by pattern of dots which is ,/ames Hogenson. organized according to the Box 295 computer's instructions. During the scan cycle, the Ilaislad MN 56 548 digital dot pattern is converted to analog waveforms which reproduce Fig. 1. Oscilloscope graphics display block diagram. the image on an oscilloscope screen. The graphic interface stores INPUT the dot pattern within its own internal refresh memory. Therefore, once the pattern has been generated CONTROL COUNTER and loaded the graphic CIRCUITRY into interface memory, the computer is left free to execute other programs. V - MEMORY CHIP Principle Operation SELECT of CKTRY The raster begins its scan r--`- in the upper left-hand corner, I BLANK I Y X scanning left to right and CKTRY DAC DAC I down. The full raster contains L-T- 4096 dots, 64 rows of 64 1 VERTICAL HORIZONTAL dots each. The horizontal OUTPUT OUTPUT OUTPUT scan is produced by a

70 Graphics Interface

Fig. 2. Oscilloscope graphics inter- face instruction codes.

stepping analog ramp wave. Op Code Binary Octal Mnemonic Explanation Each of the 64 steps in the ramp produces one dot. The 00dddddd Odd STX Set X vertical scan is similar. It is a 0ldddddd 1dd STY Set Y stepping ramp wave 10xxx000 2x0 DCY Control - Decrement Y consisting of 64 steps. 10xxx001 2x1 TSF Control - Turn off scan However, there is only one 10xxx010 2x2 ZON Control - Set Z on step in the vertical wave for loxxx011 2x3 ZOF Control - Set Z off each complete horizontal 10xxx100 2x4 ZNI Control - Set Z on with increment ramp wave. The result is 64 10xxx101 2x5 ZFI Control - Set Z off with increment vertical steps with 64 10xxx110 2x6 TSN Control - Turn on scan horizontal steps per vertical 10xxx111 2x7 DCX Control - Decrement X step, or 64 rows of 64 dots 1lxxxxxx 3xx CNO No Op each. d = data x null The timing of horizontal and vertical sweep waveforms originates in a 12 -bit binary counter, the operational center of the entire circuit. control is represented by a The six least significant bits single bit. It is this bit which of the counter are connected is stored in the internal to a digital -to- analog memory of the oscilloscope decodes the 8 -bit input word converter (DAC) which graphic interface. There is and allows for completely converts the digital binary one bit in the memory for programmed operation. input to a voltage level each of the 40% dots in the output. The output of the raster. When displaying the Programming least significant DAC is the image, the 12-bit counter The programming horizontal ramp wave. The which produces the raster instruction format is shown six most significant bits are addresses the appropriate in Fig. 2. Bits 7 and 6 of the connected to a second DAC. dot status bit in the memory input word are the high -order This DAC produces the as that dot is produced on the instruction code. It is vertical ramp wave. screen. The on -off dot status assumed that the addressing Incrementing the 12-bit bit taken from the memory is of dots is done on the basis of data on bits 0 through 5 of counter at a frequency of converted to a Z -axis signal X and Y coordinates. The X the input word is loaded into around 100 kHz results in a which controls the intensity coordinate is the 6 bits in the the least significant counter raster on the screen of the of the dot on the screen. least significant or horizontal section as the X coordinate. oscilloscope. The major portion of the section of the 12-bit counter. When the instruction code is The contrast in the pattern circuitry is taken up in the The Y coordinate is the 6 bits set at 01, the data on bits 0 of dots needed to represent a 12 -bit counter, the DACs, in the most significant or through 5 is loaded into the picture is dependent upon the and the memory. Fig. 1 vertical section of the most significant counter intensity of each dot. From shows a block diagram of the counter. In programming section as the Y coordinate. this point, it is assumed that a oscilloscope graphic interface. from an 8 -bit microcomputer In effect, the Y coordinate dot can be either on or off. The remaining circuitry is the source, all 12 bits of the will select a row of dots, An "on" dot will show up on control circuitry which counter cannot be set at while the X coordinate will the screen as a bright dot of once. The counter is set one select one dot in the selected light. An "off" dot will be a half or 6 bits at a time. It is row. The coordinates loaded dim dot of light. for this reason X and Y into the counter will address When a particular dot is coordinates are assumed in addressed by the counters, it programming. may be set to either the "on" When the instruction code or the "off" state. The on -off (bits 7 and 6) is set at 00, the

71 the memory and select the clock pulse is used to execute desired dot status bit for the instruction. This clock programming. pulse is taken from the After loading the programming. Control code microcomputer output coordinates of the dot "1" will stop the scan. interface. The instruction selected for programming, the Control code "6" will restart code is decoded by the 7410 status of the dot (on or off) is the scan. When the scan is on, triple three -input NAND gate set using the ZON, ZOF, ZFI the 12 -bit counter will be and two inverters. The clock or ZNI control codes. Setting incremented at a high will decrement the stored Y pulse is enabled by the the instruction code at 10 frequency and the coordinate. Control code "7" NAND gate to the directs the control circuitry programmed image is will not set Z, but will appropriate counter section, to decode the three least displayed on the scope decrement the entire 12 -bit or to the strobe input of the significant bits of the input screen. counter by one. This, in control code decoder. word for further instruction. Control code "2 ", "set Z effect, will decrement the The 1 2-bit counter The three least significant bits on ", will program a bright stored X coordinate. Since consists of two 6 -bit counting are called the "control code." dot to appear at the dot the X and Y counter sections sections. Each section Since the 12 -bit counter location presently stored in are cascaded, Y will consists of two cascaded TTL must store selected the counter. Control code automatically be incremented 74193 presettable binary coordinates during "3", "set Z off ", will or decremented once for counters. Bits 0 through 5 of programming, the raster scan program a dim dot or blank every 64 executions of an the data input are common to must be disabled before to appear at the dot location increment or decrement X both sections of the counter. presently stored in the 12-bit control code. The set X instruction will cou mer. The increment and pulse the load input of the Control codes "4" and decrement control codes are least significant or horizontal "5" set Z in the same manner very useful in constructing section, while the set Y as control codes two and lines in an image since lines instruction will pulse the load require repeated "set Z" input of the most significant instructions, often on the or vertical section of the same axis. An effective counter. A pulse on the load method of clearing an image input will cause the data on bits 0 through 5 to be loaded into the proper counter Fig. 3. Timing pulse input to the section. interface. The 8 data lines must Four TTL counters must be stable during this pulse. be used to provide independent loading capabilities for each 6-bit PULSE WIDTH DETERMINED section. The counters within BY EXTERNAL CLOCK PULSE SOURCE MINIMUM 750 NS 1/ each section are cascaded in the normal fashion. The two DATA STORED COUNTER INCREMENTED sections are cascaded by connecting the upper data B output of the X counter section (IC 8, pin 2) through inverter "a" of IC 2 to the count up input (IC 9, pin 5) from the screen is repeating a of the Y counter section. The "set Z with increment" inverter is needed to provide control code in a proper synchronization three. However, after setting programmed loop. This in high frequency counting. Z, these instructions will method allows the option of The control code is increment the counter by one using either a light or dark decoded ber a 74155 decoder thus advancing to the next image background. connected for 3 to 8 line dot location in the raster scan decoding. Bits 0 through 2 pattern. This will allow Circuit Operation are decoded by the 74155. programming of the entire Once the data word on the The control code is enabled raster using only a repeated microcomputer parallel by the pulse coming from the "set Z" instruction. output interface is stable, one 7 41 0 instruction decoder Control code "0" will not only when the instruction set Z, but will decrement the code is set at 10 on bits 7 and most significant or vertical 6.

section of the counter only. Decoder lines 1 and 6 are In effect, control code "0" connected to an RIS flip flop

72 Fig. 4. PC artwork of the graphic interface. by Andrew Hay. (a) Component side.

73 Fig. 4. PC artwork of the graphic interface, by Andrew Hay. (b) Solder side.

74 TO 8-BIT DATA INPUT TO CLOCK PULSE 87 Bo INPUT 0 O O O O C O Fig. 5. A test circuit for manual operation. The set -reset flip flop Vl+ TOGGLE of the 7400 circuit generates a O O O O O O O debounced clock pulse which . will perform the operation set into the toggle switches. If NC you haven't got a computer up and running yet, the manual NO O interface can be used in order to SPDT test out the display. MOMENTARY 13112 1/4 7400 TTL NAND 1/2 7400 TTL f NAND

instruction format, Fig. 2, bit ORed. The resulting pulse zero will be binary zero for increments the counter "set Z on" instructions and according to control incremented on the trailing which provides the scan binary one for "set Z off" commands. edge. Fig. 3 shows the on /off control. The flip flop instructions. The backward The same clock pulse waveform timing. enables the system clock to appearance of this binary taken from the computer Output bits 0 through 9 of provide the high frequency format will be overlooked output interface is used to the 12 -bit counter arc square wave which when programming in octal write data into the memory connected to the address increments the 12 -bit notation. and increment the counter in inputs of the memory. The cou nter. The high frequency system control commands 4 and 5. memory uses four MM2102 Control codes 2 through 5 clock controlled by the RIS The data is written into the type 1 k x 1 bit MOS RAMs define the "set Z" flip flop and decoder lines 4 memory on the leading edge (Random Access Memories). instructions which perform a and 5 are negative logic of the pulse. The counter is Bits 10 and 11 of the counter data write operation. Decoder output are connected to the lines 2, 3, 4 and 5 are chip select circuitry which connected to a group of AND gates (IC 5a, b, c) functioning Fig. 6. Parts list. as a negative logic OR gate. The output of this gate is the Read /Write control line for the memory. When this line is Cl, C2 20 pF disc capacitor in the low state, the data C3, C5, C6-C11 .01 mF disc capacitor present on the data input line C4 .0015 mF disc capacitor of the memory will be C12 25 mF electrolytic capacitor written into the memory location presently stored in IC 1 7410 TTL triple 3 -input NAND gate the 12 -bit counter. IC 2 7404 TTL hex inverter The data input of the IC 3, IC 4, IC 20 7400 TTL quad 2 -input NAND gate memory is connected directly IC 5 7408 TTL quad 2 -input AND gate to bit 0 of the 8 -bit input IC 6 74155 TTL dual 2- to- 4-line decoder IC7-IC10 74193 TTL presettable 4 -bit binary counter word. This bit is stored in the IC11-IC14 2102 NMOS 1024 -bit static RAM memory only when a set Z IC 15, IC 16 MC1406 Motorola 6 -bit DAC command is executed. The IC17,IC18 741 Op amp Z -axis circuit configuration IC 19 NE555 Oscillator (timer IC) will require a high state pulse for a blank or dim dot. As R1, R2 3.3k Ohm resistor shown in the binary R3, R4 5.6k Ohm resistor R5, R6 10k Ohm miniature potentiometer R7 1k Ohm resistor resistors 'h Watt, 10 %) R8 2.2k Ohm resistor (all R9 7.5k Ohm miniature potentiometer

A printed circuit board using the masks of Fig. 4 is available for $29.95. Write to M. F. Bancroft, CELDAT Design Associates, Box 752, Amherst NH 03031.

75 Fig. 7. Oscilloscope graphics interface circuit diagram. (a)

8 -81T DATA INPUT

CLOCK PULSE INPUT B7 BO

IC 2C 6 4 5

IC 20A IC \ 28 O

I I 15 3 13

13 1 2 I I IIO 9 3 4 5 14 C B A IC6 IC IC IC 74155 IA IC IB L. 7 6 5 4 3 2 1 0

4 5 6 7 12 111 10 9 12 V8 Y6 LOAD LOAD X Y CONTROL O O 10 9

IC IC +5V 5C 5A R8 2.2K 8 3 R9 6 IC19 '27.5K NE555 I 2 13 12 4 5

C4 C3 IC IC IC .0015µF II 5D 58 I

6

R/W COUNTER INCREMENT

connected to the Y may be employed. The PC coordinate DAC. The DACs pattern is designed for easy are Motorola MC1406 ICs. soldering. The components enables one memory chip at a The DACs operate on need be soldered on the time for addressing and data voltages of +5 and -5 to -15. bottom side only. input /output operations. The A current output is produced Remember that the chip select circuitry uses 2 by the DACs. The current memory ICs are MOS devices inverters and a TTL 7400 output is converted to a and should be handled as Quad two -input NAND gate. voltage output and amplified on the interface PC pattern is such. Static electricity will The data outputs of the by the 741 op amps. The TTL compatible only. Most easily puncture the thin MOS RAMS are OR -tied and output from the X coordinate scopes will need some type of transistor junctions. connected to an AND gate. amp is connected to the blanking circuitry to amplify Bypass capacitors should The data output is horizontal input of the scope. the TTL level pulses. The be connected between supply synchronized with the high (The scope should be set for design of the blanking voltages and ground. A frequency clock for better external horizontal sweep.) circuitry will be of the minimum of a 10 mF blanking performance. The The output from the Y amp builder's choice, allowing the electrolytic or tantalum output of this gate is is connected to the vertical builder to best suit his scope. capacitor should be used for connected to the Z -axis scope input. A suggested method which is all supply voltages. For the blanking circuitry. The Although the scope used simple and effective is the use +5 logic supply, one .01 mF blanking circuitry converts does not need dc- coupled of the circuit shown in Fig. disc capacitor should be used the TTL level signal to a inputs, triggered sweep, or 13. for each 2 to 5 integrated scope compatible signal high frequency response for circuits. The large which may be varied over a this project, a Z axis or Construction wide range of output voltages intensity input is required. This project may be to best match the scope being The Z axis output provided wire wrapped, the PC artwork used. in Fig. 4 may be used to Bits 0 through 5 of the fabricate a double -sided 12 -bit counter are connected printed circuit board, or the to the X coordinate DAC. printed circuit board product Bits 6 through 11 are mentioned in the parts list

76 electrolytics will filter out Fig. 7. Oscilloscope graphics interface circuit diagram.(b) low frequency noise and voltage transients while the small disc capacitors will 0 0 filter out high frequency +5V R5 4 5 noise which could falsely 12 A6 LSB trigger x015 A A flip flop and counter 13 RI 3.3K B IC15 R3 10 y circuits. C MCI406 5.6K 4 2opF -D9 D Set -up, Testing and Operation IC7 74193 MSB The system requires a +5 HORIZONTAL (X) ° OUTPUT volt, 400 mA power supply 13 12 3 1C17 and a dual polarity supply of - 9V 4 5 (SEE µA741 from ±9 to ±15 volts at 10 3 TEXT) A 2 mA. The wide range of analog B5 LB B supply voltages allows use of IC 2A 1I IC8 existing power supplies for 74193 the graphic interface. II The clock pulse derived +5V the +5V R7 from computer parallel R6 K 4 III 15 OK I/O interface should be active 3 ID Blso A A A6 LS8 in the low state. If a device 2 9 R2 3.3K 10 B 13 C5 6 8 01µF operating with an active high C C R4 7 7 IC16 C2 5.6K 9 D pulse is used, one of the free -D 6 MC 1406 14 T 2OpF IC9 gates of IC 20 may be used to 74193 5 4 Al MSS invert the clock pulse or IC °VERTICAL (Y) 3 2 OUTPUT 20 may be omitted. 13 12 -9V /77 IC18 4 5 A 741 When ready for testing, be (SEE µ 15 certain of voltage supply A A TEXT) polarities, then apply power. 85 L, B B ALL 2102 PIN CONNECTIONS ALIKE,EXCEPT CHIP ENABLE If the scan does not come on ILIO at random, execute a "turn 74193 3111l on scan" command. Using the R/W DI A9 d® 10k Ohm pots, R5 and R6, - adjust the DAC voltage 1014 - IC13 - IC12 - ICII 2102 = 2102 = 2102 2102 references to eliminate any MEMORY ADDRESS distorted concentration of AO LINES CE DO dots in the raster. The system clock consists of a 555 timer IC connected 5 as an astable multivibrator. 2F TTL s COMPATIBLE C/S 4 IC4B 9 IC3B 4 13 12 Z AXIS 4 OUTPUT Cl2 2 25µF +( - -L -- 1 3 C/S3 r I I IC3A Z AXIS ( BLANKING 9 CIRCUITRY

8 C/S 2 I (SEE TEXT) IC IC3C ( 2D 10 2 ( II C/SI IOTIC2E IC3D ( T J U - - 13 ( SCOPE COMPATIBLE Z AXIS OUTPUT ( IC POWER AND PIN CONNECTION CHART C6-11

+5v .O I µ F /77 IC +5 GND +9 -9 N/C

1,2,3,4,5 14 7 6 16 8 9,4 7, 9 16 8, 14 8, 10 16 8, 14 6,7,9,10,12,13 11,12,13,14 10 9 2102 MEMORY ADDRESS PIN CONNECTIONS 15,16 11 2 3 1

17, 18 7 4 1,5,8 A-0 - pin 8 : A -1 -- pin 4 : A -2 -- pin 5 : A -3 -- pin 6

19 4,8 1 A -4 -- pin 7 : A -5 -- pin 2 : A-6 -- pin 1 : A -7 -- pin 16

20 14 7 1 ,2,3,8,9,10,11,12,13 A -8 -- pin 15 : A-9 -- pin 14

77 Fig. 8. CLEAR Program flow chart. Adjusting the frequency may Slight gaps or overlapping be necessary to obtain a between some dots is caused stable raster. The frequency is by non -linearities in the C START LOOP adjusted using R9, the 7.5k manufacturing of the DACs. pot. The frequency of the If no raster at all appears, system clock should be first check for a square wave approximately 100 kHz, but output at pin 3 of the 555 is not critical. The only timer IC. Then check for OUTPUT requirement is appearance of square wave outputs at each 'TURN OFF SCAN" INSTRUCTION the raster. TTL 74193 counter. These If the raster is evenly square waves will be binary distributed over the screen, submultiples of the oscillator but is severely chopped up, frequency. If the counter is check the digital inputs to the operating, check all con- DACs. Use the scope to check nections to the DACs and op LOAD ITERATION the vertical and horizontal amps. COUNT INTO REGISTERS ramp waves individually. If Applying power will the wave is not an even ramp, produce a random pattern of two or more of the DAC on and off dots. Adjust the inputs may be reversed. Note amplitude of the Z axis signal i that DAC input Al is the for best contrast. Since most most significant bit while scopes will have an ge/ OUTPUT "ZFI" input A6 is the least ac- coupled (or capacitor INSTRUCTION significant bit. Reversed coupled) Z axis input, both inputs may also cause amplitude and frequency of / incomplete raster formations. the signal will affect

DECREMENT ITERATION COUNT

Fig. 10. To construct a line seg- ment in the direction shown by the arrow, alternately execute the RETURN commands shown.

a. - ZNI

ZNI,STV1n+1) Fig. 9. Listing of 8008 code for

the CLEAR program. ZON, STY (n+1 I

START d. r ZON, DCX, STVIn+1

00/344 = 006 LAI e. ZON, DCX 00/345 = 201 (TSF) 00/346 = 121 10 OUT ZON, DCX, DCV 00/347 = 006 LAI 00/350 = 205 ZON, 00/351 = 016 LBI DCY 00/352 = 377 00/353 = 026 LCI h. ZNI, DCV 00/354 = 021 00/355 = 121 OUT 10 00/356 = 011 DCB 00/357 = 150 JTZ 00/360 = 365 00/361 = 000 00/362 = 104 JMP 00/363 = 355 00/364 = 000 00/365 = 021 DCC 00/366 = 110 JFZ 00/367 = 355 00/370 = 000 00/371 = 377 HLT

78 performance. Charging the Fig. 11. CHECKERBOARD Test Pattern Program flow chart. capacitor within the scope with too much voltage at a START given frequency will cause the blank pulse to carry over into the next dot. This could cause more dots than desired TURN OFF SCAN, to be blanked out or dimmed. SET X &YTO "0," After a satisfactory raster CLEAR REGISTERS, is obtained, each instruction SET PARITY REGISTER. should be executed to verify its operation. First, clear the screen. The flowchart for a simple CLEAR program is INVERT PARITY; shown in Fig. 8. The method SELECT "SET Z" outlined is to simply send out DECLOOP INSTRUCTION ACCORDING TO a "set Z off with increment" PARITY. instruction 4096 times. Fig. 9 shows the program listing for an 8008 system. This example used the B and C keep registers to track of NO the iteration count. The DOTLOOP INCREMENT "B" register contents are decremented once for each YES output ZFI instruction. The OUTPUT SELECTED RETURN instruction may be SET "Z" substituted with a HALT if INSTRUCTION the CLEAR program is not to be used as a called subroutine. The CLEAR subroutine as listed in Fig. 9 NO begins by turning off the scan XSECLOOP INCREMENT "C" (which must be done before any as stated), programming, YES but does not turn the scan back on after the interface memory is cleared. The course of operation is left to NO the programmer once CLEAR ROWLOOP INCREMENT "D" has been called. in Fig. 10 The chart may YES be used in testing the various control commands. The chart shows the commands to be used to construct a line YSECLOOP NO ADD 0408 to segment in the direction "D" REGISTER shown by the arrow. Lines moving in a downward YES direction require that Y be reset with (n +1) for each dot programmed, "n" being the

INCREMENT "E" EXTRA TIME TO INVERT PARITY AN EXTRA TIME.

HALT

79 Fig. 12. Listing of 8008 code for present Y coordinate. Use the the CHECKERBOARD program. STX and STY instructions.to select a starting point. The dot whose coordinates are START = LAI = 302 LAC 00/200 006 00/255 X =00, Y =00 will be in the 00/201 = 201 (TSF) 00/256 = 024 SUI upper corner, the 00/202 = 121 OUT 10 00/257 = 003 left point 00/203 = 006 LAI 00/260 = 150 JTZ where the scan begins its 00/204 = 000 (STX) 00/261 = 267 cycle. 00/205 = 121 OUT 10 = 00/262 000 The flow chart for a 00/206 = 006 LAI 00/263 = 020 INC CHECKERBOARD TEST 00/207 = 100 (STY) 00/264 = 104 JMP 00/210 = 121 OUT 10 00/265 = 221 PATTERN program is shown CLEAR 00/211 = 016 LBI 00/266 = 000 in Fig. 11, with an 8008 REGISTERS 00/212 = 000 ROWLOOP 00/267 = 026 LCI listing in Fig. 12. The pattern 00/213 = 321 LCB 00/270 = 000 produced will be 16 00/214 = 331 LDB 00/271 = 303 LAD 00/215 = 351 LHB 00/272 = 044 NDI alternating light and dark 00/216 = 361 LLB 00/273 = 037 squares. The 64 rows of dots 00/217 = 046 LEI 00/274 = 024 SUI are divided into 4 groups of PARITY REG 00/220 = 000 = 00/275 017 16 rows each. Each row is DECLOOP 00/221 = 040 INE 00/276 = 150 JTZ divided into 4 segments. The 00/222 = 304 LAE 00/277 = 305 00/223 = 044 NDI 00/300 = 000 segments are alternately light 00/224 = 001 00/301 = 030 IND and dark. The 4 groups also 00/225 = 150 JTZ 00/302 = 104 JMP alternated to reverse the 00/226 = 246 00/303 = 221 pattern between each group. 00/227 = 000 00/304 = 000 00/230 = 066 LLI YSECLOOP 00/305 = 303 LAD The set Z with increment 00/231 = 332 00/306 = 044 NDI instructions is used. The DOTLOOP 00/232 = 301 LAB 00/307 = 340 least significant bit of the E 00/233 = 024 SUI 00/310 = 330 LDA register is used in DECLOOP 00/234 = 020 00/311 = 024 SUI 00/235 = 150 JTZ 00/312 = 140 to alternate between "set Z 00/236 = 253 00/313 = 150 JTZ on" and "set Z off." To 00/237 = 000 00/314 = 326 obtain the complement of the 00/240 = 010 INB 00/315 = 000 entire pattern on the screen, 00/241 = 307 LAM 00/316 = 303 LAD place a 001 in location 00/242 = 121 OUT 10 00/317 = 004 ADI 00/243 = 104 JMP 00/320 = 040 00/220 instead of 000. 00/244 = 232 00/321 = 330 LDA 00/245 = 000 00/322 = 040 INE DECLOOPJMP 00/246 = 066 LLI 00/323 = 104 JMP 00/247 = 333 00/324 = 221 00/250 = 104 JMP 00/325 = 000 Ó0/251 = 232 END 00/326 = 006 LAI 00/252 = 000 00/327 = 206 (TSN) XSECLOOP 00/253 = 016 LBI 00/330 = 121 OUT 10 00/254 = 000 00/331 = 377 HLT 00/332 = 204 (ZNI) 00/333 = 205 (ZFI)

TTL Z -AXIS Z AXIS DRIVE (TTL) -9V DRIVE FROM GRAPHICS INTERFACE 22k

Fig. 13. A Z -axis drive circuit used to control blanking in the author's original version of the design. The transistors are 2N5139s and the diodes are silicon switching diodes such as the 1N914 part or its equivalent. Z AXIS OUTPUT

80 Mike is demonstrating the prototype Sphere system. It is on Here's Mike with the Sphere system cabinet and keyboard. In three boards, a keyboard /character generator, CPU and production there will be several more control keys on the memory board. The output is being displayed on a small keyboard, including a numeric set of keys for fast number television screen. entry, cursor control, etc.

game program and let me sit a interfacing and from page 61 much more than rumor. of memory down and kill off the entire The dates of release weren't peripherals. some of the other 6800 based population of a mythical firmed up yet, but it was We'll have a lot more info computer systems which are country in short order ... definitely coming down the on just what MITS is doing coming out ... more on that and become instantly pike. Ed said that MITS and their plans in the near later. addicted to computer games. would give good support to future.

The plans were to set up a I promptly ordered a both the and From New Mexico I flew production facility in the complete Altair 8800 with Motorola M6800 systems. to San Antonio and a short back part of the building and enough memory to handle With both Sphere and MITS visit to Southwest Technical have the first kits available in Star Trek. I wanted it right producing 6800 systems Products, Dan Meyer

October. This will take some now, but I had to get in line Motorola was doing well and proprietor. SWTP has long doing, but I wouldn't be behind the other customers. their solid backup of their been well known for their surprised if they come close Next, in talking with Ed chips was paying off. This excellent hi -fi kits. Readers of for they are a very Roberts, the president of would also mean a big plus to The Audio Amateur determined group. MITS, I found that the users since this would allow a (Peterborough NH 03458) They have an interesting rumors of a new M ITS system lot more swapping of set of peripherals in the based upon the M6800 was programs and would simplify Continued on page 87 works, including some medium cost floppy disk systems, and a possible revolutionary tape system. We'll try to bring you up to date on Sphere as things progress.

MITS The Altair 8800 has been selling well, as you probably know, and they are busy keeping up with it. They are also in production on all sorts of interface and control boards, memory boards, etc. They also have a very busy group of college -types working away at program development. They are delivering Basic now and are about ready to let loose Extended Basic. They put Basic into a system for me so

I could see it work ... then Meanwhile, at MITS, over 5000 Altair 8800's have been shipped. Here is a view of part of the ran in a tape of a Hammurabi production line (during lunch when people were out).

81 two covers and meet at the expanding one's creative middle. Computer Lib is a powers - a topic of intense general, "cultural" personal interest to the introduction to computers author. Some useful for all those who believe that introductory material on they will "never understand" display terminals, film output what computers are all about. (and computer art), halftone It covers many topics: The image synthesis, and shading basic stored program concept, and smoothing objects is the "rock bottom" aspects of included here. The author computer architecture and then describes his far -out machine language, ideas for an advanced minicomputers, big text -handling system which computers, time -sharing, manipulates "hypertext," and programming languages (with a super graphics system which two excellent examples, is the ideal medium for TRAC* and APL), IBM and "fantics" (the art of getting the computer industry, ideas across, both "cybercrud," the author's emotionally and cognitively) own term for the practice of and "thinkertoys." These are putting things over on people then combined into the using computers (especially, ultimate system, "Xanadu," forcing them to adapt to a which, of course, is part of Computer Lib /Dream with rotating clay against rigid, inflexible, poorly the "Xanadu network." Machines by Theodor H. your fingers until it becomes thought out system), and Besides the material on Nelson. $7 postpaid from a pot. This is categorically even some comments on graphics, this part of the Hugo's Book Service, Box false. Computers involve "The Hearts and Minds of book also features CAI and 2622, Chicago IL 60690; 10 imagination and creation at Computer People." PLATO, information copies for $50 postpaid the highest level. Computers I found these last retrieval, and artificial are an involvement you can comments especially intelligence. This is a marvelous, really get into, regardless of poignant. "Computer Nelson is a generalist, for delightful, one -of -a -kind your trip or your karma ... people," Nelson says, "are a the most part, and, like many book. Softbound in an 11" THEREFORE, welcome to mystery to others, who see generalists, his explanations by 14" format and filled with the computer world, the them as somewhat for things are sometimes short pieces on many damndest and craziest thing frigh tening, somewhat overly simplistic. Readers elements of computer lore, that has ever happened. But ridiculous. Their concerns with a strong technical this is the Whole Earth we, the computer people, are seem so peculiar, their hours background in certain areas Catalog of computer fandom. not crazy. It is you others so bizarre, their language so will wince at his As the author says, a who are crazy to let us have incomprehensible ... We are explanations of DNA and computer fan is "someone all this fun and power to like those little people down RNA, the brain, artificial who appreciates the options, ourselves. COMPUTERS among the mushrooms, intelligence (which Nelson is, fun, excitement, and fiendish BELONG TO ALL skittering around completely strangely, down on), and fascination of computers ... MANKIND." preoccupied with "body electronics" (ESB and Somehow the idea is abroad The two halves of the unfathomable concerns and all that, including that compu ter activities are book, Computer Lib and seemingly indifferent to "psycho- acoustic dildonics "). uncreative, as compared, say, Dream Machines, start at the normal humanity. In the And "practically- minded" moonlight (i.e., pretty late, engineering types, who are with snacks around the involved in the hard work of equipment) you may hear our actually building interactive music." I'll leave some of the computer systems, may more telling comments about snicker at Nelson's grandiose computer people for you to plans. But ideas like these are read yourself. desperately needed, and The other half of the people who use computers book, Dream Machines, is would do well to read this primarily an introduction to book and share its visions. computer graphics, as a way We're publishing this review of organizing ideas and in the hope that some of you ,i,, out there will get the book, _,:_,¡, *TRAC is a registered service v_ seize upon its ideas and turn mark of Rockford Research, Inc., which means that we have to them into reality. How about ROOK print this acknowledgement it, ladies and gentlemen? whenever we so much as mention REVIEW its name. -d.h.f.

82 into the intricacies of program development, routines, and sharpening programming skills. Techniques like masking, setting up pointers and Practical Digital Electronics - devoted to descriptions of the counters, and character An Introductory Course, by various logic families (27 strings are discussed in detail furls Blukis and Mark Baker. pages) and more to data with illustration by actual Hewlett- Packard Co., 1501 communications (7 pages) Machine Language source programs. Other Page Mill Road, Palo Alto CA and memories (13). Not to be Programming For The chapters cover sorting and 94304. Text (order missed are some useful "8008" (and similar mathematical operations, #05035- 90013, $8) and appendices on numbering microcomputers) by Nat input/output programming, systems and codes, and a Wadsworth. Scelbi Computer workbook (order # real time programs and 1322 05035- 90003, $8) may be brief description of Boolean Consulting, Inc., PROM considerations. The Post Road, obtained from the company algebra and Karnaugh maps. Rear -Boston mathemathical operations CT 06460. 1975. at the above address, or Sequential circuits are not Milford chapter gives detailed source through a local HP sales introduced in this elementary $19.95. programs for floating point office. text. Perhaps the best review of arithmetic operations which Whether this book is Machine Language are directly translatable into a depends on The This is good up -to -date, suitable for you Programming For machine code for use. This text on digital whether you are approaching "8008" is in the author's own introductory alone is worth the price of an the you have electronics. It is most notable the topic more from words. "By time the book considering some of absorbing and for its treatment of experimenter's or hobbyist's completed the prices quoted for similar understanding the contents of arithmetic elements and other viewpoint, or from a more programs being offered. this publication you should elementary topics in "serious" professional From a different point of computer design, data engineering viewpoint. If you be well equipped to develop view, Machine Language communication codes, and are a hobbyist, Don programs of your own and Programming For The thus be in a position to reap memories. Lancaster's TTL Cookbook "8008" is a very unusual The text begins with an might be more appropriate even greater benefits from book. The author takes a elementary description of (see the review in BYTE #1). your 8008 based subject matter that has all the gates and flip flops. If you are more "seriously" microcomputer ..." possibilities of being dull a Considerable attention is inclined, this might be the The book begins with reading and blends it into a devoted to the simple RS flip book for you. The detailed description of the book that is enjoyable to flop in order to make sure accompanying laboratory CPU instruction set and from read. One gets the impression that the reader understands workbook is independent of that point on the reader is led that programming is a new art exactly how this basic the text and is useful only if form with the preciseness of memory element works. This you are also purchasing HP's science, but the beauty of art. is followed by chapters on 5035T Logic Lab setup. Although the book is based data communications and -d.h.f. upon the 8008 machines, the logic families. Then counters, material is presented in such a shift registers, and other way that it is a worthwhile combinational circuits are investment for learning studied; especially useful are machine language the explanations of priority programming. encoders, which are used to select among interrupts Bill Fuller coming from peripheral 2377 Dalworth 157 devices attached to a Grand Prairie TX 75050 computer, and parity generator /checkers, which are used in data communications. Finally, there is an excellent chapter on arithmetic elements, and a short chapter on memories (RAMs and ROMs). While the inclusion of material on memories and data communications is an excellent idea, the actual coverage of these topics is somewhat sparse. One wishes that less space had been

83 INTEL 8008 TABLE OF OCTAL OP CODES AND "OLD" MNEMONICS (Note: the instruction mnemonics used are those of Key: "M" - mnemonic "OP" - op code "L" - length "S" - states t h e o r i g i n a l 8008 "T" - time @ 500 kHz (us). documentation, rather than the later Intel mnemonics for this computer designed for M OP L S T M OP L S T "compatibility "( ?) after the fact with the 8080. The early ACA 210 1 5 20 JFC loo 3 9/11 36/44 mnemonics are easier to map ACB 211 1 5 20 JFP 130 3 9/11 36/44 into op codes using mental ACC 212 1 5 20 JFS 120 3 9/11 36/44 gymnastics than the later set.) ACD 213 1 5 20 JFZ 110 3 9/11 36/44

ACE 214 1 5 20 JMP 104* 3 11 44

ACH 215 1 5 20 JTC 140 3 9/11 36/44 ACI 014 2 8 32 JTP 170 3 9/11 36/44 M OP L S T ACL 216 1 5 20

ACM 217 1 8 32 JTS 160 3 9/11 36/44 LHA 350 1 5 20

JTZ 150 3 9/11 36/44 LHB 351 1 5 20

ADA 200 1 5 20 LHC 352 1 5 20

ADB 201 1 5 20 LAB 301 1 5 20 LHD 353 1 5 20

ADC 202 1 5 20 LAC 302 1 5 20 LHE 354 1 5 20 ADD 203 1 5 20 LAD 303 1 5 20 LHI 056 2 8 32

ADE 204 1 5 20 LAE 304 1 5 20 LHL 356 1 5 20

ADH 205 1 5 20 LAH 305 1 5 20 LHM 357 1 8 32 ADI 004 2 8 32 LAI 006 2 8 32

ADL 206 1 5 20 LAL 306 1 5 20 LLA 360 1 5 20

ADM 207 1 8 32 LAM 307 1 8 32 LLB 361 1 5 20

LLC 362 1 5 20

CAL' 106 3 11 44 LBA 310 1 5 20 LLD 363 1 5 20

CFC 102 3 9/11 36/44 LBC 312 1 5 20 LLE 364 1 5 20

CFP 132 3 9/11 36/44 LBD 313 1 5 20 LLH 365 1 5 20

CFS 122 3 9/11 36/44 LBE 314 1 5 20 LLI 066 2 8 32

CFZ 112 3 9/11 36/44 LBH 315 1 5 20 LLM 367 1 8 32 CPA 270 1 5 20 LBI 016 2 8 32

CPB 271 1 5 20 LBL 316 1 5 20 LMA 370 1 7 28

CPC 272 1 5 20 LBM 317 1 8 32 LMB 371 1 7 28

CPD 273 1 5 20 LMC 372 1 7 28

CPE 274 1 5 20 LCA 320 1 5 20 LMD 373 1 7 28

CPH 275 1 5 20 LCB 321 1 5 20 LME 374 1 7 28

CPI 074 2 8 32 LCD 323 1 5 20 LMH 375 1 7 28

CPL 276 1 5 20 LCE 324 1 5 20 LMI 076 2 9 36

CPM 277 1 8 32 LCH 325 1 5 20 LML 376 1 7 28 CTC 142 3 9/11 36/44 LCI 026 2 8 32

CTP 172 3 9/11 36/44 LCL 326 1 5 20 NDA 240 1 5 20

CTS 162 3 9/11 36/44 LCM 327 1 8 32 NDB 241 1 5 20

CTZ 152 3 9/11 36/44 NDC 242 1 5 20

NDD 243 1 5 20

1 5 1 DCB 011 20 LDA 330 5 20 NDE 244 1 5 20 DCC 1 5 021 20 LDB 331 1 5 20 NDH 245 1 5 20 DCD 031 1 5 20 LDC 332 1 5 20 NDI 044 2 8 32

DCE 1 5 1 041 20 LDE 334 5 20 NDL 246 1 5 20

DCH 1 5 1 051 20 LDH 335 5 20 NDM 247 1 8 32 DCL 061 1 5 20 LDI 036 2 8 32

LDL 336 1 5 20 NOP* 300 1 5 20 HLT 000 1 X X LDM 337 1 8 32

1 X X 001 ORA 260 1 5 20

377 1 X X LEA 340 1 5 20 ORB 261 1 5 20

LEB 341 1 5 20 ORC 262 1 5 20

I 1 N B 010 1 5 20 LEC 342 5 20 ORD 263 1 5 20

INC 020 1 5 20 LED 343 1 5 20 ORE 264 1 5 20

IND 030 1 5 20 LEH 345 1 5 20 ORH 265 1 5 20

INE 040 1 5 20 LEI 046 2 8 32 ORI 064 1 5 20

INH 050 1 5 20 LEL 346 1 5 20 ORL 266 1 5 20

INL 060 1 5 20 LEM 347 1 8 32 ORM 267 1 8 32

Input - see separate list ... Output - see separate list ... Alternatives for conditional instructions: short time if false branch, long time if true branch.

84 M OP L S T 8008 INPUT-OUTPUT LIST

RAL 022 1 5 20 RAR 032 1 5 20 Mnem. Code Description* RET" 007 1 5 20

RFC 003 1 3/5 12/20

RFP 033 1 3/5 12/20 I NO 101 RFS 023 1 3/5 12/20

RFZ 013 1 3/5 12/20 1N1 103 1N2 105 RLC 002 1 5 20

RRC 012 1 5 20 1N3 107 RSTO 005 1 5 20 1N4 111 RST1 015 1 5 20

RST2 025 1 5 20 1N5 113

RST3 035 1 5 20 I N6 115 RST4 045 1 5 20

RST5 055 1 5 20 1N7 117 RST6 065 1 5 20 OUT10 121 RST7 075 1 5 20

RTC 043 1 3/5 12/20 OUT 11 123 RTP 073 1 3/5 12/20 OUT 12 125 RTS 063 1 3/5 12/20

RTZ 053 1 3/5 12/20 OUT13 127 OUT14 131 SBA 230 1 5 20 SBB 231 1 5 20 OUT15 133 SBC 232 1 5 20 OUT16 135 SBD 233 1 5 20

SBE 234 1 5 20 OUT17 137 SBH 235 1 5 20 OUT20 141 SBI 034 2 8 32

SBL 236 1 5 20 OUT21 143 SBM 237 1 8 32 O UT22 145

SUA 220 1 5 20 O UT23 147 SUB 221 1 5 20 OUT24 151 SUC 222 1 5 20

SUD 223 1 5 20 OUT25 153 SUE 224 1 5 20 OUT26 155 SUH 225 1 5 20 SUI 024 2 8 32 OUT27 157 SUL 226 1 5 20 OUT30 161 SUM! 227 1 8 32 OUT31 163 XRA 250 1 5 20 QUT32 165 XRB 251 1 5 20

XRC 252 1 5 20 OUT33 167 XRD 253 1 5 20 OUT34 171 XRE 254 20 1 5 OUT35 173 XRI 054 1 5 20 175 XRL OUT36

XRM 257 1 5 20 00T37 177

*Instructions marked with asterisk are typical of several alternate op codes, same function.

Arithmetic/Logical Mnemonics: AC = add with carry input The description column is left blank for your notes on the current assignments of devices. AD = add, no carry input SB = subtract, borrow input SU = subtract, no borrow input ND = logical product (AND) OR = logical sum (OR) XR = exclusive or (XOR) CP = compare

85 Fig. 1. A typical "mark sense card "used to input data to a distributor's ALTAIR OWNERS programmer. marks (b). Instruction side notes on CMR PRESENTS (a). Programming side - - are made with a soft lead pencil use of the card. THE MEMORY YOU'VE BEEN to indicate which bits are to be WAITING FOR "programmed" - to "program" means to change state from the default state to the opposite state. INSTRUCTIONS I. Use a soh (No. 2) pencil to 1111 in the inner boxes. Only those bits which are to be not DYNAMIC RAM 2. Mark only the bit positions to be programmed. DO 8KX8 margins. Use a pink pearl eraser to make write on the changed (permanently!) are program changes. Erase completely. 3. For programs with more Than 32 word addresses. use ON ONE PLUG -IN CARD FOR programmed by marks. additional cards with sensecmrue word addresses wnl- len m Ilrenotes sect iIm Please account for all wore addresses. 4. Complete the ordering ,ntormallon below 5. For last turnaround. send 10,5 card and your P.O. to Inc ONLY $59900* Hamlllon /Avnel lucetlon at the bottom of this card. MARK SENSE ORDERING INFORMATION

PROGRAM CARD 1. Your company name and eddreaa FACTORY ASSEMBLED AND TESTED WORD NOTES. nlenhoe WITH NO MODIFICATIONS non 2. Your PA /Buyer's eme. IMephone neater and PLUGS INTO 8800 001 CIRCUITRY INCLUDED 002 3. Tour programmer's same, telephone number and extension PROTECT -UNPROTECT SEW

003 _ TO MATCH 8800 004 4. Purchase order number - - -- TWO 4k BLOCKS OF DYNAMIC R.A.M. 005 006 5. Menuteelurer %pad umber ordered USER OR FACTORY ADDRESS PROGRAMMING 000 fi. Ouenlily of each particular PROM program (SPECIFY) Mua 1. Quoted price per each PROM EACH CMR- 8080 -8k is SHIPPED WITH AN EDGE - emi UI B. Quoted programming charges BOARD CONNECTOR INCLUDED. 012 011 EXPANDER BOARDS AVAILABLE (ADDS FOUR 9. Your PROM Idenliealion number SLOTS TO 8800) OIS 016 Intel P,1- FROM TEN REASONS TO CHOOSE lllmlt0 V NORTH EAST BOSTON 16111 273 2120 SYRACUSE 13151 437.2642 THE CMR MEMORY CARD ROCHESTER 1716, 402 -7820 MONTREAL (5141331-(-443 OTTAWA 1613) 725 -3001 1. 300ns ACCESS TIME TORONTO (4161677-7432 2. TWICE THE MEMORY DENSITY Ma 3. LESS $$ PER K OF MEMORY C20 bits. For PROMs of larger 4. DESIGNED FOR THE 8800 030 011 7 sizes, multiple cards are used 5. CHIPS -- USES THE LATEST T.I. TO MARK ONLY BITS BE PROGRAMMED see the instructions on the 6. G -10 EPDXY BOARDS WITH SOFT LEAD PENCIL - OVER FOR FULL INSTRUCTIONS card reproduced in Fig. 1. 7. PLATED THROUGH HOLES. The only hitch with this 8. GOLD PLATED CONNECTOR CONTACTS. method insofar as individuals 9. 8192 WORDS OF DYNAMIC RAM Programming Read -Only- are concerned is that the 10. 90 DAY WARRANTY ON PARTS AND LABOR Memories The Easy Way distributor's marketing is often times operation is set up to deal *ORDERING NOTE: It with companies on a regular FOR FACTORY PROGRAMMING. SPECIFY TWO 4k advantageous for you to MEMORY ADDRESS LOCATIONS FOR EACH CMR- 8080 -8k "freeze" a program into one basis. Thus it might be best to MEMORY CARD ORDERED. of several types of field make an arrangement for one programmable read -only person in a local computer MAIL THIS COUPON TODAY memories (PROM is the club to handle orders for

I ENCLOSED IS CHECK OR M.O. FOR $ abbreviation). There are PROMs by this method - so

I IC.O.D.'s ACCEPTED WITH 30% DEPOSIT. TOTAL several varieties of read -only that the club could be listed AMOUNT $ 30% _ VA. RESIDENTS ADD 4% memories available, with as the "company" making the PLEASE SEND CMR- 8080 -8k CARD(S)" AS different characteristics. The order. The price for @ 599.00 EA. POSTPAID DESCRIBED ABOVE programming is nominal PLEASE SEND EXPANDER BOARD(S) purpose of this note is to - (ADDS 4 SLOTS TO 8800) BOARD ONLY @ 15.00 EA. illustrate one way in which perhaps $2 -$3 per chip over POSTPAID TO: you can get these memories the basic cost of the device. NAME programmed - using the (Sooner or later, BYTE will print an article on the various ADDRESS services of an appropriate distributor. Illustrated in Fig. types of field programmable CITY STATE & ZIP kind 1 is the method of getting ROM devices and the of input data to the distributor's inexpensive programmers COMPUTER MANUFACTURING CO. CMR programming machines a which can be built for home P.O. BOX 167, 1921 DOGWOOD LANE - VIENNA, VIRGINIA 22180 "mark sense" card with use.) positions for 32 words of 8 ... CARL

86 BLACK Model Railroad Switch +120 MAIN Control Circuit SWITCH

+5V +5V

7400 10 14 SIDING I 3 2N3766 2 2.2K 2N3766 6 7 7408 =

MAIN IOnF +5V +, 22K

01 II 5 14

74121 And at Southwest Technical Products this prototype CPU board was getting its final wringing out before getting into production. Systems are expected to be available by j77 November! Motorola M6800 based ... again! +5 TO IC'S.* f 0 from page 81 of what is coming. There are MAIN LEDI A 1 1 A (SIDING LED T outfits some I talking 'about have been reading the SWTP slower systems ... probably 100 ads for some time and seen 8008 based ... which will the rave reviews of the come in under $200 for the +5 + equipment. CPU ... and maybe even one Dan has a sized for $100! a IO GROUND good plant and is doing a substantial All of the firms _ are TO SWITCH COIL -MAIN SEPARATE + 12V SUPPLY 1 AMP, (UNREGULATED) business in audio kits. I went working hard to develop 0 TO SWITCH COIL -SIDING USED FOR SWITCHES there to just say hello and tell accessories, memories and CONTROL -SHORT TO GROUND TO THROW SWITCH TO him how much I enjoyed programs. Look out 1976. MAIN LINE putting his television typewriter together FLAKES CONTROL -SHORT TO GROUND TO THROW SWITCH TO kit ... SIDING and to see what he might It just doesn't take any have up his sleeve for the time at all for the flakes to LED TO +5 TO INDICATE SWITCH I N MAIN (THIS POINT 0 he rise. New as the computer LOW) future. To my amazement had an M6800 CPU up and hobby field may be, there are LED TO +5 TO INDICATE SWITCH IN SIDING going, hooked to one of his already some sharp operators in there taking advantage of +5 VOLTS IN FOR ICs TVT units. Those Motorola boys sure do get around. The the unwary. I'm put in mind POINTS 4 AND 5 CAN BE PARALLEL TO MANUAL plans are to have systems of the "lifetime" guarantee MOMENTARY SWITCHES AND LOGIC SWITCHES-ANY offered by a chap selling ball PULSE (LOW) WILL WORK, HOLDING POWER ON ABOUT Y available in kit form by SECOND, 74121 WITH RESISTOR AND CAP CONTROL November ... more support point pens in the subway cars TIME. for 6800 systems ... more in New York. users, more programs. One flake is selling Reader Herman De that the switch is energized in This is an exciting time in imitation Southwest Tech Monstoy is busy working up a given direction of the microprocessor business circuit boards (the television applications for his 8008 movement. The 2N3766 with systems getting going typewriter circuit). Good system in the area of model transistors used in this just about every month. The luck if you fall for this one. railroad layout control. He circuit's output drive have a Sphere, MITS and SWTP SW Tech is a substantial firm sends along this diagram of a rating of 20 Watts, so this systems are just the vanguard with a long history of good model railroad switch control circuit should be able to drive products and service to back circuit which is used to drive solenoids which take up to them up I've built their TV PCC Update - the solenoid operated track about 1 Ampere at 12 volts. typewriter and it is splendid. switches of a typical HO train Note that it may be necessary In conversation with Bob Said flake is getting ready to layout. The input (at the left to put protection diodes Albrecht at People's put out imitation of the drawing) can be a pair across the coils of the Computer Company, PO Box microprocessor boards ... of complementary TTL solenoid operated railroad 310, Menlo Park CA 94025, and kits. Undoubtedly he will signals (e.g., the Q and Q switch if the coil is highly the following updated give all of the support to his outputs of some flip flop) or inductive. For manual information was obtained as boards and system that one from the manual switch operation, the electrical BYTE #2 goes to press: might expect from someone indicated with dotted lines at push- button switch S1 can be PCC's publication will be operating out of a cellar. the left of the drawing. in parallel with computer charging a flat subscription Watch out! The oneshot 74121 is used drive. rate of $5 for six issues, with to control the length of time no special rates for students. ... WAYNE GREEN

FT] JAMES ELECTRONICS DELTA P 0. BOX 822 BELMONT. CALIFORNIA 94002 t (415) 592.8097 DIGITAL VOLTMETER

This n a 3:7 digit. 0.2 volt Digite! Voltmeter

i5 h 5 °m lull scale accuracy H ha,l ,nit the Silíeon.x L0110, LDI11 OVM

r rep WI. The voltmeter uses MAN7 readouts

13!' Inghl to provide a highly rexrluhln Ars play. The unit remount the fallowing suent,' voltages. 12, -12. 5. The unit Mete yzdh all components to build tau unit pictured ut the left that 1s a complete DVM less power supply. $39.95 Per Kit

LOGIC PROBE

rile Logic Prahe Is a 111111 whlr:h I, the Indespensihlc e trouble shoot, mol`c families. TTL. RTL. CMOS. It calves bowel It need)cods te operate directly

of t ill then of under lest, drawing a scant 10 nos, max11 uos n MANS Holdout to

rn I of slip IPllnwirhg _ any status by these I w rebels. IH11- 11LOWI nIPULSEI- P. The Probe can detect Mgh he9oeney pulses to 45 MHz. It can't he user) at MOS levels of moult damage "'I '''.I. $9.95 Per Kit 8 Track incremental data recorder /player I 330 Steps per second (2640 baud) DIGITAL COUNTER I READ and WRITE forward or reverse

r 83 1/3 rho 1 4 digit n which will I Bytes per inch record density o 9999 and then mo w. an ever, flow . mdse. II is based around the Mnstek Parallel data input and output MK5002 Medal e chin. Tim oint pet forms rhn following functions'. Count Input. I Quick change tape cartridge RESET. Latch, Overflow. The counter uper. up to 250 kHz. The counter an Ideal E0T and BOT Photo sensors uni be i das a frequency couiner. where the only extra components nendesl would be

a hmebase. divider chain and gate. The unit WRITE FOR DESCRIPTIVE LITERATURE hemstres 5V, and -129. The u complete as shown on the felt less paweI amply 11020 OLD KATY ROAD SUITE 204 $29.95 Per Kit HOUSTON, TEXAS 77043 (713) 461 -3959

ONE KILOBYTE RANDOM ACCESSMEMORY

u memory nard 1s for the m uni `sal that can he used m almost any mortoromputer from a HOMEBREW to an

ALTAI R 8800. 111155 an army of 2102 1 k x

1 u random access memnnrs to produce

.1 1024 x 8 memory compatible with most etanllard m¢mcompmer systems. We puwelc w, vthmg from the super low noae vector orne card, to hile quality law profile sockets.

the night 2102.5 We evun include trmmg dime uns rod 1.111htmih hypos.. c;hiacdm RETAILING? $69.95 Per Kit

5 VOLT 1 AMP T2 L SUPPLY BYTE Magazine is very new. And judging by the response from retail outlets that want to sell BYTE, we're sure it has 5 VOLT 1 AMP T'L a grand and glorious future. SUPPLY If you Tho is standard OIL power supply rising own or know of a friend who owns a retail store the wall Known LM309K regulator IC to (electronic parts, radio -T. V., Ovide a solid 1 AMP of Cwrent at 5 volts. hobby store, newsstand, We try to make things easy for You be student book store) we'd be prow ding no in more than happy everything You ono pack to rush then. age, including the hardware for only: our BYTE retail order form. We offer an extremely attractive discount, $9.95 Per Kit an unbeatable returns policy, and the only magazine for the serious computer hobbyist. More information? PLASTIC INSTRUMENT CASE

,,r. ace Write: Ger han n m lac mgiltam rch lit o the drmnnpons of ourUDVM and COUNTER kir BYTE Magazine W11/I rn min tel. tar pow supply or haneries Excällem for many other projects Retail Sales Dept. a, won Dimenumd 2" x 31 /8" x 5.788 ". Green Publishing, Inc. Peterborough, N. H. 03458 $5.95 Per Case

Satisfaction Guaranteed. $5.00 Min. Order. U.S. Funds. Add $1.25 for Postage - Write for FREE 1975S Catalog California Residents - Add 6% Sales Tax iii SES BYTE FOR RESALE P.O. BOX 822, BELMONT, CA. 94002 PHONE ORDERS - (415) 592 -8097

88 We've got a bunch of these fantastic video display terminals ... and we've got a little problem. We promised Sanders Associates that we would sell them as scrap. A couple of wires disconnected makes them scrap, right? These VDTs should be great for SSTV, for a CW /RTTY keyer terminal, an oscilloscope, weather satellite monitor, or even a computer terminal (which they were). We've tested some of these and they seem to be near -perfect. You aren't likely to find a VDT system like this for less than ten times the price ... so order several right away while we've got 'em.

ITEM A ASCII KEYBOARD - This is the ASCII encoded keyboard used with the SANDERS ASSOCIATES 720 System Terminal- Plugs into the ITEM R: ENCLOSURE AND BEZEL FOR 12" CRT front of the chassis mounting base. Makes a very This is the frosting on the cake. All components A SA LaFRS pro 'Visional Video Readout Terminal combination. thee E fit perfectly inside this enclosure. It h These keyboards are in like new condition, have hinged and can be lifted for easy access to the memmm interconnection data etched on the IC -Diode electronics. It will really dress up any project. mmmmmmmmmmr matrix PC board. They can be readily used for any Measures approx. 22-1. e 18" IV x 20 "H and weighs ASCII e coded requirement. Similar keyboards. approx. 10lbs. Made of steel with a handsome blue when available, sell for almost two times the very crackle finish. Get 'ern while they last, for - low SUN'l'RONIX price of - $49.95. PPD $11.95 (incl. bezel) FOB.

ITEM C. BASIC CHASSIS AND MOUNTING BASE for 12" big -.screen CRT. Tube can be mounted either ITEM D: FOUR PC BOARDS CHOCK -FULL OF vet troelly or horizontally by rotating front plate 90 GOODIES Two D/A converters, one IC-loaded degrees. Comes with base, on -off sw. and intensity logic board, and one multipurpose board. We have control, four controls for veil and horie. Has no schematic data for these boards at present. We needed plenty of room for most any electronics for will supply any data we obtain to purchasers as we your pet project. All subassemblies offered will get il. Of course when we finally figure out what perfectly fir in spaces provided. Why try to cut the these boards are good for. the price will change metal yourself' This chassis will let you con - accordingly. Take the gamble now and wet, entrate on the electronics instead of the metal- provide any data we get free of charge. Buy all four work!! Order now for only $14.95 FOB, less boards or just one $1.50 ea. (our choice) or all CRT. four for $5.00. PPD

ITEM E. VERTICAL AND HORIZONTAL AMPLIFIER Subassemblies - Good for a conservative 150W complementary DC coupled output. Freq. resp. beyond 2.0 MHz. Parts alone worth many times the low, low price of - $6.95 ea., or both for 510.95 PPD

ITEf,! F CRT 1410K VOLTAGE POWER SUPPLY ITEM G: LOW VOLTAGE POWER SUPPLY - A real l'hi: h a real super CRT High Voilage Power brute used to supply all low voltages needed by the supply, providing all voltages needed for any CRT. original 720 CRT Terminal. Input. 117VAC, our Outputs 10 -14KV DC, plus 490 minus 150 Vdc, puts: plus 16.0 VDC @ 10.0 It minus 16.0 VDC iá Vdc. Needs inputs of plus 5.0 VDC, plus 16.0 VDC 10.0A: plus 5.OVDC @ more than 2.0.4, all and a drive signal of approx 8.4 kHz Cii 1.0 venu or regulated. Mounts on the rear of the Basic Chassis more. All inputs /outputs via plug /jack cables and (Item C) Weighs approx 95 lbs and will be shipped even has a socket /cable rosy for the CRT. A very milli interconnection data for only - $19.95 FOB. fine buy al only .$14.95 (incl. data) FOB

PACKAGE DEAL - For the really serious experimenter we'll make a very special offer - you can buy all of the sub -assemblies listed above plus a good 12" CRT, a muffin fan for cooling. We'll supply instructions for interconnection for all subassemblies so that you can, within minutes after receiving this once-in-a lifetime deal, put an X -Y display on the CRT. We'll also include a list of possible applications for those with short imaginations! Don't miss out on this real money- saving buy; the individual prices for the sub -assemblies add up to $127.70. You can buy the entire package for a very low package price of - $79.95 FOB.

On all postpaid orders, please ADD $1.50 to cover handling costs. Orders master charge shipped same day in most cases. BANNAMERICARD ,,. ,.,,,, 4,4

111.01111J111.:( tfilIiPii111

6 KING RICHARD DRIVE, LONDONDERRY, N. H. 03053 603 -434- 4644

89 5% OFF ON ORDERS OVER $50.00 53g14 CLOCK CHIP 6di ltmultimultiplexed output,out fast; slow set, 24 r /o ON ORDERS OVER $100.00 OFF OCTOBER PIN DIP 53.93 15% OFF ON ORDERS OVER $250.00 SPECIALS 5739 CALCULATOR CHIPS 9 digit, 4 function, chain operation, 9 V battery 011111 41 operation, 16 sec turn -off 22 PIN DIP $3.95 SCHOOL TIME SPECIAL TTL 7451 .17 74154 1.25 7400 $ .14 7453 .17 74155 1.07 POCKET CALCULATOR KIT MEMORIES 1103 Fully de coded RAM MOS 1024 bit dynamic 7401 .16 7454 .17 74156 1.07 5 function plus constant - 18 PIN DIP 7402 .15 7460 .17 74157 .99 addressable memory with $1.49 1702A 2048 bit static PROM electrically program - 7403 .16 7464 .35 74158 1.79 individual recall 8 digit - mable and erasable, 24 PIN DIP $15.95 7404 .19 7465 .35 74160 1.39 display plus overflow - 7405 .19 7470 .30 74161 1.25 battery saver uses standard - 2102 -2 1024 bit N channel static RAM 16 PIN DIP 7406 .35 7472 .30 74162 1.49 or rechargeable batteries - all 7407 .35 7473 .35 74163 1.39 necessary parts in ready to $3.95 7408 .18 7474 .35 74164 1.59 assemble form instructions - Fully MOS 1024 bit dynamic 7409 .19 7475 .57 74165 1.59 included 5261 decoded RAM 7410 .16 7476 .39 74166 1.49 18 PIN DIP 51.79 7411 .25 7483 .79 74170 2.30 CALC KIT (WITH BATTERIES) $12.95 7413 .55 7485 1.10 74173 1.49 ASSEMBLED (WITH BATTERIES) $14.95 DTL

7416 .35 7486 .40 74174 1.62 BATTERIES ONLY (DISPOSABLE) SET . S 2.00 7402 Quad 2 input NOR gate S .13 7417 .35 7489 2.48 74175 1.39 7420 Dual 4 input NAND gate .14 7420 .16 7490 .59 74176 .89 7446 BCD to 7 seg driver .79 7422 .26 7491 .97 74177 .84 8038 FUNCTION GENERATOR 7460 Dual 4 input expander .10 7423 .29 7492 .71 74180 .90 Voltage controlled oscillator - sine, square, trianglar 7493 4 bit binary counter .51 7425 .27 7493 .60 74181 2.98 output 16 PIN DIP $3.95 74175 Quad D flip flop 1.25 7426 .26 7494 .94 74182 .79 7427 .29 7495 .79 74184 2.29 7430 .20 7496 .79 74185 2.29 MEMORIES T Data sheets on request 7432 .23 74100 1.30 74187 5.95 1101 256 bit RAM MOS $ 1.50 With order add $.30 for items less than $1.00 ea. 7437 .35 74105 .44 74190 1.35 1103 1024 bit RAM MOS 3.95 2102 1024 bit static RAM 5.55 7438 .35 74107 .40 74191 1.35 5203 2048 bit UV eras PROM 17.95 17 7440 74121 42 74192 1 25 5260 1024 bit RAM 2.49 LINEAR CIRCUITS 7441 .98 74122 .45 74193 1.19 5261 1024 bit RAM 2.69 300 Pos V Reg (super 723) TO -5 S .71 7442 .77 74123 .85 74194 1.25 5262 2048 bit RAM 5.95 301 Hi Perf Op Amp mDIP TO-5 .29 7443 .87 74125 .54 74195 .89 7489 64 bit ROM TTL 2.48 302 Volt follower TO-5 .53 7444 .87 74126 .63 741% 1.25 8223 Programmable ROM 3.69 304 Neg V Reg 10.5 .80 74200 256 bit RAM tri -stale 5.90 7445 .89 74141 1.04 74197 .89 3g5 Pos V Reg 70.5 .71 Op AMP (super 741) mDIP TO-5 .26 7446 .93 74145 1.04 74198 1.79 307 308 Micro Pwr Op Amp mDIP 70.5 .89 7447 .89 74150 .97 74199 1.79 CALCULATOR & CLOCK CHIPS 309K 5V lA regulator TO-3 1.35 7448 1.04 74151 .79 74200 5.90 310 V Follower Op Amp mDIP 1.07 7450 .17 74153 .99 5001 12 DIG 4 fund fix der $3.45 311 Hi pert V Comp mDIP TO -5 .95 5002 Same as 5001 ear btry pwr 3.95 319 Hi Speed Dual Comp DIP 1.13 5005 12 DIG 4 fund w /mem 4.95 320 Neg Reg5.2, 12, 15 TO-3 1.19 MM5725 8 DIG 4 fund chain & dec 1.98 L 322 Precision Timer DIP 1.70 LOW POWER TTL MM5736 18 pin 6 DIG 4 fund 4.45 324 Quad Op Amp DIP 1.52 7O 74151 0 .29 75190 $1.49 MM5738 8 DIG 5 fund I( &mem 5.35 339 Quad Comparator DIP 1.58 74102 .25 74155 .33 74191 1.45 MM5739 9 DIG 4 fund (btry sur) 5.35 340K Pos V reg 8V, 74103 .25 74171 .25 74193 1.69 (5V, 6V, MM5311 28 pin BCD 6 dig root 4.45 12V, 15V, 18V, 24V) TO -3 1.69 74104 .25 74L71 .39 74L93 1.69 MM5312 24 pin 1 pps BCD 4 dig mutt 3.95 3407 Pos V reg (5V, 6V, 8V, 74106 .25 74L72 .49 74198 2.79 MM5313 28 pin 1 pps BCD 6 dig mum 4.45 12V, 15V, 18V, 24V) 10-220 1.49 74110 .25 74173 .49 741984 2.79 MM5314 24 pin 6 dig mux 4.45 372 AF -IF Strip detector DIP 2.93 741.20 .33 74L74 .79 741165 2.79 MM5316 40 pin alarm 4 dig 5.39 373 AM /FM /SSB Strip DIP .53 74640 .33 74186 1.25 376 Pm V Reg mDIP 2.42 74630 1.49 74186 .69 377 2w Stereo amp DIP 1.16 LED's 300 2w Audio Amp DIP 1.13 HIGH SPEED TTL MV11111 Red TO 18 5 .22 380 -8 .6w Audio Amp mDIP 1.52 74H00 $ .25 74H21 $ .25 74H55 $ .25 MVSO Axial leads .18 381 Lo Noise Dual preamp DIP 1.52 741101 .25 74H22 .25 741160 .25 MV5020 Jumbo Vis. Red (Red Dome) .22 382 Lo Noise Dual preamp DIP .71 74H04 .25 74H30 .25 74H61 .25 Jumbo Vis. Red (Clear Dome) .22 550 Prec V Reg DIP .89 74H08 .25 741-140 .25 741162 .25 ME4 Infra red diff. dome .54 555 Timer mDIP .89 74H10 .25 741150 .25 74H72 .39 MANI Red 7 seg..270" 2.19 556A Dual 555 Timer DIP 1.49 74H11 .25 74H52 .25 74H74 .39 MAN2 Red alpha num .32" 4.39 560 Phase Locked Loop DIP 2.48 74H20 .25 74H53 .25 74H76 .49 MAN4 Red 7 seq..190" 1.95 562 Phase Locked Loop DIP 2.48 MANS Green 7 seg..270" 3.45 565 Phase Locked Loop DIP TO-5 2.38 MAN6 .6" high solid seq. 4.25 566 Function Gen mOIP TO-5 2.25 8000 SERIES MAN7 Red 7 seq..275" 1.19 567 Tone Decoder mDIP 2.66 8091 $ .53 8214 $1.49 8811 $ .59 MANO Yellow 7 seq..270" 3.45 709 Operational AMPL TO -5 or DIP .26 8092 .53 8220 1.49 8812 .89 MAN66 .6" high spaced seq. 3.75 710 Hi Speed Volt Comp DIP .35 8095 1.25 8230 2.19 8822 2.19 MR2 Optoiso transistor .61 711 Dual Difference Compar DIP .26 8121 .60 8520 1.16 8830 2.19 723 V Reg DIP .62 8123 1.43 8551 1.39 8831 2.19 739 Dual Hi Perf Op Amp DIP 1.07 8130 1.97 8552 2.19 8836 .25 MULTIPLE DISPLAYS 741 Comp Op AMP ,nDIP 70.5 .32 8200 2.33 8554 2.19 8881 1.19 NSN33 3 digit .12" red led 12 pin 747 Dual 741 Op Amp DIP or TO-5 .71 8210 2.79 8810 .69 8263 5.79 fits IC slit. $1.79 748 Freq Adj 741 mDIP .35 8267 2.59 HP5082 S digit .11 led magn. lens 1304 FM Mulpx Stereo Demod DIP 1.07 corn. oath 3.49 1307 FM Mulps Stereo Demod DIP .74 FNA37 9 digit 7 seg led RH dec clr. 1458 Dual Comp Op Amp mDIP .62 9000 SERIES magn. lens 4.95 1800 Stereo multiplexer DIP 2.48 9002 5 .35 9309 S .79 9601 $ .89 SP- 425 -09 9 digit .25" neon direct inter- LFI2111 Dual LM 211 V Comp DIP 1.70 9301 1.03 9312 .79 9602 .79 face with MOS /LSI, 180 VDC, 7 se 8 1.79 3065 TV -FM Sound System DIP .62 3075 FM Del & SHIFT Audio preamream p DIP .71 .'\ REGISTERS 3900 Quad Amplifier DIP .35 1024 $1.75 MM5013 bit accum. dynamic mDIP 7524 Core Mem Sense AMPL DIP .71 IIIII CMOS MM5016 500 bit dynamic mDIP 1.59 4016A .56 4050A .59 /512 8864 9 DIG Led Cath Drvr DIP 2.25 SL5 -4025 64 1.39 4000A S .26 4017A 1.19 40665 .89 Dual bit static DIP 75150 Dual Line Driver DIP 1.75 4001A .25 4020A 1.49 4068A .44 75451 Dual Perepheral Driver mDIP .35 4002A .25 4021A 1.39 4069A .44 DTL 75452 Dual Peripheral Driver mDIP .35 4006A 1.35 4022A 1.10 90715 .26 75453 (351) Dual Periph Driver mDIP .35 4007A .26 4023A .25 4072A .35 930 $ .15 937 .15 949 .15 75491 Quad Seq Driver for LED DIP .71 4008A 1.79 4024A .89 4073A .39 932 .15 944 .15 962 .15 75492 Hex Digit driver DIP 4009A .57 4025A .25 4075A .39 936 .15 946 .15 963 .15 40105 .54 40275 .59 4078A .39 4011A .29 4028A .98 4081A .26 4012A 40305 .44 .25 4082A .35 Satisfaction guaranteed. Shipment will be made via first class mail within 3 days from receipt of 4013A 1.27 1.49 4042A 4585A 2.10 order. Add $.50 to cover shipping and handling for orders under $25.00. Minimum order $5.00. 4015A 1.49 40494 .59 California residents add sales tax. 74002 $.26 74C74 $1.04 74C163 $2.93 74CO2 .26 74C76 1.34 74C163 2.66 74C0 .44 74C107 1.13 74C164 2.66 INTERNATIONAL ELECTRONICS UNLIMITED 74000 .68 74[151 2.61 74C173 2.61 P.O. BOX 1708/ MONTEREY, CA. 93940 USA 74C10 .35 74C154 3.15 74C195 2.66 74C20 .35 74C157 1.76 80C95 1.35 PHONE (408) 659 -3171 74C42 1.61 740160 ®-,,I a:ueo 2.48 80C97 1.13 74C73 1.04 74C161 2.93 ilo- 90 COMPUTER EXPERIMENTER SUPPLIES FACTORY FRESH -PRIME QUALITY PERFORMANCE GUARANTEED

MICROPROCESSORS AND MEMORY 8008 $ 35.00 Commercial Grade -up to 35 °C. 8080 135.00 These units are factory 2102 3.50 fresh, full spec devices. 2102 -2 4.50

COMPUTER GRADE REGULATED POWER SUPPLIES All units are short -circuit proof, fold back current limited and with over -voltage crowbar protection.

MD -15 MD -5 -1 MD-5-3 MD-5-6

±15 Volt at 200MA +5 Volt at 1 Amp +5 Volt at 3 Amp +5 Volt at 6 Amp Dual Tracking $24.50 $34.50 $44.50 $30.00

MICRO COMPUTER SUPPLY TTL INTEGRATED CIRCUITS COMBINATIONS All devices are factory fresh, full spec units For the 8008 7400 23 MD -08 -+5 volt at 6 amp, -12, -9 at 200 7404 25 ma $75.00 7442 60 For the 8080 7447 .95 MD -80 -+5 volt at6 amp, +12vat200ma ...$75.00 7448 95 For the Fairchild F -8 7475 60 MD -8 -+5 volt at6 amp, +12vat200ma ...$65.00 7490 60 For the M6800 7493 60 MD -5 -+5 volt at6amp $44.50 74125 55 74126 55 All units are short circuit proof, fold -back current 74192 1 10 limited and with over voltage crowbar protection. 74193 1 10

Ill Ill All Prices Subject to Change Without Notice ' I I Most devices GUARANTEE l Minimum Order $10.00 shippable within within 24 Add $1.00 and Handling weeks to Cover Postage vONa guaranteed payment If not Prff orDefective ance Money (No C.O.D.) To: .1111. on all faded. Send Check or Order NOTICE: Parts replaced _ tat This warrant °r N. J. Residents Add 5% Sales Tax applies no charge. sockets for been only incoming t peórestsl I I I 11 MICRO DIGITAL CORP. I BOX 413, EDISON, NJ 08817 (201) 549 -2699 JAMES FALL SPECIALS 4RIF í7 7400N M. DIODES TTL /LINEAR CLOCK & CALC. CHIPS IG'S KITS MM531IN 6 Digit 53.95 16 5574515 27 5N74151N 1.15 164001 50V N 1 Amp 15/S1 00 7400 Gate 7/51.00 M 5N7400N EKL MM5312N 4-0igit 3.95 164001 100V 6 1 Amp 15/51.00 7447 Decode/ .79 SN740IN .I6 SN7453N 27 SN74153N 1.35 114003 Amp 1551.00 7490 Counter 49 MM5313N 6 ONO 395 .21 917454N 41 0N741545 125 2005 511 SN/ 4025 5151531471 FUNCTION GENERATOR KIT 154004 400V 59 1 Amp 15751.00 74100 B Bit Latch 99 6.Oigil 3.95 .I6 SN7459A 25 SN74155N 121 SN7453N 1641/8 1//lehm5 20151.00 74154 Decoder .99 MM5316N 6 Digit Alarm 4.95 .22 5N74I56N 1.30 SN7404N 21 SN7460N 74197 Counter .75 MM5725N 8 Oigo-4 Funl. 1.98 0574157N 1.30 SN7405N 24 5N7470N .45 TRANSISTORS 163010- LM741H 4/51.00 MM5736N 6 Digit-0 Fun1. 3.95 !cobras sme, SN7406N 45 SN.7472N .39 5E174 MN 1,/5 LM324N- Mad 741- 1.19 MM5738N 8 Drgni Funt. 4:95 2N2907APNP Ssun41005 6151.00 rangle and SN 7407N .45 SN 74735 .45 SN1416IN I.d5 L630911 5V Reg 70.5 .79 2N2222A NPN Switching 6/51.05 26Awg RIBBON CABLE SOWS wave, SN7408N .25 SN7474N 45 SN74163N 1.65 1.51309K 5V Reg T03 .99 253904 NPN Amp 6/51.00 1 FI. Minimum b911. 10 f1. SN7409N 25 SN7475N .80 SN74164N 1.05 THO O.5 °, IHR. 253906 PNP Amp 6/5100 4 Cond. .49 ft. .3911. 5N7476N 47 SN74165N I.65 DYNAMIC SHIFT REGISTERS AMIFM capability SN/410N .20 214918 NPN RF 6/51.00 8 Cond. .89 ft. .69 It. .50 SN74166N 1.70 SN741IN .30 SN74BON 255951 NJ Fet 651.00 MM500H MM504H MM510H 2 FOR 15 Cond. 1.49 ft. 1.19 ft. 42 SN7482N 1.75 SN74167N 550 SN/412N C106111 16 Amp 50:9 7151.00 MM50311 MM50611'MM507GH 51.00 32 Cum. 2.49 ft. 1.99 ft. SN 74 ION .85 SN 74835 115 5N74170N 3.00 SN7414N 70 5N7485N 1.12 SN/ 41715 1900 POCKET CALCULATOR KIT $17.95 56741715 1.70 XR-2206KA SPECIAL SN 7416N .43 SN 74865 .45 4' POWER SUPPLY CORDS ... . 5 !unman plus constant - IC, PC board, and assembly SN/ 417N 43 SN7498N 3.50 SN74174N 195 addredMhle memory with Includes monolithic function generator SN7418N .25 SN7489N 3.00 SN74175N 1.95 Black SPECIAL individual recall 8 digit instruction manual. SN7420N .21 SN7400N .59 SN74176N 90 display plus overflow- battery SPECIAL $27.95 SN742IN .39 5N7491N 1.20 SN74177N 90 - 3/$1.00 saver - uses standard or XR2206K8 and includes external components SN 7423N 37 SN 74925 .81 SN74180N 195 rechargeable batteries - all Same as XR'2206KA above SN74Z5N 43 SN 74935 .81 5N74181N 3.55 necessary parts in ready to for PC hoard. SN74182N 95 THUMBWHEEL SWITCHES SN 74265 31 SN/494N .91 assemble loom - instructions TIMERS SN 747 /N 31 SN7495N 91 SN74184N 130 included. 3° . 55 S12.95 each SPECIAL XR355CP Monolithic Timer SPECIAL S .69 SN /419N 42 SN7496N 91 5N74185N 1.10 OPTIONS - 4..aw,±rvses4op Timer 1.55 SN7430N .26 SN74100N 1.25 SN741B7N 900 tI k.V 115VAC Translormer 4.95 each XR320P Precision m 1.85 SN 74326 11 SN74107N 49 SN74190N 1.50 5 each "6" Alkaline Batteries 1 95 let XR.556CP Dual -555 Timer SN/4376 47 SN7412IN 55 SN74191N 150 XR- 2556CP Dual Timing Circuit 3.20 40 SN74127N 49 SN74192N 190 DIAM. TRIMMER SN/438N .394" X R-2240CP Programmable Counter /Timer SP ECIAL 3.25 SN 7439A .25 SN74123N 1.05 SN741S3N I/O VALISES PHASE LOCKED LOOPS SN/44UN 21 SN74125N 90 SN74194N 1.45 wit wahr{ 5.20 SN7441N 1.10 SN74126N .81 SN74I95N 1.00 XR-210 FSK Demodulator 1.15 4 8 9 6.60 SNI447N I OB SN74137N 100 5974196N 'MN NM lay XR-215 High Frequency PLL 1.00 SN7443N 1.05 5N74I41N 1.15 SN14197N SPECIAL XR -567CP Tone Decoder (mini DIP) 1.95 650 SN741SBN 2.25 SN 74445 110 5574142N 10101113 1-4 XR-567CT Tone Decoder (TO-51 SPECIAL .99 SN/ 4455 110 SN74I43N 700 55 741995 2.25 Model 9roìmn0 STEREO DECODERS SN7446N 1.15 SN74144N 7.00 SN7420ON 790 451.00 TRrr PLL Stereo Decoder 3.20 SN 7447N .89 5574145N 1.15 S4742514 2.50 XR1310P SN7448N .99 34741484 2.50 51474284N 6.00 XR- 1310EP PLL Stereo Decoder 3.20 SN745UN .26 S4741504 1.10 04742954 6.00 XR-1900P PLL Stereo Decoder 3.20 20% Discount for 100 Combined 7400's WAVEFORM GENERATORS Generator 840 C04000 74C ION 65 X5.205 Waveform .25 Monolithic Function Generator SPECIAL 4.49 C040111 25 CMOS 74C2ON 65 XR- 2206CP C04002 25 004030 .65 74C30N 65 XR 2207CP Vollage.Controlled Oscillator 395 1.85 74 DUN 215 C04006 7.50 C04035 OTHER EXAM IC'S 004007 C04040 245 74 C735 I 50 15 °PNI06MID1a Dual a I5V Tracking Regulator SPECIAL 2.95 XR-1468CN C04009 .59 004042 ISO 74C74 1 15 a 10 Quad Line Driver 5.80 004010 59 C04044 1.50 74C9ON 300 Here low cost. bry IC capacity XR -14R8N 4.80 C04011 .25 C04046 2.51 74C95N 2 00 breadboard kit milli aN Ihr gualtty 01 XR1489AN Quad Line Receiver 2.75 14C107N I.75 0T Sockets and die bet1 al the Pinta CLOCK C04012 -25 C04047 WALL or T.V. DIGITAL XR- 2208CP Operational Multiplier 510 C04049 79 74C151 2.90 Board series .. ut,plete duwn to the 12 or 24 Hour C04013 47 115Vac CP FSK Demodulator/Tone Decoder 6.70 tact nut, and screw. Includes XR-2211 C04016 56 C04050 .79 74C 154 3.00 boll 25' VIEWING DISTANCE XR-2261 Monolithic Proportional Servo IC System C04017 1.35 C04051 2.98 14C157 215 2 01355 Sackers: I 07 158 Bus Slop: Walnut Cuse-5" a 3" a I" 3.75 C04053 2.98 74C 160 325 2 Sway binding posts :4 rubber leor w74 ea. Driver Transistor C04019 55 Hr. 6 Min. 6" High 004020 C04060 3.25 74CI61 3.25 screws. nuts. balls: and easy assembly 14 Seer:IMO" High C04027 1.15 004066 1.75 74C163 300 COMPLETE KIT... KIT All Comp & Case $34.95 Items* .45 74C164 3.25 *Special Requested C04023 75 C04069 $39.95 CO4024 150 C04071 .45 74C172 ].60 *Special $17.95 Wired 8 Assembled 004194 Oual Track V Rag 55.95 58797 53.00 1533 57.95 RC4195 Track Reg 3.25 40NP 2.25 8263 5.95 C04025 .25 C04081 45 74C 193 2 75 515V F9368 Oecodm 395 2513 11.00 8267 225 C04077 .69 74COON .39 74C195 275 DISPLAY LEDS DISCRETE LEDS L0110 /111 05M Chip Gel 28.00 2518 7.00 8288 I IS CO4U2B 1,65 14COZN .55 80097 I 50 FN070 Corn. Cath. .250 .69 CA3130 Super CEBOS OR one 149 2524 150 8826 300 C04029 1.90 4CO4N .75 510:14011/ 4I0 9.95 2525 6.50 8880 135 MAN 1 Cam. Ans. .270 51.05 MV 10 Red 5/01.00 F3341 FIFO 8.95 2527 5.00 1497 5.011 LM1001I 15.00 LM 13104 2.95 MAN 2 5x7 Matrix .300 0.95 MV 50 Red 6/51.00 LM106H 2.50 LINEAR LM1351N 165 MAN 3 Cam. Cath, .125 .39 MV 5014 Red 59100 DIODES -RECTIFIERS L19171H 3.75 1M3734 3.25 LM1414N 1.75 MAN 4 Com. Cath. .187 1,95 MV 5074 Green 4/11.00 ZENERS- 1M212H 7.00 LM377N 4.00 1M1458C .65 MAN 7 Cam. Ano. .30 1.50 MV 5024 Yellow 4/57.00 TYPE VOLTS W PRICE TYPE VOLTS W PRICE LM300H .80 LM3BON 1.39 Lh11496N 95 O L33 Com. Cath. .125 1.95 MV 5024 Orange 4/11.00 MV 50' Red 114" Leads 5751.00 N746 3.3 400m 411.00 44003 200 PIV 1 AMP 10 LM301H 3I190 LM380CN 1.05 LM 1556V 1.85 O 1747 Corn. Ano. .825 2.50 400m 4/1.00 44004 400 PIV I AMP 10 LM301CN 3i1.00 L438 IN 1.79 LM2IIIN 1.95 N7514 5.1 LOW (TIN) SOCKETS 400m 411.00 43600 50 200m 611.00 LM307H IN LM382N 1.79 111129014 295 IC SOLOERTAIL - PROFILE N752 5.6 6.2 400m 4/1.00 44148 15 10m 151100 163045 1.00 NE501K 8.00 4430054 69 124 25'19 50 100 124 2549 50.110 N753 400m 4/1.00 44154 35 10m 12/1.00 LM305H .95 NE510A SOS 1513911114 .55 N754 6.8 pin S .38 .36 8 Pro 5.17 .16 .15 24 .37 N9658 15 400m 4/1.00 44734 5.6 Iw .28 LM307CN .35 NE531H 3.00 LM3905N .60 .43 14 pol .20 .19 .18 28 POI .45 .44 500m .28 N9735 8.2 Iw 28 LMO0811 1.00 NE536T 6.00 LM5556N 1.85 45232 5.6 .23 .22 36 pin .60 .59 .58 MC5558V 16 pin .22 65234 6.2 500m .28 44736 6.8 1w 2H LM3011CN 1.00 NE540L 600 1.00 .63 .62 .61 18 Din .29 .28 .27 40 pm 45235 5.8 500m .28 N4738 8.2 Iw 2H LM309H 1.10 NE550N 79 1.19 7525N .90 22 pin .36 .37 36 7.5 500m 28 N4742 12 1w 28 541309K 1.25 NE553 250 LM 7528N 2.20 45236 40m 6/1.00 N4744 15 Iw OS LM3IOCN 315 NE555V 75 LM7534N 1 20 SOLDERTAIL STANDARD (TIN) N456 25 PIV 35 AMP 1 611 .81 N458 150 701 6'1.00 N1183 50 L51311H .90 NE565H 1.25 LM7535N 1 25 14 pin 5.30 28 26 28 pnl S .99 90 5 100 PIV 35 AMP 1.15 N485A 180 10m 100 61184 I70 LM31IN 90 NE565N 1.95 80388 4.95 16 pm .33 .31 29 36 pm 119 1.26 N4001 50 PIV I AMP 99 N1186 200 PIV 35 AMP 1.80 1M318C4 1.50 NE566CN 1.95 LA175450 49 18 pm 42 19 37 40 pin 1.59 1.45 1.30 64002 100 PIV I AMP 10 N 1188 400 PIV 35 AMP 3.00 LM319N 1.30 NE567H 1.25 75451CN 39 24 pin .59 .54 49 LM3I90 9.00 NE567V 1.95 75452CN 39 SOLDERTAIL STANDARD (GOLD) MPSADS 5/1,00 TRANSISTORS PN4249 431 03 I.M3201( 5 1.35 LM703CN 45 75483CN 39 8 pin 0.30 .27 .24 24 pin 5 70 .63 .57 MPSA05 5/5100 PN3567 íi51.00 PN4250 4/0101 11/1370K 5 2 1.35 LM709H 29 75454CN .39 I4 pin .35 32 79 28 put 1.10 1.00 90 2N2219A 31701 PN3569 4/51.00 264400 4/01.11 1M320K 12 1.35 LM7119N .29 75491CN .79 4/51.00 P53569 4 /51.00 21,1a01 431.00 16 pin 38 35 .32 36 pin I.55 140 1.26 2112221 LM31(1K 1.35 LM/ION 79 75492CN .89 2522225 5,51 00 253701 531.00 254402 431.011 18 pin .52 .47 43 40 pin I75 1 59 1.45 16313K.5 10.50 L1.1111N 39 75494CN 89 252369 551.00 203705 5751.00 254403 4151,1111 LM324N 1.80 Lr,1/73N 55 RCA LINEAR WIRE WRAP SOCKETS (GOLD) LEVEL .3 2N2369A 4 51.00 703700 511.00 261409 5151 WI 1512415 55I00 263101 5/5100 7115086 4iS1011 LM339N 1.70 LM173H .55 CA3013 1.70 10 5.45 .41 .37 24 pin 51.05 .95 85 pill 292484 4i5100 263111 5151.05 255081 491 ou 1.51340K 5 1.95 LM733N 1.05 CA3023 315 .39 .37 28 pm I/O 1.15 1.10 14 pin .38 2N2908A 4/51.00 203724 S.65 755089 41510a 17 4I 199 145 130 1.6340K 195 LM739N 1.29 CA3035 2.15 16 pli' .43 42 36 Pm 2N2907A 515100 703705 5100 105089 4151.011

1 1 90 LM340K 15 1.95 1M741CH 11.00 CA3039 1.35 IS pin 75 60 67 40 pm 175 55 202925 5/01.00 203903 4/5100 755129 5/51.00 LM340N 24 1.95 1M741CN 3/I.00 CA3046 1.15 203053 2/51.00 203904 4151.00 205139 5/51011 I.M340T45 1.75 1M741 -14N 39 CA3059 2.46 263055 5.89 753905 410300 2145139 5151.00 1/51.00 205209 5131.011 L41340Tp6 1.75 LM747H 79 CASOCiO 2.80 PCS. PER ASST. M1E3055 5.09 703906 50 RESISTOR ASSORTMENTS $1.75 203392 5151 00 254014 3/51.00 205951 531 00 LM3401n 12175 LM 7475 79 CA3080 85 264014 3151.00 C10651535 715101 10 OHM 12 OHM IS OHM. 18 OHM. 22 OHM 203395 5/SI 00 LM340Tu 15 1 75 L01748H 39 CA3083 1.60 1.61340Tn 241.75 1.674814 39 CA3086 .59 ASST.1 5 ea: 27 OHM 33 DHM 39 OHM- 47 OHM. 56 OHM 1/4 WATT 5 %= 50 PCS. 1413504 1.00 LM1303N .90 CA3089 325 68 OHM 82 58M 100 01.14 120 OHM 150 OHM CAPACITOR CORNER 50 VOLT CERAMIC DISC CAPACITORS tM351CN 65 16113046 1.19 CA3091 8.25 8551. 2 5 ea: 1800X4220 OHM17008043305H54390OHM 1/4 WATT 5%. 50 PCS. 4111- 11.13ION 115 LM1305N 1.40 CA3123 I 85 1-9 10.49 50100 1'9 1049 50 100 470 OHM 560 OHM 680 OHM820 OHM IK 01,13 /OH 1 15 LM1307N 85 CA3600 175 IOpI 05 04 .03 001 ON 04 035 ASST. 3 See: 1.2K I.5K 1 8K 2.20 2:711 1/4 WATT 5 50 PCS. %' 22 pl .05 .04 03 0047 05 .04 935 DATA HANDBOOKS 3.30 3.9K 4.7K 5.6K 6.8K 47 pl .05 04 .03 .01 .05 .04 .035 04 ASST. 4 5 ea: 8.20 IOK I2K 15K 18K I/4 WATT 5 %= 50 PCS. 100 pl .05 .04 .03 022 06 .05 7400 Plmuul & Description of 5400/7400 ICS $2.95 220 pl .05 .04 .03 .047 00 .05 04 22K 27K 33K 3910 47K 470 pl .05 04 .035 1 12 09 075 & or 4000 Serres ICS CMOS Plenum Description $2.95 ASST. 5 5 ea: 56K 68K 8211 IOOK 120K I/4 WATT 5 %= 50 PCS. 100 VOLT MYLAR FILM CAPACITORS LINEAR Prnmw 8 Fw¢tional Description al 1501 IBOK 220K 270K 330K ,001m1 .12 .10 .07 .022m1 .13 .11 .08 Linear Circu /1s 02.95 ASST. 6 5 ea: 390K 470K 560K 680K 820K 1/4 WATT 5%- 50 PCS. .0022 .12 .10 .07 .047m1 .21 .17 .13 .1 ml .27 .21 .17 1M I2M 1.56 I.BM 2.2M .0047 m l .12 .10 .01 .22ml .33 .27 .22 MICROPROCESSOR COMPONENTS ASST. 7 5 ea: 2.7M OIM 39M 4.7M 5.6M 1/4 WAIT 5 %. 50 PCS. .01m1 .12 .10 .07 01189 CPU 524.95 8111 1014 RAM S 7.95 n 20% DIPPED TANTALUMS 1091101 CAPACITORS 6080 CPU 149.95 1702A 2K PROM 19.95 .1 35V .28 .23 17 I5 35V 30 26 21 151400 1401 1402 7403 7404 .15 35V .28 .23 1I 2.2 75V 31 .27 .21 7409 64B RAM 2.95 52030 2K PROM 19.95 ASS/ 8 551011 S5.95 ASST. SN/410 7430 7439 7440 7472 35V .28 17 33 155 .31 27 22 8599 Irr Slate 7489 3.50 0223 PROM 3.00 PRIME .22 .23 4 7 25V 9.95 SNi4a1 7490 7491 14100 74121 33 35V .28 .23 i i 32 .28 23 1101 2568 RAM 2.25 2401 2K SR INTEGRATED 455,9 ea M5I/'TL 5995 SN14145 14175 74110 14191 14193 AM 47 35V .28 .23 17 6.8 25V 36 .31 25 7102 1 RAM 2.95 2533 1KSSR 7.95 CIRCUIT 60 35V 28 .23 i I 10 25V .40 15 29 6.95 C04001 4002 4011 0017 4613 8101 1024 RAM 7.95 49.5.1013 DART la 2es CMOS 5195 17 15 Ass' 4017 4019 4030 asti 10 35V 28 23 155 63 50 40 91191.1 1024 RAM 3.95 93910 2560'RAM 3.25 ASSORTMENTS 50403 0003 1.1113001 3016 3021 1ä1T 3090 MINIATURE ALUMINUM ELECTROLYTIC CAPACITORS ASST 2n. LINEAR 51095 ÁS51 7010 IK OROS RAM Retains dala w/0 Pmwl 29.95 11 1.613114 5654 S57T ritt 741/1 Axial Lead Radial Leed 7107 9K RAM 45055 Access time22 pm DIP 19.95 47 50 15 13 10 41 25 15 13 10 I 50 16 .14 11 47 50 16 14 il 1K Sta. c RAM Direct Replacement lar 21011 91102 Satisfaction Guaranteed. $5.00 Min. Order. U.S. Funds. 3.3 50 .15 .13 10 I 16 15 13 10 wen, 49!. Lees Current Dmwn. 3.95 California Residents - Add 6% Sales Tax 4.7 25 16 .14 12 I 25 16 14 11 10 15 .13 10 I 50 16 14 11 ,Vector General Purpose Logic CARO Board 14.95 Write for F REE Catalog Data Sheets .25e each 25 1975F - 10 50 16 II 12 4.7 16 15 13 10 'Very High Noise Immunity Holds 12 ea. 14 pin GIPS 22 15 .17 .15 12 4.7 25 15 13 10 '44 pin Edge Conneclion 22 50 24 20 18 4 I 50 .16 14 II 47 25 19 17 15 10 16 14 17 09 THE KILOBYTE RAM CARD Per Kit 69.95 47 50 25 21 19 10 25 IN 13 10 'Complete I Kx8 Memory' High Noise Immunity Components 100 25 .24 20 18 10 50 16 14 19 'Single 5v supply 500NS Access TIme &Kit includes sockets, ICS & 100 50 35 30 .28 47 50. 24 21 19 Board 110 25 32 28 25 100 16 19 15 14 220 50 45 41 18 100 15 24 20 I8 P.O. BELMONT, 29 .27 TOO 50 35 30 18 FREE With each $75 arder of Microprocessor components, BOX 822, CA. 94002 470 25 33 1055 16 95 .50 45 220 16 .23 17 16 01200 gel a one year subscription to BYTE the III Mlle lar 2200 16 70 62 .55 470 25 31 28 1fia \Value computer PHHEAKS F NEE FREE F HOE PHONE ORDERS - (415) 592 -8097 COMPUTER-DATA INPUT KEYBOARDS TRANSFORMERS Computer projects need power supplies. Finding the right power transformer can be a problem. We have one of the largest and o o most diversified stocks of power transformers in the country. _- 7 20 S A t G L Below we list some representative items in our inventory. Our r ; ' catalog, free on request lists many more. a 0 e 36 V. @ 1.0 A. ct, & 6.3 V @ 200 ma. 3 lbs. 89313 3.50 2/6.00 - o , 70 V. @ 1.5 A. ct, & 6.3 V @ 500 ma. 6 lb. B9314 6.50 2/12.00

r c v e 90 V. @ 2.0 A. ct, & 6.3 V @ 1.5 A. 8% lb. B9315 9.95 2/19.00 50 V. -@ 1.5 A. ct, & 6.3V @500 ma. 6 Ib. B9316 6.50 1 2/12.00 1 01 1 1 11 1 1 . 0 26 V. @ 1.0 A. ct. &6.3 V. @ 500 ma. 3 lb. 89318 3.75 2/7.00 38 V. @ 1.5 A. ct. & 6.0 V.@ 500 ma. 2 lb. 89319 6.95 2/13.00 350 V. @ 35 ma. ct. & 6.3 V. @ 2.7 A 2 lb. 89321 3.50 2/6.00 B5283 70 V. @ 1.5 A. ct. & 6.3 V @ 1.5 A. 7Lb. 89322 6.75 2/13.00 35 V. @ 6.0 Ct. & 10 V.@ 10.0 A. 6.0 Lb. B9906 8.95 ea. 64 or 32 V. @8.0A. ct. & 18 V. @ 8.0 A ct. 10 lb. 139905 11.95 VOLTAGE REGULATOR BOARDS

85199

ASCII encoded keyboard. In its own enclosure. Originaly used in SANDERS ASSOCIATES 720 Terminal System. In like new condition. Usefull for any project requiring an ASCii encoded keyboard. 50 Alpha Numeric keys plus 11 computer symbols STOCK NO.B5283 keyboard $35.00 2/65.00 B5169 is a board containing 3 15 volt high current regulators with 0.1% regulation. 2 of the regulators are rated @ 3 Amps., MICRO -SWITCH (Honeywell) 8 bit binary coded board. 56 keys, and the other @ 6.0 amps. The current in each regulator may alpha - meric and computer symbols Built in TTL decoder. New be doubled with the regulation going to 0.5 %.All 3 regulators in factory cartons. A beautiful keyboard. are short circuit proof, and 2 have electronic crowbar protect- STOCK NO.B5199 Microswitch keyboard. $45.00 2/80.00 on. Brand new, in factory boxes. STOCK NO.B5169 $11.95 ea. 2/21.00 KEYTOPS & SWITCHES B9013 is a triple regulator with +12 volt regulation @ 200 TO MAKE YOUR OWN KEYBOARD ma. and the third regulator is a tracking regulator, providing regulation from 0 to 5 volta @ .5 A. STOCK NO.B9013 $5.95 ea. 2/10.00

rat)) regulators above come withcircuit diagrams. OPERATIONAL AMPLI FIERS We have a large selection of KEYTOPS and SWITCHES, made by (OP -AMPS) RAYTHEON CO. The keytops come in black, grey and white, with contrasting legends. The switches mate with the tops, and are TYPE DESCRIPTION CASE STOCK PRICE magnetic reed switches. The following combinations are available: 709 Hi Performance TO -5 B4301 .50 5/2.00 54 key typewriter set, keys only, black K9276 2.95 4709 Dual 709 DIP B5301 1.00 6/5.00 54 key typewriter set, keys only, grey K9278 2.95 5/3.00 54 key TTY set, no symbols white K9279 2.95 741 Hi Performance DIP 84316 .65 54 key TTY set, with symbols white K9282 2.95 747 Dual 741 DIP 134317 1.25 5,5 00 741 Hi Performance Mini DIP 84345 .65 5/3.00 54 key set, keys & switches black K9288 30.00 747CT Dual 741 TO -5 B3111 1.25 5/5.00 54 key set, keys & switches grey K9290 30.00 1458 Dual 741 Mini DIP B3112 1.25 5 /0.00 54 TTY set, no symbols keys & Sw. White K9291 30.00 LM101A Gen, Purpose TO -5 B4503 .50 5/2.00 54 TTY set, with symbols, keys & Sw. white K9291 30.00 SELF SCAN PANEL DISPLAY 11 Key Numeric set. Keys only Black K9283 1.50 11 Key Numeric set, Keys only Grey K9284 1.50 11 Key Numeric set, Keys only White K9295 1.50 12 Key numeric set, Keys only white K9286 1.50 Burroughs 11 Key Num.set, keys & switches Black K9293 7.00 11 Key Num. set, keys & switchesGrey K9294 7.00 11 Key Num. set, keys & switchesWhite K9295 7.00 12 Key Num. set, keys & switcheswhite K9296 7.50 rt

Please include sufficient Send for the latest edition postage. Excess refunded of our catalog. Loaded with MINIMUM ORDER $5.00 DELTA ELECTRONICS CO. electronic and computer BOX 1, LYNN, MASSACHUSETTS 01903 Largains. Phone (617) 388 -4705 gose 7- Segment Readout > °1 25K Trimmer 12 -PIN DIP Dale Trimmer PRINTED CIRCUIT BOARD TYPE --- ' Three digits with right -hand decimal EACH $.20 10 FOR $1.50 Plugs into DIP sockets -12 turn trimpots which plug Similar to (LITRONIX) DL337 into a DIP socket Rectifiers Magnified digit approximately .1" -5K and 200K VARO FULL -WAVE BRIDGE Cathode for each digit -1:' x +" x <" Segments are parallel for multiple -4 leads spaced .3" x .2" VS647 2A operation Each $1.00 10 for $8.95 600V $1.10 MA per 5 -10 segment MR810 Rectifier 50V lA $ .10 EACH $1.75 4 (12 DIGITS) $6.001 1000 MHz Counter 11C05 Fairchild 1GHz Divide By Four Special 811: Hex Inverter RCA Numitron -Dc to 1000 MHz operation TTL DIP Hex Inverter; pin interchangeable with SN -AC Or DC coupled 7404. Parts are brand new and branded Signetics EACH $ 5.00 - 1, ( -Voltage compensated and marked "811." -TTL or ECL power supply . EACH $ .16" SPECIAL: 5 FOR $20.00 y -50 ohm drive output DATA 10 FOR 1.50 811 D R 2O 10 -Lead compatible with Plessy SP613 SHEET 100 FOR 14.00 -True and complement ECL outputs SUPPLIED 1000 FOR 110.00 -14 pin DIP MOS MEMORY -Data and application notes 2102 -2 1 AMP RECTIFIER Each $49.95 1024 Bit Fully Decoded Static MOS EACH $ .15 Random Access Memory LED's 1N4007 1KV PRV -A,- SALE 10 for $1.00 -fast access 650ns

-fully TTL compatible MV50 Red Emitting $ .20 -n channel silicon gate 10 -4 MA @ 2V 10 FOR $1.25 -single 5 volt supply MAN 4 7-Segment, 0-9 plus letters. -tri -state output r 9 P Right -hand decimal -1024 by 1 bit ' point. Snaps in 14- MV5024 Red TO -18 $ .95 -chip enable input ppin DIP socket or Molex. IC voltage9 re- High Dome 10 FOR $2.95 no clocks or refreshing il; quirements. Ideal for desk or pocket required (C calculators! "r Brand New Factoryy Parts MV10B (+' Visible Red $ .30 -': EACH $1.20 10 OR MORE $1.00 EACH 16 PIN DIP Each $5.00 5 -7 MA @ 2V 10 FOR $2.50 8 for $34.95 CD -2 Counter Kit Power Supply SPECIAL! C M O S This k i t provides a highly sophisticated display CD4001 $ ,45 CD4023 $ .45 section module for clocks, counters, or other nu- 723 DIP variable regulator chip 1 -40V, CD4002 .45 74C20 .65 merical display needs. The unit is .8" wide and + or - output @ 150 MA l0A with exter- CD4011 .45 74C160 3.25 4 3/8" long. A single 5 -volt power source powers nil pass transistor --with diagrams for CD4012 .45 both the ICs and the display tube. It can attain many applications. typical count rates of up to 30 MHz and also has EACH $1,00 10 FOR $8.95 3 -Amp Power Silicon Rectifiers a lamp test, causing all 7 segments to light. Kit includes a 2 -sided (with plated thru holes) fiber - MARKED EPDXY AXIAL PACKAGE glass printed c i r c u i t board, a 7490, a 7475, a 5001 Calculator 7447, a DR2o10 RCA Numitron display tube, complete 40-Pin chip will add, sub- PRV PRICE PRV PRICE calculator P instructions, and enough MOLEX pins for the ICs... tract, multiply, and divide. 12 -digit 100 $ 10 800 $ 30 NOTE: boards can be supplied in a single panel of display and calculate. Chain calcula- 200 15 1000 40 up to 10 digits (with al 1 interconnects); there - tions. True credit balance sign out- 400 18 1200 50 fore , when ordering, please specify whether you put. Automatic over -flow indication. 600 23 1500 65 want them i n single panels or in one m u 1 t i p 1 e Fixed decimal point at 1, 2, 3, or 4. digit board. Not specifying will result in ship- Leading zero suppression. Complete DIODE AmRAV 10 -1N914 silicon ping delay. data supplied with chip signal diodes in one package. 20 COMPLETE KIT ONLY $10,95 CHIP AND DATA ONLY $2.49 leads spaced .1 "; no common connec- FULLY -ASSEMBLED 'e-c..:----_ __SA,' DATA ONLY (Refundable)... $1.00 tions. UNIT $15.00 , "' »9 -, 5002 LOW POWER CHIP AND DATA $12.95 - EACH $ 29 . - " _ .o

i i ` i ` i , i i ` 10 F $2.50 High Quality PCB l ` O R Boards supplied separately @ $2.50 per digit. Mounting IC Sockets 7400 .20 74H51 .25 L I N E A R S 74H00 .30 7453 .20 8-PIN,8 -PIN, 14 -Pin, 16 -Pin and 24 -Pin PCB .20 7454 .20 7401 NE555 Precision timer .90 mounting ONLY --no wire wrapP sockets. 74H01 .25 74L54 .25 NE560 Phase lock loop DIP 2.95 7402 .25 74L55 .25 NE561 Phase lock loop DIP 3.00 8 -Pin $ .22 7403 .25 7460 .16 NE565 Phase lock loop 2.95 7404 .25 74L71 .25 NE566 Function generator TO -5 3.50 14 -Pin $ .26 74H04 .30 7472 .40 NE567 Tone decoder TO -5 3.50 7405 .30 74L72 .60 709 Popular Op Amp DIP .40 16 -Pin $ .30 7406 .40 7473 .35 710 Voltage comparator DIP .60 7408 .30 74L73 .75 711 Dual comparator DIP .45 24 -Pin $ .75 74H08 .30 7474 .45 723 Precision voltage regulator DIP 1.00 7410 .20 74874 .75 741 Op amp TO -5 /MINI DIP 45 40 -Pin $1.25 7413 .75 7475 .80 7417 .40 7476 .55 All IC's are new and fully tested. Leads 748 Op Amp TO -5 .80 7420 .20 74L78 .70 are plated with gold or solder. orders CA3018 2 Isolated transistors and a Darling - for $5.00 or more will be shipped prepaid 74L20 .30 7480 .50 ton -connected transistor pair 1.00 Add 5 .:s for handling and postage for 74H20 .30 7483 .70 smaller orders; residents of California 74H22 .30 7489 3.00 add sales tax. IC orders are shipped CA3045 5 NPN transistor array 1.00 within 2 workdays --kits are shipped with- 7430 .20 7490 1.00 LM100 Positive DC re ulator TO -5 1.00 in to days of receipt of order. 510.00 74H30 .30 7492 .65 9 minimum on C.o.d.'s. LM105 Voltage regulator 1.25 74L30 .30 7493 1.00 MailM Orders to: LM302 Op Amp voltagea follower TO -5 1.25 Phone 7440 .20 7495 .65 P.O. Box 41727 LM308 Op Amp TO -5 2.00 74H40 .30 74L95 1.00 Sacramento, CA (916) 334-2161 LM309H 5V 200 MA power supply TO -5 1.00 7442 1.00 74107 .35 95841 LM309K 5V lA power supply module TO -3 1.00 7447 1.50 74145 1.25 LM311 Comparator Mini 1.75 7450 .20 74180 1.00 gRgY Lp11 LM370 AGC amplifier 1.75 74H50 .30 74193 1.50 LM380 2 -Watt Audio Amp 1.75 7451 .20 74195 .65 E LECTRonICS LM1595 4- Quadrant multiplier 1.70 Money back guarantee MC1536T Op Amp 1.35 on ail goods: 7400 Series DIP

94 KEYBOARD WITH ENCODER Late model keyboard used on computer terminal. Mounted in modern designed wood grained case dust enclosure for desk top use. Utilizes magnetic reed relay bounceless keyswitches. The encoder board mounted within. Fine biz for Morse Code Generator, TV typewriter, computer terminals, etc. Ship wgt. 7 lbs. #SP -153 -L $35.00

GENERAL PURPOSE POWER SUPPLY A well designed transistorized regulated power supply with many uses. Each voltage adjustable by a pot. Each voltage fused. 115 volts AC 60 cycle input.

Output (minus) 12 volts at 3 amp, 12 volts (plus) at 1/3 amp, 6 volts at 1 amp ... three output voltages. Many uses ... as battery charger, op amp, 5 volt logic supply, operate your car radio or tape player, CB set, in the house, etc. A commercially built regulated supply for far less than the price of a kit. Ship wgt. 10 lb #SP -152 -L $12.50, 5/$50.00

MEMORY SYSTEM $125.00 New memory system by Honeywell, small ... measures only 9x4x1 inches. 1024 core memory, 1024 words with 8,9,10 bits /word. Random access, with all logic, register, timing, control, core select and sense functions in one package. New, booklet of schematics and data. Looks like a good beginning for a mini-computer. Limited supply on hand. Ship wgt 3 lbs. #SP -79 $125.00

CORE MEMORY This one by RCA, sandwich board construction with diode matrix. Fairly small measures approx. 5 x 7 inches. The memory is on one plane 32 x 32 x 9 (9216). Edge connector simplifies use. They are brand new and we have some data provided by one of our customers which we will photo copy and include. #SP -80 $25.00

CORE MEMORY Another brand new memory, ultra small. Measures only 4 x 4 inches with format on one plane of 32 x 32 x 16 (16,384). Only about 35 units of this on hand #SP -81 $20.00

FREE CATALOG Please add shipping cost on above. v/( MESHNA PO Bx 62 E. Lynn Mass. 01904 95 I service THE To get further information on the products advertised in this issue of BYTE merely tear, rip, or snip out this advertiser index, fill out the data at the bottom of the page, mark the appropriate boxes, and send the works to BYTE, Peterborough NH 03458. STE Readers get extra Brownie Points for sending for information ó since this encourages advertisers to keep using BYTE - which in turn brings you a bigger BYTE. ADVERTISER INDEX QUESTIONNAIRE

ACM 62 BYTE is dedicated to the needs of its readership. A. P. Products 13 In order to better gauge matters of editorial policy

CI Babylon 94 and content, as well as to give our advertisers some

LI Ccldat 69 "hard facts ", we publish this questionnaire. In this month's list are a few questions of editorial CMR 86 interest: r_ Continental Specialties CIII n Delta 93 What is your primary interest in personal com- Delta T 88 puting? Godbout 44, 45 Hickok 56, 57 n Intl Elec. Unlimited 90 James 88, 92 Would you suggest a game or two you'd like to see Martin Research 33 described in BYTE? Meshna 95

Micro Digital 91 El MITS CIV, 48, 49, 50 Processor Technology 19

n RGS 7

Scelbi 10, 11 How did you hear about BYTE? El S. D. Sales 67 Signetics 55 Southwest CII n Sphere 2, 3, 4 What did you like best Suntronix 89 about the first two BYTEs? Windjammer 63 Messages for the editor:

Reader's Service What did you like least about the first two BYTEs? BYTE OCTOBER 1975 Green Publishing Inc. Peterborough NH 03458 BYTE acquired via

I Subscription Please print or type. rl Newsstand LI Stolen Are you a member of a computer club or society? Name

Address These questions are a short form "letter to the editor." If you have additional comments, don't City State Zip hesitate to write! Send completed questionnaires to BYTE, Dept. Q, Peterborough NH 03458.

Coupon expires in 60 days .. .

96 Continental Specialties Corp. offers I I- a total line of breadboard test devices ... everything from inexpensive kits to high -power professional units and ( J rr=-J,-r-- logic monitors too. Each high quality, compact unit comes with a guarantee of complete satisfaction or your money back within 10 days. Here are but five of the "hottest" items we make... .2p31`

PROTO BOARD Power for the 100 Professional! New Proto Boards PB -100 Complete Kit ... PB -203 and PB -203A A complete mini - with built -in breadboard budget kit with full IC capacity regulated Add $1.50 shipping short -proof /handling The PB -100 is a low cost, big 10 IC capacity power supplies! breadboard kit, complete down to the last nut, bolt and screw. Includes 2 QT -35S Sockets; 1 QT -35B Ready -to -use. Just plug in and start Bus Strip; 2 5 -way binding posts; 4 rubber feet; building! 2 extra floating 5 -way binding screws and easy assembly instructions. 4.50" posts for external signals (PB -203 only). Completely self- contained with power switch, indicator lamp and power (114.3mm) wide x 6.00" (152.4mm) long x 1.35" fuse. 24 14 -pin DIP capacity. All metal construction ... (34.3mm) high. Order your PB -100 kit! Start building no chipping or cracking as with plastic cases. Two -tone and testing now! quality case makes both PB -203 and PB -203A aesthetically, as well as technically attractive.

PB -203 PB -203A GM =PROTO -CLIP offers power -on.., 3 QT -59S Sockets 3 QT -59S Sockets hands -off signal tracing 4 OT -59B Bus Strips 4 OT -59B Bus Strips ... under $5! 1 QT -47B Bus Strip 1 QT -47B Bus Strip or troubleshoot Fuse Power Switch Fuse Power Switch Trace signals Power-On Light Power -On Light fast. Inject signals or wire 9.75 "L x 6.6 "W x 3.25 "H 9.75 "L x 6.6 "W x 3.25 "H unused circuits into existing Weight: 5 lbs. Weight: 5 lbs. boards. Flexible plastic web' 5V, 1 AMP regulated power 5V, 1 AMP regulated power construction eliminates supply supply (same as PB -203) springs and pivots. Plus, the + 15V, 1/2 AMP regulated narrow throat is perfect for power supply high density pc boards. - 15V, 1/2 AMP regulated power supply Order now! PC -14 14 -pin Proto -CIIp: $4.50 ea. PC -16 16 -pin Proto -CIIp: $4.75 ea. 75. 120. Add $1.00 shipping and handling Add $2.50 shipping /handling Add $2.50 shipping, handling

OUTPUT SPECIFICATIONS OUTPUT SPECIFICATIONS Output Voltage 5V ± 1/4V Output Voltage 15V, internally Scope probes, Ripple & Noise @ 1/2 AMP adjustable teat leads lock 10 millivolts Ripple & Noise @ 1/4 AMP, onto unique Load Regulation Better than 1% 10 millivolts toothed grips Load Regulation Better than 1%

''COPYRIGHT CONTINENTAL SPECIALTIES CORPORATION 1975 Continental Specialties Corp. LOGIC MONITOR All Continental Specialties breadboard test devices brings ICs to life are made in the USA, and are available off -the -shelf faster than a scope ... from your local distributor or CSC. Direct purchases safer than a may be charged on BankAmericard, Master Charge 1i' voltmeter or American Express. You get a FREE English /Metric conversion slide rule with each order. Foreign LM -1 QÁ95 orders please add 10% for shipping /handling. IS9_ v each Add $2.50 shipping /handling Prices are subject to change. Write or phone for it t Self -contained, pocket size. No complete illustrated catalog, plus the name and adjustments or calibrations needed. address of the CSC dealer nearest you. Puts life into digital designs. Just clip to any DIP IC up to 16 pins. Patents Pending NO POWER SUPPLY NEEDED! Simultaneously displays static and dynamic logic states of DTL, TTL, HTL or CMOS on 16 large high Intensity LEDs. Watch signals work through counters, shift registers, timers, adders, flip flops, decoders, entire systems. Concentrate on signal flow and input /output truth tables. Forget probe CONTINENTAL SPECIALTIES CORP. grounds, pin counting or sync polarity. Precision plastic 44 Kendall St., Box 1942, New Haven, CT 06509 203/624 -3103 guides and flexible plastic web insure positive connections. West Coast Office: Box 7809, San Francisco, CA 94119 415/383 -4207 Versatile. Fast. Accurate. Indispensable. Order yours today! CANADA: Available thru Len Finkler Ltd., Ontario IYIWOIwHI 1oUia"@i.l..5 De OS Si to V CAi iJ V J 9 J I J'.ígiQJw. ;,.Y Jal

' STATUS

1 /il6 Ali'Atl"AI/ H Aq 9 A9 ti.a Aj ú-li V i5 éi luti .i s...r iilJ i_.` s- .I. I

(7) CO h) (04 i) el) (t)

Una. 1401', AMM MST, 1101-i0 " y% n n M , ci Atif oO[t1Ant urin,uK%

MITS ALTAIR 8800 ['UIIIFUTEF

0

\