Byte Magazine Volume 02 Number 01 - Hash Tables and Interrupts

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)

M680O Mlcroptocenoi Piogfammlng Manual

! 6800 §^TpEur3iBR •

6800

• COMPLETE WITH 2K OF MEMORY

• SERIAL INTERFACE

• STANDARD ROM MONITOR (Motorola MC 6830L7)

• 4K AND 8K BASIC AVAILABLE

Always the best value in hardware and now an outstanding selection of software too. What more could you want in a computer system? For less than four hundred dollars you get everything you need—ready to connect to a terminal and go to work. No surprises, no funny business, just good reliable hardware in a very practical system that may be expanded to meet almost any later need.

Memory and interfaces are not extra cost items in our system. A standard Motorola MIKBUG® ROM monitor makes the system completely compatible with Motorola

©Motorola

software and eliminates any need for console switches and light. Data may be entered from the terminal in convenient hexadecimal form. The power supply is adequate to operate a fully expanded system with up to 24K of memory and up to eight (8) interfaces—simultaneously.

See the 6800 and our peripheral equipment at your nearest dealer, or write for a complete description.

MP-68 COMPUTER KIT-with serial interface,

2Kof memory and ROM monitor $395.00 ppd

Southwest Technical Products Corporation, 219 W. Rhapsody, San Antonio, Texas 78216

Q Cromemco Z—l ——^—^—— i M i .i.—i.»i. n..i .1. i ii ■ in i in ii ■■ , ..Mil inn OMIHJItH IV1TCM

jjj iTJ

\ \ \ \ '

\i

This is the industry's most powerful microcomputer

(it's also a powerful Z-8O/1P development system)

Uses high-speed Z-80 ,uP You see here a major new development in microcomputers: the Cromemco Z-1.

It is the fastest and most powerful microcomputer available.

It gets its speed and power from a selected version of the new Z-80 microprocessor that can operate at a 4 MHz clock rate. (The Z-1 also lets you switch to 2 MHz to be compatible with older systems.)

/xP development system

In addition to being a powerful microcomputer the Z-1 is a major fiP development system. It will give you a big head start in developing your circuits around the Z-80 /xP.

All you need do is plug your breadboards into the Z-1's 16 or more extra sockets. You're right into the computer bus.

Broad "S-100" support

What's more, the Z-1 offers you all kinds of peripherals and software. It uses the standard "S-100"

G

bus supported by over a dozen manufacturers. And all Cromemco peripherals (PROM memory and programmer, RAM memory, analog I/O, color TV interface, etc.) just plug into the Z-1's extra sockets.

Cromemco also provides complete software support: a monitor, assembler, BASIC interpreter and more to come soon.

Another thing: you can bet the Z-1 won't be obsoleted. Future CPU cards can plug in for the present CPU card.

Not a kit

The Z-1 comes completely assembled and tested. It's a quality, commercial-grade microcomputer. It

Cromemco

Specialists in computers and peripherals 2432 CHARLESTON RD., MOUNTAIN VIEW, CA 94043

is not available as a kit. Just plug it into the 110-volt line and you're ready to go.

The Z-1's ready, too. It's being shipped. And for all you get, the low $2495 price is a pleasant surprise. It's especially pleasant when you compare it with the price of any complete, assembled microcomputer with all the Z-1's features.

Call now and get our brochure on this new system which is so important in working with the Z-80.

Z-1 components

Z-80/4 CPU

8K static RAM

Capacity for 8K PROM

PROM programmer

Resident monitor in PROM

RS-232 I/O

Full 22-slot motherboard and

connectors Fan installed Not a kit; completely assembled

(415) 964-7400

In

This BITE

tations useful in the games of TACTIX andHEXPAWN.

Terry Dollhoff provides readers with some food for thought on hashing techniques. Turn to Making Hash With Tables to find out what it means to hash data as a method of improving table access time. The straightforward way of seeking data in a table (searching each element in turn) is far from the most time efficient, as you'll discover by considering Terry's arguments.

For an output only interface, you don't necessarily have to use a UART to drive a Teletype printer. Gregory C Jewell shows How to Drive a Teletype Without a UART using five standard TTL integrated circuits.

How do you drive a tape recorder's head directly, and read data directly? If you read David M Allen's article in this issue, you'll find out that Saturation Recording's Not All That Hard after all. David shows a simple tape driver circuit, input signal processor and the design of software for direct digital recording with audio tape heads on cassette recorders.

Watts Inside a Power Supply? Find out by reading Gary Liming's account of power supply basics. You'll find that there are indeed watts lost inside a power supply, the reason these items invariably come with some form of heat sink. After reading Gary's article you'll have some good background information in your memory banks for evaluating the various power supply schemes which are used in practice, and why such schemes are used.

Altair BASIC (in whatever form you have it) is an excellent aid to the utilization of an 8800 system. However, there is that residual problem of putting in a 20 byte bootstrap program every time you turn power on. In this issue, a short article by Jim Kreitner shows you how to Pick Up BASIC by PROM Bootstraps.

Who knows what the bears and bulls will be doing next in the stock market? Play Black Friday, a BASIC game by Bob Baker, and you'll get a heuristic feel for what happens through the powerful tool of simulation. Will X-Pando do better than Slippery Oil after a simulated year of trading? Play the game and find out.

Newcomers may wonder what is meant by the term "direct access storage device." This is the most useful form of mass storage, a form which is the dream and goal of every small system hacker who has passed the beginning stages of programming applications of his or her computer. To help define the terminology for the novice, reader Curt Hill has provided an elementary article on the types and uses of direct access storage.

The SYS 8 monitor as it is supplied by IMSAI and Processor Technology is a self-contained operating system for 8080 based microprocessors which comes equipped with its own set of executive commands. These commands are used for calling programs that are resident in the system. Wouldn't it be great if programs that are not part of the monitor could be part of the executive command table? This was the conclusion of Willard I Nico. He decided to have easy availability of his most used programs by adding them to the executive command table. He describes how you too can easily accomplish this in his article SYS 8 1/2 - Your Own Executive Commands.

Representations of two dimensional game boards as the bits of various bytes in your computer's memory can often be chosen to help facilitate evaluation and strategy computations. In Computer Models For Board Games, Russell R Yost Jr presents some basic background information on the problem and suggestions for represen

For use when testing out your hardware, the idea of The Built-in Logic Tester can prove quite useful. K W Christner discusses the concept in a short article on his version of a logic probe.

Riddle of the Month: What is not like an elephant with a suntan?

oj ajnsodxa oj anp ujajjDd Ajowauj sjl sjaBjoj L/DiLjM IAI0X3 UV

Build the "Coffee Can Special" EROM Eraser described by Lawrence Burbey in order to convert white elephant EROMs into blanks ready for reprogramming.

Video interfaces often produce an EIA composite video signal as the principal output. What do you do when you have a commercial digital monitor with separate sync inputs of the type used in display terminals? Why, that's when you follow David Rosen's lead and Separate Your Sync by tapping the interface at a nonstandard point.

June BYTE had an article on ELM, an Eloquent Little Monitor. In this issue, author G H Gable describes a method of Using Interrupts to Speed Up an ELM. The use of interrupts and a tape drive with a direct memory access interface make a valuable extension of the basic monitor concept.

In June and July a survey was conducted of computer hobbyist clubs in the US and Canada. The questionnaire covered such areas as number of members per club, types of computers owned, applications for the computers and the members' backgrounds. In his article, A Computer Hobbyist Club Survey, David Caulkins releases the results of the survey and explains some of the conclusions that he has reached as a result of the survey.

Introducing Sol Systems

A complete computer/terminal concept with all the standard features, software and peripheral gear you want in your personal computer.

^m

I

■asanas

mtm

^ »p

<^i

iiiiiiiiiiiiMiiiiiiiMiiiiiiniiiiiniiiiuimi

In the Queue

BITE

18 32 34 82 91 92 106

42 50 56 60 66 78 116

BYTE magazine is published monthly by BYTE Publications Inc, 70 Main St, Peterb orough. New Hampshire 03458. Subscription rates are $12 for one year, $22 for two years, $30 for three years in North America. Second class postage paid at Peterborough, New Hampshire 03458 and at additional mailing offices. Phone 603—924-7217. Entire contents © copyright 1976 BYTE Publications Inc, Peterborough NH 03458. All rights reserved. Address editorial correspondence to Editor, BYTE, 70 Main St, Peterborough NH 03458. Opinions expressed by authors are not necessarily those of BYTE magazine.

Foreground

MAKING HASH WITH TABLES

Software— Dollhoff HOW TO DRIVE A TELETYPE WITHOUT A UART

Hardware—Jewell SATURATION RECORDING'S NOT THAT HARD

Mass Storage Technology—Allen THE BUILT-IN LOGIC TESTER

Hardware—Christner BUILD THE "COFFEE CAN SPECIAL" EROM ERASER

Hardware—Burbey SEPARATE YOUR SYNC

Hardware—Rosen USING INTERRUPTS TO SPEED UP AN ELM

Software—Gable

Background

WATTS INSIDE A POWER SUPPLY

Hardware—Liming PICK UP BASIC BY PROM BOOTSTRAPS

Hardware—Kreitner BLACK FRIDAY

Software—Baker TYPES AND USES OF DIRECT ACCESS STORAGE

Mass Storage Devices—Hill SYS 81/2 . . . YOUR OWN EXECUTIVE COMMANDS

Software—Nico COMPUTER MODELS FOR BOARD GAMES

Applications—Yost A COMPUTER HOBBYIST CLUB SURVEY

Survey—Caulkins

Nucleus

2

In This BYTE

4

The Appliance Computer, Circa 1977

11

About the Cover

11

Machine Readable Printed Programs

11

Book Reviews

16

Letters

72,84

What's New?

76

Description: Tutorial Training Computer

93

Answer to Software Bug 6

94

Description: OSI

96

Classified Ads

97

BYTE's Bugs

99, 104,

130 BYTE's Bits

100

Some Candid Shots from PC 76

114

Kil O'Byte

115

Clubs, Newsletters

119

Clubs, Newsletters Directory

140

Ask BYTE

144

BOMB

144

Reader Service

JANUARY 1977

Volume 2 Number 1

PUBLISHERS

Virginia Peschke

Manfred Peschke

EDITOR

Carl T Helmers Jr

PRODUCTION MANAGER

Judith Havey

CIRCULATION MANAGER

Manfred Peschke

ASSISTANT PUBLISHER

Debra Boudrieau

CO-OP EDITOR

Raymond G A Cote

PRODUCTION EDITOR

Karen Gregory

DEALER CIRCULATION

Deena Zealy

CIRCULATION

Kimberly Barbour

Cheryl Hurd

Anne Jackson

Deborah R Luhrs

Carol Nyland

ADVERTISING

Elizabeth Alpaugh

Virginia Peschke

ART

Matthew Arnold

Noreen Bardsley

Mary Jane Frohlich

Lynn Malo

Bill Morello

SPECIAL PRODUCTS

Susan Pearne

Floyd Rehling

TYPOGRAPHY

Custom Marketing Resources Inc

Goodway Graphics

Mary Lavoie

Taimi Woodward

PHOTOGRAPHY

Ed Crabtree

Custom Marketing Resources Inc

PRINTING

The George Banta Company

Custom Marketing Resources Inc

Lennie Cashion

Larry Davis

Jeff Pratt

ASSOCIATES

Bob Baker

Dan Fylstra

Harold A Mauch

Chris Ryland

TECHNICIAN

Melvin G Weir

TRAFFIC MANAGER

Peter Travisano

Editorial

by Carl Helmers

The Appliance Computer,

Circa 1977

Articles Policy

BYTE is continually seeking quality manuscripts written by individuals who are applying personal systems, or who have knowledge which will prove useful to our readers. Manuscripts should have double spaced typewritten texts with wide margins. Numbering sequences should be maintained separately for 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 should 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 magazine 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. ■

With the beginning of the new year, it's time to return to the theme of the "ideal" personal computing system, the ne plus ultra in terms of design finesse, convenience and low price. In short, a quality packaged product ready to be programmed by the user . . . the same concept found in the programmable calculator, but applied to the general purpose computer system instead. This product is on the way. My "authoritative" pronouncement on the future of the field during 1977 is that 1977 is to be the year of the "Appliance Computer." Now that I've made my pronouncement, you ask in reply "now how can Helmers make a crazy statement like that?" The rest of this month's commentary concerns the reasons for this summary of the coming year, a view from the root node of an information tree.

Quite simply, the "appliance computer" is the concept of a true finished product desk top general purpose computer which can be purchased at your local dealer, a complete package of hardware with supporting systems software at a reasonable price. It is the software experimenter's dream machine, a computer where the only concerns are the generation of programs and the hardware is just assumed to exist and work properly. It is the starting point of applications and systems programming experimentation. The appliance computer is the personal computing system which does not require that its owner own an oscilloscope, a complete electronics laboratory, or have experience in the repair and tuning of hardware.

The systems hackers and hardware hackers will of course complain about the very concept of the appliance computer, which is fine. "You're too constrained by someone else's choice of compatible options." "You're limited by a particular style of engineering." "In my perfect system, I'd do this instead." "I wouldn't be caught dead with such a kluge in my system." There is no doubt that there is a lot of pleasure to be gained from the ego involvement of hardware creation and system design. The appliance computer hardly eliminates that pleasure — for those who are sophisticated and knowledgeable enough to enjoy it. They simply avoid buying appliances.

But consider the appliance computer in

analogy to the musical instrument. Most of us musicians (amateur like myself, or professional) get our jollies out of playing the instrument, not out of building it. Sure, I do some weird things like designing an attachment to my baby grand player piano so that my computer programs can play it too; but I do so to enhance my ability to play music, and then I do a custom design only because there are no commercial products. I am primarily a user of the piano, not the builder or designer of the piano system. The builder of the piano, some craftsman at Steinway circa 1910, simply put together a very specific and well designed set of hardware which I program with my own software creations, via my finger tips (and later via rolls or solenoid valves in the pneumatics). So why is it appropriate that 1977 be termed the year of the appliance computer? I have inputs from numerous sources to tell me that the personal computing products are shaking down into finished systems. For example, just take a look at the class and quality of the new Digital Group cases — they're the kind of finished product professionalism one would expect on a computer table in the livingroom of a home. Now, if only Robert Suding's brainchild were completely assembled and tested at the same price. As another example, take a look at the level of case design sophistication and engineering quality represented by the new Processor Technology SOL systems. Again, it's still a kit, but it augurs well for the coming year. Take a look as well at the STM BABY computer. Here is a finished product, not a kit, which is initially a bit more limited in scope as a general purpose system than some of the other products, but which before the year is out will have a complete set of options including mass storage and a high level language. Then there is Steven Jobs' and Steve Wozniac's Apple Computer, presently only available in single board form without case, but soon to become a finished product item at dealers coast to coast, with a case as previewed at Atlantic City last September. There are others as well, firms which have yet to advertise but which have exciting products we may see at dealers in the near future. These include the Gremlin

Continued on page 14

Sol Systems put it all together.

One source for hardware and software.

One source for

engineered compatibility

of computer and peripherals.

That's the Sol plan.

Though the microprocessor made the powerful small computer possible, a lot of folks found out early efforts in the marketplace were selling the sizzle a lot more than the steak. After an initial investment of several hundred dollars, you ended up with some nice parts, but no memory of any kind, no I/O devices or interfaces, no display, printout or software.

The Sol plan ends all that. Processor Technology takes the position that it's far better to be right than first. So let's get down to the Sol no tricks plan.

For $995 in kit form, the first complete small computer

Standard is a basic word at Processor Technology. The Sol-20 has more standard features than any other small computer we know of. Here's what you get.

8080 microprocessor* 1024 character video display circuitry* 1024 words of static low-power RAM* 1024 words of preprogrammed PROM* a custom, almost sensual 85-key solid-state keyboard* audio cassette interface capable of controlling two recorders at 1200 baud* both parallel and serial standardized interface connectors* a complete power supply* a beautiful case with solid walnut sides* software which includes a preprogrammed Prom personality module and a cassette with Basic-5 language plus two sophisticated computer video games* the ability to work with all S-100 bus (Altair 8800/IMSAI/PTC) products.

There are no surprises. Everything you need to make it work is here. In kit form, nominal assembly time from our fully documented instructions is four to seven evenings.

Or start with the Sol-PC for just $475

You can begin your Sol system with the all on one board Sol-PC kit. It has all the

memory and interface electronics including video display, keyboard interface, audio cassette interface, all necessary software and the ability to accept the full Processor Technology line of memory and interface modules. Use the Sol-PC as the basis of a microcomputer, low cost CRT terminal or editing terminal

And these specs are standard

Display: 16 lines of 64 characters per line. Character set: 96 printable ASCII upper and lower case characters plus 32 selectable control characters. Display position: Continuously adjustable horizontally and vertically. Cursor: Selectable blinking. Solid video inversion. Programmable positioning standard. Serial interface: RS-232 and 20-mA current loop, 75 to 9600 baud, asynchronous. Parallel interface: Eight data bits for input and output; output bus is tristate for bidirectional interfaces; levels are standard TTL. Keyboard interface: Seven-level ASCII encoded, TTL levels.

Microprocessor: 8080, 8080A, or 9080A. On-card memory: 1024 bytes PROM (expandable to 2048 bytes), 2048 bytes RAM. External Memory: Expandable to 65,536 bytes total ROM, PROM, and RAM. Video signal output: 1.0 to 2.5 volts peakto-peak. Nominal bandwidth is 7 MHz. Power required (±5%): +5 volts at 2.5 amperes, +12 volts at 150 mA, and —12 volts at 200 mA.

The Sol plan, completely expandable.

By filling the basic main frame with tailor made Processor Technology plug-in PC boards, you can really expand the computing power and flexibility of your Sol-20 Personal Computer.

New items are being announced frequently, but right now, here are some of the

things you can add to your Sol-20. The ALS-8 Firmware module is an assembly language operating system to give you the power to develop and run programs. Use it to quickly write, edit, assemble, de-bug and run your own programs. Some say it's the most useful software development on the market today, but modesty prohibits.

And when it comes to add-on memory boards, you've come to the right place. We've probably got more than anyone else. Choose from 2K ROM or 4, 8 or 16K RAM (read all about the 16KRA board on the last page of this ad). The PT 2KRO will accept up to eight 1702A or 5203Q erasable, reprogrammable memories (EPROM's) with the ability to store in a non-volatile fashion up to 2048 eight-bit words.

Our read/write memories are the industry standards for high reliability. We know, because we have literally scores of customer letters saying "Your memory modules work and keep on working."

To help you solve additional interfacing problems, add the 3P+S I/O module. Here's a board with two 8-bit parallel I/O ports with full handshaking logic and a serial data rate that can be set anywhere between 35 and 9600 baud. Set up control conditions for both parallel and serial ports. Data and error flags can be polled.

A full line of Sol-20 tailored peripherals

No computer can do the full job without the right set of peripheral gear. PT has sought out the best manufacturers of peripheral equipment and worked with them to give you a choice of quality so you can get the most out of your Sol-20. Choose from line and serial printers, perforated tape readers and punches, floppy disk memories, black and white or color graphics displays, A/D, D/A converters and more.

Software, the Computer Power Essential

A big part of making the first complete small computer is providing you with a wide range of easy to use, easy to obtain, low cost software. For the Sol-20, we've developed a whole group of offerings. And more are on their way.

TREK 80

Based on the NBC television series STARTREK, this 8K assembly language program uses the VDM graphics capability for real time war with the Klingons. No holds

barred, they're out to get you from each of the 100 quadrants. TREK 80 resides and runs in 8K of memory and requires the PTC Sol or VDM-1.

New PT 8 K Basic

Processor Technology has the fast new BASIC you've needed for so long. Using our superior BCD math, the speed of the new language is double that of our own fast BASIC-5. To multiple program capability, we've added strings, multidimensional arrays and multi-line, multi-variable, user functions. This is the BASIC for full capability systems. Look at the BUSINESS ANALYSIS program example in the manual to find out how PT 8K BASIC gives you more while using less memory for the working program.

Five reasons why it's so good

1. Strings are not limited to a length of 256 characters and can extend to the bounds of memory.

2. Renumbering of lines with full gosub, etc. updating. Also EXAM and FILL allow for direct memory operations while IN and OUT provide direct I/O capability.

3. Every statement is fully implemented. RESTORE, for instance, restores the data pointer as usual. BUT, with PT 8K BASIC, RESTORE 100 will set the pointer to the data located at line 100.

4. Fully implemented string and math functions include all of the standards — VAL, STR, ASC .... EXP and LOGI and LOG. Also, the more advanced statements such as ONGOTO and IF THEN ELSE along with a loop EXIT are provided.

5. PT 8K BASIC has a 'perfect' implementation of PRINT USING which saves program memory space while still providing more capability than the usual PRINT USING.

The new PT 8K BASIC is similar to the version we're developing for ROM. You use it here before buying the more expensive ROM.

You'll find your PT 8K BASIC also includes both a built-in VDM driver and special editor. The cassette version also includes named program SAVE and LOAD for the CUTS Cassette interface or Sol.

New 8080 FOCAL™DEC

8080 FOCAL has been updated to include operator precedence and all other standard FOCAL conventions. It also has a driver for VDM-1 display and PT Cassette program SAVE and LOAD This version is available only on CUTS Cassette and resides in 8K of memory.

GAMEPAC 1 to entertain family and friends

Show off your VDAA-1 and computer with this lineup of video games. Each is included on the cassette or paper tape.

TARGET keeps track of your hits and misses while you blast away at the moving target. You and your family can get together for whole evenings at a time with this one.

ZING. Learn hexidecimal arithmetic fast with this VDAA game as two players keep the five balls in the air. If both of you get too good . . . ZING, of course, will make it harder.

LIFE. The Sol or VDAA makes a good display for the game of life and this version allows two modes of operation. The universe can be flat or wrapped around on itself. The real meaning of life we'll leave to you but it's fun to watch.

PATTERN. We haven't figured this one out ourselves but it's sure nice to have your computer doing it. You choose the geometric design and how rapidly it changes.

Sol Systems Price List

(prices are net, effective Dec. 1, 1976)

SOFTWARE

ITEM with manual

BASIC 5 software

#2 8K BASIC New 8080 Focal TREK 80 video

game GAMEPAC 1

video games MATH PACK video

calculator ASSEMBLER

software #1 ALS8

CUTS Paper

Source cassette tape

yes ** $19.50

no $29.00 $37.00

no $14.50 N/A

no $ 9.50 $14.50

no $ 9.50 $14.50

yes $14.50 $19.50

yes $14.50 $19.50

no $35.00 $45.00

**CUTS cassette of BASIC 5 is included FREE with all orders for Sol units or CUTS cassette interfaces. Additional cassettes available for $14.50.

Sol system owners be sure to note Sol system on your order. These special versions use less code and provide easier loading along with more convenient operation. SOLOS, SOLED and CONSOL all have provision for the special versions.

All Processor Technology software is distributed on an individual sale basis for personal use. No license to copy, duplicate or sell is granted with this sale. Each software package has been copyrighted by Processor Technology and all rights therein are reserved.

Sol Terminal Computers Kit Price

SOL-PC SINGLE BOARD TERMINAL

COMPUTER™ $475.*

SOL-10 TERMINAL COMPUTER™ Sol-PC with case, power supply and 70 key solid state keyboard. $795.*

SOL-20 TERMINAL COMPUTER™ all features of Sol-10 with larger power supply, 85 key solid state keyboard, fan, and five slot expansion backplane. $995.*

*Sol prices include CONSOL Personality Module. If SOLED Intelligent Editing Terminal Module or SOLOS Standalone Operating System Module is desired instead, add $100. If ordered separately, personality modules are $150 each.

Memory Modules Kit Asmbid.

ALS-8 PROM Resident Assembly

Language Operating System — $425

SIM-1 Interpretive Simulator

add-on option for ALS-8 — $ 95

TXT-2 Text Editing add-on

option for ALS-8 — $ 95

2KRO Erasable PROM module $ 65 $ 89 4KRA 4096-word Low Power

Static RAM $159 $195

8KRA 8192-word Low Power

Static RAM $295 $375

16KRA 16384-word Dynamic

RAM — $529

Interface modules 3P+S Parallel,Serial I/O

module $149 $199

CUTS Computer Users Tape

System cassette interface $ 87 $119

VDM-1 Video Display Module $199 $295

Mass Storage Systems

Helios II Disk System™ includes dual PerSci 270 floppy disk drive, cabinet, fan,S-100 bus compatible controller, power supply, system diskette with complete PTDOS software $1895 $2295

Misc.

EXB Extender Board $ 35 $ 45

WWB Wire Wrap Board $ 40 —

Prices, specifications and delivery subject to change without notice. Please allow up to two weeks for clearance of personal checks. Mastercharge accepted. All orders amounting to less than $30 must include $3 for handling.

New

16K RAM, fully assembled, $529

More bits per buck than ever before on a fully burned in and tested board unconditionally guaranteed for one year.

Processor Technology made the first 4K static RAM modules for the home computer market. Now in a price performance breakthrough we offer you a 16,384 byte dynamic memory module assembled, tested and burned in. Not a kit — and at $529 who'd want to build it from scratch?

Processor Technology gives you the features to make 4K dynamic RAMS work for you.

• Invisible refresh, no waiting while CPU is running.

• High speed 400 nsec access time worst case Z-80 and 8080 compatible.

Processor Technology Dealers

• Versatile addressing, each 4096 byte segment is individually addressed to any of the sixteen available 4K segments.

• Low power — typically 5 watts when running — the same as most 4K memory modules.

• BATTERY BACKUP capability built-in for standby operation.

• IMPORTANT NOTICE —No 16K memory module available is fully, truly static. 4200/4402 type "static" RAM's have high level, high current clocks with high transient power levels. Any RAM with 12 volt 30 mA clock pulses should not be called "STATIC" just because each memory cell is a flip-flop.

Specifications

Access Time Cycle Time Rams Used

Capacity Memory

Protect Addressing

Operating Power

400 nsec max

500 nsec max

Intel 2104 or Mostek 4096

types

16384 8-bit bytes

standard on card

each 4096 byte page

addressable

+ 7.5 to 10 VDC at 0.4 A typical

+ 15to+18V at 100mAtypical

- 15 to -18 VDC at 20 mA max

See your nearest dealer listed below or contact us directly. Address Processor Technology, 6200 Hoi I is Street, Emeryville CA 94608, Phone 415/652-8080.

CALIFORNIA

The Byte Shop 1514 University Ave. Berkeley CA 94703

The Byte Shop 2559 South Bascom Ave. Campbell CA 95008 The Computer Mart 624 West Katella#10 Orange CA 92667

The Byte Shop 2227 El CaminoReol Palo Alto CA 94306 The Computer Center 8205 Ronson Road San Diego CA 92111

The Computer Store of San Francisco 1093 Mission Street San Francisco CA 94103

The Byte Shop 509 Francisco Blvd. San Rafael CA 94901

The Byte Shop 3400 El CaminoReal Santa Clara CA 95051

The Byte Shop 2989 North Main St. Walnut Creek CA 94596

FLORIDA

Microcomputer

Systems Inc.

144 So. Dale Mabry Hy.

Tampa FL 33609

GEORGIA

Allanla Computer Mart 5091-B Buford Hwy. Atlanta GA 30340

ILLINOIS

The Numbers Racket 518 East Green Street Champaign IL 61820

itty bitty

machine co., inc. 1316 Chicago Ave. Evanston IL 60201

The Chicago Computer Store 517Talcort Road Park Ridge IL 60068

INDIANA

The Data Domain

HI South College Ave.

Bloomington IN 47401

MICHIGAN

The Computer Store of Ann Arbor 310 East Washington Ann Arbor Ml 48104

NEW JERSEY

The Computer Mart

of New Jersey

151 Kline Boulevard

Colonic NJ 07067

Hoboken Computer Works

56 Second Street

Hoboken NJ 07030

NEW YORK

Audio Design Electronics 487 Broadway, Ste. 512 New York NY 10013 The Computer Corner 200 Hamilton Ave. White Plains NY 10601

The Computer Mart

of Long Island

2072 Front Street

East Meadow, L.I. NY 11554 TEXAS

The Computer Mart of New York 314 Fifth Ave. New York NY 10001

Synchro Sound Enterprises 193-25 Jamaica Ave. Hollis NY 11423

OREGON The Real Oregon Computer Co. 205 West 10th Ave Eugene OR 97401

RHODE ISLAND

WASHINGTON

The Retail Computer Store 410 N.E. 72nd Seattle WA 98115

WISCONSIN

The Milwaukee Computer Store 6919 W North Ave. Milwaukee Wl 53213

Computer Power, Inc. M24 Airport Mall 1800 Post Road Warwick Rl 02886

CANADA

The Computer Place 186 Queen St. West Toronto, Ontario M5V 1Z1

Trintronics 160 Elgin St. Ottawa, Ontario

The Micro Store 634 South Central Expressway Richardson TX 75080

Beck Reviews

Computer Power and Human Reason: from Judgment to Calculation by Joseph Weizenbaum, W H Freeman and Co, San Francisco, 1976, 300pp, $9.95.

About the Cover.. .

January is the look to the future month. For this month's cover, Robert Tinney hit upon the idea of emphasizing the use of the computer to solve problems and improve the way things are done in a fantasy on a crystal ball theme. Against a drab world picture in browns and yellows, we see the brilliant color of the future in the picture on the terminal. It is also fitting that in this January BYTE, two years after the original Altair publicity in Popular Electronics, that it is a MITS Altair that Robert found when he visited Willard Nico and Don Nash to get images to model in his painting.

Update on Machine Readable Printed Programs . ..

In last month's BYTE, we ran a test of the bar code strings needed to make a machine readable printed program. The purpose of the test was to see what would happen when the information was passed through a printing press. An old engineering rule of thumb is that if there is a simple test to be made, try it; this is what we did. Of the five test samples, visual inspection indicates that the low density versions would pass with flying colors. Of the three high density samples, (a), (b) and (d) in figure 4 on page 17, (b) and (d) are totally unacceptable due to the bleeding between the lines near the top of the samples.

Visual inspection of the high density single width version at (a) shows considerable variation in line and space width as printed, but no complete closure of spaces. Thus the (a) density with a spacing of 8 frames per inch horizontally on the page is a marginal density.

Next month, watch for still another test.B

I should probably begin by identifying myself as an outsider to the world of "pure" thought and computers. I am among those firmly entrenched in the humanistic tradition. My prejudices run toward poetry rather than programs, and emotion rather than algorithms. Mathematics to me is a mysterious foreign language. When faced with a problem involving more than a few simple operations, my eyes glaze, my palms grow clammy. I am overcome with what by now has become a well-ingrained, almost primordial fear. I give up without a struggle. When Carl Helmers handed me a copy of a book which seemed to focus primarily on computers, my heart and mind rebelled only to become fascinated within a few pages. This book is as much about life as it is about computers.

Computer Power and Human Reason is an exciting, challenging book written by one who must be considered an extraordinary man, Joseph Weizenbaum. He is an MIT professor in the field of computer science. Several years ago he invented a language analysis program called ELIZA which programs a computer to respond like a Rogerian psychotherapist, a program which must have demanded a great deal of sophisticated thought in the use of language and computers. The book is partly a reaction to the history of the program, ELIZA. Here's how a typical ELIZA sequence looked:

I AM SORRY TO HEAR YOU ARE DEPRESSED

It's true. I am unhappy. DO YOU THINK COMING HERE WILL HELP YOU NOT TO BE UNHAPPY

I need some help, that much seems

certain. WHAT WOULD IT MEAN TO YOU IF YOU GOT SOME HELP

Perhaps I could learn to get along with

my mother. TELL ME MORE ABOUT YOUR FAMILY

My mother takes care of me. WHO ELSE IN YOUR FAMILY TAKES CARE OF YOU

My father. YOUR FATHER

IOSEPH WEIZENBAUM

FROM JUDGMENT TO CALCULATION

11

You are like my father in some ways. WHAT RESEMBLANCE DO YOU SEE

You are not very aggressive but I think

you don't want me to notice that. WHAT MAKES YOU THINK I AM NOT VERY AGGRESSIVE

You don't argue with me. WHY DO YOU THINK I DON'T ARGUE WITH YOU

You are afraid of me. DOES IT PLEASE YOU TO BELIEVE I AM AFRAID OF YOU

My father is afraid of everybody. WHAT ELSE COMES TO MIND WHEN YOU THINK OF YOUR FATHER

Bullies. DOES THAT HAVE ANYTHING TO DO WITH THE FACT THAT YOUR BOYFRIEND MADE YOU COME HERE [pages 3-4]

Astounding? We may surmise that Weizenbaum is a master computer technician and knows a little bit about how computers "think." But he is more than a technician. He is a humanist and serious social thinker. One may credit him with being in the order of a Renaissance man. He writes well. He writes specifically. And he writes with soul.

The chief problem Weizenbaum grapples with here concerns a society which is rapidly moving away from its agrarian roots in which holistic thinking, emotion, spirit, and human values are cherished; a society he perceives moving toward a machine dominated world in which artificial intelligence may come to dominance and deal human dignity a very severe black eye. Weizenbaum takes on those who champion the cause of technology over the poetry of the human spirit: the B F Skinners, the Newells, the Simons, the Schanks (mentioned in his book), and gives them a pretty good run for their money. He does it in the form of trying to find a limit to the appropriateness of computer thinking. (One may take a bit of license here and surmise that the computer is a viable symbol of technology as a whole.)

Weizenbaum is wary of the concept of artificial intelligence. He says that the expectation that computer thinking will mirror human thinking will never be fully realized. One of his most interesting arguments is that the barriers posed by natural language may well be insurmountable. Context and vocabulary pose problems that may never be handled adequately without real world human experience. Language is ripe with ambiguities as anyone who has taken the trouble to consider the question at all is well aware. Computers are notoriously unambiguous. He argues that the human experience is a shadowy one—one which can never be

boxed into a logical framework and ultimately must be poorly communicated in the form of a necessarily deterministic computer program. The range and depth of human experience is unfathomable and unlimited. After reading Weizenbaum's book, I'm not quite sure exactly what programmers can program but I expect it lies somewhere in the realm of the finite.

What are the limits of computer thinking? Of technology? After reading Professor Weizenbaum's book I still don't know. The fact is that nobody knows.

Peter Travisano Jaffrey NH"

More Resource Books

The following letter was received recently, and we print it in the book reviews section since it concerns resource materials for computer applications available in book form.

In the October issue of BYTE, Fred Bell

concludes his interesting review of the Dwyer and Critchfield book, Computer Resource Book — Algebra, by asking if there are other computer resource books for geometry, trigonometry, probability and statistics. Here is a list of a few more, with a brief description of each:

1. Advanced Placement Calculus: Exercises with Computer Programs by B Bates, K farvis and A Van Duyne, 174 pp, $5.50 (Answer Key, $7.50; Solution Manual, $5.50).

In addition to 600 calculus problems, this book contains 30 computer programs covering function graphing, limits and derivatives, function approximations, the definite and indefinite integral, roots and intersections, areas and volumes, curve lengths and surface areas, systems of differential equations, etc.

2. Problem-Solving with the Computer by Edwin R Sage, 244 pp, $6.95.

This text teaches BASIC in the context of the traditional high school mathematics curriculum. There are 40 carefully graded problems dealing with many of the more familiar topics of algebra and geometry. Probably the most widely adopted computer text.

3. The ENTELEK Computer-Based Math Lab by Lawrence M Stolurow, 344 pp, 8-1/2 X 11, ISBN 87567-040-7, $24.95.

This book contains 35 computerassisted instruction programs for use in high school mathematics courses. Once

Continued on page 103

12

Experience

the excitement of owning the finest

personal computer

IMSAI8080

Waiting for you — all the incredible performance and power of the IMSAI 8080. And at a price you would normally pay for a home music system: $699 in kit; $931 assembled. WORLD OF USES The IMSAI 8080 is a superbly engineered, quality computer. It is versatile, expandable and powerful, putting literally hundreds of

applications and uses at your fingertips. Imagine sitting at your desk and enjoying interaction with your IMSAI 8080! Press the on switch and you're ready for game playing, research, education, business applications, or for laboratory instrument control. It has all the power you need, and more, to make your application ideas come alive.

GROWS WITH YOU The IMSAI 8080 is designed for many years of pleasure. With its open-chassis engineering you can expand your system by adding peripherals and interfaces. The 22slots and 28 amp power supply mean that you can plug-in todays, plus tomorrow's modules.

Right now you can add a module for displaying color graphics and characters on TV; a ready-to-use keyboard; small and large printers, and a single interface that lets you attach multiple devices including a cassette tape recorder. Expect the latest, exciting equipment from IMSAI. We are committed to leadership in this expanding technology.

EASY TO PROGRAM With our BASIC language you can operate the IMSAI 8080 quickly and easily. Technically knowledgeable? Use our assembly language to develop sophisticated and unique software.

u're thinking personal computer, treat yourself to the very best — IMSAI 8080

id for free four-color brochure

$1 for catalog. Call or write for

name of nearest dealer.

IMSAI

IMSAI Manufacturing Corporation

14860 Wicks Blvd. San Leandro. CA 94577 (415)483-2093 TWX 910-366 7287

Europaan Distributor

Harper Industry Products, Ltd 6079Sprendlingen2 West Germany

Prices: USA Domestic

Continued from page 4

computer and the computer brainchild of a bunch of MIT beavers who call themselves ECD Corporation. Then there is of course the much rumored Heathkit entry into the market (again as a kit, but certainly to be exhaustively engineered and documented) and the rumors of Japanese imports aimed at the 1977 TV games market but actually consisting of general purpose computers with minimal interfaces and video output.

My "ideal" target of an under $2000 finished product machine which is complete with video interface, mass storage on dual audio cassettes, keyboard input, 8 K of memory or so, systems software in ROM and a high level language capability is well within sight. It can be purchased in kit form over the counter right now. By the end of the year, we can expect to see the fully assembled and tested versions appearing, again well under $2000 in price, and even lower for stripped down versions in mass production. The wealth of products now on or about to enter the market suggest that the appliance computer is the computer of 1977, and the desires of users are sure to support this appraisal of the market."

ATEMENT OF OWNERSHIP. MANAGEMENT AND CIRCULATION

"

'.'irj:r,i

Carl I

DBS

• pw

UUSZfi

2, 300

u»|i.ir, ■...!.'" ii

yyy^ri

introducing an 8k RAM Board that gives you a lot more versatilityfor a lot less money!

Look at these features:

• Low power—500 NS access—no wait cycle.

• DIP switch selection of memory protect increments {256, 512,1k, 2k, 4k, or 8k).

• Provision for battery back up.

• PlusTI low profile sockets, gold-plated edge connectors, solder masked, first line parts and guaranteed for 90 days.

$250.00 in easy-to-assemble kit form includes complete documentation and assembly instructions. $295.00 assembled.

The MB6A is available off-the-shelf through your computer hobbyist stores or direct, along with our other fine products including processor, memory, I/O, mother and extender boards.

CLpercDm

A Division of Solid State Music

We're the blue boards.

2102A Walsh Avenue

Santa Clara, CA 95050 Telephone (408) 246-2707

14

And now minis too! All from a catalog, at discount prices.

Digital's Direct Sales Catalog — the first catalog to offer computer products by mail with off-the-shelf delivery—was such a success, we've come out with an expanded second edition that includes the PDP-8A, the newest member of the world's most popular minicomputer family.

We've also added the LA180 line printer and expanded the sections on microcomputers,

logic modules, terminals, cabinets, connectors, accessories, and supplies from the first edition.

Of course, you still get our 5% catalog discount, plus another 4% for cash with your order. You also get a 10-day free trial period, plus our standard 90-warranty. (Since we're selling by mail, you do have to install the equipment yourself.)

If you were among the thou

sands who ordered our original catalog, you'll get the new one automatically by mail.

If you weren't, why not sign up now?

For your free copy, call 800225-9480 (Mass. 617-481-7400 ext. 6608). Or write: Components Group, Digital Equipment Corp., MR2-2/M59, One Iron Way, Marlborough, MA 01752. (Catalog sales to U.S. only.)

DOCUMENTATION STANDARDS

I would like to propose some documentation standards for the distribution and publication of software for the computer hobbyist.

A source listing with self-documenting comments must be included with any software. Anyone familiar with the programming language should be able to fully understand the program by studying the source listing and comments. The source itself must also be available. If an object module is included the object module format must be completely described. A loader should be provided with a complete explanation of loading and running the software.

There are many overwhelming reasons for saying this. The hobbyist will want to study, modify, and improve the software. Others can learn programming and the principles of complex software systems such as assemblers, text editors, compilers, interpreters, and operating systems by seeing how the software works. Those who have added new or different peripherals and hardware to a system know what a task it is to patch the software without a source listing. We must also face the fact that at some time in the future the company will drop support for the software and we will be forced to fix any bugs in the software ourselves.

These documentation standards would appear to be common sense but in practice they are not in widespread use. A source

listing with good documentation is more essential to software than a schematic is to hardware. I feel that it would be extremely beneficial to the growth of the computer hobby if we would all strive to meet these simple documentation standards.

James O Hamblen

3500Greystone#218

Austin TX 78731

Most sensible. Any reasonably executed software product designed for an "experimenter" should have good documentation. If for reasons of keeping software proprietary, the code is not published, a minimum level of documentation should include a complete list of relocation information, a complete list of 10 routine calling points and calling sequences for patching customer specific routines, and any other information needed to modify the software for a given system configuration.

WOW, WHAT A NEAT FORMAT

CHEERS to Laurence Krakauer [October 1976 BYTE, page 36J for publishing the SIMPLE way to code Morse Code in a single BYTE.

For years I have been watching people try the hard ways. Not too long ago, I saw somebody using up two bytes, one for dots and one for spaces, for each Morse character.

Notice the analogy to start-stop tele

printer operation. One sends MARK for a very long, undetermined, time. Then one sends SPACE for one bit, called a start bit, followed by the data bits. The space bit says "The character starts right after me." The space bit is then thrown away, since it is not a data bit.

Krakauer could have done it that way, by right-justifying the data bits in the byte, inserting a one for a start bit to the left of the data, and padding the remaining left bits with zeros.

His decision to left-justify the data, add a stop-bit, and pad with zeros to the right made it even easier since we operate easily on the carry flag.

In teleprinter operation, we take a twobit penalty for start and stop bits, requiring ten bits to send eight data bits. In Krakauer's format, the start bit is unnecessary, since we know where the byte starts. He takes only a stop-bit penalty, leaving 7 good data bits.

N ) Thompson

Univ of Hawaii Geophysics

2525 Correa Av

Honolulu HI 96822

NEW COPYRIGHT LAW

I was astounded, amazed and very pleased to get the award for the Bomb Bonus Contest!!! Who would have thought of it for a paper on copyright, no less! Bless your readers!!

All I can say for the future is that perhaps this will act as a further spur for me to write some additional pieces for BYTE.

Do you know that we are getting a new copyright law, which will be effective on January 1 1976? Some points: It will for the first time make a magnetic tape a protectable "copy!" Also, a program in the core memory will be a "copy." The new law preempts all copyright rights to the federal law (previously state laws applied to unpub

Continued on page 52

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-30+ which plugs into either the Control (MP-C) or Serial (MPS) 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

$69.95 - KIT* $89.95 - ASSEMBLED*

Manual only - $4.00 (refunded w/o)

*plus shipping

PerCom Special! 2502 UART-$6.95

PerCom Data Co.

P.O. Box 40598 • Garland, Texas 75042 • (214) 276-1968

PerCom — 'peripherals for personal computing'

TEXAS RESIDENTS ADD 5% SALES TAX

16

Tht © J>"-*S n'

M dually rrtcffflir diipiavf graphk

Characttr fgruft — 121 diffirant 9 x 12, foftvanf|i ChtraCtffri. dlipiiytd •■ 2# or 41 linff Of 19 t* 121 chincttri par lin«. *H chanaaablf in rtal tlMi

MM CgUfti — * *"* P»tt,rn "'*" * >3t i li

Key Into Maxi-Power <& Micro-Price

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 enough for advanced computing), a highdetail graphics and character display processor, power supply, rf modulator, and connections for up to 4 tape recorders plus TV or monitor. An interconnect bus

permits 15 additional microprocessors, parallel processing and vastly increased computing power.

System software—including ECD's own notsoBASIC high level language, on advanced error-correcting tape cassettes —provides a word processing editor, a

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 ju.M-65 supplies 8K bytes of memory. Additional

32K byte expansion boards and a mapping option give Micromind expandable access to 64 Megabytes. Utilizing 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.

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 ix\

ECD CORP. 196 Broadway, Cambridge, Mass. 02139 (617) 661-4400

€CD

[Name.

Address.

City/State.

Zip.

□ Fantastic! Check enclosed: $987.54. shipping paid byecd

□ BankAmericard □ Master Charge Mass. Resident add 5% Sales Tax

#

Expiration Date.

Signature

□ Send me your brochure.

Ar^fi tal i inratfti i^harl i-iK/~.f*

Figure I: An Opcode Table Organized for Direct Access. Note that with this particular organization the first data byte of each entry is related to the address of the entry within the table, in a sorted sequence.

TABLE +4 +8 + 12 + 16 +20 +24 +28

00

N

0

P

01

L

D

R

02

S

T

R

03

A

D

D

04

A

N

D

:

05

R

0

T

06

C

L

R

07

S

T

P

Making Hash With Tables

Terry Dollhoff 504 Early Fall Ct Herndon VA 22070

Hashing is a technique used to speed up table searching operations by making position in the table depend upon the data. Many newcomers to programming reject hashing as an overly complicated technique useful only by the designer of exotic systems software, but this is not the case. Any large program, written for fun or profit, may include tasks of accessing, storing, or modifying entries in a table or array. Most game playing programs include a number of such tasks. Application of hashing techniques can often dramatically improve the performance of these programs. This article will explore the use of hashing (sometimes called key-toaddress transformation) as a simple but effective mechanism for accessing stored data. These techniques can be used in applications where the data is organized randomly and where each item has a unique key associated with it. For example, con

Listing 1: Typical 8080 code sequence for a linear search of a table until the first byte of the current table entry matches the value in the accumulator. In this listing, the HL register pair must be preset to the address of the table, the DE register pair must be set with the number of bytes per table entry, the B register must contain the number of entries to search (maximum 255) and the key value sought must be loaded in A. This is by no means the only possible 8080 linear search strategy.

FIND:

CMP

M

Check for a match;

RZ

If so then exit;

DAD

D

Advance to next table entry;

DCR

B

Decrement count;

JNZ

FIND

Continue till end;

JMP

ERR

Table exhausted, treat as error

sider a table that contains computer opcode mnemonics and their associated value as used in an assembler; by using the opcode value as a key this table could be used to determine the mnemonic associated with any particular value. Such a table is an integral part of any disassembler.

In any computer, a particular entry in a table can be specified by the starting address of the entry. Locating an item in a table implies that the starting address for that item must be determined. One possible method that can be used to determine the address, and by far the most common method, is to examine each item sequentially, starting with the first item, until the desired item is located and hence the item address determined. This approach is termed a linear search and as you can see by the the 8080 subroutine of listing 1, it is simple to code. The big disadvantage of a linear search is that it is costly in terms of processing time because, on the average, at least one half of the table entries must be examined before locating the desired item. If the table is moderately large and numerous accesses are required, then the table lookup processing time will constitute a significant part of the total processing time.

An alternative to the linear search involves storing the information in a sorted fashion based upon the key. However, even the best known algorithms for locating data in a sorted table require an average of Log2 N tests, where N is the table size. Therefore, a table with, let's say, 500 entries requires an

18

00

12

04 24

34

57

00

N

0

P

12

S

T

R

04

A

N

D

t

24

X

0

R

V

34

N

O

T

57

S

T

P

:TABLE

:+4

:+8

:+12

:+16

:+20

:+24

:+28

Figure 2: A Hash Accessed Table. Note that with the hash algorithm described in the text, three elements of this table map into identical starting entries, resulting in a rehash requirement indicated by the arrows and dotted lines.

average of nine tests to locate an arbitrary item. Although this is a considerable improvement over the linear search, which would require an average of 250 tests to locate an item, hashing techniques require considerably fewer tests than either method, without the added burden of sorting.

The Key

The fundamental idea behind any hashing technique is that instead of searching the table to determine the address of a particular entry, an attempt is made to calculate the address using the key. That is, a subroutine is written which, when given any desired key, calculates the table location containing the item associated with that key. If this calculation is successful, then the desired item is located with a single search.

The first step is to determine the key. This choice will depend upon the intended use of the table. In the opcode table mentioned earlier, the opcode value is the key since all lookup requests are of the form: "What is the mnemonic for the opcode X?" On the other hand, if this same table were incorporated in an assembler or compiler, then the mnemonic would be the key because requests are now of the form: "What is the opcode value for mnemonic X?". In all of our examples, we will assume that the opcode value is the key.

Direct Access Hash

Imagine that there are only a limited number of opcode values and it so happens that, although the value is eight bits long, the opcode is uniquely determined by the rightmost three bits. If a table, called TABLE, is created with eight 4 byte entries, and the mnemonic and value for each opcode is placed in the table entry whose address is found by multiplying the rightmost three bits of the opcode by four and

adding the results to the base address of the table, then a simple subroutine can calculate the precise location of any entry. That subroutine, shown in listing 2 for an 8080, simply strips off the rightmost three bits of the key, multiplies them by four, and adds in the starting address of the table as shown in figure I. Entries are added to the table in the same manner. Tables of this type are called direct access and are most commonly used for conversions; that is, converting from one character code to another, from opcode values to mnemonics, etc. In many direct access tables the actual key is not even stored in the table since a comparison is not necessary to determine the proper entry.

Open Hash

The direct access method would obviously break down if certain opcode mnemonics were associated with values whose rightmost three bits were equal. In this case, where direct access is infeasible, the algorithm must be slightly modified. A subroutine is still used to calculate the address, but since it is no longer possible to

Editor's Note:

In this article, we represent several algorithms in a structured pseudo code form appropriate to the discussion. These algorithms are referenced by numbers in brackets, as in [n] for algorithm n. Each algorithm should be thought of as a formal procedure, which in practice would be called as a subroutine.

Listing 2: Typical 8080 code sequence for direct hash with a table of eight entries, each entry being four bytes in length. In a direct hash approach, the actual data value (in this case, a number from 0 to 7) being sought is used to determine the offset in the table directly. Here the calculation is made according to the formula: A DDR := BASE + 4 * (A & 7) where A is the value of the entry being sought, BASE is the starting address of the table, and A DDR is the effective address of the table element involved.

FIND:

LXI

H.TABLE

ANI

7

RLC

RLC

ADD

L

MOV

L.A

MVI

A,0

ADC

H

MOV

H,A

RET

HL:=Table pointer; Extract rightmost three bits; Multiply by four;

Add the table address;

HL:=Entry address;

19

Microcomputer pro with the

The fact is that right now microcomputer programming is a bear. Microprocessors are loaded with subtleties which make software development a long, arduous process. That's why we developed the ia7301 Computer in a Book? It's a fully operational microcomputer system and a 250 page programming course all contained in a 3-ring binder. This is not a kit or a toy but a powerful, microcomputer system (based on the industry standard, the 8080) and a practical programming course specifically designed to quickly bring you up to a high level of understanding and proficiency in programming 8080 based microcomputer systems.

The Computer in a Book comes to you completely assembled and tested. All you need is an inexpensive dual voltage ( - 12V & I 5V) power supply. The 5V is generated internally in the computer. There is nothing else to buy.

A super programming course

The programming course text is easy to follow and begins with a one instruction program to determine if a switch is open or closed. This is built upon and expanded, instruction by instruction, until 250 pages later, you become adept at programming complex problems like multi-byte arithmetic and games of skill like PongJM Only with the lasis Computer in a Book can you have the advantages of a handy programming text together with an operational computer to load and test programs each step of the way and thereby learn the intricacies of microcomputer programming at a comfortable pace.

And since this microcomputer has a special built in monitor program which allows you to look into the operational parts of the system you'll never get bogged down in debugging or editing. The ia7301 Computer in a Book is the fastest way to learn everything about microcomputer programming.

, PRQM BAM BAM

["Ki7Bo~RnT

JJOPTIONALI (

POWER

SUPPLY

a7301 CPU IK HAM 2K PROM KEYS/DISPI AYS TAPf IIMTFRFACF

107301 CcM»P««f Programming p

n.r,

■'U.S. Patent Pending Pong is a trademark of Atari, Inc.

Some great microcomputer features, too

The microcomputer system features a 24 pad keyboard, 8 seven segment LED readouts that display information in hexadecimal code which is far more versatile and advanced than binary or octal coded systems, and an onboard cassette tape interface for saving programs. The hexadecimal keyboard also contains 6 special mode keys which allow you to call up and change any data or instructions in the 8080 registers or in the system's RAM memory. Likewise programs can be executed instantly or they can be stepped through one instruction at a time using the appropriate mode key, so that you learn your way around the inner workings of an entire microcomputer system.

Also the write tape and read tape mode keys have been carefully designed for accurate and convenient operation with any home cassette tape recorder that has an earphone and remote microphone jack. Two LED indicator lamps tell how long it takes to dump or reload programs from the system's memory onto tape and back again. But in the reloading cycle, if any errors have occurred such as a lost piece of data, or the volume knob is too low, the readout displays will indicate errors. This little feature prevents untold problems in debugging a reloaded program.

Upwards expandability from the start

We designed the Computer in a Book to be upwards expandable and not become a kluge in the process.The microcomputer contains IK bytes of RAM memory, IK bytes of PROM memory (containing the monitor program), and 2 I/O ports. The Computer in a Book is expandable to virtually any level you want, i.e. up to 65K bytes of memory and 256 I/O ports.

Optional expander boards are available and attach to the ia7301 computer at the top edge connector. A wide variety of standard interface boards can be plugged into the system to give add on memory, TV and teletype interface, and much more. Thus an educational system is easily upgraded into a full computer system.

gramming is a snap mputer in a Book

Also we are offering

preprogrammed PROMs and

extension cassette tapes so you can use your computer

as a teaching machine for your children, as an inventory

control system for your business or as an accounting

system for your home. The Computer in a Book can

become a computer for all reasons.

A college assistance program

Educators interested in exposing their students to a comprehensive background in Microcomputer programming should look into the lasis Microcomputer Instructional Courses for their college or university. Send for our free pamphlet which describes ways of setting up short microcomputer programming courses. It offers some advice on structuring a coordinated and comprehensive program, so your students can learn programming and get valuable hands-on experience with operational systems at very reasonable prices.

The price

The complete Computer in a Book which includes an operational 8080 based system, 250 page programming course, machine code pad, hexadecimal conversion card all in a 3-ring binder is offered for only $450. The Computer in a Book has a 90 day parts and service warranty, lasis also provides a check out list and start up instructions with each system. Please allow 30 days for delivery.

A free bonus

If you order your Computer in a Book before February 15, 1977, lasis will give you an $8.00 Microcomputer Applications Handbook as a free bonus. It contains 144 pages of text, diagrams, and tables on hardware design and microcomputer applications. Order today, if the Computer in a Book isn't everything we say it is, then return it within 15 days for a full refund and keep the Applications Handbook as a gift. We're sure you'll find that microcomputer programming is a snap with the ia7301 Computer in a Book.

I

□ Here's my check or money order for complete ia7301 Computer(s) in a Book at $450 each. Since I ordered my Computer in a Book before February 15,1977,1 want the Microcomputer Applications Handbook as a free bonus. (Calif, residents add 61 z% sales tax).

! 1

Charge my order to the credit card below:

BankAmericard No

Master Charge Mo.

For Master Charge card, put 4 digit number from

above name here

My Signature

Credit card expiration date_

_State

-Zip

Name

Firm

Address^ City

FH Please send me your pamphlet on setting up a Microcomputer Programming Course.

Mail to: lasis Inc., 815 W. Maude, Suite 22, Sunnyvale, CA 94086

(408)732-5700

lasis inc.

successfully calculate the location of all entries, some type of searching algorithm must be employed to pinpoint the position of the entry, given the calculated position. The initial predicted position of the table item is called the hash index and the procedure which produces the hash index is called the hashing function. For the remainder of our discussion, HASH is used to denote that subroutine and therefore HASH(K) denotes the hash index for a particular key, K.

Before considering how the information is initially entered in a hash table, it may be useful to examine the process used to locate an arbitrary entry in a hash accessed table. If KEY is used to denote the key associated with the desired entry, and TABLE, a table consisting of N entries (each of which are B bytes long), then the algorithm to locate the entry that is associated with KEY, using hash techniques, is as follows:

1. I,J := HASH(KEY);

2. do until (l=J—1) [worst case end test for search failure] ;

3. if @(TABLE + I * B) = 0 then [element not present, search failure] ;

4. do; call ERROR; return; end;

5. if <s>(TABLE + I * B) = KEY then

6. return [the item has been located] ;

7. I := I + 1;

8. if I = N then I := 0 [wrap around table space limit] ;

9. end;

10. call ERROR [element not present, search failure] ;

In this algorithm, specified in a structured pseudo code form, step 1 calculates an initial estimate of the location of the item associated with KEY, the hash index. This value is saved in J for the worst case end test in the do until construct of step 2. In steps 3 and 4, the algorithm tests for a null entry end of search criterion and calls an ERROR routine if this is detected. Return to the calling program follows detection and flagging of the search failure condition. Then the algorithm tests to see if the current entry is equal to KEY at step 5; if this condition is found, the algorithm terminates with a return operation at step 6. Otherwise, the next index is calculated at step 7, an end around wrap condition is tested at step 8, and the do loop is closed at step 9 with an end statement. If the loop execution ends through the test on line 2, step 10 is reached and an error condition is flagged before an automatic return assumed after the last line of such a procedure.

Consider again the opcode table example. If the hash procedure is defined as HASH(K) = REMAINDER(K/8), then each table item shown in figure 2 can be located by at most three searches using algorithm | I |.

KEY

Figure 3: Folding Keys. When it is desired to retain the significance of all the bits in a key while compressing the total number of bits used, folding by some operation such as addition can be used.

Defining HASH

In choosing a hash function, you must attempt to define a general procedure, using a minimal number of simple computations, which produces an even distribution of hash indexes for a random selection of possible keys. If we knew that all opcodes were even numbers, then the hashing function HASH(K) = REMAINDER(K/8) would not be efficient, because it will produce only even numbers. This simple example illustrates that the hashing function must be carefully selected to suit the particular application. It should also be noted that it is not necessary for the key to be a numeric value. If alphanumeric or other keys are used, the hashing function should ignore the data type and simply perform numeric or logical manipulations of the key as though it were numeric.

One of the most widely utilized, and historically the first, hashing function has already been mentioned. If N is the size of the table (in terms of the number of entries, not the number of bytes) the hash index is the remainder of the key divided by N. More precisely stated, HASH(K) = REMAINDERMAN). In a machine such as the 8080 which lacks division capability, this function will be made significantly faster by restricting the length of the table to a power of two (ie: N= 2M). If N = 2^, then the REMAINDER (K/N) also happens to be the rightmost M bits of K and a divide operation is no longer required. The remainder is selected by a logical AND operation.

The remaindering function will not produce well distributed hash indexes if many of the entries end with the same bit sequence. This situation is frequently encountered when dealing with alphanumeric data. Changing the table size to a prime number usually improves distribution, but now we are back to the unwanted divide operation for calculating the remainder. There are two other alternatives to this problem. The first is a technique called folding as diagrammed in figure 3. This method applies the remaindering algorithm to the bit string that is obtained by adding the upper half of the internal binary representation of the key to the lower half. This minor improvement minimizes the effect of patterns that may occur within the key. You should be careful what improvisations are made to the folding technique. For example, substituting a logical AND for the add sounds good, but will merely make matters worse. If in doubt, try experimenting with various keys by examining the effects of key

22

value in a test program to grind out hash indices.

A second method for minimizing the effect of similar bit patterns in the key, best applied to tables of size 2^, is called squaring. This consists of selecting the center M bits of the number that is obtained by multiplying the key by itself. Since the middle bits of the product depend upon all of the bits in the key, this method generally produces a uniform distribution of hash indices.

Since the squaring method is safest, it may appear that one should always use it. This is certainly not the case because the purpose of hashing is to save processing time and although squaring is the most general technique, it is unfortunately the slowest since it relies on a multiply operation which the 8080 and most other small processors lack. It is often acceptable to settle on a slightly less efficient hash function if such a function is substantially faster. The guideline for selecting the hash function is to employ a more complex function only in those specific cases where a simple function fails to produce an adequate distribution of hash indices. But remember, any hash function is better than a linear search. Why? A linear search is a hash access where HASH(K)=0 for all values of K, therefore any distribution is better than none. This degeneracy is evident in algorithm [1 ] when the data item sought is not in the table, and the algorithm searches every location.

Multibyte Hash

Until now, we have tacitly assumed that the entire key can be contained in one byte. This is impractical, and the hashing concept is easily extended to cover those cases where the key occupies more than a single byte. If the key is continued in byte locations (K|, ... Ki) then a multibyte hash function, HASHM, can be defined in terms of any of the previous hash functions as HASHM(K,J) = HASH(Ki+ ... +Kj). That is, any of the single byte hash functions are applied to the sum, ignore carry, of the bytes in the multibyte key. As you see in figure 4, this is similar to the folding technique just mentioned.

Another possibility for a multibyte hash, which should be used with some degree of caution since it may not provide an even distribution, is to apply a single byte hash function to the last byte (or any other byte of your choosing) of the multibyte key. This eliminates the time required to add the words of a multibyte key. As usual, the programmer is faced with a time versus efficiency tradeoff.

MULTI-BYTE KEY

• • •

r i[

+

COMBINED KEY

Figure 4: The principle of folding key elements can be extended to a multibyte key. The multibyte hashing scheme might be employed where a key is a character string field.

Guidelines

In summary, the sole purpose of a hashing function is to calculate an initial table index for a linear search, given a specific key. There is no one best algorithm and the number of algorithms available is bounded only by your imagination. The general guidelines to follow when designing your hashing function are:

1. Keep it simple — Remember, the goal is to locate an item in the minimum amount of time. If the perfect hash requires more time than a linear search, it is useless!

2. Insure an even distribution; beware of weird bit patterns in the key.

3. Check out the operation of the function prior to employing it as a hash function. There is often an overwhelming urge to give it the smoke test, but hash indices are used to form memory addresses so it may be difficult to isolate bugs in the hash function after you've incorporated it into a table lookup procedure. Save yourself some time, check the table lookup subroutines first.

Building the Table

Obviously, for the hash access algorithm to operate smoothly, the table items must have been entered into the table properly. The relative ease with which entries can be made in a hashed table is an important advantage of hash techniques. Remember, even though a sorted search is reasonably efficient for locating an entry, the entire table must be sorted before any access is allowed. Thus, if accesses were to be intermixed with entries, the algorithm would be

23

grossly inefficient due to the amount of resorting required.

Before any entries can be made in the hash table, the key field of the table must be initialized to some flag value which is not encountered as a possible key. If a table entry contains this value, then it can be assumed that the entry is unoccupied. The most common value used to designate an empty table entry is the integer zero, and assuming this to be the case, the algorithm to add an item associated with KEY, to the table of N entries (each B bytes long) is:

[2] 1. I,J := HASH(KEY);

2. do until (l=J—1) [worst case end test for search failure] ;

3. if CITABLE + I * B) = 0 then

4. do;

5. [enter the item at (TABLE + I * B)] ;

6. return;

7. end;

8. I := I + 1;

9. if I = N then I := 0 [wrap around table space limit] ;

10. end;

11. call ERROR [no room left in table] ;

Notice that the lookup algorithm [1 ] and the entry algorithm [2] are very similar in nature. The loop control is identical, and the only difference is in the actions taken. It is quite possible to make an automatic entry occur whenever a key is not found as indicated by a null key value found during a search. The following algorithm combines both operations.

[3] 1. U :-HASH (KEY);

2. do until (l=J—1) [worst case end test for search failure] ;

3. if CITABLE + I * B) = KEY then

4. return [the item has been located] ;

5. if @(TABLE + I * B) = 0 then

6. do;

7. [enter the item at (TABLE + I * B)] ;

8. return;

9. end;

10. I := I + 1;

11. if I = N then I := 0 [end wrap around table space limit] ;

12. end;

13. call ERROR [if this point is reached, table is full] ;

TABLE:

00

+1:

N

+2:

O

+3:

P

+4:

01

+5:

L

+6:

D

+7:

R

+8:

02

+9:

S

+ 10:

T

+ 11:

R

+28:

07

+29:

S

+30:

T

+31:

P

Figure 5: Horizontal Organization of Tables. In this method of organization, all the bytes of a data entry are assigned to contiguous addresses.

In addition to adding or locating entries, it may also be necessary to delete entries. To delete an item, you might think that we could merely locate the item and then set the table entry to zero, thus making it available for future entries. However, if that approach were taken, not only would the desired entry be deleted, but other entries might be made inaccessible. The reason that other entries would be lost is that the searching terminates when an unused location is found. As an example, setting the entry at (TABLE + 20) in figure 2 to zero would also make the entry at (TABLE + 24) inaccessible. Therefore, an alternate scheme must be used to delete entries.

The first step is to select a deleted entry flag that is distinguishable from the unused entry flag and is also not allowable as a key.

% Items Occupied

Linear Search

Sorted Search

Hash Access Method With Rehash Indicated Below

Linear

Random

Day's

Wt Inc

10%

50% 75% 90%

25 125 187 225

5.6 7.9 8.5 8.8

1.1

1.5 2.5 5.5

1.1 1.4 2.0 2.8

1.1 1.4 2.0 2.7

1.0 1.4 1.9 2.5

Table 1: Comparison of Table Access Methods. This table gives the results of an experiment with random data to test out the various methods of access. The tables were filled to the percentage levels indicated at the left. A table size of 500possible entries was used. The access methods shown are described in text.

24

Then, whenever an entry is to be deleted this new value replaces the entry. The new flag indicates that the entry is available for future additions to the table but does not terminate a search operation. If 0 is used to denote an unused entry and —1 is used to denote a deleted entry, then the complete hashing algorithm is:

[4] 1. I,J := HASH(KEY);

2. do until (l=J—1) [worst case end test for search failure] ;

3. if @(TABLE + I * B) = KEY then

4. do;

5. if [entry is to be deleted] then [delete the entry]

6. ©(TABLE+ I * B) :=-1;

7. return [item has been located ];

8. end;

9. if @(TABLE + I * B) = 0 then [this is a null entry so]

10. do;

11. [enter the item at (TABLE + B * I)] ;

12. return;

13. end;

14. I := I + 1;

15. if I = N then I = 0 [end wrap around table space limit] ;

16. end;

17. call ERROR [if this point is reached, table is full],;

This algorithm either locates an item or adds the item to the first available location. If an item is to be deleted it is first located and then the key field of the table entry set to-1.

Collisions

A collision occurs whenever HASH(KEYI) = HASH(KEY2), but KEY1 # KEY2. As discussed earlier, a good hashing function will avoid this condition, but the problems caused by collisions cannot be ignored. Note for example that the hash index for opcodes 04, 24 and 34 in the table shown in figure 2 is 4 and hence these entries collide.

What happens when two entries collide? The only solution we've discussed thus far is to search the table, in a circular fashion, from the point of impact as in algorithms [1] to [4]. If, in general, a collision occurs, then the resulting search, good or bad, is called a rehash. The process mentioned above, namely, searching the table in a circular fashion from point of impact, is called a linear rehash, and as you might expect falls into the bad category. Other more efficient algorithms will be discussed later.

If we denote the rehashing algorithm by REHASH, then the general hashing lookup algorithm may be restated in its final form:

TABLE:

00

BYTEO

+1:

01

+1

+2:

02

+2

+3:

03

+3

+4:

04

+4

+5:

05

+5

+6:

06

+6

+7:

07

+7

+8:

N

BYTE1

+9:

L

+1

+ 10:

S

+2

+11:

A

+3

+12:

A

+4

+13:

R

+5

+14:

C

+6

+15:

S

+7

+24:

P

BYTE3

+25:

R

+1

+26:

R

+2

+27:

D

+3

+28:

D

+4

+29:

T

+5

+30:

R

+6

+31:

P

+7

Figure 6: Vertical Organization of Tables. In this method of organization, a multibyte table element is treated as "n" single byte subtables where "n" is the number of bytes in each entry. Each of the "n" subtables has a length (in bytes) equal to the number of elements In the table.

6. 7.

10. 11. 12. 13. 14. 15. 16. 17. 18. 19.

if [entry is to be deleted] then [delete the entry]

@(TABLE + I * B) :=-1; return; end; if ((K=0) & [deletion or null element @(TABLE + I * B)] ) then

K := I [save last available table entry index] ; if (§>(TABLE + I * B) = 0 then [this is a null entry so] do;

[enter the item at (TABLE + B * K), next available slot] ; return; end; I := REHASH (l,J) [REHASH results in 0 < I < M where N is table size] end; call ERROR [if this point is reached, table is full] ;

inear rehash that we've been using

The

implicitly in [4] as steps 14 and 15 is described as REHASH(I) = (l+1)[mod N], where (1+1)[mod N] means that if (1+1) is greater than or equal to N, then N is subtracted from the value (1+1). This insures that the table is searched in a circular manner. The operation X[mod N], called X modulo N, is used in most rehashing algorithms to limit the range. Mathematically, it is the remainder of X/N; but whenever we

[5] 1. I,J ;= HASH(KEY);

2. K := 0;

3. do until (REHASH(I,J)=J) [worst case end test for search failure] ;

4. if @(TABLE + I * B) - KEY then [we have a match so]

5. do;

25

Art by Stephen J Rogowski

use X|mod N] il can be calculated as described above (ie: subtract N if X is greater than or equal to N). Here again we have avoided the use of a divide operation to provide a more efficient function.

Improved Rehash

The problem with the simple linear rehash is that the table will not fill uniformly. This condition is referred to as clustering and causes an increase in the average number of tests required to locate an item in the table. As an example, a cluster can be seen forming at TABLE+16, +20, and +24 in the table shown in figure 2.

There arc a number of nonlinear algorithms which perform the rehash function without causing the clustering problems mentioned above. Although the computer science literature abounds with such algorithms, a majority of them fall into one of three classes. An attempt has been made to select the simplest and best from each class and present them here.

Pseudorandom Rehash

The first class of rehashing algorithms is the pseudorandom rehash and is based upon a pseudorandom number generator. The pseudorandom number generator used is not important, but il must be of the nonrepeating variety. That is, it must generate all possible values before any previous value is repeated. It must also generate all of the integers in the range 0, ..., N where N is the table size. The following simple procedure incorporates a common random number generator and will perform the rehash func

IjSg

"**«^=S -- -=^^~i =■ -:^5^-:-.-.::::": j

\

A

jr \MWmT\J

■ ('>'''.■•ilr

■lit. "?■ ■ §■■■ ..- .\.ii,

jjtf \

^^"^^ 1

tion for any table of size IN = 2M. The variable R is internal to the rehashing function, but it must be preset to one whenever the function HASH is initiated (ie: step 1 of algorithm 5).

[6] REHASH (l,J):

1. R := REMAINDER (R*5 / N*4);

2. REHASH := (R/4 + J) [mod N] ;

If you're seeking the most efficient implementation of this one, the REMAINDER(R*5/N*4) is just the rightmost M+2 bits of R*5 because N=2^ and 4*N = 22*2M=2M+2. Furthermore, the divide operation in step 2 can be replaced by a right shift of two positions. Finally, if you think of R*5 as R*4+R, then it's easy to see how to reduce that multiply operation to left shift and addition operations.

Let's look at the sequence generated by this rehash routine. If our table is eight entries long and the initial hash index is, let's say, 4, then R takes on the values 1,6,7,4,5,2,3,1, so the table would be searched in the order 4(initial index), 5,2,3,0,1,6,7. How does this avoid the clustering situation? If we chose another initial index, say, 5, then the table is searched in the order 5(initial index),6,3,4,1,2,7,0. As you see, the entry searched after entry 5 will depend upon the initial index. If the initial index was 4, then 2 is searched after 5; but if the initial index was 5, then 6 follows 5. In a linear search, 6 always follows 5. This dependence upon the initial index is what avoids the clustering.

Quadratic Rehash

A second class of algorithms for rehashing is the quadratic rehash and these are based upon a quadratic function. The major drawback with most algorithms in this class is that they search only one half of the table, so two different rehashing algorithms are required. The most efficient quadratic rehash, and one which does search the entire table, was first introduced by Colin Day [see bibliography, reference I]. Day's algorithm can only be applied to a table whose size is a prime number that produces a remainder of 1 when it is divided by 4 (eg: 5=4*1+1, 401=4*1+1). At first glance, this appears to place a great many restrictions on the allowable size of the table; but don't despair, because experience will show that a number satisfying the required condition can be found very near any desired value. Be certain that you use an acceptable number or the procedure will not search all locations of the table. Like the last rehashing function an internal variable is used. The variable, R,

26

INTRODUCING THE WORLD'S FIRST GPGPPDM*

\

mzmm

THE INTELLIGENT VIDEO INTERFACE

Is your Altair/IMSAI computer system shy ^ anemic — withdrawn? just sit there dumbly blinking its pretty lights at you?

Hobbitville's favorite wizard has the best prescription yet for building that full bodied computer system. MERLIN is guaranteed to transform the most introverted blinking light box into an exceptionally communicative extrovert by enabling it to display both ASCII characters (40 columns by 20 lines) and graphics (160H by 100V) on a conventional TV monitor or slightly modified TV. But don't think that MERLIN is all talk and no listen — a parallel input port and plenty of extra power is available to directly tie in most keyboards. An extra serial I/O port may be used for cassette interfaces, joysticks, switches, or properly interfaced smoke signals. \ \\/ ^y <

That should be more than enough for a compact, inexpensive two board plug-in system. But not for the wizards at MiniTerm — so there is space for on-board intelligence as well (two 2708 1K X 8 EAROMs or two 2K X 8 ROMs). Yes, as an option MERLIN even comes fully, or partially, educated! The first optional ROM (MBI) includes extensive Monitor/Editor intelligence to help you write, edit, debug, and execute programs. The second optional (MEI) ROM helps you draw pictures and perform cassette I/O (at 1500 BAUD!).

it

P.S. An add-on board will be available shortly to expand MERLIN'S magical powers into the realm of COLOR and super dense (320H X 200V) graphics!

* General Purpose Game Playing Program Development Magician,

WARNING: The Surjeon Jeneral's office has determined that combining blinking light boxes (alias hobbyist Computers) with the MERLIN ASCII/Graphics/Keyboard/Cassette Intelligent Interface is Highly Addicting!!!

ory

PLEASE SEND

#//

/

/

, /

□ MERLIN: assembled and tested including manual (does not include memory) $349.00

□ MERLIN: kit containing PC boards, IC sockets, User Manual and all parts except memory $249.00

□ MBI, MERLIN'S BASIC INTELLIGENCE: 256X8 RAM and 2K X 8 mask ROM containing lylonitor/Editor $ 39.95

□ MEI, MERLIN'S EXPANDED INTELLIGENCE: 2K X 8 mask ROM with more Monitor/Editor functions

and Graphics subroutines. ... . v. . . . .\ $ 34.95

□ MERLIN User Manual: over 700 pages of detailed hardware and software documentation (deductible

from kit or assembled MERLIN orders) . .-. $ 8.00

Name

Signature

Total $.

Street

□ More information

□ Check Enclosed

□ Master Charge #

□ BankAmericard #

City

State

Zip

Exp. Date_ Exp. Date_

MiniTerm Associates, inc.

HHHHa^i^aHHHiBaHHHHHHBai

Box 268, Bedford. Mass. 01730 (617) 648-1200

must be preset to (— N) whenever the function HASH is called. The quadratic rehash process is (remember that the mod operation is just a conditional subtraction):

[7]

REHASH(I.J):

1. R := R + 2;

2. REHASH : =

(I +/R/) [mod N]

If we look at the sequence generated by this procedure, we see that R takes on the values (for a table of size 11=4*2+3) -11 ,-9,-7,-5-3,-1,1,3,5,7,9,11. Therefore, if the initial index were 4 the table would be searched in the order: 4(initial index), 2,9,3,6,7,8,0,5,1,10. One major difference between this algorithm and the random rehash is that this one calculates the next index based on the previous one. The random rehash calculates the next index based on the initial index.

Weighted Increment Rehash

The last, and probably the simplest, method for performing the rehash is called a weighted increment [see bibliography, reference 2]. This one is unique because it uses the hash index to calculate an increment which is in turn used to step through the table. The table size is again restricted to a power of 2, and whenever the function HASH is called, the variable R is preset to (2*J + 1)[mod N], where J is the initial hash index. The weighted increment method is:

[8] REHASH(U):

1. REHASH := (l + R) [mod N] ;

This process is very much like a linear rehash. In fact if R were always set to 1 it would be a linear rehash, however R depends on the hash index. If our table is eight entries long and the initial index is 5 then R=2*5+1[mod 8] =11-8=3 and the table items are searched in the order 5,0,3,6,1,4,7,2. Since the increment is a constant for any particular hash index, we can improve the basic hash algorithm when using this rehash technique. You will notice that all memory references are of the form (TABLE+I*B), where B is the number of bytes. We can avoid that multiply by including it in the computation of R. If we let R=((2*J+1)[mod N])*B, then all of the table references become (TABLE+I). If we also initialize I to TABLE+HASH(KEY) we can make all references as just (I).

Laying Doubts to Rest

You might conceivably ask, "What is gained by using a complex rehashing func

tion?"; or if you're one of the more cynical observers, "Why use hashing at all?". In an attempt to answer these questions, a simple experiment was performed. First a table of approximately 500 entries was filled with randomly generated entries and then each entry was located in the table using the lookup technique under test. This simple experiment provides an insight into the comparative efficiency of table lookup algorithms. Table 1 summarizes the results of the experiment. This data clearly illustrates that there is significant improvement in table lookup time when hashing is utilized. Furthermore, when a complex rehashing algorithm is incorporated in the search procedure, the statistics are again improved. It is worth noting again that, although the number of tests for a sorted table is not tremendously large, the approach is very inefficient if the table must be accessed before being filled with entries.

One other surprising fact about the average search length (the number of tests required) for hash accessed tables is that it does not depend upon the length of the table. Rather, the search length depends only upon the load factor or the percentage of occupied items in the table. This means that you can expect the average search time for a table of size 10,000 to be about the same as the search time for a table of size 500! This is surely not the case with the linear or sorted search. While the average linear search length skyrockets to 4,500 (for a 90% full table of size 10,000), the average hash search length remains at less than six!

Although table 1 seems to indicate that the weighted increment is most efficient, we must be careful not to read too much into these results. The statistics in table 1 were obtained using randomly generated keys in the test program. When actual keys are used the search statistics will vary somewhat because actual keys are rarely perfectly random. For example, the search length for a weighted increment search is adversely effected by bit patterns in the key. The best way to insure that you are using the most optimal search procedure is to repeat the experiment with a sample of actual keys. If a finely tuned algorithm is not important, then the weighted increment is probably the better choice because it is simple and can be applied to any format of table. As we will see shortly, most of the algorithms work best if the table is rearranged in memory.

Application

There are a number of "tricks" which can be used to improve efficiency. A number of

28

Cabinets clockwise from top: CPU, Dual-cassette drive, Keyboard, 9" Monitor.

The Digital Group covers up.

(Beautifully)

For many months the Digital Group has been hard at work on the heart of our microcomputer system, insisting on quality where it counts in every product we've designed. Now, we have turned our attention to the outside and covered up . . . with a complete line of custom cabinetry that will enhance your Digital Group system for all the world to see. The result is beautiful.

Sleek and sophisticated, but rugged enough to take all the hard knocks you hand out, Digital Group cabinets are made to be used and not just admired. Extra-heavy-duty eighth-inch aluminum is utilized throughout with a special tough-texture commercial-grade paint in Computer Beige. All front panels are anodized aluminum in dark brown. Even the front panel switches are lighted.

The Digital Group offers a beautiful cover-up for each part of your system — from the CPU to the video monitor. What's more, every new Digital Group product will get covered, too, so each piece will maintain that unmistakable Digital Group image.

We're sure you've already fallen madly in love with our cover-ups, but just wait until you take a peek inside. That's where the real beauty lies.

Our video-based systems, including 8080, 6800 and the super new Z-80, are state-of-the-art, high quality and totally integrated designs. Digital Group systems are complete and fully featured and are specifically designed to be easy to use. Merely power on, load cassette and go! (And with our new cover-ups, you go in style.)

Best of all, Digital Group systems are available now. And affordable. Prices for a complete Z-80 based CPU start as low as $645, including the cover-up.

So write or call us for all the beautiful details. And then head for cover!

The Digital Group P.O. Box 6528 Denver, Colorado 80206 (303) 777-7133

them have already been mentioned. One approach not discussed so far is table reorganization. Throughout our discussion we have assumed that each table entry occupies more than a single byte. If each table entry is B bytes long, then the typical memory reference is (TABLE+I*B). It would be desirable to eliminate or at least reduce the multiply operation. If a weighted increment rehash is used: We already discussed how to eliminate the multiply. Another method to eliminate a multiply is table reorganization. All of the tables discussed so far were horizontally organized. This means that the items are stored as shown in figure 5. This is the most common table organization. An alternative organization is a vertical organization such as in figure 6. If you have organized your table vertically then the first byte of an item is addressed by (TABLE+I) and the multiply is gone. All of the other bytes in the item are addressed by (BYTEN+I) where BYTEN is the address of the n'h Dyte of the first item. Thus by organizing the data vertically we eliminate a multiply operation. This vertical arrangement is practical from other aspects also. Consider searching the table for all items

containing a specific value in the third byte. Since the third byte of each item is stored sequentially this search operation is simplified.

Conclusion

We have tried to show that hashing is not nearly as complicated as you might have thought. By using these techniques perhaps you can regain a valuable slice of your microprocessor's processing load."

BIBLIOGRAPHY

1. Day, Colin A, "Full Table Quadratic Searching for Scatter Storage," Communications of the ACM 13,8 (August 1970), pages 481-482.

2. Luccio, F, "Weighted Increment Linear Search for Scatter Tables," Communications of the ACM 15,12 (December 1972), pages 1045-1047.

3. Morris, Robert, "Scatter Storage Techniques," Communications of the ACM 11,1 (January 1968), pages 38-44.

4. Dollhoff, Terry, "Hashing Methods for Direct Access Files," Auerbach Computer Programming Management, Folio 15-02-02.

GLOSSARY

The table is searched sequentially from the point of impact.

Clustering: Grouping of elements within a table caused by equal hash indices.

Collision: Two elements with the same hash index.

Direct access hash: A hash algorithm which precludes collision. That is, no two elements have identical hash indices.

Dissassembler: A program to translate object code to assembly language. Inverse of an assembler.

Folding: Procedure for randomizing the hash index. The upper and lower half of the key are added together before the index is calculated.

Horizontal table: A table whose entries are stored sequentially. That is, (entry one, byte one), (entry one, byte two), etc.

Hash index: The initial estimate of the location of an entry within the table.

Hashing: A nonlinear algorithm for storing/ retrieving data from a table.

Linear search: Table search which examines each item starting with the first item and proceeding sequentially.

MOD: Remainder of one number divided by another. That is, X MOD Y is the remainder of X/Y.

Pseudorandom rehash: A method for resolving collisions. A nonrepeating random number generator is used to determine the next entry to be searched.

Quadratic prime: A prime number which produces a remainder of 3 when divided by 4.

Quadratic rehash: A method for resolving collisions. A quadratic or second degree function is used to determine the next entry to be searched.

Rehash: Any algorithm for resolving collisions.

Squaring: Procedure for randomizing the hash index. The key is multiplied by itself before the hash index is computed.

Hashing function: The algorithm or procedure for calculating the hash index.

Key: Field within an entry that is used to locate the entry. For example, surnames are the key field of the entries of a telephone directory.

Linear rehash: A method for resolving collisions.

Vertical table: A table where the bytes of each entry are stored sequentially. That is (entry one, byte one), (entry two, byte one), etc. FORTRAN stores arrays in this manner.

Weighted increment rehash: A method for resolving collisions. The hash index is used to determine the next entry to be searched.

30

Introducing two NEW software

books by SCELBI. Two classics rewritten for immediate use

with your 6800 system ...

SCELBI'S "6800" SOFTWARE GOURMET GUIDE & COOK BOOK Q95 ppd.

Now you can cook up delectable programs with this mouthwatering gourmet's delight of all new "6800" software. Over 200 pages. Action-packed, information-crammed, practical "how to" facts. Using the original manufacturer's recommended mnemonics and assembly formats, with hexadecimal notations, you get the description of the "6800" instruction set. General purpose routines for multiple precision operation. Programming time delays for real time applications. Random number generators. Completely assembled relocatable floating point arithmetic program, with 23 bit signed mantissa and 7 bit signed exponent. Input/output processing for basic I/O programming. Interrupt processing. Code, numeric conversion routines. Real-time programming. Search and sort routines. And too many more finger-lickin' goodies to mention here. All for only $9.95 ppd. Order today!

SCELBI'S "GALAXY" GAME FOR THE "6800" -| 495 ppd.

Captain your own crusading starship against the logic of your "6800". Your mission: search-and-destroy a random number of alien ships. But, don't run out of time, out of fuel, out of ammunition or out of the galaxy. Your galaxy consists of 64 quadrants, subdivided into 64 sectors. Plan your mission to destroy all aliens. But, every time you move you lose a stardate and precious fuel. Don't run into a roaming star that could damage your ship! And, don't forget how much fuel your warp factor uses! Suddenly, Condition RED! Alien in sight! How big is he? Fire a phasor or torpedo? He's damaged or destroyed. But, you've used up valuable fuel! Does he fire back? How much fuel was used for protective shields? Be careful. You're running out of time and fuel. You get the idea. You must maneuver logically, strategically, carefully ... to complete your mission. Here's the multidimensional computer game you've asked for. Using the original manufacturer's recommended mnemonics and assembly format, with hexadecimal notations, you've got a total book form program in machine language, for 4K memory, with flow charts, illustrations and more. All this for $14.95 ppd. Order today!

$

BOTH BOOKS ARE AVAILABLE NOW! ORDER YOUR COPIES TODAY

If III I COMPUTER

CONSULTING INC.

1322 Rear Boston Post Road, Milford, CT 06460 • Telephone: 203/874-1573

Prices shown lor North American customers. Master Charge, Postal and Bank Money Orders preferred. Personal checks delay shipping up to 4 weeks. Pricing, specifications and availability subject to change without notice.

How to Drive a Teletype Without a UART

Figure 1: Parallel to Serial Conversion Schematic. The multiplexer IC2 is used to select formatting and data bits according to the state of the counter IC1. IC3 is an output latch which would not be needed if access to an existing latched output port were available. The Teletype current loop is driven by transistor Ql from the output of the multiplexer.

OUTPUT

STROBE o

FROM MICROPROCESSOR

POWER CONNECTIONS

+5V

GND

ICI

7493

5

10

IC2

74150

24

12

IC3

74199

24

12

IC4

7474

14

7

IC5

7400

14

7

z

Gregory C Jewell 11855SE 118th Ronton WA 98055

This parallel to serial converter performs functions similar to any other; however, this circuit is designed with the microprocessor hobbyist in mind. This conversion design is simple and extremely easy to trouble shoot. All the logic involved is out in the open, so it can be examined with an oscilloscope.

Figure 1 shows the circuit. In the quiescent state, the READY line is high. This holds the 7493 counter, ICI, at zero which in turn connects input E0 to the output W of the 74150 multiplexer IC2. When the microprocessor is ready to transmit a data byte, it samples the READY flip flop output, pin 5

ASCII DATA FROM

MICROPROCESSOR

D7 D6 D5 04 D3 02 Dl DO

of IC4. If READY is high, then the microprocessor writes the ASCII character into the data 74199 register, IC3, and resets the READY line. A low READY line enables the 7493 counter, IC1, which addresses the bits in sequence. Upon the first count, the start bit E] is connected to the output. The eight data bits and two stop bits are then addressed by subsequent states of the counter. The 110 Hz clock produces a transfer rate of 9.09 milliseconds per bit or 10 characters per second. When state 12 of the counter is reached, IC5a detects this and sets the READY flip flop. This action clears the counter and signals the microprocessor that it is ready for another data byte. No serial shifting takes place and all bits are available at all times for observation on an oscilloscope. As shown, this circuit provides a standard asynchronous format of one start bit, 8 data bits and two stop bits. By reassigning the 74150 multiplexer inputs, other serial formats are possible."

K5V

T IK I Wr

II.

ffn

' I

6 |7

CLK

BCD E F

DATA REGISTER IC3 74I99 CLKINH

QA QB QC QO QE

!2_

20

22.

23 I

8 10 13 17 19 21

EI2 Ell EIO E9 E8 E7 E6 ES E4 E3 E2

MULTIPLEXER IC2 74150

B

4

II

8

00 QC OB QA

4 BIT COUNTER

ICI 7493A

RESETS

CLEAR PRESET

READY FLIP FLOP 3 IC4 1/2 7474

CLOCK

H

TO TELETYPEWRITER »LO

MARK-CURRENT SPACE-NO CURRENT

-o 110 Hz CLOCK SOURCE

READY

-o TO MICROPROCESSOR

32

The

POLY 88 Microcomputer

System

If you are into computers or considering a system, the POLY 88 is the machine to contemplate.

HARDWARE

• Popular 8080 central processor • Single-board CPU

with ROM, RAM, vectored interrupt, real time clock,

single-step logic and serial I/O • Video interface card

generates video to TV monitor and provides parallel

keyboard input port • Serial and cassette mini-cards plug

directly into CPU with ribbon cables • Cassette

• ROM monitor with powerful debugger, video software,

bootstrap loader • Backplane and power supply on one

board simplifies construction • Rugged 6 amp power

supply • All circuit boards are high quality, double-sided

with plated-through holes • System is compatible with

a wide range of Altair peripherals • Minimum point to

point wiring means that the POLY 88 kit can go

togethe

er in three evenings

PolyMorphic Systems

ABOUT SOFTWARE

Software is the reason the POLY 88 was designed. The

operator can proceed from higher level languages like

BASIC to developing machine code with the aid of our

assembler. Our BASIC is a full 8K BASIC with character

and byte manipulation. Best of all, the programmer is

finally free of the teletype emulation mode so the video

display can be used to full advantage.

The video display provides a unique opportunity to write

new types of programs and games. Characters (16 lines

of 64) and graphics (48 by 128 grid) are part of the

processor's memory, so the display may be altered

rapidly — the entire screen written in less than 20

milliseconds. POLY 88 hardware provides many additional features that programmers have come to expect, such as vectored interrupt and real

time clock.

See it at your local computer store.

^6# «*$^> *JR|t -J^ Jt^i ^JU s&^ UL^ tftfcf **^ «««£|J*^ «#iy iifiMy ^*m&, fe»i&s Jfei: '$&ik -Jfe- wm& i«w 4aR& W&& -■ M^ ^«88<| ■**■-»** % .mm. -.**>#>. *jKw. :JE *** «** *** -*-* -■*»*■ ^E^ :*M>4 :-*88^ *»m^ i»^

«•■•■(■ *i'■■ -■ni»M -•&**•*/. -sSJifcii ■■■i%t$,^. •**»*,: *i*5si' **»*• ~^m>*$ **St-.t 't'Smi^. '**■.■£&&%*- :-j

ARE YOU NEW TO COMPUTERS? The POLY 88 was designed for ease of use. No one should have to learn all the inner workings of computers just to enjoy one at a reasonable price. With the POLY 88, you can "play" pre-developed programs or explore the world of computer languages as your interests expand.

THE POLY 88 IS FOR EVERYONE Want to develop a new computer language? Want to fight Klingons? The POLY 88 provides a firm foundation upon which to build your interests and develop your skills.

POLY 88 SYSTEM PRICES:

SYSTEM 1 — Kit includes 8080 vectored interrupt

processor with real time clock, Yi K of RAM and IK

monitor on ROM: Video Terminal Interface displays 16

lines of 32 characters on a video screen and has a

keyboard input port; cabinet, backplane, and power

supply; complete assembly, operation and theory

manual. $595.

SYSTEM 2 — System 1 plus 64 character line option and

Byte/biphase cassette interface kit. $690.

SYSTEM 3 — System 2 plus 8K of RAM with BASIC

and assembler programs on cassette tape. $990.

SYSTEM 4 — The complete kit. It includes system 3 and

TV monitor, keyboard and cassette recorder with all

necessary cables and connectors. $1350.

SYSTEM 7 — System 4 assembled, tested and ready to

run. $1750.

ACCESSORIES — 8K RAM kit, $300. Assembled $385

POLY I/O Ideaboard, hardware prototyping kit board. $55.

Analog Interface (l channel) kit. $145.

Prices effective until January 15,1977. Prepaid orders shipped postpaid.

737 S. Kellogg, Goleta, CA 93017 (805) 967-2351

•sasss

mamm

mm-im ; * mmmmi ', J

UUBCBH

tmmmwa* \

Saturation Recording's

Not All That Hard

David M Allen Electronics Consultant 1317 Central Av Kansas City KS 66102

The cassette recorder is doubtless the most common and popular peripheral device among hobbyists, and considerable attention has been paid to its employment. Almost all of this attention has been directed toward the use of unmodified audio recorders. This complicates a simple problem. Saturation recording is the logical way to store digital data on tape, so why use audio? Saturation recording is more straightforward, more flexible, and inherently more reliable. The design presented here uses only a few garden variety integrated circuits; no PLLs, no UARTs. It presupposes no encoding scheme, so the user is free to pick and choose among the various techniques available. I used ordinary NRZ (Non Return to Zero) ASCII because it was easiest to write software for. The hardware in this design is extremely simple; software is used for encoding and decoding as well as the serial to parallel and parallel to serial conversions. Where hardware versus software tradeoffs were available, software was used since integrated circuits cost money and require test equipment to insure that they work properly. Software can be free (depending on who writes it) and thus where budgets are tight or flexibility desirable, the trade of software for hardware comes highly recommended. This is the so-called "intelligent" approach, and this interface was in fact employed in the construction of an "intelligent" terminal which I use as a Teletype replacement.

The cassette recorder used in the prototype system was a genuine "El Cheapo," purchased for $5 at a warehouse sale. The electronics didn't work, but in this design the electronics are not used anyway .... only the head and motor are used and must be in good condition.

The Pragmatics of Saturation Recording

During recording (or "writing"), only a single signal is impressed onto the magnetic medium; there is no carrier, nor bias signal. The signal itself, at any given instant, will be in one of two states: full positive or full negative. Note that while the digital data may be discussed in terms of ones and zeros, it is written on tape as +1s and —Is where the value 1 refers to saturation of the magnetic medium [see BYTE, March 1976, page 18], To accomplish this in a cassette recorder, it is necessary only to pass a small direct current through the winding of the combined record and playback head. Polarity of the saturation recorded signal (+ or — 1) will be determined by the direction of current flow through the head winding. The magnitude of the recorded signal will be that Corresponding to saturation of the magnetic medium, and is achieved by passing enough current through the head winding to guarantee that the medium will be magnetized as much as it is capable of being magnetized. The level of this current will be a function of the magnetic material and head characteristics, but is noncritical so long as minimum requirements are met.

On playback (or "read") the head will be exposed to a series of tiny magnetized zones which are oriented in first one direction, then the opposite, corresponding to the ones and zeros of the original data. A voltage is induced in the head winding only when a transition between two oppositely polarized zones moves past the head's face. Although the data resides on the medium in the form of zones of constant magnitudes, it will be sensed in the form of transitions, and must

34

FLUX ON TAPE 0 -I

PLAYBACK

VOLTAGE APPEARING

ACROSS HEAD WINDING

POSITIVE EDGE DETECTOR OUTPUT

(TO 7474

PIN I)

NEGATIVE EDGE DETECTOR OUTPUT (TO 7474 PIN 4 )

TEST POINT 4 (SCALED 2V PEAK TO PEAK)

"U Lf

RECONSTRUCTED DATA (7474 PIN 5) —I

¥

IT

be reconstructed if it is to resemble the original data (see figure 1).

Erasure of old data does not necessitate a separate erase head, since erasure is inherent in the recording of new data at saturating levels. In some applications a separate erase head may be desirable to prevent the occurrence of unerased gaps due to starting and stopping the tape motion between blocks of data, but this was accomplished in the prototype without the need of an erase head. Little need is seen for an erase head in simple applications.

Hardware Design

The hardware required to write data onto tape is indeed trivial. The only tricky aspect is figuring out how to switch the direction of the write current without resorting to discrete components and a negative power supply. Fortunately, 3 state components permit the use of a single integrated circuit to accomplish this function as shown in figure 2. The level of current required for writing will be a function of the recording head, and will typically be around 5 to 15 mA. In my El Cheapo, the head winding resistance was sufficiently high that TTL voltage levels could be impressed directly across it and yield the proper level of current. Other heads, particularly those designed for digital use, may have much lower winding resistance, and feeding TTL voltages to such heads with no current limiting would be disastrous. An ohmmeter on the Rx10 or RxlOO scale, or the manufacturer's data sheet for the head, should be used to ascertain the value of external current limiting resistance required. One such digital

Figure 1: Timing of a Direct Digital Read Operation. The flux on the tape is shown at the top as an idealized square wave. The playback voltage is second from top, an analog function which reflects the actual tape flux zones and the sensing of these zones through the tape head. Referring to the schematic of figure 3, the positive going and negative going transition edges are detected and used to produce pulses which drive the 7474 flip flop used to reconstruct data as received. This data out of the 7474 is read and decoded by the adaptive software running in the processor.

head (Vicron P-3S7J3-B) has a DC resistance of 40 ohms, and requires 6 mA of write current. Assuming a TTL output voltage of 3.2 V, the required current limiting resistance should be 3.2/0.006 or 533 ohms. Since 40 ohms is accounted for in the winding itself, approximately 500 ohms of external resistance should be used. As shown in the schematic, in my design I split the current limiting resistance into two sections to maintain symmetry, but this was not seen to be really necessary. Note that the advantage of 3 state components in this application lies in the fact that during read operations the drivers can be placed in their high impedance state so as to have no effect on the input head circuitry, thereby obviating the need for any mechanical switching between read and write operations.

Reading the recorded data is slightly more complex since the signal levels coming from the head winding will be on the order of microvolts and since the data must be reconstructed as explained previously. Figure 2 shows the read circuits I recommend. The actual amount of amplification required in a system will be a function of the head employed and the tape speed. Digital heads with low inductance will require more

35

DATA TO TAPE

g

WRITE ENABLE "IT

POWER CONDITIONING (NOTE 6)

TAPE HEADS

SHOULD BE

CLOSE TO AMPLIFIER

» DIGITAL +5V

ANALOG +5V

REVERSE THESE LEADS IF DATA COMES BACK INVERTED

TEST POINT I (NOTE 3) O

(SIGNAL GND)

POWER WIRING TABLE

Analog

Digital

+5 V

GND

+5 V

IC1

74125

_

7

14

IC2

7402

—

7

14

IC3

555

—

1

8,4

IC4

LM1458N

8

4

—

IC5

LM311N

8

4

_

IC6

LM311N

8

4

—

IC7

7474

—

7

14

Note 1: The 555, IC3, is a timer which is used to stretch the write enable signal, thus forcing the head to write steady data after the program has turned off output at the end of a write operation. This blanks out the tape during motor slow down.

Note 2: See the text for an explanation of the write current limiting resistances R.

Note 3: Test point 1 should be slightly under 2.5 V when the system power supply is +5 V.

Note 4: Pick R1 and R2 (nominally 100 k and 18 k here) so that the peak to peak amplitude of the signal at test

point 4 is 2.0 V. There is no need to use a potentiometer if the physical mounting of these resistances allows substitution from your parts box.

Note 5: Test points 2 and 3 are (respectively) the upper and lower thresholds for the comparators. Adjustment of R3 will vary the width of the gap between the thresholds.

Note 6: There are two "+5 V" supplies in this circuit. The raw system supply as it comes to the circuit is referenced as the "digital +5 V" in this diagram; the isolated and filtered "analog +5 V" is used to supply the amplifiers and comparators.

Figure 2: Schematic of a Direct Digital Recording Interface. The output circuit takes NRZ data from the computer's 1 bit output port (assuming the write enable line is at zero) and drives the heads directly from two 3 state gates in a 74125 package. The input circuit is overdriven and should be ignored during output operations. For input, the write enable line is high, disabling the 3 state drivers, allowing the signal from the head to be processed by an amplifier section followed by a pair of edge detectors which reconstitute the data in a set-reset flip flop.

36

amplification since they will generate smaller voltages. The amplification should be set so as to provide a peak to peak signal of roughly 2 or 2.5 V at the inputs to the comparators (test point 4).

The two comparators provide two thresholds which are symmetrical with respect to VCC/2 (2.5 V). The thresholds are adjustable, but should always be symmetrical with respect to VCC/2, since the amplified tape signal is symmetrical with respect to VCC/2. Adjustment of the thresholds is not especially critical, and can be done without a scope if needed. A compromise is effected between the highest possible thresholds (maximum excursion of the tape signal) and the lowest possible thresholds (both equal to VCC/2). Adjustment is made empirically, keeping the thresholds as high as possible while allowing for dips in peak signal amplitude due to "dropouts." I found that thresholds of between 25% and 75% of the peak signal amplitude were usable and favored the 75% end so as to discriminate against possible noise or tape print through. This phenomenon occurs when undesired signals caused by adjacent layers of tape magnetize each other. Hence for a 2 V peak to peak signal with a 2.5 V centerline, the thresholds are nominally as follows:

Low: 2.5 - (2.0/2) * 0.75 = 1.75 V

High: 2.5 + (2.0/2) * 0.75 = 3.25 V These values are suggested as starting points, not .necessarily as the final operating levels.

Hence, whenever a positive going peak exceeds +3.25 V the 7474 will be set, and whenever a negative going peak goes below +1.75 V the 7474 will be reset. The output of the 7474 will then be a reconstruction of the original recorded data. The most obvious and probably simplest way to adjust the thresholds is by using a tape, prerecorded with repetitions of a fixed pattern such as an ASCII U, or hexadecimal AA or some other convenient value. With an oscilloscope connected to the output of the 7474, and synchronized to the start of each data word, the thresholds can be adjusted to give a stable representation of a single character across the scope screen. With the thresholds properly set, the individual bits should be stable throughout the entire length of the tape; if not, then either the thresholds are set wrong or the scope is not properly synchronized. In a normally operating system, purists may be able to observe slight jitter in the positions of the bit transitions, which is due to varying magnetization characteristics of the magnetic medium. This is normal, and should be only a fraction of a percent of the overall character time. The type of cassette may be important here,

although not necessarily critical at lower densities of recording. Of five different types of cassettes tried, all worked except for a bargain basement cheapie whose dropouts were so severe as to render it useless even for its intended audio applications. Certification is not necessary; willingness to buy respectable brands is sufficient.

Emulation of a Paper Tape Facility

Users who intend to use a cassette recorder as a replacement for the paper tape functions of the ASR33 or similar Teletypes will have some extra mechanical functions to worry about. Problems are incurred when the tape is started and stopped, because of the time required for the motor to accelerate or decelerate. During this acceleration or deceleration time, data must not be present on the tape, since errors will occur unless some sophisticated speed tolerant technique is used. One solution to this problem is to incorporate leaders and trailers of blank (erased) tape during the write operation.

The use of leaders before and trailers after a string or block of data requires a delay of a fraction of a second before and after the passage of the data. It is therefore necessary that the tape output software must wait until the motor startup delay has passed before transferring any data. One way to accomplish this is to buffer the input data. The output routine could write to the buffer whenever and at whatever speed it wants to, and after the buffer is filled it is then transferred onto tape along with the necessary leaders and trailers. This requires more hardware in the form of memory for the buffer, and more software in the form of routines to handle transfers into and out of the buffer.

Another, simpler way to accommodate the necessary delays is by modifying the program which uses the tape IO to allow for the delays whenever it writes to tape. A valuable practice among software writers is the organization of the character input and output routines into a single subroutine for each, which is called by other software. In software designed for paper tape emulation it is a simple task to add the appropriate delays whenever the PUNCH-ON or PUNCH-OFF Teletype command codes are encountered. The software which is documented in this article presupposes that software which requires the IO will tolerate the appropriate time delays. There are also some simple additions to the hardware which will reduce the software overhead by incorporating the needed delays into the system. Motor coasting after power is removed is the longest time interval which must be accom

37

INTERFACE RECORDER ll/O

FUNCTION SWITCH

IN CASSETTE RECORDER

REWIND

MOTOR'S POWER SOURCE (IN RECORDER)

FAST hWD I ft? REL

^7

$■

4oon

6V COIL

DIGITAL

SUPPLY

+ 5V

SPDT RELAY

2N35680R SIMILAR

ONE BIT OF A

LATCHED OUTPUT PORT

WHICH IS USED

FOR MOTOR CONTROL.

HI-MOTOR ON

LO-MOTOR OFF

Figure 3: Motor Control Circuit. The relay is used to control the motor of the tape recorder, driven from an output bit of the computer. The relay is a single pole double throw variety which shorts out the motor if the motor is not on. This guarantees that the motor will generate current during slowdown, which is dissipated in the wiring of the short circuit, braking the motor electromagnetically. (This braking action of a DC motor operated as a generator is used as a key principle in the design of regenerative braking systems for electric railroads, street cars and electric cars.)

modated, and fortunately it is a simple matter to reduce this time significantly.

in the unmodified cassette recorder the motor is turned off by breaking the current path from its power supply and leaving it open circuited. If, after breaking the current path, the motor windings are short circuited, its coast will end much sooner. A simple circuit shown in figure 3 uses an SPDT relay contact to accomplish this with no disturbance to the original motor wiring on most cassette recorders. The rewind and fast forward circuits function as before; only the forward circuit is changed.

Since the motor coasting time can only be reduced, not eliminated, it may be

Fiaure 4- Block Timing desirable to use a oneshot in the hardware to

This diagram shows the keeP the write enable line on Allowing a

timing of a block of data wnte operation, until the motor has

during a write operation.

The logical OR function

provided by IC2c causes

the 555's delay to extend

the actual 3 state buffer

enable beyond the end of

data by about 0.5 seconds.

The software should provide a leader delay of approximately 0.5 seconds

preceding the start of data

to allow the motor to turn

on and come up to speed.

The motor control timing

is also shown in relation to

the other signals.

WRITE ENABLE

THREE STATE BUFFER ENABLE

WRITE DATA

stopped. Figure 4 illustrates the timing characteristics desired. This guarantees that the tape which passes the head during motor coast will be erased by holding the outputs constant with no data transmitted.

The equivalent function at the beginning of the write operation is not necessary since the write enable will be on from the moment the motor is turned on and all during the time it is accelerating up to speed.

Software

Since the hardware is doing no more than writing or reading one bit at a time, the functions of serial to parallel and parallel to serial conversion must be assumed by software, as must the encoding or decoding of data, as well as timing of the individual bits. This would seem to cause considerable software overhead; but in my prototype all the above functions, plus those of motor control and checksum calculation and verification, were accomplished in approximately 230 bytes on a 6800. This number can easily be reduced, either by shifting some of the simpler functions such as bit timing to hardware or by eliminating some of the prototype's features such as paper tape

DATA RETARD OF APPROX 1/2 SEC TO RECORD BLANK "LEADER" DURING MOTOR ACCELERATION

-=l/2 SECOND ADDITIONAL DELAY DUE TO 555

!*— GREATER THAN 1/2 SEC

-"TRAILER" RECORDED DURING MOTOR DECELERATION

MOTOR CONTROL

38

( WRITER 1

MOTOR.- HI WRITENAB:WRITEDATA;.

NOTE:

BLOCK POINTERS ARE SET UP PRIOR TO CALLING "WRITER"; CHECK SUM CALCULATION IF ANY IS MAINTAINED BY THE NEXTCH AND SAVECH ROUTINES

CALL DELAY ( 1/2 SEC)

CALL NEXTCH (I);

MOTOR :-LO; WRITEDATA:-HI; WRITENAB:-LO;

( RETURN ]

Figure 5: Flowcharts for 10 Software to Emulate a Paper Tape Facility. The author's system implements a version of this logic for a 6800 system, which is not printed as a part of this article. In these flowcharts, an end of data condition is assumed, but not defined for both input and output; in the author's version, ASCII control characters were used to communicate this information.

WRITEDATA: = LO;

BITCNT: ■ 8;

t\

'

1

CALL DELAY ( 1 BIT);

WRITEDATA: NEXT BIT (I)-,

BITCNT: BITCNT-I |

NO_

<^BITCN

r-o >

WRITEDATA: HI ;

CALL DELAY (2 BITS);

I 1

INITIALIZE

L I

TwAIT FOR MOTOR] SPEED TO STABILIZE

[ GET NEXT

1 CHARACTER, I

I ASSIGN TO I I

L I

I 1

| IF DONE THEN I QUIT |

I I

."begin start i

BIT ON

OUTPUT ;

|=r 77mS DELAY . FOR 1300 BAUD i

I I

fsHIFTI,

I EXTRACT ONE BIT'

I FOR OUTPUT

L I

I 2 STOP BITS

OR «l.54mS

( READER )

MOTOR.- HI WRITENAB. -LO

BITCNT: -8

CALL DELAY (1/2 BIT)

CALL DELAY (I BIT)

IB

SAVBITII, READATA) ;

BITCNT: ■ BITCNT-I;

CALL SAVECH(I)

( RETURN J

rDELAY=.38mS | FOR FIRST SAM- | I PLE NET DELAY | ! 1 1/2 BITS

I NORMAL BIT

LENGTH DELAY I = .77mS

!"l IS VARIABLE !

1 RECEIVING

I THE DATA

I I

[save character] i i, at input

I BUFFER

I I

39

SOFTWARE (FIGURE 5)

TAPE DATA

PROCESSOR SAMPLING

f

\

T A R

T

t

bl

b2

b3

b4

b5

b6

b7

STOP

STOP | . .

1

1 1 1 I 1

PARITY^ (OPTIONAL)

1 1

1 1 1 1

PROCESSOR SAMPLES CONTINUOUSLY, LOOKING FOR BEGINNING OF START BIT IN CHARACTER

H

1/2 BIT

- DELAY

(LOOP)

-FULL BIT DELAY (LOOP)

PROCESSOR SENDS PARALLEL DATA TO USER, UPDATES CHECKSUM,ETC

AT EACH SAMPLE,

PROCESSOR READS ONE BIT

AND SHIFTS IT INTO A WORD

WITH PREVIOUS SAMPLES

PROCESSOR BEGINS LOOKING FOR NEXT CHARACTER

Figure 6: Timing of Input Operations. This timing diagram details operation of an input "read" algorithm for non return to zero (NRZ) data recorded in an asynchronous 8 bit data format containing one start bit and two stop bits, identical to one of the standard UART formats. The processor continuously samples during the start bit search of LOOP!, then it waits for 1.5 bit times and begins sampling once per bit period until all the data has been shifted into a register by LOOP2. Then it processes data and sends it to an input buffer before testing for end of input and going back for more sampling if needed. This input sequence repeats for each character.

emulation. The real advantage of this design lies in the fact that the hardware is so simple that it determines few of the capabilities of the system; instead, the user defines them by way of software.

Flowcharts of the basic functions for reading and writing data are shown in figure 5. The write function is fairly straightforward. The read algorithm is a bit more confusing and deserves explanation. In order to read a serial data word, two time intervals are used. Since the data will be sampled in the center of each bit, sampling must be delayed from the leading edge of the start bit to the middle of the start bit before beginning the sampling process on the bit string. Thereafter, samples will be spaced a full bit width apart, as shown in figure 6. In my version of the software, a single delay subroutine was used, and the amount of delay was changed by dividing a delay parameter (DPARAM) value by 2 with a right shift when the half bit width increment was needed, otherwise using its full value. The balance of the input software is relatively straightforward.

These algorithms are for simple NRZ (non return to zero) data, which was chosen for its ease of implementation and for its relative density as recorded on tape. The ASCII characters can be recorded directly onto tape, including their start stop bits in standard asynchronous format. Other methods of recording data onto tape, such as Bi-phase-L and Bi-phase-M, require more flux transitions per character than I cared to contend with. Readers who are interested in investigating or using a different coding scheme should refer to the bibliography. Since the amount of data which can be

squeezed onto magnetic media per unit length is inversely proportional to the number of flux transitions per data bit, NRZ in asynchronous format seemed an acceptable method for my purposes since its synchronizing information is carried only once within each character, rather than within each bit. Using straight NRZ at 1300 baud (a bit width of 0.77 ms) with the tape moving at the standard 1 7/8 ips (4.5 cm/sec) results in a density of approximately 700 flux reversals per inch worst case. Commonly used commercial densities are 800 and 1600 frpi, but I encountered degradation above 700 frpi due to the use of the audio tape head which came with the cassette recorder; adjacent flux reversals tended to merge together and cause significant amplitude variations during reading. The value of 700 frpi has proven to be a valid design parameter since it provides good data rates yet is not easily affected by dirt or variations in media type. Other cassette interfaces require certified cassettes and scrupulous cleaning of the head; the one described here has worked reliably for months now, with no attention to cleanliness since initial alignment.

Suggestions for Improvement of Performance

The biggest advantage of this system is its relative independence from the associated hardware. Hence the user may simplify the software to the point that it is merely a bootstrap loader for larger programs, or can expand it, incorporate buffers for movement of data, use self clocking methods for data encoding, and ultimately configure a complete cassette operating system using the hardware described here. Still there are

40

points for improvement, if one is willing to spend a little money. A tape head designed for digital use can make a considerable improvement in performance in two ways: its narrower gap will permit recording at a higher density, and its lower impedance will permit movement of the tape at higher speeds before its inductance causes the recovered pulses to merge together. When using such a head, recall that its DC resistance will be much lower, and that it would be disastrous to feed unlimited write current to it directly from the 74125s. Current limiting resistors must be used. Consult the manufacturer's specifications for appropriate current levels.

Since serial/parallel conversion is accomplished in software, the processor will be required to execute fast enough to accurately provide timing for each bit, with an accumulated error small enough to accurately provide room for tape stretching, and wow and flutter of the cassette drive. Data from my prototype suggest that a data rate of at least 2400 baud should be possible with a 6800 processor operated at its maximum clock frequency of 1 MHz. With care it might be possible to increase this rate substantially.

It is hoped that this introduction of saturation recording techniques will provide

experimenters with higher speed mass storage at rock bottom prices. For those concerned about compatibility, it should be noted that the hardware is so simple that it should be feasible to support almost anyone's recording format without changing the hardware in any way. Each user will be free to develop his or her own pet format, yet still be compatible with everyone else's by merely writing the appropriate software."

BIBLIOGRAPHY

1. Marsh, Robert M, "Computer Bits," Popular Electronics, March 1976, page 88.

2. Javid, Baha, "New Techniques Squeeze More Data onto Magnetic Tape," EDN, June 5 1975, page 63.

3. Motorola Applications Note AN-711, "The Recovery of Recorded Digital Information in Drum, Disk, and Tape Systems."

4. Kim, SooNam, "An Inexpensive Audio Cassette Recorder Interface for uP's," EDN, March 5 1976, page 83.

5. Pestoriza, James J, "Tradeoffs Among Binary Codes in Magnetic Tape Cassettes," Computer Design, 1975.

6. Memodyne Corp, "Recording Binary Code on the Philips Cassette" (application note).

VECTOR G3APHC

WHY OUR MEMORY SHOULD BE YOUR MEMORY

1. Quality 2. Delivery 3. Price

RAM SPECIFICATIONS:

Access Time: 450 ns - no wait states Current Requirement: +5 to +10V at 1.6A worst case, 1.35A typical Memory Chips: Prime components plus two

extras Address Lines: Fully buffered Memory Protect: Hardware 8K Power Regulators: 4 ea. 7805

Address Select: Dip switch accessable from top of board. No need to remove board to relocate Output Disable: Permits use with transparent

loader • t '

Board: Quality G-10 material with i

solder mask both sides. Pre-tested for etch bridges. '

Order your 8K RAM kit for only $265.00 +6% Cal. sales tax +3% hndlg. $350assmbld., both incl. sockets.

P.O. BOX 4784

THOUSAND OAKS, CA 91359

TEL:(213) 889-9809

UCR G3APHC inc.

41

o

GROUNDED 110 VAC CABLE ft!

"SEC

TRANSFORMER

(A)

"DC

(B)

(C)

REGULATOR

(D)

LOAD

(E)

Figure 1: The Power Supply as a System. This is a block diagram identifying the conceptual divisions of a typical power supply system.

Watts Inside a Power Supply

Gary Liming 3152 Santiago Dr Florissant MO 63033

Ever spend an hour or so entering software in your system, when suddenly the air conditioner or furnace kicks in, leaving your all too volatile memory looking like garbage? Power supplies are very important components to a small computer system; and careful consideration, before building or buying, will help make your system more reliable.

The purpose of this article is to acquaint the reader with some basic principles of power supply operation. There are many types of power supplies, but for the application to personal computing systems, only the well regulated, low voltage type will be considered here. Also, the power input will be assumed to be the North American norm of a 115 VAC, 60 Hz wall outlet.

Before selecting a power supply, the voltage output and its regulation must be determined. This is usually set by the kind of circuit being supplied. For example, TTL

Table I: Symbol definitions used in text, equations and schematics of this article.

Vpri — Voltage applied to transformer primary (120 V rms,60 Hz).

Vsec — Voltage of the secondary winding (rms).

Vdc — Rectified DC voltage.

Cf — Filter capacitance.

Vin — Rectified and filtered voltage supplied to regulator.

Rz — Series zener resistor.

Vo — Regulated voltage supplied to load.

lo — Maximum current to be supplied by load.

If — Current rating of fuse.

logic requires +5 V at ±5% regulation in order to satisfy design specs. The major decision that must be made is the amount of current that the supply will need to deliver. Integrating additional supplies at a later time is somewhat difficult, and it is usually wiser (and cheaper in the long run) to select a supply that will meet anticipated needs as your system grows.

The basic function of a power supply can be segregated into five components as shown in figure 1. These are stepping the line voltage to a lower more desirable value (A), changing the alternating current to a direct current (B), filtering the DC (C), making sure the voltage is held constant under adverse conditions (D), and distributing the current to the device to be driven, called the load (E). The symbols given to the voltages at each point are listed in table 1 to avoid confusion.

Converting the line voltage into a lower voltage is accomplished by using one of the most efficient electrical devices ever developed, the transformer. The power transformer is a chunk of laminated iron plates with a minimum of two wires wrapped around it. The ratio of the number turns around the core for each wire determines the AC voltage ratio of the transformer.

For power supplies, the winding that is connected to the power line is called the primary, and the winding that gives the rated voltage of the transformer is called the secondary. Transformers will often have multiple secondaries, giving many output voltages. Power transformers of this type are often called line transformers.

Selecting the proper transformer consists

42

-w

-w

LOAD vDC

h A A

MISSING PART OF INPUT CYCLE

KVWAA

HALF WAVE

FULL WAVE

DC VDC

Kaaaa

Figure 2: Common Rectification Schemes. The half wave rectifier gets its name from the fact that only half of the input cycle is utilized; the full wave rectifier uses the whole cycle, but requires -a transformer with twice the voltage desired, and must have a centertap. The bridge rectifier is also a full wave rectifier, but adds some extra diodes as a trade off against the center tapped higher voltage transformer required by the simple full wave design.

VPRI

of finding one with a voltage rating close to the desired voltage. The final value of this voltage depends on the type of rectification and regulation to be used. These considerations will be noted later.

While keeping cost in mind, you should also select one with at least as much current capacity as you expect to need. A lower voltage or current rating than will actually be used will cause the transformer to overheat and may short out the windings, possibly causing damage to the load.

A little caution should be exercised in looking at transformer specifications. If a secondary winding is center tapped, or has a lead connected to the middle of the winding, be sure you know whether the given voltage is for the full winding or for each side of the winding. Also, the voltages are usually rated in effective or rms ("root mean square") values, but may be given in peak values. To convert from rms to peak or peak to rms voltages, use equation 1 in table 2.

The next step is to convert the alternating current to a direct current, a process called rectification. This is normally done with diodes and in this application such diodes are referred to as rectifiers. The diode is a device that will only pass current in one direction and, in the common notation for diodes, current flows against the arrow.

There are three common approaches to rectification: the half wave, full wave, and bridge rectifiers. An example of each is shown in figure 2. The half wave rectifier conducts only when the AC is carrying

current in the direction the diode will pass. The output waveform is shown; and since it only passes half the AC cycle, it is not very efficient. Filtering is also more difficult for this rectifier. As a result, half wave rectification is seldom used in a well regulated supply.

The full wave rectifier uses a transformer whose secondary winding is center tapped. With this type of transformer, the full secondary voltage rating must be twice the desired output. However, the whole cycle of the wave is used by only using two diodes with it.

Another type of rectifier which uses the entire input cycle is the bridge rectifier. It requires four diodes, but a center tapped transformer is not required. Bridge rectifiers are available in complete packages with four leads for easy implementation, and are probably the most widely used form.

Be sure to use a diode with greater

Table 2: A reference list of useful equations for power supply design.

Eq. 1 Vrms = Vpeak * 0.707 (Vpeak = Vrms * 1.414)

Eq. 2a PIV > 4 * Vsec (for half or full wave rectifiers) 2b PIV>2*Vsec (for bridge rectifiers)

Eq. 3a Cf > (0.066 * lo)/Vin (for half wave rectifiers) 3b Cf > (0.033 * lo)/Vin (for full or bridge rectifiers)

Eq.4a Rz = (Vin - Vo)/lo 4b Pz = lo2 * Rz

Eq. 5a If = (lo * Vsec * 5)/Vpri (for slow blow fuse) 5b I f = (Io * Vsec * 10)/Vpri (for fast blow fuse)

43

t

-: ii <

;LOAD V

•

Figure 3: Using a Capacitor for Filtering. The capacitor charges up whenever a voltage is applied, and the load resistance tends to discharge the capacitor. The net result is a tendency for the voltage to remain approximately constant with ripple left over from the rectification.

I

WA VEFORMS

ZENER LEVEL

INPUT

V|N

\' v V v v V

V

\' 1

,J

current capacity than will be drawn from the supply. If this rating is exceeded, the diodes will overheat and be destroyed. This rating can be extended with heat sinks and fans, but it is cheaper and more reliable to use adequate diodes to begin with.

Besides the current rating, the maximum voltage applied in the opposite direction the diode conducts should not be exceeded. This is measured in peak volts, called the peak inverse voltage, or PIV. Determining the exact peak inverse voltage rating depends on the kind of load and filter being used. A safe "rule of thumb" to follow is to allow the PIV for the half and full wave rectifiers to be at least four times the secondary voltage and at least twice that for the bridge diodes: see equation 2a or 2b of table 2.

The next step in getting the voltage into a usable form is called filtering, and this smooths out the pulsating DC into a more constant voltage. There are many different methods for filtering, but for low voltage supplies the capacitor input type is best.

The effect of placing a capacitor across the rectifier is shown in figure 3. As the supply is turned on, the first pulse from the rectifier charges the capacitor. As the first pulse drops, the capacitor discharges until the next pulse charges it, and so on, giving the resultant waveform.

Specifying the correct filter capacitor involves two more ratings. The voltage rating should be greater than the peak voltage applied to it. The other rating is the capacitance, and to specify this we must look at an important factor in the supply, the ripple.

v0

ZENER VOLTAGE

r

BURN . OUT

MAXIMUM CURRENT

nnn

WITHOUT FILTRATION PRECEDING ZENER

WITH FILTER PRECEDING ZENER

Ripple is the ratio of the AC still left on Vjn to the average DC level of the filter output. Ripple may be expressed as a percentage or in decibels. The larger the capacitance, the longer it takes the capacitor to discharge and the smaller the ripple will be. The period of the ripple is the reciprocal of its frequency; for a 60 Hz line this is 1/120, or 8.33 ms. The capacitor should have a time constant of at least four times the ripple period. Using these constants, a formula for determining the capacitance is given in equation 3 of table 2. Remember, this is a minimum value, and the tolerance of the capacitor should be taken into account.

To conserve space or cost, several small capacitors may be added in parallel to reach the desired capacitance. Also, Vjn will be closer to the peak value of Vsec, and this must be considered when selecting a transformer.

The equation for determining the capacitance was based upon 120 cycles per second and does little to filter out higher frequencies that may be on the line. Induced RF noise may be filtered out by adding a 0.1 juF capacitor across the supply.

Now that filtering is accomplished, we have a direct current with some ripple at any given voltage we specify. However, the voltage will only remain as desired if the load resistance and line voltage are constant. The line voltage is hardly constant and may vary from 90 to 130 V and can momentarily rise to 300 V in some instances of surges. In an application where the load resistance is constant, a simple voltage dropping resistor may be used to drop Vjn down to the voltage the device needs.

However, this method wastes the current through the resistor, and does nothing to prevent Vjn from varying with line voltage changes. Also, most digital applications have varying load resistances because of gate switching and memory operations and require a closely regulated supply, so something more sophisticated is needed.

Figure 4: Zener Diode Regulation. Use of a zener diode is one of the simplest regulation methods. The zener is a low voltage semiconductor equivalent of what used to be a common item in vacuum tube equipment, the gas discharge regulator tube. When the voltage has increased to the zener level, the characteristic curve of the diode guarantees that it stops increasing. If used with unfiltered rectifier outputs, the choppy waveform shown is typical; if the average DC level with filtration is above the zener level, a steady supply results.

44

Figure 5: Using Series Current Pass Transistors. Because of the large amount of power burned up in the zener resistor, it is desirable to use the zener as a reference level rather than as the final active regulating element. This figure shows two similar ways of employing series "pass" transistors to regulate the output voltage with a zener reference. At (a) a single transistor is utilized; at (b) a "Darlington pair" is used to provide greater gain and thus a lower power level through the reference circuit of the zener diode and its resistor.

The simplest type of regulator is the zener (or reference, avalanche, breakdown, or regulator) diode. This diode is similar to the rectifier, except that it is reverse biased and is always used with a series resistor. The basic circuit is shown in figure 4, along with a characteristic operating curve. As the voltage across the diode reaches the zener voltage, the diode will conduct enough current to keep the voltage drop across the diode constant, keeping V0 held at the zener voltage. If the current becomes excessive, the diode will burn up; this is why a current limiting series resistor is always used.

Using a zener regulator consists of finding one with the proper zener voltage and power rating, and then calculating values for the series resistor. The zener diode should have a voltage rating equal to V0 and a current rating that exceeds l0. The power rating is then calculated to be sure that it does not exceed the manufacturer's ratings, using Pz = V0 * l0. The series resistor values are then calculated using equations 4a and 4b of table 2.

Note that Vjn must be greater than V0; actually Vjn = V0 + l0 * Rz, and Vjn should be measured at the lowest ripple voltage. Another feature of zener diodes is that they may be connected in series to increase the regulating voltage or to achieve a voltage not available in a single zener.

A quick survey of zeners shows that it is not practical to use this simple approach in high current supplies because the wasted current thorough Rz is inefficient and the generated heat becomes a problem. High current zeners are also expensive. A way to extend the current capacity of zeners is to use a series current pass transistor as shown in figure 5a.

Most of the current now being supplied passes through the power transistor with the voltage of its base being controlled by the zener. The 2N3055 is a typical type of power transistor for this purpose. Rz must now be chosen to carry the zener current

and the base current. Zeners themselves can be a source of noise, and the capacitor (C = 50juF, typical) is added to provide filtering across the zener.

This method will increase the output current, but more input current is wasted through Rz. A more efficient method is to use two power transistors in a Darlington configuration as in 5b. The base current of Q2 can now be much smaller and reduces the amount of heat generated by Rz.

Using a zener in this way, with or without pass transistors, provides a fair regulation with few components and is suitable for some applications. However, it still does not guard against variations in the line voltage. A much better method would be to use a type of monitor to watch V0 and check for variations from the desired output. This is called a feedback, or closed loop regulator.

Figure 6a shows a simple closed loop regulator. Q2 acts to bias Q-] according to the condition of V0 and uses the zener voltage as a reference. If V0 should suddenly raise or drop, Q2 will automatically compensate until V0 matches the zener voltage. Because of the slight voltage drop across the transistors, the output voltage will be slightly less than the reference voltage of the zener. The variable resistor is used to adjust the bias of Q2 and therefore adjust the output to exactly the voltage desired. C2 is necessary to help filter fast transients caused by sudden current changes from the load and also helps to keep Q2 from oscillating.

In figure 6a Q2 acts like an amplifier for V0. The important part of this signal is actually the difference between VQ and the reference voltage. A differential type of amplifier used here would therefore increase the sensitivity of the monitor, and an integrated circuit op amp fits this application neatly. A simple circuit using the op amp is shown in figure 6b.

We can now say that we have a regulated power supply, but for how long? If a component in your system or supply should

45

Figure 6: A zener diode, or a zener with pass transistor, is an "open loop" regulator which pays no attention to the load. The circuit can be improved using feedback techniques to create a "closed loop" regulator which senses the output voltage and feeds it back to help control the pass transistor(s). At the left is a typical closed loop circuit employing transistors; at the right is a similar circuit using an operational amplifier as the feedback element.

Figure 8: Attempts to protect against overvoltage and other ills of power supplies require careful thought. One of the most common methods is the "crowbar" circuit, so named because the SCR is used by brute force (as if it were a crowbar) to short out the power supply and blow the fuse or circuit breaker when the voltage exceeds a preset limit.

V|N

o

I

Vo

(A)

fail, it may take the rest of your system with it!

One important approach to this problem is to limit the amount of current the supply will deliver. The most common current limiting device is the simple fuse. To protect all the components in the system, the fuse is usually added in series with either the secondary or primary transformer leads. Fuses are rated at the maximum amount of current they will pass, and a formula for determining the proper fuse size is given in equations 5a and 5b of table 2. A compensation factor is included for dealing with both fast and slow blow fuses. Since a lot of expensive damage can happen to your system in a very short time, fast blow fuses should be used. However, "experimental"

=>

R

■v0

Figure 7: Current limiting is a very desirable protection method. Here is a typical current limiting configuration. The resistor R develops a voltage dependent upon the current to the load, and when the voltage goes too high, Qc begins to cut off the regulator's action allowing the voltage to drop.

FUSE

—d\_p

POWER SUPPLY

rr

v0

supplies that may be subject to accidental shorts and other abuses should use a slow blowing fuse.

Fuses have one major drawback: They act so slowly that most semiconductor devices will blow before the fuse. Figure 7 shows a simple circuit that provides very fast current limiting. The resistor is chosen to produce a voltage drop as the current flows to the load. If the load current becomes too high, Qc begins to turn on, reducing the base current of the pass transistor, thus limiting the current. The monitor amplifier will try to keep the voltage constant, but is not able to produce enough output current. After the current limit is reached, the supply will act like a constant current source.

Current limiting helps to protect the supply from shorts in your system, but the most important consideration is protecting your system from the supply. If the pass transistor short circuits, the entire unregulated output of the supply will deliver disaster to your integrated circuits. Protecting the load from a failing power supply consists of ensuring that the output voltage never rises above the value that the load can tolerate.

Solving this problem is another special diode, the silicon controlled rectifier (SCR). This diode conducts virtually no current until it is turned on, or "fired," at which time it conducts like a conventional diode. Figure 8a shows a simple type of overvoltage protection. The maximum V0 is set by the value of the zener diode. If V0 raises above

IB)

46

the zener voltage, the SCR will fire and short out the supply, causing the output to go to zero. After the supply has shorted for a brief moment, the fuse will blow. Instead of using a fuse, the SCR can be used to trigger a relay or circuit breaker as shown in figure 8b. This method of shorting the supply to prevent high voltages from reaching the load is often referred to as "crowbar" overvoltage protection.

Now at last we have a supply that provides ample current at the correct voltage with both current limiting and overvoltage protection. Getting the power to your printed circuit boards should be accomplished by using the shortest possible leads to prevent induced noise from reaching the integrated circuits. The ideal is wide, well filtered distribution, such as a bus and ground plane system. Using a capacitor (around 20 fif or so) across the supply leads on the printed circuit board will also help to filter the noise. (For more information about noise on printed circuit cards, see the article "Data Paths," page 32, in the February 1976 issue of BYTE.)

As anyone who has assembled one of the currently marketed system kits has seen, the regulator just described using discrete components can be fabricated on a single silicon chip. The integrated circuit regulator offers all the advantages of integrated circuits; ie: high performance, small size, easy implementation, and low cost. High current capacity is sacrificed because making high power monolithic integrated circuits has been difficult, but this is more than offset by the low cost of using many regulators.

There is a distinct advantage' to using many small regulators instead of one large one. If one of the regulators fail, the rest of the system is isolated. Also, you only have to distribute unregulated voltage to each card and induced noise is much less of a problem, and adding additional regulators later on is no problem at all. Many kit manufacturers have adopted this philosophy in their designs. There are basically two kinds of integrated circuit regulators. The most common type is the fixed voltage regulator, exemplified by the LM340-XX or the 78XX series (where XX is a number indicating output voltage like 7805 for a five volt output). These are three terminal devices and can be wired in simply by placing bypass capacitors across the leads as shown in figure 9. These will supply up to one amp of current at any available voltage and have current limiting along with thermal shutdown if the heat becomes excessive. The other type of integrated circuit regu

ic

REGULATOR

.2MF

.OI^F

rh

Figure 9: Integrated Circuit Fixed Voltage Regulators. Eventually, all computer activity may be reduced to a few chunks of silicon, highly refined and tattooed with intricate patterns. Evidence of this is the simplification in regulation provided by the typical integrated circuit linear regulator. Outside of the gross filtering capacitor always used on the raw DC supply, V/n, only two additional components are needed for the typical linear regulator. These components are small (typically ceramic) capacitors used to prevent radio frequency oscillations of the regulator. The only problem with contemporary IC regulators is that they tend to be limited in current capacity, hence the common practice of using many local regulators throughout a computer rather than one single regulator for the whole system.

lator is the variable voltage regulator that lets you specify the voltage output. A typical design is shown in figure 10. R-| and R2 set the voltage output and an additional pass transistor is shown to extend the current capacity. There are many variations on integrated circuit regulators, and none should really be considered without consulting the data sheets on them. An excellent guide is the Voltage Regulator Handbook, available at a National Semiconductor distributor.

An important parameter of the integrated circuit regulator is the dropout voltage. This is the minimum voltage drop that the integrated circuit can tolerate. For example, a 7805 (+5) regulator has a dropout voltage of 2 V. This means that 2+5, or 7 V, is the minimum voltage that should be supplied. Further inspection of the spec sheet shows that the maximum voltage that can be placed across this integrated circuit is 35 V. The higher the input voltage, the more power is wasted in the form of heat.

Vjn at this point is determined by slightly less than the peak value of Vsec, and transformer voltage selection becomes important. If the value of Vsec is chosen so that Vjn is exactly 7 V, the regulator will operate with minimal heat loss. However,

Figure 10: Some forms of linear integrated circuit regulator are designed for more complex operations, such as the kind used with a pass transistor for variable voltage supply outputs.

47

this makes the power supply very susceptible to power surges or even slight "brownouts." The transformer voltage selection should be carefully weighed between heat dissipation and reliability.

Saving the worst for last, the heat developed by regulators is an important consideration in both the discrete and integrated circuit versions. In the discrete design, the pass transistor must have some way of dissipating the power | (Vjn — V0) * l0] that is wasted. The same is true for the whole integrated circuit regulator. One popular method of using the integrated circuit variety is to use an on card heat sink, with or without fans to carry the heat away. Recommended heat sinks are usually available with the device specification. I fabricate my own on card heat sinks by using 1/16 inch strap aluminum from the local hardware store and a hacksaw for cutting the fins.

The reason that so much heat is developed in these kinds of regulators is that they are really nothing more than elaborate dropping resistors. Is there a better way? One possible answer is the switching regulator.

The switching regulator uses the pass transistor as a switch, regulating both the output voltage and the efficiency of the supply. A simple switching regulator is shown in figure 11. It is very similar to the series pass regulator except for the addition of a diode and an inductor. This inductor and R-) and C and the error amplifier form

Rl ■VW

;c v0

Figure II: All of the linear regulators are really just fancy resistance elements which change their resistance to accommodate changing load conditions while keeping voltage constant. As a result they burn up power. The "switching regulator," such as that shown by this design idea, is an alternative which does not waste power in the pass transistor. It uses a variable duty cycle charging system for the output capacitor with feedback. In this conception, the pass transistor is always saturated "on" or "off" and never stays very long in the power consuming linear region of its operation. Thus the power wasted in the pass transistor is much smaller.

an oscillator that continually turns Q on and off. When Q is turned on, the voltage flows freely through the transistor and the power lost is small. When Q is turned off, there is of course no power lost. The output then forms a series of pulses that is filtered by the inductor. The diode is used to ground out the back emf of the inductor.

Regulation is maintained by varying the percentage of the cycle that the transistor is turned on. If the load requires more current, the time the transistor is turned on is increased. This is done by feeding the output back through the monitor amplifier to keep the voltage constant. Calculating the frequency of the oscillations is quite complex, and involves a trade-off between large expensive inductors and capacitors at low frequencies and expensive high speed switching transistors at high frequencies.

Switching regulators have their own disadvantages, however. It is hard to enjoy high efficiency at the lower voltages, like 5 V. Ripple is usually worse coming from a switching supply than a linear supply. An increased number of parts means some sacrifice in reliability. The frequencies (usually between 10 and 100 kHz) cause radio frequency radiation to the extent that shielding requirements are currently under investigation by the FCC. For the "average" hobbyist, linear regulation with careful consideration to heat dissipation is a much simpler approach.

What lies in the future? At the time of this writing, a three terminal 1.5 A regulator that is fixed or variable with few external components will soon be out. Tl is reported to be working on an integrated circuit switching regulator. A variable zener reference integrated circuit and an overvoltage crowbar integrated circuit are in the works, all of which look as if they will be in the hobbyist's price range.

Although I have tried to give an example of each of the most common power supply designs, I have barely scratched the surface. However, for the novice or the software inclined, simple regulated power supply projects can be a lot of fun and give good introductory experience in reading component specs and packaging techniques. Integrated circuit regulator data sheets will often have excellent application circuits for building a fixed or variable supply. Then, if you should transcend the state of a simple kit builder and begin experimenting with components and measuring the ripple and percent regulation and operating temperature, then you will have arrived at a kind of power supply scientist, and — well, more power to you!"

48

It offers

It CO

sts less.

No system is more complete. None is less expensive. OSI system boards and full documentation start at $29. Fully assembled systems at $439. Only you govern where they end. And OSI offers more features than ever. Full multiprocessing capabilities. An innovative full color graphics and alphanumeric video system. New options for even greater system expansion. New software. And two of the best-priced floppy disk options you'll ever see. See it all in the OSI catalog. Available now at your computer store or direct from OSI.

□ Send me the free brochure on OSI kits and fully assembled computers.

□ Send me the full line OSI catalog. $1.00 is enclosed.

Ohio Scientific Instruments

Dept. B 11679 Hayden Street Hiram, Ohio 44234 (216)569-7945

Pick Up BASIC by PROM Bootstraps

Jim Kreitner

RCA

6410 Kenilworth Av

Riverdale MD 20840

The output of the regulator, and ground connections, should be wired as follows:

+5V GND

IC1 8223

16 8

IC2 74L30

14 7

IC3 74L20

14 7

IC4 74L04

14 7

IC5 74L04

14 7

Table 1: Power

Wiring List

for Figure 1.

Most Altair owners tire of handloading the bootstrap loader for BASIC in a very short time, even though it is only 20 bytes. Here is a simple and very effective design for a 32 byte PROM board that holds the bootstraps for Altair Extended, 8 K, or 4 K BASIC (Version 3.2). The normal bootstrap sequence for the Altair BASIC programs is a two stage process which is initiated by the short programs which are usually toggled into the machine but are found in PROM in this version of the scheme. The first stage of the process is what is taken care of by the bootstrap PROM programming: The first block on the load tape is a longer bootstrap program which has a more elaborate loading facility. In principle, the longer bootstrap could have been used by MITS; but in practice, its length (over 150 bytes) makes hand toggle switch entry impractical.

Split

Octal

Address

Octal Code

Label

Op

Operands

Commentary

300/000

046

057

EXTBASIC

MVI

H.057

Point H to extended BASIC load address;

300/002

303

014

300

JMP

BOOTS

Go to bootstrap routine;

300/005

046

037

BASICSK

MVI

H.037

Point H to 8 K BASIC load address;

300/007

303

014

300

JMP

BOOTS

Go to bootstrap routine;

300/012

046

017

BASIC4K

MVI

H.017

Point H to 4 K BASIC load address;

300/014

056

256

BOOTS

MVI

L.256

Initialize low order load address;

300/016

061

035

300

JKLUGE

LXI

SP,KLUGE

Initialize stack pointer;

300/021

333

006

IN

ACRSTATUS

Read the SIO status flags;

300/023

017

RRC

Test low order bit in carry flag;

300/024

330

RC

Crude trick jumps to JKLUGE if not ready

300/025

333

007

IN

ACRDATA

Read the SIO data value;

300/027

275

CMP

L

Is A = L [test null condition];

300/030

310

RZ

Tricky jump to JKLUGE if not null;

300/031

055

DCR

L

L := L — 1 [point to next byte] ;

300/032

167

MOV

M,A

@HL := A [store byte in memory] ;

300/033

300

RNZ

if nonzero, lake trick jump to JKLUGE;

300/034

351

PCHL

go to tape bootstrap routine;

300/035

016

300

KLUGE

DA

JKLUGE

define address constant for trick jumps via return mechanism and ROM stack;

Listing I: PROM Bootstrap Loader, listed as assembled for the Altair SIO board. The origin of the program is shown as location 300/000 (split octal addressing format). A version for a second PROM, starting at location 314/000, can be blown from the same assembly for use with the ACR interface, as described in the text. To derive the second version, simply substitute the octal value 314 in place of 300 in the shaded boxes shown in the listing.

Operation

The most general form of the bootstrap is shown in listing 1, suitable for either SIO or ACR use. The desired bootstrap is selected by examining the proper address, setting switch A14 down, and when the tape leader byte begins, the Altair is switched to the RUN mode. The PROM addressing is selected so that a minimum of switch changing is necessary — the schematic is for an Altair which uses a 2SIO board for the interface to the system's terminal. Since Altair BASIC requires that sense switch A15 is raised when loading BASIC from an Altair ACR cassette tape interface, and that Al 1 is raised for a 2SIO terminal, and A10 is raised for one stop bit, all that is necessary after power up and reset is to examine split octal location 314/OXX (where XX indicates the version of BASIC being used) and to set A14 down. The tape is then ready to load. If you are using an SIO interface for your terminal, then A11 and A10 should be inverted before they go to the 74L30. The address of the bootstrap loader will then be split octal 300/000 instead of 314/000. If you use only one version of BASIC the bootstrap can be rewritten with a tape leader detector proceeding the bootstrap, as shown in listing 2. This allows you to run the Altair without waiting for the leader byte to appear. The leader detector loops until the leader byte is received, and then jumps to the bootstrap loader proper.

Circuit Description

The circuit of figure 1 uses only six integrated circuits including the voltage regulator, and can easily be fabricated with a prototype board with either point to point wiring, Vector "Slit 'N Wrap" or standard wirewrap techniques. The 8223 PROM is

50

obtainable from many sources, and circuits to program the 8223 have appeared in previous issues of BYTE. Alternately, an 82S23 can be ordered and programmed by many of the larger electronics distributors for a greater price. /For example, we at BYTE have purchased 82S23s burned from marksense cards by Hamilton Avnet.J The numbers shown on the schematic are the Altair bus edge connector fingers.

Circuit Limitations

Because the circuit is designed for a minimum amount of switch flipping, it limits the memory to 48 K maximum if addressed at split octal 300/000 and slightly greater if addressed at 314/000. If you use more memory than this, you will have to change the circuit somewhat to obtain a higher address, avoiding conflicts on the bus, and change a few address bytes in the program. It will then be slightly less convenient to use; however, it will remain a vast improvement over the "power up, switch flipping blues.""

Split

Octal

Address

Octal Code

Label

Op

Operand

Commentary

300/000

333

007

BOOTER

INP

ACRDATA

read potential leader byte;

300/002

376

256

CPI

256

is it the leader byte?

300/004

302

000

300

JNZ

BOOTER

if not then continue looking;

300/007

041

256

XXX

LXI

H.START

HL := [starting address valuel ;

300/012

061

031

300

JKLUGE

LXI

SP.KLUGE

initialize stack pointer for kluge jumps;

300/015

333

006

INP

ACRSTATUS

read status;

300/017

017

RAR

test low order bit in carry flag;

300/020

330

RC

if carry then take kluge jump to JKLUGE

300/021

333

00/

INP

ACRDATA

A := data [read input byte) ;

300/023

275

CMP

L

is A - L |test null condition) ;

300/021

310

RZ

if null then take kluge jump to JKLUGE;

300/025

055

DCR

L

L :* L— 1 [point to next byte) ;

300/026

167

MOV

M,A

@HL :- A [store byte in memory] ;

300/027

300

RNZ

if not null, then take kluge jump;

300/030

351

PCHL

go to tape bootstrap routine;

300/031

012

300

DA

define address constant for trick jumps via return mechanism and ROM stack;

Note: The value XXX at location 300/011 should be replaced by 057 for Extended BASIC. 037 for 8 K BASIC, and 017 for 4 K BASIC.

Listing 2: PROM Bootstrap Loader with Leader Detection, customized for a particular version of BASIC and shown in the form needed for the A Itair SIO board. The origin of the program is shown as location 300/000 (split octal addressing format). A version for a second PROM, starting at location 314/000, can be blown from the same assembly for use with the ACR interface as described in the text. To derive this second version, simply substitute the octal value 314 in place of 300 in the shaded boxes shown in the listing. This version also requires substitution of a specific load address constant for extended BASIC (octal 057), 8 K basic (octal 037) or 4 K basic (octal 017) at location 300/017.

BUS TIMING

AI2g5> A I I [8T>—

AI0[37>A9 gj>A8 [|5>

A7 m>

A6 Hf>A5|g>

A4gg>A3|3i>A2(e[>Al [8§>AO (7|>

ICSiLX^

IC4

&*

>>>,

p*

1- DV

H^M^

ROM

WITH BOOTSTRAP

X

VALID ADDRESS

X

S MEMR

XX

-VALID DATA

r^V[5i>

GND Qsg>

[|5<J>—I

;6.8/iF

IC6 7805

+ 5V (SEE TABLE)

BYPASS WITH AfiF DISCS

T-T-T-T

■3=

-g|> D7 -H!> D6 -H£> D5 -gj> 04 -[4|> D3 "E> D2 -|93> Dl -H5>DO

TO ALTAIR DATA IN BUS

Figure 1: Schematic of the Altair Bus PROM Interface. One such interface is required for each PROM in principle; however, some of the decoding in the gates and inverters can be shared between two or more PROMs at different addresses.

51

Continued from page 16

lished works), and now in January, the author will have a federal copyright the very instant his work is put to paper. (Now it has to be "published" with copyright notice to get the federal protection.) This will have deep impact on program proprietors who think they can protect by trade secret the software they offer for sales.

Calvin N Mooers

Rockford Research Inc

140'/2 Mount Auburn St

Cambridge MA 02138

IN DEFENSE OF THE RIGHT TO PUN

Enclosed is my renewal for another year of BYTE. I was very reluctant to renew my subscription for one particular reason: The constant punning in the editorial and text material drives me crazy. It may seem like a petty complaint, but the puns and computer analogies completely spoil my enjoyment of an otherwise fine magazine. I may be the only reader that feels this way, but if the punning continues at its current level, I probably won't renew my subscription next year.

Richard Kramer

You should hear the complaints from the people around the office; at least the puns in BYTE, such as they are, are limited in context and subject matter. However, my observations on the matter of peoples' reactions to puns are that the more they complain the more they really want 'em. Any comments from other loyal defenders of a sophont's right to pun?... CH

Deborah Luhrs says, "Give that man a pun on the back. "

BITIE

BYTE Publication! Inc

70 Miln S(

Pclcrtwr«j|h NH 03 4 SB

MJ-924-7217

DO NOT DESTROY UNSOLD COPIES OF BYTE

Dear Distributor,

If you have any copies of BYTE laft over please do not cut off the coven and send them to us as proof that you did not Mil them. We ire completely sold out of nine of the fir« twelve issue* of BYTE and have thousands of requests for back ittuei, II you have any left over which you wish to return, we shall be glad to credit you fat the postage costs and, of course, give you full credit for the magazines returned os well. We anticipate the back issue demand to go on for a long time ai new people dicover BYTE to until informed otherwise, please either hold the old copies for your own future sale or return them INTACT to ui.

Thanft you,

QunsL 2miq

Deena Zeely /l

Co^dLu

/lofl£/T OiBWb

KUDOS

I'm happy to send along my check for renewal. I look forward to each issue which seems better than the last. Please keep the 6800 articles coming. You've already saved me my renewal check. Again, well done and keep it up.

Bill Bennett K3TNM

Thanks.

CIE ENTHUSIASM

I was fired with enthusiasm by the idea of a Community Information Exchange /October 1976 BYTE, page 90]; please publish letters or articles which would aid such a project. More immediately, what can I do to help initiate such a net? I have written to Mr Wilber and Mr Fylstra to ask the same question but I believe your magazine could perform a valuable service by acting as a clearing house of ideas on this project.

Despite my enthusiasm for the idea of a CIE, I feel that Messrs Wilber and Fylstra were unduly hard on computer professionals. I'm not one, but I read some of the literature and my impression is that, far from "have(ing) protected their privileged position by keeping their knowledge to themselves," computer professionals reveal many more "secrets" in the various journals than do most professional groups, especially about software and software theory. Useful and efficient programs for almost any application can be written using the often quite specific articles and books on programming which literally abound. Even compilers are within the scope of the knowledgablc amateur with books such as Compiler Design Theory (Lewis el al) which contains a very specific receipe for a simple BASIC compiler.

It is true that people who earn a living writing programs have shown a reluctance to donate their efforts to hobbyists and some have even been intemperate in their refusal, but this is scarcely surprising; in my experience they are willing to share their knowledge and in the long run that is all that a dedicated hobbyist needs.

E N Svendsen

Apt 1801

11200 Lockwood

Silver Spring MD 20910

HAM, CB CALL SIGN COORDINATION BY COMPUTER

Well, at last I got my subscription copy of BYTE. I really enjoy the articles, but a lot of it is over my head. It seems that quite a few computer people are also hams. I was first licensed back in 1955 and currently hold the call WA6TLJ. But there is no time for hamming until I get my new 8800b kit put together and up and running.

I have an idea about a computer application that may help out the Citizen Band operators. How about a computer generated list of modified nouns that would be issued by the FCC in place of the awkward present system of letters and numbers?

The whole idea of using letters and numbers to identify a voice transmission is out of date. Back in the 30s when most communication was done in Morse code the

use of meaningless alphanumerics was quite practical. It was quicker.

However, numbers and letters are hard to use in plain language. To identify the letter "B" one has to use a phonetic like "Bravo." "Charlie" for "C." A waste of time.

Just as a programmer finds COBOL easier to use than a mnemonic assembler, so the average person would prefer to use a name instead of a number or letter combination to identify almost anything. Likewise CBers prefer the use of an adjective and a noun to identify one another.

I would suggest the following as modified noun call sign for stations using only voice transmission:

K (two-digit number) (adjective) (noun). Example: K27 DANCING PLUM.

If there are 900 useable adjectives, and if we can find 1,400 acceptable nouns, then there would be enough call signs for all the people who want a personal radio and it would not be so difficult to identify one another.

Now we need a computer program to select a good list of adjectives and nouns and to spot any bad combinations.

John B. Palmer

POB 27462

Tucson AZ 85726

Now, all you have to do is get this same message through to the appropriate people at the FCC and push like crazy.

HELP!!!

I have bought a Raytheon terminal DIDS400, model No. 402-2A-M1 1. Unfortunately it doesn't quite work. I am having some difficulty in finding a schematic. Could you please help me?

William R Hill Jr

214N600E#3

Provo UT 84601

Readers with information to help Mr Hill, kindly write him.

WHAT ARE SR-52 INTERFACE DEFINITIONS?

Recently, I have become interested in personal computers and I am planning on having my own sometime in the near future (within 6 months or so). My problem is this: I also have at this time an SR-52. I would like to have some information ... I really can't see forking out the cash for a Tl printer if I am going to be getting a printer for a computer. What I would like to know: Is there anyone who could help me out on interface requirements? Has anyone done this type of thing yet? I saw the article on adding a math function unit in BYTE No. 13 which is a step in the direction I want to go, but, doesn't quite meet the idea I have. I would like for my computer to be able to operate my SR-52, and my SR-52 to operate my computer, providing hard copy both ways, or, on demand from either.

Any ideas you have or could get for me would certainly be appreciated. Cost is the biggest factor so far. As a matter of fact, any information on the SR-52's data contacts

52

DIGITAL DATA

RECORDERS

USING 3M DATA

CARTRIDGES

Model 3M3 $199.95

BRAND NEW DESIGN

Featuring the radically new "UNIBOARD" method of construction for data cartridge drives. The major computer manufacturers are changing from cassettes to cartridges at a rapid pace because of freedom from binding and greater data reliability. Now, these professional type units are priced within the range of all data users. Being made primarily as OEM data storage units for the world's major manufacturers, these units, together with controller board and software ROM, are being made available to the individual user as well.

* Appearance and specifications may be changed slightly following acceptance tests now being conducted by OEM users.

Model 3M1 $169.95

MODEL 3M3 - Uses the 3M Data Cartridge, model DC300. This cartridge contains 300 feet of .250 tape in a sealed container. Records and plays at 9600 baud NRZ, 4800 baud P.E. Nominal speed 8" per second. Max. recommended flux density 1200 fcpi. Using four tracks, you can store nearly 2 megabytes of data on a cartridge. Cartridge measures 4" by 6". Turns counter indicates tape position. Inter-record gap light gives more accurate position. 2SI0(R) is not required for use, but is highly recommended for 8080 and Z80 systems.

COMMON SPECIFICATIONS: FULL SOFTWARE CONTROL of record, play, fast forward and rewind. LED indicates inter-record gaps. EOT and BOT are sensed and automatically shut down recorder. Can also be manually operated using the switches on top which parallel the software control signals when not under software control. Signal feedback makes it possible to software search for inter-record gaps at high speed. 117V — 60 Hz — 5 watts.

TWO I/O PORT CONTROLLER WITH ROM - Controls your terminal and one or two cassettes or cartridge units. On board ROM (For 8080 and Z80) has terminal and cassette software for turn on and go operation. NO MORE BOOTSTRAPPING. Plug in compatible with Altair and IMSAI. Loads and Dumps memory in Hex from the keyboard, formats tape files, punches tape, functions as a word processor and searches for files and four letter strings within files. Keyboard controls the cartridge units above on rewind and fast forward. Special keyboard codes enable you to dump and read Phase Encoded tapes as well as NRZ tapes. (Including K.C. Std.) Call routines give access to these from your software.

MODEL 2SIO(R) -With 1 ROM for NRZ Cassettes $169.95

(Assembled & Tested) (Half of above Program)

With 2 ROM's for Data Cartridges and

P.E. cassettes. $189.95 (Full Program)

Kits available for $30 off above prices.

OVERSEAS: EXPORT VERSION - 220 V - 50 Hz. Write Factory or — Datameg, 8011 Putzbrunn, Munchen, Germany; Nippon Automation 5-16-7 Shiba, Minato-Ku, Tokyo; EBASA, Enrique Barges, 17 Barcelona, Spain; Hobby Data, SpireaVagen 5, Malmo, Sweden; G.Ashbee, 172 (field Road, London SW 10-9AG.

MODEL 3M1 - Uses the 3M Data Cartridge type DC100A. This cartridge contains 150 feet of .150 tape and is the same cartridge used by H.P. and others. Runs at 4800 baud NRZ, 2400 baud P.E. Tape speed adjustable, but nominally set at 5"/second. Maximum recommended flux density 1200 fcpi. Cartridge measures 2-1/8" by 3-1/4". This model is ultra compact, yet extremely capable. It is intended for word processing, mailing list use and other applications requiring the compact storage of data. Data location is by inter-record gaps and automatic file search. See Common Specs and 2SIO(R) below. 2SI0(R) is not required for use, but is highly recommended for 8080 and Z80 users.

For 8080 and Z80 users: Comes complete with software program listings for the programs on the 2SIO(R) ROM below. 6800 software is being written, but not yet completed. These programs give FULL SOFTWARE CONTROL.

CARTRIDGE AVAILABILITY: Cartridges are made by 3M, ITC, Wabash and others. They are available at all computer supply houses and most major computer service centers. We can also supply them at normal current list prices.

NEW: AUDIO CASSETTE INTERFACE* Phase Encoding interface for use with audio cassettes or NRZ recorders. Runs 2400 baud phase encoded on good quality audio cassette recorders. May also be used with 2SIO(R) above to use the 2SIO(R) cassette programs with your audio cassette player. Can also accommodate "Tarbell" tapes and K.C. Std. tapes.

$50.00, Wired 8i Tested. - $35.00, Kit Form.

*N0TE: You do not require an interface with the 3M1 and 3M3 unless you Phase Encode. But, you do need an interface to use the 2SIO(R) with your own audio cassette.

"COMPUTER AID" and "UNIBOARD" are trademarks of the NATIONAL MULTIPLEX CORPORATION. The 3M Data Cartridges are covered by 3M Patents and Marks. "UNIBOARD" Patents Pending.

For U.P.S. delivery, add $3.00 each item. 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.

NATIONAL MULTIPLEX CORPORATION

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

would be helpful as then I might be able to design my own interface.

Ralph V Getsla MMI(SS)

NPS Staff

Mare Island Naval Shipyard

Vallejo CA 94592

Yes indeed, it should be possible to make an interface to the SR-52 plug. There are several ways this might happen: One is the way pioneered by Richard Nelson in his HP-65 users group newsletter with the HP-65, namely the owner doing research on what the components and design elements of a calculator are, then building interfaces. A second way is for someone at Tl to send us a note on the interface definition and constraints for driving outputs, a note which might be published in BYTE as an article. The fact that it is possible is demonstrated by the existence of a general aviation navigation unit which is manufactured by Bendix, and which can optionally be programmed by an SR-52 when it is plugged into the calculator's printer socket.

AMATEUR RADIO NETWORKING INTEREST

I am interested in the current relationship between computer and radio amateurs. I have a BS in computer science (received a couple of months ago) as well as an amateur license. I have discussed some possibilities with Lee, WA9FGK, and we would like to get in contact with other hams and/or computer hobbyists with a similar interest. We would appreciate it greatly if you could communicate this lo interested people.

Richard Rosenbaum WA2AOI

61-04 Little Neck Pkwy

Little Neck NY 11362

DOUBTING LIBRARIANS

I recently requested that our company subscribe to BYTE magazine for the company library. I filled out all of the necessary forms and sent them to the librarian. A few days later, I got a call from the librarian

asking me a lew questions about the magazine. The conversation went something like this:

"In this magazine, are there many advertisements?"

"... A few." "Are there many articles?"

". . . Quite a bit." "Are there many black and white pictures?"

".. . The pictures are mostly black and

white." "They do have some colored pictures?"

"... Yes." "In this 'BYTE' magazine, do they have a centerfold?"

With some explaining in between subdued laughter, I finally got approval and today I got the company's copy of BYTE magazine with no centerfold.

Paul W Schmitt

Mine Safety Appliances Co

100 N Braddock Av

Pittsburgh PA 15208

REGARDING BAR CODES

HIIIIIIII

li Mill III

lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll

llllllllllllllllllllllllllllllllll llllllllllllllllllllllllllllllllll

llllllllllllllllllllllllllllllll

iiiiiiiiiiiiiiiiiiiniiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii

iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii

HIIIIIIII

i

ii iiiiii

in

iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii

Henry G Baker Jr

MIT Laboratory for Computer Science

545 Technology Sq

Cambridge MA 02139

Next month, we'll print the decoded text of the letter Henry sent, which arrived as this month's issue went to press. The format of this letter is ratio encoding, format 2 of the three formats presented in November [page 12]. No synchronization or parity

characters are used in this bar code text, which is the first paragraph of Henry's letter. This letter was produced by the MIT Artificial Intelligence Laboratory Xerographic Printer.

54

for quality electronic parts and tools.

OK MACHINE & TOOL CORPORATION

3455 Conner St., Bronx, N.Y.10475/ (212) 994-6600/Telex 125091

Black Friday

»■,:,

;»*'=i

Robert Baker 15 Windsor Dr Atco NJ 08004

00010 00020 00030 00040 00050 00060 00070 00080 00090 00100 00110 00120 00130 00140 00150 00160 00170 00180 00190 00200 00210 00220 00230 00240 00250 00260 00270 00280 00290 00300 00310 00320 00330 00340 00350 00360 00370 00380 00390 00400 00410 00420 00430 00440 00450 00460 00470 00480 00490 00500 00510 00520 00530

REM

REM REM REM

This computer game provides a realistic simulation of the actual stock market rather than a completely randomized happening of events. The program was written in BASIC for a DEC PDP-10 system so you may have to modify it slightly for your particular system. The game is programmed to allow one to four players with an option to play a game lasting from 3 to 10 years (rounds).

The first section of the program contains all the data to simulate the stock market, the names and abbreviations for the stocks, and

AUTHOR: ROBERTW. BAKER

THIS GAME IS WRITTEN TO PROVIDE A REALISTIC MODEL OF

THE ACTUAL STOCK MARKET RATHER THAN A COMPLETELY RANDOMIZED

HAPPENING OF EVENTS.

RANDOMIZE

DIM AI36,12),U(11,9I,E(11,9),I(10).T(10),S$I10I,F(9I,M(4,12I,V$(10).Y$(10I

MAT READ A(36,121.UI11,9),Ed 1,9),II10),S$I10),V$I10),Y$(10)

REM DATA TO SIMULATE REAL LIFE STOCK MARKET

DATA 1,0.0,0,0,0,0,0,0,5,0,0

DATA 0,0,0,0,0,0,-25,0,0,0,0,0

DATA 1,0,0,0,0,0,0,15,0,0,0,0

DATA 0,0,0,0,-5.0,0,0,0,0,0,0

DATA 1,0,0,0,0,0,0,0,0,5,0,0

DATA 0,0,0,0,0,0,5,0,0,0,0,0

DATA 1,0,0,0,0,0,10,0,0,0,0,0

DATA 0,0,10,0,0,0,0,0,0,0,0,0

DATA 1,0,0,0,0,0,15,0,0,0,0,0

DATA 0,0,-5,0,0,0,0,0.0,0,0,0

DATA 1,8,5,5,0,0,0.7.0,0,0,0

DATA 0,0,0,0,0.0,0,0.-25,0,0,0

DATA 1,0,0,0,0,0,0,0,10,0,0,0

DATA 0,0,-10,0,0,0,0,0,0.0,0,0

DATA 1,0,5,0,0,0,0,0,0,0,0,0

DATA 0,10,0,0,0,0,0,0,0,0,1,0

DATA 1,0,0,0,0,17.0,0,0,0,0,0

DATA 0,0,0,0,0,-15,0.0,0,0,0,0

DATA 1,0,0,0,0.0,0,0,10,0,0,0

DATA 0,0,0,0,0,0,0,-15,0,0,0,0

DATA 1,0,0,0,0,0,0,10,0,0,0,0

DATA 0,0,0,0,0,0,0,-15,0,0,0,0

DATA 1,0,0,-8,0,8,0,0,5,0,0,0,

DATA 0,-10,0,0,0,0,0,0,0,0,0,0

DATA 1,8,0,0,0,0,0,0,0,0,0,0

DATA 0,0,0,0,0,0,0,-5,0,0,0,0

DATA 1,0,0,3,0,0,0,0,0,4,0,0

DATA 0,-8,0,0,0,0,0,0,0,0,0,0

DATA 1,0,0,0,5,0,0,0,0,0,0,0

DATA 0,0,0,0,0,-10,0,0,0,0,0,0

DATA 1,0,0,0,0,0,0,10,0,0,0,0

DATA 0,-8,-5,0,0,0,0,0-7,0,0,0,0

DATA 1,10,0,0,0,0,0,0,0,0,0,0

DATA 0,0,0,0,0,0,0,0,0,-14,0.0

DATA 1,-10,0,0,0,0,0,0,0,0,0,0

DATA 0,0,0,0,0,0,-5,0,0,0,0,0

DATA -2,-10,-7,-9,-2,-9,-7,-16,^»

DATA 26,16,25,8,-14,21,14,-4,17

the dividends paid by each stock. When the program is first started the player may ask for instructions if he is not familiar with the game. Then a table showing available stock names, abbreviations, and dividends is printed. This table is always printed for reference whether or not instructions are requested by the player.

In the program, stock names are stored in the vector S$, stock abbreviations in the vector V$, and yearly dividends are in vectors l$ and Y$. Matrix M is used to record each player's holdings, cash on hand, and dividends or interest for each year (round).

The market changes for each year are determined by first selecting at random one of the 36 market vectors of matrix A. Each of these vectors can only be selected once during a game. Bit 12 is set to a one when that vector is used. Bit one of each data vector indicates whether the year (round) will be a bull (1) or bear (0) market. For a bull market, a vector is selected from matrix U; and for a bear market, a vector is selected from matrix E. This randomly selected price change vector is added to the market vector and is stored in vector T to record the price change for that year for further reference. The price changes are also added to vector F which keeps track of the current price of each stock.

After the price changes are determined and recorded, the program checks for stock splits or bankruptcies. Any stock valued at $150 or more splits and the new value is rounded to the next highest dollar. Anytime a stock splits, a message will be printed indicating the split and all players will receive the extra number of shares. Any stock that drops in value to zero goes bankrupt. A message will inform all players of the bankruptcies and all shares of that stock will be surrendered. The value of that stock is then re-established at $100. When all necessary housekeeping is finished, the program will give each player dividends or

56

interest on all stocks that yield interest or dividends and are valued at $50 or more.

For each year a table will be printed indicating the current market price of each stock, the change since last year, the number of shares each player owns of each stock, dividends received for that year by each player, and the new cash total of each player. Every player then has the opportunity to sell and/or buy any shares he desires. The "official" stock abbreviations as printed at the beginning of the program are used to select what stocks are bought or sold and the program will not accept incorrect abbreviations. If a player tries to sell shares

Table 1: All stock and security names are purely fictitious; any resemblance to a real life company or firm was not intentional, A brief description of each stock follows:

HIGHWAY IMPROVEMENT BONDS

YIELD 5%

An excellent state bond with good security and income potential, but no appreciation.

X-PANDO CORPORATION

YIELD 1%

A rapidly expanding industrial firm that reinvests most earnings on research, causing low yield. The price-to-earnings ratio is extremely high.

SEASIDE PROPERTIES INC

NO YIELD

Good appreciation prospects but no dividends. In the immediate future, however, the proposed beach cleanup program could have great effect on earnings.

OLD DOG MUTUAL FUND

YIELD 4%

A common stock mutual fund that represents a good, steady income, with only fair appreciation.

RUBBLE DEVELOPMENT

YIELD 7%

A high income real estate investment with steadily depreciating capital assets.

SLIPPERY OIL COMPANY

NO YIELD

Very speculative investment since profits go toward new oil wells. No dividends are expected.

BUMPY TRANSPORT COMPANY

NO YIELD

High appreciation investment with a good outlook depending on the administrative ability of its new board of directors. No dividends are expected since all profits are recycled into the company.

KRASH AUTO COMPANY

YIELD 2%

A medium size auto company representing a somewhat speculative investment. It has a fairly high price-to-earnings ratio with a low yield.

ZAP ELECTRONICS INC

YIELD 6%

A highly speculative, high income stock with a fair to poor long term prospect.

BLINKEY POWER AND LIGHT

YIELD 3%

A steadily growing utility company in an established industrial area.

00540 00550 00560 00570 00580 00590 00600 00610 00620 00630 00640 00650 00660 00670 00680 00690 00700 00710 00720 00730 00740 00750 00760 00770 00760 00790 00800 00810 00820 00830 00840 00850 00860 00870 00880 00890 00900 00910 00920 00930 00940 00950 00960 00970 00980 00990 01000 01010 01020 01030 01040 01050 01060 01070 01080 01090 01100 01110 01120 01130 01140 01150 01160 01170 01180 01190 01200 01210 01220 01230 01240 01250 01260 01270 01280 01290 01300 01310 01320 01330 01340 01350 01360 01370 01380 01390 01400 01410 01420 01430 01440 01450 01460 01470 01480 01490 01500 01510 01520 01530 01540

DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA

REM

DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA

REM

DATA

REM

DATA

18,23,11,12.46,18,-5,34,15

23,28,-2,11,56,19,30,29,14

20,15,15,7,-20,15,13,-10,12

17,21,13,-2,37,23,23,19,14

19,24,17,9,-5,26,13,-7,15

11,18,14,11,67,15,22,18,13

13,31,1,14,-11,18,18,-14,10

14,-8,19,-1,-9,25,-10,13,19

24,24,23,20,51,27,38,33,18

12,14,13,10,10,20,21,25,8

7,-6,10,-10,30,6,-19,22,-2

9,10,7,-5,-20,12,21,18,7

7,8,5,-6,40,3,16,-14,4

8,6,4,4,40,8,4,-12,3

6,4,3.3,-15,5,8,-8,5

5,7,-1,-3,45,6,-10,10,4

-2,6,-3,-8,-20,7,10,14,6

11,11,-5,-7,30,10,-11,-18,-4

-5,13,-8,6,25,4,18,-22,-4

-8,-10,-10,-15,-20,-20,-23,-25,-7

5,1,0,4,7,0,0,2,6,3

SECURITY NAMES

"HIGHWAY IMPROVEMENT BONDS" "X-PANDO CORPORATION" "SEASIDE PROPERTIES INC." "OLD DOG MUTUAL FUND" "RUBBLE DEVELOPMENT" "SLIPPERY OIL COMPANY" "BUMPY TRANSPORT CO." "KRASH AUTO COMPANY" "ZAP ELECTRONICS" "BLINKEY POWER & LIGHT CO."

ABBREVIATIONS

"HIB","XP","SP","ODM","RD","SO","BT","KA","ZE","BPL"

DIVIDENDS

,"NONE","$4","$7","NONE","NONE","$2","$6","$3"

PRINT "WANT INSTRUCTIONS (Y OR N)"; INPUT R$

IF RS="N",GO TO 1280 IF RS<>"Y",GOTO990 PRINT

PRINT "THE MAIN OBJECT OF BLACK FRIDAY IS TO SHREWDLY IN VEST $5,000" PRINT "IN THE GAME'S 10 SECURITIES, BUYING AND SELLING EACH YEAR FOR PRINT "A MAXIMUM OF 10 YEARS (ROUNDS) IN AN ATTEMPT TO BECOME" PRINT "THE WEALTHIEST PLAYER." PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRING PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT

PRINT "AVAILABLE SECURITIES, ABBREVIATION, DIVIDENDS PER SHAREPRINT

FOR N=1 TO 10 PRINT S$(N),VS(N),Y$(N) NEXT N PRINT

PRINT "NUMBER OF PLAYERS (1 TO 41 = "; INPUT P

IF P>4,GOTO 1360 IF P<=0, GO TO 1360 MAT M = ZER PRINT

PRINT "NUMBER OF YEARS 13 TO 10) = "; INPUTS

IF S<3, GO TO 1420 IF S>10, GOTO 1420 MAT F-ZER FOR N=1 TO P LET M(N,11=5000 NEXT N MATT-CON MATT-(100)"T LET Y-0

FIND MARKET CHANGES FOR NEXT ROUND. SEE IF BULL OR BEAR MARKET

EACH YEAR ALL PLAYERS WILL RECEIVE DIVIDENTS ON EVERY PAYING" STOCK WHICH IS WORTH $50 OR MORE. THEN EACH PLAYER WILL" GET A CHANCE TO SELL ANY STOCKS HE OWNS OR BUY ANY STOCKS" HE WISHES. AT THE END OF THE SELECTED NUMBER OF YEARS," EACH PLAYER'S NET WORTH WILL BE CALCULATED AND THE WEALTHIESTPLAYER WINS!"

IF THE VALUE OF ANY STOCK FALLS TO 0, THAT STOCK GOES BANKRUPT" AND ALL SHARES ARE SURRENDERED. THE VALUE OF THE STOCK IS THEN" ESTABLISHED AT $100. IF THE VALUE OF ANY STOCK REACHES $150," THERE WILL BE A STOCK SPLIT. ANY PLAYERS OWNING SHARES OF THAT" STOCK WILL RECEIVE THE EXTRA SHARES, THE VALUE OF THE STOCK IS" HALVED (ROUNDED UP TO THE NEXT HIGHEST DOLLAR)."

A TABLE WILL BE PRINTED EACH YEAR GIVING THE CHANGE IN VALUE" OF EACH STOCK, THE CURRENT PRICE, AND THE NUMBER OF SHARES" EACH PLAYER OWNS OF EVERY STOCK. ALSO, ANY DIVIDENDS RECEIVED" FOR THE YEAR WILL BE SHOWN ALONG WITH EACH PLAYER'S TOTAL CASH."

* GOOD LUCK TO EVERYONE! ««••••"

57

01550 10560 01570 01580 01590 01600 01610 01620 01630 01640 01650 01660 01670 01680 01690 01700 01710 01720 01730 01740 01750 01760 01770 01780 01790 01800 01810 01820 01830 01840 01850 01860 01870 01880 01890 01900 01910 01920 01930 01940 01950 01960 01970 01980 01990 02000 02010 02020 02030 02040 02050 02060 02070 02080 02090 02100 02110 02120 02130 02140 02150 02160 02170 02180 02190 02200 02210 02220 02230 02240 02250 02260 02270 02280 02290 02300 02310 02320 02330 02340 02350 02360 02370 02380 02390 02400 02410 02420 02430 02440 02450 02460 02470 02480 02490 02500 02510 02520 02530 02540 02550

LET D=INT(11'RND+1I

LET C=INT(36'RND+1)

IF AIC.12M.GOTO 1570

LET A(C,12)=1

FOR N=2 TO 10

IF A(C,1) = 1.GOTO 1660

LET W$="BEAR"

LET F(N-1)=A(C,N)+E(D,N-1)

LETT(N)=T(N)+F(N-1)

GO TO 1720

LET F1N-1)=A(C,N)+U(D,N-1I

LET W$="BULL"

LET T(N)=TIN) + FIN-1)

REM

CHECK FOR STOCK SPLITS

IF TINK150.GOTO 1840

PRINT +SSINI+" STOCKS SPLIT '

IF T(N)/2=INT(T(N)/2I, GO TO 1770

LETTIN) = INTIT(N)/2)+1

GO TO 1780

LETT(N)=T(NI/2

FOR J=1 TO P

LET M(J,N+1)=M(J.N+1!"2

NEXT J

REM

CHECK FOR BANKRUPT STOCKS

IF T(N)>0, GOTO 1910 LETT(NI=100 FOR J=1 TO P LETM(J,N+1I=0 NEXT J

PRINT +SSINI+" WENT BANKRUPT

PRINT "THESE STOCKS MUST BE SURRENDERED" NEXT N LET Y=Y+1

REM

ADD EACH PLAYER'S DIVIDENDS TO TOTAL CASH

FOR N=1 TO P

LET M(N,121=0

FOR J=1 TO 10

IFTUX50. GOTO 2010

LETM(N,12)=M(N,12I+(I(J)'M(N,J+1))

NEXT J

IF A(C,11)=0,GOTO2050

LET M(N,12I=M(N,12)+(M(N,3)"2)

PRINT X-PANDO CORP. PAYS $2 DIVIDENDS PER SHARE

LET MIN,1I=M(N,1)+M(N,12) NEXTN

REM

PRINT WHAT HAPPENED & CURRENT VALUES

"+W$+" MARKET '

PRINT

PRINT YEAR ";Y;

PRINT

PRINT SPACE$(23I+"PLAYER . HOLDINGSPRINT

PRINT SPACE$(6l+"+/-$ PRICE";

FOR N-1 TO P PRINT SPACE$(5I:N; NEXT N PRINT PRINT

PRINT V$(1)+SPACE$(4)+"0"+SPACE$[7|+"1OO"+SPACE$(7l; FOR N-1 TO (P-1)

PRINT STR$(M(N,2))+SPACE$(8-LEN(STR$IM(N,2I)I>; NEXT N

PRINT STR$(M(P,2I) FOR N=1 TO 9

PRINT V$(N+1)+SPACE$(7-LEN(V$(N+1)>); PRINTSTR$(F(N))+SPACE$(8-LEN(STR$IFIN)I)I; PRINT STR$(T(N+1))+SPACE$(10-LEN(STR$ITIN + 1)))); FOR J=1 TO (P-1 >

PRINT STR$(M(J,N+2))+SPACE$(8-LEN(STRSIM(J,N+2]))); NEXT J

PRINT STR$(M(P,N+2I) NEXT N PRINT

PRINT "DIVIDENDS FOR YEAR"+SPACE$(7); FOR N = 1 TO (P-1)

PRINTSTR$(M(N,12))+SPACE$(8-LEN(STR$(M[N,12)))); NEXT N

PRINT STRSIMIP,121) PRINT

PRINT "NEW CASH TOTAL"+SPACE$(111; FOR N = 1 TO (P-1)

PRINT STR$(M(N.1))+SPACE$I8-LEN(STR$(M(N,1 ID); NEXT N

PRINT STRSIMIP.D) IF Y=S, GO TO 2990

REM

CHECK IF ANYONE WANTS TO SELL OR BUY ANYTHING

FOR N = 1 TO P

PRINT

PRINT PLAYER ";N;"

02560 02570 02580 02590 02600 02610 02620 02630 02640 02650 02660 02670 02680 02690 02700 02710 02720 02730 02740 02750 02760 02770 02780 02790 02800 02810 02820 02830 02840 02850 02860 02870 02880 02890 02900 02910 02920 02930 02940 02950 02960 02970 02980 02990 03000 03010 03020 03030 03040 03050 03060 03070 03080 03090 03100 03110 03120 03130 03140 03150 03160 03170 03180 03190 03200 03210 03220 03230 03240 03250 03260

he doesn't own, the program will indicate how many shares he actually has. When a player buys shares, the program will indicate how much money he actually has if the player doesn't have enough to buy the specified number of shares. After every transaction the program will indicate the player's new cash total.

At the end of the predetermined number of years (rounds), the game ends and the program will print out each player's net cash worth.

I hope you have as much fun playing this game as I did writing it. I would suggest, however, using a hardcopy terminal rather than a video terminal, due to the length of the yearly tables."

PRINT

PRINT "YOU NOW HAVE $";M(N,11

FOR J=1 TO 10

IF M(N,J+1)<>0, GO TO 2620

NEXT J

GO TO 2770

PRINT "DO YOU WANT TO SELL ANY SHARES (Y OR Nl";

INPUT R$

IF R$="N".GOTO 2760

IF R$<>"Y". GO TO 2630

GOSUB3160

PRINT "NUMBER OF SHARES SELLING";

INPUT R

IF R<=M(N,J+1), GO TO 2730

PRINT YOU ONLY HAVE ";M(N,J+1 I;" SHARES

GO TO 2670

PRINT

LET M(N.J+1)-M(N,J + 1)-R

LET MIN,1)-M(N,1)+(R-T(J)I

GO TO 2560

PRINT

FOR J=1 TO 10

IF M(N,1)>T(J), GOTO 2810

NEXT J

GO TO 2950

PRINT "DO YOU WANT TO BUY ANY SHARES (Y OR N)";

INPUT RS

IF RS="N", GO TO 2950

IF R$O"Y".G0T0 2820

GOSUB 3160

PRINT "NUMBER OF SHARES BUYING";

INPUT R

IF R"T(JK=M(N,n,GOTO2910

PRINT "•"• YOU DON'T HAVE ENOUGH MONEY FOR ";R;'

GO TO 2860

LET M(N,J+1)=M(N,J+1)+R

LET MIN,1)=M(N,1)-(R*(T(JII)

PRINT "YOU NOW HAVE $";M(N,1)

GO TO 2760

NEXT N

GOTO 1560

REM

CLOSING OUT AT END OF GAME - PRINT FINAL TOTALS

PRINT PRINT

PRINT FINAL TOTALS ARE:"

PRINT

PRINT "PLAYER"+SPACE$(10I+"TOTAL"

FOR N-1 TO P

FOR J=1 TO 10

LET MIN,1) = M(N,1H-(T(J)"M(N,J + 1)I

NEXT J

PRINT

PRINT USING " ### $$$$ ",N.M(N.D

NEXT N STOP

REM

SUBROUTINE TO LOOK UP STOCK NAMES FOR BUY & SELL

PRINT "NAME OF STOCK";

INPUT R$

FOR J=1 TO 10

IF R$-V$(J), GOTO 3240

NEXT J

GO TO 3190

RETURN

END

58

How To Make Your Computer Even More Boring...

Interface it with a Midwest Scientific Instruments FD-8 Floppy Disk Memory System.. .with all your disk software on our PROM/RAM Board.

With our FD-8 system and FDOS firmware, your computer is always ready to go. With the disk operating routines on PROMS, all you have to do is load your desired program from disk and start running. Of course you may have to wait 5 or10 seconds for your p/ogram to

WSpfi- load if you have lots of memory.

The FD-8 interfaces to any microcomputer system via a single PIA chip... and all of our available software is included at no additional charge.

MSI FDOS operating system software has many outstanding features...

• Automatic program loading and linkage

• Auto error recovery

• Dynamic space allocation and file extension

• Utilities for file listing, copying, deleting, or renaming

The FD-8 is complete, including cabinet, all power supplies, and cables.

Prices:

FD-8 Floppy Disk System

Kit $950.00

FD-8 System Wired

and Tested $1,195.00

PROM/RAM Kit (SwTPC

6800 or 8080) $95.00

PROM/RAM Wired & Tested,

with FDOS Firmware (specify

6800 or 8800 System) $345.00

PR-1 Programmer & Verification Module

Designed to program 1702A PROMS, the MSI PR-1 interfaces with any microcomputer system via a single PIA chip.

A complete software package is furnished with the system at no additional charge. This gives you the ability to transfer any area of memory to a PROM chip.. .read the contents of a PROM into memory.. .calculate checksums for ROMS.. .and duplicate ROMS. Following PROM programming, the software reads the PROM back into memory and compares each step with the memory content from which it was programmed for verification.

The PR-1 is complete, including cabinet and power supplies. PR-1 $325.00

Send for New Free Catalog

%\ THicU^eU Scientific

*)*t4tflU*HeHt&

220 West Cedar

Olathe, Kansas 66061

913/764-3273

TWX 910 749 6403 (MSI OLAT)

Here are two MSI Dealers who can show you our products in action Microcomputer Systems, Inc., 144 S. Dale Mabry Ave., Tampa, Florida 33609 813/879-4301

American Microprocessors, Equipment & Supply Corp., Chicagoland Airport, P.O. Box 515, Prairie View, Illinois 60069 312/634-0076

•Before I forget.. .send me information • •about the FD-8 Memory System.. .and • • your new catalog. •

•

. Name

•

"Address

■

•

• Citv

•

* State

•

Zip

• BY177 •

MSI is a dealer for Southwest Technical Products • Mastercharge & Bank Americard Orders Accepted

The Types and Uses of Direct Access Storage

Curt Hill

7535 Sherman Dr

Omaha NE 68134

(SLgJg))

P R

0 C

E S

s

0 R

(o) g to)

(?) g (O)

(o) s Co)

(°) g C°)

(o) 5 (o)

C°) n (°)

fid r Co)

* &■

(o) g (°)

(°) g Co)

W g Co)

Co) o (o)

Co) o (o)

Co) H C°)

Co) g (O)

(O) g (O)

Why They Are Essential

What is the most important part of a computer system? Well, this is a difficult or impossible question to answer, but let us look at the components. Of course, there will have to be a processor, and this selection will affect the potential of the system; but a processor alone is just expensive junk. There will also have to be main memory; generally the more of it and the faster it is the better. Then again without input and output the

Figure 1: One way to achieve an approximation of direct access storage devices, and an easy way to visualize what a drum, hard surface disk or floppy disk drive will do is to consider the tape loop. A simple tape loop might hold 16 K bytes which can be read at I K bytes per second; it would thus take a long time, namely 16 seconds worst case, to guarantee access to any given byte with an arbitrary starting position for the tape. The access time, which in this case is the loop delay to reach a given place, can be improved to I second by multiplying the number of tape drives to 16 and shortening the length of each loop as in the second case. The ultimate improvement (in current technology) is a disk or drum where the loop is now a thin magnetic film on the surface of a rapidly rotating object machined to exacting tolerances.

<§E

IE)

PROCESSOR

processor and memory will sit idle. Some type of storage that can contain large volumes of data or programs is also necessary so that everything need not be entered through the slow interactive 10 channels every time the system is used. The mass storage device is often a tape unit; for small scale people like us this means an audio or digital cassette or even paper tape unit; for large scale systems this also includes larger, more sophisticated units using standard 1/2 inch (1.27 cm) computer tape. The category of mass storage also includes Direct Access Storage Devices (if you see the acronym DASD, you know what it means now). If you buy a system from one of the large manufacturers it may or may not come with a tape unit of some type, but it will almost always come with some direct access storage device. Why is this?

First of all what is a direct access storage device? It is generally any mass storage unit where data can be accessed somewhat randomly and without reading all the data that comes before it in the file. Clear enough? Well, let's look at an example. Suppose attached to a processor with some amount of memory and 10 there are 1 6 cassette tape recorders. Each cassette has a tape loop in it that can hold 1 K bytes and the data rate is 1 K bytes per second. Also the tapes are always running. These 16 tapes are functionally equivalent to one form of direct access storage device, so let us compare them to one tape cassette which can contain 16 K bytes with the same speed. If any data is needed the maximum delay with the 16 units is one second, with the single tape 16 seconds. Since the processor has to wait (and maybe so do you) while the data is found, this significantly affects the time it takes to do the 10 operation, and the time it takes to complete your job. Besides, what do you do if you have a program with more than one "simultaneous" input or output? There is no

60

-DATA TRACKS(SHADED)

easy (or fast) way around that problem with the single cassette, but the problem is trivial with the 16. The only disadvantage is, of course, the investment in those other 15 endless loop tape drives. Fortunately one direct access storage device is cheaper than the equivalent number of tape devices, so let's take a look at the available types.

Drums

The three types of direct access storage devices l am going to mention are not the only types but are the most likely to be available in new or surplus form to small scale computer people like us. The first and oldest type is the drum. This is a metal cylinder coated with a magnetic oxide, as on recording tape. It rotates on its axis at a high rate of speed. Placed along the outer surface of the rotating drum are the read and write heads which move the data on and off the drum surface. Since the heads themselves do not move they repeatedly scan a fixed band around the outside of the drum called a track. The entire outer surface of the drum is divided into many tracks, each of which has its own particular read and write head(s). Therefore if you want to read or write data anywhere on the drum the most you have to wait is one revolution. An expensive drum might contain around four million bytes, perhaps a hundred or so tracks. The maximum wait time, sometimes called "latency," might be about 9 ms. This capacity is of course larger than is available to most experimenters but should give some idea of what can be done with the drum.

Disks

Another type of direct access storage device is the disk, which can be considered a variation of the drum. Instead of a drum consider a disk like a record, and the heads are above the surface of the disk. Now the

tracks are concentric circles instead of bands; other than that, the fixed head disk is very similar to a drum. On both the hard surface disk and drum the heads do not actually touch the rigid surface because of the wear involved, but instead are positioned to "fly" 50 to 250 micro inches from the surface. A variation of hard surface disks, which is the most common, is a moving head version. To prevent these flying heads from crashing, both kinds clearly require precision manufacture.

The last type to be mentioned is the floppy disk. Here the disk is made out of recording tape material and is thus not rigid, hence the name. Since the disk is flexible the heads actually touch the recording surface like a tape recorder and yet head wear is not such a problem although the disk itself does wear out. On the drum and hard surface disk the drum or disk is often permanently mounted or comes in an expensive removable cartridge form; but on the floppy disk, the disk is a low cost (~ $10) item which can be changed in a matter of seconds. This allows inexpensive offline storage while retaining direct access for mounted cartridges. There is one more wrinkle; the floppy disk units have only one read/write head and a head positioner which moves the head to select the track as in a traditional moving head hard surface disk. The tracks are still concentric and not spiral as in a phonograph record. This means that an additional delay is entered into the system, since while the arm positioner is moving there cannot be any read or write operations going on. The capacity of available floppies has been about 250 K to 300 K bytes; recently, however, double density floppy disks have been introduced and the prices have been going down. Another recent innovation is the even lower priced "mini" floppy drives.

What do these devices have in common?

Figure 2: The drum drive is usually implemented with fixed heads, with one set of heads per track. The capacity of a drum drive might be as little as 50,000 bits or so, or a number extending into the millions of bytes in large scale systems. For the amateur, drum drives may occasionally be found in surplus stores, but documentation and technical pointers may be hard to find.

61

Quick access to any item and high data transfer rates. What does this mean to someone programming the system? Each track can be considered a separate addressable place to store data, which means that you can have many logically different files on just one direct access storage device. Also, since the access is quicker, the processor waits less and works more, better utilizing your hardware. In most cases, direct access storage device can be considered intermediate between main memory and the slower mass storage of a serial magnetic tape. Memory is fast and also much more expensive, so the capacity in a system is generally low. Cassette storage has very large capacity and is inexpensive, but like all serial media it is much slower than either memory or direct access devices. Direct access devices are between the memory and serial devices in speed, price, and capacity. Therefore such devices can be considered slow memory (somewhat) or fast mass storage. So let us see how they are used.

What if you just wrote a nifty new program that runs in 16 K but your system only has 8 K to spare? Do you buy another 8 K before you run this? Of course not. You logically break the program into smaller pieces, which are stored in a direct access device. When your application comes to need a program segment which is not in main memory, it goes out to the direct access storage device and loads the needed segment. Since the maximum delay of an inexpensive floppy unit is about 0.75 second and it has a data rate of 250 K bytes per second, there will be little pause before the program is again executing. Further, most of the delay is from arm positioning motions, so if all the data and program segments are on adjacent tracks the delay will typically average less than 1/30 of a second. Even if a person is waiting for the results, a large amount of such swapping can go on before the wait gets excessive.

What else should the direct access device be used for? A good thing to put on such devices is program libraries. These are generally of two types: source and object libraries. The source library has source programs, which are the programs in their original text form, such as a BASIC or FORTRAN program. This allows you to maintain a program for a long time and modify it as necessary at the source level, without bit twiddling. The object library contains programs in machine language. The object programs are the output of compilers or assemblers; object programs are typically ready to be loaded and executed. This is

handy in that you do not have to compile the program every time it needs to be executed. Compiled or assembled code is also much more efficient than the interpretive execution (which literally "compiles" every time, "on the fly").

Now let's look at a macro assembler that produces object code. This is a fairly sophisticated assembler where all operands are defined symbols (no more worrying about actual addresses). Now suppose someone sits down and wants to assemble a program. They first tell the system monitor to get the assembler, which it does from an object library. Before a substantial time lapse has been perceived by the programmer, the assembler returns notice that it is ready to proceed. The programmer then enters source statements through the terminal. In memory is the part of the assembler that checks the validity of the statements entered. If a macro reference is entered it will go search a separate "macro library" of source text for a "macro" which is merged with the text. Besides this it writes out the source listing to another source library file and makes a symbol table which is eventually written out to a temporary file. When the programmer is done the second stage of the assembler is loaded and assembles the code. It loads the machine code in the object library and then a resident loader brings the machine language code in on top of where the assembler was and starts the execution of the program. Because of the high speed of current processors and direct access devices, the programmer may be just starting to contemplate what a slick program he or she has written, when it blows up during execution. Well, better luck next time; but remember this: The source and object versions still exist, and if your system software is protected and all 10 is done through the system (ie: your libraries are protected) then you have not wasted all this time. Dump the memory used onto the direct access device and forget about it tonight. Tomorrow with a fresh mind you can work the source listing and the dump and figure out what happened. Chances are that by modifying three or four source statements the program can be rid of the bug.

One of the biggest uses of the direct access storage devices is information storage and retrieval. Whole books have been written on this one subject alone. This is a generalization of the problem of storing and filing programs, to extend into other areas. For instance, if you are the proprietor of a business, and want to use your computer to keep track of all your customers, with

62

The

SMSJ) SfiiTilfi^ The X D°ATA C^OMAIN

machine ecu, inc.

We are now ONE,

and the LARGEST Retail

in the central United States I

We have been representing, and stocking,

over 10 'mainframe' manufacturers, over 20 "add-on" and "peripheral" manufacturers, software packages for every system we sell, complete lines of experimental and test equipment, educational, technical and entertaining personal computing hooks, magazines and accessories..,, and providing in-warranty and out of warranty service to our customers,,

We will now be doing all of the above, PLUS:

representing more manufacturers,

stocking more of everything,

designing and producing our own systems,

BOTH hardware and software, ALL systems compatible,

offering Lay-Away and Delivery Guarantee Plans,

For the store nearest you, our catalogue, or direct ordering:

WRITE: nATA nnwIATN ^06 S. College Avenue DATA DOMAIN Bloomington, IN W01

CALL: Bloomington, Ind, : (812) 33^ - 3607 ^£^™22^ Evanston, 111. : (312) 328 - 6800 ;»i„vb,v

DATA TRACKS(SHADED)

CONTROLLER

PROCESSOR

PROCESSOR

CONTROLLER

RACK AND PINION (TYPICAL; OTHER METHODS USED AS WELL)

Figure 3: The personal computing enthusiast is most likely to have an encounter with disk direct access storage devices. The expensive kind have hard surfaces rotating at high speed; some expensive versions are built to last "forever" with fixed heads in hermetically sealed housings; others are the conventional data processing drives with expensive cartridges for removable media containing one or more hard rigid platters. The most likely drive for the amateur is the floppy disk, a miniaturized version of the disk drive which uses flexible media like a tape recorder, a moving arm run by a stepper motor or similar mechanism, and can hold about 250 K bytes in the original form, 100 K bytes in the newer, less expensive "mini" floppies.

perhaps 300 bytes of information per customer, then you would almost certainly want a direct access storage device with your computer. Why? Well, suppose that you had 200 customers. To find the file on any one of those customers requires distinguishing a mere 300 bytes out of a set of 200 * 300 = 60,000 bytes. If all that data were to be kept in main memory, you would have to buy 60,000 bytes, and you could lose your data if the power failed. It might cost $300 per 8 K board of memory (probably more) for the purchase of enough programmable semiconductor memory for this amount of data, or at least $1500. With conventional small systems, this would use up the address space if all space were required for data, leaving no room for programs. In contrast, by using just one conventional floppy drive costing approximately $1000 to $1500 by the time

it's interfaced, 200,000 to 300,000 bytes can be on line with 1/4 to 1/2 second access, and the actual main memory requirements in the machine for typical applications would be reduced, probably to the 16 K to 20 K range if an 8 K extended BASIC interpreter is used. But the data need not be just this one kind of data, and removable media can be stored for backup purposes. Thus the actual functions of the system have been considerably improved when such a storage device is added. The conclusion is that if at all possible, a system should have a floppy disk or its equivalent, the direct access storage device.

The point I have been making is that direct access storage is essential to convenient and efficient use of a computer system. A computer's potential may be largely wasted without good IO. I contend that a lowly 8008 processor with 16 K bytes and 300 K byte floppy disk will outperform an LSI-11 with 16 K words and 300 K bytes of serial cassette as a general purpose system. The LSI-11 is more than 10 times as fast as a processor, has a much much better instruction set, twice as much memory, and uses its memory better; but nevertheless most of the time it will be waiting on IO from the cassette. A waiting processor is a wasted processor. There is not even much price difference in the two systems; it is just where the money is spent. My moral is: Get the least expensive processor that you can and spend the rest of your money on direct access storage.

The final thing we have to look at is where to get DASD? This is unfortunately a sore point because they are still relatively expensive. MITS and several of their competitors have floppies in the neighborhood of $1000 for 300 K bytes. These prices should decline as demand allows for quantity purchases, just as the prices of chips have fallen. Lately Calcomp (24111 WLaPalma Av, Anaheim CA 92801) has introduced the 142 double density floppy disk which has a capacity of 802 K per disk. Although these people are not out for the amateur market, it is not hard to believe that a distributor who is after the amateur market will offer them in sale. Other than that, it starts to get tricky. The used computer equipment markets and surplus markets are a good bet for drums, fixed head disks, and floppies; but the chore of interfacing is clearly with the buyer. On these markets there are tremendous bargains and there are also units without specifications and nearly worn out, so the buyer has to be careful. Overall the situation is not good, either expensive or risky. One of the goals of

64

this article is to stimulate awareness and demand of direct access storage devices and thus to bring prices down, as we all have seen happen with processors and other chips.

When should you spend the extra bucks for direct access devices and not for cheaper mass storage? The answer is when your computer system is not fast enough. If you do not care how long it takes the system to perform any one task, then you certainly need not buy direct access devices. I personally demand that my computer system should be able to do significant amounts of work on an interactive basis, and I do not like to wait excessive amounts of time for slow peripherals. Also I generally find that I can keep the machine busy even if I am not at the terminal.

In conclusion, the properties of the direct access device include the ability to randomly access data on the device and high data transfer rates. This allows the device to be treated as either slow memory or fast mass storage. Without direct access devices, the processor speed may be a relatively unimportant component of total system speed if time is spent waiting for slow devices."

GLOSSARY

Compiler: A program that takes source language statements and translates them into machine language. This is the object program which is executed separately from the compiler.

DASD: Direct Access Storage Device.

Interpreter or interpretive compiler: A program that takes source language statements as input and executes them directly after interpreting the meaning.

IO: Input or output, or both.

K: 1024.

Macro: A segment of prewritten source code that performs a commonly used function. In a macro assembler, a macro is invoked by the use of its name, in which case the prewritten statements are inserted in replacement for the macro name.

Main memory: Core or solid state electronic storage.

Mass storage: A device that can contain a large amount of data, ie: a cassette tape, paper tape, or direct access device.

Object program: A program in machine language ready for execution, or loading then execution.

Source program: A program in the original language which is input to a compiler or interpreter, as in a FORTRAN or BASIC program.

System: The sum and total of the processor, memory, IO, mass storage, and software.

■w" I22L Alto £jFW

COMPLETE

FLOPPY DISK SYSTEM

FOR YOUR ALTAIR/IMSAI

$599

That's right, complete.

The North Star MICRO-DISK SYSTEM uses the Shugart mini floppy™ disk drive. The controller is an Altair compatible PC board with on-board PROM for bootstrap load. It can control up to three drives, either with or without interrupts.

No system is complete without software: we provide the PROM bootstrap, a file-oriented disk operating system, and our powerful extended BASIC with sequential and random disk file accessing.

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 (with specified cutout), and use your existing power supply (.5 amp at 5V and .9 amp at 12V typ). Or, if you prefer, we offer a power supply and enclosure.

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 in BASIC execution speed by also ordering the North Star hardware Floating Point Board (FPB-A). Use of the FPB-A also saves about 1k 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, cabling and connectors, 2 diskettes (one containing file DOS and BASIC), complete hardware and software documentation, and shipping.

MICRO-DISK SYSTEM ... $599 To place order, send

(ASSEMBLED) $699 check, money order or

ADDITIONAL DRIVES. ..$425 ea. BA card # with exp date

._..____ t and signature. Uncertified

Ulolvt I I bo q>4.o(J ea. checks require 6 weeks

FPB-A $359 processing. California resi

(ASSEMBLED) $499 dents add sales tax.

NORTH STAR COMPUTERS, INC. 2465 Fourth Street Berkeley, CA 94710

SYS W/i...

Your Own Executive Commands

Willard I Nico

DELTAt

11020 Old Katy Rd, Suite 204

Houston TX 77043

Table I: A list of the executive commands and their functions that are implemented in the SYS 8 monitor as it is supplied by I MSA I and Processor Technology. The table gives the hexadecimal starting locations in both the I MSA I and Processor Technology systems.

Every time I get something new, I take it apart to see how it works and what I can change to make it work better for my use. My analyst says, "Don't worry! Boys are always taking clocks and radios and toasters apart." Well, that's a fine excuse for boys, but I'm pushing 32 H and still taking things apart ... so I worry! Once in a while though, I come up with what I think is a pretty good idea; like when I got my IMSAI computer running and started taking apart the software they sent with it.

The program, called SYS 8, is a self contained operating system for 8080 based microprocessors. It has a system monitor, text editor, and assembler and really "runs the whole show." The software was written by a company called Microtec in Sunnyvale CA and comes free with the IMSAI. Processor Technology Co supplies a virtually iden

Mnemonic

Startinc

Address

Function

IMSAI

ProcTech

DUMP

033B

F29B

Display contents of a block of memory

EXEC

0154

F089

Execute a program in memory

ENTR

04C1

F437

Enter data in memory

FILE

0389

F2FF

List data files; create or delete files

LIST

060 E

F584

List program in current data file

DELT

0627

F5E1

Delete program lines

ASSM

0700

F658

Assemble current assembly language program into object code

PAGE

036D

F2D8

Move 256 bytes of memory data

CUST

2000

E000

Execute program at specified address

BREK

070C

Set or clear breakpoint

PROC

070 F

Proceed from breakpoint

PROM

F59D

Program a PROM

tical version as the Software Package #1. Except for a modest copying charge, they give it away free also. If you have an 8080 computer, you should have a copy of SYS 8. It works fantastically well, and you have to agree that the price is right!

Executive Commands

Assuming that you have rushed out and obtained a copy of SYS 8, you are now aware that there are a number of executive commands implemented, which you can call up by typing a four letter mnemonic on your keyboard. Table 1 lists the commands and what they do.

Notice particularly the CUST command. Typing CUST signals the monitor to begin execution of your own special program which you have placed in memory at the address they give you in the software documentation. This is a handy way to branch out of the monitor and run your own programs. It's so handy in fact that I began wishing they had provided not only CUST, but CUST1, CUST2 and so on through CUST(N) so that I could run lots of different programs of my own by just typing a descriptive four letter command.

I have several routines that I use so regularly that they are just as resident in my system as any of the commands implemented in SYS 8. You probably have programs that punch tape, load machine code programs, calculate hexadecimal arithmetic and others that you use so often that it

66

SVNChRD-SQJND ENTERPRISES

PRESENTS

ADM-3 KIT

IMSAI 8080 MICROPROCESSOR

24 line X 80 column VIDEO TERMINAL KIT

IMSAI ALSO AVAILABLE WITH Z-80

WINTER SPECIALS

ADM-3K $849.95

LSI-11 $840.00

IMSAI 8080 $559.95

FEATURING THE FOLLOWING PRODUCTS LEAR SIEGLER DIGITAL EQUIPMENT CORPORATION

IMS ASSOCIATES, INC. DEC WRITERS

CROMEMCO PROCESSOR TECHNOLOGY

SOUTHWEST TECHNICAL PRODUCTS APPLE COMPUTER

TECHNICAL DESIGN LABS (Z-80) OLIVER AUDIO ENGINEERING

WORKING MODELS ON DISPLAY AT OUR NEW SHOWROOM

CALL OR WRITE FOR STORE HOURS SAT (9AM-4PM)

DISCOUNT PRICE LIST WEEKDAYS CALL

PHONE ORDERS SYNCHRO-SOUND ENTERPRISES

(212) 468-7067 193-25 JAMAICA AV

All IMSAI products in stock for immediate delivery. HOLLIS NY 11423

would be a great operating convenience to be able to whistle them up from the system monitor with a mnemonic.

Taking the SYS 8 software apart really paid off. I found that I could add all the executive commands I wanted. You can too! I'll tell you how to modify the system monitor program to recognize your custom four letter command mnemonics and branch to the proper memory address to execute the desired program.

Since the I MSA I and Processor Technology versions of SYS 8 are so similar, the instructions apply to both programs. However, the memory addresses are different. When we need to refer to a hexadecimal address in the SYS 8 program, we'll use the format llll/PPPP, where Mil is the IMSAI program address and PPPP is the Processor Technology address. The IMSAI documentation I have is revision 1 plus errata dated March 4 1976. The Processor Technology version is not dated, but is given as "Microtec Macro Assembler Ver 3.1."

How SYS 8 Works

Each line of characters you type in on your keyboard is stored in an area of memory called the input buffer. When you type a carriage return, entry into the buffer is terminated and the SYS 8 monitor reads the data in the input buffer to find out what it is that you want to do.

The monitor makes an important decision based on the first character in the buffer. If that character is one of the numerals 0 through 9, the monitor assumes that the entire line is data for the current assembly language program file. A branch is made to the routines that add lines to the file or replace existing lines. If the first character in the buffer is not a number, the program branches to the executive command routines. This is the part we are interested in dissecting.

The monitor maintains a table of executive commands which it will recognize by four letter names. The table is called CTAB, and is located at address 02F1/F257. When the program has branched to the command processing routines, the first four characters in the input buffer are compared to each entry in CTAB. When a match is found, the computer JuMPs to the address specified by the next two bytes in CTAB, and the special program is off and running. After a specific number of tries at finding a match in CTAB without success, the error "WHAT?" is printed and you have to start over.

Each entry in CTAB consists of a four letter program name and two bytes specifying the address where the named program

begins. By simply adding entries to CTAB in the proper format, we can extend the repertoire of keyboard invoked, named programs by as many as we wish.

Adding Your Own Executive Commands

In the SYS 8 program, CTAB occupies memory locations 02F1/F257 through 0332/F292. The only thing keeping us from adding commands to the current table is the fact that it is hemmed in on both sides by the B1D1 and VCHK subroutines. Clearly, either the table or the subroutines have to be moved. Moving CTAB is far easier than finding and changing all the subroutine references. So pick a spot for the new location of CTAB and give yourself lots of room so that more commands can be added as you develop new routines and programs that you want at your fingertips.

Each entry that you add to CTAB will consist of six data bytes. The first four are the ASCII characters of the command name, such as DUMP, and the next two bytes are the high and low address of the beginning of the named program or routine. Note that the high address is first, then the low address in the Processor Technology version; and low address first then high address in the IMSAI version.

Suppose you have a routine named FINK starting at address 0A74 and wish to add it to the command list. The CTAB entry would be:

ProcTech 46 49 4E 4B OA 74 IMSAI 46 49 4E 4B 74 OA

Making It Work

Two changes must be made in the monitor program to implement the new location and length of CTAB.

The first change is at location 015E/ F0C3. The instruction is LXI D, CTAB and references the old location 02F1/F257. Change the data in bytes 015F/F0C4 and 0160/F0C5 to give the address of the beginning of the new location of CTAB. (Don't forget that the low address comes first!)

The second change required is at location 0162/F0C7. The MVI B, NCOM instruction loads the B register with the number of legal commands in the table. The COMS routine searches the table for a match between the command name you have typed and the entries in the table. The search is abandoned and the WHAT? error message printed if a match cannot be found after NCOM tries.

You have two alternatives as to selection of the new value for NCOM. You can use the current number of CTAB tries and change the number each time you add to the table,

68

'""-...,'v-7

Does Your System Have Cuts?

WE NOW HAVE ALL IT TAKES TO GET YOUR SYSTEM RUNNING WITH COMPLETE STATE-OF-THE-ART TECHNOLOGY AT REASONABLE PRICES.

Z16K MEMORY BOARD - this board is the highest density, fastest access, lowest power, S100 bus compatible static memory - for a low cost.

- expandable from a minimum of 4K up to

16K in 4K steps, using our 4K MEMORY EXPANSION KIT ($140.00 each)

- 200ns access static memory chips

- extremely low power consumption:

+12v at l05ma nom. +8v at 205ma nom. -16v at 16ma nom. less when not selected

- each 4K block can be orotected via a

switch on the board

- battery backup provision

- has bank switching capability (up to

8 64K banks) KIT PRICE: 4K - $169; 8K - $295

12K - $435; 16K - $574

SYSTEM MONITOR BOARD - allows you to plug one board in and yet have all the features of at least 4 other boards.

- The 2K ZAPPLE Monitor in masked ROM

- 2K of high speed low power RAM

- 2 Serial"I/O ports plus a 1200 BAUD

Audio Cassette interface

- One parallel I/O port

- Optional power on reset start-up, so

no need for a front panel

- fully S100 bus compatible KIT PRICE $295

ZPU - this S100 bus compatible board features the world's most powerful microprocessor in a versatile design.

- Has two on-board clocks, one being

variable from DC to greater than 4MHz.

- Will honor wait states qenerated by

slow memory,but run at" full speed with fast memory.

- The Z80 features 158 instructions,

696 opcodes, 11 addressing modes, and 22 registers.

- 8 additional bufffers are used so

that the Z80 functions normally with the front panel sense switches.

- Only 600ma from the +8v line is used. KIT PRICE: $269

SOFTWARE: We've got the best software in the industry" - and all written exclusively for the Z80, it's all relocatable, and it's all available.

- Relocating Macro Assembler

- Text Editor

- 1 and 2K Monitors

- Zapple 8K Basic

And more to come soon includinq FORTRAN IV, an FDOS and a Basic Compiler.

All TDL kits use only the finest materials including solder masked silkscreened boards, cbmolete documentation and SOFTWARE with each kit. SEND FOR OUR FREE CATALOG

THE MOTHER - here's the alternative to costly front panel circuitry and sheet metal to wrap your system in.

- Expandable 6 slot mother board with

power suoply (8v at 6A, +16v at 1A, and -16v at 1A)

- Mini Front Panel circuitry with reset

switch, 8 sense switches, and memory write generation. KIT PRICE: $99

TECHNICAL ^^DESIGN iZvB^LABS

RESEARCH RARK, BLDG. H, 11Q1 STATE ROAD PRINCETON, NEW JERSEY DB54D CBCS] S21 - 0321

Parameter

First

Second

ABUF BBUF

107E/DO5A 108A/DO66

1082/DO5E 108C/DO68

Table 2: Listing of hexadecimal addresses of parameter storage locations ABUF and BBUF. The addresses are given in the form llll/PPPP, where III I stands for the address in the I MSA I version and PPPP stands for the address in the Processor Technology version of the SYS 8 monitor.

or you can reserve space for the current length of CTAB plus all the additional entries you think you will ever need and use this future maximum number as NCOM. In the latter case, just be sure to fill CTAB unused locations with hexadecimal 0 bytes so that there is no chance for a false match.

Pass the Parameters Please!

When you have moved CTAB, changed the code in the monitor as we have described, and added some of your own executive commands, you are ready to discover another handy feature of the SYS 8 monitor: parameter passing.

As we have already seen, we now have the capability to create our own executive commands. As an example, suppose we have a program that will enter the code hexadecimal 00 in a block of memory locations. We call the program ZERO and add it to the command table. In order to execute the program, we type ZERO on the keyboard and then a carriage return; the rest is done automatically.

However, we can make the program easier to use if the limits of the block of memory to be zeroed can be specified along with the executive command. If we wish to zero the block of memory from A100 through A1FF, it wouid be nice to be able to enter the command:

ZERO A100 A1FF

Specifying data to be passed along to the service routine in this manner is called parameter passing and can be easily implemented with the SYS 8 monitor.

As we have mentioned, a complete line of keyboard input is stored in the input buffer before any action is taken by the monitor. When the carriage return character is typed, the data in the buffer is processed. We have seen that the first four characters are compared to the entries in the command table if they are not lines for the file. But what happens to other characters in the input

buffer? Aha! If properly formatted, additional characters show up in certain holding buffers. The proper format is as shown above for the ZERO command, where the command name and each parameter are separated by one or more spaces.

In our ZERO example* above, the beginning and ending addresses of the memory block we want to zero will appear in ASCII form in the ABUF holding buffer, and in binary form in the BBUF buffer. We then have our choice of formats in which the parameters may be retrieved. Here's how the example parameters would appear:

ABUF: 41 31 30 30 41 31 46 46 (ASCII hexadecimal codes)

BBUF: 00 A1 FF A1

(binary integer form)

Each group of four digits in ABUF is right justified. If, for example, you entered the first parameter as 27, the first four ABUF characters would be 0027.

To use the parameter passing feature, begin the program with a CALL to the monitor routine VCHK at address 0333/F293. This routine checks the buffer to make sure that you didn't forget to enter a parameter when one is required by a program. If VCHK finds the parameter buffer empty, you'll get a WHAT? and will have to start over and do it right.

VCHK knows whether or not a parameter was entered because all locations in ABUF are initialized to hexadecimal 00. The value you type in replaces the zeroed bytes.

If you get back to your program after your CALL to VCHK, a parameter was entered and you can proceed. If your program requires a second parameter, the following magical incantation may be used to make sure that it, too, was entered:

LDA 1082/D05E ; Get first char of

second parameter ORA A ; Set flags

JZ 04A5/F41A ; Output error mes

sage if no parameter

If you don't get a WHAT?, you've got the second parameter.

After determining that you have the required data for your routine, they can be retrieved from the ASCII or binary buffers at the addresses shown in table 2.

Adding your own executive commands to SYS 8 will make it easier and more convenient to run the special programs that are resident in your system; and you won't have to look up or try to remember their starting addresses."

70

lop value/, profe//ionali/m

Computer Shack stores are exciting, enjoyable places to visit. From the striking interior decor to the fun and challenge of the GAME ROOM, you'll find Computer Shack stores a completely new computer shopping experience.

You can count on Computer Shack stores for total professional support whether your needs are those of a computer hobbyist, education, science or business user. The skilled, management-trained staff offers knowledgeable service, expert maintenance, and software guidance.

quality product/

At Computer Shack stores the emphasis is on quality products. Featured are the finest in microcomputers, interfaces and peripherals, including the full IMSAI line. Every store is completely stocked with tools, books and a complete line of accessories.

SALE OF THE MONTH

This month all Computer Shack stores feature—IMSAI 8080 Kit with a free $52.00 22/Slot Mother Board. Each board purchased this month comes with a free $7.00 IMSAI Edge Connector.

beginner/ welcomed

Do you want to get started with microcomputers? Are you seeking expert guidance on computers, peripherals, software? The place to visit is your nearest Computer Shack.

Watch your local newspaper for Computer Shack openings. Each store features a monthly Sales Special.

14860 Wicks Blvd.

San Leandro, CA. 94577

(415)895-9363

Franchise Opportunities

Available

Now open in Hay ward CA, 22634 Foothill BlvdL,(415) 538-8080

What's

A Hard Copy Gem

SWTPC 6800 BASIC

Southwest Technical Products Corp has released its copyrighted 4 K and 8 K BASIC software. The 4 K version was demonstrated lo us at PC 76 in September. Both feature fixed and floating point math with a full 1.0E-99 to 9.9999999999E+99 number range. In addition to the line number mode a direct (no line number) mode of execution is provided on most statements to create a calculator like mode of entry for short programs. Provisions have been made in both packages for saving and loading BASIC programs to and from either cassette or paper tape. A USER function is even pro

vided for jumping to machine language subroutines.

Both packages have been written for the SWTPC 6800 Computer System. The 4 K BASIC requires a minimum of 6 K of memory with 8 K recommended, while the 8 K BASIC requires a minimum of 8 K of memory with 12 K recommended. The 4 K BASIC tape and manual are attractively priced at $4.95 on "Kansas City" cassette tape and $10 on paper tape. The 8 K BASIC tape and manual sell for S9.95 on "Kansas City" cassette tape and $20 for paper tape. All prices are postpaid in the US. These packages should work on any 6800 computer system which uses Motorola MIKBUG.

Anderson Jacobson Inc, San Jose manufacturer of data communications equipment, recently announced the availability of its A] 841. Designed for the dual purpose user, the AJ 841 doubles as both a heavy duty IBM Selectric typewriter and an interactive remote computer terminal.

As a terminal, the AJ 841 features 15 cps printout with a 2 character buffer to accommodate burst typing of up to 17 characters per second. EBCD and Correspondence codes are standard for interface with any IBM computer and APL code is also available. A built-in modem and acoustic adaptor may be purchased for easy remote computer access.

For the dual purpose user, the AJ 841 functions as a Selectric typewriter with a 15" (38.1 cm) carriage, interchangeable fonts, typomatic and n-key rollover.

For further details contact Bill Graham, Product Marketing, Anderson Jacobson, 521 Charcot Av, San Jose CA 95131, (408) 263-8520."

Apply Your Computer's BASIC

Software products, by nature, are largely documentation. The latest example of such documentation to cross our desk is this set

SWTPC BASIC SUMMARY

Commands

Statements

Functions

LIST

REM

END

ABS

tVAL

tSIN

RUN

DIM

GOTO*

STOP

INT

tEXT$

tcos

NEW

DATA

ON. . .GOTO"

GOSUB*

RND

tLENS

tTAN

SAVE

READ

ON. . .GOSUB

PATCH

SGN

tLEFTS

tEXP

LOAD

RESTORE

IF. . .THEN'

RETURN

CHR

tMID$

tLOG

PATCH

LET"

INPUT

tDES

USER

tRIGHTS

tSQR

FOR

PRINT*

tPEEK

TAB

NEXT

tPOKE

■ Direct mode statements

t 8 K Version only

Math Operators

Relational Operators

(unary) r>

egate

Equal

" Multiplication

<> Not Equal

/ Division

< Less Than

+ Addition

> Greater Than

— Subtract

on

<= Less Than or

Equal

t1 Exponen

t

>= Greater Than or Equal

of two volumes (a third is in preparation) produced by Scientific Research Instruments Co, PO Drawer 2096, Ashland VA 23005. "What is it?" you ask. It is a package totalling 544 pages for the first two volumes, in which you will find nearly 100 complete program listings for a variety of applications. It's a perfect example of what will probably be a commonplace thing within the next few years: a "listings" book sold widely to convey useful software to users of computers.

The photo shows volumes I and 2 of a three volume set. Volume 1 contains 20 business applications and personal bookkeeping programs, 16 games and 13 printer output picture programs. Volume 2 contains 23 mathematics and engineering programs, as well as 23 plotting and statistics programs. According to the series table of contents printed in Volume 2, the third volume will contain several long and complex advanced business programming problems including billing and posting of accounts, inventory control, payroll, risk analysis, etc.

All the software in these BASIC Software Library books is written in a subset of BASIC which is defined in an appendix of the second volume in the series. According to the author's introduction, these programs were all entered and run to verify operation. The BASIC machine used was a GE 635 computer. The listings contained in the book are photo offset reproductions of dot matrix printouts.

Who Can Use These Books?

The primary users of these books will be people with access to a fairly powerful BASIC machine, and a knowledge of the

special fields covered by the programs. The author of the books makes no attempt to define the terms and concepts of fields covered. Thus you'll have to know what Gaussian Quadrature integration is if you wish to properly employ the 3 K byte program named "Integration 1" found on page 312 in Volume 2. You'll have to know what the terms and concepts are in a resource allocation problem for a business if you wish to successfully employ the program named "Efficient" found on page 39 of Volume 1.

The BASIC language employed by these programs may differ in some details from the BASIC language employed on any given personal computer system, but the adaptation of the programs should be straightforward once the differences are understood. Nearly all the programs in this scries of listings could be run on a BASIC language system which has 15 K bytes of memory on top of the requirements for the BASIC interpreter. Many of the programs are small enough to run in from 2 K to 5 K however. These programs will not work in any "Tiny" BASIC implementation since much of the calculation employs features purposely omitted from the definition of "Tiny" BASIC.

These books are available from Scientific Research Instruments Co, PO Drawer 2096, Ashland VA 23005. The price for Volumes 1 and 2 is $24.95 each. The price for Volume 3 is $39.95. The brochure from the company, which accompanied the samples we received, states that machine readable versions of this software will be made available. In machine readable form, a cassette in "Kansas City" standard form will contain 8 selected pro

72

Introducing A Remarkable New Microcomputer:

The Astral 2000

You're reading this ad, so you're obviously interested in getting a microcomputer. You're probably also a bit confused by the number of different microcomputer kits around today. So, think about the things you want in a microcomputer. Ease of assembly, quality power supply, well designed cabinet and interconnect scheme, peripheral and memory options for an expanding system.

Some Kit!

Although we have called the Astral a "kit", it actually arrives over 70% assembled. The power supply, processor board and RAM board are fully assembled, burned in and tested before shipment.

There is no complicated wiring harness. In fact, there is no front panel wiring harness at all. The front panel plugs directly into the backplane. Additional circuit boards are inserted through the rear of the chassis directly into the backplane.

Complete System

The Astral 2000 is shipped with power supply, cabinet, front panel components, mother board, processor board and one 8K RAM board. The processor is 6800-based and operates in serial and in parallel. Both RS-232 and 20mA current loop are provided by a serial I/O socket on the processor. This processor is shipped with our own 16K monitor ROM and has provisions for "cycle-stealing" DMA. The memory board contains 8K of low power, 500ns static RAM and uses less than 1.5A at 5V.

Lots Of Options

A computer isn't much fun if you can't talk to it. But you can talk to the Astral with the VID-80 video terminal board for only $189.95 unassembled ($245 assembled).The VID-80 has a selectable line length of 64, 72 or 80 characters per line. It displays 16 lines of upper case characters but gives you the option of installing a lower case character ROM as well.

We also have someplace for you to put your programs. Our 8K EPROM board ($59.95) is designed for the 5204 and will allow insystem program storage even during power-down. This board is assembled with all components except the EPROMs, however sockets are provided for the memory chips.

We've solved program loading, too. The I/O tape interface unit ($49.95) plugs into the I/O socket on the processor board and allows programs to be loaded from any inexpensive, non-digital tape deck. But if tape cassette isn't fast or big enough, a floppy disk with an Astral bus-compatible controller will be available for under $1,000 in the last quarter of 1976.

A New And Powerful BASIC

A unique and powerful version of BASIC with features never seen before in an 8K version has been designed especially for the Astral system. Astral BASIC contains all the features of competing BASlCs and then some; Astral BASIC is also very fast.

With the User Selectable Floating Point package, the user chooses the degree of precision from the four choices of 6, 9, 13 or 16 digits. Fewer digits use less memory and is faster, however higher precisions are useful for scientific and mathematic applications.

The Astral BASIC'S DO statement is unique; it has never appeared in any other version of BASIC. The DO statement is a simple and flexible way to subroutine without the restrictions of formal subroutines. DOs can be nested, too and —of course — Astral BASIC has all the other standard subroutine procedures as well.

The Trace Mode is another feature rarely found in other BASICs. The Trace Mode is used in program debug to list statement line numbers as executed. This feature may be programmed to Trace On only for routines still needing check-out. Pressing the escape key halts the trace and returns control to the terminal.

The Astral BASIC string facility permits variable length strings of unlimited length and includes the ability to search for a substring within another larger string, a particlularly useful feature for word processing applications.

Powerful program editing capabilities allow loading, listing and saving of programs. Blocks of statements may be deleted or renumbered. The RENUMBER statement may be used to increment all specified line numbers and it automatically adjusts the numbering of any GO TOs, etc.

Another feature never seen before in an 8K version is the popular PRINT USING statement. PRINT USING permits floating "$", "+" and "-" signs as well as floating commas, so numbers such as $1,000,000+ can be printed in the standard accounting format.

m&r enterprises

P.O.box 61011,sunn/rale, California 94088

The Astral 2000 is $995 partially assembled ($1250 fully assembled) plus $14 for shipping and handling ($18 for Canadian orders). Additional 8K RAM boards are $245 each. California residents add 6% sales tax. The Software Package includes Astral Basic on magnetic tape cassette or paper tape, the game of Startrek, complete documentation and a free one year subscription to the Astral Newsletter, all for $35. For more details, send a self-addressed, 8'h by 11 stamped envelope to M&R Enterprises, P.O. Box 61011, Sunnyvale, Ca. 94088. Allow approximately 8 to 12 weeks for delivery.

grams and sell for $4. In machine readable form, a paper tape with one selected program will run $2. Contact the company for further information."

A Classy New Microprocessor System

EC D Corporation, 196 Broadway, Cambridge MA 02139, has finally come to market with an advanced graphics oriented personal computer about which we've been hearing vague rumors for a year or so. This photo shows the $987.54 setup as it exists presently: The system components sold by ECD are the keyboard, power supply and computer module stack. The user supplied components of this picture are the television set, shelf, books, cassette recorder, driftwood, rug, panelling, chair, lap, and user, with optional MIT class ring. This system has some novel and useful features which make it one of the better designs presently available on the market.

Gourmet Graphics .. .

This is first and foremost a video graphics oriented processor. What this means is that the machine includes an advanced set of hardware designed to draw pictures on television sets with very high resolution using two different modes of representation. The

system can be purchased with an RF modulator option to use a standard television (FCC type acceptance pending), or it can get higher resolution pictures by driving a video monitor directly. The "plain vanilla" version of graphic output supplied with this system is a rather unexciting bit map matrix of 128 by 160 points. This resolution is hardly exceptional, although it is good enough to represent fairly interesting figures using a dot matrix approach. But the "gourmet graphics" aspect of the ECD MicroMind product is found in its character generator. In an unparalleled improvement in flexibility, the ECD engineers have asked, "Who needs a ROM dot matrix?" and answered the question with the use of a programmable memory character generator for high resolution character images. By using a programmable dot matrix character generator memory instead of a ROM, the machine is completely flexible in its generation of the contents of the 8 by 12 dot matrices used for characters. These programmable character patterns provide high resolution regions within the television screen which have an effective matrix of about 500 by 700 dots over the full screen. The character cells are closely packed so detailed images can be carried over between cells when needed. The user gets 128 programmable 12 by 8 dot matrices to work with, which can then be placed in any of the character positions defined on the screen, on command, exactly as if a ROM oriented character were being generated in a conventional display.

What's the user significance of all this? By using a programmable character generator, the ECD MicroMind machine first of all is not limited to any particular character set on its screen. You can display (with proper software) ASCII, APL, Kana Japanese, Greek, Hebrew, Arabic, Cyrillic, chess, music, etc, on this screen! Recognizing this flexibility, the keyboard hardware of the machine comes with changeable key tops which can be custom labelled. But variable character sets form just the start of the flexibility in this system. The fact that the character matrices have no space between characters leads to a high resolution animation games graphics capability.

A standard demonstration which is offered with the system is the game ECD calls

"Animated Space War." They chose the name because they needed to distinguish it from all the other games around which go by the name "Space War" and are often simply terminal oriented simulations of Star Trek. This game is the ECD MicroMind version of the original space war game which is an MIT tradition since the early 60s. It is played with images of space ships which rotate and move smoothly across what is effectively a high resolution 500 by 700 display matrix in short, the real thing as far as playing space war goes. If your interest is graphics, it looks as if the ECD product is the ultimate low priced system at this time.

Besides Graphics.. .

There is more to a personal computer than just the display. The functional description of the ECD MicroMind more than meets the qualifications of a genuinely usable personal computer. It comes with the keyboard, power supply and 8 K bytes of memory in its standard form. The system has ROM systems software sufficient to load transient system software from its high speed (400 bytes per second claimed) audio tape recording interface which uses advanced error detection and correction techniques. System software provided as part of your purchase includes (according to the press release) an assembler, a text editor program utilizing cursor editing methods, and an extended BASIC called NotsoBASIC. According to a designer with whom we talked after receiving the press release, NotsoBASIC is an extended version of Dartmouth BASIC which is said to have Dartmouth BASIC as a proper subset. Whizbang software which comes with the system includes the aforementioned Animated Space War game and a version of LIFE. Options include expanding the on board memory of the three card system shown to 16 K by plugging in 16 more 4 K dynamic programmable memory chips, or ordering an optional 32 K memory extension board which can presumably be populated with any multiple of 4 K bytes. If you want a case, you'll have to wait, however. Like a number of recent new products, the initial introduction of the MicroMind is in the form of a factory built set of modules sans case. (A case apparently takes longer to tool up than the electronics which fit inside it.)"

Don't Wince at This Fantom

Wintek Corp, 902 N 9th St, Lafayette IN 47904, has sent along this photo of its line of Wince microcomputer modules with an announcement of a price reduction and some new ROM software. Wintek's price has been halved from $298 to $149 for the minimum configuration of the Wince control

module. This module includes a 6800 processor, clock, data rate generator, 1 K ROM with the new "Fantom-H" monitor, 128 byte programmable memory, an ACIA for serial IO or a PIA for parallel 10. The price of a "maximum configuration module" which includes an ACIA and two PIAs, plus 512 bytes of programmable memory as well as the processor and clocks was also reduced, from $398 to $199. All the modules, as seen in the photo, fit into industry standard 4.5" by 6.5" (11.4cm by 16.5cm) printed circuit boards.

The Fantom II monitor according to the release is a 1 K monitor and debugging program that allows single step execution, insertion and deletion of break points, interrupt vector setup, memory loading, examination and changing of memory, printing or punching from memory, display of registers, system reset, and of course, execution of users programs."

PDP-8 Cross Assemblers for Microprocessors

Sierra Digital Systems, 1440 Westfield Av, Reno NV 89509 has announced a series of microprocessor cross assemblers called X8 ("cross-8") designed to allow program development for microprocessors on any PDP-8 with OS/8 operating system software and at least 8 K of memory. According to the press release, X8 assemblers are available immediately for the 6502, 6800 and 8080 processor architectures. Each assembler is priced at $400 and is distributed in PDP-8 binary format on paper tape, DEC tape or DEC floppy disk. Near completion according to the release are assemblers for the 2650 and F8 processors. These products feature a matrix of Universal Assembler Format statements in which the details of each machine are embedded. Options of the assembler include pseudo operations, conditional

74

assembly, and listing formal controls. Arithmetic and logical operators arc supported in operand expression evaluation, and output can be specified in Intel BNPF formal to run common PROM burners, or in the standard loader formats published for the various processors. A detailed brochure with sample 6502 assembly is available from SDS."

Want to Turn an SI00 Bus Computer into

a Number Cruncher?

Use This Hardware Floating Point Board

All users of personal computers for number crunching applications around the home, in the lab, or at work in the commercial world will find this new Floating Point Board an attractive option. North Star Computers Inc, POB 4672, Berkeley CA 94704 has designed a hardware floating point processor which enables the microprocessor system to approach or possibly

surpass a traditional minicomputer's performance with floating point arithmetic. How's it done? By using the same techniques which the minicomputer would use to implement its floating point: a specialized high speed sub-processor implemented in TTL logic. This specialized processor is shipped a series of data bytes corresponding to the operands of a floating point multiply, divide, add or subtract operation. Il is also shipped a command byte. Once it is let loose, it grinds out the answer giving several data bytes of the result operand which can then be accessed by the microprocessor program. The "grinding" process of this little black box of function takes a typical I I I us for floating multiply with 10 digit operands.

The North Star Computers FPB, Model A, plugs right into an Altair or IMSAI or any other computer with the SI00 bus. Its command word sets precision up to 14 decimal digits. A status byte is used to coordinate

operations and transmit error conditions back to the control processor. An added bonus of this $359 kit product (S499 assembled) is the fact that you can throw out most of the software of your present floating point arithmetic, patching in appropriate FPB drivers in their places. In a typical case, this would free up to a thousand or so bytes of memory which had been required for a floating point software."

Applications Oriented Computer Terminal

Here is an example of a new product intended for traditional industrial and commercial custom systems markets. The product is the new HP-3070A numeric data entry terminal, which was designed to be used with the new HP 1000 computer system. The interconnection of up to 56 of these new terminals can be accomplished with a single run of twisted pair cables, tapping the cable wherever a terminal is needed, with distances up to 1.24 miles (2 kilometers). It can also act as a satellite to interface remote instrumentation in process control applications.

Of particular note is the layout of the device, shown in the photograph. It is a desk top console unit with a numeric key pad for data, editing keys, 15 indicator lamps and 10 special function key entry switches. The legends shown in this photograph are typed onto a layout form and are protected by a clear sheet of plastic, thus customizing the front panel clearly and very professionally to a particular application system. Here the nature of the captions reflects what looks like a direct labor accounting system for a business situation. The beauty of this particular terminal concept lies in the fact that it is general purpose, since the appli

cations program determines what the particular keystrokes and display lamps mean in the minicomputer or microcomputer which would monitor the data. To find out more about the HP-3O70A Numeric Data Entry Terminal, call or write the Inquiries Manager, Hewlett-Packard Company, 1501 Page Mill Rd, Palo Alto CA 94304."

An 8080 Subroutine Utility Package

Pragmatic Systems, POB 43, Mountain View CA 94042, recently announced a package of commonly used microcomputer subroutines written in 8080 assembly language. The package, called UT1, contains commonly used code conversions, 10 routines for numbers and character strings, and 10 drivers for commonly used peripherals. The list of routines we received with this notice had 26 entries spread over 3/4 K of memory. Printed source listings of the program with user documentation are available for $3 each plus $.35 for shipping and handling."

Paper Tape Holder

Ideal for the hobbyist, this device will hold approximately a 300 foot roll of paper tape as it is being read into the reader. It has been tested on 200 cps readers (also works great on Teletypes). The Paper Tape Holder guides the rolled tape to the reader mechanism free of kinks and twist. It is available in kit form for $8 and assembled for $12. Optional Paper Tape Rewinder is available for $4. Prices include postage and all sales are final. (No CODs.) CV Spinks, POB 9298, College Station TX 77840, (713)846-6585."

Software New Product: BASIC, ETC

Binary Systems Inc, 634 S Central Expy, Richardson TX 75080, has just introduced a new high level language product for 8080 microcomputer users. The product is the BASIC, ETC interpreter, written by John Arnold and Dick Whipple of Tyler TX. These gentlemen were the authors of the first extant version of Tiny BASIC to be accomplished following publication of the specification in the precursors of the present Dr Dobb s fournal of Computer Calisthenics and Orthodontia. (For info on Dr Dobb's write Dr Dobb's, POB 310, Menlo Park CA.) This new interpreter is designed to use the first 8 kilobytes of memory plus at least 1 kilobyte of scratchpad programmable memory on top of that requirement.

Binary Systems Inc is the parent company of the Micro Store in Richardson TX. The firm is marketing BASIC, ETC as a "software kit" which includes the object code of the program (either Kansas City cassette, Digital Group audio cassette, or paper tape formats) and a 32 page user's manual, pictured here. Salient features of BASIC, ETC include: string variables up to 255 characters in length, arrays, variable precision arithmetic, hooks for assembly language routines, character and line editing, nesting of subroutines, formatted output statements, a null statement with delay attributes for 0 to 25 seconds. The price of BASIC, ETC is $25, and the user's manual can be purchased separately for $6."

75

Product Description

A Tutorial Training Computer

Many readers have asked where it is possible to obtain a detailed introductory course in logic and computer design principles. Last June, at NCC, David Winkel stopped by at the booth BYTE shared with Creative Computing and demonstrated the computer resulting from his system, a tutorial project he has been perfecting over the past several years as an engineering educator. As an element of an engineering curriculum, or as a self-study project for a serious amateur, this would be a good starting point for building hardware skills. This product description is supplied by David, whose firm, Logic Design Inc, is located at POB 3991, University Station, Laramie WY 82070. David is a professor at the University of Wyoming, currently on sabbatical leave at the Computer Science Department of Indiana University, Bloomington IN.

The Logic Design system is a method for teaching digital design that has been well proven in a university environment. Recently advanced amateurs have expressed an interest in the system as a way of expanding their skills and knowledge.

The essence of the system is the insistence upon integrating practice with theory. The theory portion is expounded in a new textbook which stresses elegant digital system design styles. The design of digital systems is not the same as conventional Boolean algebra although it does use some of the very simple results of that subject. Rather, it is the study of how to take various building blocks such as NAND, NOR gates, MUXs, ALUs, registers, etc, and assemble them into a unified digital system. To illustrate the theory the student builds an elegant original version of the world's most popular minicomputer, the Digital Equipment Corp PDP-8. Because of the clean style used in the design the resulting computer is very simple to understand and debug (there are only 113 ICs in the processor and TTY interface). This tutorial version of the PDP-8 is very fast (330 nanosecond cycle time) and

will execute instructions at twice the rate of the commercial version.

While the resulting minicomputer is quite powerful, will run BASIC and costs little more than a corresponding microcomputer system, what we really have to sell is the learning experience of building it.

The package is definitely not suitable for those who regard a computer as a "black box" to be used as a programming tool only. If you are interested in a deep understanding of what goes on inside a computer and are willing to expend the considerable effort required to learn this, read on.

The Logic Design system evolved from 6 years of teaching university courses in digital design and computer architecture. As a result I found:

1. Conventional courses on Boolean algebra alone are not useful. After completion of such a course a student has only the haziest notion of applying this knowledge to digital systems design.

2. There are almost no textbooks on digital systems design.

76

3. Any "textbook only" course is doomed to failure. It must be coupled with a relevant laboratory in which a real system is built.

4. Most students prefer to build a computer as an example of a real system.

5. There were no suitable commercial laboratory systems available.

6. Each student must build and debug his own system.

As a result I was forced to design my own digital laboratory and write a text to go with it. The assumption was that engineering students would enter the course with no background in electronics or Boolean algebra. The goal was to start from scratch and teach students to design digital systems such as floppy disk controllers, CPUs, tape controllers, etc.

The approach is to discuss the digital design process in the text stressing design style. This is very important since a good style will produce understandable, easy to implement designs. Simple and elegant methods of using good style are introduced. Good designs tend to be so simple that very little Boolean algebra is required in their implementation. What is needed is discussed in the early part of the text. The student gains a solid working knowledge of this by its repeated application in the examples of digital systems. The entire subject is tied together in the laboratory where a minicomputer is constructed and debugged.

To make it possible for each student to build his own computer a powerful breadboard system was developed. All of the messy but necessary items have been prepackaged in the control panel:

1. "student proof" 5 V, 5 A power supply

2. wide range clock

a. 330 nanosecond — 5 sec

b. manual push button

3. enough (96) lamp drivers to display every major logic signal. These drivers are Darlingtons so they absorb virtually no power from the logic circuits.

4. 12 electrically debounced pushbuttons

5. 12 toggle switches (expandable to 16)

A general purpose wire wrap backpanel is plugged into the central panel and is used to construct the digital system of interest. This panel is large enough (95 14 pin, 124 16 pin, 10 24 pin and 2 40 pin IC sockets) to construct even very large systems. Connections are made with a hand wire wrap tool using standard 30 gauge wire. The wire wrap pins are replaceable giving the backpanel essentially unlimited life.

One may wonder in this day of the microprocessor why we stress design at a more fundamental level. There are several reasons for this:

1. Interfacing devices to any computer including micros requires digital design at the level we are treating the subject. One need only look at the number of digital interfaces built with integrated circuits in recent issues of BYTE to be convinced of this.

2. There will always be some projects that require more speed than a micro can supply. These designs must be built from integrated circuits using the techniques covered in the Logic Design system.

3. It is jolly good fun.

In summary, what we are offering is a thorough course with one main product and two valuable by-products. The main product is a solid working knowledge of digital systems design. The by-products are a very potent breadboard system for construction of future designs and a very fast powerful 4 K minicomputer."

If you want a microcomputer with all of these standard features • •.

• 8080 MPU (The one with growing software support)

• 1024 Byte ROM (With maximum capacity of 4K Bytes)

• 1024 Byte RAM (With maximum capacity of 2K Bytes)

•TTY Serial I/O •E1A Serial I/O

• 3 parallel l/O's •ASCII/Baudot terminal compatibility with TTY machines or video units

• Monitor having load, dump, display, insert and go functions

• Complete with card connectors • Comprehensive User's Manual, plus Intel 8080 User's Manual • Completely factory assembled and tested —not a kit

• Optional accessories: Keyboard/video display, audio cassette modem interface, power supply, ROM programmer and attractive cabinetry... plus more options to follow. The HAL MCEM-8080. $375

then let us send you our card.

HAL Communications Corp. has been a leader in digital communications for over half a decade. The MCEM-8080 microcomputer shows just how far this leadership has taken us...and how far it can take you in your applications. That's why we'd like to send you our card—one PC board that we feel is the best-valued, most complete

m

microcomputer you can buy. For details on the MCEM-8080, write today. We'll also include comprehensive information on the HAL DS-3000 KSR microprocessorbased terminal, the terminal that gives you multi-code compatibility, flexibility for future changes, editing, and a convenient, large video display format.

HAL Communications Corp.

Box 365,807 E. Green Street, Urbana, Illinois 61801

Telephone (217) 367-7373

77

8

12

8

9

12

8

9

10

12

13

6

7

II

13

5

5

3

15

14

4

0

4

1

0

4

2

1

0

Figure 1: Pattern matching of game situations can be made simpler through the judicious choice of bit assignments. Here is an algorithm for assigning bits of a 16 bit word (numbered 0 to 15) to the squares of a 4x4 game board, to facilitate 90° rotations of the pattern by 4 bit circular shift operation. At (a), bits 0, 4, 8, and 12 are assigned by a symmetric progress around the square. Then, bits I, 5, 9, and 13 are assigned, also retaining a symmetric relationship resulting in a pattern as at (b). Finally, when a similar process of assigning numbers is applied to the remaining bits in a symmetrical fashion, the result is a set of four patterns which interlock in such a way that the four bit shift accomplishes a rotation. This is not a unique assignment; another assignment is shown in figure 2.

Computer Models for Board Games

Russell R Yost Jr 1825 E Palo Verde Phoenix AZ 85016

A board game situation can be represented in binary code in a variety of ways. Often it will be found that the representation chosen has major consequences in the amount of memory used for program or for the situation memory that seems to be required for most game playing programs. For example, Robert Wier, describing his HEXPAWN program in the November 1975 BYTE (page 36), had plenty of memory available, so chose a representation that was convenient for generating the display and allowed the character codes for X, O, and (space) to be stored for each of the nine squares on the HEXPAWN board. He observed that the game situation memory had to include those cases which were mirror images (reflections) of each other as though they were distinct situations, whereas to the human player, the symmetry makes them completely equivalent. Taking advantage of symmetry and selecting the optimum representation for minimizing memory can often result in substantial decreases in memory space allocations. Similarly, the repre

sentation can often be optimized to simplify the program.

I have been thinking about a program for a TACTIX playing machine for several years, and have discovered ways of coding its board situations that reduce memory requirements by close to a factor of 8. TACTIX has been described by Martin Gardner (The Scientific American Book of Mathematical Puzzles and Diversions, Simon and Schuster, New York, 1959) as an invention of the Danish mathematician, Piet Hein, a prolific puzzle and game inventor. It is a "take away" game played on a 4 x 4 board. Initially, the board contains one piece on each square. Each player, on his turn, takes one through four pieces from a row or column; but the pieces must be contiguous. The object is to force one's opponent to take the last piece. The game seems to be related to the game of NIM; but, according to Gardner, no algorithm has been discovered for selecting the winning plays, or identifying safe situations as goals for each play. I am planning to implement the game by programming the

78

computer to build a table of safe situations, by playing two moves ahead and choosing a play that results in a situation that the human cannot turn into a safe situation by any legal move. The problem is, how much memory should be allocated to such a table? Since each square can be empty or occupied, there are 2^" possible situations, which would require 131,072 bytes of memory to represent if all were safe. Regardless of how many are indeed safe, it is evident that the memory required could be drastically reduced if advantage could be taken of the equivalence of 90° rotations and reflections of the game board.

In general, eight different 2 byte words represent equivalent situations, and it is possible to choose one of them to represent the whole set. A simple way to select one of the eight is to regard each 2 byte word describing a situation as a double precision unsigned binary number, and select the smallest to represent the set. Thus, to determine if a given situation is included in the safe table, one searches the table for the smallest one of the eight numbers representing the situations equivalent to the given one. Similarly, if a situation has been determined to be safe, its minimized representative number is the one that is stored in the safe table.

Calculating the minimized number is where the assignment of the bit positions of the two bytes to the squares of the 4x4 board becomes important. The seven other equivalent numbers are obtained by three 90° rotations, a reflection, and four more 90° rotations. It occurred to me that the rotate type of shift instruction • that is implemented in most microprocessors ought to be in some way equivalent to a physical rotation of the board. Four rotations bring the situation back to the starting version; thus, considering that two bytes contain 16 bits, a 4 bit double precision shift ought to be equivalent to a 90° rotation. This leads to the construction of a bit assignment scheme for the 16 squares of the 4x4 board as shown in figure 1a. For the moment, consider that a single 16 bit word is involved. Bit 0 can be assigned at random, say in the lower right hand corner. Since a 90° rotation clockwise moves this square to the lower left corner, that square must be assigned to bit 4. Similarly, the other two corner squares, proceeding clockwise, are as signed positions 8 and 12. Now, one may assign bit 1 to any of the remaining squares, which immediately results in the assignment of bits 5, 9, and 13, as in figure 1b. Continuing in this way, the remainder of the bits are assigned as in figure 1c. Note that bits 0 through 3 cover a shape

o2 12 72 42

32 22 | 62 52

5, 6, | 2, 3,

4. 7, I , 0,

.BYTE DIVISION

| .^.REFLECTION AXIS

Figure 2: Another operation used in matching equivalent patterns is reflection through an axis. Bit assignments of two bytes to a 4 x 4 game board which satisfy both the 90° rotation requirement and reflection about the horizontal axis is shown in this figure. Each byte independently generates a reflected byte by the algorithm of table 1. For rotations, the 16 bit circular shift operation can be used to link the two bytes together.

Table 1: A Reflection Algorithm for Figure 2. In order to accomplish the reflection through a vertical axis as shown by the dashed line in figure 2, the following correspondences must be programmed.

Each bit in old byte before reflection: 7 6 5 4 3 2 10

is moved to

A bit in new byte after reflection:

This correspondence can be programmed using a series of two bit left circular shifts to position bits, using AND and OR operations to transfer the bits:

I ii ii ii ,i |,

Step 1: Clear NEW value output

Step 2: Rotate OLD left 2

Step 3: TEMP:='00100010'& OLD

Step 4: NEW := TEMP;

Step 5: Rotate OLD left 2;

Step 6: TEMP:='01010101'&OLD;

Step 7: NEW:=NEWOR TEMP;

Step 8: Rotate OLD left 2;

Step 9: TEMP:='10001000'& OLD

Step 10: NEW:=NEWORTEMP;

OLD

76543210 54321076 54321076 54321076

32107654 32107654 32107654

Value

NEW*

-3 7

-3 7

-3 7

-230-674

TEMP*

-2-0-6-4

10765432 -230-674 10765432 -230-674 110765432 12305674

-5

'NOTE: The numbers in these examples represent values of the corresponding bit in the original source. The dashes in NEW and TEMP indicate bit positions which have 0 value. NEW must be cleared prior to adding new values with the OR operation.

79

Figure 4: Bit assignments of four bytes to a 5 x 5 game board. 90° rotations by whole byte manipulations are facilitated, but reflection rules are complex. A better 5x5 compromise is found in figure 5.

o3

lj

23

64

?4

O4

?3

43

33

54

44

U

63

53

25

45

34

24

H2

32

05

65

3|

6|

is

42

52

3|

4|

7|

02

?2

62

2|

1 1

0,

Figure 3: Bit assignments of five bytes to a 6 x 6 game board to facilitate 90° rotations by whole byte manipulations, and reflections about a diagonal axis by consistent rules for each byte plus the swapping of two bytes.

03

13

2j

64

04

53

43

•33

"4

14

22

32

63 64 62 6|

1

34

24

l2

42

3|

4,

5,

°2

52

2,

h

0|

02

12

63

?2

42

32

22

73

62

52

43

53

04

13

O3

5,

6|

33

2|

3,

4|

t\

23

11

o.

Figure 5: Fhe bits of four bytes can be assigned to a 5x5 game board in this pattern. 90° rotations are accomplished as in the 4 x 4 matrix of figure 4 for bytes I and 2 which are in the corner positions; the 90° rotation component of byte 3 is a 2 position circular shift; byte 4 is unchanged under 90° rotation due to its central position. Reflections about a horizontal axis are accomplished without bit exchanges between bytes.

that by four successive rotations about the center of the board covers the whole board. Since bits 0 through 3 were chosen arbitrarily, many such patterns can be constructed.

I have not been able to find such a bit assignment scheme that facilitates both the reflecting and rotation. Accordingly, since there are many more rotations than reflections, I have optimized the arrangement for rotation. For simplifying the reflecting, I have selected the arrangement of figure 2 in which one byte represents each half of the board. (In figure 4 and subsequent figures, bits are denoted by numbers 0 to 7, and the byte is designated by a subscript.)

Thus, a single subroutine can be used twice to reflect each byte about a vertical axis. Any axis would serve for reflection, but in this case the vertical axis avoids the need for transferring bits from one byte to the other. Table 1 shows the bit correspondence under this reflection. This is a fairly complicated transformation compared to the simple shift operation needed for 90° rotation. Should the utmost in program speed be needed, a hardware approach along the lines suggested by James Luscher in "Taking Memory Address Space," page 60, January 1976 BYTE, could be used.

The general principles described above for TACTIX 4x4 can be applied to other board sizes as well, but as more bytes become necessary to represent the larger boards, rotation representation by whole byte shifting becomes attractive. Figure 3 shows an arrangement for the bits of the five bytes needed for a 6 x 6 board.

Four bytes represent all the squares except the central four, which are represented by four of the bits of byte 5. For a 90° rotation, the first four bytes are shifted, 1 replacing 2, 2 to 3, 3 to 4, and 4 to 1, while the fifth byte is shifted two places. For this case, reflecting about a diagonal, such as the one running from lower left to upper right, is

Table 2: Bit interchanges for the reflection of a 6x6 game board about the lower left to upper right diagonal, using bit assignments of figure 3. After swapping full bytes 7 and 3, the same internal reorganization is applied to all bytes.

Each bit in the old byte: 7 6 5 4 3 2 10

is moved to

A bit in the new byte: 1 2 3 4 5 6 7 0

80

most convenient. Then the bits of bytes 2, 4, and 5 are rearranged internally, while the bits of bytes 1 and 3 are rearranged and traded. The rearrangement rules are the same for all bytes, as shown in table 2.

When the board has an odd number of squares along each edge, a central square is invariant under rotation and reflection. This is illustrated by figure 4, which shows an arrangement that permits 90° rotation by whole byte exchanges.

However, reflecting is complex, requiring the bits of each byte to be assigned to two other bytes.

This is avoided in the arrangement of figure 5. Here, 90° rotation is accomplished by double precision shifting of the first two bytes the same as for the 4 x 4 board arrangement of figure 2. The third byte is circularly shifted by two places for 90° rotation, while the fourth byte, containing a single significant bit, is left unaltered.

Reflecting this pattern is simplest about a vertical axis, which avoids bit exchanges between bytes. The rules are the same for bytes 1 and 2, but differ for byte 3, while byte 4 is again unaltered.

Returning to HEXPAWN, here only mirror imaging of the board across the vertical center column is meaningful, since the

0, 1,

°2 !2

o3 l3

2, 3,

22 32

23 h

4, 5,

42 52

43 53

machine always plays black. Since a square can be vacant or occupied by white or black, two bits are required to represent the state of each square. To facilitate the reflection about the vertical axes, one byte can be used for each column, as in figure 6. Reflection then is accomplished merely by interchanging bytes 1 and 3. Thus, the HEXPAWN program would compare the three byte number representing a given situation with the three byte number obtained by reflection, and would search the model table for the smaller one. Having found the model, the indicated response would then be reflected, if reflecting the original situation produced a smaller number. The number of models stored would be nearly halved by this approach."

Figure 6: Bit assignments for three bytes to the 3 x 3 game board of HEXPA WN. Since the computer always plays black, rotations are not used to produce equivalent patterns. Two bits are assigned to each game board square in this case to allow modelling of three states: black, white or empty. Reflections about the vertical axis of the drawing are accomplished by exchanging bytes I and 3 (left and right vertical columns).

GET IT ALL TOGETHER!

START WITH THE PROPER FOUNDATION IN BEGINNING YOUR CUSTOM COMPUTING SYSTEM. OFFERED AS A STARTER PACKAGE, THE USER CAN SAVE ON INITIAL COST WHILE ENJOYING EASE OF FUTURE EXPANSION. THISSPECIALOFFERS:

• IMSAI 8080 COMPUTER (KIT)

(INCLUDING 22-SLOT MOTHER BOARD)

• IMSAI 4K RAM BOARD (KIT! . GOLD IC SOCKETS FOR KITS

• 10 EXTRA EDGE CONNECTORS

• COOLING FAN

S825

Texas Residents Add 5% Tax

ALSO: OBTAIN SAVINGS WITH OUR CUSTOM ASSEMBLY SERVICE. CALL OR WRITE FOR PRICES.

MICROTEX, INC.

9305-D HARWIN DR.

HOUSTON.TEX. 77036

(7131 780-7477

HEY, ALTAIR... GOT THE TIME?

If not, you need COMPTEK's NEW CL2400 Real-time Clock.

• Self-contained hardware clock

• Can be set and read by BASIC

• Programmable interrupts

• Top quality board, components, and I.C. sockets

• ALTAIR and IMSAI compatible

• Uses: 24 hour clock

Software timer Event timer

KIT - $98 ASSEMBLED — $135

"Real World Electronics"

P.O. Box 516 La Canada, CA 91011

Circle A207

COMPUTALKER

<*>

CT-1

SYNTHESIZER

High Quality Voice Output

Altair/IMSAI/Polymorphic plug-in

Nine Acoustic Control Parameters

Includes 8080 Interface Software

$395.00 plus shipping

Order a demonstration cassette

$2.50 postage paid

Write for informative literature

Calif, residents add 6% sales tax

COMPUTALKER CONSULTANTS

P.O. Box 1951, Dept. B, Santa Monica, CA 90406

81

The Built-in Logic Tester

Kurt W Christner Bently Nevada Corp Box 157 Minden l\IV 89423

After unsuccessfully attempting to debug a friend's microprocessor system using the only piece of test equipment he had, a VOM, I decided that every system should have a built-in logic tester. A simple circuit with LED indicators would be adequate to troubleshoot most bad components, open circuits, and short circuits. The logic tester, permanently mounted in the chassis or on

PROBE

INPUT

Ml ftWJ

lOOfl IS. o WV Hl<^>

R2 27K

POWER CONNECTIONS

+5V GND

ICI 7405 II 7 IC2 9602 16 8

+ 5V J

EDGE

LED-2 R4 +5V

-* 330fl

Figure I: Circuit Diagram of the Built-in Logic tester. Put a logic tester into your system as a permanent section, and you 'II never have to hunt for a probe again. The design here could easily be built using integrated circuit sections left over from other uses in a typical computer.

Table I: Operation of the Built-in Logic Tester. This table lists several input conditions and corresponding outputs of the tester. By looking at both the Level and Edge detection LEDs, the state of the input waveform can be deduced.

Input

TTL 0 Level TTL 1 Level

0 to 1 Step

1 to 0 Step Positive Pulse Negative Pulse Positive Pulse Train Square Wave Negative Pulse Train

*Depending upon duty cycle or pulse width

Level Indicator

Edge Indicator

LED-1

LED-2

Off

Off

On

Off

Off then On

1 flash on edge

On then Off

1 flash on edge

Off*

1 flash

On*

1 flash

Off to dim*

On

About 1/2 brightness

On

Brighter to On*

On

one of the printed circuit boards and powered by the computer's +5 V power supply, would always be there to make quick checks.

One simple and inexpensive logic tester that is ideal for building into your system provides indications of TTL logic levels and changes in logic levels. A "Level" LED illuminates for a TTL 1 input and extinguishes for a TTL 0 input. An "Edge" LED illuminates momentarily when the input changes from 1 to 0 or from 0 to 1. Although not as fancy as some of the logic testers described by Alex Burr in the December 1975 issue of BYTE [page 20], this tester provides enough information to detect levels, steps, single pulses, and pulse trains. A more sophisticated tester could also be designed and built into your system if more extensive troubleshooting capability is desired.

Construction

The logic tester described here can be assembled on a small perforated board or a printed circuit board and mounted in an empty space in the chassis, or the tester can be built right on one of the microprocessor boards if there is some unused area. Figure 1 is the schematic of the logic tester. The total price for all parts will probably run less than $4. The circuit uses half of each of two integrated circuits, so a dual tester can be made, if desired. Parts layout is not critical, but observe the polarity of the LEDs, the diodes, and the electrolytic capacitor. The LED indicators should be labeled and positioned so that they can be easily observed and interpreted. A binding post or a screw terminal can be used for the input connection if you want the probe and test lead removable, or the test lead can be soldered to the input if you want it to always be there. Mount the tester in the chassis and connect the +5 V and ground inputs to the system power supply outputs.

Using the Built-in Logic Tester

Apply power to the system. The Level indicator, LED-1, should be on when the input is open or the probe is at a TTL 1. The Level indicator should be off when the

82

probe is at ground or a TTL 0. Carefully touch the probe to ground, avoiding any contact bounce. The Edge indicator, LED-2, should flash on momentarily and then go off. Now, carefully remove the probe from ground, avoiding any contact bounce. The Edge indicator should again flash on momentarily and then go off. Repeat this several times to verify that the edge detector always triggers on both the positive going and the negative going edges. If it does not trigger on both edges, increase the value of CI by several hundred pF. This should make the detector trigger on both edges, although it will decrease the maximum operating frequency of the edge detector.

Table 1 shows the operation of the Level and Edge indicators for various inputs. Using this information, you can determine what type of signal the probe is observing by what the indicators are doing.

Theory of Operation

The two open collector inverters, IC1a and IClb, form a non-inverting driver for the Level indicator. The tester has a fan-in of one TTL load. R1 provides some protection for the input of IC1 a. A TTL 0 at the input turns on the output open collector transistor of IClb. This transistor shunts the current from R3 around the Level LED, keeping it off. The transistor turns off when the input observes a TTL 1, and the current from R3 flows through the Level LED, illuminating the indicator. IC1c is a buffer for the edge detector oneshot, IC2a. The 9602 oneshot works best in this circuit, although a 9601 will work with degraded performance. C1 and Dl are used to trigger the oneshot on both the positive going and the negative going edges. CI slows the edges going to the inputs of IC2a. Dl provides some offset voltage between the two inputs of the oneshot, so that pin 4 approaches 0 before pin 5 leaves 1 on a negative going edge. This triggers the detector on the negative going edge. For a positive going edge input to IC2a, pin 5 approaches 1 before pin 4 leaves 0, which triggers the detector on the positive going edge. C2 and R2 set the time constant which controls the pulse width of the Edge indicator flash. The Q output of IC2a is normally high; thus the Edge LED is off. When the detector triggers, the Q output goes low, turning the Edge LED on. After the oneshot times out, the Q output goes high again, turning the LED off until the next edge is detected. The oneshot is retriggerable, so a pulse train input with a period less than the pulse width of the flash will keep the Edge indicator on. D2 protects C2 from reverse polarity conditions."

V

\o°u

oo

p*W

v*v

a*o

oo

tfO

tf<

***>*

«**

*%*>«

,0^.p oWs

*■£

TO ORDER: Please write quantity of items in box next to price Include full payment with order Mich residents add sales tax. All items are NEW from DEC unless otherwise stated- Many items in stock Please call for delivery Please inquire for delivery quotation

Name _

Company

Address

City _

State _

Z

P

NEWMAN

COMPUTER

EXCHANGE

1250 N Ann Ar Phone

Main St. Dept. A bor. Mich. 48104 313/994-3200

■^EXCHANGE Phone: 313/994-3200 mm

83

Microprocessor

Quay 80MPS.

For serious

hobbyists*

Quay 80MPS is not designed for the casual hobbyist. Only if you're serious about your personal computing, should you find out about Quay 80MPS's features, capabilities, and options. Only if you want to break free from hobby-class microprocessors ond enter a great new world of sophisticated computing experiences, should you get intp the Quay 80MP5.

Features '

□ Single PC board. 16 pin dip connectors ' (no costly backplane or edge conneaors.)

D Z-80 CPU. 158 instructions, 2.5 MHz clock.

D 4K dynamic RAM. Expands to 16K on board (Z-80 refreshes w/o loss of thruput).

D 1K UVEPROM monitor. Inspea, alter, dump, and load memory,- set breakpoints; trace ond single-step debugging; serial I/O.

..jtional UVEPROM sockets.

D 4 8-bit parallel I/O ports. Vectored interrupt (2 Z-80 PIO's, expands to 4).

D' 1 socket for Z-80 4 channel counter ' timer.

Q 1 UART. RS232 & 20 ma interface.

D UVEPROM programmer (2708).

D Fully buffered address, data and control.

Quay 8QMP5 is $695, assembled and tested. Send for complete details: Or for fast action, Coll 201-681-8700.

Masrercharge and QankAmericard accepted. COO with 1/3 deposit. N j, residents add 5% sales tax. Nee does' not include shipping and handling.

Dealer inquiries invited.

P.O. Box 366, Freehold, N.J. 07728. Phone: 201-681-8700

Whafs

New?

The $600 Floppy Disk

Ohio Scientific liiblruments, by way of the Barefoot Computer Company Information Service, has sent word of their entry into the home computer mass storage marketplace. This is a $599 fully assembled floppy disk drive with read and write electronics, manuals, mating connectors, system interface board (less integrated circuits and parts) and 6502 or 6800 disk operating system. OSI says that it has achieved the low price by using the microprocessor itself as the major component of the disk controller and interface, and supplying basically the mechanism and the critical electronics of the drive itself. The user must supply additional parts estimated at a typical cost of $145 and approximately 8 to 10 evenings of assembly time. These additional parts include the disk's power supply, an enclosure, and cables.

The OSI 470 Floppy Disk and Modem board, which occupies one slot in the company's system backplane, can control up to four disk drives. It also can be configured to provide a 600 baud modem with full dial up and automatic answer capabilities.

With the OSI interface, all tasks that can be handled by software are, thus making it format independent so that the system can read or write virtually any diskette format including the popular IBM 3740 format. Of course, appropriate software must be used for each format.

Double density recording can be used, but system clocks greater than I MHz are required unless a very simple disk format is utilized.

The Model 470 comes with a simple and compact 6502 or 6800 operating system. The purchaser must specify which he wants.

The operating system allows the transfer of 4 K blocks of memory to and from the floppy's 77 tracks. To perform a write operation, the user specifies the starting

^HHHFT

address of the source block and track number. For a read operation, he/she simply specifies track number and starting address of the destination block.

Memory is transferred in 8 bit segments, with I parity bit and I slop hit. Software automatically performs a write, read, then verily test when writing and parity tests when reading. The software will attempt to write three times before labeling a track unsafe and will attempt to read a track a user specified number of times to recover data.

More sophisticated operating systems are being written for the 470, but this simplest one should allow the user to get his floppy up and running with minimum difficulty, using a small amount of memory and slow clocking.

OSI says its low price for diskette drive, manuals and connectors means slim profits and therefore orders must be in writing prepaid via check, Master Charge or Bank Americard or via 20 per cent deposit for COD shipment. Purchase orders are not accepted. There is a 20 per cent restocking charge for cancellation of order unless delivery is delayed beyond 120 days after receipt of order.

Drives are manufacturer guaranteed against defective workmanship for 90 days by General Systems International. Although the OSI interface is delivered with the GSI Model 105, it is compatible with the GSI 50 and IK) drives. OSI's $535 price is considerably less than GSI's 50 piece industrial price.

Ohio Scientific is located at I 1679 Hayden St, Hiram OH 44234. Barefoot Computer Company is exclusive West Coast distributor for OSI, and is located at POB 158, San Luis Rey CA 92068."

Watch for These in the Parts Markets

We got a press release for a new line of Dual In Line Package capacitors manufactured by AVX Ceramics, Myrtle Beach SC. It makes a nice neat way of mounting capacitors (within available values not listed in the press release) and should appear sooner or later in experimenters' parts markets."

A "Super" Star Trek game in BASIC.. .

David Mitchell, a BYTE reader with an Altair system, announced in a letter that he is selling the software of his version of Super Star Trek. This version has the features of Super Star Trek as found in The Best of Creative Computing, Volume 1, but he says it is optimized and modified to fit an Altair 8800 with 16 K of memory (including the MITS 8 K BASIC as part of the memory requirement). It should run with other BASIC systems after appropriate modifications of course. His letter says that he has a 15 page description of the game, giving program variables and routines, available along with a listing for $3. He'll also duplicate the program on MITS compatible cassette tape for $6 using Maxwell UD tape. Write David at 2S624 Mulberry Ct, Warrenville IL 60555.

84

It's All a Plot to Enable You to Draw with Your Computer

Here is one of the most exciting new peripherals for the enthusiast yet to come down the road. This photograph shows the new Model DFT-1 Plotter Kit manufactured by Sylvanhills Laboratory Inc, #1 Sylvanway, POB 239, Stafford MO 65757. What this kit supplies is all the mechanical details needed to make precision II by 17 inch (28 by 43 cm) plots. And if that isn't big enough, the same firm makes the DFT-2 kit, which can be used to build a plotter which will draw on a 17 by 22 inch (43 by 56 cm) bed. According to the flyer received with this photo, Sylvanhills has been making drafting and plotting machines for school and industry for several years, and has decided to make available the mechanism alone in kit form for the hobbyist. It is up to the purchaser to design a nice flat bed on which to mount the mechanism, but anyone handy with woodworking tools should be able to accomplish such a result. The kits from Sylvanhills include the following essentials:

• XY plotting assembly, assembled and tested, ready to mount on the drawing surface. This includes two 24 VDC permanent magnet motors, two incremental encoder disks for feedback control of position using your computer.

• 2 optoelectronic shaft position sensors which mate with the incremental encoder disks.

• 2 motor control printed circuit boards with all components and assembly instructions.

• 1 pen lift printed circuit board with all components and assembly instructions.

• 1 24 VDC solenoid to raise and lower the pen which is held in a general purpose mount.

• miscellaneous components, schematics, suggested layouts and circuitry.

If you want to make a plotter, it looks like this is the ideal way to do it. You get new equipment, completely documented, and a size that is hard to put down.

You'll have to build the table on which it is mounted, and write the software needed to sense position, and move to position on command, etc. But all this is well within the realm of the microprocessor and Sylvanhills has several users at work already on 8080, 6502 and 2650 software to drive this unit. They promise to make such software available to purchasers of the plotters.

What does it cost? Well, for the small DFT-I plotter kit, the price is $750. The larger model DFT-2 is priced at $895. A 24 VDC power supply which provides 1 ampere regulated for the motor and drive boards is $24.95 in kit form. When you've decided to do computer art via plotter, this kit will be the place to start. . .. But don't stop at simply moving a pen. Have you ever thought that this mechanism now gives you the means to move a puppel about on a microprocessor controlled puppet stage? Hmmm. . .■

Active Filter Activities. . .

National Semiconductor Corporation has just released a comprehensive series of low cost active fillers designed for use with frequencies up lo 10 kHz. This was announced to the world in a news release which included the application notes for the AFI00 universal active filter line. These circuits are used in analog electronics in systems that include medical, geophysical, sonar, audio, lone signaling, modem and feedback control systems (ie; If you build a robot arm, you may want to incorporate one of these as part of the design for the motion controls.). Optimal use of these filters requires the mathematical and electronics background needed lo understand Butlerworth, Bessel, Cauer, or Tschebycheff filters. Design equations are given in the applications note

Microcomputer

QuaydOAl

does much more

with the Z-80.

®uay

This dynamite new microcomputer system in o kit moves data like nothing else on the market. Run it alone or plug it into an 5100 bus Altair/IMSAI. For solo performance, all you need is »an unregulated power supply and an I/O device. Plugged in, Quay 80AI is a CPU, ROM, SIO, and RAM board-run any 5100 compatible device. BUT MORE THAN THAT. Quay-GOAI's Z-80 CPU opens challenging new areas of personal computing.

/'features '■

D S100 bus compatible. Rugs in one slorof your Alrair or IMSAI.

D Z-80 w/2.5 MHz clock.

D1K static RAM.

D 512 byte (ROM) monitor. Comes up running. Inspect, alter, dump! and load memory; set breakpoint; jump to user program. Handles serial I/O or keyboard input, including setting baud rate."

D 4 UVEPROM (2708) sockets.

□ Serial I/O. RS-202 and 20 ma interface.

□ Parallel keyboard input. Accepts standard ASCII keyboard.

a UVEPROM programmer. Program 2708 type UVEPRQMs,

D 2 phase clock and sync. Run 5100 compatible peripherals.

Q 158 instructions. All 78 3080 instructions plus 80 new powerful instructions.

D On board voltage regulators.

Quay 80AI in a kit is $450; factory assembled, $600. Send for complete details. Or for fast action call 201681-8700.

Masterchorge and BanhAmerlcard accepted. COO wjth 1/0 deposit. N J. residents odd- 5% sales tax. Price does not include shipping and handling.

Dealer inquiries invited.

P.O. Box 386, Freehold, NJ. 07728 Phone: 201-681-8700

85

and second order filter parameters can be programmed using only four external resistors. As an experimenter part, however, the AF100 shines, since the commercial plastic packaged DIP version sells for $4.95 in quantities of 100 (a couple of bucks more, probably, if you buy just one, bul well within the range of the amateur). For information contact National Semiconductor Corporation, 2900 Semiconductor Dr, Santa Clara CA 95051 and ask for applications information on the AFI00, or if you're into electronics, see your nearest National Semiconductor distributor."

A Pointer

Vector Electronic Co is a fountain of miscellaneous hardware and tools useful in homebrewing electronic equipment. Products of this unique and innovative company range from the new Slit-N-Wrap wiring method (highly recommended) to sockets, matrix boards and enclosures. Readers with interests in breadboarding and designing hardware should definitely get hold of the latest Vector Catalogs. Vector Electronic Co is located at 12460 Gladstone Av, Sylmar CA91342."

A Patented Logic Training Computer

The SOL Source

(a somewhat unusual new product. . notes by Carl Helmers)

The people at Processor Technology have finally gotten around to sending out nice pretty "press" pictures of their latest, the SOL Terminal Computer. This picture of SOL would be new products news to people reading trade journals and publications to which a broadside mailing of such press releases are obviously intended. However, for us here at BYTE, and our readers, somehow it seems that Bob Marsh and his associates at Processor Technology always seem to get here first with advertisements, long before they get around to writing up the press releases. You first saw this product in BYTE as part of a 6 page advertising spread which Processor Technology ran in the December 1976 issue. So, since the mere insertion of a product picture with words abstracted from the press release would be an exercise in redundancy, a more interesting exercise is to comment on the SOL computer as an illustration of the state of the art in personal computing circa late 1976 and early 1977.

SOL is an example of the complete system concept reduced to a desk top unit with a reasonable price tag. The pretty picture you see here, and elsewhere, is the product concept of the "hassle free" prod

uct one expects, a complete computer purchased ready to run. For now, however, you still have to assemble SOL, but the trends in the market guarantee that it'll sooner or later be available completely assembled for the pure "user" types who have no particular interest in putting the device together.

In a talk I gave at the WESCON show in September 1976, I described what might be called the "ideal" computer system circa 1976-1977: an under $2000 package with processor, 8 K of memory, video display output, ASCII keyboard, audio mass storage, ROM systems software and transient systems software. Given this general description, how well does the SOL terminal computer (in kit form) meet the price and performance objectives? A way to find out is to use the published price list of the December advertisements Processor Technology ran in BYTE to specify a tape oriented system . . . the result of this mental exercise is as follows:

Processor, case, power supplies, video display generator, keyboard, minimal programmable memory of 2 K bytes . . . SOL-20 kit $ 995.00

SOLOS Stand Alone Operating System in place of standard CONSOL $ 100.00

8K Programmable memory, 8 KRA (for total of 10 K bytes programmable memory in the system) $ 295.00

Audio tape interface (includes 5 K BASIC) $ 97.00

Additional transient systems software: assembler, purchased on audiotape $ 14.50

Applications programs: MATHPAC, TREK 80, GAMEPAK 1 total, purchased on audio tape $ 33.50

Additonal items not from Processor Technology: 2 inexpensive cassette recorders $ 100.00

1 video monitor $ 150.00

"Benchmark" system total cost

$1785.00

This $1785 expenditure is an excellent example of what contemporary personal computing systems will run in price, where a spectrum of features is chosen to allow programming in a limited 5 K version of BASIC, tape to tape data processing applications, video output and an attractively packaged desk top keyboard product. The only present hitch with the Processor Technology product is that this is still a kit product. But it's available, and it should fill the requirements of many individuals . . .

Delivery is currently quoted at stock to 45 days after receipt of order (ARO). Processor Technology is located at 6200 Hollis St, Emeryville CA 94608."

A new self paced logic trainer manufactured by LJ Broder Enterprises Inc, 3192 Darvany Dr, Dallas TX 75220, (214) 357-7763, has been issued US Patent 3,975,836. The Broder Logic Trainer enables the student to physically manipulate logic states in order to learn logic definitions and solve problems. When the correct solution is achieved a bar appears on the LCD indicator. All basic digital logic components appear in the 40 digital problems which are combinational and sequential. A counter indicates the number of logic state changes made in solving a problem. BCD can be displayed as well as the decimal number. Additional problems can be created to teach specific circuits or even nonrelated subjects. Switching and Venn diagram problems are included. There are no wires or electronic components to misuse or lose.

The logic trainer uses a 9 V battery. Expected battery life is one year. There is a one year warranty on parts and labor. Prices range from $59 and $2 postage and handling for single units, to $40 for 500 units and up. Delivery is 12 weeks ARO or better."

Attention Educators (And Everybody Else Interested in Computers)

Terak Corporation, POB 3078, Scoltsdale AZ 85257, has introduced this neat little desk top computing system based upon an LSI-11 and a floppy disk. Unassuming as it looks, this neat little desk top configuration is the Terak 8510 computer system, a stand alone replacement for time shared systems or a superintelligenl component of traditional computer networks. This little box contains an LSI-11 microcomputer board, 20,000 words of 16 bit primary memory, a floppy disk drive which can store 256,000 bytes per cartridge, both RS-232C and 20 mA current loop serial interfaces for terminal or Teletype, and software which includes a disk operating system, MACRO Assembler, Editor, Linker, Librarian, Batch Processing, BASIC interpreter and Fortran IV compiler. What does it cost you to get into computing via the Terak product? Including an institutional discount policy, the press release accompanying this picture quotes a "low initial cost, slightly over

86

$5000." Add an appropriate terminal such as the ADM-3 by Lear-Siegler and you'll have an excellent computer system for use in business or pleasure, lor education or for personal computing. No price was quoted for quantity one purchases without the institutional discount. The company is willing to talk to dealers, so who knows . . . maybe this will be the "Cadillac" computer model for many an independent store."

Plasma Displays, Anyone?

■a* mm »:** *iiEw3*»* ** «*i»

j^mfie' tJjUIlll-f yuuu ^gju ^i^wumir j^^^

j^^y ^tuiK ^yl iflEBH lU^UJff i||Uli ^^^

The Tarbell Cassette Interface

• Plugs directly into your IMSAI or ALTAIR

• Fastest transfer rate: 187 (standard) to 540 bytes/second

• Extremely Reliable—Phase encoded (self-clocking)

• 4 Extra Status Lines, 4 Extra Control Lines

• 25-page manual included

• Device Code Selectable by DIP-switch

• Capable of Generating BYTE/LANCASTER tapes also.

• No modification required on audio cassette recorder

• Complete kit $120, Assembled $175, Manual $4

TARBELL ELECTRONICS

144 Miraleste Drive #106, Miraleste, Calif. 90732

(213)538-4251 California residents please add 6% sales tax

Interloping Burroughs SELF-SEMI Panel Displuui Id miiroprotesMirs.

A new six page application note which describes techniques for interfacing microprocessors to alphanumeric displays is now available from the Electronic Components Division of Burroughs Corp.

Written by Jerry Ogdin of Microcomputer Technique, the note provides basic hardware and software instructions for interfacing and for achieving a broad variety of special display effects such as display blinking, letter or word blinking, and display of a wide variety of alphanumeric fonts and special symbols.

For more information contact Electronic Components Division, Burroughs Corp, POB 1226, Plainfield NJ 07061."

ASR 33 is and more!

OLIVETTI 318 TELETYPEWRITER BUILT-IN PAPER TAPE 1/0 HEAVY DUTY DESIGN ELECTRIC TYPEWRITERSTYLE KEYBOARD EXTRA 10 KEY NUMERIC PAD FRICTION OR SPROCKET FEED SUPPORTED BY OLIVETTI

+ SHIPPING

$950

GREEN PHOSPHOR MONITOR $150

IV P TO P COMPOSITE VIDEO INPUT $10 SHIPPING LONG PERSISTENCE FOR GRAPHICS ggg|| \ 10 MHz BAND WIDTH f ■

ANTIGLARE 7x9" SCREEN I ■

RASTER SCAN Ifj !

NEAT TABLE TOP UNIT "W^pSW

SwTPC 6800...$395 IMSAI 8080...$599 ONE DAY SHIPMENT

WRITE FOR OUR CATALOG ^ Dept. B

■ 584 Commonwealth

g Boston, MA 02215

"THE BIGGEST

COMPUTER HOBBY

CENTER IN THE

WORLD"

87

BITS™ Presents:

PROS

j*

TV Typewriter Cookbook by Don

Lancaster. A complete guide to low cost television display of alphanumeric data, several chapters of which were published ahead of the book in early issues of BYTE magazine. $9.95

Digital Logic Circuits by Sol Libes. An

invaluable tutorial background volume on digital logic, arithmetic, 10 concepts and interfacing to analog devices; written by one of the founders of the Amateur Computer Group of NJ. This book acquaints the reader with much of the terminology and background concepts of digital hardware. $5.98.

-Modern Operational Circuit Design by

Active Filter Cookbook by Don Lancaster. The chief chef of electronics Cookbooks concocts another gourmet appetizer. Run to this book when you need to find a starting point for the design of a filter for use in an electronic application. $14.95.

-Altair Design developed by Ensor

John L Smith. An absolutely essential introduction to the use and application of operational amplifier systems. The book contains both theoretical background information and practical circuit suggestions which can be used to advantage by the experimenter. $16.95 (hardbound).

, Electronic Projects for Musicians by

Craig Anderson. "Even if you know nothing about electronics, you can build preamps, ring modulators, mixers, tone controls, miniampls, fuzzes and a dozen other inexpensive musical projects." Furthermore, even if you couldn't care less about about musical applications, you can use this book to gain familiarity with electronic parts, circuit diagrams and construction techniques, using the wealth of illustrations and tips found in an extended introductory chapter for the novice electronicker. $6.95.

Holiday.

More Altair Design developed by Ensor Holiday.

Altair Design 3 developed by Ensor

Holiday.

Keep the loved ones busy while you use your system . . . give them any one or all of these computer generated Altair Design books to start them (or yourself) on endless hours of creative coloring. No other coloring books are quite like these unique books. $2.50 each.

Artist and Computer edited by Ruth

Leavit. A visual treat, as you encounter reproductions of numerous works by computer oriented artists and read about these works in their own words. $4.95.

Linear IC Principles, Experiments, and

Projects by Edward M Noll. From basic principles to complicated systems, from simple amplifier experiments to applications in radio, TV and control systems, this book can improve your knowledge of the way circuitry of the analog world really works. $8.95.

Practical Solid-State Circuit Design by

Jerome E Oleksy. A self study course in the design of semiconductor circuits from the simple transistor to the complex operational amplifier. $5.95.

_Boolean Algebra by Brice Ward. A

background tutorial and study guide for the design and simplification of static networks of logic gates. Learn how to combine those ANDs, NANDs, NORs and ORs to evaluate complicated logical conditions of multiple inputs, electronically. $5.50.

Projects in Sight, Sound & Sensation

by Mitchell Waite. Dedicated "to all space cowboys." Detailed theory and practice of seven fascinating amateur electronics projects, along with a complete and detailed appendix on how to make PC boards. $4.95.

Creativity, Invention, & Process by

John A Kuecken. Practical philosophy and history for the inventor. $3.50.

Security Electronics by John E Cun

ningham. To catch a thief, apply liberal doses of ingenuity and a modicum of cleverness. Find out what's been tried in conventional alarm systems before you go off computerizing your home security system, though. $4.95.

Introduction to Biomedical Elect'

ronics by Edward J Bukstein. What's been done in robot doctors? Nothing so far. But in terms of electronic aids to physicians and practices of health researchers, consult this background review of the field of biomedical electronics. $5.50.

What to Do After You Hit Return of

PCC's First Book of Computer Games. This is PCC's first book of computer games, a compendium which includes descriptions of numerous games, and listings of 37 selected BASIC games. $6.95.

Send to:

BITS, Inc 70 Main St Peterborough NH 03458

Total for all books checked Postage, 25 cents per book for books

Check payment method:

My check is enclosed

Bill my MC No.

Bill my BAC No.

Exp. date Exp. date

Name

Address

City

State

Zip

Grand Total

$ $

Signature

You may photocopy this page if you wish to leave your BYTE intact. Please allow six weeks for delivery.

88

A BIT More

When you build a project, you need information. All you find in the advertisements for parts are mysterious numbers identifying the little beasties... hardly the sort of information which can be used to design a custom logic circuit. You can find out about many of the numbers by using the information found in these books. No laboratory bench is complete without an accompanying library shelf filled with references.

Order these absolutely essential references from Texas Instruments today:

The TTL Data Book for Design Engineers, $3.95.

The Supplement to the TTL Data Book for Design Engineers, $1.95.

The Linear and Interface Circuits Data Book for Design Engineers, $3.95.

The Semiconductor Memory Data Book for Design Engineers, $2.95.

The Transistor and Diode Data Book for Design Engineers, $4.95.

The Power Semiconductor Handbook for Design Engineers, $3.95.

Understanding Solid State Electronics, $2.95.

The Optoelectronics Data Book for Design Engineers, $2.95.

Designing with TTL Integrated Circuits, edited by Robert L Morris

and John R Miller, published by McGraw-Hill, $24.

—The TTL Cookbook by Don Lancaster, published by Howard W Sams, Indianapolis. Start your quest for data here with Don's tutorial explanations of what makes a TTL logic design tick. 335 pages, $8.95.

—Microcomputer Design by Donald P Martin. Edited and published by Kerry S Berland, Martin Research. Purchase your copy of the definitive source for circuitry and hardware design information on the 8008 and 8080 computers today. Even Intel, the originator of the microprocessor revolution, is hard put to compete with the wealth of information found in Martin Research's new second edition of Microcomputer Design. This is the book which was originally published as an expensive (but quite practical) engineering report in loose leaf form, at about the time the microprocessor technology was first catching on in the form of the 8008. This 388 page second edition of the manual is loaded with detailed information on how to build and use computers based on the 8008 and 8080. $25.

Send to:

BITS, Inc 70 Main St Peterborough NH 03458

£Q

BiunAHEBimia

Check payment method:

My check is enclosed

Bill my MC No.

Bill my BAC No.

Exp. date Exp. date

Total for all books checked Postage, 25 cents per book

for books

Grand Total

$ $

Name

Address

City

State

^ip_

Signature

You may photocopy this page if you wish to leave your BYTE intact. Please allow six weeks for delivery.

89

Potpourri from BITS

BITS, Inc. is a trademark of BYTE Interface Technical Services, Inc.

TM

It's Almost Too Late ... fOMPI ITFR BYTE T-shirts

... to snap up bicentennial memorabilia before V^ V^ I II Vy I l^ml \

. to snap up bicentennial memorabilia before you have to hunt through the nostalgia shops and pay 100 times the original price—if you're lucky enough to find a bargain—for an item as anachronistic and otherwise remarkable as Robert Tinney's Computing 1776 picture. A same-size (16 bv 20 inches, 41 by 51 cm) reproduction of Tinney's original oil painting, this poster makes an off-beat gift. Don't wait for the nostalgia shops to get the last of these posters; get yours now for only $2.95. (Do you know what your old Amazing Science Fiction magazines and Superman comics that Mom threw out are worth now?)

Available in blue heather with blue trim and red letters, or in white with blue trim and red letters. Only $5, including postage and handling.

Have you ever wondered where to go for a basic starting point in your quest for information about computer applications and uses? Ted Nelson's book, Computer Lib/Dream Machines, is the place for you to begin.

Computer Lib/Dream Machines is for the layman — the person who is intelligent and inquisitive about computers. It is written and self published by a philosopher who is also a self confessed computer fan and an excellent teacher of basic concepts. (For those who have not yet heard, ivory towers are constructed out of real and substantial white bricks.)

Computer Lib/Dream Machines is must reading for the beginner, and is also a refreshing self examination for the old hand at programming and systems work.

Please send me:

copies of Computer Lib @ $7

50 cents postage per copy

Total

posters @ $2.95

T-shirts

small

medium

Total

Total

large extra large

white, blue trim, red letters @ $5 blue heather, blue trim, red letters

Grand Total

Send to: BITS, Inc 70 Main St

W m

i

BamkAmebicarh

Check payment method:

My check is enclosed

Bill my MC No.

Peterborough NH 03458

Name

Bill my BAC No.

Exp. date Exp. date

Address

City

State

Zip

Signature

You may photocopy this page if you wish to leave your BYTE intact.

Please allow six weeks for delivery.

90

Build the

"Coffee Can Special"

EROM Eraser

40W LAMP

WOOD PLATE

Lawrence Burbey Jr 2196 Patty Ln Green Bay Wl 54304

STANDARD SURFACE MOUNTING FIXTURE

SI TOGGLE

-—2 LB. COFFEE CAN

EROM BEING ERASED

PEDESTAL (BLOCK OF WOOD)

If you plan to reprogram your erasable PROMs (EROMs) you have probably noticed a general lack of information on cheap ultraviolet sources to do the job.

EROMs like the 1702, 1702A, 2704 and 2708 are erasable with high intensity ultraviolet light at a frequency of 2537A. Many clothes dryers manufactured in the 1950s used a germicidal ultraviolet lamp to kill bacteria during the drying process. The lamp produces high intensity ultraviolet at 2537A and can be purchased as a replacement part for less than $5 from your local appliance service departments.

The ultraviolet lamp was wired in series with a 25 to 40 W 115 VAC lamp to limit current in this application, so that the ultraviolet bulb is not burned out.

WARNING

Shortwave ultraviolet light can harm eyes and skin. Avoid looking into the lamp when it is lit.

A safe way to utilize the germicidal ultraviolet lamp as an EROM eraser is to mount it inside a 2 lb coffee can. The current limiting incandescent lamp can be mounted on the outside, along with an AC toggle switch; in this way the ultraviolet source is not visible while in use and the incandescent lamp can serve as an indicator light — don't lift the can if the light is lit. Figure 1 shows how to arrange things.

The EROM to be erased is placed on a pedestal; its height should allow a one inch clearance between the ultraviolet lamp and the EROM. Erasing time is approximately 10 to 20 minutes. Remember to wire the two lamps in series (figure 1) or you will blow your ultraviolet lamp bulb. A mechanical egg timer with a loud "cling" can be used in conjunction with this unit to time the erasing interval."

J® ©

-=^»

SI

TOGGLE, IIOVAC

Figure I: The physical assembly and circuit of the inexpensive EROM erasing apparatus. An ultraviolet bulb available as a replacement part for electric clothes dryers with germicidal cycles provides the source of the ionizing light needed to erase 1702, 2704, 2708 and similar EROM devices.

ACT-1

MICRO-TERM INC.

$525 complete with high resolution 9" monitor • $400 without monitor |NCLUDED FEATURES: '<

• Underline Cursor

• RS232C or Current Loop

• All oscillators (horiz., vert., baud rate, and dot size) are crystal controlled

64 characters by 16 lines Auto Scrolling

Data Rates of 110, 300, 600, 1200, 2400, 4800, and 9600 baud are jumper selectable

The ACT-I is a complete teletype replacement compatible with any processor which supports a serial I/O port. Completely assembled and dynamically tested. Prices FOB St. Louis Mastercharge and BankAmericard

THE AFFORDABLE CRT TERMINAL

MICRO-TERM INC. P.O. BOX 9387 ST. LOUIS, MO. 63117 (314) 645-3656

91

Separate Your Sync

David Rosen 7 Lillian Rd Maiden MA 02148

HORIZONTAL OR VERTICAL SYNC INPUT

••OUTPUT TO REST OF MONITOR

Figure I: Sync Amplifier Circuit for Sylvania SDM-5035 Video Monitor. The amplifiers for horizontal and vertical sync are identical, and are designed to receive TTL compatible signals. The problem is: How can the separate TTL sync pulses be obtained from the TVT?

While building my television typewriter (from the Southwest Technical Products kit), I searched around the various surplus stores and TV repair shops in my area for a second hand TV receiver to use as a display. Fortunately, I came across a Sylvania model SDM-5035 12 inch video monitor. This monitor was once part of a data processing terminal. It is designed specifically for optimum legibility in the presentation of alphanumeric display information in dot matrix format.

The model I obtained has separate sync amplifiers rather than a sync separator. The advantages of separate sync are twofold; interlacing is improved because cross talk from the sync separator is eliminated, and the computer terminal can be designed more simply because a sync combiner is unnecessary. Of course the TVT design already has a sync combiner. This circuit must be bypassed to use the separate sync amplifiers in the Sylvania display.

The Sylvania vertical and horizontal sync amplifiers are identical. One is shown in figure 1. They require positive going sync pulses compatible with most IC logic. A

HORIZONTAL

ICI7A \f 7409 J

■ RIO

: ik

5V

01 2N5I29

Rll

47

»RI2

:ioo

r

DEO UT

Figure 2: The Southwest Technical Products CT-1024 TVT Sync Combiner Circuit. This is the circuit as it comes in the kit. To apply separate sync to a monitor, simply tap the vertical and horizontal inputs to the sync combiner gate, I CI 7a. ,

92

Figure 3: Physical Detail. The modification can be made by tapping the CT-1024 board with RG 174/U miniature coaxial cable, which is run from the TVT to the monitor inputs.

logical zero equals 0 to 0.8 VDC and a logical one equals 2.8 to 5 VDC. These levels are conveniently available in the TVT at the inputs to the 7409 quad AND gate feeding the 2N5129 emitter follower stage that drives the TV receiver or video monitor (see figure 2). In the SWTP kit these are called IC 17a and Q1 respectively. The vertical sync pulses appear at IC17a pin 4, and the horizontal at pin 5.

There is also a convenient spot on the printed circuit card to tap these points (see figure 3). There are two empty plated through holes connected directly to pins 4 and 5 adjacent to a 3/4 inch x 1/8 inch (1.905 x 0.3175 cm) ground plane near C23. This makes it easy to solder lengths of RG-174 coax right to the two empty holes, connecting the shields to the adjacent ground. The coax cable can be terminated in RCA phone plugs and brought out to the display.

With this modification there is no need to alter anything else in the composite video circuitry. The combined sync signals still appearing there don't bother the display unit at all."

54 I

ICI7 °°^£^

7409 ooooooo

C23

VERT

Software Bug of the Month

W Douglas Maurar University Library Room 634 Gaorge Washington University Washington DC 20052

SOLUTION TO SOFTWARE BUG OF THE MONTH 6

There are two acceptable solutions to this problem. First of all, even a formula which converges, like this one, can have some intermediate values that are much too big for the floating point representation in the given computer. Going over to double precision doesn't help, because double precision only doubles the number of significant digits; it doesn't double the maximum exponent. The second acceptable answer is that even when the intermediate values will fit, if they

are much larger than the answer, you can get unacceptable roundoff and truncation error. This is why sine routine calculations are "normalized" by the formula:

sin (x + 2tt) = sin x

What Prudence should have done is to replace x by the remainder when x is divided by 27r; that is, by x — (entier (x/2tt)) • 27r, where entier(z) is the greatest integer in the real number z."

93

Product Description:

OSI

Photo 1: The model 300 computer training board from Ohio Scientific Instruments. This is a one board computer that allows the novice to gain experience using computers before moving on to more advanced models. The 300 model has a memory write protect switch that converts all memory to read only. This protects any stored programs or data. It can be run for 20 hours from four alkaline D cell batteries for total portability.

Photo 2: Ohio Scientific Instruments' model 400 Superboard. The Superboard can be based on either a 6501, 6502, or 6800 microprocessor. It contains I K of programmable memory, 512 bytes of programmable read only memory, an AC IA with RS232 or 20 mA loop interface, and a peripheral interface adapter with 16 10 lines. The board comes complete with a construction manual that covers the construction and theory of operation.

Robert Baker 15 Windsor Dr Atco NJ 08004

Robert Baker wrote this review based upon literature supplied by OSI, a "sleeper" in the personal computing market which has been making some pretty interesting technology.

Ohio Scientific Instruments, OSI, was founded in 1975 by a group of educators and engineers to produce low cost products for education and the hobbyist. In the microprocessor field, their goal is to provide state of the art computer technology in affordable and easy to understand form. Operating overhead is held to a minimum keeping the cost of their kits as low as possible while all parts for their boards are said to be sold at zero profit. However, except for specially preprogrammed read only memories to be used in monitor systems, they sell only parts to populate their own boards.

Newcomers to the microprocessor world will be especially interested in the OSI model 300 computer trainer. The model 300, shown in photo 1, is a single board microcomputer based on the MOS Technology 6502 microprocessor with 128 bytes of memory and a 20 experiment lab manual that assumes no previous knowledge of computers or digital electronics. There are various controls and displays to load and examine memory, a sync line for easy triggering of oscilloscopes, and two input lines and an output latch for 10 programming. One nice feature of the trainer is a memory write protect switch that effectively converts all memory to read only memory, protecting any stored programs or data. The 8 by 10 inch (20.3 cm by 25.4 cm) board requires an external 5 VDC, 500 mA supply but will operate for about 20 hours from four alkaline D cell batteries so it can be completely portable.

For small hobby systems, OSI offers their model 400 Superboard, shown in photo 2, which can be based on either a 6501, 6502, or 6800 microprocessor with up to 1024 bytes of programmable memory, 512 bytes of programmable read only memory, an ACIA with RS232 or 20 mA loop interface, and a peripheral interface adapter with 16 IO lines. The Superboard is designed for future expansion utilizing a 48 line system bus common to the 6501, 6502, and 6800 microprocessors. This same bus will locally support the Intersil 6100 12 bit microprocessor as well as the soon to be an

94

nounced 16 bit byte at a time processors. The 8 by 10 inch (20.3 by 25.4 cm) double sided G10 board comes complete with a 50 page construction manual that also covers the theory of operation and includes specifications on all components used on the board. Optional, more complete documentation is available for the various microprocessors. Construction is straightforward but troubleshooting may be difficult if a scope is not available. Free advice is available via mail or telephone while a quick turnaround troubleshooting service is available at low cost directly through Ohio Scientific Instruments.

The model 430 Super 10 board provides two 8 bit digital to analog converters, an 8 bit tracking analog to digital converter, an 8 bit parallel 10 port, and any one of the following serial interfaces:

Baudot Teletype interface

8 level Teletype interface

Amateur radio frequency shift keying

interface

Audio cassette interface, Kansas City

standard Although designed for use with the model 400 Superboard, the 10 board may be used with many other systems including 8008 and 8080 based systems if timing precautions described in the documentation are observed.

Last summer a flier from OSI described their "315 plan" which rents you a computer trainer identical to the model 300 for two months. When you return the trainer you then receive a model 400 Superboard, 430 Super IO board, 440 Super video board, television typewriter and audio cassette monitor software and complete documentation. The plan is designed for the electronics hobbyist with little or no hands on experience with computers. It is said to provide a good understanding of both programming and hardware before actually building a model 400 based system. The three exchange boards provided in the 31 5 plan form a complete hobby computer system which may later be expanded as desired.

OSI also offers a memory expansion board, a backplane, a prototyping board, and various programmable and nonprogrammable read only memory monitors. Future products will include a video graphics board, a PDP 8 emulator, a floppy disk interface for the GSI model 105 diskette drive, and a basic firmware board for a calculator chip and programmable read only memory with onboard programmer. For a very descriptive flier and complete pricing information, write to Ohio Scientific Instruments, 11679 Hayden St, Hiram OH 44234."

THE COMPUTER HDDRI

SMALL COMPUTER SYSTEMS • SOFTWARE • AMATEUR RADIO EQUIPMENT

1455-ASo. 1100E. Salt Lake City, Utah 84105 Phone:801-466-7911

"WE TAKE THE

D83TC5U out of the NERD"

One Of The Nations Largest Full-Service Computer Stores.

Over 1600 Square Feet Of Sales And Service Facilities.

WHEN YOU WRITE FOR OUR CATALOG AND ENCLOSE $1 TO HELP DEFRAY THE COST OF HANDLING AND MAILING, HERE'S WHAT YOU GET:

1. A CERTIFICATE GOOD FOR $2 ON YOUR NEXT PURCHASE

2. the COMPUTER RL1QM easy to understand

CATALOG COVERING

I MSA I

THE DIGITAL GROUP

POLYMORPHIC SYSTEMS

SOUTHWEST TECHNICAL PRODUCTS CORPORATION

TECHNICAL DESIGN LABS

ETC.

3. the COMPUTER HQQIH -easy guide- to help you

PICK THE RIGHT SYSTEM, PERIPHERALS, COMPONENTS, AND SOFTWARE FOR

THE BEGINNER THE ADVANCED THE EXPERT THE SMALL BUSINESS

4. A CURRENTLISTING OF PRESENTLY AVAILABLE

SOFTWARE

PUBLICATIONS

PERIPHERALS

5. INFORMATION ON REPAIR SERVICE, LOW COST CUSTOM PROGRAMMING AND OTHER SPECIAL SERVICES.

at the COMPUTER RDQM your written questions

ARE HAPPILY RECEIVED AND PROMPTLY ANSWERED

WE ALSO STOCK A COMPLETE LINE OF AMATEUR RADIO EQUIPMENT

BANKAMERICARD MASTERCHARGE

95

Qlsssified Ads

FOR SALE: Altair 8800a with 8 K of static memory, ACR cassette interface, 2SIO 20 mA TTY interface, 8 K Altair BASIC (original), and all manuals. This system is fully assembled. The selling price is $1462. If you are interested please call (2011 343-5618 or write Arthur Brussack, 203 Bogert Rd, River Edge NJ 07661.

FOR SALE: Altair 88-4MCD 4K dynamic RAM memory board. Assembled by experienced kit builder and in good working order. $190 pp within USA. Write or phone Ronald Herman, 13 Simpson Rd, Windham NH 03087. (603) 893-6428.

WANTED: Selectric typewriter/terminal, appreciate info and/or offers to sell. Bill Mitchell, 5805 Farnham Ct, Hanover Park IL 601 03.

WANTED: IBM Selectric I or II & interface for computer. State condition and price. Bill Miller, 1278 Holley Rd, Webster NY 14580. (716) 872-0004, evenings.

WANTED: Western Electric model 804B1 data auxiliary set. Connects to WE 103A data set and looks somewhat like five button telephone. Craig Hjorth, 5122 Canterbury Dr, Cypress CA 90630. (714) 821-1689.

FOR SALE: Two Dura Automatic typewriters, paper tape, edit-control, Selectric printer. Need some repair. One is relay logic, the other is TTL. Has parallel IO ports. Contact Sheldon Linker, World Wide Dictation, 6399 Wilshire Blvd. Los Angeles CA 90048.

FOR SALE: One set consisting of unpopulated PACE CPU board, memory board, universal wire wrap breadboard, extender board, PACE data book. All boards are high quality professionally made, plated-through with gold edge contacts. Silk screened legends with part placement and value are on all boards. Asking $20 for all. Have extra CPU board for $7. For anyone who makes his own PC boards, I have a couple of real nice card racks that hold 6 cards each and have dual 22 pin edge connectors (wire wrap type), built in card guides for 5-3/4 inch cards of any height, and spacers (feet) for mounting. Asking $10 each. I'll pay postage on above items, money order please. Does anyone have a 8008 data book I could have/ borrow/buy? Steve Kelley, 9506 Peach St, Oakland CA 94603.

FOR SALE: Teletype equipment - model 28 ASRs, sprocket feed, $300 up. WU desk faxs. WU model 2bs. Model 14 and 1 5 parts. Model 28 parts, polar relays, ESUs, perforators, typing reperforators, TDs, etc. GW Hemphill, 132 Scott Swamp Rd, Farmington CT 06032. Phone 6-9 PM only (203) 667-0678.

FOR SALE: Burroughs L-2000 with A-562 paper tape punch and A-581 paper tape reader. Excellent condition. John Crosby, K4GBL, 2506 Devon Dr, Albany GA 31707. (912) 883-4420.

FOR SALE: Bunker flamo keyboard model 2200 (ASCII) and video display model 2217 combination with self contained power supply, schematics and manuals included, $90. Also model 15" and table $45, 14 TD non sync motor $10, 14 reperf $25. Local sale preferred. John Keslo, 5 Belvina Cir, Pelham NH 03076. (603) 635-2508.

FOR SALE: Creed TTY with interface hardware, $100. Ball 12 inch 10 MHz monitor in cabinet, $125. Two LSI-11 DRV11 parallel cards, $150 each. Jim McCord, 3710 State St, Santa Barbara CA 93105.

FOR SALE OR TRADE: Computer gear, ham gear, Heathkit HW-16, CW transceiver; HG-10B VFO; POLYCOM 62 VHF AM transceiver; WATERS 361 electronic keyer. All in excellent condition. Want to get into hobby computing. Russell Schnapp, 68-07 Main St, Flushing NY 11367. (212) 268-1431.

FOR SALE: MITS very low cost terminal, fully assembled, no case, $85. MITS four slot mother board, used, somewhat beat-up but serviceable, $8. IBM 2311-type disk drive, manufactured by Control Data Corp, 7.5 megabytes of storage for the price of a single floppy disk drive, $850. Will trade for ASR33 teletype, Altair compatible memory, or ?. James R Einolf, 3900 Fos Dr, Loveland CO 80537.

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 non-commercial, typed double spaced on plain white 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 BYTE.*

WANTED: Will buy or swap - send for list. Disk drive St/or controller, any condition. Floppy disk, any condition. Microprocessor boards, printers, peripherals, working or not. Send description and price to Bob Fallon, 3979 24th St, San Francisco CA94114. (415) 824-4997.

FOR SALE: IOMEC INC (DIGITRONICS) Model 2540 paper tape reader with factory power supply. Brand new in factory box with copy of manual. Reads 5, 6, 7 or 8 level tapes at 600 char per sec. First certified check or money order for $225 takes it, FOB my address. Also have assorted Teletype equipment and some new very high amperage 5 V power supplies. Robert R McCarthy, 341 Pearson Way NE, Fridley MN 55432.

TRADE: Will trade the first four issues of BYTE including that elusive #1 — for the May 1976 issue #9 and $5.TSgt John McGaw, 5049 BCSQ Box 669, APO Seattle 98742.

WANTED: I am missing issues 3, 8, and 9 of BYTE magazine. If you have them available for sale, contact me, Joel Walker, POB AE, University AL 35486.

FOR SALE: 1702 PROMs, unused. These require different programming than 1702AS. Address must be complemented just before data is applied. 16 PROMs (4 K bytes total) $50, with data. PW Rourke, 30 Garfield Dr, Newport News VA 23602.

FOR SALE: One set of INTEL 3000 series chips, Shottky Bipolar Microcomputer set. Includes 10-3002S, 2-3001, 10-3601 (256x4 PROM), 3212, 3003, 3226, 3214. Lots of documentation, books and data sheets. Completely unused. $250. David Bright, 4809 Broad Brook Dr, Bethesda MD 20014. (301) 530-2890.

WANTED: Operating or maintenance manual for Flexowriter made by Commercial Controls Corp, Model No FPC5P. Will pay for Xerox copy if necessary. Dwight Byfield Jr, 1383 Crespi Dr, Pacifica CA 94044.

CLEANING HOUSE: HP 523 with printer, Ampex TM-4 tape drive with manuals, CES tape drive, new with schematics. Process Tech boards, Altair boards. Large assortment of ICs and other mini and micro parts. Also have cassettes and paper tapes of assorted games for Altair 8800. Send stamp for list. Prices very reasonable. JA MacDonald, POB 5880, Baltimore MD 21208. (301) 484-6382.

INFORMATION WANTED: Anyone who owns a KIM-1 or other 6502 ^P, to exchange ideas and information. Write: Gregory F Hogg; 16 Wornom Dr, Seaford VA 23696.

FOR SALE: Complete set of first 12 issues of BYTE magazine, and one copy of the book Artist and Computer edited by Ruth Leavitt, together only $35. Send check or money order to Steven Sweeney, 10406 Holbrook Dr, Potomac MD 20854. All letters will be returned unopened after items are sold.

FOR SALE: Altair 8800 with two 4K dynamic memory boards, one 1 K static memory board, one audio cassette interface, one 2SIO serial interface and Info Tech terminal, $1400. All boards assembled and working. Philip Higgs, 7714 B-1 Bellstone, St Louis MO 63119. (314) 962-3184.

FOR SALE: Friden Programatic Flexowriter. Model SPS-8, 8 level code printer with ATR auxiliary reader and duplicator. Complete with all accessories. $500. Ken McBride, 2501 Poly Webb Rd #815, Arlington TX 76016. (817) 265-5245.

FOR SALE: Sphere 320 with SIM board (TTY & 2 cassette interfaces), video monitor, 4 K RAM. Assembled, burned in, working. Parts for modem. Immediate Delivery! List about $1875; asking $1600. Richard Tenney, RFD 2, Amherst MA 01002. (413) 323-4555 or (207) 633-2638.

WANTED: May 1976 issue of BYTE. H Cochran, 143 Beaverbrook Rd, Delran NJ 08075.

FOR SALE: ICC/MI LGO 4400/48, 4800 baud modems. List price currently is $4800 each. I have two for sale at $800 each, or both for $1500. These modems will operate in full duplex or simplex mode over normal unconditioned telephone lines. They have built-in equalizers and are interfaced through either EIA-RS232 or CCITT-V 24. Also, one ADS-448 data concentrator (four low speed lines to one 4800 baud line), $600. Jim Brick, 820 Sweetbay Dr, Sunnyvale CA 94086. (408) 247-0312.

WANTED: May 1976 issue #9 of BYTE magazine. Please reply with condition and asking price. Pete Bonk, 41AGreenhill Dr, Fishkill NY 12524.

WANTED: PDP 11/XX preferably without memory; BYTE issues #1 to 4 in fair to good condition; TEKTRONIX 465 scope; PDP UNIBUS compatible dual drive floppy disk. Ansel R Dickinson, 3520D Pan American NE, Albuquerque NM 871 08.

WANTED: I would like to buy a used or nonfunctional microcomputer and TTY, either homebrew or name brand. Would like price under $150 but send others. Write to: Mike Wixon, 1303 Whitfield Blvd. West Lawn PA 19609.

TRADE: C146A, 826MA, 860H for computer hardware, need not be working. Please contact Dale Hutchinson, 10818 Brentway, Houston TX 77070.

WANTED: Inexpensive ASCII terminals and/or likewise inexpensive computer systems, preferably with documentation. Please give price and condition. Any help appreciated. Contact: Floyd County Computer Enthusiasts, RR #2 Box 466A, New Albany IN 47150.

SWAP: TEC attache case telephone, converts instantly to regular car telephone. Need Altair/ IMSAl/POLY 88 mainframe, memory or whathave-you. G Shacter, 9465 Wilshire Blvd. Suite 518, Beverly Hills CA 90202. (213) 274-9834.

96

BYTE's Bugs

Identification Ambiguities?

I have a "constructive suggestion" to make about your editorial policy concerning articles on construction projects. I feel that all the uncommon ICs used should have a short name given in addition to the manufacturer's type number, and that it wouldn't be a bad idea for all the ICs, especially where the symbol is not a good identification. For example, take a look at page 51 of your May 1976 issue. IC7 and IC9 are quite understandable from their symbols, and types such as "7400" and "555" might be so commonly used as to need no introduction at all, let alone a short name, eg: "quad 2-input NAND" which would have fit in the table at the bottom of the page without taking additional lines. However, the other ICs are not too well known, and the "74265" does seem to be not at all well known. The symbols seem to indicate two ANDs and two buffers each with an additional complementary output in one package. However, I have not found this IC listed in the few sources which I have conveniently available: Lancaster's TTL Cookbook, list of Tl 7400 series in Cramer's 1976 Catalog, and the Motorola reference book on TTL /See Tl Supplement to the TTL Data Book, p. 76/. Also, unlike the other TTL ICs in this figure, it is not listed for sale in the ad on page 93 of the same issue. /It should be. I

Further RS-232C Comments

Re the BYTE's Bug (page 56) on RS-232 levels: I still don't think you have it quite right. An RS-232C (the C refers to the August 1969 version of this EIA standard, which is the most recent revision) driver shall give between —5 and -15 V for a mark and between +5 and +15 V for a space when given a load resistance in the permissible range of 3000 to 7000 ohms. The open circuit voltage is not to exceed 25 V in magnitude (and shall not result in a current of more than 500 mA when shorted to any other conductor in the cable including ground). However, any voltage more negative than —3 V shall be considered a mark and more positive than +3 V a space. Thus, there is a slightly different signal definition depending on whether you are a driver or a receiver. This is of some practical importance because there is a difference between equipment which meets the RS-232C standard and that which is "RS-232C compatible." This latter means that it will work with equipment which meets the standard. But there is no guarantee that two pieces of "RS-232C compatible" equipment will work with each other (although they usually will — with equipment from reputable manufacturers the incompatibility is usually on unimportant details). For example, a driver which swings between plus and minus 4 V will be interpreted correctly by an RS-232C standard receiver and a receiver which makes

I I

The Heathkit

catalog

features

nearly 400

fun-to-build

money-saving

electronic kits

A complete selection of invaluable equipment such as DVM's, VTVM's, oscilloscopes, digital and analog powe supplies and frequency counters. Also, electronic TV games, hi-fi and more.

Heath Co., Dept. 343-23, Benton Harbor, Ml 49022

Heath Company, Dept. 343-23 I Benton Harbor, Michigan 49022

Please send my FREE Heathkit catalog. I am not on your mailing list

Address

City_

I

CL-622

Zip.

MULLEN COMPUTER BOARDS

BOX 6214 • HAYWARD, CA. 94545

N AUAIR/IMIAI C

D NEW FOR TROUBLESHOOTINGO m- AND DEVELOPMENT: A SUPER M ■" EXTENDER BOARD FOR THE "2! ■VS-lOO BUSS. V

■^ •Built in, 3 LED TTL logic probe A

• Jumper links in power lines for easy

B current measurement and fusing 5

• Edge connector label identifies all pins

Outstanding instructions m\

Full width card; gold connector teeth

-AT YOUR LOCAL COMPUTER ■" —^ •STORES, OR ORDER BY MAIL. E

"D Ml: «?§

*

■CAVE)

97

101 Basic Computer Games

David H. AM. An anthology of games and simulations—from Acey-Deucey to Yahtzee, all in th« BASIC language. Contains a complete listing, sample run, plus a descriptive write-up of each game. Our most popular book! Large format, 248 pp. $7.50 [6C]

What to Do After You Hit Return

Another collection of games and simulations—all in BASIC—including number guessing games, word games, hide-and-seek games, pattern games, board games, business and social science simulations and science fiction games. Large format. 158 pp. $6.95 [8A]

Fun & Games with the Computer

Ted Sage. "This book is designed as a text for a one-semester course in computer programming using the BASIC language. The programs used as illustrations and exercises are games rather than mathematical algorithms, in order to make the book appealing and accessible to more students. The text is well written, with many excellent sample programs. Highly recommended." — The Mathematics Teacher 351 pp. $5.95 [8B]

Game Playing With the Computer, 2nd Ed.

Donald Spencer. Over 70 games, puzzles, and mathematical recreations for the computer. Over 25 games in BASIC and FORTRAN are included complete with descriptions, flowcharts, and output. Also includes a fascinating account of the history of game-playing machines, right up to today's computer war games. Lots of "how-to" information for applying mathematical concepts to writing your own games. 320 pp. 1976 $14.95 [8S]

So you 've got a personal computer.

Now what?

Creative Computing Magazine

So you've got your own computer. Now what? Creative Computing is chock full of answers — new computer games with complete listings every issue, TV color graphics, simulations, educational programs, how to catalog your LPs on computer, etc. Also computer stories by Asimov, Pohl, and others; loads of challenging problems and puzzles; in-depth equipment reports on kits, terminals, and calculators; reviews of programming and hobbyist books; outrageous cartoons and much more. Creative Computing is the software and applications magazine of personal and educational computing. Bi-monthly. 1-year sub'n $8.00 [ I A], 3- years $21.00 [ IB], sample copy $ 1.50 [1C]

Problems For Computer Solution

Gruenherger & Jaffray. A collection of 92 problems in engineering, business, social science and mathematics. The problems are presented in depth and cover a wide range of difficulty. Oriented to Fortran but good for any language. A classic. 401 pp. $8.95 [7A]

A Guided Tour of Computer Programming In Basic

Tom Dwyer una Michael Kaufman. "This is a fine book, mainly for young people, but of value for everyone, full of detail, many examples (including programs for hotel and airline reservations systems, and payroll), with much thought having been given to the use of graphics in teaching. This is the best of the introductory texts on BASIC." Creative Computing Large format. 156 pp. $4.40 [8L]

Problem Solving With The Computer

Ted Sage. This text is designed to be used in a one-semester course in computer programming. It teaches BASIC in the context of the traditional high school mathematics curriculum. There are 40 carefully graded problems dealing with many of the more familiar topics of algebra and geometry. Probably the most widely adopted computer text. 244 pp. $5.95 [8JTJ

A Simplified Guide to Fortran Programming

Daniel McCracken. A thorough first text in Fortran. Covers all basic statements and quickly gets into case studies ranging from simple (printing columns) to challenging (craps games simulation). 278 pp. $8.75 [7F]

The Best of Creative Computing — Vol. 1

David AM, ed. Staggering diversity of articles and fiction (Isaac Asimov, etc.), computer games (!8 new ones with complete listings), vivid graphics, 15 pages of "foolishness," and comprehensive reviews of over 100 books. The book consists of material which originally appeared in the first 6 issues of Creative Computing (1975), all of which are now out of print. 324 pp. $8.95 [6A]

Understanding Solid State Electronics

An excellent tutorial introduction to transistor and diode circuitry. Used at the Tl Learning Center, this book was written; for the person who needs to understand electronics but can't devote years to the study. 242 pp. $2,95 [9AJ

BYTE Magazine

If you are considering a personal computing system now "or later, BYTE provides a wealth of information on how to get started at an affordable price. Covers theory of computers, practical applications, and of course, lots of howto build it. Monthly. 1-Year sub'n $12.00 [2A], 3-Years $30.00 [2B]

Games & Puzzles Magazine

The only magazine in the world devoted to games and puzzles of every kind — mathematical, problematical, crosswords, chess, gomoko, checkers, backgammon, wargames, card games, board games, reviews, competitions, and more. Monthly. 1-Yearsub'n$12.00[3A]

Games With The Pocket Calculator

Sivasailam Thiagarajan and Harold Stolovitch. A big step beyond tricks and puzzles with the hand calculator, the two dozen games of chance and strategy in this clever new book involve two or more players in conflict and competition. A single inexpensive four-banger is all you need to play. Large format. 50 pp. $2.00 [8H]

Games, Tricks and Puzzles For A Hand Calculator

Watty Judd. This book is a necessity for anyone who owns or intends to buy a hand calculator, from the most sophisticated (the HP65, for example) to the basic "four banger." 110 pp. $2.95 [8D]

Computer Lib/ Dream Machine

Ted Nelson. This book is devoted to the premise that everybody should understand computers. In a blithe manner the author covers interactive systems, terminals, computer languages, data structures, binary patterns, computer architecture, mini-computers, big computers, microprocessors, simulation, military uses of computers, computer companies, and much, much more. Whole earth catalog style and size. A doozy! 127 pp. $7.00 [8P]

Computer Power and Human Reason

Joseph Weizenhaum. In this major new book, a distinguished computer scientist sounds the warning against the dangerous tendency to view computers and humans as merely two different kinds of "thinking machines." Weizenbaum explains exactly how the computer works and how it is being wrongly substituted for human choices. 300 pp $9.95 [8R]

BASIC Programming 2nd Ed

Kemeny and Kurtz. "A simple gradual, introduction to computer programming and time-sharing systems. The best text on BASJC on almost all counts. Rating: K+"-Creative Computing. 150pp. $8.50 [7E]

Microprocessors

A collection of articles from Electronics magazine. The book is in three parts: device technology; designing with microprocessors; and applications. 160 pp. 1975 $13.50 [9J]

Microprocessors: Technology, Architecture and Applications

Daniel R. McGlynn. This introduction to the microprocessor defines and describes the related computer structures and electronic semi-conductor processes. Treats both hardware and software, giving an overview of commercially available microprocessors, and helps the user to determine the best one for him/her. 240 pp. $12.00 [7C]

Creative Computing Catalogue

Zany 12-page tabloid newspaper/ catalog lists books, magazines, art prints, and T-Shirts. A conversation piece even if you don't order anything. Free. [5A]

Artist and Computer

Ruth Leavitt, ed. Presents^ personal statements of 35 internationally-known computer artists coupled with over 160 plates in full color and black & white. Covers video art, optical phenornena, mathematical structures, sculpture, weaving, and more. 132 pp. $4.95 [6D] Cloth cover $10.95 [6E]

CREATIVE COMPUTING, Dept. B P.O. Box 789-M, Morristown, NJ 07960

Please send me the following: Quan. Cat. Description

Price

Computer Science:

A First Course (2nd Ed.) ■

Forsythe, Keenan, Organick, and Stenberg. A new, improved edition of this comprehensive survey of the basic i components of computer science. There I has been an updating of important areas ! such as Programming, Structured Programming, Problem Solving, and other Computer Science Concepts. The quantity of exercises and problems has been increased. 876 pp.$16.95 [7D]

Mr. Spock Poster

Dramatic, large (17" x 23") computer image of Mr. Spock on heavy poster stock. Uses two levels of overprinting. Comes in strong mailing tube. $1.50[5B]

Books Shipping charge $1.00 USA, $2.00 Foreign

NJ Residents add 5% sales tax .

D Cash, check, M.O. enclosed

TOTAL.

□ BankAmericard

□ Master Charge

Card No.

Expiration date .

Name

Address

City

State

. Zip .

its decisions at plus and minus 4!4 V will correctly interpret an RS-232C standard driver. However, it is obvious that the nonstandard driver and receiver will not work correctly together. /I hope this is the last word.. . CH /

Henry E Schaffer

Professor of Genetics

North Carolina State University

Box 5487

Raleigh NC 27607 ■

A Glitch Pair in Close Orbit

Doug Anderson, of Control Process Corp, 201 Atwater St, Plantsville CT 06479, phoned in a couple of glitches in the copy of Gerald Herd's "A BASIC Star Trek Trainer," which appeared in September BYTE (page 40). The glitches appear at lines 1880 and 1940. At line 1880, the subscript of the matrix variable S is incorrect. That statement should read:

1880 LETS(2,J) = 0 The second glitch at line 1940 is an assignment operator which was mistakenly printed as a minus sign. Thus statement 1940 should read:

1940 LETR = ABS(R)

And, Notes on Conversion...

Doug has gotten the program converted to Altair BASIC which he is using for a demonstration "gee whiz" program for Control Process Corp's booths at trade shows. He reports that one of the major differences of the BASIC implemented by Altair relative to the Data General NOVA representation shown in Gerald Herd's article is that the computed GO TO and computed GO SUB syntax differs. Thus if you use the program with Altair BASIC, you'll have to change line 330 to read:

330 ON CGOSUB 790,920,1040,1140,

1180,1250,1310 and line 1610 read:

1610 ON Z GOTO 1620,1640,1850,

1730,1730,1780,1780,1780,1830,1830."

BYTE's Eits

Call For Papers: ICCH/3

We received an announcement of the Third International Conference on Computers in the Humanities, which is cosponsored by the Universite de Montreal and the University of Waterloo.

The conference will be held August 2—5, 1977 at the University of Waterloo, Waterloo, Ontario CANADA. Interested parties should send abstracts or papers on any topic regarding computers and their relation to the humanities to Professor Paul Bratley, Departement d'informatique, Universite de Montreal, Montreal, Quebec H3T 1J4 CANADA.

The deadline for abstracts or papers is January 15 1977."

All-new Phi-Deck:

precision remote controlled

cassette transports starting at

under $100!

Featuring:

• Re-engineered precision parts

• New cast frames

• 4 motor reliability

• Remotely controlled

• Precise, fast head engage/disengage

• Quick braking

• Various speed ranges

Electronic packages for control or read/write

For application In:

1. Micro processing

2. Data recording/logging/storage

3. Programming

4. Instrumentation

5. Industrial Control

6. Data duplicating

7. Security/automatic warning systems

8. Test applications

9. Audio visual/education

10. Hi-Fi

11. Others

I I I I I

allif-MBl A Division of The Economy Co. 1901 North Walnut P.O. Box 25308 Oklahoma City, Oklahoma 73125 (405) 521-9000

□ I am interested in application no

D Have Representative call □ Send application notes

Name

Company Name

Address

City

Title

_State_

Phone Number.

Zip_

VOLUME TWO VOLUME ONE

(©©fittlF^OtKllSS *«th « Englne.rBookkeepIng

iUSl SoFtware

Beam Conv. Filter Fit

Bond Building Compound Cyclic

At last a BASIC SOFTWARE LIBRARY is available written in BASIC, immediately executable in ANY computer; micro or mini.

* Vol. I - BUSINESS & RECREATIONAL, source codes, instructions, etc. 300 pg. *

* Vol. II - ENGINEERING STATISTICS 6 PLOTTING

Integration 1 Decision 1 Integration 2 Decision 2

Intensity Depreciation

Lola Efficient

Macro Flow

Max. MIn. Installment

Navald Interest

Optical Investments

Planet Mortgage

PSD Optimize

Rand I Order

Rand 2 Pert Tree

Solve Rate

Sphere Trlan Return I

a list of potential users, Instructions for ex- Stars Return 2

.i j ti.i ii ... ( lL . Track Schedule 1 ecutlon ana possible limitations that may arise Tp..BB,

I r lang le r »■■.. ■

u..i."i. Games

when running it on various systems.

plus BASIC Reference conversions, 250 pg. Included with each program Is a description,

Variable Vactor

• • • SPECIAL CHRISTMAS OFFER < • •

Volume I or II - $24.95 each Volume I S II — $39.95 set

add $2/Vol for handling

$4/Vol for air mall (Continental U.S.) or send SASE for Info.TO:

SCIENTIFIC RESEARCH

TiZfZZ °*pt 6 8

Post Office Drawer 2096 Ashland, Virginia 23005

Money Orders and Bank Card orders shipped same day. C.O.D. and checks take longer.

Animals Four

Plotting 4 Stat A"r°™"t

* Bagel

discounts available

Binomial

Chl-Sq.

Coeff

Confidence t

Confidence 2

Correlations

Curve

Differences

Dual Plot

Exp-Dlstrl

Least Squares

Pa I red

Plot

Plotpti PICTURES

Polynomial .

Regression ,*• „

Linus Ms. Santa Nixon Noel Noel

Nude Peace

Bagel

Bio Cycle

Cannons

Checkers

Craps

Dogfight

Golf

Judy

Line Up

Pony

Roulette

Sky Diver

Tank

Teach He

Stat 1

Stat 2

T-Dlstrlbutlon Unpa1 red Variance 1 Variance 2 XV

99

Tom Pittman and friend selling copies of his moderately famous Tiny BASIC for 6800 or 6502 at $5 per copy.

A representative of itty bitty machines expounding on the ins and outs of tiny computers.

Some Candid Shots from Personal Computing 76

Surprise! BYTE editor Carl Helmers receiving the "award" of an Honorary Lifeguard Certificate, signed by the mayor of Atlantic City, presented by John Dilks, cochairman of PC 76.

Marj Kirk was circulating around the Personal Computing 76 show in Atlantic City August 27—29, taking candid photos. As noted previously in BYTE, the show was quite a success, and is but a taste of things to come in the area of people and manufacturers gathering for enjoyment, relaxation and exchange of ideas. Future gatherings which we know about at this time include the First West Coast Computer Faire in the San Francisco Convention Center April 15-17, 1977, and the National Computer Conference's special section for personal computing June 13—16. (If your club or regional computer association is planning a big event, be sure to coordinate with us in advance.) These photos, wherever possible, have the people identified."

The Door Prize Drawing. John Dilks introducing the door prize event, with Dave Jones looking on

Ted Nelson, author of Computer Lib, a founding father of itty bitty machines (an Evanston IL computer store and idea factory) giving his talk at the banquet on Saturday August 28.

An interesting and human oriented application of computers was demonstrated by Digital Equipment Corp, which set up its LSI-il model railroad demonstration. Here's a theme dear to the hearts of many home computer people: applying the processor to a hobby.

m§

?""*

«u»

I***

(left). Numerous door prizes, large and small, were awarded, ranging from complete computers to books and other sundries.

A convention is a lot of work to organize. So much strain and so many sleepless nights caught up with John Dilks, Marl's camera catching him asleep on his feet. . . .

100

*

We've got it!

£-80 power for

the Altair bus.

Tom Kirk (left) of Technical Design Labs and Gordon French of Processor Technology at the cocktail party preceding the banquet.

Roger Amidon, designer of the TDL Z-80 processor board for the Si 00 bus, shown ho /ding the board which was demonstrated along with Roger's ZAPPLE monitor program.

Vkm

Robert Suding, designer of the Digital Group Systems and author of several recent BYTE articles, showing off his product. (Note that these photos were taken before the Digital Group's excellent new cabinetwork had been completed. A later appearance of the Digital Group at the WESCON show provided the first public appearance of the unique and professional styling now advertised by the company.)

1

|

John Whitney, maker of "Arabesque" and other visual fantasies created with the aid of computers, introducing his films.

Jan Nilsson, who probably travelled furthest to get to the show, with Steve Kay of Motorola at the cocktail party preceding the banquet. Jan heard about the show when his July BYTE finally got to Sweden one week before it occurred . . . and hopped a jet to the States to see what he could see. A dealer in I MSA I products, he's started what is probably the first retail computer store in Sweden.

The IBM hospitality suite drew numerous people, who were able to see and use the IBM 5100 personal computer in the form of three demonstration systems.

Presentation of the "Outstanding Computer Hobbyist of the Year" award to Sol Libes. Carl Helmers made the presentation as master of ceremonies for the banquet, with David Ahl of Creative Computing (left) and James Main, one of the co-chairmen of the PC 76 event, watching.

I

ITM

ii u i crirflLe

MICROCOMPUTING FOR HOME AND THE SMALL BUSINESSMAN

The professional publication bringing microcomputing technology to the hobbyist, small businessman, educator, engineer and student. Every issue edited to bring technology and people together in the simplest manner.

INTERFACE AGE is packed with

HARDWARE ARTICLES — Product profiles, comparisons, applications, modifications and construction projects.

SOFTWARE ARTICLES — Microcomputer development software, short software routines, application software, off-line software storage formats, software communication standards and access to the microcomputer software depository for all INTERFACE AGE readers.

TUTORIALS — Fundamentals of micro processors, basics for microcomputing, professional to technical transition information, understanding software, elementary math for computing.

• NEW PRODUCTS — Manufacturer profiles and latest product releases.

• USER COMMUNICATION — UPDATE — devoted to club and organization announcements and activities. — LETTERS TO THE

EDITOR — Reader forum for expression of opinions and feedback on articles and features.

• MICRO-MARKET/FIFO FLEA MARKET - Low cost/no cost advertising for the new marketeer/garage sale enthusiast.

If you need to know how to get started in microcomputing or need the valuable software once your system is completed then INTERFACE AGE is a must for you.

Don't Delay — Subscribe Today!

r

INTERFACE AGE MAGAZINE

1

P.O. Box 1234 Cerritos, CA. 90701

Name.

12 Monthly Issues:

$10 U.S., $12 Can./Mex.,

$18 International

D CHECK

□ MONEY ORDER

Address

City

Country .

State

Zip.

L

MAKE CHECK PAYABLE TO: INTERFACE AGE MAGAZINE

J

Continued from page 12

copied into the computer, the programs, written in BASIC, can be used by individual students to deepen their understanding of selected mathematical concepts, or to sharpen their mathematical skills. The programs are of four kinds: tutorial, simulation, data reduction, and demonstration, and are keyed to leading textbooks in secondary school math.

The programs help the student to: Develop the ability to estimate square roots; the values of polynomials; powers of A for various values of A and x; logarithms to various bases; the roots of linear, quadratic and cubic equations; sines, cosines and tangents. Develop the ability to analyze quadratic equations, use trigonometric identities and laws, and factor trinomials. Develop an understanding of parabolas, hyperbolas, circles, ellipses, and other conic sections; higher order polynomial equations and transcendental equations through numerical and graphical analysis; and the concepts of equally-likely, proportions of outcomes, probability, the area/probability and volume/probability relationships, and calculus. Demonstrate that every rational number has a repeating decimal representation. Define n by calculating the circumference of the unit circle and as the area of the unit circle. Use Newton's method to find a real root of higher order polynomials and transcendental equations.

4. Problems for Computer Solution by Gruenberger and J affray, 401 pp, $8.95.

A collection of 92 problems for computer solution, many dealing with mathematical topics including evaluating a polynomial, solution of algebraic equations, Hastings approximations, factorials and subfactorials, permutations, Latin squares, prime numbers, chained primes, power residues, primitive roots, calculation of n, etc. There is a lot of a priori help, but no completed programs. The authors had FORTRAN, not BASIC, in mind. But it doesn't matter. A classic.

5. Problems for Computer Solution by Stephen Rogowski, Student's edition, 113 pp, $3.95; Teacher's edition, 279 pp, $9.95.

The student edition of this book challenges the student to "write a program to . . ." do 90 different assignments in arithmetic, algebra, geometry, trigonometry, number theory, probability, statistics, calculus and science. There are hints at the

ALTAI R 8800 OWNERS

* Does your Altair crash when the lights dim?

* Is your Altair power supply inadequate for all the memory and I/O that you'd like to run?

Then you need the unique Parasitic Engineering ConstantVoltage Power Supply Kit. A custom engineered power supply that installs easily in your Altair 8800 or 8800a mainframe. It has performance no other Altair power supply can match.

* Full 12 amp output with line voltage as low as 90 volts or as high as 140 volts.

* Isolation from power line fluctuations and noise.

* Protected against overloads.

Don't let power supply problems sabotage your Altair. Order your kit TODAY.

only $90

postpaid in the USA.

Ca residents add $5.40 sales tax.

PARASITIC ENGINEERING

PO BOX 6314

ALBANY CA 94706

/C- 0\ SALES. EXECUTIVE OFFICES & WAREHOUSE

(jclSfX^r- RESCO ELECTRONICS Airport Industrial Park / A

rport and Cenlral Hwys.

,— ,,,, ' n*** ('«•'■'s*»m Co. ot p*. Pennsauken. New Jersey 08110 ^y^/y ^ "•'* ■'"" (215) 925-6900 • (609) 662-4000

MAIL ORDER SOURCE FOR MOTOROLA

MPU PARTS

MPU KIT

MER 68002 Evaluation Kit II

$235.00

P.C. Board Alone

50.00

MPU Kit Assembler/Editor

250.00

MPU FAMILY PARTS

MC6800L8 Bit MPU

$35.00

MC6820L PIA

15.00

MC6950L ACIA

15.00

MC6852L SSDA

19.00

MC6860L Modem (600 BPS)

17.00

MC6810AP 128x8 RAM

5.50

MC6880P Bus Extender (8T26)

4.90

CMOS 7 NMOS PARTS FOR MPU SYSTEMS

MC14410P 2 of 8 Tone Encoder

$10.21

MC14411P Bit Rate Generator

11.60

MC14412VL Universal Low Speed Modem

21.74

MC14415EVL Quad Precision Timer

11.42

MC14419P Keypad to Binary Converter

3.59

MC14435VP3V2 Digit A/D Logic MC14503BCP Hex Bus Driver

10.58

1.28

MC14536CP Programmable Timer

6.63

MC14549BCP Successive Approximation Register 7.17

MC1408L6 7 Bit D/A Converter

6.55

MC6571 P 128 x 9 x 7 Character Generator

11.25

DATA BOOKS

Linear

$3.30

McMos

2.75

McMos Handbook

3.30

Semiconductor Selector

2.20

Bipolar Digital Logic

2.20

MPU LITERATURE

Programming Manual

$10.00

Applications Manual

25.00

System Design Data

2.20

Exorciser User Guide

5.50

Data Sheets

$.50 ea.

$10.00 minimum order $2.00 postage & handling

5% Tax NJ

residents Delivery: stock to 4 wks Money Order

or Cashiers

Check only.

TIRED OF THE PARTS ORDERING PROBLEM

..COME TO

RESCO FOR YOUR M6800 MPU SYSTEM.

103

BYTE's Bits

solution and references to texts. The teacher edition contains one or more BASIC programs the author wrote to accomplish each assignment, plus his analysis.

There are also resource books for physics and chemistry:

6. The ENTELEK Computer-Based Physics Lab by Richard A Rader, 133 pp, 8-1/2 X 11, ISBN 87567-035-0, $14.95.

This contains 10 computer programs for use in an introductory physics course. Once loaded into the computer, the programs, written in BASIC, can be used by individual students to expedite the production of tables of data by eliminating the tiresome chore of repeatedly calculating the same physical quantity from multiple measurements. The experiments to which the programs apply are found in numerous physics curricula, including those of Harvard Project Physics and the Physical Science Study Committee. They deal with Snell's law, Kepler's second law, the simple pendulum, speed and acceleration, momentum and kinetic energy, charge of ions, focal length, characteristics of simple electrical circuits, wavelengths of light, mass of the electron, etc.

7. Chemistry with a Computer by Paul Cauchon, 188pp, 8-112 X 11, $9.95.

This book contains 26 computer pro

grams for use in any chemistry course at the high school or college level. The programs, written in BASIC, are of three kinds: tutorial, simulation, and problemgeneration. Representative tutorials include exercises with Beer's Law; mass, volume, and density; equilibrium constant; and exponential notation. Simulations include Rutherford's gold foil experiment, qualitative analysis, and the law of heat exchange. Representative problem-generating programs include names and formulas for salts and related acids, and problems on titration and normality, combining volumes and masses of hydrogen and oxygen, etc.

The seven books are divided as to their objective and approach. Three require the student to write a computer program pertaining to some math topic (2, 4, 5). Four list programs which, once loaded into the computer, perform some useful pedagogical task (1, 3, 6, 7). All the above books, plus Computer Resource Book — Algebra by Dwyer and Critchfield ($4.20), can be purchased from ENTELEK Computer Books, 42 Pleasant St, Newburyport MA 01950, and, like Professor Bell, we would be interested to hear about any other computer resource books, either in print or in preparation.

Albert E Hickey ENTELEK Computer Books"

What Is It, 2

What Is It?

"An inking device for hard copy impact Photo 1. printers."

The photograph published last month was a cross section of ink bearing plastic manufactured in the form of the roll shown here. The holes (see photo 2) are designed to meter the flow of ink out to the print mechanism during the life of the ink roll, and the spaces in the foam plastic are filled Photo 2. with the ink supply. This material is manu

factured by Porelon Inc, Racine Wl, and is' sold only to printer manufacturers on an OEM custom basis. But if you see a selfinking printer without a ribbon at your computer store, chances are it uses this technology to put the ink on the print wheel, print drum, etc."

New Directions for Distributors

mpu

Semiconductor Specialists Inc, an industrial distributor, will now cater to the home computer enthusiast by establishing twelve MPU Shops at their twelve US branches. The first was opened in the Chicago area at the company headquarters on October 15.

The MPU Shops will have working models of five microprocessor kits, three nonassembled kits, plus four additional microprocessor chips not in kit form. Two complete developmental systems will be available. In addition, books, power supplies, tape readers and accessories in kit form will be carried.

Paul Carroll, president, explains: "The industrial distributor has never really catered to the hobbyist, but always allowed cash sales because many engineers and buyers from industry bought small quantities for their personal use. With the advent of the microprocessor, a whole new market of computer users has developed. These people are engineers, programmers, and technicians from industry who are learning, designing, and programming microprocessor systems at home. They want a place to browse, read, have hands on practice, and see what they are buying. The MPU Shops will have the advantage of supplying many of the extra transistors or ICs they need to input or output their system. The fact that many of these "Computerists" will end up designing and specifying a future system for their employers is why Semiconductor Specialists is interested in this growing market. Mail orders as well as credit cards will be accepted by the MPU Shops. Semiconductor Specialists Inc is located at POB 66125, O'Hare International Airport, Chicago IL 60666."

104

microcomputer^K x 8 RA^rSK

.**

.-^'

**>

r*v»,

San Francisco Bay Area—where it all started—finally gets its act together. 7,000-10,000 PEOPLE ■ 100 CONFERENCE SESSIONS ■ 200 COMMERCIAL & HOMEBREW EXHIBITS 2 BANQUETS ■ SPECIAL INTEREST SOCIAL CENTERS San Francisco Civic Auditorium, Northern California's Largest Convention Facility

YOU Can^BeXlPart Of It:

■ Some of the things you can do are:

Exhibit a Homebrewed System

• Hardware or Software

• Prizes for Best "Homecooking" (just like a country fair)

• Nominal Grants-ln-Aid Will Help With Exhibit Transportation Costs

(grants will be refereed) Present a Talk

• A Formal Paper

• An Informal Talk Serve on a Panel

• As a Panel Member

• As the Coordinator/Moderator Give Suggestions

• Topics for Talks & Panels

• Speakers & Panel Participants

• Interesting Exhibits (homebrewed or commercial)

• Special Activities

■ Quick, write or call for more details! Jim Warren, Faire Chairperson Box 1579

Palo Alto CA 94302 (415) 851-7664 v 323-3111

^a,^***! 15-17,

Some of the Conference Sections being planned:

• Computer Graphics on Home Computers

• Computer-Driven, & Computer-Assisted Music Systems

• Speech Synthesis Using Home Computers

• Computers & Amateur Radio

• Microprogrammable Microprocessors for Hobbyists

• Program & Data Input via Optical Scanning

• Floppy Disc Systems for Personal Computers

• Computer Games: Alphanumeric & Graphic

• Computers & Systems for Very Small Businesses

• Personal Computers for the Physically Handicapped

• Personal Word-Processing Systems

• Software Design: Modularity & Portability

• Personal Computers for Education

associated with a Univ. of California short-course

• Several Sections Concerning Standards

• Other Sections for Club Leaders, Editors, Organizers, etc.

Co-Sponsors include amateur, professional, & educational groups:

• The Two Largest, Amateur Computer Organizations

Homebrew Computer Club

Southern California Computer Society

• Both Area Chapters of the Association for Computing Machinery

San Francisco Peninsula Chapter Golden Gate Chapter

• Stanford University's Electrical Engineering Department

• Community Computer Center

• People's Computer Company

©1976 by Computer Faire

Using Interrupts

to Speed Up an ELM

G H Gable

419 Jackson St

Grand Ledge Ml 48837

Software systems are always subject to improvement and extension. The Eloquent Little Monitor is no exception. In the basic ELM monitor, described in my article in June BYTE, page 66, input and output to and from the terminal is handled in a fairly simplistic way. In the case of output, when a byte is ready to be printed, the terminal port is addressed and the byte is dumped onto the 10 device. If the terminal is ready, it accepts the byte and prints it. If the terminal is not ready, for instance, if it has not finished printing the last byte, the processor idles, waiting for the terminal to be ready, before actually outputting the byte. If the terminal is a Teletype, it takes 100 ms to print each byte of output. In that time, a typical microprocessor will go through 100,000 machine cycles. Input from the Teletype is even slower because almost nobody can type 10 characters per second. It is easy to see that with such an IO scheme nearly all of the processor's time is spent waiting, either for the next input byte, or for the terminal to be ready to accept the next output byte.

This apparent inefficiency of wasted processor time is not a problem for a dedicated program such as ELM since there is just nothing else for the processor to be doing. The problem, however, might be dramatized in a user program that calculates and prints a series of ten digit numbers. Let us say that each number takes one second to calculate and then one second to print out the ten digits. The real computer time is two seconds per number. During the second second the processor spends most of its time waiting for the printer to be ready. The real time it takes to finish the job could be cut nearly in half if the processor could use the wait periods to be calculating the next number in the series. Such a system is called overlapped output.

The speed problem is just as acute with very fast peripheral devices which handle data at a fixed rate. An example is the disk storage unit. A typical hard surface disk can handle data at the rate of 250,000 bytes per second or 4 lis per byte. Many microprocessors cannot execute even one instruction before the next byte is in position on the disk. If data is stored sequentially on a track, the best the processor can do is access each sequential byte in one plus revolutions of the disk. Such a scheme is 4000 times slower than being able to access each byte as it comes up. Clearly what is needed in this case is the ability for the disk to directly access the central memory in less than 4/is.

The fundamental object in interfacing peripheral devices with the central processor is to optimize the operation of each unit. Time is the factor which must be handled; first, in the sense of the great speed differential between the peripheral device and the central processor, and second, in the sense that the peripheral device and the central processor are asynchronous; that is, that the device does not start and stop its operation at any specific time relative to the processor. The speed problem is handled by system software which controls the data flow. The asynchronous timing problem requires some control level communications between the central processor and the peripheral device. Such control communications are handled in most computers by an interrupt structure.

Interrupts

Computers are a lot like people in that many of them tend to be very single-minded. It is difficult to talk to them when they are busy doing something else. The processor interrupt is a sort of electronic tap on the shoulder which causes the processor to stop doing whatever it was doing and give the

106

shoulder-tapper its undivided attention. This is how the interrupt oriented peripheral device communicates with the central processor. When the device wants to tell the processor something, it first sends an interrupt signal on the control bus and then, in some fashion, transmits the message. When the processor receives the interrupt signal, it stops processing at the end of the current instruction and accepts the message. It then takes some action on the message.

The interrupt structure of the processor and the peripheral device are hardware functions, while the message processing is done by system software. There are many different hardware schemes and, of course, nearly as many software routines as there are computers in the world. Messages are transmitted to the processor via two basic routes. One method will send the message as a set of control signals on a control bus, while the other method sends the message as data on an 10 bus. If the interrupt signal is considered as part of the message, then the 10 bus route is always augmented by the control bus route.

The message essentially has two parts, an identification of the source and the content of the message. There are three commonly used methods for handling the message after it arrives at the processor. One scheme simply causes one bit, determined by the message, to be set in an interrupt register in the processor. This scheme is known as a linear interrupt. It is quite restrictive on small word size machines, but is commonly used on processors with larger word lengths. Another method is to simply store the message in the interrupt register and let software analyze it. The third scheme does not store the message at all, but causes a jump to a location specified by the message. This method is called a vectored interrupt. After the processor has stored the message in

Some Assumptions . . .

The Eloquent Little Monitor (ELM) extensions as described here are designed to "play" with a computer which has the following hardware features:

• Vectored interrupts.

• Direct Memory Access (DMA) block oriented IO for a tape unit.

• Polled (non interrupt) character input operations.

• Interrupt oriented character output operations, with interrupts taking place at the end of a character's data transfer.

The use of this program with other IO schemes is of course possible, with modifications. For instance, vectored interrupts can be simulated if the source of interrupts is determined in software; a DMA operation could be simulated by explicitly writing a byte by byte block data transfer routine, etc.

the first two schemes, it stores the program counter and jumps to a predefined location to execute an interrupt processing routine. In the third scheme, the processor stores the program counter before making the vectored jump.

In virtually all interrupt structures there is some provision for disabling interrupts, either totally or selectively, by software. This provision is essential because there are times when an interrupt would be inopportune, such as when another interrupt is being processed.

In addition to the message type interrupt, most processors implement some very special interrupts. One of these is the reset line in the control bus. When a signal is put on this line, the processor stops executing the program and jumps (for example) to location zero. This allows the user to manually invoke the monitor at any time jumping to the command processing section of the monitor. At deadstart or after a reset, the monitor is in the command mode.

Direct Memory Access

Another special interrupt often present in general purpose computers is the direct memory access (DMA) hold line in the control bus. A signal on this line halts processing and puts the three state memory data and address buses into a high impedance disconnected state. A peripheral device controller may now directly access central memory for input and output operations. The principal advantage of DMA is that data does not have to pass through the

107

■•-POINTER

l—^-T

Figure 2: A circular buffer is conceptually a ring although in memory it is actually a region from HEAD to TAIL. Two pointers are maintained for a circular buffer: The IN pointer gives the next available location, and the OUT pointer gives the next location to be used by a processing program. In hardware, a circular buffer corresponds roughly to an integrated circuit called the first in first out memory, sometimes abbreviated FIFO.

Figure I: A buffer is a temporary place to store data. A linear buffer is a region of memory from locations HEAD to TAIL. When data is processed location by location, a POINTER address variable is used to keep track of the present location.

central processor registers. Input and output can be done essentially at memory access speeds. The controller takes data from sequential memory locations and passes it to the peripheral device, or vice versa. Communication about the status of the device is handled by the normal interrupt line. This all takes fairly sophisticated hardware in the controller, which must be able to count, increment addresses and test to see when an operation is complete. Such capability implies that the controller is actually a special purpose computer processor itself. DMA controllers are often called "intelligent data channels." On many large computers, data channels can actually execute a small instruction set and have their own memories. Current minicomputer peripherals makers often in fact use microprocessors as the DMA controllers of slower speed devices.

DMA can solve the earlier mentioned disk problem where the central processor was too slow for the disk. The DMA controller, with its few simple hardware instructions, can transfer data to and from the disk in less than the 4 p.s required.

Buffering

In cases where the peripheral device is considerably slower than the central processor, the data exchange must be carefully controlled. If uncontrolled, the torrent of data from the processor would literally flood the device. Data flow can be controlled by buffering in much the same way that a fast river is controlled by damming. Data can be put into a buffer at processor speeds and then removed at peripheral device speeds and vice versa. Speed buffering is essential for DMA operations. The central memory area accessed by the DMA controller is the buffer. The user program loads or unloads it at processor speeds while the controller

loads or unloads it at its speed. Besides speed buffering the buffer implements other desirable features of computer operation. Input line buffering in a monitor such as ELM is particularly important since it allows editing of the line before processing. Output buffering for user applications facilitates the overlap of output operations with program execution.

Input and output buffers can be in user memory, monitor memory or in a peripheral device controller's memory. One, two or all three of these buffer areas may be used in a scheme for input and output. So-called double buffering can be very time efficient at the expense of memory space. In addition to the sequential memory area occupied by the actual data buffer, buffer pointers, parameters and status bytes need to be stored. A buffer memory region has three basic parameters: its starting address (HEAD), ending address (TAIL) and the number of bytes in the buffer (LENGTH). Any two parameters must be known; the third can be calculated. In addition, a variable called the buffer pointer (POINTER) shows which byte is to be accessed next. Status bytes indicate some condition of the buffer, such as ready to be filled, ready to be emptied, etc. (In the figures accompanying this article, the letter P is used for the pointer.)

A linear buffer (figure 1), is simply filled up beginning at HEAD and drained in the same way. Filling always begins at HEAD. After each byte is put in or taken out, the pointer is incremented. A circular buffer can be filled and drained continuously and simultaneously. It has two pointers as shown in figure 2. IN points to the next byte to be filled and OUT shows the next byte to be removed. Of course, the circular buffer is just a linear array operated in a circular way. When a pointer is greater than TAIL it is set

108

to HEAD. Some ambiguity occurs when IN is equal to OUT; the buffer is either full or empty. Usually, circular buffers are defined as full when they contain LENGTH-1 bytes of data. Needless to say, circular buffers are somewhat confusing and difficult to implement. However, for certain situations they are very efficient.

Physical Records

It is convenient, and sometimes necessary, to transfer data to and from a peripheral device in some standard size block. For instance, a 1403 line printer prints a whole line of 133 characters at a time. It needs to have all the characters in the line before it can print. Such a basic block is called a physical record unit. Most disks are addressed by sector and a typical disk sector holds 256 bytes. Thus, a disk physical record unit would be 256 bytes. The physical

record unit size is set by the peripheral device and its controlling hardware and represents the smallest number of bytes to be handled at one time. A serial device such as a Teletype or UART can have a one byte physical record unit, or a larger physical record unit can be defined by the controller. Naturally, buffers for a particular device must be at least one physical record unit long with longer buffers having an integer number of records. To be efficient, a circular buffer will have: LENGTH = (n*PRU)+1, where n is greater than one and PRU is the physical record unit length in bytes.

ELM Extensions

Software control of input and output is best done in the form of user callable subroutines located within a monitor. The remainder of this article describes such

A Vectored Interrupt Example

Let's take a look at how a vectored interrupt structure might work on a machine which uses a hardware stack for program control, dedicates a page of memory for interrupt vector jumps, and incorporates a three state system address bus. The diagram illustrates what such a system might look like: a processor, address and system data buses, control bus, and IO devices which have preassigned 8 bit interrupt vector addresses.

Suppose that the controlling hardware for a printer has been set up to produce an interrupt after it has finished printing a character and is ready for the next data byte.

The interrupt is initiated by the printer controller putting a signal on the "wired OR" interrupt line of the control bus. If the interrupts have been disabled, the processor would ignore the signal and the printer controller would keep its request pending until interrupts are again enabled. The processor finally acknowledges the interrupt by putting a signal out on its interrupt acknowledge line to the control bus, and then freeing up the three state address bus by disabling its own buffers.

After receiving the acknowledgement, the printer controller puts the address of its interrupt vector location on the address bus as high order zeros and an 8 bit page 0 address. The processor, which is now synchronized to the controller, reads the address into a temporary register, then again asserts control of the address bus after the printer controller has done its work. The processor then stores the old program counter content by pushing it into the hardware stack, moves the interrupt vector address from the temporary register to the program counter, and proceeds to begin executing instructions at the interrupt vector location.

In this example, the interrupt looks exactly like a subroutine call. The IO device supplies an address in the first 256 locations of memory, which act like a jump table to pick individual device handling routines. Again referring only to this hypothetical example, if each entry in the interrupt vector table takes three bytes, then an interrupt could be vectored to any one of 85 different processing

PROCESSOR

THREE STATE DATA BUS

THREE STATE ADDRESS BUS

CONTROL BUS

I

TO OTHER ' DEVICES

L

-REOUEST '-VECTOR LDATA

ACKNOWLEDGE ADDRESS

PRINTER CONTROLLER

subroutines in the monitor program. Thus 85 different interrupt messages could be processed with this structure. When processing is completed in such a system, the IO handler subroutine would perform a "return from subroutine" operation to get back to the program which was interrupted at a point just following the last instruction executed before the interrupt. The author's prototype ELM was designed and implemented for a computer with such an interrupt structure.

Vectored interrupt structures of this type can often be found in minicomputers, and sometimes can be adapted to the hardware of a microprocessor system. For example, use of the 8080's RST instruction to select one of eight branch locations following an interrupt is a rudimentary form of vectored interrupt. The primary hardware advantage of a true vectored interrupt is speed; a software simulation is of course possible with a dramatically longer response time.

109

STATUS

1

USER BUFFER POINTER

1

1

MONITOR BUFFER POINTER

1

Figure 3: Buffer Control Block. When buffering is used to allow overlap of processing with 10 operations coordinated by interrupts, a buffer control block consisting of two pointers and control flags can be a useful construct. In the ELM case, the first two byte pointer is set to the address of the current user buffer, and the second two byte pointer is set to the address of the current monitor buffer used by the 10 routine. The flag called STA TUS in the first byte of this five byte control block example is used to coordinate the 10 tasks with the user's program.

( READ )

PUT USER BUFFER ADDRESS IN CONTROL BLOCK

CALL INPUT;

TRANSFER MONITOR

BUFFER DATA

TO USER BUFFER

( INPUT J

[ RETURN; J

Figure 4: The READ routine specified as a flow chart. In this updated version of ELM, input from the user's keyboard is accomplished using READ. The buffer area called MB is used to accumulate a full line of data. Then the second buffer area called UB is assigned the value just read. Block assignments of this type: UB := MB; can be accomplished either by physically moving the data (slow), or by switching pointers (fast).

IGNORE ANY

EXCESS : _

I CHARACTERS [ "» I I

I I

1 READ

\character;

ECHO PRINT , ^CHARACTER/

YES

' P-l;

ILINE DELETE/ \ MESSAGE /

STORE END

MARK

AT MB(P)

STORE CHARACTER AT (P)

P: ■ TAIL;

( RETURN; )

Figure 5: The line INPUT routine specified as a flow chart. This updated version of INPUT (see earlier version given as figure 4 on page 69 of June 1976 BYTE) is written to use the linear buffer MP with control variables HEAD and TAIL, plus buffer pointer P. This version of INPUT also checks for a carriage return end of line indicator, as well as buffer overflow. End of line is indicated by storing of an "end mark" character in the buffer. The notation (P) indicates that address P is being referenced within memory address space. For input and output, (P) is assumed to be within the bounds of MB, the monitor buffer area from HEAD to TAIL. (In the previous article, P was an index value; in this article P is assumed to be a full address value.)

110

subroutines in the ELM monitor designed with the principal objectives of easy user use and time efficiency.

Even though the basic structure of the monitor subroutines is machine independent, it is necessary to describe them relative to specific hardware. Alterations can easily be made to fit other hardware environments. This particular system has two peripheral devices: a Teletype, which is the human interface, and an incremental tape drive used for mass storage. The central processor is an 8 bit stack machine with vectored interrupts, similar to the machine described in the "Vectored Interrupt Example" accompanying this article.

The Teletype has a hardware controller as part of the interface which transmits and receives ASCII characters whenever addressed. The controller sends an interrupt signal only when it has completed an output operation. The interrupt address transmitted on the 10 bus is 3. It also sends a reset signal whenever the escape key (ESC code) is pushed. Input and output with the Teletype is double buffered using linear buffers. One buffer is in the user program while the other buffer, which actually exchanges data with the terminal, is in the monitor. Each buffer is 72 bytes long, a standard Teletype line. When the user program requires input data, it places the address of the head of its input buffer in a central processor register and makes a subroutine jump to the READ subroutine. The monitor reads a line from the terminal into its buffer. This line is completely editable; characters can be removed by the underscore or the whole line can be deleted with CONTROL X, just as in the original ELM described on page 66 of June 1976 BYTE. When the carriage return is received, signalling the end of the line, the whole line is transferred to the user buffer. Output is handled in essentially the reverse order. The user program again puts the address of its output buffer in a processor register and calls the PRINT subroutine. A transfer is made to the monitor buffer and output is begun. The big difference is that output and program execution are overlapped using interrupts.

In addition to the buffer, this new version of ELM keeps a five byte buffer control block as shown in figure 3. The first byte is the status byte which indicates whether the buffer is "ready," "busy" or in "standby." The next two bytes are the user buffer pointer for use by the monitor when making buffer transfers. The last two bytes are the monitor buffer pointer.

Figure 4 shows the user callable subroutine READ. P represents the monitor

ALTERNATE ENTRY

( OUTPUT V

POINT

(USED BY INTERRUPT SERVICE ROUTINE SEE FIGURE 7 )

( PRINT J

PUT USER BUFFER ADDRESS IN CONTROL BLOCK

I 1

TRANSFER USER BUFFER —I CONTENTS TO I

I MONITOR

|_BUFFER_

PRINT CR.LF

STATUS ■ STANDBY;

( RETURN, )

Figure 6: The PRINT routine specified as a flow chart. This routine makes use of the printer interrupt service routine which calls the entry point OUTPUT. Output is started by printing a character; thereafter, output continues as each interrupt causes OUTPUT to be called.

111

[ PRINTINT J—

DISABLE INTERRUPTS

SAVE STATE

CALL OUTPUT, (FIGURE6)

RESTORE STATE

ENABLE INTERRUPTS

( RETURN; J

| ENTERED -I AFTER PRINTER 1 INTERRUPT I REQUEST I

"~l

| STORE AWAY

—I

I CONTENTS OF ! ALL CPU DATA

USED DURING I INTERRUPT I SERVICE I I

STATUS :• READY;

Figure 7: The printer interrupt routine, PRINTINT, specified as a flow chart. One basic formula for an interrupt handler is: disable further interrupts, save the processor state, handle the interrupt, restore the processor state, enable interrupts and return. This plan is evident in the PRINTINT routine. The processing of this interrupt consists of testing the flag byte, ST A TUS. If the flag is not in the standby state, a byte is written using OUTPUT (see figure 6).

( TAPEINT J

I

I ENTERED j AFTER TAPE | INTERRUPT | REQUEST

DISABLE INTERRUPTS

STATUS: READY;

I STATUS CHANGE I lENABLES TAPE I ""I ROUTINES TO I |PROCEED I

I J

ENABLE INTERRUPTS

( RETURN; J

buffer pointer and HEAD is the head of the buffer. This subroutine calls the actual input subroutine INPUT, figure 5, which is the same INPUT described for the original monitor. When the user program calls READ the terminal may still be printing a line of output, thus the status is not ready. A loop at the top of READ waits for the buffer to be ready for the input operation. The input sequence is closed, keeping control until the whole line is read, so it is not necessary to mark the status busy. When reading is complete the line is transferred to the user buffer through the carriage return byte. During the transfer the respective buffer pointers are incremented in the control block.

The output subroutine PRINT is shown in figure 6. There is another subroutine called OUTPUT for the actual output operation. If the output line is less than 72 characters, it is terminated by a zero byte (NUL code). The user buffer is transferred to the monitor buffer from the HEAD through the zero byte. After the transfer the first byte is sent to the terminal and control is returned to the user program. The first byte transfer then begins, to be followed by an interrupt. When the printer is ready for another byte it produces the interrupt which begins execution of the interrupt subroutine shown in figure 7. This subroutine calls OUTPUT for the next byte and again returns control to the user program. Notice that when the last byte is sent, which is a line feed (LF code), the buffer status is marked standby. When the terminal has completed the line feed it sends an interrupt which causes the status to be marked ready again. Virtually complete overlap of output with program execution is achieved.

Both input and output to the Teletype are handled through one monitor buffer since these operations may not occur simultaneously. The user may find it convenient to have separate input and output buffers in the program. There is no conflict because the buffer address is transmitted to the monitor each time a subroutine call is made.

The tape unit of the system assumed here

Figure 8: The tape DMA interrupt routine, TAPEINT, specified as a flow chart. In the assumptions accompanying this version of ELM, tape 10 is performed by direct memory access (DMA) hardware, which gives an interrupt when the DMA operation is finished. This interrupt means that the hardware is again ready for an 10 operation, so the interrupt handler simply sets the tape status to a ready state.

112

WAIT UNIT |

I INTERRUPT

HAS CHANGED i | STATUS TO

READY

, INITIATES

OUTPUT; — INTERRUPT AT

END OF ! OUTPUT

Figure 9: The tape DMA output routine, WRITET, specified as a flow chart. This routine waits until the tape device is ready so that any previous direct memory access 10 operation is completed. It then sets the status to the busy state and initiates output DMA by setting up a data pointer and data count through an output port. Processing can continue during the output operation since a direct memory access channel operates independently of the central processor. If a second WRITET call is attempted before the first is completed, the status check finds the busy state until the interrupt at the end of the 10 operation is serviced.

has a DMA controller which appears only as an output device to the central processor. To start the DMA transfer, the processor transmits three bytes on the data bus to the controller. The first byte indicates whether the operation is input or output. The other two bytes are the central memory address of the buffer. The tape controller will transfer exactly 256 bytes between its own internal buffer and the central memory buffer. During the actual transfer the central processor is held inactive. An interrupt, address 6, is produced when the controller enters the ready state. This would be after the transfer for input and after tape writing for output. Several other utility functions are available, such as skip forward, skip back and rewind. These are implemented by outputting the proper code byte on the data bus when addressing the controller.

The control software is very simple. This

f READT J 1

I DMA ORIENTED I TAPE BLOCK

READ j ROUTINE

I

( RETURN, ]

I DMA TRANSFER I

i ENDS WITH

INTERRUPT I

I

I I

| WAIT UNTIL

I INTERRUPT I

1 HAS CHANGED |

STATUS TO READY

Figure 10: The tape DMA input routine, READT, specified as a flow chart. This routine waits until the tape device is ready so thai any previous direct memory access 10 operation is completed. It then sets the status to busy and initiates an input DMA operation by setting up a data pointer and data count through an output port. The input routine, however, features a status check loop which waits until the operation is completed. This prevents overlap of input and normal processing.

is so because the controller hardware is quite complex and does most of the processing. The 256 byte buffer is in the user program. DMA transfer is made directly between the buffer and the controller. The monitor maintains a one byte status block which is either ready or busy. The interrupt subroutine simply sets the status to "ready" as shown in figure 8. When the user program is ready to write out the buffer, it puts the buffer address in a processor register and calls WRITET, which is charted in figure 9. The buffer is transmitted immediately because the status must be ready before the output code byte is sent. Program execution is resumed and overlapped with actual tape writing. Subroutine READT, figure 10, operates much like WRITET, except that it waits until the input operation is complete before returning to the program.

The other utility functions are implemented with subroutines much like WRITET. The physical record unit count for

113

Figure II: With the design modifications described in this article, the memory map of the ELM program becomes a bit more complicated.

0

JUMP TO COMMAND PROCESSOR

INTERRUPT JUMP TABLE

COMMAND PROCESSOR

INTERRUPT

PROCESSING

SUBROUTINES

INPUT AND OUTPUT SUBROUTINES

BUFFER CONTROL BLOCKS

BUFFER

SCRATCH PAD

STACK

FAA

LAA

USER MEMORY

POSSIBLE ROM OR PROTECTED MEMORY

PROGRAMMABLE MEMORY

skip forward and skip back are single bytes in place of the two byte address. Rewind is implemented by just a code byte. These utilities can, of course, be overlapped with program execution.

Figure 11 shows the memory organization for the extended ELM monitor. The extensions are completely compatible with the original design. The scratch pad area contains the addresses and pointers needed for the command processor. The interrupt jump table and stack are machine dependent and apply to the particular hardware described in this article.

The extended monitor should give considerable utility and flexibility for input and output operations. The user program sends or receives logical blocks of data simply by calling a monitor subroutine. A little bonus comes with the implementation of the escape key interrupt which allows the user to reset the central processor from the terminal. This makes it much easier to get out of bad situations. Many types of programs, especially those that do a lot of searching, sorting or calculating between successive outputs, will be spectacularly faster with the output overlap implemented using interrupts and DMA.*

U

H >00

o 2

COMPLETE IW THIS ISSWE.:

APOLLO

SINCE LAST EfBDPfe, THE H-M-S. E^PTYEyES HA5 C0WT1WED ITS LONELY TREK ACWSS

THE TRACKLES OCEAN.

HER CREW HA? REPAIR THE PAMVEP RePBtSPAK, AM> THE SHIP HAS BEEN

Wm 5AIL FOR THREE WftKS WITH WO SIM Of LAND. Jiff, THE IWriRW&CAfc

JlRIc MR- FiotK, taif i/eym,

AW THE REST, CONTINUE. THEIR SEEMIN6LV HOPEltS

TiiJo'awigu *WJ)

Am SO T«y5»iiE-t AWA^S PEAtHEC IKE tl£a PAy FKME OF

m.

A^.r/r.. 6UiLi\tks T&vMttS

114

Jlubs and Newsletters

Community Computer Communications Australia

Timothy Mowchanuk writes that he and a group of teachers have been given an Innovations Grant by the Australian government for the purpose of developing a low cost minicomputer system suitable for high school use. Part of this grant is also for the printing of a newsletter to act as a communications link between people interested in the field. Tim says that they are complete novices in this type of a venture, and would be very interested in corresponding with others with similar interest. They have not settled on a name for the newsletter but they feel that it will be called COM-3, which stands for Community Computer Communications. The address is POB 268, Niddrie 3042 AUSTRALIA.

BABY! I MICROCOMPUTER^

ARE YOU BUYING A SYSTEM?

BEFORE YOU DO SEND FOR OUR LITERATURE. COMPARE OUR SPECIFICATIONS WITH OUR COMPETITORS' KITS AND ASSEMBLED SYSTEMS!

YOU WILL SEE

THE BABY! I SYSTEM IS NOT A BABY WHEN IT COMES TO HARDWARE AND PERFORMANCE BUT IT IS WHEN IT COMES TO

PRICE! COMPARE TODAY

THEN BUY A BABY! I MICROCOMPUTER

STM SYSTEMS, INC.

P.O. BOX 248

MONT VERNON, N.H. 03057

603-673-2581

V.

A Call for Papers and Participation

The First West Coast Computer Faire will be held on April 15-17 1977, at the Civic Auditorium in San Francisco CA. It promises to be a massive one. It is being sponsored in part by the Homebrew Computer Club and the Association for Computing Machinery's Peninsula Chapter, Stanford University's Electrical Engineering Department, the Community Computer Center, People's Computer Company, and the Amateur Research Center. It is expected that the Faire will draw 7,000-10,000 people, will have 50 to 100 conference sessions, and will include over 200 commercial exhibitors. The conference portion of the Faire will include everything from formal papers to informal off-the-cuff talks. There will be a special session on Personal Computers for Education and others of special note on Microprogrammable Microprocessors for Hobbyists and Computer Music.

For lots more information you should contact Jim Warren, general chairperson, and editor of Dr Dobb's Journal, at POB 310, Menlo Park CA 94025, (415) 323-3111 or 815-7664; or Bob Reiling, operations chairperson, and editor of the Homebrew Computer Club Newsletter, at 193 Thompson Square, Mountain View CA 94043, (415) 967-6754."

The completely assembled and tested MP-40 printers continue to be the favorite of commercial users and hobbyists alike Featuring a 5X7 impact dot matrix, 40 columns, 75 lines per minute, 4" adding machine paper, molded casework, zinc plated chassis and power supply. Choose from one of these three interface models.

• LCP • 8-bit Parallel l/F without character

generator for special software fonts

• ASCII • 8-bit Parallel Interface with a 64

character ASCII set

• SSP • Intelligent RS232 or Current Loop

data terminal. Async Serial l/F OR SELECT THE "NO FRILLS" KP-40 KIT • Mechanism, LCP l/F PC board & components Power transformer and assembly instructions

SEND FOR FREE LITERATURE

Master Charge Welcome • Utah Residents Add 5% Sales Tax

mpi/P.O. BOX 22101/SALT LAKE CITY/UT/84122 (801) 566-0201

$329 $425 $575

$179

115

A Computer Hobbyist Club Survey

Total number of meml

Ders

153.7

Months since club was

founded

10.8

(as of August 76)

Meeting attendance:

Last meeting

98.6

3 months ago

80.3

6 months ago

48.4

9 months ago

41.4

12 months ago

28.2

New people attend

ing last

meeting

14.5

Dues per year

$ 8.60

Number of computers owned

by members

33.3

Types:

Altair 8800

10.7

I MSA I 8080

3.2

SWTC 6800

2.1

KIM-1

1.4

Altair 680

0.9

MIKE

0.3

JOLT

0.1

Other

8.8

Number of items in club library

94.4

Most clubs have a mon

thly news

letter or magazine; average

number of pages

11.8

Number of group buys

per year

3.2

Average amount of

each buy

$1700

Table 1: Results of the club survey questionnaire. The Southern California Computer Society, SCCS, did not have their full membership averaged in the total number of members category. The reason for this is that with a total membership of 3,000, the membership values would be unreasonably inflated. The SCCS membership was taken as 600 which was the attendance at their last meeting. The total number of computers that are owned by club members is not the same as the total number for the "computer types." The reason for this is that everyone who filled in the number of computers question did not fill in the type of computer that they had. Several people also omitted the very important "other" category.

Table 2: Results of the questionnaire investigating the interest in an organization of clubs. The amount of interest was rated on a scale of 7 to 3 with 3 indicating a great interest and I indicating a small interest.

Activity Area

A central depository and exchange for software, documentation, etc.

Creation of interchange standards for paper tape, cassettes, floppies, etc.

Organization of a hobbyist distributed computer network using dial-up lines, packet radio, etc.

Negotiation with manufacturers for improved quality, price, software, hobbyist oriented architecture, etc.

Organization and management of hobbyist conventions

Interest (1 = 2 = some, 3 :

2.6 2.6 2.4

little, large)

2.2 2.1

David Caulkins

437 Mundel

Los Altos CA 94022

In May, June and July of 1976, a survey was made of hobbyist computer clubs. The intent was to collect data on club size and activities and to evaluate interest in an organization of clubs. I used a mailing list of 52 clubs, sending questionnaires to each; 22 (42.3%) were filled out and returned. During the survey the mailing list grew to 67. Just recently, through the courtesy of Jim Warren of Dr Dobb's Journal, I've learned of a club list of approximately 100 members.

Most of the survey questionnaires were filled out by club officers with their best estimates of club size, meeting attendance, etc. After examining the data and doing some cross checking, I would estimate the error of the results given at approximately ±10%. Table 1 gives averages of each of the questionnaire categories; it thus is a profile of the average hobbyist club.

One of the reasons for the survey was to evaluate interest in a club of clubs: a superset organization capable of activities not readily available at the individual club level. Five areas of activity that could be investigated by an organization of clubs were explored by the questionnaire. The results are shown in table 2.

I am especially interested in a hobbyist distributed computer network. Such a network would permit direct computer to computer exchange of data over long distances. This article does not have space for a detailed discussion of the idea, but I believe it to be something hobbyists could do if they wanted to. Much of the research work for this kind of network has already been done under Advanced Research Projects Agency grants. Especially relevant is the ALOHA packet radio work done by Norm Abramson, Frank Kuo and others at the University of Hawaii.

To supplement the questionnaire data, an informal raise your hand type survey covering three areas was made at June and July meetings of the Homebrew Computer Club

116

Computer Census:

Meeting Attendance:

300

Nun

ber of Systems

Type

9 June

20 July

8080

6502

6800

Z80

F8

8008

4004 TTL (from scratch)

Other

53

18

12

2

6 1

1 8_

101

69 24 26 2 2 6 1

2

8

140

Current Applications

July meeting:

Application

% of Attendees Actively Involved

Games

Scientific Calculation

Process Control

Text Processing

Language Processors

Graphics

Music

30 17 13 12 10 10 6

Experience Background of Meeting Attendees, July meeting:

% of Attendees

Employed as programmers or

in computer related fields 50

Employed in electronics or related fields 40

No previous experience with computers or electronics 2

No response 8

Table 3: Results of an informal, raise your hand type survey that was conducted at the June and July 1976 meetings of the Homebrew Computer Club. The average attendance at these meetings was 300 members. Part 2 of this survey gives the type of applications that the members are interested in. Part 3 of this survey gives a general idea of the type of employment and background the members have.

of Northern California. About 300 people attended each of the meetings. The results of this survey are shown in table 3.

Tables 4 and 5 show how the clubs on my mailing list are distributed geographically. As might be expected, there are high concentrations of clubs in the Northeast and on the West Coast.

Wild Speculations and Conclusions

Using the averages of table 1 and assuming there are 100 clubs, one can conclude that the total membership in hobbyist clubs is around 15,000 and that club members possess about 3,300 computers. The club growth rate is also interesting. Plotting meeting attendance averages on semilog paper yields figure 1. The straight line approxima

BYTE BINDERS and FILES

Preserve those precious first 16 issues

with either a handsome but rugged library file—or a binder—in flag blue Kivar library fabric stamped in gold leaf.

Files: Made to hold the first 16 issues of BYTE. Price per file $4.95; three for $14; six for $24, postpaid.

Binders: Made to hold the first 16 issues of BYTE. Price per binder $6.50; three for $18.75; six for $36, postpaid.

(Add $1 each outside USA.)

Send to: BYTE, POB 5120, Philadelphia PA 19141

I enclose check or money order for $

Please send me BYTE Files Binders

Name

(.Please print)

Address

City

State

_Zip.

Satisfaction guaranteed or money refunded. Allow at least four weeks for delivery.

117

MEETING ATTENDANCE

90

f 11

80 70

50

f ii

40 30

li f

12 9 6

MONTHS PREVIOUS TO SURVEY

Figure I: A graph showing the growth of computer hobbyist club attendance. The number of members attending each meeting is plotted against the months previous to the survey. At this rate of growth, the average club meeting attendance should double approximately every six months.

No. of

Quest

ionnaires

State or Country

Clubs

Sent

Returned

Alabama

1

0

California

15

12

2

Colorado

1

1

Connecticut

0

0

District of Columbia

1

0

Florida

4

3

2

Georgia

1

1

Hawaii

0

0

Illinois

1

1

Indiana

2

2

0

Kansas

0

0

Louisiana

1

0

Maryland

1

0

Massachusetts

3

2

1

Michigan

2

1

0

Minnesota

2

2

1

New Hampshire

3

2

0

New Jersey

1

1

1

New York

3

3

3

Ohio

3

2

0

Oklahoma

1

1

1

Oregon

1

0

0

Pennsylvania

2

1

1

Texas

4

4

4

Virginia

2

1

0

Washington

1

1

0

Wisconsin

1

1

0

Canada

5

5

3

England

2

1

0

Table 4: A listing of the number of clubs that are in the US, England and Canada as of the time of this survey, June and July 1976. Along with a breakdown of the clubs by state and country is the number of clubs to which questionnaires were sent and the number of clubs that returned the questionnaires. As might be guessed, and as is borne out by this listing, there is a concentration of clubs on the West Coast and in the Northeast.

tion indicates that the time for average club meeting attendance to double is about six months. The doubling time can be calculated a different way, using the number of new people at each meeting. Assuming that 50% of these people become members, the projected time for club meeting attendance to double is a little over ten months. In either case, indications are that computer hobbyist club membership is growing at a rapid rate. Like all growth curves this one must sooner or later level out. The survey has some faint evidence of this: larger club, membership in the 200 range, meeting attendance seems to be increasing at a lower rate than that of smaller clubs.

Who are the computer hobbyists? The Homebrew Computer Club survey would seem to indicate that the great majority have some kind of contact with computers or electronics other than their computer hobby.

I think the computer hobby movement will have a substantial and good effect on the way computers are used. Too many of us who work with them professionally have come to regard ourselves as a high priesthood presiding over sacred mysteries. Sacred mystery keepers have a bad habit of knowing all the reasons why something can't be done; hobbyists do not have the burden of this knowledge. The survey shows rather clearly that there are many more hobbyists than there are university graduates in computer science. I hold the radical view that an hour spent debugging one's own machine or program is worth ten hours of lecture about how to do it. So again, I think this is a good thing. There are dangers. The computer game already has an oversupply of hackers: programmers who write code, totally unreadable by anybody but themselves, that works almost all of the time.

My thanks to all the club people who were kind enough to fill out and return the questionnaire."

States With No Hobbyist Clubs on Mailing List

Alaska

Nevada

Arizona

New Mexico

Arkansas

North Carolina

Delaware

North Dakota

Idaho

Rhode Island

Iowa

South Carolina

Kentucky

Tennessee

Maine

Utah

Mississippi

Vermont

Missouri

West Virginia

Montana

Wyoming

Nebraska

Table 5: Table of those states that do not have computer hobbyist clubs on the questionnaire mailing list.

118

Clubs and Newsletters

Directory

Zips 00000 - 10000

1. Caribbean Computer Club

2. 52 Kings Ct 4A Santurce PR 00911

3. Same as above

4. First Saturday of each month

5. Bits n'Bytes

6. John St Clair

7. (809)722-1424

8. $20 (includes subscription to newsletter)

9. Microcomputers, word processing 10. 10 members

Club plans to purchase microcomputer for members.

1. New England Computer Society

2. POB 198 Bedford MA 01730

5. The Computerist

6. Robert M Tripp POB 3

S Chelmsford MA 01824 8. $6 per year

1. Alcove Computer Club

2. 230 Main St, Rt 28 North Reading MA 01864

1. Boston Area Group

2. 21 Sunset Av

North Reading MA 01864

1.

10.

University of Hartford Microcomputer Club

College of Engineering — Dana Hall 200 Bloomfield Av West Hartford CT 06117 Room 123 Dana Hall 3rd Tuesday at Common Hour 11 AM U HA BYTE

John Paul Froehlich, asst prof EE (203)243-4681

Sincere interest in microprocessor applications, games and abstract applications

Current officers: president, Bryan Moffitt; vice president, Jeffrey Katz; secretary, Richard Rynaski; publications director, Mark Dalphin.

Here it is, the first BYTE Clubs and Newsletters Directory. This listing was compiled by Floyd Rehling from information supplied by the various clubs listed. We ran some requests for data from clubs in earlier issues, data which sets the content of the information in this listing. Not all clubs responded to the printed requests for information. This listing was correlated with back issues of the magazine and materials on file in the BYTE offices. An occasional duplication or outdated bit of information may have crept in. In the listing of the clubs, information missing in one or more of the categories indicates exactly that: We have no information. We'll be keeping the file available and updating it for the next shot at publication in the magazine, one year from now; so if there are errors or if, you have a new club which has just been formed, send the information to us.

The listings follow this form:

1. Name of organization

2. Mailing address

3. Meeting location

4. Meeting algorithm

5. Newsletter or publication

6. Contact person

7. Contact phone number

8. Dues or subscription fees

9. Special interests 10. Other comments

1. Southern New England Computer Society

2. 267 Willow St

New Haven CT 06511

3. First three meetings: New Haven, East Hartford, Windsor Locks

4. Monthly, 1—5 PM on a Sunday afternoon.

5. Newsletter: Yankee Bits 8. Four issues for $1

10. Probably meet anywhere in southern New England if invited; Saturday meetings a possibility. Information on our next meeting will be sent at no charge to anyone in CT or western MA. SNECS news is published in The Computerist.

1. Amateur Computer Society

2. 260 Noroton Av Darien CT 06820

1. Connecticut Microists

2. 60111 Wendy Ln Westport CT 06880

3. Members offices in Fairfield County

4. Second week of the month; date set at previous meeting

5. Microbitz

6. George Ahmuty

7. (203)227-8534

8. $2

9. Develop interfaces, expand basic usage to commercial uses, and send speakers to local high schools, etc.

10. Develop a buyers guide, available to other clubs

1. Northern New Jersey Amateur Computer Group

2. Murray P Dwight 593 New York Av Lyndhurst NJ 07071

3. Fairleigh Dickinson University Becton Hall

Rutherford Campus NJ

4. Second Friday of the Month 6:30-11 PM

8. $5

1. Amateur Computer Group of New Jersey Inc

2. 1776 Raritan Rd Scotch Plains NJ 07076

3. We hold three meetings every month, as follows:

General membership meeting: (includes guest speaker and flea market: attendance typically 130-200). Held third Friday of month at various colleges in state — schools most frequently used are: Union County Technical Institute, Scotch Plains and Middlesex County College, Edison. User Groups: (informal mutual help sessions for users; can bring down their equipment or software for debugging) 8080/Z80 User's Group: meets first Friday evening of month at Union County Technical Institute, Scotch Plains (attendance typically 40—50). 68.00 User's Group: meets fourth Friday evening of month at Chuck Wolff's, 26 Willow Dr, Apt 6A, Ocean Township.

119

Annual Festival: held at Trenton State College in May (last test had attendance of 1,500 with 45 exhibitors, 25 speakers and flea market)

5. ACG-NJ NEWS; published monthly

6. General membership meetings, etc:

Sol Libes day: (2011889-2000 x-247 eve: (201)277-2063 Marty Nichols day: (201)994-3100 x-218 eve: (201)361-7180 8080/Z80 User Group: Dennis Dupre eve: (201)688-9254 6800 User Group: Chuck Wolff day: (2011842-1900 x-291 (3-5 PM) Software Librarian: Tom Kirk eve: (201)246-4242 8. Dues: $2 for 1976 10. Approximately 500 members

1. Holmdel Microprocessor Club

2. Fred Horney Rm3D317

Bell Telephone Labs Holmdel NJ 07733

3. Bell Labs Holmdel

4. As needed

5. Bits, Nybbles, and Bytes

6. See No. 2

7. (201)949-7845

8. None

10. This is a Bell Labs sponsored club.

1. New Jersey Club

2. Bruce C Dalland 37 Brook Dr Dover NJ 07801

Zips 10000 - 20000

1. New York Micro Hobbyist Group

2. Bob Schwartz

375 Riverside Dr #1 E

New York NY 10025 5. Newsletter 7. (212)663-5549

1. New York Amateur Computer Club

2. 106 Bedford St

New York City NY 10014

3. 33 W 42nd St Manhattan NY Graduate Center

4. Second Thursday each month 7 PM

5. Notes

6. Ed Enck, president

7. (212)255-4942

8. $10

9. Interchange of information

1. Westchester Fairfield Amateur Computer Society

2. RR1,Box198 Pound Ridge NY 10576

3. Greenburgh Public Library, Elmsford NY

4. Varies; but plan on first Tuesday of the month

5. None as yet

6. Carlton B Hensley Pheasant Rd W Pound Ridge NY 10576

7. (9T4)P04-4213

8. Family membership $7; full time

student $3 10. Visitors welcome; bring your computer or computer gear.

1. Harold Shair

2. 41 Colby Av Rye NY 10580

1. Long Island Computer Association

2. 36 Irene Ln E PlainviewNY 11803

3. New York Institute of Technology Westbury LI 11568

4. Third Friday of the month

5. The Stack

6. Gerald S Harrison, president

7. (516)938-6769

8. $10 regular member; $5 full time student per year

1. Niagra Region Computer Group

2. Chuck Fischer 355 S Creek Dr Depew NY 14043

7. (716)681-1597

1. Students Cybernetics Lab

2. 16 Linwood Av Buffalo NY 14209

1. RAMS (Rochester Area Microcomputer Society)

2. POB D Rochester NY 14609

3. Rochester Institute of Technology, Building 9, rm 1030

4. Second Thursday of every month at 7:30 PM

5. Memory Pages, monthly newsletter

6. Dave Noderer

7. (716)244-9844 evenings and weekends

8. $5 annual dues includes the newsletter.

9. As yet we don't have any special interest groups but plan on forming some within the next 2—3 months. The major portion of our meeting is a presentation of a microcomputer application or a lecture on a specific microprocessor.

10. We hope to interact with other computer clubs in the following areas: Newsletter exchange, group purchase power, organization of regional computer fests, conferences, etc.

1. Ithaca Computer Group 204 Dryden Rd Ithaca NY 14850

2. Steve Edelman

1. Pittsburgh Area Computer Club

2. 400Smithfield St Pittsburgh PA 15222

3. 821 Old Wm Penn Hwy Murrysville PA (Basement of building)

4. Meetings are on the second Sunday of each month. The formal meeting starts at 1 PM. Come early (11 AM) for coffee and an informal display of members' equipment.

6. Fred Kitman (412)391-3800 days or Harry Kohman (412)931-5866 evenings 10. Our meetings will provide you a chance to work with computers and give you

important technical data, on both how to build a computer and how to program your machine once it's built. Through other members you'll become aware of surplus computer bargains and you'll be able to take part in group purchases of equipment at quantity prices. Our monthly newsletter will keep you informed between meetings and contains informative software and hardware articles.

1. Delaware Chapter — Southern California Computer Society

2. Martin Dimmerman 1228 Barrowdale Rydal PA 19046

1. Philadelphia PA Area Club

2. 404 Quince St Philadelphia PA 19147

6. Richard Moberg

7. (215)829-6744 work (215)923-3299 evenings

1. Philadelphia Area Computer Society (PACS)

2. POB 1954 Philadelphia PA 19105

3. Meeting locations vary.

4. Meetings are held every three weeks on alternate Saturday afternoons and Thursday evenings.

5. The Data Bus (monthly newsletter)

6. Dick Moberg, president

7. (215)923-3299

8. Dues: $10 regular member; $5 student member

10. PACS was formed early in the summer to cater to the needs of computer hobbyists, students, and professionals in the Philadelphia area. Our monthly newsletter, The Data Bus, offers tutorial articles, book reviews, meeting announcements, and classified ads. At our meetings you can expect a regular flea market, talks about products and experiences, tutorials, and mapping sessions. Field trips to MOS Technology and to the Moore School (ENIAC birthplace) and a computer fair are being planned.

Zips 20000 - 30000

1. Washington Amateur Computer Society

2. Robert J Jones

4201 Massachusetts Av NW #168 Washington DC 20016

4. WACS meets the last Friday in every month year 'round at the Catholic University of America in the computer center located at 3329 8th St NE, at the corner of 8th and Lawence St NE. The society also meets informally at the computer center on the Fridays following.

5. The Washington Amateur Computer Society Newsletter

6. Robert J Jones, president Address see No. 2 William K Stewart 5910 2nd St NW Washington DC 20011

7. (202)722-0210

8. We have limited financial resources.

120

1. Name of organization

2. Mailing address

3. Meeting location

4. Meeting algorithm

5. Newsletter or publication

6. Contact person

7. Contact phone number

8. Dues or subscription fees

9. Special interests 10. Other comments

Should anyone desire a copy of our newsletter, please enclose S.26 per copy; for every $.26 you send, we'll extend your subscription. 9. It seems at this time that the president of the club is now the Ralph Nader of the hobbyist world. He tries to keep all of us informed on the types of service the hobby vendors are giving to those of us who pay our hard earned green stamps to those seemingly speedy delivery types, and XYZ compatible manufacturers. He also has compliments for the good guys. 10. The club is open to all who are interested in, or desire to learn about computers, large or small. On any typical Friday evening (or any other evening for that matter), you will find several members of the club engaged in conversation over some new piece of hardware, or discussing ways to beat the Lunar Lander game at the computer center. If anyone has any inquiries, just drop us a line. BUT PLEASE . . . enclose a self addressed stamped envelope with your request.

1. Chesapeake Microcomputer Club Inc

2. 236 St David Ct #4 Cockeysville, MD 21030

4. Chesapeake Microcomputer sponsors a general membership meeting on the second Wednesday of each month;' local chapter meetings occur throughout the month.

5. Analytical Engine

6. Maryland

General Membership:

Philip N Hisley (301)667-9690 Baltimore Chapter:

Philip Sticha (301) 682-6000 x-304 Wheaton Chapter:

Mani Alexander (301)946-4120 Laurel Chapter: Dan Messina (301)766-3202 Washington DC Washington Amateur Computer Society: Bob Jones (202)537-1984 (after 10 PM) Virginia McLean Chapter: Martin Buchanan (703)893-7978 Jim Greene (703)790-6231 Reston Chapter:

Andrew Convery (703)860-1879 Richmond Chapter: Hugh Melton (804)285-2452 8. Published bi-monthly

Subscription: $6 per year; Dues: $12 per year (includes subscription)

1. Chesapeake Microcomputer Club Inc

2. Richard A Kuzmack 1435 Layman St McLean VA 22101

7. (703)821-2873

1. Amateur Radio Research and Development Corporation (AMRAD)

2. 1524Springvale Av McLean VA 22101

3. Patrick Henry Library Maple Av at Center St Vienna VA

4. First Monday of each month at 8 PM (except holidays)

5. (Nameless, but we're thinking)

6. Paul L Rinaldo K4YKB

7. (703)356-8918 evenings and weekends

8. $10 per year or $100 life

$5 per year or $50 life for second in

family

$2 per year for student

9. State of the art technology, computers, radioteletype repeater, technical symposia

10. Despite "Amateur Radio" in name, we spend more than 1/2 of our meetings on computer subjects. Maybe in 1977, if FCC permits it, we hope to have a computer on-line on our RTTY repeater WR4APC, McLean VA.

1. Washington —Baltimore Computerhobbyist Club

2. R Rubenstein 7711 Elba Rd Alexandria VA 22306

1. Charlottesville Computer Hobbyists Club

2. POB6132 Charlottesville VA 22906

3. To be determined

4. Second Friday of each month (probable)

5. None at present

6. Pat Seitzer

7. (804)293-4973

8. To be determined

9. None

10. The club has just been formed.

1. IBM 5100 Users Club

2. Richard Easton MD 5541 Parliment Dr #104 Virginia Beach VA 23462

1. Peninsula Computer Hobbyist Club

2. Larry Pollis 2 Weber Ln Hampton VA 23663

1. Dyna-Micro Users Group

2. Dr Frank Settle Jr Box 1053 Lexington VA 24450

1. Triangle Amateur Computer Club

2. POB 17523 Raleigh NC 27609

3. Dreyfus Auditorium Research Triangle Institute Research Triangle Park NC

4. Fourth Sunday at 2 PM

5. Monthly newsletter

6. Russell O Lyday Jr

7. (919)787-4137

Where to get it.

Equipment, parts, supplies and services. Hard to find and standard items at bargain prices.

Over 600 places to find transceivers, antennas, surplus, new and used equipment, /^Ps/computers, ICs, components, assortments, assemblies, discounted items, test equipment, peripherals, etc. Hundreds of large and small mail order sources.

A complete directory divided by sources, items and locations. Saves countless hours of shopping. Easily pays for itself through comparative buying. Contains no advertising.

r-.............

I Rush my order. I enclose $5.95 plus 55? postage and handling. Californians add ' 39? sales tax. Full refund if not I completely satisfied within 10 days.

I

■ Name

Address.

City/State/Zip

Primary interest: Amateur Radio DCBD Experimenting □ ^Ps/Computers □ Send to: Peninsula Marketing Dept. D

12625 Lido Way Saratoga, CA 95070

121

Zips 30000-40000

1. Atlanta Area Microcomputer Club

2. 421 Ridgecrest Rd Atlanta GA 30307

6. Jim Dunion

1, Atlanta Area Microcomputer Hobbyist Group

2. Jim Stratigos, editor POB 33140 Atlanta GA 30332

1. Jacksonville Computer Club

2. Regency East Office Park 9951 Atlantic Blvd Suite 326 Jacksonville FL 32211

3. See #2

4. Second Saturday of each month at 2 PM

5. In the flowchart stage

6. Carey Douglas

7. (904)725-8158

8. $5 per quarter

9. Community interests in computer arts and sciences

10. Everyone is welcome to meetings.

1. Tallagassee Amateur Computer Society

2. Larry Hughes Rt 14

POB 351-116 Tallagassee FL 32304

1. University of Florida Amateur Computer Society

2. Electrical Engineering Department Rm 234 Larsen Hall Gainesville FL 32611

3. Student Union

6. Steve Ackerman or Ken Massey

10. Direct all correspondence to persons above until a permanent mailing address is established.

1. Space Coast Microcomputer Club

2. Ray O Lockwood 1825 Canal Ct Merritt Island FL 32952

7. (305)452-2159

1. South Florida Computer Group

2. 410 NW 117 St Miami FL 33168

5. I/O

6. Dr Bruce Cameron, editor

8. Dues: $5 per year or $2 per year for students (includes subscription to newsletter, as well as exchange of newsletters with other clubs); nonmembers may receive I/O at $2 per year (12 issues).

1. Micro Computer Society of Florida

2. POB 3284 Downtown Station Tampa FL 33604

3. Marsh Data Systems

5405B Southern Comfort Blvd Tampa FL

4. First and third Saturdays each month at 2 PM except July, August and September (third Saturdays only)

5. I/O MAGAZINE

6. R Larry Miner

7. (813)343-2973 after 6 PM

8. Dues: $5 per quarter; special student rates available

9. All areas, including homebrew, voice recognition and all major high level languages

10. Society chapters are located in: Tampa, Vero Beach, Ft Meyer, Sarasota, Jacksonville and Gainsville. All welcome.

1. NACC

2. 1409 Blevins Gap Rd SE Huntsville AL 35802

6. Jack Crenshaw

Zips 40000-50000

1. Louisville Area Users of U Comp

2. Steve Roberts POB 18065 Louisville KY 40218

1. Amatuer Computer Society of Columbus Ohio

2. See #6

3. Center of Science and Industry

4. First Wednesday of every month

5. I/O

6. Walter Marvin, president 408Thurber DrW Columbus OH 43215 (614)461-0535 Richard Damon, treasurer (contact for membership) 2193 Farleigh Rd Columbus OH 43221 (614)486-1551

1. Cleveland Digital Group

2. 8700 Harvard Av Cleveland OH 44105

3. 8700 Harvard Av

4. 2 PM on the third Sunday of every month

5. The Shift Register

6. Lou O'Block

7. (216)232-9055

8. $10 per year

9. All aspects of hobbyist computers for persons in the northeast Ohio area.

10. The club has an impressive list of past and future group purchases, and is building a library. Current plans call for evening and weekend hours at our clubhouse for interested members. The club is a member of the Midwest Affiliation of Computer Clubs and is active in its affairs, including the first and second annual Midwest Regional Computer Convention.

1. Universe Unlimited Group

2. 11981 Forest Av Cleveland OH 44120

1. KIM Users Group

2. Eric Rehnke

7656 Broadview Rd Apt 207 Parma OH 44134 5. KIM-1 Users Notes 10. The users group will act as a vehicle for users to exchange hardware and software ideas as well as experiences with interfacing the many peripherals now becoming available.

1.

Name of organization

2.

Mailing address

3.

Meeting location

4.

Meeting algorithm

5.

Newsletter or publication

6.

Contact person

7.

Contact phone number

8.

Dues or subscription fees

9.

Special interests

10.

Other comments

1. The Midwest Affiliation of Computer Clubs

2. POB 83 Cleveland OH 44141

3. Board of trustees meeting held at the annual Midwest Regional Computer Convention

5. Private communication and correspondence only

6. Gary Coleman, president

7. (216)371-9304

8. None

9. Coordination of activities between member clubs

10. The MACC is a central organizing body for the many computer clubs in the states of OH, PA, IL, KY, IN, NY, Ml, Wl and CANADA. The MACC held its first annual Midwest Regional Computer Convention in Cleveland last June, and will hold the second one again in Cleveland during June of 1977. The MACC will be coordinating other activities such as group purchasing in the near future.

1. Cleveland Digital Group

2. 1200 Seneca Blvd #407 Broadview Heights OH 44147

5. The Shift Register (Eric Rehnke, editor)

6. John E Kabat Jr

7. (216)888-7531

1. Dayton Microcomputer Association (DMA)

2. Doug Andrews 8668 Sturbridge Dr Cincinnati OH 45236

7. (513)791-6169

1. Compute, Evaluate, Trade

2. POB 104

Tipp City OH 45371

3. Rotate in members homes

4. First Saturday in the month for the first 12 months of each year, with my wife's approval

5. Byte Back

6. Charles E Tyzzer Jr

7. (513)268-6551 x587

9. Talent and a desire to exchange information; business application

1. SR-52 Users Club

2. 9459 Taylorsville Rd Dayton OH 45424

4. No organized meetings

5. 52-NOTES (monthly)

6. Richard C Vanderburgh, editor

7. (513)233-3698

122

8. Contribution of $6 for membership and six newsletters

9. Our purpose is to Help SR52, SR56, PC100 owners/users get more out of their Tl pocket programmables by exchanging ideas.

10. First newsletter: June 1976

1. Indianapolis Small Systems Group

2. 54 Sherry La Brownsburg IN 46112

3. Linde Division of Union Carbide Speedway IN

4. Second Wednesday of each month 7:30 PM. Meet at main entrance on 16th St.

5. The INDY BYTE CHASER

6. Keith Pieper

7. (317)852-5833

8. None; subscription fee for newsletter $1.50 (six monthly issues)

9. Learning about and applying small computer systems

10. If you have suggestions as to reaching further members, obtaining speakers for programs and donations of equipment, etc, we would appreciate hearing them either as an article in BYTE or as a direct communication to us.

1.

2.

The Floyd County Computer

Enthusiasts

Nathan Engle

RR#2 POB 466A

New Albany IN 47150

(812)923-8066

Out interests lie mainly in games and

system expansion. The members of our

group are on very low budgets, but are

interested in buying low cost hardware

and software.

1. Louisville Area Users of MicroProcessors (LUMP)

2. Andy Ehalt

115 Edgemont Dr New Albany IN 47150 7. (812)945-4307

1. Hoosler Amateur Computer and Kluge Society

2. Ray Borrill

111 S College Av Bloomington IN 47401

1. Beta lota Tau

2. Richard A Petke RHIT

POB 420

Terra Haute IN 47803

1. Purdue University Computer Hobbyist Club (PUNCH)

2. Rm 67 Electrical Engineering Bldg Purdue University

West Lafayette IN 47907

3. Digital lab of the electrical engineering building

4. Weekly

10. Membership is limited to the student body, but visitors are welcome.

1. Detroit Area Club

2. Dennis Siemit 45466 Custer Utica Ml 48087

SOFTWARE

&5QE

IN RESPONSE TO POPULAR DEMAND TSC HAS WRITTEN SEVERAL PROGRAMS FOR THE USERS OF 6502 BASED COMPUTER SYSTEMS. THIS PACKAGE CONTAINS FIVE OF OUR MOST POPULAR GAME PROGRAMS AND IS COMPATIBLE WITH KIM. TIM, OSI, AND JOLT MONITOR SYSTEMS WITH AN I/O TERMINAL. YOU GET EXCITING VERSIONS OF HANGMAN, ACEY-DUCEY. SWITCH. MASTERMIND, HURKLE. AND EVEN A RANDOM NUMBER GENERATOR. ALL BOUND IN A HANDY BINDER. THIS ASSEMBLY LANGUAGE SOFTWARE PACKAGE INCLUDES COMPLETE USER DOCUMENTATION. YOU GET A COMPLETE, WELL COMMENTED. ASSEMBLED SOURCE LISTING, INCLUDING A SORTED SYMBOL TABLE AND HEX CODE DUMP, INSTRUCTIONS FOR USE AND EVEN SAMPLE OUTPUT. HOWEVER. NO PAPER TAPES OR CASSETTES ARE AVAILABLE AT THE PRESENT TIME. THIS PACKAGE IS EXACTLY WHAT YOU HAVE BEEN WAITING FOR. AND ITS ONLY $19.95. ORDER PD4

AQflO

ATTENTION 8080 USERS. A PACKAGE SIMILAR TO THE ONE DESCRIBED ABOVE WILL SOON BE RELEASED FOR 8080 MICROPROCESSORS. WATCH FOR OUR ADS.

E.QQQ

NOTE THAT TSC ALSO HAS OVER 6800 SYSTEMS NOW AVAILABLE. COMPLETE SOFTWARE CATALOG PLEASE INCLUDE 37. FOR POSTAGE. INDIANA RESIDENTS ADD 47. SALES TAX. CHECKS WILL CLEAR.

20 PROGRAMS FOR

SEND $.25 FOR A

WHEN ORDERING,

TSC

TECHNICAL SYSTEMS CONSULTANTS

BOX ES74 N. LflFHYETTE INDIANA 47906

TSC

1702A MANUAL EPROM PROGRAMMER

L4iJ

< Up ' • i jJfflrifrTlftVii

U;1|I Jf %MH|.j|:

Features hex keypad, two digit hex address and two digit hex data display. Controls include load, clear, go! (step), key/copy, data in/ data out, and counter up/ down. Profile card includes high voltage pulse regulator, timing, 8 bit address and 8 bit data drivers/receivers. Two 6V2" x 9" stacked cards with spacers. Allows programming in 20 minutes — copying in 5 minutes. Requires +5, —9, and +80 volts.

ASSEMBLED $299.95

KIT $189.95

NOW

The best of two worlds... use our 1702 EPROM programmer as a manual data/address entry programmer ... or connect it to your processor. IMSAI/ALTAIR computer interface (requires 3 output ports,

+1 input port) and software $49.95

Briefcase unit with power supplies and interface connectors (assembled and tested only) $599.95

ANNOUNCING

Our NEW 16K Byte Pseudo-Static, IMSAI/ALTAIR compatible RAM. Single card slot. Uses less power than equivalent low power RAM. All memory chips socketed. Uses all prime, factory fresh ICs. High quality, two-sided, through-holeplated circuit board. Crystal controlled, totally invisible refresh system requires NO software management. Just plug it in and use like STATIC memory.

Complete kit $349.95

Assembled, tested, and burned in $549.95

ASSOCIATED ELECTRONICS

12444 Lambert Circle • Garden Grove, CA 92641

(714) 539-0735

123

7.

Ann Arbor Computing Club Roger Gregory 1485 Newport Rd Ann Arbor Ml 48103 (313)995-5743

1. Southeastern Michigan Computer Organization (SEMCO)

2. POB 9578 North End Station Detroit Ml 48201

3. WJBK TV-2 Studio Southfield Ml

4. The second Sunday of the month at 6 PM

5. Data Bus

6. Mr Richard Weir

7. (313)465-3228

8. $10 per year

9. Club interests cover the whole spectrum of microprocessors; members own systems from many manufacturers. The background of members range from novice to hardware designer.

10. Club is six months old, has about 110 members, and is a member of MACC.

1. Mid-Michigan Computer Club

2. 15151 Ripple Dr Linden Ml 48451

6. Tony Preston

7. (313)629-5361 X-262

10. We are in the embryo stage.

1. Jackson Hams and Hackers

2. Commonwealth Associates Inc 209 E Washington St Jackson Ml 49201

3. Place: variable

4. Times: spontaneous/variable 6. Jess Hancock WB8RDF

(517)787-5950 Rick Cook (517)787-5950 9. General, ham, games, mathematical 10. We are an informal group of 6 to 8 persons interested in microprocessors, 1 KIM-1, and a 6502 based homebrew in the planning stage.

Zips 50000 - 60000

1. The Eastern Iowa Computer Club . 2. 6026 Underwood Av SW Cedar Rapids IA 52404

6. Mike Wimble, president

7. (319)395-4392 work (319)396-5647 home

1. Wisconsin Area Tribe of Computer Hobbyists

2. Don Stevens POB 159

Sheboygan Falls Wl 53085

1. Bit Users Association

2. 3010 4th AvS Minneapolis MN 55408

1. Advanced Technology Research Associates (ATRA)

2. POB 456 Minneapolis MN 55440

3. 2633 Dupont Av S, M npl s, subject to special visits to other organizations announced in advance

4. Tuesdays at 7:30 PM, with special

exceptions announced in advance

5. None at this time

6. Frank Stodolka

7. (612)377-7387

8. BYOB

9. PLATO and graphics, word processing, physics (fusion, energy conservation, lasers), futurism and alternate economic systems for an automated society, invention patenting and marketing. (All in addition to home computer systems, of course.)

10. All our members are science fiction fans. Our meetings are basically information exchange and brainstorming sessions. Any fans out there good at digital circuit design and construction?

1. XXX-II Users Group

2. Dick Corner 514 S9th St Moorhead MN 56560

1. Southeast Minnesota Club

2. 2122 NWAv Rochester MN 55901

Zips 60000-70000

1. Chicago Area Computer Hobbyist's Exchange

2. Bill Precht POB 36

Vernon Hills IL 60061 5. Cache Register Newsletter 1. (312)356-7290

1. Chicago Users Group

2. 195 Ivy Ln

Highland Park IL 60035

1. ALTAIR -CHICAGO

2. 517TalcottRd Park Ridge IL 60068

3. Chicago Computer Store 517TalcottRd

Park Ridge IL 60068

5. Computer Notes — Chicago

6. Lou Van Eperen

7. (312)823-2388

8. Altair owners — free; assoc. members — to be determined

9. Clinics, seminars, problem solving, applications, software, etc, as related to Altair equipment

10. The club will be primarily designed to aid the Altair owner and offer a cooperative effort to get the most use out of the Altair System. Non-Altair owners and those contemplating purchase of an Altair are cordially invited to attend as associate members on a limited basis.

1. Chicago Micro Users Group

2. 1102 S Edison Lombard IL 60148

1. Ice-Nine Inc

2. POB 291

Western Springs IL 60558

1. Microcomputer APL Enthusiasts (MAPLE)

2. POB574NUMS 303 E Chicago Av

1.

Name of organization

2.

Mailing address

3.

Meeting location

4.

Meeting algorithm

5.

Newsletter or publication

6.

Contact person

7.

Contact phone number

8.

Dues or subscription fees

9.

Special interests

10.

Other comments

Chicago IL 60611

4. We meet bimonthly via the newsletter.

5. MAPLE Leaves

6. Ruth Low, editor

8. $3 for four issues (1 year)

9. First: developming a mAPL; then, foreign languages, graphics, speech synthesis, music synthesis, etc.

1. The Computer Network of Kansas City

2. 968 Kansas Av Kansas City KS 66105

5. KC Thru - Put

6. Earl Day

7. (913)492-9315

1. South Central Kansas Amateur Computer Association

2. 1504 N St Clair Wichita KS 67203

3. 1430 E Kellogg Wichita KS 67203

4. First and third Saturday of the month

5. Data Link

6. Cris Borger

7. (316)945-9658

8. Dues: $10 (includes subscription fee)

Zips 70000- 80000

1. Crescent City Computer Club

2. POB 1097

University of New Orleans New Orleans LA 70122

3. Room 2120 Science Building of the University of New Orleans

4. Second Friday of each month at 8 PM

6. Emile AllineWA5 WUJ 1119 Penn

Slidell LA 70458

1. Central Oklahoma Amateur Computer Society (CENOACA)

2. Lee Lilly POB 2213 Norman OK 73069

3. Oklahoma City Warr Acres Branch Library at NW 63rd and MacArthur, Oklahoma City OK

4. The second Saturday of each month at 10 AM

5. Newsbits

7. (405)364-1071

8. Subscription is included in annual association dues of $5.

1. Oklahoma City Club

2. 2412 SW 45th Oklahoma City OK 73119

1. Dallas-Fort Worth Club

2. 2377 Dal worth Apt 157 Grand Prarie TX 75050

124

ROCHESTER'S FIRST MICROCOMPUTER STORE

THE MEMORY MERCHANTS

COMPUTER KITS IHSAI 8080 $534-95

IMSAI 8080 i. SEALS 8K RAM J804-95 IMSAI 8080 & T.D.L. Z-80 (no 8080)

1739.95 22 card mother board add $49.00 100 pin socket 4 edge guides

each J6.25

TARBELL CASSETTE INTERFACE $109.95

SEALS ELECTRONICS 8K RAM

battery back-up board

(less batteries)

T.D.L. ZPU (Z-80) BOARD

16K FAST RAM

(also available in 4,8,12K) JANUARY SPECIAL: IMSAI computer with Z-80, CASSETTE INTERFACE (both Tarbell and Byte modes), one serial, two parallel I/O ports, SEALS 8K RAM, all IC sockets.

11199.00 with 16K ram $1459-00 All kits available assembled

THE MEMORY MERCHANTS

P.O. BOX 0

SPLNCERPORT N.Y. 14559

$279.95

$59-95 $249.95 $529.95

TURN ON WITH COMPTEK

Now your micro can control AC power outlets with COMPTEK's NEW PC3200 Power Control System.

• 1 to 32 independently addressable control channels

• Remote power control units — no AC power on logic board

• Optically isolated, current limited, low voltage control lines

• Accessible through most BASIC'S

• ALTAIR and IMSAI compatible Write today for more details!

nnmpt.pL

"Real World Electronics"

P.O. Box 516 La Canada, CA 91011

COME TO

ALDELCO COMPUTER CENTER

2281 Babylon Turnpike Merrick, Long Island, N.Y.

Open Mon. thru Sat. 9:30 to 5

Books, Magazines, Computer Boards and Kits

7400 IC's, CMOS, LINEARS, MEMORIES, 6800 & 8080 Support Chips, Rectifers Diodes, IC Sockets, Electronic Parts

National's SC/MP Kit only $99.95

COMPUTER CONSULTATIONS

SATURDAYS 9 to 5

Evenings by appointment

CALL US AT 516 378 4555

NEW IN

PHOENIX

Bits & Bytes

COMPUTER SHOP

6819-C N.21st Ave. Phoenix, Az. 85015

(602) 242-2507

Featuring:

EPA Micro-68 System Micro Term-Act 1 Keyboard Video Monitors Books, Magazines

PHILADELPHIA COMPUTER STORE

features

The Personal

Computer System

IMSAI ® the digital group

P Personal Computer Corporation

phone:

215-647-8460

Frazer Mall

Rt. 30 & 352

Frazer, PA. 19355

OFF LEASE EQUIPMENT

Teletype ASR 33

$809 each

F.O.B. Your local AJ service center.

lodems and Couplers also available.

ANDERSON JAC0B50N

521 Charcot Ave, San Jose California 95131 (408) 263-8520

1. The Computer Hobbyist Group of Northern Texas

2. Bill Fuller

2377 Dalworth #157 Grand PrarieTX 75050

1. Houston Amateur Microcomputer Club (HAmCC)

2. 4223 SW Fwy #203 Houston TX 77027

3. About to change in the unpredictably near future; interested people should contact us for current information.

4. Second Friday and fourth Tuesday of each month (unless new meeting place forces a change).

5. NYBBLE (at present no articles; just info on meetings and unclassified ads from members)

6. David M Fogg, president (713)626-2935 Clifford Carley, secretary (713)921-7532

Bill Crews, vice president (713)353-8798

8. Presently $6 per year (but if we have to start paying for a meeting place . . .)

9. We cover the field; all fields represented. 10. We are convinced that a city the size

and modernity of Houston is teeming with people who would like to join a computer club, who aren't even aware of our existence. I sincerely hope this helps to remedy the situation.

1. NASA-JSC Computer Hobbyist Club (Houston TX)

2. Marlow Cassetti 1011 Devonport Ln Seabrook TX 77586

7. (713)474-2923

1. Microputer Tinkers and Bug Busters Society - "Miti BuBus" (Mighty BooBoos)

2. 3845 LeBleu St Beaumont TX 77707

3. Here and there at present

6. William (Pete) Peters

7. (713)835-6144

8. At present: one dried turnip, but may be increased very soon

9. Construction projects, software, fun and games programs

10. Interested in receiving newsletters, design data, etc, from other clubs and manufacturers

1. Texas A & M Microcomputer Club

2. POB M-9

Aggieland Station TX 77844

3. Rm 333B Zachry Engineering Center, A & M University

4. Every other Wednesday

6. Dr Charles Adams

7. (713)823-0877

8. $10 for three semesters (one year, more or less)

9. Everything, but currently many members working on construction of higher level languages for small systems.

So far, club projects have been mainly software, although an effort is now being made to start some hardware projects as the club is fortunate enough to have some extremely competent hardware enthusiasts. Games are also

very popular, with particular emphasis on Star Trek type games. 10. Meeting so often, we do not currently have a newsletter, although there has been some discussion of initiating one, tentatively titled The Last Word. Although we are a university organization, the general public is extremely welcome to attend meetings.

1. Northside Computer Group

2. 2318Townbreeze

San Antonio TX 78238 ■

3. Currently same as above

4. Every other Tuesday evening

5. None at present

6. Jim Aldridge

7. Currently no phone

8. No dues

9. 6800 processor oriented, speech synthesis, graphics, interactive higher level languages

10. Newly formed and looking for a permanent meeting place. An Altair 680b is being built up, and a speech synthesizer is presently in the design stage. An ACIA version of MIKBUG is being developed as is a highly graphics oriented Star Trek game.

1. Central Texas Computer Association

2. 508 Blueberry Hill Austin TX 78745

3. Old Quarry Branch, Austin Public Library

4. Fourth Monday of every month, 7:30 PM

5. Print-Out

6. R D (Ray) McCoy

7. (512)443-0971

8. Dues: $10; annual subscription to newsletter: $6

9. Interests range from the most elementary, to the most sophisticated. (Almost any application that can be dreamed of )

1. El Paso Computer Group

2. 213 Argonaut #27 El PasoTX 79912

Zips 80000 - 90000

1. Denver Amateur Computer Society

2. POB 6338 Denver CO 80206

3. First Universal Church 4101 E Hampden Av Denver CO

5. DACS Newsletter

6. Jim Clark, editor 538 S Swadley St Denver CO 80228

1." CSPCC (Coeurd'Alene Society for the Prevention of Cruelty to Computers)

2. 205 Foster Apt #2 Coeurd'Alene ID 83814

3. See #2

4. Each week, Sunday evening

5. None

6. Mark Bentley, president

7. (208)664-6686

8. None yet

9. Our main goals are as follows:

• Obtain a computer (probably Z-80 based)

1.

Name of organization

2.

Mailing address

3.

Meeting location

4.

Meeting algorithm

5.

Newsletter or publication

6.

Contact person

7.

Contact phone number

8.

Dues or subscription fees

9.

Special interests

10.

Other comments

• Create or obtain a Fortran-similar compiler

• Implement world simulations and war games on said computer

1. Northern Nevada Amateur Computer Club

2. UNSCC POB 9068 Reno NV 89507

3. Washoe County Library

4. Second Wednesday, 7:30 PM or as announced

5. Meeting announcements only, sent to members

6. Al Brady

7. (702)784-4008 or 329-9386

8. None

9. Home hobby systems

10. Organized activities scrupulously avoided; meetings for purpose of information exchange

Zips 90000 - 99999

1. University of California at Los Angeles Computer Club

2. 3514 Boelter Hall

UCLA Los Angeles CA 90024

1. HP-65 Users Group

2. 2541 W Camden PI Santa Ana CA 90024

1. Cola

2. POB 43677

Los Angeles CA 90043

1. Beverly Hills High School Computer Club

2. 241 Marino Dr Beverly Hills CA 90212

7. (213)277-5900 10. The main purpose of the club is to

invite people from the computer industry or from related fields to our campus as guest speakers.

1. Southern California Computer Society

2. POB 987

South Pasadena CA 91030

1. San Gabriel - Southern California Computer Society

2. Dan Erickson 400 S Catalina Av Pasadena CA 91106

1. Glendale Community College Computer Club

2. VS Lashleu

1 500 N Verdugo Rd Glendale CA 91208

126

COMPUTER MART of New Hampshire

Dealers for

IMSAI

Technical Design Labs The Digital Group

Open Mon Thru Sat 9:00-5:00 Thurs. 'til 8:30

Rt. 3 Merrimack (603)424-2981

IMSAI Dealer Systems from $540

CRT Kit ADM-3 $849

RAM 4A-4 $125

3240 W LARKSPUR PHOENIX AZ 84021 (602) 942-8405

V jew Ujom

LONG ISLAND

Computer leasing available.

IMSAI, SWTPCo, Digital Group

Processor Tech, Apple, OSI

TDL-Z-80, Seals, Cromemco,

Veras, Tarbell, Oliver

Magazines, books, chips, sockets, connectors, terminals.

IT'S ALL HERE WAITING FOR YOU FRIENDLY ADVICE TOO

New York City 314 5th Ave. (32nd St) New York 10001 212-279-1048

Long Island 2072 Front St East Meadow NY 516-794-0510

AUTHORS WANTED

3C plus per word for suitable articles for Computer Applications magazine; a new photo-offset publication devoted to personal computing hardware/software, with emphasis on step-by-step how to do it. Full responsibility is assumed for all submissions, both accepted and returned. Write for free details to: Computer Applications, 998 Coxwell Ave., Toronto, Ontario, Canada, M4C 3G5 Computer clubs, hobbyists, and commercial advertisers, get on our mailing list. Issue #1 is at the introductory price of only 50C.

Pictured above is the new OP-80A High Speed Paper Tape Reader from OAE This unit has no moving parts, will read punched tape as fast as you can pull it through (0-5,000 c.p.s.), and costs only $74.50 KIT, $95.00 ASSEMBLED & TESTED. It Includes a precision optical sensor array, high speed data buffers, and all required handshake logic to interface with any uP parallel I/O port.

To order, send check or money order (include $2.50 shipping/handling) to Oliver Audio Engineering, 7330 Laurel Canyon Blvd.. No. Hollywood. CA 91605. or call our 24 hr. M/C-B/A order line: (213) 874-6463.

MODULES

FOR ALTAIR AND

IMSAI COMPUTERS

8K STATIC MEMORY - KIT $295 ASSEMBLED $375

16K STATIC MEMORY - KIT $650 ASSEMBLED $775

WIRE WRAP BOARD - KIT $ 39

EXTENDER BOARD W/C - $ 30

BATTERY BACK-UP BOARD

LESS BATTERIES _ KIT $ 55

115V I/O BOARD - KIT $ 149 ASSEMBLED $200

THE 115V I/O BOARD HAS FOUR INPUTS AND FOUR OUTPUTS EACH II5VAC AT I.SAMPS. NO LONGER A NEED FOR RELAYS WITH THIS BOARD.

To order send check or money order {include $2.50 shipping/handling) to ELECTRONIC ENG. 8 PRODUCTION SERVICES, Rt.# 2, Louisville, Tennessee. (Tn. users add 6% sales tax) (615)984-9640

1. Valley Chapter — Southern California Computer Society

2. R Stuart Gibbs 5652 Lemona Av Van NuysCA9141t

1. San Diego Computer Society

2. POB9988

San Diego CA 92109 5. Personal Systems

10.

29 Palms California Area Group Wesley Isgrigg 74055 Casita Dr 29 Palms CA 92277

North Orange County Computer Club (NOCCC) POB 3603 Orange CA 92665 Administration Building, California State University, Fullerton We usually meet in the afternoon of the first Sunday of the month. North Orange County Computer Club Newsletter

Lorin Mohler, president (714)998-5831

$6 annually, includes newsletters; family memberships will be available. The club is actively acquiring software for 8080 and 6800 microprocessors. NOCCC would enjoy swapping newsletters with other computer oriented groups. We are particularly interested in using our hardware in educational

applications and some games. Ideas for successful fund raising are also appreciated.

1. Technological Developments

2. POB 2151 Oxnard CA 93034

5. Calculator Lib

6. Gene Hegedus

7. (805)486-7191

8. $2 per issue postpaid

9. Published for professionals and amateurs liberated by the calculator from the obnoxious drudgery of arithmetical operations. Covering the full range of commercially available calculators from the $8 models to the $1000 programmable units.

10. Contents: Tips and Trix with arithmetix, games and other programs for programmable and the $8 kind of nonprogrammable calculators; vocabulary, news and other tidbits, all to develop the calculator wizardry of the liberated readers.

1. Ventura County Computer SOCIETY

2. POB 525

Port Hueneme CA 93041

3. Camarillo Public Library, 3100 Ponderosa Dr

4. The last Saturday of the month not near a holiday (Nov 20 and Dec 18). We may change this in 1977 but will give you three months notice if we do. Time: 9:30 AM to about noon.

1. Name of organization

2. Mailing address

3. Meeting location

4. Meeting algorithm

5. Newsletter or publication

6. Contact person

7. Contact phone number

8. Dues or subscription fees

9. Special interests 10. Other comments

5. The VCCS Newsletter

6. Fred Moeckel, (805)982-5852 or Bill Cowley, (805)985-2631 (home),

(805)982-1045 (work) 8. Currently $5 per year

1. Santa Barbara Computer Group

2. Glenn A McComb 210 Barrunca #2 Santa Barbara CA 93101

1. San Luis Obispo ju-Computer Club

2. 439 B Marsh St

San Luis Obispo CA 93401

3. Cal Poly State Univ SLO

4. Meetings are first and third Tuesdays of the month at 7 PM

5. No newsletter yet

6. Bob Neeper or Rick Stellmacher

7. (805)544-5441

8. No dues

9. Trading hardware and software, lectures and seminars by members of the club and industry

CANADA

New Hobby Computer Centre

THE COMPUTER SHOP

Calgary, Alberta

3515 18th St SW

Phone (403) 243-0301

IMSAI, Cromemco, Polymorphic, SWTPC, etc. Plus our own Canadian made lnteralia-8000 Micro. Full repair facilities, low rates. Hardware/ Software specialists available for commercial or industrial control applications too.

GRAPHICS

• Simultaneous display of text and graphics

• 64 programmable GRAPHICS characters

• Upper case ASCI I ROM

•Character selective inverse video

•All needed RAM included

This high resolution low cost graphics/text display has been made possible through the use of 64 totally user-programmable graphics characters. These contiguous 8x12 "building-blocks" are accessed just like any text character and displayed on the same 64 character x 16 line screen grid.

This complete single board kit plugs directly into the S-100 bus (Altair/IMSAI) and is yours for only $199.

Ask for THE DETAILER.

MicroGRAPHICS

P.O. Box 2189, Station A

Champaign IL 61820

Terms:

Prepaid. Illinois residents add 5% sales tax.

DIGITAL SYSTEMS

FLOPPY DISK SYSTEM

COMPLETELY ASSEMBLED UNIT

#1595.00

(Price guaranteed till 3/1/77)

Includes: single drive, cabinet, power supply, controller, Interface and all cables - complete]y assembled and tested.

Features Shup;p;art Associates drives and DIGITAL .SYSTEMS FDC-1 controller. Disk formatting 3s IBM compatible. Comes with single interface to the Altair/IMSAI bus. The controller uses a simnle DMA interface that allows concurrent processor execution, uses hardware bootstrap without processor intervention.

The powerful CP/M Disk Operating System, written by the originator of Intel's PL/M compiler, is available for only $70.00. CP/M was developed on our hardware. Systems have been operating in the field for over two years.

Add $575.00 for the dual drive system.

DIGITAL SYSTEMS

115*1 Dunsmulr PI

Livermore, Ca. 94550 (415) 443-4078

128

SOUTH FLORIDA

We Carry:

•IMSAI

• SWTPC

• Cont. Spec. Corp. •Vector

• Cromemco

Plus a Wide Selection Of:

Chips • Sockets • Boards Magazines • Books Technical Manuals Newspapers • Brochures

Service and Sales

Sunny Computer Stores, Inc

University Shopping Center 1238 A South Dixie Hwy. Coral Gables, FL 33146 (305) 661-6042

MORE DATA

PER DOLLAR

DURA MACH 10

Automatic Typewriter

BASED ON THE IBM SELECTRIC TYPEWRITER, WITH A PAPER TAPE PUNCH AND OPTICAL TAPE READER, ALL IN ONE UNIT.

FASTER, MORE VERSATILE THAN TTY.

USES 8-BIT BCO CODE FOR PARALLEL IN/ OUT AND PUNCHED PAPER TAPE.

WILL PUNCH TAPE FROM KEYBOARD INPUT, TAPE READER, OR EXTERNAL INPUT.

PRINTS ON STANDARD PAGE FROM KEYBOARD, TAPE READER, OR EXTERNAL INPUT.

OUTPUT TO COMPUTER FROM TAPE OR KEY BOARD.

ALSO, A STANDARD TYPEWRITER, USING BCD CODED TYPE BALLS AVAILABLE FROM IBM.

PAPER WIDTH, 15.25" MAX. WRITING LINE, 13" MAX. SIZE: 28" L, 15.75" D, 7.75" H. WEIGHT 70 POUNDS,

CHECKED OUT f, IN EXCELLENT CONDITION. ONLY S"tOO. FOB CLEVELAND, OHIO. LIMITED QUANTITY. (THIS AD TYPED ON A DURA MACHINE)

ALSO AVAILABLE: MODIFIED MACHINES, USING SELECTRIC-CODED TYPE BALLS, WITH ASCII IN/OUT. STAND-ALONE PAPER TAPE PUNCHES £ READERS.

JEFF-TRONICS P.O. BOX 81"l21, CLEVELAND, OH Mil] PHONE: 216-23M-45 0S CDAY OR EVENING)

8,192 X 8 BIT STATIC MEMORY

EXCEPTIONALLY LOW POWER

' M#

rii'liiiiiiii.ii]

KIT $295.00

•ALTAIR 8800/IMSAI 8080 BUS COMPATIBLE

•FAST 215 nS-FULL SPEED-FOR Z80 ALSO

•EXCEPTIONALLY LOW POWERLESS HEAT

•LESS THAN OTHER "LOW POWER" MEMORY

•BATTERY STAND-BY CAPABILITY

•ALL SIGNALS TO MOS DEVICES BUFFERED

•SOCKETS FOR ALL ICS

PROTOTYPING BOARD

LOW PROFILE IC SOCKETS

EDGE CONNECTORS

DB25 CONNECTORS

SHIPPING EXTRA, ADD $2.00 NJ RES. ADD 5% SALES TAX

ELECTRONIC CONTROL TECHNOLOGY

P.O. Box 6, Union, New Jersey 07083

THE COMPUTER CORNER

Lower Hudson Valley Southern Connecticut

•IMSAI 8080 •POLY-88 •Teletype supplies

• Full line of magazines

•Processor Tech •Computer Book Service

• Magnetic tapes & disks •Brain Games & Puzzles

THE COMPUTER CORNER

White Plains Mall

200 Hamilton Avenue

White Plains, N.Y. 10601

Tel: (914) 949-DATA

Hours:

10-6 Daily & Saturday

10-9 Thursday

6502 OWNERS

ASSEMBLER/TEXT-EDITOR PROGRAM, in source and object form.

ANSI BASIC PROGRAM

STAR TREK GAME PROGRAM

All above programs run in 4k memory. Available on either cassette or paper tape.

PROGRAMS $19.95 EACH PPD.

(Texas Residents add 5% sales tax)

Hard Copy Available with Purchase for an additional $12.95 ppd. Membership in User Group with purchase. Complete listing of programs available on request.

MICRO SOFTWARE SPECIALISTS, INC.

2024 Washington Street

Commerce, TX 75428

(214) 886-6300

For more information circle 133.

EGjGl^ COM

7338 Baltimore Ave., Suiie 200 College Park, Maryland 20740

JOINT VENTURE

GROUP OEM BUYS

IMSAI kits 8 assembled units 15% 9900 board, 16 bit microP, 32 bit I/O

hardware mult Er div, buffered bus,

20ma or RS232, 8 interrupts

SPHERE kits 6 assembled units 10%

SWTPC kits 6 assembled units 10%

CROMEMCO kits 10%

SANYO TV Monitors 10%

VERAS F-4 computer 10%

TDLZPU&Z16K 10%

SEALS 8K bat. backup Mem, 10% PERSCI Dual floppy 6 intelligent

controller 1*270 & 10701 SHUGART MINI-FLOPPY

OFF LIST

$249.00 OFF LIST OFF LIST OFF LIST OFF LIST OFF LIST OFF LIST OFF LIST

$1395.00 $350.00

Negotiating with others for discounts

AMD FACTORY PRIME TESTED lor MIL-STD 883C

91L02 600ns

$1.90

9102 500ns

$1.85

90L02 -100ns

SI.99

9102 400ns

$1.95

Isocket & capacitor with abovel

$.25

Z-80

$54.00

Z80 PIO

$15.00

Z-BO-CPC

$15.00

1702A

$8.00

8080A2.5MH

$17.00

8080A3 OMH

$20.00

8080PPI

S10.00

8080SCI

$10.00

8212

$2.50

8224

$4.75

8228

$5.50

8216/26

$2.50

9656

$9.50

9551

$9.50

oihcr chips 2900 series, 4K mems. etc

Send S2.00 for newsletter & lists

Full pavmeni for discounts, add 4%. mm. 4.00

loi shipping h handling, orders bulked lor

lowest discount on OEM Group buys.

1. Micro-8 Newsletter

2. Cabrillo Computer Center 4350 Constellation Rd Lompoc CA 93436

1. Computer Phreaques United

2. Mac McCormick 2090 Cross St Seaside CA 93955

1. Homebrew Computer Club

2. POB626

Mountain View CA 94042 5. Homebrew Newsletter 10. The newsletter is sent to anyone on

request; however, donations are greatly appreciated for the cost of postage labels and printing.

1. Bay Area Microprocessor's User Group

2. 1211 Santa Clara Av Alameda CA 94501

3. The Great Western Savings Building at E 14th and Davis Streets, San Leandro CA, in the community room on the second floor

4. We meet the first Thursday evening of every month at 7 PM.

5. We have no newsletter yet.

6. Timothy O'Hare

7. (415)523-7396

8. Dues are collected only if we need money and are voluntary ($.50).

1. Bay Area Micro Group

2. 4565 Black Av Pleasanton CA 94566

1. LLLRA Hobbyist Group

2. Charles D Hoover 35 W Essen St Stockton CA 95204

1. Sacramento Minicomputer Users

2. POB741

Citrus Heights CA 95610

1. Computer Guild

2. POB 255232 Sacramento CA 95825

3. Meetings are held at members homes at present.

4. Meetings scheduled when possible

5. None at present

6. Quentin T Fox Jr, guildmaster

7. (916)489-5400

8. Presently requiring only interest,

knowledge and equipment 9. General computing and controller

systems development 10. We are very interested in the development of a portable general purpose computer (hand held?), possibly based on the Tl SBP0400A 4 bit slice processor.

1. Aloha Computer Club

2. 94-360 Hokuala St Apt 187 Mililani Town HI 96789

3. Hawaiian Telephone Plant Training School, Bldg A, at end of Kikowaena St, Moanalua

4. First Wednesday of each month at 7:30 PM

5. None yet

6. Donald D Henson

7. (808)623-1781

8. None yet

9. Undefined

10. Alternate contact: Robert Kennedy (808)946-9761

1. Portland Computer Society

2. 1003 Garland St Apt 4 Woodburn OR 97071

3. Portland Community College, in one of the rooms off of the main cafeteria (Mt Sylvania campus)

4. Third Saturday of the month, 1-4 PM

5. None published as yet, but plans afoot

6. Mike Boyd, The Byte Shop, Portland Also Percy G Wood, address see #2

7. Check with directory assistance for the Byte Shop. Else try 981-4985.

8. $10 per year

9. None for the society, but SIGs planned

10. Place to contact is the Byte Shop.

1. Portland Computer Club

2. Bill Marsh 2814 NE 40th St Portland OR 97212

1. Northwest Computer Club

2. POB 5304 Seattle WA 98105

3. Usually meets at Pacific Science Center (near the math exhibits)

4. First and third Tuesday of the month, at 7 PM

5. Northwest Computer Club Newsletter (NCCN), monthly

6. John Marshall, NCCN editor

(206)251-5695, work

(206)226-7775, home Steve Patchen, (206)543-1788, work

(206)364-6447, home Bob Wallace, (206)524-6359, 12-2 PM 8. Subscription/dues not set for next year 10. We have about 130 members with 40 microcomputer systems running. Membership is divided about equally between hardware professionals, software professionals, and students.

Canada, New Zealand

1. Montreal Area Computer Society MACS

2. 4100 Kindersley Av Apt 22 Montreal, Quebec CANADA

3. Vanier College 5160 Decarie Blvd Montreal, Quebec

4. Once a month

5. The Golden Arches

6. Leslie Zoltan

7. (514)733-8890

8. $.50 per meeting

9. Computer applications

10. 20 members as of Sept 1 1976; have had two meetings; seeking new members

1. Toronto Region Association of Computer Enthusiasts (TRACE)

2. Harold G Melanson POP 545 Streetsville PO Mississiagua, Ontario CANADA L5M 2C1

1. Amateur Microprocessor Club of Kidchener-Waterloo

2. Reading Room Electrical Engineering University of Waterloo

Waterloo, Ontario CANADA N2L 3G1

6. Charles Sooley or C Ed Spi ke

7. (519)885-1211

1. Canadian Computer Club

2. 861 11th St

Brandon, Manitoba CANADA R7A4L1 6. (204)725-1079

1. INFO FILE

2. POB 27-206 B

Mt Roskill

Aukland NEW ZEALAND ■

BYTE's Bits

A Business Services Time Sharing Service

Quikdata is the name of an outfit which makes available large scale processing facilities and debugged business software which can be accessed via a small computer system lacking extensive mass storage, debugged software or number crunching capability. The service operates in a remote batch mode at 110, 300 and 1200 baud over the telephone network. It requires that the user's

computer be equipped with an originate modem, BASIC language with 10 control for cassette or floppy disk, and the floppy disk or cassette. (Any other electronically controlled medium to high speed mass storage device could be used.)

Write for a free brochure which describes the software which is available on a time sharing system, along with latest user manuals, computer assisted instruction programs, a high level language for report generation, translators for BASIC and various assembler dialects, and a software exchange with 30% royalties for the authors.

According to the brochure, the service of Quikdata is created by Dr Ernst J Schubert,

an applied physicist and electrical engineer with extensive past experience in computer design starting at Westinghouse, Burroughs, Beckman Systems, and later business and consulting experience in economic modeling, production and inventory control software, etc. To find out what Quikdata can do for your business or professional activities with a microcomputer system, write Dr Schubert and Company at Quikdata, 3431 Cerritos Av, Los Alamitos CA 90720."

Consumer Notes. . . Collectors Items

We notice that several sources lately have been trying to remanufacture collector's items. Readers should be aware of what it

130

Advanced Microcomputer Products Presents

Prototype Design Equipment EH1^b',^S^'B^H1^:^ "r^^-^E^r

!™i'?~£'

ffl §

IS-1!

—ST35—IF—S—RTS1—""1

Now in nock tor Microprocessor Prototyping

NEW SOCKETS & BUS STRIPS

E.p.rirt»n<.f 600 . . . $10.35

8K RAM BOARD 5198.00

Aoy

• MICROPROCESSOR PRODUCTS

*MK PRO

QMPUTER

'T^C^* BUILD YOUR OWN

Photo of expanded EVK 99 $159.95

COMPLETE COMPUTER SYSTEM

TV GAME KITS

S6B34 1 S6B00

AM2B12 AM2841

AM33J1

ONLY

■ $29.95

ONLY

,S34.95

TV KIT NO.3

ONLY

$59.95

III SS 95 loi ?WH; l

ONLY

$49.95

2. UNIVERSAL KLUGE BOARD $98.00

Completely co.npai.ble 10 ibe E VK lyiiem Ttlit board alio* jddilion.lpa.-Ilh. p.i.r.1 linn 5400 hol.i, hold. 94 16pn 2. 4. 6. 9"o. orta-er centtn 2 50p.n 1 20 pm rial cabl

3. 16K BYTE RAM BOARD $77.95

16K . Bo. BK ■ I6ori|jni/»l.or. UlCl 2102'sd. 21L02'ian

4. 6 SLOT MOTHER BOARD $29.95

5. EXTENDER BOARD $46.50

25p.nRS232

75452

8T26B

74LS13S

8097

74166

74161

741HC

MH0026CN

1488

1489

* IC MARKET PLACE *

RF MODULATOR MODULE

UM 1021 Channel 3/4 VHP MMUUta $8.95

+ NEW PRODUCTS

NEW FROM NEC Microcomputer! FIRST TIME OFFERED D372 Floppy Disc Controller Chip . . . . $125.00 D371 Mag. Tape Cassette Controller Chip . 99.95

Application Notes (26 pages) 6.95

Gl AY3550 4?, Digit OVM Chip 29.95

Gl AY3600 Keyboard Encoder 9.95

Intersil 8038CC 4.95

XR2263 Servo Com 6.95

R0 32513Char Gen 9.95

LM305AH LM306N LM307CN LM307M

LM232K ', LM324M

LM3S1CN LMJ70N

LM565N LM565H LM703CN LM709H LM7D9N

LM723N

LM725H LM733N LM733CH

.M7524N .M7525N

RC3403AD RC4131CN RC41360 HC455BCN

ALTAIR /IMSAI COMPATIBLE 8K MEMORY

THE SAME HK UOAI1D OFFERED TO THE SCCS GROUP PURCHASE NOW OFFERED TO VOU AT THE SAME LOW LOW PRICE1

$198.00 COMPLETE

If you desire 91L02APC PtMN add S9.Q5

EIGHT LEVEL PRIORITY INTERRUPT CPU. ALTAIR/IMSAI 80BO COMPATIBLE FEATURES SPECIFICATIONS

tugrird ro. operating *,ih CPU; Intel 8080A u.

7403N 7404N 7405N

7407N 7408N 74MN

7423N 742GN 74MN 7427N

I4S0N

745 IN 745 3N 7454N 7470N

747SN 7476N 74 BON 748 2N

74145N ,70 74147N SIS" 7414BN SI .79

CD4000 CD4001

CD4009 CD4010 CD4011 CD4012 CD4013 CD4014 CO4015 CO4016

CD4027

CD4029 CD4030

CD4Q35 CD4040 CO 404 2 CO 404 3

CD40B1

CD4522 CD4526 CD4527

3 CVCLE: 2 Seq/lniinjci,

ADDRESS U(. [.loll flTi,. I/O: 756D.icc1ly Ad

INTERRUPT: 3LevelPri(]iny

POWER:

7 B tu II

O70VDC.G0MA

6800 STARTER SET

PLESSEY SEMICONDUCTORS

IB 74BSN

100 PIECES MIX TAKE 1 1000 PIECES MIX TAKE

'47.79T*

BOS3N BOS4N

I174N SI.25 75492N (175N SI.25 75493N '17BN 79 75494N

I1MN J2 ID

0% DISCOUNT 15% DISCOUNT

SLB11C SL612C

SL613C ;

SL620C :

SLB21C :

SL622C .

SLB23C :

SL650C 575 SL651C 4.95 SL68DC 3.75

DIVIDERS

6.95 SP8fi20B 12.50

8 25 5P8G31B

17.00 SPB632B

17.50 SPB6340

IB 00 SPB6360

20.00 SP86380

22.00 SP8637B

SPB640B J>S304IB SP8642B SP8643B : SP8646B

SPB652B \2.<K

8080A STARTER SET

FCN GEN KIT $18.50

63 Key Keyboard 19.95

19 Key Keyboard 11.95

Also ... we stock entire continental specialties line new sockets and bus strips for microprocessor design Experimenter 600 (.6 spacing) $10.95 Experimenter 300 (.3 spacing) 9.95

All shipments first class or UPS in U.S. or add 5% for shipping and handling. Minimum order $10.00. California Residents add 6% tax. Foreign add 8%.

)MPUTER

P. O. BOX 17329 1

IRVINE, CALIFORNIA 92713 nM**-1

PHONE 1714) 9683655

00

o

00

o

>

G

W V

<A

to

CO

■

o ©

>

9l

^ TRANSISTORS

P/N

DESCRIPTION

PKG

UNIT PRICE

ID

100

iooo

2N91B

.24

.17

.15

2N930

2N2222A

.166

.155

2N2219A

.16

.15

.IBS

.155

.135

jnHbW

T^'^XZ"'"""'

TO IB

.22

.30

-17B

.18

.105

.155

2N3392

.IB

2N3414

.185

2N3563

2N3565

2N3638

1G5

2N3640

74

165

13

2N3646

.IBS

13

2N3904

.13

2M3906

.15

2N4092

N-'l l" v'lOBV^O

TO IB

48 50

M

M

47

2N4123

2N4125

PH'Sm S.g GPAi-J

ros?

23 23

.15

"l«

136

.27

.2!5

2N3055

95

SO

.78

.72

MJ305S

2M3725

.65

.50

^5

FPQ3725CN

<i"d ''-"" B"*"

DIP

2.50

195

1.75

1.43

BRIDGES W

Ft=

500999

W02M

75A 700V

7.

IE

35

WQ8M

J5A ,nrC

IM

K

«

KBPC25 02

KBPC25 04

KBPC25 06

23A 600V

7.75

7 5b

7 10

CRYSTALS

^ Exar

SPECIALISTS IN NEW TECHNOLOGY LINEAR CIRCUITS

* FUNCTION GENERATOR KIT * The runctton GeneraiDr Kil leiiiureisino. tMn.nl- jr>d «iw mttm Tnno5My|., AM/FMcspshilily

* TIMING CIRCUITS * * COMMUNICATION CIRCUITS * XHB55CP MsiKritaic T«tn. .90 XH148B DiHd RSSS2 Dr™ 145 XR55GCP OuilBSST.™. 1.75 XH1489 (k.rf B5337 n«tr.«rp 1.15 XR2556CP OujI IimmjC.reu.i 2.95 XR220B f.„,. o.»...-.i ».,!.,...„■ 475 XR2240CP fcdw.mmtlH.Tww 4.20 XR320P t,™ 1.40

* PHASE LOCKED LOOPS* * STEREO DECODERS* XI12211CP 'St. !).-., .i ! .■- I....... 5.35 XR131DP FV Stir to Dtimdulalu' 3.00

XR567CP T^.-U.cMt. 1.80 XR131DEP FW Si„to O-^oaolJi^. 3.00 XR75567CP lOMDwMn 1.80 XR1BO0 S.-.re Dt^~l^i.io. 3 00

*FUMCTION GENERATORS* XR2206CP Manal.tnic FuoeiiW Gmhio 5.25 XR2207CP CWmi CbwoM OirilUtB 3.75

*OPERA1IONAL AMPLIFIERS*

XR4558CP Dual HiGiilli. Ann 1.20 XR4136CP IV«JOoAr,|. 175 XR4202CP P.oo,.m-..n» o—i Op Amo 4.25

"T" JUST OUT

POWER SUPPLY: SPECIAL OFFER

*5 Voiis i.5A Reorfawd

+ 12 Volts 1.0A Unrsqulated

Special buy on OEfV Type Power Supply

Comes complete with 7.5A 117V Power Transformer

All Mounted in Chassis.

Only $14.95

r MISCELLANY

ELC0VARI

KEYBOARD

!$&/&>

*%^

CLOCK CHIPS

FIRST TIMEOFFERED

^ IC SOCKETS

14 Pin .20 2BPin .49 16 Pin 22 40 Pir. 53

'VARIABLE RESISTORS

CORCOM EMI FILTER

CORCOM 204 2A Only S4.95 115/230V 5O400H1 lesi 2I0OVDC

ROTARY SWITCH

takes to make such items, based upon our experiences here at BYTE. A collector's item must be rare, it must have quality, it must have a very limited supply, and above all, it must have a market. We have considerable experiences with collector's items around BYTE, and believe we know one when we see

one. For example, a carved jade fish in the' Huang style from the Shang period in China, circa 1766-1121 BC, in good condition, is a collector's item. A Baccarat paperweight with signature cane for 1848 in beautiful condition is a collector's item. A Steinway 1910 baby grand player piano in mint

condition is a collector's item. The Joseph Henry signalling key pictured on the front of October's BYTE is also a collector's item. All of these are examples of collector's items. None of the above were manufactured with a thought in advance that they would become collector's items."

Your Friendly Computer Store. The American Dream

Here is a view of another example of the movement toward local computer stores. This is a photo supplied by Dr Charles Dunning (left) owner of the Computer Mart of Waltham MA, and his partner John Dunning. The photo marks the opening of the store (officially) on October 14 1976, located at 1097 Lexington St, Waltham MA and open from 11 AM to 8 PM, Tuesday through Friday; Saturday 11 AM to 5 PM. The store carries four computer lines: IMS Associates, Southwest Technical Products, Digital Group and Sphere."

Wonder About PDP-11 s?

Digital Equipment Corp has just published a marketing brochure entitled "PDP-11 Computer Family Products and Services," pictured here. PDP-11 products range in size and power from the packaged LSI-11 called a PDP-11/03 to the medium scale general purpose computer system which is the PDP-11/70. For your copy, write to Communications Services, Digital Equipment Corp, 444 Whitney St, Northboro MA 01532."

^\

APL Enthusiasts Take Note

APL Press is a new publishing house devoted exclusively to APL material. Seven titles are currently available, and further manuscripts are being sought. A newsletter is issued periodically, containing brief articles, reports on conferences, book reviews, problems, correspondence, and other items of interest to the APL community. Readers interested in receiving the newsletters and book lists, or in submitting material for publication, should write to APL Press, POB 27, Swarthmorc PA 19081."

CASSETTE MEMORY BANK

Audio

Cassette

Recorder

No. 1

Audio

Cassette

Recorder

No. 2

Audio

Cassette

Recorder

No. 3

1/2 Kbyte RAM

1/2 Kbyte ROM

CAVE

Morrow's I/O and Cassette Interface Board

General Purpose 8 Bit I/O Port

(ASCII Keyboard, Tape Reader, etc.)

Modem or Teletype

Video Terminal or other RS-232 Device

MICROCOMPUTER

(Morrow's 8O80A

Microprocessor Board,

Altair 8800, IMSAI, etc.)

$120 in kit form; complete documentation *4*

Ask your local computer shop OR write us direct

BOX 6194 ALBANY, CA 94706

BILL GODBOUT ELECTRONICS BOX 2355, OAKLAND AIRPORT, CA 94614

TERMS: Add 50c handling to orders under $10. Cal res add tax. No COD; to place BankAmericard® or Mastercharge* orders, call (415) 562-0636, 24 hours.

OIM9UfWttilJMBffl|

If you want to see the latest in interesting goodies for ■ computer hobbyists, ask for our current flyer. It has Altair/IMSAI etc compatible peripherals; some of the newest octal parts, a complete ] ine of TTL, CMOS, and Low Power : Schottky ICs; power supplies; connectors; enclosures; and j all the capacitors & resistors you could ever want, as wel1 as a full line of Vector products SEND FOR OUR FLYER!!

Pill

WE W! Enclosures From VECTOR I W£

)H@

i& Deluxe cases that look beautiful no screws or

:!;v fasteners mar the good looks from the outside.

£:|; Interior slots hold card guides, connectors

•:•■;: etc. (not included with enclosure).

:•:-•: Al 1 enclosures available in either

:•:£ dark blue or black with white

y?i; front panel. Order from the

$•:: fol lowing —

v:j: *VP5-17-17U: 5.51" H, 17.58" W, || 17.1" D. $79.25

:;:::: KVP7-17-17U: 7.26" I!, 17.58" W, S|: 17.1" D. $84.00

§; «VP9-17-21U: 9.01" H, 17.58"W, $& 21.6" D. This is exactly the ::•:•: same size as the IMSAI 8080 mioro':<:'< computer. $96.50

•S? All units shipped unassembled; :>£ for postage (excess refunded) .

please include enough

96CI

FACTORY FACTORY FACTORY

*♦:•:•:•:•:•:•:•:■:■:•:•:■:■?:•:•:■:•:•:•:

PRECISION PRECISION

FRESH PRICISION

ONE

■SsVoTT V/h = S H 0 T il/ll

eubmini/'D. onnectors!

MALE WITH HOOD $3.95; FEMALE CONNECTOR $3.95.

- ■ FEMALE^] '

: HERE'S YOUR CHANCE TO BUY SOME TOP 0UALI| TY S0LDERTAIL SOCKETS AT THE RIGHT PRICEIt PIN...JD/*2.1S i 1M PIN. . .1Q/*1.<JS 2D PIN-. .10/*3.1D

: 52 PIN...1D/*3.SD 2M PIN . . .1D/«.LD

| 3b PIN...1Q/SS.SD MO PIN..-lD/*t.lS

;LTD QTY SPECIAL: 18 Pin 8/$1.50

DISCOUNT: Buy 10, take L0% Buy 100, take 20%. We just got a batch of low power and fast (450 ns maximum-- full temp range) 2102L1 static RAMs. Perfect for memory boards-and at our usual reasonable price: $1,951

i 1-flOflDA, 1-A224-, 1-flaiE, AND AN 18

i MHZ CRYSTAL AT A SAVINGS OVER INDI

i VIDUAL PRICES: FORMS THE CORE OF

| A flUALITY flOSOA CPU BOARD

v ^-:^■:•:^•.:.■.^:.:.:.:.^:.:.^•.:.v.^:x^:^>^.^•^^^^^^l•^^^:^-:':•:^•^:•:':■:':•:'^:'^:•^^^:•:■^>^>:■>:•:■^

Multi Meter —

>:An outstanding buy...6 DC Volt ranges, ^^fc §3 DC current, 5 AC Volts, 2 ohms, and^P** odB scale too. 50 uA movement; plus v"off" position damps meter for safe ^•transportation. Includes 34 inch test pleads but less 1 AA battery. Small-:j:a compact 5%UX 3V x 1 5/B". ^Please add $1 postage and handling.

.01* ACCURACY IN A T0-5 CAN...not just useful for fixed frequency oscillators, since most numbers can be used with simple binary dividers to generate other frequenc i es. For example, 15-3&0 can divide dowi. to 60 Hz for timing pulse purposes:

16.38^ divided by 21" gives 1 Hz timing pulses; and so on. All frequencies $*t.95 apply IC discount schedule for quantities. ALL FREQUENCIES IN KHz.

000 000 641

500

400 800

Choose from: 12.800 16.384 19.200

32.768 40.960 100.00 240.00

20.480 30.720

60.000 153.60

SENTRY CRYSTALS —

SJ..95 PER CRYSTAL

Series mode, fundamental, wire leads,

for hams and computer bugs. Choose

fromk MHz (PACE ciock crystal), 5 MH2

8 MHz, 10 MHz, 12 MHz, 15 MHz, 18 MHz

(8080 clock crystal), and 20 MHz.

his 4K by 8 memory board has no frills, just storage. Designed for compatibility with JOLT systems, this board is also ideal for other microcomputers using bi-directional buss systems. Same size as JOLT memory card, plus lopower operation (1.3Amax) to keep you on good terms with your power supply.

If you don't need the onboard regulation or address / data buffers of our "Bigger Brother" 4K board, then this is the way to go.

Sockets included for all ICs.

in kit form

$99.95

We took everything we learned from selling *tK x 8 RAM boards for the pas t yea r, added some of this yea r's ci rcu it tricks, ana came up with EC0N0RAM a memory board that is even more remarkable due to its 1 ow pri ce. We've engi nee red this with the user in mind, giving you sever a 1 benef i ts :

* 3 regulators to share power load, plus optimized thermal design, means a cooler running microcomputer

* Typ i caI current consumpt ion of under 750 ma g i ves your power supply a break

* Fast Zero wait states

* All TTL support ICs are latest Low Power Schottky types

* For reliable and unamb i guous data transfer, all addresses, data lines, and outputs are buffered for minimum loading and maximum output capability

* Power-on clear included

All these features are packed on to an Altair-sized, industrial quality double-sided PC board, with sockets for all ICs, 7 tantalum capacitors for power supply decoupling, and plenty of bypass capacitors 39 of them, in fact, as well as a logic print

and instructions.

also available assembled $129.95

Our popular ECONORAM 4K x8 RAM board is now available assembled, tested, and warranteed for one year. Plug it in to your Altair or IMSAI and enjoy the same performance that has made the kit such a success guaranteed zero wait states and current drain of 750 mA or less; on board regulation, easy address selection, and lots more.

ft

ECOnoROlfl" $179.95

ALTAIR 8800/IMSAI PLUG-IN COMPATIBLE. This is a 4K by 8 ER0M board...the ideal place for putting software , be it assembler, editor, or any custom set of routines. Additionally, this board may expand to 8K x 8 by simply adding more sockets and EROMs; also available is a 2K x8 version if you don't need a full 4K. LOW POWER: 8K board requires %A @ 5V. & 150 ma @ -12V. Buffered addresses for lightest loading, buffered outputs for maximum drive. Kit includes sockets, double- sided quality PC board, on board regulators, logic print, and instructions. Program it yourself, or have us do the programing.

8KX8 BOARD $269.95

2KX8 BOARD $135.00

8080 Soltranre Board $189.95

We took our EC0N0R0M board kit, but instead of including blank EROMs, these are programmed with assembler, editor, & monitor routines for the 8080. This is a valuable first step if you're try i ng to get away from mach i ne 1anguage program!ng. There's not really enough room here to fully describe all the functions of the software...but if you send us $2.95 (refundable with order), we'll send you our software packet that includes instructions listing, schematic, and assembly data.

r

from S^

proko!!

■<iie*:mia^,

IMSAI 8080: $550

The "Heavy Duty" Computer. Altair compatible so you can use all of the inexpensive memory cards. For 22 slot Mother Board Add $45

IMSAI's new I/O board $185

* 2 parallel ports

* 1 serial port

* cassette interface

* control port

The prokoboard from BIM...

$14

2/$25

The Prokoboard is the easiest way ever to get those far-out projects to work. Stick one on an Altair extender board for computer work or snap two or three (or 4 or 5) together for the work bench. 3=A perfect square

3/$35

The proko-box Just the thing for that homeless project. 4 x 7 x 2". Easy to drill, rugged ABS plastic.

Comes with cover $260 ea.

Resistors

assorted values and wattages PC mount

*1

$7 Thousand That's .007 ea.!

We found these neat little aluminum boxes and couldn't resist. They have a nice walnut finish. Great digital clock case! 2 for S3™

NEW!

The Proko Paper-Tape Reader...$42.00

Check or mouuy order only. Calif, resident 6% lax. All orders postpaid in the U.S. $10 Mir*. order. Prices subjeci to change without notice.

the proko electronics shoppe

439 marsh st. san luis obispo, ca. 93401 ^ 805/544-5441

NEW! From Solid State Music

64 x 16 VIDEO BOARD (At last) Altair plug compatible display 32 x 16 or 64 x 16

switch selectable. Composite and parallel video ports, 8-91L02A memory for graphics and text, upper and lower case, 2x3 grid for each location on graphics, with software. Kit $179.95

SOLID STATE MUSIC PRODUCTS 4Kx8 Static Memories

MB-1 MK-8 board, 1 usee 2102 or eq. PC Board $22 ,

Kit $83

MB-2 Altair 8800 or IMSAI compatible Switched address

and wait cycles. PC Board $25 Kit (1 usee) $112 I

Kit (91L02A .5 usee) $132 I

MB-4 Improved MB-2 designed for 8K "piggy-back" |

without cutting traces. PC Board $30 i

Kit 4K .5 usee $137 Kit 8K .5 usee $209

MB-3 1702A's Eroms, Altair 8800 & Imsai 8080 compat ibie Switched address & wait cycles. 2K may be ex

panded to 4K. Kit less Proms $65 2K Kit $145

4K Kit $225

MB-6 8Kx8 Switched address and wait assignments. Memory protection is switchable for 256, 512, 1K, 2K, 4K j and 8K. 91L02A .5 usee rams, Altair 8800 & IMSAI i compatible. Kit $250 Assembled & tested $290 |

I/O Boards

T/0-2 1/0 for 8800, 2 ports, committed pads for 3 more,

other pads for EROMS UART, etc.

Kit $47.50 PC Board only $25

Mlsc

Altair compatable mother board. Room for 15 connectors 11" x 11Vfe" {w/o connectors) $45

With 15 connectors $111.00

Altair extender board {w/o connectors) $9

With w/w connector $13.50

90 Day Guarantee on SSM Products Kits MB-2. MB-3 (2KOR4K),MB-4, MB-6, IO-2 and mother board with connectors may be combined for a discount of 10% in quantities of 10 or more. This supercedes the flier of 13 Sept. 1976.

1702A-EROM

1702A*2usec

'programming send hex list

AY5-1013UART

2513 prime spec, upper or I lower case | 8080A prime CPU | 8212prime latch buffer | 8224 prime clock gen ■ 8228primesyscontroller

$10.00

8.00

5.00

$6.95

11.00

25.00

4.00

5.00

8.90

MM1402A

MM1404A

MM5006A

MM5013

MM5015A

MM5016

MM5017

MM5025

MM5026

MM5027

MM5053

MM5054

MM5055

MM5056

MM5057

MM5058

MM5314

MM5316

MM5320

MM5554

MM5555

MM5556

1.90 1.90 1.50 2.50 1.50 1.50 1.90 2.50 2.50 2.80 1.50 1.90 1.90 2.80 2.80 3.50 4.00 4.50 5.95 1.90 2.50 2.50

2501B

2503V

2504V

2505K

2507V

2509A

2510A

2511A

2517V

2518B

2519B

2521V

2522V

2525V

2527V

2528V

2529V

2532B

2533V 91L02APC 32 each 64 each

$1.25 2.00 2.00 2.00 1.25 2.00 2.00 2.80 1.25 1.50 2.80 1.50 2.00 2.80 2.80 2.80 2.80 2.80 2.80 2.55 2.40 2.25

1101 1103 2101 2102-1

2111-1

2112

2602

4002-1

4002-2

MM 5260

MM5261

MM 5262

7489

74200

74L200

74C89

74L89

8223

F4702

1.25

1.25 4.50 1.65 4.50 4.50 1.60 7.50 7.50 1.00 1.00 1.00 2.00 3.95 4.95 3.50 3.50 2.50 17.00

(baud rate gen) 2.4576 MHZ Crystal 8.95

74LS00

74LS01

74LS02

74LS03

74LS04

74LS05

74LS10

74LS11

74LS12

74LS20

74LS22

74LS27

74LS30

74LS51

74LS55

74LS73

74LS74

74LS76

74LS151

74LS174

74LS175

74LS192

.40 .50 .40 .40 .45 .45 .40 .50 .55 .40 .45 .45 .40 .40 .40 .65 .65 .65 1.55 2.20 2.40 2.85

74L00 74L01 74L02 74L03 74L04 74L05 74L06 74L08 74L09 74L10 74L20 74L26 74L30 74L32 74L42 74L51 74L54 74L55 74L71 74L73 74L74 74L75

.25 .25 .25 .25 .30 .40 .30 .40 .40 .30 .35 .40 .40 .45

1.50 .35 .45 .35 .30 .55 .55

1.20

74L78

74L85

74L86

74L89

74L90

74L91

74L93

74L95

74L98

74L123

74L154

74L164

74L165

74L192

74L193

MC4044

N8264

N8263

N8826

DM8131

82S07

82S23

.90 1.40

.75 3.50 1.50 1.50 1.70 1.70 2.80 1.50 2.00 2.50 2.50 1.25 1.20 2.25 3.50 3.50 2.50 2.50 3.50 3.50

MIKOS

419 Portofino Dr. San Carlos, Ca. 94070

Please send for xistor, IC & kit lis

For large orders please send money order or cashiers check to avoid delays in waiting for checks to clear.

Check or money order only. Calif, resident 6% tax. All orders postpaid in U.S. All devices tested prior to sale. Money back 30 day guarantee. Sorry we can not accept returned IC's that have been soldered to. $10 min. order. Prices subject to change without notice.

Thinly disguised affiliates of KO Electronics and Surplus, S.L.O., CA 93401

TOUCH TONE GENERATOR BY MOSTEK. MK5086N produces the dual-tone multi-frequency telephone dialing signals as used in TT phones ond auto patches. Uses inexpensive crystal, 1 resistor and 1 capacitor. Both tones are internally mixed and buffered to a single output - simple ! Two additional output switches can control timers, transmitter, mute receiver, enable audio amp, etc. Uses

our Chomerics keyboard. Comes In 16 pin plastic DIP.

MK5086N $8.95. ..Crystal for MK5086N SI .90

Specs for MK5086N 80c.

Kit of parts including etched and drilled P.C. board and one

of our Chomerics keyboards 519.95

MC14412 UNIVERSAL MODEM CHIP MC14412 contains a complete FSK modulator and de-modulator compatible with foreign and USA communications. (0-600 BPS) FEATURES:

.On chip crystal oscillator .Echo suppressor disable tone generator .Originate and answer modes

.Simplex, half-duplex, and full duplex operation .On chip sine wave .Modem self test mode .Selectable data rates: 0-200 0-300 0-600 .Single supply

VDD=4.75 to 15VDC - FL suffix VDD=4„75 to 6 VDC - VL suffix TYPICAL APPLICATIONS:

.Stond alone - low speed modems .Built - in low speed modems .Remote terminals, accoustic couplers

MC14412FL.... , $28.99

MC14-412VL $21.74

6 pages of data ,60

Crystal for the above 54.95

MCI4411 BIT RATE GENERATOR. Single chip far generating selectable frequencies for equipment in data communications such as TTY, printers, CRT s or microprocessors. Generates 14 different standard bit rates which are multiplied under external control to IX, 8X, 16X or 64X initial value. Operates from single +5

volt supply. MC14411 ., $11.98

4 pages of data 40

Crysta I for the above S4. 95

REMOTE CONTROL TRANSMITTER. MC1442/P is a 22 channel ultra-sonic remote control transmitter I.C. CMOS B uses little power and only a few external passive compon- I ents. Applications include TV receivers, security controls, | toys, industrial controls and locks. 16 pin DIP plastic pkg. MC14422P with specs $11.10

PRECISION REFERENCE AMP

LH0070-1H provides a precise 10.0 volts for use in BCD A

to D converters or meter calibrators. Typical initial accuracy

is .3% (t .03V) . Comes in TO-5 can.

LH0070-1 H with specs $5.35

4 DIGIT COUNTER. MM74C926 is a 4 digit counter with 7 segment output. Carry output for cascading and internal display select allows outputting of counter or set of internal latches. 3 to 6V operation. Great for clocks, event and frequency counters. MM74C926 - with spec sheet $12.00.

3 DECADE (BCD) COUNTER CHIP MC14553BCP consists of 3 negative edge triggered synchronous counters, 3 quad latches and self scan multiplexed , TTL compatible outputs.

MCI 4553BCP $8. 72

Spec sheets $.60

TELETYPE CODE CONVERSION CHIP

MM5220BL converts 5 level Baudot into 8 level ASCII. Use

this chip to make your old TTY talk to your new computer.

MM5220BL $18.00

Specs for the above .30

MOS TIME BASE KIT.

Only 1" X 1.5". Input 5 to 15 VDC, output is 60HZ square wave for portable or mobile clocks. PC board is driMed I MTBK-60H2 $5.88

adPQffflCH

Says

HIGH POWER TRIAC. S''jd mount triac made by ECC. 200V, 25A. Part * G2025D is perfect for lighting, motor control, heater control, solid state relays, etc. Q2025D $2.50

MINIATURE SCR. MCR106-4 is a 200V, 4A SCR in the tiny flat power pack. Only .27" wide X .13" thick <7702 case). Buy this one at OEM quantity prices!!!! MCR106-4 75c, 10/S6. 00

PROJECT OFF TO A SHAKY START? GET OFF ON THE RIGHT FOOT HEAD FOR THE PROS AT TRI-TEK

HORIZONTAL OUTPUT TRANSISTOR.

G.E. D56W1 is a silicon NPN high voltage power transistor

designed for color and black/white TV horizontal deflection

circuits.

ICEV @ 1400V = .5mA!!

VCE (SUS) = 600V minimum.

TO-3 POWER PACKAGE

D56W1 Save on this one!! $2.55

Specs for above 40

INCANDESCENT LIGHT DELAY.

Small module designed to fit directly behind your wall switch-plate. Turn switch off and "L1TE-OFF" keeps light at half power for 15 seconds before turning off, allowing you to get from where you ore to where you ain't with out breaking a leg. Up to 5O0WI! LITE-OFF Model 100 w/instructions $2.15

MIDGET PUSH BUTTON SWITCH (CHEAP) Flat shaped plastic body push button DPST-NO momentary switch. 1/4" bushing mount. Body only l/4"Xl/2" X 3/4" long. CPB-0201 P 3/$l .00, 10/S3.00

SOLID STATE RELAY.

Teledyne P/N 601-1010QQ is a heavy duty solid state

relay module operating up to 10A at up to 250VDC .

All brand new modules!! Still in original factory package.

1010QQ $6.88

MM55106 PLL FREQUENCY SYNTHESISER 18 pin DIP package IC contains phase locked loop circuits useful for frequency synthesiser application, especially those in or near the CB band. Single supply operation; CMOS technology, binary channel select; programmable divider. MM55106N $9.00. Specs 40?

MOTOR SPEED CONTROL SYSTEM. uA7391 monolithic I.C. provides all functional blocks required for precision closed loop motor speed control. Use for 1% control accuracy on tape decks, industrial controls, etc $4.95 Specs .60

8 AMP DARLINGTON

MJ1000 is a silicon NPN darlington in TO-3 case including

a damping diode across emitter and collector.

VCEO=60V, IC max - 8 AMP

MJ1000 99c, Specs for MJ1000 20c

i DECADE COUNTER

MC14534BCP is a 5 decade real time counter with multiplexed

BCD outputs. Can be cascaded for longer counts. Typically

5MHZ operation at 15 Volts.

CMOS structure for low power consumption.

MC14534BCP $11 .25

DATA BOOKS BY NATIONAL SEMICONDUCTOR

DIGITAL. Covers TTL, DTL, Tri-State, etc $3.95

LINEAR. Covers amplifiers, pre-amps, op-amps, .. $3.95

LINEAR APPLICATIONS. Dozens of application notes and technical briefs covering the use of op-amps, regulators,

phase locked loops and audio amps Vol 1 $3.25

CMOS Gates, Flip Flops, registers, functional blocks $3 VOLTAGE REGULATORS. A must for anyone making a power supply. Complete theory including transformers,

filters, heat sinks, regulators, etc $3.00

MEMORY. Information on MOS and Bipolar memories':

RAMS, ROMS, PROMS and decoders/encoders $3.95

INTERFACE. Covers peripheral drivers, level translators, line driver/receivers, memory and clock drivers, sense amps

display driver and opto-couplers $3.95

(Outside U.S., add postage for 1 .5!bs)

SPECIAL FUNCTIONS DATA BOOK contains detailed information for specifying and applying special amplifiers, buffers, clock drivers, analog switches and D/A-A/D

converter products $3. 25

AUDIO HANDBOOK contains detailed discussions, including complete design particulars, covering many areas of audio with real world design examples. .. $3.25

10 AMP VOLTAGE REGULATOR

MPC1000 is a 10 Amp positive voltage regulator adjustable

from 2 to 35 VDC. 0.1% line and load regulation with

0.005% per C temperature stability. Can be fold-back

limited. Here is high current, high power with minimum

bother.

MPC-1000 $16.85

Specs for above 60$

NEW NATIONAL BOOK LINEAR APPLICATIONS VOL II

Takes up where Vol I left you—All the latest linear devices. Along with Vol I you have a great source of application data on the most widely used devices as well as new types just appearing $3.25

INTRODUCTION TO MICRO COMPUTERS

New book from OSBORNE.

The first edition of this classic was a huge success. Now,

due to the growth of information on the subject Osborne has

expanded the work into 2 volumes. Vol I covers basic

concepts, Vol II discusses real world micro computers.

IMC-002 Vol I , $8.00

IMC-0O2 Vol II $8.00

'NOTHER NEW BOOK FROM OSBORNE. "8080 PROGRAMMING FOR LOGIC DESIGN" explains how an'assembly language program within a microcomputer system can replace combinatorial logic for logic designers, programmers or anyone who is interested in real and powerful applications of the ubiquitous 8080. PLD-4001 $8.00

tm-tek, inc.

6522 nopth 43RO Avenue,

QLenOale, arizotia 85301

phone 602 - 931-6949

We pay shipping on all orders over $10 US, $15 foreign in US funds. Orders under $10, please add $1 handling. Please add insurance. Master Charge and Bank America cards welcome, ($20 minimum) Telephone orders may be placed 11AM to 5PM daily, Mon thru Fri. Call 602-93]-4528. Check reader service card or send stamp for our latest flyers packed with new and surplus electronic components.

SOLID STATE SALES

PO BOX 74B SOMERVILLE, MASS. 02143

WE ARE LEADING THE WAY IN CUSTOMER SERVICE AND DELIVERY TIME FOR THE COST CONSCIOUS SEMI-CONDUCTOR USER, LARGE OR SMALL.

DIODES

TRANSISTORS

TRIACS

INTEGRATED CIRCUITS

2522 STATIC SHIFT REG $2.75

INTEL 8080 CPU S24.50

2518-HEX 32 BIT SR S5.00

2102-1 1024 BT RAM S1.80

52304K DYNAMIC RAM $10.50

5202A UV PROM $10.50

MM5203 UV PROM S10.50

1702A UV PROM $10.75

5204-4K PROM ■ ; $18.95

MINIATURE MULTITURN TRIM POTS

100. 500. 2K, 10K. TOOK, 200K

S.75e,.ch 3/S2.0O

Multi-turn trim POissimiiai to Bourns

3010 style 3/16"x5/8"x1-1/4"; 50, 100, 1K, 10K, 50K ohms

$1.50e;i 3/S4.0Q

LIGHT ACTIVATED SCR's

TO-18. 200V 1A S 1.75

TRANSISTOR SPECIALS

2N3585 NPN Si TO-66 $ .95

2N3772 NPN Si TO-3 $ 1.60

2N4908 PNP Si TO-3 $1.00

2N6056 NPN Si TO-3 Darlington . S 1.70

2N5086PNPSi TO-92 4/S 1.00

2N4898 PNP TO-66 S .60

2N404 PNPGtE TO-5 5/$ 1.00

2N3919 NPN Si TO-3 RF $1.50

MPSA 13 NPN Si TO-92 3/S 1.00

2N3767 NPN Si TO-66 S .70

2N2222 NPN Si TO-18 5/S 1.00

2N3055 NPN Si TO-3 $ .80

2N3904 NPN Si TO-92 5/S 1.00

2N3906 PNP Si TO-92 5/S 1.00

2N5296 NPN Si TO-220 $ .50

2N6109 PNP Si TO-220 $ .55

2N3638 PNP Si TO-5 5/S 1.00

2N65I I NPN TO-92 Si 3/$ 1 .00

C/MOS (DIODE CLAMPED)

74C02- .22 4015- .95 4035-1.10

74C10- .22 4016- .40 4042- .78

4001 .22 4017-1.05 4047-2.00

4002- .22 4018-1.00 4049- ,40

4006-1.20 4019- .22 4050- .40

4007- .22 4022- .95 4066- .80

4009- .42 4027- .40 4071- .22

4010- .42 4028- .88 4076- .70

4011- .22 4029-1.10 4081- .22

4012- .22 4030- .22 4520-1.15

4013- .40

LED READOUTS

FND 500-.5" C.C $1.75

HP7740-.3" C.C $1.40

MAN-7-.3" C.A SI .25

NS 33-3 (hi). arr;iy SI .35

DL 747 S2.50

Sum) 25ii loi our catalog featuring Transistors ant! Rectifiers

145 Hampshire St., Cambridge, Mass.

PRINTED CIRCUIT BOARD

TANTULUM CAPACITORS

Terms: FOB Cambridge, Mass. Send Check or Money Order. Include Postage, Minimum

17

i [-.! i , i

I: I J ['

7 WATT LD 65 LASER DIODE IR SR95

BOARD 1/16" tlin

3.50 ea 5/S2.20

VECTOR BOARD J" SPACING

-5.5" X 6" SHEET $1.25

2N 3820 P FET $ .45

2N 5457 N FET $ .45

TIS43 UJT S .35

ER900 TRIGGER DIODES 4/S!.00

2N6028 PROG. UJT S ,65

VERIPAX PC BOARD This board is a 1/16" single sided paper epoxy hoard, A%"y6W DRILLED and ETCHED which will hold up in 21 Single 14 pin IC's or 8, 16, of LSI DIP IC's with busses (01

power supply connector $4.00

MV569I YELLOW-GREEN

BIPOLAR LED $1.25

FP 100 PHOTO TRANS $ .50

RED, YELLOW, GREEN OR

AMBER LARGE LED's . . . ea. $ .20

14 PIN DIP SOCKETS $ .25

16 PIN DIP SOCKETS S .28

MOLEX PINS 100/SI.00

10007 $7.50

8 PIN MINI DIP SOCKETS $ .25

10 WATT ZENERS 3.9,4.7, 5.6.8.2. 12. 15,

18, 22, 100. 150 or 200V . . . aa $ 60 1 WATT ZENERS 4 7, 5.6, 10, 12. 15,

18 OR 22V ea, S .25

Full Wave Bridges

SILICON SOLAR CELLS 2%" diameter .4V at 500 ma $5.00 ea., 6/S27.50

REGULATED MODULAR POWER SUPPLIES

I - 15 VDC AT lOOma

115VAC INPUT S2/.95

5VDC AT 1 A. 115VAC INPUT . . . $24.95

12 VDC AT .5 AMP $24.95

IN 4148 IIN9141 . 15/31.00"

.27UF 35v 5/31.00 .47UF 35V 5/31.00 .68UF35V5/S1.00 1UF35V 5/S1.00 2.2UF 20V 5/S1.Q0 3.3UF 35V 4.'SI.00

4.7UF 35V 4/S1.00 6.8UF 35V3/S1.00 22UF 35V $ .40 33UF 35V $ .40 30UF GV 5/S1.00 100UF 35V S .50 150UF 15V S .50

M/001 ALARM CLOCK CHIP.

S6.00

NATIONAL MOS DEVICES

MM1402 - 1.7S MM1403 1.75 MM1404- 1.75 MM5013 2.50 MM5016-2.50 MM5017- 2.70 MM5055-2.25 MM5056- 2.25

MM6057- 2.25| MM5058- 2.75 MM5060- 2.75 MM5061 - 2.50 MM5555- 4.75 MM5556- 4.75 MM5210- 1.95 MM5260- 1.75

#30 WIRE WRAP WIRE SINGLE STRAND 100 FT. $1.40

Silicon Power Rectifiers

PRV 1A 3A 12A 50A

125A

100 .06 .14 .30 .80

3.70

200 .07 .20 .35 1.15

4.25

400 .09 .25 .50 1.40

6.50

300 .11 .30 .70 1.80

8.50

800 .15 .35 .90 2.30

10.50

1000 .20 .45 1.10 2.75

1 2.50

7400

7401

7402

7403

7404

7405

7406

7407

7408

7409

7410

7411

7412

7413

7414

7416

7417

7420

7425

7426

7427

7430

7432

7437

7438

7440

7441

.85

TTLIC 7442

744574467447744874507472747374747475747674807483748574867489749074917492749374947495 7496741077412174123

SERIES .52 74125.70 74126

.70 74151

741 54

74155

74157

74161

74164

74165

74173

74174

74175

74177

74180

74181

74190

74191

74192

74193

74194

74195

74196

75324

75491

75492

1.05 1.40 .95 .92 .79 .70 2.10 1.20 1.20

MINIATURE DIP SWITCHES CTS-206-4 Four SPST switches

In ono rninidip puckaije. . . $1.75 CTS-206-8 Hghl SPST switches in a 16

pm DIP package S2.85

AY

--1013-A30K sur/par.. par./ser., uniirsal UART S6.95

ALCU MINIATURE TOGGLE SWITCHES MTA 106SPDT $1.20

SOLID STATE SALES

P.O. BOX 74B

SOMERVILLE, MASS. 02143 TEL. (617) 547-4005

200 .95

1.25

2.00

400 1.15

600 1,35

1.50 1.75

3.00 4.00

SANKEN AUDIO POWER AMPS

Si 1010 G 10 WATTS S 7.50

Si 1050 G 50 WATTS. .

. $27.95

CCD 110 LINEAR 256 XI BIT SELF SCANNING CHARGED COUPLED DEVICE $99.00

CCD 201 100 x 100 CHARGE

COUPLED DEVICE $135.00

LINEAR CIRCUITS .

LM307 Op-Amp S .30

LM309K5V 1A REGULATOR .. S .95

723 - 40 + 40VV RFGULATOR . . S ,50

301 '748-Hi Per Op. Amp $ .31

320T 5.12.15, in 24V NEG REG . . S1-25

709C Op. Amu 3 .31

741 A oi 741COPAMP $ .31

710 COMPARATOR S .35

CA 3047 Hi Pel. Op. Amp $ .95

340T5, 6, 8, 12, 15, 18,24V POS

REG. TO-220 $1.10

101 OPER. AMP. HI PERFORM, . , S 75

LM 308 Oper. Amp., Low Power , . S .95

747 - DUAL 741

556 - DUAL TIMER

537 - PRECISION OP. AMP. . . . LM 3900 - QUAD OP. AMP . . . LM324 -QUAD 741

560 - PHASE LOCK LOOP . . .

561 - PHASE LOCK LOOP . . .

565 - PHASE LOCK LOOP . . .

566 FUNCTION GEN

567 - TONE DECODER

LM 131 ON FM STEREO DEMOD. . S2 75

S038 IC VOLTAGE CONT. OSC. . $3.90

LM 370 - AGC SQUELCH AMP. . $1 15

555 - 2*js - 2 HR. TIMER S .45

553 OUAD TIMER S2.50

FCD810 0PTO-ISOLATOR .... $ .80

1458 DUAL OP AMP S .60

LM 380 •- 2W AUDIO AMP S .95

LM 377 - 2W Stereo Audio Amp. . S2.50

LM 381 - STEREO PREAMP. ... $1.50

LM 382 - DUAL AUDIO PREAMP SI.50

LM 311 - HI PER. COMPARATOR $ .90

LM 319 - Dual Hi Speed Comp. . . $1.25

LM 339 - QUAD COMPARATOR SI.50

$1.00 Si 70 S .49

S1.50 . S2.00 $2.00 $1.25 SI.65

WE SHIP OVER 95%

OF OUR ORDERS THE

DAY WE RECEIVE THEM

UNIVERSAL POWER SUPPLY

A unique plug-in supply by Panasonic. Useful for calculators, small radios, charging many & various small NiCad batteries. Adjustment screw plug on the side changes output voltage to 4'A, 6, Th, or 9 volts DC at 100 MA. Output cord with plug, 6 ft long.

No. SP-143C $4.50 3/$ 12

REGULATED LOGIC SUPPLY

New from Data Control, 115 volt AC input, output of 20 volts DC 5 amps positive and 20 volts DC 15 amps negative. (2 voltages) Highly regulated and filtered with "pot" adjust 10% higher or lower. Fully enclosed in steelcase. Shipping wgt. 75 lbs. $75.00

CLOCK KIT $14.00

Includes all parts with MM5316 chip, etched & drilled PC board, transformer, everything except case.

SP-284 $14.00 each 2/$25.00

r

Mfirae

PARITY DETECTOR

New packaged, made for RCA, detects even or odd parity, baud rate 110, 150 or 134.46. Built-in logic supply for the IC's, operates from standard 115 vac. Control panel allows manual or automatic reset mode of operation. Aluminum enclosure (not shown), covers the electronics. TTY compatible.

Ship wgt. 10 lbs. $12.50

COMPUTER DISPLAY TUBE

New Sylvania 9 inch CRT, 85 degree deflection, with tinted faceplate. Same as used in Viatron systems (buy a spare). With complete specs.

Ship wgt. 5 lbs. $15.00

LINEAR by RCA, brand new, gold bond process

301

307

324

339A

741

5 .60

.52

1.80

1.60

.50

747 748 1458 3401 555 timer

.82 .50 .96 .80 .60

MM5314 MM5316 7001

$3.00 3.00 8.00

MEMORY SYSTEM $125.00

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

3S» vi.

\

LMJ

■

COMPUTER GRADE LOGIC SUPPLY CAPS, BRAND NEW

3 Power supplies, transistorized & regulated. Made by TRANSISTOR DEVICES

1 5 volts DC 5 amps . $25.00

30 volts DC 2 amps 25.00

1 5 volts DC 4.5 amps 25.00

sTle&nMa.

47,000 Uf

25V $2.00

ST

1,000

50

.90 AL

32,000

25 1.75

ST

3,300

35

1.25 AL

160,000

10 2.00

ST

1,600

20

.60 AL

66,000

10 2.00

ST

8,000

16

1.25 AL

1,000

60 .90

AL

500

6

.35 AL

2,000

55 1.00

AL

"ST" screwtop . . .

. "AL" axial

Please add shipping cost on above.

PHONE 617-595-2275

FREE CATALOG SP-8 NOW READY

MESHIMA P0 Bx 62 E. Lynn Mass. 01904

r*m 74oon mTw

SN7400N .16 SN7459A 25

SN7400N SN7401N SN7402N SN7403N SN7404N SN7405N SN7406N SN7407N SN7408N SN7409N SN7410N SN741 IN SN7412N SN7413N SN7414N SN7416N SN74I7N SN7420N SN742IN SH7422N SN7423N SN7425N SN7426N SN7427N SK7429N SN7430N SN7432N SN7437H SN7438N SN7439N 5N744QN SN7441N SN74-12N SN7443N SH7444N SN7445N SN74-16N SN7447N SN7448N SN74S0N SN7451N SN7453N SN74S4N

SN7459A

SN7460N .22 SN74154N

21 PN7470N .45 SN74155N

.16 SN7472N .39 SN74156N

.1$ SN7473N .37 SN741S7N

24 SN7474N 32 SN7416GN

20 SW7475N .50 SN74I61N

.29 SN7476N' .32 5N74163N

.25 SN7479N 5 00 SN74164N

.25 SN7480N .50 SN741B5N

.IS SN74B2N .98 SN74166N

.30 SN7483N .70 SN74167N

.33 SN7485N .69 SN74170N

.45 SN7486N .39 SN74172N

.70 SN7488N 3.50 SN74173N

35 SN74B9N 2.49 SN74174N

35 SN7490N 45 SN74175N

.21 SN7491N .75 SN74176N

33 SN7492N .49 SN74177N

.49 SN7493N .49 SN74180N

.37 SN7494N .79 SN74181N

29 SN7495N .79 SN74182N

29 SN7496N .89 SN74184N

.37 SN7497N 4.00 SN74I85N

42 SN74100N 1.00 SN741B6N

26 SN74107N .39 SN74187N 31 SN74121N' .39 SN74I88N .27 SN74122N .39 SN74190N

27 SN74123N .50 SN74191N .25 SN74125N .60 SN74192N

15 SN74126N .60 SN74193N

.B9 SN74132N 1.09 SN74194N

.59 SN74136N .95 SN74195N

75 SN74141N 1.15 SN74196N

-75 SN74142N 4.DO SN74197N

.75 5N74143N 4.50 SN74198N

81 SN74144N 4.50 SN74199N

59 SN74145N 1.15 SN74200N

■ 79 SN74147N 2.35 SN74279N

-26 SN74148N 2,00 SN 74251N

.27 SN74150N 1.00 SN74264N

.27 SN74151N .79 SN74285N

,20 SN74153N .89 SN74367N MANY OTHERS AVAILABLE ON REQUEST

20% Discount tor 100 Combined 7400's

CD4000 CD4Q01 CD40O2 CD40O6 CTM007 CO40O9 CD4010

co-ion

CD4Q12 CO4013 CO4016 C04017 CD4019 CD4020 CD4022 CD4023 CO4024 CD4025 CO4027 CD4028 CD4029 CO4030

25

CMOS

290

65

CD4035 CD404O CD4042 C04044 CD4046 CD4047 CD4049 CD4050 CD4051 CD4053 CO4O60 CD4066 CDJ069 CD4071 CD40B1 CD4511 CD4518 C04566 74COON 74C02N

74C04N

74C10N

74C20N

74C30N

74C42N

74C73N

74C74

74C90N

74C95N

74C107N

74C151

74 CI 54

74C157

74C160

74C161

74C163

74C1&4

74C173

74C193

74C195

MC4044

MC14D1E

I.M30QH 80

LM301H 35

LM301CN 35

LM302H 75

LM304H 1 00

LM305H 95

LM3Q7CN .35

LM308H 1 00

LM308CN t.00 LM309H t 10

LM309K 99

LM310CN 1.15 IM31IH .90

LM31IN 90

LM318CN 1.50 LM319N 1.30

LM320K-5 1 35 LM320K-5.2 1.35 LM320K-12 1 35 LM320K-15 1.35 LM320T-5 1.75 LM320T-S.2 175 LM320T-8 1.75 LM320T-12 1 75 LM320T-15 1.75 LM320T-1B 1.75 LM320T-24 LM323K-5 LM324N LM339N LM340K-5 LM340K-6 LM340K-8 LM340K-12 LM340K-15 LM340K-I8 LM340K-24 LM340T-5 LM340T-6 LM340T-8 LM340T-12 LM340T-15 IM340M8 LM340T-24 LM350N LM3S1CN

9.95

LINEAR

LM370N 1.1.5

LM373N 3.25

LM377N 4.00

LM38QN 1.39

lM.iMO 1,05

LM381N 1.79

LM382N 1 79

NE501K 8.00

NE510A 6.00

NE531H 3.00

NE536T 6.00

NE540L 6.00

NE550N .79

NE555V Jfl

NE5G08 5.00

NE561B 5.00

NE562B 5.00

NE565H 1.25

NE565N 1.75

NE566CN 1.25

NE567H 1.95

NE567V 1.50

LM703CN .45

LM709H .29

LM709N .29

LM710N .79

LM711N .39

LM723H .55

LM723H .55

LM733N 1.00

LM739N 1.00

LM741CH .35

LM741CN .35

LM74114N .39

LM747H .79

LM747N .79

LM74BH .39

LM74BN .39

LM1303N .90

LM1304N 1.19

LM1305N 1.40

LM1307N .85

LM1310N 2.9

LM1351N 1.6

LM1414N 1.7

LM145BC .6

LM1496N 9

LM1556V 18

LM2111N 1.9

LM2901N 2.9

LM3065N .6

LM3900N 5

LM3905N .6

LM3909 1.2

LM5556N 18

MC5558V 1.0

LM7525N .9

LM7535N 12

8038B 4.9

LM75450 .4

7545ICN 3

75452CN .3

75453CN 3

75454CN .3

75491CN 7

75492CN .8

75494CN .8

HCA LINEAR

CA3013 21

CA3032 2.5

CA3035 2.4

CA3039 1 3

CA3046 1.3

CA3059 3.2

CA3060 3 2

CA3080 S

CA3081 2.C

CA30B2 2.0

CA30B3 1.6

CA30B6 8

CA30B9 37

CA3091 102

CA3123 21

CA3130 1 3

CA3140 1 2

CA3600 17

RC4194 M

RC4195 3.2

741.S0O 74LS02 74LS03 74LS04 74LS05 74LS08 74LS10 74LS13 MISM 74L520 74LS26 74LS27 74LS2B 74LS30 74LS32 74LS40 74LS51 74LS55 74LS73

S74LS00 TTL

74LS74

74LS75

74LS76

74LSB3

74LS85

74LS86

74LS90

74LS92

74LS93

74LS95

74LS96

74LS107

74LS109

7JLS112

74LSI 32

74LSI36

74LS138

.65

74LS139

74LS151

74LS153

74LS157

74LS1G2

74LSI 63

74LS164

74LS175

74LS1B1

74LS190

74LS191

74LS192

74LSI93

74LS194

74LS195

74LS257

74LS260

74LS279

74LS670

MM5309 MM5311 MM5312 UM5314 MM6316 MU531B CT7O01

CLOCK CHIPS

6 Oign. BCD Outpuis. fieset PIN

6 Digit, BCD Outputs. 12 ot 24 Horn

4 Digil. BCD Oulpuis, 1 PPS Oulpul

6Drgil, 12 or 24 Hour. 50 or 60 Hi

A Digit, Alarm, 1 PPS Oulput

Video Clock Chip. For Use Wild MM5B41

6 Digit. Calendar. Alarm. 12 or 24 Hour

5 95

DATA HANDBOOKS

'ifvout & Description of 5400/7400 ICS S2.95

'in out & Description ol 4000 Sarin ICS $2.95

'in out & Functional Description $2.95

ALL THREE HANDBOOKS S6.95

fairchilo TECHNOLOGY KITS fairchild

WCHNOUXA

Complete Specifications on back ol each kit SH • Packaged for WALL DISPLAY APPEARANCE

Dealer's Inquires Invited — Price List Available

FAIRCHII.D

FTK0001 FTKOOOa

FTK0003 FTK6004 FTKD005

DIGITS

0.5" High Common Caitiode Dign 0.5" High Common Anoiln Digil 357" High Common Cathode Digil 0.B" High Common Cnlhocle DiqiI 0.8" High Common Anode Digit

Q.B" HIGH DISPLAY ARRAYS 12 How 3Vj Digit Clock Display 24 Hour. 4 Digit Clock Display

FTK0020 FTK0021 FTK0022 FTK0023

LEO LAMPS 10 Red LED Lamps 5 Mixed Colored LED Lamps 10 LED Mounting Clips 5 Three Piece LED Mounting Adapters

rTK0030 FTK0031 FTK0032 F1K0033

PHOTO TRANSISTORS 5 Flat Lens Photo Transistors 5 Round Lens Photo Transistors 3 Flat Lens Photo Darlmgtons 3 Hound Lens Photo Dailingtons

nu)o.in FTK0041

riKoo-i:.1

PHOTO AflRAYS 9-Elerneni Tape Reader Array 12-Elnment Caul Render Array Reflective Oplo Coupler

COUPLERS

3 General Purpose Opm Couplers Darlington Oplo Coupler

FTK04Q0 FTK0401 RK0402 HK0403 nK0405

MOS CLOCK CIRCUITS Digital Clock.Calendar Circuit

(FCM7001I Digil.il Clock'Calendar with BCD

Outputs IFCM7Q02) Direct Drive Digital Clock Circuit

with AC Oulput (FCM3817A) Direct Drive Digital Clock Circuit

with DC Output (FCM3817D) 1 Direct Drwi! Digital Clock Calendar

Circuit (fCM7015l

S DC 6.00

KITS

FTK0105 AulomoDile Clock Kit

XC209

XC20D XC200

XC22 XC22 XC22 XC22 SSL-22

DISCRETE LEDS

Gtcen Yellow Orange

XC526

Red

XC526

Green

XC526

Yellow

XC526

Orange

XC526

Clear

XC556

Red

XC556

Green

XC5S6

Yellow

XC556

Orange

XC556

Cleat

Yellow Orange .055" dl

MV50

085" dia. I

red LEO

DISPLAY LEDS

TYPE

MAN 1

MAN 2 MAN 3 MAM 4 MAN 7 MAN TQ MAN 7Y MAN 52 MAN 64 MAN 72 MAN 74 MAN 62 MAN 84

POLARITY Common Anode 5 x 7 Dot Matin Common Cathode Common Calhode Common Anode Common Anode-green Com-uon Anode-yellow Common Anode-green Common Anode-red Co-ii non Anode Cornton Cathode Cot. i>on Anode-yellow ComT.on Cailiiiile vHin.v

TYPE

MAN 3620 MAS 3640 MAN 4710 DL701 DL704 DL707 DL 72B DL 747 DL 750 DL 33Q FND70 FND503 FND507

POLARITY

Common Anode-orange Cum man Cathode-orange Common Anode-Red Common Anode-red Common Calhode Common Anode Com mo it Cathode Common Anode Common Cathode Common Cathode Common Calhode Common Cathode Common Anode

IC SOLOERTAIL — LOW PROFILE (TIN) SOCKETS

» pin

8 pin 14 pin 16 inn

10 pm 16 pin

35 SOLDERTAIL STANDARO (TIN)

SOLOERTAIL STANDARD (GOLD)

WIRE WRAP SOCKETS (GOLD) LEUEL #3

$5.95 ea.

WIRE WRAP WIRE

30AWG —25 ft. min.-S2.10 50 ft - S2.75 100 It - S3.50 1000 ft. - S24.00

SPECIFY COLOR-WhitR-Vdlow-RRfl-ton

50 PCS

ASST. 1 ASST. 2 ASST. 3 ASST. 4 ASST. 5 ASST. 6 ASST. 7

ASST. 8R

RESISTOR ASSORTMENTS $1.75 PER ASST.

10 OHM 12 OHM 15 OHM

27 OHM 33 OHM 39 OHM

68 OHM 82 OHM 100 OHM

180 OHM 220 OHM 270 OHM

470 OHM 560 OHM 690 OHM

1 2K

1 5K

1 8K

18 OHM 22 OHM

47 OHM 56 OHM

120 OHM 150 OHM

330 OHM 390 OHM

820 OHM IK

2 2K 2 7K

330K 820K 2 2M 5 6M

1/4 WATT 5°= 50PCS.

1/4 WATT 5% 5DPCS.

1/4 WATT 5% 50 PCS.

1/4 WATT B% 50 PCS.

1/4 WATT 5% 50 PCS.

1/4 WATT 5% 50 PCS.

t/4 WATT 5% 50PCS.

Includes Resistor Assortments 1 -7 (350 PCS.) $10.95 ea.

$5.00 Minimum Order — U.S. Funds Only Calltomia Residents — Add 6% Sales Tai

Spec Sheets ■ 25e — Send 24c Stamp (or 1977 Catalog Dealer Olscounl Available — Request Pricing

1021-A HOWARD AVE.. SAN CARLOS. CA. 94070

PHONE ORDERS WELCOME - (415) 592-8097

All Advertised Prices Good Thru January

OTOT

JMT

1

HI

10»

*«

l

Pa

ON ON

NON.

ON

m

2.95

255 2 15

1 87 1.58

1 70 1.43

m

2.95

kii

ON

».

ON

HI

us

1SS

.«

1M

MINIATURE TOGGLE

PUSH BUTTON

PB-123 $1.75 V PB-126 $1.75 S

THUMBWHEEL SWITCHES

THUMBWHEEL SWIH

s" (OSuioitWrrt-lWiw ' Siio ',

Sfl 1? j Ore.mji 3 00

SF 7T ' tOPoHlionHCDonl, ' ?M -SB* I . 300 J'

SENIESSI (•D.tMpuoiluRif,

mm mm

40 SH DP j b>»

DIP SWITCH

ItifiSP s*ilcriDS IfMliirf -.['vfln SI'S! slide switcMiS in .1 molded dip They are iOimHv sutjerj tot mrcrofitocessfl ""•'""' S1.95

CLIPLITE!! 4 $1.00

NEW LED MOUNTING SYSTEM | *k

i CLIPLITE mourns from the front of the Panel in a .250 hole on 3/8" centers. Panel thickness from 1/16" to 1/8".

• CLIPLITE equalizes and increases the brightness commonly used wide beam LEDS.

• CLIPLITE is to be used with XC556 LEDS.

• Specify colors—red, green, amber, or yellow wh ordering.

TYPE

1N746 1M751A IN752 1N753 IN 754 INQ59 1N965Q 1N5232 1N5234 1N5235 1115236 1N456 1N458 1N4B5A 1N4001 IN 1002 1N4O03 1N4Q04

ZENERS

VOLTS W

3.3 400mm

5 1 400m

5 6 400m

6.2 400m

6.8 400m

B.2 .100m

15 400m

5 6 500m

6.2 500m

B 8 500m

7 5 500m

25 40m

50 PIV I AMP

100 PIV 1 AMP

200 PIV 1 AMP

400 PIV 1 AMP

DIODES

PRICE TYPE

41 00 1N4005

4 1 00 1N4006

4 1 00 1N4007

4'1 00 1N3600

4 1 00 1N4148

8/1 00 1N4154

4 100 1N4305

28 1N4734

28 1N4735

2B 1N4736

28 1N473B

00 1N4742

6 1 00 1N4744

6 100 1N1183

12 1 00 IN1184

12 100 1fJ1185

12100 1N1186

12 100 1N11B3

RECTIFIERS

VOLTS W 600 PIV 1 AMP 800 PIV 1 AMP 1000 PIV 1 AMP 50 200m

6'1

35

15

10m 10m

1w

50 PIV 35 AMP

100 PIV 35 AMP

ISO PIV 35 AMP

200 PIV 35 AMP

400 PIV 35 AMP

SCR AND FW BRIDGE RECTIFIERS

C360 C3BM 2N2328 MDA 980-1 MDA 980-3

1SA(§>400V 35A @ 200V 1 6A @ 200V

TRANSISTORS

2N7221

mm

:t;-:ii,ua FM!41S !NJ4i4

:'n;"j;)[n1

1HXS3 ?N3055

MJHOSS NUE29SI

PIIJ39?

iSt 03

3*1 00 4.'Sl 00 SSt oc

2N3705 ?N370B 3N3707 2N37tt PN3734 ?H37?5 7M3903 SH3901 ?N39DS 2N3906 ?N4013 2N4D14 2N4123

SSI DO

5 Si 0(1 iL

5-S1 00 T

5S1 00 r

PfWJJ9 prj^bo 2H44R0 2M4401 MUM 2M4403 ?NM(R 2Mb086 2NM1B7

jusoae

2NMB9 2N5129

2HM39 2NS209 2N5M1 LM06EHSCR

■lit DO J 51 00

b Si 00

CAPACITOR

10 pl

22 pi

47 pi 100 pl 220 pl 470 pl

001ml 0022

0047ml 01 ml

.15/35V 22,'35V 33/35V 47.35V

50 VOLT CERAMIC DISC CAPACITORS

10-49 50-100

001/.F

04 03 OMJjtf

04 03 OVF 05

04 03 022pf 05

04 03 047*<F 06

04 035 VF 12 100 VOLT MYLAR FILM CAPACITORS

10 07 022ml 13

047ml

CORNER

1-9 10-49 50-100 05 04 035

.10

.07

1m

27

22mt

+ VP/* DIPPED TANTALUMS (SOLID) CAPACITORS 28 23 .17 1 5/35V 30 26

.28 23 17 2.2/25V 31 27

28 23 17 33,'25V 31 27

28 23 17 4.7/25V 32 28

28 23 17 6 8.25V 38 31

28 23 17 10/25V 40 35

.28 23 17 15'25V 63 50

MINIATURE ALUMINUM ELECTROLYTIC CAPACITORS

Axial Lead

47/50V

1 050V t6

3.3/50V 15

4.7/25V 16

10/25V .15

13

10

Radial i -.■:.?.

10/50V 22/25V 22/50V 47/25V 47/50V 100/25V 100/50V 220/25V 220/50V 470/25V I0M/16V 2200/16V

47r25V 15 47.50V 1.0/ 16V 10 >25V I.OffiOV 4.7/16V 4.7/25V 4.7*50V 10/16V 10.25V 10/50V 47/50V 100.16V 100.25V 100,50V 220/!6V 4 70 /25 V

.13

ea

CRYSTALS \m

Pllit CV1A CV2A CV3A CY7A CY12A CV14A CV19A CY22A CV306

THESE FREQUENCIES ONLY

Frequency 1.000 MHz

2 000 MH2 4.000 MHz 5 000 MHz 10 000 MHz 14 31818 MHz 18 000 MHz 20.000 MHz 32 000 MHz

Csse/SlylB

HC33.'U

HC33U

HC1MJ

HC18/U

HC18U

HC18U

HCI81I

HCIO'U

HC18.U

-PtTcT J5.95 S59S S4.95 SA95 S4 95 S4.95 S4 95 S4 95 54.95

XR-2260K8 Kil $27.95

XH 2?07CP 3 85

STEREO DECODERS XR l.ilOCP S320

XR ixjoep j 20

XR-1BOOP 3 2D

XR-3567 2 99

EXAR

MISCELLANEOUS

XR-2206KA Kil S17.95

TIMERS <H 555CP 5 "

XR-320P 1 55

XR-556CP 1 85

XR 2556CP 3 20

XR-224QCP 3 25

PHASE LOCKED LOOPS XR-210 XR-215 XR 56/CP XR 567CT

5 SO

CONNECTORS

PRINTED CIRCUIT EDGE-CARD

156 Spacing-Tin-Double Read-Out

Bifurcated Contacts — Fits 054 to .070 PC. Cards

15/30 PINS (Solder Eyelet) S1.95

18/36 PINS (Solder Eyelet) S2.49

22/44 PINS (Solder Eyelet) S2.95

25 PIN-D SUBMINATURE

DB25Plug S3.25

DB25Socket $4.95

3% DIGIT DVM KIT

This 0-2 VDC 05 pet cent digital voltmeter features the Motorola 3V; digit OVM chip set II has a 4" LED display and operates Ifom a single + 5V power supply The unit is provided complete with an injection molded black plastic case complete with Bezel An optional power supply is available which Ins intc the same case as Ihe 0-2V OVM allowing 117 VAC operation.

A. 0-2V DVM with Case $49.95

B. 5V Power Supply $14.95

VECTOR WIRING PENCIL

Veclor Winnu Pencil Pi 73 consols of a nanrl liefd fealtierweigM (urtdet DM ounce) toor wrucn is used to guide and wrap insulated wire led ot! a sen-cum amen replaceable PODam onto component leads tn terminals installed on pre-pLnclied P Partem Vector noru Connections between Hit wrapped wne and compDiicm lends pads oi terminals are made Dy soldering Complete with 250 FT at red wire en gc

REPLACEMENT WIRE — BOBBINS FOR WIRING PENCIL W36-3-A-Pkg 3 250 l! 36 AWG GREEN S2.40

W35-3B-Pkg. 3 250 II 36 AWG RED S2.40

W36-3-C-Pkg 3 250 ft 36 AWG CLEAR S2.40

W36-3-D-Pkg 3 250 It 36 AWG BLUE S2.40

1/16 VECTOR BOARD

0 1 Hole Spacing

205-CB Bci

291-.36H Wu 680-.75A -iiii

HEAT SINKS

u

n Copper Hmi Smi. wnn Black Fimsn tar TO 5 S .25 m Heal SUA lei TO-220 Transistors S Rteiul.itois $ -25 KKbltd Aiii'tiniuiii Hen! Smk lor IO-3 $1.60

HEXADECIMAL ENCODER 19-KEY PAD

• 1-0 . A8CDEF

• Relurn Key

• Optional Key (Penod) . -Key

$10.95 each

63 KEY KEYBOARD

This keyboatd leaiures 63 linen coded SPS1 keys. iin.il la died to any kind of 3 C B A very solid molded ousnc 13 i <T base

$19.95

HD0165 16 LINE TO FOLin BIT PARALLEL KEYBOARD ENCODER

JOYSTICK

These joysticks feature tour * potentiometers, thai vary resistance proportional to the angle of the slicfc Sturdy metal construction with plastics components only at Ihe movable joint Perfect for electronic games and instrumentation.

*5K Pots $6.95 *100K Pots $7.95

IICROPROCESSOR COMPONENTS

8080A

SZ9.95

2519 2524 2525 2527 2529 2532 2533

2513 2516

7453B7

8212 8216

8224 8228

CPU-!

8 BIT CRJ Super 8C08 Super 8C08

SRS 1024 Dynamic He> 32 BIT He. 40 BIT 512 Dynamic 1024 Dynamic Dual 256 BIT Dual 512 BIT Quae 80 BiT 1024 Sialic File 16. 4 Reg

UART'S 30K Bain:

ROMS

lfK'4 liil »fi:ir|r,]Mini;iliie

8080 SUPPORT DEVICES

8 BIT INPUT/OUTPUT PORT FOR 8080 S A 95

NON INTERRUPT BI-DIRECTIONAL BUS DRIVER 6 95

CLOCK GENERATOR AND DRIVER FOR 8080 12.95

SYSTEM CONTROLLER AND BUS DRIVER FOR 8080 12.95 RAMS

$19 95

S 9 95 tO 95

HOI

1103 2101 2102 2107

3599 91L02 74200 93421 MM5262

1702A

5203

82S23

B2Sl2;t

74S2B7

3601

1024

Sialic Dynamic Static Sialic Dynamic Sialic MNOS Sialic Siahr Static Static Sialic Statrc Sialic Dynamic PROMS Fames Famos Open C Tnstatfl Slain:

8080 S24.95

9 95 6.95 29 95

256 Bit (32 x 8] Open Collector 256 Bit 132 « 8) Three Stale 1024 Bd 1256 > 4| Open Collector 1024 Bit (256 x 4) Three State 2048 Bit (512x4) Open Collector

BIPOLAR PROM SPECIAL 2 95 6306-1

2 95 6340-1

3 49 6341-1 3 49 6352-1 9.95 6353-1

2048 Bit 1512 x 4) Three State 2048 Bil (512 x Bl Open Collector 2048 Bit (512* B) Three State 4096 Bit (102 x 4) Open Collector 4096 Bit (1024x4) Three Slate

19.95 19.95 19.95 19.95

Continental Specialties

lb $19-95 SB. »**«

■ ■■•■■• ,7. .-.- BUDGET KIT , L ■ \.

%% , ,,„....„,., _^ or ,'

.: .29.95

rrom ■yi.i.i ioi CnmpM i.1 'i - m*m '

• 39.95 -,f

mi in %J

ft ,.-^ sr.iviTE'i;,' .i0U 'i.n.ftii.

Proto Board 6 S15.95

SPECIAL!

LOGIC MONITOR Simultaneously disn

j dynamic logic stale;

: HTl or CMOS OIP ICs Pocket sue

msm

OT Pro'

QT-T3S

or-i2s

• DT-47B " QT 35S

OT lypc OT-S9S OT-59B QT.47S QT-47B OT-35S OT-35B OT-1BS OT 12S

OT-es ot-ts

Grab Bag Specials

CAPACITORS - 10(1 U Ceramic Disc CAPACITORS - 60 ea Mylar CAPACITORS - 60 ea Elecirolytics CAPACITORS ■- 40 ea Dipped Tantalum DELAY LINE - 10 ea DIODES — 100 ea Germanium DIODES —100 ea Reelilieis Silicon DIODES — 100 ea Silicon IC s — 100 ea UnmarkcJ or House * LEDS - 100 ea Assl S/es & Colors LAMPS NEON - 40 ea >JE2 lype POTENTIOMETERS- tO pes PC Mount Ass RESISTORS 100 ea Values & Wattages

4 OO'lOl

4.00/101

3 OO'lOl 2 00lol 7 00,'lot

2 OO.'lOt

4 OO.lo!

5 OOiloi

3 OO.'lol

4 00 lol 1 00 lol

RESISTORS - 40 ea wire-wounrl 3-10 W^ 1-100 ohm

RESISTORS — 40 ea wire wound 3-10W/100-25K

SWITCHES - 12 ea Micro Switches

SWITCHES — 25 Mmialuie Slide

SWITCHES — 12 eacn Rocker

SWITCHES - 20 ea Rccd-Coil f. Magnetics

THERMISTORS — 20 ea

TRIMMERS — 40 ea. Mimalurc

TRANSISTORS — 100 ea Plastic X Power

TUBING. SHRINK - 30 pes 6'

Assl SiICS A Colors

PRINTED CIRCUIT BOARDS — Mln. 50 ea. Various Components S2.00 each

DIGITAL QUARTZ CAR CLOCK

Complele <il1rom mourning bracket nUtte injection molded case down lo ire three conductor power cord and all components including MM5314 clock chip Features quartz accuracy ol 01%. Sic digit. 35' high LED display, and PC Boards. Works on any 12 vol: system — motorcycles, boats, vans, moloihomes. autos. and bucks

DIMENSIONS 4»

- 12 OR 24 HOUR MODE

Kit: S29.95 Assembled: $39.95

CASE ONLY (includes hauiwaie. mounlini) tuncktil iind licztil)

S5.95

DIGITAL CLOCK KIT — 3Yz INCH DIGITS

4 DIGIT KIT S49.95 6 DIGIT KITS69.95

4 DIGIT ASSEMBLED S59.95 6 DIGIT ASSEMBLED S79.95,

'This clock features big 3ft" high dibits lor viewing in offices, auditoriums etc Each digit is termed tiy 31 Ought 0.2 LED'S The clock operates trom 117 Vft.C has eiiher 12 or 24 hr operalion The 6 digit version is 27 x3V si1:' .andihn 4 itigii is IB"x3'// % Hi". Kits come cnmrilere willi all components, case ,inrl Iranstprmer N SpflCily 12 Or 24 Hr. When Ordering

$5.00 Minimum Order — U.S. Funds Only California Residents — Add 6% Sales Tan

Spec Sheets - 25c — Send 24c Stamp tor 1977 Catalog Dealer Olscounl Available — Request Pricing

VftP*"^ 1021-A HOWARD AVE.. SAN CARLOS, CA. 94070

PHONE ORDERS WELCOME — (415) 592-8097 All Advertised Prices Good Thru January

P0NG Sfw on

SINGLE GAME OJJ.UU

SUPER PONG

4 GAMES IN ONE $79.95

(Pong, Super Pong. Catch. Handball)

• Incremental speed on volleys increases cxcilemeni

• Game appears in color or in tiaick & while, depending on television set.

• Digilat scoring Hashes on the screen between each point

• Hooks up simply lo any model television set. ihe screen actually becomes ihe playing lield.

• Battery operated ny 4 size "Q" Hashlight rjalleries included wild Ihe Umi

AC Adaploi (Eliminaies Balienesi S9-95

PONG^

DIGITAL WATCHES

Ladies Watch

• 6 Function

• Bracelet Styling

• 1 Year Guarantee

• Model 900

- Specily Gold or Chrome

S69.95

EXELAR Mens Watch

• 5 Function

• Quartz Crysial

• Black Leather Band

• Mariulaciurer Guaram

• Speedy Gold or Chrome

S29.95

5 FUNCTION ELECTRONIC CALCULATOR RADOFIN MODEL 8P

$8.95

> 8 Digd Display

i 5 FunclmnsconsstsDladdition suhlraciion.mui liplication. division percentage with const all lunclinns. wdh lull floating decfnat pain!

i Power source is 1 piece 9V DC Battery uOGP lack 'o> AC adapter

DIGITAL STOPWATCH

. Briiiiu 6 D.gil LED Display

• Times lo 59 minutes 59 59 seconds

• Crystal Controlled lime Base

• Thiee Stopwatches in One

Times Single Event — Split 8 Tayio'

• Swr4.5' x2 15 x 90 )4';ouncest

• Uses 3 Penhte Cells

Kit — S39.95

Assembled — S49.95

Heavy Duly Carry Case S5.95

DIGITAL ALARM CLOCK

This 4 digit Novus Alarm Clock is a very reliable and smartly styled unit It provides such features as an alarm sellable to any minute of the day, a 7 minutes snooze alarm, a power failure indicator, and even an A.M., P.M. indicator.

Novus

$19.95

NOT A KIT

JE700 CLOCK

the .if 700 is a low cnsi digital clock Put is a veiy luqh qu.tlilv unit Ihe unit lea lures a simulated walnut case with di mensinnsolB x2\- il II utilizes a

MANT.' Ingtl brightness re.idniil and (hiMMS.ll! clock chip

$17.95

KIT

this large digit clock i 6 hours 8, minutes. ,3" seconds) lealures ihe MM5314 clock chip II operates Irom 117 VAC. and will operale in either a 12 or 2-1 hour mode The clock is eomplele with a walnui grain case, and has fast set. slow set. and hold lime set features

ALL COMPONENTS & CASE S34.9S WIRED & ASSEMBLED $39.95

JE803 PROBE

The Logic Piolie is a unit winch is tor me most part indespensihlp in trouble shooting Ingtc tamilies TTL DTL RTt CMOS It derives the lower .1 needs to Operate directly oil ol ttw circuit under est drawing a scant 10 mA ma* II uses i UAN3 cadoul lo indicate joy pi ihe loliowing slates Dv hase syintmls iHt 1 iLOWi mPUlSEi P Ihe Probe f^\ deled iugn Ireguency pulses to 45 MHz i I hf iimt! .it MOS li'uels or circuit damage

- U

$9.95 Per Kit

printed circuit board

PL 5V 1A Supply

This is a siandard TTL power supply using trie well known LM309K regulator IC to provide a solid 1 AMPol curiam at 5 volts We try to make things easy tor you hy providing everything you reed in one package, including the I

■»""* $9.95 Per Kit

5 VOLT POWER SUPPLY $39.95

Completely Assembled

• +5 Volts @ 6 Amps Regulated Output

• 5 Volts @ 6 Amps Regulated Input

• 6.3Volts @ 5 Amps Unregulated Output

Length 8S/B" x Width B& x Height 4"

3S'^.

(imitad Supply

Asfc BYTE

Some letters to BYTE are technical in nature and are best served by some form of response. We will try to answer as many such letters as possible. If you have a puzzle concerning some aspect of the personal computing field, write down a clear statement of your question and send it to:

Ask BYTE

Byte Publications Inc

70 Main St

Peterborough NH 03458. We will publish names and addresses of individuals making Inquiries unless you specifically request us to omit the reference."

Help! I Want Robots

I am not sure where to start my plea. I hope I don't sound too negative when I say I'm not sure if you can help me. The unsureness is based on trying to get information on a growing (?) but frustrating interest of mine and that is robotics. Looking at the front cover of BYTE #12 has my hopes up a small amount.

First of all I am not interested in industrial robots of the assembly line variety, nor robots that are controlled by a human operator at a remote position. My interest

instead lies on self-navigating self-contained robots [shades of Asimov!] that function with their own feedback devices with their "intelligence" on board. I realize the "state of the art" of this type of robot is not too sophisticated as of this time. However, until I started my own search for information on this area I did not realize how destitute of information the field was. The information pool at the amateur level is dry. [It should be — no nonamateur has yet built one either.[ It took me two to three months of intensive searching to even begin to dig up a few stray pieces of information. One thing I turned up was and still is above my head (although I'm working on it) and that is a pair of books by John F Young, one called Robotics and another called Cybernetic Engineering.

To further add to my frustrations I see advertisements such as found in your magazine that allude to the use of products in robotics. For example the Cromemco advertisement in BYTE #11. That ad shows a D-A converter with box diagram inputs and outputs with one of the outputs labelled "robots." Did they throw this in for the fun of it or are they honestly aware of actual robotic applications along these lines? The article in BYTE #12,"Friends, Humans and Countryrobots..." once again implies the use of currently available products in robotics. Other magazines have implied similar things in past issues.

What I need to know is: 1) Are there any amateur clubs in existence in the field of robotics? 2) Do any companies exist that sell

kits of possibly a rudimentary robot or even a plastic model usable for serious robotics? 3) Are there any plans in existence that would discuss the building of a robot on a "serious" level? 4) Are there any books on the amateur or hobby level on robotics? Or, as a last resort 5) is there in existence a nifty technical looking multicolor poster that I could hang on the wall and dream the impossible dream about?

Dean Blondefield

24383 Park St

Hayward CA 94544

Wow!

Who knows where to begin, but here are some (not necessarily complete) answers to a few of your points, last in first out: 5) For posters, look up some science fiction magazines at your local newstand; several such magazines sell posters taken from covers. 4) Not that we know about. 3) Not any current plans using microcomputers and AI techniques, though wait a few years and there should be some. 2) No (let the company which does prove us wrong by protesting). J) Unknown to us. Maybe you should start one.

Now that the explicit question stack is popped, some general comments: In order to build robots, you need digitally controlled feedback networks (programs plus peripherals) to position the arms, legs, what have you, based upon sensor data. The Cromemco D-A card could indeed be used as a key element in that process. But there are two key problems in making robots: One is the mechanical one of making a responsive and reliable mechanical system for locomotion and manipulation of objects; this is not too insurmountable; the second one is what all the AI people have been spending years upon, the problem of building and debugging the software needed for pattern recognition, decision making and learning in automata, then deciding just what will be the general operations and coding to put into the robot's computer memory. The best tactic for you as a person interested in finding out about what is known is to concentrate upon the "artificial intelligence" branch of computer science, since the major problems are not mechanical but figuring out what to tell the mechanical parts of the robot to do. There is no trite and easy answer to the problem of designing the humanoid robot; the stage we're at now is very primitive technology compared to the robot technology of science fiction romances. ■

140

DELTA ELECTRONICS

POST OFFICE BOX 2, AMESBURY, MASSACHUSETTS 01913

Phone (617) 388-4705

60 SOCKET PROTOTYPE BOARD

This prototype board, removed from equipment, cost the original user over $200 00 it contains a total of 60 14 and 16 pin gold plated wire wrap IC sockets Ideal for design work. The board is 5'/2"x11", and has 2 standard sets of contacts for edge connectors.Contains many .01 caps for by-passing. You do have to remove the original wire wrap on the reverse side. Quantity strictly limited STOCK NO.B6434 $29.50 ea. 2/57.00

EQUIPMENT SAFTEY LOCK

This almost completely burglar and tamper proof lock is ideal for your electronic equipment protection. The keys are fluted cylinders, that can only be duplicated by the manufacturer, when properly authorized. Fits any panel from 1/16" to 3/4". Mounting hole is 3/4". A Va-20 shank on the lock will hold any arm to activate a micro switch. STOCK NO.B5469 $3.00 per set (1 lock, 2 keys) 2 sets $5.00

DUAL THUMBWHEEL SWITCH

This 2 wheel Thumb Wheel switch counts up to 29 as is. By removal of a small pin it will count up to 99. Each wheel operates a 2 pole ten position switch. Mounts in 4 holes. 1 9/1 6" apart. All switch leads are gold plated. STOCK NO.BS467 $3.50 ea. 2/6.00

4.000000MHZ PRECISION CLOCK or TIMING CRYSTAL

4.000000 Mhz Crystal. Ideal for computer timing circuits, or as a time

base fordigital clocks and gating circuits.

STOCK NO.B1001 CR-18A/U 4.000000 Mhz. Crystal 3.95 2/7.00

y

'-^Lpw *■'"' nii.injgl

44 POLE REED SWITCH

This unusual circuit board contains 44 single pole, normaly open G.E. reed relays. The relays are in 4 banks of 11 each. They are activated by the elongated coil, (to right of photo), which when 12 VDC is applied, closes the contacts on 11 of the reeds. Four coils are supplied, and 1 or any of them may be activated at one time. Thus it is possible to use any or all banks of reed at one time. We supply 1 44 reed board, 4 coils, and an edge connector in each set. STOCK NO.B5468 1set $12.50 2 sets $24.00

SPECTROL MINIATURE PC MOUNT ROTARY SWITCHES

Miniature printed circuit board rotary switches are just about impossible to find on the surplus market. We have been fortunate in locating 3 different numbers, made by SPECTROL, and are still current distributor items. SPECTROL 87-22-25 is a 2 pole 5 position PC mount switch either thumbwheel or screw driver operated. SPECTROL 87-21-19 is a 1 pole 9 position thumb wheel or screw driver operated switch. SPECTROL 87-12-1 0 is a 1 pole 11 position screw driver operated miniature PC mount switch. All above switches are approx. Vt" diam. and V4" high.

STOCK NO.B1 004 2 pole 5 Pos. $2.00 ea. 4/7.00. Stock No.B1 005 1 Pole 1 0 Pos. 1.75 2/3.00 STOCK NO.B1 006 1 Pole 9 positions $2.00 ea. 4/7.00 Limited Quantities on all switches

B1005

FERRO-RESONANT POWER TRANSFORMERS

These transformers are Ferro-Resonant, and price includes the regulating capacitor. Both made by TRIAD UTRAD

STOCK NO.B6436 has 4 windings and an isolation winding. Winding 1 is 1 0 or 1 2 volts @ 4. A. Winding 2 20 or 22 volts I2A. winding 3 is 20 or 22 volts @ 2 A. Winding 4 is 9 or 11 volts @ 4 A. The isolation winding is about 1 00 VA. All windings mentioned above have a tap, and both possible voltages are shown for each winding. STOCK NO.B6436 1 0.95 ea. 2/20.00 (includes capacitor)

STOCK NO.B6437 has 4 windings and an isolation winding. Winding 1 is 22 or 26 volts @2 A. Winding 2 is 17 or 21 volts @6 A. Winding 3 1 2.5 or 1 4 volts @ 6 A. and winding 4 is 32 or 35 volts <s> 2.5 A. Isolation winding is about 1 00 VA. All windings have a tap, and both possible voltages are shown for eac.fr winding. STOCK NO.B6437 10.95 ea. 2/20.00 (includes capacitor).

Send for our latest free catalog. Minimum order $5, phone orders welcome. Include sufficient postage (2 lbs min.), excess will be refunded. BANKAMERICARD & MASTERCHARGE welcome*, ALL numbers needed for processing. Minimum charge $1 5.

S.D. SALES CO.

P.O. BOX 28810-B DALLAS, TEXAS 75228

Z-80 CPU CARD KIT FOR IMSAI/ALTAIR

$149:T

From the same people who brought you the $89.95 4K RAM kit. We were not the first to introduce an IMSAI/ALTAIR compatible Z—80 card, but we do feel that ours has the best design and quality at the lowest price.

The advanced features of the Z—80 such as an expanded set of 158 instructions, 8080A software compatibility, and operation from a single 5VDC supply, are all well known. What makes our card different Is the extra care we took In the hardware design. The CPU card will always stop on an Ml state. We also generate TRUE SYNC on card, to Insure that the rest 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 basis. Dealers inquiries welcome on this Item.

Kit shipped with 2 MHZ crystals for existing 500NS memory. Easily modified for faster RAM chips when the prices

come down.

Kit includes Zilog Manual and all parts.

JUMBO LED CAR

CLOCK

$16.95

KIT

You requested it! Our first DC operated clock kit. Professionally engineered from scratch to be a DC operated clock. Not a makeshift kluge as sold by others. Features: Bowmar 4 digit .5 inch LED array, Mostek 50252 super clock chip, on board precision time base, 12 or 24 hour real time format, perfect for cars, boats, vans, etc. Kit contains PC Board and all other parts needed (except case). 50,000 satisfied clock kit customers cannot be wrong!

FOR ALARM OPTION ADD $1.50 FOR XFMR FOR AC OPERATION ADD $1.50

60 HZ CRYSTAL TIME BASE FOR DIGITAL CLOCKS S.D. SALES EXCLUSIVE!

KIT FEATURES:

A. 60HZ output with accuracy comparable to a digital watch.

B. Directly interfaces with all MOS Clock Chips. .

C. Super low power consumption. (1.5 ma typ.) $5.95 Or

D. Uses latest MOS 17 stage divider IC. 2/$10.

E. Eliminates forever the problem of AC line glitches.

F. Perfect for cars, boats, campers, or even for portable clocks at ham field days.

G. Small Size, can be used in existing enclosures.

KIT INCLUDES CRYSTAL, DIVIDER IC, PC BOARD PLUS ALL OTHER NECESSARY PARTS & SPECS

50HZ CRYSTAL TIME BASE KIT - $6.95 All the features of our 60HZ kit but has 50HZ output. For use with clock chips like the 50252 that require 50HZ to give 24 hour time format.

CO

THIS MONTH'S SPECIALS!

300.00 KHZ CRYSTAL - $1.50

8080A - CPU CHIP by AMD - $19.95

82S129 - 256 x 4 PROM - $2.50

N.S. 8865 OCTAL DARLINGTON DRIVERS

3 for $1.00

Z-80 - CPU by Zl LOG - $69.95

MM5204 - 4K EPROM - $7.95

Prices in effect this month ONL Y!

4K LOW POWER RAM BOARD KIT THE WHOLE WORKS - $89.95

Imsai and Altair 8080 plug in compatible. Uses low power static 21 L02-1 500ns. RAM's, which are included. Fully buffered, drastically reduced power consumption, on board regulated, all sockets and parts included. Premium quality plated thru PC Board.

SIGNETICS ANALOG MANUAL - $5.95

Just out! From the acknowledged leader in linear technology. Theory, applications, and specs, on op amps, timers, phase locked loops, etc. 637 pages.

A MUST For Any Technical Library!

Z-80 Manual - $7.50 Separately.

STICK IT!

in your clock

in your DVM, etc.!

Huge Special Purchase

Not Factory Seconds

As sold by others!

$3.95

4 JUMBO .50"

DIGITS ON

ONE STICK!

(with colons and

AM/PM Indicator) BUY 3 for $1 0.

BOWMAR 4 DIGIT LED READOUT ARRAY

The Bowmar Opto-Stick. The best readout bargain we have ever offered. Has four common cathode jumbo digits with all segments and cathodes brought out. Increased versatility since any of the digits may be used independently to fit your applications. Perfect for any clock chip, especially direct drive units like 50380 or 7010. Also use in freq. counters, DVM's, etc. For 12 or 24 hour format.

UP YOUR COMPUTER!

21L02-1 IK LOW POWER 500 NS STATIC RAM

TIME IS OF THE ESSENCE!

And so is power. 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. 8 for $12.95

HOUSE NO. TTL

7400-8/$1.00 7420-8/$1.00 74141 - 3/$1.00

7404-8/$1.00 7437-5/$1.00 74153 - 3/$1.00

7408 - 8/$1.00 7438 - 5/$1.00

Please specify that you are ordering House No. TTL

WESTERN DIGITAL UART

No. TR1602B. 40 pin DIP

This is a very powerful and

popular part.

NEW-$6.95 with data

LIMITED QUANTITY

RESISTOR ASSORTMENT

% W 5% and 10% PC leads. A good mix of values. 200/$2.

FAIRCHILD BIG LED READOUTS

A big .50 inch easy to read character. Now available In either common anode or common cathode. Take your pick. Super low current drain, only 5MA per segment typical.

FND510 Common Anode

FND 503 Common Cathode PRICE SLASHED! 59c each

TERMS: Money Back Guarantee. No COD. Texas Residents add 5% tax. Add 5% of order for postage and handling. Orders under $10. add 75c. Foreign orders: US Funds ONLY!

SLIDE SWITCH ASSORTMENT

Our best seller. Includes miniature and standard sizes, single and multiposition units. All new, first quality, name brand. Try one package and you'll reorder m°re. SPECIAL 12/$1.

MOTOROLA POWER DARLINGTON Back in Stock!

Like MJ3001. NPN 80V. 1 OA. HFE 6000 TYP. TO-3 case. We include a free 723C volt reg. with schematic for power supply. SPECIAL —$1.99

CALL YOUR BANK

AMERICARD OR MASTER CHARGE ORDER IN ON OUR CONTINENTAL

UNITED STATES TOLL FREE WATTS:

1-800-527-3460

Texas Residents Call Collect

214/271-0022

S.D. SALES CO. P.O. BOX 28810 B Dallas, Texas 75228

21L02-1 RAM

500 IM. S.

8 for $12.95

82S129-256x4 PROM

Bl - POLAR-FAST!

$2-50

8080A CPU CHIP

$19.95 By AMD

ZILOG

Z-80 CPU CHIP

$69.95

MM5204 4K EPROM

$7.95

S. D. SALES CO. NotherPAGE

P.O. BOX 28810- sEEt^s°n0

DALLAS, TEXAS 75228

Bill

To get further information on the products advertised in BYTE, fill out the reader service card with your name and address. Then circle the appropriate numbers for the advertisers you select from this list. Add a 9 cent stamp to the card, then drop it in the mail. Not only do you gain information, but our advertisers are encouraged to use the marketplace provided by BYTE. This helps us bring you a bigger BYTE.

Header Service

75 A&P131

168 Aldelco125

173 Anderson Jacobson 125

166 Arizona Micro Systems 127

142 Associated Electronics 123

4 BITS 88, 89, 90

149 Bits and Bytes 125

* BYTE'S Binders 117

126 Cheap Inc 129

127 Comptek125

207 Comptek 81

140 Computalker 81

175 Computer Applications 127 161 Computer Corner 129

* West Coast Computer Faire 105

176 Computer Mart of NH 127

83 Computer Mart of NY, LI 127

141 Computer Room 95

208 Computer Shack 71

179 Computer Shop (Canada) 128

138 Computer Warehouse 87

87 Creative Computing 98

41 Cromemco 1

178 Cybercom 14

97 Data Domain 63

125

DEC 15

171

Mullen 97

7

Delta 141

22

National Multiplex 53

78

Digital Group 29

129

Newman Computer Exchange 83

180

Digital Systems 128

155

North Star 65

170

ECD 17

40

OSI49

79

Economy Co 99

147

OK Tool 55

162

EEPS127

64

Oliver Audio Eng 127

47

Electronic Control Tech 129

63

Parasitic 103

9

Godbout 133

181

Peninsula Marketing 121

*

HAL 77

#

Per Com Data 16

55

Heath Co 97

105

Personal Computer Corp 125

11

lasis 20, 21

23

Polymorphic Systems 33

12

IMSAI 13

24

Processor Tech 5, 6, 7, 8, 9, 10

60

Interface Age 102

167

Quay 84, 85

15

James 138, 139

177

Resco 103

172

Jefftronics 129

26

Scelbi 31

163

Memory Merchants 125

#

Scientific Research 99

18

Meshna 137

27

SD Sales 142, 143

182

MicroGRAPHICS 128

59

Solid State Sales 136

133

Micro Software Spec 129

29

Southwest Tech CI I

77

Micro-Term 91

30

Sphere CI 11

174

Microtex 81

99

STM 115

57

Mikos 134

164

Sunny Computer Stores 129

112

MiniTerm 27

96

Synchro-Sound 67

*

MITSCIV

121

Tarbell 87

62

Morrow 132

82

Technical Design Labs 69

71

MPI 115

136

Technical Sys Cons 123

132

M&R Enterprises 73

32

TriTek 135

119

MSI 59

137

Vector Graphic 41

BCM6

BYTE's Ongoing Monitcp Bex

* Reader service inquiries not solicited. Correspond directly with company.

BOMB Results, October Issue and, Now, a

The results of the BOMB tally for October found a first place evaluation for R Scott Guthrie's part 2 of the "Mathematical Function Unit" description, with second place going to Mike Wilber and Dave Fylstra's article "Homebrewery vs the Software Priesthood." Scott receives a bonus of $100 for his placement, and a check for $50 goes to Mike and Dave for their efforts.

Starting this month, BOMB will achieve a greater level of convenience through the postcard form bound into the issue opposite this page (most people don't like to debauch their BYTEs by ripping up the BOMB page, so they send in photocopies).

BYTE authors appreciate your feedback about their efforts. We recognize this by providing a monthly bonus of $100 and $50 to the two authors with the highest BOMB voting tallies, awards which are above and beyond the normal author's payment for articles.

You can participate in the voting by rating each article on a scale of 0 to 10 using this form. Each article is assigned a unique

BOMB Card

number in the BOMB section opposite this card. For each article listed, circle your personal rating, then drop the card in the mail with appropriate postage.

The cutoff date for receipt of your BOMB evaluation is the 10th of the month following the month of publication. Thus the January 1977 BOMB ratings are due February 10 1977."

On BOMB Card, Article No.

ARTICLE

PAGE

1 Dollhoff: Making Hash With Tables 18

2 Jewell: Drive a Teletype Without UART 32

3 Allen: Saturation Recording's Not That Hard 34

4 Liming: Watts Inside a Power Supply 42

5 Kreitner: Pick Up BASIC by PROM Bootstraps 50

6 Baker: Black Friday 56

7 Hill: Direct Access Storage 60

8 Nico: SYS 8'/2 66

9 Yost: Computer Models for Board Games 78

10 Christner: Built-in Logic Tester 82

11 Burbey: "Coffee Can Special" EROM Eraser 91

12 Rosen: Separate Your Sync 92

13 Gable: Using Interrupts to Speed Up an ELM 106

14 Caulkins: Computer Hobbyist Club Survey 116

144

i

/

WHAT a SWEET DEAL!

Programmable Microprocessor

Controller!

$194oo

The Sphere TPU/l micro computer on a card s designed for use in control environments; vhefher it be personal or business. TPU is an expandable CPU on a 4.4X4.9 inch edge conlector board with the Motorola 6800 microprocessor, a 6820 parallel interface, 256 or 512 bytes of EPROM, 2048 bits of static RAM and a crystal controlled clock driver. You can orogram the read only memory with special instructions to meet your own needs or buy our prog

rammed ROM'S. The static memory is expandable to 32K and you can control teletype or other l/O. The TPU has a 72 pin edge connector with all the necessary signals to interface to almost any device. Use it to operate your sprinkling system, lights, heating/cooling system, security system or even control your electric train. The applications are limitless. The TPU/l is completely assembled and tested; includes schematics and manual. FOR $194 ITS ONE SWEET DEAL!

SPHERE

CORPORATION

Dept. 104 P. O. Box til Bountiful, Utah 84010

(801) 292-8466

Please send me

Sphere CRT Interface kits.

Enclosed Check/Mastercharge/Bankamerlcard

Amount $

Name

Address

City

Card No.

State & Zip

Limited offer, prices subject to change • Allow up to 30 days for delivery.

Measuring just 11" wide x 11" deep x 5" high, and weighing a mere 7 pounds, the Altair™ 680b is a complete, general-purpose computer.

The secret to this revolutionary, small computer is its CPU board. This double-sided board fits along the bottom of the Altair case and plugs directly into the front panel board. It contains the new 6800 microprocessor, 1,024 bytes of RAM memory, a 256 byte PROM monitor, provisions for 768 bytes of additional PROM or ROM, and a single Interface port with a Motorola ACIA serial interface adapter which can be configured either RS-232 or TTY. A five level Baudot interface option is also available.

The Altair 680b can be programmed from front panel switches, or it can be interfaced to a video display terminal, or teletypewriter. Three additional circuit boards can be plugged inside the Altair 680b for further memory and interface expansion. The first of these boards is a 16K static RAM memory board.

Software already developed includes Altair 680 BASIC with all the features of the 8K BASIC previously developed for the Altair 8800. These include Boolean operators, the ability to read or write a byte from any I/O port or memory location, multiple statements per line, and the ability to interrupt program execution and then continue after the examination of variable values. This software takes only 6.8K bytes of memory space and a copy is included free with the purchase of the Altair 680 16K memory board.

Other software includes a resident two pass assembler. The Altair 680b is also compatible with Motorola 6800 software.

The Altair 6806 is ideal for hobbyists who want a powerful computer system at an economic price. Altair 680b owners qualify

for membership in the Altair Users Croup, and like other Altair owners, they receive a complimentary subscription to Computer Notes and complete factory support.

PRICES:

Altair 680b kit with complete, easy-to-understand assembly manual, operator's manual, and programming manual $466

Assembled Altair 680b " $(,25

Altair 680b Turnkey model kit 395

Expander Card 680MB (required to expand 680) $ 24

Altair 680BSM 16K static RAM board kit with 680 BASIC $685

Altair 680 BASIC when purchased separately $200

Baudot option $ 42

MAIL THIS COUPON TODAY

□ Enclosed is a check for }

D BankAmericard a or Master Charge #

□ Altair bHOh □ Kit □ Assembled □ Ot/ier (specify) enclose $8 for postage and handling

□ Please send free information package.

NAME

ADDRESS

CI1V S1ATE tX ZIP

2450 Alamo SE/Albuquerque, NM 87106, 505-243-7821

NOTE: Altair is a trademark of MITS. Inc.

ations subject to change. Please allow up to 60 class for delivery.