Byte Magazine Volume 02 Number 09 - Music and Computers

This book was produced in EPUB format by the Internet Archive.

The book pages were scanned and converted to EPUB format automatically. This process relies on optical character recognition, and is somewhat susceptible to errors. The book may not offer the correct reading sequence, and there may be weird characters, non-words, and incorrect guesses at structure. Some page numbers and headers or footers may remain from the scanned page. The process which identifies images might have found stray marks on the page which are not actually images from the book. The hidden page numbering which may be available to your ereader corresponds to the numbered pages in the print edition, but is not an exact match; page numbers will increment at the same rate as the corresponding print edition, but we may have started numbering before the print book's visible page numbers. The Internet Archive is working to improve the scanning process and resulting books, but in the meantime, we hope that this book will be useful to you.

The Internet Archive was founded in 1996 to build an Internet library and to promote universal access to all knowledge. The Archive's purposes include offering permanent access for researchers, historians, scholars, people with disabilities, and the general public to historical collections that exist in digital format. The Internet Archive includes texts, audio, moving images, and software as well as archived web pages, and provides specialized services for information access for the blind and other persons with disabilities.

Created with abbyy2epub (v.1.7.2)

SWTPC announces first dual minifloppy kit under $1,000 ^

I'i*^.^:*.-^.

I ^.y

h .•*■«

\'\ i"'

pip

o o

Now SWTPC offers complete best-buy computer system with $995 dual minifloppy, $500 video terminal/monitor, $395 4K computer.

$995 MF-68 Dual Minifloppy

You need dual drives to get full benefits from a minifloppy. So we waited to offer a floppy until we could give you a dependable dual system at thie right price.

The MF-68 is a complete top-quality minifloppy for your SWTPC Computer The kit has controller, chassis, cover, power supply cables, assembly instructions, two highly reliable Shugart drives, and a diskette with the Floppy Disk Operating System (FDOS) and disk BASIC. (A floppy is no better than its operating system, and the MF-68 has one of the best available.) An optional $850 MF-6X kit expands the system to four drives.

$500 Terminal/Monitor

The CT-64 terminal kit offers these premium features: 64-character lines, upper/lower case letters, switchable control character printing, word highlighting, full cursor control, 110-1200 Baud serial interface, and many others. Separately the CT-64 is $325, the 12 MHz CT-VM monitor $175.

Enclosed is:

$1,990 for the full system shown above

(MF-68 Minifloppy, CT-64 Terminal with CT-VM Monitor).

$995 for the Dual Minifloppy

$325 for the CT-64 Terminal

$175 for the CT-VM Monitor

$395 for the 4K 6800 Computer

NameCity

$250 for the PR-40 Line Printer $79.50 for AC-30 Cassette Interface Additional 4K memory boards at $100 Additional 8K memory boards at $250

Or BAG # Exp. Date_

_ Or MC # Exp. Date_

_ Address-State

_Zip_

$395 4K 6800 Computer

The SWTPC 6800 comes complete with 4K memory serial interface, power supply chassis, famous Motorola MIKBUG® mini-operating system in read-only memory (ROM), and the most complete documentation with any computer kit. Our growing software library includes 4K and 8K BASIC (cassettes $4.95 and $9.95; paper tape $10.00 and $20.00). Extra memory, $100/4K or $250/8K. Other SWTPC peripherals include $250 PR-40 Alphanumeric Line Printer (40 characters/line, 5x7 dot matrix, 75 line/minute speed, compatible with our 6800 computer and MITS/IMSAI); $79.50 AC-30 Cassette Interface System (writes/reads Kansas City standard tapes, controls two recorders, usable with other computers); and other peripherals now and to come.

F^^^TT^

Southwest Technical Products Corp.

219 W. Rhapsody San Antonio, Texas 78216 London: Southwest Technical Products Co., Ltd. Tokyo: Southwest Technical Products Corp./Japan

The new 16K RAM card that turns

your computer into a

working giant

Available now — store/factory

Here's the industry's leading 16K RAM card.

It has two outstanding features that make it important to you:

(1) It's fast: It operates up to 4 MHz with no wait states. That's important because it lets you run programs on your Cromemco Z-1 and Z-2 computers in about half the time required by other systems. Even if your present computer is not 4 MHz fast, this new Modell6KZ RAM equips you for the time when you'll need anfl want higher computer speed.

(2) It has Cromemco's Bank-Select feature. Bank-Select lets you expand memory far beyond 64K bytes. Not just beyond 64K but far beyond — up to 512K bytes if you wish. Again, with Cromemco you get present outstanding performance plus obsolescence protection.

Bank-Select lets you organize memory into 8 banks of 64K each. The active bank is software-selected.

A useful giant

Whatever your S-100 bus computer—-Cromemco, Altair 8800 or IMSAl 8080 ■—you can have enormous memory with the new Model

TT TT ir ir TT

s™o

;iy

15KZ. You can run the large programs and files that make computers truly valuable — that take them out of the toy class and make them useful, producing units.

With Bank-Select you can even operate an S-100 bus computer as a time-share computer with up to 8 stations. A given memory bank can be accessed only by one station, so there is full confidentiality.

Advanced Cromemco engineering

Designing a 16K RAM card to operate at 4 MHz is a significant engineering accomplishment. That's why

Cromemco with our strong engineering staff is the only manufacturer to offer such a card.

And notice that this advanced card is available and ready for delivery — at your store or from the factory. 16K RAM memory kit

(Model 16KZ-K) $495.

16K RAM memory assembled,

tested, and burned in for 160

hours (Model 16KZ-W) . . $795.

Mastercharge and BankAmericard accepted with

signed order. Show complete card number and

expiration date.

California users add 6% or 6'/!% sales tax as

applicable.

Q Cromemco incorporated Specialists In computers and peripherals

2400 CHARLESTON RD., MOUNTAIN VIEW, CA 94043 • (415) 964-7400

Circle 201 on inquiry card.

Meet the most powerful jjlC system available for dedicated work.

Yet if s only $595:

Here's the muscle you've been telling us you wanted: a powerful Cromemco microcomputer in a style and price range ideal for your dedicated computer jobs—ideal for industrial, business, instrumentation and similar applications.

It's the new Cromemco Z-2 Computer System. Here's some of what you get In the Z-2 for only $595:

• The industry's fastest /tP board (Cromemco's highly regarded 4 MHz, 250-nanosecond cycle time board).

• The power and convenience of the well-known Z-80 /xP.

• A power supply you won't believe ( + 8V @ 30A, -M8V and —18V @ 15A — ample power for additional peripherals such as floppy disk drives).

• A full-length shielded motherboard with 21 card slots.

• Power-on-jump circuitry to begin automatic program execution when power is turned on.

• S-100 bus.

• Standard rack-mount style construction.

• All-metal chassis and dust case.

• 110-or 220-volt operation.

DEDICATED APPLICATIONS

The new Z-2 is specifically designed as a powerful but economical dedicated computer for systems work. Notice that the front panel is entirely free of controls or switches of any kind. That makes the Z-2 virtually tamper-proof. No accidental program changes or surprise memory erasures.

FASTEST, MOST POWERFUL fiC Cromemco's microcomputers are the fastest and most powerful available. They use the Z-80 microprocessor which is

Shown with

optional bench

cabinet

widely regarded as the standard of the future. So you're in the technical fore with the Z-2.

BROAD SOFTWARE/PERIPHERALS SUPPORT

Since the Z-2 uses the Z-80, your present 8080 software can be used with the Z-2. Also, Cromemco offers broad software support including a monitor, assembler, and a BASIC interpreter.

The Z-2 uses the S-100 bus which is supported by the peripherals of dozens of manufacturers. Naturally, all Cromemco peripherals such as our 7-channel A/D and D/A converter, our well-known BYTESAVER with its built-in PROM programmer, our color graphics interface, etc., will also plug into the S-100 bus.

LOW, LOW PRICE

You'll be impressed with the Z-2's low price, technical excellence and quality. So see it right away at your computer store—or order directly from the factory.

Z-2 COMPUTER SYSTEM KIT (MODEL Z-2K) (includes 4 MHz /xP card, full-length 21-card-slot motherboard, power supply, one card socket and card-guide set, and front panel; for rack mounting) $595.

Z-2 COMPUTER SYSTEM ASSEMBLED (MODEL Z-2W) (includes the above as well as all 21 sockets and card guides and a cooling fan; for rack mounting )... $995.

•kit price

Cromemco

"gpeclaiisls 'ir>" corntsqlers arid partpheyiits

432CHARI ^'■=T>-^^.l nil M.iiihjTniu uiFU; TA 94043 • (415)964-7400

-^

In fche Queue

Ei^TE SEPTEMBER 1977 Volume 2 Number 9

12 30 62 84

126

26 44 54

102 112 122 190

4

6

8

25

50

59

97

Foreground

SCORTOS: IMPLEMENTATION OF A MUSIC LANGUAGE

Software, Music—Taylor CONTROL THE WORLD! (OR AT LEAST A FEW ANALOG POINTS)

Peripheral Interfaces—Ciarcia TECHNIQUES FOR COMPUTER PERFORMANCES OF MUSIC

Computer Music—Chamberlin TUNE IN WITH SOME CHIPS

Applications—Sierad AN APL INTERPRETER FOR MICROCOMPUTERS, Part 2

Interpreter Design—Wimble

Background

A NEW DRESS FOR KIM

Design—Atkins EXPANDING THE TINY ASSEMBLER

Software Design—Emmerichs ONE-SIDED VIEW OF WIRE WRAP SOCKETS

Hardware— Ramp 11 THE NOVAL 760

System Description—Hauck-Nash NOTES ON INTERFACING PLAYER PIANOS

Music Peripherals—Maimers NOTES ON ANATOMY: THE PIANO'S REPRODUCTIVE SYSTEM

Software History-Morgan WALSH FUNCTIONS: A DIGITAL FOURIER SERIES

Interface Technology—Jacoby

Nucleus

In this BYTE

Reflections on Entry into Our Third Year

Letters

Alphanumeric Music

Review: Heuristics Speech Lab

Technical Forum: Personal Computer Network

Adding New Transcendentals to Limited BASICs On Finite State Machines and Their Uses Comments on Floating Point Representation

Ask BYTE

110,210, 216 What's New?

166,

200

BYTE's Bits

172

BYTE's Bugs

186

Clubs, Newsletters

202

Book Reviews

222

Classified Ads

224

BOMB

224

Reader Service

BYTE is published monthly by BYTE Publications Inc, 70 Main St, Peterborough NH 03458. Address ail mail except subscriptions to above address; phone (603) 924-7217. Address all editoriai correspondence to the editor at the above address. Unacceptable manuscripts will be returned if accompanied by sufficient first class postage. Not responsible for lost manuscripts or photos. Opinions expressed by the authors are not necessarily those of BYTE. Address all subscriptions, change of address, Form 3579, and fulfillment complaints to BYTE Subscriptions, PO Box 361, Arlington MA 02174; phone (6171 646-4329. Second class postage paid at Peterborough NH 03458 and at additional mailing offices—USPS Publication No. 102410. Subscriptions are $1 2 for one year, $22 for two years, and $32 for three years in the USA and its possessions. Add $5.50 per year for subscriptions to Canada and Mexico. $25 for a one year subscription by surface mail worldwide. Air delivery to selected areas at additional rates available upon request. S25 for a one year subscription by air delivery to Europe, or DM 60,— for a one year subscription through our European distributor in Darmstadt, West Germany. Single copy price is 32.00 in the USA and its possessions, S2.40 in Canada and Mexico, and $3.50 in Europe or DM 8,— through our European distributor in Darmstadt, West Germany, and $4.00 elsewhere. Foreign subcriptions and sales should be remitted in United States funds. Printed in United States of America. Entire contents copyright ©1977 by BYTE Publications Inc. All rights reserved.

PUBLISHERS

Virginia Pcschke

(Manfred Pcschkc

EDITOR INCHIEF

Carl T Hclmcrs Jr

PRODUCTION MANAGER

Judith Havcy

CIRCULATION MANAGER

Gregory Spitzfaden

ASSISTANT PUBLISHER

Debra Boudrieau

EDITOR

Christopher P Morgan

CO-OP EDITOR

Scott Morrow

PRODUCTION EDITORS

Karen Gregory

Nancy Sa(mon

ADVERTISING

Debra Boudrieau, Director

Noreen Bardsley

Virginia Pcschke

EDITORIAL ASSISTANT

Ingrid Nyiand

PRODUCTION ASSISTANT

Cheryl Hurd

NEW PRODUCTS EDITOR

Elizabeth Alnaugh

DEALER SALES

Ginnie F Boudrieau

CLUBS, PAPERBYTES

Peter Travisano

TRAFFIC MANAGER

EdmoncI C Kelly Jr

ART

Wai Chiu Li

Ellen Shamonsky

SPECIAL PRODUCTS

Floyd W Rchling

Medellin Slcohens

David Wozmak

EXECUTIVE SECRETARY

Patricia Clark

RECEPTIONIST

Jacqueline Earnshaw

DRAFTING

Douglas Glen

Stephen Kruse

Lynn Malo

Bill Morcllo

Dorothy Shamonsky

TYPOGRAPHY

Custom Marketing Resources Inc

Goodway Graphics

PHOTOGRAPHY

Ed Crablrce

EDITORIAL CONSULTANT

Daniel ("ylstra

ASSOCIATES

Waiter Banks

Steve Ciarcia

David Fylsira

Portia Isaacson

FOREIGN DISTRIBUTOR

Pan Atlantic Computer Systems GmbH

Frankfurter Str 78

D61 Darmstadt Wes! Germany

(0 61 51) 29 29 23

ADVERTISING SALES REPRESENTATIVES National:

Parker & Short

1 Lakeside Office Park

Wakefield MA 01880

(617) 246-2293

Southern California:

Buckley/Boris Associates Inc

912 South Barrington

Suite 202

Los Angeles CA 90049

(213) 826-4621

Northern California:

Jules E Thompson Inc

Hearst Building

Suite nil

San Francisco CA 94103

(415) 362-8547

About the Cover

The conceptual target of the cover painting for September was a theme of music and sound. Taking this theme, Robert Tinney implemented this cover, entitled "Breaking the Sound Barrier." It was inspired by the legend of opera star Enrico Caruso breaking a wine glass through sympathetic resonances with his voice. The sound barrier we're referring to, of course, is the physical barrier between a program and the real world, which is crossed by one of a number of musical and audio output devices and software presently on the market or about to come to the marketplace.

^m

^

n U

^

^ n

P02 K2- T3/4 03 r4 G4 A8. F16 / 04 08. CB B16 02 F4 B4 / D8. E16 F4. GB / F E D C 03 B 02 C / P03 K2- T3/4 03 F2. A/ F4 F2A/ F2 4 / F2.A / F2 4 /

In This

Experimenting with music on your computer can be very rewarding. If you're looking for a streamlined way to input musical material into your system, look no further. Hal Taylor shows you how in SCORTOS: Implementation of a Music Language. Who knows, with SCORTOS you could have your synthesized concerto for alpenhorn and orchestra up, running and debugged by next week.

A naked microcomputer board is unprotected from a harsh environment. In his article this month, R Travis Atkins turns couturier as he fashions external garb in the form of A New Dress for KIM.

Steve Ciarcia returns this month with a combination of tutorial ideas and practical details so characteristic of his style. Read Steve's Control the World! (Or at Least a Few Analog Points) to review digital to analog conversion, and learn how BASIC can be used to compute and represent waveforms through a converter using a scope as a display.

A Tiny Assembler need not have tiny features, as Jack Emmerichs explains in his article on Expanding the Tiny Assembler. Jack adds structured programming features and incremental improvements to the Tiny Assembler design he described in April and May issues of BYTE this year. By reorganizing the symbol table to add the "begin" pseudo operation, "Tiny" takes on a number of "big" features while preserving practical operation as Version 3.1 in under 4 K bytes of memory.

Looking for a very simple way to build a wire wrap board? Ira Rampil has an idea in A One-Sided View of Wire Wrap Sockets.

Are you interested in making music with your computer? Hal Chamberlin's A Sampling of Techniques for Computer Performance of Music is one of

the best ways to get acquainted with this fascinating field. The article will give you complete directions for creating 4 part harmony on your microprocessor for a very modest investment. Get out those 4 voice fugues that have been languishing in your music drawer and bring them to life!

Did you ever want your computer to sing you a lullaby? Well, as Ted Sierad points out, it's not too hard to do so if you Tune In With Some Chips, using the circuit and software he describes.

The roster of "complete" computer systems for the amateur computing person expanded considerably with the introduction of the Noval 760. Turn to an account by designers Lane T Hauck and James D Nash, System Description: the Noval 760, for details of the philosophy and overall design behind this product.

page 12

A double feature written by Carl Helmers and Chris Morgan of BYTE covers key details of an interesting musically oriented peripheral which can be added to the personal computer: acoustic pianos with pneumatic player actions. Notes on Anatomy: The Piano's Reproductive System gives global morphology of a Duo-Art upright reproducing piano. Notes on Interfacing Pneumatic Player Pianos covers some details of how to engineer a computer interface for the pneumatic control lines using valve elements manufactured for the pipe organ industry.

With this issue, readers will note the continued progression of information on APL, and several articles introducing the theme of music representation and performance with computers. Readers can look forward to further information on these themes in future issues.

APL is one of the most interesting high level languages around these days. If you want to continue learning what goes on in an APL interpreter, read part 2 of Mike Wimble's An APL Interpreter for Microcomputers. Here Mike covers the expression evaluation sections of the interpreter.

Many people are familiar with use of orthogonal basis functions such as sines and cosines to compute arbitrary waveforms. But how many readers have heard of Walsh Functions: A Digital Fourier Series which forms arbitrary repetitive waveforms as weighted sums of digital waveforms? Read Benjamin F Jacoby's tutorial to find out a bit about these functions and their generation.

Announcing the West Coast's largest Personal Computing

Show. April 28, 29, and 30,1978 at California's brand new

Long Beach Convention Center. This is a selling show with

180 booths (each draped, carpeted and with 500 watts

of electricity). Three full days of conference sessions.

There will be honne brew exhibits, exhibitors lounge,

inquiry badge system, computerized registration, a

newsroom, and a full blown advertising and promotional

campaign to bring you thousands of qualified buyers.

PE^SCOMP^TB

I wouldn't miss it * for anything.

®

Send me the show kit:

Name;.

.Title:

Company: Address:Zip Code:.

.State:

. Phone:

Call: (714) 973-0880 Or mail this coupon: PERCOMP 78,

1833 E. 17 St., Suite 108, Santa Ana, CA 92701.

Sign early, corner booths are limited.

Circle 281 on inquiry card.

BYTE's 0.02 Centennial

Reflections on Entry into Our Third Year

Articles Policy

BYTL is continually seeking quality manuscripts written by individuals who ore applying personal systems, or who have linowledge which will prove useful to our readers. Manuscripts should have double spaced typewritten texts with wide margins. Numbering sequences should be maintained separately lor figures, tables, photos and listings. Figures and tables should be provided on separate sheets of paper. Photos of technical subjects should be taken with uniform lighting, sharp focus and should be supplied in the form of clear glossy black and white or color prints (if you do not have access to quality photography, items to be photographed can be shipped to us in many cases). Computer listings sliould be supplied using the darkest ribbons possible on new (not recycled) blank white computer forms or bond paper. Where possible, we would like authors to supply a short statement about their background and experience.

Articles which are accepted are typically acknowledged with a binder check 4 to 8 weeks after receipt. Honorariums for articles are based upon the technical quality and suitability for BYTE's readership and are typically $25 to $50 per typeset maga/.ine page. We recommend that authors record their name and address information redundantly on materials submitted, and that a return envelope with postage be supplied in the event the article is not accepted.^

By Carl Helmers

The September 1977 BYTE marks the end of the second year of our publication's existence in the public eye, although actual work on the magazine began at the end of May 1975. Since that time, the phenomenon of personal computing has expanded considerably as more people become aware of it through mass media publications, radio and television shows, trade fairs such as the First West Coast Computer Faire and the National Computer Conference. Good sense says a peak must be reached in any new and expanding marketplace, but to date we have seen no signs of the traditional "shakeout" (intense competition such as that which occurred recently in the calculator and watch marketplaces). For whatever reasons, a few firms have fallen by the wayside, but the general trend still remains one of expansion and exploration, to the ultimate benefit of the user of personal computing products who is presented with new options and lower prices for older options.

The "appliance" computer, a complete system presented in an assembled and tested package is on the threshold of its ultimate dominance in the general purpose personal computer field: from the high end, moving down in price, we find products like the Apple-ll and the Commodore PET 2001 machines; from the low end, moving up in function at the same price, we find the increasing versatility and capability of programmable calculators such as the newly announced Texas Instruments SR-59 with its optional ROM software modules and expanded printing and magnetic card peripheral capabilities. And for the discrimi

Continued on page 95

6

RalediG

Great Locations

Now Open:

22634 Foothill Blvd. Hayvi/ard, CA 94542 (415] 538-8080

6840 La Cienega Blvd. Inglewood, CA 90302 (213) 776-8080

24001 Vic Fabriconte Mission Viejo, CA 92675 (714) 770-0131

4233 Convoy Street San Diego, CA 92111 (714) 560-9912

104 W. First Street Tustin, CA 92680 (714) 544-0542

50 East Rand Road Arlington Heights, IL 60004 (312) 255-6488

9511 No. Milv^/aukee Ave. Niles, IL 60648 (312) 967-1714

813-B Lyndon Lane Louisville, KY 40222 (502) 425-8308

16065 Frederick Rood Rockville, MD 20855 (301) 948-7676

2 De Hart Street Morristov^/n, NJ 07960 (201) 539-4077

1612 Niagara Falls Blvd. Buffalo, NY 14150 (716) 836-6511

225 Elmira Road Ithaca, NY 14850 (607) 277-4888

6439 Westheimer Road Houston, TX 77057 (713) 977-0909

Opening Soon:

Huntsville, AL San Francisco, CA San Jose, CA Thousand Oaks, CA Detroit, Ml Nashua, NH Austin, TX

Franchise Opportunities Available—Contact: E. E. Faber, President ComputerLand Corp.

1922 Republic Ave. San Leandro, CA 94577 (415) 895-9363

Circle 202 on inquiry card.

Rated

The Best Game in Town.

Welcome to ComputerLand. An incredible adventure into the world of personal computers. A one-of-a-kind shopping experience.

Each ComputerLand store presents everything you ever Vi/anted to knovi/ about computers. And then some.

Take our Game Room, for starters. You'll find excitement for the Vi/hole family in our endless variety of challenging

computer gomes. You con battle the Kiingons in an out-of-this-world game of StarTrek. Create an electronic work of art with a computer controlled TV. Test your skill in a game of computerized hangman.

You can even plot your biorhythm.

But we're more than just fun and games Each ComputerLand store offers a knowledgeable and personable staff of professionals

And if your system breaks down, our in-store service department will get you back up and running.

Right now!

Great Selection.

Your first stop at ComputerLand may well be your last stop.

ComputerLand offers the finest quality and

to serve you. Plus the greatest available selection of micro components. Whether it's a data processing system for your business or a computer controlled sprinkler system for your home, you'll find whatever you need of ComputerLand.

Read on.

Genuine Service.

We want to supply you with the one system that's right. Rather than a complete system that isn't. Or a limited system that is.

That's why, at ComputerLand, you deal with real professionals who are also real people. People who speak your language COBOL or FORTRAN.

largest selection of all the major brand names. Like Apple Computer, Cromemco, DEC, Diablo, Hazeltine, ICOM,IMSAI, LeorSiegler, National Semiconductor, North Star, Texas nstruments. Vector Graphics and more.

Plus a complete inventory of tools, books and accessories.

V(/hat's more, at ComputerLand, we deal in product. Not promises. Our inventory is on our own shelves. Rather than the manufacturer's. So you can take delivery on tomorrow's components today. .,__^^_^^^^^^^^_—^^——i^——

. in addition to BASIC,

People, in short, who can offer both the novice and the old hand the some expert guidance in selecting the optimum system he or she needs.

Yet, assisting in the purchase is only the beginning of ComputerLand's service. If the kit you bought requires a little more do-it-yourself than you yourself can do, we provide assembly assistance,

If that complex program proves to be just that, we provide programming assistance.

V\/hich means, simply put, that at ComputerLand, you get exactly what you want.

Exactly when you wont it.

Be Our Guest.

Begin with the grand tour of our exhibit areas. "Testdrive" any of our individual systems.

Then tell us your needs. We'll sit down and talk about the system that's rightforyou. It'saseasy osthat at ComputerLand.

The great computer store. RATED G.

Call or write for the address of the ComputerLand store nearest you.

Franchise opportunities available.

CompulerlciAcP

1922 Republic Avenue, San Leondro, CA 94577 [415] 895-9363

LetlGPS

REGARDING INTERFACING THE

IBM SELECTRIC KEYBOARD

PRINTER

My congratulations to Mr Fylstra on a job well done in his June article in BYTE. I spent half a year, back in 1970, on designing the interface for the 735 Selectric to the Microdata 800 Minicomputer, and in the process went through many of the discoveries revealed in the article. As the man who serviced our IBM 10 printers (an ex-IBMer) said to me, that machine is a triumph of development over engineering!

One fruit of my work was a 2048 bit ROM which we custom programmed to do the ASCII to "bail code" conversion and back, without recourse to a software lookup table. It is still available as the MM5230KP from National Semiconductor. But note that it handles only the "correspondence" version of the Selectric: our machine needed full upper and lower case graphics.

Dan's comments on using the "a" and "b" contacts for figuring ready/busy of the printer are quite valid. One thing we learned was that allowing the clutch to stop between characters does lead to shortened life between adjustments. Back in 1970 we used a TTL voting circuit to read the contacts, because they bounced so much, and accurate timing is essential for "wide open" running.

One last point: The contacts are open reed, and must be "wetted" by using a current several times higher than the 5 mA shown, else they get dirty very quickly.

Good luck to all ye who pass this way again!

Richard Percival

National Semiconductor GmbH

Industriestrasse 10

808 Furstenfeldbruck GERMANY

IS BUS COMPATIBILITY NEEDED?

I have recently noticed that many people ascribe a certain importance to a product if it is "Altair (S-100) compatible." This should not be unusual; many people own Altair bus based systems and wish to buy only what is useful to them. But I am angered by people who automatically downgrade a product that is not S-100, even if they do not own a system themselves. They seem to think that compatibility and board interchangeability rank high on the list of priorities for a "good" computer system. This is typical of most of the hobby market.

I feel that the next few years will bring a change In that viewpoint. As computers become more and more

common, processor power and built-in features will take precedence over bus compatibility. This is especially true in the consumer market. Who, in the early days of radio, would buy a separate tuner, amplifier and speaker assemblies if they could buy a complete, assembled unit? Consumers would never consider buying and inserting full size printed circuit boards into a system; they will rarely care whether they have a separate video board of a video section or a single board computer if it works.

This is not to say that the Altair (S-100) design will vanish. The large number of systems and boards available makes it a great system for someone who knows what he or she is doing. For all others, a system that is self-enclosed and requires no expansion for basic lO devices (tape recorder, TV set) will be more popular.

If we are to go anywhere with home computers, as designers we must understand what consumers expect them to do; we must not force them to adapt to our insufficiencies; we must learn to provide a useful and well-integrated product.

C David Espinosa

21191 Gardens Dr

Cupertino CA 95014

The first automobiles were not truiy consumer oriented, either, but as the public became educated in the uses of the product and as manufacturers learned more about the product and its design, the personal transporter became today's ubiquitous mechanism. In the continuing evolution of the personal computer, a similar user orientation is in the works and presently unfolding as innovative technological entrepreneurs gain experience and refine the product concepts.

IBM 360/370 EMULATIONS

Concerning Tom Koon's letter in the May 1977 BYTE about 360/370 emulation: this has already been done in at least one instance that 1 know of. Roger Appel of Interdata recently mentioned that his company took on this project a few years back. Interdata's Boston area phone is (617) 890-0557, and as to the price, don't count on it being cheap.

J Howell Mitchell Jr

Dynamics Research Corp

60 Concord St

Wilmington MA 01887

A PUZZLE: DELETING THE DELIMITER

I have comments to make regarding Dave Chapman's problems with delimiting the delimiter (May 1977 BYTE). There is a similar but even more annoying problem if you're working with an editor program which has a delete character.

The question is, how do you change

Thcrc^ an iCOM

for Everyone

at these

Computer Stores...

ARIZONA

Byte Shop

Tempe

(602)894-1129

CALIFORNIA

Orange Computer CIr. Costa Mesa (714)646-0221

Byte Shop Lawndale (213)371-2421

Byte Shop Ivlt. View (415)969-5464

Computer Mart

Orange

(714)633-1222

Byte Shop Pasadena (213)684-3311

Byte Shop Santa Barbara (805) 966-2638

Byte Shop Santa Clara (408) 249-4221

Byte Shop San Diego (71 4) 565-8008

Byte Shop San Rafael (415)457-9311

Computer Room San Jose (408) 226-8384

Byte Shop

Tarzana

(213)343-3919

Tech-Mart

Tarzana

(213)344-0153

Byte Shop Thousand Oal<s (805) 497-9595

Byte Shop

Walnut

(415)933-6252

Byte Shop

Westminster

(714)894-9131

COLORADO

Prime Radix

Denver

(303) 573-5942

FLORIDA

Byte Shop

Miami

(305) 264-2983

The Computer Store

Jacl<sonviiie

(904)725-8158

ILLINOIS

Itly Bitty Machine

Evanston

(31 2) 328-6800

Numbers Racl<el

Champaign

(217)352-5435

Champaign Computer

Champaign

(217)359-5883

INDIANA

Data Group Indianapolis (317)849-5280

KENTUCKY

Cybertronics

Louisville

(502)499-1551

MASSACHUSETTS American Used Computer Boston (617)261-1100

MINNESOTA

Microprogramming

Burnsviile

(612)894-3510

NEW HAMPSHIRE

Computer Mart

Nashua

(603) 883-2386

NEW JERSEY

Computer Mart

Iselin

(201)283-0600

NEW YORK

Synchro Sound

Hoiiis

(212)468-7067

Computer Mart

NYC

(212)686-7923

NORTH CAROLINA

Digital Dynamics

Charlotte

(704)374-1527

PENNSYLVANIA

Byte Shop

Brymar

(215)525-7712

SOUTH CAROLINA

Carolina Computers

Columbia

(803) 798-6524

TEXAS

Microstore Richardson (214)231-1096

Microtex Houston (713)780-7477

Computer Terminal Ei Paso (915)542-1638

WISCONSIN

Madison Computer

Madison

(608) 255-5552

CANADA

Computer Mart

Toronto

(416)484-9708

Computer Place

Toronto

(416)598-0262

8

miCRQPGRIPH5)nL5

6741 Variel Ave., Canoga Parl<, CA 91303 U.S.A.

Tel. (213) 348-1391 a division of Penec computer corporation

Circle 203 on inquiry card.

Rich Man, Poor Man, Merchant, Physician,

Teacher, Lawyer, Student, Musician....

There's MIDDM Floppy Disk System for Everyone!

More Uses

People from every walk of life are adding iCOM® Floppy Disks to their microcomputers for such diverse tasks as payroll, irnventory control, mailing lists, game playing, record keeping, parts ordering . . .

We've uncovered some innovative applications, too; The sailboat architect who puts equations and algorithms on an iCOM disk to test his nautical theories; the student who has automated a bowling alley; the iCOM dealer who designed an environmental control system for a university.

More Speed

These users have found ICOM floppies to be much faster and more versatile than cassette or paper tape. WithiCOM, programs can be loaded in seconds; files updated in minutes; hundreds of programs can be stored on a single disk.

More Models

ICOM has Frugal FloppiesTw, Dual Floppies, Microfloppies™ (using the new 5 '/4" diskette), and other new approaches to floppy disk systems. Each is hardware and software compatible with AltairTM, IMSAI, Poly 88, Sol-20 and other microcomputers using the Altair S-100 bus format.

More Software

Then there's iCOM's famous software: Powerful field-proven FDOS-II with macro-assembler, stringoriented text editor, and file manager. Plus easy-to-use compatible BK Disk BASIC. Each with super features such as; named variable length files, autofile create, open and close, multiple merge and delete . . . and more.

More Backup

We've been building floppies for microcomputers for more than 3 years. Long before the rest. Thousands of systems are operating perfectly in the field. And we're part of Pertec Computer Corporation, one of the largest manufacturers of peripherals, microsystems, data entry products and data processing systems. We'll be around whenever you need us.

More Dealers

Maybe not in quantity, but in quality. We've chosen our dealer network carefully to assure you of assistance every step of the way. Our prices are right. Our delivery is fast. Our dealers are experienced and knowledgeable.

Must Reading

Our free booklet, "What a Floppy Disk Can Do for You" is must reading. Send for yours today or visit your dealer.

OO

SO*

Yon*'

v'

wi

1PH<

©1977. Perlec Computer Corporation

V®

miCROPGRIPHGRflLS

a division of Pertec Computer Corporation

6741 Variel Ave., Canoga Park, CA 91303 U.S.A. Tel. (213) 348-1391 TWX 910-494-2788

a delete character, when typing the character deletes the previous character? A variation of this exercise is obtained when you suppose that somehow the character for "change" has been set to be the character for "delete."

These are amusing puzzles, and it can be left to the reader to figure out how to get into and out of these situations.

E G Johnston

Computer Sciences Corporation

Silver Spring MD 20910

MOREONSR-52/SR-51 INTERNALS

I am interested in interfacing the SR-52 with some other equipment and

have gathered a little (very little) information which might help William D Lewis (letters of )une 1977 BYTE) with his SR-52. First, the SR-52 and SR-51 terminal strips appear to be similar. The SR-52 has a TMC0501NL which they call U1 and a TMC0524NL which appears to be a version of the TMC0523NS-5,but it is called U2.

The terminal strip connectors in the order shown ir the )une BYTE are: NC, D12, 02, Ext, IDLE, IRG, D15, DO,01, KN, KP, KR. The pinouts of the TMC0501NL are: 1(DPT), 2(SB), 3(SA), 4(SF), 5(SC), 6(SD), 7(SE), 8(KT), 9(KS), lO(KR), 11(KQ), 12(KP),

Continued on page 174

AN IMPORTANT WARNING ABOUT

THE ELEMENT MERCURY AND ITS

COMPOUNDS

The June 1977 issue of BYTE arrived recently and Mr Pasken's letter on obtaining mercury caught my eye, causing me to go back and read Mr Firth's article on weather prediction in the December 1976 issue, page 62, which I had not read the first time around. I fear that Mr Firth, and perhaps Mr Pasken, are under a misapprehension as to the nature of the hazards of contact with metallic mercury. As an industrial hygienlst, I feel impelled to set the record straight and to comment on Mr Pasken's method of obtaining mercury.

A note in Mr Firth's article states that "mercury can be harmful if you breath the vapors, swallow it or otherwise get it in your body. But there is little danger from . . . putting your hands in it." It is true that mercury vapors are harmful; however, the rest of the statement I have quoted is, by and large, A70f true for metallic mercury, which is what one would use in a barometer. Metallic mercury is readily absorbed through the skin. On the other hand, if swallowed it passes virtually without absorbtion through the gastrointestinal tract and presents very little hazard to the individual. (One should, of course, try to avoid swallowing it anyway.)

Mr Pasken does not address the hazards of mercury, but his method of obtaining it is one which, in view of those hazards, I would not recommend. In breaking open mercury switches and cleaning the mercury by passing it through a hole In a filter paper, one's tendency would be to work with the material rather close to the face. This could result in considerable breathing of mercury vapors. (Remember, most readers will not be doing this in a chemistry lab equipped with adequately performing fume hoods.) In addition, the potential for skin contact is obviously quite great.

Mercury, if spilled on a floor, can be quite difficult to clean up. Sweeping will only break it into smaller and smaller drops which will lodge in cracks and in

crease the cleaning problem. Vacuuming is a preferred method. But most people don't keep laboratory aspirators in their homes, and contaminating the family vacuum cleaner with mercury is hardly an ideal solution. There are also commercial materials which when sprinkled onto a mercury spill create mercury compounds which can be swept up, but I doubt that many people have such things available to them at home. And frankly, should mercury be spilled on a rug, I can't imagine how it could be cleaned up completely.

There are a few other points to consider. If mercury is spilled on your floor, it is a greater hazard to your small children and pets than to you. They are down there where the vapors are stronger and are in more intimate contact with the floor, and potentially with the spill. Also, mercury is fun to play with. Children, and adults too, like to coat coins with it or watch a droplet roll around the palm of a hand. Such recreation leads to skin contact, which should be avoided. Finally, should you be working with mercury in your home in winter, and your home is not heated with forced air, the room in which you work will not have much ventilation and the mercury vapor concentration will be higher than otherwise.

I should mention that the above statements on the hazards of mercury are made with respect to metallic, or elemental, mercury. Mercury compounds can also be hazardous in other modes of exposure.

In summary, metallic mercury is a harzardous material, both by breathing the vapors and by skin contact. If you must work with it, avoid skin contact, and, if you don't have access to a chemistry laboratory, work with it outside or in a well-ventilated room. Store mercury, and your open dish mercury barometer, where children, pets and other curious people cannot get at it, again, preferably in a well-ventilated room.

Peter L Zavon

57-01 Fox Run

Plainsboro NJ 08536

10

OUR DEALERS

NORTHEASTERN STATES

Computer Workshop, Rockville, MD; Computer Mart, Waltham, MA; Iselin, NJ; Hoboken Computer Worlts, Hoboken, NJ; Audio Design Electronics, New York, NY; Byte Sliop East, Levittown, NY; Computer Comer, White Plains, NY; Computer Enterprises, DeWitt, NY; Fayetteville, NY; Computer Mart of New York, New York, NY; ComputerShoppe, Middle Island, NY; Ithaca Audio, Ithaca, NY; Byte Shop, Bryn Mawr, PA; Personal Computer Corp., Frazer, PA

SOUTHEASTERN STATES

Computer Hut, Hialeah, FL; Delta Electronics, Leesburg, FL; Douglas Computer Systems, Jacksonville, FL; Economy Computing Systems, Orlando, FL; Electronic Shop inc., Meltx)urne, FL; Microcomputer Systems inc., Tampa, FL; Computer Systems Center, Atlanta, GA; Computer Electronics, Baton Rouge, LA; Byte Shop, Columbia, SC

MIDWESTERN STATES

American Microprocessors, Prairie View, IL; Bits and Bytes, Rosen, IL; Itty bitty machine company, Evanston, IL; Lililpute Computer Mart, Skokie, IL; Numtters Racket, Champaign, IL; Data Domain, Bloomington, IN; Home Computer Center, Indianapolis, IN; Micro Bus inc.. Cedar Rapids, lA; Data Domain, Louisville, KY; Computer Mart, Royal Oak, Ml; Computer Systems, St. Clair Shores, Ml; General Computer, Troy, Ml; Computer t^epot, Minneapolis, MN; Computer Room inc., Eagan, MN; High Technology, Oklahoma City, OK; Milwaukee Computer Store, Milwaukee, Wl

WESTERN STATES

Bits & Bytes Computer Shop, Phoenix, AZ; Personal

Computer Place, Mesa, AZ; Affordable Computer Store,

Santa Clara, GA; A-VIDD Electronics, Long Beach, CA; Bits n Bytes, Fullerton, CA; Byte Shop, Burbank, CA; Fresno, CA; Lawndale, GA; Long Beach, GA; Palo Alto, CA; Pasadena, CA; Placentia, GA; San Diego, GA; San Jose, CA; San Rafael, GA; Santa Clara, CA; Tarzana, CA; Thousand Oaks, GA; Walnut Creek, CA; Westminster, CA; Computer Center, Costa Mesa, GA; Computer Center, San Diego, cA; Computer Components, Van Nuys, GA; Computer Electronics, Santa Barbara, GA; Computer Emporium, Newport Beach, GA; Computerland, San Leandro, CA; Computer Mart, Orange, GA; Computer Playground, Westminster, CA; Computer Power and Light, Studio City, CA; Computer Store of San Francisco, San Francisco, GA; Dunston Enterprises, Redding, CA; Executive Office Equipment, Pasadena, CA; Micro Computers, Fountain Valley, CA; Microsystems Engineering, San Francisco, GA; Sunny Sounds, San Gabriel, CA; Sunshine Computer, Carson, CA; Upland Computer Labs, Upland, CA; Xlmedia, San Francisco, CA; Byte Shop, Boulder, GO; Englewood, CO; Mighty Mini Company, Denver, GO; Microcomputer Systems of Hawaii, Honolulu, Ml; Small Computer Systems, Honolulu, HI; Computer Mart of West Texas, Lubbock, TX; Computer Shop, San Antonio, TX; Computer Terminal, El Paso, TX; Eiedronk; Specialty, Houston, TX; Houston Computer Mart, Houston, TX; KA Electronic Sales, Dallas, TX; Micro Store, Richardson, TX; Vanguard Systems, San Antonio, TX

FOREIGN

Microtech Computers, Winnepeg, Manitoba, Canada; Haywood Electronic Associates Ltd., Northwood, Middlesex, England; Instrumatic, Geneva, Switzerland.

uo^ G^APi-ic inc.

790 HAMPSHIRE ROAD • A -f B WESTLAKE VILLAGE, CA 91361

Not Affiliated With Vector General Circle 204 on inquiry card.

You Asked For It!

You asked for the Intel 8080A CPU

You asked for a real-time clock

You asked for eight level

vectored priority interrupts

You asked for a jump-on-reset

and resident monitor

You asked for the S-100 bus

You asked for an 18 slot

fully shielded motherboard

You asked for a

rugged, reliable chassis

Then .. . You asked for the compactness and

convenience of installing your mini-floppy

disk directly in the front panel NOW

We gave you the vECtO^ 1 We gave you the VECCO^l

We gave you the

VeclO=?i

We gave you the VECCO^ 1 We gave you the VECCO^ 1

We gave you the VECCO^ 1

We gave you the VECCO^ 1

We give you the

cCCO^

\:::^')\

sszo^

Not affiliated with Vector

790 Hampshire Rd., A + B, Westlake Village, CA 91361 Telephone: (805) 497-0733

SCORTOS:

Photo J: The author's computer music system, which consists of an Altair 8800 computer with 32 K bytes of programmable and read only memory, and an ADIVI-III video terminal. Also pictured is a Mini-Moog electronic music synthesizer (top left) and a Farfisa VIP 400 electronic organ (bottom left).

Implementation of a Music Language

Hal Taylor Interactive Music Box 11 Arlington VA 22210

Perhaps nowhere can technology better serve the creative end of the music arts than through the computer. The computer has a natural affinity for the application to music since it is capable of carrying out processes which create and perform music. It can be programmed to learn any language the composer wishes to use to describe his musical ideas. It can manipulate the symbols of that language to produce transformations of the composer's original ideas. It can enlarge and improve the quality of the composer's creative output by allowing him to work in an interactive mode where he can hear his musical works performed within minutes of their conception.

The computer owes this affinity to its unerring accuracy and high bandwidth, qualities which its human inventors do not possess. The human mind is slow and noisy and requires years of exercise to achieve the coordination necessary to perform complex

musical passages. Although the computer may never be able to match the expressive subtleties of a concert soloist, it is in some cases more suitable for the performance of music than a human being.

If a program can be devised to convert musical symbols to the sounds they represent, then the computer can be of value to the composer as a means of developing composition prototypes, that is, preliminary designs of musical works that he could hear performed before he copied the parts and gave them to the orchestra. An editing capability would also be available to him to alter the music until it produced the desired results. When the computer performed the work to his satisfaction, the original score and the instrumental parts could be published on a computer controlled plotter. With such a system the composer could avoid the drudgery of hand copying parts, and would be encouraged to experiment

12

12 3 4

5 6 7

( ) *

8 9 0 :

Q w r^ I

ocre/. b h |J 8va „ T Y- U 1+ O r

A S D

°1 J 2 U

h"" ^^ 1"

C D E F G A

J K L ♦ ; 1 \

._.Z X ,c

1 ""2 '4

V B .N ' 8 ^^16 ^32

B < > ?

M ' • /

Figure 1: A standard alphanumeric /keyboard modified for tfie SCORTOS language. SCORTOS is a language dedicated solely to the processing of musical information. The keyboard is a standard ASCII unit which has been relabeled with music symbols. The user enters a musical composition by striking the keys which correspond to the symbols in the music score of the composition (see also photo 2).

with new forms that he might otherwise hesitate to give to an orchestra.

The computer can also be useful to the composer as an originator of musical ideas since it can simulate the process by which the human mind creates music. A music composition consists of a series of musical events chosen from a minimum of about 200 different possibilities (consider, just 12 tones and 18 types of notes). Only certain of these combinations are pleasing to the human ear. The composer's job is to discover those combinations which produce aesthetic results. The manner in which he or she does this is personal, intuitive, and cannot by itself form the basis for a workable algorithm. It is possible, however, to infer some of the underlying rules of music by analyzing it. Whether we are composing with our minds or with a computer, we follow a set of rules that determine which pitches will be chosen, in what order they will be arranged, and how long each will last in time.

The set of rules describes the style and structure of the music and can be represented in a computer by a statistical model. A process can be programmed into the computer that uses the model to decide which musical events are suitable for use in the composition. The process is one in which random choices are discarded according to a stochastic model. [According to Webster's, stochastic processes are processes based on the behavior of random variables. Random variables, in turn, are functions which are the result of statistical experiments in which each outcome has a fixed probability. For example, the number of spots showing If two dice are thrown Is a random variable . . . CMj In order to produce a musical event, the program generates a random number

which it associates with a variable such as pitch or time. The number is then subjected to the constraints of the model. The model is constructed by feeding specimens to an analysis program which are representative of the desired compositional style. The specimens are analyzed according to pitch, time and chord structure, and a probability matrix of n dimensions is generated, where n is the degree of order desired and represents the extent to which the analysis was carried out. As n increases, progressively more order is imposed upon the process, since more information is available to describe the

Photo 2: The modified ADM-III video terminal. The keytops on the ASCII keyboard have been modified to enable the user to easily encode musical compositions. See figure I.

13

Introducing Apple II.

^

r

t «

!»'•

t

^^^^^■*^^^x^ :

^^^^^^

W.j-ttft*'WUIifJtW*'J««—

YouVe just run out of excuses for not owning a personal computer.

Clear the kitchen table. Bring in the color TV. Plug in your new Apple Ilf and connect any standard cassette recorder/player. Now you're ready for an evening of discovery in the new world of personal computers.

Only Apple II makes it that

easy. It's a

I

complete, ready to use computer, not a kit. At $1298, it includes video graphics in 15 colors. It includes 8K bytes ROM and 4K bytes RAM-easily expandable to 48K bytes using 16K RAMs (see box). But you don't even need to know a RAM from a ROM to use and enjoy Apple 11. For example, it's the first personal computer with a fast version of BASIC permanently stored in ROM. That means you can begin writing your own programs the first evening, even if you've had no previous computer experience.

The familiar typewriter-style keyboard makes it easy to enter your instructions. And your programs can be stored on—and retrieved from— audio cassettes, using the built-in

cassette interface, so you can swap with other Apple II users.

You can create dazzling color displays using the unique color graphics commands in Apple BASIC. Write simple programs to display beautiful kaleidoscopic designs. Or invent your own games. Games like PONG—using the game paddlea supplied. You can even add the dimension of sound through Apple II's built-in speaker.

But Apple II is more than an advanced, infinitely flexible game machine. Use it to teach your children arithmetic, or spelling for instance. Apple II makes learning fun. Apple n can also manage household finances, chart the stock market or index recipes, record collections, even control your home environment.

Right now, we're finalizing a peripheral board that will slide into one of the eight available motherboard slots and enable you to compose

music electronically. And there will be other peripherals announced soon to allow your Apple II to talk with another Apple 11, or to interface to a printer or teletype.

Apple n is designed to grow with you as your skill and experience with computers grows. It is the state of the art in personal computing today, and compatible upgrades and peripherals will keep Apple II in the forefront for years to come.

Write us today for our detailed brochure and order form. Or call us for the name and address of the Apple n dealer nearest you. (408) 996-1010. Apple Computer Inc., 20863 Stevens Creek Boulevard, Bldg. B3-C, Cupertino, California 95014.

Apple II™ is a completely self-contained computer system with BASIC in ROM, color graphics, ASCII keyboard, lightweight, efficient switching power supply and molded case. It is supplied with BASIC in ROM, up to 48K bytes of RAM, and with cassette tape, video and game I/O interfaces built-in. Also included are two game paddles and a demonstration cassette.

SPECIFICATIONS

• Microprocessor: 6502 (1 MHz).

• Video Display: Memory mapped, 5

modes—all Software-selectable:

• Text—40 characters/line, 24 lines upper case.

• Color graphics—40h x 48v, 15 colors

• High-resolution graphics—280hx 192v; black, white, violet, green (12K RAM minimum required)

■ Both graphics modes can be selected to include 4 lines of text at the bottom of the display area.

■ Completely transparent memory access. All color generation done digitally.

• Memory: up to 48K bytes on-board RAM (4K supplied)

• Uses either 4K or new 16K dynamic memory chips

• Up to 12K ROM (8K supplied)

• Software

• Fast extended integer BASIC in ROM with color graphics commands

• Extensive rrionitor in ROM •I/O

■ 1500 bps cassette interface

■ 8-slot motherboard

■ Apple game I/O connector

• ASCII keyboard port^

• Speaker

• Composite video output

Apple II is also

available in board-only

form for the do-it-yourself hobbyist. Has

all of the features of the Apple II system,

but does not include case, keyboard,

power supply or game paddles. $598.

PONG is a trademark of Atari Inc. *Apple II plugs into any standard TV using an inexpensive modulator (not supplied).

^t^

cippiG computer inc.

Circle 208 on inquiry card.

COMPUTER

88-RCB

HAMMOND D2ORGAN

88-RCB

MOOG SYNTHESIZER

88-RCB

ARP

STRING

ENSEMBLE

88-RCB

88-RCB

ARP OMNI

POLYPHONIC

SYNTHESIZER

88-RCB

Figure 2: A medium scale SCORTOS configuration. The 88-RCB units are relay boards which can be driven by the computer to operate organs, synthesizers or other similar instruments. Each board consists of two 8 bit data registers which can be loaded from the central processing unit Each of these bits In turn drives a transistor which energizes a relay. One 88-RCB board can control 16 keys, or I 1/4 octaves of a musical keyboard. The system can address (and therefore control) up to 256 keys.

desired composition and less is left up to chance.

Zeroth order stochastic control is no control at all. Random choices are used to build the composition without testing them against the model producing unlistenable music in most cases. In first order control, the transitions between pitches and rhythms are governed by the probability distribution of those transitions as they occurred in all the analyzed samples. Music produced in this manner still sounds amorphous, but will have fewer pitches that sound alien.

It is not until we impose higher order control that a melody as we know it will take shape with its symmetrical phrases and regular intervals. In second order control, the selection of an event depends upon the

event that preceded it; in third order control the previous two notes, and so on. For example, if the previous note chosen was a B-flat and the random number generator has just produced a C, the program refers to that location in the probability matrix which gives the probability of a C following a B-flat. if there is no probability of this happening, the C is rejected. If the probability is 1.00 then a C always follows a B-flat in this style of music, and the program will reject all random numbers that are not Cs.

Of course the source of the information within the model need not be music specimens, as in this example, but may originate from mathematical functions, poetry or any one of a hundred other sources. It is this capability which makes the computer so intriguing as a composer's tool.

The Score to Sound System

The Score to Sound System (SCORTOS) was developed to provide the composer with an inexpensive means of conducting computer implemented music research and composition prototype development. The system has the capability to perform conventional music scores by allowing music symbols to be entered through a terminal keyboard by an operator. Music of computer generated specifications can be performed through user program calls to a set of subroutines that interface the user program to the SCORTOS system software.

Music is produced by the computer driving relays that are wired in parallel to the keyboard switches of electronic music instruments — organs, synthesizers, etc. This allows a simple and inexpensive interface between the composer's studio instruments and the computer. The limitation of this approach is in its inability to provide the computer with access to the timbre controls of the synthesizer, an encumbrance which may be tolerable to experimenters primarily interested in the musical variables of tonality and syntax. Also, there is a rich assortment of preset timbres available in commercial keyboard instruments, among them, the Orchestron which generates actual orchestral and choral sounds from a prerecorded optical disk.

The system consists of an Altair 8800 computer with 32 K bytes of memory, an ADM-III video terminal, a mass storage device (either cassette or floppy disk), one or more International Data Systems 88-RCB relay control boards and any electronic keyboard instruments the user wishes to connect to the 88-RCBs.

The ADM-III has a standard ASCII key

16

\ferhtatim

You want to record your message verbatim—word for WO.OJLC Now, Verbatim media. It's a new formulation of ferric

word—whether it's bits, bytes or "Dear Folks" trans- ■^yiffcgCjlO'f^ oxides, an advanced macromolecular binder system lated into word processor language. ^ l.I.l.tOOttg,V' ^^ adhere it to the tough polyester film, and a proc

Our objective in manufacturing recording media for IS Q113JJLt\4 ^^^ control system that demands over 200 separate

^1 ' quality checks before the material is cut, packaged,

and certified to be 100% error-free.

the electronics industry—digital tape cassettes, floppy disks, mag cards, computer cartridges—is to give you the finest, the best, the most dependable, the most cost-effective. That means rugged, long-lived, abrasion-resistant recording media with superior magnetic qualities. If we made tires, they'd be steelbelted radials.

We delivered otir first digital grade certified tape cassettes back in the beginning, 1969. We made the first commercial 3740-conipatible floppy disks that didn't bear IBM's name. And the first Flippy® reversible flexible disks with anyone's name on them. The first mini data cassette is ours. And we've got the newest miniature flexible disk, the MD 525.

The final quality check? "Make it pretty!" Our production people tell us that magnetic recording media is one of the rare instances in manufacturing where aesthetic appearance translates directly into final product quality. It has to look beautiful to work beautifully.

We have the formulas, the machines, the technology to make high quality recording media. But it takes the best people in the industry to deliver Verbatim disks, cards, cartridges and cassettes. You'll find them at your favorite retail computer store.

Circle 206 on inquiry card

Information Terminals Corp.

Sunnyvale, California;!

Photo 3: A close-up view of the component side of the S8-RCB 16 channel relay interface board which can drive a musical keyboard with signals from the computer.

board whose keytops have been relabeled with music symbols (see figure 1 and photo 2). The composer enters the composition into the computer by striking the key corresponding to each musical symbol as it appears in the score. This creates a music text file. The source text is passed to a language processor which maps each musical event represented in the source text into a physical 10 address plus a timing value, and writes this to a binary output file. The result is a list of records each of which defines which key of which instrument will be turned on and for how long. The binary output of the language processor is read by a driver program which uses the 10 addresses and timing values in each record to determine what data is to be loaded into the data registers of the 88-RCBs, and at what time it is to be loaded. The keyboard instrument responds by playing the piece just as if someone were playing on its keyboard. In fact, the system can be thought of as an organist with 16 very flexible fingers, because it is capable of performing 16 separate parts simultaneously.

Keyboard Instrument to Computer Interface

The 88-RCB is the interface between the computer and the electronic keyboard instruments. It was designed expressly for the SCORTOS system project, but is also useful for other low current switching applications. The board has two 8 bit data registers which are "write only" accessible to the central processing unit (CPU) through

two output ports which are individually strappable to any address in the 8080 10 channel. The data register latches the contents of the CPU's A register when an OUT instruction has been executed to that register's output port address. The outputs of each bit of the data registers drive a transistor which in turn drives a board mounted DIP relay.

The complement outputs of the data register latches are used to drive light emitting diodes (LEDs) which can be mounted on the board or on a front panel to monitor the status of each relay. The relays are wired in parallel to the keyboard switches of the electronic music instruments which electrically isolate the peripherals from the computer and ensure plug-to-plug compatibility among most keyboard instruments. Each 88-RCB controls 16 keys, or 1 1/4 octaves of keyboard. To ensure an adequate tonal range, two 88-RCBs may be configured on any instrument (see figure 2).

The maximum number of keys the system can address is 256. In arriving at a figure of maximum connectivity, it was necessary to balance programming considerations against what was thought to be an adequate number of system-controllable sound producing peripherals. 256 keys are equal to about 20 octaves of keyboard (three full piano keyboards) which may be distributed among ten sound-producing peripherals, giving each instrument a 2 octave range. This maximum configuration seems adequate to provide for the largest studio application.

18

_;:^

//'5 Z//:^ adding a room to your brain!

I

The System 8813 from PolyMorphic Systems is a complete, powerful problem solver in a single walnut cabinet. This machine allows you to perform complex financial, engineering, and scientific models in the comfort of your office or den.

The high speed video display presents your results in text, tables and graphics. The detachable typewriter-like keyboard permits relaxed program entry and operation. Convenient mini-discs store programs and data for compact filing, secure storage, and fast access. Our disc BASIC programming language is simple enough for the computer newcomer, yet powerful enough to amaze the most advanced users.

The whole family can immediately use and enjoy preprogrammed applications and educational packages. Let the System 8813 become your trusted business, profession, and

personal tool. The PolyMorphic Disc System is a completely assembled and tested unit with brushed aluminum front panel, walnut cover, detachable keyboard, videomonitor, 16K RAM. Includes system software and fully extended BASIC on disc.

Systemwith I disc drive —$3250 System with 2 disc drives — 3840 System with 3 disc drives — 4430

Delivery 60 days ARO. Upgrade packages for POLY 88 owners will also be available. Prices and specifications subject to change without notice.

PolyMorphic Systems

(805)967-0468

460 Ward Drive, Santa Barbara, CA 93111

Music Symbol

J

Description

whole note half note quarter note eighth note sixteenth note thirty-second note whole rest half rest

SCORTOS Code

XI

X2

X4

X8

X16 X32

1

2

Music Symbol J f i

3

Music Symbol

Description

SCORTOS Code

C

Pitch representations

C

D

D

E

E

F

F

G

G

A

A

B

B

iK

sharp

+

ii

natural

N

b

flat

—

jJ

slur dot

A

Description

quarter rest eighth rest sixteenth rest thirty-second rest left hand repeat right hand repeat bar triplets

SCORTOS Code

4

8

16

32

[

]

/

3(XnXnXn)

Table 1: The alphanumeric music coding convention used by the SCORTOS system. The X symbol preceding each numeric SCORTOS code symbol Indicates that the numeric symbol must be preceded by a pitch representation before it can be recognized as a note. For example, C2 would be a half note with pitch C.

A simple method of representing l<eyboard address was chosen to minimize the execution time of the DRIVER program. One byte is used to represent the l<eyboard address (pitch), and one byte contains the length of time the event will last (rhythm). Since a music piece consists of so many events, the size of the data record is critical. It affects the total performance of the system by limiting the length of any performance to the number of event records that will fit in available memory. For this reason, it is not practical to increase the size of the event data record to accommodate a connectivity greater than 256.

The Alphanumeric Representation of Music

The conventional music score format is not the most perfect method for entering music into computers. The music symbols must be somehow transformed into a code the computer understands. In the conventional method, the operator enters data from

a music score into an alphanumeric keyboard. This method has two disadvantages: it often requires multiple alphanumeric symbols to define one musical event (one character for pitch, one character for rhythm, one character for dynamics). The second disadvantage is that the choice of alphanumeric symbols must relate in some way to the quality of the musical symbols they represent, which in the past has meant that the symbols were scattered about the keyboard with no regard to their qualitative value. As a result, the data entry process was a hunt and peck procedure which may have been too discouraging for all but the most enthusiastic.

The human to computer interface should provide maximum ease in data entry and data editing. There are four ways to accomplish this:

• Choose a set of alphanumeric symbols to represent the set of musical symbols that will enable music passages to be

20

Oboe

2 Flutes

Violin

Cello

m

POl K2-T3/4 (2.)03 "The dotted half rest is to be repeated three times"

$

^

if,.ni^^a^ n

p^

f

P02 K2- T3/4 03 F4 G4 A8. F16 / 04 08. 08 B16 02 F4 B4 / D8. E16 F4. G8 / F E D 0 03 B 02 C / P03 K2- T3/4 03 F2. A/ F4 F2A/ F2 4 / F2.A / F2 4 /

m^

-i—i

P04 K2- T3/4 2. / 2. / 4 4 F4A/ F2. /

^a

±^t

i

P05 K2- T3/4

[] JJ f f ■'

/ 4 8. 02 E~16 FA/ F2.

Figure 3: A fragment of an orchestral score annotated in SCORTOS code (see listing J).

best recognized in alphanumeric form.

• Eliminate all redundancies in the music score.

• Position the alphanumeric symbols on the keyboard logically in the order of their musical value and group them by type.

• Generate bar markings and bar numbers automatically during data entry.

Table 1 shows the alphanumeric symbols used to represent conventional music notation in the Score to Sound System. Note that each alphanumeric symbol alludes to the quality of the music symbol it represents. A musical event can be defined by one or two symbols, depending upon whether the event is a rest or a note. A numeric symbol which is not preceded by a letter character is recognized as a rest. Notes always occur as a pair of symbols, that is, a letter character followed by a numeric symbol. Figure 3 illustrates a portion of an actual orchestral score along with its corresponding SCORTOS code.

Since the characters generated by the SCORTOS keyboard hardware do not correspond to those desired to represent the music symbols, the data entry software echoes back the desired character with the terminal in full duplex mode.

System Software

The SCORTOS System Software consists of a group of programs written in 8080 assembler language which carry out the four major functions of the system:

• entry and manipulation of the symbolic music text.

• conversion of the text to binary data.

• conversion of events initiated by user programs to binary data.

• conversion of the binary data to music.

The interaction of these programs with each other is shown in figure 4.

The monitor allows the user to control the system's major functions. It recognizes three command verbs with one or more arguments per verb. Each verb calls a system module, and its arguments specify the data file which is to be operated upon by that module. Table 3 is a list of command verbs recognized by the monitor.

The editor allows the user to enter music text through the terminal keyboard and provides a means by which it may be easily manipulated.

As text is entered through the keyboard, the editor's data entry processor keeps a running count of the bar number and auto

Continued on page 206

21

So! Terminal Computer

I

('■nv.

^ " V.

f

To do real work with any computer, big or small, il lakes a complete system. That's one ol' the nice things about the Sol-2(). It was built IVom the grountl-up as the heart of three i'ixetl price comiiuter systems with all the peripheral gear and software included to gel you up and on the air.

Sol Sysleiii 1 costs just SIW-) in kit form or S212'-) fully burned in and tested. Here's what you get: a Sol-2() wilh the SOLOS personality module for stand ak)ne computer power, an (S|*-)2 word memory, a 12" TV/video monitor, a cassette reciMxlcr with BASIC software tape and all necessary cables.

Sol System II has the same et|uipment plus a largci"

^%i^

i' v;(,

capacity 16,384 word memoiy It sells for S1883 in kit fomi; S2283 fully assembled.

For even more demanding tasks, Sol System III features Sol-20/SOLOS, a 32,768 word memory, the video monitor, Helios II Disk Memoi7 System and DISK BASIC Diskette. Price, S4750 in kit fonn, S5450 fully assembled and tested.

And remember, though we call these small or personal computer systems, they have more

power per dollar than anything ever offered. They provide performance comjiarable with mini-ct)mputer systems priced thousands of dollars more.

The Small Computer Catalog for the rest of the real computer system story.

Visit youi' local C()m|')utcr store for

Visit youi' local C()m|')utcr store for a copy of our I'ully illuslrated 22 page catalog. Or you may write or call us if more convenient. Please address Processor Tcchnologv. Box B, 6200 Mollis Street, l-mcrvvillc.C'A ^)4(i08. (41.S)632-8080.

i Ik- luiKlioiKil hoaiily of Sol C'ompiiUT Syslcius is lh;m skillik'ci'. A look insiiU- ro\oiils ;i sinipio olcuaiicc

See Sol here

ALABAMA

ICP, Computerland 1550 Montgomery Hwy. Birmingham, AL 35226 (205) 979-0707

ARIZONA Byte Shop Tempe 813 N. Scottsdale Rd. Tempe, AZ 85281 (602) 894-1129

Byte Shop Phoenix 12654 N. 28th Dr. Phoenix, AZ 85029 (602) 942-7300

Byte Shop Tucson 2612 E. Broadway Tucson, AZ 85716 (602) 327-4579

CALIFORNIA

The Byte Shop 1514 University Ave. Berkeley, CA 94703 (415) 845-6366

Byte Shop of Burbank 1812 W. Burbank Blvd. Burbank, CA 91506 (213) 843-3633

Byte Shop Computer Store 6041 Greenback Lane Citrus Heights, CA 95610 (916) 961-2983

Computer Center 1913 Harbor Blvd. Costa Mesa, CA 92627 (714) 646-0221

Data Consultants, Inc. 2350 W. Shaw, Suite 114 Fresno, CA 93711 (209) 431-6461

Bits 'N Bytes

679 S. State College Blvd.

Fullerton,CA 92631

(714) 879-8386

The Byte Shop

16508 Hawthorne Blvd.

Lawndale, CA 90260

(213)371-2421

Opamp/Computer 1033 N. Sycamore Ave. Los Angeles, CA 90038 (213)934-3566

Digital Deli

80 W. El Camino Real

Mountain View, CA 94040

(415)961-2828

The Computer Mart 624 West Katella#1G Orange, CA 92667 (714) 633-1222

Byte Shop

496 South Lake Ave.

Pasadena, CA 91101

(213)684-3311

The Computer Store of San Francisco 1093 Mission Street San Francisco, CA 94103 (415)431-0640

Byte Shop

321 Pacific Ave.

San Francisco, CA 94111

(415)421-8686

The Computer Room 124H Blossom Hill Rd. San Jose, CA 95123 (408) 226-8383

The Byte Shop 509 Francisco Blvd. San Rafael, CA 94901 (415) 457-9311

The Byte Shop 3400 El Camino Real Santa Clara, CA 95051 (408) 249-4221

Recreational Computer

Centers

1324 South Mary Ave.

Sunnyvale, CA 94087

(408) 735-7480

Byte Shop of Tarzana 18424 Ventura Blvd. Tarzana, CA 91356 (213) 343-3919

Computer Components 5848 Sepulveda Blvd. Van Nuys, CA 91411 (213) 786-7411

The Byte Shop 2989 North Main St. Walnut Creek, CA 94596 (415) 933-6252

Byte Shop 14300 Beach Blvd. Westminster, CA 92683 (714) 894-9131

COLORADO

Byte Shop 2040 30th St. Boulder, CO 80301 (303) 449-6233

Byte Shop 3464 S. Acoma St. Englewood, CO 80110 (303) 761-6232

FLORIDA

Sunny Computer Stores University Shopping Center 1238AS. Dixie Hwy. Coral Gables, FL 33146 (305)661-6042

Delta Electronics 2000 U.S. Hwy. 441 East Leesburg, FL 32748 (904) 357-4244

Byte Shop of Miami 7825 Bird Road Miami, FL33155 (305) 264-2983

Microcomputer

Systems Inc.

144 So. Dale Mabry Hwy.

Tampa, FL 33609

(813)879-4301

GEORGIA

Atlanta Computer Mart 5091-B Buford Hwy. Atlanta, GA 30340 (404) 455-0647

ILLINOIS

itty bitty machine co. 1316 Chicago Ave. Evanston, IL 60201 (312) 328-6800

Reeves Communications 1550 W. Court St. Kankakee, IL 60901 (815)937-4516

itty bitty machine co. 42 West Roosevelt Lombard, IL 60148 (312) 620-5808

INDIANA

The Data Domain 406 So. College Ave. Bloomington, IN 47401 (812) 334-3607

The Byte Shop 5947 East 82nd St. Indianapolis, IN 46250 (317) 842-2983

The Data Domain 7027 N. Michigan Rd. Indianapolis, IN 46268 (317) 251-3139

KENTUCKY

The Data Domain 3028 Hunsinger Lane Louisville, KY 40220 (502) 456-5242

MICHIGAN

The Computer Store

of Ann Arbor

310 East Washington

Ann Arbor, Ml 48104

(313)995-7616

Computer Mart of Royal Oak 1800 W. 14 Mile Rd. Royal Oak, Ml 48073 (313) 576-0900

General Computer Store 2011 Livernois Troy, Ml 48084 (313) 362-0022

MINNESOTA

Computer Depot, Inc. 3515 W. 70th St. Minneapolis, MN 55435 (612) 927-5601

NEW JERSEY

Hoboken Computer Works No. 20 Hudson Place Hoboken, NJ 07030 (201)420-1644

The Computer Mart of New Jersey 501 Route 27 Iselin, NJ 08830 (201) 283-0600

NEW YORK

The Computer Mart

of Long Island

2072 Front Street

East Meadow, L.I. NY 11554

(516) 794-0510

The Computer Shoppe 444 Middle Country Rd. Middle Island, NY 11953 (516) 732-4446

The Computer Mart of New York 118 Madison Ave. New York, NY 10001 (212) 686-7923

The Computer Corner 200 Hamilton Ave. White Plains, NY 10601 (914)949-3282

OHIO

Cybershop

1451 S. Hamilton Rd.

Columbus, OH 43227

(614) 239-8081

Computer Mart of Dayton 2665 S. Dixie Ave. Dayton, OH 45409 (513) 296-1248

OREGON

Byte Shop Computer Store 3482 SW Cedar Hills Blvd. Beaverton, OR 97005 (503) 644-2686

The Real Oregon Computer Co. 205 West 10th Ave. Eugene, OR 97401 (503)484-1040

Byte Shop Computer Store 2033 SW 4th Ave. Portland, OR 97201 (503) 223-3496

RHODE ISLAND

Computer Power, Inc. M24 Airport Mall 1800 Post Rd. Warwick, Rl 02886 (401) 738-4477

SOUTH CAROLINA

Byte Shop 2018 Green Street Columbia, SC 29205 (803) 771-7824

TENNESSEE

Microproducts & Systems 2307 E. Center St. Kingsport, TN 37664

(615) 245-8081

TEXAS Byte Shop 3211 Fondren Houston, TX 77063 (713) 977-0664

Interactive Computers 76461/2 Dashwood Rd. Houston, TX 77036 (713) 772-5257

The Micro Store 634 So. Central Expressway Richardson, TX 75080 (214)231-1096

VIRGINIA

The Computer Systems

Store

1984 Chain Bridge Rd.

McLean, VA 22101

(703) 821-8333

Media Reactions Inc. 11303 South Shore Dr. Reston, VA 22090 (703) 471-9330

WASHINGTON

Byte Shop Computer Store 14701 N.E. 20th Ave. Bellevue, WA 98007 (206) 746-0651

The Retail Computer Store 410 N.E. 72nd Seattle, WA 98115 (206) 524-4101

WISCONSIN

Madison Computer Store 1910 Monroe St. Madison, Wl 53711 (608) 255-5552

The Milwaukee Computer Store 6916 W. North Ave. Milwaukee, Wl 53213 (414) 259-9140

CANADA

Trintronics 160 Elgin St. Place Bell Canada Ottawa, Ontario K2P 2C4 (613) 236-7767

First Canadian Computer Store Ltd. 44 Eglinton Ave. West Toronto, Ontario M4R 1A1 (416)482-8080

The Computer Place 186 Queen St. West Toronto, Ontario M5V 1Z1 (416) 598-0262

Pacific Computer Store 4509-11 Rupert St. Vancouver, B.C. V5R 2J4 (604) 438-3282

Circle 207 on inquiry card.

Alphanumeric Music

by Melanie Jubb, 188 S 14th St, San Jose CA 95112

Melanie Jubb's oil painting celebrates the idea of computers and music, emphasizing this issues's artistic themes.^

25

A New Dress for KIM

Photo 1: The author's new dress for KIM is shown in this shot taken with the briefcase opened. The unused area of the power supply cover is used to advantage as a place to mount prototyping boards for use in 10 contexts with KIM.

R Travis Atkins 67 Greenend Av Middletown Rl 02840

At first I was reluctant to take KIM out in public because she was so small and homely compared to other systems her age. No one actually ever laughed at her in my presence, but I could sense the pity that they had for me. I wondered, would my KIM forever be overshadowed by those bristling brutish Altairs and IMSAIs at every social gathering? I knew KIM's strengths and her weaknesses, and I wondered if there was anything that I could do to help her find acceptance in the world. Then, one evening, while talking to a friend whose IMSAI was drawing considerable attention, as usual, it occurred to me that it wasn't his central processing unit's IQ that set it apart from my humble KIM. No, it was the way that it was dressed that did so much toward creat

SWING OPEN DOOR

Figure I: The assembly which was inserted into the briefcase has two sections at different levels as shown in this view. The section at the left covers a builtin power supply for the system. The lower section on the right faces two edge connectors (B) for the KIM-I card. A single pop rivet hinge (A) allows a door to the power supply section to open. This allows the power supply card to slide out on the appropriate card guides (C). The power cord and other externals plug into the top of the chassis (E), which has enough area to accommodate prototyping cards as seen in photo I. The height of the power supply section (D) is chosen based on the size of the briefcase.

(A Brief Case History)

ing the image of great sophistication and power.

I resolved that very evening to give my KIM the same advantages that her peers had; after all, who wants to be accused of neglecting loved ones? If she was to be ooo'd and aaah'd over, then she'd have to be dressed up before I took her out again. Although I must say honestly that I doubted that her 8.5 by 11 by 5/16ths dimensions would ever win her a spot on the centerfold of BYTE.

I suspect that there are many other KIM owners around who have also wondered how to dress up their bare-bones KIM board to take them out to club meetings and such, so here's the way that I did it. I hope it gives you some good ideas for your own KlM-1.

First of all, I had two major constraints to deal with: namely, my budget and my own skill, or rather lack of skill in the field of beautifully sculptured fiberglass and metal enclosures and the like. So I knew that I would have to settle for a simple and cheap approach to this thing. One thing that the KIM had going for it was its small size, because that meant that it could be placed inside a reasonably sized package. But, what was a reasonably sized package? And, where could I get one cheap?

A shoe box?. . .no, that's too big. Hey, how about that old briefcase in the back of my closet?. . .not a bad ideal

Much to my surprise and pleasure I discovered that those sneaky designers at MOS Technology must have been anticipating my train of thought, because when I opened that old briefcase and dropped the KIM in, it was a perfect fit! Great, now I knew what my enclosure was going to be, so the next question was how to support it inside the briefcase. Again, two constraints: first of all, protection for the

26

printed circuit board itself, and secondly, reasonable looks.

The briefcase's exterior would provide some rough handling protection for the KIM, but it would also need some solid support from the bottom; therefore, since the bottom of my briefcase was not flat, I would have to construct a flat platform for the KIM. As for the basic appearance, I really wasn't too crazy about an open frame power supply, nor would that be an awfully safe setup. So, I decided that the power supply would have to be placed inside a special enclosure, away from stray fingers. The chassis design, shown in figure 1, was the result of considerable study.

Some of the more notable yet less obvious features of this design are:

• A swing open door to provide access to the power supply compartment (pop rivet hinge).

• The 44 pin edge connectors (one of which is provided with the KIM-1) penetrate the chassis wall to give solid support and to protect the loose wires.

• PC board edge guides to hold the power supply and other auxiliary components on a removable card.

• An overall height selected to suit the briefcase depth (mine filled the lower half).

• Placement of the power cord, switches, and other auxiliary parts on the top surface of the power supply compartment to facilitate easy removal of the entire assembly for bench work or to change to a new briefcase.

• A large surface to place connectors, etc.

• A Plexiglas cover sheet to further protect the KIM-1 board and filter the LED displays may also be added.

• Use of the upper half of the briefcase to carry documentation, etc.

The KIM-1 board is recessed in this design, but it is not hard to get to the keyboard for programming it, although this was one thing that I thought might give me trouble at first. Being recessed does give the KIM an added amount of protection, and I have found that the recess over the board is a great place to carry my KIM-1 owner's manual. That spares me from having to explain what in the world I have in my briefcase every time I open it in public.

The auxiliary area on top of the power supply compartment is the place where you can customize your chassis to suit your own particular needs. On my chassis I put a surplus 50 pin connector which is wired to most

of the pins of the A connector, and selected pins of the E connector of my KIM board. I use this to patch into a small prototype board which I also placed on that surface, and I must say this has proven to be a most useful setup. Of course, you will probably want to provide jacks for your audio cassette unit, and maybe one for a Teletype if you're fortunate enough to have access to one.

At any rate, my little KIM is no longer the club wallflower, and as I look into her future I see a handsome genuine calfskin briefcase waiting."

l/2in.—^/^ (1.3cm.) ^'~'

£

l.5in, (3.8cm.)

I.Sin (3.8cm.)

■ Sin. (20.3cm.)

llin. (27.9cm)

^/

l/Zin. (1.3 cm.)

Iin.(2.5cm.)

• 8.Sin. (21.6cm.) ■

t^

l/2in. (1.3cm.)

^ l/2in. (1.3 cm.)

i.Sin. (3.8cm.)

SURFACE OVER THE POWER SUPPLY

l/2in (1 3cm )

l/2in. (1 3cm.)

/

3 5/8in

2 3/4 in

.1.

35/8in

1^

t

(9 2cni )

(70cm)

1

(92cm )

>{.

<I>C

♦

_)<»

(Hf

J 0)

T

5/IGin ( 8cm 1

"f

I/I6in (.2 cm )

SURFACE UNDER KIM-1

Figure 2: The mechanical design of the chassis box is shown in this iiiustratlon. The depths of the two sections are dimensioned to fit the author's briefcase. This can be fabricated out of a piece of aiuminum stocli 1/6 of an inch thici? and measuring 20.5 by 15.5 inches (or, in integral metric dimensions, 2 mm thicfi measuring 52 by 39 cm}. The drawings show dimensions for the actual KIM-I connector holes with metric dimensions in parentheses. The housing was cut, milled (the pin edge connector holes) and constructed at a local machine shop for under $15.

27

|\v|£-j£i&aiii;i4^-ii--*-—

A. VDP-80 Computer with 300 Ipm printer.

B. PCS-80 with CRT. dual floppy disk & Intelligent Keyboard options.

C. Peripherals—(clockwise from left) 45 cps daisywheel printer/terminal, 24x80 CRT terminal.

45 cps daisy-wheel printer. Intelligent Breadtaoa 44 col. alphanumeric line printer.

1

mmmmtmrmm

■ 1 » •

■1

■(pi«.ia

'"'^^h^^jB

D. Processor, tvlemory & Interface Ijoards—shown MPU-A. 6!3K RAM. and floppy disk, line printer and serial I O'h.

Microccanputers: Just Ask IMSAI.

If you wonder who leads the way in technoiogv. look into IMSAI's list of industn' firsts—IMSAI 8048. first complete control computer on a board; IMSAI 65K RAM Board, first to offer four times the memory capacity previously available on one board: IMSAI printers, first with highspeed direct memory access.

If you wonder why IMSAI products have gained the reputation for the standard of excellence in microcomputer systems, check with any one of the more than 10.000 IMSAI owners.

If you wonder who offers the broadest line of hardware, software, and peripherals, visit any one of the more than 275 IMSAI dealers around the world.

ll'vou wonder how microcomputing can fit vour specific needs, ask IMSAI. Because when it comes to microcomputers, we have the answers.

An IMSAI Product to Answer Every Microcomputing Need:

Let's start with our product line. In all. IMSAI offers more than 120 high quality, completely integrated systems, components, peripherals and software. Here's just a sampling;

Single Board Central Processors:

• MPU-A (8080 based)-Industrv standard.

• MPU-B (8085 based)-50'7r faster 8080.

• 804S~Programmable control computer.

Interfaces:

■ Video 1/0-24x80 CRT. Edit & data entry.

• Serial 1/0-2 port I/O. all std. protocols.

• Parallel I/0-4& 6 port TTL level I/O.

• Multiple I/O—2 cassette. 2 parallel.

1 serial & 1 control I/O.

• DMA—For floppies & line printers. Peripherals:

• Printers-40/80/132col. 30cps-300 1pm.

• Video displays—Large as,sortment.

• Tape Drive-9 track. 800 bpi. 25 ips.

• Floppv Disks—Single/double density. Memory Expansion Boards:

• 4K RAM—Programmable memory protect.

• 16/32/65K RAM-16K paging option for virtual memory addressing.

• Intelligent Memory Mngr.—Handles up 10 I megabyte.

Self-Contained Systems:

• VDP-80—Computer/terminal/mass storage unit. Assembled & tested.

• PCS-80—Integrated component system. Software:

• DOS-Enhanced CP/M.

• BASIC—Interactive or compiler with scientific and/or commercial features.

• FORTRAN IV-Level 2 ANSI compiler.

• Self-contained Systems;

SCS I & 2/TCOS-A.ssembler/line

editor/debugger.

4 & 8K BASlC-Optional cassette

support.

Compare IMSAI. You'll realize that ours is the most complete product line available. Whatever your needs, you can get ihem from one source. IMSAI.

A wide selection of components is only the beginning. IMSAI oilers much more, .lust ask.

Answers For Businessmen:

Announcing IMS.AI's VDP-80. This totally self-contained unit includes a megabyte of disk memory via floppy disk. 32K computer memory (expandable to 256K). 12" CRT and 62 pad main keyboard with 10 pad numeric keyboard. Several printer options available.

If you want speed and accuracy in high volume work such as word processing, or business data collection and analysis, the VDP-80 is your cost elTectivc answer.

Answers For The Personal User & Educators:

Introducing IMSAI's new PCS-80 System, the fully integrated microcoinputer component svstem. configurable to your exact needs. The basic system consists of our Intelliaent Keyboard and the PCS-80 which bourses an 8085 based CPU. 16K of RAM. intelligent ROM monitor, serial I/O port. 24x80 CRT. with an extra 7 slots in the chassis for expansion.

System component options include single or dual mini and standard floppy disks. The choice is yours, configure the system as you like.

IMSAI has answers for the educator, too. Take the basic PCS-80. add 8K of PROM. 4K of RAM and our self-contained 8K BASIC software, and you have a complete operating system your entire department can use to leach anything from elementary programming to advanced computer science.

Require a bit less sophistication? Use our Intelligent Breadboard system for learning, designing and building microcomputer assemblies.

Rather do it from scratch? Start with our single board MPU-B central processor, the hean of the PCS-80 Svstem. It has a IK ROM monitor. 256 bytes of RAM and serial and parallel I/O.

Since the MPU-B is 8085 based, you can run all programs previously developed for the 8080. 507r faster. V/ithout requiring faster memory.

Answers For Industry:

IMSAI products provide the expandability and flexibility manufacturers demand for microcomputing applications.

We offer rack mountable components for the standard 19" RETMA racks, powerful MPU boards. I/O and memory boards for easy system expansion and configuration, and a broad line of peripherals and subsystems fully integrated and ready to go to work.

IMSAI has what you need to make tomorrow's design today's reality.

Answers For Current IMSAI Users:

There are over 10.000 of you. And. we haven't forgotten. You might say that we thought of you before you even thought of us.

That's why every new product is designed to accommodate expansion, rather than outdate equipment.

For example, our new PCS-80 retrofit kit comes complete with MPU-B. replacement front panel photoinask and additional hardware bracketing. So you can enjoy a single cabinet PCS-80 computer, with your choice of integrated component configurations.

The Answer For Everyone:

Dial (415) 483-2093. Ext. ACT. That's IMSAI's action hotline. Designed to answer the thousands of questions we didn't have a chance to answer in the space of this ad.

Call us. We'll assist you in putting together a system, direct you to your nearest IMSAI dealer, and send you our new catalog with all the details.

In short, if you have any questions at all regarding microcomputers, put us to the test.

.lust ask IMSAI.

m

The Standard of Excellence in Microcomputer Systems.

IMSAI Manufacturing Corporation 14860 Wicks Blvd., Dept. B-9 San Leandro, CA 94577 (415)483-2093 TWX 910-366-7287

Features and spccilicalions siitijecl [u eliaiige vsithoiu notice.

Circle 205 on inquiry card.

Control the World!

Photo 7; The author's prototype for the 4 channel self-refreshing digital to analog converter shown in figure 9. Also contained on the board is a prototype 4 channel analog to digital converter circuit.

Steve Ciarcia POB 582 Glastonbury CT 06033

(Or at Least a Few Analog Points)

"Ka-chunk! OK, get the reading quick! Ka-chunk! Pop! Pop! Bang!! Tlie darn tiling crapped out again! We'll never get one of these detectors to pass a life test."

The burly mechanic puffed his fat cigar and with a disgusted sigh continued, "The dime store engineers who design these kludges should be the ones who have to test them! That's if you could ever get them out of that puzzle factory upstairs!"

That was my cue. I was indeed an engineer descended from the puzzle factory and my mission was to discover why we were

having so much trouble life test qualifying one of the pressure detectors we intended for future manufacture. Hearing the preceding commentary as I approached the testing lab, I decided that an authoritative professional type would not be very popular at the moment, so I went into my innocent nonmanagerial mode and entered the lab. This lab was not unlike any other small production qualification and testing lab. It had the usual machinery and instrumentation and many artifacts of former test programs lying about. The most prominent

30

rtcHwc

rPffMM

.14Mt

IS YOUR DOLLAR BUYING

AS MUCH POWER & FLEXIBILITY

AS TDL'S XITAN SYSTEMS PROVIDE?

OUR CUSTOMERS SAY

THINGS LIKE THIS

ABOUT TDL PRODUCTS:

"... the besi CPU board I've put logolhcr... exii-IU-nl pari*... worked right off wilboul trouble tihooting."

IRC.

Cambridge, Mass.

"Great produti."

KMM

Bella Vista, Ark.

"... hiRh quality components, )>ood engineerinf; & complete

doi unientation ... up and running without any prtibloms."

WP

Seattle, Wash.

"txcellent."

( ol. OWW

Santa Maria, Calif.

"Very impre»<>ed with superb quality."

SKI

Boston, Mass.

^11 k'

alpha 1

When wo combined our hi^hly praised ZPU board and our System Monitor Board, we defined (he standard for the industry; we inlef>ralod more power and flexihilily in (wo slols of our motherboard than most other systems can musler using five or more boards. When we pill Ibis setup into our rugged aluminum case we created Ibe first XITAN system, Ibea/pha I. By adding a CRT tc-rminal and/or leleprinler you will have a complete computer system.

KIT: $7«9 ASSIMBLFI) «, TESTED: $1039

alpha 2

By adding a /I6 memory module and our PAC KACJI A software to tUv alpha 1 we created a second XITAN system, thvalpha 2. Ibus.a complete and extremely powerful micro-compuler system emerges well worthy of you who are operating at the most sophisticated levels. The XII AN alpha 2 provides you with IIIK of RAM, '2K of ROM, 2 serial I/O ports, t parallel I () port, our 1201) baud audio cassette interface as well as our extraordinarily powerful software package which includes «K Basic, the text Output Processor, the /apple Text Editor and the Relocating Macro-Assembler. Add your own I/O di-vice and (;0 .. .with the most powerful and flexible microcomputer package ever offered.

KM: $i:i6<) ASSIMBEEI) & TESTED: $1749

IF YOU ARE A BEGINNER, YOU WON'T EASILY OUTGROW THE XITAN SYSTEM. IF YOU ARE AN ADVANCED USER, YOU WILL DISCOVER XITAN IS EXACTLY WHAT YOU NEED.

Ciicli: 'MO on inquiry <;arfl.

I Write for clcs< ri[)livi' l)ro( luirc on ihc XII AN alpha scries ^^ TECHNICAL

dinl system software. When you .isk at your dealer, say "/V-IAN." .^^^TlDESIGN

ORI>ERING INFORMATION: Send check, money order or BankAmericard, Master (barge current numbcrr and expiration date. Shipping is usually made via UPS or UPS Blue laliel. Specify other arrangements if you wish. Prepaid orders are shipped postpaid.

M»;j

HrSnAHCII PARK 1)1 OG H 1101 SIAU RDAI) I'HINCI ION, Nl W .It RSI Y OHMO (60^1) IC't 0:i?l

artifact was the leader of the instrumentation group, Ned. Ned's large frame amply filled the white lab coat though it was barely discernable in the dense cloud of cigar smoke. The combined scent of hydraulic oil, burned resistors, and cigar smoke convinced me that today was not going to be my day.

"Hi, Ned. What's the problem with the new detector?", I asked.

"It's about time one of you guys came down and asked. This has got to be the most fragile pressure detector I have ever tested.

5,000 PSI PRESSURE REGULATOR

10,000 PSIG

5,000 PSIG

L I

"H"

VALVE B

ET

10,000

PSIG

PUMP

ATMOSPHERIC ,^ ^

PRESSURE VALVE_C

0 PSIG I J.

RESERVOIR

■^

ACTION OF

ON

VALVE A

OFF

ACTION OF

ON

VALVE B

OFF

ACTION OF

ON

VALVE C

OFF

RESULTANT

lOK

PRESSURE AT

PRESSURE

5K

DETECTOR

(PSIG)

0

_rL_

n

n

n

n

2SECS-H

■8 SECS

H

__r

n

Figure 1: Configuration of a conventional Impulse pressure calibration test setup. Note that the pressure detector under test receives what amounts to a square wave input. This type of violent pressure change can shorten the life of the detector and give a false indication of its long term life expectancy. PSIG, or "gauge pressure, " is explained in the text.

So far, we have wiped out four engineering prototypes and. haven't gotten to 20,000 pressure cycles, let alone the 50,000 life test," he bellowed.

My eyes rolled slightly as he mentioned the failed units. These pressure detectors were not in the least bit fragile; they were ruggedized units with a prospective sale price of $4700 each. The four engineering prototypes were handmade and far more costly. Before it became too apparent that I was coming to a slow burn, I asked the obvious question. "Ned, are you following the engineering test specification?"

"You guys are really something! I've been in this business for 30 years. ! was testing . . ."

"OK, OK, Ned! Just tell me what your test procedure is. Pretend I'm a novice and tell me by the numbers." I was sure that he felt that was the way he had to work with any engineer, so I humored him and just listened.

"All right. The pressure detector is rated at 7500 PSIG and we are life testing it," he said with a cigar chomping smile. "The pressure is cycled between 0 pounds per square inch gauge (PSIG) and 10,000 PSIG every ten seconds and remains at 5,000 PSIG between cycles. [PSIG, or gauge pressure, is a differential pressure measurement using the ambient pressure as a reference. Usually, standard sea level pressure (14.7 pounds per square Inch) is used as the reference . . .CMJ At the conclusion of each cycle, the detector reading is compared to an out-of-tolerance spec. Oven temp and other control parameters are constantly monitored. Every 10,000 cycles, a calibration run is taken and compared to the accuracy specification quoted. We just haven't been able to get one of the bloody things to hang together long enough to finish the test. The pressure diaphragm keeps breaking."

So far, what he was relaying was exactly the procedure I had outlined. Nothing sounded wrong, so the next obvious question was a description of the test apparatus.

"I decided to automate the testing procedure," he gleamed like a kid describing a new toy. "I made a sequencing circuit with relays to cycle the pressure automatically. All the operator does is record the data and run the calibrations. Here, let me draw you a diagram."

It was unbelievable! True, Ned was following the spec, but what a way to do it! Pressure transducers are expected to withstand a certain amount of overpressuring, which was the reason for the test. But overpressure in combination with a 10,000 PSIG

32

M

corporation

I

i

I

i

I

The most cost effective

products for your

microcomputer.

^'Jmrrn''"^

RM64 64K bytes

THE EXTENSYS RM64 MEMORY BOARD provides the most cost effective system memory found in the industry. The RM64 provides this because of our low cost per byte when

compared to our competition plus the increased reliability of a single board over multiple boards containing less memory. The board is S-100 bus compatible making it usable in over a dozen different microcomputer systems including ALTAI R and IMSAI. The RM64 is available in three configurations: 32K, 48K or 64K bytes of memory all on ONE board. The board is completely assembled, checked out and burned in for at least 50 hours prior to shipment. This complete testing procedure allows Extensys to provide a one year warranty on parts, labor and materials (assuming no misuse of the board occurs). On board hardware is provided for:

- Individual memory bank address selection in 8K byte Increments;

- Complete dynamic refresh logic without loss of processing efficiency while programs are running;

■ Board select logic which allows more than one 64K byte board per system;

- S-100 bus compatibility including on-board voltage regulator;

■ Memory overlap which allows memory sharing the same address space to coexist in the same system;

Write protection in 16K blocks; and

Fully socketed for 64K, allowing 32K and 48K versions to be upgraded at a later date.

Delivery of the Rl\/I64 is 15 to 30 DAYS upon receipt of order. Prices for the RM64 include shipping and handling prepaid in the continental United States.

EXTENSYS Corporation is also announcing several other new highly cost effective products. These include a total floppy disk system based around File I/O board and a multiprocessor operating system. The other product, which interfaces with the RM64 memory board to create a megabyte or more of memory and adds full DIVIA capability to the File I/O board, is a Board Select/DMA board. Both of these products are S-100 compatible.

Circle 210 on inquiry card. Contact your local computer store ^ ^^^_ — _^

or order directly from EXTENSYS I ,^_^,.^^_.^ B-3

Please place my order for the following:

QTY DESCRIPTION AMOUNT

RM64-32K byte board @S 895 ea.

. RM64 48K byte board @S1195 Da.

. RM64.64K byte board @S1495ea.

Subtotal

California residents add 6'/;% tax

TOTAL

Shipping and handling prepaid in continental United Slates

esdcnsys

ADDRESSCITY

rcorporaflon 592 Weddell Drive Sunnyvale, California 94086 (408) 734-1525

Please check method of payment:

Check Enclosed

BankAmericard No

expiration date

Master Charge No.

— expiration date .

PHONEdNCLUDE AREA CODE).

impulse was like a jackhammer. The engineering group upstairs would be amazed that the test made it though 20,000 cycles. I wiped my brow, leaned against the concrete wall and asked with a pathetic whimper, "I suppose the failed detectors make good boat anchors."

"What?", he asked, not having heard what I had said.

"Ned, while I think your intention is fine, your method may be a little too rough on the unit. Why don't we change the square wave pressure being applied to the detector to a sinusoidal waveform." This was the method I had assumed he was going to use initially.

"I can't have a guy sitting there cranking a pressure controller knob ten hours a day. It's going to take two weeks to run this test as it is. That's why I automated it!" He seemed to get mad as I challenged his inventiveness.

"You don't have to compromise anything. Get a DC proportional control valve from the stock room and modulate the pressure sinusoidially. In fact, you can use the minicomputer which you ordinarily use for mathematical calculations over there

VOLTAGE CONTROLLED PRESSURE REGULATOR

VIN FROM D/A

5 TO +5 VOLTS

10,000 PSIG

10,000

PSIG

PUMP

PRESSURE DETECTOR UNDER TEST

0 TO 10,000 PSIG

i I

I 1

RESERVOIR

COMPUTER

APPLIED

RESULTANT

PRESSURE

(PSIG)

■B SECS

Figure 2: The same pressure detector as in figure 1 being tested here with a computer controlled system which applies the test pressure sinusoidally. This approach gives a much better indication of the unit's true life expectancy, and incidentally shows one practical application of digital to analog conversion.

in the corner to drive it directly, collect the data, and run the calibration automatically."

"You guys upstairs must be suffering from thin air. I know about computers; ones and zeros and all that stuff. We're talking about a DC voltage controlled valve. That isn't consistent with computer binary voltage levels. You would have exactly the same on and off situation as my relay controller," he stated.

It was going to be an uphill fight, but I knew I was going to have to introduce Ned to the world of analog to digital and digital to analog conversion. I first mapped out the life test circuit and diagrammed the waveforms.

Ned was no neophyte. He felt that he knew a lot about computers and in fact was quite familiar with the uses of BASIC and FORTRAN on the lab minicomputer. But Ned had never considered that this number crunching machine has the same logical abilities to control analog devices if properly interfaced.

General Considerations

While this may have been a lengthy introduction to computer analog interfacing, it often takes a real life situation to make one realize the added potential of the computer when it is combined with analog capabilities.

Since natural parameters such as displacement, temperature, volume and magnetic field strength are analog, and most practical methods of data acquisition, manipulation and visual presentation are digital, conversion between analog and digital qualities is a fundamental operation in computing and control systems. The basic building blocks are the digital to analog converter (DAC), and the analog to digital converter (ADC).

Because these converters are essentially interface devices, the basic conversion circuitry must be adapted to properly mate the application to the computer. Such variables include the possible necessity for buffers, registers, clock circuitry and reference voltages, all of which are external supports for the actual conversion device. The exact design requirements can be lengthy and are handled separately by necessity. Digital to analog conversion is the first topic to be discussed.

Digital to Analog Conversion

The digital to analog converter can be thought of as a digitally controlled programmable potentiometer which produces an analog output. This output value (Vq) is the product of a digital signal (D) and an

34

Why you should buy a digital

tnultiineter from the leader in digital multimeters.

If you're shopping for your first multimeter, or moving up to digital from analog, there are a few things you should know.

First, look at more than price. You'll find, for instance, that the new Fluke 8020A DMM offers features you won't find on other DMMs at any price. And it's only $169.*

Second, quality pays. Fluke is recognized as the leading maker of multimeters (among other things) with a 30-year heritage of quality, excellence and value that pays off for you in the 8020A.

Third, don't under-buy. You may think that a precision 3y2-digit digital multimeter is too much instrument for you right now. But considering our rapidly changing technology, you're going to need digitsd yesterday.

If you*re just beginning, go digital.

times better than most analog meters. Also, the 8020A's digital performance means things like 26 ranges and seven functions. And the tougher your hojne projects get, the more you need the 8020A's full-range versatility and accuracy. The 8020A has it; analog meters don't.

If you*re a pro.

You already know Fluke. And you probably own a benchtop-model multimeter.

Now consider the 8020A: smaller in size, but just as big in capability. Like 2000-count resolution and high-low power ohms. Autozero and autopolarity. And the 8020A is MOV-protected to 6000V against hidden transients, and has overload protection to 300V ac.

Nanosiemens?

W^hat price to pay.

Conductance To Resistance Conversion

10

100

1,000

10,000

==&

/

/

/

0.1 1 10 100

Conductance (nS) nanosiemens

Why not analog? Because the 8020A has 0.25% dc accuracy, and that's ten

Beginner or pro, you'll find the meter you now have can't measure nanosiemens. So what? With the 8020A conductance function, you can measure the equivalent of 10,000 megohms in nanosiemens. Like capacitor, circuit board and insulation leakage. And, you can check transistor gain with a simple, homemade adapter. Only with the 8020A, a 13-oz. heavyweight that goes where you go, with confidence.

$169.*

Of course, you can pay more. Or less. In fact, you could pay almost as much for equally compact but more simplistic meters, and get far less versatility. And, the 8020A gives you the 'plus' of custom CMOS LSI chip design, and a minimum number of parts (47 in all). All parts and service available at more than 100 Fluke service centers, worldwide. Guaranteed, for a full year.

Rugged. Reliable. Inexpensive to own and to operate; a simple 9V battery assures continuous use for up to 200 hours.

IVheretobuy.

CaU (800) 426-0361 toll free. Give us your chargecard number and we'll ship one to you the same day. Or, we'll tell you the location of the closest Fluke office or distributor for a personal hands-on feel for the best DMM value going.

*U.S. price only

Fluke 8020A DMM for Hcmie Electronics Experts: $169

IFLUKEI

Circle 211 on inquiry card.

BINARY "I "• SWITCH CLOSED BINARY "O"- SWITCH OPEN

J

)RF

Figure 3: A 4 bit weiglited resistor digital to analog converter. A 4 bit word is used to control four single-pole single-throw switches. Each of these switches is in series with a resistor. The resistor values are related as powers of 2, as shown. The other sides of the switches are connected together at the summing point of an operational amplifier. Currents with magnitudes inversely proportional to the resistors are generated when the switches are closed. They are summed by the op amp and converted to a corresponding voltage.

analog reference (V^gf) and is related by the following equation:

Vo=(D)(Vref)

To a large extent, no digital to analog or analog to digital converter can be of much practical use to anyone without specifying the type of code utilized to represent digital magnitude.

Converters work with either unipolar or bipolar digital codes. Unipolar includes straight binary and binary coded decimal (BCD). Even floating point converters have been used on occasion: witness the auto ranging digital voltmeter. Offset binary, one's and two's complement and Gray code are usually reserved for bipolar operation. Since the obvious sphere of this article is home computer applications, straight and

^

M^

2R _VW

■*

^

2R

^

2R

-wv

r

SW4 2R

r- W«

Figure 4: A 4 bit "R — 2R" ladder network digital to analog converter. This type of digital to analog converter makes use of a resistor ladder network constructed with resistors of values R and 2R. The topology of this network is such that current flowing into any branch of a 3 branch node will divide itself equally through the two remaining branches. Because of this, the current will divide itself in half as it passes through each node on Its way to the end of the ladder. The four switches are again related as powers of 2. The position of each switch with respect to its distance from the end of the ladder determines its binary significance.

offset binary will be the only digital methods addressed.

It is important to remember that the binary quantity presented by the computer is a representation of a fractional value to be multiplied by a reference voltage. In binary fractions, the most significant bit has a value of 1/2 or 2—1, the next most significant bit is 1/4 or 2-2, and the least significant bit is 1/2N or 2-N. It can be seen that adding up all the bits approaches a value of 1. (The more bits, the closer the value is to 1). The discrepancy between the binary value approaching 1 and the actual value 1 is the quantization error of the digital system. I'll discuss this later.

Offset binary is nothing more than straight binary except that the binary number zero is set to represent the maximum negative analog quantity. In the easiest terms, the most significant bit is a zero for negative analog values, and a one for positive analog values.

The conversion of digital values to proportional analog values is done by either of two basic conversion techniques: the weighted resistor digital to analog converter and the R—2R digital to analog converter. The weighted resistor digital to analog converter is by far the simplest and most straightforward. This parallel decoder requires only one resistor per bit. In the weighted resistor digital to analog converter, switches are driven directly from the signals that represent the digital number D. Currents with magnitudes of 1/2, 1/4, 1/8, . . .I/2N are generated by connecting resistors with magnitudes of R, 2R, 4R, . . .2Nr between a reference voltage, —V|-ef, and the summing point of an operational amplifier by means of a set of switches. The various currents are summed and converted to a voltage by the operational amplifier (see figure 3).

While this may appear to be a simple answer to an otherwise complex problem, this method has some potentially hazardous ramifications. The accuracy of this converter is a function of the combined accuracies of the resistors, switches (since all switches have some resistance) and the op amp. In conversion systems of greater than ten bits resolution, the magnitudes of the resistors become exceptionally large and the resultant current flow is reduced to such a low value as to be lost in circuit noise.

A reasonable-alternative to the weighted resistor digital to analog converter is the R—2R converter. This is often referred to as a resistor ladder digital to analog converter. The R—2R digital to analog converter is the most widely used type of digital to analog

36

24 Channel LOGIC ANALYZER, complete with 2 cards and 3 sets of probes (only one set shown).

Features

— 24 channels with 256 samples each.

— Display of disassembled program flow.

— Dual mode operation — external mode analyses any external logic system. Internal mode monitors users data and address bus.

— Selectable trigger point anywhere in the 256 samples.

— 0-16 bit trigger word format or external qualifier.

— 10MHz sample rate (50ns min. pulse width)

— Synchronous clock sample with coincident or delayed clock mode.

— User defined reference memory.

— Displays and system control through keyboard entry.

— TTL Logic level compatible (15 pf and 15/ja typical input loading).

— Includes annotated source listing.

m K y

W ul EF.WFI

m FUME

iEK IUX9

Mt ".EX 'Si

SIB IK T

m cf: t

sir i:

«:i ■■« ■>

Display of disassembled program flow.

Circle 212 on inquiry card.

Databyte, Inc

P.O. Box 14B 7433 Hubbard Avenue Middleton, Wisconsin 53562 Tel: (608) 831-7666

24 channel Logic Analyzer plugs into

your S-100 Bus

The DATALYZER

The Databyte Logic Analyzer (DATALYZER) is a convenient, flexible, high quality device. Efficient engineering has allowed a combination of features previously available in only the most expensive units.

Designed to plug easily into your S-100 Bus, the

DATALYZER is a complete system for only

$495. Display of disassembled program flow is a standard feature, not an extra. And the low price Includes 30 logic probes, so you can hook up immediately, without additional expense.

The DATALYZER is available in kit form ($495), and as a fully assembled device on two PCB's ($595). Four-week delivery, a substantial warranty, and the Databyte, Inc. commitment to service make the DATALYZER a worthwhile investment. Begin debugging by sending the coupon now.

P!

■ SI WEBl

K me

mm iHsui ■jmvmm-Mivsa m. mm iiiiKiiiHiiiiiiitii!) intai iii)iiiaii«iniiii)st <mutu; liKBegiKitigeiBiiiffis rnxx mitiiinttmaii tnMui muKKiUtustna lUBlB nil -

IBBUI t~ Willi! I

iniiw ]

iiiini niKiiiswaiKie

iii:»: KiKUMiimiiiiu :fus;n iBeimieiiimRiMii ■.r:a. aimiBiKiiieiiiaii ■.f:.i:.i »:se:s:;!::s;s:a:a;t

Displays in Hex

Displays in Binary

[Tiease send me the 24 Channel LOGIC ANALYZER I n Kit - (manual included) $495.00 (Wis. res. add 4%)

I EH Assembled and Tested (manual included) $595.00 I □ Operators' manual only $7.50

I Delivery of all items in four weeks to: I

Name

I

State

Zip

Address

City

I Telephone

Payment Enclosed: CU Check CZI Money Order I CH BankAmericard dl Master Charge Exp. Date |

I

Number _ Signature

o VOUT

•compensation

TYPICAL VALUESRI4 »RI5- 2.OK V REF ■ 4.0 VOLTS C" 33pF r 14 = 2 mA NOMINAL

VEE «0)

I OUT = A

[.,

/2 +D2/4 + D3/8 + D4/I6+D5/32+D6/64+D7/I28+D8/256

WHERE A « V REF/RI4 AND DN - I FOR HIGH LOGIC LEVEL DN ■ 0 FOR LOW LOGIC LEVEL

Figure 5: A typical current output monolitliic multiplying digital to analog converter. This Motorola integrated circuit contains an R — 2R network lil^e the one in figure 4 plus additional current switching logic. The relative accuracy of this 8 bit unit is ±1 least significant bit, or 0.19% of full scale.

converter, even though it uses more components. This circuit is illustrated in figure 4 and also contains a reference voltage, a set of binary switches and an op amp, but the basis of this converter is a ladder network constructed with two resistor values, R and 2R. One resistor (2R) is in series with the bit switch, while the other (R) is in the summing line, so that the combination forms what electrical engineers call a "pi" network. This suggests that the impedances of the three branches of any node are equal, and that a current, I, flowing into a node through one branch flows out as 1/2 through the other two branches. In other words, a current produced by closing a bit switch is cut by half as it passes through each node on

the way to the end of the ladder. Simply speaking, the position of a switch, with respect to the point where the current is measured, determines the binary significance of the particular switch closure.

This type of converter is easy to manufacture because only two resistor types are needed and can be reduced to one value, R, if three components are used for each bit. Keeping matched resistor values with the same temperature coefficients contributes to a very stable design. Certain tradeoffs are required between ladder resistance values and current flow to balance accuracy and noise.

One form of the R—2R ladder digital to analog converter is the multiplying digital to analog converter. Digital to analog converters are available with either a fixed reference or with an external variable reference. Multiplying digital to analog converters, which utilize external variable analog references, produce outputs which are directly proportional to the product of the digital input multiplied by this variable reference. Functionally, these converters are available as current or voltage output types. The current output devices are necessarily faster because they do not include output amplifiers which limit the bandwidth. Because this output amplifier is not included, current digital to analog converters tend to be a little less expensive than voltage types.

Probably one of the most useful and cost effective multiplying digital to analog

ANALOG T OUTPUT

F

[T

1/2 LSB

DECREASING BINARY VALUE

[/

X

A

A

■ DESIRED ANALOG OUTPUT VALUE

DIGITAL OUTPUT VALUE APPROXIMATING ANALOG VALUE WITHIN ±1/2 LSB

INCREASING BINARY VALUE

Figure 6: Output characteristics of a digital to analog converter showing least significant quantization.

38

(a)

PARALLEL D/A METHOD

(b)

MULTIPLEXED SAMPLE AND HOLD

COMPUTER (

OUTPUT

BUS

UPDATE STROBE NO. I

UPDATE STROBE NO. 2

converters available on the hobby market today is the Motorola MC1408L-8 8 bit digital to analog converter (see figures 5 and 6).

As previously mentioned, this monolithic converter contains an R—2R ladder network and current svi/itching logic. Each binary bit controls a switch which regulates the current flowing through the ladder. If an 8 bit digital input of n000000 (192io) is applied to the control lines of the illustrated converter, the output current would be equal to (192/256) (2 mA) or 1.50 mA. Note that when binary 11 111 111 (or 255 decimal) is applied, there is always a remainder current which is equal to the least significant bit. This current is shunted to ground, and the maximum output current is 255/256 of the reference amplifier current, or 1.992 mA for a 2.0 mA reference current. The relative accuracy for the MC1408-L8 version is ±1/2 least significant bit, or 0.19% of full scale, and is more than adequate for most home computer analog control applications.

A Design with the User in Mind

I could actually stop right now and be satisfied that the reader has at least some idea of what a digital to analog converter is, but no mention has been made as to its uses. BYTE has published previous articles on digital to analog converters, but few actually using them in detail designs.

When we last left Ned in the testing lab, he was hooking up a voltage controlled pressure regulator and attaching it to the com

ANALOG OUT NO.l

COMPUTER{

OUTPUT

BUS

ANALOG OUT N0.2

>—

>—

D/A

WITH

?

INPUT

>—

REGISTER

D/A

ANALOC

OUT

.

ANALOG OUT NOI

S/H

'' '

>— y

NO.l

i i

"

STROBE

MULTIPLEX

S/H

OUT NO. 2

LOGIC

N0.2

Figures 7a and 7b: Two methods for providing multiple channel output capability. Figure 7a shows a parallel digital to analog converter method in which the computer routes information to two different digital to analog converters. In figure 7b, two sample and hold circuits are fed by the same digital to analog converter. /Multiplex logic switches the output of the converter between the two sample and hold circuits. The latter do just what their name implies: when strobed, they store the value of the incoming voltage and stay very close to that value until strobed again, at which time they change to the new value. The sample and hold technique of figure 7b is economically more attractive than the multiple digital to analog converter approach.

puter through a digital to analog interface. Though only the voltage requirement of the value was mentioned, the pressure detector is situated in an environmental control chamber with the temperature maintained by a setpoint controller.

At various times during the testing phase, the temperature is elevated. To adequately automate this test procedure, therefore, two analog output values are required: one for temperature setpoint and the other for pressure setpoint. It takes one digital to analog converter for the first voltage and we could add another separate digital to analog converter for the second voltage, but this is overly expensive and not necessary. The preferred method is to use multiplexed digital to analog conversion. This technique uses a single converter and switches it back and forth between the two channels doing the respective digital to analog conversion 50% of the time on each channel. To insure that each channel does not go on and off as the converter switches back and forth between them, a circuit called a sample and hold is employed on each channel to maintain the output at a constant level until the next refresh by the digital to analog converter. Figures 7a and 7b illustrate the

39

ACQUISITION TIME

EXAGGERATED VOUT WAVEFORM

,— DROOP VOLTAGE DIFFERENCE DUE TO CAPACITOR DISCHARGING EXPONENTIALLY WITH A LONG PERIOD TIME CONSTANT

CAPACITOR CHARGES EXPONENTIALLY WITH SHORT PERIOD TIME CONSTANT

SWITCH SWITCH SWITCH

OPEN CLOSED OPEN

(HOLD) (SAMPLE) (HOLD)

Figure 8: A basic sample and liold circuit. Wlien tlie switcli is closed, the capacitor begins to charge up exponentially to the value of the input voltage. Theoretically, the capacitor will maintain this value indefinitely after the switch is opened, but in reality a certain amount of voltage "droop" (exponential decay) will occur over time as the capacitor slowly discharges.

separator versus multiplexe(d digital to analog approach, and figure 8 illustrates a basic sample and hold circuit.

A sample and hold circuit is simply a charged capacitor analog storage device. Amplifier A1 is an impedance isolating buffer connected to the digital to analog converter or other voltage supply and connected to the capacitor through a switch. This switch is normally open in the "hold" state. When the output is to be updated, the switch is closed, the circuit enters the "sample" or acquisition mode, causing the capacitor to charge exponentially toward the new value present at the output of Al. When the switch is reopened and again in the "hold" state, the output of A2 will be equal to the capacitor voltage level.

The secret of good sample and hold is to use good high input impedance buffers to minimize the leakage from the capacitor and hold the output for long periods of time. No sample and hold can be designed without some droop during the holding period. The best that the designer can do to minimize this feature is to use precision components (usually more expensive) and refresh the sample and hold frequently enough to overcome decay problems.

Is There a Way to Overcome the Necessity to Refresh Sample and Hold Outputs?

For the home computer experimenter, sample and hold outputs, which require periodic refreshing, can become a bother.

This is especially true during step-by-step checkout of system software.

Refreshing a multiplexed digital to analog interface usually requires a separate digital to analog refresh subroutine which must be called at regular intervals while executing the program. Simple, inexpensive sample and holds may require updating tens of times per second, while the better designed circuits available to the hobbyist can do satisfactorily with a once per second update. The fact remains, though, that the refresh is a requirement. This can limit digital to analog interface applications.

Drive the Digital to Analog Converter with BASIC?

Many extended BASIC programs such as the Digital Group MaxiBASIC can directly interface with computer input and output ports. This means that analog devices can be driven with a digital to analog converter, analog data processed through an analog to digital converter, and the acquired data mathematically manipulated using BASIC. The implication is a pseudoreal time analog control scheme utilizing BASIC. This is a realistic capability in slow process control applications where control feedback does not have to be activated within microseconds of an initiating event. Solar heating, low duty cycle repetitive machine functions, building environmental control systems, and supervisory control of setpoint controllers are examples of slow processes where slow computer response is of no major consequence.

The Final Configuration

Utilization of BASIC as a real time operating system does imply some constraints. If analog control is involved, the time between updates to an analog output interface can be on the order of tens of seconds, especially if the computer is required to do extensive calculations and record outputs to a printer. Of course, a special interrupt driver could be added to the BASIC and the processor interrupted frequently to service the external devices; but why make life difficult? The idea of using BASIC in the first place was to provide a control capability without adding special machine language drivers, a capability which would enable anyone to try his or her hand at closed loop control programming. This approach, though, tends to eliminate the classical sample and hold multichannel digital to analog method from consideration. It would also seem that the only approach left is the separate storage register and

40

Meet the First Famfly in floppies

The roots of our floppy family

r

1143M controller-LSI technology • IK buff er

i

Dual head

50 pin LSI interface

r

^

U49M Multipurpose

Cabinet assembly.

Rack or table mounted.

k

J

New 143M disk drive. Two-sided recording. Single/double density. LSI Multifunction.

LSI-11

RS-232-C

S-100 BUS

Our host adaptors

CalComp's sol it nil losethor for you. A total I'lopjjy family. Any way you want it.. ..single products or Lhe total package, hi every case you get Iruv niiiltii'unction, LSI technolo^'y, liiKh MTBF and low MTTR reliability, comiialihility and multiple interlaces.

And that's not all. Ficlil-prorcii double density — now one or two-sided. Ancl our new 1143M conti'oller alonj^ with three host adaptors.

With CalComp it's all there. Choice. Flexibility. Everything you need lor all or part of a total memory subsystem. P/«.s- CalConii)'s worldwide service to sujjport our family. We've delivered 5(),(X)() drives —why not add your ap])lication requirements to oui- growing family.

.Just call us or use the coupon. We'd like to tell >'ou more about our family.

Circle 213 on inquiry card.

California Computer Products, Inc.

2411 West La Palma Avenue Anaheim, California 92801 (714) 821-20U

Please .send me your free Floppy Family information l<it.

1 am interested My needs are immediate

Name

Ci»ni|

any

Title

A.Uh

t'.SK

P ho lit'

®oo®®®o

Figure 9: A "smart" 4 channel self-refreshing digital to analog converter. The circuit is self-refreshing and asynchronous in the sense that it maintains its analog outputs independent of computer timing. ICl, IC2 and IC3 form an address decoding network which decodes the 8080 or Z-80 processor's output port address and strobes the computer data bus contents into IC4 and IC5,

>

",--,,

-2»"

...„,..o , , ,

> c

Lno:

,,,.«,„„ , , , ,

X

74LS04

74LS04

74LS30

74170

74170

7400

MCI 4 08-L8

7433

LM301A

CD40S1AE

MC1458G

MC1458G

z

UUUUUUUUUUUO

1 1 i i 1 1

AA

i-A

A

-A~^4^—A~A

m 3

UJ u

fl-p

Pt

Vi 0

42

which form an 8 bit random access scratch pad. IC7 performs the actual analog to digital conversion. The remaining portion of the circuit consists of timing generation and an analog multiplexer with sample and hold circuitry.

digital to analog converter combination previously illustrated. A more intelligent alternative is a combination of the two methods.

The necessary interface is essentially a smart multiplexed digital to analog converter which maintains its analog setpoints independent of the computer timing. The design of this interface is illustrated in figure 9. It is a hybrid system composed of separate digital storage sample and hold circuits for each of four output channels. Internal timing generators sequentially read the storage registers, initiate the digital to analog conversion, and refresh the sample and holds. Photo 1 shows how this card looks when built using a Vector board with 44 pin edge connector.

The key feature of this unit is the input storage buffer. Two 74170 4 by 4 bit registers are configured to form a 4 word by 8 bit random access scratch pad. An address decoding network composed of IC1, IC2, and IC3 decodes the processor's output port address and strobes the computer data bus contents into the appropriate scratch pad location. These four jumper selectable port addresses can be set to be any four consecutively numbered output ports. The exact selection and jumpering details are outlined in the check out procedure. This particular scratch pad can be written into and read from simultaneously. The interface is completely asynchronous and does not have to be synchronized with the computer in any way.

There are four basic sections to the interface: the scratch pad and port decoding, digital to analog converter, timing generator and analog multiplexer, and sample and holds. A basic timing diagram of the interface is illustrated as part of figure 9.

The timing section consists of a 200 kHz clock generator IC6 and address counter IC8. The 7493 counts down the 200 kHz clock and drives the address lines of the scratch pad and multiplexer at a 50 kHz conversion rate. Each channel is accessed, converted and sampled in a similar manner. When the address lines have settled on a particular channel, the output lines of the scratch pad (IC4 and IC5) present the respective stored digital word to the digital to analog converter !C7. The converter immediately starts moving towards the new value.

Since its settling time is dependent upon the magnitude of change from one channel

to the next, the worst case being minus full scale to plus full scale, the 20 ^us conversion period incorporates a 10 ;us settling time. For the first 10 tis, the analog multiplexer IC10 is inhibited from conducting the signal to the sample and hold. After this settling time has concluded, the inhibit signal is dropped, and for the next 10 /as the sample and hold for that particular channel is in the sample mode. The circuit automatically sequences itself to the next scratch pad address and repeats the process over and over.

Anyone capable of a little quick math can realize that if the digital to analog conversion is proceeding at 50,000 conversions a second, each sample and hold is being updated at the fantastic rate of 12,500 times a second. This seems to be in direct disagreement with a "tens of times a second" statement made earlier. It is important to remember that this is an asynchronous analog interface. When new data is written into the scratch pad, the new value is not available at the sample and hold output until the next regular sampling period, controlled by the timing generator. The high sampling rate is more to increase the response of the interface than refresh the outputs.

At a 50 kHz conversion frequency, there is a worst case delay of 80 /is between a scratch pad update and an appropriate analog output response. This is of no consequence as far as this article is concerned. However, to maintain the ability to use BASIC as a real time operating system and yet not lose the capability to do high speed applications such as voice synthesis, a few simple modifications can be made. The interface clock rate can be increased from 200 kHz to 400 kHz. This has been successfully accomplished on the prototype and will increase the sampling rate on each channel to 25,000 samples per second. Unfortunately, it is far more demanding of the current to voltage converter IC9. Only one out of three LM301As may work successfully over the full range of 10 V. Another quick method is to remove the 7493 (IC8). This causes the interface to stay addressed on channel 4, doing 50,000 uninhibited conversions per second.

The converter itself is an 8 bit MC1408L-8 multiplying digital to analog converter. As previously outlined, "multiplying" means that it uses an external variable reference voltage. In this case, a 6.8 V zener diode regulated voltage is passed

Continued on page 156

43

Expanding the Tiny Assembler

(Increasing Function without Building More Memory)

LOCM

El

B2

R3

0000

0000

>*

*

0000

>*

EXAViPLE OF AN

INLINE PGN BLOCK •

0000

> *

*

cooo

*****

0100

>

OIiR

SI 00

0100

>ROUTIMEA

HMP

2

SUPROLniNFS A\JOILAPLE

0102

>H0UTINEB

E1B

2

IN FXISIING COFF

0104

>E0UT1MEC

r,^B

2

0106

>F.OUIIMEI

E1P

a

01 OB

>E0UT1MEE

F.MP

2

01OA

>EOUTI»)FF

FMP

2

01OC

>FLAG1

E^E

1

TEST CONlITIHNS

OlOC

>FLAG2

HMP

1

AVAILAPLF IN

01OE

>FLAG3

EMB

1

EXISTING COTE

0200

>

OHG

t200

0200

0200

> *

INLINE COTE •

0200

>**«4i***«>

0200

>

0200

>MEl BLOCK

BGM

STAFiT OF INLINE PLOCK

0200

711

01

OC

>

TST

FLAGl

0203

211

00

>

PLT

CONIl

JU^P TO SUBROnTlNF

0205

22

00

>

PHI

CONTS

FEPFNI-ING ON IFSl

0207

71

01

or

>

TST

FLAG2

CONl ITIONS

020A

23

00

>

BLS

C0Nt3

020C

BV

01

00

>

JSE

FOUTINEA

020F

20

00

>

BRA

GO

FIRST USE OF SYMBOL 'GO'

0211

BD

01

02

>CO.MM

JSE

ROUTINFP

020i

OC

0211

20

00

>

EFA

en

0216

HI)

01

o;.

>coMrp

JSP

ROUTINFC

0206

OK

0219

20

00

>

ERA

GO

021 B

BD

01

06

>C0ND3

JSR

FOUIINED

020B

OF

02 IF

BV

01

0«

>G0

JSR

EOUTINFE

SYMBOL 'GO' EESOLVEI

0215

0«

021 A

03

0210

or

0221

>

END

ENL OF INLINE BLOCK

*♦* UNHESOLUFr:

.•• SY><B0LS7

Y

CONl

02 1 1

COM2 0216 CBM3 OPIP CO

021F

022 1

0221

7P

01

OE

>COMTr^JUF

TST

FLAG3

022^

22

00

>

PHI

GO

FFUSF OF SY1P0L 'GO'

022A

DD

01

OA

>

JSR

nOUlINFF

0229

01

>G0

MOP

'GO' RESOLl^El AGAIN

0225

03

022A

i****H:«*

*****

*********i

oe2A

> +

INLINE COPF CONIINLIFS +

022A

>t««**k«t<

***♦**********'

***************************

028A

>

022A

>

EN 11

ENI: OF ASSEMBLY

••* UMHESOLUEn;

*** SYMBOLS?

Y

COME

0221

FLAI OlOC FLA? 0101. FLA3

01 OF Gr) 0229

MEWK

0200

hOUfl 0100 l:OUB 0102 P.OUC

OIOA LOUD 0106

Listing 1: This simple in line BGN block shows the format of the BGN and END pseudooperations of the Version 3.1 Tiny Assembler. Any symbols defined within the block are deleted by the END statement for the block and can be reused without conflict by subsequent code. Thus the symbol GO at location 021E defined within block NEWBLOCK is not the same location as the later use of GO in the outer level of the hierarchy at location 0229. Note that the new version of Tiny Assembler still condenses symbols into 4 character names in the symbol table by using the first three and the last characters of the symbol as typed. Thus the NEWBLOCK name at location 200 condenses to NEWK In the symbol table.

Jack Emmerichs

8465 N 51

Brown Deer Wl 53223

It is worth noting that the group of people who have been using the Tiny Assembler since the end of 1976 as listed on page 133 of the March 1977 BYTE excludes the author: ME! Well, I have finally gotten my own computer system up and running and have been able to get some use out of the assembler myself. I soon found that there were a few things here and a few things there that could be changed or added that would make the whole assembly process more convenient. I guess there is just no pleasing some people.

The problem is that, as predicted, I have a minimal configuration system. It is a SwTPC 6800 with (at the moment) no extras. The assembler just fits, so there is no place to put patches or additions except at the top of the symbol table. This of course reduces the capacity of the program. It became obvious that the proper approach to further modifications would be to increase the efficiency of the assembler so that additions could be made while maintaining or increasing the symbol table capacity. The first modification, therefore, would have to be the ability to delete symbols when no longer needed so that the symbol table space could be reused. This would allow a smaller table to handle a larger number of symbols.

As suggested in the article "Implementing the Tiny Assembler" (May 1977 BYTE, page 84), this has been accomplished by developing a "begin" statement (the assembler mnemonic is BGN). This statement causes the next available location in the symbol table to be pushed into a table stack and a structural level counter (which starts at 1 and keeps track of the nesting level of the BGN statements) to be incremented. Symbols entered beyond this point in the table belong to this BGN block. A label on the BGN statement itself will not belong to the block being defined, but to the group of

44

symbols already in the table. The END statement must then be changed to pull a symbol table location out of the table stack and perform end of block processing on the symbols from this point to the end of the table. Everything relating to these symbols is then cleared from the assembler's tables. The structural level indicator is decremented, and if it becomes 0, end of program is signaled. Using this arrangement, the nesting level of BGN blocks is only limited by the space available for the table stack or the size of the structural level counter (256 in this case).

In practice, the BGN block is used to break a program into individual segments that can each be treated as single functions or routines. Labels and variable names within such blocks are local to the block and are not known outside the block in the rest of the program. This can be most useful when employing structured programming techniques such as those that have appeared from time to time in BYTE articles. A properly structured BGN block should have only one entry point and one exit point. It may be used in either of two different ways.

First, a section of in line code that is only used in one place in a program may be defined as a structural block. Such a block is entered by "falling into" the first statement, and exited by "falling out of" the last statement as program steps are executed in sequential order. There will usually be no label associated with the BGN statement for such a block.

The second possibility is to define a block as a subroutine which can be called from one or more places in the program. Such a block is entered by a jump or branch to subroutine and is exited by a return statement. In this case the entry point (which is usually the BGN statement itself) does require a label. In both cases, once a block has been completed, the internal structure is of no interest to the rest of the program, and any entries in the symbol table and the forward reference table for the current block may be removed when the block is ended.

An example of a small in line BGN block is shown in listing I. Once this group of branch and jump instructions has been completed, the symbols defined within it may be reused without conflict. A more complex program structure using BGN blocks as subroutines is shown in figure 1. This is similar to the hierarchy diagrams discussed in the first of these articles (see "Designing the Tiny Assembler," April 1977 BYTE, page 84, for a discussion of hierarchies and networks). The pseudocode

to implement this structure is shown in listing 2. Within any block, references can be made to entries in the symbol table for any already active block (ancestors), the entry point of any block at the same level (siblings), the entry point of any block at the next lower level (direct descendants), and the entry point of any block which is at the same level as currently active ancestor blocks (aunts and uncles). References cannot be made to items which are across any level of siblings and then down another branch of the "family tree" (nieces, nephews and cousins), or to items developed within a lower level of the tree. This is a fairly standard structuring scheme.

Listing 2: This is a structured pseudocode representation which shows how the hierarchy of figure 1 would be implemented In a normal coding sequence. The assembly starts with an Initial (outer or global Is an equivalent term) level so there is one more END statement than the number of BGN statements. This is required to finally terminate the assembly. In this listing, indentation of the code has been used to highlight the various levels of nesting of the blocks from figure I.

BLOCK B

BLOCK E

BLOCK D

BLOCK F

START OF PROGRAM (level A) BGN (level Bl

BGN (level C) END

BGN (level Dl END END BGN (level E)

BGN (level F)

END

BGN (level Gl

BGN (level HI

END

BGN (level II

BGN (level J) END

BGN (level K) END END END END

BGN (level L) END END (end of assembly)

BLOCK G

BLOCK I

Figure I: This hierarchy diagram shows the relationships between the functional blocks used In the example of listing 2. Of the 12 blocks In the system of this program, only a maximum of five are ever active and using up space In the symbol table at any one time. Any entry point referenced at the beginning of block A during the I pass assembler's operation Is available to any block In the hierarchy even If It is not defined until the end of the assembly.

45

This general arrangement is significantly modified, however, by the 1 pass nature of the Tiny Assembler. In this case, a symbol "belongs to" the first block that references it rather than the block that defines it as a label. Therefore, a symbol that is defined and used at a low level is inaccessible to higher levels as usual, but symbols that are first referenced in a low level block of code and then defined as a label in a later higher level block of code cannot be handled by the assembler. This is because the symbol belongs to the low level block, and both the forward reference table and the symbol table will be cleared of all references to such a symbol at the end of the low level block.

This problem of what level the symbol belongs to can be avoided by requiring such symbols to be first entered into the symbol table by a high level block of code (as a forward reference if need be). In this way the symbol and all references to it will belong to the high level block and will stay in the tables while low level blocks are created and ended. When the symbol is finally used as a label, all unresolved references to it will be resolved, even those which were made in blocks which have been terminated and no longer exist. In general, a symbol must be entered into the symbol table at a level equal to or higher than every reference that is made to it. It is therefore a good idea to define common subroutines early in the program or to make reference to their entry point names in the highest levels of the structure.

To illustrate how these rules are applied, consider what symbols are "known to," or can be referenced by code within block G in the example in figure 1. Any items in A and E that have already been used can be referenced because they are ancestors. Any items within G itself can of course be referenced. This was the scope of the original versions of the Tiny Assembler. The entry points of H and I can be referenced because they are direct descendants. The entry point of B can be referenced because it is an ancestor's sibling that has already been defined. The entry point of F can be referenced because it is a sibling that has already been defined. Any items first used within H, I, J or K cannot be referenced by G because they belong to a lower level. Any information about C and D that was not originally referenced in A is unavailable because they are cousins. The entry point of L (if not yet used) and any items in A and E that have not yet been used cannot be made a forward reference because they will not be defined until after references to them from G have been removed.

When a program is structured as a network instead of a simple hierarchy, things become a bit more complex because of relationships that cross between branches of the structural tree. The same rules apply when determining what can be referenced from what, however, so a program's block structure should be planned so that multiple paths within the network can be contained within a single block to reduce or eliminate forward reference problems.

For programs with a moderate number of symbols or extremely complex forward references, the whole assembly may be considered a single block. In this case, no BGN statement need be used at all. The first END statement that is encountered ends the program much as it does in the original versions of the Tiny Assembler.

It should be pointed out that the entire table of currently active symbols is searched during symbol processing. Therefore, a block may not redefine a symbol used by an earlier but still active block. If this is tried, a duplicate symbol error will occur. This restriction is based on the fact that a 1 pass assembler allowing redefinition of symbols at a local level could not tell the difference between a forward reference to a redefined local symbol and a backward reference to an existing global symbol. Therefore, symbols may only be reused after they have been deleted from the symbol table by an END statement. As it turns out, the hierarchical structuring scheme of the Tiny Assembler is similar to other structural languages such as PL/I, but the restrictions on redefining symbols and the rules determining what level of the structure a symbol belongs to make the structuring of source programs for this assembler unique.

While developing the methods used to handle BGN and END statements it became evident that the deletion and possible reuse of symbols would make it very difficult to produce a complete symbol table dump at the end of the program. In fact, there may never be a complete symbol table during an entire assembly (a situation which requires a 1 pass design by the way). Therefore, each END statement terminates a structural block as if it were a complete program. All unresolved forward references to symbols first used in the current block are listed and the user is given a chance to abort the END statement. If it is aborted, the user will reenter the block, and may continue with corrections and additions as if the END had not been entered. If the user does not elect to abort the END statement, a sorted symbol table listing is provided for the completed block. In this way, every

46

ORDER FORM

KIT ASSEMBLED

rn 4KROM [ I

8KSC-Z I I

68KSC I

8KSC I

[Write KIT

in each box the quantity of each part required] ASSEMBLED KIT ASSEMBLED

WWC I I I I B8EXT-LI |

88 EXT I I I I 68WWC | |

68EXT-S I i I I BBUC

[in

ASSEMBLY AND OPERATING MANUAL $4.00

mam...

iiBErU-Siii

NAME_

PLEASE PRINT OR TYPE

ADDRESS. CITY

.STATE.

ZIP.

SEND CHECK • MONEY ORDER • COD'S ACCEPTED • CREDIT CARDS

SEALS ELECTRONICS, INC P.O. BOX 11651 KNOXVILLE, TN 37919

MOST ORDERS SHIPPED WITHIN 10WORKING DAYS

I I II M II I II "■'■^"Vl I II I I

I I I I M I I I I I I I M I

■|_L1JJ :;-.'."

3lyill| [READ ONLY MEMORY]

■ ^^^Rpt up to 16 ea. 1702-A or 5203 EProm Providing up to 4096 words of non-volatile mennory for Boot Loads to Complete Programs.

■ Programming Available at Factory for $3.00 per EProm when accompanied by binary formated tape.

■ Each 1702-A has its own Vgg clocked for Low Power Consumption.

■ Will work with the weakest power supply based S-100 buss computer.

■ Switched Selected Address in 4K Blocks,

■ Switch selected wait states so that even the slowest 1702-A can work in your system. 0-8 wait states.

■ Solder Masked on both sides of PC Board.

■ Component Screened on Component Side of PC Board.

Kit Pries: . . $119.00 Assembled Price: . . .$179.00

[STATIC MEMORY CARD FOR SWTPC 6800]

■<

8192 Words of Static Memory

Access Time: 500 nsec. (250 nsec on request)

Memory Chip 91 L02 APCior 2102AL-4 I Battery Standby

Address Selected 8 Ea, SPST Dip Switch

Low Power

All Lines Buffered,

All IC's with sockets I Solder Masked on both sides of PC Board.

Kit Price:

$269.00

Assembled Price:

.$369.00

[STATIC MEMORY CARD]

ALTAIR®IMSAr®and S-100 buss compatible.

Access Time: 250 nsec max.

Ziloq Speed Compatible up to 4 mhz.

Memory Chip: 2102LHPC or 2102AL-2

Battery Standby: >1.5 to 4 volts<

Address Select: 8 ea. Spst, Dip Switch.

Wait States: None

Current Reg,; Less than 200 ma per 1K

All Address, Control, and Data out lines fully buffered.

All IC's supplied with IC Sockets

Solder Masked on Both Front and Back of P,C. Board ,

Circle 214 on inquiry card.

Kit Price:

$295.00

Assembled Price: . . .$395.00

Item No.

8KSC WWC 88 EXT 68Ext-S 68 Ext-L 68 WWC BBUC

OTHER SEALS ELECTRONIC PARTS AVAILABLE

Description Kit Price Assembled Price

8K Static Memory Card 500 nsec $269.00 $369,00

Wire Wrap Card $ 37,50 $ 47.50

88 Extender Card $ 29.00 $ 38.00

Extender Card (Small) SWTPCEBoiiciin<»ai.ti»i>>o<i,.eu $19.00 $25.00

Extender Card (Large) SWTPC6000comp„ibi,p,odu,i, $29.00 $39.00

Wire Wrap Card smpc68oocDmp«.b..prMp.i, $35.00 $45.00

Battery Back-Up Card $ 55.00 $ 68.00

ELECTRONICS,INC.

ORDER DELIVERY: FROM STOCK TO 10 DAYS

TELEX NO. 55 7444 TELEPHONE NO. 615/693-8655

occurrence of every symbol and unresolved reference in an assembly is listed without requiring that they ever really exist at the same time.

Does this "virtual symbol table" mean that we have an assembler of unlimited capacity that will run in 4 K? Well, no, not really. While this may be theoretically true, there are some practical limits which are

LOCN Bl B2 E3

GOOD COOO

oobo

0000 GOOO 0000 0000 41 0003 44 000b 41 OOOB bti OOOA 41 0001/ 44 OOOf OOOF 31 0012 00 0014 0003

0011 03 IFFf

0012 IF 0014 0014 2C 0017 2B OOIH 0016 OOIH 0100 0100 01 0102

•♦*♦*♦*

k***«***

>♦♦♦♦******♦•*

•******««**

42 43 45

42 43 4b

42 43 45

32 00

OO

>* EXA>1PLFS OF THE EXTF^J^'F^ TI'sJY PSSEMPLFU FtlNHTIONS

FCC 5,4FCIE STF.TVn LEMCTH = 5

FCC /APCrE/ STF.r^Jt- rFLUnri-S CA^ PF '^^JY

FCC ;«pcie; ^jom mij>if.p.ic uoLin nimHACiFE

FCP Fl P

•^,VV USE OF AF05TF.0PHF IVJ FTP OMI

FaPVAF.r PFFFPFMC"^ IM FCP < FIP

EOU 3 ECU SIFFF

>CONTIMUE OF.C- 11 00

> FTP CONTINUE

>«PAGE

JFS'I.VF FOUPPr IFFFFFMCF5 TM PPFl/ini'S FCF fl HP

MOTE USE OF COMMA Q5 0 LITEFAL ANT AS A IJFLIMITEP APOUE

FULL FUNCTION OPG STATEMENT

LOCM Bl B2 E3

0102 0102 0102 0108 0102

0102 B6 00 00 0105 B6 00 00 01 OH

01 OR

0108 Bfi 00 00 > 01 OB B6 00 00 > 01OE B6 00 00 > 01 1 1 > *•• UMP.ESOLVED: CCCC 01 OF

»•• SYMBOLS?

Y

CCCC 0000

01 II

OOFF >

0103 00 FF

0109 00 FF

01 II >

»*• UNF.ESOLUEr: EPBP 0106 B8PB OlOC *•• SYMBOLS?

On 1

0001 >

0106 00 01 OlOC 00 01 01 1 I >

*** UNFESOLVEII *** SYMBOLS?

EXAvpLF OF FOl.vAFI FEFFFFNCF HA-OIMMO

PON

LFAA AAAA

LIAA PPPP

nxtlfvf:l pp'v]

UFA

AAAA LfAA PPPF LIAA CCCC

51APT NFU STFl'CTUI AL 91.Or^ FSTAPLISW f-OFVApi PFFFUFNCFS

SIAPT AMOTHEF STPUCTUF.PL Pr.nCK

PFFFPEMCF ALFFAFY FSTAPMSHFI

PPPP ALSO ESTABLISHED

FEFEHENCE TO MEU 11FM

END OF NXTLEVELp CCCC IS UMlFFIMEr

PFSOLVF SYMPOL AAAA

AAAA OOFF BEBB 0001 vJXll,

01 1 I

01 1 1 > EN

*** UNEFSOLVEI:

••• SYMBOLS?

Y

CONE 0100 rlDF 0102 IV

EMI FtenPEF

APOFT END AND FFFIMF PPPP

END FWDtEF APAINJ

END OF ASSEMBLY

Listing 3: In addition to tlie reorganization of symbol table management and introduction of the BGN pseudooperation, a number of minor incremental Improvements were added to Version 3.7 of the assembler. These are Illustrated here, and are described in more detail in the text of the article.

likely to be reached. All programs have a root segment and a list of global symbols which exist throughout the entire assembly. As the program increases in size, the root segment usually grows along with it, but at a slower rate. At some point it becomes impractical to try to fit ever larger programs into the Tiny Assembler. The current design provides for 150 symbols when running in a 4 K machine. This is large enough to assemble simple programs with ease, significant programs through moderate use of structural blocking, and large complex programs if need be. I don't really know what its practical limit would be now, because as noted earlier, I haven't really used the Tiny Assembler enough.

As an additional improvement, the Version 3.1 Tiny Assembler can now expand or contract to the user's requirements. If an 8 K machine were used, the symbol table could be increased to hold over 830 symbols. This could be effectively expanded into the thousands through the use of structural blocking. However, the sequential search times required to find symbols in such a table would no doubt start to become noticeable. Remember, this is supposed to be a TINY assembler, not competition for a full-scale standard assembler.

Having addressed the capacity problem, I then returned to the minor changes that started this whole modification project in the first place. Several items which did not work as one might expect in the previous version have been changed to process in a more normal manner, and a larger subset of the Motorola 6800 assembly language definition is now supported. The following is a list of some of the major changes which have been made. They are illustrated (where possible) in listing 3.

• The FCC pseudooperation will allow the use of character string delimiters as well as the previous string length operand.

• The FCB statement will allow the use of literals following an apostrophe, and the FCB and FDB statements may now make forward references.

• Delimiters such as the comma (,), space ( ), plus (-I-) and minus ( —) may be used as literals after an apostrophe. The apostrophe itself may be used as such a literal.

• If a label is used with an ORG statement, its value (as well as the program counter) is set to the value of the operand.

• Execution of the assembler after an assembly has been completed invokes the cold start rather than the warm

48

start entry point so that different programs being assembled at the same time are completely separated. Within a given assembly, however, restarts are still from a warm start entry point. A warm start uses the old symbol table contents, and a cold start clears the entire symbol table before entry.

• The Tiny Assembler can now be stored in its entirety in ROM or PROM, and it is more easily relocatable.

• The forward reference and symbol tables can be redefined at a location and size determined by the user.

• A comment line starting with *P will produce a page break and a new heading (eg: *PAGE).

While modifying the assembler, I found the need for a simple, quiet (on a Teletype) loader to try out various program changes. As mentioned in previous articles, there are two types of loaders for the Tiny Assembler. Those handling complex forward references must first zero memory and then add each byte of generated code to the current memory value (a single memory location may have several components added to it). Those handling corrections made by the user when the assembler is used interactively must simply replace whatever is currently in memory with the generated code. Since I tend to have many more errors to correct than complex references to handle, the loader shown in listing 4 was developed to complement the one listed in the Tiny Assembler User's Guide. If the assembler's stack is relocated from A07F to A042 (which is easy to do: simply change locations 06D3, 06D4 of Version 3.1), the assembler and the loader can remain resident in a 4 K machine at the same time. The code:

LDAA #$3C STAA $8007

will suppress the echo on input for any program using the standard Motorola MIKBUG input routines. In this case it allows the Teletype to read the Tiny Assembler load tape without having the print mechanism chattering away.

The current version (3.1) of the Tiny Assembler is quite a powerful assembly program which will operate within very tight memory restrictions. In larger machines this may mean more space can be made available for an input source buffer, monitor, editor, assembled object modules or other memory resident programs. In small machines it may mean the difference between being able to assemble anything at all or not.

Listing 4: A "quiet" loader is one which demurely purrs as it loads in from the reader of a Teletype, ignoring the noisy printer. This is a loader capable of residing in the IVIotorola MIKBUG program's scratch pad and loading object code from the Tiny Assembler Note that there is no end of tape character, nor facilities for rereading the loader tape for verification, nor error handling outside of that provided by the IVIotorola MIKBUG monitor's routines.

LOCM

Bl

ne

B3

0000

>-![*♦** + *

*+*+**♦+**+**+*******♦**********♦***

0000

>«

*■

0000

>* 'QUIF.T * LOflrFf< FOR

THE TIMY ASSE^PLFP *

0000

> *

*

0000

*i(i,*M*'*********"f *******

^iHf********** ********

0000

>

E055

J-HEXIN

FQU

SE055

MIKPUO HEX PYTF !M

E0^7

>aiiHrt'^

EQU

S,EOi47

MIKPUG AirFESS I-v]

El AC

>CHAprM

FQU

SEIAC

MIKPUG CHARACTEF IM

ElDl

>CHAROUT

EQU

SEin

MIKPUG CHARACTER OUT

0001

>STAFT

ECU

1

START LOAFING CHAF

0001

>STOP

EQU

1

STOP LOAriNG CH-ir

0000

>

AO-iiR

>

ORG

iAO^R

fiO^R

00

oo

>

FCB

LOAFEl-,

LOi^r STAFTiMG arrp.

AO-iiA

R6

3C

>LOADER

LI AA

»S3C

SUPPRFSS ECHO FOR

AO-ye

AO

'JA

AOiC

BY

HO

07

>

STAA

SR007

IMPI'T

AO'^F

R6

3E

>

LDAa

# •>

PRIM7 ■RE'^rY ^lAFK

A051

BL

Kl

ni

>

JSR

CHAFOUT

AOb"^

PD

Fl

AC

>SEARCH

JSR

CHAR IN

SEARCH EOF START

A057

61

01

>

C-<PA

ffSlAFT

OF PLDCK

A059

Sfi

V9

>

PNK

SEARCH

A05B

BL'

FO

^7

>

jsr.

ADRIM

GET LOAIIMG APrFFSS

A05E

Br

Fl

AC

>LO0P

JSH

CHARIM

RFAF NEXT CHARACTEF

006 1

Rl

01

>

C^PA

fSTOP

IF STOP COTE THFM

A063

27

FF

>

PEG

SFAHC"

SEARCH FOR NXT PLOCK

flOf>5

PP

EO

5S

>

JSR

HEX IN

ELSE REAP HEX PYTF

A068

A7

00

>

STAA

X

STORE II

A06A

08

>

INX

INCREMENT AUDRFSS

A06P

20

F!

>

BRA

LOOP

AND CONTINUE

A06D

>

A06r

->

EWD

END OF ASSEf^DLY

*** UMRESOLVEn

*** SYMBOLS?

Y

ADKN

V.Q^il

CHAM FIAC

CHAT Firi HEXN

F055 LOAF AO^A

LOOP

AOSF

SFAH f^O'^H

STAT 0001 STOP

0001

I should point out that the development of the Tiny Assembler was not a 1 person project, but rather a collective madness that infected quite a few individuals. Several sections of Version 3.1 reflect the ideas and work of Al Losoff, Chuck Bram and George Kuss. As the assembler evolves, I would like to hear from others who have found new and wonderful ways to improve, modify or adapt the program to different environments and requirements. By the way, I do not have the facilities to answer requests for copies of the Tiny Assembler. Contact BITS, 70 Main St, Peterborough NH 03458, for the PAPERBYTESTM edition of Tiny, or the Milwaukee Computer Store, 6916 W North Av, Milwaukee Wl 53213, for an AC-30 cassette of the object code ($6)."

Editor's note: As this article goes to press, Version 3.0 of Tiny Assembler 6800 is available as a 40 page book complete with user's guide, machine readable (bar code) object listing and complete assembly listing. The price of this book is $7 plus 35 cents postage and it may be ordered through BITS. In preparation as this article goes to press is the Version 3.1 supplement to the original book, which will contain documentation of these extensions, machine readable (bar code) object listing, a reprint of this article, and a complete Tiny Assembler 6800 Version 3.1 source listing. Write BITS at 70 Main St, Peterborough NH 03458.

49

Qescpiption

Recognition for Heuristics SpeechLab

A new star is born. The Heuristics voice input board for the Altair (S-100) bus is an interesting new option for personal computing enthusiasts. Now, for $250 one can add voice input to the computer.

The first thing I noticed about the Heuristics SpeechLab was the price, $250 in l<it form, compared to huge sums for commercial equipment. After seeing a live demonstration at the Homebrew Computer Club in Palo Alto CA, I was convinced that the board worked. Horace Enea and John Reykjalin, the principle designers, demonstrated the recognition of three words after a single training. Horace would type in a word and then pronounce it. The computer then used about 64 bytes to store a template for the word, "Apple, banana, mango. . ." The crowd at Homebrew stood in amazement as the computer typed out the spoken words.

Three weeks later I had my own SpeechLab kit. Surprise number two. The two documentation manuals are an order of magnitude better than anything else I've seen produced by the personal computer industry.

Hardware Manual

The hardware manual contains the standard sections: introduction, assembly, and theory of operation; but, the pages are numbered, paragraphs are tied together and the manual is actually readable. Several useful appendices are also included: troubleshooting, test program, warranty, schematics, etc.

Laboratory Manual

"Now what are you going to do with it?" is a question frequently asked by friends of personal computer owners. With this kit the question is the answer. The Heuristics people seem to be trying to create a Renaissance environment for scientific inquiry. The laboratory manual is a successful attempt to tie the diverse field of computer speech analysis together in a coherent fashion. The manual is bound to become popular among re

searchers in the field of speech recognition. The work is probably the best text material presently available on the subject.

The manual consists of 270 pages. The main body of the text presents 35 exploratory experiments to thoroughly acquaint the user with the problems and techniques of speech recognition. A sampling of experiments are: confusion matrix, compression amplifier, fricative consonants, and area averaging. A complete listing and explanation of Li Chen Wang's Palo Alto Tiny BASIC is included. The BASIC has been modified with a "Speech" command to access the speech input board through a high level interface. Most of the experiments are centered around Tiny BASIC, a wise design decision that makes experimentation easy and interesting. The experiments are clearly presented and should be easy to perform for anybody who can program in BASIC.

Assembly

The printed circuit board is silk-screened. Components are sequentially numbered as they appear on the board, from left top to bottom right. The layout appears to be flawless; no jumper patches are needed. I completed the assembly in two 2 hour sessions. Everything went smoothly except for two missing resistors which were supplied in four working days by mail. Like most small companies headed for success. Heuristics is bending over backwards to please customers. The hardware worked perfectly, so I didn't need the excellent troubleshooting section that is included.

One word of warning. The Heuristics board is intended for use with an Altair (S-100) bus 8080 computer, enough memory to run Tiny BASIC, and some application programs. A hardcopy terminal is not a must, but is useful for obtaining plots of waveforms.

Rick Parfitt

1 Johnstone Dr

San Francisco CA 94131"

50

^f%i;f hull a micro, when nou can huti a minijcr less)

m//^

MOST OF TODAY'S PERSONAL COMPUTERS are microcomputers. Compared to our minicomputer they are slow and expensive.

Our mini "the MINI 12™" has been around for three years. We've been steadily selling it to industrial customers who have proven its reliability. Only recently have we paid much attention to the personal computing market. We've discovered that our computer is simply better, and most interestingly, LESS EXPENSIVE.

NONE OF THE MICROCOMPUTERS can offer you the range of software available to the MINI 12. Compatibility with the most popular minicomputer, DEC's PDP-8E, gives you a vast library of programs. You will also be pleasantly surprised when you experience the speed and sophistication of our EXTENDED BASIC compiler, or FORTRAN, ALGOL and FOCAL.

Unlike today's microcomputers, our Mini 12 is fully software supported by an advanced operating system, including...file handling text editor, symbolic assembler.

loaders, ODT (octal debugging technique), batch processor, and system utilities.

The MINI 12 comes with 8K of memory and is easily expandable to 32K. Because the MINI 12 processes 12 bit words (instead of 8 bit bytes) you need far less memory. For most applications... using our optional MINI STORE digital cassette system with the BASIC compiler, you will never need add another single byte!

Because we want you to have the pleasure of using your minicomputer right away, our MINI 12 comes fully assembled, debugged and ready to plug in. It includes a full front panel, controller for eight digital tape drives, and built-in serial interface plus other technical niceties like a binary loader and monitor bootstrap in ROM memory.

Frankly, when compared with microcomputers, we're surprised at how good a deal we are. Write... or better yet, give us a call ©303-794-1634 and let us help you get it all together!

TLF

Post Office Box 2298, Littleton, Colorado 80161, Telephone 303-794-1634

PDP-8E and Focal are Trademarks of Digital Equipment Corporation

Circle 215 on inquiry card.

Announring a Computer that thinks in BASIC for only ^298.

Ohio Scientific's new Model 500 computer has full mini-computer BASIC in ROM and a minimum of 4K RAM for user programs. BASIC is always there when the computer is turned on. Make your terminal intelligent!

If your company or school has remote computer terminals, consider the Model 500-1. It fits in the communications line between the terminal and modem or system. When the 500-1 is off, the terminal talks to the modem. When it is on, the terminal talks to the Model 500. Use the Model 500 for short and medium sized programs in BASIC. Use its immediate mode as an ultra-powerful scientific calculator! Computers for Students

Couple a Model 500 to a low cost purchased or leased terminal such as the popular ASR-33 teletype for student instruction. The Model 500's BASIC is a perfect instructional language for students. Since the computer's machine code is also accessible, the Model 500 can challenge the advanced student with other optional software such as our interactive Assembler/Editor. Personal Computing

The Model 500 has eliminated all of the grief of the first generation personal computers. This computer comes fully assembled, tested, and guaranteed.

Most Importantly, it is easy to use since the BASIC is always there.

Flexibility and Expandability

The Model 500 uses Ohio Scientific's standard 48 line bus so that it is fully compatible with our Model 400 kits and Challenger'™ product lines. Any of thirteen accessory boards including RAM, PROM, parallel, serial, A/D, D/A, cassette, and video graphics can be added as well as peripherals including floppy disks, line printers, color graphics, and more.

The Model 500 is offered here in three forms to meet every application and pocket book. Specifications

(Model 500 Board $298.00

8" X 10" fully assembled board including 6502 microprocessor running at 1MHz, 512 bytes of PROM, 8192 bytes of ROM containing 8K BASIC and 4096 bytes of RAM for user programs. The board contains an ACIA based serial interface which is jumper selectable for RS-232C or 20ma loop at 110, 300, 1200, 2400, or 4800 baud.

The 8K BASIC features: full floating point math including transcendental functions, N dimension arrays, multiple letter

variables, full string functions, logical operators, PEEK, POKE, USR, and lots more!

The Model 500 board requires -i-5 volts at 2 amps, -9 volts at 500ma, an external reset switch, and an ASCII serial terminal for operation.

Model 500-1 $429.00

Fully enclosed 500 board with power supply, reset switch, and two 25 pin EIA standard terminal connectors for loop through operation. The 500-1 is 12" x 15" x 4". Model 500-8 $629.00

This unit is a 500 board in an eight slot Challenger'"^ case allowing seven slots for expansion. The unit has a heavy-duty UL recognized power supply and is 15" x 17" x 10".

ORDER FORM

Order directly from:

Ohio Scientific; Hiram, Ohio 44234

This introductory offer expires August 31, 1977, Please allow up to 60 days

for delivery,

PRINT OR TYPE CLEARLY,

Name

Shipping Address City

_State_

-Zip

Payment by: BAG (VISA)

Credit Card Account #

Interbanl^ # (fvlaster Charge) _

_ fvloney Order

Expires _

. Model 500 Boards @ $298.00

. fvlodel 500-1 Computer @ $429.00 _

. IVIodel 500-8 Computer (9 $629,00 „

_ Additional 4K RAfvl fvlemories for 500-8 @ $149,00

4% Sales Tax {Applies to

Ohio Residents only) _

TOTAL CHARGED OR ENCLOSED_

All orders shipped insured UPS unless otherwise requested.

Hiram, Ohio 44234

The Complete Challenger System

Imagine a system complete with terminal, CPU, memory, floppy disk, software, and all the little necessities to mal<e it work together immediately. Now imagine this complete system available not only fully assembled, but priced much lower than anyone else's kit. What you are dreaming of is OSI's "new" Challenger System!

In the configuration shown above, the Challenger includes everything an end user needs for a complete small computer system. All you add is 110 VAC power and a desk to put it on.

This fully-assembled system includes:

HARDWARE:

OSI Challenger 65 with 16K RAM, serial interface, system monitor PROM, and floppy disk bootstrap PROM.

OSI Challenger single drive floppy disk formatted for 250K bytes storage per diskette surface.

Stand-alone terminal and Sanyo monitor for 16 lines of 64 characters at 2400 baud (other terminal options are available).

And all interconnecting cables!

SOFTWARE:

2 diskettes containing over 100,000 bytes of software including OSI's powerful Disk Operating System with variable length sectors. 6502 DISK BASED RESIDENT ASSEMBLER/ EDITOR! A totally interactive Assembler/Editor which assembles up to 600 lines a minute and is completely compatible with MOS Technology's Cross Assembler format. This program also contains a powerful disk-based line editor with commands for general text editing. OSI'S EXTENDED MONITOR: A powerful machine language debugging and utilities package including a Disassembler which is forniat compatible with the Assembler! OSI 6502 8K BASIC FOR DISK BY MICROSOFT: This powerful BASIC has all the features of Altair'" 8K BASIC for the 8080 plus higher speed and disk storage. And it comes complete with a BASIC program library.

DOCUMENTATION AND SUPPORT:

We include over 600 pages of hardware, software, programming, and operation manuals. The Challenger is based on the well-proven OSI 400 system. The over 2,000 OSI 400s and Challengers now in use assure continuing hardware and software support for this system for years to come!

EXPANDABILITY:

The Challenger System can now be expanded to 192K of RAM and 16K of I/O and ROM. There are over 13 accessory boards including A/D, D/A, parallel and serial I/O, cassette interfaces, a dual drive floppy, a video graphics display, several RAM and PROM boards, and multiple-processor configurations.

APPLICATIONS:

The Challenger system is complete, fully assembled and configured so that the Disk Operating System can be booted in immediately on system power-up. Even a relatively inexperienced operator can have a complex BASIC program on-line just seconds after the system is turned on. The ease of use, high reliability, and large library of standard BASIC applications programs make the OSI Challenger System the first practical and affordable small computer system for small business, educational institutions, labs, and the personal computerist.

PRICES:

Challenger System, complete as stated above with terminal

$2599^

and monitor

As above without terminal. Specify RS-232 or 20ma loop and baud rate

$2099^0

IMPORTANT NOTE:

One of the most important features of the Challenger System is that it is not really "new". OSI has been delivering the basic circuitry of the Challenger since November 1975 and the floppy disk since June 1976. The only thing new is the total integration of the components as a complete, simple to use, fully-assembled, small computer system.

For more free information and the address of the OSI Computer Dealer or representative in your area, write to: OSI; Dept. S; Hiram, Ohio 44234 or enclose $1.00 for the full OSI catalog which contains kits from $134 and fully assembled computers from $439.

Dept. S, Hiram, Ohio 44234

Circle 216 on inquiry card.

One-Sided View of Wire Wrap Sockets

Photo I: Bending a socket pin witli a Slit-N-Wrap tool. The Slit-N-Wrap is positioned approximately O.i incli (0.254 cm) from the bottom of the socl^et, and the pin is bent up so it lines up vertically with the holes on the top of the socket. Three pins on this socket have already been bent showing what the result looks like.

Photo 2: A mounting procedure for sockets. First determine where the sockets will be placed and make a mark where the pins contact the board (the black marks on the board). Using a hot glue gun, put a generous amount of glue on the board at the spot where the pins contact. Put the socket down on the glue and hold for a few seconds until the glue cools.

Ira Ratnpil

Dept of Electrical and Computer Engineering University of Wisconsin—Madison Madison Wl 53706

Recently, while laying out the components for a new PDP-11 device controller, a devilishly simple construction technique revealed itself to me. Digital Equipment Corporation specifies that their printed circuit modules be restricted to component heights of 0.38 inch (0.97 cm), and on the solder side only 0.06 inch (0.15 cm) are allowed for the height of soldered and clipped off leads. These specifications enable boards to be mounted on half inch centers on a backplane. A problem arises, however, if wire wrap or Vector Slit-N-Wrap is the desired interconnection technique. DEC's solution to this problem is to provide a circuit board with soldered sockets for the integrated circuits. Each socket pin is connected by a foil trace to a wire wrap post staked and soldered to the component side of the board. Aside from meeting the DEC dimensional specifications, there is another important benefit. Since the wire wrapping is now done on the same side as the components, it's harder to get lost and make erroneous connections. The only caveat is to route the wires so they do not cross directly over any chip, otherwise you will have difficulties replacing defective components.

There are two difficulties in using DEC manufactured boards in my, or any other, microprocessor application. The first problem is flexibility; the layouts are prearranged and there is no provision for 40 pin chips. The second problem is cost; a so called quad board which measures about 10.5 by 8.5 inches (26.7 by 21.6 cm) costs approximately $160.

The new technique which is described here retains all of the DEC board advantages with ultimate flexibility of layout, and very low cost. The best advantage is simplicity. The entire technique consists of bending the leads of a conventional wire wrap socket around so that they point upwards, and then gluing the socket down on a blank, unperforated board. The photos demonstiate the technique using a new Slit-N-Wrap pencil, by Vector Electronic Company.

For best result:

• Use quality sockets that have their posts solidly embedded in plastic, so they

54

Photo 3: Closeup view of several mounted sockets. Notice liow tlie glue is sitting at the bends in the pins, assuring a good mechanical connection and secure mounting. One very important item should be noticed: none of the wires cross other sockets. This is to prevent difficulties with changing circuits, should one fail. The heavy copper bars running on either side of the sockets are power connections. Notice that pins 7 and 14 are connected to these bars for ground and -1-5 V.

will not be pulled out during the bending operation.

• Use a metal wire wrap pencil to do the bending. It is exactly the right size for the job. Slide the pencil down each post to a point about 0.1 inch (0.254 cm) from the socket base. Slowly bend the post out straight, away from the socket, and then up along the body. Remove the pencil and press the bent post flat against the socket to remove some of the remaining angle. The bent posts should be vertically aligned with each respective pin contact in the socket. Use of the wire wrap pencil leaves just enough room between the post and the socket for the wrapping operation.

• One method of gluing the sockets down is to mix a small solution of epoxy glue and briefly press each socket into the glue so that all of the bends in the posts receive a small dab of glue. After all of the sockets are in place, bake the board in an oven at approximately 140°F for an hour or until the glue hardens. A faster method is to use a hot glue gun as shown in photo 2. It will prove useful to roughen a smooth circuit board with a file or sandpaper prior to gluing to achieve a stronger board. If mechanical shocks are anticipated this is an essential consideration.

• Route all of the wires into the spaces

between sockets. Never cross a socket. This will allow you to easily replace the individual integrated circuits.

• The Slit-N-Wrap tool is a very easy and inexpensive way to wire vv'rap. It is convenient for doing daisy chaining with. My only complaint with the system is the means of cutting the wire. I think a surgeon's iris scissor or other small cutting tool would be much better than the tiny chisel provided by Vector. ■

Photo 4: View of the SlitN-Wrap in action on the one-sided prototyping

board. Notice how the tip of the tool fits snugly on the pin with very little room between it and the socket.

55

If you like the

Dumb Terminal/

join the club*

The Dumb Terminal Fan Club, that is. Because in just two short years, the Lear Siegler Dumb Terminal has made thousands of friends. Throughout the world.

And there's a good chance you're one.

You might be a distributor, an OEM — even an end user Or maybe just an admirer of good, practical design.

You might work with terminals for a living. Or assemble them for a hobby.

But it really doesn't matter Because the Dumb Terminal Fan Club is strictly for fun. For everyone.

Be the first on your block.

Here's your chance to become a Dumb Terminal charter member

And it's so easy No goldfish to gulp down. No blood oath to take.

All we need is your completed membership application form and a measly $6.00. (Cash, check, or money order, please.)

In return, you'll receive a nifty Dumb Terminal Fan Club Kit containing:

One official Dumb Terminal T-shirt. A good, practical design. (Just like the Dumb Terminal.) Fashioned in durable blue cotton/polyester With a likeness of our Club Leader on the chest.

One 8" X 10" color photo of The Dumb

r

Terminal, Himself. Autographed and suitable for framing.

One official Dumb Terminal Fan Club Membership Certificate. To proudly display on your office, den, or garage wall. A real conversation starter

One official Dumb Terminal Fan Club Membership Card. Entitling you to all the rights, privileges, and fun of a charter member Positive identification, should someone ask, that you're definitely one of us.

One Dumb thing after another.

In weeks to come, there'll be more Dumb fun.

Like an official Dumb Terminal Fan Club newsletter to help keep members informed of product updates and Club activities.

Plus posters, paraphernalia, and surprises, too.

So don't wait until you need another clean T-shirt—join the Dumb Terminal Fan Club today.

Chances are, it won't be the only thing you share with some of the smartest folks around.

Dumb Terminal. Fun Club.

Lear Siegler

Circle 217 on inquiry card.

What! No decoder nng^ Well, count me in as a

Charter Member of the Dumb Terminal Fan Club anyway.

Please make all checks and money orders payable to LeAnce i

: Reiser, OK?

I

Name_

. Title (?)_

Company

Street

City

_State_

_Zip_

Enclosed is $_

. for.

Fan Club Kit{s)

Quantity and size(s) of shirt(s) required: S M L

XL

L

Rush this application to: Dumb Terminal Fan Club Headquarters c/o LeAnce & Reiser, PC. Box 17123, Irvme, CA 92714

''•*<!■

The book you've waited for is here!

.<p

.&

^* %

^% ^^e^^"'^ INDEX^ REGISTER * BOMS / ^o^.V'*'^^

UMXRSHNDING

CQ^PUTERS

*^*'

o

EPROMs

AND SMALL COMPUTER SYSTEMS

','(' // "/i '.' J .'.',

What's an accumulator? How do you use relative addressing? Indexed addressing? Boolean logic operations? Does a program counter count programs? What's an //O port? What are EPROMS? What is paging? A stack? The difference between a dot and vector CRT display? How do you copy programs using an ordinary tape recorder? What can a microcomputer really do? What kind of personal computer system should I buy? These and hundreds of other questions about microcomputers are answered in this profusely illustrated, easy-reading "must" book. Here are the fundamental concepts behind the operation of virtually all microcomputers... written in simple English so that anyone can gain the extra knowledge ithat will let him or her read and understand computer magazines and imanufacturers' literature and feel "at home" around computers. Here I are just some of the items discussed ...

How a CPU is organized and how it follows sequences of directives to solve problems.

• Illustrates basic instructions from almost every class of microprocessor. • Discusses common memory addressing modes— illustrates typical uses.

• What you must know to tell a computer what to do

when using machine language programming methods.

• Explains use of flow charts; program worksheets;

hand assembly of source codes into object codes;

memory maps; purpose of an Editor, Assembler,

Monitor.

• Benefits of using a high level language — introduction to BASIC.

• How a computer communicates. Types of commonly used input/output devices and their operational concepts.

• Practical aspects of selecting a small computer system. Plus, hundreds of other practical facts and information. If you're at all curious about small computers, you must own this 300 page no-nonsense text that reads like a simple book, and includes an easy-to-use glossary of key microcomputer oriented words. UNDERSTANDING MICROCOMPUTERS. The name says it all. And, it all costs only $9.95. Order your copy today)

f f CELBI COMVIJIEII mCONIULTING INC.

^^ PO Box 133 — PP STN

Milford, CT 06460

Price shown for North American customers. Master Charge, Postal and Bank Money Orders preferred. Personal checks delay shipping up to 4 weeks. Pricing, specifications, availat>ility subject to change without notice. SCELBI Books are available in many fine Computer Stores.

Circle 218 on inquiry card.

Personal Computer Network

TeaCinbal Fopum

The PCNET (Personal Computer NETwork) Committee has been functioning in the Palo Alto area since the April 1977 West Coast Computer Faire. The committee's goal is the creation of regional (followed by national) personal computer networks for the computer to computer transfer of messages and files. A set of network protocols (sets of conventions defining all levels of intercomputer communication) is almost completely designed. These protocols should be operable in 8 K bytes of machine copy, and are designed to be implemented in string BASIC.

The committee believes this should be attractive to personal computer users. Participation will be voluntary; you can decide to participate (or not) on any given day of network operation. Network functioning will be relatively insensitive to the absence of an appreciable fraction of member computers.

Our current thinking indicates the following tentative equipment required for participation in the network:

• A personal computer with 12 to 16 K of user memory and string BASIC.

• An originate/answer MODEM capable of 300 bps.

A message service: the ability to send a message (generally English text, although almost any file can be sent) is quite valuable. It doesn't sound very dramatic, but it is surprising how powerful and efficiency improving such a message exchange facility is. What keeps ordinary message services (telephone, telegraph, mail) from working well seems to be a combination of factors: too slow (mail); often hard to catch someone (phone); difficult or time consuming to use (mail, telegrams); expensive in terms

•Hr** M " -I

THE SAME 8K STATIC MEMORY KITS YOUVE PURCHASED IN THE PAST, NOW ASSEMBLED AND TESTED

790 HAMPSHIRE RO., A+ B WESTLAKE VILLAGE CA 91361 TEL: (805)497-0733

H GiAn-ic inc.

SPECIFICATIONS: Access Time:

Power Consumption;

Address Unes:

Memory Protect;

Power Regulators;

Address Select;

Output Disable: Board:

Not affiliated with Vector General, inc.

mmr^

"Fast 8" 260 ns, Fairchltd 2102LHPC

"8K BABY" 450 ns, FoircNld 2102L1PC No Wait States "Fast8",1.6Aat+5V "8KBABY".l3Aat+5V Schmitt triggers for buffering

Hardware 8K 4ea.7805

Dip sv\fltch occessobte from top of board. No rieed to remove iDoard to relocate.

Permits use with transparent loader Quality G-10 nnaterid with solder mask both sides

59

Circle 204 on inquiry card.

THE LATEST IN TAPE SYSTEMS

MODEL CC-8 - $175^0

fm;

WVHimiin'v

2SIO (R) CONTROLLER MODEL 3M3A - $220.00 $190.00 ($160.00 Kit)

4800 BAUD CASSETTE RECORDER

An ASYNCHRONOUS NRZtype Recorder with remote motor start/stop. Error rate 10^ at 4800 BAUD. Can be used from 110 to 4800 BAUD into a UART or "Bit Banger PIA" - no clocl<ing required. Ttiis is not an audio recorder. It takes RS232 or TIL signals from the terminal or computer and gives back the same signals. No audio interface is used. Motor start/stop is manual or through TTL or RS232 signals.

Tape speed is 3.2"/second nominal; I.G'Vsec. optional. 110 volt, 60 Hz, 5 watts. (220 Volts on special order). Can use high quality audio cassettes (Philips Type) or certified data cassettes. Can be used in remote locations from a 12 Volt battery.

Recommended for DATA LOGGING, WORD PROCESSING, COMPUTER PROGRAM RELOADING and DATA STORAGE. Especially recommended for 6800 systems, 6502 systems, 1800 systems and beginners with the 8080 systems. Manual control except for motor start/stop. 6800 or 8080 software for file or record searching available on request with order. Used by major computer manufacturers. Bell Telephone and U.S. Government for program reloading and field servicing. AVAILABILITY - Off the shelf.

50 KILOBAUD CARTRIDGE RECORDER

This is a self clocking (1/1) high speed recorder. Loads BASIC in under 2.0 seconds. Recording is done at 19.2 Kilobaud. Playback at 30 Kilobaud. File or Record searching is done at 50 Kilobaud and loading is automatic. Worst case access time about 2 minutes for up to 2 megabytes on the 3M Data Cartridge.

Tape speed lO'Ysec. on record, up to SO'Vsec. on playback. Records one clock track and one data track on each pass (2 passes). Recording is NRZ unencoded from RS232 or TTL signals.

This recorder requires one Parallel port for motor control, and one serial port for data and clock. (Cannot be used with UART's or UART boards such as the 3P+S). Used with USART's, ACIA's or other 1/1 clocking I/O devices under software control only. No manual controls. Software for 8080 and 6800 available. Power supply is built in, 110V, 60 Hz. 220 V, 50 Hz for export.

AVAILABILITY-90 Days

PROVIDES MONITOR AND TAPE SOFTWARE in ROM TERMINAL and TAPE PORTS on SAME BOARD CONTROLS ONE or TWO TAPE UNITS (CC-8 or 3M3A)

This is a complete 8080, 8085, or Z80 system controller. It provides the terminal I/O (RS232, 20 mA, or TTL) and the data cartridge I/O, plus the motor controlling parallel I/O latches. Two kilobytes of on board ROM provide turn on and go control of your Altair or Imsai. NO MORE BOOTSTRAPPING. Loads and Dumps memory in hex on the terminal, formats tape cartridge files, has word processing and paper tape routines. Best of all, it has the search routines to locate files and records by means of six, five, and four letter strings. Just type in the file name and the recorder and software do the rest. Can be used in the BiSync (IBM), BiPhase (Phase encoded) or NRZ modes with suitable recorders and interfaces.

This is Revision 7 of this controller. This version features 2708 type EPROM's so that you can write your own software or relocate it as desired. One 2708 preprogrammr.d is supplied with the board. A socket is available for the second ROM allowing up to a full 2K of monitor programs.

Fits all SI00 bus computers using 8080 or Z80 MPU's. Requires 2 MHz clock from bus. Cannot be use; with audio cassettes without an interface. Cassette or cartridge inputs are RS232 level. AVAILABILITY-Off the shelf.

OVERSEAS: Export Version 220 volt 50 hz. Write factory or: Megatron-Datameg, 8011 Putzbrunn, Munchen, Germany; Nippon Automation 5-16-7 Shiba, Minato-Ku, Tokyo, Japan; Hobbydata, PACK 20012, Malmo, Sweden; G. Ashbee, 172 Ifield Road, London SW 10-9ag: Trintronics, Ltd., 186 Queen Street W., Toronto, Ontario, Canada; EBASA, Enrique Barges 17, Barcelona 14, Spain; ARIES, 7, rue Saint Phillipe du Roule, 75008 Paris; Microlem 20131, Milano, Italy; Eagle Electric, Capetown, S. Africa.

For U.P.S. delivery, add $3.00 Overseas and air shipments charges collect. N.J. Residents add 5% Sales Tax. WRITE or CALL for further information. Phone Orders on Master Charge and BankAmericard accepted.

Canadian Distributor:

Trintronics Limited

186 Queen Street West

Toronto, Canada MSV IZl

Tel: (416) 598-0262 NATIONAL MULTIPLEX CORPORATION

3474 Rand Avenue, South Plainfield NJ 07080 Box 288 Phone (201) 561-3600 TWX 710-997-9530

Circle 219 on inquiry card.

of characters per dollar (phone, telegrams) etc. A computer based message system overcomes most of these difficulties.

People regularly using such a system rapidly develop a whole new communication style. Most messages are brief, 500 characters or less. Content tends to be much more informal and direct than conventional media such as business letters. Message system users move rapidly toward a computer based personally oriented file system containing messages, distribution lists, text files, etc. The difference is one of kind, not just of degree.

The PCNET Committee is about to start a series of experiments. Wo would welcome people with personal computer systems who would like to participate. We're especially interested in people in the Palo Alto dialing area. We would also be most interested in similar network efforts in other places. We'd like to avoid West Coast chauvinism and want to work closely with people in other parts of the country.

For further information write or call:

Dave Caulkins (415) 328-2411 (work) (415) 948-5753 (home) 437 Mundel Way Los Altos CA 94022

777/5 text was supplied by Dave Fylstra. ■

Adding New Transcendentals to Limited BASICs

Vince A Sempronio PSC^Box 1451 BAFB DC 20332

As an avid reader of your periodical, and a devoted BASIC user, I discover that even the best of the many "tiny" BASICs that have hit the market still lack a few functions which I, as well as others, find useful. What do you do when you need some of the more complex math functions, more specifically the trigonometric functions? Well, if your BASIC has only the TAN (tangent), ATN (arc-tangent), and SQR (square root), most of the trigonometric functions are available

Continued on page 184

o

Put exceptional versatility and control IntovourS-iOObus system with the 'blue boards'...and save money In the

■i

XB1 Extender Board Board Only S9.00 With Connector $13.50

MB4 4K Static RAM (low power) Kit $129.95 Assembled $179.95

MB6A BK Static RAM (low power) Kit $265.00 Assembled $325.00

SB1 Synthesizer Kit Kit $250 00 Assembled $325.00

MB3 2K/4KEPBOM(1702A) Kit less PROM'S $65.00 2K—$105.00/4K—$145.00 Assembled board available

I

16K

UIUIIIIIIIIIIKIIIIIIUIMI

1/02 Interface Board Kit $55.00 Assembled $79.95

MB7 16K Static RAM (low power) Kit $525.00 Assembled $599.95

We're the blue boards!

Compare the Cybercom blue boards with any others on the market today. You'll find exceptional quality plus prompt delivery and significant cost savings. All Cybercom kits are guaranteed 90 days for parts and labor. Contact your local computer hobbyist store or write for details.

Solid State Music

2102A Walsh Avenue, Santa Clara, CA 95050 Telephone (408) 246-2707

A Sampling of Techniques for Computer Performance of Music

Hal Chamberlin 29 Mead St Manchester NH 03104

Computer music is probably one of the most talked about serious applications for home computers. By serious I mean an application that has a degree of complexity and open-endedness which can totally preoccupy experimenters and funded institutions for years. Computer performance of music is a discipline so vast that the final, "best" technique for its implementation or even a good definition of such a technique may never be discovered.

At the same time, computer music is an easy field to break into. With only minimal effort and expenditure a very impressive (to the uninitiated) music performance demonstration may be put together. With a little more work a system may be assembled which is of great value to other family members, particularly children just starting to learn music theory. Such a system could, for example, eliminate manual dexterity as a factor in a child's musical development. Finally, on the highest level, it is no longer very difficult to break into truly original research in serious performance of music by computer. The advances in digital and linear integrated circuits have made putting together the hardware system for supporting such research largely a matter of clever system design rather than brute financial strength. Programming, tempered with musical knowledge, is the real key to obtaining significant results. Thus, in the future, hobbyists working with their own systems will be making important contributions toward advancement of the computer music art.

While the scope of one article cannot

fully cover such an extensive topic, it should serve to acquaint the reader with the more popular techniques, their implementation, strengths, weaknesses, and ultimate potential.

Generally, all computer music performance techniques can be classified into two generic groups. The first includes schemes in which the computer generates the sound directly. The second covers systems where the computer acts as a controller for external sound generation apparatus such as an electronic organ or sound synthesizer.

Early Techniques

Just as soon as standard commercial computers such as the IBM 709 and, later, the 1401 made their appearance, programmers started to do frivolous things with them after hours, such as playing games and music. Since elementary monotonic (one note at a time) music is just a series of tones with different frequencies and durations, and since a computer can be a very precise timing device, it did not take long for these early tinkerers to figure out how to get the machine to play such music. The fundamental concept used was that of a timed loop.

A timed loop is a series of machine language instructions which are carefully chosen for their execution time as well as function, and which are organized into a loop. Some of the instructions implement a counter that controls the number of passes through the loop before exiting.

Let's examine some fundamentaf

62

timed loop relationships. If the sum total execution time of the instructions in the loop is M microseconds then we have a loop frequency of

ertz (cycles per second).

If the initial value of the decrementing counter that controls the number of loop passes is N, then the total execution time before exit from the loop is (MxN) microseconds. Thus what we really have is a "tone" with a frequency of

/106\

ertz

and a duration of

MxN 1q6 seconds.

Using different loops with more or fewer instructions will give us different Ms and thus different notes. Using different Ns when entering these loops gives different durations for the notes, and so we have satisfied the definition of elementary monotonic music.

Of course at this point the computer is merely humming to itself. Several techniques, some of them quite strange, have evolved to make the humming audible to mortals.

One such method that doesn't even require a connection to the computer is to use an AM portable radio tuned to a quiet spot on the broadcast band and held close to the computer. Viola! [Sic] The humming rings forth in loud, relatively clear notes. As a matter of fact, music programs using this form of output were very popular in the "early days" when most small system computers had only 256 bytes of memory and no 10 peripherals except the front panel.

What is actually happening is that the internal logic circuitry with its fast rise time pulses is spewing harmonics that extend up into the broadcast band region of the radio spectrum. Since some logic gates will undoubtedly switch only once per loop iteration, the harmonics of the switching will be separated in frequency by the switching or loop frequency. Those high frequency harmonics that fall within the passband of the radio are treated as a "carrier" and a bunch of equally spaced nearly equal amplitude sidebands. The radio's detector generates an output frequency equal to the common differences of all these sidebands, which is the loop frequency and its harmonics. The timbre of the resuJt/ng tones is altered somewhat by the

( ENTRY j

DURATION COUNT-^ DUR. ARG,

FREQUENCY COUNT-^ FREQ. ARG.

choice of instructions in the loop, but basically has a flat audio spectrum like that of a narrow pulse waveform. Noise and distortion arise from other logic circuitry in the computer which switches erratically with respect to the timed loops. One practical difficulty with this method is there is no clearly identifiable way to get the computer to "shut up" for rests or space between identical notes.

The Hammer-Klavier

Other early methods used some kind of output peripheral to make sound. In a demonstration of an IBM 1401 over a decade ago this was literally true: the computer played a line printer! It seems that the hookup between a 1401 central processing unit and the 1403 printer was such that software had control of the printer hammer timing. Each time a hammer was fired a pulse of sound was emitted upon impact with the paper. Using a timed loop program with a print hammer fire instruction imbedded in the loop gave a raspy but accurately pitched buzz. [It also tended to cause IBM customer engineers great trepidation . . .CH/ This same scheme should also be possible on some of the small, completely software controlled dot matrix printers that are now coming on the market.

A sane approach, however, is to connect a speaker to an output port bit through an amplifier. Instructions would then be placed inside the timed loops to toggle the bit and thus produce a clean, noise-free rectangular wave.

Timed Loop Example

Let's look at an example of a timed loop music playing program, not so much for its musical value (which is negligable), but for some insight into what is involved, and also to introduce some terms. The MOS Technology 6502 microprocessor will be used for these examples. These programs are designed to run on a KIM-1 system, and should run on most other 6502-based systems with very minor modifications. Motorola 6800 users should be able to easily convert the programs into 6800 machine language. 8080 users will benefit most because successful conversion indicates a thorough understanding of the concepts involved.

Figure I: A basic tone generation subroutine. There are two nested loops In this routine: the first, or inner loop controls the frequency (or pitch) of the note to be generated, while the second, outer loop controls the duration of the note. A train of square waves is generated at the output port bit which is used to drive the circuit in figure 2 to produce an audible tone.

DECREMENT FREQUENCY COUNT

PULSE OUTPUT PORT BIT

DECREMENT

DURATION

COUNT

63

Note

Frequency (Hz)

Middle C

261.62

C#

277.18

D

293.66

D#

311.13

E

329.63

F

349.23

F#

369.99

G

391.99

G#

415.30

A

440.00

A#

466.16

B

493.88

Table 1: Equally tempered scale note frequencies in Hertz. In order to determine frequencies of notes in the higher octaves, multiply by 2 for each octave above this one. For lower octaves, divide by 2 for each lower octave.

The heart of the program is the tone generation subroutine which will be named TONE. Ideally, such a routine would accept as input two arguments: one related to the pitch of the note and the other controlling the duration. With such a subroutine available, playing a piece of music amounts to simply fetching the arguments from a "song" table in memory and calling the routine for each note to be played.

As mentioned previously, we could have a separate, carefully timed loop for each different tone frequency needed. TONE would then call the proper one based on the pitch parameter. Indeed this approach is very accurate (to within 1 /us on the 6502) but a great deal of memory is consumed for the 30 or so notes typically required. It also lacks flexibility. (This will be discussed later.) A better approach is to embed a second, waiting loop to control the execution time of one pass through the outer loop, and thus the tone's frequency. Figure 1 is a flowchart illustrating this. When using this scheme, the frequency argument directly determines the number of times through the inner, waiting loop and the duration parameter directly determines the number of times through the outer, tone generation loop.

Now, how are the argument values determined to get the frequencies and durations desired? First the execution time of the nested loops must be determined. In the KIM-I with a 1 MHz clock and a 6502 the tightest inner waiting

+5V 4

OUTPUT PORT BIT t^>

3.3K -VA

2N3638

(OR ALMOST ANY PNP TRANSISTOR)

]^

ANY KIND OF SPEAKER

m

Figure 2: A speaker driver circuit designed to accept square or rectangular waves and produce audible tones through a loudspeaker. In this particular application the circuit is driven from an output port bit of a KIM-I microcomputer, although the circuit can accept any TTL compatible output port bit. When the input to the circuit is a logical 0 level, the transistor turns on and drives the speaker. When the input is a logical I, the transistor turns off and current to the speaker is interrupted.

loop that can be written is 5 ^5, assuming that the inner loop count (frequency argument) is 256 or less and that it is held in a register. The total time spent in the loop is [(5xM)-1]) microseconds, where M is the frequency argument and the -1 is due to the shorter execution time of an unsuccessful branch. (The observant reader will note that the execution time of some 6502 instructions is altered if they cross a memory "page boundary"; thus, an assumption of no page crossing is made.) But there is still the time required for a pass through the outer loop to output a pulse and decrement the duration counter. This is termed "loop overhead." For an example, let's say that the loop overhead is 25 ^is. As a result, the total outer loop time is [(5xM)-1+25],or [(5xM)+24] microseconds which is the period of the audio waveform output. In order to determine the M required for a particular note, a table of note frequencies (see table 1) is consulted. Then the equation.

M=

('iQfi -24^

where F is the desired frequency, is solved for the nearest integer value of M. Lower frequency notes are preferred so that the percentage error incurred due to rounding M is minimized. The duration argument is actually a count of the number of audio tone cycles which are to be generated for the note, and thus its value is dependent on the tone frequency as well as the duration. Its value can be determined from the relation N=DxF, where N is the duration argument, D is the duration in seconds, and F is the note frequency in Hertz.

As a complete example, let's assume that an eighth note G# an octave above middle C is to be played, and that the piece is in 4/4 time with a metronome marking of 80 beats per minute. Since an eighth note in this case is one half of a beat, the duration will be

0.5x60

80

or 0.375 seconds. The note table shows that the frequency of G#an octave above middle C is 830.6 Hz, which yields a frequency argument of 236. The duration argument is 311. So if TONE is called with these parameters, a nice G# eighth note will be produced.

Now let's go a step further and look at a practical "music peripheral" and TONE subroutine. Figure 2 shows a circuit for driving a speaker from any kind of TTL compatible

64

Wave Duty Cycle

Fund

2

3

Harmonics 4 5

6

7

8

9

10

1/2

1.00

0

0.333

0

0.200

0

0.143

0

0.111

0

1/3

1.00

0.500

0

0.250

0.200

0

0.143

0.125

0

0.100

1/4

1.00

0.707

0.333

0

0.162

0.236

0.143

0

0.111

0.141

1/5

1.00

0.841

0.561

0.259

0

0.173

0.240

0.210

0.116

0

1/6

1.00

0.867

0.667

0.433

0.200

0

0.143

0.217

0.222

0.173

Table 2: Harmonic amplitudes of rectangular waves. Note that, unlike square waves, asymmetrical rectangular waves contain even numbered liarmonics. This simple technique of varying the duty cycle of such waves can have an appreciable effect on the timbre of the resulting sound.

output port bit, including those found in the 6530 "combo chips" used in the KIM-I. When the output port bit is a logic 0 level, the transistor turns on and drives a current determined by the volume control setting through the speaker. When the bit is a logic 1, the current is interrupted. Larger speakers or even a high fidelity speaker system will give a richer timbre to the lower pitched tones. The AUX input to a sound system may also be used instead of the transistor circuit. Using a patch cord, connect the shield to the common terminal of the power supply and the center conductor to the output port bit through a 10 K to 100 K isolation resistor.

Listing 1 shows an assembled listing of a practical timed loop tone generation subroutine for the 6502 microprocessor. Several refinements beyond the flowcharted example have been made to improve tone quality and flexibility. The inner waiting loop has been split into two loops. The first loop determines the length of time that the output rectangular waveform is to be a logic 1 and the second loop determines the 0 time. If both loops receive the same frequency argument (which they do as written) and the loop time of both loops is the same, then a symmetrical square wave output is produced. However, if one or more "do nothing" instructions is inserted into one of the two loops, the output waveform will become nonsymmetrical. The significance of this is that the rectangular waveform's duty cycle affects its harmonic spectrum, and thus its timbre. In particular, there is a large audible difference between a 50%-50% duty cycle (square wave) and a 25%-75% duty cycle. Table 2 lists the harmonic structure of some possible rectangular waves. As a result, some control over the timbre can be exercised if a separate TONE subroutine is written for each "voice" desired. Unfortunately, if this is done the frequency arguments will have to be recom

puted since the outer loop time will then be altered.

Real music also possesses dynamics, which are the changes in overall volume during a performance. Furthermore, the amplitude envelope of a tone is an important contributor to its overall subjective timbre. The latter term refers to rapid changes in volume during a single note. This is the case with a piano note, which builds up rapidly at the beginning and slowly trails off thereafter. Of course the setup described thus far has no control over either of these parameters: the volume level is constant, and the envelope of each note is rectangular with sudden onset and termination.

1700

MPORT

=

X'1700

OOEO

DUR

=

X'EO

0100

A2FF

TONE:

LDX

ffX'FF

0102

8E0017

STX

MPORT

0105

AA

TAX

0106

CA

WHICH:

DEX

0107

DOFD

BNE

WHIGH

0109

FOOO

BEQ

.+2

OlOB

FOOO

BEQ

.+2

OlOD

FOOO

BEQ

.+2

OlOF

FOOO

BEQ

.+2

0111

FOOO

BEQ

.+2

0113

A200

LDX

110

0115

8E0017

STX

MPORT

0118

AA

TAX

0119

CA

WLOW:

DEX

OllA

DOFD

BNE

WLOW

one

C6E0

DEC

DUR

OllE

D005

BNE

TIMWAS

0120

C6E1

DEC

DUR+1

0122

DO DC

BNE

TONE

0121

60

RTS

0125

FOOO

TIMWAS:

BEQ

.+2

0127

FOOO

BEQ

.+2

0129

D0D5

BNE

TONE

TONE SUBROUTINE FOR 6502

ENTER WITH FREQUENCY PARAMETER IN ACCUMULATOR

DURATION PARAMETER STORED AT LOCATION DUR (LOW PART) AND

DUR+1 (HIGH PART) WHICH IS ASSUMED TO BE IN PAGE ZERO

ROUTINE USES A, X, AND DESTROYS DUR

LOOP TIME = 10«(FREQ PARAMETER)+114 MICROSECONDS

ADDRESS OF OUTPUT PORT WITH SPEAKER ARBITRARY PAGE 0 ADDRESS OF DURATION PARM

SEND ALL I'S TO THE OUTPUT PORT

TRANSFER FREQ PARAMETER TO INDEX X WAIT LOOP FOR WAVEFORM HIGH TIME TIME IN THIS LOOP = 5«FHEQ PARAMETER WAIT 15 STATES TO MATCH TIME USED TO DECREMENT AND CHECK DURATION COUNT AFTER WAVEFORM LOW TIME

SEND ALL O'S TO THE OUTPUT PORT

TRANSFER FREQ PARAMETER TO INDEX X WAIT LOOP FOR WAVEFORM LOW TIME TIME IN THIS LOOP = 5»FREQ PARAMETER DECREMENT LOW PART OF DURATION COUNT BRANCH IF NOT RUN OUT DECREMENT HIGH PART OF DURATION COUNT GO DO ANOTHER CYCLE OF THE TONE IF NOT 0 RETURN WHEN DURATION COUNT RUNS OUT WASTE 7 CYCLES TO EQUAL TIME THAT WOULD HAVE BEEN SPENT IF HIGH PART OF DUR WAS DECREMENTED AND GO DO ANOTHER CYCLE

Listing I: An assembled listing of a practical timed loop tone generation subroutine for the 6502 microprocessor. This routine is an elaboration of the flowchart shown in figure I which allows the user to generate nonsymmetrical rectangular waves. Experimenting with the wave's duty cycle affects the harmonic content of the resulting tone and creates many interesting aural effects.

65

By graduating to a more sophisticated music periplieral, control of dynamics and amplitude envelopes can be achieved with a timed loop music program. The secret is to use a digital to analog converter connected to all eight bits of the output port. A digital to analog converter (DAC) does just what its name implies: it accepts a binary number from the output port as input and generates a corresponding DC voltage as its output.

BIT 7 [^>(MSB)

BIT 6 I ^

ICI 4050

BIT 5 I ^

BIT 4 I ^

BIT 3 I 'y

BIT 2 I ^ BIT I [^>

BIT 0 I ^

(LSB)

+ 5V

IC2 4050

lOOfl

—vv^—

^e

2Z0uF 6V

47K

47K

47K

47K

47K -Vl/V

47K -AAA—

47K -AAA/

47K 47K

6 47K 47K 47K 47K

390K

820K _A>AAr

I 6M —^AA^

ANALOG OUTPUT

NOTE: ABOVE RESISTORS MUST BE 5% CARBON FILM TYPES. 47K SHOULD BE FROM THE SAME BATCH

Figure 3: An 8 bit digital to analog converter (DAC). This circuit accepts an 8 bit binary number from the output port and generates a corresponding DC voltage as its output. The output voltage from this circuit is equal to ((1/255)x5) V, where I is the decimal equivalent of the 8 bit input which can take on any value from 0 to 225.

The circuit in figure 3, which can be used with any TTL compatible output port, gives an output voltage

V=

I

^255

1x5

where I is the binary number input between 0 and 255. When working with this kind of DAC, it is convenient to regard the binary number, I, as a fraction between 0 and 1 rather than an integer. The benefit of this will become apparent later when calculations will be performed to arrive at the value of I. The output of the DAC must be used with a sound system or the amplifier circuit in figure 8, not the simple transistor speaker driver circuit in figure 2.

As written, the TONE subroutine (see listing 1) alternately sends 0 and 255 to the output port with the music peripheral. With a DAC connected to that port, voltages of 0 and 5 V will be produced for the low and high portions of the rectangular wave. If instead 0 and 127 were output, the DAC would produce only 0 and 2.5 V giving a rectangular wave with about half the amplitude. This in turn produces a less loud tone, and so control over dynamics is possible by altering the byte stored at hexadecimal 101.

Arbitrary amplitude envelopes are also made possible by continuously exercising control over the amplitude during a note. Simple envelope shapes such as a linear attack and decay can be computed in line while the note is being sounded. A more general method is to build a table in memory describing the shape. Such a table can be quickly referenced during note playing. Great care must be taken, however, to insure that loop timing is kept stable when the additional instructions necessary to implement amplitude envelopes are added.

More Complex Techniques

Even if all of the improvements mentioned above were fully implemented, the elementary timed loop approach falls far short of significant musical potential. The primary limitations are a narrow range of tone colors and restriction to monotonic performance. The latter difficulty may be alleviated through the use of a multitrack tape recorder to combine separate parts, but this requires an investment in noncomputer hardware and is certainly not automatic. Also, unpitched percussive sounds such as drum beats are generally not possible. Musicians, too, will probably notice a host of other limitations such as lack of vibrato and

66

The complete $655 line printer.

It's ready to plug in, has an 80-column

format, a remarkable MTBF and is

14 times faster than a teletype!

Breaking the hardcopy barrier

It's finally happened! The Axiom EX-800 provides full performance hardcopy at a price compatible with today's low cost micros. This little 80-column machine zips along at 160 characters per second (14 times faster than a teletype) —at a breakthrough single quantity price of $655 for a complete printer.

Wiien we say complete we mean it

The EX-800 is a stand-alone unit with case, power supply, 96 character ASCII generator and interface, paper roll holder, infra-red low paper detector, bell, and multi-line asynchronous input buffer You won't find these standard features on any other printer, regardless of price!

Our only option

Our printer is so complete, that we offer only one option. A serial interface (RS 232C or current loop) good for 16 baud rates from 50 to 19,200 and thoughtfully provided with a switch for either Centronics or Tally compatibility. Might we call it a Tallywhacker? At $85.00 it certainly should be!

Built-in LSI microprocessor

The heart of the EX-8001 is a printed circuit card, containing a '

custom LSI chip made by Intel to Axiom specifications, which controls all printer functions. Microprocessor power means flexibility. Such as the built-in self test routine and variable

&smm

character size. It also means reliability. Several industry surveys have shown LSI to be many times more reliable than equivalent conventional circuitry.

the paper is inexpensive and readily available, costing about 10 for an 8^2 X 11" equivalent.

Light, small, quiet, reliable, and versatile

Our EX-800 weighs in at 12 pounds, is just 91/2 inches wide, 4 inches high, and 11 inches deep, and is delightfully quiet which makes it ideal for office and other low noise environments. The simple print mechanism is virtually maintenance free. In fact, tests show an incredible MTBF, many times greater than impact printers. This versatile printer is the ideal mate for micros, minis, CRTs, instruments and systems.

yV i y i ctii t L iJi :eb LEV | i i^ • ^ i. V _uQii pU i el i L iJ

The advantages of electrosensitive printing

The EX-800 can print 80, 40, or 20 characters across the five inch wide electrosensitive paper Under software control, single characters or words may be printed larger for emphasis. The permanence of the hardcopy is archival, because once the aluminum coating has been removed, there is no way to put it back. It's unaffected by sunlight, moisture or heat. Although the printer doesn't provide multiple copies, excellent quality photocopies can be made from the high contrast printout. Also,

Just unbox and plug it in

That's all you have to do to the Axiom EX-800 — apart from pay for it, and at $655 that's almost a pleasure.

Circle 221 on inquiry card.

AXIOM CORPORATION

5932 San Fernando Rd., Glendale, CA 91202 • (213) 245-9244 • TWX 910-497-2283

I I I I I I I I ■ I

L

Send to:

5932 San Fernando Rd.,

Glendale, CA 91202

□ Urgent. Please phone me at ext

□ Have rep contact me

□ I'd like to have a demonstration

□ Send lit including sample of printout

Name

Company _ Depl

Address _.

City_ Zip

-State

_ Telephone _

1.0 I.I 1.2

TIME ImS)

Figure 4: A sine wave as it would appear at the output from the digital to analog converter shown in figure 3. Each step in the approximation of this wave is called a sample. This particular illustration shows a 1.2 kHz sine wave sampled at a rate of 25,000 samples per second. The resulting waveform is only a very rough approximation of the original, but low pass filtering can improve accuracy (see figure 5 and text).

other subtle variations. All of these shortcomings may be overcome by allowing the computer to compute the entire sound waveform in detail at its own speed.

The one fundamental concept that makes direct waveform computation possible is the sampling theorem. Any waveform, no matter how simple or complex, can be reconstructed from a rapid series of discrete, voltage values by means of a digital to analog converter such as the one used earlier. As an example, let's try to generate an accurate sine wave using a DAC. If this can be done, it follows from the Fourier (harmonic) theorem that any other waveform may also be synthesized.

Figure 4 shows a sine wave as it would appear at the DAC output. Each step on the approximation to the sine wave is termed a sample, and the frequency with which these samples emerge from the DAC is the sample rate. An attempt is being made in the example to generate a 1.2 kHz sine wave at a sample rate of 25 kHz, or one sample every 40 /MS. Obviously this is a very poor sine wave, a fact that can be easily demonstrated with a distortion analyzer.

Before giving up, let's look at the frequency spectrum of this staircase-like wave on a spectrum analyzer. The spectral plot in figure 5 shows a strong frequency component at 1.2 kHz which is the sine wave we are trying to synthesize. Also present are the distortion component frequencies due

to the sampling process. Since all of the distortion components are much higher in frequency than the desired signal, they may be easily removed with a sharp low pass filter. After filtering, the distortion analyzer will confirm that a smooth, pure sine wave is all that remains.

What will happen if the sine wave frequency is increased but the sampling frequency remains constant? With even fewer samples on each sine wave cycle the waveform from the DAC will appear even more distorted. The lowest frequency distortion product is the one of concern since it is the most difficult to filter out. Its frequency is FD=(FS-f) Hertz, where FD is the lowest distortion component frequency, FS is the sampling frequency, and f is the sine wave signal frequency. Thus as f increases, FD decreases until they merge at f=FS/2. This frequency is termed the Nyquist frequency and is the highest theoretical frequency that may be synthesized. Any attempt to synthesize a higher frequency will result in the desired signal being filtered out and the distortion frequency emerging instead. This situation is termed aliasing because the desired signal frequency has been replaced by a distortion component alias frequency. Operating close to the Nyquist frequency requires a very sharp filter to separate the signal from the distortion. With practical filters, signal frequencies up to 1/4 to 1/3 of the sampling frequency are realizable.

68

„ -5

2

< -15

LOW-PASS FILTER N^ ^RESPONSE

0 \ 5 I 2

20 fZ5\ 30 35

23.8 26.2

FREQUENCY (KHz)

45 / 50 \ 55 60

48 8 51 2

Figure 5: The spectra/ p/ot of the staircase-like sine wave approximation shown In figure 4. This frequency versus amplitude graph indicates a strong frequency component at 1.2 kHz, the frequency of the sine wave. Normally, this would be the only frequency component to appear on a plot like this, but the presence of steeply rising steps in this waveform approximation Introduces distortion components at higher frequencies, as shown.

Since any sound, whether it is a pitched tone or unpitched sound, is actually a combination of sine waves, it follows that any possible sound may be produced by a DAC. The only limitation is the upper frequency response, which may be made as high as desired by increasing the sample rate. The low frequency response has no limit, and extends down to DC.

There is another form of distortion in DAC generated sounds which cannot be filtered out, since it is spread throughout the frequency spectrum. Quantization noise is due to the fact that a DAC cannot generate voltages that are exact samples on the desired waveform. An 8 bit converter, for example, has only 256 possible output voltage values. When a particular voltage is needed, the nearest available value will have to be used. The theoretical signal to noise ratio when using a perfect DAC is related to the number of bits by the equation S/N= (6xM)+4 decibels where M is the number of bits. A practical DAC may be as much as 6 db worse, but a cheap 8 bit unit can yield nearly 50 db, which is as good as many tape recorders. When using 12 bits or more, the DAC will outperform even the best professional recorders. Thus it is apparent that computed waveforms can, in theory, be used to generate very high quality music; so high, in fact, that conventional audio equipment is hard pressed to reproduce it.

Now that we have the tools, let's see how the limitations of computer music mentioned earlier can be overcome. For tones of definite pitch, the timbre is determined by the waveshape and the amplitude envelope. Concentrating on the waveshape, it should be apparent that a waveform table in memory repeatedly dumped into the DAC

will produce an equivalent sound waveform. Each table entry becomes a sample, and the entire table represents one cycle of the waveform. The frequency of the resulting tone will be FS/N where FS is the sampling frequency (rate at which table entries are sent to the DAC) and N is the number of entries in the table. To get other frequencies, either the sample rate or the number of table entries must be changed.

There are a number of reasons why the sample rate should remain constant, so the answer is to change the effective table length. If the table dump routine were modified to skip every other entry, the result would be an effective halving of table size and thus doubling of the tone frequency. If the table is fairly long, such as 256 entries, a number of frequencies are possible by skipping an integer number of entries.

To get musically accurate frequencies, it is necessary to be able to skip a fractional number of table entries. At this point the concept of a table increment is helpful in dealing with programming such an operation. First, the table is visualized as a circle with the first entry conceptually following the last as in figure 6. A pointer locates a point along the circular table which represents the sample last sent to the DAC. To find what should be sent to the DAC next, the table pointer is moved clockwise a distance equal to the table increment. The frequency of the resulting tone is now

FSxl

N

where FS and N are as before and I is the increment.

69

Figure 6: Diagrammatic representation of tiie circular table used for storing the waveform "template. " The technique illustrated here is that of storing a large number of samples of one cycle of a musical waveform in memory as a table which wraps around Itself in circular fashion. A pointer is used to point to the next sample to be extracted. In order to create a waveform with a given frequency, the program is designed to skip a fractional number of table entries to get the next sample value. This fractional number is called the table increment value. The process is continued around the table for one revolution to create a complete waveform. The cycle around the table is repeated until the duration counter decrements to zero.

With integer increments, tiie pointer always points squarely to an entry. VVitli mixed number increments, the pointer also will take on a fractional part. The sensible thing to do is to interpolate between the table entries on either side of the pointer to arrive at an accurate value to give to the DAC. This is indeed necessary to assure high quality; but simply choosing the nearest entry may be acceptable in some cases, particularly if the table is very large.

There is one elusive pitfall In this technique. The table may contain the tabulation of any waveform desired, subject to one limitation: a nonzero harmonic component of the waveform must not exceed the Nyquist frequency, FS/2. This can easily happen with the larger table increments (higher frequency tones), the result being aliasing of the upper harmonics. Theoretically this is a severe limitation. Often a small amount of aliasing is not objectionable, but

a large amount sounds like gross intermodulation distortion. High sample rates reduce the possibility or magnitude of aliasing, but of course require more computation. For the moment, we will ignore this problem and restrict ourselves to relatively smooth waveforms without a lot of high frequency harmonics.

Now that the DAC is used for generating the actual waveshape, how is amplitude control accomplished? If an amplitude parameter is defined that ranges between 0 and 1.0 (corresponding to amplitudes between zero and maximum), the desired result is obtained by simply multiplying each sample from the table by this amplitude parameter and sending the product to the DAC. Things are nice and consistent if the table entries are also considered as fractions between -1 and -1-1 because then the product has a range between -1 and +1 which is directly compatible with the DAC. (Note that the DAC in figure 3 is unipolar. It can be considered bipolar if+2.5 V output is the zero reference and the sign bit is inverted.)

The last major hurdle is the generation of simultaneous tones. Obviously, two simultaneous tones may be generated by going through two tables, outputting to two separate DACs, and mixing the results with an audio mixer. This is relatively simple to do if the sample rates of the two tones are the same. Actually, all the audio mixer does is to add the two input voltages together to produce its output, but a very important realization is that the addition can also be done in the computer before the output conversion by the DAC! The two samples are simply added together with an ADD instruction, the sum is divided by two (to constrain it to the range of -1 to +1), and the result sent to a single DAC. This holds true for any number of simultaneous tones! The only requirement is that the composite samples not overflow the-1 to-i-1 range that the DAC can accept. Rather than dividing the sum, it is best to adjust the amplitude factors of the individual "voices" to prevent overflow. So now we have the tools necesary to generate an ensemble of tones, each one possibly having its own waveform, amplitude envelope, and loudness relative to the others. Indeed, this is all that is necessary to simulate a typical organ.

Up to this point the timbre (waveform) of a tone has been determined by the contents of a fixed waveform table. Truly interesting musical notes change their timbre during the duration of the note. A reasonable alternative to switching between similar tables for implementing this is to build the tone from harmonic components. Each harmonic component of the tone is simply

70

your/

mem ■ o ■ rv/"mem-(a)re/n, a: the power or process of reproducing or recalling what has been learned and retained esp, through associative mechanisms

b: the store of things learned and retained from an organism's activity or experience as evidenced by modification of structure or behavior or by recall and recognition.

There cire oaIi| 2 type/ off memori|« your/ onclour/.

Our/i/the

fl f ulli| /totic, /telle

of the art RMn

fSAA Fully ci//emblecl. #9 V #• burned in oncl le/lecl

Addressable in 4K blocks at any sftf % 4K border by dip switch... as if you had 4 individual 4K static boards

Memory write protect and

memoiv disoble (phantom] are

controitable in 4K blocks by

dip switch

The state of the art

TMS-4044(4K by 1 bit) fully

static RAM by

Texos Instruments

"definition according to Webstets New \Atorld Diclranofy

Single -t-8 voltpowerrequirement 4 independent 7805 voltage regulators, one for each 4K block. Typical worst case power dissipation is less than 2 amps

Circle 222 on inquiry card.

The all popular S100 bus,..

The 16K SPACE BYTE is fully

compatible with the VECTOR -1.

ALTAIR. SOL-20, IMSAI. POLY-B8,

Z-80, COMPAL-80. and AM-100

(DMA DISK]

THE SPACE BYTC CORPORATION 1720 Pontius Ave. Suite 201 Los Angeles. CA 90025 (213)468-8080

Listing 2: A program which, in conjunction with tables 3, 4 and 5, generates four simultaneous musical voices, each with a different waveform and volume level. The program is designed for use with the 6502 processor coupled to an 8 bit unsigned digital to analog converter (DAC) lil^e the one shown in figure 3.

1700

1701

1780

1C22

0000

00

0001

0000

0003

00

ooon

0000

0006

00

0007

0000

0009

00

OOOA

0000

oooc

0000

OOOE

0000

0010

0000

0012

0000

OOlll

00

0015

0000

0017

0002

0019

0000

OOIB

ocoo

OOID

5200

0100

0100 0102 0105 0106 0108 OlOA OlOC OlOE 0110 0112 0111 0116 0118 OllA

one

OllE 0120 0122 0124 0126 0127 0129 012B 012D 012F 0131 0133 0135 0137 0139 013B 013D 013F 0112

A9FF

8D0117

D8

A517

8515

A518

8516

AOOO

A51B

8519

B115

F03C

C901

F029

8511

E615

D002

E616

B115

AA

B520

9119

E619

B51F

9119

E615

D002

E616

E619

A519

C911

D0E5

205701

1C0E01

0115 C8

0116 B115

0118 18

0119 C8 011A B115 one 8516 011E 68 011F 8515 0151 1C0E01

0151 1e221C

DAC DAODIR AUXRAM KIMMON

VIPT:

V2PT:

V3PT:

VIPT:

V1IN V2IN V3IN VI IN

DUR:

NOTES SONGA INCPT INCA: TEMPO

MUSIC3:

THIS PROGRAM PLAYS MUSIC IN 1-PART HARMONY ON THE KIM-1 OR

OTHER 6502 BASED SYSTEM USING AN B-BIT UNSIGNED

DIGITAL-TO-ANALOG CONVERTER CONNECTED TO AN OUTPUT PORT. TUNED

FOR SYSTEMS WITH A 1 MHZ CRYSTAL eLOCK, DOES NOT USE THE ROR

INSTRUCTION.

SONG TABLE IS AT "SONG"

ENTRY POINT IS AT "MUSIC"

X'1700 X'1701 X'1780 X'1C22

.WORD WAV 1TB

.BYTE 0

.WORD WAV2TB

.BYTE 0

.WORD WAV3TB

.BYTE 0

.WORD WAV1TB

.WORD 0

.WORD 0

.WORD 0

.WORD 0

.BYTE .WORD

.WORD SONG

.WORD 0

.WORD VI IN

.WORD 82

ORG AT PAGE 0 LOCATION 0

OUTPUT PORT ADDRESS WITH DAC DATA DRIECTION REGISTER FOR DAC PORT ADDRESS OF EXTRA 128 BYTES OF BAM IN 6530 ENTRY POINT TO KIM KEYBOARD MONITOR

VOICE 1 WAVE POINTER, FRACTIONAL PART INTEGER PART AND WAVE TABLE BASE VOICE 2

VOICE 3

VOICE 1

VOICE 1 INCREMENT (FREQUENCY PARAMETER) VOICE 2 VOICE 3 VOICE 1

DURATION COUNTER

NOTES POINTER

ADDRESS OF SONG

POINTER FOR LOADING UP VINT - VINT

INITIAL VALUE OF INCPT

TEMPO CONTROL VALUE, TYPICAL VALUE FOR

3:1 TIME, 100 BEATS PER MINUTE, DUR=61

DESIGNATES A QUARTER NOTE

START PROGRAM CODE AT LOCATION 0100

MAIN MUSIC PLAYING PROGRAM

LDA STA OLD LDA STA LDA STA LDY LDA STA LDA BEQ CMP BEQ STA INC BNE INC LDA TAX LDA STA INC LDA STA INC BNE INC INC LDA CMP BNE JSR JMP

I NY LDA PHA INY LDA STA PLA STA JMP

ffX'FF DACDIR

SONGA

NOTES

SONGA*1

NOTES+1

#0

INCA

INCPT

(NOTES),Y

ENDSNG

#1

NXTSEG

DUR

NOTES

MUSIC3

NOTES+1

(NOTES),Y

FRQTAB+1,X

(INCPT),Y

INCPT

FRQTAB.X

(INCPT),Y

NOTES

MUSICl

NOTES+1

INCPT

INCPT

//V1IN+2

MIISIC3

PLAY

MUSICl

(NOTES),Y

(NOTES),Y NOTES+1

NOTES MUSICl

SET PERIPHERAL A DATA DIRECTION REGISTER TO OUTPUT INSURE BINARY ARITHMETIC INITIALIZE NOTES POINTER TO BEGINNING OF SONG

SET UP TO TRANSLATE 1 NOTE ID NUMBERS

INTO FREQUENCY DETERMINING WAVEFORM TABLE

INCREMENTS AND STORE IN VI IN - VlIN

GET DURATION FIRST

BRANCH IF END OF SONG

TEST IF END OF SONG TABLE SEGMENT

BRANCH IF SO

OTHERWOSE SAVE DURATION IN DUR

DOUBLE INCREMENT NOTES TO POINT TO THE

NOTE ID OF THE FIRST VOICE

GET A NOTE ID NUMBER

INTO INDEX X

GET LOW BYTE OF CORRESPONDING FREQUENCY

STORE INTO LOW BYTE OF VOICE INCREMENT

INDEX TO HIGH BYTE

GET HIGH BYTE OF FREQUENCY

STORE INTO HIGH BYTE OF VOICE INCREMENT

DOUBLE INCREMENT NOTES TO POINT TO THE

NOTE ID OF THE NEXT VOICE

INDEX TO NEXT VOICE INCREMENT TEST IF 1 VOICE INCREMENTS DONE

LOOP IF NOT

PLAY THIS GROUP OF NOTES

GO LOAD UP NEXT SET OF NOTES

END OF SEGMENT, NEXT TWO BYTES POINT TO BEGINNING OF THE NEXT SEGMENT

GET BOTH SEGMENT ADDRESS BYTES

THEN STORE IN NOTES POINTER

GO START INTERPRETING NEW SEGMENTT

ENDSNG: JMP

END OF SONG, RETURN TO MONITOR

1 VOICE PLAY SUBROUTINE

a sine wave with an amplituiJe (dependent on tlie waveform of tine resulting tone. Giving a (different amplitude envelope to each harmonic is equivalent to smoothly changing the timbre during the note. The aliasing problem mentioned earlier can also be solved by simply omitting any harmonics that become too high in frequency.

Dynamic timbre variation can also be accomplished by a digital filter which does the same thing to a sampled waveform that a real inductance-capacitance filter does to a normal waveform. A digital filter is simply a subroutine which accepts a sample value as an argument and gives back a sample value which represents the filtered output. The equations used in the subroutine determine the filter type, and other arguments determine the cutoff frequency, Q, etc. This is a fascinating subject which deserves its own article.

What about other, unpitched sounds? They too can be handled with a few simple techniques. Most sounds in this category are based in part on random noise. In sampled form, random white noise with a uniform frequency spectrum is simply a stream of random numbers. For example, a fairly realistic snare drum sound may be generated by simply giving the proper amplitude envelope to pure white noise. Other types of drum sounds may be generated by using a digital filter to shape the frequency spectrum of the noise. A resonant type of digital filter would be used for tomtoms and similar semipitched drums, for example. A high pass filter is useful for simulating brush and cymbal sounds. An infinite number of variations are possible. This is one area where direct computation of sound waveforms really shines.

The sampling theorem works both ways also. Any waveform may be converted into digital samples with an analog to digital converter (ADC) with no loss of information. The only requirement is that the signal being sampled have no frequency components higher than half of the sampling frequency. This may be accomplished by passing the signal to be digitized through a sharp low pass filter prior to presenting it to the ADC. Once sound is in digitized form, literally anything may be done to it. A simple (in concept) application is intricate editing of the sound with a graphic . display, light pen and large capacity disk. The sound may be analyzed into harmonic components and the result or a transformation of it applied to a synthesized sound. Again, this is an area that deserves its own article.

72

Applicotion Software!

t «M

BASIC

SOFJVVARE LIBRARV

You can buy software from anybody

but ours works in your system.

We only sell one product, Quality.

We have been in business for over nine years building a reputation for providing a quality product at nominal prices — NOT what the traffic will bear. Our software is:

• Versatile — as most programs allow for multiple modes of operation.

• Tutorial — as each program is self prompting and leads you through the program (most have very detailed instructions contained right in their source code).

• Comprehensive — as an example our PSD program not only computes Power Spectral Densities but also includes FFT's, Inverse-transforms, Windowing, Sliding Windows, simultaneous FFT's variable data sizes, etc. and as a last word our software is:

• Readable — as all of our programs are reproduced full size for ease in reading.

• Virtually Machine Independent — these programs are written in a subset of Dartmouth Basic but are not oriented for any one particular system. Just in case your Basic might not use one of our functions we have included an appendix in Volume V which gives conversion algorithms for 19 differ

ent Basic's; thats right, just look it up and make the substitution for your particular version. If you would like to convert your favorite program in to Fortran or APL or any other language, the appendix in Volume II will define the statements and their parameters as used in our programs. Over 85% of our programs in the first five volumes will execute in most 8K Basic's with 16K of free user RAM. If you only have 4K Basic, because of its' lack of string functions only about 60% of our programs in Volumes I thru V would be useable, however they should execute in only 8K of user RAM.

Future additions:

Soon to be releasedl A "fantastic" word processing package set up for lawyers, publishers and writers; and a Medical Billing system which will also allow a patients record to be individually scanned. AND there are f-umors that a 12K chess game, in Basic, will also be released.

Volumes VI and VII available on our Firmware System.

Vol. 1 - $24.95

Vol. Ill - $39.95

Bookkeeping

Advanced Business

Games

Billing, Inventory

Pictures

Investments

Payroll

Vol. II - $24.95

Vol. IV - $9.95

Math/Engineering

General Purpose

Plotting/Statistics

Basic Statement

Vol. V - $9.95

Def.

Experimenter's

Program

®

SCIENTIFIC RESEARCH

1712-B Farmington Court, Crofton, MD 21114

Phone orders call (800) 638-9194

Information and Maryland residents call (301)721-1148

Add $1.50 per volume tiandllng, all domestic stilpments sent U.P.S. except APO and P.O. Box wtilcti go parcel post. Foreign orders add $8.00/volume for air shipment and make payable In U.S. dollars only.

AVAILABLE AT MOST COMPUTER STORES

Master Charge and Bank Amerlcard accepted.

Our Software is copyrighted and may not be reproduced or sold.

Listing 2, continued:

0157 AOOO 0159 A61D

015B 015C 015E 0160 0162 01611 0167 0169 016B 016D 016F 0171 0173 0175 0177 0179 017B 017D 017F 0181 0183 0185 0187 0169 018B 018D 018F 0191 0193 0195 0197 0198 019A 019C 019E OlAO 01A2 01 AH 01A6 01A8 OlAA

18

8101

7101

7107

710A

8D0017

fl500

650C

8500

A501

650D

8501

A503

650E

8503

A501

650F

8501

A506

6510

8506

A507

6511

8507

A509

6512

8509

A50A

6513

850A

CA

D008

C611

FOOC

A61D

D0B9

DOOO

DOOO

DOOO

D0B1

60

LDY LDX

CLC LDA ADC ADC ADC ST A LDA ADC STA LDA ADC STA LDA ADC STA LDA ADC STA LDA ADC STA LDA ADC STA LDA ADC STA LDA ADC STA DEX BNE DEC BEQ LDX BNE BNE BNE BNE BNE RTS

#0 TEMPO

(V1PT+1),Y

(V2PT+1),Y

(V3PT*1),Y

CV1PT-tl),Y

X'1700

VIPT

V1IN

VIPT

V1PT+1

VlINtI

V1PT+1

V2PT

V2IN

V2PT

V2PT+1

V2IN+1

V2PT+1

V3PT

V3IN

V3PT

V3PT-fl

V31N+1

V3PT+1

VIPT

V1IN

VIPT

V1PT+1

V1IN+1

VIPTtl

TIMWAS

DUF

ENDNOT

TEMPO

PLAY1

.■f2

.+2

.t2 PLAYl

SET Y TO ZERO FOH STHAIGHT INDIRECT

SET X TO TEMPO COUNT

COMPUTE AND OUIPUT A COMPOSITE SAMPLE

CLEAR CARRY

ADD UP 1 VOICE SAMPLES

USING INDIRECT ADDRESSING THROUGH VOICE

POINTERS INTO WAVEFORM TABLES

STRAIGHT INDIRECT WHEN i INDEX = 0

SEND SUM TO LIGITAL-10-ANALOG CONVERTER

ADD INCREMENTS TO rOINTERS FOR

THE 1 VOICES

FIRST FRACTIONAL PARI

THEN INTEGER PART VOICE 2

VOICE 1

DECREMENT S CHECK TEMPO COUNT

BRANCH TO TIME WASTE IF NOT RUN OUT

DECREMENT 4 CHECK DURATION COUNTER

JUMP OUT IF END OF NOTE

RESTORE TEMPO COUNT

CONTINUE PLAYING

3 WASTE 12 STATES

3

3

3 CONTINUE PLAYING

RETURN

TOTAL LOOP TIME = HI SIATES = 8770 HZ

DEFINE BEGINNING ADDRESS OF SONG TABLE

FOR IHIRD PART

Sampled Waveform Example

It should be obvious by now that while these sampled waveform techniques are completely general and capable of high quality, there can be a great deal of computation required. Even the most powerful computers in existence would be hard pressed to compute samples for a significant piece of music with many voices and all subtleties implemented at a rate fast enough for direct output to a DAC and speaker. Typically the samples are computed at whatever rate the program runs and are saved on a mass storage device. Alter the piece has been "computed," a playback program retrieves the samples and sends them to the DAC at a uniform high rate.

Most microprocessors are fast enough to do a limited amount of sampled waveform computation in real time. The 6502 is one of the best 8 bit machines in this capacity due to its indexed and indirect addressing modes and its overall high speed. The example program shown in listing 2 has the inherent capability to generate four simul

taneous voices, each with a different waveform and volume level. In order to make the whole thing fit in a basic KIM-1, however, only one waveform table is actually used.

This program could probably be considered as a variation of the timed loop technique, since the sample rate is determined by the execution time of a particular loop. The major differences are that all of the instructions in the loop perform an essential function and that the loop time is constant regardless of the notes being played. Using the program as shown on a full speed (1.0 MHz) 6502 gives a sample rate of 8.77 kHz, which results in a useful upper frequency limit of 3 kHz. The low pass filter in figure 7 coupled with the DAC in figure 3 and audio system or amplifier in figure 8 are all the specialized hardware necessary to run the program with full 4 part harmony.

The program consists of two major routines: MUSIC and PLAY. MUSIC steps through the list of notes in the song table and sets up DUR and VI IN thru V4IN for the PLAY routine. PLAY simultaneously plays the four notes specified by VI IN thru V4IN for the time period specified by DUR. Another variable, TEMPO, in page zero controls the overall tempo of the music independently of the durations specified in the song table. The waveform tables for the four voices are located at WAV1TB thru WAV4TB and require 256 bytes (one memory page) each. The actual waveform samples stored in the table have already been scaled so that when four of them are added up there is no possibility of overflow.

The song table has an entry for each musical "event" in the piece. An entry requires five bytes, the first of which is a duration parameter. By suitable choice of the TEMPO parameter in page 0, "round" (in the binary sense) numbers may be used for duration parameters of common note durations. A duration parameter of 0 signals the end of the song, in which case the program returns to the monitor. A duration parameter of 1 is used to specify a break in the sequential flow of the song table. In this case the next two bytes point to the continuation of the table elsewhere in memory. This feature was necessary to deal with the fragmented memory of the KIM-1, but has other uses as well. All other possible duration values are taken literally and are followed by four bytes which identify the notes to be played by each voice. Each note ID points to a location in the note frequency table which in turn contains a 2 byte frequency parameter for that note which is placed in VI IN thru V4IN.

The PLAY routine is optimized for speed,

74

Det on Quay microcomputers, components, and software^

They're winners.

/ & cP V^ rTv

III «*»s

II

gim 11

liiiij iiiiiiiimiiij

lUlUllllMiii 11

«*C3, '

Def 1. Quay 80AI.-CPU, monitor I/O. For beginners, Quay 80AI is o sure rining. Ir's q stand alone microcompurer in o kir. Assemble ir. Plug ir into your power supply. Hook on o rerminol. And go. Quay 80AI uses the powerful Z80 microprocessor wirh o 2.5 Mhz clock, ir's also 5100 bus compatible and fast, efficient, expandable arid economical. You can't lose.

Det 2. Quay 80SMD. 8K memory.

Here's 6K of static RAM memory in o kir. You'll never find a more economical way to added memory. Great for expending the copocit/ of Quay 80AI or any other 5100 microcomputer.

Det 3. Quay 80MDPS. Motherboard/power supply.

When you're expanding, looking at bigger games; the Quay 80 MDP5 12-slot motherboard wirh or without o power supply is best for you. Gives you plenty of room. And when the rime comes, you con put it into a dynamite Quay chossis (Det 4).

Det 4. Quay 80C. Chassis.

If you've grown-with Quay, component by component, you'll reach the point where you'll wont this fine chassis. It turns a jumble of hardware into a compact, good-looking, functiontionolly-efficient system. It gives your high-quolit/ components the look of class.

Det 5. Quay 8000. System.

The Quay 8000 is o complete microcomputersystem consisting of the Quoy 80AI (Det I), the Quay 805MD (Det 2), Quoy 80MBP5 (Det 3), Quay 80C (Det 4), and Quay 60 4K Basic (Det 7). If you want a complete package with plenty of power and Basic, this is it. It's the best system you con buy for the dollars (under IK bucks). You're in operation with o complete top-quality system. (It's less expensive to buy the complete system than to buy the individual components.)

Def 6. Quay 90MPS. OEM microcomputer.

The Quay 90MP5 is a complete OEM microcomputer system on a single board. It's designed for OEM use or for the highly sophisticoted hobbyist. Quoy 90MP5 comes completely assembled and tested. It uses the Z80 microprocessor, has 6K of memory (expandable to 65K), a 2.5 Mhz clock with o 4Mhz clock option. This is the big time.

Def 7. Quay 60AI and Quay 90MPS software.

Quay has available for its systems the following software in Basic: ■ 2KB on UV Prom for 80AI or 90MPS ■ 4KB on UV Prom for 90 MP5 ■ 4 KB on cassette tope for 80AI or 90MPS ■ 10KB on cassette tope for 90MP5.

Det 8. Quay coming events.

Available soon: an Assembler Editor package and Business AppI icotions for 10K Basic. Get on the Quay moil ing list so when they're ready you'll be among the first to know.

5end for detailed information on all Quay products. Get in on o good thing. Or for fast action coll 201-681-8700.

Dealer inquiries invited.

Circle 223 on inquiry card.

Quail ^porationI

P.O. Box 386 D Freehold, N.J. 07728 Q Phone: 201-681-8700.

Figure 7: A sharp low pass filter with 3 kHz cutoff. This circuit is used to filter out the high frequency distortion illustrated in figure 5.

INPUT o v\A f ^A^^

0 TO +5V 5K SOURCE IMPEDANCE

/77

NOTES: ALL RESISTORS 1/4 WATT 5%

ALL CAPACITORS EXCEPT lOO/iF PLASTIC FILM OR NPO CERAMIC PREFERABLY 5%

NOTE FREQUENCY TABLE RANGE FROM C2 (SS-tl

FOR 8.772 KHZ SAMPLE RATE HZ) TO C6 {1016.5 HZ) ID NOTE FREQ. INCR.

OOIF 0000 0021 01E9 0023 0206 0025 0225 0027 02H5 0029 0268 002B 028c 002D 02B3 002F 02DC 0031 0308 0033 0336 0035 0367 0037 039A 0039 03D1 003B MOB 003D 0149 003F MSA 0011 01CF 00^3 0519 0015 0566 0M7 05B8 0019 060F 0D1B 0660 001D 06CD OOIF 0735 0051 07A3 0053 0817 0055 0892 0057 0915 0059 099F 005B 0A31 005D OACC 005F 0B71 0061 OCIF 0063 0CD7 0065 0D9B 0067 0E6A 0069 0F15 006B 102E 006D 1121 006F 1229 0071 133E 0073 1162 0075 1599 0077 16E2 0079 183E 007B 19AF 007D 1B36 007F 1CD1 0081 1E8B 0083

.BYTE

0,0

.BYTE

1,233

.BYTE

2,6

.BYTE

2,37

.BYTE

2,69

.BYTE

2,101

.BYTE

2,110

.BYTE

2,179

.BYTE

2,220

.BYTE

3,8

.BYTE

3,51

.BYTE

3,103

.BYTE

3,151

.BYTE

3,209

.BYTE

1,11

.BYTE

1,73

.BYTE

1,138

.BYTE

1,207

.BYTE

5,25

.BYTE

5,102

.BYTE

5,181

.BYTE

6,15

.BYTE

6,108

.BYTE

6,205

.BYTE

7,53

.BYTE

7,163

.BYTE

8,23

.BYTE

8,116

.BYTE

9,21

.BYTE

9,159

.BYTE

10,19

.BYTE

10,201

.BYTE

11,113

.BYTE

12,31

.BYTE

12,215

.BYTE

13,155

.BYTE

11,106

.BYTE

15,69

.BYTE

16,16

.BYTE

17,36

.BYTE

18,11

.BYTE

19,62

.BYTE

20,98

.BYTE

21,153

.BYTE

22,226

.BYTE

21,62

.BYTE

25,175

.BYTE

27,51

.BYTE

28,212

.BYTE

30,139

0

SILENCE

2

C2

65.105

1.9089

1

C2«

69.295

2.0221

6

D2

73.115

2.1127

8

D2#

77.783

2.2701

10

E2

82.108

2.1051

12

F2

87.308

2.5181

11

F2«

92.198

2.6996

16

G2

97.998

2.8601

18

G2J

103.83

3.0302

20

A2

110.00

3.2101

22

A2#

116.51

3.1013

21

B2

123.17

3.6035

26

C3

130.81

3.8178

28

C3»

138.59

1.0118

30

D3

116.83

1.2851

32

D3#

155.57

1.5102

31

E3

161.82

1.8102

36

F3

171.62

5.0962

38

F3#

185.00

5.3992

10

03

196.00

5.7203

12

G3*

207.65

6.0601

11

A3

220.00

6,1208

16

A3*

233.08

6.8026

18

B3

216.91

7.2071

50

Cl

261.62

7.6356

52

CM

277.18

8.0897

51

D1

293.66

8.5707

56

D1«

311.13

9.0801

58

El

329.63

9.6203

60

F1

319.23

10.1921

62

F1«

369.99

10.7981

61

01

391.99

11.1105

66

01#

115.30

12.1208

68

Al

110.00

12.8116

70

Al#

166.16

13.6052

72

B1

193.88

11.1112

71

C5

523.21

15.2713

76

C5*

551.36

16.1791

78

D5

587.32

17.1111

80

D5*

622.26

18.1607

82

E5

659.26

19.2106

81

F5

698.16

20.3817

86

F5*

739.98

21.5969

88

G5

783.98

22.8811

90

G5#

830.60

21.2117

92

A5

880.00

25.6831

91

A5#

932.32

27.2103

96

B5

987.76

28.8283

98

C6

1016.5

30.5126

DEFINE BEGINNING ADDRESS FOR SECOND PART

OF SONG TABLE

Table 3: Note frequency table used in conjunction with listing 2. This table is for a sample rate of 8. 772 kHz. The range of the notes used Is from 65.41 Hz (for C2) to J 046.5 Hz (for C6).

because its loop time determines the sample rate. Essentially, the routine maintains four pointers (VIPT thru V4PT) to the four waveform tables. Each pointer consists of three bytes in order of increasing significance. The first byte is the "fractional part" of the pointer, and the second byte is the integer part which is also the lower half of an address in the waveform table. The third byte is the upper address which normally remains constant. Waveform table lookup is considerably simplified by using the indirect addressing mode of the 6502 with these pointers. Note that the fractional part of the pointer is ignored when the table lookup takes place, since interpolation is much too slow for a real time routine. During each sample, waveform table entries for each voice are fetched, added up, and sent to the digital to analog converter output port. Then the increment (VxlN) is added (double precision) to each pointer (VxPT). Wraparound from the end of a waveform table to the beginning is automatically taken care of due to the fact that the table occupies a full memory page. Finally, the tempo counter is decremented and checked. If the tempo counter is zero, it is restored and the duration counter is decremented and checked. If it is also zero the note is finished and PLAY returns. The net result is that TxD samples are computed and sent out for the event, where T is the tempo parameter and D is the duration parameter. Note that, unlike the earlier timed loop example, there is no interaction between the duration parameter and the note frequencies being played.

76

m

How does it sound? With the waveform table shown and a reasonably good speaker system, the result sounds very much like an electronic organ, such as a Hammond. There is a noticeable background noise level due to compromises such as prescaled waveforms and lack of interpolation in the tables, but it is not objectionable. The pitches are very accurate, but there is some beating on chords due to compromises inherent in the standard equally tempered musical scale. Also there are noticeable clicks between notes due to the time taken by the MUSIC routine to set up the next set of notes. All in all the program makes a good and certainly inexpensive basis for the "family music application" mentioned earlier.

Synthesizer Control Techniques

So far we have discussed techniques in which the computer itself generates the sound. It is also possible to interface a computer to specialized sound generation hardware and have it act as ■s.control element.

The most obvious kind of equipment to control is the standard, modular, voltage controlled sound synthesizer. Since the interface characteristics of nearly all synthesizers and modules are standardized, a computer interface to such equipment could be used with nearly any synthesizer in common use.

Generally speaking, the function of a voltage controlled module is influenced by one or more DC control voltages. These are usually assumed to be in the range of 0 to +10 volts, although some modules will

Figure 8. An inexpensive, wide band low power audio amplifier. This circuit, when coupled with the circuits in figures 3 and 7, is all the experimenter needs to create music with his or her microprocessor.

SONG TABLE

EACH MUSICAL EVENT CONSISTS OF 5 BYTES

THE FIRST IS THE DURATION OF THE EVENT IN UNITS ACCORDING TO

THE VALUE OF "TEMPO", ZERO DENOTES THE END OF THE SONG.

THE NEXT H BYTES CONTAIN THE NOTE ID OF THE H VOICES, 1 THROUGH

t. 0 INDICATES SILENCE FOR THE VOICE.

X'2O0

; START SONG AT 0200

SONG TABLE FOR THE STAR SPANGLED BANNER BY FRANCIS SCOTT KEY

AND J. STAFFORD SMITH

DURATION COUNT = 61 FOR QUARTER NOTE

0200 0205 020A 020F 0211) 0219 021E 0223 0228 022D 0232 0237 023C 0211 0216 021B 0250 0255 025A 025F 0261 0269 026E 0273 0278 027D 0282 0287 028c 0291 0296 029B

601A000032 SONG:

101100002C

1010000021

1011000021

101A000022

80511E111E

305C52111C

105800101C

1051003C1E

1011003C1E

1016103028

801A103A32

201A000032

201A000032

605C511121

2058001028

1051003C2C

80521A1032

301E16002E

10521A102E

10511A112C

105100003C

101A000032

101100002C

103C000021

301A000032

101100002C

103C000021

1011000021

101A000022

80511E111E

305C52111C

.BYTE

.BYTE .BYTE .BYTE .BYTE .BYTE .BYTE .BYTE .BYTE .BYTE .BYTE .BYTE ■ BYTE .BYTE .BYTE .BYTE .BYTE .BYTE .BYTE .BYTE .BYTE .BYTE .BYTE .BYTE .BYTE .BYTE .BYTE .BYTE .BYTE .BYTE .BYTE .BYTE

96,71,0,0,50

16,68,0,0,11

61,61,0,0,36

61,68,0,0,36

61,71,0,0,31

128,81,78,68,30

18,92,82,68,28

16,88,0,61,28

61,81,0,60,30

61,68,0,60,30

61,72,61,60,10

128,71,61,58,50

32,71,0,0,50

32,71,0,0,50

96,92,81,68,36

32,88,0,61,10

61,81,0,60,11

128,82,71,61,50

18,78,70,0,16

16,82,71,61,16

61,81,71,68,11

61,81,0,0,60

61,71,0,0,50

61,68,0,0,11

61,60,0,0,36

18,71,0,0,50

16,68,0,0,11

61,60,0,0,36

61,68,0,0,36

61,71,0,0,31

128,81,78,68,30

16,92,82,68,28

3/6

C5

CI

1/16

A1

A3

1/1

G1

F3

1/1

A1

F3

1/1

C5

E3

1/2

F5

D5

A1

D3

3/16

A5

E5

A1

C#3

1/16

G5

01

0*3

1/1

F5

F1

D3

1/1

A1

F1

D3

1/1

B1

Gl

F1

G3

1/2

C5

G1

El

CI

1/8

C5

CI

1/8

05

CI

3/8

A5

F5

A1

F3

1/6

05

Gl

03

1/1

F5

F1

A3

1/2

E5

C5

01

01

3/16

D5

B§1

853

1/16

E5

C5

01

B§3

1/1

F5

C5

A1

A3

1/1

F5

F1

1/1

05

CI

1/1

A1

A3

1/1

F1

F3

3/16

C5

Cl

1/16

A1

A3

1/1

F1

F3

1/1

A1

F3

1/1

C5

E3

1/2

F5

D5

A1

D3

3/16

A5

E5

A1

c#3

Table 4: This song table is an encoding of "The Star Spangled Banner" in 4 part harmony which is used by the program in listing 2. Each musical event in the table consists of five bytes. The first byte represents the duration of the event in units, according to the value of the "tempo" (0 denotes the end of the song). The next four bytes contain the note identifications of the four voices (0 indicates silence for the voice).

77

have a predictable response to negative voltages as well. In a voltage controlled oscillator, for example, the output frequency is determined by a control voltage. For typical tuning, 0 V would correspond to 16 Hz (a very low C), and the frequency would increase one volt per octave for higher voltages. Thus, +4 V would produce middle C, and the maximum input of+10 V

Table 4, continued:

02A0 lOSBOOtOlC

.BYTE

16,88,0,61,28

1/16

05

CI

C//3

02A5 IJOSIOOSCIE

.BYTE

61,81,0,60,30

1/1

F5

F1

D3

02AA H01II003C1E

.BYTE

61,68,0,60,30

1/1

Al

F1

D3

02AF l|01(8l)03C28

.BYTE

61,72,61,60,10

1/1

B1

01

F1

03

02B14 80HAII03A32

.BYTE

128,71,61,58,50

1/2

C5

Gl

El

01

02B9 20l)A000032

.BYTE

32,71,0,0,50

1/8

05

01

02BE 20HA000032

.BYTE

32,71,0,0,50

1/8

C5

01

02C3 605C5t')')21

.BYTE

96,92,81,68,36

3/8

A5

F5

Al

F3

02CB 2058001028

• BYTE

32,88,0,61,10

1/8

05

01

G3

02CD 2051003020

.BYTE

32,81,0,60,11

1/8

F5

F1

A3

02D2 8052')A1032

.BYTE

128,82,71,61,50

1/2

E5

C5

01

CI

02D7 301E1)6002E

.BYTE

18,78,70,0,16

3/16

05

BSI

BS3

02DC 10521A'402E

.BYTE

16,82,71,61,16

1/16

E5

C5

Gl

B§3

02E1 1)0511A112C

.BYTE

61,81,71,68,11

1/1

F5

C5

Al

A3

02E6 105100003C

.BYTE

61,81,0,0,60

1/1

F5

F1

02EB 1401A000032

.BYTE

61,71,0,0,50

1/1

C5

Cl

O2F0 101<100002C

.BYTE

61,68,0,0,11

1/1

Al

A3

02F5 103C00002U

.BYTE

61,60,0,0,36

1/1

F1

F3

02FA 01

.BYTE

1

DEFINE

END OF

THIS

SEGMENT

02FB 8300

.WOBD

POEND

ADDRESS

OF BEGINNING OF

NEXT

SEGMENT

0083

.=

POEND

ORG AT

END OF

PAGE

0 CODE

O083 305C511128

.BYTE

18,92,81,68,10

3/16

A5

F5

Al

03

0088 105C511128

.BYTE

16,92,81,68,10

1/16

A5

F5

Al

03

008D 1050511121)

.BYTE

61,92,81,68,36

1/1

A5

F5

Al

F3

0092 105E511628

.BYTE

61,91,81,70,10

1/1

B§5

F5

Bgl

03

0097 1062511A2C

.BYTE

61,98,81,71,11

1/1

C6

F5

C5

A3

009C 8062511A2C

.BYTE

128,98,81,71,11

1/2

C6

F5

C5

A3

OOAl 205E511628

.BYTE

32,91,81,70,10

1/8

Bg5

F5

B§1

03

00A6 205C51112C

.BYTE

32,92,81,68,11

1/8

A5

F5

Al

A3

OOAB 1058521032

.BYTE

61,88,82,61,50

1/1

G5

E5

CI

01

OOBO 105C51113C

.BYTE

61,92,81,68,60

1/1

A5

F5

Al

F1

00B5 105E521610

.BYTE

61,91,82,70,61

1/1

BS5

E5

B§1

01

OOBA 805E58161A

.BYTE

128,91,88,70,26

1/2

B§5

G5

B§1

03

OOBF 105E52161A

.BYTE

61,91,82,70,26

1/1

B«5

E5

B§1

C3

00C1 605C1A1121

.BYTE

96,92,71,68,36

3/8

A5

C5

Al

F3

00C9 205e4A1028

.BYTE

32,88,71,61,10

1/8

05

C5

01

03

OOCE 10511A3C2C

.BYTE

61,81,71,60,11

1/1

F5

C5

F1

A3

O0D3 80521A1032

.BYTE

128,82,71,61,50

1/2

E5

C5

01

01

O0D8 201E00362E

.BYTE

32,78,0,51,16

1/8

D5

D1

Be 3

OODD 20521A3A2E

.BYTE

32,82,71,58,16

1/8

E5

C5

El

8^3

00E2 10511A3C2C

.BYTE

61,81,71,60,11

1/1

F5

C5

F1

A3

00E7 10113C0036

.BYTE

61,68,60,0,51

1/1

Al

F1

D1

OOEC 01

.BYTE

1

DEFINE

END OF

THIS

SEGMENT

OOED ABOl

.WORD

PI END

ADDRESS

OF BEGINNING OF

NEXT

SEGMENT

OlAB

.=

PI END

ORG AT

END OF

PAGE

1 CODE

01AB 1018103C28

.BYTE

61,72,61,60,10

1/1

B1

Gl

F1

G3

01B0 801A103A1A

.BYTE

128,71,61,58,26

1/2

C5

Gl

El

03

01B5 101A000032

.BYTE

61,71,0,0,50

1/1

C5

01

OIBA 10511A1121

.BYTE

61,81,71,68,36

1/1

F5

C5

Al

F3

OIBF 1054161028

.BYTE

61,81,70,61,10

1/1

F5

BS1

01

G3

Old 20511A112C

.BYTE

32,81,71,68,11

1/8

F5

C5

Al

A3

01C9 20521A112C

.BYTE

32,82,71,68,11

1/8

E5

"

"

OICE 101E163C2E

.BYTE

61,78,70,60,16

1/1

D5

Bgl

F1

Be 3

01D3 101E163C2E

.BYTE

61,78,70,60,16

1/1

D5

B§1

F1

Be 3

01D8 101E1A3E2C

.BYTE

61,78,71,62,11

1/1

D5

C5

F»1

A3

OIDD 1058161028

.BYTE

61,88,70,61,10

1/1

G5

B§1

Gl

03

01E2 205E160028

.BYTE

32,91,70,0,10

1/8

B§5

B§1

G3

01E7 205C11002C

.BYTE

32,92,68,0,11

1/8

A5

Al

A3

QlEC 205810002E

.BYTE

32,88,61,0,16

1/8

05

Gl

863

OlFl 01

.BYTE

1

DEFINE

END OF

THIS

SEGMENT

01F2 8017

.WORD

AUXRAM

ADDRESS SEGMENT

OF BEGINNING OF (IN 6530 RAM)

NEXT

1780

.=

AOXRAM

ORG AT

BEGINNING OF 653C

RAM

1780 20513C0030

.BYTE

32,81,60,0,18

1/8

F5

F1

83

1785 10511A1132

.BYTE

61,81,71,68,50

1/1

F5

C5

Al

CI

178a 10521A101A

.BYTE

61,82,71,61,26

1/1

E5

C5

Gl

C3

178F 201A000032

.BYTE

32,71,0,0,50

1/8

05

CI

1791 201A00002E

.BYTE

32,71,0,0,16

1/8

05

863

1799 60511A112C

.BYTE

96,81,71,68,11

3/8

F5

C5

Al

A3

179E 2058001032

.BYTE

32,88,0,61,50

1/8

G5

Gl

CI

17A3 205C001110

.BYTE

32,92,0,68,61

1/8

A5

Al

01

17A8 205E001610

.BYTE

32,91,0,70,61

1/8

B§5

B§1

01

17AD 80625C5111

.BYTE

128,98,92,81,68

1/2

06

A5

F5

Al

17B2 20511E1136

.BYTE

32,81,78,68,51

1/8

F5

D5

Al

D1

17B7 2058181031

.BYTE

32,88,72,61,52

1/8

05

B1

01

Dei

17BC 605C511A32

.BYTE

96,92,81,71,50

3/8

A5

F5

05

CI

17C1 205E511E32

.BYTE

32,91,81,78,50

1/8

B§5

F5

D5

CI

17C6 1058521632

.BYTE

61,88,82,70,50

1/1

G5

E5

BSI

CI

17CB 80511A113C

.BYTE

128,81,71,68,60

1/2

F5

C5

Al

F1

171X1 00

.BYTE

0

END OF

PIECE

23

26

28

30

33

would produce a nearly inaudible 16.4 kHz. A typical oscillator module has two or three control inputs and a number of outputs. The voltages at the inputs are internally summed to form the effective control value (useful for injecting vibrato), and the outputs provide several different waveforms simultaneously.

A voltage controlled amplifier has as a minimum a signal input, a control input, and a signal output. The voltage at the control input determines the gain from the signal input to the signal output. In a typical setting, -t-8 V would correspond to unity (0 db) gain, with lower voltages decreasing the gain by 10 db per volt.

Many other voltage controlled devices have been developed during the approximately 12 year history of this field. In order to play music, the modules are first "patched" together with patch cords (like old style telephone switchboards) according to the desired sound characteristics. Manually operated control voltage sources such as potentiometers, joysticks and specialized organ-like keyboards are then manipulated by the player. The music is generally monotonic due to difficulties in the control elements (now being largely overcome). Multitrack tape recorders are universally utilized to produce the results heard on recordings such as Walter Carlos's Switched on Bach.

A useful computer interface to a synthesizer can be accomplished with nothing more than a handful of digital to analog and optionally analog to digital converters. The DACs would be used to generate control voltages under program control and the ADCs would allow operator input from the keyboard, for example, to be stored. Since control voltages vary slowly compared to the actual sound waveforms, real time control of a number of synthesizer modules is possible with the average microprocessor. Due to the large number of DACs required and the relatively slow speeds necessary, a multiplexing scheme using one DAC and a number of sample and hold amplifiers is appropriate. The home builder should be able to achieve costs as low as $2 per channel for a 32 channel, 12 bit unit capable of controlling a fairly large synthesizer.

The routing of patch cords can also be computerized. A matrix of reed relays or possibly CMOS bilateral switches interfaced to the computer might be used for this task. The patches used for some contemporary synthesizer sounds resemble the program patch boards of early computers and thus are difficult and time consuming to set up and verify. With computer controlled patching, a particular setup may be recalled

78

and set up in milliseconds, thus enhancing real time performance as well as reducing the need for a large number of different modules.

Other musical instruments may be interfaced as well. One well-published feat is an interface between a PDP-8 computer and a fair sized pipe organ. There are doubtless several interfaces to electronic organs in existence also. Even piano mechanisms can be activated, as noted elsewhere in this issue.

Recently, specialized music peripherals have appeared, usually oriented toward the S-100 (Altair) bus. In some cases these are digital equivalents of analog modules of similar function. For example, a variable frequency oscillator may be implemented using a divide-by-N counter driven by a crystal clock. The output frequency is determined by the value of N loaded into a register in the device, much as a control voltage affects a voltage controlled oscillator. Such an approach bypasses the frequency drift problems and interfacing expense of analog modules. The biggest advantage, however, is availability of advanced functions not feasible with analog modules.

One of these is a programmable waveform. A small memory in the peripheral holds the waveform (either as individual sample values or Fourier coefficients), which can be changed by writing in a new waveform under program control. Another advantage is that time multiplexing of the logic is usually possible. This means that one set of logic may simulate the function of several digital oscillators simultaneously, thus reducing the per oscillator cost substantially. Actually, such a digital oscillator may be nothing more than a hardware implementation of the PLAY routine mentioned earlier.

Digital/analog hybrids are also possible. The speech synthesizer module produced by Computalker Consultants, for example, combines a programmable oscillator, several programmable amplifiers and filters, white noise generator, and programmable switching on one board. Although designed for producing speech, its completely programmable nature gives it significant musical potential, particularly in vocals.

How do these various control techniques compare with the direct waveform computation techniques discussed earlier? A definite advantage of course is real time playing of the music. Another advantage is simpler programming, since sound generation has already been taken care of. However, the number of voices and complexity of subtle variations is directly related to the quantity of synthesizer modules available.

0300

WAV 1TB

0300

WAV2TB

0300

WAV3TB

0300

WAV1TB

0300

3331353636

0305

373839

0308

393A3A3B3B

030D

3B3C3D

0310

3C3C3C3C3C

0315

3C3C3C

0318

3C3C3C3B3B

031D

3B3B3B

0320

3A3A3A3A3A

0325

3A3939

0328

3939393939

032D

393939

0330

3A3A3A3A3A

0335

3B3B3B

0338

3B3C3C3C3D

033D

3D3D3D

0340

3E3E3E3E3F

03t5

3F3F3F

0318

3F3F3F3F3F

03'4D

3F3F3F

0350

3E3E3E3D3D

0355

3C3C3B

0358

3B3A393838

035D 373635

0360

3133323130

0365

2F2E2D

0368

2C2B2A2928

036D 272625

0370

2123222121

0375

201F1F

0378

lElElDlDlD

037D

IDICIC

0380

ICICIDIDID

0385

IDIDIE

0388

1E1F1F2020

038D 212122

0390

2323212125

0395

262627

0398

2828292929

039D

2A2A2B

03A0

2B2B2B2B2B

03A5

2B2B2A

03A8

2A2A292928

03AD

272726

03B0

2524232221

03B5

201F1D

03B8

ICIBI91817

03BD

151I13

03C0

lllOOFODOC

03C5

OBO9O8

03C8

0706050103

03CD

030201

03D0

0100000000

03D5

000000

03D8

0000010101

03DD 020301

03E0

0506070809

03E5

OBOCOD

03E8

0F10121315

03ED

16I8IA

03F0

1B1D1F2022

03F5

232527

03F8

282A2B2C2E

03ED

2F3031

WAVEFORM TABLE

EXACTLY ONE PAGE LONG ON A PAGE BOUNDARY

MAXIMUM VALUE OF AN ENTRY IS 63 DECIMAL OR 3F HEX TO AVOID

OVEBFLOW WHEN 1 VOICES ARE ADDED UP

X'300 ; START WAVEFORM TABLE AT 0300

; VOICE 1 WAVEFORM TABLE

= . ; VOICE 2 WAVEFORM TABLE

= . ; VOICE 3 WAVEFORM TABLE

; VOICE 1 WAVEFORM TABLE

; NOTE THAT ALL 1 VOICES USE THIS TABLE DUE

; TO LACK OF BAM IN BASIC KIM-1

FUNDAMENTAL AMPLITUDE 1.0 (REFERENCE) SECOND HARMONIC .5, IN PHASE WITH FUNDAMENTAL THIRD HABMONIC .5, 90 DEGBEES LEADING PHASE

.BYTE

X'33,X'31,X'35,X'36,X'36,X'37,X'38,X'39

.BYTE

X'39,X'3A,X'3A,X'3B,X'3B,X'3B,X'3C,X'3C

.BYTE

X'3C,X'3C,X'3C,X'3C,X'3C,X'3C,X'3C,X'3C

.BYTE

X'3C,X'3C,X'3C,X'3B,X'3B,X'3B,X'3B,X'3B

.BYTE

X'3A,X'3A,X'3A,X'3A,X'3A,X'3A,X'39,X'39

.BYTE

X'39,X'39,X'39,X'39,X'39,X'39,X'39,X'39

.BYTE

X'3A,X'3A,X'3A,X'3A,X'3A,X'3B,X'3B,X'3B

.BYTE

X'3B,X'3C,X'3C,X'3C,X'3D,X'3D,X'3D,X'3D

.BYTE

X'3E,X'3E,X'3E,X'3E,X'3F,X'3F,X'3F,X'3F

.BYTE

X'3F,X'3F,X'3F,X'3F,X'3F,X'3F,X'3F,X'3F

• BYTE

X'3E,X'3E,X'3E,X'3D,X'3D,X'3C,X'3C,X'3B

.BYTE

X'3B,X'3A,X'39,X'38,X'38,X'37,X'36,X'35

.BYTE

X'31,X'33,X'32,X'31,X'30,X'2F,X'2E,X'2D

.BYTE

X'2C,X'2B,X'2A,X'29,X'28,X'27,X'26,X'25

.BYTE

X'21,X'23,X'22,X'21,X'21,X'20,XMF,XMF

.BYTE

X'1E,X'1E,X'1D,X'1D,X'1D,X'1D,X'1C,X'1C

.BYTE

X'1C,X'1C,X'1D,X'1D,X'1D,X'1D,X'1D,X'1E

.BYTE

X'1E,XMF,X'1F,X'20,X'20,X'21,X'21,X'22

.BYTE

X'23,X'23,X'21,X'21,X'25,X'26,X'26,X'27

.BYTE

X'28,X'28,X'29,X'29,X'29,X'2A,X'2A,X'2B

.BYTE

X'2B,X'2B,X'2B,X'2B,X'2B,X'2B,X'2B,X'2A

.BYTE

X'2A,X'2A,X'29,X'29,X'28,X'27,X'27,X'26

.BYTE

X'25,X'21,X'23,X'22,X'21,X'20,X'1F,X'1D

.BYTE

X'1C,X'1B,X'19,X'18,X'17,X'15,X'11,X'13

.BYTE

X' 11 ,X'10,X'OF,X'OD,X'OC,X'OB,X'09,X'08

.BYTE

X'07,X'06,X'05,X'01,X'03,X'03,X'02,X'01

.BYTE

X'01,X'00,X'00,X'00,X'00,X'00,X'00,X'00

.BYTE

X'00,X'00,X'01,X'01,X'01,X'02,X'03,X'01

.BYTE

X'05,X'06,X'07,X'08,X'09,X'OB,X'OC,X'OD

.BYTE

X'0F,X'10,XM2,XM3,X'15,XM6,X'16,X'1A

.BYTE

X'1B,XMD,XMF,X'20,X'22,X'23,X'25,X'27

.BYTE

X'28,X'2A,X'2B,X'2C,X'2E,X'2F,X'30,X'31

Table 5: This table is an encoding of the samples of the waveform used by the program in listing 2. The table is exactly one memory page long on a page boundary. The maximum value of any entry is decimal 63 or hexadecimal 3 F to avoid overflow when all four voices are summed.

79

For example, if more voices are needed, eitiner more modules must be purchased or a multitrack tape recording must be made, which then takes us out of the strict real time domain. On the other hand, a new voice in a direct synthesis system is nothing more than a few bytes added to some tables and a slightly lengthened execution time. Additionally, there may be effects that are simply not possible with currently available analog modules. With a direct synthesis system, one merely codes a new subroutine, assuming that an algorithm to produce the effect is known.

A separate problem for the experimenter is that a "critical mass" exists for serious work with a direct synthesis system. To achieve complexity significantly beyond the

TOCCATA AND FUGUE IN D-MINOR

BACH

VOICEl 40,0,0,0,0,30,0,0,0,0,0,0,0,60,0 V0ICE2 37,0,0,0,0,0,0,0,50,0,0,0,0,50,0 V0ICE3 0,0,9,0,38,0,0,0,36,19,0,0,0,28,0 TEMPO 1/4=1200

10 30,30 10 60,60 15 100,250

/-/

002 lA3,l/64; 1A@3,1/6 lA3,l/8; R,l/32 lG3,l/64 lF3,l/64 1E3,1/64 lD3,l/64 lC#3,l/3 1D3,1/16 R,l/4 3D2,1/1; 2C#3,1F2 1E3,7/16 1G3,7/16 1B@3,5/1 1C#4,4/1 1E4,3/16

2A2,l/64 4; 2A@2,l/64 2A2,l/8

7; 2G2,l/64. 2F2,1/64 2E2,l/64 2D3,l/64

2; 2C#2,l/32 2D2,1/16

R, 1/4

R,l/16

R,l/16

R,l/16 6; R,l/16 6; R,l/16

/-/

140 lB@4,l/8; lG4,l/8; lE3,l/32

1G3,1/32

lB@3,l/32

lC#4,l/32

1B?4,1/8

lB@4,l/8; lG4,l/8;

lA4,l/8; lF#4,l/8; TEMPO 1/4=950

1D3,1/32 TEMPO 1/4=1050

lA3,l/32 TEMPO 1/4=1150

lD4,l/32 TEMPO 1/4=1200

lF#4,l/32

lA4,l/8

lA4,3/8; lF»4,l/8;

141 lD4,l/2; lB@3,l/2; lG4,l/2,- 3B@2,l/4 lE4,l/4; 1C#4,1/4,■ lF4,l/4; lD4,2/4;

142 lE4,l/2; 2A3,l/2; lC4,2/4; R,l/4 lD4,4/2; 2F3,l/4; 2B@3,l/4; 2G3,l/4;

143 2A3,3/2; 2F3,3/2; END

lE4,l/8; 2E3,l/8,- 3C#3,l/8

lE4,l/8; lC#4,l/8; lD4,l/8; 2F#3,l/8;

2E3,1/B; 3C#3,l/8 3C3,1/8

lD4,l/8; 2F#3,l/8; 2G3,l/2; 3G2,l/4

2B@3,l/4; 3E2,l/4 2A3,l/4; 3F2,l/4 3A2,l/2; R,l/4

3C3,l/8

3Bg2,l/4

3G2,1/4

3D3,3/2;

3D2,3/2

Listing 3: Bacfi 's "Toccata and Fugue in D Minor" as encoded in NOT RAN, a music ianguage deveioped by tine autiior (NOTRAN stands for NOte TRANslation). Ttie main function of tfie ianguage is to transcribe organ music, but it wiil worii equaily weli witli other types of music. Program statements are used to encode duration, pitch, attacl^ and decay rates, and ioudness of each note.

4 voice example program described earlier, a high speed, large capacity mass storage system is needed. This means an IBM type digital tape drive or large hard surface disk drive; usually at least $3000 for a new drive less interface. Used 7 track tapes and 2311 type disks (7.5 megabytes) are often available for $500 and certainly provide a good start if the user can design his own interface. Synthesizer modules or peripheral boards, on the other hand, can be purchased one at a time as needed.

Music Languages

Ultimately, software for controlling the sound generation process, whether it be direct or real time control, is the real frontier. The very generality of computer music synthesis means that many parameters and other information must be specified in order to produce meaningful music. One function of the software package is to convert "musical units of measure" into physical sound parameters such as conversion of tempo into time durations. Another part is a language for describing music in sufficient detail to realize the control power available from music synthesis without burdening the user with too much irrelevant or repetitious detail. With a good language, a good editor for the language, and real time (or nearly so) execution of the language, the music system becomes a powerful composition tool much as a text editing system aids writers in preparing manuscripts.

Music languages can take on two forms. One is a descriptive form. Music written in a descriptive language is analogous to a conventional score except that it has been coded in machine readable form. All information in the score necessary for proper performance of the piece is transcribed onto the computer score in a form that is meaningful to the user yet acceptable to the computer. Additional information is interspersed for control of tone color, tempo, subtle variations, and other parameters available to the computer synthesist.

A simple example of such a language is NOTRAN (NOte TRANslation) which was developed by the author several years ago for transcribing organ music. Listing 3 shows a portion of Bach's "Toccata and Fugue in D Minor" coded in NOTRAN. The basic thrust of the language was simplicity of instruction (to both the user and the interpreter program), rather than minimization of typing effort.

Briefly, the language consists of statements of one line each which are executed in straight line sequence as the music plays. If the statement starts with a keyword, it is

80

What is a Firmware System ?

A Firmware System is the entire package — Software and Hardware tliat work.

Our Firmware includes a miniature micro 8080 and Z/80 computer; S-100 Buss, with over 65K of user RAM. No switclies to set, Power-on operation, multiple I/O interfaces, line printer. Video Terminal, over 600K Byte Disk, Disk Extended Basic and applications Software diskettes complete with full documentation (includes General Ledger, Payroll, Word Processing, Medical A/R, A/P, Engineering, Statistics, more) includes "Help" and Tutorial Software.

Our "General Ledger Program" is a complete comprehensive business system designed to keep all of your company's records without the need for updating from other programs and there is no need to keep monthly tear sheets to be added together for end of the year reports as our system will provide you with year end account totals for cash, accural, hybrid and chart of accounts systems. This program generates over 30 major reports, including: 941's, P/L's, Balance Sheets, and year end account totals for filing Federal Income tax Schedule C's and/or 1120's plus a lease purchase plan and 24-hour field service in most areas. Hard to believe! For less than $250/month you can lease your very own, nothing else to purchase. Foreign packages available last of '77.

Business Software Too!

includes over $25,000.00 of business programs free and that's only part of what we're giving away. We built our reputation providing quality software at affordable prices. Now we are going to do the same with Firmware.

Firmware System (fully assembled) $8999.00*

Additional 600K disi^s optional.

Compare at $30,000 for other micros or $70,000 for mini's

"Add $60 for UPS shipping and handling • No Purchase Orders — include 50% deposit with all COD orders.

O

SCIENTIFIC RESEARCH

1712-B Farmington Court Crofton, MD 21114 (301)721-1148

Dealer Inquiries Invited

a specification statement; otiierwise, it is a note statement. Specification statements simply set up parameters tliat influence the execution of succeeding note statements and take no time themselves.

A VOICE statement assigns the timbre described by its parameters to a voice number which is used in the note statements. In the example score, the first group of parameters describe the waveform in terms that are implementation dependent, such as harmonic amplitudes. The next, isolated parameter specifies the overall loudness of the voice in relation to other voice:. The last pair of parameters specifies the attack and decay times respectively for notes using this voice. Depending on the particular implementation, other parameters may be added without limit. For example, vibrato might be described by a set of three additional parameters such as vibrato frequency, amplitude, and a delay from the beginning of a note to the start of vibrato.

A TEMPO statement relates note durations in standard fractional terms to real time in milliseconds. The effect of a tempo statement lasts until another is encountered. Although the implementation for which the example was written required a sequence of tempo statements to obtain a retard, there is no reason why an acceleration or a retard set of parameters could not be added.

Note statements consist of one or more note specifications and are indented four spaces (the measure numbers are treated as comments). Each note specification begins with a voice number followed by a note name consisting of a letter, optional sharp (#) or flat (@) sign, and an octave number. Thus C#4 is one half step above middle C. Following the comma separator is a duration fraction. Any fraction is acceptable, but conventional musical fractions are normally used. Following the duration are two optional modifiers. A period (.) indicates a "dotted" note which by convention extends the note's duration by 50%. An "S" specifies a staccato note which is played as just an attack and decay (as specified by the corresponding voice statement) without any steady state. The presence of a semicolon (;) after a note indicates that additional notes which are intended to be part of the same statement are present, possibly extending to succeeding lines.

The execution sequence of note statements can become a little tricky due to the fact that note durations in the statement may not all be equal. The rule is that all notes in the statement start simultaneously. When the shortest one has ended, the notes in the next statement are initiated, even though some in the previous statement may

be still sounding. This could continue to any depth such as the case of a whole note in the bass against a series of sixteenth notes in the melody. The actual implementation, of course, limits the maximum number of simultaneous tones that may be built up.

Also available is a rest specification which can be used like a note specification. Its primary function is to provide silent space between note statements, but it may also be used to alter the "shortest note" decision when a note statement is scanned. If the rest is the shortest then the notes in the next statement are started when the rest elapses even though none of the current notes have ended. A use of this property may be seen in the last part of measure 2 where an arpeggio is simulated.

As can be seen, NOTRAN is best suited for describing conventional organ music, although it could be extended to cover a wider area as well. One such extension which has been experimented with but not fully implemented is percussion instruments. First a set of implementation dependent parameters was chosen to define a percussive sound, and then a PRCUS statement similar to the VOICE statement was added to the language. To initiate percussive sounds, specifications such as "P3,1/4" would be interspersed with the note specifications in note statements. The "3" would refer to percussive sound number 3 and the 1/4 would be a "duration" which would be optional. All percussive sounds in the same statement would start simultaneously with the regular notes.

A much more general music language is the well-known MUSIC V. It was designed to make maximum use of the flexibility afforded by direct waveform computation without overburdening the user. It is a massive program written in FORTRAN and clearly oriented toward large computers. Much significant computer music work has been done with MUSIC V, and it is indeed powerful. An excellent book is available which describes the language in detail and includes some background material on digital sound generation (see entry 1 in the list of references at the end of this article).

A different approach to music languages is a "generative" language which describes the structure of the music rather than the note by note details. In use, the structure is described by "loops," "subroutines," and "conditional branches" much as an algorithm is described by a computer language. The structure is "executed" to produce detailed statements in a conventional music language which is then played to produce sound. The intermediate step need not necessarily be visible to the user. One well

82

thought out system is described in reference 2. It was actually developed as a musicological analysis tool and so has no provisions for dynamics, timbre, etc. It could, however, be extended to include these factors. One easy way to implement such a language is to write a set of macros using a good minicomputer macroassembler.

Conclusion

By now it should be apparent that computer generated music is a broad, multidisciplinary field. People with a variety of talents can make significant contributions, even on a personal basis. In particular, clever system designers and language designers or implementers have wide open opportunities in this field. Finally, imaginative musicians are needed to realize the potential of the technique.

r

Short Cut to a Singing KIM.

As his article was being finished by our production department, Hal Chamberlin notified us that he has completed the design of a board which accomplishes the digital to analog conversion and filtering functions

described in this article. The board contains printed circuitry for an 8 bit digital to analog converter, low pass filter and power amplifier. Without components, the board may be purchased for $6; completely assembled and tested the price is $35. Orders should be mailed prepaid to Micro Technology Unlimited, 29 Mead St, Manchester NH 03104. In addition, a software package for the KIM-I computer is available on cassette tape (KIM format) for $13 added to the price of the output board. A 7 inch 16 ohm speaker can be ordered for $5 prepaid, completing the required parts of a KIM's music system. ■ ^

REFERENCES

1. Mathews, Max, The Technology of Computer

Music, MIT Press, Cambridge MA, 1969. Contains a detailed description of MUSIC V, the high level music language.

2. Smoliar, Stephen, "A Parallel Processing Model

of Musical Structures," PhD dissertation, Massachusetts Institute of Technology, September 1971.

3. Oppenheim, A and Schafer, R, Digital Signal

Processing, Prentice-Hall, NJ, 1975.

1^ wire u^rapping center (^ic;

^iC^tl HOBBY WRAP Wt.^ MODEL BW 630

Battery

wire

wrapping

tool

95

COMPLETE WITH Bl

andsi.i;kvi;

DIP IC INSERTION TOOL WITH PIN STRAIGHTEN ER.

MODEL INS1416

"MINIMUM ORDER $25.00. SHIPPING CHARGE $1.00. N.Y. CITY AND STATE RESIDENTS ADD TAX

OK MACHINE AND TOOL CORPORATION

3455 CONNER STREET. BRONX, NEW YORK. N.Y. 10475 U.S.A.

PHONE (212) 994-6600 TELEX NO. 125091

83

Circle 224 on inquiry card.

Tune in with Some Chips

Ted B Sierad 146 Sunset Rd Wlamaroneck NY 10543

Are you fascinated with tiie idea of computerized music, but find tiie mechanics of producing such effects too complex? I've come up with a simple technique which is the subject of this article, and which is well within the capabilities of the novice computer experimenter. With less than a dozen inexpensive integrated circuits, a few resistors, capacitors and a small prototyping board you can be well on the way to creating interesting music with your Altair, IMSAI or similar computer. My design creates a programmable music tone generator peripheral which has outputs that sound somewhat reminiscent of a clarinet when it is programmed by simple or complex software used to sequence notes in time. The first attempts I made at music generation required complicated programs and many integrated circuits. But as I gained more familiarity with the problem, the project reduced into a relatively simple solution as illustrated here.

The Hardware

The diagram of the melody box hardware is illustrated in figure 1. This hardware is the key to generation of tones from the computer. Software to be described later is responsible for sequencing the notes in time, thus creating a melody. The basic principle of operation of this melody box peripheral is

use of a latched binary code in eight bits to select one of several adjustable resistors which will be switched into an oscillator circuit as the timing resistor. In the particular circuit shown in figure I, I used a pair of 7475 latch circuits to hold the code sent from an 8080's 10 instruction; then I decoded the 8 bit pattern with a pair of 7441 circuits which I happened to have on hand in my worlcshop. The 7441s separately decode two 4 bit codes into selection of one of ten open collector output lines. These output lines are low if the line is selected, and effectively disconnected if not selected. The software used to drive the 10 port should be set up to select only one active line by giving out a "null code" such as binary 1111 in one half of the 8 bit word, while selecting a given tone in the other half of the 8 bit word. This guarantees that only one line is in the low state out of a possible 20 lines. The line which is in the low logical state will then affect the frequency of the oscillator implemented by the 555 timer integrated circuit, IC7 of figure 1. The pitch of the note selected is determined by the tuning of the potentiometer associated with a given binary code by the decoders.

The low logic level output of the decoder is similar to a ground or zero voltage. Since all the other lines are effectively floating as open collector outputs, a definite low state on the one line inserts the resistor selected

Figure 1: Schematic of the melody box. This circuit works by changing the timing elements of a 555 osciilator integruted circuit to set llie pitch. One resistor sets the pitch of each note of the scale. To turn off the oscillator, the circuit detects a special case which turns off the power to the oscillator by raising its ground pin to the high logic level.

84

Integrated Circuit Power Wiring

Number

Type

+5 V

GND

IC1

7475

5

12

IC2

7475

5

12

IC3

7441

5

12

IC4

7441

5

12

IC5

7404

14

7

IC6

7402

14

7

IC7

555

8

5

Resistor

Potentiometer

Approximate

Number

Value

Setting

R3

100 k

40 k

R4

100 k

48 k

R5

100 k

56 k

R6

100 k

64 k

R7

100 k

68 k

R8

100 k

76 k

R9

100 k

80 k

RIO

100 k

86 k

R11

200 k

90 k

R12

100 k

43 k

R13

100 k

56 k

R14

100 k

67 k

R15

100 k

76 k

R16

100 k

86 k

R17

200 k

95 k

RIB

200 k

108 k

R19

200 k

135 k

R20

200 k

152 k

■C5 -.025

O) TO AMPLIFIER

MIIMI-SPEftKER

85

Photo J: The melody box as constructed, using a Radio Shack prototyping board.

into the 555's timing circuit. The circuit is tuned by running a scale and adjusting the pitches by ear, or even by using a frequency meter.

But what about having no sound at all? Rests are important to music, and there must be some way to turn off the sound. Simply selecting none of the resistors is the first thought which comes to mind, but this does not work very well at all, as you'll find out if you try it. What I did was to put in the NOR gate logic of IC6d to detect when both halves of the 8 bit output word are 0, as indicated by selection of the 0 output line of each decoder. When this happens, the output of the NOR gate is high. Since I use this NOR gate as the power and signal ground of the 555 oscillator, I have effectively removed power from the 555 and turned it off when the double 0 state is output to the port. This may not be optimal engineering, but it certainly works.

My hardware stopped at the point of generating the tones, but for a full range of musical effects, you would certainly want to add some digital controlled filters and amplifiers to this basic pitch generation facility. Some filtration can be accomplished, of course, by manipulation of the tone controls of your high fidelity amplifier.

Further Simplifications of Hardware

The circuit of figure I is how I built the melody box; but after building it, it occurred to me that several further simplifications could be made. For example, the

latches and 10 port decoding logic outlined by the dotted lines could easily be replaced by an existing 10 port on a computer, such as those provided by the peripheral interface adapters (PIA) of typical 10 port boards. The 7441 is not the only open collector decoder chip available, and if you want to make 32 or 64 notes, use of two or four 74159 circuits with a 5 or 6 bit binary code would be possible. The only major disadvantage I find with this circuit is that it has to be tuned individual note by individual note.

Construction

The melody box was built on a Radio Shack IC experimental breadboard, #276-154 (Archer), which plugs into their #276-1551 card connector socket. This type of board has a foil pattern on one side. The integrated circuits or sockets are inserted from the nonfoil side and pins are then soldered to pads designed to take the DIP package pins as well as several connecting wires or components. See photo 1 for a look at my version. I used Molex pins to fabricate sockets for the integrated circuits, although solder tail sockets or no sockets at all could be used depending on your preferences and sources of supply. Wiring is done from the nonfoil side, with stripped ends of the wires going through the board to the appropriate pads. I used multiple colors for the wires in order to make tracing of the circuit easy. The space between the solder

Continued on page 91

86

4 USERS ON 1 MICRO?!

■!...'«*,* " tp'

*"' I!,[„;„

,l.

/:ij'%'"

HfBk «

' Ifelj

■-■•Jl

*Also be sure to check out the complete line of TSC software, including Text Editors, Word Processing Systems, Assemblers, Utilities, Diagnostics. Interpreters, Games, and more!

> I j

Technical Systems Consultants, Inc., P.O. Box 2574, West Lafayette IN 47906

Circle 225 on inquiry card.

ii.#Jf''

/ \

' PC '77 offers you the most complete show of its kind ever held. Proven in '76 and acclaimed in '77 by all the major professional publications as the coming event of the year, this show is a 'must'. Make plans now to attend. Here are some of the scheduled events:

PRE-CONVENTION PROFESSIONAL SEMINARS

August 22-26 Technical Design Labs and Trenton State College Z80 Seminars at nearby Trenton State College. Five software and four hardware seminars.

August 25, 26, 28 SYBEX Seminars at the Shelburne Hotel. Three intensive seminars: Introduction to Microprocessors, Programming Microprocessors, Microprocessors Applications.

August 24, 25, 26 TYCHON INC. Microcomputer Interfacing Workshop at the Shelburne Hotel.

August 26, 27 Osborne <S Associates Microprocessors — Where they came from and where they are going, an analysis of all products on the market today. At the Shelburne Hotel.

MORE NEW PRODUCTS THAN EVER!

H All the products you've been reading about in the ads will be on display at PC '77. Many companies

H will be showing exciting new products. HEATH COMPANY will display exclusively, for the first time,

■ their complete computer line. SOLID STATE MUSIC, POLYMORPHIC SYSTEMS. THE

■ DIGITAL GROUP, THOMAS INSTRUMENTATION, MOS TECHNOLOGY, TECHNICAL

■ DESIGN LABS, SOUTHWEST TECHNICAL PRODUCTS, CROMEMCO, E <S L IN

■ STRUMENTS, THE INTERPRING GROUP, KENT-MOORE INSTRUMENTS, PERSCI INC,

■ GEORGE RISK INDUSTRIES, MID WEST SCIENTIFIC, OSBORNE AND ASSOCIATES, EX

■ PANDOR, QUAY CORP, MATRIX PUBLISHERS, CAMELOT PUBLISHING CO, HAYDEN

■ BOOK CO, GAW ELECTRONICS, ENCLOSURE DYNAMICS AND SOROC TERMINALS will ^^ all be showing new products. Plan to attend!

OUTSTANDING COMPUTER HOBBYIST OF THE YEAR AWARD

This is an annual award presented to a person who has given outstanding service to others in the personal computing field with no commercial motives. Nominations are currently being accepted from individuals and clubs.

For an interesting evening of family entertainment, plan to attend the Ice Copades which are in town the week of PC '77.

9>^1

o^^^M^^h <«

tv

cV'

•VS

atfc

roO^''

tVtfeV*

O

v\ve

Vt

o

Otg'

Se.*^«^^auptv^Uv^:

lOse

^T^aUO-£,^V-^-^^

o

V\«f cVva\^^*Vtna^^^^<

A^^

Gt*

UV

at let

ea

.Ve.

^tct^

tnP^

C\^

FREE!

SEMINARS, FORUMS, TECHNICAL TALKS

ENI AC by Dr. John Mauchly, the co-inventor of ENIAC PROGRAMMING EPSI AC by Mrs. John Mauchly

SAM 76 by Claude Kagan of Western Electric Co., an interactive symbol system manipulations system which grows with the user.

TELECOMMUNICATIONS FROM THE TERMINAL USERS VIEWPOINT by David L. Peters of Vadic Corp.

INTRODUCING THE HEATHKIT COMPUTER PRODUCTS by Lou Frenzel of Heath Company

HOW MICROPROCE.SSORS ARE DESIGNED by Will Mathys of MOS Technology THE FUTURE OF MICROS IN MEDICINE by Dick Moberg. Dept. of Neiu-osurgery, Jefferson Medical College, Philadelphia

THE HUMAN FACTOR bv Andrew Singer of ROM Magazine

SHOULD MICROS BE USED FOR BUSINESS APPLICATIONS? by Frank J. Ponzio, Jr.. of Mini Computer Suppliers. Inc.

ROBOTS bv Tod Loofbourrow, author for Interface Age Magazine

GETTING INTO THE MICRO COMPLITER BUSINESS by Robert S. Jones, publisher of Interface Age Magazine

MUSIC FOR THE HOBBMST. HARDWARE AND SOFTWARE by Malcolm Wright of Solid State Music

HAM RADIO APPLICATIONS by Dr. Robert Suding of the Digital Group HANDICAPPED SYMPOSIUM bv Dr. Robert Suding of the Digital Group HOME MANAGEMENT SYSTEMS bv Dr. Robert Suding of the Digital Group FLOPPY DISK by Herbert G. Waite of PerSci Inc.

INTERFACING A HOME SELECTRIC by Charles Yates of Amateur Computer Group of New Jersev

MOVING UP TO AMATEUR RADIO bv Chod Harris of the American Radio Relav League OPERATING THROUGH AMATEUR SATELLITES OSCAR 6 AND 7 bv Garv Tater W3HUCof AMSAT

THE PHASE III MICR0PR(X:ESS0R CONTROLLED AMATEUR SATELLITE bv Tom Clarke WA,?LND and Jan King W3GEY of AMSAT

MICROPROCESSOR APPLICATIONS FOR RADIO AMATEURS by Kasser G,3ZCZ of AMSAT

WHAT PEOPLE ARE NOT GOING TO DO WITH HOBBY COMPUTERS by Stephen Grav of Creative Computing

APPLICATIONS OF MICROCOMPUTERS: THE MYTH AND THE REALITY by David Ahl of Creative Computing

INTRODUCTION TO COMPUTERS THROUGH THE BASIC LANGUAGE by Eri Golembo of Computer Mart of New Jersev

DYNAMIC DEBUGGING SYSTEM FOR THE WW) CODE by Larr> Stein and David Benew of Computer Mart of New Jersev

MICROPROCESSORS FOR THE HOBBY MARKET TODA^ AND TOMORROW by Dr. Adam Osborne of Osborne and Associates

GETTING STARTED WITH MICROCOMPUTER SOFTX* ARE by Dr. Christopher A. Titus, author of the Bugbooks COMPUTERS AND MUSIC by Carl Helmers of BYTE Magazine

^\^>ij^rvr/;

Plug in any one of a iiiimher of Solid State Music moduk's and enhance the power of an Allair (S-100) bus system. In particular enjoy the new SB-1 music synthesizer and the Vli1A video board to be given out as door prizes at PC77.

Scientific Research Vol T - V

Wliere does one get software? The lucky winners of the Scientific Research BASIC software library will have a good start at answering this question.

Interface Age Life Time Subscription

Interface Age is an exciting window on this burgeoning new technology. Find out about inicrocomputing for the home and the small businessman using this monthly compendium.

■■v,,r^f,

''It/,, "--to „

^-../-^^^^tf .".Av-v„.

Pi-oL ^'^c

soo'y

'"oA

^.- '"'^v y..

^'^<L^^.^. -^'

^■J-0,

^o.

n,p^

>'t,,

Heathkit

This new Heathkit H9 video terminal features data rates ranging from 110 to 9600 bps, EIA RS-232 and 20 ma current loop interfaces, a full ASCII keyboard and 12 lines of 80 characters per line.

Continued from page 86

NOTE LENGTH (Odd Bytes)

7 6 5 4

3 2

0

7 6 5 4

3 2

0

0 0,00 1 1 1

0 0 1 1 1

0 1

0 0,00 1 1 1

°,'l

0

1

Pitch MIDDLE "C"

Note Length Dotted QUARTER

BEGIN HERE

EACH NOTE TAKE A PITCH BYTE FOLLOWED BY LENGTH BYTE

TIMING LOOP TO SET THE TEMPO. AT SHORT FOR FAST TEMPO, LONG FOR SLOW TEMPO.

COUNT DOWN NOTE'S LENGTH

CHECK FOR END OF MUSIC TEXT

POINTER: = ADDRESS OF FIRST NOTE IN TABLE

OUTPUT:=

PITCH (pointer;

COUNTER:' LENGTH

(POINTER)

Hexadecimal Octal Relative

Length Length Decimal

Code Code Length

PITCH (Even Bytes)

Hexadecimal Octal

Note Code

00 01 02 03 04 05 06 07 08 09

60 70 80 90 FF

Musical Symbology

Note Musical

Code Note

000 ZSilenl

001 Optional

002 C

003 C«o, 004 005 006 007

010 F-orGb Oil G

' —Z!"

Afl or Bb 1

020 G-orAh

040

060

100 B

120 C >

140 C#orDb

160 D >

200 E >

220 F >

?5

.r Db I

D = orEb 1

rr

zr

rr

_^ Sixteeneenth note

J.

J.

-©

oo

oooo

Music Symbology

Dotted eighth note

Quarter noTe

Dotted quarter note

Dotted half note

Two whole notes

Four whole notes

377 Restart code

Figure 2: Programming modei for the melody box. Tfie note pitch and length codes listed are interpreted by the program shown as a flowchart here. Each note is completely specified by a pitch code and a length code contained In two bytes of memory as shown by the example.

91

^S,lJJ^^'^

^l-M

r r .r SJ

St*

r. r I .r-r

J iiJ

Figure 3: The melody box notes are tuned by running this chromatic scale text through the program of figure 2. While listening to the scale, adjust each note's potentiometer until the sound is a correct musical interval.

A Set of Chromatic Scale Data for Tuning the Melody Box

Octal

Relative

Note and

Address

Length Code

000

001 002

002

002 002

004

003 002

006

004 002

010

005 002

012

006 002

014

007 002

016

010 002

020

Oil 002

022

020 002

024

040 002

026

060 002

030

100 002

032

120 002

034

140 002

036

160 002

040

200 002

042

220 002

044

000 040

046

377 XXX

Hexadecimal

Relative

Note and

Address

Length Code

00

01 02

02

02 02

04

03 02

06

04 02

08

05 02

OA

06 02

OC

07 02

OE

08 02

10

09 02

12

10 02

14

20 02

16

30 02

18

40 02

1A

50 02

1C

60 02

IE

70 02

20

80 02

22

90 02

24

00 40

26

FF XX repeat code

rJF ^= 1—1 ■'—\ ■'—■' -^

4f

J . °^^ ^ .-. ^ o o

^J- J I.H

=a

TABLE LOCATIONS

OCTAL HEXADECIMAL

000 002 00 02

004 04

006 06

010 08

012 Ofl

014 00

016 OE

020 022 02410 12 14

026 030 032 16 IS lA

034 036

IC IE

04020

042 044 046 050 22 24 26 30

Figure 4: A test string, shown in machine code form and in traditional musical representation, sans time signature, using note lengths as defined in figure 2.

A Familiar Tune

Octal

Hexadecimal

Relative Address

000 002 004 006 010 012 014 016 020 022 024 026 030 032 034 036 040 042 044 046 050 052 054 056

Note and Length Code

002 004 002 004

006 004 Oil 004 120 014 040 024 040 004

007 004 011 004 040 004 011 040 002 004 002 004 006 004 011 004 Oil 014 004 024

006 004

007 004 006 004 004 004 002 030 000 001 377 XXX

Relative Address

00 02 04 06 08 OA OC OE 10 12 14 16 18 1A IC IE 20 22 24 26 28 2A 2C 2E

Note and Length Code

02 04 02 04

06 04 09 04 50 OC 20 14 20 04

07 04 09 04 20 04 09 20 02 04 02 04 06 04 09 04 09 OC 04 14

06 04

07 04 06 04 04 04 02 18 00 01 FF XX

stop

92

PUT A

MACRO

IN YOUR MICROI

Inlroducing the AM-100''"^ by Alpha Microsystems A 16-bit microprocessor CPU {2-card set) that replaces the 8080 microprocessor in your S-100 bus type computer.

• Eight 16-bit registers

• Multi-level DMA and vectored interrupt system

• Real-lime clock on the CPU board

■ Hardware supported totally relocatable object code

• Multi-user multi-tasking timeshared operating system

• Multi-user structured file system with passwords

• Multiple pass macro level assembler and linking loader

• Floppy disk file management system and utilities

• Up to 10 times the throughput of an 8080 system

• Fully supports most S-100 peripherals without modification

• ALPHA BASICTM extended compiler and run system (not an interpreter)

• Free-form text editor and letter-writing text formatter

• System generation program to create custom operating system monitors

• Completely device independent with logical file I/O calls

TIMESHftRtNQ FOR A MICRO

Imagine playing Startrek to kill time while you wait for your computer to print out a complicated listing— but using the same computer.

Hardware limitations of the 8080 have made microcomputer timesharing impractical for the personal computer enthusiast. The AM-KX)"^ 16-bit microprocessor set puts at your command a system which easily accepts multi-tasking froiTi a multiple user structure. Ill addition the AM-lOOf^ system lets you control priorities and allocate memory requirements for each job activated. There is even a security system to prevent unauthorized access to the data files (a Macro Computer?).

• Teachers—have each student at a terminal at the same time running a learning program. Monitor the progress on your master terminal.

• Computer Stores/Amusement Parks—set up a game bank with one computer and eight terminals. Have different games on each screen.

• Businessmen—put a terminal on the desk of your bookkeeper, stock clerk and design engineer. Perform the daily accounting, inventory control and design problems at the same time. Hook a terminal in the shop and audit production schedules with the processor's real-time clock.

WESTERN DIGITAL MICROPROCESSOR

The AM-100 is based on Western Digital's advanced WD-16 microprocessor chip set. It has been remicroprogrammed to give a more flexible macro instruction set while still maintaining the general architechire and source code format on the popular PDP-11 series.

S-100 BUS COMPATIBILITY

The 16-bil processor system interfaces to the 8-bit S-100 bus by multiplexing through 70-plus TTL logic chips. This multiplexing is totally transparent to the programmer.

See unit on display at our BVTE SHDP^®*^" stores:

ALPHA BASIC COMPILER

The BASIC language processor implemented is a compiler as opposed to the more popular inlerpreters. It reads the source code statements and generates a compacted and fully resolved object code program. The object code program is then executed by a special runtime package which is reentrant and may be shared by several users at once. The source code need not be present during this execution thereby reducing memory requirements.

FOR THE SYSTEM USER

Conversion starts as low as $1495 including full software

MicroAge will provide you with the best support hardware in memories, terminals and I/O systems Complete multi-user/nriulti-tasking systems available configured to your specification and needs Look to MicroAge to provide you with a full consulting service for small business, scientific and educational computer systems User implementation is provided anywhere in the United States along with maintenance and service programs

Circle 226 on inquiry card. Write or call us for further information and details; ■ TM

£!£^AGE

803 N. Scottsdale Rd. Tempe, Arizona 85281 Phone:(602)894-1193

813 N. Scottsdale Rd. Tempe, Arizona 85281 (602)8941129

126S4N.28thDr. Phoenix, Arizona 85029 (602) 942-7300

2612 E. Broadway Tucson, Arizona 85716 (602) 327-4579

Photo 2: Installation of the melody box inside an Altair 8800 is accomplished by wiring various wires from the backplane of the computer. The power switch and volume control were mounted on the back panel of the computer, so that the melody box could be turned off.

pads and bus lines of the card is relatively small, so care must be used to prevent solder bridges from forming. I recommend a low wattage iron with a pencil tip. 25 to 30 W will work well.

The 20 variable resistors used can typically be found at prices from $.20 to $.49 depending on how good you are at shopping around. I mounted the actual melody box inside my Altair 8800, as shown in photo 2. The circuit connections to the Altair bus were made as shown in figure 1. When mounting the circuit inside the computer cabinet, care should be taken to prevent damage to existing boards of the computer. I found that covering the boards with a layer of paper was a good precautionary measure to prevent any splatter of solder. In order to make the Altair connections, you must remove the mainframe backplane board (the one with all the edge connectors) so that you can solder to the underside.

Software for the Melody Box

The melody box requires instructions to tell it what to do. In an organ, piano or other instrument, a special purpose keyboard gives instructions about what note to play and for how long. Making the melody box play a tune consists of writing a program to generate a time sequence of instructions.

A programming model for the melody box is summarized in figure 2. The data required for each note is the pitch of the note, and the length of the note. In the program I wrote for my Altair, I used one 8

bit byte to represent the pitch, followed by a second 8 bit byte with an integer count giving the length. A table of the pitch codes, referenced to a music stave, and a table of length codes with equivalent note symbols are shown as part of figure 2. The flowchart in figure 2 shows an algorithm which is easy to implement on any small computer. In my own system, I enter these codes with the front panel toggle switches and the "deposit" function.

Once you have coded up the details of a program which will execute the flowchart of figure 2, the first step is to tune the melody box. In figure 3 I've shown the musical representation of an ascending chromatic scale, as well as the corresponding table of byte values (in octal and hexadecimal) for the 2 byte note pitch and length codes required to play this scale. An arbitrarily long rest follows the end of data before the repeat. Tuning is accomplished by ear (assuming you know what a scale sounds like) while playing this chromatic scale with the program. The potentiometers of the circuit in figure 1 should be adjusted until the scale sounds "right."

As a second example, figure 4 shows a familiar tune, both in music notation and as a table of values for the music program to utilize. In the music notation, the table locations are written below in hexadecimal and octal to show how the two representations correspond. The limits on what tunes you can play are only dependent upon how much imagination you have and how big your Altair's memory is."

94

Continued from page 6

Rating or experienced user, tlie wealth of options available in the many varieties and permutations of 8080, Z-80, 6502, 6800 and 9900 systems at reasonable prices make it less and less likely that our readers vv'ill continue to be frustrated and annoyed by such devices of torture as job control, account numbers, contention for the use of a system, and the host of limitations encountered when commercial and industrial systems are twisted to personal purposes in "off" hours.

During the coming year, our third as a magazine born out of and devoted entirely to personal computing, we expect to see continued evolution in the field. The last half of 1977 represents the entry of several relatively large concerns into the marketplace, in the form of Heathkit this summer and Commodore soon to follow. Rumors have it that companies ranging from Atari and Bally Manufacturing (arcade games) to Radio Shack and Texas Instruments are in the process of developing general purpose systems appropriate for personal computing uses. This sort of "confirmation" of the marketplace's existence is bound to keep all firms on their competitive toes and ultimately benefit the user who is presented with more options and ways of achieving the personal computing function. (We even see the same phenomenon in our own subbranch of the industry, the publications devoted to personal computing.) Like all industries, we can expect to see ups and downs in the trend, but for the moment we certainly relish and enjoy the heady expansion and growth evident all around us. Once again, technology in its application to human affairs is having its effect, and our lives as individuals are being improved as a result, despite the pessimists, gainsayers and prophets of doom chattering on about their usual maudlin spectres. We have yet to see large and useful personal data banks, practical automatons and similar challenges which have been projected by the writers of "hard" science fiction. But even if such are seen in our lifetimes, one thing is certain: the challenge of technology and invention which so marks the human race will continue with new horizons, just as today's computer technology could scarcely have been envisioned 20 years ago."

COMPLETE

FLOPPY DISK SYSTEM

FOR YOUR ALTAIR/IMSAI

$699

That's right, complete.

The North Star MICRO-DISK SYSTEMTM uses the Shugart minifloppy^'^ disk drive. The controller is an S-100 compatible PC board w^ith on-board PROM for bootstrap load. It can control up to three drives, either with or without interrupts. No DMA is required.

No system is complete without software: we provide the PROM bootstrap, a file-oriented disk operating system (2k bytes), and our powerful extended BASIC with sequential and random disk file accessing (10k bytes).

Each 5" diameter diskette has 90k data byte capacity. BASIC loads in less than 2 seconds. The drive itself can be mounted inside your computer, and use your existing power supply (.9 amp at 5V and 1.6 amp at 12V max). Or, if you prefer, we offer a power supply ($39) and enclosure ($39).

Sound unbelievable? See the North Star MICRO-DISK SYSTEM at your local computer store. For a high-performance BASIC computing system, all you need is an 8080 or Z80 computer, 16k of memory, a terminal, and the North Star MICRO-DISK SYSTEM. For additional performance, obtain up to a factor of ten increase in BASIC execution speed by also ordering the North Star hardware Floating Point Board (FPB-A). Use of the FPB-A also saves about 1 k of memory by eliminating software arithmetic routines.

Included: North Star controller kit (highest quality PC board and components, sockets for all IC's, and power regulation for one drive), SA-400 drive (assembled and tested), cabling and connectors, 2 diskettes (one containing file DOS and BASIC), complete hardware and software documentation, and U.S. shipping.

MICRO-DISK SYSTEM ... $699 To place order, send

(ASSEMBLED) $799 check, money order or

ADDITIONAL DRIVES. . . $425 ea. ba or MC card # with exp.

rf-/i en date and signature. Uncer

DlbKL I 1 bb $4.50 ea. tjfjed checks require 6

FPB-A $359 weeks processing. CaMf.

(ASSEMBLED) $499 residents add sales tax.

NORTH STAR COMPUTERS, INC. 2465 Fourth Street Berkeley, CA 94710

95

Circle 227 on inquiry card.

Problems for Computer Solution by

Steve Rogowski, Teacher Edition. A collection of mathematical problems designed to stimulate thought and encourage research by students towards the goal of a final solution. The subjects range from arithmetic through calculus and on to problems that have yet to be resolved. An analysis of each problem provides ideas on logical approaches to a solution, and a sample program demonstrates one possible final solution. $9.95.

Chemistry with a Computer by Paul A

Cauchon. People are always looking for details of applications for the computer. It is one thing to say "gee whiz wouldn't it be nice if. . ." but such thoughts are but the stimulus to action. One result of a "gee whiz" idea is a series of educational and tutorial BASIC programs for use by teachers of chemistry, invented by Paul A Cauchon and published by Educomp Corporation. This book contains a collection of tutorial, simulation and problem generation programs which can be employed to advantage by teachers in high schools or colleges wherever a BASIC facility is available. If you're a chemistry professor or teacher by trade, or just a hobbyist interested in chemistry, this book will prove to be an invaluable tutorial aid. $9.95.

Take a Byte of APL

APL—An Interactive Approach Second

Edition, Revised, by Oilman and Rose. Here's an excellent way to introduce yourself to the APL language. APL is rapidly becoming one of the most popular high level languages in the computer field because of its clarity and conciseness. Oilman and Rose have extensively updated their popular book to include the latest information about the language and the various forms of it which are now in use. Since the examples are all carefully spelled out, APL—An Interactive Approach is particularly recommended for those who do not have access to an APL terminal. Answers to all problems are included. $11.95.

APL

The Underground Buying Guide, by

Dennis A King. Here at last is a source book for all those hard to find suppliers! It's designed especially for computer hobbyists, experimenters, hams and CB'ers, and can tell you where to buy items like connectors, discrete components, electronic music supplies, instrumentation, analog to digital and digital to analog converters, and synthesizers. The list goes on to include Teletypes, speakers, microcomputer software, cassette units, floppy disks and many other items. It will be an invaluable addition to your reference library. $5.95.

SS«(roind BMi,in( Guide

For llamj, CBeis, Experiiqenteri and Computer rlabbi|i>ts.

3 PCC S

i REFFRENCt BOOK

PCC'S Reference Book of Personal and

Home Computing. Ever try to find the addresses of some manufacturers of, say, tape cassette or floppy disk interfaces for micros? Frustrating, isn't it? Well PCC has done something about it. This book lists hundreds of companies and stores selling hardware, software, and services. Survey articles on software, hardware, kits, applications and the future for the experienced and the not-so-experienced user of micros. Also included in this edition are bibliographies for further reference, book reviews, and an index of the articles from the major hobbyist magazines. $4.95.

1 1

Check Payment method: |

■

Send to:

mm

My check is enclosed ■ Pill my Mi^ Mo Fvp HatP i

Bits, Inc.

70 Main Street

^^^^

Rill my PAf^ M^ Fvp HatP |

Peterborough NH 03458 g^™

Name Address

Tntal fnr all hnnks rhfrkpH $ I

PostRgp PiO rents ppr hook for boi^ks $ . ■

Citv State Zip Code

Signature

All orders must be prepaid. 1

You may photocopy this page if you wish to leave you

BYTE ir

itact. In unusual cases, processing may exceed 30 days. J

A NEW CHESS SPECIAL INTEREST GROUP

Recently three computer chess programs have become available to the computer hobbyist, and two dedicated chess playing machines have been announced. The newspapers carry news of the US and international computer chess tournaments.

With this growing interest, one would expect that there'd be some medium of communication among devotees of computer chess. But the only articles appear in obscure professional publications which the average reader never heard of. So, having tried to get someone else to do it, I decided to try to start a Computer Chess Newsletter, with the contents furnished by the readers, based upon a model provided by Hal Singer's pioneering Micro-8 Newsletter for computer users. Now the problem is to get contributions. Anyone with any interest in computer chess playing or programming, please write. So far no price, size, or frequency of publication has been determined.

We need letters and articles about experiences with specific programs, either on hobby machines or the larger programs available on some campus computers and some timesharing systems. In fact, we need a list of known programs. How do they compare, for strength, for speed of response, for the way the moves

are reported, the way the board is displayed?

Lots of hobbyists would like to try their hand at writing a chess program but don't know how to get started. Any advice or experience in this would be most appreciated. Also, descriptions of chess programs and their philosophies would be most welcome. There is not exactly a surplus of material to read on things like this.

Anyone interested in receiving the first issue should send a letter enclosing a couple of 13^ stamps to defray costs for the first try. I hope that a great deal of interest shows up in the form of contributions of material for the newsletter.

Doug Penrod

1445LaCimaRd

Santa Barbara CA 93101

For an interesting news item on the. subject of computer chess, readers should consult the June 1977 Scientific American, the "Science and the Citizen" column, page 56. This report covers the first computer program to answer chess master David Levy's 1968 challenge (which is up in 1978). The program was Chess 4.5, a product of Lawrence R Atliin and David j Slate of the computation center at Northwestern University. In ordinary tournament play, the chess program lost; in "blitz" high speed play, the program won handily. The

Ask BYTE

details and play-by-play account of the game are in the Scientific American piece. ■

INTERACTIVE COMMENTARY - APL ROMs CONTINUED

I have thoroughly enjoyed your magazine for some time now; even though I can't really be termed a "home hacker" (I run on a PDP-n/45 under RSTS or UNIX), it is still interesting and very informative. Keep up the good work!

I would like to comment on a few letters from recent issues. First, on the APL character set ROMs: I would love to see this developed, and made available soon and relatively inexpensively. APL is a wonderful language, but is not widely enough available to be well known. I have worked on an APL interpreter for our 11, which is compatible with APL/360; however, we don't have enough APL terminals, so I thought of getting some ROMs burned for DECwriters, but it turned out to be too

WE PAY POSTAGE!

ELECTRONICS

TERMS: ORDERS UNDER $15 ADD $.75. NO C.O.D. WE ACCEPT VISA AND MASTER CHARGE CARDS. MONEY BACK GUARANTEE ON ALL ITEMS. TEXAS RESIDENTS ADD 5% SALES TAX.

P. 0. Box 401247. Garland, Texas 75040 (214) 271-2461

16K E-PROM CARD

S-100(1MSA1/ALTAIR) BUSS COMPATIBLE

$69.95 (KIT)

IMAGINE HAVING 16K OF SOFTWARE ON LINE AT ALL TIME! KIT FEATURES:

1. Double sided PC Board with solder mask and silk screen and Gold plated contact fingers.

2. Selectable wait states. X USES

3. All address lines and data lines buffered!

4. All sockets included.

5. On card regulators.

DEALER INQUIRES INVITED KIT INCLUDES ALL PARTS AND SOCKETS! (EXCEPT 2708's)

SPECIAL OFFER: Our 2708's (650 NS) are $12.95 when purchased with above kit.

2708

1KX8 EPROMS

2708

Prime new units from a major U.S. mfg. 650 N. S. access time. Equivalent to four 1702A's in one package! GOING INTO BUSINESS SALE!

$15.75

each

8K LOW POWER RAM KIT

(S-lOO BUSS COMPATIBLE)

$149.00

(Kit of All Parts and Sockets)

The last word in RAM Kits. Uses 21L02-] RAM's. All address and data lines fully buffered. PC Board is solder masked and silk screened and has gold plated contacts. Four regulators with heatsinks included.

97

Circle 315 on inquiry card.

expensive. If some other people want to get together and get them done, count me in! Also, If anyone out there is working on a "tiny APL" for an 8080 or another microprocessor, contact me; I'd like to hear what you're doing. I've given it some thought myself, but don't have a microprocessor handy to play with.

Second, to P M Lashley in February 1977 BYTE, I must say that while FORTRAN may be a "virtual pterodactyl," It does have its merits, the biggest one being portability. I program in "C" mainly, a beautiful language, impeccably cleanly structured; but how many of you out there have heard of it, much less know where you could run it? This Is the one point in which FORTRAN outweighs its competitors; however, much better they may be. If this Is of no concern, be my guest and scrap FORTRAN! (I'll help!!)

Thanks for a fine mag. I'm sure I won't be disappointed in the years to come.

Christopher A Kent

935 Burney Ln

Cincinnati OH 45230

Having recently conversed with a representative of a firm planning an APL "black box" computer, we found that according to the gentleman in question a full APL interpreter does not have to be an emulation of a 360 with several

hundred thousands bytes (as is the case in I Bill's 5100 APL). This caller claimed it was possible to Implement APL for an 8080 or Z-80 in under 12 K bytes with clever programming. See Mike Wimble's articles for the algorithms.'

MORE BASIC QUESTIONS

In your March 1977 BYTE, you listed a Space War game in BASIC written by David Price (page 106). In his game he uses the instruction MAT. I have just purchased an SwTPC 6800 12 K byte computer with SwTPC's 8 K BASIC. SwTPC's BASIC does not have a MAT instruction. My question is: What can I use to substitute in place of the MAT instruction?

Steve Wright

13900 SB Highway 212, SP#74

Clackamas OR 97015

777e MAT refers to "matrix" operations. In David Price's program, the concept of a matrix (often a two-dimensional one) is used to represent a twodimensional array of values. For example, line 520:

MA T K=IER (3,3)

The "MA T" at llie beginning of a line is your cue that an array or "matrix" Is Involved. In the statement above, this would be equivalent to writing:

DIM K (3,3) FOR 1=1 TO 3 FOR 1=1 TO 3 K (1,1 )=0 NEXT I NEXT t

(The DIM is only needed once In a program, at or near its beginning.) In David's program, the MAT statements are essentially used only to allocate storage for matrix data type arrays, followed by Initialization similar to the example shown. There are other operations applicable to matrix data, but most uses of the matrices in David's programs refer to components, once values have been Initialized. If you do not have a two-dimensional array facility, a much more difficult simulation of two-dimensions is also possible. ■

SOME BASIC VARIATIONS

I put the March 1977 BYTE "Star Trek" program (page 106) on disk in an IBM VM 370 operating system with a timeshared terminal. I encountered several problems due to the differences between VM 370 BASIC and the version used by David Price in his program. Most were solvable with the help of a guide at the end of the article, but a few still have me stumped.

Continued on page 209

No bells or whistles...just performance, a warranty and a low price.

ills.

iiii

III! I.

h^..— ™-,^.,

I iiiiiiiiwy.n ■'oi*"

Mfl^T.

^M

i^sm tiSsoi

I *" ' Miai HMI^ #ai^ Mititlisi^ XiSia M^sa

M^ ^INltaf^ HFtftMCiJ)

ifel^l I ^ * '

^i I I i i I I

For $107.00 take your choice; the 4K RAM board or the alpha video board. For $137.00 the video graphic board can't be matched. (8K RAM and much more on the way.)

These are not kits, but completely assembled, burned-ln, tested boards with a 1 year warranty. No soldering, no messing, no chance of mis-connections . . . just plug 'em in and you're ready to go.

The 4K RAM has the same features and speed as what you're used to (500 nsec, no wait states) but with a couple of extras you might not expect. Like a mechanical write protect switch that gives you positive memory protection. And Visaddress'', an easily accessible switch on top of the board for easy to read address selection.

The alpha video board offers Visaddress address selection and displays 128 ASCII characters: both upper and lower case. A standard 16 line by 32 character format with character selectable video reverse and socketed ROM are standard features. (Character generator ROM available with standard graphics characters. Optional Greek or ASCII control characters available.)

And our video graphic board gives you an exceptionally easy approach to computer animated dynamic displays.

Our matrix approach allows direct addressing of each dot in an 128 by 96 array, simplifying dynamic movement. And unlike DMA displays, our on-board RAM allows your CPU card to do other work during display time and with no dynamic RAM problems. And like our other boards, it has Visaddress address selection.

Quality, assembled boards at less than kit prices. But what else would you expect from a company whose prime product is electronic test instrumentation and microprocessing components?

Order direct, by check, BankAmericard or Master Charge (Add $1.50 shipping, credit customers give us all the card numbers, please and Ohio residents add 414% sales tax) or contact us for more information. Kent-Moore Instrument Company, P.O. Box 507, Industrial Ave., Pioneer, Ohio 43554. (419) 737-2352.

Circle 229 on inquiry card.

98

\rd!

DO IT BETTER

With the Umguage that is best suited For your apphcation: Business programming in COBOL, Scientific and Engineering in FORTRAN IV, Educational in BASIC, and Systems Implementation in our MACRO ASSEMBLER.

With hardware that will grow with your application, and protect your software investment.

^ DO IT FASTER

With extensive sujDport and utility programs to speed development of your applications software. These include a Diskette Operating System, Relocatable Linking Loader, Load Module Library Editor, Symbolic Debugger, and Text Editors.

With a 16 bit processor that includes hardware multiply and divide, real-time clock, and peripherals like single or dual diskette subsystems with integral DMA controller.

DO IT WITH A MIcroNOVA

^iU

^

If you are serious about computing, call or write today. BPl Inc., 2205 East Broadway, Suite 6, Tucson, Arizona 85719 (602) 326-6975

® NOVA is a registered trademark of Data General Corporalion, Southboro, Massachusett

Circle 230 on inquiry card.

SYNCHRO-SOUND Enterprises

Your Small Computer Department Store

One-stop shopping for Hardware and Software

MEI^I

LEARSIEGLER

ADM-3A TERMINAL

Full addressable cursor.

Character Generation— 5x7 dot matrix.

Display Format— Standard: 1920

characters, displayed in 24 lines of 80

characters per line.

Character Set— Standard: 64 ASCII

characters, displayed as uppercase, plus

punctuation and control.

Communications Rates— 75 to 19,200

baud (switch selectable).

Computer Interfaces— EIA standard

RS232C and 20mA current-loop (switch

selectable).

Data Entry— New data enters on bottom

line of screen; line feed causes upward

scrolling of entire display with top-of

page overflow. Automatic new line

switch selectable, end-of-line audible

tone.

ADM-3A Kit 795.00

ADM-3A Assembled . . 895.00 Lower Case Option . . . 89.00

Compare our PRICES, PRODUCTS, QUALITY, DELIVERY, SERVICE ... we carry everything you need in small computers, terminals, printers, monitors, keyboards, accessories. We'll meet or beat competitive prices on everything we sell!

IMSAI 8080 MICROCOMPUTER

IMSAI 8080

i^ESTlBiiP^?' iipii^"

Powerful • Easy to use • Low cost

With 22 Slot Mother Board.. .$619.95 With Z-80 CPU 849.95

OKIDATA Model 110 Line Printer

• 110 CPS dot mat

Friction Feed $1099.00

Tractor Feed 1229.00

RS 232C Serial Interface.. .250.00

SPECIAL BUYS

HAZELTINE Modular One Video

Terminal $1639.00

SORAC IQ120 Video Terminal Kit 959.00

DEC LA180 Printer 2769.00

COMPUCOLOR8001 Color Graphics

Computer 2595.00

ICOM Microfloppy Disc & Controller.. . 989.00 NORTH STAR Microfloppy Disc &

Controller 599.00

OKIDATA Model 22 Printer 2095.00

OMNITEC 401C 300 Baud Modem 300.00

2708 EPROMS 29.95

OAE Papertape Reader 69.95

SOL 20 In Stock For Immediate Delivery

MEW

COMMERCIAL QUALITY KEYBOARD

The Model SS-1 Communications Terminal is a non-contact capacitive keyboard with a guaranteed life of over 100,000,000 operations.

• MOS/LSI Encoder with high reliability low power consumption.

• Key Roll Over which eliminates operator error and increases thruput.

• Hysteresis for tease proof operation.

• Solid State performance at mechanical switch prices.

• Tactile Feedback at the operate point.

• ASR-33 Array with four mode encoding.

Keyboard Kit $99.95

Enclosure (with numeric

cutout) 49.95

Numeric Pad 34.95

Complete Kit (witin pad)179.95 Assembled Unit

(with pad) 229.95

DECwrlter II

SOFTWARE

Attention ALTAIR DISK Owners

Now available—an Accounts Receivable System for the small user. This system is expressly designed to be run on an 8080 based microcomputer using an Altair floppy disk with Altair Basic, Video Terminal and Printer Many features normallyfoundonlyon large scale computers are included. Provided are such functions as: Adding New Customer Accounts, Deleting Dormant Accounts. Transaction Processing, and Report Generation. The Monthly Statements include both current and aged balances. Other reports generated are the Aged-Accounts Receivable and Delinquency Notices.

This easily usable system requires very little operator training. All communication is in an interactive mode with the program constantly prompting the appropriate responses. Operator errors are easily corrected and accidental data base deletions are prevented by requiring additional confirmation.

This Accounts Receivable System, although supplied ready for use, may readily be modified to include special installation-dependent functions. All major programs are written in high level language making program additions and alterations a simple task. This program module is designed to serve as the basis for a complete accounting package. Provisions are included for linking Billing Inventory Control and General Ledger modules which will be available in the near future.

We carry a full line of the following: TDL, OAE, Processor Tech., Hayden, Tarbell, IMSAI, Cromemco, Compucolor, Icom, Lear Siegler, Okidata, DEC, Javelin, Teletype, North Star, Heuristics, Peripheral Vision, TRW. Same day delivery and shipping on most items. Full, modern repair facilities on premises for complete servicing of everything we sell.

Circle 231 on inquiry card.

SYNCHRO-SOUND Enterprises

The Connputer People

193-25 Jamaica Avenue, Jamaica, New York 11423 • 212/468-7067

Hours 9-4 daily Visit our new showroom .

and Saturday working units on display

Dept. B BankAmericard • Master Charge

• 132 column printing • 30 CPS

• Full keyboard • Tractor Feed

$1769.95

! i Please send

me

furth

er information on

(list

items)

Price

List

n

Namp

City

Statfi

Zip_

—

System Description: The Noval 760

Here is the designer's eye view of a new product wliicli represents one of the most complete ready to run computer packages seen to date. Introduced with a 4 page advertisement in June 1977 BYTE, this manufacturer's product description provides some more detailed information for readers' inspection and evaluation.

Lane T Hauck, Director of Research and Development

James D Nash, Senior Systems Programmer

Noval Inc

8401 Aero Dr

San Diego CA 92123

The first wave of personal computing hysteria seems to have subsided. A casual stroll through the West Coast Computer Faire last spring served as a pretty clear indication that the small computer user has grown up in a big hurry. We now hear these alleged "kids" rapping about relocatability, graphics generation and memory design, a far cry from the "dumb" user concept.

The Noval 760 computer was designed to fill the needs of the advanced hobbyist, who has a serious interest in learning about writing and using software. The system emphasis at Noval has been placed on provision of a unified hardware and software package which facilitates program development. The Noval 760 system does/70f allow the user to pick up a 4 year degree in computer science within two weeks by following the manual, but it does simplify some of the "dog" work required to design, write and debug programs written for amusement or more serious business.

The most startling aspect of the 760 is its package. The computer system is housed in an attractive desk, which in its "folded"

position is a piece of contemporary furniture. It is, in fact, fully functional as a desk, complete with drawer space. However, lifting the rear half of the desk top (photo I) reveals a computer console with video display and cassette mass storage. The center drawer pulls out to reveal a full alphanumeric keyboard.

The design philosophy of the 760 system is to provide a fully assembled and tested computer, with everything needed to develop and run programs. This philosophy is carried through all aspects of the hardware and software, and especially in the way the hardware and software work together.

Hardware

The Noval 760 computer is based on an 8080A microprocessor. The standard hardware includes:

• 16 K bytes of user program memory.

• 3 K bytes of PROM systems software.

• 1 2 inch (30 cm) solid state monitor.

• Full alphanumeric keyboard.

• 32 column printer.

• Digital cassette tape unit with full electronic control.

• Eight built-in 10 ports (three user available).

• Heavy-duty power supply.

• Graphics system, including 1 K bytes of user programmable refresh memory, 2 K bytes of user programmable char

102

acter generator memory, and bytes of scratch pad memory.

1 K

Dynamic memories witii invisible refresh are used for all programmable memory. No memory wait states are generated, and full refresh is maintained when the system is halted. An optional second memory board expands the system to 32 K, and PROM expansion to 16 K is optional.

The standard software PROM occupies 3 K bytes, with sockets for an additional 1 K bytes of user supplied PROM. The system uses a direct video monitor for a clear, crisp display. The wide bandwidth attained using the direct drive approach is especially important in the high resolution graphics mode.

The drawer mounted keyboard has all the standard ASCII keys, plus special control keys for video games, such as up and down arrows. The keyboard is scanned and encoded using software, so that key codes may

be arbitrarily assigned, if desired.

The printer is a dot matrix impact printer, manufacturered by LRC Products Inc. Rather than employing a standard ROM for character generation, the software creates the images to be printed. This allows user defined symbols to be created along with standard ASCII characters, a graphics mode which enhances the usefulness of the printer as a plotting device.

The tape mass storage unit is a PhiDeck, with Noval designed electronics, capable of reading and writing at 2500 bits per second. This allows a 4 K byte program to be loaded or saved in about 20 seconds.

The 10 system is implemented using a distributed logic technique. One corner of the main printed circuit board is devoted to eight parallel connected Molex connectors of 20 pins each. All signals from the processor which are necessary to implement the first eight ports (ports 0 to 7) are bussed to these

Photo 1: The Noval 760 is shown in this picture as it appears in its natural setting for use: unfolded in a living room, office or den. The console with display and cassette drive folds into the desk and the drawer with its keyboard closes, so that when not in use the Noval 760 blends into the decor as a desklike wood tone piece of furniture.

103

connectors. The cable for any peripheral is terminated by a snnall printed circuit board which contains four integrated circuits which actually implement the 10 port.

The graphics system is one of the nicest aspects of the Noval hardware. The display system contains its own 4 K byte volatile memory which is dedicated to image generation and display. Control of the screen is done using a memory mapped approach, so that every screen location has a unique memory address. This allows fast access to any screen location using any of the 8080A memory referencing instructions.

The graphics system is character oriented with user defined character graphics. 1 K bytes of the video memory are devoted to holding the character codes for the screen which are accessed every time the beam scans the CRT. The screen is organized as 28 rows of 32 characters each. The character codes span a full 8 bit range which gives the capability for defining 256 different characters. The characters are formatted as an 8 by 8 array of "dots." The definition of these dot patterns is contained in a second 2 K byte image memory, also user programmable. (A little figuring shows that to represent 256 different images of 64 dots each requires 2 K bytes of memory.) Since, like the refresh memory, the image memory is treated like any other 8080A system memory, it can be directly accessed using conventional memory reference instructions. "Loading" the character generator is simply a matter of writing bit patterns (which will be displayed as dot pattern on the CRT) into consecutive memory locations.

What about color? This feature is built into the system, but an external color monitor is required to use it. The system allows the user to define four different color "schemes" for use with such a monitor, where each scheme consists of eight pairs of image and background colors. Although the color schemes themselves require burning a 32 by 8 PROM, selection of one of the four is done in software.

1 K bytes of memory physically located in the video system are available for general purpose use. In all Noval system software, the 8080A "overhead" variables such as the stack data and system flags are stored here, so that the user has maximum use of the 16 K byte (or 32 K with expansion) memory elsewhere in the system.

The development of hardware for the Noval system was closely paralleled by intensive software development. It is the "cooperation" between these two disciplines which we feel has produced a successful integrated package.

Software

Noval software is organized around a number of utility and supervisory routines which are collectively referred to as the system "monitor." In the minimum system configuration, a 3 K byte PROM resident segment of the monitor contains a command processor, a few utility routines and the software required to communicate with the front panel, keyboard, CRT and cassette tape. The primary function of this 3 K program is to load other monitor and system routines from cassette (unless a PROM option has preloaded this data).

Standard software includes an editor, assembler, debugger, and a graphics character generation package. As an option, all of the above software can also be installed in PROM. A BASIC interpreter is also available.

Editor, Assembler and Debugger

The Noval editor, assembler and debugger for 8080A code have many unique features. Before examining this system, however, let's quickly outline what these development tools are traditionally designed to do.

An editor allows you to enter, format and modify ASCII text. Input to the editor is either old text which is to be modified or new lines of text which are typed in. Text output from the editor is used as input to the assembler. The assembler input is called a source program. The assembler translates the "source" into binary codes which are intelligible to your processor. Traditionally on large machines and many minicomputers editors and assemblers are independent programs; text created by the editor must be saved somewhere while the assembler is being loaded. When the assembler has been loaded, the edited source program can be reloaded and assembled.

When assembly is complete, the assembler produces a listing of the source program and the associated binary codes. The binary codes are called the object program. The assembler output also includes a list of errors found in the source program. Perhaps you typed MOB A,B instead of MOV A,B, or maybe you forgot to define label "LOOP." So back you go to the editor. Load, reedit, save, load, reassemble, .. .

The Noval system uses an interactive approach to editor and assembler design. The Noval editor can be used in a mode which checks each line of proposed assembly language code for syntax errors as it is entered. Thus when you type "MOB A,B" and attempt to insert it into the text, the editor does not allow the line to be inserted. Instead, an error message is issued and the

104

Visibly increase your computing power.

Want results you can see?

Take a close look at the Soroc IQ 120 CRT terminal. It can augment the computing power of your system and provide you with more flexibiLty than before.

Yet, it's priced low.

If you think the SMART TERMINAL is going to cost you an arm and a leg, for a few more features - THINK AGAIN!

For a suggested retail price of $995.00 only, the IQ 120 gives you upline, tab, home, and absolute

cursor addressing in addition to the usual forespace, backspace, downline, new line, and return.

And, besides full or half duplex conversation mode, the IQ 120 provides block mode so you can transmit a line or a page at a time.

What's more, it offers field protection, auto repeat, and a numeric pad. Plus 15 switch-selectable baud rates, 80 x 24 standard format, and a standard RS-232 interface.

Contact us for more information

today. We think you'll like seeing things our way.

SOROC Technology, Inc., 165 Freedom Avenue, Anaheim, Califomia 92801. Call (714) 922-2860. For those calling outside of Califomia, call toll free (800) 854-0147, or one of our authorized distributors.

G

Circle 232 on inquiry card.

TECHNOUOGY, IMC.

See us at 77 Consumer Trade Fair, Booth #306 in Computermania, Booth #519.

line must be retyped. The method used involves the editor and assembler working together; the assembler is called by the editor to check the syntax of each proposed instruction. The editor cannot check for every possible assembly error condition, but errors that are caught constitute a large percentage of typical assembly errors. The editor's interactive assembly mechanisms can, of course, be disabled to allow input of arbitrary text as well.

The mechanics of using the editor and assembler have been kept as simple as possible. A 2 letter keyboard command (ED) calls the editor from the monitor's command processor. The first 24 lines of text (if any) are displayed immediately. Each line of text has been automatically assigned a line number. One letter keyboard commands allow you to insert (I), erase (E) or change (C) lines. Up arrow (t) and down arrow (I) allow viewing of previous or upcoming pages of text. Any specific section of text can be displayed by simply typing the line number. A search command (S) allows capability to search for any ASCII string. All editor commands immediately display the results of command execution. An inserted line, for example, is immediately displayed along with its neighboring lines.

The "ESC" key causes exit from the editor and returns control to the monitor command processor. All assembler commands work directly on prescanned text created by the editor, with no need to save intermediate results. Assembler options include capabilities to assemble and list errors, assemble and print assembly listing on the printer, assemble and display a listing on the CRT, and execute the object program after assembly. When assembly errors are noted (most are undefined labels since syntax is checked during editing), the editor can be immediately recalled and the source program modified. The Noval editor and assembler interaction helps minimize the time spent in the program development cycle, a concern which is just as important to the amateur as it is to the professional programmer.

The monitor save text command allows saving any number of lines on the cassette tape. Special assembly commands allow segments of the large source program to be read into memory, assembled and linked to previously assembled segments. Very large programs can be assembled in this manner. The ultimate size limitation essentially depends only on the amount of available memory.

When the source program has assembled properly, typing OD transfers control to the Noval ODT (On-line Debug Technique) com

mand processor. From here insertion of software breakpoints and use of the ODT jump command allow the user to execute any segment of object program. Before the jump all 8080A registers can be preset. Upon hitting a breakpoint (a dedicated restart instruction, "RST2"), the breakpoint address is displayed along with all register values, the stack pointer address and previous elements on the stack. When the entire development procedure is complete, the debugged source and object programs can easily be saved on cassette tape.

Leave the Driving to Us

Communication between the central processor and peripheral equipment in this (or any) system is accomplished with software "drivers." Drivers deal with the detailed workings of system input or output, and, at best, are organized to make such communication an easy task. Drivers for all peripherals in the Noval system are included in the standard PROM monitor. Also included is extensive documentation on how to use each of them. Furthermore, the monitor includes a large number of utility routines which can be used for special purpose programming applications. Examples include a routine to print ASCII text on the screen; routines to create and display graphics characters; a routine to find a keyboard key "push" and return the ASCII code for the key. In total, the user of the Noval system has access to over 75 systems routines which can be used in a variety of applications.

An Eye Toward Revision

One problem with accessing drivers using subroutine calls is that absolute address of the subroutine must be known. As subroutine revisions are made, absolute addresses change and all references to subroutines must be modified. Typically, a reassembly of a large amount of user applications software is required each time system subroutines are modified. [Perish the thought.] Noval monitor utility routines can be called without knowing the absolute address of the routine. To call one of these routines, the programmer inserts an "RST7" instruction followed by a 1 byte constant which identifies the desired routine. As an example,

RST7 (Restart 007) DB17 (Define Byte 017)

calls utility routine number 17, which erases the display screen. The restart 7 data (the "DB 17" above) is used by the monitor to

106

Talk to your computer for *299 with SpeechLaB.

Use SpeechLab to directly control any S-100 Bus Computer such as Sol, IMS AI, Altair and so on. SpeechLab can teach you almost as much as the Bell Laboratories know about voice recognition, voice control and computer input.

SpeechLab digitizes and extracts data from speech wave form and applies pattern matching techniques to recognize the vocal input. Response is real time. The system features 64 bytes of storage per spoken word and can handle up to a 64 word vocabulary. And recognition after very little practice is 95 percent or better.

$299" assembled and tested

When we talk price everybody's skeptical. And why not? We give you a complete hardware/software system, a 275 page laboratory manual, 95 page hardware manual and high fidelity microphone.

The lab manual includes 35 graded experiments with over 100 tables and graphs. In -o fact, it's the only introductory S volume on speech recognition 3 currently available. .?

Software includes §

SpeechBasic Basic program- " ming language in source and ^

u •Available in kit form for slightly less. Q

paper tape, assembly language speech recognition program in source and paper tape, hardware self-test program in source and paper tape. SpeechBasic plot, correlation, recognition and advanced recognition programs are offered in source.

Hard to believe, you bet. True? A Los Angeles customer says, "I love your kit!!! I have 40 boards and 2 IMSAI's and your kit was the best documented of them all. I love the way you integrated the software and hardware together. I love your lab manual'.'

We loved those comments. They tell the story better than we ever could. The LA customer did ask who the founders of the firm were so he could relate better. They're a couple of

r"

gifted young engineers who got tired of the big firm, big technology trip and decided to take a chance with a better idea.

You can't get better quality You can't get more performance

Sure, more complex, higher price equipment is available for about 50 times more money. It won't do much more than you can do with SpeechLab. And the quality and state-of-the-art engineering can't be any better. We use CMOS design for low power and ultimate reliability.

See SpeechLab at your nearby computer store

Selected computer stores have SpeechLab on display. Visit your nearest. If he doesn't have it, ask him to contact us or simply write us directly.

Heuristics, Inc., Box B, 900 N. San Antonio Road Los Altos, CA 94022, Phone (415) 948-2542

n Send me SpeechLab. I enclose $299. California residents add sales tax.

n Send me more information.

NameStreet

index into a "call" or "jump" table. Entries in the table contain the absolute addresses of the utility routines, thereby freeing the programmer from having to deal with absolute addresses. This technique assures that programs which call the monitor system routines will execute properly with all (including future) versions of monitor software. RST 6 has been reserved for the user to construct a similar call table for his or her own use. Two dedicated locations in scratch pad memory are used to specify the starting address of the call table.

And an Eye to Graphics

Another 2 letter monitor command (GR) transfers control to the graphics character generator command processor. Simple keyboard commands allow the user to place any of 256 current character definitions at any screen line and column; create or modify character graphics by defining individual dots within an 8 by 8 matrix; erase the screen; select a graphics color scheme; or save a created set of characters on cassette tape. The characters created in this manner can be used by routines created by the editor and assembler.

Nova! BASIC

Noval BASIC is available as a minimal cost option. However, a prerequisite for running this version of BASIC is that the entire system monitor (including the editor, assembler, etc) be installed on PROM. The reason for this requirement is that some of

the extended features of Noval BASIC require use of editor and assembler subroutines. Noval BASIC itself occupies 6 K bytes of memory, and is available in both volatile memory and PROM versions. If the PROM version of BASIC is installed, a total of 16 K bytes of systems software resides in a Noval 760.

Consistent with the overall Noval design philosophy, BASIC has been enhanced to take full advantage of system flexibility. Some of the features are graphics character generation and display capabilities; color selection capability; saving and loading programs from cassette tape; listing programs on the printer; fast BCD floating point package; full control of display screen presentations, including cursor positioning; single and double dimensioned arrays; and the ability to call monitor and user assembly language subroutines.

Although the Noval BASIC interpreter is designed to be consistent with the 1974 ANSI I standard (which presents a "standard BASIC"), the extra features of this system require some differences. Some of the most useful "extras" of this version concern the use of monitor subroutines and the development of user assembly language subroutines. Noval BASIC allows the user to preset all 8080A registers before a call to an assembly language routine whether it is in the monitor, or user created. Similarly, all registers can be read after the call has been completed. The statement SYS (n) calls system routine number "n." The USER statement provides a similar facility for user defined routines.

Interpreting Specs

The effective resolution in each 8 by 8 spot character cell is equivalent to 256spots horizontally, 224 spots vertically. Keeping one character definition for the "null" (all spots off) condition, and using 255 character definitions for active (nonnull) graphic information, any picture which requires use of less than about 28% of the full screen area for active video information (restricted to the 28 by 32 character cell grid) can be represented. If the picture has repeating subelements which can be programmed into the matrix of character cells, then more of the screen can be covered with meaningful Information. Animation graphics can be smoothly represented on this grid by devoting small groups of programmable character cell definitions to picture elements which evolve with time. . . CH

About the Manufacturer

Noval was formed about a year ago as a sister company to Gremlin Industries, an established manufacturer of electronic arcade games. The goal of Noval is to provide the personal computing user with the microprocessor technology which Gremlin has developed in-house and refined over a 3 year period. This explains the heavy emphasis in the Noval system on assembly language, graphics and game-oriented features. Additionally, Noval is involved in a continuing research project with the San Diego school system, called Telemath, in which tutorial games are designed around mathematical learning objectives for grade levels 2 thru 6. Out of this effort has evolved a mathematical game library of over 50 programs to date. All Telemath programs are available to Noval system users, as are selected Gremlin Industries arcade games, which until now were rarely seen in homes and offices."

108

XimEDiA P^E^En»

The SOROC10120

CURSOR CONTROL. Forespace, backspace, up, down, new line, return, home, tab, PLUS ABSOLUTE CURSOR ADDRESSING.

TRANSMISSION MODES. Conversation (half and full Duplex) PLUS BLOCK MODE — transmit a page at a time.

FIELD PROTECTION. Any part of the display can be "protected" to prevent overtyping. Protected fields are displayed at reduced intensity.

EDITING. Clear screen, typeover, absolute cursor addressing, erase to end of page, erase to end of line, erase to end of field.

DISPLAY FORMAT. 24 lines by 80 characters (1,920 characters).

CHARACTER SET. 96 characters total. Upper and lower case ASC11.

KEYBOARD. 73 keys including numeric key pad.

REPEAT KEY. 1 5 cps repeat action.

DATA RATES. Thumbwheel selectable from 75 to 19,200 baud.

SCREEN. 12 inch rectangular CRT - P4 phosphor.

SPECIAL INTRODUCTORY PRICING

Kit $ 995.00 Assembled $ 1,295.00

{Price includes blocl< mode, lower case and 24 line options.)

Specials of the Month

North Star Micro Disk

with power supply and cabinet Kit — $699

Assembled -$799

IMSAI 1-8080 with TDL ZPU Kit - $825

Assembled - $975

Digital Systems FDS Disk Drive with CP/M Software (assembled only) . Single - $1,750

Dual -$2,350

Mountain Hardware PROROM Kit - $145

Assembled -$210

Vector Graphic 8K RAM Kit - $235

Assembled - $285

XIMEDIA OFFERS A FULL RANGE OF PRODUCTS FOR THE PERSONAL COMPUTER ENTHUSIAST AND THE SMALL SYSTEM DESIGNER. LET US QUOTE ON ALL YOUR HARDWARE AND SOFTWARE NEEDS.

OUR RETAIL STORE - THE COMPUTERIST^"^ - IS NOW OPEN IN SAN FRANCISCO. CALL US FOR DIRECTIONS.

NOW WE'RE TOLL FREE

800-227-4440

in California, Hawaii, and Alaska, call collect: 415/566-7472)

Circle 228 on inquiry card.

XililEDiA

1290 24th Avenue, San Francisco, CA 94122 (415)566-7472

COD orders freight collect. Orders with payment shipped prepaid. Californij

residents add 6% sales tax. Please allow 3 weeks for delivery.

Whafs New?

Microsoft Announces 8080 FORTRAN IV Compiler

Microsoft has announced a FORTRAN IV compiler for the 8080 microcomputer. Called FORTRAN-80, the compiler is a full implementation of ANSI Standard FORTRAN with the exception of the double precision and complex data types.

FORTRAN-80 provides three data types including: logical (1 byte), integer (2 byte), and real (4 byte floating point). An extended version of FORTRAN-80 with double precision and complex data types is forthcoming.

The compiler generates pure, relocatable code which may be placed in ROM. The run time package may also be placed in ROM. This 1 pass compiler requires less than ] 2 K bytes of memory.

the run time system less than 6 K bytes.

A relocating linking loader is included with the FORTRAN package so that subprograms may be compiled separately and linked at load time. This also means that only the specific subprograms required are loaded (including system subprograms).

Another part of the package is a relocating assembler and an assembly language debugging program. The assembler may be used to produce FORTRAN compatible subprograms. The debugging system may be used with the load map produced by the loader to debug FORTRAN and/or assembly language programs.

Additional features of Microsoft FORTRAN-80 include:

• Multistatement code optimization.

• Mixed mode expressions.

• All standard FORTRAN library functions for reals and integers.

Individual copies of FORTRAN-80 may be purchased for $500 including documentation. The manual is $15; OEM (original equipment manufacturing) licenses are available. Contact Microsoft, 819 Two Park Central Tower, Albuquerque NM 87108.

Circle 644 on inqiurv card.

A New Catalog from E & L Instruments

The Complete Bugworks Catalog is the name of E & L instruments' new publication describing such items as solderless breadboards, op amp designer modules and socket boards. The Bugbooks series, which teaches electronics and microcomputer theory, is also offered. Copies of the catalog may be obtained by writing to E & L Instruments Inc, 61 First St, Derby CT 06418."

Circle 651 on inquiry card.

How to Sell Your Product

The Handbook on Marketing for Electrical Engineers is a 127 page softcover manual available from Schoonmaker Associates, PO Drawer, Coram NY 11727, lor $25.50. The book discusses the marketing of technical products and covers such topics as product planning, pricing, sales forecasting, publicity and tactics for the small company. Additional titles on related subjects are also available."

Circle 652 on inquiry card.

Prototype Cards for SWTPC 6800 Bus

Two prototyping boards for either wire wrap or soldertail and wiring pencil are now available from Personal Computing Company, Dallas TX. These boards are either 10 size or memory size. Since they use Molex connectors at the bus interface, they are compatible with the SwTPC bus structure and mother board. In addition, other connectors are provided to allow off board and 10 functions.

The cards are arranged in rows of holes with the holes on 0.1 inch (0.25 cm) centers and the rows on 0.3 inch (0.76 cm) centers; no pads are dedicated to either power or ground; however, power and ground buses are provided throughout the card. Bypass capacitor locations are provided to eliminate power line noise. Two regulators can be installed in special locations on the memory size card. The 10 size card has provision for one regulator. The memory size card is $19.95, and the 10 size card is $9.95. Contact Personal Computing Company at 3321 Towerwood, Dallas TX 75234."

Circle 650 on inquiry card.

Computer Warehouse Store Catalog

The Computer Warehouse Store, 584 Commonwealth Av, Boston MA 02215, is perhaps the largest new and used computer equipment store in the world. Their new catalog (of similar proportions) lists a wide range of brand name kit and assembled computer products. In addition, there is much tutorial information along with microprocessor comparison charts and a multitude of onetime bargains. This is a true computer hacker's "wishbook" of useful equipment and accessories. The catalog is available free from the above address."

Circle 656 on inquiry card.

New... a breadboard for your

Altair/lmsai.

HTC88P kit $138

write today for specs Homestead Technologies Corp.

891 Briarcliff Rd. NE Suite 8-11 Atlanta, Georgia 30306

dealers please inquire

COMPUTER

Telefile makes computers work better and faster. Our company, a leader in the unlimited world of computer enchancement, has the rare opportunity for

•Diagnostic programmer with a minimum of 2 years experience in communications and assembly level programing.

•Technician hardware checkout, P. C. Board and documentation experience required.

•Draftsperson at least 3 years P. C. Board, layout/tape-up, logic diagram or assembly background necessary.

Telefile is the right company at the right time and the right place for the exceptional applicant.

If the challenge of success is your goal, send your resume in complete confidence

*° D. E. White V P o1 Engineering

Telefile Computer Corp

17131 Daimler Street, Irvine, CA 92714

We are an equal opportunity employer.

CONVERT ANY TV

TO A HIGH QUALITY MONITOR

. Hot Chassis or Transformer sets . 64-80 characters per line

• By-passes tuner & I.F.

• Normal viewing unaffected

• Safe—Easy installation

ACVM Hi-Resolution $24.95 ppd

RFVM Ch2-6 Modulator $9.95 ppd

vampTnc: Box'ZgSIB

Los Angeles, Calif. 90029

Calif. Residents add 6% Sales Tax

Circle 234 on inquiry card.

Circle 235 on inquiry card. 110

Circle 236 on inquiry card.

FUP OVER OUR FIOPPY

Only $750 from Peripheral Vision.

Peripheral Vision is a brand-new company that's dedicated to selling reasonably priced peripherals for various manufacturers' CPU's.

We think you'll flip over our first product.

It's a full-size floppy disk for the Altair-lmsai plug-in compatible S-100 BUS. And it's available for as low as $750.

Here are the features:

• 1 interface card supports 4 drives

• Stores over 300,000 bytes per floppy

• Bootstrap EPROM included—no more toggling or paper tape

• Completely S-100 plug-in compatible

• Interface cabling Included

• Drive is from Innovex (the originator of the floppy concept)—assembled and tested

• Interface card design is licensed from Dr. Kenneth Welles and the Digital Group

• Disk operating system with file management system included on floppy

• Cabinet and power supply optional

Now, a little more about our company.

Peripheral Vision may be brand-new, but we have some old-fashioned ideas about how to run our business.

We know there are serious incompatibilities among the different manufacturers' peripherals and CPU's. We want to get them together. And, we want to bring significant new products to market—products consisting of everything from adaptation instructions/kits for hardware and software to major new products.

It's a tall order, but we feel we're up to the task. Peripheral Vision has already obtained a license from The Digital Group to adapt versions of some of their products to the S-100 BUS. And we're working on getting more from other companies.

Most important to our customers. Peripheral Vision is committed to helping you get along with your computer. We'll do all we can to make it easy

Write us now for all the information on our company our philosophy and our exciting line of products. And be prepared to flip over all of it.

Prices:

Interface card kit and assembled and tested drive

Power supply—-I-24V at 2A

Cabinet—Optima, blue

Circle 237 on inquiry card.

Kit

$750 45

Assm.

$850 65 85

RO Box 6267/Denver, Colorado 80206/(303) 733-1678

Send me the works, and I just might flip over It!

Name

Address_

City/State/Zip_

Photo 1: The object of the design exercise documented in this article is an interface between the computer in the basement and the Steinway baby grand player piano shown at the left in this picture. Using the interface of figure 1, and the solenoid valves of photo 2, electronic control of the restored piano will be completed by adding a motor driven bellows unit of later vintage than this 1910 piano. In the picture, various subassemblies have been placed at skewed angles atop the keyboard (spool box and 3 phase wind motor) and underneath (foot operated bellows and pedals). In the restoration of this piano, all the original mechanisms will be preserved, with the electronics interface consisting of an addition to the basic design.

Notes on Interfacing Pneumatic Player Pianos

Carl Helmers Everyone is familiar with tine concept

Editor of the player piano, a complex mechanical

monstrosity which had its heyday in the early part of this century as the prime home entertainment device before the invention of electronic media which now dominate the home entertainment scene. But player pianos are far from dead. Just as there is an active subculture of computer aficionados, there is a whole cult of player piano and mechanical music freaks. Thanks largely to these people a working player piano is not an uncommon sight in the parlors, dens and

living rooms of contemporary suburbia.

Many of the owners of player pianos may not recognize that these instruments can be a most interesting output device for a personal computer, an output device whose interface can be achieved with very little woodworking and mechanical skill as well as the usual hardware and software skills of the experienced computer hacker.

I have long had an interest in electronic music as generated and controlled by computers. It is this interest which started me on the road to learning electronics hard

112

ANY NUMBER OF FILES MAY BE OPEN (IN USE) AT ONE TIME

THE NUMBER OF FILES AND SIZE OF FILES IS LIMITED ONLY BY THE SIZE OF THE DISC

MERGING FILES REQUIRES NO EXTRA DISC SPACE

NO WAITING FOR THE DISC TO RE-PACK

LONGER DISC LIFE-MORE EVEN DISC WEAR

Our Basic Floppy Disc System (BFD-68) must, in all modesty be called superb. It comes completely assembled with a disc controller that is plug compatible with the SWTPC 6800. In fact all our products use the 6800 standard SS-50 (Smoke Signal 50) bus used by SWTPC. The cabinet and power supply are capable of handling up to 3 Shugart Mini-Floppy Drives. One drive is included in the price of the BFD-68 and others may be added easily at any time. Or you may save money by ordering the dual-drive BFD-68-2 or triple drive BFD-68-3 (pictured). Price: BFD-68 $795, BFD-68-2 $1139, BFD-68-3 $1479, SA-400 Drive $360.

The BFD-68 includes our Disc Operating System Software. Our software provides for a soft-sectored disc format consisting of 128 bytes per sector, 18 sectors per track and 35 tracks per disc. The software provides direct commands to name and rename files, transfer memory to disc and disc to memory and to automatically jump to the starting location of any program loaded from disc to memory. The direct command names are: RUN, GET, GETHEX, CLOSE, SAVE, DELETE, APPEND, RENAME, COPY, LIST, FIND, LINK and PRINT. In addition, the Disc File Management subroutines are available to create files under your program control.

A bootstrap PROM is included on the controller board to initiate the Disc Operating System which loads into a 4K memory board located at 7000 or optionally at DOOO. Thus, you can be up and running from a cold start in just a few seconds.

SUPER SOFTWARE

Free patches are provided for SWTPC BASIC version 2.0 and Co-Resident Editor/Assembler. These patches allow the SAVE and LOAD commands to work with the disc or the cassette at your option.

SUPER EDITOR: Smoke Signal Broadcasting now has its own editor. It is a content oriented editor with string search and block move capability. Changes may be made by referring either to line number or string content or a combination of references. Naturally, it is designed for file transfers to and from the BFD-68. Price: SE-1 $29 on diskette or cassette.

ALLOUR PRODUCTS EXCEPT THE PS-1 ARE COMPLETELY ASSEMBLED.

SUPER ASSEMBLER: Inputs source code from file on the BFD-68 disc system and outputs object code to disc file. Assembly listings include alphabetized and tabulated symbol table. Price: SA-1 $29 on diskette or cassette.

Complete source listing included for both editor and assembler. Order both for $53 and save $5.

SMARTBUG-A CURE FOR MIKBUGITIS: A super smart Motorola-Mikbug replacement that preserves almost all Mikbug entry locations so your present programs will run without modification. Uses ACIA instead of PIA and includes many additional features including a software single-step trace command. A SMARTBUG listing is included and object code is provided on a 2708 free with each P-38 series board purchased. Source listing available separately for $19.50.

NEED A FULL SIZE FLOPPY? Our P-38-FF is a plug-in interface card to the ICOM Frugal FloppyTM. It includes all the features of the P-38-1 plus one 2708 EPROM containing the ICOM bootstrap software. Just plug the P-38-FF into your SWTPC 6800 and your ICOM into the P-38-FF and you're ready to use the Frugal Floppy and ICOM's 6800 software package. Price $299.

Our P-38 is an 8K EPROM board containing room for 8 2708's. Or, you may use it to hold up to 7 2708's plus your Motorola Mikbug or Minibug II ROM. The P-38 addressing is switch selectable to any 8K location. Price $179.

The P-38-1 contains all the features of the P-38 plus an interface to the Oliver Paper Tape Reader and our EPROM Programmer. Price $229.

The PS-1 Power Supply Kit provides plus and minus 16 volts required for the P-38 series boards. Also, it allows a wiring modification to be made to the 8 volt supply that will increase its output by one volt. Price $24.95.

Our M-16-A is a 16K single power supply STATIC RAM memory system. The M-16-A is fully buffered and requires only half the power of a similar size system using low-power 2102's. With the M-16-A, you can expand your system to 48K and still have room left for one of our EPROM boards. The M-16-A is switch selectable to any 4K starting address and hardware write protect is included. Quick delivery. Price $529.

BANKAMERICARD, VISA AND MASTER CHARGE WELCOME.

P.O. Box 2017, Hollywood, CA 90028* (213) 462-5652 Circle 238 on inquiry card.

SPOOL BOX MECHANISM

AIR FLOW WHEN HOLE PRESENT

NORMAL PAPER MOTION

LE RUBBER M LINE

TO PNEUMATICS OF PLAYER PIANO ACTION

Figure 1: The norma/ arrangement of a player piano's vacuum control system is illustrated here. A player piano roll moving past a "tracker bar, " analogous to a magnetic tape recorder's read head, turns on and turns off a flow of air into the evacuated control line which goes to one of the pneumatic controls of the piano. For the key mechanisms, the leading edge of loss of vacuum cues the striking of a key, which is held down until vacuum is restored. This occurs when the roll passes to a point which closes off the particular line. For control of a full 88 notes, there are 88 separate "channels" in the tracker bars of the more sophisticated players, not counting additional channels to control dynamics, pedals and other special effects.

ware skills needed to build computers for music control.

I also knew that player pianos existed, and would eventually make an interesting experiment for use with electronic music in programmed performances of concerto style works with orchestral background for the solo instrument provided by electronics. But I had never turned my attention to the details of the piano interface problem until one day in October of 1976 when I went to an estate auction in nearby IVlilford NH at which a 1910 SteinwayDuoArt baby grand player piano (in unplayable condition) was put on the block. After outbidding a mechanical music box museum owner from Maine, I had the potential for the ultimate piano. When the piano is eventually restored, it will provide my personal and computer music systems with a piano output device which, incidentally, can be used for normal piano rolls, normal practice under direct manual control of the keys, and under computer control using an interface to be described in this article.

The piano, which is shown in photo 1, gave me the impetus needed to e>^amine in more detail the problem of controlling a

pneumatic vacuum line with the output of a computer. Figure 1 shows a schematic illustration of the essence of the typical player piano's control mechanism. The player piano roll passes over what is called the "tracker bar" in the jargon of that technology. This tracker bar has one hole for each active key of the piano as well as auxiliary holes for various other types of information which may be encoded on the rolls. When a hole in the roll passes the hole in the tracker bar, the vacuum line associated with the hole is opened to outside air. This release of the vacuum in the line triggers one of the "pneumatics" in a bank under the piano, which is basically a vacuum operated buffer amplifier with enough output power to toggle a key or actuate some other mechanism. The operation of the "pneumatic" is of no great concern at this point, since all we need to know is that if the vacuum line is opened, the key will be struck, and that if the vacuum line is closed, the key will be released and the device will charge up with vacuum, waiting for the next time that key is to be actuated. The conversion to electronic control is simplest if we just adapt the existing mechanism by plugging up the tracker bar holes (temporarily during electronic performance) and adding a "T" junction to each control line so that an electronic control valve can simulate the opening of the vacuum line. Figure 2 shows this adaptation of the usual vacuum line arrangement for electronic control.

Figure 2 also shows schematically the physical arrangement of a flap valve. As I began looking into the problem of controlling air flow, I quickly learned about the existence of electrically controlled pneumatic devices used in pipe organ and piano technology. It turns out that there is a company called Reisner Inc, which among other items makes a specialty of manufacturing and selling control valves for player pianos and pipe organs. Photo 2 shows the model for the schematic rendition in figure 2, a Reisner No 601-90 magnet with 5/8 inch valve mounted for the purpose of testing on a scrap of pine board, with a metal standoff used as the junction fitting to connect to the vacuum line. The Reisner subassembly consists of everything you see attached to the metal frame which is screwed to the top of the wood block: the magnet, the upper valve seal with cushions for sound dampening, and the return spring. In adapting this unit to a player piano's purposes, a bank of these valves is required, with a number depending upon the details of the particular piano. (For more complete

114

^m

CP/M

LOW-COST MICROCOIVH>UTER SOFTWARi^ r

CP/M is a low-cost control program for microcomputers which brings together recent advances In computer and peripheral technology. CP/M is an advanced disk operating system designed for use with IBM-compatible disl<ette-based computer systems which employ the Intel 8080 microcomputer. Previously available only to OEM's, CP/M has been in existence for over three years in various manufacturers' products, and has undergone extensive field testing. The functions of this software pact<age include named dynamic files, program editing, assembly, debugging, batch processing, and instantaneous program ■, loading, resulting in facilities similar to popular timesharing services. CP/M is an >; "unbundled" software pactcage which can be easily adapted to any 8080 or Z-80 '\ computer system with at least 16K of main memory and one or two IBN|^<^i; compatible disk drives. The field-modification manual provided with CP/M ^^^(. been used successfully by many CP/M users in customizing CP/M for their oWffv hardware configurations.

fli DiEiTflL HESEflHCH

Please send me the following;

n CP/M Documentation (Complete set of 6 manuals) for $25.00. n CP/M Documentation and CP/M System Diskette for $70.00. D Free CP/M brochure and price list.

n Infomiation concerning tiigh level languages and optional packages. NOTE: IMS Associates and Digital Systems distribute CP/M with their hardware systems.

n Bank /Vnerlcard No. Exp. date D Master Charge No. _

Exp. date D Check or M.O. enclosed.

California residents add 6% sales tax. Amount enclosed

Name Address

City

Dl DJGiTai. HEBE^HCH

State

Zip

Post Office Box 579 • Pacific Grove, California 93950

Circle 239 on inquiry card.

ARBITRARY ROLL POSITIONED TO BLOCK ALL OPENINGS (OR MASKING TAPE)

PAPER MOTION SUPPRESSED

Photo 2: A test jig used to try out the magnetic control valve concept. The Reisner No. 601-90 magnet with 5/8 inch valve is mounted on a wood block using wood screws. In a final installation as part of a multiple valve attachment to a player piano's penumatics, one such valve would be assigned to each control tube of the piano.

information on thiese valves, contact Reisner Inc, 240 N Prospect St, POB 71, Hagerstown MD 21740.) The physical mounting of the valve magnets, tubing, etc, depends upon the particular piano being converted. In the case of my baby grand player, an equipment chest will probably be attached under the sounding board in back of the presently installed pneumatics chest. Some woodworking ability and some mechanical handiwork are required in the fabrication of a bank of valves and in making the interconnections to the vacuum lines.

Electrical Drive and Interface

The era of integrated circuits simplifies the basic problem of controlling the sole

RETURN SPRING*

-►-FLAPPER ARM

FELT CUSHIONS

CHAMOIS VALVE SEALS

WOOD BLOCK MOUNT

JUNCTION FITTING (SEALS WOOD, PROVIDES MOUNT FOR VACUUM LINE)

PNEUMATICS

Figure 2: Adapting the player piano mechanisms for computer control is accomplished using Reisner magnets and flapper valves. Each lube from the tracker bar is modified with a "T" junction which allows an alternate control point on the vacuum line. When the piano is run in computer control mode, all the holes in the tracker bar are sealed and the solenoid controlled valves simulate the effects of the roll's passage over the bar. The sealing of the bar can be accomplished by pasting a run of masking tape over the bar or by disabling the spool box's drive motor and positioning a roll's leader over the tracker bar to close all the holes. For details of the valve, see photo 2. A basic interface drive circuit for the solenoid is shown in figure 3.

116

Building a better computer wasn't easy. But we did it.

Introducing the MSI 6800 Computer System

When we set out to build the new MSI 6800 Computer System, we knew we had our work cut out for us. It had to be at least as good as the now famous MSI FD-8 Floppy Disk Memory System which is also pictured below. So, the first thing we did was analyze all the problems and drawbacks we had encountered with other 6800 systems, and then put our engineers to work on solutions. The objective: Build a better computer.

We started with power supply. We had big ideas, so we used a hefty 18 amp power supply. You can run full memory and several peripherals without the worry of running out of juice. We also put it in the front of the cabinet so it's out of the way.

The next step was the CPU Board. A separate baud rate generator with strappable clock outputs allows any combination of baud rates up to 9600. A separate strappable system clock is available and allows CPU speeds of up to 2 MHz. The new MSI monitor is MIKBUG software compatible, so you will never have a problem with programs. Additional PROM sockets are available for your own special routines and to expand the monitor. The CPU also contains a single step capability for debugging software.

To complete the system, we used an MSI 8K Memory Board which employs low power 2102 RAM memory chips and is configured to allow battery back-up power capability. A DIP switch unit allows quick selection of a starting address of the board at any 8K increment of memory.

If you're one of those people who understands the technical stuff, by now you'll agree the MSI 6800 is a better computer. If you're one who does not understand it yet, you'll be more interested in what the system can do . . . play games, conduct research and educational projects, control lab instruments, business applications, or just about anything else you might dream up that a microcomputer can do. The point is . . . the MSI 6800 will do it better.

The MSI 6800 Computer System is available in either kit form or wired and tested. Either way, you get a cabinet, power supply, CPU board, Mother board. Interface board. Memory board, documentation, instructions, schematics, and a programming manual. Everything you need.

There is more to say about the MSI 6800 than space permits. We suggest you send for more information which includes our free catalog of microcomputer products.

When we got to the Mother Board, we really made progress. It has 14 slots to give you plenty of room to expand your system to full memory capability, and is compatible with SS-50 bus architecture. Heavy duty bus lines are low impedance, low noise, and provide trouble-free operation.

With all this power and potential, the interface had to be something special. So instead of an interface address in the middle of memory, we put it at the top . . . which gives you a full 56K of continuous memory. Interfaces are strappable so they may be placed at any address. An interface adapter board is compatible with all existing SS-50 circuit boards and interface cards. All MSI interface cards communicate with the rear panel via a short ribbon cable which terminates with a DB-25 connector. All baud rate selection and other strappable options are brought to the connector so they may be automatically selected by whatever plug is inserted into the appropriate interface connector. Straps may also be installed on the circuit board.

Building a better computer was not easy. Becoming the number one seller will be.

See the MSI 6800 Computer System at Persona! Computing '77 - Atlantic City.

220 West Cedar • Olathe, Kansas 66061 913/764-3273 • TWX 910 749 6403 (MSI OLAT)

nnnnnnnnnDannnnnaDDDDnna

n

D

n

□ NAME.

D

D

D

a n

Circle 240 on inquiry card.

Midwest Scientific Instruments 220 W. Cedar, Olathe, Kansas 66061

ADDRESS

CITY

STATE

-ZIP

0010977

g

INHIBIT LINE {NORMALLY I) SHARED

o

CONTROL SIGNAL

0=OFF I =0N

BACK emF PROTECTION ^ DIODE ^

(EG :IN9I4

SN75452 8 PIN DIP

6(1)

POWER +5V = PIN I GROUND = PIN 4

REISNER 601-90 MAGNET WITH 5/8 in. VALVE 90n COIL

PIN NUMBERS X(Y)

X= ONE SECTION OF DUAL PACKAGE

Y= OTHER section's PINOUTS

Figure 3: The basic magnet drive circuit used for the pneumatic player piano interface. The driver circuit shown here is a Texas Instruments SN75452, a dual peripheral driver which comes in a miniature 8 pin dual Inline package. Each driver has a maximum capability of sinl^lng 300 mA In the low level output state (logical I Input which "turns on" the magnet). With the nominal 90 ohm coil and a low level output of 0.25 V the coil will have II .75 V across it. The current through the coil is thus 130 mA, more than enough to actuate the valve based on experiments with the unit shown in photo I which was tested against a vacuum applied to valve through the rubber hose.

noids of the Reisner magnet valves. The solenoi(j coil has a resistance of nominally 90 ohms, and from the specification sheet (confirmed by tests in my laboratory) the valves can be actuated under load with a current higher than about 100 mA (about 9 V across the magnet). Using the Texas Instruments Linear and Interface Circuits Data Booi< as the source of information, it soon became apparent that the 75452 peripheral driver circuit (or its cousin, the 75451) would prove quite adequate for the job since it can sink 300 mA and has a maximum voltage rating well above the voltage required for the actuation of the magnets. The basic circuit for driving a solenoid with the 75452 integrated circuit is shown in figure 3. In this illustration, I have shown one of the two gate inputs as an inhibit signal (normally at logic level 1) and the other input pin as the control signal defined so that if it is low (logic 0) the magnet is off (valve closed) and if it is high (logic 1) the magnet is on (valve open). The diode mounted on the solenoid coil is an absolute requirement. These magnets have a considerable inductance, and as a result when the current is removed will generate a

substantial back EIVIF which can damage the 75452 output transistor if it is not shorted out by the diode. (The inductance is sufficient to cause an impulse which can be felt by the observer if fingers are held across the coil while the voltage is removed. This suggests a minimum of 50 to lOOV of inductive "kick.")

Logic of a Practical Interface

The brute force technique of interfacing the piano would be to simply put one wire from a latched output bit to each driver of the piano magnets, resulting in roughly 80 to 100 twisted pair interface data paths in a monstrously thick cable. This is an unwieldy mess. The problem is shared by pipe organ aficionados, as I found out from Jeff Raskin's lecture at the First West Coast Computer Faire's session on computers and music in April of this year. At that time he suggested the use of a serial technique to define the state of a bank of control valves. Basically, the technique consists of using serial synchronous transmission from the computer to cut down on the immense number of lines which would otherwise be required. Figure 4 shows a detailed sketch of

118

(VaAN-TROAffCfi

%0^ COMPUTER PRODUCTS ^^%^

READY FOR IMMEDIATE DELIVERY

IMSAI COMPUTER

MODEL 8080 MICROPROCESSOR SYSTEM

$875

ASSEMBLED AND TESTED

INCLUDES CPU, MAINFRAME WITH 22 CARD SLOTS, FRONT PANEL, AND POWER SUPPLY. COMES ASSEMBLED AND READY TO PLUG IN AND ENJOY!

8K RAM BOARD

$225

250 nS ACCESS

LOW POWER

NOT A KIT

ASSEMBLED ANDTESTED

• S100 BUS: PLUGS RIGHT INTO ALTAIR/IMSAI, OR ANY COMPUTER USING THE "ALTAIR" BUS.

• CONVENIENT DIP SWITCH SELECTION OF ADDR ESS ASSIGNMENT AND WAIT CYCLES

• MEMORY PROTECTION DIP SWITCH SELECTABLE IN INCREMENTS OF 256, 512 IK, 2K, 4K, or 8K BYTES

• FULLY BUFFERED ADDRESS LINES ALLOW USE IN LARGE COMPUTER SYSTEMS

16K 2708 EPROM BOARD

INCLUDES ALL SUPPORT CIRCUITRY AND SOCKETS READY TO PLUG-IN 16 2708 IC'S

$99

2708'SNOT INCLUDED

• ALLOWS CONVENIENT STORAGE AND ALTERATION OF YOUR OWN CUSTOMIZED COMPUTER PROGRAMS

• S100 BUS: PLUGS RIGHT INTO ALTAIR/IMSAI, OR ANY COMPUTER USING THE "ALTAIR" BUS

• DIP SWITCH SELECTION OF MEMORY ADDRESS ASSIGNMENT

• DIP SWITCH SELECTION OF MEMORY WAIT CYCLES

• ASSEMBLED AND TESTED, NOT A KIT

8K 2708 EPROM PROGRAMMER BOARD

$145

COMPLETE SYSTEM FOR "BURNING IN" PROGRAMS INTO THE ELECTRICALLY ALTERABLE 2708 MEMORY

2708'S NOT INCLUDED

• S100BUS ALTAIR/IMSAI COMPATIBLE

• COMPLETE 2708 PROGRAMMING SYSTEM

• DOUBLES AS 8K NON VOLATILE PROGRAM STORAGE

• ASSEMBLED AND TESTED, NOT A KIT

2708EPROMS $19^'' 21L02 250 nS $1""'

TOP QUALITY PARTS - NOT SECONDS

74 SERIES IC'S 74LS SERIES IC's LINEARS

COMPLETE LISTINGS IN OUR CATALOG

ORDER BY PHONE: (213) 888-5079

OR BY MAIL

QUAN TRONICS

P.O. BOX 264 CHATSWORTH, CA 91311

Many other parts available —Just call or write for free catalog

IN THE L.A. AREA PRODUCTS AVAILABLE AT:

TECH MART

19590 VENTURA BOULEVARD TARZANA, CALIFORNIA 91356

(213) 344-0153

NEW PRODUCTS COMING - WATCH FOR OUR ADS - INFORMATION AVAILABLE

WE WELCOME INQUIRIES Cirde 241 on inquiry card

TO ADDITIONAL STAGES

SERIAL DATA TO NEXT STAGE

P0WE.F1 W1HIN6 TASLE CONTROL LOGIC IWIREO ONCE)

ICI ICZ 1C3

J4LSI4

■ 74LS01

7«LSO0

RELAY DRIVE LOGIC (FOR X < I TO n/-l)

IC

IC4 X IC5.X 1C6.X IC7.X

TypE

74LS95 74LS75 754526 75452B

SERIAL DATA FROMPREVIOUS STAGE

SCHMITT TRIGGER LINE RECEIVERS

SYSTEM RESET (TWISTED PAIR)

SHIFT CLOCK (TWISTED PAIR!

SERIAL DATA (TWISTED PAIR)

TRANSFER CLOCK (TWISTED PAIR)

O pu^\/\/1 '-^p^ [P^

~\r

PJV/X/-UO ^|>>oi-^]>>^

~ir

-y~

IC4 X 74LS95 OR 74L95

RIGHT SHIFT CLOCK

SHIFT

REGISTER OB

O |X>^ ^[>>o^ ^j>>oi

O rv>"w-vy-j—4x^*°^ 13^^*°^

"U~

IC5.X 71LS75

_ru

ONE OF FOUR

(TYPICAL)

VALVE 4 MAGNETS

(MOUNT DIODE ON MAGNET)

DRIVERS AS IN FIGURE 3

PARALLEL. IDENTICAL DRIVES TO KEEP FANOUT

TYPICAL STAGE REPEATED ■ FOR EACH GROUP OF 4 CONTROL VALVES

TOLERABLE

16 18 |I0 112

Z!=\ ZA Za Za'"'""

+ 12V 4A POWER SUPPLY WITH SHORT CIRCUIT PROTECTION (ALLOWS 3l MAGNETS ACTIVE BEFORE SHUTDOWN)

SYSTEM RESET DISABLES

ALL DRIVERS; FIRST TRANSFER CLOCK ENABLES DRIVERS

PROGRAMMED TIMING

31A6RAM

n>NUMBER OF

SOLENOIDS

0

0

SERIAL DATA

J '

0 1

~kr

~kr

SHIFT CLOCK

LiJ

■ LnJ

TRANSFER CLOCK

VALVE

n ON

VALVE

n-l OFF

VALVE n-Z

OFF

VALVE

n-3 ON

"■^ALVe VALVE VALVE 4 3 2

... OFF ON ON

VALVE I 1

1 OFF

Figure 4: Solving the problem of heavy interconnection cables. This diagram shows a synchronous serial transmission scheme which requires four twisted pair wires to connect a parallel output port with the piano for programmed serial transfers. One twisted pair cable Is dedicated to the system reset line so that the local electronics In the piano will turn off all drivers when the system is reset. The other three lines are connected to three output bits. One bit Is programmed with the successive bits of data for the various valves when an output transfer is done. After each data bit is defined, the shift clock line is toggled to push its value down the 88-100 or so shift register stages assigned to control the 88 to 100 valves used in the piano. Then, when all the bits have been defined in successive operations, the transfer clock line is toggled to parallel load all the control latches and define the state of the solenoids. With a programmed transfer loop on a typical microprocessor, no more than 50 ps per bit should be required, or an update time of 5 ms per 100 solenoid data transfer under program control. This gives the processor a limiting resolution of 7 /200th of a second, well within the timing accuracy needed for music. Using specialized transmission hardware to automatically serialize the data from 8 bit bytes would speed up the typical data rates if needed.

the logic I cJesigneid which will enable this metho(J of interfacing to be employed with three signal lines from a parallel output port of the control computer. In this scheme, each group of four valves is assigne<J one 4 bit shift register segment an(d a latch which can be loaded from the shift register. This module of four bits works out very well with

the widely available TTL MSI technology shown. The entire bank of n/4 such modules defines an n bit shift register with an n bit latch in parallel. Transfers of new information are accomplished (see timing diagram) under program control by shifting out n bit

Continued on page 168

120

Print \bur Heart Out.

With help from the Digital Group, naturally.

Now, that small computer system you own or have been considering for personal or business use suddenly becomes a lot more usable—with the addition of a full-size impact printer from the Digital Group. A printer designed for small computers that need big output (like yours).

With the Digital Group printer, you can print your heart out...and it won't cost an arm and a leg. The Digital Group printer is available for less than $500. That's right—$500.

Just look at these specifications:

• Fast—120 characters per second

• 96 characters per line

• 12 characters per inch horizontal

• 6 lines per inch

• Makes up to 4 copies simultaneously

• Character set and pitch variable under software control—double width characters, etc.

• 5 X 7 character matrix

• Ribbon has built-in re-inkers for a life of 10,000,000 characters

• Paper can be either a standard SVz-inch roll, fanfold or cut page

• Interfaces to 8-bit parallel ports

There are lots of capabilities and outstanding features of the Digital Group printer.. .and (as always) the best news is our price. Kit prices start as low as $495 for the printer and interface card. It simply can't be beat.

Find out all the facts about the Digital Group printer now.

Just fill in the coupon below or give us a caO for the details.

We think you'll find a place for our printer in your system

...and in your heart.

Circle 242 on inquiry card.

(^

PlU 0)

3

P.O. Box 6528

Denver, Colorado 80206

(303) 777-7133

Quick. I want to print my heart out.

Send me all the details on your full-size impact printer.

Name _

Address .

City/State/Zip_

Pleaae priitt.

Notes on Anatomy:

Photo 7/ The Duo-Art reproducing player piano as it is currently displayed in my home. Notice the electric motor at bottom center. It is original equipment. The vacuum pump is at the right; it is connected to the motor by a 1968 V8 Buick fan belt, which just happens to be a perfect fit. The piano was built in 1925 and required extensive renovations. The binary dynamics control system is located at bottom left (see photos 3a and 3b).

The Piano^s Reproductive System

By Chris Morgan, Editor

When was the binary number system first used for control purposes in a mass produced machine? The early nineteenth century Jacquard punch card controlled loom comes immediately to mind; but, surprisingly enough, a more widespread application occurred in the first quarter of this century: the reproducing player piano!

The reproducer was so-called because it went one step beyond the player piano in its ability to "reproduce" the dynamics and subtle shadings of the pianist who recorded the roll.

I have owned a Duo-Art upright reproducing piano for five years now (see photo 1), during which time I have restored it so that it can now play the specially encoded Duo-Art rolls which were made for it. The Duo-Art roll catalog was remarkably extensive, featuring such items as Chopin etudes and Beethoven sonatas

in addition to a large selection of popular titles. (The piece de resistance was a complete set of themes from Wagner's Ring cycle comprising some 30 odd rolls!).

Reproducers were a luxury item during the 1920s, and for good reason: they were built like fine watches and contained some fairly sophisticated features (for the time) to control dynamics, operate the pedals, and so on.

Photo 1 shows the Duo-Art with the bottom cover removed for clarity. The spool box (photos 2a and 2b) is located at the top and is the place where the piano roll is inserted. Immediately below the keyboard are the levers which are used to control the speed of the roll as it plays, as well as volume and roll rewind. At the bottom center is the original electric motor (built in 1925) which drives the vacuum pump at the right. No pedalling is required on this

122

model, a boon for the lazy experimenter. Like most player pianos, the Duo-Art works on a vacuum actuated system which opens and closes cloth covered "pneumatics," or bellows. These in turn do all the mechanical work inside the piano, such as playing keys and operating pedals.

But what makes the Duo-Art so interesting is its binary-based volume control system located in the lower left section of the piano (see photos 3a and 3b for a closeup). There are two independent volume control systems built into the Duo-Art. They are controlled by two sets of four holes per set, located above the main row of holes near each end of the tracker bar. Photo 4 shows the right-hand set of holes in enlargement. Notice that they are vertically in line with the four highest note sensing holes on the tracker bar. When a Duo-Art roll is played, therefore, a special pneumatic 8 pole double throw switch must be thrown to disable the lower two sets of four holes and allow the upper two sets of four holes to control piano dynamics (the volume of sound heard).

Each set of holes is connected to a set of "accordion" pneumatics, so-called because they open and close like vertical accordion bellows. A rod at the top of each pneumatic is connected to an air governor. As the pneumatics close, the governor admits more and more air to the system and the volume of the notes played on the controlled side of the keyboard goes up.

The spacings of the four sections of the pneumatics are 1/2, 1/4, 1/8 and 1/16 inch, so that 16 different volume levels can be achieved. This bellows is in fact a form of mechanical digital to analog converter. So we have two nybbles (or one byte) of information to control volume in a Duo-Art reproducer piano. Photo 3b shows a level corresponding to 1/2 + 1/8, or 10/16ths of maximum volume, and photo 3a shows a zero level for comparison. Photo 5 shows the roll positioned to produce the level of photo 3b; the most significant bit is to the left. Since an opening (hole) corresponds to a binary 1 level, the binary number here is 1010.

Counting from the right in photo 4, the first 3 holes are mute pedal control, automatic reroll and the "theme" hole. The theme hole is an ingenious feature. There are often cases when the piano must suddenly change volume levels for isolated notes or chords and then return to the previous level. It takes a finite time for this sort of change, so the rolls are designed to allow the

Photo 2a: The spool box, showing the brass tracker bar. There are 88 holes across the bar, corresponding to the notes of the piano. There are additional holes at each end to Input two 4 bit "nybbles" of Information to the dynamics (volume) control system from the paper roll.

Photo 2b: A view of the spool box with a Duo-Art roll Installed. Note the dense groups of holes at each side of the roll; these contain binary encoded Information about the volume of the notes which are being played. All four dynamics holes are about to be uncovered on the left side as the roll paper moves downward across the tracker bar. (Thus maximum volume Is about to be set up.) The dynamics holes appear as groups of holes rather than long slots so that the paper will not fall apart. The traci^er bar holes underneath are long enough so that the small paper bridges left for mechanical strength do not close up the holes as they pass over them.

left-hand accompaniment dynamics control system to control the entire keyboard range, while the right-hand theme system "charges" itself with vacuum for the up

123

Photo 3a: One of the two Duo-Art accordion pneumatics used to control the volume of one half of the piano keyboard. Each of the four chambers can be individually exhausted under control of the piano roll. The pneumatic is connected by a rod on top to an air governor. The four chambers close by 112, 114, I j8 and I jIG inches, so that the air governor can be set to any of 16 different vacuum levels to power the keyboard pneumatics. The roll's 4 bit binary "word" is thus translated into a vacuum level: in effect, this is a digital (vacuum lines from tracker bar) to analog (mechanical position of governor) converter.

Photo 3b: The accordion pneumatic shown converting the integer value 10 into one of 16 possible mechanical positions. This corresponds to the binary number 1010 on the roil. See photo 5.

Photo 4: A closeup illustrating the four right hand dynamics control holes, located slightly above the center line of the rest of the holes.

• •*• It

• • • e

• • • •

• • 11

• • • • 11

• ttl

• ttl

• •••

••••St

tit

• • •

ttt

» •

I t

• «

Its

• • •

• • •

• • •

• t

• • tt

tt

• tt

• • •

ttt

«»• «>

• t c

SI

ts I <

t *

I s

Photo 5: The roll in this case is outputting level ten to the accordion pneumatics. Photo 3b indicates the resulting mechanical position output of the pneumatics.

124

coming volume change. When the roll triggers either or both of these holes, control of the respective sides of the keyboard is transferred for that instant to the theme control. Details of this theme control system are essential to the design of software drivers for Duo-Art players converted to computer control.

Numerous other fascinating features abound on this instrument. Take for example the automatic roll-centering negative feedback system. The curved vertical "finger" shown in photo 5 is one of two which are positioned to just touch the edges of the roll. If the roll wanders off to the right or left, the fingers tilt back, uncovering air tubes which are under vacuum. This sends a signal to a set of opposing bellows with a high damping ratio, which push the roll spool back until the air tube is covered again. The design is simple, yet effective. Long before Norbert Wiener made it explicit, servomechanisms as control systems were in practical daily use.

Just how good does the Duo-Art sound? Well, it has some obvious limitations (limited dynamic range, for one), but on the whole it sounds remarkably good. The sound

quality is several orders of magnitude better than the "new fangled" phonograph which eventually supplanted it commercially.

In its heyday, the Duo-Art Company could afford to hire some of the most famous pianists of the age to record for them: Paderewski (see photo 6), Wanda Landowska, Vladimir Horowitz (when he was in his twenties), Igor Stravinsky (I), George Gershwin (playing his own four-hand arrangement of "Rhapsody in Blue" by overdubbing), and on and on. The rolls were beautifully decorated, too (see photo 6).

Readers wishing to find out more about the fascinating hobby of reproducing pianos should write to the Vestal Press, POB 97, Vestal NY 13850, and ask for their catalog. The Vestal Press specializes in books about player pianos and other musical automata. The Player Piano Company in Wichita KS is an excellent source of supplies for the do-ityourself restorer. The current bible in the field is Rebuilding tlie Player Piano, by Larry Givens, published by Vestal. In it you'll find valuable material about the DuoArt and about the other brands of competing reproducers like the Ampico and Wurlitzer models. But that's another story."

Photo 6: A Duo-Art roll of Chopin's "Polonaise, Opus 40, Number I," as played by Paderewski, in position over the tracker bar. Note the extensive ornamentation, both visually and verbally, In the form of the performer's authorization of the work. This roll is approximately 55 years old. Paderewski was a link in a liszt of salon pianists which began in America with Louis IVIoreau Gottschalk, and which continues to this day with certain candelabra wielding virtuosos.

g''.*'?;g'rTw:!pi^>uew»'i»'';*-w«»!»»''««>»»«

■MMiM

^'Wj^gg

125

A note on the organization of this article:

Because of the large number of figures in this article, the procedure used in part I last month is continued this month, ie: the text has been incorporated into the figure and table captions. We hope Ihis will eliminate unnecessary page turning. The figure and table numbering sequence used in this installment continues the sequence begun in the first part. The final part ol this 3 part

Mike Wimble

6026 Underwood Av SW

Cedar Rapids lA 52404

An APL Interpreter for Microcomputers

The Great APL Interpreter Contest

As an incentive to those experimenters wfio would lifie to try writing tfieir own APL interpreters based on tliis series of articles, BYTE announces the Great APL Interpreter Contest. We will award prizes for APL interpreters (suitable for publication with royalties to authors) based on Mike's flowcharts (or independent of them if you prefer).

Contestants are free to write their interpreters for any microprocessor they choose. Entries will, however, be judged on their suitability for use on small systems with a minimum of 16 K bytes of memory, as well as on programming elegance and efficient use of space. All of these factors should therefore be kept in mind.

Entries should be addressed to BYTE, attn: The Great APL Interpreter Contest, 70 IVlain St, Peterborough NH 03458 and must be postmarked no later than midnight, February 28 1978. Entries must be in the form of a publication quality manuscript which describes the implementation of the interpreter and which includes a listing of source code and object code. Contestants should also submit machine readable source and object code in the form of paper tape or cassette.

The winners (if any) will receive $1000 plus normal author payments, should the entry be chosen for publication in book form or as an article in BYTE. We reserve the right to choose more than one winner under the same terms.

judging will be done by the editors of this magazine. Those seriously interested in entering this contest should call Carl Helmers or Chris l^organ at BYTE, 603924-7217. May the midnight oil burn prosperously for all.

Part 2: Evaluation Expression

Backus-Naur Form (BNF)

BNF is a notation used quite often in the description of computer language grammar and semantic information. Many of the figures in this series of articles contain a short BNF description of the formal elements of APL treated by the flowchart in question. A BNF statement looks like:

<A>

:- <S>|<C>|</1> <B>

In BNF, brackets (" < " and "> ") are used to enclose tokens or "terminal elements," and the symbol ": :=" means "may be composed of." The symbol " | " is the notation of a logical "or." This notation was first developed for the description of the ALGOL language, and has since been used widely in numerous books and papers on language design and compiler writing. The example statement above can be translated into words as follows:

"An A token is composed of either a single B token, or a single C token, or an A token followed by ("concatenated with") a B token."

There is no restriction against possible recursion in BNF syntax descriptions, a feature which allows very simple language constructs to form very complicated statements which can be correctly parsed by the interpreter or compiler.

126

C IPINIT j

SFP-.-0

SV-^0

PI-«—0

P2-^0

ASSIGN-*- FALSE

NL-^-0

Figure 11: The logic of the statement Interpreter. A t this level the interpreter recognizes the two valid forms of a statement: either an expression, or a right arrow followed by an expression. When interpretation begins, variable I points to the rightmost byte in table SP of the immediate statement to be executed. Subroutine E Is invoked to recognize and interpret an expression, setting B to true if a valid expression is found, and setting B false otherwise. If an expression is found, a test is made for a right arrow occurring at the beginning of the statement. If found, subroutine BRANCH is invoked to interpret the program branch. Otherwise, subroutine SUCCESSOR is invoked to interpret an advance to the next statement.

<5tatement>;

= <expression> | ~^ <expression>

CALL BRANCH

CALL SUCCESSOR

Table 8: A table of tables built and used by the statement Interpreter. Whenever a subroutine is invoked, SEP is incremented by 7 and table SE is modified. SEP then indicates the current level of nesting or of recursion. If SEP is 0, the interpreter is presently executing a syllable in the immediate mode statement Pointers to the value of operands for the various operators are stacked in table SVAL much as in any stack-oriented expression evaluator. Tables SDl and SD2 are used to hold pointers to the right and left arguments of a function call.

Table

Indexed By

Element

Description

SF

SFP

Holds information for subroutine calls.

SI

Points to FTAB entry of subroutine invoked.

S2

Value of 1 (last interpreted syllable pointer) for calling subroutine.

S3

Statement number of calling subroutine at time of subroutine call.

SVAL

SV

Holds stacked pointers to value of operands.

SDl

PI

Holds stacked pointer of left actual parameter.

SD2

P2

Holds stacked pointer of right actual parameter.

127

( BRANCH )

AUX-*-SVflL(SV)

J D(AUX) = 3

" " i_^_°l.*H.^:li'l^?j

YES

EMPTY VECTOR

NL*-D(AUX + 2+D(AUX+l))

AUXV-^VFUNC(FTAB(SF(SFP).SI).F7

I-^VFUNC(AUXV+NL) SV-*-SV-l

SUCCESSOR

CALL SUCCESSOR

f RETURN J

-f ERROR 12 j

STATEMENT NUMBER TO BRANCH TO IS NOT AN INTEGER

/' \ RETUR ( IP ) STATEI

V y SCANN

RN TO MENT ER

RETURN-SUBR

CALL RETURN_SUBR

IMPLIED RETURN FROM SUBROUTINE

-/ RETURN j

Figure 72: The logic for interpretation of a program branc/i, ie: a right arrow followed by an expression. A pointer to the result of that expression is in the top of stack SVAL. The result must be an Integer equal to the statement number of the desired statement to be executed in the current subroutine. If the result is an empty vector, then the branch is simply to the next statement. A nonInteger result is an error. An attempt to branch while not In a subroutine is ignored and control is returned to the statement scanner. Finally, a branch to a statement number not in the current subroutine results In a return from the subroutine.

Figure 13. The method for advancing to the next statement function. If there Is no next statement while in a subroutine an automatic return from subroutine occurs. A t completion of interpretation for the immediate mode statement control is returned to the statement scanner. Otherwise variable I is set to point to the rightmost syllable of the next statement to be interpreted.

rsuccessor)

YES

SM-- 0 AUXV-«-VFUNC(FTAB(SF(SFP).SI).F7)

RETURN TO STATEMENT SCANNER

Continued on page 145

128

Jmt^oduCi

m^

IMMMiliiMIKiCi

MI

A new value standard in personal computing systems featuring two powerful computers with better software, full documentation and service support from the Heath Company.

Heath Company has been interested and involved with personal computing since we first marketed an analog computer system all the way back in 1957. This continuing interest, along with the recent technological advances that have brought personal computing to the forefront of the electronics marketplace, has given us the opportunity to think through the recent developments, and develop two "total design" computer systems that give the computer hobbyist, whether beginner or advanced, everything needed for REAL power, performance and reliability — at prices that give you MORE value and performance for your computer dollar!

Total system design. The Heathkit computer line, both hardware and software, has been designed from the ground up to be a total computing system that meets all the needs of the computer hobbyist. The two mainframes are based on performance-proven well-documented MP modules, the 8080A and LSl-11. Using these CPU's was a conscious design decision, because of their proven performance, reliability and efficiency, and the tremendous amount of existing applications programs, documentation and source materials that are available. The Heath-designed CRT terminal, paper tape reader/punch, serial and parallel interfaces make total system setup easy and fast, and the Heath-designed software provided assures immediate usefulness and versatility.

Superior documentation. Heath Company is world-famous for the accuracy and clarity of its instruction manuals. The Heath computer line continues this well-deserved reputation. Assembly and operations manuals are written with easyto-understand step-by-step instructions that leave nothing to chance. Simply follow the easyto-understand instructions in the manual and you'll be up and running fast. As in all Heathkit products, easy self-service and troubleshooting is a definite benefit that can result in substantial cost-savings over the life of a product. These considerations, along with nationwide service and technical assistance at Heathkit Electronic Centers or the Heathkit factory, mean that you

have the most reliable protection for your computer investment available anywhere.

System versatility. Both Heathkit computers offer full expansion potential to provide outstanding flexibility and adaptability to meet any application. Mass storage capability is available in both audio cassette and paper tape format on the H8 and in paper tape format on the H11 for added convenience. Additional memory expansion boards can be added to either unit, along with an expanding number of I/O devices.

Continuing Development. Heath will continue to design and develop new compatible products for their computer systems. Coming in the future will be —floppy disk storage, line printer, additional applications programs, and selfinstructional courses in programming and assembly languages. All Heathkit computer users are eligible to join HUG (the Heath User's Group) and H11 customers are eligible to join DECUS,the Digital Equipment Computer User's Society.

We're confident you'll find the Heathkit computer line one of the most intelligent, sensibly developed and complete product lines available today. It offers you total versatility and expansion capability to go wherever your imagination and computing prowess take you. And, in the Heathkit tradition, it offers the best price/performance and reliability combination you'll find anywhere.

i

THE HEATHKIT

LTU

COMPUTER

A unique, value-packed computer featuring an "intelligent"

front panel with built-in extended ROM monitor,

octal entry keypad and digital readout, exclusive Heath

bus, a pre-wired and tested 8080A-based CPU, and

complete systems software at no extra cost!

eharg-a-kit

Heathkit 2

HEATHKIT S-BIT DIGITAL COMPUTER

A low-cost digital computer that's easier to build and to use! Features an intelligent front panel with keyboard entry and 9-digit display, a heavy-duty power supply with enough extra capacity for memory and I/O expansion and

a 50-line fully buffered bus capable of addressing 65K bytes and a mother board with positions for up to 10 plugin circuit boards. Includes BASIC, assembler, editor and debug software at no extra cost!

The Heathkit H8 computer jg an 8-bit machine based on tlie popular 8080A chip. It is one of the lowest-cost general-purpose computers on the market, and thanks to Heath's exclusive design, one of the most versatile.

The interrupt controlled "intelligent" front panel gives you far more power and control than is found on conventional units with bit switches and indicators. The 16-digit keyboard allows octal data entry and control that's far faster and less error prone than binary switches. The 9-digit octal readout provides you with more information than conventional models too.

The octal keyboard and display emulate a true hardware front panel with complete access to memory, all registers and functions. The 9-digit seven-segment octal display has three readout modes: 6 digits of address and 3 digits data; 6 digits register data and 2 digits register identification; and three digits data with three digits port address. The front panel functions are defined by a panel monitor control program (PAM-8) stored in a 1Kx8 ROM on the CPU board. The complete access to 8080 internal circuits and functions makes the H8 an ideal trainer and learning tool.

Complete front panel functions include: display and alter of memory locations; display and alter of registers; dynamic monitoring of registers or memory during program execution; program execution control including break-point capability and single instruction step; automatic tape load and store through a built-in routine that allows programs to be loaded with a single button; and write or read any I/O port. The front panel of the H8 is so versatile it's like having a mini I/O terminal built right in! Grv ':::::::; of the H8 front panel include status lights for power-on, run, monitor and interrupt enable; a built-in speaker for audible feedback on keyboard entry. The speaker also can be programmed for variable tones, permitting a variety of special effects to be generated.

The CPU board is fully wired and tested. It features the 8080A, clock, systems controller, ROM monitor and full bus buffering. Seven vectored interrupts are available on the bus for quick response to your I/O requests. A built-in clock lets you design and run in real time.

The H8 uses an exclusive, Heath-designed bus which incorporates many practical improvements over existing busses. The bus is fully buffered to reduce noise and crosstalk and is "glitch" free to eliminate timing problems. Three-state line drivers and receivers are used on all bus lines to eliminate loading problems. The 50 lines include address, data, control, clock and interrupt lines, plus all signals needed to support the 8080 MRU' and virtually any I/O or memory accessory, The bus is implemented on a heavy-duty printed circuit mother board with wide, heavy copper foils for greater physical strength plus reduced crosstalk and noise. The board has 10 positions for installing

Com p rehensive Heathkit assembly and operations manuals give you the superior documentation you NEED for a thorough understanding of your H8.

Systems software is supplied in audio cassette format.

connectors that accept the front panel, CPU, memory, I/O and accessory cards. All I/O bus connectors are included with the mother board for fast and easy expansion when you want it.

The HB's built-in power supply js convection cooled for adequate ventilation without the use of noisy fans. Separate IC regulators provide distributed regulation with a heat sink on each circuit board for excellent heat dissipation. Power supplies of -f-8, —18 and -1-18 volts are provided to handle up to 32k memory plus three I/O interfaces. Switch-selectable 120 V, 60 Hz or 240 V, 50 Hz AC increases versatility.

The H8 Includes all system software in 1200 baud audio cassette form at no extra charge. The Benton Harbor BASIC™ is an enhanced version of standard Dartmouth BASIC with unique statements and commands to extend usefulness. The efficient compression techniques of the Benton Harbor BASIC permit you to put more program in less space.

All H8 systems software is supplied in audio cassette form. Also available in paper tape (H815, page 5) at extra cost.

HASL-8 The Heathkit Assembly language is a 2-pass absolute assembler that lets you program with easily understood mnemonics and generates efficient machine language code. A minimum of 8K memory is required.

The TED-8 software is a line-oriented text editor used for generating source programs for the assembler or general word processing. Requires a minimum of 8K memory.

The BUG-8 a powerful terminal console debug program, is an enhanced and extended version of the front panel monitor program to allow entry and debugging of user machine language programs via an external terminal. Requires 3K memory plus user program. The H8 is housed in a rugged, heavy-duty cabinet, ^6VA" W x

61/2" H x 17" D. Requires at least one H8-1 Memory. Kit H8, Shpg. wt. 30 lbs 375.00

Suggested applications for the H8 computer: As a trainer—learn microprocessor operation, interfacing and programming. The powerful front panel lets you get at and use all parts of the unit. As an entertainment center—use game and other applications programs for entertainment the whole family can enjoy. As a hobby computer—the H8 can be used to process any information you program into it —it's perfect for hobby experimentation and design. A variety of peripherals and interfaces let you use it with other equipment —run your Ham radio station, control your model railroad systems, etc.

As an educational system—the H8 is ideal for schools, community colleges, libraries, etc. Full H8 software permits teaching BASIC plus machine and assembly language programming. As a home management center—use the H8 to keep telephone numbers, monitor your budget, keep your checkbook balanced, do your income taxes, inventory your personal belongings.There are hundreds of ways the H8 can make your life more convenient.

Heathkit 3

7 6 9 +

a n cc

4 5 6

[» rj air

"l "2 "3 ^^^

0 ■ » /

Its unique front panel keyboard makes the H8 the most powerful and sophisticated low-cost general-purpose computer available. Just take a look at these features!

• Direct-access to registers and memory even while program is running

• One button load and dump for fast, uncomplicated system startup

• Single instruction key lets you "step"througli programs for easy debugging, program evaluation and learning

• Input/output keys let you communicate directly with any port

The unique Heath-designed 50-pin

bus is implemented on a heavyduty printed circuit board with heavy copper-foil bus lines. The 10-position mother board is complete with all connectors. The bus lines are fully buffered to eliminate noise and crosstalk, and "glitchfree" to prevent timing problems.

Memorv Disolav

Modular circuit boards slide into the H8 mainframe for easy memory and I/O expansion, easy access for servicing. The boards are in a semi-vertical position with unconfined heat sinks to enhance convection cooling and improve heat dissipation.

High Order Address Location

Low Order Address Location

Data al Location 040 100

Register Display

Heavy-duty power supply, rugged steel chassis and securely mounted and braced circuit boards make the H8 a truly reliable and longlife machine.

Register Identification

I/O Port Display

1^1 I i_l

LI I U

Data

Port Number

Unique Heathkit Software.

The Heathkit software supplied with the H8 computer has a number of features that make it easier to use and more practical than conventional systems. Automatic "command completion" simplifies typing; dynamic syntax checking instantly alerts you to errors and a special user configuration lets you really personalize your system. H8 software pushes the state-of-the-art a generation ahead — it's memory efficient to give you more computing power for your memory dollar, modular design for easy expansion, and thoroughly documented for easy programming and maximum effectiveness.

Heathkit 4

H8 "Intelligent" Front Panel

The H8 front panel digital readout is the most informative display available on any personal computer to date. All displays are continuously updated even while your program is executing, giving you instant access to registers and memory for direct monitoring of program activity.

MEMORY DISPLAY—Shows memory location and contents using 6 digits for address and 3 digits for data. REGISTER DISPLAY _ shows CPU-register contents using 6 digits for data and 2 digits for register identification. I/O PORT DISPLAY- Shows I/O port data and location using 3 digits for data and 3 digits for port address.

HS ACCESSORIES, SQFT\A/ARE AIMD MANUAL SET

The H8 CPU is fully wired and tested to

insure quick and trouble-free system startup. It contains the performance proven 8080A microprocessor chip, a 1Kx8 ROM with monitor program for controlling the front panel and input-output (load-dump) routines. Other features of the CPU include: 7 vectored interrupts, DMA capability, crystal-controlled clock and fully buffered bus with three state drivers. Use of the 8080A, which has the largest software library of any microprocessor, along with Heath software and documentation, makes the H8 one of the most practical and immediately useful computers you can own.

H8-1 Memory Board. 8Kx8 memory card supplied with 4K memory, plugs directly into H8 bus. Features maximum storage capacity of 8192 8-bit words. Uses modern 4Kx1 static memory IC chips for easy assembly and service. Access time, less than 450 nS. With on-board regulators, heat sinks and full buffering. Expandable to SK memory with H8-3 chip set below. Kit H8-1, Shpg. wt. 2 lbs 140.00

H8-3 Chip Set. Kit of eight 4K static memory IC's. Expands H8-1 to fuli 8K storage. Witli sockets. Kit H8-3, Shpg. wt. 1 lb 95.00

H8-2 Parallel Interface. Connects H8 to any parallel device such as a paper tape reader/punch (required for H10) or line printer. Has three independent parallel ports, each with 8 bits input and 8 bits output and universal handshaking capability. Compatible with all Heath software. 390 IJ.S maximum transfer time. With diode-clamped inputs, buffered outputs and full interrupt capability. Kit H8-2, Shpg. wt. 3 lbs 150.00

H8-5 Serial I/O and Cassette Interface.

Connects the H8 to serial devices such as the H9 video terminal (page 10) or the H36 DEC Writer II (page 12). Features jumper selectable data rate from 110 to 9600 baud, plus common input/output interfaces including 20 mA current loop and EIA RS-232C compatible levels. The cassette recorder interface permits the use of standard cassette recorders (Heathkit ECP-3801, page 12). Uses the popular Byte/Manchester or "Kansas City" standard recording format with a 300 or 1200 baud read/record rate. Control lines for remote start and stop of two cassette units allow separate record and playback for easy program or file editing. Also has full interrupt capability. LED test circuit for easy board setup and overall system servicing. Fully compatible with all Heath software. Kit H8-5, Shpg. wt. 3 lbs 110.00

NOTE: Proper operation of the H8-5 is assured only if you use the Heath ECP3801 cassette player/ recorder and Heathrecommended recording tape (ECP-3802, page 12). Heath is not responsible for improper operation associated with other cassette units.

Extended Benton Harbor BASIC

Extended Benton Harbor BASIC is an enhanced and more powerful version of the BASIC supplied with the H8. it provides even faster operation and includes character strings, additional convenience commands and math functions, dynamic storage allocation, access to real time clock, keyboard interrupt processing, expanded error messages and recovery ability, LED display control and key pad support. A minimum of 12K memory is required to run this BASIC, 16K is preferred if full use is to be made of its capabilities.

H8-13 (1200 baud audio cassette) Shpg. wt. 1 lb 10.00

H8-14 (fan fold paper tape)

Shpg. wt. 1 lb 10.00

Paper Tape Systems Software

A paper tape version of the systems software supplied with the H8 computer. It consists of four fan fold paper tapes, one each for Benton Harbor BASIC, HASL-8 assembler, TED-8 editor, and BUG-8 debug. For use with the H10 paper tape reader/punch or other paper tape I/O equipment.

H8-15, Shpg. wt. 1 lb 20.00

H8 Manual Set

Find out about the H8 before you buy! This manual set includes the complete asserhbly and operations manuals for the H8 Digital Computer, H8-1 memory card, H8-2 parallel interface, H8-3 4K memory expansion chip set, H8-5 serial and I/O cassette interface, H9 video terminal and H10 paper tape reader/punch. H8 software documentation covering monitor, editor, assembler, debug and BASIC is also included. In handsome 3ring binder. HM-800 Manual Set. Shpg. wt. 11 lbs 25.00

The purchase price of the HM-800 manual set will be refunded when you buy the H8. Simply include HM-800 saleslip with your order.

Heath User's Group

You can get even more excitement and practical use from your H8 by joining HUG, the Heathkit User's Group. It will put you In contact with other Heathkit computer users, provide a program library and an informative newsletter to keep you up to date. A HUG application Is enclosed with each Heathkit computer product. See page 12 for further details.

Heathkit 5

THE HEATHKIT

KIDD

IDIGITAL COMPUTER

Two of the finest names in modern

electronics, Heath and Digital Equipment

Corporation (DEC) combine to bring you

the world's first 16-bit computer priced

within reach of the general public!

siSSSoo

Heathkit 6

m

if''

ffsr

chorg-a-KIt

The H11 and all its accessories will be available November 10t*i, 1977.

HEATHKIT7DIGITAL EQUIPMENT CORPORATION^

H11 DIGITAL COMPUTER

Heath and DEC join forces to bring you mini-computer performance at a microcomputer price! Tlie H11 features a fully wired and tested DEC KD11F board that contains the 16-bit LSI-11 CPU, 4096 x 16 read/write MOS semi

conductor memory, DMA operation; and includes the powerful PDP-11/40 instruction set, PLUS Heath/DEC PDP-11 software. Equivalent commercial versions of the H11 would cost $1,000's of dollars morel

The new Heath/DEC H11 personal computer is one of the most powerful and sophisticated units available today! It combines the advanced, performance-proven hardvi^are and software of the LSI-11 with Heath's expertise in kit design and documentation to bring you a personal computer of almost incredible power and flexibility. Equivalent commercial versions of the H11 would cost over twice as much, and you still wouldn't get the superior documentation and support of the H11!

The LSI-11 bus is a mechanically and electrically superior bus with 38 high-speed lines containing data, address, control and synchronization lines. Sixteen lines are used for time multiplexing of data and addresses. All data and control lines are bidirectional, asynchronous, open-collector lines capable of providing a maximum parallel data transfer rate of 833K words per second under direct memory access operation.

The 16-blt CPU functions are contained on four MOS LSI integrated circuit chips. These chips provide all instructions, decoding, bus control, and ALU functions of the processor. The CPU has eight general registers which serve as accumulators, index, autoincrement/autodecrement registers or stack pointer.

The KD11F memory is a 4096-by-16 MOS semiconductor memory composed of LSI 4K dynamic RAM chips. These chips require little power, provide fast access time, and are refreshed automatically by the processor's microcode. Additional memory cards can be added to expand memory capacity up to 20K in the H11 cabinet (32K words total).

The backplane/card guide assembly holds the microcomputer and up to six I/O and memory modules. All LSI-11 bus data, control, and power connections are routed on the printed circuit backplane to each module location. The backplane/card guides are fully compatible with all standard DEC LSI-11 accessories.

An efficient, well-designed switching power supply provides the required DC voltage for the LSI-11 as well as all accessory modules. The supply features overvoltage and overcurrent/shortcircuit protection, power fail/automatic restart and a built-in fan for quiet cooling. The dual primary power configuration can be connected for 115 V, 60 Hz or 230 V, 50 Hz input power.

Has single-level, vectored, automatic priority interrupt, real-time clock input signal line, ODT/ASCII console routine/bootstrap resident in microcode for automatic entry into debugging mode, replacement of panel lights and switches with any terminal device generating standard ASCII code, and the ability to automatically commence operation through resident bootstrap routines.

The H11 is supplied with versatile PDP-11 software including editor, relocatable assembler, linker, absolute loader, debug program, I/O executive program, dump routines, BASIC and FOCAL (See details below). The software requires a minimum of 8K memory, with 12K to 16K total memory recommended for maximum capability. Rugged metal cabinet measures 6V2" H x 19" W X 17" D. For 110/220 VAC, 50/60 Hz.

Kit H11, Shpg. wt. 34 lbs 1295.00

NOTE: See DEC software license form on page 15.

ED-11. Assists you in the creation and modification of ASCII source tapes, also used to write assembly language programs and for general text editing or word processing functions.

PAL-11S. Relocatable assembler converts ASCII source tapes into relocatable binary modules. This lets you create programs in small, modular segments for easier coding and debugging. These binary modules serve as inputs to LINK-11S.

LINK-11S. Link editor which links the modules created by the PAL-11S into a load module ready for execution on the H-11. The module is loaded into the H-11 via the Absolute Loader.

The H11 is complete with superior Heathkit documentation and versatile system software.

Absolute Loader. Loads absolute binary tapes into the H11 memory for execution.

0DT-11X. Lets you debug the programs which you have created. Permits modifying and controlling program execution "on the fly" for quick, efficient debugging.

.0;r. I/O executive program permits I/O programming without developing device-driving programs. Links to your programs using the LINK-11S. For use with high speed paper tape reader/ punch and line printer.

DUMP-AB and DUMP-R. Lets you dump absolute binary contents of memory into the paper tape punch.

BASIC. DEC'S powerful version of standard Dartmouth BASIC interpreter uses english-type statements and mathematical symbols to perform operations. Immediately translates, stores and executes the program. Includes string capability.

FOCAL \ DEC'S own interpretive computer language which combines simplicity with computing power. Ideal for most scientific, engineering and math applications. FOCAL'" programs can be written and executed easily. Both 4K and 8K versions are included.

POWERFUL HEATH/DEC PDP-11 SOFTWARE AT NO EXTRA COST!

The H11 includes a sophisticated software system that lets you get your computer up and running with practical programming capabilities. This paper tape based software would cost over $1200 if purchased separately. A minimum of 8K memory is required to run the software. The programs include:

NOTE: H11 owners are eligible for membership in the Digital Equipment Computer User's Society (DECUS). This organization provides useful symposia, newsletters, program library and other useful information to help you get the most from your LSI-11 computer.

Heathkit 7

FULLY \A/IF1ED AND TESTED KD11F BOARD

The "heart" of the H11 computer is the standard DEC LSI-11 microcomputer board. The 16-bit CPU functions are contained in four silicon gate N-channel MOS LSI integrated circuit chips for high reliability and superior performance. The 4096-by-16 read/write MOS semiconductor memory is composed of LSI 4K dynamic RAM chips that provide fast access time and require little operating power. The CPU executes the powerful PDP-11/40 instruction set with over 400 instructions. There are no separate memory I/O or accumulator instructions, so you can manipulate data in peripheral device registers as easily and flexibly as in memory registers. The LSI-11 board is supplied fully wired and tested to facilitate kit assembly and provide greater reliability and less chance of error.

Rugged steel chassis and extra-thick backplane with heavy, solid connectors for added strength and years of superior performance.

Compact, efficient switching power supply uses less power to operate and generates less heat than conventional supplies. Overvoltage and overcurrent/short circuit protection, along with automatic power-up and power-down sequencing, provide high reliability and long life operation.

Built-in quiet-running fan provides efficient cooling and prevents heat buildup.

Card cage with backplane accommodates up to six accessory cards in addition to LSI-11. The card cage swings up for easy access and service even while the H11 is operating. Accessory boards slide directly into card guides with all connectors supplied.

Front panel controls include DC power switch and run/halt switch. Status lights indicate processor activity.

Styled and sized to match Heathkit peripherals for total system continuity.

The H11 and all its accessories will be available November 10'^, 1977.

Heathl<it8

H11 ACCESSORIES, SOFTXA/ARE AND MANUAL SET

Card handles provide easy removal and insertion in card cage

Sixteen state-of-the-art 4K static memory chips for high density storage

All IC's are socketed for easy kit assembly, easy access for service or troubleshooting

'liiij I I

Ijll

m

All inputs are diode-clamped for worry-free interfacing and system protection

Separate cables and rear panel connectors for highbyte and low-byte increase system flexibility

Gold-plated edge connectors maintain superior electrical contact for high reliability and long life

Quartz crystal and integrated baud rate generator has superior accuracy for reliable system interfacing

ffl H11-1 4K Memory Expansion Module

Plugs into H11 backplane, adds 4K x 16bit word capacity to H11 memory. Uses high^reliability 1Kx4 static MOS RAM chips. Access time is less than 500 nS. Has decode circuitry for operation on 4K address boundaries. Handle for easy removal and insertion. Compatible with PDP 11/03 and other LSI-11 backplane machines. Kit H11-1, Shpg. wt. 2 lbs 275.00

[2] H11-2 Parallel Interface

General-purpose parallel interface featuring 16 diode-clamped latched data input lines, 16 latched output lines, 16-bit word or 8-bit byte data transfers. Has LSI-11 bus interface and control logic for interrupt processing and vectored addressing; control status registers compatible with PDP-11 software routines. Four control lines for output data ready, output data accepted, input data ready and input data accepted logic operations. Maximum data transfer rate, 90K words per second under program control. Maximum drive capability, 25-ft. cable. Plugs into H11 backplane, can be used with DEC PDP-11/03 and other LSI-11 backplane machines. Also compatible with TTL or DTL logic devices. The H11-2 is required for interfacing the H11 to the NIC Paper Tape Reader/ Punch. Kit H11-2, Shpg. wt. 2 lbs 95.00

[3] H11-5 Serial Interface

Universal asynchronous receiver/transmitter serial interface module for use between LSI-11 bus and serial devices such as the Heathkit H9 video terminal (page 10) or LA36 teleprinter (page 12). Has optically isolated 20 mA current loop and EIA interfaces; selectable baud rates of 50, 75, 110, 134.5, 150, 200, 300, 600, 1200, 1800, 2400, 4800 and 9600. Plugs into H11 backplane, fully compatible with PDP 11/03 and other LSI-11 backplane machines. With all mating connectors. Kit H11-5, Shpg. wt. 2 lbs 95.00

H11-6 Extended Arithmetic Chip

Adds powerful arithmetic instructions to the LSI-11, including fixed point multiply, divide and extended shifts plus full floating point add, subtract, multiply and divide. Helps minimize or eliminate arithmetic sub-routines, speeds up program execution and eases program development. Saves memory space too. 40-pin dual-inline package IC plugs into socket on KD11F board.

H11-6, Shpg. wL 1 lb 159.00

Manual Set for H11 Computer

Includes complete assembly and operation manuals for the H11 Digital Computer, H11-1 4K memory board, H11-2 parallel interface, H11-5 serial interface, H9 CRT terminal, and H10 paper tape reader/punch. Also includes complete soft

ware documentation — monitor, editor,

assembler, linker, BASIC, FOCAL and

related software. In handsome 3-ring

binder.

HM-1100 Manual Set,

Shpg. wt. 12 lbs 25.00

NOTE: The price of the manual set can be deducted when you order an H11.

NOTE: DEC, DIGITAL, FOCAL and PDP are registered trademarks of Digital Equipment Corporation.

Special DEC Software License Requirement

H11 purchasers are required to fill out and sign the DEC license agreement on page 15. Please do so and include with your H11 order. Heath cannot ship merchandise without this license agreement.

Heathkit 9

HEATHKIT

TERMINAL

One of the lowest-cost full ASCII terminals available anywhere —features a bright 12" CRT display with twelve 80-character lines, 67-key keyboard, all standard serial interfaces, plus a fully wired and tested control board and a wiring harness for simplified assembly.

chorg-Q-KK

H9 LOIMG AIMD SHORT-FORM VIOEO DISPLAY TERMINAL

The H9 video terminal is a general-purpose computer peripheral designed for use with the Heathkit H8 or H11 computers. It provides l<eyboard input and a CRT for the convenient entry and display of computer programs and data. The H9 can be used with any digital computer in dedicated stand-alone applications or in time-sharing systems.

Character format is standard upper case 5x7 dot matrix. The long form display is twelve 80-character lines. The short form display is forty-eight 20-character lines in four 12-line columns. The automatic line carryover feature executes line feed and return when line exceeds character count on both long and short form displays. A built-in oscillator/speaker generates a 4800 Hz tone and serves as audible end-of-line warning.

Auto-scrolling is featured in both long and short form. In the long form, as the line enters at bottom, the top line scrolls off-screen; in the short form, as new column enters from right, the left column scrolls off-screen. Auto-scrolling can be

Three

separate modes

give the H9 real

display versatility

Long form — twelve 80-character lines

Short form— forty-eight 20-character lines

defeated with a front panel switch. The cursor mark indicates the next character to be typed for accurate positioning. Cursor control keys include up, down, left, right and home. Serial data baud rates are selectable from 110-9600. Baud rate clock output and reader control are available on the rear panel connector. The erase mode permits automatic full page erase or erase to end of line starting at cursor position. A transmit page function allows a full page to be formatted, edited and modified, then transmitted as a block of continuous data.

Tiie plot mode permits graphs, curves and simple figures to be displayed. Plot

Full ASCII 67-key Keyboard

Function keys are positionedaway from characters to prevent miskeying and error.

Standard typewriter keyboard for easy, more accurate input.

Wide, easy-to-use space bar aids accurate typing.

.a[l[lE30[10^S

Plot mode —graphs, curvcii, simple figures

Control PC board Is fully assembled and tested for added reliability and simplified kit assembly. A wiring harness with connectors helps reduce time-consuming point-to-point wiring.

ting can be accomplished via the keyboard or from external inputs.

The H9 serial interface provides EIA RS-232C levels, a 20 mA current loop or standard TTL levels. Parallel interfacing includes standard TTL levels, 8 bits input and 8 bits output and 4 handshaking lines.

Ultra-compact size, only 121/2" H x ISVa" W X 20%" D, makes the H9 ideal for desktop or console applications. For 110 VAC, 60 Hz or 230 VAC, 50 Hz.

Kit H9, Shpg. wt. 50 lbs 530.00

Heathkit 10

a

^■^11

Ghorg-a-kit

HEATHKIT

urn 4

/

PUNCH

A general-purpose mass storage

peripheral designed for use with the

H8 and H11 computers plus any

other computer. Features a heavy-duty

built-in power supply, totally independent

punch and reader and a copy mode

for fast, easy tape duplication.

oo

HIO DELUXE PAPER TAPE READER/PUIMCH

Heavy-duly solenoids for reliable, long-life operation

Precision machined

punch block for

accurate, consistent

punched holes

Advanced reader design with stepper motor and solid-state sensors for accurate reading

The mo is a complete paper tape reader/ punch mass storage peripheral using reliable low-cost paper tape. It's fully compatible and styled to match with the H8 and H11 computers. It also works reliably with any other computer through a parallel interface.The HIO uses standard 1" wide roll or fan-fold 8-level paper tape. Standard punched paper tape gives you the reliability, durability and trouble-free handling you need for effective mass storage of programs and data.

The reader reads tape at a maximum rate of 50 characters per second. A full sensitivity adjustment on each channel permits any color, thickness, quality (oiled

or unoiled) paper tape to be used. Sensitive photo Darlington transistors and an incandescent lamp reader head provide reliable reading. The powerful stepper motor drive insures accurate tape positioning and movement.

The punch operates at a maximum speed of 10 characters per second. Precise ratchet/solenoid drive and reliable solenoid control of punches provide highaccuracy punching. The precision dieblock punch head gives you positive and consistent punching.

Controls include power on-off, read and punch start. A feed control feeds blank paper tape through the punch to produce leader tape. A copy control on the rear panel permits tape being read to be duplicated by the punch for efficient and accurate tape copying.

Interface has parallel 8-bit input bus for punch, parallel 8-bit output blis for reader, standard TTL logic levels and handshaking lines for both reader and punch. A rear panel 24-pin interface connector and mating cable are supplied. The HIO is fully compatible with Heathkit H8 and H11 computers when the appropriate parallel interface accessories are used. It can also be interfaced with other computers with parallel interface facility.

Accessories include holder for roll paper tape, chad collector tray, and collector box for fan-fold tape. With 8" roll (900 ft.) blank paper tape.

Styled to match the Heathkit H8 and H11 computers. Cabinet with metal top and rugged steel chassis, 12%" H x 9%" W x 1 eVs " D. For 110-130 VAC, 60 Hz, or 220240 VAC, 50 Hz.

Kit HIO, Shpg. wt. 29 lbs 350.00

H10-2, Three Blank Rolls Paper Tape,

each 8" diameter, 900 ft. min.

H10-2, Shpg. wt. 5 lbs 10.00

H 10-3, Three Boxes Blank Fan-fold Tape.

Approx. 1000 ft. each.

H10-3, Shpg. wt. 5 lbs 10.00

Heathkit 11

ECP-3801 Cassette Recorder Storage Device

Has volume and tone controls, pushbuttons for record, play, rewind, fast forward, stop and eject, built-in 3-digit counter with reset button. Factory wired, not a kit. ECP-3801, Shpg. wt. 6 lbs 55.00*

Heath recommended high output, low noise, premium grade audio recording tape. Pack of three 30-minute blank cassettes. ECP-3802, Shpg. wt. 1 lb per pack 5.00

*NOTE: Proper operation of the H8-5 and H8 software is assured only wfien tfie ECP-3801 cassette recorder and ECP-3802 tape is used. Heatfi does not assume responsibility for improper operation resulting from the use of any other cassette units.

HUG-the Heathkit User's Group

Our new user's group brings you in contact with other Heathkit computer owners and users, provides a newsletter, a program library, new product information and hardware/software ideas. Membership in HUG is a useful, practical way to get the maximum enjoyment and benefit from your Heathkit computer system. Here's what you get:

• 1 year subscription to the quarterly newsletter

■ Software library allowing you to submit'programs and obtain programs submitted by others. A modest fee will be charged for software duplication.

• An attractive 3-ring binder to hold newsletters, software documentation and other materials.

• Program submission forms Software library catalog

• HUG membership list .. Credit toward purchase of software

Dues are $14.00 for one year. Complete details of HUG membership are included with every Heathkit computer product. H11 owners are also eligible for membership in DECUS, see page 7 for details.

Heathkit 12

LA36 DEC Writer II Keyboard Printer Terminal

The famous LA36 DEC Writer II with true 30-cps throughput, variable-width forms handling, 128-character upper/lower case set, and extra-quiet operation. Fully assembled, factory tested and ready to use!

The LA36 is an advanced technology teleprinter offering fast, reliable operation at one of the best price/performance ratios in the industry. It features a 7x7 dot matrix print head for crisp, clear character formation; switch-selectable 10, 15 and 30 cps printing speeds; variable width forms handling from 3 to 14%" wide; adjustable right and left hand tractors for precise margin positioning; half or full duplex operation; ANSI-standard multikey rollover and a typewriter-like keyboard.

The precision-designed stepper motor paper feed has fine vertical adjustment for accurate forms placement. LA36 will handle up to 6-part forms with a .020" maximum pack thickness. Print format is 132-column, with 10 characters per inch horizontal spacing and 6 lines per inch vertical spacing. Uses the entire 128 character ASCII upper/lower case set with 95 printable characters. A CAPS-lock key simplifies data entry. A parity check on output prints a replacement character, strappable to odd, even, or none with mark or space. A last-character visibility feature moves the head four columns to the right when printing stops, returns to proper position when printing is resumed.

The integral 20 mA current loop interface makes the LA36 compatible with both the H8 and H11 computers, as well as all other hobby and personal computers. Operates on 90-132 VAC or 180264 VAC for reliable performance even under brown-out conditions. With connecting cable and integral stand for easy setup. Overall size, 271/2" W x 3374" H x 24" D.

H36 (LA36 DEC Writer II) Shipped Motor Freight, prepaid to your nearest terminal within the Continental U.S. Include your phone number on order for notification of arrival. Arrangements for home delivery at extra charge at your option. NO C.O.D ORDERS ACCEPTED $1495.00

H36-1 Fan-fold paper for H36. Standard 14%"x11" white and green, single part, lined paper. 3450 sheets per carton.

H36-1, Shpg. wt. 50 lbs 30.00

H36-2 EIA Interface. Provides EIA RS232-C or CCITT-V24 interface for LA36. Includes auto answer, timed disconnect and half/ full duplex logic. Straps are available to send timed break (230 mS), 3000 mS long space, forced disconnect or do nothing (stops printing, discards data) on a paper-out condition. Modem controls and a 9-ft. cable with 25-pin data-set type connector are also supplied. Factory wired, not a kit. H36-2. Shpg. wt. 1 lb 65.00

APPLICATIONS SOFTWARE-COMING SOON!

Both the H8 and Hll Digital Computers are supplied with complete systems

software Ihat provide you with everything you need to develop your own specific applications programs. However, you can make your computer immediately useful by using the programs below. These programs represent the beginning of a complete series of application software packages that will allow you to get immediate value from your computer system without a time consuming software development-effort on your part. Described below are a series of game packages that make your computer an excellent source of entertainment and leisure time activities.

BLACKJACK. A" interactive program game that allows four players to play the card game blackjack on the computer. The computer performs all of the functions of the dealer and keeps track of player progress, winnings and losses. The program is written in and runs under extended BASIC and requires a minimum of 16K of RAM in the H8 and 8K in the Hll. Standard Las Vegas casino blackjack rules apply.

BIORHYTHM. This popular applications program computes standard biorhythm information and plots sinusoidal curves of your physical, emotional, and intellectual characteristics over a given time period. The biorhythm program will show you your ups and downs and will tell you your good and bad days. It will help you plan your activities. While this program is not a game, it is an entertaining activity that you and your friends and family will enjoy. The program runs under extended BASIC and requires 16K of RAM in the H8 and 12K RAIH in the Hll.

STARTREK. Startrek is perhaps the most popular computer game available. It allows yoiJ to guide, control and command the Starship Enterprise in its travels through the galaxy, fighting Klingons and solving a variety of problems. A truly challenging, sophisticated and entertaining computer game. Runs on the H8 or Hll computers with 8K of RAM or more.

GAME SET -1. This software package lets you play 8 popular computer games. These games include Craps, Orbit, Tic Tac Toe, Nim, Hexapawn, Hangman, Hmrabi, and Derby. 8K RAM or more is required on either the H8 or Hll. These games will provide hours of entertatnment for you and your family.

GAME SET - 2, Another popular game package for the H8 and Hll computers. Contains 8 popular computer games including bagles, slot machine, gomoko, yahtze, apollo, gunner, wumpus, and cube.

; , Blackjack, Biorhythm and Startrek will be available after October, 1977. Game Set *1 will be available November, 1977 and Game Set -2 available, February, 1978.

Order a complete Heathkit computer system and SAVE!

SYSTEM ONE

The minimum recommended H8 system

H8 Computer $375

H8-1 4K Memory 140

H8-3 4K Chip Set 95

H8-5 Serial I/O and Cassette

Interface 110

H9 Video Terminal 530

ECP-3801 Cassette

Recorder/Player 55

If purchased separately, $1305.00

Heath System ffii^«3^75' price is «■—•»•-■

Choose any of the Heath-recommended systems shown here, the specially-priced HS-11 system below, or "roll your own" with a selection of products you choose. Any way you do it, you'll get a top-value, highperformance system, and you'll SAVE 5%! Here's how to qualify for the 5% computer systems discount:

1. Select either the HB or H11 and one major peripheral (H9,H10 or LA36).

2. Choose the I/O interface, memory and software accessories you need.

3. Specify each in the spaces provided on the order blank.

4. Deduct 5% from the total price of the products (excluding shipping and handling charges).

'Systems illustrated already have discount prices calculated for you.

From time to time. Heath will offer specially priced total systems such as the HS-11 below. These systems will be discounted even deeper than 5% to provide you with even MORE value for your computer dollar!

SYSTEM T\A/0

H8 Computer $375

Two H8-1 4K Memories .... 280

Two H8-3 4K Chip Sets 190

H8-5 Serial I/O and Cassette

Interface 110

H8-13 Extended BASICIn

Cassette Format 10

H9 Video Terminal 530

ECP-3801 Cassette

Recorder/Player 55

If purchased separately, $1550.00 Heath System ^m^^ynsn*

1 i

SYSTEM THREE

The minimum recommended H11 system

H11 Computer $1295

H11-1 4K Memory 275

H11-2 Parallel Interface .. 95 H11-5 Serial Interface .... 95

H9 Video Terminal 530

H10 Paper Tape

Reader/Punch 350

If purchased separately, $2640.00 Heath System price is S25Q8°°'

SYSTEM FOUR

SAVE EVEN MORE on this specially-priced Heath HS-11 complete computer system!

H11 Computer $1295

H11-1 4K Memory 275

H11-2 Parallel Interface .. 95

H11-5 Serial Interface .... 95

H10 Paper Tape

Reader/Punch 350

H36LA36 DEC Writer II ... 1495

If purchased separately, $3605.00

YOU SAVE SS55!

Heathkit 13

Jl^'

r/r

»«*«^

NE\A/ HEATHKIT SELF-INSTRUCTIONAL

COMPUTER COURSES

These Heathkit self-instructional courses are designed to help you get the most from your computer investment, whether you buy your computer hardware from Heath or anywhere else. While many predeveloped software programs are available, the only way to realize the full value of your personal computer is to learn programming yourself. These courses use the PROVEN Heathkit individual learning techniques to give you a thorough understanding of programming, even if you have no prior knowledge or experience. They'll show you exactly how to make your personal computer system really personal I

BASIC PROGRAMIVIING SELF-IIMSTRUCTIOIMAL. COURSE

This course teaches you how to program your computer using the popular BASIC language. BASIC (Beginner's All-Purpose Symbolic instruction Code) is essential for hobby and personal computing; it is also widely used in education and business. The course covers all formats, commands, statements and procedures plus the creative aspects of computer programming, so you can make practical use of it in solving problems and creating your own unique programs. Like other Heathkit self-instructional courses, it uses programmed instructions backed by practical hands-on computer experiments and demonstrations to reinforce and personalize the text material. An optional final exam (passing grade 70%) brings you a Certificate of Achievement and 3.0 Continuing Education Units*. While the BASIC course is keyed to Heathkit computers, it is also equally applicable to any computer system using BASIC. Available after Oct. 20'fi, 1977.

EC-1100, Shpg. wt. 6 lbs 29.95

'Continuing Education Units (CEU's) are nationally recognized means of acknowledging participation in non-credit adult education.

COMING IN

COMIIMG 500IM!

8080 Programming: Teaches you the machine and assembly language used with 8080-based computers. Shows you how to use the editor, assembler and debug software to create efficient programs. Ideal for the H8 and other 8080A based machines. Coming soon.

LSI-11 Programming: Shows you how to use editor, assembler, linker, debug and executive I/O software to create efficient programs. Applicable to Hll and most other Digital Equipment Corporation PDP-11 series computers. Coming soon.

OCTOBER!

MICROPROCESSOR SEUP-IIMSTRUCTIONAL COURSE

Learn how microprocessors operate

and how to design with them. Covers applications, machine language programming, hardware I/O interfacing and much more. The course includes all IC's needed to perform exciting experiments. The microprocessor trainer used with the course features the popu

lar 6800 microprocessor plus 256 bytes of RAM, a IK ROM monitor, 6-digit hexadecimal display and hexadecimal keyboard. The Heathkit microprocessor course/trainer combo is the fast, easy low-cost way to learn about these important devices. Watch for it in our next catalog!

GENERAL COMPUTER BOOKS

Microcomputer Dictionary and Guide (Matrix). Comprehensive source of definitions and basic information on computers and related topics. A super reference source.

A must for your library. EDP-218 17.95

Introduction to Microcomputers Vol. I (Osborne). Excellent introduction to microcomputers and fundamental computer concepts.

EDP-224 7.50

Introduction to Microcomputers Vol. II (Osborne). Complete descriptions of all popular microprocessors, 8080, 6800, 6502, SC/MP, Z80, F8, 2650, etc. Good reference.

EDP-225 12.50

How to Buy and Use Minicomputers and Microcomputers (Sams). A fundamental text on mini/micro operation and application.

EDP-227 9.95

TV Typewriter Cookbook (Sams). Good text explaining I/O terminals, interfacing, etc. EDP-226 9.95

8080 BOOKS

Build a library to support your H8 computer or any 8080 based machine. Bugbook III (E&L).Superior reference source on 8080 interfacing and programming. Includes experiments. EDP-231 15.00

Bugbook IIA (E & L). Serial I/O concepts and terminal interfacing. EDP-232 ....5.00 8080 Programming for Logic Design (Osborne). Programming and Using the 8080 microprocessor. EDP-229 7.50

Heathkit 14

8080 Software Gourmet Guide and Cookbook (Sceibi). Excellent source for 8080 programs and subroutines. EDP-228 9.95

Practical Microcomputer Programming: 8080 (Northern Technology). Machine/Assembly programming concepts for the 8080. EDP-235 21.95

6800 BOOKS

Great reference sources for your 6800 based computers.

6800 Programming for Logic Design (Osborne). Programming and using the 6800 microprocessor. EDP-230 7.50

6800 Software Gourmet Guide and Cookbook (Sceibi). Excellent source of commonly used 6800 programs. EDP-233 9.95

6800 Microprocessor Applications Manual (Motorola). Comprehensive review of typical 6800 applications, design solutions, etc. EDP-244 25.00

6800 Microprocessor Programming Manual (Motorola). Programming principles and examples for the 6800. EDP-245 10.00

H11/LSI-11/PDP-11 BOOKS

Here are several important reference sources to help you gel the most value from your H11 Computer.

Minicomputer Systems: Organization and Programming (Prentice-Hall). Good basic text. Emphasis on the PDP-11. EDP-238 17.95

PDP-11 Programming (Algonquin). A programmed instruction text teaching the concepts of PDP-11 operation and programming. EDP-239 5.00

The Minicomputer in the Laboratory (Wiley). Operation, programming and applications of PDP-11 computers. EDP-246 19.50

GENERAL PROGRAMMING AND APPLICATIONS BOOKS

Assembly Level Programming (Lexington).

Good basic book on assembly language programming of small computers.

EDP-236 14.95

101 BASIC Computer Games (DEC). A classic. Have fun with your computer. EDP-237. .7.50 BASIC Software Library, Vol. I. Complete lists of BASIC applications programs bookkeeping, games, pictures (graphics).

EDP-240 24.95

BASIC Software Library, Vol. II. Math, engineering, plotting and statistical programs in

BASIC. EDP-241 24.95

BASIC Software Library, Vol. III. Advanced business applications programs in BASIC.

EDP-242 39.95

BASIC Software Library, Vol. IV. Games and business applications programs in BASIC.

EDP-243 9.95

BASIC Software Library, Vol. V. Games, graphics, and useful math programs in BASIC. EDP-251 9.95

ORDER FORM

Agreement

Gen desi

D D D D D D D D D

n

D D D D

tiemen: Please send me the Heathkit Computer Products I gnated for future delivery Heath will do their best to ship

H8 Computer at $375.00 each plus $5.40 shipping and handling.

Qty. H8-1 4K Memory(s) at $140.00 each

plus $1.15 shipping and handling.

Qty. H8-3 4K Chip Set(s) at $95.00 each

plus $1.15 shipping and handling.

H8-2 Parallel Interface at $150.00 each plus $1.30 shipping and handling.

H8-5 Serial I/O Cassette Interface at $110.00 plus $1.15 shipping and handling.

H8-13 Extended BASIC Cassette at $10.00 each plus $1.15 shipping and handling.

H8-14 Extended BASIC on paper tape at $10.00 each plus $1.15 shipping and handling.

H8-15 Paper Tape Systems Soflware for MB at $20.00 each plus $1.15 shipping and handling. HM-800 Manual Set at $25.00 each plus $2.37 shipping and handling.

H11 Computer at $1295.00 each plus $5.52 shipping and handling.

Qty. H11-1 4K Memory(s) at $275.00 each

plus $1.15 shipping and handling.

H11-2 Parallel Interface at $95.00 each plus $1.15 shipping and handling.

H11-5 Serial Interface at $95.00 each plus $1.15 shipping and handling.

Please send the following Computer Books (order must total $10.00 minimum) postpaid (Print numbers plainly.)

have checked below. I understand that if I order products within 30 days of those availability dates.

H11-6 Extended Arithmetic Chip at $159 each plus $1.15 shipping and handling.

HM-1100 Manual Set at $25.00 each plus $2.50 shipping and handling.

H9 Video Terminal at $530 each plus $7.64 shipping and handling.

H10 Paper Tape Reader/Punch at $350 each plus $4.96 shipping and handling.

H10-2 Three Rolls Paper Tape at $10.00 plus $1.15 shipping and handling.

H10-3 Three boxes Fan-fold Paper Tape at $10.00 plus $1.15 shipping and handling.

H36 DEC Writer II at $1495 (No COD's, see page 12 for shipping information.)

H36-1 Fan-fold Paper at $30.00 plus $7.76 shipping and

handling.

H36-2 E1A Interface at $65.00 each plus $1.15 shipping

and handling.

ECP-3801 Cassette Recorder/Player at $55.00 each plus

$1.69 shipping and handling.

ECP-3802 Cassette Recording Tape. Pkg. of three at

$5.00 plus $1.15 shipping and handling per pkg.

EC-1100 BASIC Programming Course at $29.95 plus

$1.69 shipping and handling. Available after October.

HS-11 Special Priced Complete System at $3350 each

plus $14.00 shipping and handling.

Note: The H11 and all its accessories will be available November 10th, 1977.

D D D D D D D

n n n

D

D

D

HEATH REVOLVING ^^,, CHARGE PLAN • '

You may purchase Heathkit products on our convenient Revolving Charge Plan. No money down and up to two years to pay. Up to $1500 maximum account balance.

□ I would like to open a Heath Revolving Charge Account. Please rush me the necessary application forms when you receive this order.

I enclose my D check D money order for $

Or charge to my n Visa/Bankamericard n Master Charge

Acc't No Exp. Date_

If Master Charge, include Code No.

n Add on to or reopen my existing Heathkit Charge Account. No.($1500 maximum account balance.)

Signature

-(Michigan residents add 4% sales tax.)

(necessary to stiip merchandise)

Please print plainly

Address_

City_

_Zip_

BR-119 All prices net F.O.B. Benton Harbor, Mi. Prices and specifications subject to change without notice.

HEATH/DEC Software License Agreement

This form MUST accompany your H11 computer order.

CUSTOMER SUBLICENSE GRANT

HEATH COIvlPANY (hereinafter referred to as HEATH) pursuant to a license agreement with Digital Equipment Corporation (hereinafter referred to as DIGITAL) does hereby grant to CUSTOMER a non-transferable and non-exclusive sublicense to use the Binary Software Program(s) PTSP-11 Paper Tape System, FOCAL/PTS Language Processor, BASIC/PTS Language Processor (hereinafter singularly and/or collectively referred to as "Software") on the following terms and conditions.

DESCRIPTION OF SOFTWARE:

Software is furnished to CUSTOfvlER for use on a single CPU only and may be modified, or copied (with the inclusion of DIGITAL'S copyright notice) only for use on such CPU. The CUSTOIvlER shall not provide or otherwise mafce available the Software or any portion thereof in any form to any third party without the prior approval of DIGITAL. Title to the ownership of the Software shall at all times remain with DIGITAL. DIGITAL AND HEATH JOINTLY AND SEVERALLY DISCLAIM ALL IMPLIED WARRANTIES WITH REGARD TO THE SOFTWARE LICENSED HEREUNDER, INCLUDING ALL WARRANTIES

OF MERCHANTABILITY AND FITNESS; and any stated express warranties are in lieu of all obligations or liability on the part of either DIGITAL or HEATH for damages, including but not limited to special, indirect or consequential damages arising out of or in connection with the use or performance of the Software licensed hereunder.

This Sublicense Grant, the licenses granted hereunder and the Software may not be assigned by the CUSTOMER without prior written consent from DIGITAL. No right to reprint or copy the Software, in whole or in part, is granted hereby except as otherwise provided herein.

HEATH COMPANY

By

UJiiJU(K\

CUSTOMER

By

1f*fs^

Customer's Signature

Heathkit 15

Heathkit is the name to look for in quality electronic kits

Heath Company, located on the shores of Lake Michigan near Benton l-larbor, is the world's largest manufacturer of electronic kits. Heathkit products are marketed primarily through the Heathkit Mail Order Catalog, published 5 times a year, and a nationwide chain of Heathkit Electronic Centers (Units of Schlumberger Products Corporation).

In addition to this new line of personal computing products. Heath Company offers nearly 400 other electronic kits of virtually every description. Product categories include Amateur Radio, Automotive Accessories, Stereo Hi-fi Components, Test Instruments, Color TV, Boating and Marine Accessories, Leisure and Home Improvement Products, and our awardwinning self-instruction programs. Every Heathkit product is supplied with a comprehensive step-bystep instruction manual that tells you all you need to know, from unpacking the kit to plugging it in. These manuals are world-famous for their clarity, accuracy and precision. Let Heath show you how easily you can put together superior quality electronic products. Send for your FREE copy of our latest catalog!

Heathkit Computer Systems are also sold and serviced through 47 Heathkit Electronic Centers nationally (Units of Schlumberger Products Corporation) at slightly higher prices. Check the white pages of your telephone directory for the Heathkit Electronic Center nearest you.

Canadian Customers: Contact the Heathkit Electronic Center in most major cities or write for Canadian Prices to:

Heath Company, A Division of Schlumberger Canada, Ltd.

1480 Dundas Street E.

Mississauga, Ontario L4X 2R7

Printed in U.S.A.

Continued from page 128

Q=VAR NAME OF RESULT

)

STACK EXPLICIT RESULT

BRANCH TO NEXT SYLLABLE IN CALLING PROGRAM

PROGRAM ERROR, SYMBOL OF RESULT NOT FOUND IN SYMBOL TABLE

I-^SF(SFP).S2-I

NL-^SF(SFP).S3+I

SFP-^SFP-I

FTAB(SF(SFP).S1).F2>0 h-^ ,

FTAB(SF(SFP).SI).F2=Z h-_

?

YES

^NO

P2-^P2-1

—I

P YES

\N0

?

pi-^pi -1

1

■

( RETURN j

Figure 14: The procedure used to return from a subroutine. If the subroutine had an explicit result, an indirect pointer to the result must be stacked in table SVAL. Information stacked in table SF by the call to the subroutine must be unstacked. Finally, before continuing the interpretation at the proper syllable, any actual parameter pointers stacked in tables SDI and SD2 must be unstacked.

Statement branching and subroutine linkage is a relatively simple process compared with expression evaluation. The next few figures return us to our discussion of the interpreter itself by detailing the expression evaluation process.

THE

8700 COMPUTER/ CONTROLLER

An exceptional price on an applications oriented 6503 based micro-processor system featuring:

► IK bylos RAM locations (512 byLcs supplied

► IK bytes ROM(25G byte monitor included)

► 2 - S bit input ports

► 2 - S bit output ports (Hatched, 1 buffered)

► 24 key touch operated keypad (used by monitor to allow entry S.- execution of user programs also user definable.)

► 2 - latched seven segment displays (used by monitor to display mcmorj' location & contents easily user programmed)

► Optional cassette interface (S22. 50) fits entirely on the processor board.

THE IDEAL. LOW COST SOLUTION TO IMPLEMENTING ALL THOSE WILD COMPUTER BASED CONTROL SYSTEMS YOU VE BEEN DREAMING OF!

PAIA software currently available or mider tlevelopmenl includes: Music s^aithesizer intei'l'ace: Home applications package including: multi-zone fire/burglar alarm, real time clock, energy saving hoat/air conditioning control, computer generated "door-bell": Model roalroad conti'oUer and more

SB**"

ELECTRONICS • DEPT. 7-B •

8700 COMPUTER CONTROLLER KIT 5149.95

(requires 5v. i" 1. 2A. : 12v. ("' 150ma,) Shipped direct from PAIA (add $3. 00 postage)

1020 W.Wilshire Blvd.

ii^,:t*iiuu

Oklahoma City, OK 73116

145

Also available at FULL-LINE Computer stores. Circle 244 on inquiry card.

RECURSIVE

ENTRY

ALLOWED

( = )

'

P_SUBR

CALL P_SU8R(B)

Q^

FC

CALL FC(B)

TRUE

CALL AS(B)

MOP

CALL MOP(B)

L-^FALSE

-/ RETURN J

I^ -0

TRUE

DOP

P_SUBR

DYADIC

CALL DYADIC

FALSE

FALSE

MONADIC_S.USR

CALL MONADIC_SUBR

■o

( RETURN J

-/ ERROR 13 )

DYADIC OPERATOR NOT PRECEDED BY PRIMARY

<expression>: : = <primarv> | <iunction call> | <issignmenL> |

<jTionadic operatorXexpression> | <primaryXclvadic operatorX£xpression>

Call E(L)

L set true if valid expression found and interpreted. L set false

otherwise.

Figure 15: Subroutine E. Tliis routine is called in figure II to recognize and interpret an expression. Five primary subroutines are invoked by E to interpret a valid expression. First E-SUBR is called to test for a valid primary which must be the rightmost token in any valid expression. After a primary is found, subroutine FC is called to test for and interpret a valid function call. If found, subroutine E starts again; otherwise, AS is called to look for a valid assignment. Subroutines MOP and DOP may also be called to look for monadic and dyadic operators, respectively (see figure 17). The total result is that a valid expression will be interpreted and argument L will be set true. In the case of an invalid or a nonexistent expression, argument L will be set false.

146

RECURSIVE ENTRY ALLOWED

f P-SUBR J

L-^TRUE

vec

CALL VEC(B)

TRUE /' N —= 1 RETURN 1

V-SUBR

CALL V_SUBR(B)

T'^^E (^ RETURN ^

RIGHTPAR

CALL RIGHTPAR (B)

<primarv>: : =<vec>|

<-fn> I <v> I (<expression>) CALL E.SUBR(L) L set true if a valid primary found and interpreted. L set false otherwise.

CALL E(B)

CALL FN(B)

-/ ERROR 14 )

VALID EXPRESSION NOT FOUND WITHIN PARENTHESIS

LEFTPAR

CALL LEFTPAR (B)

N ( RETURN )

ERROR 15 J V y

/^

CALL-SUBR

<'

J \. TRUE

CALL CALL-SUBR

' y

FALSE

L-«-FALSE

|.

RIGHT PARENTHESIS NOT BALANCED BY A LEFT PARENTHESIS

( RETURN j

Figure 16: Subroutine ILSUBR. A primary can be formed from a vector, a function caii, a variable or an expression enclosed in parenthesis. The subroutines VEC, FN, \LSUBR and E are invoked to test for these tokens. Note the recursive call to subroutine E: subroutines which must handle recursive calls are so labelled on their flowcharts.

ACT IV

Slaiulaixl features: l\ill screen clisplas' ol' ^4 lines In 80 chaiaclers. Prolessional. hit^hly reliable i^e>i)oard with 2 key rollo\'cr. Auto repeating cursor ke\s. space and 'period.

i'ull ASCII display of uppei" and true lower case characters .plus a unique set for the display of control characters. Console selectable 'Page' mode with true editinj>: Insertion and deletion of characters or lines with automatic ilisplay rearrangement. Data rates to U)2()() bautl.

.'\bsokitc cursor positioning, report of cuisor position, fi.xed labs, home up, bell, erase to end of line and erase to enil of file are all standard. A smart' page transmit ignores trailing spaces and blank lines. The ACT-IV comes in two configurations; In a conipact cabinet without monitor for $550 (ACT-IVA) or complete with 12" data monitor and numeric ke\pad for $800 (ACT-IVB). All units are fully assembled and tested. More detailcti information concerning the ACT-IV can be obtained from any discriminating computer store

Micro-Term Inc.

P*^ Box 9387 St. Louis, MO 63117 (314) 645-3656 II^^TZ^^I^^IZ

( RARROW )

f RETURN J

( LARROW j

B-«-TRUE

B-- FALSE

-/ RETURN J

(33

I Return j

( RIGHTPAR )

B-*-TRUE

B-^FALSE

-/ RETURN j

f LEFTPAR j

YES

I-^ I-l B-^ TRUE

B-«—FALSE

-/ RETURN j

f MOP j

CODE-^SP(I).P I -^ I - I B-- TRUE

B-«—FALSE

-T RETURN j

( LBRACKETj

/ RETURN j

f RBRACKETj

CED

1--1 -I

B-«-TRUE

B-«—FALSE

-f RETURN J

DYADIC MIXED TRUE; OPERATOR

FALSE: DYADIC SCALAR OPERATOR

INNER OR TRUE; OUTER PRODUCT FOUND

( RETURN j

INNER PRODUCT TRUE;EXPECTED

OUTER FALSE; PRODUCT

SP(I).7=7 a I

TRUE (ERROR 26

)

CODE-^IO*CODE

I-^I-I

B-^TRUE

INVALID OUTER PRODUCT EXPRESSION

a

D

INVALID INNER PRODUCT EXPRESSION

C0DE-^C0DE + IO0*(SP(I).P)

I-^I-I

B-^TRUE

C RETURN j

r RETURN j

Figure 17: A collection of miscellaneous token recognition routines called by various routines in this APL interpreter All subroutines in this figure have a single argument B which is set true if the particular token is found. B is set false otherwise.

148

GED

B ♦ FALSE

S V-*SV+I SVAL(SV)*SP(1). P 1*1-1 B ♦ TRUE

CALLVEC(B) ^'^"''^ ^^' l"t^>'P''etction

B is set true if a °f '^ ^^'=^0'' O'' constant. If

constant or vector is the current Syllable indi

recognized; the recog- cates a constant Or a Vec

^ ^ nized constant/vector j-q^^ ^/,g pointer to the

(return ^ being stacked. B is associatecJ Value Is stored V y set false otherwise. In table SVAL.

HP\l-—0

STAK

CALL STAK

L-«—TRUE

'

{ RETURN j

f V.SU8R j

L-^FALSE NPV-»-0

CALL 10 (B )

CALL INPUT

RBPACKET

CALL RBRACKET (B)

^^MD

CALL 10 (B)

CALL OUTPUT

L-«—TRUE

( RETURN J

CALL IND (B)

<V> : : = <S V> I <S V> [<l N D>] I

<I0> CALL V_SUBR(L) L is set true if a variable was found and interpreted. L is set false otherwise.

* ( ERROR 36 J

INVALID INDEX EXPRESSION

CALL LBRACKET(B)

B X. FAL

''^^ »* f ERROR 39 j

INVALID INDEX EXPRESSION TRUE FALSE

'*

SV_ SUBR

CALL SV-SUBR(8

Figure 19: Interpretation of a variable. This process is more complicated than the interpretation of a constant. A variable can be formed from a variable, a simple variable followed by an index expression, or a quad operator. Further, variables occurring to the left of an assignment operator are handled differently from those on the right. Subroutines STAK and LINK (figures 25 and 26) handle the stacking of operand pointers and the linking of results to a symbol table entry.

149

RECURSIVE ENTRY FiQure 20: Interpretation

ALLOWED / , ^. ,,

of a function call.

CD

L ■• FALSE

CALL FN(B)

YES

f RETURN J

<FC>: : =<FN><£xpression> |

<iDrimaryXpN!><6xpression^

CALL FC(L)

L is set true if a valid function call

is found and interpreted. L is set

false otherwise.

CD)

B-»FALSE

CALL FN{B) B set true if a valid call of function is found and interpreted. B is set false otherwise.

/error 17 j

TRUE

LEFT ARGUMENT OF DYADIC FUNCTION CALL IS NOT A PRIMARY

CALL_SUBR

CALL CALI SUBR

-/ RETURN J

SFP*SFP+I

SF(SFP).SI ■• Z

SF(SFP).SZ-» I

SF(SFP).S3* NL

B*TRUE

1*1-1

-/ RETURN j

Figure 21: Recognition of a call of a function. This subroutine is invoked to recognize a function name and to build an entry (if necessary) in table SF. If a function is found, the token to the left of the function name must be either a statement end or primary.

^

I6K OR 32K ROM

RESISTOR I I

NETWORK '—J

CUSTOM ROM CONTROLLER

nnnnnnnnnn

Drawing is 2/3 Scale

tInvented by Forrest Mozer

Introducing—New, Low-cost, Fixed Vocabulary

Speech Synthesizers

for Computer Hobbyists or OEM use

FEATURES

• Two 64-worcl vocabularies available;

— FliII spoken numerics plus a variety of measurement words —ASCI I characters: numerics, alphabet, special symbols

• Clear, highly intelligible male voice

• All MOS-LSI circuitry

• 6-bit parallel strobed input ^^^^^^kOO"

• No external clocks required ^ I m ^^

• Inputs are TTI compatible | m %^

• Analog Speech output signal .p.^^ ^^^^^ ^^.^^ ^^^^^

where applicable

TELESEIMSORY SYSTEMS, IIMC.

3408 Hillview Avenue, Palo Alto, California 94304 Telephone (415) 493-2626, Attention: Paul Obester

Circle 246 on inquiry card.

150

TcALL-SUBRJ

YES.NILADIC

Figure 22: Call of function semantics. This routine is invoked to perform the linkages and table updates required in interpreting a function call. The last step is to set I to point to the rightmost syllable of the first statement in the called function.

NO, MONADIC OR DYADIC

LOOKUP

(FTAB(Z).F6, VTAB.VI.T)*

*NOTE:

ACCEPT MATCH ONLY IF

VTAB(T). V2 OF MATCH = Z

YES

/error 32 J

PROGRAM LOGIC ERROR, VARIABLE NAME OF FUNCTION ARGUMENT NOT FOUND IN SYMBOL TABLE

P2-»-P2 + l VTAB(T). V3-«—P2

YES, DYADIC

LOOKUP

(FTAB(Z).F5, VTAB.VI.T)*

NO, MONADIC

SD2{P2)-«—SVAL(SV) SV-«—SV-I

I*—VFUNC(FTAB(Z).F7)+I NL-"— I

YES

-Terror 33 )

SAME AS error 32

PI-«— PI + I VTAB(T).V3-«—PI

SDKPI)-" SVAL(SV)

SD2(P2)-« SVAL(SV-I)

SV-«—SV-2

( RETURN )

MULTIPLE DATA RATE INTERFACING FOR YOUR CASSETTE AND RS-232 TERMINAL

the CI-812

The Only S-100 Interface You May Ever Need

On one card, you get dependable "KCstandard "/biphase encoded cassette interfacing at 30, 60, 120, or 240 bytes per second, and full-duplex RS-232 data exchange at 300- to 9600-baud. Kit, including instruction manual, only $89.95*.

PERQOM

PERCOM DATA COMPANY, INC.

4021 WINDSOR • GARLAND, TEXAS 75042

(214) 276-1968

*Assembled and tested, $119.95. Add 5% for shipping. Texas residents add 5% sales tax. BAC/MC available.

PerCom 'periptierais for personal computing'

151

r-1

L ■» FALSE

LARROW

CALL LARROW (B)

CALLAS{L)

L set true if valid assignment found and

interpreted. L set false otherwise.

ASSIGN* TRUE

CALL VSUBR(B)

ASSIGN* FALSE

TRUE

-f ERROR 8 j

RESULT OF AN ASSIGNMENT NOT A VALID VARIABLE

•/ RETURN J

Figure 23: Interpretation of an assignment. This routine searc/ies for a valid assignment which must be of the form "variable <- expression. " Again, subroutines LARROW and V—SUBR are called to interpret the appropriate tokens. V—SUBR is also called by R—SUBR (see figure 19), but it functions differently for the two calls, since one is looking for a variable to the right of an assignment symbol, and the other is looking for a variable to the left of an assignment symbol. Variable ASSIGN is used to signify which mode to use.

f IND(L) )

L* FALSE

(. E

CALL E(B)

<IND>; ;=<E>|<IND>;<E> CALL IND (L)

L set true if valid set of indices found. L set false otherwise.

{ RETURN j

^'

\ FALSE

-n„.

y

TRUE

NPV * NPV + I

( RETURN j

FALSE

-/error 38 )

INVALID INDEX EXPRESSION

Figure 24: Recognition of a list of indices. This routine, which is called when an index expression (an expression enclosed within square brackets) is encountered, calls subroutine E recursively to evaluate the expression for each index and to stack a pointer to the result in stack SVAL. Upon completion, variable NPV indicates the number of index expressions encountered. Similarly, the top NPV entries in stack SVAL point to the values of these indices.

DAJEN Electronics

7214 Springleaf Ct.

Citrus Heights, Ca. 95610

(916) 723-1050

HIGH-SPEED CASSETTE INTERFACES (The Stringy Disk)

CRI-B

fiiiiiiiiiiiiminwiniiiiiiiiiiiiifiir

600 to 12,000 baud status controls, IK monitor with cassette routines provided on tape.

Biphase, Kansas-City, AltaicKit $120, Assembled $165 Manual $3.50

All I Need!!! Universal I/O Interface

High-speed cassette, two relays for control of two recorders; space for three 2708's, one provided, with monitor software, 2708 programmer; reset-jump; ram for stack; RS-232, 20 ma, 60 ma, serial; 3 parallel ports; speeds from 20 to 19,200 baud.

Kit $285. Assembled, tested $345. Mastercharge, BankAmericard, Visa

UCRI

iI • Js11 if

Relay control of two recorders, latched input port for keyboard, tape reader, etc. File-search capabilities.

IMSAI, Poly, Tarbell compatible

Kit $135, Assembled $175 Manual $4.50

Circle 247 on inquiry card.

152

t

uy

e

w

r^

-0

^

/

\

CD 7^

m

-) c

t

en <

> \ i- \

<

t

3 y

-z

<

</l

>

■ r

\ J

n

en

n \

/

>

<

C/T

<

■

■D

\

H

/ \

t

/ \

<

/ Cl \

\ ^

/

/ ,""

CD

-'

m

<

OJ

-n >

|

m

Tl

-D

t

O

ro

<

<

H

' \ '"^ c

>

>

CD

m

7^

m \

?;

—■

<

<

OJ

c><

^^

o

"D

+

+

o

■o

r\

+

+

-H

C

t

•z.

K^

to

<

[

cn

<

Z

-D

<

+

"

Figure 25: Linkage for assignment. Tiiis subroutine (LINK) is called by subroutine V SUBR to link results to a symbol table entry (see figure 19).

153

Figure 26: Subroutine STAK. Tliis subroutine is called by subroutine V,SUBR to stack operand pointers (see figure 19).

^r\£

Ifi

+

^

+

a.

iJ

O

Q

/^l^

\ M a

OlM

CM CO +

\ ^

t/lM

rsl

+ ,

1= 1

ife + i

Vio V

rO

Q

L-V-l /

'

*

^ n.

o

X

It

X

+ X

QX

r^

r~\

rs~i

<°

1 Svil

+

'---'/

+ >

^ 7

loi

-1 Z)

/

N.

3*3

Si

\

<-^<I

Q >

^^

>

li

154

^SV.SUBR(L))

GLOBAL OR DUMMY RECEIVER

GORD-^TRUE K-*-SP[l).P

I-^I-I L-^TRUE

( RETURN j

FTAB(VTAB(SP(I). P),V2).F5 ■VTABISP(I)-P),VI

-^

(^ RIGHT TRUE ARGUMENT

RD-^TRUE

'

K--SP(I).P

.H^-Treturn ^

(FORMAL ARGUMENT)

FALSE LEFT ARGUMENT

( RETURN j

( RETUR

D

CALLSV_SUBR(L)

L set true if a simple variable scanned.

L set false otherwise.

Figure 27: Linkage for a variable. This routine is called to recognize a simple variable. After it has been executed, variable GORD is set true if either a global or a dummy receiver is found. If the receiver is a formal argument, then RD is set true if the variable Is the right argument of the function call, and set false if the variable is the left argument. For a simple variable to the left of an assignment, K is set to point to the associated VTAB entry; and for variables to the right of an assignment, PT is set to point to the D entry or value of the variable.

( INPUT j

N * 0 AUX -» DA+3

-J'

D(AUX) -» A

AUX-» AUX + I

N ♦ N +1

Figure 28: A subroutine used to input a constant vector A value is read from the input device, an appropriate entry is made in table D, and a pointer to the D entry is stacked in table S VA L.

D(DA) ■» N + 3 D(DA+I ) ■» I DlDA+2) ♦ N SV ■» SV + I

SVAL(SV) -» DA DA ■» AUX

C RETURN j

Note; No fI owe In art is shown for a quad denoting output, since the process is more or less implementation dependent (although simple). The element in the top of stack SVAL points to the table D entry to be listed.

That concludes part 2 of this 3 part series of articles describing an APL interpreter. Although the flowcharts may look awesome, the actual amount of code to be written is not overly great. My PL/I version of this interpreter is less than 1600 statements long.

Next month's concluding article describes the mathematical processing section of the statement interpreter, and describes the four arithmetic processing subroutines MOP, MONADIC, DOP and DYADIC. Since they define the number and use of the primitive operators, most of the tailoring of the interpreter will be done in these subroutines."

155

Continued from page 43

through a resistor that sets the current flowing into pin 14 to approximately 2 mA.

An additional resistor, Ri (also in this current leg),allows the current to be varied by a snnall percentage and provides the ability to adjust the full scale range of the digital to analog converter. The output of the converter is a current which is equivalent to the product of this reference current and the binary data on the control lines. The current is converted to a voltage through IC9 and can be zero offset through the use of the offset adjustment pot, R2.

The digital code stored in the scratch pad and presented to the digital to analog converter is in ol'fset binary. A binary value of 00 000 000 produces an output of -5 V

from the converter while 11 111 111 is equivalent to -i-5 V. In offset binary, if the most significant bit is a zero, the output is negative and if the most significant bit is a one, the output is positive. Since the converter has a range of 1 0 V, and is an 8 bit device, the resolution of the converter is 1/256 of 10 V, or approximately 40 mV. This means that the smallest output increments will be in 40 mV steps. To change this to finer increments requires that the range be shorter, such as -1-2.56 V to -2.56 V. By adjusting the span and zero pots, any reasonable range may be chosen, but the resolution will always be equal to the least significant bit or 1/256 of the range, and accuracy is estimated to be ±1 /2 least significant bit.

INTERFACE ASSEMBLY AND CALIBRATION

1. Be sure to build the circuit with good quality sockets for all integrated circuits. With all components except integrated circuits wired in place, and presuming that there are no shorts, apply power to the interface. It should be noted that while the interface is shown with Altair (S-100) bus notation, there is no requirement that it be an S-100 configuration. The digital to analog conversion will work with any computer capable of providing an 8 bit data bus, 8 bit 10 address bus, and an output enable strobe. Computer cycle time and architecture are irrelevant. For use with a Digital Group 8080 system, the address and data buses are connected to the equivalent DGS pin numbers, S-100 pin 77 on the interface board is grounded, and the DGS pin 17 10 write signal is used on pin 45 of the interface board in place ofSout.

2. Using a meter, check to see that the right supply voltages are on the appropriate integrated circuit pins and that V^gf on the digital to analog converter is approximately 6.2 V. If substituting parts, take care not to exceed 15 V between Vcc and Vee on the CMOS 4051.

3. Disconnect the power and attach the port decoding jumpers for the desired port addresses. Each of the six address lines, A7 thru A2, can be, by the appropriate placement of the jumpers, decoded as an inverted or noninverted signal. In building the circuit from scratch, an appropriate technique is to use a DIP socket with each pin, used as a jumper terminal. Selective wiring between the pins can then be done with wire wrap or Vector Slit-I\lWrap. The inverted choice is designated as a zero code, and the noninverted as a one. If all jumpers were set to the one position, channel 1's port address would be decoded as binary 11 111 IOO2, or octal 374. Channel 4 would be 377 octal. If all jumpers were set to zeros, channel 1 would start at port address 0 and channel 4 would be port address 3 octal. Pick the binaiv code for whatever port assignment desired and wire the jumpers.

4. Insert integrated circuits IC1, 2, 3, 4, 5, 7 and 9. Apply the power, and with a short program which just outputs a value from the accumulator to an output port, output a binary 10 000 000 to the port address corresponding to channel 4 on the interface board. Using a meter to monitor the output of the LIV1301A, adjust the zero pot R2 until the output is 0 V. With the same programming technique, load a binary 11 111 111 (octal 377) to channel 4 port address and adjust the span pot RI for a meter reading of -H5.12 V. A binary setting of 00 000 000 should output -5.12 V. If you are unsuccessful at this point, with power off, remove the MC1408L-8 and the LIVI301A, and verify that the binary output of the scratch pad is correct. With the Integrated circuits presently installed, the scratch pad is latched at an address of channel 4. Nine times of of ten, problems like this can be attributed to choosing an incorrect port code. Turn off the power.

5. Insert the clock generator IC6, reapply power, and using a scope or frequency counter, verify an approximate 200 kHz clock rate. Turn off the power.

6. Next, insert IC8, the CMOS multiplexer IC10, and the sample and hold op amps IC11 and 12. Be very careful in handling the CMOS integrated circuit. It is very easily damaged by static charges. Turn on the power and then using the same simple program, output a binary value to one of the channel addresses and note with a meter that it is in fact the correct voltage. Using the program, vary the output of each channel separately across the range and note that no other channel outputs should change. Sympathetic tracking usually indicates a bad multiplexer integrated circuit.

A few cautions: Don't use op amps with a frequency response less than the LM301A and use only the L8 version of the MC1408-L8 (not MC1408-L7 or MC1408-L6) if you want a guaranteed eight bits of precision.

156

80 REM THIS PROGRAM CALCULATES THE VALUES FOR A SINE WAVE AND

82 REM PUTS THEM IN PAGE 100 (OCTAL) OF MEMORY

90 PRINT "SINE WAVE POINT CALCULATOR"

100 LET A=3.14/180*360/256

110 FOR B=0 TO 255

120 LETW=INT(127.5+(127.5*SIN(A*B))

130 FILL 16384+B,W

160 NEXT B

Now How Do I Use It?

Once you have conquered the hardware and constructed an interface (see notes in the box) you should be ready to exercise it under program control. There are some interesting applications using the digital to analog interface alone, none the least of which is Ned's problem.

You will remember that my solution to the impulse response problem in Ned's test setup was to vary the pressure sinusoidally using a computer generated voltage to control a pressure regulator. Adding a computer sounds a bit unnecessary, but remember that an analog to digital interface will be attached for data acquisition.

With this particular digital to analog interface, programming an analog control voltage utilizing an extended BASIC such as the Digital Group's MaxiBASIC, is quite easy. To operate a real time sine wave that varies the pressure between 0 and 10,000 PSIG requires a control regulator with a control voltage range of -5 V to +5 V and the following very simple BASIC program:

90 REM THIS PROGRAM CALCULATES

AND OUTPUTS A SINE WAVE. 100 LET A = 3.14/180*360/256 110FORB = 0to255 120 LET W = INT(127.5+127.5*SIN(A*B)) 130OUT252,W 140 NEXT B 150 END

This program calculates 256 values of a sine wave with an amplitude of —5 to +5 V. When run in real time, the period of the waveform is about two seconds. The period is basically set by the time it takes to compute the expression on line 120 some 256 times. An alternative method is to calculate the points once, load the values in memory and call a subroutine which scans the table when directed to do so by the program.

The first time that the points are computed, it will take two seconds as before. Then they are available in a look up table. A program which constructs such a memory resident table is illustrated in listing 1. Photo 2 shows an oscilloscope trace of the synthesized sine wave created by the digital to analog converter in figure 9 using the table created by listing 1.

Listing J: An extended BASIC program to compute and load a table in memory with 256 sample points of a sinusoidal waveform. Digital Group MaxiBASIC interpreter.

Split Octal

Address

Octal Code

Operation

012/000

041 000 100

LXIH&L

012/003

176

MOV A

012/004

323 375

OUT

012/006

054

INRL

012/007

302 003 012

JMP COND

012/012

311

RET

Photo 2: An oscilloscope display of a sinusoidal waveform synthesized by using the BASIC program in listing 7 in conjunction with the digital to analog converter shown in figure 9.

Commentary

Set the program counter to page 100;

Move addressed memory to

accumulator;

Output accumulator to port 375;

Increment L register;

Jump to 012/003 if L # 0;

Return to BASIC program;

Listing 2: A machine language program which is used to drive the digital to analog converter in figure 9. This program is called by the extended BASIC program in listing 3.

300 PRINT "THIS PROGRAM WHICH DRIVES AN 8 BIT D/A PRODUCES "

310 PRINT "ANY WAVEFORM FROM A BINARY TABLE"

400 REM THIS PROGRAM CALLS A SUBROUTINE AT 012/000 (OCTAL)

410 REM WHICH OUTPUTS THE 256 WAVEFORM VALUES TO

420 REM D/A ON OUTPUT PORT 375(OCTAL)

430 REMOCTAL AT 012/000

440 REM 041 000 100 176 323 375 054 302 003 012 311

450 REM MAX SPEED FOR ADSR IS 4 MSEC.

470 REM BINARY TABLE IS ON PAGE 100 (OCTAL)

502 PRINT "GENERATE THE WAVEFORM HOW MANY TIMES ?":INPUT E

505 FORX=l TOE

510 LET A=CALL(2560,0)

515 NEXTX

1000 END

Listing 3: An extended BASIC program which calculates 256 points of a given waveform which is to be synthesized and then calls the machine language routine in listing 2 to actually drive the digital to analog converter in figure 9. The call to the subroutine in listing 2 occurs at line 510 of this program. Digital Group MaxiBASIC interpreter.

157

Photo 3: An oscilloscope display of a musical envelope waveform called an ADSR waveform. "ADSR" stands for Attack, Decay, Sustain and Release, a popular way of characterizing an amplitude envelope which is typical for many musical Instrument waveforms. This waveform was synthesized by means of the program in listing 4 which was used to drive the digital to analog converter in figure 9. Also see figure 10.

80 PRINT "ADSR MEMORY LOADER"

90 REM THIS PROGRAM COMPUTES DECIMAL VALUES FOR A PIECE-WISE

91 REM LINEAR ADSR WAVEFORM AND ILLUSTRATES THE METHOD

92 REM THE VALUES ARE THEN LOADED INTO PAGE lOO(OCTAL) OF MEMORY

93 REM THEY ARE THEN AVAILABLE FOR MACHINE SUBROUTINES 100 FOR X=0 TO 60 105 110 120 125 130 135 137

REM THIS IS THE "A" SECTION

LET Y=INT((255/60)*X)

FILL 16384+X,Y

NEXTX

LETW=61

FOR Z=0 TO 39

REM THIS IS THE "D" SECTION 140 LET Y=INT((-75/40)*Z+255) 150 FILL 16384+W,Y 152 LETW=W+1 155 NEXTZ 160 FOR X=101 TO 220 170 LET Y=180

172 REM THIS IS THE "S" SECTION 175 FILL 16384-l-X,Y 180 NEXTX 185 LETN=221 190 FOR X=0 TO 34 192 REM THIS IS THE "R" SECTION 200 LET Y=INT((-180/35)*X-H80) 210 FILL 16384+N,Y 212 LETN=N-I-1 220 NEXTX 1000 END

LINE EQUATIONS

/> FROM 0 TO 60 Y- 255/60X

D FROM 61 TO 100 Y- 75/40X + 255

5 FROM 101 TO 220 Y-180

/? FROM 221 TO 255 Y" I80/35X + 180

Listing 4: An extended BASIC program which generates a table of sample points of the A DSR waveform whose graph appears in figure 10. Digital Group Max I BASIC interpreter.

i

(

255

1

\

s

1

\

t

180

^

Yt

/

1

1

\

o

TO

60

Tl

100 T2

220 255 T3 T4

A simple program which scans the table and drives the digital to analog converter is assembled into the memory of my particular system at split octal address 012/000 (hexadecimal OAOO) as shown in listing 2. This program can be called at any time with the BASIC command CALL (2560,0), and when driven at faster than 100 ms periods can be easily displayed on an oscilloscope. [Note that 2560 is decimal for split octal address value 012/000 or hexadecimal OAOO.J The program in listing 3 incorporates the routine in listing 2 as a called subroutine and can be used to display any waveform defined by the table located at address 100/000 in split octal notation (hexadecimal 4000).

On to Bigger and Better Applications

An obvious application of this programming technique is to mathematically compute and generate complex waveforms which would otherwise require extensive dedicated hardware to duplicate. Music application is an area which is being heavily infiltrated with computer technology. A composer interested in electronic music effects can design discrete waveforms, display and review them before committing them to a performance design.

An alternative approach is to use BASIC to generate all the tables defining envelope or waveform aspects of desired instruments and then let BASIC sit idle while a machine language program selects and calls the tables to produce a musical score.

It's often easier to illustrate one example rather than discuss volumes of theory. One of the least complicated musical envelope waveforms is the ADSR envelope. ADSR stands for Attack, Decay, Sustain and Release. Various combinations of these four variables produce unique sounds similar to such instruments as the piano or trumpet. In an electronic music application the composer would combine the necessary fundamentals and harmonics characteristic of a particular instrument and control the output amplitude with an ADSR waveform feeding a voltage controlled amplifier, or VCA. Both the envelope and harmonic content are separate elements of musical compo

Figure 10: A simple AS OR (A ttack, Sustain, Decay and Release) envelope waveform along with the line equations necessary for digital to analog waveform synthesis (see photo 3 and listing 4).

158

16384 BYTES for $485.00

assembled (with sockets) : tested - bumed-in - guaranteed

A new high in SI 00 bus memory cost effectiveness. Fully assembled (with sockets), tested, burned-in and guaranteed. 4Kxl dynamic memoi-y chips (the same ones used by the ton in IBM compatible memory systems) combined with self contained control logic, yield a memory system with these features:

• Low power consumption, total board 5 watts.

• Transparent refresh, which means the memory looks static to the outside world.

• No waiting. In fact, XRDY is not even connected to the memory.

• Full DMA capability.

• Reliable, low level clock and control signals.

• Three full days testing at 70° C (185° F).

SPECIFICATIONS

Capacity: Addressing: Bus structure:

16384 bytes

16K boundaries .l'"!! "' ' '(■• > "

SI00 - Plug compatible with IMSAI 8080, POLY 88, ALTAIR 8800, BYTE-8, SOL

Address and Data Buffering: <200 uA, special high impedance btiffers - less than one low power Schottky load

Access time: 350 nSec

Memory chips: MM 5271 (National Semiconductor and others) 4K dynamic

Dynaby te Inc.

4020 Fabian Way, Palo Alto Ca. 94303

for more information call or write to: [(^fj^S, MARKETING DEALER INQUIRES IN VITED

2233 El Camino Real B of A & Mastercharge accepted

Palo Alto, California 94306 (415) 321-6639

Dynabyte

® brings to the SI 00 Bus a state of the art, industrial quality memory system. 16K on a single board for $485.00, Guaranteed for 1 year.

Circle 248 on inquiry card.

90 PRINT "WAVEFORM BEING CALCULATED"

92 REM THIS PROGRAM CALCULATES THE COORDINATES OF A COMPLEX WAVEFORM

93 REM THE POINTS ARE IN PAGE 100 (OCTAL) 100 LET 8=3.14/180*360/256

110 FOR A=0TO 255

120 LET E=-((255/3.14)*SIN(A*B))

125 LET F=-{(255/(2*3.14))*SIN(2*A*B))

130 LET G=-((255/(3*3.14))*SIN(3*A*B))

150 LET Y=INT(127.5+E+F+G)

160 PRINT A,Y

170 FILL 16384+A,Y

180 NEXT A

500 END

Listing 5: An extended BASiC program wliicti calcuiates s am pie points of ttie Fourier series iliustrated in figure 7 / and stores tliem in a tabie. Digital Group IVIaxiBASIC interpreter.

Pfioto 4: An osciiioscope display of the waveform resulting from the synthesis of a typical complex waveform using the program in listing 5 and the digital to analog converter in figure 9. The waveform is the result of summing three terms of a Fourier series (see figure II).

RESULTANT COMPLEX WAVEFORM

27r COMPONENT PARTS OF FOURIER SERIES

EQUATION;

f( + )>A-B/7r SIN WT-B/2ir SIN2WTWHERE W-ir/180 DEGREES

B/3Tr SIN 3WT

Figure II: A typical complex waveform which is the sum of three terms of a Fourier series. These equations were used by the program in listing 5 to generate the oscilloscope trace of photo 4.

sition. Here they are synthesized separately to illustrate the technique, but mathematically they could be combined into one table. This would impose a far greater limitation on usage than would separate waveforms, but it is not the purpose of this article to investigate electronic music.

The simplest ADSR waveform is composed of four separate linear time dependent functions. Time T = 0 to Ti is the attack, T] to T2 is the decay, T2 to T3 is the sustain, and T3 to T4 is the release. Each section is defined by a separate equation and is illustrated by the graph in figure 10. Any waveform which is to be synthesized can be graphed in a similar way.

The four lines in the graph are defined by four equations. These equations, and the beginning and end point limits, can be combined into a BASIC program which creates a table of points. The table is stored in page 100 octal and the display routine is the same as was illustrated in listing 3 (see listing 4 and photo 3).

Real satisfaction comes from mathematically recreating complex waveforms. Synthesis is the combining of parts to form a whole. In Fourier analysis it is the recombination of the terms of the trigonometric series, usually the first four or five, to produce the original wave.

Often it is only after synthesizing a wave that the student is convinced that the Fourier series does in fact express the periodic wave for which it was obtained. This technique of mathematically solving the line equations, loading a point table, and either outputting directly to a plotter or calling a subroutine for an oscilloscope display can prove to be an invaluable education tool to a student involved in advanced math or music courses. Using the digital to analog interface as a Fourier waveform syn

Note From the Author

This article is an attempt to introduce the computer experimenter to more thoughtprovoking applications for his or her computer so that the question of its usefulness in the nonindustrial environment will seldom if ever be questioned. I'm shortly to begin a regular feature in BYTE on applications systems (hardware and software), and invite correspondence from you, the reader, on possible topics, ideas you would like to see implemented. IVly address is given at the beginning of this article.

160

Circle 249 on inquiry card.

thesizer involves the same point plotting methods as previously outlined, with the exception that the equations become more involved.

Consider the trigonometic series for the complex waveform with a peak amplitude of B=l 27.5 as illustrated in figure 11.

The Fourier series approximating a triangular waveform can be plugged into an extended BASIC program which calculates the points, while the program in listing 3 can be used to display the tabulation. Photo 4 shows the resulting oscilloscope display.

Conclusions

What started out to be just a simple interface for an analog output can be incorporated into control, music and educational applications. The extent and direction of an experimenter's system expansion is of necessity governed by price performance. This is an inexpensive interface which connects an otherwise isolated digital computer to the analog world. When coupled with a high level language such as extended BASIC, its potential is limited only by the programmer. To think that the home computer is an expensive toy useful only to bide time between monopoly games is equivalent to thinking that a building is only used to hold the sidewalk down."

REFERENCES

1. Digital to Analog Converter Handbook, Hybrid Systems Corporation, Crosby Dr, Bedford IVIA.

2. Graeme, Jerald G, Applications of Operational Amplifiers — Third Generation Techniques, iVlcGraw Hill Bool< Company, NY, 1973,

3. Sheingold, Daniel H (ed), Analog-Digital Conversion Handbook, Analog Devices Inc. Norwood

MA.

4. Stout, David F, and Kaufman, Milton, Handbook of Operational Amplifier Circuit Design, McGraw Hill Book Company, NY, 1976.

5. Tobey, et al. Operational Amplifiers — Designs and Applications, McGraw Hill Bool< Company, NY, 1971.

6. Wylie Jr, C R, Advanced Engineering Mathematics, McGraw Hill Book Company, NY,

The 4 channel self-refreshing dig

tal to ana

log converter pictured in figure 9 is

available in

the following forms from Pinnacle

Products,

POB 3155,Talcottvil!e CT 06066;

Blank PC board

. . $34

Postpaid in the Continental US

Complete kit

. . $69

Assembled and Tested

. . $99

THE BETTER BUG TRAP

AND

Altalr/IMSAI compatible board catches program bugs and provides timing for real-time applications.

Four hardware breakpoint addresses. Software breakpoints only possible at instructions in RAM, Better Bug Trap breakpoints can be in ROM or RAM, and at data or instructions in memory, input/output channels, or stack locations.

Board can stop CPU or interrupt CPU at a breakpoint.

Real-time functions: watchdog tinier, real-time clock (for time of day clock), interval timer.

Sophisticated timesharing made possible!

Unique interrupt structure: generates a CALL instruction to your subroutine anywhere in memory, not a RST!

Addressed as memory. All parameters set easily by software.

All this and more for about the price of a real-time clock board, but nothing else does the job of the Better Bug Trap,

$160, assembled and tested. 2 manuals plus software. 90 day warranty. Shipped UPS. Delivery from stock.

|||icrnntc0

inc.

BOX 3514, 123 WEST 3RD ST., SUITE 8 GREENVILLE, NC 27834 c (919)758-7757

161

Circle 250 on inquiry card.

Personal Computing Expo will come to New York!

PCRPERSONAL COMPUTING EXPO

NEW YORK COLISEUM, OCTOBER 28, 2», 50, 1977

It's a brand new show (in the world's biggest economic center) specifically for manufacturers, buyers and those providing services to the personal computing enthusiast. For the first time, this booming field will have a New York Coliseum showcase. It is planned as the largest public show of its type and will attract attendance from the huge population areas of Boston, Washington, Philadelphia and Baltimore. New York's is the world's communications focal point, the one place that will put personal computing in a significant spotlight. New York is surrounded in depth

by people who work in the computer field, by computer learning centers, universities, personal computing clubs and thousands of others whose lives are affected by computers.

More than 100,000 paid subscribers of BYTE magazine will be urged to view the exciting exhibits and to attend the BYTE-sponsored lectures. Circle the dotes: October 28, 29, 30 — and make your plans now to be there when Personal Computing Expo comes to New York!

#/

Personal Computing; An idea whose time has come! ""*

Tutorials by the IEEE Computer Society, Mid-Eastern Area

Personal Computing Expo is also joined by the Institute of Electrical and Electronics Engineers Computer Society, Mid-Eastern Area Committee, whose experienced staff is presenting six day-long tutorials at a modest charge. If inconvenient for you to attend a tutorial during the show, simply sign up for follow-up tutorials on weekends after the show.

Whereas the lectures will provide you with information, the tutorials will teach important skills enabling you to use your own computer at home or at work.

TUITION:

The tuition fee for the tutorial program includes a one-day admission to the Personal Computing Expo.

Students (with ID) IEEE Members Non-Members

One Two Three

Tutorial Tutorials Tutorials

$30 $50 $75

$40 $70 $100

$50 $90 $125

Tuition includes hand-out material, including text and/or hand-out materials. Participants will also receive a certificate of participation.

REGISTRATION:

In order to provide on interactive, learning environment between the participants and the lecturers, the number of registrants is limited. Registration is accepted on a first-come, first served basis. Early registration is therefore suggested. Cancellations received before September 15, 1977 will receive a full refund.

To register, make your check payable to the IEEE COMPUTER SOCIETY, and mall to: Daniel R. McGlynn, Ph.D. Tutorial Program Chairman IEEE Computer Society 329 - 84th Street Brooklyn, N.Y. 11209

FOR FURTHER INFORMATION:

on the technical content of the tutorials, technical background suggested to derive maximum benefit from the program, or information on the IEEE Computer Society, call Cary Ringel Chapter Chairman IEEE Computer Society (212) 460-4600

TIME AND LOCATION:

The tutorials will be held from 9 AM to 4 PM each day in the New York Coliseum, at a location to be announced and posted. Participation in the tutorials also includes a one-day admission to the exhibition area and other lecture programs.

EXPO TICKETS:

Will be sent to tutorial registrants about three or four weeks prior to the show.

BIJTK: daily TUTORIALS AND ^XiS- SPONSORED LECTURES

r

BtJTE

Exciting lectures

sponsored by

Personal Computing Expo is endorsed by BYTE magazine, whose staff has contacted prominent speakers

for on exciting series of lectures.

Visitors will be able to attend these meetings free of chargo. The lectures will not conflict with each

other eliminating the worrysome choice among several equally important topics. In addition, they will be

repeated on the next day to give you a second chance if you missed a topic.

Lectures are typically 30 minutes, often with demonstrations and an adcJitionol 15 minutes for questions.

Portia Isaacson Ph.D. ... Saturday 11 AM and Sunday 12 Noon

Co-owner of the Micro Store, a personal computer store, in Richardson Texas actively engaged for 12

years in the computing field in industry and at universities.

Member of the ACM and IEEE, and chairman of the 1977 National Computer Conference.

Author of many articles in professional journals and magazines.

Received a Ph.D. in Computer Science from the Southern Methodist University.

Personal Computing: An Idea Whose Time Has Come

A review of what has happened so far in the personal computing field, and an outlook into future developments, including those in the computer assisted home. Slide demonstration.

Sol Libes ... Friday 6 PM and Saturday 10 AM

President of the Amateur Computer Group of New Jersey Teacher of electronics and computer programming at a community college

Author of 10 books (working on the 11th) and several hundred magazine articles in electronics and computing

Received an award for "The Outstanding Amateur Computer Hobbyist of 1976" in Atlantic City by Personal Computing 1976 show, and BYTE.

How to Get Started

A discussion of typical home computer systems and their essential hardware and software components.

John H. Dillcs III... Saturday 1 PM and Sunday 2 PM

President of Personal Computing Inc. and tradefair director of the Personal Computing shows in Atlantic

City in 1976 and 1977.

Experience with various computer systems since 1962.

Employed by Western Electric Co. Inc., division of the Bell System.

Member of the Amateur Computer Group of New Jersey and of the Philadelphia Area Computer Society.

Teaches microcomputer courses in an adult evening program at a vocational school.

Innovative and Unusual Computer Applications for the Home.

Discussion of "far-out" applications of microcomputers and electronic technology for home use, such as a child locator and warning device, a home security system, etc. Slide demonstration.

Robert S. Jones ... Friday 7 PM and Saturday 2 PM

Publisher of Interface Age Magazine

Prior experience in sales and marketing for the semiconductor industry, including Intel, National

Semiconductor and Analog Devices Inc.

Personal Computing for the Business Man

Evaluating business applications for micro computers, including slides showing selected applications.

Louis E. Frenzel... Saturday 3 PM and Sunday 3 PM

Director of Computer Products at Heath Company, involved in the planning of new computer products. Prior to Heath, with McGraw Hill in product planning and design of educational electronic kits. Prior experience including computer engineering for eight years

Author of severol books, home study courses and numerous magazine articles in electronics and computers. Received a BS in electronics from the University of Houston and a MEd from the University of Maryland

How to Build Personal Computer Kits

Tips for successful kit construction. Benefits of kit products for the personal computer user. Including slides showing selected computer kits. Carl Helmers ... Saturday 4 PM and Sunday 4 PM

Editor-in-Chief and co-founder of BYTE magazine.

Obtained computing experience as a personal way to accomplish artistic and technological goals in

music.

Graduated in 1970 with a BS In Physics from the University of Rochester, NY.

Worked for several years at Intermetrics, Inc. in Cambridge, Massachusetts on the NASA Space Shuttle

Project.

Prior to working with BYTE, publication of a small computer newsletter on a part-time basis.

r

Computers and Music

How to create music with computers. Problems of performing electronic music, music under computer program control and computer music in conjunction with traditional instruments. Illustrations and examples from personal experience.

Jack L. Davies ... Friday 8 PM and Saturday 5 PM

President of Pan Atlantic Computer Systems GmbH, a distributor of various micro computer systems in

Europe.

Extensive experience in using minicomputers and microcomputers In the US

Military Schools in Europe. Designed and developed numerous games and educational programs for

students in these schools.

Microcomputers in Education

Discussion of the many possibilities of using microcomputer systems in schools. Effect of personal computers on students.

David Fylstra ... Saturday 6 PM and Sunday 5 PM

Member of the research staff of the Telecommunications Sciences Center at Stanford Research Institute

for more than two years. Specialized in microcomputer software and computer simulation of speech processing systems.

Graduated in 1974 with a BA in English and Psychology, Stanford University, Phi Beta Kappa.

Active in the research on communication systems and devices for the deaf. Speech Analysis and Synthesis for the Amateur

Using the personal computer as a device to analyze the acoustical foundations of speech and to formulate

rules for the control of the speech synthesizer. Max Mathews Ph.D. ... Friday 9 PM and Saturday 7 PM

Director of Acoustical and Behavioral Research, Bell Lobs

Author of The Technology of Computer Music, and numerous articles.

Scientific Advisor to the Institute for Research and Coordination of Acoustics and Music (IRCAM)

Dr. Mathews is often regarded as the "Father of Computer Music" Pure Digital and Real Time Music Synthesis

The use of the digital computer as a musical instrument with which composers and performers create and

play music. Slide and tape demonstration. Carl L. Holder ... Saturday 8 AM and Sunday 6 PM

Director of Product Management, Planning and Communications at Information Terminals Corp. for five

years.

Prior experience, including Memorex Corp., in the area of magnetic media development and testing.

Present and Future Storage Devices

Survey and discussion of current devices and media, including latest technological developments like the charge coupled devices and magnetic bubble memories. Costs, advantages and disadvantages of these devices for the personal computer user. Accompanied by slides.

DAILY TUTORIALS

There will be two tutorials offered each day, one aimed at those participants who have

little or no experience with microprocessors, and the other for those already experienced

■with microprocessor systems.

BASIC COURSES

1. Development of Microcomputer Systems for Business Use

%'iRQ^nGr, Citibank. N.A.

— system design concepts

— economic efficacy of microcomputers versus large centralized computer systems

— distributed processing definitions

— advantages and problem areas

— network design and architecture

— data communications aspects

— case study: design of a stand-alone workstation for data entry and retrieval

2. Development of Microcomputer Systems for Home Use

Cory Ringel. Con Ed/son

— survey of simple microcomputer control systems for home use

— selection of hardware: tC's, boards, kits, development systems

— programming and software aids

— interfacing: A/D and D/A conversion

— examples: design of o home control system; microcomputers for a music synthesizer; computer TV gomes.

— cose study: use of the Motorola 6800 in design of a microcomputer system

3. Survey and Comparison of Microprocessors

Dona/d Lewis, Standard Microsystems inc and other speakers

— definitions and distinctions between ALU-chips, controllers, microprocessors, microcomputers

— current applications

— microprocessor architectures (bit-slice. 4-bit. 8-bit 16-bit, minicomputer-type)

— vendor survey

— performance evaluation and criteria for selection

INTERMEDIATE/ADVANCED COURSES

4. Microprocessor Interfacing

Dono/d Lewis, Standard Microsystems inc.

— interface components {peripheral interface chips, DARTS, etc.)

— interface standards (IEEE 488, RE 232C, S-100, etc.) —- interfacing to keyboards

— interfacing to cosette and floppy disk drives

— interfacing to display devices

— case study: how to design a CRT terminal

5. Microprocessor Programming and Software

Donald Lewis, Standard Microsystems inc.

software design: flow-charting, setting breakpoints, documentation, etc.

— assembly language for the Intel 8080, 8085, Z-80, Motorola 6800

— instruction types and addressing techniques

— use of the stock

— interrupt handling and direct memory access (DMA)

— software development aids

— high level languages for microcomputers

6. Technology Analysis and Forecast of Future Microprocessor Structures

Daniel R. McGfynn, U.S. Philips Corp. and V/ill Mathys, MOS Technology inc.

— emergence of specialized computational elements (SCE) ■

- architectural evolution (stack processors, reconfiguroble architectures, multi-level logic)

— resource management techniques

— software evolution (nano-progromming, extensible instruction sets, structured programming modules, very-high-level

languages)

- evolution of semiconductor technology of microprocessors

— microprocessor architecture at the chip level

— cose studies; design of MOS Technology's new 8-bit and 16-bit processors

Personal Computing Expo to be

produced by

H.A. Bruno & Associates

H.A. Bruno & Associates, Inc., has been prominent in the exposition and promotion fields since 1923. Highly skilled in the production and promotion of consumer and trade shows, the company currently promotes the American Energy Expo, the National Boot Show, Auto Expo/New York. Promotion assistance also is currently rendered to the National Computer Conference and the Triennial IFIPS Congress in Toronto.

The show producer has promoted successful shows in the New York Coliseum every year since the building opened in 1957. Staff personnel are thoroughly familiar with the building, its services, management and labor.

Interesting, educational exhibits of Personal Micro Computers

The lectures and tutorials are not just theory I You will be able to see a multitude of micro computers. Try out various demonstrations: fascinating games, even in color; small business applications; computer produced speech; music; color graphics; and many more. Micro computers are not only small and portable, also you will need only a "micro budget" to be able to take them home.

Show Hours and Admission

Personal Computing Expo hours are as follows: Friday, Oct. 28 — Noon to 10 p.m. Sat. Oct. 29 — 10 a.m. to 10 p.m. Sunday, Oct. 30 — Noon to 7 p.m.

General Admission: $5.00 (includes free BYTE lectures) per day.

Two-day Tickets: $9.00 (advance sale only) Three-day tickets: $13.00 (advance sale only)

General Information

You may find it advantageous to purchase two or three-day admission tickets in advance. These are available by mail only, no later than October 10, 1977. Use coupon below.

Group rates (10 or more persons) qualify for $1.00 off regular prices. Arrangements must be made by mail prior to October 10, 1977.

Special arrangements hove been made if you desire to stay overnight. Our headquarters hotel, the Barbizon-Plaza, is located on Central Park South, two blocks from Columbus Circle. Single rooms available at $34.00 per night; $40.00 double, plus tax. There's a weekend plan: $22.95 daily, plus tax per person, double occupancy . . . includes breakfast (brunch on Sunday) and meal gratuities. Children under 14 in same room with parents, free.

For hotel reservations and information, call toll free (800) 223-5493. From New York State call (800) 223-5963.

For those traveling to New York by air, American Airlines offers a convenient service through arrangement with Personal Computing Expo. For information, call toll free (800) 433-1790. In Texas the number is (800) 792-1150. From the West Coast, round trip fare via American is only $227.00.

20,000 persons ore expected to attend and view the more than 200 exhibits by personal computer manufacturers and retailers.

Personal Computing Expo will occupy the 4th floor of the New York Coliseum. It is located on 59th Street and Columbus Circle — the geographical center of New York City. Garage parking in the building is available.

For answers to any questions pertaining to your attendance at Personal Computing Expo, contact the Show Manager, Ralph lanuzzi, at Area Code 212/753-4920.

Advance sale of tickets available ... Three days '13

Two days '9 ... General Admission *5

MAIL THIS CONVENIENT ORDER FORM NOW!

Personal Computing Expo admission is $5.00 per day. Advance reservation eliminates I waiting in line. Order advance tickets with this coupon. Admission ticket includes access ■

.State.

.Zip.

I

to exhibits, lectures and tutorials

Please send me advance registration tickets for three days, Oc _

tober 28-29-30. Total cost $13.00 per person. I

Please send me advance tickets for two days, October and I

October Cost is $9.00 per person. ■

Please send me advance tickets for one day, October . Cost ■

is $5.00 per person. |

Make all checks payable to PERSONAL COMPUTING EXPO, and mall to: |

Personal Computing Expo, 78 East 56th Street, New York, N.Y. 10022. ■

Name Amount enclosed $

Address

City.

I I

BYTE's Bits

International Symposium on Minicomputers, Personal and Home Computers

MIMI-77 is the title of a symposium sponsored by the ICORD, lEEh Region 7, and the International Society for Mini and Microcomputers. The dates are November 16, 17 and 18 1977, and the location is Montreal CANADA. The program is divided into two sections. One section covers mini and microcomputer technology and its application; the second section covers personal and home computers. The document we received describing this event was a "call for papers." Persons interested in submission of an abstract for a paper at the

Dr Iverson's "Thought Experiment" Answered

Last month we published an article by Dr Kenneth Iverson entitled "Understanding APL" (August 1977, page 36), in which readers were challenged to solve the following APL expressions;

(2=+/«)0=(tff)°. I iN)/iN

The answer, which only becomes apparent for N = 7 or greater, is the set of prime numbers from 1 through Nl To show how this unexpected result comes

conference, or in being placed upon its mailing list, should contact:

Prof J L Houle, MIMI-77

Ecole Polytechnique, Case postale

6079, Succursalc A Montreal, Quebec CANADA H3C 3A7 Phone: (514) 344-4753"

$699

Now or never

Price increases ^100 on Oct. 15,1977.

Equinox lOO™ is The Frontrunner in S-lOO personal computers.. . because it gives you full front panel access to all CPU registers and register pairs, l/Os and memory locations via octal 12-key keyboard and digital LED readout... singlestep and programmable Slow-StepTi^ ... no-crasti 26amp constant voltage power supply ... 20-slot shielded and actively terminated busboard ... and more!

Order your Equinox lOO^" kit at your local personal

Circle 251 on inquiry card.

computer store, by direct mail or by phone. But you must order before Oct. 15, 1977 to save SIOO. For S699, it's now or never.

ORDER: At your computer

store WRITE: P.O. Box 6314,

Albany, CA 94706 CALL: BAC/MC orders to

800-648-5311

FQUINOXJOO

The Frontrunner from Parasitic Engineering

See us at ttie Atlantic City sliow!

166

about, let us evaluate the expression for N = 7. Since expressions are evaluated from right to left in APL, the first step is to evaluate l/V :

iff

12 3 4 5 6 7

Next we evaluate everything to the left of the compression operator ( / ). Expressions in parentheses are evaluated first, so we start with (i/V) ° . \ iN ), which becomes

12345670. I 1234567

lor N = 7. Performing the residue operation ( I ), we get:

0 0 0 0 0 0

Before we can transpose this array, we must first perform the "0=" operation:

0 0

0 0 0 0

This gives:

111 10 1 0 10 0 0 1 0 0 0 0 0 0

111 0 10 0 10 0 0 0 10 0 0 10

0 0 0 0 0 1

Next, we transpose this array using the transpose operator (Sj ). The result is:

10 0 0 0 0 0

110 0 0 0 0

10 10 0 0 0

110 10 0 0

10 0 0 10 0

1110 0 10

10 0 0 0 0 1

Performing the +/ operation on this array gives:

12 2 3 2 4 2

The expression has thus been reduced to

(2=1 2 2 3 2 4 2)/l 2 3 4 5 6 7

and this reduces to

2 3 5 7

This vector is indeed the set of prime numbers between 1 and 7, inclusive. The algorithm works for all integer values of N. (Note that the algorithm excludes 1. If you happen to take the position that 1 is a prime number, try writing an APL statement which includes it!)

For readers totally unfamiliar with APL, any of Dr Iverson's many writings on the subject should help. See the references listed in last month's BYTE."

TSC's Software Catalog. . .

We've received a 1977 catalog from Technical Systems Consultants, Box 2574, W Lafayette IN 47906. While a lot of people have been iust talking about

Personal Computing Expo Sets Inaugural NY Show for October 28 thru 30

A major trade and public show, featuring the latest developments and equipment in the fast growing field of personal computing, is scheduled to be held at the New York Coliseum, October 28 thru 30 1977.

The show is called Personal Computing Expo. It will feature an expected 250 exhibitors who will be showcasing their products for the first time in New York City.

There will be speeches arranged by BYTE magazine and the IEEE to fill the seminar agenda, which includes topics for everyone interested in personal computers, from novice to advanced levels. Leading manufacturers have been invited to display and explain their microcomputer systems along with other experts who will conduct forums on algorithms, software, language compilers and assemblers.

Personal design of computers for the more experienced, kit building for the novice, microcomputer applications for business, industry and homes as well as computerized games, vocal output and music are among other topics to be included in the lorum.

Persons interested in exhibiting at Personal Computing Expo should contact Ralph lanuzzi, show manager, H A Bruno & Associates, Inc, 78 E S6th St, NY 10022, (212) 753-4920.

Computer Shack is Reborn (as "Computerland")

We received the following informalion from Computer Sliack:

Computer Shack Inc, 1922 Republic Av, San Leandro CA 94577, has announced that it plans to change its name to Computerland Corporation. Computer Shack president E E Faber said this action will "strengthen the impact and recognition of the trade name among the consumer public." According to management, franchisees and staff have expressed a strong preference for the "Computerland" name claiming that it better communicates the special nature of this retail computer business. "It avoids the long-range dilution of image that could result from associating high technology quality products and modern store designs with the public's perception of the name Computer Shack," Faber adds.

Computerland Corporation is now operating franchised retail stores in three regional markets: Northern and Southern California and the Atlantic Seaboard."

the concept, the people at TSC have gone out and done what a growing number of entrepreneurs are doing: publishing and selling software at reasonable prices. The TSC Software Catalog, which has a nominal price of 25 cents to cover postage, is available from the company. Most items are sold as completely commented, assembled machine code source listings for the 6800, 8080 or 6502 processor of your system. The prices for typical items from the catalog?

• A BCD floating point package for the 6800 processor is $6.50 for the documentation, plus $3 for a MIKBUG format paper tape.

• A scientific functions extension of the above package runs $10 plus $4 for a paper tape. This gets you transcendentals, and other goodies.

• And of course, the firm will give you a high level language for the 6800 in the form of "Micro Basic Plus" which runs $15.95 for the documentation, plus a paper tape at $6 or cassette tape at $6.95.

The catalog is packed full of numerous items, with most programs written for the 6800 so far (but don't ignore the

availability of several 6502 and 8080 packages).

The following quotation from the catalog regarding copyrights and pricing is well worth considering as a philosophy for personal use software marketing:

TSC software is among the lowest priced software available to the hobbyist. All prices essentially reflect the cost of documentation and packaging. Why does TSC sell software for so little? The answer Is simple: All TSC software is copyrighted, which means It is Illegal to make copies of any form. The low pricing is to encourage the hobbyist to buy from us instead of paying close to the same amount for a copy at the local copying machine.

We heartily agree with this approach, since the world of the personal use computer cannot support the concept of unit sales of custom written hand crafted programming of extremely expensive software. The automobile was a success because of mass production and distribution. Marketing software to lots of people with personal computers requires high volume production at low margin as with any mass market, an enterprise which TSC is proving quite realistic."

The Midwest's Most Complete Computer Store

THE GENERAL COMPUTER STORE

WE STOCK

Compucolor

Continental specialities

D.E.C.

Hitachi

lasis

Imsai

Intelligent systems

Lear Siegler

Microterm

National Multiplex

North Star

Polymorphics

Processor Tech.

Sanyo

SWTP

Tarbell

TDL

Texas Instruments

Vector Graphics

Vector Electronics

Ven Tel

Xybek

Books and Magazines

Sams - Haydens - Osborne

Tab - etc. and many others.

ASK FOR OUR Z-80 SPECIAL SEND $2 FOR OUR COMPLETE CATALOG OF PRODUCTS & PRICES.

'Refundable with purchase of $25 or more.

TheGenerol Computer Company

*A computer company of professionals."

2011 LIVERNOIS ■ TROY, MICHIGAN 48084 • PHONE 13131 362 0022 1310 MICHIGAN AVENUE « EAST LANSING, MICHIGAN 48823 • PHONE: (517) 351 3260

167

Circle 252 on inquiry card.

Circle 253 on inquiry card.

FIRE

That's right, if we don't sell a bunch of our BASIC SOFTWARE VOLUME 1 albums quick, we'll get fired! Included are lots 'n' lots of your favorite Basic programs such as LUNAR LANDER and BLASTOFF!, plus new ones lil<e MAILING LIST, FOURIER FIT and AMPLE ANNIE. Plays through your Tarbell, Kansas City or Altair cassette interface (we coded all three ways). Or make cassette copies. Only 6 bucks. Don't be a dummy, order today! Satisfaction guaranteed or money back.

to:

$6

SOFTWARE RECORDS

PO BOX 8401-B UNIVERSAL CITY,

CA 91508

(CALIFORNIA RESIDENTS: PLEASE ADD 6% SALES TAX)

NEW . . . 1977

MICROCOMPUTER CATALOG"

Hundreds of microcomputer products and ac' cessories from many ! manufacturers.

Our new MICRO 77 Catalog provides you with a single, easy to use source for comparing and selecting microcomputers — from simple low cost trainers, to advanced systems designed for business, scientific, arid engineering applications.

Whether you choose a kit or fully assembled unit, this easy to use catalog can help take the mystery out of selecting the computer system that is best for your application.

Included in this catalog is a convenient glossary of terms for reference, and sections covering:

microcomputeI^ systems

peripherals

development and test equipment

software

books and programmed courses

Send $1.00 (refundable with first order) for your copy todayI

fnietoeom system

865 3rcl Street South, St. Petersburg, Fl 33701

Continued from page 120

values witli tlie data line and shift clock line, after wliicfn tine now valid outputs of the n bit shift register can be transferred into the n bit latch to set the state of the valves.

As conceived here, the unit can be directly plugged into an existing parallel output port which has 3 available lines. The timing diagram shown in figure 4 is implemented in software by programming the states of the bits when transferring the current data for the piano, which might be derived from a music interpreter program, or from a real time keyboard source. When programming the low level transfer routine, each bit in turn is shifted and is used to control how the "serial data" line will be set at the output port. After the bit is defined, the "shift clock" bit is turned off, then turned back on, to clock the data into the shift register. After all the control bits have been transferred by "n" operations, the output bit which controls the "transfer clock" line is toggled off, then on, accomplishing the transfer of the shift register's contents to the latches and thus defining the state of the various solenoids.

System Reset and Inhibit

The state of the solenoid drivers must be set in software in the control computer; however, if the system is first turned on, or if garbage is left over from previous use, the result could be a crashing dissonance on the piano output device. To account for bad initial values, the circuit incorporates IC3, which drives the inhibit lines as a set-reset flip flop. When system reset occurs (low level on that line) all the solenoid drivers arc disabled by a low level on the "inhibit" input (see figure 3). When the first transfer of data under program control defines a valid solenoid drive state, the inhibit condition is removed by the transfer clock pulse, and does not recur until another system reset.

Summary

In these notes, I have outlined the essentials of the low level details needed to interface a pneumatic player piano with a typical computer system's parallel output lines. This can lead to some very interesting personal use applications of computers, as new piano music is programmed and played using the mass storage facilities of a personal computer instead of the traditional piano roll. These notes are by no means complete, and I leave the software of control of the piano system to the tastes and judgement of the individual user."

Circle 254 on inquiry card.

168

Musical

Fingertip Math from Texas Instruments. The subtitle of Fingertip Math reads: "How to use an electronic calculator to put speed, accuracy and confidence into everyday mathematics." It includes chapters on how to use a calculator, reciprocals, powers and roots, number systems, geometric applications, interest and mortgage calculations, and more. Fingertip Math is dedicated entirely to applications of the conventional 4 function calculator. Beginnners and professionals alike will find it to be a useful, self-contained tutorial manual. Only $2.95.

#

FinG€Rnp

mBTH

/ Bipolar / Microcomputer f Components \ Data Book

Bipolar Microcomputer Components

Data Book from Texas Instruments. If you like to build computers from scratch, or are just interested in finding out what is available to the enterprising hacker, Texas Instrument's Bipolar Microcomputer Components Data Book is for you. Included are detailed data sheets covering Schottky and Integration Injection Logic (i2l) 4 bit slice processor elements, plus the SBP9900 16 bit microprocessor. A wide range of bipolar memory components is also covered, as well as bipolar microcomputer support function circuits such as latched bus transceivers, shift registers, programmable logic arrays (PLAs), and so on. With the aid of this handbook, the enterprising experimenter can create a variety of high-powered designs. Only $2.95.

Micros, and More

Microcomputer Handbook by Charles J

Sippl. We often hear people say, "I'd like to find out more about microcomputers. I'm not a technical type, but I feel I can handle a fairly rigorous approach as long as it's well-written. What's available?" Charles J Sippl's Microcomputer Handbook is one answer to this question. The book covers the present state of computer technology very well, concentrating on both hardware and software. Lucid and complete glossaries are combined with a variety of illustrations. Topics covered include: microcomputers: where they are, what they are doing, and what is next; kits; distributed intelligence; and why the new systems are easier to use. The book was written by a computer industry lecturer and consultant and is highly recommended for the intelligent layman as well as for professionals and experimenters. The glossaries alone are worth the price of the book—don't miss this one! This hardcover reference is only $19.95.

The Technology of Computer Music by

Max Mathews, published by the MIT Press. If you're interested in creating music on your microcomputer, here is an excellent source book on the subject written by Max Mathews, often called the "Father of Computer Music." The book includes sections covering the fundamentals of digital sound generation, including the sampling theorem, digital to analog converters, analog to digital converters, filtering, and storage of musical data. A significant portion of the book is devoted to a description of MUSIC V, the well-known high level music language. The sections of the book have been graded so that readers new to the field can approach the material systematically. $16 hardcover.

THE

TECHNOLOGY OF COMPUTER MUSIC

Max

Mathews

On the Sensations of Tone by Herman

Helmholtz and published by Dover Publications. This remarkable book is a reprint of the original 1885 edition, reprinted with Dover's usual attention to detail. Despite its age. On the Sensations of Tone is still a standard text for the study of the physics and physiology of music. Part 1 explains the sensations of sound in general, vibrations, sympathetic resonances, etc. Part 2 covers combinations of tones and beats. Part 3 concludes the book with Helmholtz's theory of the aesthetic relationships of musical tones. This book will make a valuable addition to the library of anyone interested in the production of music on microcomputers. $6.95.

Send to:

Bits, Inc.

70 Main Street

Peterborough NH 03458

Name

Check Payment method:

My check is enclosed

Bill my MC No..

-Bill my BAC No..

. Exp. date . Exp. date .

Address

. books

CiIiL.

State Zip Code

Signature

You may photocopy this page if you wish to leave your BYTE intact.

Total for all books checked Postage, 50 cents per book for_ Grand Total

Prices shown are subject to change without notice.

All orders must be prepaid.

In unusual cases, processing may exceed 30 days.

169

A Bit o£ the BASIC

Computer Resource Book—Algebra by

Thomas A Dwyer and Margot Critchfield is an exciting new way to learn about algebra and the interesting things you can do with it using a computer. The book uses the BASIC language, and flowcharts are used throughout to show the structure of programs. There are 60 applications programs including straight line graphs, polynomial equations, a space probe navigator, temperature profiles, computer generated animation, the ultramatic root finder, random number generation and many more. Although it is particularly suitable for students, just about everyone will find some intriguing and easy to use applications in this entertaining book. $4.80.

Basic BASIC by James S Coan. If

you're not already familiar with BASIC, James Coan's Basic BASIC is one of the best ways to learn about this popular computer language. BASIC (which stands for Beginner's All-purpose Symbolic Instruction Code) is easy to learn and easy to apply to many problems. Basic BASIC gives you step-by-step instructions for using a terminal, writing programs, using loops and lists, solving mathematical problems, understanding matrices and more. The book contains a wealth of illustrations and example programs, and is suitable for beginners at many different levels. It makes a fine reference for the experienced programmer, too. $7.95.

A Guided Tour of Computer Programming in BASIC by Thomas A Dwyer and Michael S Kaufman. Colorful graphics abound in this lively introduction to the BASIC language. The authors have tried to present a rigorous, yet entertaining approach to the subject. Written for the novice, A Guided Tour begins with a section on how to recognize a computer, followed by some tips on working at a terminal. By the end of the book readers are writing their own programs and solving elementary problems in finance and business. The emphasis throughout is on learning by doing. Anyone interested in computer programming should benefit from A Guided Tour of Computer Programming in BASIC. $4.80.

Introduction to Computer Programming by Rudd A Crawford Jr and David H Copp. Here is an excellent way to learn about the general aspects of computer programming. Introduction to Computer Programming makes use of a hypothetical computer model and set of assembly language instructions designed to help the beginner see what goes on in computer programs. The emphasis throughout is on general principles; such concepts as loops, decisions, flowcharts and 10 routines are covered in detail. The book also provides many example problems and prompts the reader by posing several quiz questions. Anyone who masters its contents will have a solid foundation for the study of practical assembly and high level languages. It is especially recommended for students, but just about everyone new to the subject should profit from it. $4.35.

Advanced BASIC by James S Coan.

Advanced BASIC is the companion volume to James Coan's Basic BASIC. In this book you'll learn about some of the more advanced techniques for programming in BASIC, including string manipulation, the use of files, plotting on a terminal, simulation and games, advanced mathematical applications and more. Many useful algorithms are covered, including some clever sorting techniques designed to reduce program execution time. As with Basic BASIC, there are many illustrative example programs included. BASIC doesn't have to be basic with Advanced BASIC I $6.95.

tafAia

43

# ^

Some Common BASIC Programs by

Lon Poole and Mary Borchers, published by Adam Osborne and Associates. At last, a single source for all those hard to find mathematics programs! Some Common BASIC Programs combines a diversity of practical algorithms in one book: matrix multiplication, regression analysis, principal on a loan, integration by Simpson's rule, roots of equations, operations on two vectors, chi-square test, check writer, geometric mean and variation, coordinate conversion and a function plotting algorithm. These are just some of the many programs included. For only $7.50 you can buy the kind of programs previously available only as part of software math package systems for large scale computers. All the programs are written in a restricted BASIC suitable for most microcomputer BASIC packages, and have been tested and debugged by the authors. $7.50.

Send to:

Bits, Inc.

70 Main Street

Peterborough NH 03458

Name

Check Payment method:

My check is enclosed

Bill my MC No..

-Bill my BAG No..

. Exp. date . Exp. date .

Address

. books

CmL

State

Zip Code

Signature

You may photocopy this page if you wish to leave your BYTE intact.

Total for all books checked Postage, 50 cents per book for_ Grand Total

Prices shown are subject to change without notice.

All orders must be prepaid.

In unusual cases, processing may exceed 30 days.

170

The Best of BYTE, Volume I

Send now to:

BYTE Interface Technical Services, Inc. 70 Main St Peterborough NH 03458

The volume we have all been waiting for! The answer to those unavailable early issues of BYTE. Best of BYTE, edited by Carl Helmers Jr and David Ahl. This 384 page book is packed with a majority of material from the first 12 issues. Included are 146 pages devoted to "Hardware" and how-to articles ranging from TV displays to joysticks to cassette interfaces, along with a section devoted to kit building which describes seven major kits. "Softv\are and Applications" is the other side of the coin: on-line debuggers to games to a complete small business accounting system is included in this 125 page section. A section on "Theory" examines the how and why behind the circuits and programs. "Opinion" closes the book with a look ahead, as to where this new hobby is heading. It is now available through BITS Inc for only $11.95 and 50 cents postage.

1 Name

1 Address

1 City

State Zip

Price of Book $

j The Best of BYTE, Volume 1

Postage, 50 cents $

Total $

D Check enclosed

1 \Wm □ Bill Mc #

Exp. Date

1 ^^S □ Bill BA#

Signature

Exp. Date

1 In unusual cases, processing may

exceed 30 days. All orders must be prepaid.

You may photocopy this page if you wish to leave your BYTE intact.

$7

PAPERBYTES Design and Implementation of a

Tiny Assembler 6800 — Microprocessor Self Assembler

Originally described in the April and May 1977 BYTE, PAPERBYTES is now offering Jack Emmerichs' Tiny Assembler 6800. This book contains the complete Tiny Assembler source listing plus object code in cross assembly format (space restrictions prevented printing of this material in BYTE). A bar code version of Tiny Assembler is included for convenience, as well as reprints of Jack's two articles and additional user manual materials. Tiny Assembler will run on any machine with Ml KBUG and 4K of memory starting at address 0000, and is an excellent tool for the interactive development of functional blocks for a large structured program. Add it to your 6800 system and you'll have a valuable programming aid which can free you from the drudgery of machine language. The best part is the price: only $7. Order yours today!

MflliffiS

Tiny Assembler 6800

Design and Implementation

of a Microprocessor Self Assembler

by Jack Emmerichs

Send today to;

BYTE Interface Technical Services, Inc. 70 Main St Peterborough NH 03458

Dealer inquiries invited

All orders must be prepaid.

Name

Address

City

State

Zip

PAPERBYTES

Tiny Assembler 6800

□ Check enclosed

□ Bill MC #

□ Bill BA #

Price of Book '■

Postage, 35 cents :

Total ;

Exp. Date Exp. Date

Signature

In unusual cases, processing may exceed 30 days.

You may photocopy this page if you wish to leave your BYTE intact.

No. 700

171

Circle 255 on inquiry card.

SUPER DENSE GRAPHICS I

320 Horizontal by 200 Vertical

"coBcatK/b)

■■.•1. b-42.e6

IF YOUU COMPUTER ' CAN'T SHILE <0R PLOT) IT PROBABLY ° HAB HERLIH DEFICIENCY v ^ ANEHIA. \>:;~-^

<EamTIOH PLOTTED HITH BABIC)

The MERLIN Super Dense add-on kit provides maximum resolution at a minimum cost. In fact, MERLIN with Super Dense has more capabilities than any other S-100 bus video Interface at any price!

Once you've seen 'Super Dense' graphic resolution you'll know there Is nothing to compare it to . . . short of spending over $600 . . . and even then you'll not have ail of the capabilities of MERLIN with 'Super Dense'.

Super Dense provides true bitmapping. Each and every point on the screen is controlled directly by a bit in memory. (Requires 8K of system memory.)

ROM character-graphics looked good fora while; then came MERLIN'S 160 by 100 bit mapping graphics; and now . . .

320 by 200 bit-mapping graphical 11 If you're looking for a graphic display, MERLIN with Super Dense is the best there is. And if you hadn't considered graphics or thought it was out of your price range, consider what you could do with 320 H by 200V graphics and for only $39 extra.

The Super Dense add-on kit to the popular MERLIN video interface is now available with off-the-shelf delivery.

M320-K, Super Dense Kit $39

M320-A, Super Dense Assm. . .$54 See MERLIN ad on previous page.

For information fast, write direct, or see 'Super Dense' at your nearest computer store.

MC and BAG accepted.

MmiTerm Associates, inc.

B(i< 26a Sedlortl M355 01 ?30 (61 7| 6JB-1200

Super Bug #1

Thanl<s to inputs from Allen Evans (2 Munsell St, Binghamton NY 13901), Adrian Cammclot (Bell & Howell, Dept 8540, 7100 McCormack Rd, Chicago IL 60645), and several other readers, it became obvious to us that the July 1977 issue of BYTE had a rather important defect in our presentation of "Jeu de NIM, Peut Etre?" by Alain Chance on page 90. The listing of the Tl SR-52 program printed on page 91 included only one half of the total information which came with the article. Presented here then is the complete listing of the program as received with the article. Note that the listing has only two slieets and that these are numbered "2" and "4" In the images printed here, which are photo copies of photo copies of the originals.*

Circle 256 on inquiry card.

^SR-52

CODING FORM ~ KODEFORM

- FEUiLLE DE PROGRAMMATION

PqonRAMMFR/PRnORAMMIFRFR / PnOflRAMMFI IR WclLM ^ H ^ KJ T, K

DATE/DATUM/DATE

fiBaeOt147« }

Loc, Code Key ' Commontt Adr. ; Kode Taste jaemnrkungen Adr. Code 1 Touche -CommRntoirej

Loc. jCodB Adr. iKode Adf. Code

Taste Touche

Comments Bemerl<ungen Commentaires

Loc. Adr. Adr.

cod. Kode Code

Ke,

Taste Touche

Com men tl Semerkungen Commentaire)

Labels Label Labels

1 I

net

•dtt

i

>

1

■"^iit-S '*I-B1

00

0

00

0

. nonsbre de *pibns lodtb.

11 A A *i i STO ,

ot 3

'"^,^3 8 "PPt

mi/

■*<)«.

*/

STO

o isyt-iro it 11 '^Cftlanise cense

-1

06

6

C IBU

u

4-i

"rtn B

07

7

Dhofl iCfecie'

080

Si

*rtn

E t(») JC>0

&

<H

MLBL

A' (0 STO OO

_ .'3 . 'par.

ii *It>lBj

i « STO 1

'"'«o 3

16 "A'

OO 0

«•« "LBL

87 * 1 - 1

"fS 'PROB

5TO

15

*D'

♦♦0'

B.^(Kl~-0

""*«■, °5 i '3

ol

1

CtteLeo sTOCr

.08 98

%

0 o

0

or

*prt

085

55

-i

■= * o it .mPXt

.85

OO

-1♦ lbl

«-i

STO

RpTim.t.Hea.iiu.

VJ

r"

00 ufciUsipe^r l'ihi«fo<haB

" a' 1

h'

4-3

RCL

"' CohtieniKBt

o<

c

" l« nombrc

0

07

7

"Je pio<,»

1^

STO

is

X

°'<lc chuvM

, OO

. '5

■'"'« SI.

o o

STO 1 i

"rtn

*L8L

3«

*lMt>

"iet Sransfi

oj 3 0? 8 <ti RcL

'i 3 75

__ _. 17 . »B' . 11 INV

°''\„ 80 "if pos

OO : 0

ifi

RCL

°°e«pPim«

OO

6

0«

OO

o

35

s

°'btii»£pe.

S(

•rtM

10 o

v«

•lbu

' 'eontlcnlickt

to

»E'

♦ b'

le hombre

17 . * 6'

B'

100 54*

8?

+

oi

I

y

5S

s

'^<)ei9rM)ei

RCL

15

E

"e«pr£in»

"7 7

<tl STO

oV 3

01 : 1

l( *ltot> 4-(> surt

o8 8

|o1 , 1

OO OO

Ol

ti \ 18

"'■'w 0 0

o o

S5

•^

"a«.iitlfr

lOi

"t

I

"wtttmt

^

7.T

"JecimbI

I

;*rtn "LBL

-c'

RCL o

IK

»L»V.

u.j> (;,»,.■

\5

E

e

0

u

IWV

1

~—^r —

ilo

SI

EE

'Utilise

53

(

3

•

172

Blackjack Bug

Master Steve Viterwyk of 4402 Meadow Wood Way, Tampa FL 33624, told us at the National Computer Conference show In Dallas TX about his discovery of a small bug on page 150, "SR-52 Card BLACKJACK," line 036, of the June 1977 BYTE. The precent sign should be a division sign. Thanks, Steve."

A Sour Note in "Sweet Auto Line"

I loved that "Sweet Auto Line" article in your February 1977 BYTE, page 12. Mr Nico is to be congratulated on a job well done. I am anxiously looking forward to future "goodies" comparable to this article.

While working with the information presented in "Sweet Auto Line," I believe I have discovered a slight bug. At the tags ONOFF: AND UNAUTO; reference is made to NEXT-1 ; I had to use NEXT-2 instead of NEXT-1. NEXT-1 plopped me back in mainline in the middle of an instruction.

If no one else has discovered this bug maybe you can advise everyone in general through an editorial comment.

Walter R Norwood, manager

Computer Hobbies Unlimited

9601 Kendrick Rd

Richmond VA 23235

We've had several other verba/ comments by readers, but yours was the first written comment.*

SR-52

CODING FORM - KODEFORM - FEUILLE DE PROGRiVMMATION

TITLE / TITEL / TITHE^ J C U 15E-. ^J[ H. PAGE /SEITC / PAGE,,_._if-_

PdOGRAMMEn / PROGRAMMIEHER / PROGRAMMEUR , A\Q-^*^ CHANJCC

OF / VON / DE.

DATE/DATUM/DATE

Itii_ao0t.l57'<

Loc. Atfr. Adr.

Code Kode Code

Key Comment* Tasle ^Bemerkungen Touche iCommentairss

Loc Code Adr Kode Adr iCode

1

Kev

T.1SIP

Toiichc

Commentt Bemerkungen Commentaires

Loc.

Adr. Adr

Cod«

Kode Code

Key Ta»te

Touche

Comments Bemerkungan Commentaires

Labali LibEl Labels

lit

u.%

STO ^

'so

• Si {\1

0(

6

A Libels

7S

- ,

Oi

I

09

9

B otilisJttut

93

•

"**,... t&

*c'

ol

1

c

OS' 5

If

•a'

00

0

On.h»«aU'

1 J4 ' )

\l6

«-LBL

1V2

<^3

•PROO

E i

"*,. SI

•rtn

157

77

"«■

^h

oi

<

A' USIJC

3f

Si

Zl

INV

08

8

« it 1%

Si

*Jsz

Si

*isi

•^calculi tria

l¥i

•LBL

' 77^<- *

83

•3

D

■ \l c . c

(3

*t>'

I97i TJ

RCL

E

**„. 11 ' A ,

* e'

o<

f

Oi-i) ti.'.i rip., lie

•'■■

^s

CLR

•a'

10

•■if iro

»!>

9

"■ i»x

t(

163

77

"W

Co

*lfflj

'■'finite \

U

• c'

n

"D'

ol

I

"r»nj«el

«.«|*L8L

n

IMV

303

"l

I

" etc.

"■,„iB8'*Z 'I

l^k

SUH

ot

2

-' 1-

H * D'

0(

6

o\

\

05 T

i kit\ SUM

**,67 08

8

ol

1

"' (eh b«e

o« 1 « 08 8

00

1

<»2

STO

" aeoO

0

»9»

3C7

o<

i

Ofl

■"„,! 58 'in

o7

7

"bih,ec9

gt

*l

S40.

5^

(

If

•A'

"= 0

\i

• A'

♦ 3 ' »3

(^^

STO

U

WLBL

" r»n]e'et

t«

7f

78

*S

>»s

83

*3 0£

»7

312

Z2

INV

'' etc

06 i

58

*JS2

" it

7

78

• s

08 8

"""i,- 35

=

13

• D'

'°(en b»s«

t (0 • e'

.«

lUV

90

"^IfZfc

' dix)

, 90>ifiro

<h3

•PROO

317

78

"S

'6

'^Ui: Ol t 1

oc

«

18

•►c'

"iranqe'ti

03; ^

oB

8

U

B

;wl;JrifB.(fcK

! 00; 0

*c'

00

0

(UPPlEHtW'

; «oi*lfflj

&

It

IKJV

01, i ,

. «3

GTO

Si

EE

67-«»-f3

»3

«<

»rset

= 98

°«i 8 ,

17 <^■|^

•B'

let »9

06

« . 1

***

167

SUM

I

m

MERLIN Is the best ASCII/Graphics board now available for the S-100 bus . . . and at an unbelievable price!

Compare these features to any other

video interface:

T> 160H X 100V resolution bit mapping

graphics ir On-board ROM (Monitor/Editor)

option

* 40 characters by 20 lines, character ROM generated (hardware)

■k Keyboard interface (with power) it Programmable modes and display

format ir Serial I/O port

A Low power . . . only 600ma at +BN « Extremely fast (uses DMA) ir Comprehensive User Manual

. . . 200ps i, American 60HZ or European 50 HZ

operation.

Designed-ln expandability means maximum versltility at minimum cost. Add-on options now available (in kit form) Include: <r Super Dense Graphics

(M320-K) $39

« Lower case characters

(LC) $25

■ir Serlal-to-parallel expansion Kit

(MSEK-K) $45

■u 1500 Baud (software) cassette

Interface kit (MCAS-K) $29

* 2K X 8 Mask ROM; graphics, cassette, & extended editing software (MEI) $35

* 2K X 8 Mask ROM/256 RAM; Monitor Editor Software (MBI) . .$39

The MBI ROM software is designed to allow turnkey operation and sophisticated editing and scrolling.

Ask to see a demonstration of MERLIN at your nearest computer store. Many dealers now stock MERLIN and there Is nothing like a hands-on demo for really evaluating a product. We know you'll be sold.

MERLIN Kit with Manual $269

MERLIN, assm'd & tested $349

MERLIN User Manual $ 10

For fast Information, write us direct! MCand BAC accepted.

MiniTerm Associates, inc.

301 268 Bedford Masi 01730 16171 6d6 1200

173

Circle 256 on inquiry card.

Continued from page 10

13(KO), 14(KN), 15(SH), 16(VSS), 17(01), 18(02), 19(EXT), 20(IDLE), 21(IRG), 22(1/08), 23(1/04), 24(1/02), 25(1/01), 26{VDD), 27(VGG), 28(SG), and tlic pinouts on the TMC0524 which are probably the same as the TMC0523 are; 1(D1S), 2(VGG), 3(VDD), 4(1/01), 5(1/02), 6(1/04), 7(1/08), 8(IRG), 9(IDLE), 10{EXT), 11(02), 12(01), 13(VSS), 14(DO), IS(Dl), 16(D2), 17(D3), 18(D4), 19(D5), 20(D6), 21(D7), 22(D8), 23(D9), 24(D10), 25(D11), 26(D12),27(D13),2S(D14).

I know nothing nnore about the internal structure of the two chips than the pinout names convey except that the TMC0501 is called an "Arithmetic Logic Chip" and the TMC0534 is 1 3 K word ROIVl called a "SCOM." I believe it also generates the digit scan pulses and the two phase clock.

I don't think it will help Mr Lewis to write Texas Instruments as I have written and telephoned them and the only information I can get is that the information is confidential. However, that was over a year ago and they may have changed by now.

A company called Bootstrap Enterprises, POB 614, Richardson TX 75080 sells "service manuals" on the SR-50 and SR-52 and they may have one on the SR-51. Their price is $4.50. The data is skimpy but helps and they are prompt.

I am interested in any information which anyone may have on the internal workings of the SR-52.

Incidentally, does anyone know of a MOS or CMOS decade counter with three state BCD output. If so, I'd like its number and manufacturer.

lack Lambert

5 Graham Rd

Lexington MA 02173

PASCAL PRESSURE

In his article "All This just to Print a Quotation Mark?" in May 1977 BYTE, page 132, the author offers us a mind bending cure that is worse than the disease. Since the BASIC language he was using did not allow the user to represent a quote within a string delimited by quotes, he created an entire scratch file for the sole purpose of storing a quote which he subsequently read up as a variable and used.

The language I use, PASCAL, features a simple and straightforward solution: a quote mark within a string is represented by a pair of quote marks. Thus, in PASCAL you might say that the problem of quotes is "THE LANGUAGE" "S PROBLEM".

George Cohn

Indiana University

Wrubel Computing Center

Memorial Hall West, Room 013

Bloomington IN 47401

Right you are. But no one has any small computer PASCAL compilers (or interpreters) yet, and when a user has to put up with what he's got, some mind bending contortions may result out of sheer necessity.

COMMENTS ON PASCAL AND STACK MACHINES

The rumor of a Z-200 from ZILOG (April 1977 BYTE, page 140) seems to have triggered a groundsweli in the small computer industry (and among personal computer enthusiasts) that cannot be ignored.

The concurrent article (page 128) by Donald ) Stavely in your Technical Forum pages adds weight to the concept of using PASCAL (or a PASCAL subset)

as a high level language for microprocessor users. The problem, of course, has been core. For example, PASCAL on a PDP 11/45 typically resides in 16 K of 16 bit words and takes seven passes to produce code for an abstract machine. There is an additional overhead of 21 K words for an operating environment.

The ZILOG product, if it exists, would go a long way to bringing the small computer industry to a mature basis by providing it with a structured language. If the Z-200 does not exist the clamour of interest in such a product which your publication has generated must surely bring about its existence.

Keep up the good work, BYTE.

John S Perryn

Hartley Compter Applications Pty Ltd

39 Sherwood Rd

POB 366

Toowong Qld4066 AUSTRALIA

It turns out that Z-200 (later Z-800J rumor was untrue as of the spring of this year, but Zilog (and other companies) are not resting on past laurels. One design idea we heard at the West Coast Computer Faire from an LSI designer employed by a semiconductor laboratory was the idea of a fairly conventional processor design (at the machine language level) with built-in hooks to higher level functions implemented by fast machine language routines built into a ROM located in the processor. The suggestion was made that such routines could be made to run faster than if they were in external ROIVl segments due to the lack of any need to go through the external interfaces of the chip, and also due to shortcuts in the addressing of operands. In essence, the concept is one of some "vertical" microprogamming extensions of the instruction set built into the

SWTP 6800 OWNERS-WE HAVE A CASSETTE I/O FOR YOU!

The CIS-30+ allows you to record and playback data using an ordinary cassette recorder at 30, 60 or 120 Bytes/Sec! No Hassle! Your terminal connects to the CIS-30f which plugs into either the Control (MP-C) or Serial (MP-S) Interface of your SWTP 6800 Computer. The CIS-30+ uses the self clocking 'Kansas City'/Biphase Standard. The CIS-30+ is the FASTEST, MOST RELIABLE CASSETTE I/O you can buy for your SWTP 6800 Computer.

PerCom has a Cassette I/O for your computer! Call or Write for complete specifications

TERMINAL

lAPE

300

lOCAl

AUTO

1300

UNE

•

ON CIS-30 +

Kit - $69.95*

Assembled - $89.95*

(manual included)

* plus 5% f/shipping

PerCom Data Co.

P.O. Box 40598 • Garland, Texas 75042 • (214) 276-1968

PerCom — 'peripherals for personal computing'

TEXAS RESIDENTS ADD 5% SALES TAX

174

design, using tlie basic instruction set of the processor to implement tlie functions. As for Zilog, it was the faster Z-80A which was announced this past spring, although representatives of the firm do not deny work upon a machine appropriate for high level language representations of programs. One comment, though, was that it would most likely be a machine which made it easy to generate high level language object code, rather than a design which in any sense could be said to directly execute high level language code.

COMPLAINTS ABOUT BYTE IN THE NUDE.

Now that BYTE is arriving with labels pasted on the cover, I (and probably others) would like to know a simple chemical method of removing the labels,

H W Neff

American Microsystems Inc

3800 Homestead Rd

Santa Clara CA 95051

My May issue of BYTE was really messed up in the mail. By coincidence or not, May also happened to be the first issue I got without a wrapper. Is there any way you could put my copy in a wrapper and (hopefully) keep it from being shredded?

I A Beuckman 11889Creste Verde St Louis MO 63141

The labels on the cover (May and June 1977) of BYTE were a temporary deviation from standard practice due to the disruptions of a strike at our printer. We like wrappers on magazines as much as you do, and will restore them as soon as possible.

OVERLY PRODUCT ORIENTED?

The LED display as suggested by Mr James Hogenson in his article "Multiplex Your Digital LED Displays" /March 1977 BYTE, page 122/ seems unnecessarily complicated and expensive, at least for use as a digital readout for a microcomputer. A good alternative would be the use of two (hexadecimal) or three (octal) Hewlett-Packard alphanumeric displays 5082-7300 series. As noted by the attached data sheet, these displays have their own decoder drivers with memory and are DTL and TTL compatible, they can easily be inserted into a small breadboarding socket and hand wired to the bi-directional data bus as follows:

The latch enable should be set to

OUT in order to monitor read in and instruction results, and set to ground when single stepping.

Data sheets for the displays may be obtained directly from Hewlett-Packard. J A Titus of Tychon Inc should be credited with researching this product. The displays may be obtained from Schweber Electronics and cost $15.60 per unit.

I would like to take the opportunity to say that your magazine has been a disappointment. Your publication is overly product oriented. In fact, many of your articles are simply reprints of product fliers. How about more emphasis placed on inexpensive computer projects, eg: simple interfacing involving different low priced memories, parallel to serial interfacing, etc?

Also a section devoted to simple software implementation and not necessarily involving BASIC or a high level language would be of interest. An educational series devoted to interested beginners would be helpful. Many of your articles are so difficult to understand that the novice is simply confused.

Considering the rapid advances being made in computer technology, it would behoove the hobbyist with restricted funds to stay with a low cost modular approach with software replacing hardware wherever possible. I think that much of what we see today as being the latest thing in microcomputer products will be obsolete within five years.

Don Woods

12012 Pebblebrook Ln

Carmel IN 46032

You make some good points. But as

D7 D6

D5 D4 D3

D2 Dl DO

0-^

0 2

1

D C B A

' .5V

6

— GND

B

U-.5V

|-GND

0^

2

D C B A

1

^.5V

6

GND

°i

D C B A

1

8

ENABLE

to "Your publication is overly product oriented. In fact, many of your articles are simply reprints of product fliers," you are out on a proverbial limb sawing rapidly at the nearest node in the root direction. Our articles convey information about the theory and operation of computers, how to build same, designing software, etc. Surely we put in new product releases as well, but that's all part of balancing the complicated equation of customers that is involved in any commerical magazine such as ours. . .CH

.S^D^BLE

■A,:

W^}%

''■'^^'

gineefftd paper |a|)ft) vvlfi ^ead punched ?spea$ **iii you catt pyfl It th^Pugti (Or5i|ii| Eacfi urtri int5lude$ a c«sfo|||^^ii|| sensor array, higb speed ^aiisiililiii; ;and all required handsHaiiiii|:Ji|iii interface withany mifcr o^fj'f Q:Si slf) 11 parallel I/O port. Check our specs. AT OAE WE MAKE QUALITY AFFORD-: ABLE!

Available at quality computer stores everyvi/here, (Or, add $2.50 for domestic shipping and handling — CA res. add 6%,)

$74

so

Kft

wm

Oliver Audio Engineering, Inc.

7330 Laurel Canyon Blvd, North Hollywood. CA. 91605 (213)765-8080

175

Circle 257 on inquiry card.

MORE HIDDEN GOLD: PC-100 OPERATES WITH SR-51

This letter is in response to tinat from William D Lewis in June 1977 BYTE. Perhaps I am not the typical BYTE reader because I have acquired over the last several months the Texas Instruments Models SR-51, SR-56, SR-52 and PC-IOOA. The last is a printer for the

CLR

ALL

CTMtA 1

STl

0. 5

SIHH

1 _

.5210953055

1 .

^

. 5210953055

fiSNH

SUM 1 1

SM 1

0. 5

.^

0.5

cnsH

or 5

SMI

1. 127625965

3.

1.127625965

flCSH

. ibbbbbbbb?

SM!

0.5

4.

~

0. 5

thhh

. 0416666667

SMI

.462117 1573

5.

V

7 9.

hTNH

. 00833:33:333

3M1

79.

■:■

6.

^

CLR

, 001 3:3:53339

SMI

0. 5

THHH

. 4621171573

. 0001984137

SMI

.4621171573

f] 1^

HTNH

, 0000248016

SMI

2 +

9.

4.

.0000027557

SM 1

2

2 +

.0000002756

SM 1

5.

7 +

.0000000251

SMI

-;

12.

1. 166666667

.0000000021

SMI

SDV

13.

SMI

1.776127-06

:/HR

. 0000000002

14.

■:

2.579038066

1.1^707456-11

SMI

CLP

15.

~

1.

'y.

7.647 163732-13

SMI

1.

3.71328:823 ^*RC1

\?'.

"

2. 71328182:5

LNii

1. 1.

LHft

5!

-2. 16-11

20

CLP

SLDPE

0.

1.

9.-.

1. 230769231

INTCP

1.

e-'

. 2307692303

2."1328:328

0. 5

'.,' 1

2. "1328:828

0. 21875

2. 7 1326:823

F':: 1

0. 5

2. 71S281S2S

=

8.:: 6 : '=.<r:^f,'

. 0000000001

/

S<L-5"I/fC-lfcoA 1

us\/o6 'be.-si

SR-56 and SR-52. If one removes the batteries from these calculators, the appearances of the battery compartments are similar (but quite different from that for the SR-50). For all, in addition to the battery terminals, there is a 12 pad connector strip as pictured by Lewis.

I have been tempted for months to put the SR-51 onto the PC-IOOA just to see what would happen. I was inhibited from this by two facts: The first is that the compartment on the SR-51 is shallow as compared with the others, and second the PC-IOOA has a 3 position switch marked SR-52, SR-56, "other." After Lewis' letter I said, "I'll do it," and jammed the SR-51 onto the printer. I say "jammed" because it did not go on quite as smoothly as either the SR-56 or SR-52. Naturally I chose the "other" position for the PC-IOOA selector switch.

The SR-51 is not an "other" device and a next test showed it was not an SR-S6. A third trial shows the SR-51 to be an SR-52 as far as the printer is concerned. And, talk about hidden gold, the results were fantastic (see reproduction of a printout). Before I discuss them let me point out that the inner workings of the SR-56 and SR-52 are very different as viewed by the PC-IOOA and things go to hell if the PC-1 OOA selector switch does not match the calculator.

Texas Instruments is very inconsistent in its various machine features and their modes of operations as compared with those from Hewlett-Packard, thus the SR-51 has many functions not offered on the SR-52 and a few not offered on the SR-56. But, surprise, the PC-IOOA knows about them (unless it is the SR-51 which has more goodies than have been announced). In any case, when the PC-1 OOA" is adjusted for the SR-52 but actually gets the SR-51, the printer works as one would hope it would. Actually it works better than one

would reasonably expect. One can press the PC-IOOA PRINT button to print the displayed value at any time, but the operation is most interesting when the PC-IOOA is in the TRACE mode; here one gets a complete audit trail of all operations and results from operations. The operations printed out include SINH, COSH, SLOPE, INTCP and other functions which do not even exist on either the SR-56 or SR-52. Where does this information come from? Will some Texas Instruments engineer please tell us?

The many owners of the SR-5 1 know that it has the most preprogrammed functions and built-in conversions of all the pocket calculations built by Texas Instruments to the present time. Now that the price for the PC-IOOA printer is dropping, many of these owners might wish to make a spiffy equipment upgrade by buying one for their SR-51. And, of course, the printer will be usable for a subsequent SR-56 or SR-S2. Note: SR-51 A might be different from the SR-51.

Webb Simmons

1559 AlcalaPl

San Diego CA 92111

To carry this researcli further, we need a reader with an SR-51 A to try the tricli described here. Chances are that the trick will still work, since Texas Instruments probably was consistent in one respect: the design programmers most likiy used a common coding scheme for ail the arithmetic and transcendental functions of the calculator just to minimize the probability of software error.

POPULAR COMPUTING REPLUGGED

We do appreciate the plug for Popular Computing in Peter Travisano's Clubs and Newsletters column in your

INTERNATIONAL DATA SYSTEMS, INC.

400 North Washington Street Suite 200 Falls Church, Virginia 22046 USA Telephone (703) 536-7373

SI 00 Bus Cards (ALTAIR/IMSAI Compatible)

)8-SPIu1 Clock Module

USES

KIT PRICE

88-UFC Frequency Counter fvloflule

88-IVIODEIvl Originate/Answer MODEIvt

GENERAL PURPOSE PERIPHERALS

lulCTK

TSIvl

tvlorse Code Trainer/Keyer Temperature Sensing fviodule

$96.00

Your computer keeps time ot day regardless of wtiat program it is executing. Applications include event logging, data entry, fiam radio, etc. Provision for battery backup is included

Measure frequencies up to 600 MHz or period witti 1/10 microsecond resolu- $179.00

tion Computer can monitor four separate inputs under software control.

Use your computer to call other computer systems such as large timesharing $245.00

systems Also allows other computer terminals to "dial-up" your computer. Auto-dialer is included so your computer can call other computers under software control. Operates at 110, 134 5, 150, 300, and 600 band,

Hard/Software package which allows your computer to teach Morse Code, key your $29.00

transmitter, and send prestored messages. Uses "NEW CODE METHOD" for training.

Use It to measure inside and/or outside temperature for computerized climate $24 00

control systems, etc.

DAC8 Eight Bit Digital lo Requires one eight bit TTL level latched parallel output port. Use it to produce $19 00

Analog Converter computer music or to drive voltage controlled devices

Terms: Payment with order. Shipment prepaid. Delivery Is stock to 30 days. Write or call for detailed product brochures.

Circle 258 on inquiry card.

176

June 1977 issue, and no doubt it will trigger a flood of inquiries. All the subscription information was meticulously correct.

But where did the other material come from? We have produced 52 issues to date, with exactly two games all told. "Schwartz on Calculators" was one article; hardly a monthly feature. And except tor one issue devoted to the Altair, there has never been any information about the micro field. In fact, we rather avoid printing any news at all, with the objective of making our issues sort of timeless. Gee, other than that, everything was correct.

Popular Computing is for people who want to compute, and it contains lots of computing problems, articles on how to compute and a series on the Art of Computing.

We'll explain all this to those who write, since we don't want anyone subscribing under a misconception.

Just think of the fun I could have describing BYTE in the same way!

But we do like being mentioned, very much.

Fred Gruenberger

Popular Computing

POB 272

CalabasasCA 91302

Oops! Your letter should correct tilings a bit.

COPSE OUT

About computers there is no question that the coming of the chip computer heralds a new age. Science fiction writers have long foretold of the personal and personable computer. It is becoming fact. Yet, we who are about to enter the copse must needs reflect upon our passage first, and not as an afterthought.

Your rebuke of Mr Garner's argument, (Ask BYTE, May 1977) was thoughtless and without point. Mr Garner correctly points a finger in the direction of the dike that leaks: our technology. He questions the moral quality of a course of action that is new and untold. And you, obviously lacking an equitable pen, denounce his unspoken ethics only to replace them with your own equally unspoken ethics. Pray tell, from where do you draw your reason, for surely that well is dry?

It can be argued that by any truly human standard of value, computers and robots are not highly desirable technology. I do not argue that human beings arc the measure of morality; but I must contend that automation of mental and physical drudgery is not necessarily ethical. If I may, I shall submit an analogy. A man who thinks to build a box might employ a computer to design it, and a robot to build it. The box once complete, though, is not his box. The man never affected the box except to ask for its construction. Effectively he does not understand the box because he did not apply himself to it.

I think (if I may be so bold) that Mr Garner poses this question to each of us. We strive, I no less that others, to produce artificial intelligence. Is it right that this intelligence supplant human intelligence? And is the definition of drudgery to be equated with that of effort? The man who built (euphemistically speaking) the box did not have to reason to build it. His mind was not exercised, nor were his hands. He needed only a rudimentary education and rudimentary expectations to build a box. If he worked in a factory he probably didn't even fully know how to use that wonderful tool which supplanted his own intelligence, and most likely his pride in himself.

In closing I shall ask a question posed once before. Is the definition of drudgery to be equated with that of effort? Take care in your answer, if any, for there are no easy solutions which you might glibly offer.

Nelson E Ingersoll

1620 Carlisle NE Apt C

Albuquerque NM 87110

We'd have a boring world indeed if everything remained constant (and incidentally, regimented) by superstitious fears of the uni^nown. Progress in technology, good with the bad, is a living manifestation of a viable sentient species, the human race. Attempting to build the dike around technology in the first place is probably one root cause of your metaphorical leak.

I claim it is no less a mark of craftsmanship to give the robot system specifications of one box or many boxes to build than it is to design and build the box by hand; the more versatile person might use either method of construction depending upon mood and ends other than physical creation of a particular box.

COMMENTS ON CERTIFICATION OF TAPES

Judging from David Allen's article on saturation recording, personal computing is about to discover some of the benefits of professional digital recording techniques, of which high storage capacity and faster access time are but a few. Mr Allen may be optimistic, though, in stating the cassette used need not be certified. Of course, an uncertified tape will work if there happen to be no dropouts in a critical area, but are you prepared to trust a laboriously debugged program or critical data to an uncertilicd cassette? If you can afford to gamble the recovery time and effort against the small additional cost for a certified product it may not matter; but most people, especially those using their systems in a commercial environment, would find the certified cassette well worth the investment. Some of the newer cassette subsystem suppliers, such as Microdcsigns, have also discovered the desirability of using a certified cassette. Incidentally, most certified cassettes are usually more

177

FE^AIvIvY.

A S»tate-of-tlie-Art Vool Fop Learning Softmrare Design.

And at an affordable price. The Modu-Learn™ home study course from Logical Services. Now you can learn microcomputer programming in ten comprehensible lessons. At home. In your own time. At your own pace.

You learn to solve complex problems by breaking them down into easily programmed modules. Prepared by professional design engineers, the Modu-Learn™ course presents systematic software design techniques, structured program design, and practical examples from real 8080A micro-computer applications. All in a modular sequence of 10 lessons . . . more than 500 pages, bound into one practical notebook for easy reference. You get diverse examples, problems, and solutions. With thorough background material on micro-computer architecture, hardware/software tradeoffs, and useful reference tables. All for only $49.95.

For $49.95 you learn design techniques that make software work for you. Modu-Learn™ starts with the basics. Our problem-solution approach enables you to "graduate" as a programmer.

See Modu-Learn™ at your local computer store or order now using the coupon below.

Please send the Modu-Learn™course for me to examine. Enclosed is $49.95 (plus $2.00 postage and handling) or my Mastercharge/Bankamericard authorization.

Name:,

Address:. City:

.State:.

Card #

Expiration date:. Signature:

711 Stierlin Road Mountain View, CA 94043 (415) 965-8365

SERVICES INCORPORATED

Circle 259 on inquiry card.

reliable and less likely to jam, and can be operated at higli speeds and accelerations witlnout damage.

Robert H Katzlve,

Product Manager — Marketing

Information Terminals Corp

323 Soqiiel Way

POB9077

Sunnyvale CA 94086

MODES OF EXPRESSION IN ENGLISH IDIOM

Please don't be intimidated by the likes of Lawyer Welborn, "Windmill Jousting Department" in your June Letters. He's obviously too intelligent to claim that BYTE has no female readers, since that argument could be knocked down by one counterexample, and law school has taught him the fallacy of strict majority rule ("Let's vote on what everybody's favorite color is"), so he resorts to ridicule and appeals to his own definition of reason. But it's easy enough to tell where his heart is when he categorizes your readers as "gals" and "men." Why not "women" and "guys?"

I'll admit that there are places where a simpler construction could be used. For example, in BYTE's Bits, the

phrase "the user plays the record on his or her phonograph" could have been tightened up by substituting "a phonograph." But it never struck me that you folks were on any kind of "crusade" (unless that's how you define good manners). All that I've noticed is that yours is just about the only technical publication I can read without wincing every so oltcn.

Carol J Pruitt

1621 18th St NW

Cedar Rapids lA 52405

PATCHING INFO NEED

In your write-up of SwTPC 4 K and 8 K BASIC in the What's New? column on page 72 of January 1977 BYTE, the following sentence appeared: "These packages should work on any 6800 computer system with MIKBUG." I have discovered that the key word in that sentence is "should."

My system is based on a Motorola MEK6800D1 Evaluation Kit with MIKBUG, and neither 4 K nor 8 K BASIC will "play" on it. I have discovered one problem with 8 K BASIC: by changing the instruction at hexadecimal address OBOD to 7E 0B41, the program jumps around some unwanted

r

-As featured In March 1976 Popular Electronics—

>v

The Incredible

"Pennywhistle 103"

Think

Of

It As

The

Ultimate!

(plus $3.50 for postage and handling).

California residents add 6'/?% sales tax.

Allow approximately four weeks for delivery.

The Pennywhistle 103 Acoustic Coupler Is the first professional quality modem available In kit form. The

Pennywhistle may be used either as an acoustic coupler (with the telephone handset) or it may be wired

directly into the telephone. In either case, The Pennywhistle will operate in both the half-duplex (unidirectional)

or the full-duplex (bidirectional) modes.

The Pennywhistle 103 is capable of recording data to and from audio tape without critical speed requirements

for the recorder and it is able to communicate directly with another modem and terminal for telephone

"hamming" and communications for the deaf. In addition, it is free of critical adjustments and is built with

non-precision, readily available parts.

The Pennywhistle is the only Acoustic Coupler Modem Kit in the world with these features.

The Pennywhistle represents many things in terms of operation, construction and concept. It is, in effect, a new

generation of Acoustic Coupler Modems.

—SPECIFICATIONS—

Data Transmission Method Frequency-Shift Keying, full-duplex (half-duplex selectable).

Maximum Data Rate 300 Baud.

Data Formal Asynchronous Serial (return to mark level required between each character).

Receive Channel Frequencies ... 2025 Hz for space; 2225 Hz lor mark.

Transmit Channel Frequencies .. Switch selectable: Low (normal) = 1070 space. 1270 mark;

High = 2025 space. 2225 mark.

Receive Sensitivity -46 dbm acoustically coupled.

Transmit Level -15 dbm nominal. Adjustable from -6 dbm to -20 dbm.

Receive Frequency Tolerance ... Frequency reference automatically adjusts to allow for operation

between 1800 Hz and 2400 Hz.

Digital Data Interface EIA RS-232C or 20 mA current loop (receiver is optoisolated and non-polar).

Indicators Red LED indicates power without carrier. Amber LED lights and red LED goes

out upon aquisition of carrier. Data received causes both LEDs to flicker.

Power Requirements 120 VAC, single phase, 10 Watts.

Physical All components mount on a single 5" by 9" printed circuit board.

All components included.

Requires a VOM, Audio Oscillator,

Frequency Counter and/or Oscilloscope to align.

^m&RcnrcRPRiscs

P.O. Box 61011, Sunnyvale, California 94088 /

PIA Initialization routines. Now I can execute the commands and some simple programs, but the IF. . .THEN and FOR . . .NEXT statements, along with most of the functions, don't work.

If anyone has successfully modified SwTPC 8 K BASIC for a IVlotorola Evaluation Kit I would appreciate hearing from him or her.

Paul E Pennington

1503 Park Av

El Dorado KS 67042

The "should" evaluation was made based on the design of the SwTPC computer system, which has a fairly straightforward adaptation of the Motorola design information. However, as we have found from assembly of an MEK6800DI, the ROM which comes with that system is for "IBUG," a new monitor which differs from MIKBUG in several key areas.

SR-52 INFORMATION SOURCE

The BYTE readership may be interested to know that there is now an SR-52 Troubleslwoting Guide available for $12 plus local ta.x plus $1 shipping from Texas Instruments, POB S3, Lubbock TX 79408.

The artificial intelligence and robotics articles in the past couple of issues were great!

David B Lamkins

DBL Electronics

502-12 Sherman St

Canton MA 02021

ATTENTION AUTHORS: PRESCRIPTION NEEDED

Please get some of your contributors to write a few articles on troubleshooting a nonfunctioning microcomputer. These articles should be pitched to the level of the poor fellow with limited electronic troubleshooting experience who bravely assembled a microcomputer kit only to have it quit working on him. Don't let them say check to see if the assembly was done correctly. The kit documentation already says that. Have them start with the assumption that the assembly has been checked or that the computer was operating and then failed.

Some sample questions that the articles should answer:

• What instruments are necessary and what additional ones are nice to have?

• How docs one use the schematics to determine what signals and voltages will be found at various points in the circuits?

• How can one narrow the malfunction down to a particular part of the computer?

• Does one need a stock of replacement parts to use in substitution tests and, if so, how does one determine which ones?

Circle 260 on inquiry card.

178

• Is there a burn in time during which one should expect a fairly high incidence of part failure? If so, can one expect the kit manufacturer to replace the parts that failed?

• Where can one go for assistance and advice other than computer club members and the local computer store? Are there any books on the subject?

Buren R Shields

900 Idlewilde Ln SE

Albuquerque NM 87108

A BIT OF A PUZZLE

Does anyone h.ippen to know how it came to be that a "biUion" means 1 0^ to Americans and 10'2 to the British, or why Americans and Europeans use "." and "," in opposite fashion when writing numbers?

Jan Kok

126 S Lincoln Av

LovelandCO 80537

INTELLECTUAL AWE

On an intellectual level I am in awe of the creator of the mess pictured on your April 1977 issue. However, if I want to look at junk, I have my own workshop as a source of enjoyment.

Your covers could be a lot better.

IVlark H Spohr MD

POB 439

TahoeCity CA 95730

PS: I really enjoy the content of your magazine.

But lint everyone has your wide experience, and alter all, it was the April cover, was it not?

IVIORE ON QUOTE KLUDGES

David Chapman's complaint (May 1977 BYTE) about the ugly circumlocution (Is it a kludge if your language processor makes you do it?) required to print a quotation mark is certainly valid. There arc, however, better solutions than his suggestion of allowing either single or double quotes as delimiters.

Slightly better is the two for one idea of PL/1. This allows both single (') and double ("") quotes in the same string.

Better yet is the technique used to solve a similar problem in some text editors (see Software Tools by Kernighan and Plauger, Addison-Wesley Publishing, Reading MA 01867, 1976). A single character (for example %) is used as an escape throughout the system. Whenever this character occurs, the character immediately lollowing it loses any special meaning. "Therefore, a string can include ',%",%% and even % (carriagereturn)." With some cooperation from the keyboard input routines "% (deletefine)" and "% (delete-previous-character)" may be used as data.

This solves many problems which

occur when a program produces as its output another program which produces. . .

Moral; People who write software should provide simple yet powerful tools for people who write programs.

Corollary; People who write programs should provide simple yet powerful tools for people who use programs.

Dale Wilson

231 Couch Av

St Louis MO 63122

Ah, but your solution assumes control over the systems software; David's article concerned ways around shortsighted but already implemented systems software which he had access to.

ATTENTION AUTHORS; 2311 DRIVE DATA NEEDED

There have been many articles written about attaching floppy disks to microprocessors and the advantages to be gained from having direct access storage on a microsystem. However from the user's standpoint, floppy disks have possibly two disadvantages: the high cost compared to the cost of the microcomputer, and a relatively small storage capacity.

In the used computer equipment market there are a large quantity of IBM 2311 equivalent disk drives available at bargain prices. These units could offer as much as seven million bytes of direct access storage per spindle depending upon the sectoring approach used. Has anyone investigated the problem of interfacing such a unit to a microprocessor? Perhaps someone has already built such an interface unit.

Any articles on this subject would be greatly appreciated.

Fred W Newton

Manager Data Processing

The Fenton Art Glass Company

Williamstown WV 26187

77;e 2311 drive lias been around for some time due to the widespread use of the IBM System 360 and its cousins. An earlier version with similar media, the 1311 disk drive, should also prove useful to homebrewers.

ARTICLES WANTED

Would appreciate article on use of small computer (Altair 8800b) for routine office tasks such as bookkeeping, payroll, taxes, and also on engineering calculations (lighting, heat loss, heat

BEEHIVE

- ©^(Q](a

Ouafifv Ccypuie' Syste-ns

features

• Cursor Control

• Erase Mode

• Addressable Cursor

• Switch Selectable Transmission Rates: 75 to 19.200 bps

• Communication Mode: HDXIFDX/BLOCK

• RS232C and a Current Loop Interface

• Non-Glare Screen

Low Cost/ Expanded Features

Beehive's B100 terminal is a self-contained, operator/computer accessible, remote video display terminal. Beehive's B100 has switch selectable transmission rates Irom 75 to 19,200 bps and features cursor control. RS232C or current loop interface, addressable cursor, and erase mode. Expansion options, such as formatting, editing, blink, block send, 16 function keys, and hard copy capability with printer interface are available.

Beehive's B100 terminal employs a 12-inch monitor which is formatted lo display 24 lines with 80 characters on each line. Upper and lower case characters are optional. The terminal has a total page memory of 1920 characters.

BEEHIVE INTERNATIONAL

USA: -1910 Anieia Earharl Drive • Bo> 25568 • Sail Ulkc Cily UUih 8-4125 • Piione {801| 355-6000 • TWX 010-925-5271 EUROPE: Schiphol Airpoil • Buitdirifl 70 Schipbol East • Amslerdani, The Netherlands • Phone 020-151522 • telex 15284

179

Circle 261 on inquiry card.

Circle 262 on inquiry card.

The @

fabulous Phi-Deck family of 5 cassette transports

UnOOr^lUU in quantities of 10

Featuring:

• Die-cast frames

• Remote controllable

• Precise, fast head engage/disengage

• Quick braking

• Search FF/rewind 120 ips ■ Speed ranges from

.4 to 20 ips

Electronic packages and mag heads for most applications For application in:

1. Micro processing

2. Data recording/logging/storage

3. Programming

4. Instrumentation

5. Industrial Control

6. RS-232 Data storage

7. Security/automatic warning systems

8. Test applications

9. Audio visual/education

10. Telephone interconnect

11. Hi-Fi

12. Point of sale

ffl'I^pleI Incorporated b 4605 N. Stiles P.O. Box 18209 Oklahoma City, Oklahoma 73118 (405) 521-9000

n I am interested in application no

□ Have Representative call □ Send application notes

Name Title

Company Name

Address

City

I Phone Number

. State .

Zip.

"We may have the surplus

electronics

you need!"

Terminal/keyboard With Schematics S250.00

• CRT Terminals

• Assemblies

Tape Drives $800.00

• Peripherals

• Components

keyboards 540.00 to S60.00 (ASCII Encoded)

Equipment Cabinets 845.00 to 360.00 (19" With Fan)

Send for a free catalog or call Bill Blaney. toll free 800 258-1036

in NH 603-885-3705

UM Come to our showroom

wurLqwiqe ELECTFuncsjrc.

10 Flagstone Drive, Hudson, New Hampshire 03051

gain, etc), and especially annual hour-byhour energy calculations using weather data as input to optimize heating and air conditioning design of buildings. Thanks.

Fred McDavid

ONE POINT DOES NOT A TREND MAKE

I strongly object to your filling issues with articles of a comic or trivial nature. A certain amount of levity is acceptable, but when serious information is ultimately excluded, you cease to be a significant journal and degenerate to tlie status of trade rag.

Take, for example, your April issue. I immediately object to "Chu Dynasty," "Plexitus," "Arcturus," and "Private Affair." Proceeding to the rest, I see only three articles of interest: "1200 bps Tape," "Baudot," "8008." It may appear that hardware preoccupies my thoughts, and to a degree it does, since your magazine is one of the few sources of beer budget hardware information; of course, good software is not restricled by capital, so anyone can profit from the journals in that regard.

Trevor Hanson

H & D Enterprises

101 Decatur Av

Guilford CT 06437

PIED IN THE SKY?

I have a better origin for the name of the robot in your June 1977 issue "Newt; A Mobile, Cognitive Robot" (by Ralph Hollis, page 30). The lines go:

And I chiefly use my charm On creatures that do people harm. The mole and toad and newt and viper; And people call me the Pied Piper.

The author is Robert Eirowning.

You are the Pied Piper and you do harm by bringing "pied in the sky" articles such as this. I would be happy if I could get a robot to move, much less recognize patterns and play with blocks. As editor of BYTE I would say that your decision to run this article is equivalent to piping Home Computer Town free of hobbyists. Slow-SynTM bifilar stepping motors indeed!

Mike Rivers

78 Leyfred Ter

Springfield MA 01108

Pied Piper, indeed? What better real world application than mechanisms that move and interact with the environment?

RALPH HOLLIS = TOM PAXTON?

Ralph Hollis obviously had as much fun writing his article, "Newt: A Mobile, Cognitive Robot," ||une 1977 BYTE, page 30| as I did reading it.

It's a comprehensive technical piece with some excellent ideas on robotic

Circle 263 on inquiry card.

180

Circle 264 on inquiry card.

design. It's also the story of a labor of love. His pictures and descriptions lend the little fellow personality. I chuckled as 1 read the article, thinking of Tom Paxton's song, "The Marvelous Toy."

The words of this fanciful song, written well over a decade ago, seem to describe Newt. Here is the song; perhaps you'll agree:

When I was just a wee little lad

Full of health and joy, My father homeward came one night

And gave to me a toy. A wonder to behold it was

With many colors bright. And the moment I laid eyes on it

It became my heart's delight.

The first time that I picked it up

I had a big surprize, For right on its bottom were two big buttons

That looked like big green eyes. I first pushed one—then the other

Then I twisted its lid, And when I sat It down again

Here is what it did. . .

It went zip when it moved. Bop when it stopped, Whirrrr when it stood still. I never knew just what it was And I guess I never will.

It first marched left, then marched right

Then marched under a chair. And when I looked where it had gone

It wasn't even there. I started to cry and my daddy laughed

For he knew that I would find, When I turned around, my marvelous toy

Achuggin' from behind.

Now the years have gone by, too quickly it seems,

I have my o wn little boy. And yesterday I gave to him

My marvelous little toy. His eyes nearly popped right out of his head.

He gave a squeal of glee. Neither one of us knows just what it is,

But he loves it just like me.

It still goes zip when it moves, Bop when it stops, Whirrrr when it stands still, I never knew just what it was, And I guess I never will.

Is Ralph Hollis a pseudonym for Tom Paxton, or is Tom Paxton a pseudonym for Ralph Hollis?

J Tom Badgett 1917 Washington St Bluefield WV 24701

"The Marvelous Toy" by Tom Paxton. ©Copyright 1961, Cherry Lane Music Company. Used with permission. All rights reserved. (For interested readers, this song is available on an Elektra recording. The Complete Tom Paxton, 7E-2003.)

MONITOR?

I recently received my first issue of

BUILD YOUR OWN VIDEO TERMINAL FOR $85 "plus"

Mwrrx-iiroNNf TOR

Serial ASCII or BAUDOT

Full X-Y Cursor control

128 Characters, including upper and lower case

16 lines X M characters

SIOO Compatability

Operates on 7VDC unregulated, 6.3 VAC (§ 0.75 A

The SCT-IOO Single Card Terminal interfaces directly to any computer or modem having serial ASCII or BAUDOT capability, It requires only the addition of a standard ASCII keyboard, and a TV monitor. It is available as a partial kit for $85.00 including the PC board, character generator ROM, and the 3870 microcomputer. The complete SCT-IOO kit is $155.00 ($185.00 prewired & tested). To order, call or write today. MC, BAC Accepted.

VECTRON P.O.Box #20887, Dallas, Texas, 75220 Phone (21*) 350-5291

MSSOO

HARDWARE/SOFTWARE

• REAL TIME OPERATING SYSTEM

RT/68* is mask-programmed on a 6830 ROM that replaces the Mikbug* ROM in your SWTPC 6800, Motorola D1 or D2 Evaluation Kit, etc. It is a powerful real time, multiprogramming operating system with many versatile system functions. RT/68' can support up to 16 concurrent programs at 8 priority levels.

MICROWARE has improved the Mikbug* functions, added four more (Dump, Exec, Sys, Bkpt) and made tape load and punch program-usable. RT/68-'' is software and hardware compatible with Mikbug* and supports ACIA or PIA type interfaces. The comprehensive manual mcludes a complete source listing. RT/68MX 55.00

• ANALOG INTERFACE SUBSYSTEM

Consists of a PIA connected to a high speed, high accuracy 8 bit digital-to-analog converter. Also included is a buffer and precision comparator to implement an analog-to-digital converter using one of several software techniques listed in the manual. Applications include sensor input/output, audio synthesis, vector graphic displays, etc. Circuit board is plugcompatible with the SWTPC 6800 I/O buss.

AS1-K (COMPLETE KIT) 87.50

AS1 (ASSEMBLED and TESTED) 115.00

• SERIAL I/O INTERFACE

An RS-232 type serial interface card with full modem control capabilities (RTS, CTS, DCD). May also be used for interface with audio cassette systems. Plug compatible with SWTPC 6800 I/O buss.

SC1-K (COMPLETE KIT) 30.00

SCI (ASSEMBLED and TESTED) 40.00

THE MICROV^^RE CORPORATION

RO. BOX 954 DesMoines,Iowa 50304

Write or use reader service card for free brochure. Phone Orders (515) 279-9856 U.S. Orders Postpaid.

BankAmericard and Mastercharge give all info on card. Mikbug' is a trademark of Motorola, Inc.

181

Circle 265 on inquiry card.

Circle 266 on inquiry card.

S-100

COMPATIBLE

BOARDS

Z-80 CPU $35.00

2708/16 EPROM $25.00

PROTOBOARD $25.00

Bk STATIC $25.00

16/64 DYNAMIC

RAM $35.00

PLEASE ADD $2.00 SHIPPING PER ORDER.

l3 Ma Q«i

(607) 273-3271

PO BOX 91

ITHACA, N.Y. 14850

WE'D LIKE TO MEET YOU AT PC 77. BOOTH 206,

SAVE 5% To 15% On The World's Finest Hardware & Software. Call (315) 637-6208 NOW.

List Price

IMSAI 808 Kit with 22 slots $751

IMSAI 4K 500ns RAM Kit $139 Nortli Star Micro-Disco

System Kit $699

Gromemco Bytesaver Kit $195

Vector Graphic 8K 500ns RAM

(Assembled) S265

Edge Connectors & Guides for IMSAI

(In lots of 10-eacfn) $ 7

Our own Extender Board

w/connector $ 30

Our

Price

$645 $117

$599 $185

$225

$ 4

$ 15

Shipping charges; $10 per CPU or larger units: $1.50 per kil. $2.00 minimum per order.

Provided stock is available, we will ship immediately for payment by cashiers check, money order oi charge cards. Allow 3 weeks lor personal checks to clear.

NY, State residents add appropriate sales tax. Prices may change without notice,

computer emetpn/cf

TM

P,0. Box 71 • Fayetteville, New York 13066

BYTE. Congratulations! This is one of the finest computer hobbyist oriented magazines I have read to date.

1 will come right to the point of this letter. I am looking for a TV monitor that has a 9 inch diagonal screen, perhaps in kit form. I would also be interested in just the CRT and associated electronics so I could design my own terminal cabinet.

All of the monitors (assembled) that I have seen have been over $100. My question is; why buy a $125 monitor and watch nothing but your computer readout, when you could buy a 9 inch TV and get the networks also?

Is there anything that BYTE is aware of that might fill my needs?

Rick Downs

205 Shelton Beach Rd

Apt 53

Saraland AL 36571

Look on page 144 of The Best of BYTE Volume I (see the BITS advertisement in tills Issue) tor a reprint ol' Kennetii Barbier's article "The Ignorance is Bliss Television Drive Circuit. "

A LETTER OF THANKS

TO RALPH BURHANS AND

ASSOCIATES

Many thanks for the series on Omega navigation. I have been experimenting with analog Omega devices for years; now, thanks to your series, I have embarked on a digital version.

I have coded the phase lock loop program for the 6800 already. Currently I am developing a simulator to drive it for lest and evaluation. Let's have iTiore on digital radio receivers and coherent CW.

Roy Murphy

System Development Corporation

REM 500

Macara CA 94086

APL CHARACTER GENERATION INTEREST

In reading February 1977 BYTE, I noticed a letter of interest dealing with character ROMs for APL. At the end of the letter, you said something about creating a demand. I'd like to say that I would be willing to purchase two or three such generators, but not five.

Thomas Curley

POB 69

Morrisville NY 13408

A note of interest regarding visual representations: systems with redefinabie prugrammable memory buffer areas for character generation will prove quite useful to APL hackers. Two examples are currently on the market: the Noval computer first seen in BYTE in the June 7977 issue, and the BCD IVIIcromind computer which has been advertised since January of this year. With such redefinabie graphics sets, there

Circle 267 on inquiry card.

182

is no need to have a ROM at all; one simply creates a table in software with the needed definitions, and changes the definitions "on the fly" If the total number of symbols exceeds the redefinable character generation buffer memory capacity.

ATTENTION AUTHORS:

16 BIT PROCESSOR INFORMATION

NEEDED

I have every issue of BYTE and I feel that it's the best magazine going in the field. I'm presently stationed in Korea, and I repair computers for the Army. 1 have a delay of a month in receiving my issues, since I have the family send them to me from home. This keeps them from disappearing before I get them, and it gives them an excuse to write. But, to the point.

I find that there is a definite lack of information in the 16 bit processor area. Although there has been a 16 bit chip or two described, the information is very general and, with the exception of the PACE chip, they are hard to find. I prefer to use the PACE chip and associated family of circuits, but any 16 bit chip will suffice.

Examples of information for those wanting a 16 bit system might be:

1. Are there any kits using the 15 bit chips available? [Yes: A system with the Texas Instruments 9900 has been seen in two forms to date. I

2. Since the majority of the peripherals are set up for use with 8 bit processors, can they easily be interfaced with the 16 bit ones? (A logical approach would be to divide the 16 bit word into two 8 bit words, putting the upper half to the device first, then the lower.) jYes: by emulating the 8 bit bus, as you suggest. /

3. With all the readily available memory for 8 bit processors, can they be used? (Again, with each board using half a 16 bit word?)

4. What software is available? [It varies. /

5. More articles on 16 bit systems are needed, especially those pertaining to the problems of constructing a system.

SP/S Bernard ) Steeves

047-46-6241

169th Sig Co

APOSF 96218

RCA 1802 BASIC WANTED

I am running a homebrew CDP 1802 for which I have not seen an edition of BASIC. If there is such an edition, please let me know.

David Pansier

710 Ward St

Graham NC 27253"

Circle 251 on inquiry card.

Ample Juice

Constant voltage power supplies by Parasitic Engineering.

Give your Altair, IMSAI or custom system the power it needs to keep your programs up and running through brownouts and power fluctuations. The famous Parasitic Enginering Constant Voltage Power Supplies deliver full output with line voltages as

1210 10th St., Bcrkclcv, CA 94710

low as 90 volts or as high as 140 volts. 12-amp kit designed for Altair 8800(A),"$90 postpaid. Universal 20-amp kit, $200 postpaid. (Cal. res. add tax). (^

Thinker Toys

See it at your local computer shop. Or place BAC/MC orders to 800-648-5311.

Air::::^AjTELCPHONE

^'^W VWriHBVTE!

6800 AUTOMATIC PROGRAM

Have your 6800 system only 5 external compon length phone numbers < bytes of memory Includes: Paper tape in ject code • Circuit d • Instructions for adapti

TELEPHONE DIALER $9.95 postpaid

dial your phone • Uses ents • Stores 650 variable 1 Operates in less than IK

Mikbug* format and obagram and instructions ng to other 6800 systems

6800 TELEPHONE ANSWERING DEVICE PROGRAM $4.95 postpaid

Have your 6800 system answer your phone and record messages automatically. Compatible with any 6800 system.

Includes: Assembly listing and object code • Circuit diagram and instructions

Write to: SOFTWARE EXCHANGE 2681 PETERBORO W. BLOOMFIELD, MICH. 48033

Mikbug" is a registered trademark of Motorola Inc.

183

Circle 268 on inquiry card.

Circle 269 on inquiry card.

S-100 BUS

t

CSR 1

SYNTHESIS-BY-RULE

SOFTWARE

SPEAK"KAAMPYUTAOLKER"

MODEL CT-1 SYNTHESIZER CSR1 SOFTWARE SYSTEM DEMONSTRATION CASSETTE

395.00

35.00

2.95

CALIF RESIDENTS ADD 6°= SALES TAX

WRITE FOR INFORMATIVE LITERATURE

COMPUTALKER CONSULTANTS

BOX 1951, DEPT. B, SANTA MONICA, CA 90406

P.O.

21 START-AT-HOME COMPUTER BUSINESSES

in the shoestring, start-at-home

computer business handboolc

CONSULTING •PROGRAMMING •SOFTWARE PACKAGES •COM FREELANCE WRITING • SEM INARS • TAPE/DISC CLEANING FIELD SERV I CE • SYSTEMS H OU S E S • L E AS I NGKU PP L I E S PUBLI SH ING^ TIME BROKE RS • HA RDWARE DISTRIBUTORS SALES AGENCI ES • HEADHUNT ING • TEMPORARY SERVICES USED COMPUTERS • F I NDER'S FEES^SCRAP COMPONENTS COMPUTER PRODUCTS AND SERVICES FOR THE HOME

T!

E ■>^

a-,'-> r-.':,. :

5

Anr

A'. H'T.M.

cyfTi

put.'i ;

bys

n<:^.

h^f<

I.bw'

Plus - - hundreds of ideas on moonlighting, going full-time, image building, revenue building. bidding, contracts, marketing, professionalism, and much more. No career planning too! like it ever published. Order now and if you're not completely satisfied, send It back within 30 days for a full and Immediate refund.

H X 11 ringbound 9 113 pp.

* $ 12. 00

DnTRSERRCH

730 WAUKEGAN ROAD • SUITE 108 DEERFIELD, ILLINOIS 60015

Rush copies of "The Shoestring Start-At- Home

Computer Business Handbook to me right away

NAME/COMPANY ^_

ADDRESS

CITY/STATE/ZIP

□ check ENCLOSEDQBANKAMERICARDQMASTERCHARGE

Continued from page 61

to you. The formulas below will implement their respective functions.

By using the TAN and SQR functions, the sine, cosine, secant and cosecant may be found. The formulas are as follows, with x in radians.

SIN(x) = TAN(x)/SQR(1 + (TAN(x)*'2)> COS(x) = 1/SQR(1 + (TAN(x)**2)) SEC(x) = SQR(l+(TAN(x)**2)) CSC(x) = SQR(1+(TAI\l(x)**2))/TAN(x)

Note: could cause a division error when X approaches 0.

From the ATN and SQR function, the Arc-sine and Arc-cosine may be calculated.

ASIM(x) = ATN(x/SQR(1-x*xl) ACS(x) = ATN(SQR(1-x*x)/x)

For values of x < = 0, normalize by adding

27T to X.

For still other formulas, try looking in any engineering and math handbook. TAN and SQR can often be found in such books expressed as series approximations which can be expressed even in limited 16 bit integer BASICs. ■

On Finite State Machines and Their Uses

Gerald Owens POB 9038 Tucson AZ 85720

The two articles by M Wimble in the IVlay and June 1977 BYTEs entitled "Artificial Intelligence, An Evolutionary Idea" provided much food for thought for me, as well as many others I'm sui'e. If I had a personal computer, I'd try a crack at the earthquake prediction model.

However so much that I hate to dampen anyone's spirits, I must point out a basic limitation to what the system that Wimble outlines has. The implementation is based on what is called a deterministic finite state automation. It's finite, since there are only so many states, and it's deterministic, since when one goes from one state to the next there is no ambiguity or uncertainty as to which state to go to next. Certain properties can be proved about what a finite state automation can do and what it can't do.

First, what it can do. Recurrent patterns are its forte. Given a recurrent pattern, the

Circle 270 on inquiry card.

184

method Wimble outlines will construct a finite state automaton that will predict what will happen next.

Now, what it can't do. The deterministic finite state automaton cannot recognize, or act upon, all computer languages. You cannot use the method to teach your computer BASIC and expect it to digest your Star Trek program. The language level is of a higher sort than what a finite state

automaton can recognize. You should have somebody write up an article on the four levels of grammar, as outlined by Noam Chomsky, and the machines used to recognize sentences in those grammars. I may suggest that there are more fruitful lines of endeavor (like perpetual motion machines or faster than light travel) than teaching a deterministic finite state machine a language."

Comments on Floating Point Representation

Sheldon Linker's article on "What's in a Floating Point Package?" [page 62, May 1977 BYTE] needs a refinement that might make a difference.

He states that the base of the exponent controls the dynamic range of the arithmetic. What he did not state is that the base also effectively controls the precision. The bigger the base, the greater the dynamic range and the poorer the precision. And this has nothing to do with stealing bits from the mantissa. Choosing the base is not an arbitrary matter of picking a hefty dynamic range.

The problem is illustrated when you attempt to add a single lowest order bit to a mantissa that has all the bits turned on. You can either up the exponent by 1 and renormalize (which is the procedure I read into Linker's article) or you can just not perform the addition. If the exponent is based on 2, then increasing the exponent causes a change in magnitude equal to the change that would be found if a bit were added to any other number. If the base is 16, the change is much greater. The net result is that the precision is much closer to six digits rather than seven.

Another way to look at it is to acknowledge first that all integer arithmetic takes place in finite steps; there are gaps between the numbers. Next, observe that the machine doesn't, through processes unknown, convert over to a continuous number machine when floating point is implemented. With floating point we just get the option of choosing the gap size as well as scaling the numbers.

The difference between base 2 and base 16 may seem trivial to the novice, and indeed must have seemed trivial to enough of the right people at IBM when they went hexadecimal. With base 2 you get seven digits throughout the dynamic range. With base 16 you seem to get seven digits most of the time, but are bound to get six now and then. In fact, with 2 and 16 as bases you get four and three digits of precision if your computations have any sophisti

cation (like multiplication and summing) at all. The exact results, of course, depend on the numbers involved, but if you're interested in floating point and want precision, then base 2 cannot be beat. But remember that if you go double precision, then the range will probably be extended and you will have to extend the exponent field.

As an historical note, I heard somewhere that IBM put the exponent up front just to be different from Burroughs or Univac who had the exponent on the right*

R A Baker 2227 N Belmont Richmond TX 77469

get your

hands ^^ on... a *

Hands on TC|l . ^ .

microprocessor S '^

short course with ' /

FREE take home

microcomputer included

in the $499 tuition. (New interfacing

workshop $299.)*

Sept 14, 15, IB Dallas, TX

Sept 19, 20, 21, (22, 23)* Houston, TX

Sept 26, 27, 28, (29, 30)* Washington, DC

Oct 11, 12, 13 Melbourne, FL

Oct 18, 19, 20 Denver, CO

Oct 26, 27, 28 Palo Alto, CA i

Oct 31, Nov 1, 2, (3, 4)* San Diego, CA I

Nov 14, 15, 16, (17, 18)* Indianapolis, IN I

Nov 28, 29, 30, (Dec 1, 2)* Boston, MA I

Dec 6, 7, 8 Detroit, Ml

Dec 12, 13, 14, (15, 16)* Chicago, IL

Jan 3, 4, 5 Mayaguez, Puerto Rico

(Special course for management)

Learn microprocessors first hand from the original hands on people.

For more information call Jerilyn Williams, (317) 742-6802 or write Wintek Corp., 902 North 9th Street, Lafayette, IN 47904

I ■ ^^^^ Hardware/Software WIMTEK ■ Custom Hardware/Software In-house short courses

185

Circle 271 on inquiry card.

Circle 272 on inquiry card.

IBM SELECTRIC

TYPEWRITER

INPUT OUTPUT

CONVERSION KIT

Easy to install on any IBM Selectric I and II, providing quality hard copy output for all microprocessor devices.

PRICE .... $395

eOlTYPER S/STEMS CORPORATION

A SUBSIDIARY OF TYCOM CORPORATION

26 Jusi Road, Fairfield, New Jersey 07006 (2011227^4141

irHr Boards DO Something

(ems, inc. **

nb''' >

'""1

f rC't I s t i 1 e I II i t

CL2400

Real Time Clock

$98—Kit

$135—Assembleij

If your system needs to know what time it is, our CL2400 is ttie board for you. The present time in hours, minutes, and seconds is always available for input, and is continuously updated by the highly accurate 60 Hz power line frequency. Need periodic interrupts? The CL2400 can do that, too, at any of 6 rates. Reference manual with BASIC and assembly language software examples included.

PC3200

Power Control System

PC3232 $299—Kit PC3216 $189—Kit PC3202 $39.50—Kit

$360—Assm,

$240—Assm.

$52—Assm.

If your system needs on/off control of lights, motors, appliances, etc., our PC32ao System components are for you. Control boards allow one I/O port to control 32 (PC3232) or 16 (PC3216) external Power Control Units, such as the PC3202 which controls 120 VAC loads to 400 Watts, Optically isolated, low voltage, current-limited control lines are standard in this growing product line.

nanaria.

systems. Inc.

(formerly comptek)

P.O. Box 516

La Canada, CA 91011

(213) 790-7957

Newsletters

Conducted by Peter Travisano

Space Coast Microcomputer Club

The second edition of the Space Coast Microcomputer Club Newsletter is out, with an interesting feature by Paul Rainosek, a tabulated comparison of some of the different microprocessor chips available. The various advantages and disadvantages are clearly listed. The comparison includes Intel 8080, Motorola M6800, MOS Technology 6502, Fairchild F8, Signetics 2650, and Cosmac 1801. To find out more about the Space Coast Microcomputer Club contact Ray Lockwood, 1825 Canal Ct, Merritt Island FL 32952.

West Virginia Computer Society

We hadn't heard anything from the West Virginia Computer Society in quite some time. Their newsletter Oscillations came in a few days ago to inform us that they are alive and very well at 167 h-oquois Trail, OnaWV 25545.

Indian River Computer Society, Melbourne FL

The Indian River Computer Society meets every Thursday at 7 PM in room 621 of the Science Tower on the campus of FIT, Melbourne FL.

Membership is open to the general public.

For more information call Bill Carter at (305) 773-7837, or Frank Canova at (305) 724-4751, or write: Indian River Computer Society, FIT Electrical Engineering Dept, Country Club Rd, Melbourne FL 32901.

Montreal Area Computer Society

Over the past year the Montreal Computer Society has grown from 12 members to over 90. The club meets once a month, usually on the second Tuesday evening of the month, at Vanier College, 5160 Decarie Blvd. For further information contact John Erikson, the club president at (514) 9322344 or write: Montreal Area Computer Society, POB 613, Stock Exchange Tower, Montreal, Quebec, CANADA.

Circle 273 on inquiry card.

Indianapolis Small Systems Group

The Indianapolis Small Systems Group meets on the second Tuesday of each month at the Union Building, Medical Center, lUPUI. Recording secretary T O Whital<er has voiced a strong desire to apply small computers systems to practical business and technical applications. Among such applications is a computerized "newspaper" now under development which would allow the user to receive news over the telephone via a modem. If you have experience with this type of application or would like to find out more about the organization, contact the Indianapolis Small Systems Group at 4719 Squire Dr, Indianapolis IN 46241, or call (317) 241-7396.

IEEE Computer Society

The IEEE Computer Society is one of the most vigorous wings of the Institute of Electrical and Electronics Engineers, the world's largest professional engineering society. Computer magazine is published by the computer society; editor and publisher True Seaborn and staff produce this high quality technical magazine every month and cover the microcomputer scene in some detail.

Useful features of the magazine include a monthly column listing all of the new integrated circuits which appear each month from the various manufacturers, and the Repository, a listing of new technical papers about computers. The serious experimenter would do well to consider joining this important organization.

We received the following from Merlin Smith, president of the IEEE Computer Society:

The IEEE Computer Society is really a subset of a much larger organ ization-the Institute of Electrical and Electronics Engineers, whose antecedents reach back into the 19th century and whose history is closely connected with the evolution of electrotechnology !n the US. The IEEE, with 180,000 members worldwide, is organized geographically into regions and sections. It is organized by technical interest areas into groups and societies, the largest of which is the Computer Society, with 26,000members.

Like the IEEE, the Computer Society is mainly in the business of dissemination of technical information through conferences, tutorials, workshops, periodicals, and other publications. Its major conferences are COMECON Spring, held annually in

Circle 274 on inquiry card.

Why Wait?

The Tarbell Cassette Interface

• Plugs directly into your IMSAI or ALTAiR*

• Fastest transfer rate: 187 (standard) to 540 bytes/secdnd

• Extremely Reliable — Phase encoded (selfclocl<ing)

• 4 Extra Status Lines, 4 Extra Control Lines

• 37-page nnanual included

• Device Code Selectable by DIP-switch

• Capable of Generating Kansas City tapes also

• No modification required on audio cassette recorder

• Complete kit $120, Assembled $175, Manual $4

TARBELL ELECTRONICS

20620 S. Leapwood Ave., Suite P, Carson, Ca. 90746

(213) 538-4251

California residents please add 6% sales tax

*ALTAIR is a trademark/tradename of MITS, INC.

CONTROL the WORLD 3--, OUTSIDE YOUR fiii COMPUTER...

i

la I

Mill

J

The OPTOISOLATOR/RELAY BOARD ($117) is

a natural for controlling audio systems, model trains, robot devices .. . more uses are discovered daily, as described in our applications notes. 8 reed relays respond to an 8 bit word from your computer; 8 opto-isolators accept an 8 bit word from the outside world and send it bacl< to your machine for handshaking or further control purposes.

All kits are S-100 buss Altair/IMSAI compatible. Available by mail (shipped postpaid in the USA from stock) or at many fine computer stores. California mail orders add tax.

...OR THE WORLD \ INSIDE IT!

CAVE

Whether for troubleshooting or analysis. at some point you will need our EXTENDER BOARD W/ LOGIC PROBE ($35). Ours offers a built-in logic probe (hi, lo, and pulse), special edge connector that allows clip lead probing, jumper links in all supply lines, a non-skid needlepoint probe ... plus quality parts and a realistic price.

MULLEN COMPUTER RQAPDf;

BOX 6214, HAYWARD, CA 94545

187

Circle 275 on inquiry card.

Circle 276 on inquiry card.

PRICi

Coiiiains its own micro processor (or easy connection to yoijr RS232 Serial port or TTY current loop.

MP-40

Interfaces to your micro computer parallel output port for ASCII data transfer

KP-40KIT

Contains meclianism, PC board, all components, transformer and complete assembly instructions for paraitei data transfer.

'575 «425 «179

( oiif-40 series pf ? 40 columns pe

lalnx mechanism With

r line on ordmary paper with a prin! speed

SEND FOR FREE LITERATURE

Box 22101

Salt Lake City, Utah 84122

(801) 566-0201

ASSEMBLER/EDITOR

ADDITION TO SOFTWARE PACKAGE 1 SYSTEM 8080 OR Z-80

NOW YOU CAN HAVE AUTOMATIC INSERTION OF LINE NUMBERS DURING PROGRAM ENTRY AND EDITING. AN EXTENSIBLE COMMAND TABLE, REORDERING OF LINE NUMBERS. AN ASC PSEUDO OP FOR PLACING ASCII MESSAGES IN PROGRAM, A GLOBAL SYMBOL TABLE, OCTAL NUMBERS RECOGNIZED BY THE ASSEMBLER, AN EXTENSIBLE LIST OF PSEUDO OPS. AN EFFICIENT TAPE DRIVER FOR TARBELL, DAJEN, AND OTHER INTERFACES, AND MORE. DO MULTIPLE SECTION ASSEMBLIES BY BUILDING PROGRAM SOURCE CODE ON SEVERAL TAPE FILES AND READING IN FILES IN SEQUENCE. SYSTEM IS PROMMABLE WITH 6K IN HIGH MEMORY.

SOFTWARE PACKAGE 0.5

SOURCE ONLY

OBJ, CODEPAPER TAPE

$14.95 $19.95

OBJ, CODETARBELL

$24.95

IMMEDIATE DELIVERY

OBJECTIVE DESIGN, INC.

P.O. BOX 20325 TALLAHASSEE, FL 32304

(904) 224-5545 FLORIDA RESIDENTS ADD 4% STATE SALES TAX

San Francisco, COMPCON Fall, held annually in Washington DC, and COM PSA C, held annually in Chicago.

The major periodicals of the Computer Society are the scholarly Transactions on Connputers, Transactions on Software Engineering, 0/70' Computer, which appeals to a broader readership. Of specific interest to computer hobbyists and personal computing enthusiasts. Computer has recently inaugurated a new section, "Microsystems," which carries papers and articles on the whole field of small scale computing.

The Computer Society has chartered some 18 technical committees corresponding to the various technical specialties within the field of computer enginneering. Included among them is the Technical Committee on Minis and Micros, which is of special interest to the personal computing community. The Mini/Micro TC has inaugurated a series of microcomputer worlishops (see May Computer); these likewise may be of interest to your readers.

The traditional orientation of the IEEE Computer Society has been to the computer designer or the sophisticated computer user, and our membership qualifications entail fairly specific academic and/or professional requirements. However, computers are becoming increasingly "friendly to the uninitiated," and the lines separating the professional from the nonprofessional are tending to blur, at least in some areas. One way for a B YTE reader to find out whether the Computer Society has anything to offer is to picl^ up a copy of Computer at one of our conferences or tutorials, at one of our local chapter meetings, or even at the local computer store.

Another way is to write our Publications Office at 5855 Naples PIz, Long Beach CA 90803, and request a membership application.

Micro-8 Computer Club, Lompoc CA

Micro-8 is a loosely organized, nonhierarchical, extremely enthusiastic group. Originally, it was known as the Central Coast Computer Users Group but recently the name has been changed to perpetuate the memory of the pioneering, now defunct Micro-8 Newsletter. The membership includes Hal Singer, former editor of that publication.

Circle 277 on inquiry card.

188

Circle 278 on inquiry card.

Drop in sometime. Visitors are welcome. The club usually has a number of systems on display and lectures by club members are not infrequent.

You can contact Micro-8 at 2497 Lompoc-Casmalia Rd, Lompoc CA 93436, (805) 735-1023. Meetings are held on the third Wednesday of each month at the Cabrillo Computer Center, 4350 Constellation Rd, Lompoc CA, at 7:30 PM.

BAMUG: Bay Area Microprocessor Users Group

The Bay Area Microprocessor Users Group meets on the first Thursday of each month at the Hayward Regional Occupational Center, Hayward CA, at 7 PM.

Like many hobbyist clubs, BAMUG is looking for microcomputer oriented lecturers willing to share their knowledge for little or no fee. Literature from microprocessor manufacturers is especially welcome. Contact BAMUG, 1211 Santa Clara Av, Alameda CA 94501, (415) 5237396.

Amateur Computer Society of Columbus OH

ACSC meets the first Wednesday of every month at the Center of Science and Industry beginning at 7:30 PM. Dues are $5 per year and include a monthly newsletter I/O.

To get in touch with the Amateur Computer Society of Columbus, write: Fred Hatfield K8VDU, Computer Data Systems, 1372 Grandview Av, Columbus OH 43212, (614)486-3347.

New England Computer Club

New England hobbyists who haven't done so already should investigate the advantages of membership in a first class computer club, the New England Computer Society, or either of its two affiliates, the Southern New England Computer Society and the New Hampshire Computer Society. Contact Robert M Tripp, POB 3, S Chelmsford MA 01824. A newsletter. The Computerist, is available at the same address by subscription at $6 per year or 60 cents for a single copy.

Cresent City Computer Club

Cresent City is an active club, sponsoring monthly lectures, classes in BASIC, Assembly Language, and PL/M. The club also includes homebrew and calculator groups. Meetings are held at 8:00 PM at the Science Building, University of New Orleans, second floor, on the second Friday of each month. Write POB 1097, New Orleans LA 70122 or call (504) 722-6321.

■ MICROCOMPUTERS

19" RACK S-100 BUS CARD CAGE

I I I I I I I I I

RUGGED 20 SLOTS EXTRUDED CHAI\INELS

BUS TERMINATION

GROUND PLANE

SOLDER MASK

12.25"H x8"D

ECT-100 CARD-€AGE& MOTHERBOARD .... KIT $100 ECT-100-F with 20 CONNECTORS & GUIDES .. KIT $200 ECT-100-8080 CARD CAGE MICROCOMPUTER KIT $320 ECT-10Q-Z80 CARD CAGE MICROCOMPUTER . KIT $420 PS HEAVY DUTY 30A POWER SUPPLY KIT $100

10 SLOT TABLE TOP SYSTEMS

8080 or Z80 10 SLOT TABLE TOP MICROCOMPUTERS WRITE FOR SYSTEMS VARIATIONS & LOW PRICES

CPU's

8080orZ80 NEED NO FRONTPANEL 'jiJUIVIPON RESET CIRCUIT

MOTHER BOARDS 10 SLOTS, 20 SLOTS or 21 SLOTS

[PROTOTYPING BOARD .$28 8K RAM KIT $2951

EXTENDER CARD $24 16K RAM KIT $555

TEChl^QLQGV

BOX 6, UNION, NEW JERSEY 07083

P.O

(201) 686-8080

I I I I I I I I I J

DJGiTfIL IVliCHQ SVBTEinS

PRESENTS:

A 16K STATIC RAM S

FORTHE S-100 BUS

Uses Ihe new Intel 2114 4K Sialic RAM (which will also be buill by Motorola. Signetics. Fairchild, National. T.I., Synerlek, NEC, Intersil, and Fujitsu, etc.). Features complete static operation (No refresh or clocked chip select), software protect, paging, individually addressable 4K blocks, completely buffered address and data lines, fully socketed. Available with 8K or IGK of memory. Prices;8Kkit-S295; 16Kkit-S525; 8K expansion kit ■ S250 16K assembled and tested - S595

S-100 BUS TERMINATING CARD =25kit

Absorbs noise, overshoot, ringing, reflection. Plated thru holes, gold plated fingers.

EXTENDER CARD

FOR EASY TROUBLESHOOTING

M6k

With junipers in power supply lines for current measurement. Low profile so card can remain in Ihe machine with the cover on. With edge connector, gold fingers.

PLASTIC KEYBOARD ENCLOSURE

nk molded ABS plastic enclosure for use with keyboard, conlrols, modem, etc. Size 133/j X 11 V-j X 2'/3, PRICES: Blank enclosure-$20, With cutout for keyboard available from Radio Shack, etc, -527,

Prices sliown include U.S. shipping. Cashiers check or fwl.O. prefered. Personal check may delay shipping 3 weeks. Add $3 for C.O.D: Purchase Orders add 4% - net 30. Utah residents add 4.75%.

DjGITPL [^JCBG SvSTEdS BOX 1212, OREI^, UTAH 84057

Tail free 2A hour Order Dctk (800) 453-1444; In Utoh call (801) 224-2102

189

Circle 279 on inquiry card.

Walsh Functions:

A Digital Fourier Series

WAL(I)-, WAL(2) ; WflL(3)i WAL(4); WAL(5)i WAL(6)i WAL{7)-,

WAL(8h WALO); WAL(IO)i WALdDi WAL(l2)i WAL(l3)j WAL(I4) ; WAL(I5) j

WAL(O) •

SAL(I)

CAL(I)

SAL(2)

CAL(2)

SAL(3)

CAL(3)

SAL(4)

CAL(4)

SAL(5)

CAL(5)

SAL(6)

CAL(6)

SAL(7)

CAL(7)

SAL(e)

-ONE PERIOD

S~^ TTJ L

^

t

ftF

"LTL-P

■Tu un ru [±

^Ji ru Lj"L_rLj^

~Ln_rLrLnj lr^

"LT^Rji rLn_n_p

Figure 1: The Walsh Functions WAL(O) Thorugh WAL(i5). The fad that Walsh functions lend themselves la digital generation is evident in the nature of the basic wave forms. The notations SAL and CAL emphasize the resemblance of Walsh functions to the Fourier series trigonometric functions SIN and COS.

Benjamin Franklin Jacoby, PhD Information Conversion Devices Co 88 W Frankfort St Columbus OH 43206

Using a mathematical technique called Fourier analysis, it is possible to build arbitrary wave forms by adding together various "components."

While a full appreciation of the inner workings of the Fourier series requires a knowledge of advanced mathematics far beyond the capacity of many persons interested in electronics, that in no way deters them from using the concepts or even simplified portions of the math in practical applications. Even beginners are aware that wave forms can be broken into a set of harmonics and that a set of sinewaves of integer multiple frequencies can be summed to build up a complex wave form. In a like manner, Walsh function concepts can be put to work once a few fundamental ideas are mastered. A key to generating complicated sounds in computerized music and voice outputs is the ability to generate arbitrary wave forms from digital codes.

In these days of digital computers, a person familiar with Fourier concepts might ask the question: Is it possible to build up any wave form out of a sum of square waves of some type? Such a system would be ideal for use with digital logic. This question has been answered in the affirmative by the German mathematician H Rademacher, not in 1972 or 1962, but in 1922. His set of square waves, called "Rademacher functions," consists of a fundamental square wave of 50% duty cycle at some frequency

190

Fourier series are used to create wave forms as the sum of pure sine and cosine waves at selected frequencies; this leads to the obvious question: Is it possible to use a similar mechanism which builds a complex wave form out of digital wave forms with sharp edges?

GRAY CODE

D TYPE MASTER SLAVE FLIP FLOPS

CLOCK I—.,_^ INPUT I—^>~

D 0

CK OLJ

L-Td 0

D 0

CK OLJ

D 0 CK OLJ

(00001)

.5

^—iWALd) ^^—l[SAL(l))

(OOOII)

iE>rt>-^

WAL(2) (CAL(I))

,±JE>

(00010)

(01000)

-. iWALO)

""^ ICSAL(2)]

_--—|WAL(5)

"^^—h

J[SAL(3)1

_^—|WAL(7)

'SAL(4)

^—ISAL

WAL(I5) (8)

WAL(3I)

"^■^—ISAL(I6)

plus harmonics of square waves of 2,4,8,16,32 and higher powers of two times the fundamental frequency. A deficiency of this system, however, is that it is not possible to generate any arbitrary wave shape from only a simple sum of these square wave harmonics.

Also in 1922, J L Walsh presented his independently developed system to the American Mathematical Society. His system was later shown by the Polish mathematician Kaczmarz in 1929 to include the Rademacher system as a subset of the Walsh complete set of orthonormal functions, which, in plain English, says that some of the Walsh functions are square waves and that if all Walsh functions are allowed (you may not need to use them all, however) then any arbitrary periodic wave form can be built up by adding them together in a manner totally analagous to sinewave summation in Fourier series.

interest in the engineering applications of Walsh functions was sparked by an article in the IEEE Spectrum by Dr H F Harmuth of the University of Maryland in 1968 and is continuing because of the suitability of Walsh functions to generation by digital systems.

The fastest way to understand what Walsh functions are is simply to look at a picture of some wave forms. Figure 1 shows the Walsh functions WAL(O) through WAL(1 5). It is seen that WAL(O) is merely a DC level which we will usually ignore in practical applications since offsets are easily handled by other means and that WAL(1), WAL(3), WAL(7), and WAL(15) are really the square wave Rademacher functions. You will note that in addition to the WAL(n)

Figure 2: The logic of a digital circuit which generates a set of Walsh functions using a string of flip flops and some external gating. The flip flops are connected as toggles (division by 2 at each stage). The exclusive OR gates combine terms to produce the more complicated Walsh wave forms indicated.

designation, the functions are also labeled with CAL or SAL. These labels are also commonly used and are acronyms for the terms Cosine wALsh and Sine wALsh by analogy to Fourier analysis. In short all WAL (even n) are called CAL and all WAL (odd n) are called SAL. CAL and SAL are also numbered but the numbers do not correspond to the WAL designation though they are easy to figure out. Also by analogy to Fourier analysis, a Walsh spectrum is called a sequency spectrum as opposed to a Fourier frequency spectrum.

Enter Mr Gray and His Code

However, knowing what Walsh functions look like and knowing how to generate them digitally are two different things. It is clear that the generation of WAL(1), WAL(3), WAL(7), WAL(15), etc, is a snap since they are simple square waves. A string of flip flops does the job, as shown in figure 2. The generation of the remaining functions, while a little more difficult, is not impossibly complex once the mathematics is shaken down into a few simple rules:

1. To generate WAL(n), first write the number n in Gray code. Gray code is a modified binary code having only one bit changing at a time when going to the next higher or next lower number. A table of Gray code numbers is shown in table 1: and with a little

In translating a mathematical summation into a physical circuit, the operational amplifier provides the summing element and the resistors from inputs to the summing node form the coefficients of the component signals.

Walsh functions are the digital answer to sines and cosines used in Fourier analysis.

191

2

z

O

o

1

1

u

u

z

z

3

D

Li.

u.

I

CO

r

in

I

1

£2

rv

£2

T

_]

_i

J

_j

_]

_1

-J

<

U

<

<

<

<

<

<

g

Q

g

g

g

g

g

WAL(O)

0

0

0

0

0

0

WAL(I)

1

0

0

0

0

1

SAL(I)

WAL(2)

2

0

0

0

1

1

CAL(I)

WAL(3)

3

0

0

0

1

0

SAL(2)

WAL(4)

4

0

0

1

0

CAL(2)

WAL(5)

5

0

0

1

1

SAL(3)

WAL(6)

6

0

0

0

1

CAL(3)

WAL(7)

7

0

0

0

0

SAL(4)

WAL(8)

8

0

0

0

CAL(4)

WAL(9)

9

0

0

1

SAL(5)

WAL(IO)

10

0

1

1

CAL(5)

WAL(II)

11

0

1

0

SAL(6)

WAL(12)

12

0

0

1

0

CAL(6)

WAL(13)

13

0

0

1

1

SAL(7)

WAL(14)

14

0

0

0

1

CAL(7)

WAL(15)

15

0

0

0

0

SAL(8)

WAL(16)

16

0

0

0

CAL(8)

WAL(17)

17

0

0

1

SAL(9)

WAL(18)

18

0

1

1

CAL(9)

WAL(19)

19

0

1

0

SAL(IO)

WAL(20)

20

1

0

CAL(IO)

WAL(21)

21

1

1

SALdI)

WAL(22)

22

0

1

CAL(II)

WAL(23)

23

0

0

SAL{12)

WAL(24)

24

0

0

0

CAL(12)

WAL(25)

25

0

0

1

SAL(13)

WAL(26)

26

0

1

1

CAL(13)

WAL(27)

27

0

1

0

SAL(14)

WAL(28)

28

0

0

1

0

CAL(14)

WAL(29)

29

0

0

1

1

SAL(15)

WAL(30)

30

0

0

0

1

CAL(15)

WAL(31)

31

0

0

0

0

SAL(161

c

RA

Y

Table I: Gray Code Bit Patterns for the Walsh Functions WAL(O) Through WAL(3I). The corresponding SAL and CAL notation of each WAL function is shown down the right hand column of the table.

So you want to produce a sine wave? Calculate the values at 16 evenly spaced locations in the period, then use these values to calculate the Walsh coefficients using a tabulator method. Then wire in resistors of values derived from the Walsh coefficients and the output of the circuit will be a step function approximation of the desired sine wave.

CODE

study, the pattern can easily be extended to any value.

2. Starting with the least significant bit, assign a square wave Rademacher function to each bit. Assign WAL(1) to the LSB, WAL(3) to the next, WAL(7) to the next, etc.

3. Any Rademacher function whose bit is 0 is not used. Those whose bits are 1 are combined by modulo 2 addition, which is to say by exclusive OR gates to give the Walsh output of that order.

4. All Walsh functions must begin positive so that the composite Walsh output may need to be inverted depending upon how many exclusive OR gates were used to produce it.

A couple of examples are shown in figure 2 and a complete generator producing all Walsh functions from WAL(1) through WAL(15) is shown in figure 3.

It should be noted that although a Walsh function is mathematically defined as going from +1 to -1, and it is possible to obtain

positive and negative swings with CMOS logic with positive and negative supplies, in practice little is gained by going this route since all that is involved is a DC offset which is easily handled by the summing amplifier. Thus, 0-5 volt TTL logic outputs are fine.

Now that a set of Walsh functions has been generated, it only remains to add them in a summing amplifier with appropriate magnitudes and signs to simulate any wave form with a stair step approximation. The general expression of a Walsh function representation is a summation analogous to that found in Fourier analysis:

Arbitrary wave form = X(t) = Aq +

2(Ai.SAL(i) + BiCAL(i)) 1=1

where Aj and B| are weighting constants which correspond to the resistors used in the summing amplifier inputs. The size of the steps and the number present will be determined by how many harmonics are combined. The more you use, the smaller and more numerous the steps, hence the better will be your approximation to your original wave form. The determination of these combining coefficients from the wave form desired requires a bit more detailed consideration.

Wave Form Synthesis

Before proceeding any further into the theoretical aspects of Walsh applications, a review of what we are attempting to do and how we intend to do it will help get our feet on solid ground. The device we wish to build using Walsh functions could be called "a square wave to arbitrary wave form converter." It will be a circuit into which you put a square wave of some frequency and out of which comes a periodic analog signal with a frequency related to that of the input wave (perhaps some submultiple) and a wave form that can be made to take any shape desired by adjusting a set of controls, switches or internal resistors. With such a device, digital logic could be used to synthesize a frequency and the converter could then be set to produce a sinewave for use in standard applications, or given sufficient accuracy of conversion, a computer could be made to talk or even sing. Both have been done by engineers working in this area.

The converter consists of two parts: The first is the digital expander which expands the input square wave into a variety of

192

CLOCK SOURCE

J-K MASTER SLAVE FLIP FLOPS

pJL

J CK o

o

J CK 0 K

o

J CK 0 K

o

J CK 0

K

.^

.^^

3E>

,Jo:

■ SAL I

-t>^— '

■ SAL 2

-><^^<

-O—(

s

•SAL4

E>-|>--'

CAL5

=)0

•• SAL7

qi>-i>--<

Figure 3: Extending the logic of figure 2, tlv's circuit generates all the Walsh functions WAL(I) through WAL(I5) as illustrated in figure I. This circuit uses an alternate kind of flip flop, the JK master slave flip flop connected as a toggle. This circuit could be built with two 7473 ICs, three 7486 ICs and one 7404 circuit. (One of the 12 exclusive OR sections is used as an inverter.)

digital wave forms, and the second is the analog combiner which adds up these wave forms to produce the periodic analog output. The expander is, of course, the Walsh generator shown earlier and the combiner will be discussed below.

All of the Walsh outputs will be fed into the summing junction of an operational amplifier, but they will not have the same strength or sign. It is the strength and sign of each component which will determine the net analog output so that once we have chosen the analog output we desire, the relative strength and sign of each Walsh harmonic must be calculated from that desired wave form. Once these values are l<nown, a negative sign can be handled with a digital inverter and the magnitude by the choice of the resistor value into the summing junction. The net output will then be a stair step approximation to the desired output which can then be made more perfect by low pass filtering to smooth the wave shape.

Theoretically, the calculation of the coefficients from the analog wave form desired involves complex operations with the integral calculus; but it turns out that it is

possible to shortcut the high powered math by starting, not with the analog signal, but rather with the stair step approximating function itself. This function can be easily determined by eyeball or by just taking the height of each step to be the value of the analog output at the center of each time interval. Figure 4 shows two examples; a linear ramp and a sinewave with 16 step approximations. The height of each step is shown.

Before proceeding to an actual calculation we will give some time and work saving rules, which are illustrated in figure 5.

1. The waveform to be synthesized must be repetitive (as in Fourier synthesis), although it is easy to start and stop at any point by control of the digital input.

2. It is especially advantageous to use 2'^ steps in one period as this gives an automatic cutoff to the number of Walsh harmonics required

Thus: With a 4 step output no functions 8 „ 16

3. If the coefficients for a higher order

When Walsh function analysis is applied to a linear ramp, what's the result? A set of resistor values which form an ordinary DA converter operating upon the binary value in the counter used for the Walsh function generator.

beyond WAL(3) are required

WAL(7) " WAL(15) ■■ . . .etc.

193

Figure 4: By picking a series of weigliting consianls for eacii Walsh funclion term, the outputs of figure 3 can /je summed by an operational amplifier to produce arbitrary wave forrtTi. Here are examples of ilie ramp and sine wave approximations generated by the Walsh function method. The smooth curve is the desired one in each case, obtained by filtering the output of the summing amplifier.

approximation are calculated (say 16 steps), and a less accurate approximation can be used (say 8 steps) then one only need disconnect WAL(8) through WAL(15) since the lower order coefficients will have the same value in either case (or nearly so). This effect is demonstrated in the sine generator circuit.

If your wave form to be synthesized possesses certain symmetries or can be made to do so by a DC baseline shift, many Walsh component coefficients will be zero which will not

only simplify the calculations, but the circuitry as well.

4. If the wave form to be synthesized is even, which is to say that any value that the function takes to the left of center is the same as the value an equal distance to the right of center, then only CAL functions will be used and all SAL coefficients will be zero.

5. If the wave form is odd, or can be made so by a baseline shift, then only SAL functions will be used and all CAL coefficients will be zero. Here any value to the left of center equals minus the value to the right of center.

6A. If the wave form is even as in point 4 above and in addition it is even about the 1/4 point, then only CAL(k) where k is an even number will be present and all CAL(k) where k is an odd number will be zero. 6B. If the wave form is even as in point 4 above and in addition is odd about the 1/4 point, then only CAL(k) where k is an odd number will be present and all CAL(k) with k an even number will be zero. 7A. If the wave form is odd as in point 5 above and in addition is even about the 1/4 point, then only SAL(k) where k is an odd number will be present and all SAL(k) where k is an even number will be zero. 7B. If the wave form is odd as in point 5, and in addition is odd about the 1/4 point, then only SAL(k) with k an even number will be present and all SAL(k) where k is an odd number will be zero. In the calculations that follow it will also be observed that if a wave form is even or odd, the signed sums of the step values need only be calculated for the first half of the wave form since that value will be exactly half the sum of all steps. This is probably best understood by examining some practical examples.

Two Examples

The first example will be the linear ramp. This function can be made odd by adjusting the baseline, so by rule 5 it is seen that only SAL coefficients need be calculated and no CAL functions need be generated.

The best way to get your mind right in calculating coefficients is to make a table as shown in table 2. The value desired for each step comprising the output function is written in order along the top of the table. Since we are attempting to produce a linear ramp, our output will be a rising staircase with a fixed increase with each step (we used two

194

V

EVEN FUNCTION, SYMMETRIC ABOUT CENTER OF ONE PERIOD

B.

ODD FUNCTION , ANTISYMMETRIC ABOUT CENTER OF ONE PERIOD

^'

u.,

u

-ONE PERIOD

o

ONLY CAL (K) TERMS ARE NON ZERO

OONLY ! ARE N

SAL(K) TERMS ON ZERO

c.

■EVEN FUNCTION,SYMMETRIC ABOUT CENTER OF HALF PERIOD

r—EVEN FUNCTION,SYMMETRIC \ ABOUT CENTER OF ONE PERIOD

■ ODD FUNCTION , ANTISYMMETRIC ABOUT CENTER OF HALF PERIOD

EVEN FUNCTION, SYMMETRIC ABOUT CENTER OF ONE PERIOD

o

ONLY CAL(K) TERMS FOR EVEN K ARE NON ZERO

-ONE PE

ERIOD ^

o

ONLY CAL(K) TERMS FOR ODD K ARE NON ZERO

EVEN FUNCTION,SYMMETRIC ABOUT CENTER OF HALF PERIOD

F.

- ODD FUNCTION . ANTISYMMETRIC ABOUT CENTER OF HALF PERIOD

V

ODD FUNCTION, ANTISYMMETRIC ABOUT CENTER OF ONE PERIOD

V

ODD FUNCTION ANTISYMMETRIC ABOUT CENTER OF ONE PERIOD

L

o

ONLY SAL(K) TERMS FOR K ODD ARE NON ZERO

-ONE PERIOD

IJ

D

ONLY SAL(K) TERMS

FOR K EVEN ARE NON ZERO

units per step). This staircase will eventually be filtered to remove the jogs and give a linear ramp.

The body of the table shows the sign (positive or negative) each particular Walsh function takes in each of the 16 time intervals into which one period of the output wave form has been divided. As indicated earlier, we need not go past WAL(15) in this case. The Walsh sign values can be taken from the wave forms of figure 1 or from table 3 which is good for up to 32 segment approximations.

The numbers to the far right are the sums of the upper values when all signs are taken into account. Thus, for WAL(l) we see that it is positive in the first half period, but the step values are negative, so we gel:

(-15) + (-13) + (-11) + (-9) + (-7) + (-5) + (-3) + (-1) = -64 and in the second half period where WAL(1) is negative and the values positive we get:

-(+1) - (+3) - (+5) - (+7) - (+9) (+11) - (+13) - (+15) = -64 or a total of — 128. This number gives the relative strength of WAL(1) in the output summa

-ONE PERIODSIGN OF WALSH FUNCTIONS P = positive N = negative

Normalized Ratio

SAL(I) = -1 =-1 SAL(2) = -0.5 = -1/2 SAL(4) = -0.25 = -1/4 SAL(8) = -0.125 = -1/8

Figure 5: The propeiiies of even and odd functions give constraints on the weighting constunls needed for a given wave form. Here are illustrations of six different special cases of symmetry which give zero terms in the Walsh function sum.

Desired

ONE PERIOC

*

Function

in

ro

^

1

^

n

Signed

Values

T

r"

1

1

1

in

1

1

1

+

+

in

+

+

Gl

+

+

+

+

Sum

SALd)

p

P

P

P

P

P

P

P

N

N

N

N

N

N

N

N

-128

SAL(2)

p

P

P

P

N

N

N

N

P

P

P

P

N

N

N

N

- 64

SAL(3)

p

p

N

N

N

N

P

P

N

N

P

P

P

P

N

N

0

SAL(4)

p

P

N

N

P

P

N

N

P

P

N

N

P

P

N

N

- 32

SAL(5I

p

N

N

P

P

N

N

P

N

P

P

N

N

P

P

n

0

SAL(6)

p

N

N

P

N

P

P

N

P

N

N

P

N

P

P

N

0

SAL(7)

p

N

P

N

N

P

N

P

N

P

N

P

P

N

P

N

0

SAL(8)

p

N

P

N

P

N

P

N

P

N

P

IM

P

N

P

N

- 16

Table 2: A computational table used to help determine the Walsh function coefficients for the linear ramp. The relative strength of the SAL or CAL term in question Is obtained by summing horizontally the +1 (P) or —l(N) Walsh function value multiplied by the actual wave form value desired for that element of time. After figuring out the value of the signed sum for each term, the values should be normalized so that the largest magnitude is I (regardless of sign). Thus the normalized ratios shown below this picture were computed assuming —128 corresponded to —I.

195

The Sign of CAL and SAL in Each 1/32 Interval of Their Period

WAL(O)

PPPP

PPPP

PPPP

PPPP

PPPP

PPPP

PPPP

PPPP

SAL(I)

PPPP

PPPP

PPPP

PPPP

NNNN

NNNN

NNNN

NNNN

CAL(I)

PPPP

PPPP

NNNN

NNNN

NNNN

NNNN

PPPP

PPPP

SAL(2)

PPPP

PPPP

NNNN

NNNN

PPPP

PPPP

NNNN

NNNN

CAL(2)

PPPP

NNNN

NNNN

PPPP

PPPP

NNNN

NNNN

PPPP

SAL(3)

PPPP

NNNN

NNNN

PPPP

NNNN

PPPP

PPPP

NNNN

CAL(3)

PPPP

NNNN

PPPP

NNNN

NNNN

PPPP

NNNN

PPPP

SAL(4)

PPPP

NNNN

PPPP

NNNN

PPPP

NNNN

PPPP

NNNN

CAL(4)

PPNN

NNPP

PPNN

NNPP

PPNN

NNPP

PPNN

NNPP

SAL(5)

PPNN

NNPP

PPNN

NNPP

NNPP

PPNN

NNPP

PPNN

CAL(5)

PPNN

NNPP

NNPP

PPNN

NNPP

PPNN

PPNN

NNPP

SAL(6)

PPNN

NNPP

NNPP

PPNN

PPNN

NNPP

NNPP

PPNN

CAL(6)

PPNN

PPNN

NNPP

NNPP

PPNN

PPNN

NNPP

NNPP

SAL(7)

PPNN

PPNN

NNPP

NNPP

NNPP

NNPP

PPNN

PPNN

CAL(7)

PPNN

PPNN

PPNN

PPNN

NNPP

NNPP

NNPP

NNPP

SAL(8)

PPNN

PPNN

PPNN

PPNN

PPNN

PPNN

PPNN

PPNN

CAL(8)

PNNP

PNNP

PNNP

PNNP

PNNP

PNNP

PNNP

PNNP

SAL(9)

PNNP

PNNP

PNNP

PNNP

NPPN

NPPN

NPPN

NPPN

CAL(9)

PNNP

PNNP

NPPN

NPPN

NPPN

NPPN

PNNP

PNNP

SAL(IO)

PNNP

PNNP

NPPN

NPPN

PNNP

PNNP

NPPN

NPPN

CAL(IO)

PNNP

NPPN

NPPN

PNNP

PNNP

NPPN

NPPN

PNNP

SAL(II)

PNNP

NPPN

NPPN

PNNP

NPPN

PNNP

PNNP

NPPN

CAL(II)

PNNP

NPPN

PNNP

NPPN

NPPN

PNNP

NPPN

PNNP

SAL(12)

PNNP

NPPN

PNNP

NPPN

PNNP

NPPN

PNNP

NPPN

CAL(12)

PNPN

NPNP

PNPN

NPNP

PNPN

NPNP

PNPN

NPNP

SAL(13)

PNPN

NPNP

PNPN

NPNP

NPNP

PNPN

NPNP

PNPN

CAL(13)

PNPN

NPNP

NPNP

PNPN

NPNP

PNPN

PNPN

NPNP

SAL(14)

PNPN

NPNP

NPNP

PNPN

PNPN

NPNP

NPNP

PNPN

CAL(14)

PNPN

PNPN

NPNP

NPNP

PNPN

PNPN

NPNP

NPNP

SAL(15)

PNPN

PNPN

NPNP

NPNP

NPNP

NPNP

PNPN

PNPN

CAL(15)

PNPN

PNPN

PNPN

PNPN

NPNP

NPNP

NPNP

NPNP

SAL(16)

PNPN

PNPN

PNPN

PNPN

1 P

PNPN

PNPN

PNPN

PNPN

1 r

eriod

P = Positive N = IMegative (Columns only for ease of reading.)

Table 3: A larger computational table giving 32 Walsh function components and their signs during a 32 interval period.

o \r> at

6

II

CO en

CO 1^ 1^ 0i

O <» IT) o

tv <- tn in

00 n m O)

o o o

CO in d d

—

—

—

in

in

in

in

in

in

in

in

(M

1^

PM

1^

CN

r~

r^

m

(0

CO

^

n

d

CO

o

CM

<rt

to

T—

|v

<

t—

^

Z

Z

2

Z

z

Z

z

Z

M

CO

</>

CO

00

(/3

CO

en

signed sum

Normalized coefficients

SAL(I)

P

P

P

P

P

P

P

P

-5.1258 -1

SAL{3)

P

P

N

N

N

N

P

P

+ 2.1232 +0.4142

SAL(5I

P

N

N

P

P

N

N

P

+ 0.4223 +0.08239

SAL(7)

P

N

P

N

P

N

P

N

+ 1.0196 +0.1989

tion. We repeat the process for each Walsh function.

If we divide all nonzero values by the largest (WAL(l)), it is observed that the weighting is binary and further it is seen thai only the square wave Rademacher functions are nonzero. Thus, it is seen that the way to generate a ramp is with a counter feeding a standard digital to analog converter. (So here we have a long, complicated way of arriving at an "obvious" result, but it also should be noted that D to A binary weighting is only "matched" to a ramp output.)

If another wave form such as a sinewave is desired, a D to A converter could be used, but a more accurate method would be to switch between 16 voltages of appropriate values. The Walsh system is just as accurate and is simpler for the more general case.

If we divide a sinewave into 16 portions, the value at the center of the first interval will be Sin (11.25°) = 0.09802 and the next will be Sin (33.75°) = 0.55557 and the next Sin (56.25°) = 0.83147, etc. This produces the top row of our table. Since Sin(x) is an odd function, even about the 1/4 point, only SAL(1), SAL(3), SAL(5) and SAL(7) are calculated over the first half period. Our chart with the calculated coefficient values is shown in table 4. Since in a standard operational amplifier summing circuit (we won't go into details here as they can be found in any book on operational amplifiers), the relative summing ratios are related to the inverse of the summing resistor values, we divide each normalized value into 1 and multiply by the feedback resistor value to obtain each summing resistor value in ohms. Table 5 shows the calculated values compared to 1% and 5% EIA resistor standard values.

The total sinewave converter circuit is shown in figure 6. While three of the coefficients were negative, a single inverter was used on the lone positive Walsh output since the op amp inverts the wave form. In addition, a gate has been added by which the phase of the entire output wave form can be

J^xlOk

1%

5% EIA

10.00k

24.14k

121.4 k

50.27 k

10.0k

24.3k

121 k

49.9 k

10k

24 k

120k

51k

Table 4: Using the computational table to calculate the resistor values for a 16 step sine wave approximation. The specialized sine wave generator of figure 6 uses these results, subject to a further approximation shown in table

5.

Table 5: The EIA resistor equivalents for the calculated values of table 4. The 5% tolerance resistance values shown at the right were used in the circuit of figure 6.

196

INPUT AT 16 TIMES PHASE REVERSING

OUTPUT FREQUENCY CONTROL INPUT

* EXACT VALUES OF CAPACITORS DEPEND UPON THE DESIGN FREQUENCY. REMOVE CAPACITORS ENTIRELY TO SEE UNFILTERED STAIR STEP FUNCTION.

POWER CONNECTIONS

+5V GND ICI 7486 14 7 IC2 7486 14 7 IC3 7493 5 10

inverted by simultaneously inverting all Walsh components. It is interesting to also note that if the components below the dotted line are removed, an 8 step sinewave approximation results. The feedback capacitor and output low pass filter can be added to smooth up the wave form to give a nearly perfect sinewave.

The Walsh methods presented here would seem to have wide application for experimentation and engineering. Although these concepts are based on advanced mathematics, nevertheless, as the philosopher Seneca observed so many years ago, "The language of truth is simple."

Walsh Functions for Music Synthesis?

Some background information on the use of orthogonal functions in music wave form synthesis has been generated by Hal Chamberlin, and published in Electronotes Newsletter, Volume 4, Number 25, July 20 1973. Hal also sent along a copy of a portion of a report by B A Hutchins, 60 Sheraton Dr, Ithaca NY 14850, on the use of Walsh functions in wave form generation. According to Hal, there was considerable analysis of Walsh functions in electronic music circles

during a period of time approximately centered on 1973, but complexities of controlling the Walsh harmonic amplitudes digitally led to the demise of that interest. Hal's current approach is to employ a real time Fourier series evaluation module which digitally sums terms of the first 32 components of a Fourier series, specified to 8 bit accuracy both in amplitude and phase.

GLOSSARY

The following terms may be unfamiliar to some readers and are highlighted with further explanations.

Baseline: It is possible to add a fixed DC level to an analog signal, which will not affect its wave form. LIsing the 0 V and -^5 V levels obtained with TTL circuits (using pull up resistors) as "Walsh functions" corresponds to a baseline adjustment of -^2.5 volts to the ideal case of a symmetric positive or negative voltage value.

CAL: An acronym derived from Cosine wALsh. The CAL functions are the "even" Walsh functions, analogous to the Fourier cosine functions.

Duty cycle: For a digital wave form, the duty cycle is the percentage of time spent in the high state relative to the full period of the wave form.

Figure 6: Applying Walsh Functions. Here is the circuit of a sine wave generator which produces a Walsh function approximation of the sine function. The frequency of the sine wave Is set by the input to pin 14 of the 7493. Filtering components of the operational amplifier help smooth out the staircase wave form generated by summing the Walsh function components as weighted by resistors.

197

Even function: An even function (or wave form) is one whicii is symmetric about the center point of its period. Tliis means tfiat its value a certain distance to ttie left of center is the same as its value the same distance to the right of center.

Fundamental; The lowest frequency in a Fourier or Walsh function summation.

Gray code; A binary code modified so that only one bit changes when going to the next higher or lower number. It is often used to deglitch position encoders.

Harmonic: A frequency which is a multiple of the fundamental frequency.

Integral calculus; The mathematical formalism used to calculate the area under a curve. The integral calculus is used together with the theory of orthogonal functions to evaluate analytically the coefficients of Fourier and Walsh function expansions. The example of Walsh function coefficient calculation in this article uses properties of Walsh functions to simplify the process of calculating integrals required for the coefficients. There is no such simplification for the Fourier coefficients of a wave form, thus making the application of Fourier analysis a more complicated problem.

Odd function; An odd function (or wave form) is one which is antisymmetric with respect to the center point of its period. This means that if at a fixed interval before the center point its value is X, then at the same interval past the centerpoint the value will be —X.

> \.

S

»^^-.^.^^!-W'!^J,V^<^l'^/I-^^.:^r^^.j;^^:.j^V^-i^^.A,,j.mUI.H;J,,JU.J,l^7??

LONG ISLAND

. ° X COME SEE WHAT BVTE A "REAL"

ShOP COMPUTER STORE

LOOKS LIKE

MICROCOMPUTERS PERIPHERALS ACCESSORIES

IMSAI8080 BYTE-8 SWTP MPC8 CROMEMCO PROCESSOR TECH

MEMORY EXPANSION COLOR TV GRAPHICS LEAR SIEGLER ADM 3 PAPER TAPE READER

INTERFACES (KITS or ASSEMBLED UNITS)

PROGRAMS AND SOFTWARE

VARIOUS BASICS - TINY, 4K, 8K and 12K FOCAL — DOS — GAMES - BUSINESS APPLICATIONS

ALSO AVAILABLE

APPLE 1 MODEMS

CASSETTES TERMINALS

FLOPPIES DEC WRITERS

BUSINESS APPLICATION INQUIRES INVITED SYSTEM DEMONSTRATIONS AND LITERATURE / MAGAZINES

Byte Shop East, inc. 27-21 Hempstead Turnpike Levittown, Long Island (516) 731-8116 Two blocks east of Wantagh Pkwy.

HOURS TUES thru FRIDAY 12-9 SATURDAY 10-5

^^

Orthonormal functions: The mathematical theory of orthonormal functions is one of the most powerful tools used by physicists, theoretical chemists and engineers. Among other applications, it provides the tools needed to analyze complex wave forms and synthesize such wave forms using the principle of superposition; That the whole is a linear sum of its parts. Fourier series and Walsh function analysis mentioned here are two particular choices of a set of orthonormal functions which have useful practical applications. (See also spectrum below.)

Periodic wave form: A periodic wave form is one which has a fixed shape which is constantly repeated. A simple example would be the clock oscillator signal of a typical home brew central processor. A more complicated example (subject to imperfections) would be a long steady tone played on a musical instrument.

Rademacher functions: The subset of Walsh components consisting of only the unmodified square waves.

SAL: An acronym derived from Sine wALsh. The SAL functions are the "odd" Walsh functions, analogous to the Fourier sine functions.

Sequency; Walsh function terminology referring to the Walsh components of a wave form in exactly the same way that frequency is used to refer to the Fourier components. Example: Sequency spectrum.

Spectrum: When orthonormal functions are used to analyze a wave form, the result frequently is a set of coefficients which weigh each of the basic functions found in a (theoretically) infinite sum which represents the wave form. Each coefficient corresponds to some parameter of the orthonormal functions, which might be, for example, a number "n." Whatever the parameter is, a spectrum for the analysis is obtained by plotting the coefficient values versus the parameter value for a large number of coefficients. For a Fourier analysis, the result is a plot of coefficient versus frequency (which at the low end corresponds to a small integer value). A Walsh spectrum would plot the coefficient of WAL (n) versus n.

Wave form: For the purposes of this article, a signal's wave form is a value of (for example) voltage as a function of time."

BIBLIOGRAPHY

J L Walsh: "A Closed Set of Orthonormal Functions," American Journal of Math, Vol 45 pp 5-24, 1923.

H Rademacher: "Einige-Saltze von allgemeinen Orthogonalfunktionen," Math Annalen, Vol 87 pp 112-138, 1922.

H F Harmuth: "Applications of Walsh Functions in Communications," IEEE Spectrum, Nov 1969.

M S Corrington: "Solution of Differential and Integral Equations with Walsh Functions," IEEE Transactions on Circuit Theory, Vol CT-20 No. 5, Sept 1973.

W M Walmsley: "Walsh functions, transforms and their applications," Electronic Engineering, June 1974.

Circle 280 on inquiry card.

198

Circle 236 on inquiry card.

WHAT'S A BOPA?

ADDRl'ISS

ROUTINt

couf:

MNEMONICS

^^^^^^^^H

EO

Clear

21

LXI-H

FBOO

Stan Addr ol Display

Video

oo

6Z

Display

Ffl

63

Screen

36

MVI-M

AO

Load "Space"

64

AO

65

7C

MOV A.H

Move high Addroas

66

FE

CPI

FC

For Compariaon

67

FC C8

RZ

Return When End

69

Of Screen Reached

6A

23

INXH

Next Display Addr,

6B

C3

JMP

OD53

Go to Load "Space"

6C

53

60

OD

6E

1

6F

70

^—'

Close-up of Board

ORDER CODE:

BOPA—1 Single card system $11.95

BOPA—4 Four card system with 128

entries, pen, and Solvex-80

cleaning solution $39.95

BOPA—8 Complete system with 256

entries, pen, Solvex-80. $74.95

PNS Special ink pen. $ 1.00

SLX Solvex cleaning Sol'n., 154 02. $ 1.25

MIN. ORDER $5. - Calif. Residents add 6% Tax. For orders less than $15, add $1 for shipping. Foreign orders add 50t per board (U.S. Funds Only).

It's a Basic Operating Programming Aid, a new and revolutionary microcomputing aid to help you write machine level programs faster and more accurately.

- FEATURES

* You write on movable slats.

* 32 memory addresses per board.

* You assign the memory range.

* Automatically reassigns addresses as you edit.

* Compiles and assembles programs quickly.

* 4 columns, ROUTINE, CODE, MNE., COMMENTS.

* Reduces Programming Time.

* Machine level programming is a snap.

* Program anywhere, it's portable.

* Re-usable, unbreakable mechanism.

* Corrections are quick and easy.

* Excellent learning aid.

* Fits 3 ring binder (9" X 11" X 3/16").

* Completed programs can be xeroxed.

See It At Your Local Computer Store.

VAMP INC.

P.O. Box 29315

Los Angeles, CA 90029

MACC COMPUTERFEST '78

Exhibits

»manufacturers »clubs & stores

Movies

Games

Flea Market

For Information P.O. Box 9578 North End Station Detroit, Mich. 48201

SEiim

Presentations computers IN

»THE HOME »SCHOOL »ART & MUSIC »YOUR FUTURE »SOCIAL IMPACT

DETROIT PLAZA HOTEL JUNE 23-25, 1978

1978 SPONSOR

OoUTH L

OUTH &. ASTERN

boMPUTER U

OIGAN VOMPUTER URGANIZATION

199

BYTE's eite

Photo 1: Perhaps a key element of the Heath line is this H9 video terminal, used with either the H8 or HI I systems. It is a lull ASCII terminal (but with uppercase only in the display section) and a wide range of data rates.

Photo 2: Flipping up the front panel of the demonstrator of the Heathkit HS computer (an 8080 based product) in the press room revealed this lower level structure.

Some Candid Photos Shot in Benton Harbor

As noted in August 1977 BYTE, the Heathkit product line was introduced to the press June 1, to prime the publicity pumps in time for the August introduction of the line in public at the Personal Computing 77 show in Atlantic City. Here are some candid photos taken in the Heath plant in Benton Harbor Ml during the press party."

Photo 3: Here is an H8 computer used in a production and test situation at the Heatht^it plant, with its memory board mounted on an extender. The boards in the H8 are mounted at an angle with respect to vertical, which keeps the height of the cabinet down while allowing bigger boards to be designed.

p!

m

t

Photo 4: The "guts" of the HI I product by Heathkit are represented by the two boards shown here on the table in the press room. The DEC LSI-II board and several peripheral and memory cards are mounted in the back plane assembly at right, and the switching regulated power supply for the system is shown at the left.

Photo 5: One point wliich many might overlook, but technology freaks can't ignore, is the specialized equipment which gets built when a firm has a large manufacturing operation. Here is a prime example of several very interesting cases of manufacturing automation at Heath: a machine which collates resistors prior to packing. Each reel holds a supply of resistors mounted on tape strips which many readers may have seen occasionally in surplus houses. The reel feeds a mechanism which removes the resistors from the tape on command and drops the resistor into a bin on a conveyor belt moving horizontally in a loop around the machine. The net result is that the human bag packers (not seen in this photograph) simply dump the properly collated resistor assortment from a bin into a bag and seal it, and have no need to physically handle each resistor. Such automation is possible only due to the uniformity of the resistors, and even then a machine tender is required to monitor occasional exception conditions.

200

NYU Conference

A conference on Connputing in the Arts and Humanities will be held from Friday evening to Sunday noon, October 21 to 23 1977, at Warren Weaver Hall, New York University. Sponsored by ACM/SIGLASH (Association for Computing Machinery/Special Interest Group on Language Analysis and Studies in the Humanities) and the NYU Departments of Computer Science, Linguistics, Art and Art Education, Music and Music Education, the program will include:

Performances

Friday evening: computing in the visual arts and presentations of video and film works.

Saturday evening; concert of music composed with the aid of computers.

Sessions

Challenge sessions in music, art and language understanding: computing in the arts and humanities — Is it a new medium, a tool or a distraction?

And:

Music tape and talk sessions

Computer vs human poetry

Literary analysis

Computer fashion show

Other demonstrations and discussions

Cash Grants Offered for Surveys of Progress

Three individual grants of $100 are offered by the US Robotics Society to students who survey practical activity in research and development on robots in specified areas of the world. The surveys must be performed for academic credit with formal approval of appropriate professors.

With the sudden rise in the use of personal, privately owned computer systems, private research and development in robotics and artificial intelli

Signs of Maturity?

When computer stores find mass media advertising to be useful, then we have a sure sign that the marketplace for computers is becoming mature. According to a note which passed this way from The Computer Mart of Orange CA, that store is running an advertising campaign in the Los Angeles Times and the Santa Ana Register.'

For registration information contact conference chairperson: Dr Naomi Sager, NYU Linguistic String Project, 251 Mercer St, New York NY 10012, (212) 598-2294, ext 5.

n Robotics

gence has surged. More than 70 members of the US Robotics Society alone report active work on robots. The Society is seeking an estimate of robotics activity worldwide, and these first grants are the beginning of a general search for knowledge of work on robots.

Grants will be made for surveys of: the US West of the Mississippi, the US East of the Mississippi, and Canada. Later grants will be made for surveys ol other areas.

The reports will be published as part of the basic robotics literature, establishing their authors and supervisors as important contacts in the field.

Proposals from applicants are due on or before September 30 1977; completed reports are due on or before June 30 1978.

For details, write: Survey Grants, United States Robotics Society, Box 26484, Albuquerque NM 87125."

Houston Personal Computing Faire

We recently received a terse note: Houston TX, September 16 thru 18, Houston Personal Computing Faire. Contact Richard McClendon, POB 36584, Houston TX 77036."

New 8080 and 8085 REFERENCE GUIDE

A TOTALLY NEW CONCEPT!

SAVES TIME AND MONEY!

MAKES YOUR JOB EASIER!

A powerful new tool for every serious 8080 user — professional and novice alike. Priceless trmesaver for engineers, technicians, and programmers. Saves time and money in the lab, on the production line, or in the field.

Convenient pocket size — 3% by 73/4 inches — gives quick and easy access to all vital reference data. No more searching here and there for codes, instructions, or definitions. It's all there — at your finger tips — everything you need to successfully use the 8080A and — Intel's new 8085 microprocessor.

Features cross listing, for rapid assembly and disassembly, of MACHINE CODES and

MNEMONICS • Concise description of 8080 and 8085 OPERATIONS, SIGNALS,

PINOUTS, and INSTRUCTIONS • Convenient cross conversion of OCTAL,

HEXIDECIMAL, DECIMAL, ASCII, and EBCDIC codes • Easy-to-read tables of powers

of two, eight, and sixteen ... and much more ...

Sturdy • Handsome • Easy-to-use • Data Packed

Your timesaver will give many years of professional service.

$12.95 each (plus postage & California sales tax) — 25% discount for 4 or more.

MoneyBack Guarantee: You must be fully satisfied or simply return the guide within 15 days for full and prompt refund.

URBAN INSTRUMENTS

4014 CODY ROAD • DEPARTMENT 01 • SHERMAN OAKS • CALIFORNIA 91403

PLEASE SEND.

NAME

STREET

CITY

STATE

. 8080 timesavers to:

CHECK/M.O. ENCLOSED D BANKAMERICARD D MASTER CHARGE Q

CARD NUMBER

GOOD THRU 4 DIGITS ABOVE NAME

.ZIP SIGNATURE

(MASTER CHARGE)

201

Circle 282 on inquiry card.

Beck Reviews

CMOS Cookbook by Don Lancaster, Howard W Sams and Company, Indianapolis IN, 1977. $9.95.

This book will prove immensely useful to anyone interested in sophisticated logic design. Like the author's earlier RTL and TTL Cookbooks, it covers everything from basic principles and practical usage tips to relatively complete applications in a style that is informal, understandable, and very easy to read. If you want to learn about CMOS fronn the ground up, or if you want a handy reference source of CMOS circuit ideas, this book is for you.

The reader who is comfortable with TTL may doubt the book's claim that "CMOS is the first hassle-free digital logic family," but Don makes a good case. He cites its very low cost, low power requirements and wide power supply voltage ranges, open circuit

inputs and wide output voltage swings, very high fanout, and tolerance of system noise. He doesn't neglect the disadvantages of CMOS, though, and warns about its sensitivity to input capacitance and its speed limitations. After reading this book, you will undoubtedly appreciate CMOS as a very practical alternative to TTL.

The following categories are among the subjects covered in the book:

• basic logic elements and transmission gates

• power supplies and the relationship between voltage, current and speed

• CMOS usage rules

• breadboarding techniques

• tools

• testing and monitoring states

• interfacing CMOS to TTL, LEDs and other devices.

Also included is a minicatalog of 100 devices, including such interesting packages as a frequency synthesizer, touch-tone dialer, modem, top octave music generator, TV numeric display, wristwatch and frequency counter.

The next topic is combinational logic.

Spring into Season with a BYTE T-shirt

At last! No more wardrobe crises! BYTE T-shirts are here! Now you have the perfect garb for computBr club meetings, Altair Conventions, playing Shooting Stars and computer chess. (A pair of trousers from your own closet is suggested as an addition to the BYTE T-shirt. BITS can't do everything for you.)

BYTE T-shirts are of top quality 100% cotton or cotton-polyester. The original design, by artist Judy Lee Rehling, is silk screened in red on white shirts with blue trim on collars and sleeves, or on blue heather shirts.

The $5.50 price includes postage and handling.

Send to: In unusual cases, processing may exceed 30 days.

BITS, Inc.

70 Main St.

Peterborough NH 03458

Please send me extra large

blue heather

large

white with blue trim and

medium

red letters

small

T-shirts (55 $5.50 each (includes

Total enclosed $

postage and handling)

Rill Mastprrhargp Nn

Fxp. Date

Bill BankAmericard No.

Exp. Date

Namp

Address

City

State 7ip

Sinnature

All orders must be prepaid

Prices shown are subject to change without notice.

Circle 255 on inquiry card.

202

NOW HEAR THIS!!

PHOENIX

CIUTC cunD

ALPHA DIGITAL SYSTEMS

tj ■ 11 L^riLlr

SELLS IMSAI KITS AND TOTAL INTECiHATKI) SYSTEMS ASSEMBLED.

Bits & Bytes

the affordable computer store

CHECKEDlilT. AND WARRANTED AT KIT

'

PIIICES

ALFILA 1 Si'EtTAL DOS S^'STEM DEAL lincludest

COMPUTER SHOP

7825 BIRD ROAD qF

- LMSAI KIWI) Computer

* 21 Slot MmhtT Bd. with Conn

•LearSieglerADIVI-3 Kit $799

DIAL 264-BYTE

• 111 K HAM

• 9(J K Disk iwilli Controller 1

•Vector-1 Z-80 8K $888

WE HELP YOU GET YOUR SYSTEM

• Sek'Ctrif Ivpewriter {with Controller!

• DOS BASIC Software

UP AND RUNNING.

■\ssonil)led System Total $;iail5

•9" Sanyo Monitor $169

iLessSelectriciS249iJ

IMSAI 8080 MEMORY EXPANSION BYTE-e COLOR TV GRAPHICS

Si'ieet any l<it or system of icits from the IMSAI

,

North Star - EPA - Tarbpll

SWTP MP68 LEAR SIEGLER ADM 3

price list, order from us and receive the

CROMEMGO PAPER TAPE READER

assemhied unit for the same price. If you don t

Act 1 Terminals - Cybercom

PROCESSOR TECH

ha\e a price list, drop us a line and we will send

INTERFACES (KITS or ASSEMBLED UNITS)

vcn one Terms; Cash with Order ■ Prices in

Tliinker Toys — Equinox 100 Vector Graphics - Per Com

clude frclKhl t N C Residents Add 4", Sales Ta« ) llou can ALPHA DIGITAL SYSTE.MS do all

IN FORT LAUDERDALE

this'' Its simple. ALPHA DIGITAL WANTS Tl)

BE VOITI COMI'CTER COMPANY

6819-C N. 21st Ave.

1044 E Oaklanid Pl< Blvd

AnQ ALPHA DIGITAL SYSTEMS **" ^ RT. 4BOX171A

Phoenix, Az. 85015

(305) 561-2983

BOONE, N.C. 28607

(602) 242-2507

(704) 264-7946

Circle 283 on ini^uiry card.

Circle 284 on inquiry card.

Circle 285 on inquiry card.

Washington D.C.'s Newest Computer Store

Intelligent Business

Machines, Inc.

Cromemco, IMSAI, TDL, Administrator I, SEALS, DIP Chips, etc.

Come see us at

938 Ellsworth Dr. Silver Spring, MD 20910

'*^_ IT'S A GREAT BIG COMPUTER WORLD

^ But You Only Need

>^THE COMPUTER CORNER

^^^ •SOL - A New Dawn is Here!

"^^ 'IMSAI 8080

~^~ "POLY -88

"^^ •TDL Z'80

^" •Memories & I/O Boards

-^- •Computer Book Sefvice

-^f_ •Magnetic Tapes & Disks _

_^)_ •Full Line of Magazines _

-►[- 'Brain Games & Puzzles

^ - •Workshops & Club Information

il Visit THE COMPUTER CORNER for ~_

_^_ all your computer needs. Stop in and

.._ browse - you'll like our personal service.

w_ THE COMPUTER CORNER

While Plains M;i(l Upper Level

->^ 200 Hnmilinn Avenue

-►f- White Plains, Now York 10C01

Tol: (914) WHY - DATA

Ample Piirking

10-6 Pailv e< Siiiurday

10-9 Thursday

j: , lu-y I nursnav \ 'W

computer depot: incJ"

3515 W. 70th Street

Minneapolis MN 55435

612-338-2695

Upper Midwest

Headquarters

for

PROCESSOR TECHNOLOGY, IMSAI, POLYMORPHIC SYSTEMS, DIGITAL GROUP, WAVE MATE, CROMEMCO VECTOR GRAPHICS, TDL, SEALS TARBELL, MICRO DESIGNS NORTH STAR, NATIONAL SEMI CONDUCTOR, FAIRCHILD SEMI CONDUCTOR, MOSTEK, E&L INSTRUMENTS, SAMS, TAB, HAYDEN, WILEY, MC-GRAW HILL

Catalog Free

Circle 286 on inquiry card.

Circle 287 on inquiry card.

Circle 288 on inquiry card.

COMPUTER MART

OF NEW HAMPSHIRE

DEALERS FOR TDL ICOM IMSAI DIGITAL GROUP

SOFTWARE INCLUDES:

8K BASIC EXT. BASIC

TEXT EDITOR DISK BASIC

WORD PROCESSOR

MACRO-ASSEMBLER

170 MAIN STREET NASHUA (603) 883-2386

ECONOMY TERMINALS

ET1 CRT

TERMINAL! FEATURES

Circle 289 on inquiry card.

Box 12261

MiniiBapolis. Minn. 55412 ^

(812)522-1076

• 24x80 display, rtllh antiglare screen S (liter

• 12' Industrial 15 Mhz monitor

• 90 day warranty (parts & labor. F.O.B. factory)

• 96-hour elevated-temperature operating O.C. test ■

• RS 232 and 20 ma interlace

• LF. CR, as. Local. Ruboul. Break. Home & Clear. Tab*, Remote Cursor Placement*, and Scrolling*

• Micro-Processor based, with 63-l(ey keyboard

'These (unctions vary with the model selected.

Circle 290 on inquiry card.

SURPLUS

Ulll'ITii

BARGAIN

+ 5V @ 8.5A - 12V (ti 2A

♦12V@2.5A »160V@150ma

+30V @ 200ma (unregulaled) -6.2V I® 25ma (no adj. pot)

Brand new. made by CDC for microprocessor terminals. 110 VAC in. regulated and adjustable DC outputs Overvoltage protected -5 -12. Power status signal Fan Schematic Original list S600+ From stock. UPS paid, custom foam box. guaranteed. 55Q qO

ELECTRAVALUE INDUSTRIAL

BOX 464

Cedar Knolls. NJ 07927

(201) 267-1117

Circle 291;on inquiry card.

Besides covering basic gates and deMorgan's theorem, Don describes features unique to CMOS, such as transmission gate logic and his own "Micl<ey Mouse Logic" (M2l). He goes on to discuss advanced logic design techniques using data selectors, read only memories (ROMs) and programmable logic arrays (PLAs). Finally Don gives some approaches to creative logic design, something for which he is famous. Although some of his suggestions, such as "use nonobvious codes or timing sequences," may make the reader shudder, this short section on design philosophy is very valuable.

Following the organization of his earlier books, the focus shifts to multivibrators. Basic astable and monostable multivibrators are covered, of course, but since he starts with more sophisticated CMOS packages, Don is able to present more interesting applications like data rate and touch-tone generators, equally tempered music and voltage controlled oscillators.

Succeeding chapters deal with clocked logic: flip flops, counters and shift registers. Although the basics are still covered, the more interesting examples exploit the special properties or the more sophisticated pack

ages available with CMOS: touch and proximity sensors, phase detectors, character generator serial video and Teletype transmitters, and digital sine wave generators.

A very special chapter describes CMOS op amps, analog switches, and phase locked loops. The application examples for all three devices should give the reader a good grasp of their capabilities. The section on analog switches is especially interesting.

The final section of the book, "Getting It All Together," presents some larger scale designs, as well as challenges to the reader. Here you will find circuits for a video game, a digital wristwatch, and even a complete basic circuit and key waveforms for Don's TVT-4 television typewriter.

All in all, this book packs a lot of ideas into its 400 pages, and forms a superb introduction to an important new logic family, if you want to keep up-to-date on integrated circuit technology, you should not pass up this book.

Dan Fylstra

Hamilton Hall C-23

Harvard Business School

Boston MA 02163"

COMPUTER ENGINEERING

THE MIDNIGHT SPECIAL . . .

... a full color limited edition poster for your Casey

Jones fantasies.

The poster is 16Vi by 2iy2 inches (41.9 by 54.6 cm) with a white border. The colors are the same as the original by Robert Tinney, which graces our July cover, minus the BYTE logo. The price is $3.00, plus 504: postage. It is shipped unfolded, in a mailing tube.

ORDER NOW. SUPPLIES ARE LIMITED.

Ill unusual cases, processing may exceed 30 days.

BITS Inc

70 Main Street

Peterborough NH 03458

bjii

□ Bill BankAmericard 7

□ Bill Master Charge No

Posters $3.00 each plus S .50 mailing

□ Check Enclosed

$ Exp: Date

Nanne_

Address, City

.State Zip

Circle 255 on inquiry card.

204

fhliilsHli

VDB—1 VIDEO DISPLAY BOARD, BASED ON A.I. ANDERSON'S ARTICLE IN NOV. 76 BYTE Al«o

CPU—1 Centr.ll processor board using the MOS Tech. 6502 and TIM monitor chips. Compalible with SWIPC memoiy and I/O honrds. Give your SWTPC TIM capabilily or build a conipleie system. EPB—1 Lprom ptogrammer for 1702A cproms. EPa—2 Eproni programmer for 2704 & 2708's VDB—-I .V. CPU—1 Plus directly onto the SWTPC bus. EPS—1 I'i 2 plug into ihc SWTPC 6800 MP—L board and use software for timing functions. GflOO software provided. All boards adaptable lo other sysloms.

Price each bare board with documenlalJon $29.00 pks S2.50 shipping and handling. Documentation only. 55.(10 refundable.

F&D ASSOCIATES

NEW PLYMOUTH, O. 45654

7?r

aeco.

TPTl-l

fl.

THE ULTIiyiATE IN '

Precision maclijned tape guide Interface directly to a |p];\ or vi;iST Tristate buffer output "ill handshake logicTTl compatable Pull thru tape- Tieads tjTo55tiri cps Interface thru a 14 pin IC plug .provided

7?J).l ASS.MBLEO . nSTiO ^SS-OO

H*^" 3 '*'-"'*■"' HANDSHAKE ADftPTER ^ 5,50'

TO ORDER. SEND CHECK OR M^O. TO:

MTcf(OCOM~p'

POND DU lAC. W1 54935

WE SPECIALIZE IN MICROCOMPUTEB SYSTEMS FOR HOBBV-BUSSINESS-EDUCATION WE ARE EXCLUSIVE OSI DEALERS...

• •■ WE DO 4 BETTER JOB.

LCCE&SOHIES

INALS ' BOOKS' MAl

Circle 292 on inquiry card.

Circle 293 on Inquiry card.

DISKETTE CASE

Attractive

Durable Plastic

Easy Handling & Safe Storage

FREE with every 10 Diskettes.

DISKETTES: Shugart 800, Altair,

Helios, OSI, Digital Systems,

IMSAI, Innovex ft $5.50

MINI-DISKETTES: Northstar, Fortrans IV, Smokey Signal, Metropolis, Shugart SA400 <7, $4.25

Immediate Delivery from Stock Bank Americard / Master Charge

MANCHESTER EQUIPMENT CO.

120 Bethpage Road

Hicl(sville, N.Y. 11801

Call Collect: (516) 433-0613

Circle 294 on inquiry card.

ALPHANUMERIC T. V. DISPLAY 16 Lines of 32 or 64 Characters Upper and Lower Case Dot Matrix 7x9 Software Control of Cursor, Scrolling,

LF, CR, Erase to end of line

Uses less than 256 Bytes Sockets for all I.C.s S-100 Standard P. C. Board (1 slot) Combined Video Output for T.V. Monitoi

Use standard T. V. set with mod. KIT S140.00 ASSEMBLED S190.00

THE LITTLE SCOUT Add a Tune to your Digital Alarm Clock. 2'/a X 4%" circuit plays REVEILLE. PROM in socket let's you change tune. Ideal for your budding Boy Scout. KIT $14.95 ASSEMBLED $19.95

Add Postage, $1, N.J. add 5% Tax

MULAB, INC.

P.O. Box 215

Basking Ridge, N.J. 07920

201-647-0525

P

IMSAI POLY 88

TDL

"SEALS"

Vector Graphic

SWTPC Digital Group

Personal

Computer Corporation

phone:

215-647-8460

Frazer Mall

Rt. 30 & 352

Frazer, PA. 19355

EiilE

Article Index

Complete listing of all feature articles appearing in Volume I of BYTE—September 1975 thru December 1976. Indexed for easy reference. Includes all errata.

•REET

To get yours, send a i.24 stamped self-addressed envelope to:

K.

BYTE Index

70 Main Street

Peterborough NH 03458

J

Circle 295 on inquiry card.

Circle 29Son inquiry card.

CANADIANS!

Eliminate the Customs Hassles. Save Money and get Canadian Warranties on IMSAI and 8-100 compatible products.

IMSAI 8080 KIT $ 838.00 ASS. $1163.00 (Can. Duty & Fed. Tax Included). AUTHORIZED DEALER Send $1,00 for complete IMSAI Catalog.

We will develop complete application systems. Contact us for further information.

Rotundra Cybernetics

Box 1448, Calgary, Alta. T2P 2H9 Phone (403) 283-8076

«l

South Florida

Sunny Computer Stores. Inc.

South Florida's First Computer Store

WE CARRY:

• ALPHA MICRO SYSTEMS, MICRO FILE, PROCESSOR TECHNOLOGY, IMSAI

• books, MAGAZINES, NEWSPAPERS

• full SERVICE

•software

• write or phone us for prices

more than just a toy

Monday 12 noon — 9 pm Tues.-Fri. 10-6

UNIVERSITY SHOPPING CENTER 1238AS0UTH DIXIE HIGHWAY CORAL GABLES, FLA. 33146 (305)661-6042

THE PROM SETTER READ/WRITE

1702A and 2708

ALTAIR/IMSAI COMPATIBLE

NO EXTERNAL POWER SUPPLY

LET YOUR COMPUTER DO IT ALL

SOFTWARE INCLUDED Doubles as an 8 Bit Parallel I/O

KIT COMPLETE — S210 ASSEIVIBLED — $375

/)E;JVEH Y LESS THAN 60 DAY.S

SZERLIP ENTERPRISES

1414 W. 259111 STREET HARBOR CITY, CA. 90710 Calif, Ri's. Add (i"i, Sales 1'ax

Circle 298 on inquiry card.

Circle 299 on inquiry card.

Circle 300 on inquiry card.

Continued from page 21

Control Character

Pnn

Knc

Tn/n Onn

( )nn <> = C Q+n Q-n

CTRL A

Meaning

musical part number declaration, where nn=a number from 00 to

16 key signature declaration, where n is a number and c is a "+" or

a "—" time signature declaration; ie: "T4/4" means 4/4 time positions the CDEFGAB scale on the terminal keyboard to octave

nn of the external instrument's keyboard repeat text within parens nn times equate all text within brackets to symbol C transpose all subsequent text up n steps transpose all subsequent text down n steps all text within quotes is treated as commentary marks the end of the MUSIC TEXT FILE

luble 2: Control characters used by the SCORTOS language processor.

matically informs the user when he has come to the end of a bar by displaying a slash and the next bar number on the terminal. This provides a checksum for each bar and a milestone to keep the operator informed of his position in the score. Listing I shows a sample of the dialog between the operator and the editor as the operator enters the score fragment in figure 3. The italicized type is supplied by the editor, the bold type by the operator.

Conventional string oriented text editors are inconvenient for use with music text since music is prone to have too many occurrences of any given string. Allowing the user to access the text by part number and bar number is more suitable since he refers to a written score in the same way. Various commands are available within the editor which allow a user to list selected bars and make insertions and deletions in the music text at selected bar boundaries.

The converter is the system's music language processor. It scans the text of the music text file and translates the logical entities of rhythm and pitch to the physical values of time and keyboard address. For each event described in the file the converter outputs a 2 byte record which contains the duration of that event in standard system timing units, and the location of the event on the system controlled music keyboards.

Table 2 is a list of control characters recognized by the converter. In keeping with the design goal of eliminating redundancies in the music score, an equate (=) statement was developed. Using equate, repeated groups of notes need only be typed in once and equated to a symbol. Thereafter they may be brought into the music source text by typing the symbol to which they have been equated.

The driver interface subroutines allow the user to communicate with the DRIVER by providing him access to the binary output file. Through their use, a sequence of musical events may be generated from

within the computer by a user written program. For example, the researcher may have made an analysis of a particular composer's style (following the procedure described earlier in this article) and may wish to write a program in BASIC which creates a composition based upon the properties of that style. The sequence of events that constitute the composition would be produced by calls to the driver interface subroutines.

The EVENT subroutine is the principal interface subroutine. Its calling sequence is:

CALL EVENT DS ARC I DS ARG2 DS ARG3 DS ARG4

where;

ARG1 = part number.

ARG2 = duration of event.

ARG3 = address of keyboard switch.

ARG4 = slur code (0= no slur, 1= slur this

event to next event).

The DRIVER is a software representation of the inner workings of a player piano where the binary output file, subroutine CLOCK, and the DRIVER'S main code are the respective analogs of the piano roll, sprocket drive and mechanical read head. All of the control features of its mechanical counterpart are available within the program, including start performance, pause, and stop performance, and some which are unique to a software simulation, such as discrete tempo control and part selection.

The DRIVER causes music to be performed by initiating and terminating musical events according to the information contained in the binary output file. The program keeps a timer for each part that is participating in the performance. When an event is initiated, the address data in the event's data record is output to the appropriate 88-RCB data register. This causes sound to emanate from the instrument to which the 88-RCB is connected. The timer is set to zero, then incremented 20 times per second and compared at each incrementation to the event duration field of the event's data record. When these two quantities are equal, the event is terminated by a logical exclusive OR of that event's keyboard address data with the 88-RCB data register. The DRIVER then proceeds to the next event record and repeats the process.

Timing is provided internally by subroutine CLOCK which contains a timing loop and which also interprets control commands from the terminal. When a call is

206

MANUAL INPUT

MUSIC TEXT FILE

CONVERTER

USER PROGRAM

BINARY OUTPUT FILE

DRIVER

INTERFACE

SUBROUTINES

PURE MUSIC

Figure 4: The flow of information througli tlie SCORTOS software. The monitor controls the system's major functions. The editor allows the user to enter music through the computer's keyboard (see figure 1) and to modify it as desired. Listing 1 describes this in more detail. The converter scans the text of the music text file and converts the values for rhythm and pitch into physical values of time and fseyboard address. The driver interface subroutines allow the computer to play music that it has composed based on stochastic or random elements contained in the user's programs.

made to CLOCK, the caller will not receive control back until a specified interval of time has passed. In this way it can be used as a time source. The time interval provided by CLOCK is used as the basic unit of time in the system. An interval of 1/20 of a second is sufficient to provide the resolution necessary to perform the most complex musical passages.

The internal generation of timing is less expensive and permits the tempo of the performance to be easily varied on line. By striking the keys labeled "rit" or "accel" on the terminal keyboard, the operator can retard or accelerate the tempo of the performance by 2.5% for each stroke of the key.

The use of processor cycles to generate timing puts a great strain on the DRIVER. It must complete its work so quickly that the listener is not aware of any delay between music parts that are supposed to be occurring simultaneously. Musicians can time a musical event to within 10 ms of its desired occurrence. This imposes on the DRIVER the specification that, for worst case condi

Command Meaning

*E ab Call the EDITOR and load the source text file identified by the

characters ab *C ata,cd Load the file identified by the two character code ab and use it as input

to the CONVERTER. Write the output of the CONVERTER to file cd *P cd Load the file identified by the characters cd. Call the DRIVER and

perform the music described by the data in file cd

Table 3: A list of command verbs recognized by the system monitor. Each verb calls a system module, and its arguments specify the data file which is to be operated on by that module.

EDITOR

COMMAND? N

FILE CODE? S5

ENTER PART NO. P01

OBOE" K2- T3/4 (2.)03

0001 "SYMPHONY NOB (PROKOFIEV)* 0005 P02

0007 " 1st FLUTE " K2-T3/4 03 F4 G4 AS. F16_/_

0002 04C8. 03 B16 04 F4 B4/_

0003 D8. E16 F4. G8 /

0004 F8 E8 D8 08 03 88 02 08 /

0005 P03

0007 ' 2ND FLUTE " K2- T3/4 etc.

Listing /.' A sample of the dialog between the operator and the system editor as the operator enters the score fragment in figure 3. The italicized type is supplied by the editor

207

Circle 301 on inquiry card.

ASC II KEYBOARD NEW LOOK IMPROVED DESIGN

$58.00

This 63 key ASC II Encoded Keyboard kit was designed and manufactured by Electronics Warehouse Inc. Features: Single 5 volt D.C, supply, utilizing onlyTTL Logic elements (no MOS devices to blow). TTL drive capability (each of the eight bits of ASC II output will drive the equivalent of ten standard TTL inputs without external buffer drivers), de-bouncing, upper and lower case fully ASC II, 8 bit parallel. In addition to the alpha-numeric and symbol keys available on a regular keyboard, the following keys are utilized: Escape, back-space, tab, line-feed, delete, control, shift-lock, shift (2 keys), return. AIM 28 ASC 11 characters are generated.

Kit includes: 63 key keyboard, P.C. board, all required components and assembly manual with ASC II code list.

Optional: Parity bit-add 500 • Enclosure-$25.00 • Serial output-add $2.00* 18 Pin edge connector - $2.00 • Sockets - $4.00

Note: If you already have this teletype keyboard you can have the kit without it for $39.00. Dealer inquiries invited.

FROM CONCORD

THE FIRST FULL FEATURE LSI DMM KIT

INTRODUCTORY PRICE:

77

Reg. Suggested Retail: $149.00

AUTO RANGING

AUTO POLARITY

AUTO ZERO

3 Large Digits (1/2")

Rechargable

i77.

MEASUREMENT RANGES:

Voltage (ACS. DC) 1 MV-1000V Current lAC & DCI 10|JA - 1A

RESISTANCE 1 0 - lOMQ Basic D C Accuracy, belter ttian 0 1"„ ■ 1 Digit

Power 4 AA batteries (Rectiargable batteries optional)

NI-CAD BATTERIES: $6.00 • AC CHARGER: $4.95 • ENCLOSURE: $12.95 • TEST LEADS: $1.95 • SHUNT KIT FOR 3 CURRENT RANGES: $4.75 • SOCKETS $2.50

ORDERING INFORMATION

SHIPPING AND HANDLING - $3.00 + 50<? Insurance California residents add 6% sales tax

ELECTRONICS WAREHOUSE Inc.

1603 AVIATION BLVD. Dept. B REDONDO BEACH, CA. 90278

TEL. (213)376-8005 WRITE FOR FREE CATALOG

You are invited to visit our store at the above address

tions, it must initiate an event for all 16 parts within the same period of time. For this reason great care was taken in the design of the program to ensure that Its execution time is held to the minimum.

Conclusion

The functional possibilities addressed by the SCORTOS system are, of course rudimentary. In its present state it provides a foundation on which additional application programs can be built, notably a music language which treats the performer of the music as a computer and not a human. Other possibilities include a set-complex processor to analyze music and statistically model its characteristics, and a plotter interface that will draw musical scores on a plotter. Some of these programs already exist and need only be converted from FORTRAN to BASIC.

I am presently developing a macro capability that allows the user to equate a rhythm sequence to a symbol, and then associate different pitches with each note in the rhythm sequence by means of an argument list in a macro declaration.

The implications of this macro capability go further than just providing a way to eliminate redundancy. The composer often deals in "primitives" which are at a higher level than those allowed by his conventional music language. That is, the composer often thinks in terms of whole musical phrases and note groupings rather than individual notes of which he is compelled to construct those phrases and groupings. In using this higher level language, the composer is able to construct his compositions of larger building blocks and may easily vary the tonal parameters within those building blocks to achieve various aesthetic effects.

The purpose of the SCORTOS system project is to foster computer implemented composition among individuals and institutions whose financial and talent resources have prevented them from undertaking such projects in the past. Over the years various projects of this nature have been conducted at the larger educational centers of the country. The adoption of these projects by individuals and poorer institutions has not been widespread due to the large hardware costs involved, or lack of programming experience within the music departments. I hope that more modestly endowed music institutions will respond to a turnkey installation costing less than $10,000, and that we may shortly see the computer joining the synthesizer and tape recorder as standard equipment in every electronic music studio."

Circle 314 on inquiry card.

208

Continued from page 98

What is the equivalent of the LIN(x) command, the GO TO . . . OF . . . command, the PRINT USING, and the IIV1AGE statements used in the program as listed? Also, when the program is compiled in VM 370 BASIC, lines 1520, 1600, 3370 and 3600 give the error message "NO. OF DIMENS. INVALID"; line 140 gives a "SYNTAX ERROR IN EXPRESSION: message. Can you suggest revisions to eliminate the problems and tell me where to get hold of a VM 370 BASIC manual?

Glenn Bultmann

2218 E Gatehouse Dr

Metairie LA 70001

LIN(x) is a built-in function in the BASIC version used by David Price, a function which is used for formatting control on the terminal. Its semantics are most lihely: "advance the terminal by x lines.''

PRINT USING and IMAGE are related statements, used to establish a format for output similar to the FORTRAN "FORMAT" statement in the version of BASIC used in David Price's article. The manual for VM 370 would have to be consulted to find the equivalent, or you could dispense with formats entirely (and get a much cruder output) by using PRINT instead of

PRINT USING as a temporary measure. The GO TO . . . OF. . . is the logical equivalent of a computed GO TO in FORTRAN, and probably exists also in the VM 370 BASIC. If you must implement it yourself, the semantics should be satisfied by a series of "IF" statements, as in the following conversion of line 780 of listing i of David Price's article, page 107 of the March 1977 B YTE:

New Line 720 code . . .

IF A-ti = 7 THEN GO TO 890 IF A-hl =2 THEN GO TO 1520 IFA-hl =3 THEN GO TO 1640 IF A-tl =4 THEN GO TO 1800 IF A-H = 5 THEN GO TO 2200 IF A + l = 6 THEN GO TO 3010 IF A-tl = 7 THEN GO TO 3550

Of course, this example could be made more efficient by calculating the expression A + l first and assigning its value to a variable; to avoid picking another variable name, we show this version of the logic.

The problems with lines 1520, 1600, 3370 and 3600 are due to the fact that the program as written by David Price uses a "substring" feature of the BASIC version he has access to. The notation A $(x,y) is (from the context of the version of the program we printed) a reference to the characters in string A$ starting at location x and extending to

location y. Thus if A$ = "ANYTHING" then A$(3,5) has the value "YTH" by this interpretation. No simple conversion is possible; however, you can often achieve the same effect by using a FOR . . . NEXT loop scanning the required range of characters within the string and referencing the characters one at a time using A$(l) as a form which is most likely allowed in the VM 370 version of BASIC. (Check the manual on this, and possibly use an alternate substring notation if it exists). As for line 140, figuring out why it gives a syntax error would require reference to the manual; however, noting that many times exponentiation is indicated by a double asterisk (*"*) one likely place to start would be by replacing the up arrow exponentiation symbol by a double asterisk. (This symbol is the upward pointing caret (■^) seen in line 140 as printed in March 1977 B YTE).

As for getting hold of the manual for VM 370 BASIC, the most likely place to start is a trip to the computing center which supports your terminal. Most computing centers for timesharing networks have some form of user accessible documentation library. Alternately use the formal channels at your center to order a manual from IBM, or contact IBM yourself. The company is usually only too happy to satisfy such requests for documentation, and the charges are nominal. ■

»^rv

. » _

d's Lowe

_ _

. ».

■ ^

» _ _ _

. . . i. ^

■ MAM

_ _^i ,

^i

CMOS

4073 .16 1

;W

Drl(

^C

»t

4001 .16

4002 .16 4006 .90

4075 .16 1 4516 .85 1 4528 .75 1

1

ir

^ ^^Htfa^^^^tf^

LINEARS

4007 .16

4008 .70

LOW POWER 1

■

i%d

w t^ricGS

DMB820/30

1.75

4011 .16*

SCHOTTKY _

1

■ ^1

F ■ ■ ■^^^^'*^

NE536T

2.75

4012 .16*

74LS0O .23* 1

1

*

SPECIAL PRICES *

NE555V NE556A

.43 .90

4013 .30* 4015 .80

74LS02 .23* 1

1

74LS08 .23 * ■

MEMORIES

SCHOTTKY

1456V

.75

4016 .35 *

74LS10 .23* 1

1 Rams

74S01

.25

1458V

.52

4019 .70

74LS27 .25* 1

■ 74S200

2.95

74S02

.25

566V

1.25

4020 .90

74LS73 .45 1

1 2102

1.40*

7447

.65*

74173 1.25

74S37

.40

567V

1.35

4021 .95

74LS75 .65 1

2102-1

1.60*

7450

.14

74174 .75

74S38

.60

540L

2.00

4023 .16*

74LS151 .75*

1 Proms

7451

.14*

74175 .75*

74S85

2.00

4025 .20 *

74LS153 .75* |

. 82S23/S123

1.95*

7473

.28

74177 .70

74S113

.80

HIGHSPEED

4027 .40

74LS157 .75* _

1 82S129

3.25

7474

.28

74180 .65*

74S138

1.50

74H00

.20

4028 .60

74LS161 1.00* 1

Others

7475

.40

74181 1.50

74S139

1.50

74H01

.20

4030 .35

74LS163 1.50

1 TMS3409

2.00

7480

.35*

74191 .85

74S140

.50

74H04

.20

4040 .95

74 LSI 64 1.50 1

■ MM 5013

1.50

7483

.68

74192 .70*

74S151

2.00

74H10

.20

4042 .60

74LS174 1.00*

■ NS 5260 1 NSfl61Q

1.50 2.00

7486

.28

74193 .70*

74S153

2.50

74H11

.20

4043 .75

74LS175 1.50 1

_ MH0026H

3.25

7490

.45

74194 .85

74S172

4.50

74H40

.20

4044 .70

74LS193 1.50

1

7493

.44 *

74195 .68

74S174

2.05

74H51

.20

4049 .35 *

74LS221 1.25* 1

1

7495

.49

74198 1.25

74S175

2.05*

74H52

.20

4050 .35 *

74LS251 1.50 "

1 ^'

74107

.29

9602 .50*

74S181

2.95

74H74

.40

4066 .65

74LS253 1.50 1

■ 7400

.12*

74109

.30

9300 .75

74S197

2.20

74H103

.50

4068 .35

74LS257 1.25* '

1 7402

.14

74116

1.50

9312 .70

74S257

1.50

74H106

.50

4071 .16

74LS258 1.25* 1

■ 7403 1 7404

■ 7407

.14* .16* .20 .12*

74123 74141 74145 74150

.45 M; .80* .65* .60*

Order t^immum $10.00 Add St 00 shippin sales tax All orders shipped First Class w

g and handlinc thin 24 hours

charge per order California residents add6.5%

1 7410

Order the famous lasis 6 volume

Progra

Timed Learnir

g Course "Microcomputer Design is a Snap" for |

1 7416

.25

74151

.60

$99.50 and receive a special $10.00 cred

t on any grou

p of IC's. '

1 7420 1 7427

.12* .25

74152 74155

.90 .60

Satisfaction 100% guaranteed.

C O.D. Orders: Phone (day or night) 408/354-1448 1

■ 7437 1 743S

.20 .20*

74157 74160

.60 .75

^iTorS

kl

PO BOX 2542 Bl

. 7440 1 7441

.12* .65*

74161 74163

.60* .75 *

cLlrsv^

N

Sunnyvale, CA 940871

_ 7445

.60

74165

.80

■ ■■ ^m ■

Free catalog—Jus

t send us your name

and address ■ ■■■ ^m ■

m ■■

■ ^m m^ ^m ^m

_ ^ _ ■J

209

Circle 302 on inquiry card.

A Self Refreshing 4 Channel Digital to Analog Converter

Pinnacle Products has announced a self-refreshing 4 channel digital to analog converter that is Altair bus compatible. Instructions are included for alternate connection to Digital Group Systems. Features include complete output port address decoding and a 3 state bus connection. The converter has eight bits of resolution and can be set to cover any range within -10 to 10 V. It oper

The Noval 750 Operating Manual

Nova! Inc, 8401 Aero Dr, San Diego CA 92123, (714) 277-8700, has completed the first edition of the Noval 760 Operating Computer Operating Manual. This 1 inch (2.5 cm) thick loose-leaf manual is available by itself for $20. The manual describes hardware characteristics of available modules, as well as the software of the firm's interactive assembly and editing system, BASIC interpreter, and utility routines.

This computer was developed by Gremlin Industries for in-house use as a design system for video arcade game and educational software, and should make an excellent option for many readers interested in graphics and complete systems with "turn key" characteristics. Use the manual alone if you want to investigate what this system package contains."

Circle 647 on inquiry card.

ates at a rate of 50,000 conversions a second, updating the four sample and hold outputs from a scratch pad register. Circuit operation as seen from the computer is completely static; no software refresh or wait states are required. A 4 byte computer program is used to set up the unit.

The printed circuit board alone sells for $34. The complete kit is $69, and the assembled and tested board is $99. Contact Pinnacle Products, ROB 3155, Talcottville CT 06066."

Circle 646 on inquiry card.

A New Wire Dispenser-Stripper for Wire Wrap and Other Applications

A New Personal Computing Catalog

Sized at 11 by 14 inches (27.9 by 35.6 cm), the Byte Shopper catalog is hard to miss. Published by the Byte Shop of Arizona, 813 N Scottsdale Rd, Tempe AZ 85281, the new catalog describes a variety of microcomputers, video terminals, floppy disks and other personal computing items. A unique feature of the catalog is the tutorial information about personal computers, including a glossary of terms and short articles like: "What Can a Computer System Do?", "The Magic Bus" and "What Makes a Computer Smart?". The catalog is free for the asking."

Circle 645 on inquiry card.

A new wire dispenser from OK Machine and Tool Company, 3455 Conner St, Bronx NY 10475, combines cutting and stripping ability in one unit. Wire is drawn out of the dispenser to the desired length, cut with the built-in plunger, and pulled through the stripping blades. Dispenser includes 50 feet (15 meters) of AWG 30 insulated solid copper wire available in lour colois. People who use conventional wire wrap will find this to be an excellent addition to the tool kit. ■

Circle 648 on inquiry card.

Data General Enters the Personal Computing Market

The Computer Store, a chain of retail personal computer outlets in the Northeast, has announced that they will be distributing the entire line of Data General's Micro-NOVA microcomputers, peripherals and software.

Free catalogs are now available from The Computer Store, 1 20 Cambridge St, Burlington MA 01803, which describe the lull line of products, including expansion memories and interfaces; DOS, RTOS, BASIC, FORTRAN and development software; the DASHER matrix printer and the 6000 line of video terminals."

Circle 649 on inquiry card.

A Timely Kit for HP-45 Owners

Egbert Electronics, 1514 S 320 East, Orem UT 84057, has announced a new kit to improve the accuracy of the stopwatch function on the HP-45 calculator. As most owners of the unit know by now, the HP-45 can be turned into a stopwatch by first pressing RCL, and then simultaneously pressing CHS, 7 and 8. The kit provides a quartz crystal to stabilize the internal oscillator, plus associated electronics. Kit price is $13. Egbert Electronics will do the installation for $23."

Circle 653 on inquiry card.

Digital Equipment's Comments on the Heathkit H11

The following information was received from Digital Equipment Corporation, one party to the synergistic twosome of Heath Company and DEC.

Digital Equipment Corporation announced the signing of a multimillion dollar contract for LSl-11 microcomputers and related products by Heath Company, a subsidiary of Schlumberger, Ltd. The microcomputers, to be delivered over a 3 year period, will be incorporated into Heath's H11 computer

210

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

ELECTRONIC TOUCH ORGAN KIT

ftTTERieS NOT

■JCLUDED

Fantastic new design uses CMOS I.C. and a total of 39 semi-conductors to give a touch control keyboard, all the electronic parts in one PC Board. This organ is easy to build, yet has features like a full two-octave range touch keyboard, variable tremolo; two voices; built-in I.C. amplifier with volume control, complete with speaker and a specially designed pi ex i-glass cas«. kit for beginner or gift tor children $24«50eO»

SLIM LINE CALCULATOR

6 Functions with % and memory 8 Digits LED display 'One full year guarantee Special Price Only

$8.50 Ea.

BATTEHrES NOT TNCLUDED

CALCULATOR

with STOPWATCH

6 Functions with % and memory

8 Digits big green display

*Built-in X'tal controlled stop

watch count to 1/10 of a second.

Special Price Only

$16.50 Ea.

BATTERIEi> NOT INCLUUED

I.C. TEST CLIPS

Same as the E-Z clips

With 20" Long Leads

1 In Black and Red Colors

S1.75 Per Pair

5W AUDIO AMP KIT

, 2 LM 380 with Volume Control I Power Sunolv 6-~18V DC

enlu •5.00 oo.

Multi-Col or LED Indicator

Red—Green Colors in one LED

with Plastic Housing

994 Ea.

Voltage 2V 20 MA per LED

FT-80 ELECT

TIMER KIT

Time Conirolled from 1-100sec.

Ideal to be used as time delay unit for burglar alarm, photo service, and other purposes. Max. loading 110V, 2 AMP. Supply voltage 12-18V D.C.

- TIMER $n.50 each

ELECTRONIC ALARM SIREN

COMPLETE UNIT

Ideal for use as an Alarm Unii

or hookup to your car bsck-ui

to make a reverse indicator

Light Output up to 130 dB.

Itage Supply 6--12V

$7.5U

19 KEY HEXADECIMAL KEY PAD

• 1 —0 • Homekey

• ABCDEF •<-->Key

SPECIAL $10.50 ea.

Low Cost Hexadecimal 16 Key Pad

Designed for CalculaTOi

Can be used for Computer

Data Entry Pad or Digital Lock

AH key tops blank with super

good touch feeling $0.95 ea.

DIGITAL ELECTRONIC LOCK KIT

$6.50 ea.

«Qon

CMOS I.C IN CI RCU AND KRV PAD NOT

iaor, burglar, a 4 Digits Progre Any Combi

NCLUDED

POWER SUPPLY KIT

0-35V D.C. REGULATED

Uses UA723 and 2N3055 Power TR output can be adjusted from 0-35V, 2 AMP. Complete v>/ith PC board and all electronic parts.

035 POWER suPPuv $9.50 each

Transformer for Power Supply, z AMP 24V S3.90 ea.

MA1003, 12V DC CLOCK MODULE

Built in X'TAL controllea time base. Protected against automotive volt transients. Automatic brightness control with 0.3" green color display. Display turnoff with ignition "OFF"

S23.50 EACH

EDGE CONNECTORS (IMSAI Type)

Dual 50 (100 pin)

0.125 spacing wire-wrap

$4.50 EACH

DB25 Type CONNECTOR

Male $3.40 each

Fennale $3.75 each

Plastic Housing for Connector $1.00 each

MULTI-COLOR RIBBON CABLES

Conductors 15 12 18 26 13 22prs

AWG 20 24 24 26 30 26

rice Per Ft. 0.40 0.40 0.45 0.50 0.25 0.40

recj/white twisted prs. fouer 50 ft. per tvpe-less 15%)

QUARTZ CRYSTALS

n

1 MHZ

2 MHZ 4 MHZ 10 MHZ

3.579 MHZ Color TV Type

S4.95 S5.25

£5.25 S5.25 SI.25

CB MICROPHONE

S

500 MIC for CB Unit

Talk Switch with

Connector and Cord

$2.50 each CLOSE OUT SALE

TV CAME MODULATOR UNIT

FCC Approved

ONLY $4.50

Tl1955

ative AY3 8500-1 le (28 Pin Dip) le Chip with Data Squash hockey, :e & 2 shooting. Special Only S11.00

Aiterr

NI-CD

RECHARGEABLE

BATTERIES

SI .25 ea. $1.50 ea. $1.50 ea. $2.50 ea.

' AA size 1.5V C size 1.5V Sub C size F size 1.5V

AUTO ALARM

KIT

.(i,)hi..f Au

:)lli>.l .iiiif) pr

ilhin iliiMilo

I ihf ifjiiiiio s itsiili "on 1h(- hern i^ Irv d.;lnv. Tl

The a

Irorii unwiintiKl c FEATURES Si

not lie turnt'ri off wilfiool ignition key, ^ ONLY S10.00 PER KIT

ELECTRONIC SWITCH KIT

CONDENSER TYPE

Touch on Touch Off

use 7473 I.C.

and 12V relav

$5.50 each

► ►

► ► ► ►

FM WIRELESS MIC KIT

Transmit range up to 100 ft. Easy to assemble (Mic included) $4.50 each

Sub-Mini Size

Condenser Microplione

$2.50 eacli

FET Transistor Built-in

^3IS-^

SIGMA 78REI, 12DC RELAY

400/1 COIL SPOT $1.30 ea. or 10 for $10.00 ALL BRAND NEW UNITS

Computer Grade Capacitors

5600 MFD bUv $2.20 ea.

15,500 MFD 75V $4.95 Ba.

39,000 MFD 12V $2.00 88.

100,000 MFD 6V $3.50 ea.

► ► ►

■Mrxt 5«l*t Only^

$2950

HATIMm

- ** Games—Tennis, Hockey, Racquet Handball and Single Handball.

• Auto counter display on the screen..

CLOCK KIT

MOST POPULAR

MM531<I KIT

Special Only $14.95 ea.

►

► ► ► ►

►

WIRE

WRAPPING

TOOL

$33.50

Wire Wrapping

In Bulk 100' $2.00

500' $8.50

^^;;'

SAE DIP SWITCHES

c

Sub Mini Size PANEL METER

500 UA OIMLY$1.20ea

^.r,^>^.

MATCHED PAIR

POWER TRANSISTORS

MOTOROLA MJE2955 PNP MJE3055 NPN 10 AMP 60 VOLT 90 WATTS

$2.25 PER PAIR

^11^^

TRANSFORMERS

24V CT n2-0-liiV}

800 MA $2.25 ea.

12 or 24V 2 amp Output

$3.90 each

AC POWER SUPPLY

Adapter Type TransTorme 12V AC Output 200 MA $2.75 aach 6V DC Output 130MA S1.90ea. 8.7VDC Output 130MA $1.90aa. 12V DC Output 100MA $1.90 ea.

4 DlgiksAlorm Clock

LT701E. 60Hi. 12 hf. dis; LT701G, 60Hi, 2d hr. dis SiippI

il loi 513.50 each"

AC

villlQl

50 UA PANEL METER

TOGGLE SWITCH

MS 2432P SPST 0.90 0.80 MS 244 SPOT 1.00 0,90

MS-245 DPOT 1.20 1,10

TV AVAIU

SUBMINIATURES TOGGLE y ,/ SWITCHES

On-Otf SI.30 ea.

SPOT OPDT 3PDT

JOY STICK

onlu $7.50 ^o

PUSH-BUTTON SWITCH

N/Open Contact Color: Red, White, Blue, een. Black. a/$i .00

N/Close aiso Available 50<t ea.

UARGE wTV. AVAILABLE

SOLID STATE ELECTRONIC BUZZER

.MINIMUM ORDER $10.00. California

) 10% postage for out of state. Overseas co

SEND CHECK OR MONE^

rasidenis add 6% jntriBS add 15% c ORDER TO

0% FORMULA INTERNATIONAL INC.

12603 CRENSHAW BOULEVARD • HAWTHORNE. CALIFORNIA 902b0

For more information please call (2131 679-5162

STORE HOURS 10-7 Monday -Saturday

rrr*

► ► ►

► ►

►

►

Circle 303 on inquiry card.

kits, which will be marketed primarily for hobby, personal and small business applications via Heath's SO stores and mail order catalog. The contract includes a licensing arrangement providing use of" assembly and higher level programming languages such as PAL-11, ED-11, FOCAL and BASIC with the HI! computer.

Digital's microcomputer forms the central element of each HI I computer. Each is a full computer on a board with the operating characteristics of a standard PDP-11 16 bit minicomputer. Currently there are over 10,000 LSi-lls in use in a variety of applications ranging from scoreboard animation to complex medical instrumentation.

The H11 represents the top of Heath's line of computer kits. It is priced at $1,295 and is scheduled for shipment this Fall.

The LSI-11, unlike most other microcomputers, has a central processor with a full 16 bit word length. It comes with built-in memory of 4,096 word (8,192 byte) capacity. Console operations are microcoded so a terminal can be used for program control and debugging.

The instruction set of the LSI-11 is virtually identical to that of other PDP-11 computers, such as the PDP11/34. Thus, sophisticated program development is achievable with the Heath Hll.

Purchasers of the Hll will be eligible to join DECUS (the Digital Equipment Computer Users Society). DECUS functions as a clearing house for more than

28,000 members worldwide who wish to exchange programs and information. "DECUS holds special symposia and publishes a journal. The DECUS library contains over 800 programs designed for the PDP-11 family of computers, many of which were developed for or can run on the LSI-11," he said.

Circle 654 on inquiry card.

A New Bar Code Reader

Here is one answer to the question, "Where can I buy a bar code reader to read the bar code listings published in BYTE?", leffersonville Engineering Co, 605 E 10th St, Jcffersonvillc IN 47130, phone (812) 288-8246, has :innounced its new bar code reader. Priced at $39.95, the unit outputs +5 V on a bar and 0 V on a space; timing and translation are software dependent. 6502 and 8080 software is said to be currently available for use with the unit.

The company can also print bar code versions of customers' software. Contact them for further details."

Circle 655 on inquiry card.

A New Chip on the Block

We received an interesting preliminary product description for a television raster scan display controller recently, sent in by a gentleman at SMC Microsystems Corporation, 35 Marcus Blvd, Hauppauge NY 11787. The product involved is a 40 pin N-channel MOS LSI device called the CRT 5027 Video Timer-Controller.

This device will be of some interest to those homebrewers and designers who are interested in a minimum hassle path to a raster scan display (where minimum is relative to homebrewing the same logic out of SSI and MSI parts).

What this device does is establish all frame formatting, character scanning and sync timing for a video display (with the single exception of the dot address counter which cannot be practically implemented in MOS integrated circuits). The video display functions use seven 8 bit control registers connected to a bi-directional byte oriented data bus with appropriate select lines allowing easy integration in the typical microprocessor system. The boxes entitled "Operation" and "Additional Eeatures" accompanying this note are copied from page 3 ol the SMC document, and summarize the salient features of the product.

Persons interested in seriously pursuing homebrew (or commercial) designs with this device are advised to write SMC for a copy of the brochure. Who will be the first reader to homebrew a high resolution graphic display using this chip for timing, about 1 6 K bytes of memory, and a good black and white monitor? Find out when (sooner or later) the task is accomplished and a construction project is documented as an article."

Circle 631 on inquiry card.

Operation

The design philosophy employed was lo allow ihe device to interface effeclively with either a microprocessor based or hardwire logic system. The device is programmed by the user in one of two ways: via the processor data bus as part ol the system initialization routine, or during power up via a PROM tied on the data bus and addressed directly by the Row Select outputs ol the chip {See ligure 4). Seven 8 bit words are required to lully program the chip. Bit assignments lor these words are shown in Table 1 The inlormation contained in these seven words consists of the following:

Horizontal Formatting: Characters Data Row

Horizontal Sync Delay Horizontal Sync Width

Horizontal Line Count Skew Bits

Vertical Formatting

Interlaced Non-interlaced

Vertical Data Start

Data RowS'Frame Last Data Row

Scans/Data Row

A 3 bit code providing 8 mask programmable character lengths from 20 to 132 The standard device will be masked for the following character lengths, 20. 32. 40.64.72.80. 96, and 132,

3 bits assigned providing up to 8 character times for generation of "front porch",

4 bits assigned providing up to t6 character times lor generation of horizontal sync width,

8 bits assigned providing up to 256 character times for lotal horizontal formalting

A 2 bit code providing from a 0 10 2 character skew between Ihe horizontal address counter and the horizontal blank and sync signals to allow for reliming of video data prior to generation of composite video signal The Cursor Video signal IS also skewed as a function of this code.

This bit provides lor data presentalion with oddeven held lormalting tor inlerlaced systems II modilies the vertical timing counters as described belov^

8 bits assigned, defined according to the iollowing eguations: Let X v^.ue of 8 assigned bits,

1) in interlaced mode—scans frame 2X * 513 Therelore lor 525 scans, program X 6 (00000110), Vertical sync will occur precisely every 262 '' scans, thereby producing two interlaced fields.

Range 513 to 1023 scans/frame, odd counts only

2) in non-interlaced mode—scans/lrame = 2X ' 256. Therefore for 26.. ocans. program X 3(00000011),

Range = 256 lo 766 scans'frame, even counts only

in either mode, vertical sync width is fixed at three horizontal scans t 3H)

8 bits assigned providing scan line resolution in vertical data positioning with respect to vertical sync. The Data Row Counter is reset at vertical sync =nd will not begin counting until the scan line selected by these eight bits.

6 bits assigned providing up to 64 data rows per frame

6 bits to allow up or down scrolling via a preload delining the count of the last displayed data row.

4 bits assigned providing up to 16 scan lines per data row.

Additional Features

Device Initiatizalion:

Under microprocessor control—The device can be reset under system or program control by presenting a 0101 address on AQ'-3 The device will remain reset at the top of the even field page unlil a slart command is excculed by prcsentmn a 0111 address on A0-3

Via Sell Loading —In a non-processor environment, the sett loading sequence is effected by presen'ir- and holding the 1111 address on A0-3. and is initiated hy the receipt of tfie strobe pulse (DS). The 1111 address should be maintained long enough to insure Ihal all seven registers have been loaded (in most applications under one millisecond) The liming sequence will begin one line scan allei the 1111 address is removed. In processor based systems, sell loading is initiated by piesenting the 1110 address to ihe device Self loading is terminated by presenting the start command to the device which also initiates ihe timing chain.

Scrolling—in addition to Ihe Register 6 storage of the fast displayed data row a scroll command .address 1101) presented to the device will increment Ihe first displayed daia row count lo facilitaie up scrolling in certain applications

212

TERMS: Prices good through 9/30/77. Orders under SIO add 50*. Please include up to ?•% for shipping; excess refunded (may be more with item like ))ower supply). Californians add tax- CODs accepted with street address.

*He GODBOUT GAZETTj?

\X\^ Bill Godbout Electronics * * C

pO Box 2355 Oakland CA 94614

CREDIT CARD ORDERS / 24 HOUR ORDER DESK: Place BankAniericard®/Mastercharge® /Visa® charge card orders (S15 minimum) by calling (415) 5620636, 24 hours. By the way, do you h^ve our flyer? You probably should.

GODBOUT'S INTRODUCES 24K OF MEMORY FOR $450; HOBBYISTS REJOICE!

INCLUDES STATIC DESIGN, TRI-STATE

CAVI

OUTPUTS, S1G0 BUSS COMPATIBILITY

EXCLUSIVE TO

IL is now possible to purcliase three 8K Econoram II™ boai-ds Tor S450. A sinfrle 8K Ixsird . the fastest selling ccmputer kit in Godbout's history, is still available for r-63.84.

"We wanted to make it possible for the Gcniputer hobbyists to stuff a lot of menory into their machines at a reasonable price". Bill Godbout is quoted as saying today. Judgini? frcm the response, he seems to tiave succeeded.

However, a representative for the company stressed that price was not the only attractive feature of this 'loard, citing the low current consumption (1.5A guaranteed, \2S0 mA typical) and high speed (0 wait states). For users of Z-Si, processors driven by a 4 Mb: clock, there is even on - board logic for implementing 1 wait state.

He added, "the vector interrupt feature, which lets you know if you are trying to write

THE GAZETTE

into protected memory, is very handy. Also, the board was designed to be configured as two, separately addressable 4K blocks which adds considerably to the versat i1ity."

A poll of users, undertaken by Godbout's, shows that hobbyists are pleased by the all - stat ic design, which eliminates dynjitnic tininj; problems. Others find tlic tri-state outputs, and fully buffered inputs and outputs, to be their favorite features. All agree that the quality is excej)tional, from the legended and solder masked board to the low profiIc sockets.

Those wishing to take advantage of the special .i/S450 offer should ask for HSPC-24. The standard SK board CS163.S4) is stock number CK-D08; an assembled version, #CK-U10, is available for S188.50. A 4K version of the board costs $100 in kit form {«CK-007) and $120 assembled (fCK-009).

PARTS FORECAST

Low Power

A cooling trend is forecast, \rith the wanii TTL front being WGEiliened by ax)]er, lower power ICs such as CMOS ajid low ptjwer Schottki'. As this colder front moves in, \w c:in expect lower

SCHOTTKY

pri cei hijsk>

Lincl decreased emphasis on power supplies.

74LS00 74LS01 74LS02

SO.30 0.30 0.30

74LS151 74LS155 74LS157

0 1 0

95 38 95

PM

iC

74LS04

0.33

74LSi60

40

LM

Jj

741.S08

0.36

74LS161

40

WIfl

Vf\J

74LS10

0.30

74LS162

40

4000

so.25

4057

0.50

74LS11

0.36

74LS163

40

400]

0.25

4 040

1.50

74 LSI 2

0.53

74LS168

87

4002

0.34

4041

0.85

74LS14

1.38

74LS169

87

4007

0.29

4042

0.85

74 LSI 5

0.30

74LS173

65

4008

1.28

4043

0.60

74LS20

0.30

74 LSI 74

25

4005

0.53

4044

0.60

74i.S21

0.33

74 LSI 75

15

4010

0.53

4047

1.63

74LS22

0.55

741,5195

30

4011

0.29

4049

0.50

74LS26

0.45

74LS240

SR

4012

0.29

4050

0.50

741.S27

0.56

74LS257

25

4013

0.50

4051

1 .05

741,S30

0.50

74LS258

25

4014

1.23

4052

1.03

74LS32

0.58

74LS266

.■^3

4015

0.90

4053

1.03

74LS37

0.45

74LS283

20

4016

0,45

4060

1.48

74LS38

0.45

74LS365/

4017

1.23

4066

0.58

74LS42

0.98

80LS95

0

75

401?

0.55

4069B/

74I.S47

1.00

74LS566/

4020

l.SO

74C04

0.33

74LS4a

0.9S

80LS96

0

75

4021

1.23

4070

0.60

74LS74

0.50

741,3567/

4022

1.20

4071

0.35

74LS75

0.68

801,597

0

75

4023

0.29

4073

0.53

741.S76

0.50

74LS368/

4024

1.P3

4075

0.33

74I.SS6

0.50

80LS98

0

75

4025

0.29

4076B/

7415109

0.50

74LS5S6

0

55

4027

0.75

74C173

1.63

74LS125

0.63

811,595

1

13

4028

1.00

4081

0.33

74 LSI 26

0.63

811,596

1

15

4029

1.73

4116

0.50

74 LSI 32

1.25

811,597

1

15

4030

0.53

14511

2.00

74LS138

1.10

811,598

1

15

4035

1.50

74 LS139

1.15

Energy Crisis Hits Home

Ccmputer ovwiers fnxn coast to coast have com]jlain(sJ of a l;ick of available energ>' for their computers. Tlie problaii lies not with power generating stations. but rather with the shortage of compact, low priced jX">wer supplies capable of providing the many voltages required by microprocess i ng systems. ILxper imentei-s also report being frustrated by the lack of power supplies,

Havever, the Giizette has confinix?d existence of a solution to this energy crisis. Our highly placed source, nicknamed "deep volt", has leaked tlie following information .ihout a "CPU Power Supply", also known by.its stock number [SCK-OI'l).

"T!ie unit appears to be a well thought out supply, which delivers 5V '? 4A with crowbar overvoltage protection, along witii -j Amp of +I2V and '■■ Amp of -12V. A particularly sneaky feature is an adjustable 10 mA bias supply, requi red by some CPUs, that is often not included in other units. Those who say there are no economical power supplies for small systems are in for a shock as the price is a mere S50.

"Dc,s[)it;e rumors of a power supply energy crisis, with wildly inflated prices forced on a public with no other choice, it seems that the Godbout CPU Power Supply should lay these misconceptions to rest permanently."

MOTHERS SAFE FROM BUSS POLLUTION

Many motherboards have reported flu- like symptoms (coughing, sneezing, dropping bits, scrambling data) when loaded with more than a few periphera 1 boards. It seemed that ttiese motherboards lacked antibodies capable of rejecting noise, crosstalk, overshoot, etc. This is commonly called "buss pollution" .

However, it was discovered that a particular group of motherboards, located in the wilds of the Oakland Airport, had developed an immunity to buss pollution.

It seemed these motherboards had active termination circuitry, and that's what accounted for the difference. Old motherboards may be immunized by simply plugging in an Active Terminator Network (MCK-017, $29.50).

Or, if you want a new motherboard, ("lodbout's has two — both with active terminations , lots of bypass caps, and heavy Pt; board traces:

'fCK-OlS. a 10/11 Slot Motherboard, comes with 10 edge connectors and is ctcellent for adding on to small systems. $90.00

''CK-OU), an 18 Slot Motherboard, includes 18 edge connectors and is ideal for starting a stand-alone system. $124.00

Processor

Prices Plummet

The workhorse 808UA. darling of the chip set, has reached a new low in pricing. Prime, new full spec units cost only $12.95 regardless of quantity purchased when you order part ffSPC-22.

In a parallel development memory prices continue to drop. Full speed 2708s are now availal-le for $25.00 ; order p.Tri «SPC-23.

COMPUTER STRIKE AVERTED

Things looked tough at the negotiating tables located at computer stores throughout tiie country. The heart of the problem was a common computer grievance: having to shuttle programs in and out of tiieir R.'VMs, thus hampering their productivity, and tying up work for hours at a time. Computers also complained of abuse at the hands of owners, who became enraged when programs wont down tlie drain if tlie power went off for even a split second.

When the Godbout team of negotiators arrived on the scene, the computers showed a new spirit of compromise. After all, many of tliem had Godbout memories inside

their cases and computers are

known for tlieir loyalty.

Th e solution: the c omput e rs would go on working, i_f the owners plugged Godbout f-iconorom [[T" boards into their systems. Tlien, they would't have to worry about losing their minds if the power went away, because l^conoroms hold programs and routines in eraseable read only memory. So that owners wouldn't face undue hardship due to the extra expense Godbout's introduced several different hoards, of various price levels and complexities. All of them feature IK of static RAH as part of the memory; all of them are compatible with the S- 100 buss used by Altair, IMSAI, and many others. They can be programmed by the Godbout Programming Service, or may be shipped unprogrammcd.

Many computers, however, spocifically suggested the 8080 software board. This 4K Econorom II is programmed with editor and assembler routines for the 8080, very much like the old [■conorom; but this newer version has improved listings, which are a natural for getting any 8080 system up and running. For the benefit of any computers who did not receive word of the strike settlement, listed below are the boards offered by Godbout's: f'CK-002 (Smaller) Fconorom II™;

2K X 8 of liROM $195.00

«CK-003 (Basic) Econorom \]™: -IKX 8 $250.00

''CK-004 (Bigger) Hconorom if" ; SK X 8, configured as two separate 4K blocks S350.00

»CK-005 8080 Software Board A valuable first step in breaking away from machine language programming $265.00

TANTALUMS

PICKED TO

CLICK

Tantalum capacitors, long a favorite of industrial contractors where price is no object, are famous for their low series resistance. Now, Ciodbout' s is making them availalile to the electronics hobbyist at popular prices. The list below shows all tantalum capacitors known to be in existence at the Godbout warehouse.

«cra.ii7i

•CT2.2U

9CT2.7U

eCT3.3U

KTA. 711

BCT22U

.'ICT53U

SCT59U

SCTJ7U

.47 uF 35V

2.2 uF 20V 2.7 uF 20V

3.3 uf 15V 4.7 uF lOV 22 uF lOV 53 uF lOV 39 uF lOV 47 uF 6V

{advejitchement)

4/Sl.OO 4/Sl.OO 4/Sl.OO 4/Sl.OO 4/$1.00 3/,$1.00 3/.tl.OO 3/Sl.OO 3/Sl.OO

Scientists

discover

missing link

1 Koooooooooooa/I \

/°K J o\

' [ FEMALE J -^

nOODODDUUUUU

W-Illlll I|l|l|lllll^r^

1 MALE 1

UUUdUUUUODtTOU

/ c :, .

HOOD

Scientists have long puzzled over the "missing 1 ink" between

computers and the outside world. Many have searched for this missing 1 ink, known in scientific circles as tlie DB-25 connector.

Extensive diggings at a certain manufacturer have resulted in the finding of this missing link by Godbout's trained researchers . They have isolated this missing link into three actual links, each of wiiich performs a needed function in the crucial computer / outside world interface.

sCK-1004 - DB25P 25 pin RS - 232 connector, sub mini U type, male plug with plastic hood. $3.95

SCK-1005 - DB25S 25 pin RS-232 connector, sub mini |t typo, female jack, $3.95

pCK-1006 - 0B2Sli plastic hood, which slips over the male plug to keep dust and glop from gimiming up your connector. $0.90

Circle 304 on inquiry card.

-"^CRYSTALS \m:-'

— ,~^_ ™ESE FREQUENCIES ONLY . '^'^-il-l — Part # FroquBncy Case/Styta Price CVIA 1.000 MH! HC33/U S5.95 CY2A 2.000 MH; HC33.'U S5.95

ICY2-01

2.010 MH;

HC33/U

CY3A CY7A CY12A CY14A CV19A CY22A CY308

<.000 MH;

5.000 MH; 10.000 MH; 14.31B18 MH; 18.000 MH; 20 DOD MH; 32 000 MH;

HC18.U HC18;U HC18;U HC18U HC18/U

Hcie;u

HC18/U

SI-951 S4.95 S4.95 S4.95 S4.95 S4.95 S4.95 54.95

XR-22D6KB KI1 $29.95

WAVEFOnM GENEHATORS

Xf1-20S SB 40

XR-2206CP 4 49

XR-;207CP 3 85

Special

EXAR

MISCELUNEOUS

STEREO DECODERS

XR-1310CP S3 20

XR.1310EP 3 20

XR-ieOOP 3 20

XH-2567 2.99

XR-22I1CP

XR-4136

XR-146B

XR-148B

XR-14fl9

XR-220B

XR-2206KAKi( S19.95 TIMERS

XR-555CP S 39

XR-320P 1 55

XR-556CP 1 85

XH-2556CP 3 20

XR-22.10CP 3 25

PHASE LOCKED LOOPS XR-2I0 5 20

XR-215 6 60

XR-567CP 1 95

Xfl-567CT 1 70

CONNECTORS

PRINTED CIRCUIT EDGE-CARD

.156 Spacing-Tin-Double Read-Out Bifurcated Contacts — Fits .054 to .070 P.C. Cards

15/30 PINS (Solder Eyelet) SI.95

18/36 PINS (SoUer Eyelet) S2.49

22/44 PINS (Solder Eyelet) S2.95

50/100 PINS (Wire Wrap) $6.95

50/100A(.ioospacino) PINS (Wire Wrao) $6.95

25 PIN-D SUBMINATURE

DB25P PLUG $3.25

DB25S SOCKET S4.95

31/2 DIGIT DVM KIT

This 0-2 VDC 05 pei cent digital vollmelet lealures Ihe Motorola 3V; digil DVM chip sei it has a 4' LED display and operates tiom a single +5V power supply. The unit is provided complete wilh an mieclion molded black plastic case complete with Bezel. An optional power supply is available which fits into Ihe same case as ttie 0-2V DVM allowing 117 VAC operalion.

A. 0-2V DVM with Case $49.95

B. 5V Power Supply $14.95

Etching Kits

32 X A-1 PC Etch Malerials Kit

enough loi 5 ciicuil boards

27 X A-1— Plugboards 3662

22/44

880QV

® /te

Eiched Ciicuil Kit

Compieie kii — only add watei

6.5 X4.5 X !/l6Epoxv glass

P-Patiern-il4 PC. Tabs-spaced 156'

Mallng corrnectac toi plugboard —

22 pin double readout

Universal Miciocomputer;'Processoi

plugboard — Epoxy Glass—complete

with heatsmk and mounting hardware

5 313 X 10 X 1/16 copper ctad

$29.95 ea. S 9.95 ea. $ 6.95 ea. $ 2.95 ea.

S19.95ea.

1/16 VECTOR BOARD

6-:P-:-i062xxsP 169P-i>i02XXXP 5.1PJJ 052 B.1PJJ 062 l69P<ia 062 169Pe.i 062 t69P-iJ062C1

6 1?

® l/am

SLIT-N-WRAP WIRE WRAP TOOL

• Slits and opens insulation exposing bare wire

• No pre.cutting or pre-stripping.

• Comes complete witti two -100 ft spools #28 AWG wire Moifel P180 S24.50

HEXADECIMAL ENCODER 19-KEY PAD

^jCS^Zft^A . ABCDEF

■^■■^BB^ . Return Key ^^^^^^^^^^^^L • Key (Period)

- Key

$10.95 each

63 KEY KEYBOARD

This keybaard lealures 63 unsfi' coded SPST keys, unallactied to ary kind of P C.B. A veiy solid molded piRslic 13" x 4" suils most aoplicaiions

$24.95

HD01G5 16 LINE TO FOUR SIT PARALLEL KEYBOARD ENCODER

TOOLS

A97MS — Diagonal Cutter - 4" semi-flush cut S8.50ea.

A11DMS —Chain Nose Pliers - 4^*"" long 7.50 ea.

T-6 — Wire Stripper - #16 to #26 gauge 3.75 ea.

55B — Wire Stripper ■ #10 to #20 gauge 2-50 ea.

CS-8 — Cutter-Crimper Tool - QVa" long 8.50 ea. Nippling Tool — Cuts. Trims or Notches Metal

up to #18 gauge 6.95 ea.

Nibbling Tool Replacement Punch 3.75 ea.

PERMACEL"' P-29 PLUS Electrical Tape - All Weather

• W widDJi 56(1. • Black Vinyl

■9 Rolls $.79 each 10-up Rolls $6.95/10 roll packane

Vi

MICROPROCESSOR COMPONENTS

8080A CPU 8212 8Bil Input/Output 8214 Priority Interrupt Conliol 8216 Bi-Directional Bus Driver 8224 Clock Generator/Driver CDP1802 - with user manual

CPU'S 3060 Smi 8008

J080A Super 8008

2650 a BIT MPU

$19.95 4.95 15,95 6.95 10.95 39.95

8228 System Controller - Bus Driver

MC6800L 8 Bit MPU

MC6820L Petiph. Interface Adaptei

MC6810AP1 128 X 8 Static RAM

MC6830L8 1024 x 8 Bit ROM

Z80 CPU

256 «

250J 2518 2519 2524 2525 2527 2529 2532 2533

102-: Dynamic Hex 32 BIT He» -10 BIT 512 Dynamic 1024 Dynamic Dual 255 BIT Dual 512 BIT OuM 80 BIT 102-1 Sialic Firo 16 > -I Reg

8599 91L02 7.1200 93421

RAM'S Sialic sialic Sialic Dynamic Sialic Sialic Sialic Sialic Sialic Sialic

S10.95 35.00 15.00 6.00 18.00 49.95

S 1.49

Wmiti

ROM'S

2513(21401 Chai. Gen -upper case 2513(3021) Chai Gen.-lower case 2516 Char Gun.

1702A

5203

82S23

835123

745287

3601

|27fli

PROMS

F,!miis

OpenC Trisiale Sialic Fa^t

6301-1 6330 1 G331-1

^prom

Tn-Slale Bipolar Open Coiled Of Bipolar Tn-SlalE iiipoliT

3 49

FCM3917 S

AY-3-a500-l S

MC3061P

MC4016P (74416)

MC14583

MC145B2

CD4059

CD4070

MCI 4409

MC14410

SPECIAL REQUESTED ITEMS

C04508

CD4515

CD4520

MCM6571

MCMB574

UCM6575

MCM419

ICM7045

6 50 2 ?0 17 50 17,50 17 50 14 95 24,95

82S115

5841

MK50240

11C9D

0S0Q26CH

TIL30B

ICM720B

ICM7207

17,50 19.95 3 75 10,50 22,00

8197

3341

9368

MCI40BL7

LD11D/LD111

AY-5-9100

95H90

ICM7209

HD0165

3.95

9 95

25,00/set

ALLOW I TO 3 WEEKS DELIVERY

PARATRONICS

Featured on February's Front Cover of Popular Electronics

Logic c—-7:^ii\ ^^^^"^

Analyzer Kit Vl»t****V.\$,j9'!So/Kit

Some applicalions are: Troubleshooting microprocessor address, instruction, and data flow Examine contents of ROMS Tracing operation ot control logic Checking counter and shift register operation Monitoring (/O sequences Verifying proper system operations during testing

. Analyzes any type of digital system

► Checks data rates in excess ot 8 million words per second

► Trouble shoot HL, CMOS, DTL, RTL, Schottky and MOS families

I Displays 16 logic stales up Id 8 digits wide I See ones and zeros displayed on your

CRT, octal or hexadecimal format ■ Tests circuits under actual operating

conditions ' Easy to assemble — comes with step-by-step construction

manual which includes 80 pages on logic analyzer operation.

TIROGER EXPANDER — Modal 10 Adds 16 additional Bits — Connects direct lo Model 100A (Opiional baseplate permlls mounling lo lOOA lor integrated until (Baseplate - S12.Q0) Modal ID —i229.0

BUGBOOK "-'

Continuing Education Series

(/

BUGBOOK I & II -Basic concepts of HL Logic—over 90

experiments $17.00/se1

BUGBOOK lla - Introduces UART — recommended

tot Rnv emhusiast SB.OO/book

BUGBOOK III - Explores 8080 cliip — introduces

Mark 80 filicrocompufer SIS.OQ/bDDk 555 TIMER APPLICATIONS SOURCEBOOK WITH EXPERIMENTS —over 100 design techniques $S.95/baok CMOS-M-DESIGNERS PRIMER AND HANDBOOK a complete Cft^OS instruction manual $6.00

Inliridiictfliy Oilei - M b l)ool^s iwoilti t-19 95i SPECIAL ■ S42.95

CONTINENTAL SPECIALTIES

PROTO BOARD 6 S15.95

(6" long X 4" wide)

Other CS Praia Boards

-4.5"x6-5.8"x4,5" -7"x4.5" -9"x6"

- 9.5" x 8"

- 9.75 X 6ft X 2*. PB203A - 9.75 x 6% x 2«i (includes powei supiily)

S 19.95 29.95 39.95 59.95 79.95 75.00 20.00

MAX-IDO Fraqusncy Counlsr

20 I^Hi-lOOr^H; — 8 ilioit — .6" LED

Available Seplemboi 15. 1977 (1M.95

Logic Monitor S84.95

loi DTL. HTL. TIL 01 CMOS Device;.

PROTO CLIPS

14 PIN 34.50

16 PIN 4.75

24 PIN 8.50

DESIGN MATES

1 - Circuit Designer

54.95

2 - Function Generator

69.95

3 - RC Bridge

59.95

QT PROTO STRIPS

•Hi:

UI type QT-59S QT-59B QT-.17S 0T-47B QT-35S 0T-35B 0T-18S QT-12S OT-BS 0T-7S

590

Pes slop •170 Pus snip

Expenmenlor 300 Experimentor 600

S 9.95 S10.95

SS.OO Minimum Ordsr — U.S. Fundi Only l^lltcmla Rflililamt — Add 6% SalBi Tax

Spac Sliaats - 2Se — Send 35e Stamp tor 1377A Catalog Dialer Intormallon Available

1021-A HOWARD AVE., SAN CARLOS, CA. 94070

PHONE ORDERS WELCOME — (415) 592-8097

All Advartltad Prlcai Bood Tlini September

CDfinnebancI "\ Digital AJarm Clocks

C-SDO - Ivory Case C-50DB ' Ebony Case

$16.95

t Do;e Button

• 100% Solid State

» Large Red Led Display I 8 tiiglil

• AM.'PM Indicator

t Seconds di?play ai loucn ol hultDr

• Power lailiifc indicaloi

• One year tacloiy warranty

TImeband' lamp clock

• 24 hour alarm

• Doze button

• Alarm-on indicator

• .8" high Red LED Display

• AM/PM Indicator

• High intensity lamp

• Lamp shuts off when collapsed Model C-590 (Ivory) $29.95

i

DIGITAL AUTO INSTRUMENT

SEVEN DIFFERENT INSTRUMENTS!

MEETS on EXCEEDS ORIGINAL AUTOMOTIVE SPECS.

Please specify which ono ol the seven models you wan!

whon ordermg - these do nol all cowe m one unit.

Each model must be tioughl separately.

. SPEEDOMETER* ^ 0-99 MPH

TACHOMETER 1 0-9900 RPM

4, 6 Of 8 Cyclindors

I WATER TEMP.

FUEL LEVEL 3 Percentage Low Fuel Indicitc

^:

OIL PRESSURE

_ BATTERY MONITOR

' -1 Volts Ffom 11-15 VDC

BRIGHT YELLOW ORANGE :i ' I Fn DISPLAY!

Kit includes case, bracket and all componenis — complete Nothing else lo buyi 12 Von NEG GHD

DIMENSIONS 4V;.»4 X 2 KIT: S49.95

Add S10.00 lor roquiied speed transducer ASSEMBLED: S59.95

DIGITAL STOPWATCH

• Brigni 6 Digit LEO Display

• Times to 59 minutes 59159 seconds

• Ciysial ConHoHM Time Base

• Three Stopwilches in One

Times Single Event — Splil S Taylor .Size4,5x2,15'»,90'(^''iOunces|

• Uses 3 Penlite Cells

Kit - $39.95

Assembled — $49.95

Heavy Duty Carry Case $5.95

Stop Watch Chip Only 17205) S19.95

QUARTZ DIGITAL AUTO CLOCK OR ELAPSED TIMER!

Elapsed Tlmsr: Hre. Mint and Sees

12 or 24 Kr Capacity

Simple Reial • Start Pushbutlon

Control

Complete ltd includes mounling braclcet. case and all components, noinmg else to buy FeatiJiesUM5314[:nip Large ^l' LEOs Accuracy better man : mm per mo internal battery backup 12 volt non-polar operation

DIMENSIONS -Vi » J x ? 1?oi ?illlOUR MODE

Kit: $29.95 Assembled: S39.95

CASE ONLY (includes hardware, mounling bracket and bezel) $6.50

JE700 CLOCK

The JE700 is a low cost digital clocli but IS a very tiign quaiilv unit The unit tealiiies a stmulated walnut case wilh dimensions ol 6 I?'; >i iiutili;esa MAN72 high Dtigntness readout, and ine MM53l-ldDCl^ cfiip

$17.95

DIGITAL CLOCK KIT — ZVi INCH DIGITS

4 DIGIT KIT $49.95 6 DIGIT KIT $69.95

4 DIGIT ASSEMBLED $59.95 6 DIGIT ASSEMBLED $79.95

Ttiis cloch features bio 3^" high digits tor viewing in offices, auditofiums, flic. Eai:ti digit is formed by 31 bright 0.2" LED's. Ttie clock operates from 117 VAC. lias either 12 or 24 hr. operation. The 6 digit version is 27" x 3!*"x1V^"andthe4digitis18"x3W" x 1Vi".(<ils come complete with all components, case and transformer.

Specify 12 or 24 Hour When Ordering

JE803 PROBE

rne Logtc Prooc is <1 unit wnicti is loi me most pan mdespensible ir) iiouDle shootmg logic lamilies TTL OTL RTl CMOS It derives Ihe power A needs ID operate direcHy o'l or tne circuit under lest diawing a scant 10 mA ma- It uses a MAN3 leaOoui to indicate any ol tne lollowmg states Ov Ifiesesymbols (Hi i ilOWi oiPULSEl P ine Piode can Oetecl nign Irequency pulses 10 J5 MHi

an I be used ,it MOS levels or circuit damage

lesult

$9.95 Per Kit

Drinled circuit board

PL 5V 1A Supply

Tdis IS d siandaro TTL power supply using trie well l(nown LM3D9K lequlJiOilC 10 provide a solid 1 AMP ol current at 5 volls We try to malie things easy tor you by providing everything you need in one package, including Ihe hardwatc

'•■•"'» S9.95PerKit J

Circle 305 on inquiry card.

^^B 7400N TTL

SN7400N .16 SN7«9A .25 SNTflOIN , 16 SNZJeON .22 S^741H^ SN7402N .21 SN7470N .45 SN74155N SN7403N . 16 SN7472N .39 SN741S6N SN7404N .18 SN7473N ,37 SN74157N SN7405N .24 SN7474N ,32 SfJ74160N SN7406N .20 SN747SN'- .50 SN74161N SN7407N .29 EN7476N' ,32 SN74163N SN7408N .25 SN7479N 5.00 SN74164N SN7409N .25 SN74eON .50 SN74165rj SN7410N .18 SN7482N .98 SN74166N SN7411N .30 SN7483N .70 SN74167N SN7412U .33 SN7485N .89 SN7417GN SN7413N 45 SN7485N .39 SN74172N SN7'!14N .70 SN74aeN 3.50 SN74173N SN7416N ,35 SN7469N 2 49 SN74174N SN7417N .35 SN7490N ,45 SN74175N SN7420N .21 EN7491N ,75 SN74176N SN7421N .33 SN7492N ,49 SN74177N SN7422N .49 SN7493N .49 SN74ie0N SN7423N ,37 SN7494N ,79 SN74181N SN7425N ,29 SN7495N .79 SN74ie2N SN7426N .29 SN7496N ,89 SN741B4N SN7427N .37 SN7497N 4.00 SN74185N SN7429N .42 SN74100N 1.00 SN741fl6H SN7430N ,26 SN74107N .39 SN74187fJ SN7432N .31 SN74121N' .39 SN74188N SN7437N .27 SN74122N .39 SN74190N SN743eN ,27 SN74123N ,50 3N74191^ SN7439N ,25 SN74125N .60 SN74192N SN7440N .15 SN74126N 60 SN74193N SN7441N .89 SN74132N 1.09 SfJ74134N SN7442N .59 SN74136N .95 SN74195N SN7443N .75 SN74141N 1.15 SN74196N SN7444N .75 SN74142N 4.00 SN74197N SN7445N .75 SN74143N 4.50 SN74198N SN7446N .81 SN74144N 4.50 SN74199N SN7447N .69 SN74145N 1,15 SN74200N SN7448N .79 SN74147N 2.35 SN74279N SN7450N .26 SN74148N 2,00 SN74251N SN7451N ,27 Sf*74150N 1.00 SN742a4N SN7453N ,27 SN74151N .79 SN74285\ SN7454N .20 SN74153N .89 SN74367N MANY OTHERS AVAILABLE ON REQUEST 20% Discount for 100 Combined 7400's

CD400O CO4O01 CO4O02 CD4006 CD4007 CO4O09 CD4010 CD4011 CD4012 CD4013 CD4016 CD4017 CD4019 CD40;0 CD4022 CD4023 CD40;4 CD4025 CD4026 CD4027 CD402a CD4029

,25

CMOS

CD4030

CD4i335

CD404C

CD4042

CD4044

CD4046

CD4047

CD-)049

CD40SO

CD4051

CD4053

C04060

CD4066

CD4069

CO4071

CD4081

CD4511

C04518

MC14565

74CO0N

74C02rj

74C04rj

.75

74C10N

,65

74C20N

,65

74C30N

.65

74C42N

2,15

74C73N

1.50

74C74

1.15

74C90N

3.00

74C95N

2.00

74C107N

1.25

74C151

2,90

74C154

4.00

74C157

2,15

74C160

3.25

74C161

3.25

74C163

3.00

74C164

3.25

74C173

2.60

74C193

'?l^

74C195

2.75

MC4044

4.50

MC14016

.56

5.2

LM301H

LM301CfJ

LM30ZH

LM301H

LM305H

LM307CN

LM30aH

LMSOaCN

LM309H

LM309K

LM31CK;N

LM311K

LM311N

LM3iaCN

LM319N

LM320K

LM3Z0K

LM320K

LM32DK

LM320T

LM320T

LM320T

LM320T

LM320T

LM320T

LM320T

LM323K

LM324N

LM339N

LM340K-5

LM340K-6

LM34QK-6

LM340K-12

LM340K-15

LU340K-18

LM340K-24

LM340T.5

LM340T-6

LM340T-B

LM340T-12

LM340T-15

LM340T-16

LM340T-24

LM350N

LM351CN

LINEAR

78MG

LM37DrJ

LM373N

LM377N

LM380N

LM380CfJ

LM381N

LM382N

NE501K

NE510A

NE531H

NE536T

NE540L

NE550N

NE555V

NE560B

NE561B

NE562a

NE565H

NE565N

NE566CN

NE567H

NE567V

LM703CN

LM709H

LM709N

LM710N

LH711N

LM723H

LM723H

LM733N

LU739N

LM741CH

LM741CN

LM741-14N

LM747H

LM747H

LM748H

LM748N

LM1303N

LM1304N

LM1305N

LM1307N

LM131DN

LM1351N LM1414N LM1458C LM1496N LM1556V LM2111N LW2901N LA13065N LM3900N LM3905N LM3909 LM5556N MC555BV LM7525N LM7535N

1.25 4.95

3.56 2.4

LM75450 75451CN .39

75452CN .39

75453CN .39

75454CN .39

75491CN .79

75492CN ,89

7i494CN .89

HCA LINEAR CA3013 2,15

Cfl3023 CA3035 CA3039 CA3046 CM059 CA3050 CA3080 CA30ei CA30fl2 CA30B3

CASoee

CA3089 CU091 Cfl3102 CA3123 CA3130 CA3140 CA3600 RC4194 RC4195

74LS0C 74LS02 74LS03 74LS04 74LS05 74LS0a 74LS1D 74LS13 74LS14 74LS20 74LS26 74LS27 74LS28 74LS30 74LS32 74LS40 74LSS] 74LS55 74LS73

i74LS00 TTL

74LS7-1

74LS75

74LS76

74LS83

74LS85

74LS86

74LS90

74LS92

74LS93

74LS95

74LS96

74LS107

741_SI09

74LS112

74LS132

7JLSI35

74LSI38

74LS139

74LS151 74LSI 53 74LS157 74LSI 52 74LS163 74LS164 74U17S 74LS181 74LS190 74LS191 74LSI 92 74LS193 74LS194 74LS195 74LS257 74LS260 74LS279 74LS67Q

■ MUS312

I r^5314

I MM5316

I' MM5318

f CT70C1

I 7400~

K CMOS

^k Linear

CLOCK CHIPS

6 DiQtl, BCD Outputs. Resel PIN, $9.95

6 Digit, BCD OutpLts, 12 or 24 Hour 4.95

4 Digit. BCD Outputs, 1 PPS Output 4.95

6 Diflit, 12 ot 24 Hour. 50 or 60 Hz 4.95

4 DiQiI, Alarm. 1 PPS Output 6.95

Video Clock Cfiip. for Use Wilfi IMM5B41 - S9 95] 9.95

6 Digit. Caierdat. Alarm. 12 or 24 Hour 5.95

DATA_HANDBOOKS

■in.OUT & Description ol S400/7400 ICS S2.95 ■inout & Description of 4000 Series ICS $2.95 'inoul & Functional Description $2.95

ALL THREE HANDBOOKS$6.95

T249 White w/Iincilg| $1S.H T248 YbIIow w/bncil«l S22.96

TZ37 Willa w/braci1il $22.06 T23e Yallow w/bnMlat J2S.9G

— Watches —

Men's & Ladles

• Solid State

• Displays hour, minute, second, montti & day

• Free set of replacement batteries

• Ctioose LED or LCD styles

• One year factory warranty

TC437 Whlls w/bracilit $29.96 TC43fi YallDW w/bncslBl S34.9S

LadlH LCD

TC62G Whlia w/ttnp $29.95 TC624 Yellow w/itnp S34.95

T32S Willi w/ttnp T324 Yellow w/ttrip

£H/INNELCF]

$159.95

• Freeze Action • Speed Option

• Automatic time and scorekeeping

• Battery-free AC operation

• Dual controls witti 8-way action

• Built-in Pro Hockey and Tennis games

• Easy hook-up on any B/W or Color TV

• Factory warranty

Channel F — additional cartridges — $17.95 ea.

Q813 — Blackjack (1 or 2 players) 0814 — Spitfire {1 or 2 players)

0811 — Tic-Tac-Toe/ShootifiQ Galleiy 0819 — Drag strip (1 or 2 players) Quadra-doodle/Doodie/ 0815 — Spacewar (2 players) 0820 — Maze (2 players)

0812 — Oesen Fox/Shooting Gallery 0618 — Magic Numbers (computer logic) 0822 — Baseball (2 players)

DISCRETE LEDS

XC111 XClll

xcni

Red

4/S1

xcase

)(C556 XC556 JCC556 XC556

Yellow

Orange 4/Sl

.085" dia, MV50 - Red ■ 6/Sl

INFRA-RED LEO

DISPLAY LEDS

MAM 82 MAN 84 MAN 3620

POLARITY

Common Anode 5 « 7 Dol Mfllrn Common Csllioile Common CittiodP ComTon Anode ComTion Anode-giefin Comtion Anofle-yellow Common Anode-green Common Anode-rud Coirnion Cattinde ComTion Anode-yellow Com-non C;]l node-yellow Common Anode -orange

TYPE

MAN 364n

WAN '1710

DL701

DL704

OL707

MAN Alifi

DL741

dl m

DL 750 DL33B FHD7a RJO503

FND507

POLARITY

Common Calhode-orange Common Anode-Red Carrmon Anorte-red ^ Common CalhDde Common Anode Common Anode-Red Common Anode Common Anode Common Cathode Common Caihnde Common CalMode Common Catliodc Common Anode

■I^^B

FCS 8000A — 3'/2 Digit — .8" Display

NEW! 25 Pin Version with colon & am/pm indicator

• Connects almost one lor one with 3817, 3fl17A or D, (3817 available at S5.00 each).

• Typical segment current 8mA except colon. 10 hrs, b S c and 10 miri. a & d which are 16 mA.

• Forward voltage drop 1.5 volts.

FRONT VIEW - FSC3000

SPECIAL 54.95 EA.

. MAXIMUM FORWARD CUHREM —25 mA

HP 5082-7300 Series — Multi-Digit

Va" Ht. • Common Cathode • Dip Package 3 to 5 volts @ 5 mils per segment 7 segment Monolithic • Red Display

2 Digit % .79

3 Digit .69

4 Digit .99

5 Digit 1.19

1-24

IC SOLDERTAIL — LOW PROFILE (TIN) SOCKETS

16 pin IB pm 22 pin H pin 16 pin 10 pin 2i pin

16 pin 18 pin

^ SOLDERTAIL STANDARD (TIN)

36 pin 40 pm 42 SOLDERTAIL STANDARD (GOLD)

24 pin ^^^^^ 28 pm

43 40 pm

WIRE WRAP SOCKETS (GOLD) LEVEL #3

24 pm 28 pin

53 40 pin

50 PCS. RESISTOR ASSORTMENTS $1.25 PER ASST.

10 OHM 12 OHM 15 OHM IB OHM 22 OHM

ASST. 1

ASST. 2

J <ASST. 3

o

ASST. 4

a.

J/SaSST. 5

ASST. 7

ASST. 8R

27 OHM 33 OHM 39 OHM 47 OHM 56 OHM

6a OHM 83 OHM 100 OHM 120 OHM 150 OHM

180 OHM 220 OHM 270 OHM 330 OHM 390 OHM

470 OHM 560 OHM 680 OHM 820 OHM IK

1.2K 3.3K 8.2K

1.5K

1 BK

220K 560K 1.5M 3.gM

2.2K

lOOK 2r0K 680K

2.7K 6.8K

Sea. 2.7M 3.3M

Includes Resistor Assortments 1 -7 (350 PCS.)

1/4 WAH 5% = 50 PCS.

1/4 WAH 5% = 50 PCS.

) 1/i1 WAn 5% = 50 PCS.'

I

1/4 WAH 5% = 5D PCS. 2

1/4 WAH 5% = 50 PCS. I 1/4 WAH 5% - 50 PCS. 1/4 WAH 5% - 50PCS,

$7.49 ea.

SS.OO Minimum Order — U.S. Fundi Only Caiiloniii Rnldvnti — Add 6% Stjat Tax

Spec SiiBBti - 25e — Send 35e Stamp for 1977A Catalog Desior intormation Avaiiabie

1021-A HOWARD AVE., SAN CARLOS, CA. 94070 PHONE ORDERS WELCOME - (415) 592-8097 Ali AdwrtisBd PficBS Gooil Thru SeplembBf

WIRE WRAP CENTER

HOBBY-WRAP TOGL-BW-630

Ballery Operated (Size C) Weighs ONLY 11 Ounces Wraps 30 AWQ Wire onto Standard DIP Sockets (.025 inch) Complete with built-in bit and sleeve

WIRE-WRAP KIT — WK-2-W

WRAP . STRIP . UNWRAP

• Tool foi 30 AWG Wire

• Roll of 50 Ft. White or Slue 30 AWG Wire

• 50 pes. each 1", 2", 3" S 4" lenjths pre-stripped wire.

$11.95

WIRE WRAP TOOL WSU-30 WRAP . STRIP . UNWRAP-$5.9S

WIRE WRAP WIRE — 30 AWG

25ft.min.$1.25 50tt.$1.95 100ft.$2.95 1000ft. $15.00 SPECIf^ COLOR — White - Yellow - Red ■ Green -Blue - Black

WIRE DISPENSER — WD-30

• 50 ft. roll 30 AWG KYNAR wire wrap wire $3.45 ea.

• Cuts wire to desired length

• Strips 1" of insulation Specify — Biue-Yellow-White-Red

HEAT SINKS |fc|A

205-CB HOH ^^^^ 6BO-.75A

205-CB Befyllium Copper w/Black finish for TO-5 % .25 291-.36H Aluminum for 10-220 Transistors &Regulators$ .25 680-.75A Black Anodized Aluminum for TO-3 $1.60

401-A Black Anodized Aluminum — predrilled

mounting holes for TO-3 $1.75

DIP SWITCHES SPST SiidB Action

I #206-4 ( 8 pin dip) 4 switch unit S1.75ea.

#206-7 (14 pin flip) 7 switch unit $1.95 aa.

' #206-8 {16 pin dip) 6 switch unit $2.25 ea.

TV GAME CHIP SET —$14.95

Includes AY-3-8500-1 chip and 2.010 mtiz crystal — if purchased separalely would cost $18.95.

TYPE

HJ746 1N751A 1N752 1N753 1N75^ 1N959 1N9G5B 1N5232 1N5234 !N5235 1N5Z36 1^456 1N45e 1N485A 1N4001 1N4002 1N4003 1N4004

ZENERS —

VDLTS W

3.3 400mm

5.1 400m 5.6 400m

6.2 400ni 6,8 400m 8,2 400m 15 400m 5.6 500m 6.2 500m 6.8 500m

500m

DIODES — RECTIFIERS

PRICE TYPE

4/1.00 1N4005

4/1,00 1^4G06

4/1.00 1N4O07

4/1.00 4/1.00 8/1,00 4/1.00

VOLTS

600 PIV 800 PIV 1000 PIV

AMP

AMP

AMP

200m

25 150 180 50P)V 100 PIV 200 PIV 400 PIV

40m 7m 10m AMP AMP AMP AMP

1N4154 ; 1N4305

1N4734 !

1N4735 I

1N4736 I

2a 1N4738 I 6/1.00 1N4742

6/1,00

6/1.00 12/1.00 12/1,00 12/1,00 IfJI 12/1.00 1M

1N4744 1N1183 NH84 Nlia5

50 PIV 100 PIV 150 PIV 200 PIV

1w

35 AMP 35 AMP 35 AMP 35 AMP 35 AMP

SCR AND FW BRIDGE RECTIFIERS

C36D C3BM 2N232fl MDA 980-1 MDA 980-3

ISA @ 400V 35A @ 200V 1,6A @ 200V 12A@50V 12A @ 20DV

FW BRIDGE HEC. FWeniOGE REC.

MPS A05 MPSA06 2N2219A JN22ai 2N2232A 2N33S9 JN2369A

2N2906A 2N2907A 2N2926 2N3053 2N3Q5S MJE3055 MJE2955 2N3392 2N33g8

5«1.D0 5/11 00 3/Sl 00 4yl1 OO 5/S1.00 5/S1.00 4/$1.00 4/Sl,00 4;I1 00 5/S1 00 5,11 00 2/Jl.OO

$1.00 St ,25 5;S1.00

TRANSISTORS

PN3567

3.'S1.00

PN3568

4;St.OO

PfJ3569

J/S1.O0

2N370.1

5/Sl,00

!N3705

5;31.00

2N3706

S/Sl.Ofl

2N3707

5/S1,00

2N371I

E/S1,00

2N3724

S, 65

2N3725

SI 00

2N3903

5,'S!,00

2N3904

^ISIOO

2N3905

4.'S1,00

2N3906

4/31.00

2N'10I3

3/51,00

PNi250 2N4400 2N«01 JN4402 2NM03 2NJ409 2N50Ba 2N50a7 2N508a 2N50e9 2HS129 2ri5138 2N5139 2N6209 2fJ5951

4,'si oa

a;Si .OC

4.'S1,00 4,'SI 00 4/Sl,0C 5;$1,0C

4/SI,00 4(51 00 4/31,0C'

5.'S1,00 5.-31 00 5,'S1.00

5,11,00

CAPACITOR

10 pf

22 pi

47 pf 100 pi 220 pi 470 pi

,001ml .0022 .O047mf ,01ml

.1/35V ,15/35V .22/35V ,33/35V .47/35V ,68/35V 1,0/35V

Ml VOLT CERAMIC DISC CAPACiTOflS

10-49 50-100 .04 .03 .OOVF

CORNER

.05

.04 .03 .0047mF .05

,04 ,03 ,01;iF ,05

,04 ,03 ,022fiF ,06

,04 ,03 ,047^F ,06

,04 ,035 ,VF ,12

100 VOLT MYLAR FILM CAPACITORS

,10 ,07 .022ml ,13

,10 .07 ,047ml ,21

,10

,07

,1ml

.27

.22ml +20% DIPPED TANTALUMS (SOLID) CAPACITORS

.28 ,23 .17 1,5/3SV .30 ,26

,28 ,23 ,17 2.2/25V ,31 ,27

,28 ,23 ,17 3,3/25V ,31 ,27

,28 ,23 ,17 4,7/25V ,32 ,28

,28 .23 .17 6.8/25V ,36 ,31

,28 ,23 .17 10/25V ,40 .35

.28 ,23 ,17 15/25V ,63 ,50

MINIATURE ALUMINUM ELECTROLYTIC CAPACITORS

,47/50V . 1.0/50V 3,3/50V . 4,7/2SV 10/25V 10/50V 22/25V 22/50V 47/25V 47/50V 100/25V 10O/50V 220/25V 220/50V 470/25V 1000/16V 2200/16V

Ailal Lead

,10

,47/25V ,47/50V 1,0/16V 1.0/25V 1,0/50V 4,7/16V ■1,7/25V 4,7/50V 10/16V 10/25V 10/50V 47/50V 100/16V 1O0/25V 100/50V 220/16V 470/25V

Radial Laad

,15

,13

Circle 305 on inquiry cara.

What's

New?

New Printer Features Novel Printing Technique

A new 80 column dot matrix printer from Axiom Corporation, 5932 San Fernando Rd, Glendale CA 91202, lias been announced which features an operating speed of 160 characters per second. The EX-800, shown at the NCC show in June, features an unusual electrosensltive printing technique: the nonimpact printing is done by passing a high current through fine wires in the

Bell & Howell Offers New Microprocessor Course

Many people have expressed interest in microprocessor correspondence courses. Now, Bell & Howell offers a new source of such courses. Their new microprocessor correspondence course is available for $99. The course materials consist of two study units contained in loose-leaf binders.

Topics covered include an introduction to microprocessors, computer languages, system architecture, lO instructions, flowcharts and so on. For more information, contact Bell & Howell Schools, 209 W Jackson Blvd, Chicago IL 60606.■

Circle 632 on inquiry card.

print head for about 1 /as to remove the upper layer of aluininum from 5 inch wide electrosensltive paper. This exposes a layer of black ink underneath.

The unit is 9.625 inches (24.45 cm) wide, 3.875 inches (9.84 cm) high and 10.825 inches (27.62 cm) deep. The price is $655, which includes case, power supply, parallel interface and 96 character ASCII character set, programmable character size, built-in self-tester, bell, and infrared low paper indicator."

Circle 634 on inquiry card.

New Learn-at-Home Electronic Circuits Course from Heath

Cassette Terminal Interface for SwTPC 6800 Operates at 120 bps

PerCom Data Company, 4021 Windsor, Garland TX 75042, has announced a high speed, self-clocking cassette terminal interface for the Southwest Technical Products Corporation 6800 microcomputer.

The CIS-30+, a dual function unit,

interfaces cassette data at user selectable rates of 30, 60 or 1 20 bytes per second, and provides RS-232 interfacing at 300, 600 or 1200 bps.

Cassette data is Kansas City standard biphase encoded.

The CIS-30+ user's manual and optional test cassette include PerCom cassette operating software. However, the 6800 resident Motorola MIKBUG is the only software needed for loading at 30 bytes per second. The CIS-30-i- will also read unmodifiedSouthwestTechnical Products Corporation cassette software.

The CIS-30-^ kit is $69.95. The assembled price is $89.95. An instruction manual is included.*

Circle 636 on inquiry card.

A New Analog Multiplier Series

Analog Devices, Route 1 Industrial Park, POB 280, Norwood MA 02062, has announced a new seriesof monolithic

analog multipliers called the AD534 series. The AD534L, in particular, offers a maximum multiplication error of ±0.25%, said to be the lowest of any integrated circuit multiplier. Small signal bandwidth of these units is 1 MHz, making them ideal for a variety of applications ranging from music synthesis to modulation and demodulation in communications systems. One real advantage for the experimenter is that these multipliers require no external components: simply feed in two analog signals within the input specs and get out their product. Single quantity price for the ADS341 is $26.■

Circle 637 on inquiry card.

Heath Company, Benton Harbor Ml, has introduced a new learn-at-home electronics course covering basic electronic circuits. The course, EE-3104, is one of four basic electronics courses which use programmed instructions plus audio records. The course comes complete with electronic parts for "hands on" experiments. Other courses in the basic electronics series include AC Electronics, DC Electronics, and Semiconductor Devices. An advanced course in Digital Techniques is also available.

Course EE-3104 covers basic and operational amplifiers, power supplies, oscillators, pulse circuits, modulation and demodulation with emphasis on integrated circuits. An optional final exam can be taken for Continuing Education Units (CEUs), a nationally recognized means of acknowledging participation in noncredit adult education.

Courses are mail-order priced at $39.95. For a free catalog write to Heath Company, Dept 350-18, Benton Harbor Ml 49022."

Circle 635 on inquiry card.

Mini-L Loran-C Receiver Announced

A limited number of circuit boards and a user's guide will be available from R W Burhans, 161 Grosvenor St, Athens OH 45701 or PAIA, 1020 W Wilshire Blvd, Oklahoma City OK 73116, for experimental study of the Loran-C, 100 kHz, navigation system with microprocessor data reduction systems. Mini-L is designed to generate 10 ^s interrupt request pulses locked to the Loran-C signals making It a much easier task for microprocessor users to devise their own time measurement software. A 25 page experimenter's manual and two circuit boards (no parts supplied) allow the circuit builder to fabricate an individualized or custom Loran-C antenna preamplifier and radio frequency front-end.

Mini-L contains two user adjustable traps on either side of the Loran-C carrier frequency to help eliminate local area interference, and has a very wide range automatic gain control (AGC) level for hard limiting on signals received. The level control can be arranged to

216

FIRKSMOKK INTRUDER ALARM

12 volt DC operation, large 5 inch bell, one unit, all the works under the bell. Nice for camper, boat, homes. $25

VIATRON CASSETTE DECKS

The computer cassette deck alone $35 Set of 2 boards read/write amp & serve control boards for this deck $40.00

PORTABLE FIRE ALARM

Operates on 3 internal AA cells (not furnished) On temp rise of approx 150 Sonalert type alarm sounds off. Push to test switch makes nice sounding code practice oscillator $6.00

SPECTRA FLAT TWIST

50 conductor, 28 gauge, 7 strands/ conductor nnade by Spectra. Two conductors are paired & twisted and the flat ribbon made up of 25 pairs to give total of 50 conductor. May be peeled off in pairs if desired. Made twisted to cut down on "cross talk." Ideal for sandwiching PC boards allowing flexibility and working on both sides of the boards. Cost originally $13.00/ft SP-324-A $1.00/ft. 10 ft/$9.00

SP-234-A $1.00 ft 50 cond. 10 ft/$9.00 SP-234-B .90 ft 32 cond. 10 ft/$8.00

WIRE WRAP WIRE

TEFZEL blue #30 Reg. price $13.28/100 ft. Our price 100 ft $2.00; 500 ft 37.50.

MULTI COLORED SPECTRA WIRE

Footage 8 Cond. #24

22 22

" #24 22

savings as

12

14 24 29

Great

book prices. All fresh & new

10' $2.50 3.00 3.50 5.00 7.50 these

100'

15.00

18.00

21.00

20.00 30.00

28.00 45.00

are about 1/4

50' 9.00 11.00 13.00

TOUCHTONE ENCODER CHIP

Compatible with Bell system, no crystal required. Ideal for repeaters & w/specs. $6.00

CHARACTER GENERATOR CHIP

Memory is 512x5 produces 64 five by seven ASCII characters. New material w/data S6.00

yfie&nMci.

Please add shipping cost on above. IVIinimum order $10

FREE CA TALOG SP-9 NOW READY P.O. Box 62, E. Lynn, Massachusetts 01904

Circle 306 on Inquiry card.

operate either manually or under software control from an external digital to analog converter. The wideband antenna preamplifier may also be used with the Mini-0 system as described in March 1 977 BYTE. An improved Mini-O circuit board is being developed."

Circle 638 on inquiry card.

A New Series of 16 Bit Microprocessors from Texas Instruments

Texas Instruments has announced a new series of 16 bit single board microcomputer modules based on the 9900 chip which feature upward and

downward software compatibility with the rest of the 9900 series. The TM990/ lOOM is the first module to be made available in the new TIV1990 series. It features 1 K by 16 bits of erasable read only memory expandable to 4 K by 16 bits (the memory will include a self-contained software monitor called TIBUG), plus a 256 x 16 bit volatile user programmable memory expandable to 512 by 16 bits on the board.

Sixteen lines of programmable parallel lO and a selection of either a current loop or RS-232 terminal interface are available. In addition, the TM990/100IV1 offeis two pi'ogrammable interval timers, 15 external hardware interrupts and a blank board area with extra socl<ets for user prototyping, etc. The TM990/100M sells lor $450, assembled, in single quantities.

This will provide an excellent starting point for the experimenter desiring a 16 bit minicomputer-like processor which features hardware (integer) multiply and divide, real shift instructions and a general register architecture.

For further information, contact Texas Instruments Inc, Inquiry Fulfillment, POB 1443, M/S 653 (Attn: TM990), Houston TX 77001 .■

Circle 639 on inquiry card.

A New Smart Terminal from Economy Terminals

Get Some Pizza Mind

"Big Stan," a new version of the MARK Hi line of electronic point-ofsale systems by FasFax Corporation, is currently in trial with prospects in the pizza and taco segments of the fast food

industry. The new system automatically prices add-on ingredients to speed counter service and eliminate losses caused by incorrect pricing procedures. It uses its microcomputer intelligence to increase the productivity of food vendors. [Oh! The power of user oriented firmware. . . CH | Big Stan is programmed to allow for many basic carriers, such as different sizes of pizza shells and a wide variety of ingredients. The ingredients can be assigned to as many as 15 different price classes, thus assuring accuracy regardless of the way clerks enter the order. The unit maintains a complete record of all transactions, labor hours and inventory changes; this information is used to automatically compile management reports. For more information, contact FasFax Corporation at Ledge St, POB H, Nashua NH 03060.■

Circle 641 on inquiry card.

Small Business Software from Synchro-Sound

Synchro-Sound, 193-25 Jamaica Av, Hollis NY 11423, has announced an accounts receivable system for the small businessman. The system is expressly designed to be run on an 8080 microcomputer using an Altair floppy disk with Altair BASIC, video terminal and printer. Features include; adding new customer accounts, deleting dormant accounts, transaction processing and report generation. The monthly statements include both current and aged balances. Other reports generated are aged accounts receivable and delinquency notices.

The system is said to require little

operator training. All communication is in interactive mode. Operator errors are easily corrected, and accidental data base deletions are prevented by requiring additional confirmation.

This system may be modified to include special installation dependent functions. All major programs are written in high level language to facilitate program additions and alterations. This program module is designed to serve as the basis for a complete accounting package. Provisions are included for linking billing, inventory control and general ledger modules. The latter will be available in the near future. ■

Circle 643 on inquiry card.

Economy Terminals has announced their Model ET1 microprocessor-based video terminal for the experimenter market priced at $895 each. Hardware features include;

• 24 by 80 display of a 64 character ASCII subset (but a full 96 character set is transmitted)

• 12 inch (30.5 cm) industrial video monitor

• RS-232 and 20 mA current loop interface

• 16 switchable data transfer rates

• Switch selectable odd or even parity with one or two stop bits

• 63 key keyboard with all functions identified on key caps

Software features include;

• Page or scrolling mode of operation

• XY placement of cursor either from keyboard or remotely

• Automatic repeat of any key after a 0.3 second delay

For further information, write Economy Terminals, POB 12261, Minneapolis MN 55412.

Circle 640 on inquiry card.

A Most Useful Catalog

Here at last is a source for all those hard-to-get accessories and supplies for mini and microcomputers; Minicomputer Accessories' new 1977 catalog. Small systems enthusiasts will enjoy paging through this compendium which features such things as binders for computer printouts, flowchart design templates, printer paper, cassette storage boxes, cordless paper tape winders, paper tape splicers and trays, myriads of special interconnection cables, extender boards, cable bridge systems for covering floor runs of computer cables, storage cabinets, and so on. The catalog is free for the asking from Minicomputer Accessories, 1015 Corporation Way, POB 10056, Palo Alto CA 94303."

Circle 642 on inquiry card.

218

Circle 307 on inquiry card.

^ CLjbBTCDm BOARDS

MB-1 MK-8 Computer RAM, (not S-100), 4KX8, uses 2102

type RAMs, PCBD only $22

MB-3 1702A EROM Board, 4KX8. S-100, switchable address and wait cycles, kit less PROMS $65

MB-4 Basic -IKXB ram, uses 2102 type rams, may be expanded to 8KX8 with piggybacking, S-100 buss. PC

board $30

MB-6 Basic 8KX8 ram uses 2102 type rams, memory protect in 256 to 8K switchable S-100 buss, PCBD $35

MB-8 2708 EROM board, S-100, 8KX8 or 16KX8 kit without

PROMS $85

10-2 S-100,8 bit parallel l/Oport, %of board is for kludging.

Kit $55 PCBD $30

VB-1 64X 16 video board, upper lower case Greek, composite and parallel video with software, S-100.

Kit $189.00 PCBD $35

SP-1 Music synthesizer board, S-100, computer controller wave forms, 9 octaves, IV rms 1/2% distortion, includes

software kit $250

Altair Compatible Mother Board, 11 x ll'/j x Vs".

Board only... $45 With 15 connectors $105

Extender Board full size. Board only $9

With connector $13.50

Solid stale music Cybercom boards are high quality glass board with gold finger contacts. All boards are check for shorts. Kits only have solder mask. 90 day guarantee on Cybercom kits.

Waneco Boards

MM-1 8KX8 fully buffered, S-100, uses 2102 type rams.

PCBD $30

Mother Board 12 slot, terminated, S-100, board only$40

Special 8080A processor & support chip set kit includes one of each; all parts prime 9080A (8080A); 8228; 8212; 8216; 8251; 8214; 8224; 8225. Special $75.00

Special 2101AL-4 1K x 1 ram 1/3 less power than 21L02 type rams, with power down, prime from NEC. Ea. 2.00; 32 ea. 1.80; 64 ea. 1,70; 128 ea. 1.60; 256 ea, 1.50; 512 ea. 1.45.

25.00 4.00 8.30 4.95 5.00 8,90 14.50 14.50 8.00 6.95 11.00 11.00 8.00

9080A AMD 8080A (Prime)

8212/74S412 Prime

8214 Prime

8216 Prime

8224 Prime

8228 Prime

8251 Prime

8255 Prime

1702A-6 AMD 4702A Prime

TMS-6011 UART Prime

2513 Char Gen Upper Prime

2513 Char Gen Lower Prime

1702A Intel Not Prime

8T10 8T13 8T16 8T20 8T24 8T26 8T34 8T37 8T38 8T80

2.00 2.50 2.00 2.00 2,50 2.75 2.50 2.50 2.50 2.50

8T97

8T110

5309

5312

5313

5320

5554

5556

5055

MC4044

2.00 2.00 8,00 4.00 4,00 5.95 1.90 2.50 1.60 2.25

80L97 81L22 82L23 85L51 85L52 85L63 86L70 86L75 86L99 88L12

1.50 1.50 1.90 2.50 2.50 1.25 1.50 1.90 3.50 .80

^U

419 Portofino Drive San Carlos, California 94070

Please send lor IC, Xistor and Computer parts list.

74L00

74L01

74L02

74L03

74L04

74L05

74L06

74L08

74L09

74L10

74L20

74L26

74L30

74L32

74L42

74L51

74L54

74L55

74L71

74L73

74L74

74L75

74L78

74L85

74L86

74L89

74L90

74L91

74L93

74L95

74L98

74L123

74L164

74L165

74L192

74L193

MH0026

MC1488

.25

.25

.25

.25

.30

.40

.30

.40

.40

.30

.35

.40

.40

.45

1.50

.35

.45

.35

.30

.55

.55

1.20

.90

1.40

.75

3.50

1.50

1.50

1.70

1.70

2,80

1.50

2.50

2.50

1.25

1.20

2,95

1.50

74LS00

74LS01

74LS02

74LS03

74LS04

74LS05

74LS08

74LS10

74LS12

74LS20

74LS22

74LS27

74LS30

74LS37

74LS38

74LS42

74LS51

74LS54

74LS55

74LS73

74LS74

74LS76

74LS151

74LS174

74LS175

74LS192

2501B

2502B

2507V

2510A

2517V

2519B

2532B

2533V

DM8131

N8263

MC1489

DM8837

.40

.50

.40

.40

.45

.45

.40

.40

.55

.40

.45

.45

.40

.60

.60

1.50

.40

.45

.40

.65

.65

.65

1.55

2.20

1.95

2.85

1.25

3.00

1.25

2.00

1.25

2.80

2.80

2.80

2.50

3.50

1.50

1.50

1101

1103

2101

2111-1

2112

2602

4002-1

4002-2

MM5262

7489

74200

74C89

82S06

82S07

82S17

8223

82S23

82S123

823126

82S129

82S130

82S131

IM5600

IM5610

IM5603

IM5604

IM5623

IM5624

MMI6330

DM8573

DM8574

DM8575

DM8576

DM8577

DM8578

2.4576 MHZ

XTAL 7.20

1.25 1.25 4.50 3.75 4.50 1.60 7.50 7,50 1.00 2.00 4.95 3.00 2.00 2.00 2,00 2.50 3.00 3.00 3.50 3.50 3.95 3.95 2.50 2.50 3.00 3.50 3.00 3.50 2.50 4.50 5.50 4.50 4.50 3.50 4.00

Check or money orderonly. II you are not a regular customer and your order is large please send either a cashier's check or a postal money order, otherwise there will be a delay of two weeks for the check to clear All items post paid in the U.S. Calif, residents add 6% tax. fvloney back 30 day guarantee. Vye cannot accept returned IC's that have been soldered to. Prices subject to change without notice $10 minimum order.

K-rations

for your computer

K-Ration" 8Kx8 memory with

SynchroFresh™, $188 assembled and warranted.

Now you can load your Altair, IMSAI, Equinox 100 or other S-100 buss computer with 8Kx8 memory boards for just $188 apiece... and that's assembled, tested and warranted for repair or replacenient for 1 full year. It's possible because Morrow's Micro-Stuff has developed SynchroFresh™, the first and only memory refreshing system that weaves itself invisibly into the natural timing of the S-100 buss. And that makes the K-Ration™ 8Kx8 memory refreshingly reliable and helps keep the cost down. Just |188 assembled with 1 year warranty, kit just |159 (Cal. res. add tax). Postpaid from ThinkerToys™.

K-Ration™ 4K:x8 MEMORY is now the lowestcost 4K memory available for S-100 buss personal computers. A complete memory board kit, just $109 (Cal. Res. add tax). Postpaid from ThinkerToys™. Product of Morrow's Micro-Stuff

9

Place BAC/MC orders toll-free to 800-648-5311. Or see it at your local computer shop.

Thinker Ibys

1201 10th St. Berkeley, CA 94710

219

Circle 308 on inquiry card.

Available* for the first time;

CONFERENCE PROCEEDINGS

of the largest convention ever held

Exclusively Devoted to Home & Hobby Computing over 300 pages of conference papers^ including:

(Topic headings with approximate count of 7"xlO" pages)

Friday & Saturday Banquet Speeches (16)

Tutorials for the Computer Novice (16)

People & Computers (13)

Human Aspects of System Design (9)

Computers for Physically Disabled (7)

Legal Aspects of Personal Computing (6)

Heretical Proposals (11)

Computer Art Systems (2)

Music & Computers (43)

Electronic Mail (8)

Computer Networking for Everyone (14)

Personal Computers for Education (38)

Residential Energy & Computers (2)

Systems for Very Small Businesses (5)

Entrepreneurs (6) Speech Recognition S

Speech Synthesis by Computer (14) Tutorials on Software Systems Design (11) Implementation of

Software Systems and Modules (10) High-Level Languages for Home Computers (15) Multi-Tasking on Home Computers (10) Homebrew Hardware (8) Bus & Interface Standards (17) Microprogrammable Microprocessors

for Hobbyists (18) Amateur Radio & Computers (11) Commercial Hardware (8)

plus

Names & addresses of the 170+ exhibitors at the Computer Faire

Order now from:

Computer Faire

Box 1579

Palo Alto CA 94302

(415)851-7664

Proceedings: Shipping & Handling: Outside California:

Califomians Add: Inside California:

$12.00 .&8

.72

($11.95, plus a nickel, if you prefer)

(Write for shipping charges ouside U.S.A.)

Payment must accompany the order.

1I3J2.

6% Sales Tax

Payment must accompany the order.

*Copies will be shipped before August 30, 1977.

©77-1-10by Computer Faire BOX 1579, PALO ALTO CA 94302 oOo (415) 851-7664

Circle 313 on inquiry card.

220

S.D. SALES CO. P.O. BOX 28810-B dallas, texas 75228

ir Imsai - Altair ''A" Compatible Kits ^ Z-80 CPU KIT COMPLETE - $149. kit

Z-80 Chip & Manual $49.95

Z-80 Manual - $7.50 Separately

From the same people who brought you the SB9.95 4K RAM KIT. We were not the first to introduce an Imsai/Altair compatible Z-E quality for the lowest price!

I Card, but we do feel that ours has the best design and

The advance features of tha Z-60 such as an expanded sat of 158 instructions, 8080A software compatibility, and operation from a single 5VDC supply, are all well known. What makes our card different is tha extra care we took in the hardware design. The CPU card will always stop on an M^ state. We also generate TRUE SYNC on card, to insure that the rast of your system functions properly. Dynamic memory refresh and NMI are brought out for your use. Believe it or not, not all of our competitors have gone to the extra trouble of doing this.

As always this kit includes all parts, all sockets, and complete instructions for ease of assembly. Because of our past experience with our 4K kit we suggest that you order early. All orders will be shipped on a strict first come first served basis. Dealers inquiries welcome on this item. Kit includes Zilog Manual and all parts. Kit shipped with 2 MHZ crystals.

THE WHOLE WORKS

$89.95

4K LOW POWER RAM BOARD KIT

Imsai and Altair 8080 plug in compatible. Uses low power static 21L02-1 500 ns. RAM'S. Fully buffered, drastically reduced power consumption, on board regulated, all sockets and parts included. Premium quality plated through PC Board. For 250 ns RAM's add $10.00

NEW! DESIGN CONSOLETTE KIT - $89.95

S.D. Sales announces the inexpensive way to beat the wire wrap jungle. Our latest kit gives you 124 solderless quick connect terminals, enough for eight 16 pin IC's and provides 50 x 8 common buss matrix. Has regulated +5VDC and +/— 15VDC, all at I AMP. Voltage regulation at 100%. Also includes a pulse generator variable from lOhz to SOmhz and .01 sec. to 100 nano seconds. Generator output is +5V. In kit fonn only and includes all parts, sockets; front panel measures 7'4"x8'4", and hardware, case not available.

CAR/BOAT KIT

$34.95 9^'Mmc to (jouiA Zom!

MUSICAL HORN

Musical Horn Kit for car, boat, or homo. Plays any tune from Mozart to Led Zeppelin. Change tunes in seconds; complete solid state electronics. Standard or custom tunes available at S6.95 each (you supply us with the sheet music ~ we supply electronics for your favorite tune.) One song supplied with original order. Standard tunes available: DIXIE - EYES OF TEXAS - ON WISCONSIN - YANKEE DOODLE DANDY - NOTRE DAME FIGHT SONG - PINK PANTHER - AGGIE WAR SONG - ANCHORS AWAY - NEVER ON SUNDAY - BRIDGE OVER RIVER QUI - CANDY MAN.

HOME KIT

$26.90

Home kit includes speaker which operates from your door bell. When door bell is pushed your favorite tune is played. Car/boal kit DOES NOT include speaker. Uses standard 8ohm PM speaker. Allow 4 weeks delivery on both kits.

JiMd HmrtJtiJtii!

$9.95 kit

6 DIGIT ALARM CLOCK KIT

We made a fantastic kit even belter. Redesigned to take advantage of the latest advances in IC technology. Features: Litronix Dual 'y4" displays, Mastek 50250 super clock chip, single I.C. segment driver, SCR digit drivers. Graatly simplified construction. More reliable and easier to build. Kit includes all necessary parts (except case). For P.C. board add S3.00; AC XFMR add $1.50. Do not confuse with Non-Alarm kits sold by our competition! Eliminate the hassle - avoid the 5314! NEW! WITH JUMBO LED READOUTS!

1000 MFD

Filter Caps Rated 35 WVDC Upright style with PC leads. Most popular value for hobbyists.

4/$1.00

SLIDE SWITCH Assortment Our best seller. Includes miniature and standard sizes, single and multiposition units. All new.

12/$1.00

POWER

RESISTOR

15 OHM

25W

BY

CLAROSTAT

75C ea.

RESISTOR ASSORTMENT

%W 5% & 10% PC leads. A good mix a) valuesi Speciall

200/$2.

P.C. LEAD

DIODES

1N4148/1N914

100/$2.

1N4002.1A 100 PIV

40/$1.

Just received a good mixed lot of National TO-92 plastic transistors. PNP & NPN, even a few FET's. 40-50% yield. Untested Asst.

500/$3.

DISC CAP

ASSORTMENT

P.C. Leads, At least 10 different values. Includes .001, .01, .05 plus other standard

60/$1.00

AMD-1702A

FACTORY PRIME UNITS! BRAND NEW! 1.5 Micro-Seconds Access Time.

10/$40. $4.95 ea.

* Speud! *

3.579545

MHZ Time

Base Crystal

SI .25

28 PIN SOCKETS 3 for SI .00

11,000 MFD

50WVDC

Computer Grade Cap

$3.00 each

39 MFD 16 V Mallory Electrolytic 15 for $1.00

FACTORY PRIME! 21L02-1

Not only are our RAM'S faster than a speeding bullet but they are now very low power. We are pleased to offer prime new 21L02-1 Low Power and Super Fast RAM's. Allows you to STRETCH your power supply farther and at the same time keep the wait light off!

500ns 8/$12.95 250ns 8/$15.95

tof«^o^

IC s from XEROX

1402 A Shift Regulator - 50c MH0025CN - 55c

7400- 9c 7402 - 9c 7404 - 9c

7406 -11c

7407 -lie 7410 - 9c 7416 -13c 7420 - 9c

7430- 9c 7440 - 9c 7437-10c 7438-10c 7451 - 9c

7474 -16c

7475 -24c 7486 -16c

7493 -26c 74121 -22c 74123 -32c 74151 - 9c 74155 -22c 74193 -35c 8233 -35c Intel -1302

45c

MOS 6 DIGIT UP/DOWN COUNTER

40 PIN DIP. Everything you ever wanted in a counter chip. Features: Direct LED segment drive, single power supply (12 VOC TYPE), six decades up/down, pre-loadable counter, separata preloadable compare register with compare out-put. BCD and seven segment outputs, internal scan oscillator, CMOS compatible, leading zero blanking. 1MHZ. count input frequency.

$12.95 edimt! $12.95

CALL IN YOUR BANKAMERICARD OR MASTER CHARGE ORDER IN ON OUR CONTINENTAL UNITED STATES TOLL FREE WATTS LINE:

1-800-527-34B0

Texas Residents Call Collect:

214/271-0022

TERMS: %0fwif ^cuck

NO COD'S. TEXAS RESIDENTS ADD 5% SALES TAX. ADD 5% OF ORDER FOR POSTAGE & HANDLING. ORDERS UNDER $10.00 ADD 75c. FOREIGN ORDERS - U.S. FUNDS ONLY!

Orders over $15. - Choose $1. FREE MERCHANDISE!

Circle 309 on inquiry card.

(jlsssiriGf? \cs

ASTROLOGY: I am interested in getting in touch with anyone doing astrological chart computation and progression on minicomputer systems. P Pierce, Bone and Joint Surgery Association, Data Processing Dept, 2704 Marshall Ct, Madison Wl 53705.

HELP: I need schematics and electrical specs for a Friden Selectadata paper tape reader. Model STR. Also need schematics and specs and a "Technical

Manual" for a Friden Programmatic Flexowriter, Mode! SPD. I will buy the nnanuals or pay for copies. John Kane, USS Enterprise, AIMD IMS WC630, FPO San Francisco CA 96601.

WANTED: January, February, March, April, May and June 1976 BYTEs. Will pay any reasonable price. Send offers and lists to Reuben Plant, 43 Avista Cir, St Augustine FL 32084.

FOR SALE: One ASR-33 friction feed Teletype complete with reader, punch, and stand, S700. One ASR-33 sprocket feed Teletype with stand and punch, but no reader, $400, One ASR-33 sprocket feed Teletype with stand, no reader or punch, S350. Daniel Skret, 2485 Painted Rock Dr, Santa Clara CA 95051, (408} 296-6783 or (408) 246-8686.

FOR SALE: Video data terminal, RCA Model 70/752, 12 inch screen, 20 lines by 54 Characters. Full editing capability and cursor control, data insert. Output: RS232, 1,200 baud, ASCII. Selfcontained power supply, timing clock, and two 10 boards. ASCII keyboard included, also schematics, specs, etc, S600 or offer. Dick Blayney, 11241 Laurianne Ln, Garden Grove CA 92641, after 5 PM (714) 539-9175.

FOR SALE: MOD 80-1, fully populated, untested MOD 8-2, tested; two each MOD 8-4 and MOD 8-5 unpopulated. S150 for set. RM Terminal as adver lised by Micro-Mart, less power supply and printer S80. Ron Burris, 701 E Pine -143, Lompoc CA 93436.

FOR SALE: MOS Technology, KIM 1, SI 75. Perfect condition. Presently running with ASR 33 and cassette tape deck. Complete with all MOS manuals and many programs including Lunar Landing, a text assembler, Hi-Lo and computer roulette games, and a Morse code teaching program. Will sell ASR 33 for S700. I would like to buy or trade above for a DEC PDP-8. Andy Ring, 49 Main St, Yarmouth ME 04096, 1207) 846-5651 or (207) 846-5800 after 5:00.

CIPHERING: Privacy, cryptography, security. Tutorial book, 6603 computer compiled ciphering algorithms, demonstration cipher systems, 813.25. Clay Pierce, POB 4747, Saticoy CA 93003.

FOR SALE: I have several commented listings of SwTPC's MP-E resident assembler for the M6800. Full 132 column paper, S20 each. George Cruz, 938 Enterprise Av, Inglewood CA 90302.

Readers who have equipment, software or other items to buy, sell or swap should send in a clearly typed notice to that effect. To be considered for publication, an advertisement should be clearly noncommercial, typed double spaced on plain w/hite paper, and include complete name and address information. These notices are free of charge and will be printed one time only on a space available basis. Insertions should be limited to 100 words or less. Notices can be accepted from individuals or bona fide computer users clubs only. We can engage in no correspondence on these and your confirmation of placement is appearance in an issue of B YTE.

Please note that it may take three or four months for an ad to appear in the magazine. ■

FOR SALE: NCR data based cassette tapes with clear leaders (have been used) but bulk erased, S4 each or S3.50 each per dozen. Price includes shipping: supply limited; first come first served. Send cashier's check or money order to Lou Oddo, 2200 Forsyth Rd, Box 28, Orlando FL 32807.

FOR SALE: PolyMorphic, POLY 88 computer, S480. Seals 8KSC-Z, 8 K high speed memory board, $250. Several IMSAI boards, Tarbell, and PolyMorphic boards. Call (2131 477-8478 for details, or send SASE to Roger Lewis, 1477 Barrington 4-17, Los Angeles CA 90025.

WANTED: I am a high school student in need of an inexpensive TTY. I wish to use it as an output device for my COSMAC 1802 system and would appreciate any information that would lead to the purchase of such a device. !f you can help with this or other devices, please contact Darcy Roberts, 660 Laurier Blvd, Brockville, Ontario, K6V 5X8, CANADA.

WANTED: Economical IBM Selectric or equivalent quality terminal for high quality hard copy. Must have upper and lower case character set, but can be any standard code and keyboard need not be operative. Steve Goldband, 160 Auburn Av, Buffalo NY 14213.

SUMMER 1978: German student (microtechniques, 3rd half-year now) searches opportunity to get some practical experience in small systems and technical English in the USA. Goetz Kluge, Loreleystrasse 93, D6230 Frankfurt 80, W GERMANY.

FOR SALE: IMSAI 8080, 22 slot mother board with 9 expms; 8 K Vector Graphics programmable memory, professionally assembled, never been used, guaranteed. S999. Please call (415) 548-2024, after 7 PM, weekdays only. Gary Melton, 1 7078 Lincoln St, Berkeley CA 94703.

FOR SALE: 8K 8080a System, Intel bus 8080a CPU with 6 10 ports, sockets for three more (add one chip), board set up for up to 3 K PROM, 2 to 4 K 450 ns static low power programmable memory TVT 111 with 2 K programmable memory, UART board, cursor control board, HITS cassette interface (space for bootstrap PROM), Hall effect ASCII keyboard, 5 A power supply, case and connectors for 64 K, full documentation, new, not used, backplane unassembled, first S975. D. Krivoshik, 18 Newcomb PI, Elizabeth NJ 07202.

FOR SALE: Sphere 320 System (and more!). Includes CPU board, keyboard, serial interface board (SIM), power supply, 4 K memory board expandable to 16 K (in addition to 4 K of programmable memory on the CPU board), and a video monitor with interface board, all enclosed in an attractive case. Included with this system is a 16 channel 8 bit analog to digital converter for work with analog signal monitoring. Assembly required on the SIM and memory board, but the basic system is up and running on a resident text editor and debugging system in 1 K of PROM. The first check for SI 500 will get this excellent high quality system. Brent Bardsley, 1366 Blaine Av, Salt Lake City UT 84105.

FOR SALE: Three MITS 4 K static programmable memory boards. Assembled, tested and burned in, absolutely new condition. S185 each, $360 for two, S525 for three. I will pay shipping. Chris Pettus. POB 611, Malibu CA 90265.

FOR SALE: Intersil Intercept Jr single board computer with programmable memory, ROM monitor, keyboard and LED display, with plug-in serial 20 mA Teletype or RS-232C interface and plug-in 2 channel output interface. New price S360, will accept highest offer over S225. Peter Stark, POB 209, Mt Kisco NY 10549, (914) 241-1027.

FOR SALE: CT-1024 TV terminal completely assembled in a beautiful wood enclosure. Ready to attach to any TV, includes: Pixiverter, ASCII keyboard, all cursor and erase functions as pushbuttons, computer cursor control caid, serial interface as RS232C. Plus (unimplemenied) scroll mod and 64 character mod board. Only S325 postpaid. B J Yarkon, 1457 Broadway, Room 305, New York NY 10036.

WANTED: Software. Resident assembler and Tiny BASIC for my Motorola 6800 (20 K) system. I will pay for cost of duplication and mailing. If there is somebody out there who is interested in exchanging programs and hardware information for the Motorola 6800, please write. R Veening, Paul Krugerlaan 113, Den Haag HOLLAND.

FOR SALE: Data Reference Card for RCA 1802 microprocessor. Send $1 plus self-addressed stamped envelope to R W Moell, 5505 Daywood Ct, Raleigh NC 27609.

FOR SALE: E and L instruments MMD-1 8080a based microcomputer complete with keyboard, 256 bytes programmable memory, 256 bytes of PROM programmed for keyboard entry and execution of programs, power supply, inferfacing and breadboarding socket, case, and 40 pin edge connector for expansion. Includes modular, self-taught microprocessor course. Assembled, tested, excellent condition, $350. Edward D Paradise, 33 Viola Ln, New Britian CT 06053, (203) 223-2883.

IBM 1620: Being modified; additional core, peripherals are to be attached: tape, disk, cassettes, printer are to be attached; any comments, suggestions as to probable problems etc, will be appreciated. Please contact T K Maki, 102 Minott Rd, Westminster MA 01473.

GAMERS: I have compiled a book of BASIC games. Most are new games. If you wish to have a copy, send $10 in the form of a check or money order to Mike Brothers, 4100 Saratoga Dr, Bloomrngton IN 47401. Indiana residents add $.40 for sales tax.

FOR SALE: New 102 switch keyboard printed circuit board double sided, plated through holes, 1614 by 7 inch board. ASCII output or can be changed with 1702A PROM for any 7 bit code. All schematics, parts list, modifications (only five left) $6. Also Motorola crystal oscillator K1091A (20 MHz $10 new), (4 MHz S6 used) 14 pin dip. 4 MHz perfect for OSI video board optional oscillator. Also have miscellaneous parts: bridge rectifiers, filter caps, 6501, 8008, Mark-8 boards, C mod-8 boards, Monitor-8 ROM, 8008 manuals, books, etc. Send SASE for complete list to Ron Angstadt, RD#3, Box 281, Kutztown PA 19530.

FOR SALE: 18 digital cassette tapes and cases by Wang Labs Inc. Like new $2 each. 30 Shugart full size floppies, most barely used $4 each. Harry Morrow, 437 Barton Run Blvd, Mad ton NJ 08053. Call daytime (215) 586-3600.

FOR SALE: Two GSI 110 floppy disk drives, single or dual density, soft or hard sector drives. The electronics boards are fully optioned, including data separator, a complete set of documentation and all connectors and cables. $350 each or S650 for the pair. Jim Baumgardt, 6343 Lincoln Av, Apt F-2, Buena Park CA, (714) 826-7056.

FOR SALE: Selectric 10 keyboard printer service manual, clean and barely used, S20 or early issues of BYTE in trade. Michael Craig, POB 895, West Acton MA 01720.

FOR SALE; Teletype ASR-33 in very good condition, with manuals, S600. MITS 88-ACR audio cassette interface, assembled and working, $120. I need more memory and an 10 board (RS-232) for S-100 bus and would consider a trade-in on the above items. Donald Bailey, 19 Shaker Rd, Concord NH 03301.

CHESS: BYTE readers interested in exchanging information about computer chess, finding postal opponents for their computer chess programs or organizing a tournament are invited to write me. R M Hord, 3407 N Third St, Arlington VA 22201.

FOR SALE: Complete set of BYTEs, all issues from first thru April 1977. Best offer. Jim McCord, 330 Vereda Leyenda, Goleta CA 9301 7.

FOR SALE: New Univac 30 cps 132 column 64 character printer with drive electronics board and motor (new), also sturdy Univac case and stand (used), with documentation and interface information, cost S1800+, sacrifice S695. D Krivoshik 18 Newcomb PI, Elizabeth NJ 07202.

222

NEW COMPUTER INTERFACE BOARD KIT

Our new computer kit allows you to Interface serial TTL to RS 232 and RS 232 to TTL There are four of these supplied with the kit, so you can run up to four devices on one TTL or four separate TTL to RS 232 devices.

Typical use: You can use your computer ports to run an RS 232 printer, video terminal and two other RS 232 devices at once, without

constantly connecting and disconnecting your terminals. Example: Out store to printer — Voltage

QO requirement +5Vand ±5V or ± 12 V depend

' Ing on your RS 232 device.

We supply — board, connectors, documentation and components. Sorry, we do not supply case or power supply.

GENERAL PURPOSE COMPUTER POWER SUPPLY KIT

This power supply kit features a high frequency torroid transformer with switching transistors In order to save space and weight. 115V 60 cycle primary. The outputs with local regulators are 5V to 10A, in one amp increments, - 5V at 1A, ± 12V at 1A regulators supplied 6 340T-5 supplied.

$79

00

UNIVERSAL 4K MEMORY BOARD KIT

$74

50

This memory board may be used with the

F8 and with minor modifications may be used

with KIM-lxip.

32-2102-1 static RAM's, 16 address lines, 8 data lines in, 8 data lines out, all buffered. Onboard decoding for any 4 of 64 pages, standard 44 pin, .156" buss.

F8 EVALUATION WITH EXPANSION

A fantastic bargain for only with the following features:

• 20 ma or RS 232 interface

• 64K addressing range

• Program control timers

• 1K of on-board static memory

• Built in clock generator

BOARD KIT CAPABILITIES

$99

00

64 Byte register

Built-in priority interrupts

Documentation

Uses Falrbug PSU

FOR FAIRBUG 4K F8 BASIC ON PAPER TAPE $25'

2708 8K EPROM $24.95

2522STATICSHirT PEG . . S 195

2513CMARACTER GEN . . . S 9.95

251S HEX 32 BIT sn S 3,50

21021 1024 BT RAM S 1.29

5280 nK DYNAMIC RAM S 4.75

5202A UV PROM S G.95

1101A 256 BIT RAM $ .85

1702AUVPROM S 4.95

5701AK PROM SIO 95

AY-5-1013 UART $ 6.95

MINIATURE MULTI-TURN TRIM POTS 10O. 500, 1K,2K,5K,10K,25K,50K.100K,

200K,500K 1 Meg. S.75 each 3/$2.00

MULTI TUrlN TRIM PO TS Similario Bourns 3010 slyle 3/I6"'x5/8"itl IM"; 50. 100, IK. lOK. 5QK ohms SI .50 ea. . 3/34.00 LIGHT ACTIVATED SCA's TOIS. 200V lA S 1,10

TRANSISTOR SPECIALS

2N35B5 NPN Si TO 66 S 95

2N3772 NPN S. TO-3 $160

2N456A PNP GE .... S .75

2N4'J08 PNP S. TO-3 S 1.00

2N605G NPN Si TO-3 Diiihngion . S 1.70

2N5n86 PNPSi TO-92 4/S 1.00

2N48<)8 PNP TO-66 S .60

2N40'1 PNPGETQ-5 5/S 1,00

2N3919 NPN St TO-3 RE S 1.50

MPSA 1 3 NPN Sj to 92 3/S 1.00

2N3707 NPN Si TO-66 S .70

7^1122 NPN Si TO-18 5/S 1.00

2N3055 NPN Si TO-3 S .70

2N3904 NPN Si TO-92 5/S 1.00

2N390G PNPSi TO-92 5/S 1.00

2N529G NPN Si TO-220 S .50

2N6100 PNPSi TO-220 S .55

2N3G38 PNP Si TO-5 5/S 1.00

2N65I / NPN TO-92 Si 3/S 1,00

WSU 30 HAND WIRE WRAP TOOL USED TO WRAP, UNWRAP AND STRIP #30 WIRE

$5.95

S9 W^

tJCliul WMMtM

\k 4148 nNgi4i

'5/Sl.QO

MCA ?J1 OPTICAL LIMIT SWITCH Sl-50

LED READOUTS

FND35gC.C. .4" S .50 HP 7740-.3" CO. $1.25

FND70C.C. .4" $ .55 MAN-7-.3" C.A. $ .95

FND503C.C..5" S -85 NS 33-3 dig. arrav S .75

PRINTED CIRCUIT BOARD

4-1/2" x6-1/2" SINGLE SIDED EPOXY

BOARD 1/16" lhi.:k, uni'ichnrl

$.60 oa 5/S2.60

7 WATT LD-65 LASER DIODE IR $a95

2N 3820 P FET ... . . , . S 45

2N 5457 N FET $ .45

2N2646 S .45

ER 900 TRIGGER DIODES .. 4/SI.00

2N 6028 PROG. UJT S -65

8 PIN DIPSOCKETS S .24

14 PIN DIP SOCKETS S .25

16 PIN DIP SOCKETS $ .28

18 PIN DIPSOCKETS S -30

24 PINDIPSOCKETS S 40

28 PIN DIP SOCKETS S .50

40 PIN DIP SOCKETS $ .60

VERIPAX PC BOARD This boiird is a 1/16" siniile siclec) paper epoxy board, 47i"x6''i" DRILLED and ETCHED which will hold up lo 21 single 14 pin IC's or 8. 16, or LSI DIP IC's with busses loi

power; supply conneciur . $4,00

MV5691 YELLOW-GREEN

BIPOLAR LED S .90

FP too PHOTO TRANS S ,50

RED, YELLOW, GREEN or AMBER

LARGE LED's 6/$1.00

1L-5 (MCT-2) S .75

MOLEX PINS 100/Sl.OO

1000/S8.00 10WATTZENERS3,9. 4,7, 5.6,8.2.

12,15,18.22.100,150 or 200V. ea. S .60 1 WATT ZENERSd.7, 5.6,10, 12, 15

18 or 22V ea. S .25

MC6860 MODEM CHIP $9,95

silicon Power Rectifiers

TANTULUM CAPACITORS

22UF 35V 5/Sl.OO 47UF 35V 5/Sl.OO ,G8UF 35V 5,'S1.00 lUF 35V 5/Sl.OO 2'.2'Ur 20V5/S1.00 3.3UF 35V 4/$1.00 4.7UF 15V 5/$1.00

5/$1.00

G8UF 35V 3/Sl,00

22UF 35V $ ,40

30UF GV

33UI .iSV

47UF 20V

68 UP 15V

10 UF 25V

$ .35 $ .50 S .25

M/OOl ALARM CLOCK CHIP

S5,7G

NATIONAL MOS DEVICES

MM1402 ■ 1./5 MM1403- 1.75 MM1404- 1-^5 MM5013- 2.50 MM5016- 2,50 MM5017- 2-70 MM5055- 2.25 MM5056 - 2.25

MM5057 - 2,25 MM5058 - 2.75 MM50G0- 2-75 MM50G1 - 2-50 MM5555- 4-75 MM5556- 4-75 MM5210- 1.95 MM53G0 1.75

lUU

.06

.14

.30

.80

3 70

200

.07 .09

.11

.20

.26 .30

.35

.50 .70

1.15

4.25

100

1.40

5.50

600

1.80

8.50

800

.15

.35

.90

2.30

10.50

FND 510 C A

■ S .85 I

SILICON SOLAR CELLS

2'/4" diameter AM at 500 ma. M.OO / .2V at 200 mils S2.00

309K $ .95 340K-5,12,15

723 S .50 or 24V. . . . .$ .85

LM 376 .... S .60 340T-5. 6, 8. 12

320K-5orl5V SI .40 15,18 or 24VS1.10

320T-5,12,15 78 MG SI.35

or 24V . . $ ,85 79 MG $1.35

RS232 DB 25P male $2.95

CONNECTORS DB 25S female $3.50

740074017402740374047405740674077408740974107411741274137414741G 741774207425742674277430743274377438744074417442

TTLIC

7445744674477448

74507472747374 7474757476748074837485748674897490749174927493749474957496741077412174 1 2374125 74 126

SERIES

.15 74150

7415174153

74154

74155

74157

74161

74163

74164

74165

74173

74174

74175

74176

74177

74180

74181

74190

74191

74192

74193

74194

74195

74257

74279

75324

75491

75492

.60 .95

.95 1.20 .95

1.00 .83

MIN CTS-306-4

ATURE DIP SW FoiJi SPST swit minlilip packa(|B.

TCHES ;hes . . SI

75

CIS 206-8 p.n DIP

Eiqhi SPST swii package.

ches

,„„,0 SI ,95 1

5 8V SPST Mm opi^n, 330 Ohn

ALCO MINIATURE TOGGLE SWITCHES MTA 106 SPOT SI .20

Full Wave Bridges

PRV 2A 6A 25A

200 J5 1.25 _2.pO

400 ,95 T50 3.00

600 1.20 1-75 4.00

SANKEN AUDIO POWER AMPS

S. 1010 G 10 WATTS S 7.95

Si 1020 G 20 WATTS SI 5-95

Si 1050 G 50 WATTS S27-95

WSU-30-Hand wiro wrap tool used to

wrnn, unwrap & Strip #30 wira $5.95

CCD 201 - 100 X 100 CHARGE COUPL'ED DEVICE . . . $99.00

Senrl 25c-or our catalog Iciilui.nil Transistors iinci Rectifiers ^^^^M^ampshiri^^CjHTibr^^

74LS LINEAR

SERIES CIRCUITS

74LS00 -,23 74LS125- .65 LM 101 - .75

74LS02 -.23 7dLSl2S- .65 LM 301/748 31

74LS03 - .23 74LS132 - .80 LM 307 - .30

74LS04 -.28 74LS138- .72 LM 308 - .95

74LS05 - .28- 74LS139 - .72 LM 311 - .95

74LS08 -.23 74LS14G-I.15 LM318 -1,35

74LS09 -.33 74LS151- .98 LM319 - .95

74LS10 -.23 74LS153- .93 LM 324 -1.05

74LS11 -.23 74LS155-1.40 LM 339 -1.10

74LS13 -.50 74LS15G- .95 LM 377 -2.50

74LS15 -.23 74LS157 - .93 LM 380 - .95

74LS20 -.23 74LS160-1.02 LM381 -1.25

74LS21 -.23 74LS161 - 1.02 LM 382 -1.25

74LS22 -.23 74LS162-1.02 LM 537 -2 50

74LS27 -.27 74LS163-1.02 LM 553 -2.50

74LS30 -.23 74LS168-1.10 LM 555 - .44

74LS32 -.33 74LS169-1.10 LM 556 - .85

74LS37 -.37 74LS173-1.39

74LS38 -.37 74LS174-1.05 560 -2 00

74LS40 - .27 74LS175 - 1,22 565 - 1.10

74LS51 -.23 74LS190-1.50 566 -150

74LS54 - .23 74LS191 - 1.50 567 - i.50

74LS74 -.49 7-1LS192 - 1.75 703 - .90

74LS90 - .95 74LS193 - 1.75 709 - .25

74LS42 - .88 74LS195- 1.25 710 - .35

74LS73 - .40 74LS196 - .99 711 - .35

74LS74 -.40 74LS197 - .99 741 C or V .31

74LS75 - .40 74LS257 - 1.35 747 - .65

74LS90 -.89 74LS258-1.38 LM1310-2.B0

74LS92 -.85 74LS2G6 - .38 1455 - 95

74LS93 - .85 74LS365 - .66 1458 - .60

74LS109-.50 74LS366 - .66 CA 3046 - .75

74LS112--.43 74LS367 - .66 CA 3047 - ,95

74LS113 - .43 74LS368 - .66 3900 - .49

74LS114-.43 74LS390 - 2.20 8Q38CC -3,90

Temis: FOB Cambridge, IHass. Send Check or Money Order. Include PoBlage, Minimum Older $5.00. COD'S $20.00

SOLID STATE SALES

P.O. BOX 74B

SOMERVILLE, MASS. 02143 TEL (617) 547-4005

WE SHIP OVER 95%

OF OUR ORDERS THE

DAY WE RECEIVE THEM

Circle 310 on inquiry card.

Feadep Service

To get further information on tile products adi'ertised in B VTE, fiil out tile reader service cord witii your name and address. Tiien circie tile appropriate numbers for the advertisers you seiect from this iist. Add a 9 cent stamp to the card, then drop it in the mail. Not oniy da you gain information, but our advertisers are encouraged to use the marketplace provided by BYTE, This iieips us bring you a bigger ByTC.

'Reader service inquiries not soiicited. Correspond directly with company.

Reader Service Number

Page Number

283 Alpha Digital 203 208 Apple 14, 15 221 Axiom 67

261 Beehive International 179

255 BITS 169, 170, 171,202, 204, 96

284 Bits & Bytes Computer Shop 203 230 BPI 99

* BYTE Index 205

280 Byte Shop East 198

285 Byte Shop of Miami 203

213 California Computer Products 41

273 Canada Systems 186

269 Computalker 184

287 Computer Corner 203

288 Computer Depot 203 267 Computer Enterprises 182

313 Computer Faire Proceedings 220

202 Computerland 6, 7

289 Computer Mart of NH 203 201 Cromemco 1, 2

247 DaJen Electronics 152

212 Databyte37

270 Data Search 184

242 Digital Group 121

279 Digital Micro Systems 189

239 Digital Research 115

315 DRC Engineering 97

311 ECDCIII

290 Economy Terminal 203 272 Edityper Systems Corp 188

291 Electravalue 203

278 Electronic Control Technology 189

301 Electronic Warehouse 208

302 Eltron 209 210 Extensys33

292 F 8) D Associates 205

303 Formula International 211 252 General Computer 167

304 Godbout213

243 Heath Co 129-144

Reader

Reader

Service

Page

Service

Number

Number

Number

233

Heuristics 107

281

234

Homestead Technology 110

296

203

iCOM8,9

*

205

IMSAI 28,29

237

286

Intelligent Business Machines 203

*

258

International Data Systems 176

207

266

Ithaca Audio 182

241

305

James Electronics 214, 215

223

211

John Fluke Mfg 35

248

229

Kent-Moore 98

298

217

Lear Siegler 56, 57

218

259

Logical Services 1 77

»

*

MACC 199

309

260

M & R Enterprises 178

214

294

Manchester Equipment 205

238

306

Meshna 217

268

226

Micro AGE 93

253

254

Microcom 168

220

293

Microcomp 205

310

250

Micronics Inc 161

232

245

Micro Term 147

222

265

Microware 181

200

307

Mikos219

299

256

MiniTerm 172, 173

231

312

MITSCIV

300

308

Morrow 219

274

276

mpi 188

209

240

MSI 117

225

295

Mulab Inc 205

246

275

Mullen 187

235

219

National Multiplex 60

215

227

North Star Computer 95

262

277

Objective Design 188

282

224

OK Tool 83

238

257

Oliver Audio Engineering 175

204

216

OSI 52, 53

264

244

PAIA 145

271

251

Parasitic 166, 183

263

*

PC 77 88,89,90

228

*

PerCom Data 151, 174

249

Page Number

PERCOMP78 5

Personal Computing Corp 205

Personal Computing Expo 162-165

Peripheral Vision 111

PolyMorphic 19

Processor Technology 22, 23, 24

Quantronics 119

Quay 75

RHS Marketing 159

Rotundra Cybernetics 205

Sceibi 58

Scientific Research 73, 81

S D Sales 221

Seals 47

Smoke Signal Broadcasting 113

Software Exchange 183

Software Records 168

Solid State Music 61

Solid State Sales 223

Soroc 105

Space Byte 71

Southwest Tech CM

Sunny Computer Store 205

Synchro Sound 100, 101

Szerlip Enterprises 205

Tarbell 187

Technical Design Labs 31

Technical Systems Consultants 87

Telesensory Inc 1 50

Telefile Computer Corp 110

TLF Corp 51

Triple I 180

Urban Instruments 201

Vamp 110, 199

Vector Graphic 10, 11, 59

Vectron 181

Wintek Corp 185

Worldwide 180

Ximedia 109

Xybek 161

BY H's [Ikigcinf Moniltp htix

BOMB'S Double Header. . .

As noted last month, due to the delay in mailing the May 1977 issue caused by a printing plant strike, the analysis of May's reader reactions to articles was delayed by one month. This month, then, the analysis covers the May and June issues.

On BOMB Card, Article No.

ARTICLE

1 Taylor: SCORTOS: Implementation of a Music Language

2 Atkins: A New Dress for KIM

3 Ciarcia: Control the World! (Or at Least a Few Analog Points)

4 Emmericlis: Expanding the Tiny Assembler

5 Rampil: One-Sided View of Wire Wrap Sockets

6 Chamberlin: Techniques for Computer Performance of Music

7 Sierad: Tune in with Some Chips

8 Hauck-Nash: The Noval 760

9 Helmers: Notes on Interfacing Player Pianos

10 Morgan: Notes on Anatomy: The Piano's Reproductive System

11 Wimble: An APL Interpreter for Microcomputers: Part 2

12 Jacoby: Walsh Functions: A Digital Fourier Series

PAGE

12

26

30

44

54

62

84

102

112

122

126

190

For May, the winner was Sheldon Linker's "What's in a Floating Point Package?" Author Linker thus receives the $100 first prize bonus, while second place (and a $50 bonus) went to Jack Emmerichs' article, "Implementing the Tiny Assembler." The May issue statistics found the winner at 1.1 standard deviations away from the mean of all article votes, with the standard deviation coming in at 15% of the mean. May articles had fairly uniform reactions from readers as measured by the relatively small deviation in votes for the various articles.

In contrast, the June voting was characterized by an overwhelming "spike" in the response, with the winning entry Ralph Hollis' "Newt; A Mobile Cognitive Robot." He won the voting (and the $100 prize) easily with a positive margin of 2.1 standard deviations away from the mean. Second place at 0.6 standard deviations was Dan Fylstra's article on "Interfacing the IBM Selectric Keyboard Printer." Reflecting the "spike" in favor of Newt, the standard deviation of this group of votes was 23% of the mean."

224

K^Into Maxi-SDwer @ Micro-Srice'

Micromind is an incredibly flexible, complete and expandable, hardware/ software, general purpose computer system. You won't outgrow it.

Hardware includes an 80 key, softwaredefinable keyboard, I/O interface board, 6500A-series microprocessor (powerful enougfi for advanced computing), a fiighdetail graphics and character display processor, power supply, enclosure and connections for up to 4 tape recorders plus TV or monitor. An interconnect bus

powerful assembler, a debugger, a file system, graphic routines, and peripheral handlers. We also include dynamic graphic games: Animated Spacewar and Life. ECD's standard Micromind /uM-65 supplies 8K bytes of memory. Additional

32K byte expansion boards and a mapping option give Micromind expandable access to 64 Megabytes. Gtilizing softwarecontrolled I/O channels, Micromind's advanced encoding techniques load data from ordinary tape recorders at 3200 bits per second.

Micromind comes to you ready-to-use, factory assembled and fully tested. Among microcomputers, it has the largest memory capacity and the fastest storage. You're looking at the work of the finest display processor on the market. You won't find a microcomputer with a more powerful CPU. You won't find a computer with a more flexible keyboard. You won't find anything to touch it at $987.54.

1

permits 15 additional microprocessors, parallel processing and vastly increased computing power.

System software—including ECD's own notsoBASlC high level language, on advanced error-correcting tape cassettes —provides a word processing editor, a

So, quit the kluge scene and key into Micromind. You'll be a main frame performer, with all the comforts of home. We're not fooling... this is the cat's ya!

ECD CORP. 196 Broadway, Cambridge, Mass. 02139 (617)661-4400

C(3>

Name.

Address.

City/State.

.Zip.

n Fantastic! Check enclosed: $987.54. shipping paid byecd D BankAmericard D Master Charge Mass. Resident add 5x Saies Tax

# Expiration Date

Signature

D Send me your brochure.

Actual unretouched photographs.

Circle 311 on inquiry card.

Altair Computer Centers offer you direct access to the complete line of Altair microcomputer products. For demonstrations, information or service, visit the experts at your local Altair Computer Center today. They're located at these addresses:

ALTAIR COMPUTER CENTER 4941 East 29th St. TUCSON, AZ 85711 (602)-748-7363

COMPUTER KITS (S.F. area) 1044 University Ave. BERKELEY, CA 94710 (415)-845-5300

THE COMPUTER STORE (Arrowhead Computer Co.)

820 Broadway

SANTA MONICA, CA 90401 (213)-451-0713

THE COMPUTER STORE, INC.

( Hartford area )

63 South Main Street

WINDSOR LOCKS, CT 06096

(203)-627-0188

GATEWAY ELECTRONICS, INC. OF COLORADO 2839 W. 44th Ave. DENVER, CO 80211 (303)-458-5444

THE COMPUTER SYSTEMCENTER 3330 Piedmont Road ATLANTA, GA 30305 (404).231-1691

CHICAGO COMPUTER STORE

517 Talcott Rd.

PARK RIDGE, IL 60068

(312)-823-2388

THE COMPUTER STORE, INC. 120 Cambridge St. BURLINGTON, MA 01803 (617)-272-8770

THE COMPUTER STORE

OF ANN ARBOR

310 East Washington Street

ANN ARBOR, Ml 48104

(313)-99S-7616

COMPUTER STORE OF DETROIT 505-507 West 11 Mile St. MADISON HEIGHTS, Ml 48071 (313)-545-2225

THE COMPUTER ROOM 3938 Beau D'Rue Drive EAGAN, MN 55122 (612)-452-2567

GATEWAY ELECTRONICS, INC. 8123-25 Page Blvd. ST. LOUIS, MO 63130 <314)-427-6116

ALTAIR COMPUTER CENTER 5252 North Dixie Drive DAYTON, OH 45414 (513)-274 1149

ALTAIR COMPUTER CENTER

110 The Annex

5345 East Forty First St.

TULSA, OK 74135

(918)-664-4564

ALTAIR COMPUTER CENTER 8105 SW Nimbus Ave. BEAVERTON, OR 97005

(503)-644-2314

ALTAIR COMPUTER CENTER 611 N. 27th St. Suite 9 LINCOLN, NB 68503 (402).474-2800

COMPUTER STORES

OF CAROLINA, INC.

1808 E. Independence Blvd.

CHARLOTTE, N.C. 28205

<704)-334-0242

COMPUTER SHACK 3120 San Mateo N.E. ALBUQUERQUE, NM 87110 (505) 883-8282. 883-8283

THE COMPUTER STORE 269 Obsorne Rd. ALBANY, NY 12211 (518)459-6140

THE COMPUTER STORE

OF NEW YORK

55 West 39th St.

NEW YORK, NY 10018

(212)-221-1404

ALTAIR COMPUTER CENTER 3208 Beltline Road Suite 206

DALLAS, TX 75234 (214)-241-4088 Metro-263-7638

ALTAIR COMPUTER CENTER 5750 Bintliff Drive HOUSTON, TX 77036

(713)780-8981

COMPUTERS-TOGO 4503 West Broad St. RICHMOND, VA 23230 (804)-335-5773

MICROSYSTEMS (Washington, D.C.) 6605A Backlick Rd. SPRINGFIELD, VA 22150 (703)-569-1110

THE COMPUTER STORE

Suite 5

Municipal Parking Building

CHARLESTON, W.VA. 25301

(304)-345-1360

d^ DDQDS^

circle 312 on inquiry card.