Byte Magazine Volume 03 Number 10 - Chess for the Microcomputer

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)

$4,495.00

# #

^

40K Bytes RAM Memory

1,200,000 Bytes Disk Storage

Desk with laminated plastic surface

DOS and BASIC with random and sequential files

TERMINAL—Upper-Lower case and full control character decoding

219 W. RHAPSODY

SAN ANTONIO, TEXAS 78216

Model Z-2

Up to 512K of RAM/ROM

Model 2-2D

One or two disks

Up to 512K of RAM/ROM

Up to 184K of disk

System Two

Dual disk

Up to 512K of RAM/ROM

Up to 184K of disk

Fill your computer needs

with the industry's

most professional microcomputers

#1 IN RELIABILITY

When you choose Cromemco you get not only the industry's finest microcomputers but also the industry's widest microcomputer selection.

What's more, you get a computer from the manufacturer that computer dealers rate #1 in product reliability.*

Your range of choice includes our advanced System Three with up to four 8" disk drives. Or choose from the System Two and Z-2D with 5" drives. Then for ROM-based work there's the Z2. Each of these computers further offers up to Vi megabyte of RAM (or ROM).

We say these are the industry's most professional microcomputers because they have outstanding features like these:

• Z-80A microprocessor — operates at 250 nanosecond cycle time — nearly twice the speed of most others.

Up to 512 kilobytes of RAM and 1 megabyte of disk storage

* Rated in The 1977 Computer Store Survey by Image Resources, Westlake Village, CA.

JSMk ^taMUM

f

II

llll

ia. ^-ji^l^l

System Three

Two to four disks Up to 512K of RAM/ROM Up to 1 megabyte of disk

30-amp power supply — more than adequate for your most demanding application.

21 card slots to allow for unparalleled system expansion using industry-standard S-100 cards.

S-100 bus — don't overlook how important this is. It has the industry's widest support and Cromemco has professionally implemented it in a fully-shielded design.

r3 Cromemco

■ VS incorporated

• Cromemco card support of more than a dozen circuit cards for process control, business systems, and data acquisition including cards for A-D and D-A conversion, for interfacing daisywheel or dot-matrix printers, even a card for programming PROMs.

• The industry's most professional software support, including COBOL, FORTRAN IV, 16K DiskExtended BASIC, 2-80 Macro Assembler, Cromemco MultiUser Operating System — and more coming.

• Rugged, professional all-metal construction for rack (or bench or floor cabinet) mounting. Cabinets available.

FOR TODAY AND TOMORROW

Cromemco computers will meet your needs now and in the future because of their unquestioned technical leadership, professionalism and enormous expandability.

See them today at your dealer.

There's no substitute for getting the best.

see next \\ pagel/

Specialists in computers and peripherals

280 BERNARDO AVE., MOUNTAIN VIEW, CA 94040 • (415) 964-7400

Circle 80 on inquiry card.

BYTE October 1978

SEE YOUR LOCAL CROMEMCO DEALER

JttlUji ftoxbrir

■YT1SHOPU

HMlCwmbKiUfw i»i»mi.»vn

(IC«rrHO.CA*tt»

ADVtNTURES IN COMPUTING

Honilnfien t«»ch ALGORITHM Pf

Mar«p,CAMMC

accounting «y c<

Oran«,CAWS« COMPUTER M

P»toAlio,CA»4»

t« computer a

rytc shop »J o< san jose

ADVANCED MICROCOMPUTER Ml DO.

TMI tYTE SWOP Of SANTA CLARA

«K«lVl

TtONAL COMPUTER CINTIR INC

ll«l« IW

ComputerLand c*tus tin

COMPUTER COMPONENTS

MPUTmOf DtAILOVLY

» WALNUT CREEK

iniwof

SHOP Of ARAPAHO COUNTY

TMI COMPUTER SIORf

COMPUTERLAND Of NEW C Ail LI CI

MICRO COMPUTER SYSTEMS. ENC.

dOSlTfl-MM

MCIO COMPUTER SYSTEMS

COMPUTERLAND MARIETTA

COMPUTERLAND

IT SHOP CHAMPAIGN

RRONSON * RR ATT ON. I Ml

COMPUTER A CONTROL AFflUATES, INC

ji ni*™?*™

■ HpmfMit, 111

coMf-nc

. llnonanulDll.lMVKI

.VI * tuxi* s.

DATA DOMAIN Of PORT WAYNE

DATA DOMAIN Of INDIAN A POl IS

IfM Haul

DATA DOMAIN Of If XINGI ON

r OMf I Tl«l AND Of LOUMV III I

THI COMPUTER STORE

m DAT A SYSTEMS INC

•MM SuWBB

C * M ENGINEERING. INC

lHllOMPUTER STORE

[O MICROSYSTEMS CORP

COMPUTER

MART Of ROYAL OAR

COMPUTERLAND SOUTHf IHD

Hh'INanlMMointHrt.M. IJ1TI JSWI11

MINNESOTA MICRO SYSTEMS, INC.

SMCWTwAMlwcSoUtE)

lAtHUA-MM

CVWrtwH MO**I?

DAI A DYNAMICS, INC.

COMPUTERLAND CHIRR Y HHI

COMPUTER MART Of NEW gRSEY

COMPUTERLAND Of RUFTAIO

corson computer cow, mc

COMPUTER SHOP Of SYRACUSE

DIGITAL DESIGN

J1ST CENTURY SHOP

Mil <* (MlRN mCHAl ELECTRONICS

COMPUTIRW1

owwmwi

Mi,li»lii Urijhlt. OH 441M COMPUTERLAND Of CLEVELAND EAST

OklfhomiCitr. ORPINE HKH TECHNOLOGY

■ •uanHkW

If SHOP Of MAVHtTON

real Oregon compute* co.

j&MtRlMd

R. DON'kRIGCE*

•»«Oip,>ri«lwWI>ivt

MumNuion Vjlln. PA 1«n MARKETUNE SYSTEMS,

M Awnur

CaMPUTER*MART

RYTE SHOP Of COU'MRIA

COMPUTER STORE

COMPUTER WORLD

SURYA CORPORATION

rOMRim CORNER, INC.

MfMMxndltMM IJ1JMS1-5W0

I CoipuiChrnii.Tt MICRO SYSTEM!

WCEVINC.

< OMPl lIRl AND Of S.W. HOUSTON

INTERACTIVE ( ()MfI. I (RS

1'iimsMi

SONTRON INSTRUMENTS

COMPUTER ART A EDUCATION

RoSc^

GHR»Y,AI THE CO*

IARUIMUID '

Ifllltl TEC. INC.

Ill CORPORATION

COMKTIOAC

US MICROCOMPUTER YERTRIII

# DENOTES SYSTEMS THREE DEALER

n

2 BYTE October 1978

Cromemco

incorporated Specialists in computers and peripherals

^^^1 280 BERNARDO AVE., MOUNTAIN VIEW, CA 94040 • (415) 964-7400

Circle 80 on inquiry card.

r

22 34 58 86 100 122 142 144 162 168

12

70 130 182

4

6

10

54

57,65 68, 136, 151 151 152 154 166 193 222 224 224

In the Queue

141

Foreground

NO ""ssrs:rRFACEs?: •—•*■>«■« c—

A -TINY- PASCAL COMPILER, Part 2: The P-Compiler

Pascal-Chung- Yuen TESTING MEMORY IN BASIC

Software-Adams FIRST STEPS IN COMPUTER CHESS PROGRAMMING

Software Chess-the Sprack/ens LINEAR CIRCUIT ANALYSIS Simulation —A nderson SOLVING THE EIGHT QUEENS PROBLEM

Software-Smith A SIMPLER DIGITAL CASSETTE TAPE INTERFACE

Hardware—Burhans SOUPING UP YOUR SwTPC 6800

Hardware-Hughes A NOVEL BAR CODE READER

Hardware-Farneii A COMPUTER CHESS TUTORIAL Computer Chess-Whaiand

Background

A MEMORY PATTERN SENSITIVITY TEST

Debugging- Kinzer PAM/8: A New Approach to Front Panel Design

Computer Design-Letwin ASSEMBLING THE H9 VIDEO TERMINAL

Product Description-Steeden CREATING A CHESS PLAYER

Chess Tutoriai-Frey-Atkin

Nucleus

In This BYTE

On Using a Personal Computer for a Practical Purpose

Letters

Book Reviews

Technical Forum

Programming Quickies

BYTE's Bits

BYTE's Bugs

Clubs, Newsletters

Event Queue

Product Description: Micro-Scan Corp Bar Code Scanner

What s New?

Unclassified Ads

BOMB

Reader Service

vt ID

Unacceptable manuscripts will be returned if ^^Lfj£Z£ £7*°"*"* * ** edit°r 8t the 8bove **■* scripts or photos. Opinions expressed by the author »™ nm !J ? I *** POStafle- Not sponsible for lost menu

address, Form 3579. and fu.fillment ^^^B^%^^L^£ "Hf' Addr6SS a" subscriptions, change of Postage paid at Peterborough NH 03458 and at additional ma^no Xc'Jul£ p 2' "V*?1* Nj 08B3B. Second das, class reg.strat.on No. 9321. Subscriptions are $15 for w. v«r *27 f« SI" "J'X?0" N°' 10241°- Canadian ™<>n<i

possesions. In Canada and Mexico, $17.50 for one year S32 for tul« ^'JE? $39 f°r thr8e years in <h* USA and its

subscription by surface mail worldwide Air de° verl to sI^h *!2 8nd $46'50 ,or threa V«*i. *™ ^ a one year

year subscription by air delivery to Z£Xg^Xfigm SfSX^ ^^ UP°" r*«™' *25 Mex.co, $3.50 in Europe, and $4 00 elsewhere Fr,™!™ f!2 • tht USA and ,ts Possessions, $2.40 in Canada and

Printed in United States of America. 2d^Sri^JS£SfSlifS *m 8h°U,d * remittad J" Unit* sSSTil-S? 1978 by BYTE Publication Inc. AM rights^eserled contribut'°" * *,. ,ssua and the issue as a collective work copyright ©

Subscription WATS Line: (800) 258-5485

iff I October 1978 Volume 3 Number 10

PUBLISHERS

Virginia Londoner

Gordon R Williamson

EDITOR IN CHIEF

Carl T Helmen Jr

VICE-PRESIDENT, PRODUCTION

Judith Havey

PRODUCTION MANAGER

Karen Gregory

ADVERTISING DIRECTOR

John Hayes

CIRCULATION MANAGER

Gregory Spitzfaden

COMMUNICATIONS COORDINATOR

James C Morrissett

SENIOR EDITOR

Christopher P Morgan

EDITORS

Raymond G A Cote

Blaise W Liffkk

Richard Shuford

PRODUCTION EDITORS

Nancy Salmon

David William Hayward

Peter Perin

PRODUCTION ASSISTANT

Cheryl A Hurd

PRODUCTION ART

Stephen Kruie

Wai Chiu Li

Dorothy Shamonsky

Ellen Shamonsky

NEW PRODUCTS EDITOR

CLUBS, NEWSLETTERS

Laura A Hanson

ASSISTANT ADVERTISING DIRECTOR

Patricia Clark

ASSISTANT PRODUCTION COORDINATOR

Thomas Harvey

ADVERTISING ASSISTANTS

Noreen Bardsley

JNICallihan

COMPTROLLER

Kevin Maguire

ASSISTANT TO COMPTROLLER

Ruth M Walsh

EDITORIAL ASSISTANT

Gale Britton

CIRCULATION ASSISTANTS

Christine Dixon

Ann Graves

Pamela R Heaslip

Agnes E Perry

DEALER SALES

Ginnie F Boudrieau

Anne M Baldwin

TRAFFIC MANAGER

Rick Fuette

RECEPTIONIST

Jacqueline Earnshaw

DRAFTING

Techart Associates

DRAWING EDITOR

Kent Richard

TYPOGRAPHY

Goodway Graphics

PHOTOGRAPHY

Ed Crabtree

PRINTING

The George Banta Company

ASSOCIATE EDITOR

Daniel Fylsira

ASSOCIATES

Walter Banks

Steve Garcia

David Fylstra

Portia Isaacson

BOOK DIVISION:

PRODUCTION MANAGER

Edmond C Kelly Jr

PRODUCTION ASSISTANT

Catherine Lahive

ADVERTISING SALES REPRESENTATIVES

EAST, MIDWEST

Hajar Associates Inc

17 Durant St

West Roxbury MA 02132

(617)325-5380

100 W Chicago Av

Chicago IL 60610

(312)337-8008

WEST, SOUTHWEST

Buckley/Boris Associates Inc

912 South Barrington, Suite 202

Los Angeles CA 90049

(213) 826-4621

DISTRIBUTORS:

EASTERN CANADA

RS-232 Distribution Company

186 Queen St W, Suite 232

Toronto ONTARIO

WESTERN CANADA

Kitronic Ltd

26236 26th Av RR 5

Aldergrove BC VOX 1A0

1

October 1978 © BYTE Publications Inc 3

Robert Tinney's painting on the cover this month is a fanciful image of computer chess. A Knight floats above an ancient stone chessboard with the ubiquitous floppy disk beneath. Four articles in this issue are devoted to the art of computer chess, including the first part of a 4 part series by the creators of Chess 4.6, the world championship chess program.

In This EOTE

One cause of seemingly unexplainable program errors may be incorrectly operating memory. A Memory Pattern Sensitivity Test discussed by Don Kinzer will help to determine if your memory is operating correctly.

page 12

If you need -12 or +15 V for your latest hardware design, and have only +5 V, what can you do? Read No Power for Your Interfaces? Build a 5 W DC to DC Converter by Steve Ciarcia. Several inexpensive, practical designs are described, to give you everything from -15 to +15 V from a +5 V source. page 22

In Part 1 of A "Tiny" Pascal Compiler, in the September 1978 BYTE, Kin-Man Chung and Herbert Yuen described the syntax of a Pascal subset and described a hypothetical stack machine, called a p-rnachine. This month they describe a compiler that generates codes for the p-machine.

page 34

Would you like a fast and easy way to test your new memory board? Author Russell Adams shows you how in Testing Memory in BASIC. A simple program loads the memory locations with alternating 1s and Os to spot those bad bits. page 58

The H8 computer from Heath features a novel firmware front panel monitor comprised of both hardware and software elements. Gordon Letwin, Heath software designer, describes the design philosophy and the features of the system in PAM/8:

A New Approach to Front Panel Design. page 70

The winning program at the Second West Coast Computer Faire's Microcomputer Chess Tournament in March of 1978 was Sargon, written in Z-80 assembler language. Sargon's creators, Dan and Kathe Spracklen, describe the move generating portion of their program in First Steps in Computer Chess Programming. page 86

A computer allows you to try out a variety of ideas with nothing more than a program to see if they will work. One way to use this potential is to model electrical circuits in software. Leonard H Anderson describes how to perform Linear Circuit Analysis on your computer. page 100

The eight Queens problem is a venerable puzzle in recreational mathematics. Terry Smith describes his thought processes in working out a solution in his article, Solving the Eight Queens Problem. An occasional dose of cleverness is often the key to solving a difficult problem, as Terry demonstrates. page 122

For someone who is looking for a good quality video terminal which is easy to work with and will be user serviceable, the Heath kit H9 is the solution. Terry Steeden describes his pleasant experiences Assembling the H9 Video Terminal and having it work correctly the first time. page 130

Digital recording of computer programs and data is an attractive alternative to standard audio cassette recording techniques because of its reliability and simplicity. Ralph Burhans de

scribes an updated version of earlier digital recording schemes in A Simpler Digital Cassette Tape Interface.

page 142

If you own a SwTPC 6800 computer and want to increase the processor clock speed with a minimum of fuss, read Souping Up Your SwTPC 6800 by Steve A Hughes. The article describes a simple circuit that plugs directly into a socket on the 6800 processor board. Changing the clock speed is then done by simply plugging in a new crystal oscillator. page 144

Last year we ran a contest in which readers were asked to design their own PAPERBYTEtm bar code readers and submit them to us. One of the winning entries, by Campbell Farnell and Glen Seeds, is described in their article, A Novel Bar Code Reader. page 162

For a short introduction to the world of computer chess, read Norman Whaland's A Computer Chess Tutorial. The basic principles of chess strategy and tactics are covered in discussions of game trees, alpha-beta pruning, minimax strategies and so on. page 168

Creating a Chess Player was written by two people at the forefront of research in computer chess: David Frey, editor of Chess Skill in Man and Machine, and Larry Atkins, coauthor of Chess 4.6, the world champion chess program that recently beat a Grandmaster in a simultaneous exhibition. The article discusses the thinking processes in the chessplayer's mind and how such processes are transformed into a computer program. page 182

October 1978 ©BYTE Publications Inc

ALTOS presents a new standard in quality and reliability

X vjf

WE'RE ALTOS COMPUTER SYSTEMS. Our SUN-SERIES ACS8000 business/scientific computer creates a new standard in quality and reliability in high technology computers.

HIGH TECHNOLOGY The ACS8000 is a single board, 280®* disk-based computer. It utilizes the ultra-reliable Shugart family of 8 inch, IBM compatible, disk drives. A choice of drives is available: single or double density, single or double sided. Select the disk capacity you need, when you need it: VfcM, 1M, 2M, or 4M bytes. The ACS8000 features the ultimate in high technology hardware: a fast 4 MHz Z80 CPU, 64 kilobytes of 16K dynamic RAM, 1 kilobyte of 2708 EPROM, an AMD 9511 floating point processor, a Western Digital floppy disk controller; a Z80 direct memory access, Z80 Parallel and Serial I/O (two serial RS232 ports, 1 parallel port), and a Z80 CTC Programmable Counter/Timer (real time clock). In essence, the best in integrated circuit technology.

ALCOi

BUILT-IN RELIABILITY The ACS8000 is a true single board computer. This makes it inherently reliable and maintainable. The board and the two Shugart drives are easily accessible and can be removed in less than five minutes. All electronics are socketed for quick replacement. Altos provides complete diagnostic utility software for drives and memory.

QUALITY SOFTWARE Unlimited versatility. The ACS

8000 supports the widely accepted CP/M®** disk operating system and FOUR high lever languages: BASIC, COBOL, PASCAL and FORTRAN IV. All available NOW,

PRICE $3,840. Standard ACS8000 system with 32 Kb RAM and Vz Mb disk. FPP, DMA and software optional. Dealer/OEM discounts available. Delivery: 3 weeks ARO.

*Z80 is a trademark of Zilog, Inc.

**CP/M is a trademark of Digital Research, Inc.

Dealer/rep inquiries invited.

Circle 7 on inquiry card.

WWlVlr^U I til OYO I tlVlvX 2378B WALSH AVENUE • SANTA CLARA • CA 95050 • (408) 244-57

On Using a Personal Computer for a Practical Purpose

Editorial

by Carl Helmers

Finally, it had to happen to me. We all know that personal computers are supposed to be a cross between a necessity and a luxury. But the critics tend to harp on our tendency to get carried away by the fun and to ignore the practical uses of our wonderful servants. As if to answer that justified criticism, I finally came up with a genuine practical use for a small computer in the monthly operations of BYTE's editorial office/Now this practical application is by no means the kind of automated editing

and type preparation facility I would like to have some day if and when I ever become rich and famous. But this is a genuine, once a month, cyclically run application program. At BYTE, we have so far purchased two Apple II computers (among others) for use in educating our employees, and in order to have some facilities around the office. One of these Apple II computers sits in my office, and at the time of this exercise

Continued on page 147

Rank Topic

1 Applications to everyday life

2 Household automation with computers

3 Personal data base design and implementation

4 Applications to personal business

5 Voice recognition by computers

6 The art of programming

7 Logical games {require much thinking, no dexterity)

8 Voice synthesis with computers

9 The art of hardware design

10 Computer control of mechanisms

11 Graphics software design

12 Artificial intelligence: general interest in AI

13 Action games (require much thinking, no dexterity)

14 Educational uses of computers

15 Computer system design

16 Text editing and processing

17 Graphics hardware design

18 Applications of computers to engineering

19 Experimentation with designs

20 General robotics: whole systems

21 Applications of computers to physical science

22 Chess and computers

23 Computer communications networks

24 Simulations of real or mythical situations

25 Al: pattern recognition

26 Design of information structures

27 Use of graphic displays for artistic purposes

28 Mathematical analysis and algorithm design

29 Language design

30 Compiler or interpreter design

31 Al: representations of knowledge

32 Al: Natural language parsing

33 Computers used for musical purpose: real time performance

34 Applications of computers to biological sciences

35 Amateur radio and computers

36 Computers and music: stochastic composition

37 Application of computers to social sciences

38 Al: theorem proving

Table 1: Respondents were asked to assign a numerical preference from 0 (no interest) to 10 (highest interest) for each of these 38 categories. The column labelled total weighted count contains the sum of counts in each possible response (f to 10) multiplied by the response itself. Thus if a count of 29 were found in the interest weight 7 for some category, the contribution to the weighted sum would be 7 x 29 = 203. The standard deviation and mean were calculated for the data, and the deviation from the mean was expressed in the rightmost column in units of one standard deviation for each category. These data were "output" to a typewriter from the screen of the Apple II using a manual process, then typeset in the usual method.

Total

Standard Deviations

Weighted Count

Away from Mean

12888

2.178

12886

2.177

10911

1.179

10683

1.064

10654

1.049

10552

.997

10277

.858

10014

.725

9875

.655

9832

.633

9707

.570

9523

.477

9465

.448

9439

.435

9311

.370

9233

.330

8876

.150

8766

.092

8723

.073

8642

.032

8593

0.

8553

-.013

8424

-.079

8315

-.134

8221

-.181

8111

-.237

7556

-.517

7551

-.520

7534

-.529

7273

-.669

6982

-.848

6531

-1.035

6477

-1.062

5785

-1.412

5369

-1.623

5138

-1.739

4745

-1.938

4686

-1.968

October 1978 ©BYTE Publications Inc

North Star Systems Go To Work

More and more, you see the North Star HORIZON computer at work: in business, research, and education. Its high performance qualifies the HORIZON for demanding professional applications. Over 10,000 users during the past two years have proven that North Star hardware has the reliability for day-in, day-out computing. The HORIZON is now a serious candidate for any small system installation.

SOFTWARE IS THE KEY TO HORIZON MATURITY

North Star BASIC and DOS have been used to develop hundreds of commercial program packages. These packages establish that North Star software has the completeness and convenience necessary for serious program development. Because of the many independent vendors offering software using North Star BASIC and DOS, the HORIZON owner now has the widest selection of software in the microcomputer industry! Software available includes: word processing, general ledger, accounts payable/ receivable, mailing list processing, inventory and income tax preparation. Program development systems such as assemblers, debuggers, editors, PILOT and FORTRAN are also available.

EXPAND YOUR HORIZON

The basic HORIZON computer includes a Z80 microprocessor, 16K bytes of RAM memory, an I/O interface and one Shugart minifloppy disk drive. The HORIZON can be expanded to 60K bytes or more of RAM, three disk drives, and three I/O interfaces. Performance can be enhanced by the addition of the North Star hardware floating point board. Also, S-100 bus products from other manufacturers may be used to expand the HORIZON.

For more information, contact your local computer store.

North * Star Computers

2547 Ninth Street Berkeley, California 94710 (415)549-0858

Circle 285 on inquiry card. byte October 1978

801 Temiinai c^

mputer

•^^o,

W; l&ifc&?%

SoL

The small computer that won't fence you in.

A lot of semantic nonsense is being tossed around by some of the makers of so-called "personal" computers. To hear them tell it, an investment of a few hundred dollars will give you a computer to run your small business, do a great amount of financial planning, analyze a host of data in the engineering or scientific lab and when day is done play games by the hour.

Well, the games part is true. The rest of the claims should be taken with a grain of salt. All of the personal computers will help you learn about computers and how they work in general and the kinds of things they can do for you. Only a few have the capacity to grow and handle meaningful work in a very real sense. And they don't come for peanuts.

Remember, there's no free lunch.

So before you buy any personal computer, consider Solf the small computer. Consider it because it costs more at the start so in the end it costs less. Consider it because it can grow with the complexity of the tasks you ask it to perform and grow with your ability to use it. No, it's not cheap. But it's not a delusion either.

From the very beginning, Sol small computer systems were designed to be at the very top of the microcomputer spectrum. We designed them so you wouldn't have to add costly extras to do many jobs. We designed them so you could add quality peripherals and more memory to take care of more complex tasks. We designed them

Circle 305 on inquiry card.

to use the best fully supported disk operating system on the market today, PTDOS, which we also designed. We designed them to use our Helios II mass memory. And for Sol small computer systems we designed new and adapted existing software to give you the choice of the best on the market today.

Build computer power with our software.

No system is complete without software, and at Processor Technology we have tailored a group of high level languages, and assembler and other packages to suit the wide capabilities of our hardware.

Take a look at our exclusive Extended BASIC as an example. In cassette form, this BASIC features string and advanced file handling, special screen commands, timed input, complete matrix, logarithmic and trigonometric functions, 8 digit precision and square root. The language handles serial access files, provides tape rewind and offers cursor control for graphics capability.

The disk version has all the number crunching talents of the cassette BASIC plus instant access to data and programs on floppy disks. It includes random as well as sequential files and a unique ability to update sequential data in place.

Processor Technology FORTRAN is similar to FORTRAN IV and has a full set of extensions designed for the "stand alone" computer environment. Thousands of special application programs available through books and periodicals have

already been written in this well established language.

Processor Technology PILOT is an excellent language for teachers. It is a string-oriented language designed expressly for interactive applications such as programmed instruction, drill and testing.

No wonder we call it the serious solution to the small computer question.

It's the small computer system to do the general ledger and the payroll. Solve engineering and scientific problems. Use it for word processing. Program it for computer aided instruction. Use it anywhere you want versatile computer power!

Sold and serviced only by the best dealers.

Sol Systems are sold and serviced by an outstanding group of conveniently located computer stores throughout the United States and Canada. They are also available in Australia, Europe, the United Kingdom, Central America, South America, Japan and Singapore.

For more information contact your nearest dealer listed on the following page. Or write Department B, Processor Technology Corporation, 7100 Johnson Industrial Drive, Pleasanton, CA 94566. Phone (415) 829-2600.

In sum, all small computers are not created equal and Sol users know it to their everlasting satisfaction.

ProcessorTechnology

BYTE October 197S 9

See Sol

at all these

fine computer

centers

AL: Birmingham: ICP Computerland, (205) 979-0707. CA: Berkeley: The Byte Shop, (415) 845-6366. Citrus Heights: Byte Shop, (916) 961-2983. Costa Mesa: Orange County Computer Center, (714)646-0221. Hayward: Computerland of Hayward, (415) 538-8080. Lawndale: The Byte Shop, (213) 371-2421 Modesto: Computer Magic, (209) 527-5156. Mountain View: Digital Deli, (415) 961 -2670. San Francisco: Computer Center, inc., (415) 387-2513. San Rafael: The Byte Shop, (415) 457-9311. Walnut Creek: The Byte Shop, (415) 933-6252. CO: Boulder: Byte Shop, (303) 444-6550. Denver: Byte Shop, (303) 399-8995. CT: Bethel technology Systems, (203) 748-6856. FL: Ft, Lauderdale: Byte Shop of Ft. Lauderdale, (305) 561-2983. Miami: Byte Shop of Miami, (305) 264-2983. Tampa: Microcomputer Systems, Inc., (813) 879-4301. GA: Atlanta: Atlanta Computer Mart, (404) 455-0647. IL: Lombard: Midwest Microcomputer, (312) 495-9889 IA: Davenport: Computer Store of Davenport, (319) 386-3330. KY: Louisville: Martronix Associates, (502) 459-0500. MD: Towson: Computers Etc., (301) 296-0520 MN: Minneapolis: Computer Depot, (612) 927-5601. MO: Florissant: Computer Country, (314) 921-4434. NH: Nashua: Computerland of Nashua, (603) 887-5238. NJ: Cherry Hill: Computer Emporium, (609) 667-7555. Iselin: Computer Mart of New Jersey,

(201) 283-0600. NY: Endwell: The Computer Tree. (607) 748-1223. New York: Computer Mart of New York, (212) 686-7923. White Plains: The Computer Corner, (914) 949-3282. NC: Raleigh: Roms'N' Rams, (919) 781-0003.

OH: Akron: The Basic Computer Shop, (216) 867-0808. Columbus: Byte Shop, (614) 486-7761. Dayton: Computer Mart of Dayton, (513) 296-1248. OR: Beaverton: Byte Shop Computer Store, (503) 644-2686. Portland: Byte Shop Computer Store, (503) 223-3496. Salem: Computer Pathways, (503) 399-0534. PA: King of Prussia: Computer Mart of Pennsylvania, (215) 265-2580. Rl: Warwick: Computer Power, Inc., (401) 738-4477. SC: Columbia: Byte Shop, (803) 771-7824. TN: Kingsport: Microproducts & Systems, (615) 245-8081. TX: Arlington: Computer Port, (817) 469-1502. Arlington: Micro Store, (817) 461-6081. Houston: Interactive Computers, (713) 772-5257. Houston: Interactive Computers. (713)486-0291. Lubbock: Neighborhood Computer Store, (806) 797-1468. Richardson: Micro Store, (214) 231-1096. UT: Salt Lake City: Home Computer Store, (801} 484-6502. VA: McLean: The Computer Systems Store, (703) 821-8333. WA: Bellevue: Byte Shop Computer Store, (206) 746-0651. Seattle: Byte Shop of Seattle, (206) 622-7196. Wl: Madison: The Madison Computer Store, (608) 255-5552. Milwaukee: The Milwaukee Computer Store, (414) 445-4280. DC: Washington: Georgetown Computer Emporium,

(202) 337-6545. CANADA: London, Ontario: Computer Circuit Ltd., 737 Richmond St., (519) 672-9370. Toronto: Computer Mart Ltd., 1543 Bayview St., (416) 484-9708. Vancouver: Basic Computer Group Ltd., 1548 West 8th Ave.. (604) 736-7474. ARGENTINA: Buenos Aires: Basis Sistemas Digitales, Colombres

849-1 -A. 93-1988 or 57-7177. AUSTRALIA: Sydney: Automation Statham Pty. Ltd , 47 Birch St., (02) 709.4144. Carnegie: Sontron Instruments, 17 Arawatta St., (03) 569.7867. BELGIUM: Bruxelles: S.PR.L Finncontact, Square Larousse, 5, 2/345-98-95. COLOMBIA: Bogota: Video National, Diagonal 34N 5-62, 326650. GREECE:Athens:Attikos,lnc.,41 Char. Tricoupi T.T. 145, 3604091. JAPAN: Tokyo: Japan Personal Computers, Ltd., Yamamoto Bldg. No. 11-18,(03)375-5078.5079. MEXICO: Plateros: Industrias Digitales, S A. de C.V., (905) 524-5132. PHILIPPINES: San Juan: Integrated Computer Systems, Inc., Suite 118, LIM KET KAI Bldg, Ortigas Ave. SWEDEN: Stockholm: Wernor Elektronix,Torsvagen 61, Box 72, (0) 8 717-62-88. UNITED KINGDOM: Huntingdon, England: Comart, Ltd, 24A Market Square, St. Neots, Cambridgeshire, (0480) 74356. VENEZUELA: Los Ruices, Caracas. Com pone ntes Y Circuitos Electronicos, TTLCA 355591.

Processor

Letters

TOP-DOWN MODULAR PROGRAMMING

I enjoyed the article, "Top-Down Modular Programming," by Albert D Hearn in July 1978 BYTE, page 32; I thought he did a good job of explaining the subject. While I realize that he was purposely trying to simplify matters,

I do take exception to his comment that a module should be no more than 50 lines long.

The concepts of structured programming are intended as guidelines, not as the dogma for a programmer's religion. All of the better known proponents of the methodology stress this point, along with the idea that you must approach the study of structured programming with your eyes open, making your own evaluation. In this light let us explore the 50 line limit.

One of the bases for breaking a program up into modules is so that a complex problem can be handled with smalf, easy-to-understand pieces of code. One of the thoughts about module size is, therefore, that a module ought to be able to fit on the printed page. This is so that all the information about the module is in one place and the programmer doesn't have to thumb through several pages to read the code for a single module. (Having experienced "modules" running as long as 10 to 15 pages, I heartily agree with this philosophy.)

In professional programming installations this idea has frequently been translated into a local standard of about 50 lines of code, since this is the number of lines which are printed on an %Vi by

II inch (21.25 by 27.5 cm) page coming out of a line printer (allowing for headers, footers, etc). For the personal computer enthusiast, however, this limit might be more conveniently set at 24, 32 or 40 lines — the size of the video display.

For many more complex problems, it is possible that a significant module cannot be constructed in 24 lines. This is no problem — just make the modules longer. The point is to try to restrict the module size to a length which enhances the programmer's ability to understand the code.

The basics of structured programming must be studied, evaluated, and possibly modified to work in each individual situation. There are a lot of great ideas included in the structured programming lore, but they should not be adopted blindly.

Jim Fleming

2220 Sims Dr

Columbus IN 47201

Continued on page 156

56 GREAT LOCATIONS

ComputerLand

NOW OPEN:

ALABAMA

Huntsville

{205)539-1200

CALIFORNIA

Dublin

(415)828-8090

El Cerrito

(415)233-5010

Hayward

(415)538-8080

Los Altos

(415)941-8154

Los Angeles

(213) 776-8080

Mission Viejo

(714)770-0131

San Bernardino

(714)886-6838

San Diego

(714) 560-9912

San Francisco

(415) 546-1592

San Jose

(408) 253-8080

San Mateo

(415) 572-8080

Santa Rosa

(707) 528-1775

Thousand Oaks

(805) 495-3554

Lawndale

(213)371-7144

Tustin

(714) 544-0542

Walnut Creek

(415)935-6502

COLORADO

Colorado Springs

Call Directory Assistance

Denver

(303) 759-4685

CONNECTICUT

Fairfield

(203) 374-2227

DELAWARE

Newark

(302) 738-9656

FLORIDA

Boca Raton

Call Directory Assistance

Ft. Lauderdale

Call Directory Assistance

GEORGIA

Atlanta

(404) 953-0406

HAWAII

Honolulu

Call Directory Assistance

ILLINOIS

Arlington Heights

{312)255-6488

Downers Grove

(312)560-0193

Niles

(312)967-1714

Oak Lawn

(312)422-8080

Peoria

Call Directory Assistance

INDIANA

Ft. Wayne

Call Directory Assistance

KENTUCKY

Louisville

(502) 425-8308

MARYLAND

Rockville

(301)948-7676

MICHIGAN

Grand Rapids

(616)942-2931

Detroit

(313)356-8111

MINNESOTA

Bloomington

{612)884-1474

NEW HAMPSHIRE

Nashua

(603) 889-5238

NEW JERSEY

Cherry Hill

(609) 795-5900

Bergan County

(201)845-9303

Morristown

(201)539-4077

NEW YORK

Buffalo

{716)836-6511

Ithaca

(607) 277-4888

NO. CAROLINA

Charlotte

(704) 536-8500

OHIO

Cleveland

(216)461-1200

OREGON

Portland

(503)620-6170

PENNSYLVANIA

Harrisburg

(717) 736-1116

TEXAS

Austin

(512)452-5701

Dallas

Call Directory Assistance

Houston

(713)977-0909

WASHINGTON

Bellevue

(206) 746-2070

Federal Way

(206) 838-9363

Tacoma

(206) 581-0388

WASHINGTON, D.C.

Call Directory Assistance

WISCONSIN

Madison

(608) 273-2020

INTERNATIONAL

Sydney, NSW Austra

ia 29-3753

Winnipeg, Canada

Call Directory Assistance

10 bytf. October 1978 Circle 305 on inquiry card.

Circle 75 on inquiry card.

BffHE YOU NY CMMIDfL TOIll

If the truth is that you want a computer . . . then we want to be your computer store.

We're ComputerLand, the #1 computer store chain in the U.S. What's meaningful about that fact is, that ComputerLand has been chosen by more people as having what they've been looking for. And, since you're looking, let us tell you what you'll find, when you visit a ComputerLand store.

You'll find a product line that's continually evaluated to provide you with the widest and best selection in quality, brand name microcomputers anywhere. You'll find an enthusiastic and knowledgeable staff able to interpret all the equipment specifications, in terms of how they apply to you, and in a way you'll understand. You'll find demonstration areas where you can get a firsthand experience of running a computer yourself.

You'll find educational materials to give you a total insight into the world of microcomputers.

You'll find a fully equipped service lepartment to provide whatever assistance i required to keep your computer running i top-notch condition. You'll find computer ier's clubs to join, where you can share eas with people as enthusiastic as urself. And, with each new visit, you'll d excitement—from the people you deal h, the equipment they offer, and from ir own ever-growing personal Dlvement.

Enough about us. How about what computers do.To attempt to describe all the things your computer might do, would be to describe your imagination. So instead, we'll briefly list some of the many things for which small computers are already being used.

In business, the advent of the versatile and compact microcomputer has put the benefits of computing within reach of small companies. With systems starting at less than $6000, the businessman can

computerize things like accounting, inventory control, record keeping, word processing and more. The net result is the reduction of administrative overhead and the improvement of efficiency which allows the business to be managed more effectively.

In the home, a computer can be used for personal budgeting, tracking the stock market, evaluating investment opportunities, controlling heating to conserve energy, running security alarm systems, automating the garden's watering, storing recipes, designing challenging games, tutoring the children , . . and the list goes on.

In industry, the basic applications are in engineering development, process control, and scientific and analytical work. Users of microcomputers in industry have found them to be reliable, costeffective.tools which provide computing capability to many who would otherwise have to wait for time on a big computer, or work with no computer at all.

ComputerLand

WE KNOW SMALL COMPUTERS

14400 Catalina St., San Leandro, CA 94577 (415) 895-9363 • Franchise Opportunities Available

And now we come to you, which leads us right back to where we started: If you want a computer, then we want to be your computer store.

Whether you want a computer for the home, business or industry, come to ComputerLand first. We'll make it easy for you to own your first computer. Because, simply put, we really want your business. When you come right down to it, that's what makes us #1.

®

BYTE October 1978

11

A Memory Pattern Sensitivity Test

Don Kinzer

3885 NW Columbia Av

Portland OR 97229

Listing 1: Memory EXCHANGE i for the 6< memory t vity.

Faulty memory is a very difficult problem to detect. Most distributors of memory board kits supply a simple memory test designed to detect assembly errors such as misplaced components, solder bridges, etc. These tests are ineffective in detecting certain types of memory related problems. One of these problems, called pattern sensitivity, manifests itself in the very disturbing fact that accessing one memory location alters another memory location, but only when the memory contains a certain pattern of bits.

It is my intention, through this article, to make the experimenter aware of potential memory problems and to provide some information which may be helpful in

ram written to test for

1 2 3

* *

EXCHANGE

em

sensiti

4 5 6

7 8

* * *

A MEMORY TEST

*

* EXTERNAL ROUTINES

(MIKBUG ROUTINES)

E07E

9

PDATA

EOU

$E07E

E1D1

10

OUTCH

EQU

$E1D1

E067

11

OUTHL

EQU

$E067

E06B

12 13 14

OUTHR

*

*

EQU

$E06B

15

* STORAGE

0000

16

ORG

0

0000

17

BEGIN

RMB

2

0002

18

END

RMB

2

0004

19

XTEMP1

RMB

2

0006

20

XTEMP2

RMB

2

0008

21 22 23

COLCNT

• *

RMB

1

0009

8E A0 7F

24

INIT

LDS

#$A07F

set up stack

OOOC

BD 00 9D

25

START

JSR

PCRLF

go do CRLF

000F

37

26

LOOP

PSHB

save starting point

0010

DE 00

27

LDX

BEGIN

get beginning address

0012

09

28

DEX

adjust

0013

08

29

INITLP

INX

point next location

0014

E7 00

30

STAB

0,X

initialize

0016

5C

31

INCB

set next value

0017

9C 02

32

CPX

END

see if done

0019

26 F8

33 34 35

*

*

BNE

INITLP

if not, do again

001B

DF 06

36

BUBBLE

STX

XTEMP2

save end pointer

001D

DE 00

37

LDX

BEGIN

001F

DF 04

38

EXCHG

STX

XTEMPl

save top pointer

diagnosis of the problems by discussing a recent experience.

Every memory test is capable of detecting only a certain few of the many possible memory faults. Because of this, the user should be armed with a battery of memory tests and run them all at the first sign of trouble. Better yet, the tests could be run at regular intervals. A very good selection of such tests is contained in a package available from Technical Systems Consultants (POB 2574, W Lafayette IN 47906) as their SL68-23 Diagnostic Package. This package contains, among other tests, five memory tests, written in 6800 code, to expose bad bits, convergence problems and some types of pattern sensitivity. This package is highly recommended for all system users as the tests can be rewritten for the user's own machine.

As indicated before, the more tests, the better. The new test I am about to describe was discovered quite by accident. I was writing a resident assembler for my 6800 and was working on the sort routine which alphabetizes the symbol table. The sort, called a shell sort, works by comparing symbol table entries and exchanging them if they are not in alphabetical order. The process involves a tremendous amount of data shuffling. To my dismay, after the sort, the labels and their values had changed. TEMPI became TEMQ1. Before the sort MASK was hexadecimal 3E; after the sort it was hexadecimal BE. Needless to say, I wasted a lot of time looking for a software bug before I decided to test the memory. The tests from the Technical Systems Consultants diagnostic package revealed a 2102 with pattern problems. However, replacing the bad memory did not stop the errors.

It occurred to me that writing a test program which operated in a manner similar to the sort routine would help track down

12

October 1978 © BYTE Publications Inc

icrocomputer System Solution.

Announcing thelMSAI VDP-40.

Fully integrated video data processor in a single cabinet.

> Twin floppies, professional keyboard, $-100 expansion slots.

• 24 line by 80 char. CRT, insert/delete, programmable font, protected fields, inverse video.

Handsome flip-top cabinet for easy access. Serial and parallel I/O ports included.

> FORTRAN IV, Extended and Commercial BASIC.

• IMDOS. ISAM.

YouVe decided you want a microcomputer DP center — but what to buy? A component system? A computer box here, a CRT box there, a keyboard box, a floppy disk box ... A so called inexpensive $695 system? No disk; no way to add enough memory ... and if you could, it's not inexpensive anymore; and you still wind up with a collection of boxes.

The 1MSAI VDP-40 is a fully integrated Video Data Processing system and comes equipped with your choice of 32K or 64K RAM on our own advanced RAM HI board. In one cabinet, the VDP-40 combines a professional keyboard, heavy-duty power

I MSA I Manufacturing Corporation, Dept. EWN, 14860 Wicks Boulevard San Leandro, CA 94577 (415) 483-2093 TWX 910-366-7287

supply, twin mini-floppies, a multi-slotted motherboards-inch CRT, plus RAM at a new price/performance never before achieved.

System Expansion? Extra slots in our S-100 bus motherboard and our new power supply allow almost unlimited expansion. Need more disk expansion? A controller option of the VDP-40 allows expansion to greater than 4.5M Bytes. Add a line printer, an IBM compatible tape drive, a modem: all are available, with the interfaces and software to make it work for

you.

IMSAI EUROPE Europa Terrassen 8 Rue Jean Engling Dommeldange, Luxembourg 43-67-46 Telex: 1428

I MSA Ps VDP-40 price/performance means every home or business can now afford a complete DP center. Check us out. IMSAI has what you want and what you need. Visit your dealer or write us directly.

Features subject to change without notice.

0

®

The Standard of Excellence In Microcomputer Systems

Price/Berformance no one else has put together.

Circle 175 on inquiry card.

BYTE October 1978

13

t Why Apple st selling p

I

"

hich personal computer will be most enjoyable and rewarding for you? Since we delivered our first Apple® II in April, 1977, more people have chosen our computer than all other personal computers combined. Here are the reasons Apple has become such an overwhelming favorite.

Apple is a fully tested and assembled mainframe computer. You won't need to spend weeks and months in assembly. Just take an Apple home, plug it in, hook up your color TV* and any cassette tape deck—and the fun begins.

To ensure that the fun never stops, and to keep Apple working hard, we Ve spent the last year expanding the Apple system. There are new peripherals, new software, and the Apple II Basic Programming Manual. And wait till you see the Apple magazine to keep

fe the world's bnal computet:

satisfaction a personal computer can bring, today and in the future.

15 colors & hi-resolution graphics, too.

Don't settle for a black and white display! Connect youi Apple to a color TV and BASIC gives you instant command of three display modes: Text, 40h x 48v Color-graphics in 15 colors, and a 280h x 192v High Resolution array that lets you plot graphs and compose 3-D images. Apple gives you the addec capability of combining text and graphics, too.

Back to basics, and assembly language too.

Apple speaks three languages: fast integer BASIC, floating point BASIC for scientific and financial applications, and 6502 assembly language. That's maximum programming flexibility. And, to preserve user's space, both integer BASIC and monitor are permanently stored in 8K bytes of ROM, so you have an easy-to-use, universal language instantly available. BASIC gives you graphic commands: COLOR=,VLIN, HLIN, PLOT and SCRN. And direct memory access, with PEEK, POKE and CALL commands.

Software: Ours and yours.

There's a growing selection of preprogrammed software from the Apple Software Bank—Basic Finance, Checkbook, High Resolution Graphics and more. Now there's a User Section in our bank, to make it easy for you to obtain programs developed

owners on top of what's new.

Apple is so powerful and easy to use that you'll find dozens of applications. There are Apples in major universities, helping teach computer skills. There are Apples in the office, where they're being programmed to control inventories, chart stocks and balance the books. And there are Apples at home, where they can help manage the family budget, control your home's environment, teach arithmetic and foreign languages and, of course, enable you to create hundreds of sound and action video games.

When you buy an Apple II you're investing in the leading edge of technology. Apple was the first computer to come with BASIC in ROM, for example. And the first computer with up to 48K bytes RAM on one board, using advanced, high density 16K devices. We're working to keep Apple the most up-to-date personal computer money can buy. Apple II delivers the features you need to enjoy the real

BYTE October 1978

by other Apple owners. Our Software Bank is your link to Apple owners all over the world.

Alive with thesound of music.

Apple's exclusive built-in speaker delivers the added dimension of sound to your programs. Sound to compose electronic music. Sound to liven up games and educational programs. Sound, so that any program can "talk" back to you. That's an example of Apple's "people compatible" design. Another is its light, durable injection-molded case, so you can take Apple with you. And the professional quality, typewriter-style keyboard has n-key rollover, for fast, error-free operator interaction.

Apple is the proven computer.

Apple is a state-of-the-art single board computer, with advanced LSI design to keep component count to a minimum. That makes it more reliable. If glitches do occur, the fully socketed board and built-in diagnostics simplify troubleshooting. In fact, on our assembly line, we use Apples to test new Apples.

* Apple II plugs into any standard TV using an inexpensive modulator (not included).

**In California, call 408/996-1010.

Apple peripherals are smart peripherals.

Watch the far right column of this ad each month for the latest in our growing family of peripherals. We call them "intelligent interfaces." They're smart peripherals, so you can plug them in and run them from BASIC without having to develop custom software. No other personal computer comes close to Apple's expandability. In addition to the built-in video interface, cassette I/O, and four A/D inputs with two continuously variable game paddles, Apple has eight peripheral slots, three TTL inputs and fourTTL outputs. Plus a powerful, state-of-the-art switching power supply that can drive all your Apple peripherals.

Available now.

Apple is in stock and ready for delivery at a store near you. Call us for the dealer nearest you. Or, for more details and a copy of our "Consumer's Guide to Personal Computers," call

800/538-9696** or write Apple Computer, Inc., 10260 Bandley Drive, Cuper

4 mwvwmmw^wm^m*

95014.

iquiry card.

jgnppkz computer

Programming is a snap! T) halfway through Apple's BASIC nual and already I've programmed / my own space wars game.

Those math programs I wrote last week-I just rewrote them using Apple's miniassembler and got them

to run a hundred times faster.

New from Anile.

Valuable new series of software packages for investors

Now private investors can generate their own stock market reports and perform critical investment analysis instantly with Apple II. Just log your Apple II computer on to Dow Jones' central data bank with powerful Apple software: the Dow Jones Series. The first two of these highly practical programs are available now.

With Apple's Stock Quote Reporter program, a local telephone call links you to Dow Jones' continuously updated

fe~iM»~r'i'' '■ n ii mil

.W?5

JONES SERIES

stock quotes for more than 6000 companies listed on six major U.S. exchanges. Current activity for stocks in the investors portfolio is delivered automatically: ask/open, bid/close, high, low and last prices, and volume traded. Our Portfolio Evaluator enables you to analyze current value of your portfolio, and short- and long-term gain/ loss for each stock—or for your entire portfolio.

Cost of Apple's Dow Jones service is a one time contract fee of $25, which includes the Stock Quote Reporter program. An additional $3 charge is made for the first three minutes of any transaction and 500 per minute thereafter.

To take advantage of Apple's new financial services, Apple II users need only a communications card, a modem and an ordinary telephone. This equipment, the Dow Jones Series, and a broad selection of other Apple software are now in stock at your local Apple dealer.

Circle 15 on inquiry card.

Apple's smart peripherals make

expansion easy. Just plug 'em in and

they're ready to run. I've already

added two disks, a printer and the

communications card.

4

Listing 7, continued:

0021

A6 00

39

LDAA

0,X

get byte

0023

DE 06

40

II3X

XTEMP2

0025

E6 00

41

IXftB

0fX

get other

0027

A7 00

42

STAA

0,X

put alternate

0029

09

43

DEX

002A

DF 06

44

STX

XTEMP2

002C

DE 04

45

LDX

XTEMP1

get other pointer

002E

E7 00

46

STAB

Q,X

put byte

0030

9C 06

47

CPX

XTCEMP2

check dene

0032

27 05

48

BBQ

CHK1

0034

08

49

INX

0035

9C 06

50

CPX

XTEMP2

check dene

0037

26 E6

51

BNE

EXCHG

0039

32

52

CHK1

PUIA

003A

36

53

PSHA

get starting value

003B

4A

54

DECA

adjust

003C

DE 02

55

LDX

END

get end pointer

003E

DF 06

56

STX

XTEMP2

set end pointer

0040

DE 00

57

IDX

BEGIN

get begin pointer

0042

DF 04

58 59 60

*

STX

XTEMPl

save

*

0044

DE 06

61

CHECK

IDX

XTEMP2

get current pointer

0046

4C

62

INCA

set value

0047

Al 00

63

CMPA

0,X

check match

0049

26 IF

64

BNE

ERROR

if not, error

004B

9C 00

65

CCNT3N

CPX

BEGIN

see if checked all

004D

27 OC

66

BEQ

GOOD

if so, good pass

004F

DE 04

67

IDX

XTEMPl

0051

08

68

INX

0052

DF 04

69

STX

XTCMP1

advance pointer

0054

DE 06

70

IDX

XTEMP2

0056

09

71

DEX

0057

DF 06

72

STX

XTEMP2

retard pointer

0059

20 E9

73 74 75

*

BRA

CHECK

go check next

*

005B

86 21

76

GOOD

LDAA

#M.

00 5D

8D 33

77

BSR

PRINT

signal good pass

005F

7A 00 08

78

DEC

COLCNT

need CRLF?

0062

26 02

79

BNE

PASS

if not, skip

0064

8D 37

80

BSR

PCRLF

perform CRIF

0066

33

81

PASS

PUIB

get old value

0067

5C

82

XNCB

set new value

0068

20 A5

83 84 85

* *

BRA

LOOP

do again

006A

E6 00

86

ERROR

LDAB

0,X

get contents

006C

37

87

PSHB

save

006D

36

88

PSHA

save check value

006E

8D 2D

89

BSR

PCRLF

new line

0070

96 06

90

LDAA

XTEMP2

0072

8D 21

91

BSR

OUT2H

0074

96 07

92

LDAA

XTEMP2+1

0076

8D 16

93

BSR

OUT2HS

print address

0078

96 04

94

LDAA

XTEMPl

007A

8D 19

95

BSR

OUT2H

007C

96 05

96

LDAA

XTEMP1+1

007E

8D QE

97

BSR

OUT2HS

print alternate address

0080

32

98

PULA

0081

16

99

TAB

0082

8D OA

100

BSR

OUT2HS

print check value

0084

32

101

PULA

0085

8D 07

102

BSR

OUT2HS

print contents

0087

8D 14

103

BSR

PCRLF

new line

0089

17

104

TBA

008A

DE 06

105

LDX

XTEMP2

get pointer back

008C

20 BD

106 107 108

* *

BRA

CONTIN

start new pass

008E

8D 05

109

0OT2HS

BSR

OUT2H

print 2 characters

0090

86 20

110

LDAA

#• •

0092

7E El Dl

111 112 113

PRINT

* *

JMP

OUTCH

print character

0095

36

114

0QT2H

PSHA

save byte

0096

BD EO 67

115

JSR

OU1HL

print left hexadecimal digit

0099

32

116

PULA

009A

7E EO 6B

117

118 119

* *

JMP

OUTHR

print right hexadecimal digii

009D

CE DO A7

120

PCRUF

LDX

#CRLF

point to string

00A0

86 20

121

LDAA

#32

00A2

97 08

122

STAA

COLCNT

set column count

0OA4

7E EO 7E

123 124 125

* *

JMP

PDATA

go print string

00A7

OD OA

126

CRIF

FCB

$D,$A

00A9

00 00

127

FCB

0,0

OOAB

00 00 04

128 129 130

* *

FCB

0,0,4

ODAE

131

END

the trouble. The result is a program called EXCHANGE which is shown in listing 1. The program works by initializing the memory to be tested to a sequence of the 256 eight bit numbers. Then pointers are set to the beginning and end of that same block of memory, XTEMP1 and XTEMP2 respectively. Next, the data at each of the pointers is exchanged. The pointers are then moved toward one another. The process of exchanging and moving repeats until the pointers meet. The inverted sequence is then checked for accuracy. Any discrepancies are reported by printing the memory location which is incorrect, the location where the data resided before the exchange, what the data was supposed to be and what the data actually was.

The first time I ran the test, the program crashed. The memory problem had caused a byte of the program to change. After several tries with the same results, I took my machine to work and attached an oscilloscope to the data bus. I found that the data lines had an unbelievable amount of noise. At the advice of a friend, I installed resistive terminations on the data lines, which immediately cleaned up the signals. This eliminated the majority of the memory problem and even allowed the EXCHANGE program to run without crashing. Several hours of further testing using EXCHANGE exposed three more malfunctioning 2102s in my 12 K byte system.

After all of this I am happy to say that the sort routine was in fact working properly. Furthermore, the pattern sensitivity problem explains away several bugs in other programs I have worked on.

Before closing I would like to offer a few pointers on using EXCHANGE. If you suspect memory problems, run a bit test or convergence test to rule out physical problems (like shorted wires) and bad bits (nonfunctioning memory parts). If the problem persists, run EXCHANGE on the entire contiguous memory (except, of course, where EXCHANGE is located) noting any errors as they are printed. Next, run EXCHANGE on smaller areas corresponding to each set of 2102s. Replace the memory chips as necessary but don't throw them away yet. If the memory is still bad in the same area then the memory chips are not to blame and it is time to put an oscilloscope on your system to see what the problem is.

Based on my own experience with a homebrew computer I recommend running a battery of tests after any system hardware changes to uncover memory problems before they turn up as a bug in your next program."

16

October 1978 ©BYTE Publications Inc

HEATHKIT CATALOG

Complete descriptions of the best in personal computers-now available in kit and assembled versions

In the world of personal computing, compatibility of design and operation is an important consideration. The computer hobbyist or small business user of today doesn't have time to iron out hardware and software problems that can arise from a "shotgun" approach to system design.

Heathkit Personal Computer Systems are just that-systems. They were designed around each other for total complementary performance. Expansion within the computer itself and with our peripheral devices is always a trouble-free transition. You can start with our low-cost gHHj mm

8-bit H8 Computer and just 4K ddk^

of memory as an introduction to computing. Its easy to use octal data entry and 9-digit octal readout make learning a simple matter. As your abilities grow, so can im^,yp| WH27 your computer. Add more mem- ^^ Controller ory and one or more peripherals like the H9 Video Terminal with its ASCII keyboard for convenient entry and display of your programs. And you can store your programs in one of three ways too! Choose our new WH17 Floppy Disk System (single and dual drives available) for the ultimate storage mode. Its expanded 40-track hard sectored diskette has 102K Bytes of available storage so you can store hundreds of programs on one disk. If paper tape storage is your preference, choose our H10 Paper Tape Reader/Punch. For the most in economy, we offer a cassette player/recorder too. The H8 s indeed a complete system.

'end for your FREE copy today!

bring this coupon to your nearby Heathkit Electronic Center (Units of hlumberger Products Corporation) where Heathkit products are disyed, sold and serviced.

Heath Co., Dept. 334-460, Benton Harbor, Ml 49022

on inquiry card.

The ultimate personal computer is our 16-bit H11. Very few people will ever need more computing power than our H11 has to offer. Based on the world-famous DEC® PDP-11/03, it has enough capability for virtually any program-small business or hobby. The H11 offers unequalled software, too, so the number of useful applications is virtually unlimited. The H11 will soon have its own Floppy Disk System, the WH27. And what a floppy it is! Fully-compatible with the DEC RX01® floppy for the PDP-11/03, the WH27 lets you take advantage of ail existing PDP-11/03 software in addition to those you develop on your own. Dual drives give you 512K Bytes of program and data storage. The WH27's Z80 microprocessor-based controller permits a head motion of only 6 mS (versus DEC'S 10 mS) for data access times that are almost twice as fast. Other features include built-in self test on power-up; mechanical interlock to prevent disk damage; write protect function that precludes written-over disks; complete HT11 disk operating system software that includes extended BASIC with files and virtual arrays, utilities (with macroassembler), text editor and more. An extended FORTRAN which supports the ANSI standard (1966 FORTRAN IV) will be optionally available soon.

Read more about Heath system-designed computers and other outstanding kits (nearly 400 in all) in the latest Heathkit Catalog.

It S FREE. Specifications subject to change without notice.

Schlumberger

■

L

Heath Company, Dept. 334-460 Benton Harbor, Michigan 49022

Please send me my FREE Heathkit Catalog. I am not on your mailing list.

Name.

Address . City

CP-155

-State. Zip.

I I

BYTE October 1978

Considering a Microcomputer/

Be Sure to Check Out the Product Offerings of the World's Largest Full Line Microcomputer Company.

All Ohio Scientific machines come with microcomputing's fastest full feature BASIC-in-ROM or on-Disk for instant use.

Minimum

Configuration

Base

Price

4K RAM $ 279

4KRAM $ 349 16KRAM $1190

4K RAM 4KRAM

16KRAM

16KRAM

598 799

$1464 $1738

32K RAM $2597

Challenger I Series

Economical computer systems that talk in BASIC. Ideal for hobbyists, students, education and the home.

Superboard II — World's first complete system on a board including keyboard, video display, audio cassette, BASIC-in-ROM and up to 8K RAM Challenger IP — Fully packaged Superboard II with

power supply Challenger IP Disk — Complete mini-floppy system expandable to 32K RAM

Challenger IIP Series

Ultra high performance BUS oriented microcomputers for personal, educational, research and small business use. C2-4P — The professional portable C2-8P — The world's most expandable personal machine

for business or research applications C2-4P Disk — The ultimate portable C2-8P Single Disk — Ideal for education, advanced

personal users, etc. C2-8P Dual Disk — Most cost effective small business system

Challenger II Serial Interface Series

Same great features as Challenger IIP Series for those who have serial terminals: small business, education, industry, C2-0—Great starter for users with a terminal C2-1 — Great timeshare user accessory, cuts costs

by running simple BASIC programs locally C2-8S— Highly expandable serial machine, can add disks, etc

Challenger III The Ultimate in Small Computers

The unique three processor system for demanding business, education, research and industrial development applications.

C3-S1 — World's most popular 8" floppy based 32K RAM $3590

microcomputer dual floppys

C3-OEM — Single package high volume user version 32K RAM $3590

of C3-S1 dual floppys

C3-A — Rack mounted multi-user business system 48K RAM $5090

directly expandabe to C3-B dual floppys

C3-B — 74 million byte Winchester disk based system. 48K RAM $11,090

World's most powerful microcomputer dual floppys

OHIO SCIENTIFIC also offers you the broadest line of expansion accessories and the largest selection of affordable software!

Compare the closest Ohio Scientific Model to any other unit you are considering. Compare the performance, real expansion ability, software and price, and you will see why we have become the world's largest full line microcomputer company.

4KRAM 4KRAM

298 498

4KRAM $ 545

I'm interested in OSI Computers. Send me information on:

□ Personal Computers □ Small Business Computers

D Educational Systems □ Industrial Development Systems

□ I'm enclosing $1.00 for your 64-page small computer buyer's guide.

Ohio residents add 4% tax

Name

Address City _ State _

-Zip_

1333 S. Chillicothe Road

Aurora, Ohio 44202

(216) 562-3101

Phone

The Professional Portable by Ohio Scientific

18

BYTE October 1978

Circle 290 on inquiry card

The

C3-S1

by Ohio Scientific

Possibly the world's

most popular

floppy disk based

microcomputer.

Since its introduction in August, 1977, the Challenger III has gained tremendous acceptance in small business, educational and industrial development applications. Thousands of C3-S1 *s have been delivered and today hundreds of C3-S1 demonstrator units are set up at computer retailers around the country.

Why has the Challenger 111 become so successful in the fiercely competitive microcomputer industry? Here are just a few of the possible reasons.

':..: The Challenger III is the fastest microcomputer in BASIC (see "BASIC Timing Comparisons," Kilobaud, October, 1977, where Ohio Scientific out benchmarks all competitors).

The Challenger ill is the only computer system with a 6502A, 6800 and Z-80 offering the programmer all popular micros for maximum versatility.

The C3 is backed by the largest base of systems level software for any microcomputer system including:

For the 6502A:

Microsoft 6 and 9 Digit BASIC

Assembler Editor

Word Processor

OS-65D Development DOS

OS-65U End User DOS with Extended BASIC

For Floppys

Winchester Hard Disks

Multi-users (Level 2)

Distributed Processing (Level 3)

or the 6800: Floppy DOS Assembler Editor

For the Z-80: Floppy DOS

Microsoft Disk Extended BASIC Microsoft FORTRAN Microsoft COBOL Macro Assembler and Editor And Much More

L The C3 supports OS-65U, the ultra high performance virtual data memory" DOS for floppys and hard disks which \akes complex file structures like multi-key ISAM easy to use. The C3 is backed by a large library of applications programs

290 on inquiry card.

and can make use of the tremendous amount of BASIC programs offered by independent suppliers and publishers because it uses Microsoft BASIC, the standard of the industry. Complete turnkey and custom business packages are available for the C3 from most OHIO SCIENTIFIC DEALERS.

L The C3 electronics and software are available in alternate mechanical configurations for special applications including the C3-OEM for volume users and the C3 letter series (C3-A, C3-B) which are optimized for use with hard disks.

U C3 systems are always delivered ready to use with 32K static RAM, dual floppys for 500K bytes of on-line storage and an RS-232 port strappable from 75 to 19,200 baud alt standard in the minimum configuration.

E C3 systems offer the greatest expansion capability in the microcomputer industry. The C3 series supports OHIO SCIENTIFIC'S full line of over 40 expansion accessories. The maximum configuration is 768K bytes RAM, four 74 million byte Winchester hard disks (CD-74), 16 communications ports, real time clock, line printer, Word Processing printer and numerous control interfaces.

C3 systems have phenomenal performance-to-cost ratios. The C3-S1 base price with 32K RAM, dual floppys, RS-232 port complete with 8K BASIC and DOS is under $3600 and expansion accessories are comparably priced. For example, the CD-74,74 million byte Winchester disk complete with interface and OS-65U operating system at about $6000.

The C3 series is quite possibly so successful because it offers the highest hardware performance, best software support, most versatility and greatest expandability in the microcomputer systems market at nearly the lowest price in the industry.

For more information, contact your local OHIO SCIENTIFIC DEALER or the factory at (216) 562-3101

1333 S. Chiliicothe Road • Aurora, Ohio 44202

BYTE October 1978 1J

There's an Ohio Scientific dealer near you.

M.C.S. Corp.

Pelham Mali

Pelham, AL 35124

(205) 663-1287

ALASKA

Scientific Business Instr's

500 W. 27th

Anchorage, AK 99503

(907) 277-2650

Expansion Techniques

2534 Ganesha

Attadena, CA 91001

(213) 794-0476

Shuey Aircraft

1009 E. Vermont

Anaheim, CA 92805

{714)991-3940

Professional Services

139 S. Beverly, #308

Beverly Hills, CA 90212

(213) 550-1560

Olson Electronics

11332 East South

Cerritos, CA 90701

(213) 860-0060

Adventures in Computing

8756 Warner

Fountain Valley, CA 92706

(714)848-8388

Olson Electronics

4642 West Century

Ingle wood, CA 90304

(213)674-5740

Computers Are Fun-Westwood

2268 Westwood

Los AngeJes, CA 90064

(213) 475-0566

The Computer Center

3205 Ronson

San Diego, CA 92111

(714) 292-5302

Olson Electronics

Kearny Mesa, 4840 Convoy

San Diego, CA 92111

(714)292-1100

Systems Engineering

900 3rd Street

San Francisco, CA 94107

(415)777-3150

Otson Electronics

2125 El Camino Real

Santa Clara, CA 95051

(408) 248-4886

Byte Shop, Inc. 3464 South Acoma Englewood, CO 80110 (303) 761-6232 Total Data Systems 125 Fairway Lane Fort Collins, CO 80521 (303)491-5692 Tricomp/Computer Country 7115 N. Federal Westminster, CO 80030 (303) 426-7743

Delaware Microsystems 92 East Main #1 Newark, DE 19711 (302) 738-3700 (after 7 PM) DISTRICT OF COLUMBIA Newtronics 1647 Lamont NW Washington D.C. 20034 (202) 234-6646

Olson Electronics

5833 Ponce de Leon

Coral Gables, FL 33146

(305) 666-3327

Olson Electronics

1644 N. E. Second

Miami, FL 33132

(305)374-4121

Calculator Place

12 South Orange

Sarasota, FL 33577

(813) 366-7449

Olson Electronics

6901 22nd Avenue, N.

Tyrone Square Mall

St. Petersburg, FL 33710

(813)345-9119

Olson Electronics

1215 South DaleMabry

Tampa, FL 33609

(813)253-3129

GEORGIA

Electronic Information

120 Heatherwood

Athens, GA 30601

(404) 353-2858

Secom Systems

5241-F New Peach Tree

Chamblee, GA 30341

(404) 455-0672

Columbus Software Center 4723 Northgate, Box 8088 Columbus, GA 31908 (404) 563-7729 Olson Electronics 2571 N. Decatur Decatur, GA 30033 (404) 378-4201

Small Computer Systems 3149c Wailalae Honolulu, HI 96816 (808) 732-5246

American Microprocessors

1100 E. Broadway

Alton, IL 62002

(618)465-4489

Tech-Tronics

714 S. University

Carbondale, IL 62901

(618) 549-8495

Adonis Computing

2855 W. Nelson

Chicago, IL 60618

(312)463-0847

Electronic Systems

611 N.Wells

Chicago, IL 60610

(312)944-6565

Olson Electronics

4101 N. Milwaukee

Chicago, IL 60641

(312)545-7336

Olson Electronics

1734 Ogden

Downers Grove, IL 60515

(312)852-9650

A & H Associates, Ltd.

2530 Crawford

Evanston, IL 60602

(312)328-2800

No-Name

2701 Grand

Galesburg, IL 61401

(309) 343-6135

Processor Systems

228 School

Geneva, IL 60134

(312) 232-7195

CompuTerminal Systems, Inc.

1132 Waukegan

Glenview, IL 60025

(312)724-3690

Tek-Aids Industries

1711 Chestnut

Glenview, IL 60025

(312) 724-2620

American Microprocessors

6934 N. University

Peoria, IL 61614

(309) 692-5852

American Microprocessors

20 N. Milwaukee

Prairieview, IL 60069

(312)634-0076

Wysocki Electric

3080 South Blvd.

Rockford, IL 61109

(815)874-4846

Data Domain

1612 E. Algonquin

Schaumburg, IL 60195

(312)397-8700

Data Domain

406 S. College

Bloomington, IN 46401

(812) 334-3607

American Microprocessors

146 N. Broad

Griffith, IN 46319

(219)924-7901

American Microprocessors

3602 East Washington

Indianapolis, IN 46201

(317)359-7445

Data Domain

7027 N. Michigan

Indianapolis, IN 46268

(317)251-3139

Olson Electronics

5353 N. Keystone

Indianapolis, IN 46220

(317)253-1584

Data Domain

10 N. Third

LaFayette, IN 47902

(317)423-2548

Computer Management

610 Monroe

LaPorte, IN 46350

(219)362-5812

American Microprocessors

2655 Irving

Portage, IN 46368

(219) 760-2278

IOWA

Microbus

1910 ML Vernon, S. E.

Cedar Rapids, IA 52403

(319) 364-5075

American Microprocessors

102 E. 4th

Waterloo, IA 50703

(319) 296-2255

KANSAS

Barney & Associates

425 N. Broadway

Pittsburg, KS 66762

(316) 231-1970

Technigraphics

5911 Claredon

Wichita, KS 67220

(316) 744-2443

Olson Electronics 117 Southland Lexington, KY 40503 (606) 278-9413 Data Domain 3028 Hunsinger Louisville, KY 40220 (502) 456-5242 Olson Electronics 4137Shelbyville Louisville, KY 40207 (502) 893-2562

MARYLAND

The Mathbox 4431 Lehigh

College Park, MD 20740 (301) 277-6828 Systems Engineering 1749 Rockville Pike #307 Rockville, MD 20842 (301)468-1822

MASSACHUSETTS

Computer Shop-Aircom 288 Norfolk

Cambridge, MA 02139 (617)661-2670 Bradshaw Enterprises 18 Harborview Hingham, MA 02043 (617)749-6844

The Abacus

Route 1. Box 193

Niles Road

Berrien Springs, Ml 49103

(616) 429-3034

Kimble Terminals

451 S. Eton

Birmingham, Ml 48008

(313) 645-5553

Microcomputer World

313 Michigan N. E.

Grand Rapids, Ml 49503

(616)451-8972

Concept Engineering

3706 Malibu

Lansing, Ml 48910

(517)394-0585

Olson Electronics

29121 DeQuindre

Madison Heights, Ml 48071

(313)546-0190

Great Lakes Photo

5001 Eastman

Midland, Ml 48640

(517)631-5461

Custom Computer Systems

1823 Lowry

Minneapolis, MN 55411

(612)588-3944

Micro Business Sales

4345 Lyndale N.

Minneapolis, MN 55412

(612)871-9230

A B S

547-25th N.

St. Cloud, MN 56301

(612) 253-8722

Frisch Computer Systems

1415 Arcade

St. Paul, MN 55106

(612) 771-7569

Ronald D. Frisch

3034 Marine Circle

Stillwater, MN 55082

(612)439-8212

Westronics

716 NW 8th St.

Willmar, MN 56201

(612) 235-6096

MISSISSIPPI

Jack Fisher Sales

100 Main

Michigan City, MS 38647

(601) 224-6470

Four State Microcomputer

402 Wall

Joplin, MO 64801

(417)782-1285

Impact Systems

Decker Building

613 W. 3rd

P.O. Box 478

Lee's Summit, MO 66463

(816)524-5919

The Computer Bit

1320 S. Glenstone

Springfield, MO 65804

(417)883-2709

Futureworld

1909 Seven Pines

St. Louis, MO 63141

(314)434-1121

Sauer Computer Systems

1750 South Brentwood

Suite 601

St. Louis, MO 63144

(314) 962-0382

MONTANA

Linco

P.O. Box 2418

Cut Bank, MT 59427

(406)336-3117

NEBRASKA

Intelligent Sys. & Robotics

2335 S. 35th

Lincoln, NE 68506

(402) 483-1989

Omaha Computer Store

4540 South 84th

Omaha, NB 68127

(402) 592-3590

J.B.A. Associates

3316 N. Garehime

Las Vegas, NV 89108

(702) 648-2069

J.B.A. Associates 3316 N. Garehime Las Vegas, NV (702) 648-2069

Computer Power

235 Nutley

Nutley, NJ 07110

(201) 667-5502

Computer Corner

240 Wanaque

Pompton, NJ 07442

(201)835-7080

Garden State Computer

223 Park

Scotch Plains, NJ 07076

(201) 322-9195

Associated Consultants

33 Ogden

East Williston, NY 11596

(516) 746-1079

Computer Mart of N. Y.

118 Madison

New York, NY 10016

(212)686-7923

Yingco

Two World Trade Center

Penthouse 107th Floor

New York, NY 10048

(212) 775-9000

Brag Microcomputers

19 Cambridge

Rochester, NY 14607

(716) 442-5861

Universal Data Research

234 Tennyson Terrace

Williamsville, NY 14221

(716)632-8270

NORTH DAKOTA

General Sys. Programming

Box 8032, University Sta.

Grand Forks, ND 58202

(218)773-1239

OHIO

Olson Electronics

69 West State

Akron, OH 44308

(216)762-0301

Olson Electronics

1994 Brittain

Akron, OH 44310

(216)633-4338

Olson Electronics

3265 W. Market

Akron, OH 44313

(216)864-3407

Lucas Office Equipment

& Service 869 E. Franklin Centerville, OH 45459 (513) 433-8484 Econo Data 580 Walnut

Cincinnati, OH 45202 (513)421-7071 Olson Electronics 2020 Euclid Cleveland, OH 44115 (216)621-6387

Olson Electronics

6813 Pearl

Cleveland, OH 44130

(216) 845-2424

Olson Electronics

6153 Mayfield

Cleveland, OH 44124

(216) 449-2690

Olson Electronics

21850 Center Ridge

Cleveland, OH 44116

(216) 331-4600

Small Computer Co.

6685 Beta

Cleveland, OH 44143

(216)461-7650

Byte Shop

2432 Chester

Columbus, OH 43221

(614)486-7761

Olson Electronics

1975 Henderson

Columbus, OH 43220

(614)451-3245

Johnson Computer

123 W.Washington

Medina, OH 44256

(216) 725-4560

Micro Systems Sales

7841 Glenallen

Northfield, OH 44067

(216) 467-0003

Olson Electronics

7401 Market

Southern Park Mall

Youngstown, OH 44512

(216) 758-3828

OKLAHOMA

Gauger Engineering

910 Orient

Clinton, OK 73601

Accounting Systems

2709 Orlando

Oklahoma City, OK 73120

(405) 751-1537

Gauger Engineering

3824 S. 79th East

Tulsa, OK 74145

(918)627-1064

OREGON

Fial Computer

11013 S. E. 52nd

Milwaukie, OR 97222

(503) 654-9574

Broadt Enterprises

550 N. Derr/Rt. 15

Lewisberg, PA 17837

(717)523-9864

Olson Electronics

5918 Penn

Pittsburgh, PA 15206

(412) 362-1333

Olson Electronics

3405 Saw Mill Run

Pittsburgh, PA 15227

(412)881-0702

Olson Electronics

4778 McKnight

Pittsburgh, PA 15237

(412)366-7298

Abacus Data Systems

Route 8

Reno. PA 16343

(814)677-6502

SOUTH CAROLINA

Island Business Machines

21 Kingbtrd

Hilton Head Is., SC 29928

(803) 785-3631

SOUTH DAKOTA

Exe Engineering

804 E. Lewis

Vermillion, SD 57069

(605)624-6411

Computer Power of Memphis

3065 James

Memphis, TN 38128

(901) 386-9905

Smart Machine Mart

5151 Hillson

Nashville, TN 37211

(615)833-9773

Computer Powerof Oak Ridge

800 Oak Ridge Turnpike

Oak Ridge, TN 38730

(615)482-9031

TEXAS

Personnel Cost Control

1111 W. Mockingbird

Dallas, TX 75247

(214)634-1230

(214)247-5372

Mr. Computer

744 FM 1960 W., Suite E

Houston, TX 77090

(713)444-7419

Kay Computers

1230 Main

League City, TX 77573

(713) 332-5555

UTAH

Home Computer Store

2343 East 3300 South

Salt Lake City, UT 84109

(801)484-6502

VIRGINIA

Community General Store

2704 N. Pershing

Arlington, VA 22201

(703)527-4600

H/B Computers

217 E. Main

Charlottesville, VA 22101

(804) 295-1975

Microsystems, Inc.

5320 Williamson

Roanoke, VA 24012

(703) 563-0693

WASHINGTON

Ye Olde Computer Shoppe

1301 George Washington

Richland, WA 99352

(509) 946-3330

Ye Olde Computer Shoppe

546 North 6th

Walla Walla, WA 99362

(509) 529 9566

WEST VIRGINIA

Interactive Operations

Box 1322

Bluefield, WV 24701

(304) 327-6583

WISCONSIN

MicroComp

785 S. Main

Fond du Lac, Wl 54935

(414)922-2515

Specialty Office Machines

20 East Second

Fon du Lac, Wl 54935

(414)922-5440

Computer Consultants

206 Hood, Box 1027

La Crosse, Wl 54601

(608) 784-7979

Madison Computer Store

1863 Monroe

Madison, Wl 53711

(608) 255-5552

Milwaukee Magnetic Media

1750 West Silver Spring

Milwaukee, Wl 53209

(414)228-8930

Indianhead Computer

Box 178 Route 4

Rice Lake, Wl 54868

(715)234-4323

Farragher & Assoc.

1322 N. 71st.

Wauwatosa, Wl 53213

(414)778-2243

Olson Electronics

3125 South 108th

West Allis, Wl 53227

(414)541-1406

Control Technology 204 Crazy Horse Lane Gillette, WY 82716 (307) 682-0300

Omega Computing Ltd.

Box 220

Station P

Toronto, Ontario

Canada M5S 2F7

(416) 425-9200

Robo-Tronics

509 16th N. W.

Calgary, Alberta

Canada T2M 0J6

(403) 282-9468

AUSTRALIA

Sys. Automation Propr. Ltd.

26 Clark St., Crows Nest,

N.S.W.

Australia 2065

(02) 439-6477

PUERTO RICO

Puerto Rico Key Punch

P.O. Box 2036

HatoRey, Puerto Pico 00919

(809)751-4042

SOUTH AMERICA

SAVE

P.O. Box 701

Cuenca, Ecuador

830-770

S.I.C.

Venezuela 3392

Buenos Aires

Argentina 1211

88-2547

20

BYTE October 1978

Circle 290 on inquiry card.

I

The C3-B

by Ohio Scientific

The world's most powerful

microcomputer system

is far more affordable

than you may think:

STANDARD FEATURES:

■ 74 million byte Winchester technology disk drive yields mainframe class file access speeds and capacity.

High level data file software makes high performance file structures like multikey ISAM easy to use.

I Triple processor CPU with 6502A, 6800 and Z-80 gives the programmer the best of all worlds in performance and versatility.

The included 6502A based extended disk BASIC by Microsoft out-benchmarks every micro available, including 4 MHz Z-80 and LSI-11 with extended arithmetic.

H 48K of high reliability static RAM is standard.

H High density 8" floppys provide program and data mobility from machine to machine.

H Completely integrated mechanical system with UL-recognized power supplies; continuous duty cycle cooling; modular construction and rack slide mounted subassemblies.

Based on a 16 slot Bus-oriented architecture with only 7 slots used in the base machine.

\ ■ Directly expandable to 300 megabytes of disk, 768K of RAM in 16 partitions, 16 communication ports, plus console and three printers.

~ C3-B's have been in production

since February, 1978, and are

available now on very reasonable

jelivery schedules.

The C3-B was designed by Ohio

Scientific as the state of art in

Circle 290 on inquiry card.

small business computing. The system places its power where it's needed in the small business environment; in the data files. The C3-B's advanced Winchester technology disk, coupled with its smart controller and dedicated high speed memory channel, gives the C3-B data file performance comparable with today's most powerful maxi-computers.

Yet, the C3-B costs only slightly more than many floppy only computers but offers at least a thousand times performance improvement over such machines (50 times storage capacity multiplied by 20 times access speed improvement).

But what if your business client cannot justify starting with a C3-B?

Then start with Ohio Scientific's inexpensive C3-S1 floppy disk based system running OS-65U. When he is ready, add the CD-74 big disk and directly transfer programs and files from floppy to big disk with NO modifications.

That's upward expandability!

*Rack as shown above complete with 74 megabyte disk, dual floppys, 48K of static RAM, OS-65U operating system and one CRT terminal under $13,000.

Multiple terminal systems with printers and applications software are priced in the mid-20's.

1333 S. ChiJIicothe Road • Aurora, Ohio 44202 (216) 562-3101

BYTE October 1978 21

No Power

for Your Interfaces?

Photo 1: 5 W DC to DC converter, which produces 0.2 A at +12 and -12 VDC from a 5 VDC source. The circuit uses a special custom wound toroidal transformer (see figures 5a and 5b). Note: the prototype shown uses 1000 IxF 25 V capacitors, which were later replaced with 100ixF25 V versions.

Build a 5 W DC to DC Converter

Steve Ciarcia

POB 582

Glastonbury CT 06033

Recently I attended a local computer club meeting where we discussed the question of power supplies. Many people were remarking that, while they enjoyed building the projects in my articles, often their power supplies were not compatible with the multiple voltages I required. Many of the newer single board computers that some members owned contained only a hefty +5 V supply and a note that the user should add additional supplies if the basic board is expanded.

This is not an industry copout by any means. The newest digital designs from companies like Intel are made to run on +5 V and this is considered an advance in technology. The 8080A processor requires

Qispcis's

Gipcuit

Gellsp

+12, +5 and -5 V for operation, while the new 8085 uses only a single +5 V supply. As long as all other components such as universal asynchronous receiver-transmitters (UARTs), programmable memories, erasable read only memories (EROMs) and read only memories (ROMs) in the computer are all +5 V, we can eliminate additional power supplies and save money. Computer manufacturers have done just that.

This situation does not cause any problems as long as the user stays with the basic unit, or expands it using single +5 V supply devices. Erasable read only memories such as the Intel 2716 and programmable peripheral interfaces such as the 8255 are designed specifically for this application.

The problem arises when the single supply computer tries to be communications compatible with the rest of the world, or when a bipolar analog interface is added. The RS-232C interface generally requires + and -12 V potentials, and digital to analog converters such as the Motorola 1408L8, which run on +5 and-12 to-1 5 V.

The Whole World Isn't TTL Compatible

What is the experimenter to do when a -15 V supply is needed and the computer has only +5 V, or when one wishes to tie an RS-232 terminal into a system? Obviously the answer is to add an additional power supply or two—but, what kind?

Power supply requirements should be based on load requirements. If 0.5 A at +15 V is needed to power a particular interface, then perhaps a 1 A traditional transformer-rectifier-filter-regulator design is in order. More often than not, though, the interface might use one or two dual supply

22

October 1978 ©BYTE Publications Inc

LL SIZE FLOPPY DISK $995 COMPLETE

I ™ full-size floppy disk sys i overnight success...because livered so complete you can ; running in a single evening.

r:"**^F

;;«3»

: $995, it's a complete memtem. Complete with all and software. Comibled. Completely I tested as a com- ;

nd you can not only solve our memory shortage faster, ou can solve it longer...be

:ause DISCUS I™ is a fullize floppy system with 3

:imes the storage and 5

:imes the speed of mini

loppies.

our $995 DISCUS I ' ystem includes a Shugart I00R full-size drive with >ower supply in a hand

let, our 8-drive capaciy S-100 controller vith on-board buffer ind serial interface, ill cables and conlectors, and all the software you need.

illlllllltlll!

/

Your software library includes DOS, I text editor, 8080 assembler (all inI tegrated in DISK/ATE™); our \ BASIC-V™ advanced virtual disk BASIC able to handle a wide variety of data formats and address uf to 2 megabytes; and patches fc CP/MV And it*s all interfaced t your controller's serial I/O par to avoid I/O guesswork.

And it's all yours for $995. We even offer CP/M for just $70, Micro-Soft Extended Disk Basicfor just $199 and MicroSoft Fortran for just $349 as nice options to add to your library. No wonder it's an overnight success! See DISCUS I™ today at your local computer shop. Or if unavailable locally, send yourcheck or money order direct to Thinker Toys™ (add $7 for handling; California residents add tax.) Or call (415)524-5317, 10-5 Pacific Time.

Copynght 1977

PMi.No. 23b \\i

wrm

~ 'lEEEfeT 4 5 6 7 8 5 ..•_ p^ J. Xj l J?_ 12

3>?.%T^Bflcer Toys <=,:D,sc bypass caps 9 j 10 ^31^

%*-':~'J~9fThe Disk Jockey"" I \ 0 5

iiiiimiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiimiiinii

*CP M is a trademark of Digital Resea

net of Morrow's Stuff for

clt? 2bb on iiujuu v « anl

h 1 n kei^l jo y si

1201 I0th Stree Berkeley, CA 9471

OSCILLATOR

-BUFFER DRIVER

DIODE /CAPACITOR "MULTIPLIER

IK IK

■^WV • wv

.033

220ft

ImF

15V IN9I4

7404 TEXT ^tn I0MF

V< \r IN914

CI

; io/if

15V

C2

I 10/iF

15V

APPROX 8V AT 3mA

o->

Figure I: Typical DC to DC converter, a device used to convert one DC voltage into another. The oscillator section supplies a train of square waves to the buffer drivers. On the first half cycle, capacitor CI Is charged to approximately 4 V, and on the second half cycle, C2 Is charged to -4 V. The voltage across the two capacitors is twice the input voltage, or approximately 8 V (open circuit). The I mF capacitor between ICld and the two diodes isolates the circuit so that the 8 V can be referenced to ground.

integrated circuits and require only 50 mA, or if the interface is designed with CMOS circuitry, the current requirement could be 5 mA or less. While the 60 Hz transformer design may be more than adequate, the volume and weight of the low frequency magnetics is bulky and may not fit easily within the present enclosure.

The DC to DC Converter

In an application that requires higher voltage at low current, the DC to DC converter is the natural choice for the designer. As its name implies, it converts one DC voltage to another, usually a higher one. All DC to DC converters incorporate oscillator sections to provide AC either to drive transformers or to drive diode-capacitor

voltage multipliers. The converters operate at high frequencies to reduce transformer weight. We'll explore the particulars later.

A DC to DC converter need not be low power, but the designs and applications presented here are specifically for low current and limited space applications. The majority of the circuits occupy less than 2 square inches (12.9 square cm).

A DC to DC converter draws its power from some major power bus, such as a +5 V or +12 V computer supply, and converts this source voltage to a higher level of either the same or reversed polarity. The simplest configuration is shown in figure 1. ICIa and IC1b form the oscillator which is common to all DC to DC converters. IC1c, ICld and IC1e are buffers with the outputs of IC1d and ICle 180 degrees out of phase,

ALL CAPACITORS- 50V DISC CERAMIC ALL RESISTORS- 1/4 W 5%

Figure 2: A CMOS DC to DC converter used for low current applications. This circuit produces -15 V from a -hl5 V source and provides a relatively constant output voltage because of the shunt regulator formed by diodes Dl andQh

O,

24 October 1978 © BYTE Publications Inc

Micromotion hos done for the S-100 bus whot IBM did for the floppy disk.

lUW.i i m u n n iu.i.uxu

iiti-i

"liiiiiiiiiiiiiiiiiiimiiiiiiiiiiiiiiiiiiiiiiiiiii

Reliably doubled capacity.

Double Copocity

The DOUBLED — Micromotion's latest advance in floppy disk technology — doubles the capacity of floppy disk systems. Over 500 KBytes are recorded on each side of an 6" disk. This means bigger files for more powerful systems.

Double Speed

Data transfer with the DOUBLED is twice as fast — 500 Kbits per second. And since there is twice as much data on each track, your drive steps only half as much — so your system runs faster than it ever hos before!

Increased Reliability

That's right — even better reliability. Why? Because we did it the IBM way. IBM designed 2D formatting — so it has to be reliable. Micromotion's innovative, state-of-the-art design incorporates write precompensation electronics and a phase lock oscillator on a single, all digital, 5-100 circuit board. So we guarantee the DOUBLED will be more dependable than your present single density controller — ond we warontee the DOUBLED for a full year.

Unbeatable Convenience

It couldn't be easier to step up to double density. The DOUBLED operates automatically in either single or double density. Just insert a diskette and you're running properly. You can transfer files between single or double density diskettes without any software or hardware changes — or even operate with one single and one double density diskette. Installation is a snap. There's a hardware UART on board

and the software is all ready to go. An onboard 2708 EPROM contains the bootstrap. There's even jump-on-reset circuitry so you can operate without a front panel. And, of course, we include utilities to format diskettes.

Universally Versatile

The DOUBLER will operate with all industry-standard mini and full-sized drives. And it will work in any 8080 or Z-80 S-100 computer operating at 2 to 4 MHz. The DOUBLER will support up to four double or single headed drives.

Fully Compatible

The DOUBLER is compatible with CP/M* version 1.4. If you have a CP/M* 1.4 system, just add our CBIOS — or you con buy our ready-to-boot version. Install the new controller, connect any terminal to the RS-232 interface, and boot off your new double-sized, double-speed system. You still can use all your old software without any changes.

Completely Affordable

All Micromotion products are fully assembled, thoroughly

tested, include complete documentation, and are priced for value:

DOUBLER double density controller $ 495.

MEGABOX dual drive double density system 2,295.

ZEPHER — Per Sci double density system 2,595.

Z-PLUS — MEGABOX 32 KZ-60 computer 4,295.

Available

The DOUBLER is available NOW at your local computer store.

Micromotion Inc. 524 Union Street Son Francisco Colifornio 94130/ 415 396-0259

Where there's always more in store.

9 223 on inquiry card.

•CP/M is o trademark of Digital Research.

BYTE October 1978 25

1 ^ AT 10

0 TO -IOV mA

Figure 3: A variable output DC to DC converter capable of producing Oto~10 V.

simulating a pseudo AC signal to the voltage multiplier. During the first half cycle, the capacitor, C1, is charged to approximately 4 V, and during the second half cycle, C2 is oppositely charged. The voltage across the two capacitors is twice the input voltage, or approximately 8 V (open circuit). If this circuit were not isolated from the drivers (IC1d and IC1e), neither +V nor -V line can be grounded or the multiplier section will be shorted out. The 1 mF 15 V capacitor between pin 8 and the junction of the two IN914 diodes provides isolation and allows the -V lead to be grounded. The output is then approximately 8 V, referenced to ground.

Type

Function

+5V

-5V

-12 V

+12 V

Ay-5-1013A

UART

20 mA

18 mA

2708

1 Kx8 EROM

10 mA

45 mA

65 mA

2716 (Intel)

2 Kx8 EROM

100mA

2716 (Tl)

2 Kx8EROM

22 mA

12 mA

45 mA

MC1408L8

8 bit digital to

analog converter

8 mA

20 mA

LM301

op amp

3 mA

3 mA

LM741

op amp

2.8 mA

2.8 mA

Table 1: Worst case current requirements for a variety of integrated circuits.

Inverting Supplies

Most often DC to DC supplies are used where a negative voltage is required to power a bipolar linear interface or a dual supply large scale integrated circuit such as a keyboard encoder.

Figures 2 and 3 are examples of converters which would be suitable for these low current applications. Figure 2 produces -15 V from a +15 V source and provides a relatively constant output voltage because of the shunt regulator formed by the diode, D1, and the transistor, Q1. Changing the zener diode, D1, to 13 V makes the output -12 V instead of-15 V. The circuit outlined in figure 3 uses the voltage control input of an NE555 timer circuit to produce a variable output of 0 to-10 V.

Dual Voltage Converters

In most cases single voltage converters use diode steering and charged capacitor voltage multiplication. Transformers or other inductive devices must be incorporated if dual outputs are a requirement. Figure 4 is a very simple ±15 V converter which is powered from a +5 V supply.

Figure 4: Low current dual voltage output DC to DC converter which supplies -15 and -15 V from a +5 V input.

8IO£2 I/2W

m t—■**—f f—L

J^ 100/iF X J> lMF

+J50V JN524S »-|~2SV

m

J "N>, -I5V AT

10mA

o

•H5V AT IOmA

ALL RESISTORS - 1/4 W , 5% EXCEPT WHERE NOTED.

T. IS A PULSE ENGINEERING TRANSFORMER PE-3843

26 October T978 O BYTE Publications Inc

NORTH STAR 16K RAM A star from our Horizon

•i *$m s:

--v'- »

—1

*i :

\ \ iU

1 h : <:.'■ : I :

"' •* . -'"''-* :- — C

liiiiiiiiiiiiiiiiiiiiiiiniiiiiii iiiiiiiinir

H''"r»tf«»mMMHftfffMHHIMHHIHIHIHI*

The North Star 16K RAM board is a star performer in our HORIZON computer. Just as important, it is the ideal memory for most other S-100 bus systems. No other RAM board can surpass the speed, reliability, and quality features of the North Star 16K RAM at any price.

SPEED —The North Star 16K RAM is the fastest S-100 bus memory board available. No wait states are required, even with a Z80 at 4MHz. And, of course, this outstanding 16K RAM will operate with both 8080 and Z80 processors at 2MHz. Industry standard 200ns dynamic RAM chips are used. Invisible on-board refresh circuitry allows the processor to run at full speed.

RELIABILITY — The North Star 16K RAM is designed to match the same high standards as our MICRO DISK SYSTEM and HORIZON computer. For example, all address and data signals are fully buffered. A parity check option is available with the 16K RAM for applications requiring immediate hardware error detection. If a memory

error occurs, a status flip/flop is set and an interrupt can inform the processor. Or, if preferred, an error status light will go on.

FEATURES — The North Star 16K RAM offers many desirable features. Addressability is switch-selectable to start at any 8K boundary. The board can perform bank switching for special software applications, such as timesharing. Also, bank switching can be used to expand the amount of RAM beyond 64K bytes. Power consumption is minimal — the maximum power requirements are: .6A @ 8V; .4A @ +16V, and .1A @ -16V.

PRICES — $399 kit. $459 assembled, tested and burnedin. Parity option: $39 Kit. $59 assembled, tested and burned-in.

Write for free color catalog or visit your local computer store.

North Star * Computers

2547 Ninth Street • Berkeley, California 94710 « (415) 549-0858

Circle 285 on inquiry card.

BYTE October T978 27

3.9K

.01

+ 5V

IC5 NE555

m

-€0

to^o^

LM340T12

01

»20KHz

1. Q1 and Q2 are General Electric type D44H4 transistors (or equivalent).

2. Tl 88 millihenry toroid (see text).

3. All resistors % W 5%.

4. All capacitors are 100 V ceramic unless otherwise marked.

Figure 5a: 5 W DC to DC converter pictured in photo 1, which produces 0.2 A at+12 and-12 V from a 5 Vsource. See figure 5b for details of winding a toroidal transformer for this circuit.

Number

Type

+5 V

Gnd

#26

#20

40 TURNS

2

CTo

40 TURNS

3o

175 TURNS

0

5 AND 6 ARE CONNECTED TO FORM A CENTER TAP SECONDARY

175 TURNS

#26

1. Use enamel or Fomvar coated wire for each winding.

2. Be careful when winding not to scratch protective insulation.

3. Primary consists of 80 turns of #20 wire with center tap.

4. Secondaries can be wound as two #26 wire, 175 turn windings or as a single 350 turn winding with center tap.

5. For toroid source see text.

6. Use sandpaper or similar material to remove insulation from terminal wires before soldering.

Figure 5b: Toroid winding details for the custom transformer used in the circuit of figure 5a (see photos 2 thru 5).

Photo 2: Surplus 88 millihenry toroidal transformer rewound with two secondaries of 175 turns of #26 wire each (after first unwinding the existing two windings of approximately 350 turns each). The unit is used in the circuit of figure 5a.

IC1

7404

14

7

IC2

74C04

14

7

IC3

555

8

1

IC4

555

8

1

IC5

555

8

1

IC6

7437

14

7

Table 2: Power wiring table for figures 1 thru 5.

A 100 kHz oscillator switches a transistor on and off, inducing a current into the primary of transformer, Tl. The voltage produced at the secondary is rectified and regulated to-15 V.

As with all inductive devices which are pulsed, a high voltage spike is reflected back to the collector of the transistor. Rather than shunting this voltage, as would be the case when we put a diode across a coil, D1 routes this spike to a filter and regulator combination to provide a +15 V output.

Building a DC to DC Converter

One of the first things to determine after deciding to use a DC to DC converter in your system is just how much current it must provide. Table 1 lists the typical voltages and operating current requirements (worst case) of a sampling of devices.

It should be apparent from this listing that EROMs are power-hungry devices and will use more than the 10 mA that the converters discussed thus far can supply. For this reason the unit described in figure 5 is designed to produce a full 200 m A at ±12 V.

This design uses a push/pull inverter technique to create AC which drives transformer, T1. T1 is a toroid transformer and

28 October 1978 © BYTE Publications Inc

im Qfquedujoo qjb suumsAs //y

Pipo Ajinhui uo i qi

L9S\-L\A($IP) 819t* VO'CIIMVIMVO 9H JdlCl JAV S31VMSI9S

clnoij /uiO)/fif pojnpmif

■ucui||3 pisipiy 'jaBeueiu saps jno ppjuoo

'sjjejap ioj (aiseg ssauisnq |njjamod t?) 3ISV93

Pub ' (aBaauj/jjos >jsip ||nj) ihqSD * (uiajs/fe

aiy ssaippy pw aiueN) avNI *3iaVAR33H

SlNinODDV M39Q3nVH3N39 :$apnpui

ripuaxino sauas suiajsAg ssauisng BuimoiB mo

k;3\qm\m sjdiji mojs] aouBjstsse (eoiuipaj

apmoid O) o|qt?|ii>AL> aue pue suoijsanb jnoA jamsue

'sajepdn Dipouad aseajaj a/y\ auou oj puosas

ai dM poddns oj saujoa ji uaqm puy XHOddflS

ajajduuoa pup aspuoD '.map aac

s|i?nuiHu ino Aijaa sjeq [ saA|asuiaqj suhuBokI

am sb luejjoduij si> aq oj uoijejuaiuruop aqj

jo A,i|v>nh aqj japisuoD aM NOllVlNHWnDOCI

uaAoid

pjaij pup pajsaj A|qBiuuoL]j uaaq aAf?q pup asn oj

Ast>aa.u> 'dnvpvq jua!uaAtioaMo||i> Aaq j Aj!|iqixa|j

ijaqj uipjaj jaA aAisuaqaiduupD aj£ smejtBojd jhq

luaptsduj 'suosmj i/;/a>/

**l2*«

l>V

IIP!

T)inuuupj6(udaj jnoqji/w spaau laiuojsnjjo AjaupA apiM b sjaam uBtsap uiPiBoad poor) (sjoiSHCI

jioddns ||ii)

pup 'uoi|i>]uaiunaop HiBtsap tueiBoid pooB :sfiuii||

aajMJL jfSuiBiSojd ajqeijaj Aq ueatu am op jpi|/y\„

p3*

SS

nvrvNVw lONiMiaiiu

",vnN^30Nawg

^3fc*

,/siudj6ojcI ssauisnq onhmioj %00I e3npoJd o# sdm po6 W

Photo 3: Adding the primary winding, step 1: wind 40 turns of # 20 wire eveniy around the toroid.

Photo 5: The completed transformer. The ends of aii enameied wires should be cleaned of insulation before soldering.

its doughnut shape is quite unlike the more common rectangular filament transformers. The shape and style of the toroid are specifically designed for high frequency operation, which is the main attribute of this inverter design. Heavy magnetic cores are necessary only for low frequencies such as 60 Hz. Since this converter's switching speed is 20 kHz, relatively little magnetic material is necessary, and high power output can be obtained.

The toroid in this design is a surplus 88 millihenry toroid, frequently advertised in the amateur radio magazines. A source I

Photo 4: A dding the primary winding, step 2: make a loop for the center tap and continue with 40 additional turns.

have found is: M Weinschenker, POB 353, Irwin PA 15642. Order 88 millihenry unpotted toroids. The price is five for $2.95 plus $1 postage.

There are two ways to wind this toroid. Since it presently contains two windings of approximately 350 turns each, adding a primary sounds most logical. In reality though, 180 turns of #20 wire couldn't possibly fit in the remaining space, and the number of windings seems to vary from source to source. To obtain a properly wound toroid, it is best to first completely unwind the toroid and then rewind two 175 turn secondaries. The rewound toroid looks like photo 2. Since inductors exhibit an output polarity that is important when tying two secondaries in series, it is advisable to

mark the starting lead on each coil and wind each in the same direction. It is not catastrophic if you don't. Polarity can be determined empirically later.

The primary is wound with #20 wire over the two secondaries as in photo 3, and should be distributed evenly around the toroid. When 40 turns have been wound, make a loop in the wire so that it will stick out (as shown in photo 4) and then continue winding the next 40 turns in the same direction. The complete toroid should look like photo 5.

The design outlined in figure 5a is a DC inverter. The NE555 20 kHz oscillator sources the high current 7437 buffers which are necessary to drive the push/pull transistor combination of Q1 and Q2. The continuous on/off action of the transistors produces an alternating current of 20 kHz in the primary winding of the toroid. This in turn induces a voltage proportional to the ratio of the primary to secondary turns, times the primary input voltage into the secondary winding. With approximately 4 V into the primary (taking into account the collector to emitter voltage drop, VCE, transistors Q1 and Q2), 18 to 20 V should be present on each secondary.

The output of the toroid is treated as it would be in a traditional DC regulator design. The two secondaries are connected in series (terminals 5 and 6 connected) to produce 45 V between terminals 4 and 7. If a low voltage is obtained instead of 45 V, then the secondaries are out of phase and the terminals of one of the coils should be reversed. The two terminals which are connected at this point are the center tap and should be grounded.

Four diodes and two capacitors function as the full wave rectifier and filter input to a pair of 3 terminal voltage regulators. The result is a well-regulated + and -12 V supply with output current in excess of 200 mA on each. Overall conversion efficiency is better than 50%.

One note to keep in mind when testing this device: since the output is 5 W with 50% efficiency, the continuous input current to the converter will be approximately 2 A (at 5 V). Peak current will be higher at each clock transition. Use a supply with sufficient current capabilities or it will degrade the performance of the converter and possibly not even work.

In next month's BYTE: build an inexpensive infrared detection system."

Circle 291 on inquiry card.

October 1978 © BYTE Publications Inc 31

DYNABYTE COMPUTERS

ARE ALL BUSINESS

INSIDE AND OUT.

When we designed our new small business computers, we meant business.

As basic as that seems, it is unique. Just about every other microcomputer being sold as a small business system today was originally designed as a kit for hobbyists.

Every design decision was made with quality and reliability in mind. The result is dependable performance and a solid appearance for business, professional and scientific applications.

FIRST SMALL SYSTEM WITH BIG SYSTEM STORAGE

Many applications handle large quantities of information, so the DB8/2 uses two quad density 5-inch disk drives with our exclusive Dual Density Disk Controller for up to 1.2 megabytes of formatted storage. That's more capacity than two single density 8-inch drives.

If you need more storage, our DB8/4 has two 8-inch drives with up to 2 megabytes capacity, more than any other dual floppy disk system on the market.

OUR SOFTWARE IS BIG ON BUSINESS

Dynabyte helps you get down to business immediately. The DB8/2 is the first microcomputer to offer enough storage capacity on 5-inch drives to fully utilize CP/M,* the most widely accepted disk operating system. We also supply and support BASIC, FOR

* CP/M is a trademark of Digital Research.

TRAN and COBOL programming languages. Our applications packages include general ledger, accounts receivable, word processing and many other CP/M compatible programs.

Reliability is a big consideration in buying a business computer, so we built it in. Our edge connectors meet military specifications, the toughest electronics manufacturing standard. Our regulated power supply is designed to meet ILL. standards, which means the entire system runs cool and dependable. And our cast aluminum enclosures are rugged as well as attractive.

AND THE BIGGEST THING OF ALL

Customer support. Our support starts at the factory with testing and burn-in programs that assure the entire integrated system is reliable prior to shipment. Our completely modular design allows continuing support in the field. We maintain a bonded inventory of all sub-system modules which means we can deliver replacement subassemblies overnight nearly anywhere in the continental U.S.

Dynabyte built in little things, too. Like a fully-populated 12-slot backplane, switched AC outlets for accessories, an option for European power, quiet whisper fans with long-life metal construction, lighted indicator switches for Power On and Halt, a shielded enclosure to protect disk drives from electro-mechanical interference, and a fully enclosed power supply for

operator safety.

Since we didn't cut corners in design, the price/performance ratios of our systems make good business sense.

THE INSIDE BIOS

The DB8/2 Computer System includes two 5-inch disk drives either single or double sided for up to 1.2 megabytes of mass storage; a 4MHz Z-80 processing module with one parallel and two serial ports, an EPROM programmer and up to 4k ROM; 32k of RAM, a 12-slot fullypopulated backplane; our exclusive Dual Density Disk Controller, and CP/M.

The DB8/1 Computer includes a 4MHz Z-80 processor with one parallel and two serial I/O ports, an EPROM programmer and up to 4k of ROM; 32k RAM, and a 12-slot fully-populated backplane.

The DB8/4 Disk System, designed to be the mass storage companion to the DB8/1, includes two 8-inch floppy disk drives in either single or double sided configuration for up to 2 megabytes of mass storage, our Dual Density Disk Controller, and CP/M.

All three units will be available in rack mount models.

For a descriptive brochure and price list, call or write Dynabyte, 1005 Elwell Court, Palo Alto, CA 94303. Phone (415) 965-1010.

Or better yet, see your local dealer.

YOU CAN DEPEND ON IT.

Circle 110 on inquiry card.

BYTE October 1978

33

A "Tiny" Pascal Compiler

Part 2: The P-Compiler

Kin-Man Chung 124 Scottswood Dr Urbana IL 61801

Herbert Yuen

POB 2591 Station A

Champaign IL 61820

SOURCE

PROGRAM

ERROR ROUTINE

STORAGE ALLOCATOR

+- DATA FLOW

»• LOGICAL FLOW

When Niklaus Wirth introduced Pascal in 1971, one of the design objectives was to allow efficient program compilation. As far as we know, all existing Pascal compilers use the one pass compilation technique.

Newcomers to Pascal sometimes criticize features of the language such as declaring variables before use, and having constant and type declarations precede variable declarations. But such features are necessary

SCANNER

PARSER

SEMANTIC ANALYZER

CODE GENERATOR

PROGRAM FIX UP

Figure J: Logical arrangement and interconnections of the p-compiier modules.

to make a one pass compiler work (aside from the fact that it is also good programming practice to declare identifiers before use). Compared with multipass compilers, the job of writing a one pass compiler is relatively simple, since there is no need to store the program in its intermediate form.

Figure 1 shows the structure of our one pass Pascal compiler. The main portion is made up of the scanner, syntax analyzer, semantic analyzer and code generator. A brief overview of these functional portions of the compiler follows. Detailed descriptions will be given later.

The syntax analyzer is commonly called the parser. Its main function is to detect syntactical errors in the source program. The smallest unit of the source program that the parser looks at is called a token. For instance, the reserved word while, the symbol :=, or the identifier id name would be tokens. The main job of the scanner is to read the source program and output a token when needed by the parser. Irrelevant information such as blanks, comments and line boundaries are ignored.

To further simplify the work of the parser, the values of numeric constants are also evaluated by the scanner. The parser then parses the program according to the rules laid down by the syntax diagrams which were described in part 1 ("A Tiny Pascal Compiler," September 1978 BYTE, page 58) and generates error messages if illegal constructs are found. Identifier names are entered into a symbol table as they are declared. The symbol table is consulted by the parser as well as the semantic analyzer. After a Pascal construct is recognized, its meaning is analyzed by the semantic analyzer and appropriate p-codes are generated. Occasionally, there are forward references whose addresses cannot be determined at the time the codes are generated, but have to be resolved at a later time. Thus updates to the object program have to be done at the appropriate time.

This may sound complicated, but in fact a one pass compiler is actually the simplest compiler imaginable. The technique used by our parser is usually referred to as top-down parsing or goal oriented parsing. The topdown parsing algorithm assumes a general goal at the beginning. This goal is then broken down into one or more subgoals, depending on input strings and the rules in the syntax diagrams. The subgoals are realized by breaking them down into finer subgoals.

This is usually not a very efficient algorithm if backups are needed. The need for backups occurs if at some point we choose one subgoal from several others and find

34 October 1978 © BYTE Publications Inc

tinn Terminals corF. — information .- ...

. jc At lntormation «" 0ur » Postale ZW

computer keyboard and Pverbatim. make. ln the Far East:

SSStfSt^^1- raHty^Se^sfreWpaata ^^arj.ast .oecifies Verbat.m. When you ^ant Verbatim. W ^ Roppong,. Mina

^

.ion Terminal "x lnionuo*—:- ,«ft

M Information w Qur ?oslak 2%

t'"„dd SySaSSK bu. by- * Tgh^'&i CH

hvte, verbatim- ake. in the Far East.

When you wan Verbatim. w Roppongi. M»na

will Play'.spe^;minals Corp.. n-- Tokyo Japan 8,

Sr^r^ Sunnyvale, Iff ****■${?>

Verbatim diBtrAu».(ln

O)^-82;i.Tu0892-7655.Ext.5l5) Missouri can .ou

130 DIM 148 DIM 156 DIM 160 DIM

IN SYM THB\C,U,P

Yrl TBL

R hOR<FOR INT>OF ID IN ST

PROC PARAMETERS CASE" CONSTDIU DO

FUNC IF INTEGMEM " PROC: READ REPEASHL " PE UNULUAR WHILE WRITE"

"vkEM P-CuOE MNEMONICS

Listing 1: BASiC version of the p-compiier. This program takes the Pascai program and compiies it into p-code. The term p-code stands for pseudocode^ an assembier language code for a hypotheticai computer which can be converted into an existing assembier language. Listing continues thru page 48.

10REM PASCAL SUBSET COMPILER FOR P-MACHINE

20REM BY KIN-MAN CHUNG

30REM 1/78. LAST UERSION 4/73.

46 N0=3£\REM I OF RtSEROED WORDS

50 TCi = 50\REM SYM TABLE SIZE

60 N1=32?€?\REM LARGEST IN!

70 N2=8\REM I DENT LEN

80 DIM H8$i5*N0>\REM RE SERUE 0 W0RDS

90 DIM T*<T0*N2>\REM SYMBOL I ABLE

100 DIM T0*-;T0>vREM KINO OF IUE.NT

110 DIM L*<64>\R£M LINE BUFFER

120 DIM A*<N£),B$<b>

S< 10O >, Sf< 106 >\REM STACKS

TKT0)\REM LEUEL uF 10 IN

T2(T0 >\REM UAL <F OR CONST> 0

T3CT8»REH ARRAY DIM OR* Of1?0 W0$«: 1,40)="AND ARRAYBEGINCALL 180 I40$<41,88>="OOWNTELSE END FOR 196 W0$<81,120)="MOD NOT OF OR 280 W0*C121,160)="SHR THEN TO TV 210 DIM »f<2?>>CfC88) 220 Mf="LITOPRLODSTDCALINTJMPJPCCSP 230 P8=l

P?=0\P9=P7\REM START CODE=0000

"P-CODES STARTS AT 0600" Q9=4096*2\REM LAST USABLE MEM 270 F5=~l 280 INPUT "WANT CODE PRINTED?",Y*

IF Y*="Y" THEN Y3=0 ELSE *9*t

X$=" "\GOSUB 1240\REM GET A TDK

GOSUB 5340\REM BLOCK

Z=FNEH " , " ,3) 330 FILL P9,255\FILL P9+&V295MCEH F 340 INPUT" INTERPRET': I ), OR 1RANSLAT

IF Y*=M" THEN END

IF Y*="I" THEN CHAIN "INTERP"

IF Y*="T" THEN CHAIN "TRANS" 380 END

390REM ********** 400REM ERROR ROUTINES 410REM ***

420REM FNE1..IF CURRENT TOKENOKI THEN ERROR «E 430 DEF FNE1(K*>E) 440 IF S8*OK$ THEN Z = FNE<E) 450 RETURN 0 460 FNEND 470REM ***

488REM FNE2..IF NEXT TOKENOK* THEN ERROR *E 490 DEF FNE2<Kt,E> 500 GOSUB 1240

510 IF S0*OK* THEN Z^FNECE) 520 RETURN 0 530 FNEND 548REM ***

550REM PRINT ERROR MSG 560 DEF FNE<E9) 578 !TABCC0+4>,"t",E9 580 GOSUB 610 590 STOP

680 RETURN 8\FNEND 610REM ERROR MSGS

INTUE9-l)/5>+l GOTO £3@b£4@ E9 GOTO 710.. 720,736,740,750 E3-5 GOTO 3*0,990,990,760,7;650 ON E9-10 GOTO 780,790,SOO,990,3

240 250 260

298

300 310 320

350 360 370

ILL IN EOF MARK E<T>?",Y*

620 OH 630 ON 648 ON

660 678

ON E9-15 GOTO 010,S20,830,840 ON E9-26 GOTO 860,870,380,990

680 ON E3-25 GOTO 900,9 18,928,990

690 ON E9-30 GOTO 940, 990,958,9611/$

700 ON E9-35 GOTO 9SO

710 I"MEM FULL"\RETURN

720 ("CONST EXPECTED" RETURN

730 !*" = ' EXPECTED"vRETURN

740 !"IDENTIFIER EXPEC1ED"\RETURN

758 ! * * > * OR ' ' MISSING"\RETURN

768 f"'.' EXPECTED"\RETURN

770 !"',' MISS I NONRETURN

780 ["UNDECLARED I DENT " .RETURN

790 '"ILLEGAL I DENT "-.RETURN

800 !"':=' EXPECTED"\RETURN

810 !"'THEN' EXPECTED"-RETURN

820 !"';' OR 'END' EXPECTED"\RLI URN

830 l-'DO* EXPEXTED"-RETURN

840 ! "INCORRECT SYMBOL"\RETURN

850 ("RELATIONAL OPERATOR EXPECT ED"\RETURN

868 !"USE OF PROC IDEHT IN EXF'R" -RETURN

878 <"')' EXPECTED"vRETURN

380 '"ILLEGAL FACTOR" -RETURN

650> ttpv't 670, 688> 630, 700

0

90 50

90

30 70

after some processing that we have made the wrong choice. We would then have to undo what had been done by the wrong choice and back up to the point where we could try other alternatives. This is usually a messy business and involves a lot of bookkeeping. Fortunately, in the parsing of Pascal, no backup is necessary. A keyword is present at each decision point, and it determines what subgoal we should choose. An example will make this clear.

Suppose our goal is to recognize a statement. A statement can be a number of basic constructs: it can be an assignment statement, an if statement, a case statement or any other construct defined by the syntax diagram. The Pascal grammar is so designed that we know which type of statement we should choose by just looking at the next token. If the token is if, then we know it is going to be an if statement; if the token is case, it is going to be a case statement, etc. There would seem to be a problem if the token is an identifier, since the statement can be the beginning of an assignment statement or a procedure call. But this can be easily resolved by consulting the symbol table, where we also keep the attributes (data types, addresses, etc) of the identifiers. This is one of the reasons why identifiers and procedures must be declared before use: it makes compiler writing easier.

A top-down parser without backup can be implemented by using a technique called recursive descent. Such a parser uses a recursive procedure for each nonterminal in the syntax diagrams. A call is made to this procedure whenever a parse for such

Line

Number

Remark

400

Error routines - FNE, FNE1, FNE2

1030

Get a character

1090

Input a line

1240

Get a token

1950

Enter entry into symbol table

2060

Search symbol table

2170

Constant declaration

2240

Get constant

2340

Variable declaration

2380

Simple expression

2610

Term

2850

Factor

3290

Expression

3490

Statement

5340

Block

6120

Push numeric

6150

Pop numeric

6180

Push string

6240

Pop string

6310

Code Generation — FNG

6520

Fixup forward references

Table 7: For easy reference the main subroutines of the p-compiier are listed here along with remarks regarding their uses.

36

October 1978 © BYTE Publications Inc

nucrogrocessor experience from day one The Instructor 50.

Learning by doing is still the best method of education. And when it coines to learning about the world of microcomputers, you won't find a better method than the Instructor 50.

It's the fast, ready-to-use learning device that immediately provides "hands on" experience for gaining microprocessor knowledge—in your home^ office, or in the classroom.

Superior to other microprocessor learning aids, the Instructor 50 is a COMPLETE package—including a built-in power supply (50/60 Hz), an LED prompting display, and both functional and hexadecimal keyboards. You also get S-100 compatibility for adding memory and other peripherals. This lets you expand the machine's capability—and your microprocessing applications knowledge. Moreover, you can easily build aprogram library by recording your own audio cassettes.

The Instructor 50 comes complete with a Users' Guidei along with step-by-step instructions for those with no previous microprocessor experience,

Signetics offers one of the broadest choices of microprocessors in the industry. This knowledge stands behind the Instructor 50. When you need to learn about microprocessors, start with Signetics. Start with the Instructor 50. Send for your descriptive brochure today.

We can help you understand microprocessors.

a syfospary of US, Phfltps Corporation

S»gnetics Corporation

811 East Arques^wenue

Sunnyvale, California 94086

Tetephone 408/739-7700

Circle 322 on inquiry card.

Rl Ubt.Li

64 AMU T<SU THEN 13lDxf..:tf1 DGT PR LTlK

WORDS

896 '"'BEGIN' EXPECTE0"\RE7URN

966 !"'0F' EXPECTED"\RETURN

916 ! "ILLEGAL HEX CONST"vRETURN

926 f'TO' OR 'OOWNTO' EKPECIED'^RLTURN

930 f"NUMBER OUT OF RANGE "\RETURN

940 \m,i' EXPECTED"\RETURN

950 !"C EXPECTED"vRETURN

960 \**V EXPECTED"nRETURN

976 ("PARAMETERS MISMATCHEDH\RLTURN

980 !"DATA TYPE NOT REC0GNI2ED"\RETURN

990 !-BUG"\RETURN

1000REM ttttttttttttttttitt

ieieREM SCANNER

1020REM t***t*tt**t**t***t*

L030REM GETCHAR

1046 IF C0<L3 THEN 1666

1050 GOSUB 1690SGOTO 1046

I860 C0=C0+1VX*=L*<C0>C0)

1070 RETURN

1086REM **********

1090REM INPUT A LINE

1100 f*4I#Gl#" ",

1110 IF F5<0 THEN INPUT L* ELSE 1160

1120 IF L$="" THEN 1186

1138 IF L$<1,1>="*" THEN 1210\REM MACRO FILE?

1140 L$=L*+" "\C0=0

1158 L0=LEN(L$)\RETURN

1160 IF TYP<F5)<>0 THEN 1190^REM EOF IF TW»0

1170 CLOSE #F5\F5=F5-1\REM RETURN TO LAST ACTIUE FILE

1100 GOTO 1110

1190 READ #F5,L$\»L*

1200 GOTO 1136

1210 F5=F5+1\QPEN *F5,L$<2,LEN<L$> )

1220 GOTO 1098

1230REM **********

1240REM GET A TOKEN

1250REM RETURN S0*=TOKEN, A*=STRING, N3=NUMERIC

1260 IF X$<>" " THEN 12S6

1270 GO SUB 1638\G0TG 1££0M<EM FLUSH BLANKS

1280 IF X*< "A" THEN1460vREM INDhN"I 1T 1LR?

1290 IF Ht)"Z" THEN1460

1300 k=0\A$^"

1310 IF K>»H2 THEN 133G-REM ONLY 1ST U2 LETTERS

1320 K = K+1\A*';K>K )~i<S

1330 GOSUB 1030

1340 T = ASC<X*>

1350 IF T>4? AND T<5S OR T

1360REM BIN SERACH FOR RES

1370 I=l\J=N@*5-4

1380 B$=A*

1390 K*INT<< I+J>,'i0>*5+1

1400 Z$=W0*<K,K+4>

1410 IF B$<=Zt THEN J = K-5

1420 IF 6*>=Z$ THEN I «*»£+§

1430 IF K=J THEN 1390

1440 IF I-5>J THEN S6$=B* ELSE SfcJ*^"I DENT"

1450 RETURN

1460 Z$-M"

1470 IF X*<"0

1480 IF X$>"9

1490 S0*="NUM"

1500 2$=2*+Xt

1510 GOSUB 1830

1520 IF ASC*;X*)>=4S AND ASC<X*><=5? THEN 1500

1530 N3=UAL<Z$>

1540 IF N3<=N1 THEN RETURN

1550 E9=30\GQSUB 550

1560 N3=N1\RETURN

1570REM CHECK FOR SPECIAL SYMBOL

1580 IF **<>" ■ tHtN 1640

1590 GOSUB 1030

1680 IF K*«"*" THEN 1620

1610 S0*="■"nRETURN

1620 S0*=" ="

1630 GOSUB 1030\RETURN

1640 IF" X*<>"<" THEN 1716

1650 GOSUB 1030

1660 IF X*=">" THEN 1696

1670 IF X*="=" THEN 1700

1680 S0*="<"\RETURN

1690 S0*="<>"\GOSUB 1030\RETURN

1700 S0$="<="\GGSUD 1030nRETURN

1710 IF X$<>">" THEN 1750

1720 GOSUB LttftfNtttff*1*;-*

1730 IF X*<;-" = " I KEN RETURN

1740 S0S=">="'v&QSUB 1030VRE1URN

1750 IF X$<> THEN 1790

1760 S0*=,'STR"\Cf=""

1770 GOSUB 1030MF X*= THEN' 1036

1780 C*=C*+X*vG010 177D

1790 IF X$<>"<" THEN 18Z'0\REM IGNORE COMMENTS

1800 GOSUB 1030VIF K$<>*>" THEN 1800

1810 GOSUB 103SV6OTO 1240

1828 IF X$Ony." THEN 1330\REI1 HEX CONSTANT

1830 GOSUB l03e\S0*="NUM"\N3=0

1840 FOR 1=1 TO 4

THEN 1580\REM AN INTEGER' THEN 15S0

a nonterminal is required. It is easy to see why such a scheme would work. The stacking mechanism of the run time procedures ensures that we get back to the correct position in the syntax diagram after completing the parse of the nonterminal.

If you look at the syntax diagrams carefully, you will see that diagrams for certain nonterminals actually contain the nonterminal itself, either immediately or after several expansions. In terms of compiler writing this means that the procedures corresponding to these nonterminals would call themselves recursively.

BASIC Recursive Subroutines

Most versions of BASIC do not adequately support recursive subroutine calls, in North Star BASIC, the multiline function call can be invoked recursively, in a limited fashion. This is because the function parameters are local within the function definition and are pushed onto a stack when making a call.

The surprising fact is that most BASICs do not forbid a recursive call if one is made. For instance, the following BASIC subroutine, which is an inefficient way of printing the first N integers in descending order, is probably permitted in most BASICs:

100 PRINT N

200 IF N=0 THEN RETURN

300 N=N-1

400 GOSUB 100

500 RETURN

The problem of doing recursive calls in BASIC is that of preserving the values of the identifiers in the subroutines. This can be done by using a stack. The values of the identifiers are pushed onto the stack before a recursive call, and popped out of the stack in the reverse order when returning from the call. In BASIC, the stack can be simulated by an array:

10DIMS(100)

11P=0

12 REM INITIALIZE STACK POINTER

1000REM PUSH X INTO STACK

1010 S(P)=X

1020 P=P+1

1030 RETURN

2000REM POP X FROM STACK

2010 P=P-1

2020 X=S(P)

2030 RETURN

38 October 1978 © BYTE Publications Inc

SYBEX C-Books are leading University and Industry textbooks, used worldwide, and now translated into most major languages. They are the result of years of experience in actual education, and have consistently been qualified as 'best pedagogic text ever used'.

"Well planned arid executed text (C20 J). ..a complete treatment... self-contained and se/fdefmed... The chapter on 'Internal Operation of a Microprocessor' is the best explanation we have

thus far seen m pnnt. (Elementary Electronics, Sept. 78)

WARNING: Readers have Determined that C-series Books May be Addictive. Please let us Know.

TO ORDER

C200:AN INTRODUCTION TO PERSONAL AND BUSINESS COMPUTING

Rodnay Zaks, 250 pp, $6.95

A comprehensive introduction to personal computers, for home or business use: the hardware, the software, the peripherals, the costs. BASIC. How to fail with a business system. How to select a system. Will it be sufficient? Which one to buy. Now on cassettes: 3 hrs, ref SIO, $14.95

F

CZUI: MICKUKKUV,t^UKy

From Chips to Systems

Rodnay Zaks, 416 pp, $9.95

A complete, progressive, educational introduction to all aspects of microprocessors, and the assembly of a system: basic concepts, internal operation, the chips, system interconnect, programming, system development.

This book has been qualified as 'best text ever written on microprocessors.'

C202: MICROCOMPUTER PROGRAMMING:6502

Rodnay Zaks, 250 pp, $9.95

A step by step introduction to microcomputer programming, using the 6502 microprocessor, with a detailed analysis of all basic programming techniques, from arithmetic to InputOutput, including interrupts. Also available: 6502 APPLICATIONS BOOK

C207:MICROPROCESSOR INTERFACING TECHNIQUES

Alesea & RZaks, 416 pp, $9.95

How to interface a microprocessor to the external world, including all common peripherals; dynamic memory, keyboard, LED, floppy disk, CRT display, cassette. Includes the standard busses: RS232, IEEE 488, SIOO.

SELF-STUDY COURSES

Includes Book and Cassettes

INTRODUCTION

TO MICROPROCESSORS (2.5 hrs) ref. SI, S29.95 TO PROGRAMMING (2.5 hrs) ref. S2, $29.95 COMPREHENSIVE (6 hrs) ref. SB1, $59.95

SPECIALIZED

MILITARY (6 hrs) ref. SB3, $49.95 BIT-SLICE (6 hrs) ref. SB5, $49.95 INDUSTRIAL (4.5 hrs) ref. $B6, $49.95 INTERFACING (6 hrs) ref. SB7, $49.95

OTHER BOOKS

ZIO-APL IMPLEMENTATION $25.00 XI-MICROPROCESSOR LEXICON $1.95 AND MORE ... ASK FOR FREE CATALOG

Circle 358 on inquiry card.

BY PHONE: call 415 848-8233 BankAmericafd/Mastercharge accepted

SHIPPING: no charge when payment included (except add

$ 50 on orders tor S7,OG or less), all orders under $50.00

must be prepaid

ADD: $1.SO book for fast shipping

OVERSEAS:

SYBEX EUROPE

313 rue Lecourbe 75015-Paris. France Tel: <1) 828 25 02

2020 Milvla St. Berkeley, CA 94704 Tel: 415/848-8233

NAME COMPANY

POSITION

ADDRESS

CITY

STATE/ZIP

C200 C201 C202 C207 Other _„

Payment enclosed Bill me (over S50) COD.

Charge my Visa Mastercharge:lnterbank nbr _ ,

Number _ _ Exp date

SIGNATURE

U FREE CATALOG/ORDER FORM I J

1850 T=ASC<X$>

I860 IF T>=48 AND T<=57 THEN 1880

1870 IF T>=65 AND K=78 THEN T = T-7 ELSE 1916

m ,=-T-4-§

N3-N3* 16+T \GOSUB 103Gr-HEXT 190U RETURN

1910 IF I>1 THEN 2*FNE<27) 1920 Se*="*H\RETURN tyiu Stf *=X * Mi U i U 1U & & 1946REN ttttttttt* 1950REN tNTER SVWBOL INTO TABLE i960 T1=T1+1

19^0 T*< ( T1-1 >*N2 + 1, T1 M2 >-A* 1980 T0«<Tl,Tl>=Ki\REM STORE IYPL 1990 IF K$<>"C" THEN 2018 2880 T2(U>*N3\RETURN\REf1 SI UKL UrtLUt 2010 T101)=LlvRE(1 STORE LEUEL Of- lUkHl 202*6 IF K*<>*M" 'IHEN RETURN

ii-0^0 Ir NUi l-y inch KLTi-lkli-k'Er] Sf" WAS ALlOChILD f OR PROC PARS 2040 T2< T1 )=D0\DO = OO+1\RE[URN\KEN Si ORE Of FSL1 2050REM tttttttt**

2060REN FIND IDENI A* IN l*,SIHkI1NG FROM U AND UP 2070REM RETURN POINTER 10 1ABLL U FOUND* ELSE RETURN 0 2880 J = <T1-1>*N2*1 2090 FOR 1=11 TO 1 STEP -1 2100 IF A$ = T$«C J, J+H2-1) IHEN LKl'l 2130 2110 J=J-M2\NEXT 2120 1=6 2130 RETURN

2140REM t**t*****t**ttmt*t 2150REM PARSER AND CODER 2160REM **************1**** 2170REM CONSTANT DECLARATION 2180 Z = FNE1<"IDENT",4 ) 219U 2~FNE2\ " = " ,3> 2200 frOSUB 1240NGOSUE: 2240 2210 K*="CN\GOSUB 1050 2220 GOTO 1240 2230REM ********** 2240REM CONSTANT 2250 IF SO*="NUM" THEN RETURN 2260 IF S0* = '*IDENT" THEN 2290VREH CONST? 2270 Z=FNEU "STR">2)

2280 N3=ASC(C*>\RETURN\REM IAKE 1ST CHAR 22S^ CObUB 20G0\IF 1*0 IHEN FNEC2) 2300 IF T0*< 1,1 }<>*£* THEN FNE<2) 2310 M3=T2<I )\RE1URN 2320 GOTO 1240 2330REM ********** 2340REM UARIABLE DECLARATION 2350 2=F NEK" I DENT" ,4) 2360 K*="U"\GOSUB 1950\UOTO 1240 2370REM ********** 2380REM SIMPLE EXPRESSION 2390 IF S0*="+" THEN 2420 2400 IF S0$<>"-" THEN 2590 2410 Y$=S0$\GGSUB 6180 2420 GOSUB 1240 2430 GOSUB 2610 2440 GOSUB 6240

2450 IF Y$="-" THEN 2=FNG<l»**ti 2460 IF S0*="+M THEN 2500 2470 IF $0$="-" THEN 2508 2480 IF S0$="OR " THEN 2500

2490 RETURN

2500 y*=S0$\GOSUB 6180 2510 GOSUB 124S 2520 GOSUB 2610 2530 GOSUB 6240 2540 IF Y$="-" THEN 2570 2550 IF Y$="+H THEN 2580

2560 2= FNG < 1,6 > 14 >\G 0T0 2460

2570 Z=FNG<1,B,3)\G0T0 2460

2580 2=FNG< 1 * 0» 2 ) \(i 0 T 0 2466

2590 GOSUB 2610VGOTO 2460

2608REM **********

2610REM TERM

2620 GOSUB 2S56

2638 IF S0$="*" THEN 2706

2640 IF S0*«*D1U " THEN 2700

2650 IF S0t=uAND " THEN 2760

2660 IF S0$="MOD " THEN 2700

2670 IF S0*="SHL " THEN 2700

2680 IF S8*="SHR " THEN 2700

2690 RETURN

27&& Y$=S0*\GOSUB 61S0\REM PUSH

2710 GOSUB 1240XGOSUB 2850

2720 GOSUB 6246

2730 IF Y*="DIU " THEN 2796

2740 IF f»=-Muu ihtH 2U00

2750 IF *$«"*■ THEN 2810

2760 IF Y*="SHL " THEN 2826

2770 IF Y*="SHR " THEN 2836

2 780 2=F NG t 1, 6, 15 )\ G 0 T 0 26 36 \ k t «

2790 1- F NG < 1, 6 > 5 > .6 0 T 0 2C 30

2800 Z=FNG< 1,6- 7> .GOTO 2636

'AND"

One important part missing from our compiler is the ability to recover from errors. Of course all syntactical errors are caught by our compiler and somewhat meaningful messages are printed to indicate errors. However, if an error is found, the compiler is aborted prematurely and will not resume compiling. Such a compiler is, of course, not acceptable in practice. But with the understanding that this compiler will be used as a bootstrap compiler, as discussed in part 1, it is tolerable. A compiler with simple error recoveries would not be particularly difficult to implement but would involve a lot of programming codes and processing time. We hesitate to add things to an already big and slow program.

It is generally difficult to implement a compiler with sophisticated error recovery features. Such a compiler would not only detect errors, but would also try to repair the damages caused by such errors. The compiler has to make some assumptions about the nature of the errors and the intention of the author. This is usually difficult.

If our concern is solely that of locating all errors in a single parse of the source program, there are simple ways of doing it. Upon detecting an error, the compiler simply skips the input text until it can safely resume the compilation process. To do this the compiler looks for certain keywords or stopping symbols for hints to resume the parsing process. For instance, if we find an error while parsing a conditional expression, we skip the input tokens and search for symbols, such as =, > =, etc, and keywords such as then and do or perhaps begin. If we do this for all the parts of the language constructs, we will at least have a compiler that would resume compilation after an error is encountered in the hope of finding all syntactic errors in one pass, and which would give meaningful diagnostics for most errors.

To reduce the size of the program shown in listing 1, comments are kept to a minimum. Each module or subroutine is clearly identified. To facilitate easy reference, the important subroutines and variables are shown in table 1 and table 2, respectively.

Scanner and Symbol Table Management

Each time the p-compiler calls the scanner (line 1260, listing 1), the input text is scanned and a new token is produced. This is done by calling a subroutine (line 1040) that returns a character from the input string. Since the input/output (IO) routines are line oriented instead of character oriented, a line buffer (L$) is used to

40 October 1978 © BYTE Publications Inc

TUST THOUGHT I'D LET YOU KNOW THAT I'M BACK FROM THE COMPUTER_

SHOW. THE TERMINAL

WE WANT IS THEIQtZO

FROM SOROC (SEE

SNAP SHOT^-_XH13 UNITJLB

MOT ONLY SMART LOOKING, BUT HAS

ALL THE FEATURES WE NEEDIN THE BASIC PRICE.

FOR EXAMPLE: THE IGUZO INCLUDES NUMERIC

KEYPADS AND PROTECT FIELDS AS STANDARD.

I LOOKED AT THE OTHER TERMINALS AS YOU

SUGGESTED. BUT FOUND THEM TO BE EITHER PAPER TIGERS^ OR TOO * DUMB" FOR OUR CONSIDERATION. ANYWAY, YOU ASKED ME TO DECIDE AND AT

fcSS5* FOR THE XQ..I20, IT WAS THE EASIEST ASSIGNMENT I'VE HAD.

P.S. kz£ $^5/ 5-4* $^00 / SO-^S 4 T50

-^S£"^i_A~AHe,M,

-.goto :

:636

.> G Ul 0

?<£3H

>\£03 0

2638

2890

2980 IK S8**

2910 if se**

2926

f N£<2t )\R£H PR DC NAME

-.GOTO 124 0

2810 2*FN£< 1,0,. 4 ) 2820 Z=FNG< 1,0, 17 2830 2«KH€< 1,0, 1£: 284 Ok EM Iftttttt «*1 28t.0k'EM FACTOR

2860 IE S8*="IDLNT" THEN £940 2870 IF SO*-"HUM" [HEN 3868 2880 IE S6*="STR" THEN 3888 $8f«*< " THEN 3100

"MEM " THEN 3148 "NUl " THEN 3268 2*PNE<23) 2930REM **f* IDENTIFIER 2940 COSUB 2860 2950 IF 1*0 THEN Z«FN£<ll) 2960 IF TS*< L I >=HP" THEN 2970 IF TO*-: li I K;"Y" THEN 2980 Z = F NG<5,0,1 )SRE M FUNI

2990 I=I-1\GOTO 4298\REM 12<I)*-RDD Of FONC 3080 IF T8$<I,I )~"A" THEN 3198\REN ARRhV 3010 IF T8$<I,I><>"C" THEN 3030 3020 Z*FN€<8»8#T2<I>>\60T0 1240\kLtl COHSt 3838 Z«FN§<2,L1-TKI >,T2< J >>\R£M 10 3040 GOTO 1240 3050REM *** NUMERlL CONS! 3066 2*FH6C0#&#N3>xCOTO 1240 3070REM ttt STRNG C0NS1 3088 Z=FNG<8,0, ASCXCf >) 3090REM *** PAREN EXPR 3100 GOSUB 1240VG0SU0 3 3118 IF S8*=M>W THEN 1240 3120 Z=FHE<22)\RETURN 3130REM *t* READ MEMORY 3140 Z=FNE2< "C",33) 3150 GO SUB 1248\G0SUE: 32S'0 3168 Z=KNE1("1",34> 3170 GOSUB 1240 3180 Z=FNG< Z>255,O >vRETURN 3190 X=I\G0SU6 6128 3200 Z=FNE2C,'C" ,33) 3210 GOSUB 1240N6OSUB 3290 3220 Z=FNE1C"3",34> 3230 GOSUB 6150\Z-FNG 3240 GOTO 1240 3250REM *** NEGATE 3260 GOSUB 1240VG0SUE 3270 Z=FNG<I,8>16 /vRETURN 3288REM ********** 3290REM EXPRESSION 3380 GOSUB 2390\REfl SIMPLE EXP 3318 IF S6*^"=" THEN 3388

" THEN 33S0 THEN 3388

" THEN 33S0 THEN 33S0

" THEN 33S0

SO

. It:, LI- 1 KX),T2<X>>

£858

3320 IF S8**M<

3338 IF S8$-"<

3340 IF S8*="<

3350 IF Set-";

3368 IF

S8*^ 3370 RETURN

3380 Y*=S8*\G0SU& 6188\REfl PUSH 3390 GOSUB 1240\GOSUB 2390 3480 GOSUB 6240VREM POP

THEN 2*FN£<1>0,S> 1 THEN Z=FNS<1,0,9)

THEN Z-FNG<1,0/18) ' THEN 2*FH6<1,0,11)

THEN Z-~FNG< 1,0*12) .1,0,13)

3410 IF f$*»*»

3420 IF Y*=H<>

3430 IF Y*^"<"

3440 IF Y,$=">^

3450 IF Y*=">"

3460 IF Y*="<=" THEN 2=FNG<

3470 RETURN

3488REM **********

3490REM STATEMEMT

3580 IF S8*=HIDENTH

3510 IF S8$="IF

3520 IF S0*="FOR

3530 IF S8$="WHILE"

3540 IK S8S="CASE

3550 IK S6$-"REPEA"

3568 IK S8*^-"BEGIN"

3570 IF Se$^"READ

3588 IF S0$="WRITE"

3590 IF S8$="MEM

3688 IK S8*=MCALL

3618 RETURN

3628REM *** ASSIGNMN"!

3638 GOSUB 2860

3640 IF 1=8 THEN Z=FNE<11>

T8$U,I)-"A" THEN 3780VREM ARRAY

■ THEN

3b 3 8

' THEN

4 44 0

' THEN

5170

1 THEN

4880

* THEN

4S90

1 THEN

4 730

' THEN

4590

1 THEN

4848

' THEN

3070

' THEN

4650

1 THEN

424 0

THEN 3760\REM INT UAR

THEN 3768\REM FUhC RETURN UALUE

THEN 4290\REM PROO CALL

3658 IF

3660 IF T8*<I, I >--"U

3670 IK T8*<I,I>»•¥

3688 IF T8$(I, I)-"P

3690 Z=FNE<12)

3780 X=lvGOSUB 6128\REM PUSH TBL ADD

3710 X=16\G0SU& 6120\REM INDEX ADD MODE

3720 Z=FNE2C"[",33)

3736 GOSUB 1240\G0SUB 3298

3740 Z=FNEt(Mr',34)

3758 GOTO 3780

3760 X=I\GOSUB 6128

hold a line, and a counter (CO) is used to indicate the character just read. When the end of a line is reached, the line input routine (line 1100) is called to read in a new line.

In our compiler we also provide the capability of invoking or recalling a file of Pascal text from disk. This is initiated by a command that starts with a dollar sign ($) in the first column followed immediately by the name of the disk file to be inserted and compiled. Since North Star BASIC allows four disk files to be open at the same time, there can be four levels of file nesting. The variable F5 is used to indicate this level. If it is equal to —1, then input ii taken from the keyboard. The initial input is from the keyboard. This feature is quite useful, since we can store procedures that are commonly used in a disk library, and have them recalled when needed.

Usually, the token that the scanner returns is a number that represents the token class the symbol is in. To make the program more readable, we use string variable S0$. Possible values returned by the scanner are: ; , :-, BEGIN, IDENT, and NUM. The last two tokens, which are tokens for identifiers and numbers, require some further information. A$ and N3 are also used to store the textual representation of the identifier and the value of the number, respectively.

The recognition of a valid token is a straightforward process and will not be detailed here. Since : and := are both valid tokens, the scanner, after seeing the : , must also look at the next character to determine the correct token. This can be done by using a one character look ahead. When the scanner is entered, a character is assumed to have been read, and upon exit from the scanner, a character beyond the current token is read.

Another problem that the scanner may have is that of recognizing reserved words. The reserved words are stored in a table in sorted order. When an identifier is found, it is compared with the entries in the table, by performing a binary search. If it is not in the table, it is assumed to be a user defined identifier.

In Pascal programs, identifiers are declared at the beginning of each procedure block. The scope of an identifier covers the entire block containing it (and any of the blocks inside that block). A simple symbol management scheme that reflects such scope rules makes use of a stack. When the compiler enters a procedure block, a segment of the stack is used to store identifiers for the block. If the procedure block contains another procedure block, then another

42 October 1978 © BYTE Publications Inc

What it means to you,

dig-i-kit-izer/dij-e-kit-izer/ n: (1): a highvalue low-cost computer graphic input device designed to be assembled by the user (2): the most advanced graphics tablet in kit form (3): An instrument that, when assembled, allows the user innumerable methods of design and analysis functions (4): The latest addition to the most extensive, accurate and reliable line of digitizers, by Tabs

ii i

Hi"l,l,U!

»■■ w

iPU(fP»

449

No adjustments. No calibration. OPTIONS

• APPLE Interface IMSAI Interface (Nov. 78) TRS-80 Interface (Dec. 78) RS232 Power Supply

• IC Sockets

• Unit Enclosure

Dealer inquiries invited

T^^W"™- ,NFORMAT,ON 0N ™*

Name_

Company. Title

Address. City

.State.

.Zip.

Phone.

Circle 359 on inquiry card.

BYTE October 1978 43

3778 X=0\GOSUB 6126

3786 GOSUB 1240

3790 IF S6*=":=" THEN 3S10

3880 Z=FNE<13)MH)T0 3826

3810 GOSUB 1246

3820 GOSUB 3290\GOSUB 6150

3830 K=XM50SUB 6150

3340 Z=FNG<3 + K,L1-T1<X>,T2<X>>

3856 RETURN

3866REM *** WRITE

3870 Z=FNE2<"<",31>

3386 GOSUB 1248MF S0$O"STR" THEN 3950

3896 L=LEN(C$)MF L>1 THEN 3910

3960 Z=FNG<0,6,ASCCC$:O\Z=FNG<8,0,1>\GOTO 3940

3910 FOR 1=1 TO L

3920 Z=FNG<0,8,ASC<C*< I, I »>\'MEXt

3930 2=FNG<0,6,L>\Z=FNG<&,6,8 )

3940 GOSUB 124Ct\G0T0 4 660

3956 GOSUB 3296\K»1

3960 IF S6*="#" THEN K=3vREM DEC

3970 IF m**>m%* THEN K=5\REM HEX

3980 IF K>1 THEN GOSUB 1246

3990 Z=FNG-CS,6,K>

4600 IF S8*="," THEN 3386

4916 Z=FNE1< ">",22>

4820 GOTO 1246

4630REM *** READ

4646 Z=FN£2<"<",31>

4656 Z=FNE2<"I DENT",4)

4660 GOSUB 2866\2F 1=6 THEN Z=FNE<11>

4676 X=I\GGSUB 6126

4686 IF T0$<I,I>="A" THEN 4196

4890 IF T8*<I,I>="U" THEN L=6 ELSE Z-FNEC4)

4100 GOSUB 1246\K=6

4110 IF S6$="#" THEN K=2\REM DEC

4120 IF 8e*«"%" THEN K=4xREM HEX

4130 Z=FNG<8,6,K>

4140 IF K>6 THEN GOSUB 1248

4150 GOSUB 6150\2 = FHG<L + 3,L1-T1':X>,T2(X))

4166 IF S6*="," THEN 4656

4170 Z=FNEt< ")",31)

4130 GOTO 1248

4196 Z»FNE2< "C",33)

4280 GOSUB 1248\G0SUB 3298

4216 Z=FNE1<"]M,34 >

4226 L=16\GDT0 4166

4230REM *** ABSOLUTE MEM CALL

4248 2«FNE2<"< ",31>

425G GOSUB 1248\G0SUB 3290

4260 Z=FNEU">" ,22)

4276 2=FNG< 4,-255, 8 >\GOT0 1246

4280REM *** PROC OR FUNC CALL

4290 K2=0\K3=I

4308 IF T3CI)=0 THEN 4486\REH NO PARAMETER

4310 Z=FNE2C"»i", 31)

4326 X=K2\G0SUB 6126

4330 X=K3\G0SUB 6126

4348 GOSUB 1246\G0SUB 3296

4356 GOSUB 6150\K3*X

4360 GOSUB 6150\K2=X\K2=K2+1

4370 IF S0$ = ",*' THEN 4328

4 380 IF K2OT30C3) THEN Z=FNE<35>

4390 Z=FNE1< " )",22)

4466 Z=FNG< 4,L1-T1<K3 ),T2C K3 ) )

4416 IF K2 <>6 THEN Z=FNG<5,8,~K2>

4426 GOTO 1248

4438REM ttt IF

4446 GOSUB 1248

4450 GOSUB 3296

4466 2=FNE1<"THEN ",16)

4478 GOSUB 1246

448G X=C1\G0SUB 6120\REM FORWARD REF POINT

4496 Z=FNG(7,0,6)\REM JPC

4506 GOSUB 3498

451© IF S8$<>"ELSE " THEN 6526

4528 GOSUB 6150\K^X

4536 X=C1\G0SUB 6126

4546 Z=FNG<6,6,8)\REM JMP

4558 X=K\GOSUB 6546 -REM FIXUP FORWD REF

4568 GOSUB 1246\GGSUB 3496

4578 GOTO 6528

45S8REM ttt COMPOUND STTMNT

4598 GOSUB 1248

4660 GOSUB 3490

4610 IF S8$=";" THEN 4596

4626 IF S8*="END " THEN 1248

4636 Z=FNEC17)\RETURN

4640REM ttt WRITE MEM

4658 Z=FNE2':"C",33>

4668 GOSUB 1248\G0SUB 3298

4678 IF 80*0*3" THEN Z=FNE<34>

4688 Z=FNE2<"=-M,13)

4690 GOSUB 1240\GGSUB 3298

4766 Z=FNG<3,255,8)

4 716 RETURN

4728REM *** REPEAT . . UNTIL

segment of the stack on top of the existing segments is used for identifiers of this block. After successful compilation of a procedure, its segment of the stack can be discarded, since there is no further use for this part of the symbol table. In this way, we can also eliminate possible interference with identifiers in some other blocks. We also see that since the block delimiting mechanism is hierarchical, use of stack is also appropriate. Figure 2 illustrates two-level block nesting.

Readers may have noticed the similarities between this symbol table stacking scheme and the run time storage allocation scheme discussed in part 1. Since the symbol table deals with a static structure, it is much simpler.

Within the segment of the symbol table for a procedure block, further data structures can be set up for storing the identifiers. We chose to use what we feel is the simplest method: store the identifiers sequentially, in their order of appearance. This means that search also has to be done sequentially. Since most procedures have only a small number of identifiers, this should work well in most cases. Other more sophisticated structures such as a balanced binary tree or hashed table are commonly used in larger compilers.

The symbol table also contains some information about the identifiers. The identifier type has to be kept with the symbol table. Specific information is needed

PROC A;

VAR

•

•

PROC AA;

VAR

•

•

BEGIN (*AA*)

2

•

END (*AA*);

PROC ABj

VAR

•

•

BEGIN (*AB*)

3 ■

•

END (*AB*);

BEGIN <*A*)

•

END t

*A*)<

A

A

A

A

AA

AB

1

2

3

4

Figure 2: Example symbol table at various points of compilation.

October 1978 ©BYTE Publications Inc

Software for the Percom LFD-400

Disk Operating and File Management Systems

INDEX™: The most advanced Disk Operating and File Management System available for the 6800. INterrupt Driven Executive operating system features file-anddevice-independent, queue-buffered character stream I/O. Linked-File disk architecture, with automatic file creation and allocation for ASCII and binary files, supports sequential and semi-random access disk files. Multilevel file name directory includes name, extension, version, protection, and date. Requires 8K RAM at $AOOO. Diskette includes numerous utilities $99.95

MINIDOS-PLUSX: An easy to use DOS for the small computing system. Supports up to 31 named files. Available on ROM or diskette complete with source listing $39.95

Basic Interpreters and Compilers

SUPER BASIC: a 10K extended disk BASIC interpreter for the 6800. Faster than SWTP BASIC, 9-digit accuracy, program CHAINing, BASE O subscripting, improved error reporting, disk data files, and print column alignment. Program and data files may be prepared using one of the Text Editors described

below $49.95

BASIC BANDAID™: Turn SWTP 8K BASIC into a respectable random access data file disk BASIC. Includes many speed improvements and program CHAINing. When ordering, specify version (2.0, 2.2,

or 2.3). Complete with listing $17.95

STRUBAL™: A STRUctured BAsic Language Compiler for the serious professional programmer. Includes elements of BASIC, PL/M, and assembly language. Features 10-digit floating point, strings, scientific functions, and 2-dimensional arrays. Requires 16K RAM memory and LINKING LOADER (see below). Complete with RUN-TIME and FLOATING POINT packages $99.95

Text Editors

EDIT68: Hemenway Associates powerful disk-based text editor. May be used to create programs and data files. In addition to SEARCH, CHANGE, DELETE, and MOVE functions, EDIT68 supports MACROS which perform complex repetitive editing functions efficiently Runs in only 6K RAM. "Spooling" permits text files much larger than the available RAM memory to be

created and edited $29.95

TOUCHUP™: If you already have the TSC Text Editor, TOUCHUP will convert it into a disk-based text editor. ROLL function permits text files much larger than the available RAM memory to be created and edited. TOUCHUP is supplied on diskette complete with source listing $17.95

ASSEMBLERS

PERCOM 6800 SYMBOLIC ASSEMBLER: Requires only 8K of RAM memory to assemble programs with 200 labels. More convenient to use than most assemblers; assembly options may be specified at time

of assembly. $29.95

Complete listing of above assembler $29.95

MACRO-RELOCATING ASSEMBLER: This Hemenway Associates assembler is for the programming professional. Generates relocatable and linkable object code. MACRO facility permits nested macro calls. Permits conditional assembly. Requires 16K

RAM $49.95

LINKING LOADER for STRUBAL and the above assembler $19.95

Business Applications

GENERAL LEDGER SYSTEM $199.95

FULL-FUNCTION MAILING LIST $ 99.95

Write or call for our complete software catalog.

PERCOM DATA COMPANY, INC.

Dept BP • 318 Barnes • Garland TX 75042

(214)272-3421

Circle 301 on inquiry card.

Assembled and Tested

FLOPPY DISK SYSTEM

only

m

shipping paid

o

0

©

o e

The LFD-400 is ready to plug in and run

the moment you receive it.

Nothing else to buy! Not even extra memory!

YOU GET:

O The popular Shugart SA 400 minifloppy™ drive. Drive alignment

is double checked by PerCom before shipment. 0 The drive power supply—fully assembled and tested.

LFD-400 Controller/Interface—plugs into the SS-50 bus •

accommodates three 2708 EPROMs • fully assembled and tested.

MINI DOS™ —the remarkable LFD-400 disk operating system on

a 2708 EPROM • plugs into the LFD-400 Controller card • no

extra memory required • no "booting" needed.

Attractive metal enclosure.

Interconnecting cable—fully assembled and tested.

Two diskettes—one blank, the other containing numerous

software routines including patches for SWTP 8K BASIC and the

TSC Editor /Assembler. O 70-page instruction manual—includes operating instructions,

schematics, service procedures, and the complete listing of

MINIDOS™. ® Technical Memo updates—helpful hints which supplement the

manual instructions. ® 90-day limited warranty.

Minifloppy is a trademark of Shugart Associates. MINIDOS is a trademark of PERCOM Data Company, Inc.

The LFD-400 is readily expanded to either two or three drives. Write for details. Send for our free brochure for more information about the LFD-400 Floppy Disk System and LFD-400 software.

To save you money, the LFD-400 Floppy Disk System is available only from PerCom. Because of the special pricing, group and dealer discounts are not available.

MC and VISA welcome. COD orders require 30% deposit plus 5% handling charge. Allow three extra weeks if payment is by personal check. The LFD-400 Floppy Disk System is available immediately. Allow three weeks for testing and transportation. Texas residents add 5% sales tax.

PEflGOM

PERCOM DATA COMPANY, INC.

DeptB 318 8ARNES*GARLAND, TX. 75042 (214) 272-3421

PERCOM™ 'peripherals for personal computing*

BYTE October 1978

45

4730 X=C1\GGSUB 6128

4746 GOSUB 1240\GOSUB 3490

4750 IF S0M";B THEN 4740

4760 Z=FNE1("UNTIL,M0>

4776 SOSUB 1248\&0SU6 3296

4780 GOSUB 6150\Z=FNGC7,8,X >\RETURN

4790REM *** MHILE .. DO

4800 GOSUB 124G\X=ei\G0SUB 6126

48L0 GOSUB 3290\X=C1\GOSUB 6120

4820 2=FNG<7,6>0)

4830 2=FNE1<"D0 ** IS)

4840 GOSUB 1240\GOSUB 345*0

4850 GOSUB 6150\K = X\GQSUE: 6156

4860 Z=FNG<6,6,X>

4878 X=K\GGTQ 6548

4888REM *** CASE .. OF

4890 GOSUB 1248\G0SUB 3296

4900 Z=FNEU"OF ",25)

4910 I2=1\REM # OF CASE STATMNTS

4920 I1=0\REM « OF CASE LABELS

4930 GOSUB 1248VG0SUB 2248

4940 Z=FNG<l,8,21)\Z = FNG':8,e,N3)\Z=FNG<l,0,8>

4950 GOSUB 1248\IF S8$=" " THEN 4998

4968 Z=FNEK", ■ , 5 )

4970 X=C1\G0SUB 6120^-Z^FH6( 7, 1, 8 >\RLM A MATCH FOUND?

4980 Il=Il+l\GOTO 4938

4990 K*C1\Z=FNG<7,0,0>\REM GOTO NEXT CASE STUNT IF NO MATCH

5000 FOR 1=1 TO IlxGOSUE 6520\NEKT\fc£« FIXUP FORWO REFS

5010 X=K\GOSUB 6128

5020 GOSUB 1246\X=I2\GGSU£ 6128

5030 GOSUB 3496\G0SUB 6I50M2*K

5040 IF S0*="ELSE ■ (HEN t-898

5050 IF SefO";" THEN M38

5060 K=Cl\2=FNG(6,e>8;NREM EXIT AMER A CASE STMNT

5070 GOSUB 6520

5080 X=K\GOSUB 6120M2=I2+ lvGOTO 4 928

5090 K=C1\Z=FNG<6,0,8AGOSUB 6528

5100 X=K\GOSUB 6128

5110 GOSUB 1240\X=I2vGOSUB 6128

5120 GOSUB 3498\G0SUB 6158M2=X

5130 Z=FNEK "END 'M7>

5140 FOR 1=1 TO I2\G0SUB 65£0\NLXT\REr1 FIXUP FORHD REFS

5150 2=FNG<5,6,-1)^GQT0 1240\REM POP UAL OF CASE EXP

5160REM *** FOR

5170 Z=FNE2<"IDENT",4)

5180 GOSUB 3638XG0SUB 6128

5190 1-9= IMF S0$="TO " THEN 5218\REM REMEMBER UP OR DOWN

5200 Z=FNEU"DOWNT",28)\F9=8

5210 GOSUB 1248\G0SUB 3298

5220 GOSUB 6150\K=X\X=C1\GOSUB 6120

5230 Z=FNG< is 8> 21 )\2»F«6< 2, Ll-T t< K )> T2<> K ) >

5240 2=FNG<1,0,13-F9-F9>\X=Cl\GOSUB 6120\Z=FN&(7,8,8>

5250 X=F9\G0SUB 6128\X=K'G0SUB 6128

5260 Z=FNE1C"D0 ",lS)vGOSUB 1248

5270 GOSUB 3490\GOSUB 6158\Z = F NGC 2, Ll-T U X )> 1 2,< X > )

5280 K=X\GOSUB 6158\2=FHGC1,8,28-X)

5290 Z=FNG(3,L1-T1<JC>,T200)

5380 GOSUB 6150\K=X\GOSUB 6158\2 = FN6<6,8,X )

5310 X=K\GObUB 6548

5320 Z=FNGC5,8,-1>vfcETURN\REM POP OFF UAL OF LOOP CNTRL UAR

5330REM **********

5340REM BLOCK

5350 U0=3vREM RESERVED FOR STATIC LINK,DYNAMIC LINK * RETN ADD

5360 T2CT1-K1)=C1\REM INIT ADD OF THE PROC BLOCK

5370 Z=FNG<6,8,8)vREM JMP TO ST ART IN& &LK ADD

5380 X=T1-K1\G0SUB 6128

5390 IF S8*="CONST" THEN 5468

5480 IF S6$="UAR " THEN 5558

5418 IF S0*-"PROC " THEN 5738

5428 IF Se$=MFUNC ■ THEN 5770

5438 IF S0*="BEGIN" THEN 5988

5440 Z=FNE<25)

5458REM *** CONST DCL

5468 GOSUB 1248

5478 GOSUB 2178

5488 Z=FNE1(",",5 >\60SUB 1248

5490 IF S8*="UAR " THEN 5558

5580 IF S0$="PROC " THEN

5510 IF S0S-"FJNC " I HEN

5520 IF S0*="BEGIN" THE!

5530 GOTO 54 78

5540REM *** UARIABLE DCL

5550 L=8\F9=1

5560 GOSUB 1240\GOSUB 234 8

5578 L=L +1 \ I F S8*»:«#■ THEN 5568

5588 Z=FNEK * ■ " , 5 >

5590 GOSUB 1248'-IF S8$ = " ARRAY" THEN 5618

5688 Z = F NE1<"I NTE&",36 ) bOT0 56 * 8

5610 Z=F NE2<"t",33>\6 OSUB 1Z48 \& 0SUB 224 8

5738 5778 :.9S8

5620 Z=FNE2C " J " , 34 >\2*FHfc£< "OF 5630 O8=D0-L 5648 FOR I=T1-L+1 TO Tl 5650 Tt*<I* I >="A"\T3': I >-N3+l 5660 T2( I ) = D8vD0=D8 + N3+1 .NEX T

*f NE2< "INTEG",36>

for each type of identifier. For constants, the information is the values of the constants; for program variables, the information is the address pair (level, offset from base address); for procedures and functions, it is the address pairs and the number of parameters; and, lastly, for array variables, the information is the address pair as well as array sizes. See table 2 for actual variables that are used to store these quantities.

The symbol table is used by both the parser and the semantic analyzer. The information in the symbol table is used in a number of ways. The type of identifier is used, for instance, to check the type consistency in an expression. When a variable is referenced or a procedure or function called, the symbol table is searched to obtain the level and relative address from the base address. The number of parameters in a procedure or function is used to check the correct matching of parameters in actual procedure or function calls.

An identifier is searched for by starting from the end of the symbol table and working towards the beginning. (Viewing the table as a stack, we say that we search from the top of the stack down to the bottom.) There are two reasons for this searching direction. First, identifiers in the current block are more likely to be referenced and should be searched first. Secondly, suppose that a variable X is declared in both an outer and an inner block: by searching for X from top to bottom of the stack, we can be sure that we will find X of the inner block first, in accordance with the scope rule.

Parser, Semantic Analyzer, and Coder

The parser, the semantic analyzer and the coder are not separate routines, but are intermixed in a large routine. In most cases, after the successful parsing of a statement, its meaning is also understood by the compiler. Thus the semantic analyzer either requires minimal extra processing or is implicit in the parser and disappears altogether.

The parser, as we have mentioned before, uses a top-down technique called recursive descent. Since there is a close correspondence between the parser and the syntax diagrams of the Pascal grammar, there should be no difficulties in understanding the parsing process. The parser adopts the convention of one token look ahead which is similar to the one character look ahead convention used by the scanner. The variable S0$ is used to hold the next token to be read by the parser.

There is a part of the Pascal grammar, commonly referred to as the dangling

46 October 1978 © BYTE Publications Inc

Small in size, big in performance. . .and priced at only $1085*

HI PL0T is a digital plotter designed for the personal computer market. Inexpensive to own and simple to operate, it still incorporates the same quality components, technology and skillful workmanship found in Houston Instrument's larger plotters used throughout industry.

Not a kit, the HI PL0Tis assembled and ready to use, with both a RS-232C and a parallel interface built in for creating graphic output from your system.

• Converts data to easy to read graphical • Plotting speed up to 2.4 ips

format • Resolution of both 0.01 and 0.005 inch

• Both serial and parallel inputs built-in • Baud rate and step size easily changed

• Uses standard 8V2 x 11 * paper

HI PL0T™

The Perfect

Digital Plotter

for the Personal

Computing Enthusiast

Domestic Price only

Houston

instrument

ONE HOUSTON I (612) I

EUROPEAN HEADQUARTERS

TEXAS 910-874-2022

RodncttrlMn a 8240 Gist* Mtfum Phoo. 068/777446 T*« B«j*ch 81399

lHhe recorder company**

For rush literature requests or local sales office information only, persons outside Texas call toll free 1-800-531-5205

Circle 173 on inquiry card.

BYTE October 1978 47

b67@ Z=FNE2< ", ">5>

5666 GOSUB 1240-IF S0*«MPfcOC " THEN bTm

b69Ci IF S8$="PUNC " THEN 5??8

5780 IF SftM'BEffN" THEN 59Sd

5 7 Id L = 0vF9=l\6 0SUE: 2340-GOTO &578 S720kEM *** F'ROC DCL

5736 Z=FNE2<"IDENT",4 )

6740 KI^0\K$="P,,\GUSUE; 19t<0

5750 Ll^Ll+lvGOTO 5810

5760REM *** FLINC DCL

5770 Z=FNE2<•IDENT•,4 >

5780 K*=hF"nGOSUB i'990\REM F UNC ADDRSS

5790 L1=L1+1\K1=1

5800 K*="Y"\GQSUB 1958-REM F UNC UAL HE

5810 K2=Kl\G0SUB 1240

5820 X=Tl\GOSUB 6120

5830 X«D6\G0SUB 6120

5840 IF CS0$<>"<" THEN 5S90

5850 &OSUB 1240\F9=0\GO£UB 2348MC1*K1+I

5860 IF S0*="," THEN 5850

5870 Z=FNfcl< " >" ,22>

5880 50SUB 1240\7 3< T1-K 1 >■K1-K2

5890 2«FHEi<";">5)

5900 FOR 1=1 TO KlvREM FUNC UALUE t PARS HhUE - OFFSET

5910 T201-I + l; = -IxNEXT

5920 GOSUB 1240\GOSUB &340\L1=L1-1

5930 GOSUB 615©vD0»X

5940 GOSUB 6150\T1-X

5950 Z = FHEK"; %5>

5960 GOSUB 1240\GGTO 5416

5970REM *** START OF EXECUTIGLE STTMNTS

5980 GOSUB 1240\GOSUB 6150M< = X

5990 X=T2<K)\G0SUB 6540

6800 T2<K)=Cl\REM START BLOCK ADDR

6010 Z=FNG<5,0,00)

6020 GOSUB 3490

6030 IF S0SO";" THEN 6050

6040 GOSUB 1240VGOTO 6020

6050 IF S0*O'*END. " THEN Z = F NEC 17 )

6060 GOSUB 124 0

6070 Z=FNG<1,0,0)

6080 RETURN

6090REM ***********

618GREM END PARSER AND CODER

6U0REM ***********

6120REM PUSH X INTO STACK

6130 S<S9)=XvS9=S9+lvRETURH

6140REM **********

6150REM POP X FROM STACK

6160 S9=S9-l\X=S<S9>vRETURN

6 170REM **********

6180REM PUSH Y* INTO STACK

6190 L = LEN<V$)

6200 St<P8*P0*jL-l >-Y!

6210 X*P8\60SUB £120 -REM PUSH S I ART I END SIRN& POS

6220 X = PS + L~r-GOSUB C120

6230 PS^PS+LxRETURN

6240REM POP V* FROM STACK

6250 GOSUB 6150

6260 L=X\&OSUB 6150

6270 ¥•*£#<X*L)

6280 PS=P8-L+X-1

6296 RETURN

6380REM **********

6310REM GENERATE CODES

6320 DEF FNGCX1,X2,X3)

6330 B***

6340 FILL P9,X INFILL P9+1..X2 '

6350 FILL P9 + 2,FNH<X3:>\FILL P9+3,FKB<X3)

6360 IF Y9 THEN 64 00\REM IF INPUT FROM KEYBOAkO THEN OONT ECHO

6370 IF XK16 THEN 6390

6380 B$(1,1 )="X"\X1-X 1 - 16\RLM I HUEX

6390 ! >.41, C1, " ", Kt< X 1*3 + 1, X 1*3 + 3 ), 6*, 3s31, X2, ^61, X3

6480 Cl=Ci+l\P9=P9+4

6410 IF P9>=Q9 THEN Z=FNEcl)

6420 RETURN 0

6430 FNENO

6440REM **********

6450 DEF FNB<2)

6460 N*INK2^256)

6470 IF N<0 THEN H=£56+N

6480 RETURN N

6490 FNEND

6500 DEF FNA<Z)=Z-INT<Z/£56>*2b6

6510REM **********

6520REM FIXUP FORWORD REF

6530 GOSUB 6150

6540 H=P7+X*4

6550 FILL N+2,FNA<C1)\FILL N+3,FNB<Ci>

6560 IF Y9 THEN RETURN

6570 <"A00 AT",X," CHANGED TO",C1

6580 RETURN

READY

else, that is ambiguous. The statement:

if condf then if cond2 then stat 1 else stat2;

can be parsed in two ways. The else statement can be associated with the first if or with the second if, producing entirely different results.

We resolve this difficulty by always associating the else statement with the most recent if. If an else statement with the first if is desired, one of these two methods should be used:

if condl then

if cond2 then stat 1 else else stat2;

or:

if condl then begin

if cond2 then stat 1

end else stat2;

The situation is similar to the case statement with the added feature of an optional else statement. If the statement for the last case label is an if statement, we then have the dangling else problem. This is resolved in the same manner.

There are three functions used to print messages when errors are detected. The function FNE(X) prints the error message corresponding to error code X. FNE1(A$,X) checks to see if the current token is equal to A$, and prints the error message corresponding to error code X if not. FNE2 is similar to FNE1 except that the scanner is first called to get a new token. As we mentioned earlier, the compiler aborts as soon as an error is found. Therefore these error routines do not return to the calling procedure.

The code generator requires more work: care must be taken to store important values in stacks due to the inability of BASIC to fully support recursive subroutine calls. Otherwise the coder is more or less straightforward, since the p-codes are so designed (see part 1) that there is a direct correspondence between simple Pascal statements and p-codes. Table 3 shows the almost direct translation of Pascal statements into p-codes.

The declarative statements (const, var, proc, and func) do not produce any executable statements; they merely provide information about declared identifiers. The first executable code encountered when entering a procedure or function block is a forward jump instruction to the main body of the block. This jump is necessary since in general there may be procedures and func

48

October 1978 © BYTE Publications Inc

International Corporation

an affiliate of Prodata International Corporation established 1968

professional quality you can count on!

proudly announces

f SUPER-SORT* timate in high perform sort/merge

Specifications

□ High Performance Tournament/Heapsort Algorithm

□ Multiple Input Files Read in Parallel for True Merge Operation.

□ Dynamically Invokable User Exit Routines

□ Record Selection via SELECT/EXCLUDE Statements

□ Handles Fixed and Variable Length Records

□ Handles Fixed and Variable Length Fields

□ Handles up to 16 Sort Keys with Intermixed Sequence Indicators and Data Types

□ Handles Alternate Collating Sequences □Compatible with CP/M* and any Derivative Including

ADOS, IMDOS, CDOS, etc.

□ 8080/8085/Z-80 Compatible

□ Specialized Optimizations for Floppy Disk Environment

□ Keyword Command Input For Easy Operator Entry

□ Benchmarked at Over 560 Records per Minute!

□ Invokable as a Subroutine from FORTRAN, COBOL and Assembler

□ Furnished in Relocatable and Executable Form for Easy Load-Address Definition

□Optional TAGSORT Operation

□ Data Types Include ASCII, EBCDIC, Binary, BCD (COBOL packed Decimal), etc.

□ Supports CP/M-compatible Diskette Files under BASIC, FORTRAN, COBOL and Assembler.

Price $250** includes manual and single density diskette. Manual only $.9.0.0 refundable with purchase.

WORD-MASTER®

The last word in text editing

Specifications

□ Compatible with any ''dumb" CRT possessing addressable cursor and backspace (includes Hazeltine all models, SOROC, Lear Siegler, IMSAI-VIOC, ADDS Regent, etc.)

□ Bi-directional word tab, line tab, screen tab

□ Bi-directional word delete, line delete and character delete

□Quad-directional cursor movements

□ Mid-line insert and delete

□ Automatic RAM/Diskette buffering with no user intervention

□ Nested command looping with conditional execution

□ Global String search, Clobal String Replace

□ Queue Buffer for text movement, global replication, and string command storage

□Multiple input file merging with user-controlled insertions

□ Multiple output file control by section under user control

Price $150** includes manual and single density diskette. Manual only $9.00 refundable with purchase.

* CP/M is a trademark oi Digital Research

"* Prices and Specifications subject to change without notice.

£>1978, MicroPro international Corporation. All rights reserved.

Dealer Inquiries Invited: Call (Northern California) (707) 544-2865, (415) 398-7062, (209) 445-0511, (408) 279-8980, (916) 4857619 (Southern California) (213) 224-1619, (714) 634-2908. Outside California Call Collect (707) 544-2865. Principal offices located at 5810 Commerce Blvd., Rohnert Park, CA 94928

P-CODFS START AT

0000

Variable

WANT

CODE

PRINTFD7N

Name

Remark

0

?$LST2.2

0

CONST

CR=13

■LF=

101

A$

String of the token returned by the scanner

1

VAR A

,B»C,D

:INTEGER:

CO

Input buffer pointer

1

FUNC

*AX4(XI,X2

,X3,X4);

{LARGEST OF

1 NUMBERS}

CI

P-code address pointer

1

2 3

FUNC MAX?(XI BEGIN

TP Yl *

,X2); {LARGEST OF 2 NUMBERS)

Y? THFN MAY5i«Yl

DO E9

F5

Run time storage counter

Error code

Active input file unit number; keyboard"—1

9 12

ELSE MAX2:

X2

K1 L0

Number of parameter in the previous block Length of the input line

END;

LI

Static level of procedure

14

BEGir

L$

Input line buffer

14

MAX4;'

=MAX2(MAX2(XI

,X2),MAX2

,X4))

MS

P-code mnemonics

28

END;

HO

Reserved word table size

30

BEGIN

N1

Largest integer

30

repe;

N2

Length of identifier name

31

READ

(A#,

B#,C#

,D#)

i

N3

Numeric value of token (token ■ "NUM">

39

WRITE

(•THE LARGEST IS•,

MAX4(A

,B,

C,D)#,

CR,LF)

or ASCII value of string (token ■ "STR")

67

UNTIL

A<0

P8

Stack pointer for S$

69

END.

P9

P<ode absolute memory address counter

INTERPPFT(I), OR

TRANSLATE(T)?N

S

Stack for numeric values

RFADY

S9

Stack pointer for S

LOAD

DFCODF

S$

Stack for strings

RFADY

SOS

Next token

RUN 0

TO

Symbol table size

JMP

0

30

JMP

0

14

JMP

0

3

INT

0

3

T1

T$

Symbol table pointer Symbol table: identifier

4

LOD

0

-2

LOD

P

-1

OPR

0

>

JPC

0

11

T0$

Symbol table: type of identifier

8

LOD

0

-2

STO

0

-3

JMP

0

13

LOD

0

-1

V: variable A: array C: constant

12

STO

0

-3

OPR

0

RET

INT

0

3

INT

0

1

P: procedure F: function Y: parameter

16

INT

0

1

LOD

0

-4

LOD

0

-3

CAL

0

3

T1( >

Symbol table: level

20

INT

0

-2

INT

0

1

LOD

0

-2

LOD

0

-1

T2( )

Symbol table: value (constant)

24

CAL

0

3

INT

0

-2

CAL

0

3

INT

0

-2

or displacement (variable)

28

STO

0

-5

OPR

0

RET

INT

0

7

CSP

0

INNUM

or address (proc or func)

32

STO

0

3

CSP

0

INNUM

STO

0

4

CSP

0

INNUM

T3( )

Symbol table: array size (array)

36

STO

0

5

CSP

0

INNUM

STO

0

6

LIT

0

84

or number of parameter (proc or func)

40

LIT

0

72

LIT

0

69

LIT

0

32

LIT

0

76

X

Value to be pushed or oopped

44

LIT

o

65

LIT

0

82

LIT

n

71

LIT

0

69

X$

Next character to be read by the scanner

48

LIT

0

83

LIT

0

84

LIT

0

32

LIT

0

73

Y$

wo$

String to be pushed or popped Table for reserved words

52

LIT

0

83

LIT

0

14

CSP

0

OUT ST

INT

0

1

56

LOD

0

3

LOD

0

4

LOD

0

5

LOD

0

6

60 64

CAL CSP

0 14 0 OUTCH

INT LIT

0 0

-4

10

CSP CSP

0 0

OUTNM OUTCH

LIT LOD

0 0

13 3

Table 2:

Important variables used in the

68

LIT

0

n

OPR

0

<

JPC

0

31

OPR

0

RET

o-comnih

?r.

Listing 2: Sample Pascal program with compiled p-code. The number at the beginning of each source line is the offset of the corresponding p-code from the base address.

nronr6"5"ai3^TTr5^i>TiTiTr»Tunnnc

/To further improve vice to our customers we have installed a toll-free ^ WATS line in our

Peterborough, New

Hampshire office^

If you would

ike to order a'

subscription to\

BYTE, or if

BYTE's New

Toll-free Subscriber W.A.T.S. Line

you have a question relat ed to a BYTE subscription, you are invited1 to call* (800)258-5485 between 8:00 AM and 4:30 PM Eastern Time (Friday 8 AM-Noon). * Galls from conti nental U.S. only.

JULgJULflJULgJULgJLgJUU

(800)258-5485

We thank you and look o forward to serving you,

3ULflJUUULflJ

vV 9178J

tions whose codes take up space. The second executable code of the block increments the stack pointer (INT). This allocates space for the triplet (static link, dynamic link and return address) plus any variables declared. The number of spaces for the variables is already known from the declaration portion of the procedure block. The variable DO is used to keep track of the space to be allocated at the activation of the block.

Note that no space is allocated for constants. If a constant is referenced, a load literal (LIT) instruction is generated instead of a load (LOD) instruction. Also note that the procedure or function parameters and the function return value do not reserve any space in the procedure or function block called. Space is reserved before the call is made. Therefore, these values have negative displacement from the base address of the called procedure or function.

When a call is made to a function, the space for function return value is allocated by incrementing the stack pointer (line 2980 in listing 1) (this step is skipped for a procedure call). The parameter expression is then evaluated (line 4250), putting the resultant value on the stack. Thus, space is allocated for each parameter and initialized with the value of the parameter expression. Upon return from a procedure, the stack pointer is decremented by an amount equal to the space allocated

50

October 1978 ©BYTE Publications Inc

Powerful Software

with Extended Documentation offered by

PRS—

THE PROGRAM OF THE MONTH CORPORATION

UNVEILS COMPREHENSIVE CONCEPT

IN SOFTWARE PRESENTATION

UNIQUE DOCUMENTATION

Unique documentation gives you clear, complete and instructive text in a graphically appealing manual. This documentation doesn't only provide step by step "how to" but also is geared to help you to understand hardware-software interactions, and to promote further applications.

POWERFUL CODE

Whether it be for games, applications (home and business), or sophisticated programming tools and monitors, PRS permeates the design of its unique code with "human engineering." And youll appreciate the delicate balance between machine-human dialogue and resident programspace in memory.

BEAUTIFUL CASSETTE-FOLDER

PRS packages your manual and cassette in an elegant and durable gold-stamped folder.

AN ARRAY OF PROGRAMS ARE AT YOUR FINGERTIPS

PRS presently offers two S-100 compatible program packages: "MICROFILE," a DATA FILE MANAGEMENT

program, and "DDS II," the famous DYNAMIC DEBUGGING SYSTEM. Also, an Extensive Function Plotter (A2FP) is available for the Apple II. New programs will be released at regular intervals.

YOU'LL DISCOVER EXTENSIVE PROGRAM CAPABILITIES

With "MICROFILE," a new DATA FILE MANAGEMENT program, you can:

• Manage any list of items

• Edit information already on file

• Sort items alphanumerically upwards or downwards Search by primary and/or secondary keys (labels) List and print selected or all items Total sums of columns Justify right or left margins of each column Save and retrieve data with mass storage media

PROGRAM APPLICATION EXPANDS YOUR COMPUTER USAGE

For example, "MICROFILE" manages: Home inventory • Listing of musical tapes • Calendar of activities • Vacation itineraries • Checks by categories • Home-upkeep tickler files • Family historical dates • Health records.

PRS SUPPORTS YOUR MAJOR BRANDS

APPLE, PET, SOL, SORCERER, TRS-80, and other systems with Z-80, 8080 and 6502 processors.

VISIT YOUR NEAREST DEALER TODAY

Let him demonstrate the excellence of PRS programs.

r

i

i

i

Or write for the name of a dealer

in your area to: fl

PRS-THE PROGRAM OF THE MONTH ■

CORPORATION 1

257 Central Park West, New York, N.Y. 10024 ^,

Circle 309 on inquiry card.

New Product Releases From

PRS THE PROGRAM OF THE MONTH CORPORATION

257 CENTRAL PARK WEST NEW YORK, N.Y. 10024

Gentlemen:

□ Please place my name on your priority mailing list to receive your descriptive advance releases off all new programs developed by -PRSat regular intervals.

□ Please send me a list of dealers in my area.

1 I

Name

CorporationAddress

City_

_State_

-Zifc

REFERENCE: 9B8

BYTE October 1978 51

Circle 303 on inquiry card.

KEYBOARD: fully professional. Full 128 ASCII upper G lower cose characters with 79 Keys including a 16 Key numeric pod.

GRAPHICS: 64 pre-defined graphic

chars, and 64 user defined chars.

alternately all 126 graphic chars.

may be user defined. Resolution

240 x 512 points, cursor control,

and 64 chars, by 00 lines.

MEMORY: 4K byte power-on

monitor, 6K byte user RAM, and

8k byte PROM external cartridge

with Microsoft BASIC standard. Cartridges

allow you to change operating systems 6 languages

For complete information write to: PERSONAL SYSTEMS

Ad Design, Joanne De Vore, Kwik Kopy Printing #215

PS-80

without any modification to the standard hardware by simply inserting a PROM cartridge in a side slot.

I /0: serial R5202 300/1200 baud port, 8 bit parallel port, dual cassette recorder port at 300/1200 baud. %£/ jTy EXPANSION: up to 32 K RAM on

fc^^L/ board, I /0 to S-100 6 slot extension

^W "^P* box for additional memory and any

w£/r orher 5-100 peripheral boards.

WW PRICE: $895,00 (does not include CRT or

cassette.) Order by C.O.D.

EDUCATIONAL AND CLUB DISCOUNTS AVAILABLE PERSONAL CONSULTANT AND DEALER INQUIRIES INVITED CONSULTING P.O. Box 20286 El Cajoa California 92021 (714)443-5353

Pascal source

p codes

x+t0*y[5]

LOD

X

LIT

10

LIT

5

LODX

Y

OPR

*

OPR

+

a:=exp;

(exp)

STO

A

if exp then stm 1 else stm2;

(exp)

JPC

0,1bt

(stmD

JMP

1b2

1b1

(stm2)

1b2

for i:=exp 1 to exp2 do stm;

(expl)

STO

(exp2)

I

1b1

OPR LOD

CPY I

OPR

> =

JPC

0,1b2

(stm)

LOD

I

OPR

INC

STO

I

JMP

1b1

1b2

INT

-1

while exp do stm;

1b1

(exp)

JPC

0,1b2

(stm)

JMP

1b1

1b2

case exp of

(exp)

c ib 1,c 1b2:stm 7;

OPR

CPY

ctb3 :stm2;

LIT

db1

else stm3

OPR

=

end;

JPC

1,1b1

OPR

CPY

LIT

db2

OPR

=

JPC

0,1b2

1b1

(stmD

JMP

1b4

1b2

OPR

CPY

LIT

c1b3

OPR

=

JPC

0,1 b3

(stm2)

JMP

1b4

1b3

(stm3)

1b4

INT

-1

repeat stm until exp;

1b1

(stm) (exp)

JPC

0,1b1

i:=funca(exp 1,exp2);

INT

(expD

(exp2)

1

CAL

funca

INT

-2

Table 3: Code generation for various Pascal constructs. For readabiiity} the p-codes are given in assembly form. The italic identifiers in the Pascal statements are nonterminals that can be substituted by any valid expansion. The codes for these quantities are represented by parenthesized identifiers.

for the parameters, getting back to the state before the procedure call. Upon returning from a function call, the stack pointer is also decremented by the same amount, but since a space has been allocated before the function call, the function return value is now on top of the stack, ready for further processing. This simple scheme works very efficiently and should lower the overhead usually associated with procedure or subroutine calls.

Listing 2 gives an output from the compiler for a Pascal program that prints out the maximum of four numbers. There are of course better ways of writing the program, but it does illustrate some ideas of the compiler discussed so far.

There is no optimization of the p-codes produced. Limited optimization can be done on the local level, and some optimization is actually done in the p-code to machine code translator. The problem of producing efficient codes is a difficult one, and is not addressed properly in our project. Given the simplicity of the p-machine and p-code, the p-compiler is efficient. But whether the combination of p-compiler and translator produces efficient 8080 code is uncertain.

This completes our discussion of the p-compiler. In part 3 (see November 1978 BYTE), we give a detailed discussion of a translator for converting the p-code into executable 8080 machine code."

REFERENCES

1. Wirth, N, "The Programming Language Pascal," Acta Informatica, 1, pages 35 thru 63, 1971.

2. Jensen, K, and Wirth, N, Pascal: User Manual and Report (second edition) Springer Verlag, New York, 1974,

3. Wirth, N, Algorithms + Data Structures = Programs, Chapter 5, "Language Structures and Compilers," Prentice-Hall, Englewood Cliffs NJ, 1976.

52

October 1978 ©BYTE Publications Inc

WORLD

OCTOBER SPECIALS

Integral Data Systems Printer t^J^^L

low cost, professional performance

Meet the IP-125. Ideal where you need a spacesaving hard copy printer for your office. Microprocessor controlled, uses 8V2" roll or fan-fold paper. Instantaneous print rate to 100 cps; sustained speed of 50 cps. Just 24 lbs.

• upper, lower case • 7x7 dot matrix

• RS232 serial interface • 256 char, multiple line buffer • tractor feed option $150

$749

$799

Hazeltine 1500 $1095

value packed—every feature is standard! , ■*•■* ^

/ (reg. $1225)

The high-quality basic terminal with extra standard features **"-y you can't find on most CRTs. Plus the features you expect, like Y 24x80 character display, auxiliary serial port, 10-key numeric Wgr IwJ

pad. At this low price, you can order two

• Standard & reverse video

• Upper, lowercase

• Cursor addressing & sensing

• 7x10 dot matrix

LA 180 DECprinter with Serial Interface

mmediate delivery on the field-proven performer

180 cps has never been so affordable. For a limited time, MicroWorld lowers the price of Digital's versatile medium speed printer. Reliable technology and an extensive array of human engineering features make the LA 180 the smart hoice for local or remote business applications. 180 cps, 7x9 dot matrix

• tractor feed with switchable forms length control

• upper/lower case & compressed print, stand

$1705

reg. $1895 JT*

Texas Instruments Impact Printer

don't wait 240 days from Tl — call MicroWorld for immediate delivery.

Tl's new 810 multi-copy impact printer. Prints up to 440 lines per minute because of its unique look-ahead bi-directional feature, controlled by an on-board microprocessor.

• 150 cps, 110 to 9600 baud switchable

• includes tractor feed

• RS232 serial interface

fijcjoUJORLO

1425 W. 12th PI. « Tempe, AZ 85281 Toll-free order line

1-800-528-1418

MicroWorld (formerly Byte Shop Mail Order) is a division of The Phoenix Group, Inc. Call or write for all your computer needs. all prices plus shpg. & hdlg.

New Micro Shopper Guide Vol. IV $5.00 (includes $1.05 postage) Cable MICROAGE

See us at the West Coast Computer Faire (Los Angeles), Biz Comp (Atlanta), Midwest Personal Computing Show (Chicago)

Beck Reviews

microproce/'"

%% n.Mi «*<**•*

Microprocessor Programming for Computer Hobbyists

by Neil Graham

Tab Books (number 952)

Blue Ridge Summit PA 17214

$8.95

Microprocessor Programming for Computer Hobbyists is an intermediate programming text intended for users of any 8 bit word computer. The focus is on systems programming and data structures rather than on applications programming. In order to make the discussion machine independent, all the examples are presented in a high level systems programming language which is a superset of PL/M.

There are six parts to the book. The first introduces numbers systems and the second introduces the high level language which is used throughout the rest of the book. The third discusses techniques for programming various types of arithmetic such as multiple precision, floating point, etc. The fourth section introduces data structures and treats programming techniques for arrays, stacks, strings, chains, trees and graphs. The fifth part discusses techniques for searching with various structures; and the last part discusses sorting algorithms.

The book provides a good introduction and a reference to a number of programming techniques which are not dealt with in introductory programming texts. Most subjects discussed in Microprocessor Programming for Computer Hobbyists do not appear in the average BASIC or assembler text. Because the examples are given in a concise, high level language, they are easy to follow no matter what computer you have.

There are also several shortcomings to the book. First, I indicated that the examples are written in a superset of PL/M. I would have preferred the use of standard PL/M, since I have access to a PL/M cross compiler. Those who do not know PL/M will probably not suffer from this confusion. For the benefit of such readers, the book promises to show you how to translate between its high level language and your machine code, but this is hardly mentioned at all outside of the introduction.

All in all, this is a very good reference book. My only real quibble is that is uses a nonstandard high level language, and does not deliver all that it promises in the way of transferring this to a hobbyist computer.

John A Lehman 716 Hutchins^

Ann Arbor Ml 48103"

1 will aet vou 7

NOW, A TOTAL BUSINESS SOFTWARE PACKAGE OF SEVEN PROGRAMS ON ONE FLOPPY DISC MAKES IT A SNAP.

Our TBS software package has been in use for over a year now without a single failure thereby earning the privilege of joining our national product line. Written in a practical manner for the businessman who needs a total accounting system rather than bits and pieces. The Total Business System differs from other business soft

ware offerings in that it is a Complete package, fully interactive, with automatic updating for all files. Available on floppy disk under Microsoft Disk Basic on CP/M the package requires a minimum of 24K of free memory with 256K of disk memory. We've taken the hard work out of business software for micro computers!

INCLUDES

Payables Payroll Fixed Assets Financial Reports

Receivables Inventory Check Register Etc.

Requires licensing agreement—Dealer discounts available.

O SCIENTIFIC RESEARCH OT\ D/nu >!OnnOO_B Vo\j Ricrnwno PI 11140

PO. Box 490099-B Phone orders call 800-327-6543

Key Biscayne, FL 33149 Information - (305) 361-H53

54 October 1978 © BYTE Publications Inc

COfTlPUTER SOFTWARE

For Homeowners, Businessmen, Engineers, Hobbyists, Doctors, Lawyers, Men and Women

We have been in business for over nine years building a reputation for providing a quality product at nominal prices - NOT what the traffic will bear. Our software is:

• Versatile - as most programs allow for multiple modes of operation.

• Tutorial - as each program is self prompting and leads you through the program (most have very detailed instructions contained right Tn their source code).

• Comprehensive - as an example our PSD program not only computes Power Spectral Densities but also includes FFTs, Inverse-transforms, Windowing, Sliding Windows, simultaneous FFTs variable data sizes, etc. and as a last word our software is:

• Readable - as all of our programs are reproduced full size for ease in reading.

• virtually Machine Independent - these programs are written in a subset of Dartmouth Basic but are not oriented for any one particular system. Just in case your Basic might not use one of our functions we have included an appendix in Volume V which gives conversion algorithms for 19 different Basic's; that"s right, just look it up and make the substitution for your particular version. If you would like to convert your favorite program into Fortran or APL or any other language, the appendix in Volume II will define the statements and their parameters as used in our programs. Over 85% of our programs in the first five volumes will execute in most 8K Basic's with 16K of free user RAM. If you only have 4K Basic, because of its lack of string functions only about 60% of our programs In Volumes I through V would be useable, however they should execute in only 8K of user RAM. For those that have specific needs, we can tailor any of our programs for you or we can write one to fit your specific needs.

Vol. i

Business &

Personal

Bookkeeping

Programs

Bond

Building

Compound

Cyclic

Decision 1

Decision 2

Depreciation

Efficient

Flow

Installment

Interest

Investments

Mortgage

Optimize

Order

Pert free

Rate

Return 1

Return 2

Schedule 1

Games & Pictures

Animals Four

Astronaut

Bagel

Bio Cycle

Cannons

Checkers

Craps

%r*

Judy

Lineup

Pony

Roulette

Sky Diver

Tank

Teach Me

Pictures

A. Newman

J.FK.

Linus

Ms. Santa

Nixon

Noel Noel

Nude

Peace

Policeman

Santa's Sleigh

Snoopy

Virgin

Vol.

Binomial

Chl-Sq.

Coeff

Confidence 1

Confidence 2

Correlations

Curve

Differences

Dual Plot

Exp-Distri

Least Squares

Paired

Plot

Plotpts

Polynomial Fit

Regression

Statl

Stat 2

T-Dlstrl button

Unpaired

Variance 1

Variance 2

XY

APPENDIX A

Beam

Conv

Filter

Fit

Integration 1

Integration 2

Intensrty

Lola

Macro

Max. Mln.

Navald

Optical

Planet

PSD

Randl

Rand 2

Solve

Sphere Irian

Stars

Track

Triangle

variable

Vector

Vol. Ill

Billing

Inventory

Payroll

Risk

Schedule 2

Shipping

Stocks

Swftah

Vol. IV

Vol.V

Bingo

Andy Cap

Bonds

Baseball

Bull Enterprise

Compare ConfldIO

Football

Descrip

Funds 1

Differ

Funds 2

Engine

Go-Moku

Fourier

Jack

Horse

Life

Integers

Loans

Logic

Mazes

Playboy

Poker

Primes

Popul

Probal

Profits

Guadrac

Qubic

Red Baron

Rates

Regression 2

Retire

RoadRunner

Savings

Roulette

SBA

Santa

Tic-Tac-Toe

Stat 10

Stattl

Steel

"fop

Vary

Xmas

APPENDIX B

Vol. VI

Ledger Maintains Company accounts and generates financial reports. Includes routines for Pytl, Iny Depc A/R, A/R

Vol. VII

Chess Designed to challenge the average piayec fairly comprehensive. Great fun for all, offers a unique opportunity for beginners In need of an opponent.

Medbil For Doctors and Dentists alike, a complete patient billing system which also permits the maintaining of a patient history record.

Wdproc Word processing for lawyers, publishers, writers, etc. Wrtte, store, and change from rough draft to final copy In a variety of formats.

Utility Disk utility program with memory testing.

Vol. VIII

1040-Tax Taxpayers return. Itemized deductions or standard

Balance Reconciles bank statements

Checkbook Balances your checkbook

Inst 1 o 78 Computes real cost on bank financed Hems; cars, boats, etc.

Deprec 2 Computes depreciation, 4 methods, any time period

APPENDIX C - FAVORITE PROGRAM CONVERSIONS

Vol. I - $24.95

Bookkeeping

Games

Pictures

Vol. II - $24.95 Math /Engineering Plotting/Statistics Basic Statement Def.

Vol. Ill - $39.95 Advanced Business Billing, Inventory Investments Payroll

Vol. IV - $9.95 General Purpose

Vol.V-$9.95 Experimenter's Program

Vol. VI - $49.95 Mini-Ledger

Vol. VII - $39.95

Professional

Programs

Vol. VIII - $19.95

Homeowner's

Programs

AVAILABLE AT MOST COMPUTER STORES

Master Charge and Bank Americard accepted.

Our Software is copyrighted and may not be reproduced or sold.

Add $1.50 per volume handling, all domestic shipments sent U.RS. except APO and PO. Box which go parcel post. Foreign orders add $8.00/volume tor air shipment and make payable In U.S. dollars only

SCIENTIFIC RESEARCH

RO. Box 490099-B Phone orders call 800-327-6543

Key Biscayne, FL 33149 Information - (305) 361-1153

BYTE October 1978

55

SOLID STATE MUSIC IS

We won't mislead you any longer. Solid State Music—the name is misleading because we're so much more than just music synthesizer boards. We offer the widest line of S-100 boards in the industry. Memory boards for RAM, ROM, and EPROM. Video interface and I/O boards, extender and mother boards, prototyping and vector jump boards, a new CPU board, and, of course, music boards. So we're changing our name to SSM*

You've been enjoying the pleasures of our company

for over four years now. Few competitors can say as

much. In fact, Solid State Music was building quality

boards when the first S-100 bus left the Alrolr® station.

As SSM* we will continue to offer boards that pro

vide quality flexibility and good design. Boards that represent value. Not the least expensive. Not the most expensive. Simply the best combination of price and quality available. That's SSM *

Solid State Music has been known for service. Fast delivery ready customer support, and a strong product warranty Our name is changing. Our tradition of service is not. Orders still shipped from stock. A one year warranty on assembled and tested boards, 90 days on kits. And our people are still on hand, still glad to answer your questions.

Check out the Blue Boards of Happiness when you're after Solid State Music quality reliability and flexibility backed by the friendly support of the oldest S-100 board manufacturer in the marketplace. If you liked us as Solid State Music, you'll love us as SSM*

537

2116 Walsh Avenue Santa Clara, CA 95050 (408)246-2707

*We used to be Solid State Music. We still moke the blue boards.

56 BYTE October 1978

Circle 335 on inquiry card.

Technical Fcwm

Dave MacLean

985 Brussels St

Halifax Nova Scotia

CANADA B3H 2S9

What Have You Found?

I would like to express my opinion about Mr O'Reilly's letter advocating the discovery and use of undefined op codes ("Instruction Search," May 1978 BYTE, page 153). Let me state what I think could be the reasons for the existence of undocumented op codes in a microprocessor instruction set:

• The op code was implemented unsuccessfully and under certain circumstances does not work correctly. The manufacturer was unable to justify correcting the problem, and chose to omit the instruction from the documentation.

• The instruction is an accident, an artifact of the specific implementation. It will work on some devices, but perhaps not on devices from a second source or even from another production run from the same vendor.

• The documentation of the instruction was accidentally left out. In this case, the vendor should have already issued corrections to the documentation, and you have not in fact disclosed any new information.

• The device you tested was defective. The feature does not work for anybody else.

Now I'm not out to criticize you for discovering new things about your processor; I'm just out to warn you that if the feature you think you have discovered is not acknowledged and supported by your vendor, you are taking a chance if you expect it to function correctly and to continue to be a feature in future versions of the processor.

If you refer to The Mythical Man-Month by Fred Brooks, you will find a revealing discussion of the consequences of the extra op codes on the IBM 7090. Brooks makes a very strong case for the significance of the "architecture specification" of a system, which states clearly what is to be expected of a piece of hardware, and equally clearly specifies those situations in which the results of an operation are "undefined." Briefly, the outcome of undefined operations is left up to the implemented, and may be chosen by them as they see fit. Cost, convenience and plain luck have much to do with the eventual results."

THE BLUE BOARD OF HAPPINESS

Its the new CD-1 CPU board from SSM.

Its blue. And its loaded.

(That's why it's hoppy.)

Loaded with so many features.

Just add an I/O board and

you've got a computer.

Loaded starts with 256 bytes of on-board RAM. Add 2K of optional on-board 2706 EPROMs. Then add a power-on/reset jump circuit, and the availability of MWRITE, allowing use without a front panel.

And then there's a parallel input port with status. And enough DIP switching to make you dizzy DIP controlled addressing of PROM in 2K blocks—of vector jump in 2K increments—of RAM in 256 byte increments—of input port for addresses 0 to 31 in decimal.

Like all SSM boards, the S-100 compatible CD-1 includes gold-plated edge connectors and Tl low-profile sockets. And SSM support and warranty. Yet, even as loaded as our CB-1 is, the price won't leave you breathless. Only $144.95. And an introductory offer at only $129.95 makes it even happier. (Offer expires November 30, 1978.)

Available direct from SSM, or at over 100 retail locations.

Video and teletype monitor programs are available on EPROM for only $34.95 with the purchase of any SSM kit.

SSM manufactures a full line of S-100 boards. How full? Too fui for this ad. Just check the ad across the page.

2116 Walsh Avenue Santa Clara, CA 95050 (406) 246 2707

*We used to be Solid State Music. We still moke the blue boards. Circle 335 on inquiry card. October 1978©BYTE Publicationsinc

57

Testing Memory in BASIC

Russell E Adams 3008 Mosby St Alexandria VA 22305

1ST

I hate to toggle in a program through the front panel of my computer. Yet every time I finish a new memory board I have to do this to a machine language memory test program. I therefore resolved to write a memory test program in BASIC which could be loaded with an 8 K interpreter in 8 K of proven memory. The BASIC program in listing 1 is the result.

The program is written in MITS 8 K version 4.0 BASIC and uses multiple statement lines with statements delimited by a colon (:). In addition to the normal functions of most BASICs, the program requires

** BASIC WErlC^Y TEST REV.5 COPYRIGHT 1 S77 F.E./DA.M£

0 REM

1 'JftEM' -"

25 CLEAR 80

30 ■'INP:UT"$TART WITH BEGINNING OF PAGE"; A

35 IF A<2 OR A>7 OR AolNT(A) THEN PRINT'ERROR" :GOT030 hO INPUT"END WITH END OF PAGE";?

45 IF B<>INT(B) OR B<A OR B>7 THEN PR ltlnERROR" iGQlOkO 50 ■■A=4096*A:B5*096*(B+I)-1 '■■■

55 PRINT:PRINT"TES[ PATTERN * 1 LOADING" :PRINT 60 -P1 = 35:P.2=17C:GOSUB 300 70 R = 8:X=A:GOSU3 5CO:AS=NS

■75. X=B:G0SUB 500.*8$=N$

80 PRINT :PRINT"MEMC»RY TEST 2\ FROM ";A<;,f TO " ;3$ ;" OCTAL" 85 PRINT:PRINT,,A0DRE$Si\hDATA,\,,SHOULD BE" 90 G0SUB 350

95 PRINT^RINT^RINTMEST PATTERN £2 LOADING" :PR INT 100 Pl=170:P2=85:GOSUe 300

110 PRINT :PRINT"MEMORY TEST Z2 FROM ";£$;" TO W;B$;W OCTAL* 115 PR INT :PRINTttAQDRESy\" DATA", "SHOULD BE" 120 G0SU8 350

125 PRINT:PRINT"T£ST COMPLETED" 13C END

300 FOR I=A TO B-l STEP 2 305 POKE I,P1 :P0KE 1+1fP2 315 NEXTJRETURN 350 0=P»:FOR I=A TG B-l STEP 2

352 2=PEEK(I) UF 2<>D THEN G0SUB 365

353 NEXT I

354 D=P?:F0R I=A+1 TO B STEP 2

355 2=PFEK(I):IF Z<>D THEN G0SU8 365 360 NEXT I.:IF.F = 0 THEN PRINT"N0 BAD BITS DETECTED"

36 3 F=0:RETURN

365 F = i:R=8:X=l:G0SUB 500 :BA$=NS 370 R=2:X=Z:GOSUB5CO:D$=N$ 375 X=D:G0SUB 500

390 IF LEN(D$)<>8 THEN 0$-»O*+D$ :GOT0390 395 IF LEN(N$)<>8 THEN N$=«C"+N$ :GOT0395 410 PRINTBA$f0$,N$ 415 RETURN 500 N$=""

505 K = INT(X/R) :L = X-R*K 51C N$=RIGHT$(STR$(L),1)+N$ 515 IF K<>0 THEN X=K:GCT0505 5 20 RETURN OK

Listing 1: A BASiC memory test program. The memory to be tested is first ioaded with the alternating patterns "01010101" and "10101010" in the even and odd memory locations, respectively. After testing all the locations, a second pattern (the logical inverse of the first) is loaded and tested. If any bit is influencing the state of an adjacent bit, the bad bit will be detected.

PEEK and POKE with arguments between 0 and 32767. In addition, the program needs the following BASIC primitives which may not exist on every system:

CLEAR 80 |

INPUT", .prompt. ."

IF.. .OR...OR. .THEN

INT

GOSUB

LEN

RIGHT$

STR$

The program has two parts: lines 25 to 130 contain the main program, while lines 300 to 520 contain four subroutines. Subroutine 300 loads a test pattern into memory; subroutine 350 reads back the data in memory and compares it to what the data should be; subroutine 365 prints out the bad address and the data; and subroutine 500 converts a base ten number into a base R number.

The memory under test is subjected to two test patterns. The memory is first loaded with the alternating pattern 0101 0101, 10101010, the first byte being placed in all the even addresses and the second being placed in all the odd addresses. After reading and comparing the first pattern, the second pattern is loaded. The second pattern consists of 10101010 loaded in all the even addresses and 01010101 in all the odd addresses. This alternating pattern is used so that if a bit is influencing the state of another adjacent bit, the bad bit will be detected (the pattern assumes that adjacent addresses are physically wired up as in the memory parts specifications).

The BASIC interpreter must be limited to the lowest 8 K of memory. In MITS 8 K you answer the initial dialog MEMORY SIZE? with 8191. Also the trigonometric functions must be deleted. The program asks which pages of memory are under test. The first 4 K of memory is defined as page 0 and the last 4 K of memory is defined as page 15. The memory under test must be addressed between page 2 and 7, inclusive. This is sufficient space to test six 4 K boards, three 8 K boards, or one 16 K board.

The program takes about two minutes

58

October 1978 © BYTE Publications Inc

qsUise Pascal

ftisw.

m

NMS 85 SERIES NORTHWEST MICROCOMPUTER SYSTEMS

CLASSIC OEM DEVELOPMENT TOOLS

85/P-$7,495

• 8085, 3MHz, 54K User/tOK System Memory

• 1 2 Mb Dual Density Flop0ie$v 4ms Step, DMA

• Keyboard, RS232 Ports*-Raw* BASICS, Assembler OPTIONS

Fast floating Point APU, 5MHz Timers, Ports, Modem, Clock

• COBOL, FORTRAN, Sort, Decimal, Graphics

VINTAGE TURNKEY BUSINESS SYSTEMS

• Accounts Receivable: Billing, Aging, Full Ftsrms Data Entry

• Word Processing: Screen Edit, Search, Justification, Pags Numbering, Headings, etc.

• Client Information Management*

• General Ledger

• Fuel Dispensing and Accounting -

121 EAST ELEVENTH, EUGENE, OREGON 97401 (503) 485-0626

Circle 286 on inquiry card.

/

to test 4 K of memory. A sample printout is shown in listing 2. The program first asks the questions START WITH BEGINNING OF PAGE? and END WITH END OF PAGE?. These questions are answered with the appropriate page numbers of the memory under test. The program then prints TEST PATTERN #1 LOADING and starts loading the memory with the first test pattern. Next, the two lines MEMORY TEST #1 FROM TO

OCTAL and the headings ADDRESS, DATA, and SHOULD BE are printed. The program then reads back the data in the memory and compares it to what the data should be. If the data does not compare, the address in octal is printed under the heading ADDRESS, the data in the memory address is printed in binary under the heading DATA and the data that should have been in the address is printed in binary under the heading SHOULD BE. The bits of the two bytes which do not compare

TERMINALS FROM TRANSNET

PURCHASE

12-24 MONTH FULL OWNERSHIP PLAN

36 MONTH LEASE PLAN

PURCHASE PER MONTH

DESCRIPTION PRICE 12 MOS 24 MOS 36 MQS

DECwriterll $1,495 $145 $ 75 $ 52

DECwriterlll 2,695 257 137 95

DECprinter I 1,795 172 92 63

VT52 DECscope 1,695 162 85 59

VT100 DECscope 1,695 162 85 59

VT55 DECgraphic CRT 2,395 229 122 84

ADM 3A CRT 875 84 45 30

HAZELTINE 1400 CRT. 845 81 43 30

HAZELTINE 1500 CRT. 1,195 115 61 42

Tl 745 Portable 1,875 175 94 65

Tl 765 Bubble Mem.... 2,995 285 152 99

Tl 810 RO Printer 1,895 181 97 66

Tl 820 KSR Terminal .. 2,395 229 122 84

Data Products 2230 ... 7,900 725 395 275

QUME, Ltr. Qual. KSR . 3,195 306 163 112

QUME, Ltr. Qual. RO .. 2,795 268 143 98

DATAMATE Mini floppy 1,750 167 89 61

FULL OWNERSHIP AFTER 12 OR 24 MONTHS 10% PURCHASE OPTION AFTER 36 MONTHS

ACCESSORIES AND PERIPHERAL EQUIPMENT

ACOUSTIC COUPLERS • MODEMS • THERMAL PAPER RIBBONS • INTERFACE MODULES • FLOPPY DISK UNITS

PROMPT DELIVERY • EFFICIENT SERVICE

x

TransNet Corpora t/o\

2005 ROUTE 22, UNION, N.J. 07083

201-688-7800

indicate that they are defective. If no bad locations are detected, NO BAD BITS DETECTED is printed. The program then prints TEST PATTERN #2 LOADING and repeats basically the same above described display only for test #2.

This program should not only detect inoperative memory but also "slow" memory, "forgetful" memory and "bleeding" memory- Just type in the program and save it on tape; then the next time you have a new memory board to test, no more toggling!"

Listing 2: A sample run of the memory test program.

RUN

START WITH BEGINNING OF PAGE? 6

END WITH END OF PAGE? 6

TEST PATTERN 2] LOADING

MEMORY TEST £l FROM 60000 TO 67777 0C

ADDRESS CATA SHOULD 9

NO BAD BITS DETECTFC

TEST PATTERN 22 LOADING

MEMORY TEST 22 FROM 60C00 TO 67777 OC

ADDRESS DATA SHOULD BE

NO BAD BITS DETECTED

TEST COMPLETED

OK

RUN

START WITH BEGINNING OF PAGE? 7

END WITH END OF PAGE? 7

TEST PATTERN Z\ LOADING

MEMORY TEST *1 FROM 70000 TO 77777 OC

SHOULD BE

0101.0101

01010101

01010101

01010101

01010101

01010101

01010101

01010101

01010101

01010101

ADDRESS

DATA

70000

1 1111

70002

11111

70004

11111

70006

11111

70010

1 11 11

70012

11111

70014

11111

70016

11111

70020

mil

70022

11111

TEST PATTERN 22 LOADING

MEMORY TEST 22 FROM 70C00 TO 77777 OC

SHOULD BE

10101010

10101010

10101010

10101010

10101010

10101010

10101010

10101010

ADDRESS

DATA

70000

11111

70002

11111

70004

11111

70006

11111

70010

11111

70012

111 11

70014

inn

70CI6

inn

■HHHHHiHi

60

October 1978 © BYTE Publications Inc

Circle 374 on inquiry card.

There's a BYTE B<

• It

in your future

BYTE October 1978 61

•.. And the f utur

BYTE Publications, Inc. is proud to announce the creation of its new Book Division, which publishes books of interest to computer people. Readers will find a wide range of topics published as BYTE Books, including new material as well as collections of reprints of the best BYTE magazine articles. (Jsers of small computers will find PAPERBYTE™ Books to be complete descriptions of useful system software including detailed user documentation, source listings where possible, and the PAPERBYTE™ bar code representation of executable code.

To keep the cost reasonable and available to the greatest number of readers, the books will be paperback editions in the 8-1/2 x 11" format You may purchase the initial selections directly from BYTE via mail order or from your favorite computer store or book distributor. PROGRAMMING TECHNIQUES is a new series of BYTE BOOKS concerned with the art and science of computer programming. It is a collection of the best articles from BYTE magazine and new material collected just for this series. The book provides the personal computer user with background information to write and maintain programs effectively.

The first book in the Programming Technique series is entitled PROGRAM DESIGN. It discusses in detail the theory of program design. The purpose of the book is to provide the personal computer user with the techniques needed to design efficient, effective, maintainable programs. Included is information concerning structured program design, modular programming techniques, program logic design, and examples of some of the more common traps the casual as well as the experienced programmer may fall into. In addition, details on various aspects of the actual program functions, such as hashed tables and binary tree processing, are included.

ISBN 0-931718-12-0 Editor: Blaise W. Liffick Pages: 96 Price: $6.00 Publication: Fail 1978

In SIMULATION, the second book of the series, are articles dealing with various aspects of specific types of simulation. Both theoretical and practical applications are included. Particularly stressed is simulation of motion, including wave motion and flying objects. The realm of artificial intelligence is explored, along with simulating robot motion with the microcomputer. Finally, tips on how to simulate electronic circuits on the computer are detailed.

ISBN 0-931718-13-9 Editor: Blaise W. Liffick Pages: approx. 80 Price: $6.00 Publication: Fall 1978

The third book is NUMBERS IN THEORY AND PRACTICE. This book includes information of immense value to both the novice and the experienced personal computerist. The mechanics of the binary system are discussed, including division and multiplication, as well as the places to look for numerical error in programs. Floating point numbers, what they are and how to use them, are covered. There are also sections on numerical methods (functions, approximations, statistics), Boolean math, and several different approaches on how to obtain random numbers.

ISBN 0-931718-14-7 Editor: Blaise W. Liffick Pages: approx. 100 Price: $6.00 Publication: Fall 1978

The fourth book so far scheduled in this series is called BITS AND PIECES. The articles collected for this book are mostly unrelated and do not neatly fit into the topics of the previous three books, but still have a lot to do with programming techniques. Areas such as multiprogramming and interactive computing with the personal computer are discussed, as well as stacks, sorting, Polish notation, and program optimization. This is by far the most general book of the series.

ISBN 0-931718-15-5 Editor: Blaise W. Liffick Pages: approx. 100 Price: $6.00 Publication: Fall 1978

s right now!

RA6800ML: AN M6800 RELOCATABLE MACRO ASSEMBLER is a two pass assembler for the Motorola 6800 microprocessor. It is designed to run on a minimum system of 16 K bytes of memory, a system console (such as a Teletype terminal), a system monitor (such as Motorola MIKBCJG read only memory program or the 1COM Floppy Disk Operating System), and some form of mass file storage (dual cassette recorders or a floppy disk).

The Assembler can produce a program listing, a sorted Symbol Table listing and relocatable object code. The object code is loaded and linked with other assembled modules using the Linking Loader LINK68. (Refer to PAPERBYTE™ publication LINK68: AN M6800 LINKING LOADER for details.)

There is a complete description of the 6800 Assembly language and its components, including outlines of the instruction and address formats, pseudo instructions and macro facilities. Each major routine of the Assembler is described in detail, complete with flow charts and a cross reference showing all calling and called-by routines, pointers, flags, and temporary variables.

In addition, details on interfacing and using the Assembler, error messages generated by the Assembler, the Assembler and sample lO driver source code listings, and PAPERBYTE™barcode representation of the Assembler's relocatable object file are all included.

This book provides the necessary background for coding programs in the 6800 assembly language, and for understanding the innermost operations of the Assembler.

ISBN 0-931718-10-4 Author: Jack E. Hemenway Pages: approx. 120 Price: $25.00 Publication: Fall 1978

wjivnrvw

LINK68: AN M6800 LINKING LOADER is a

one pass linking loader which allows separately translated relocatable object modules to be loaded and linked together to form a single executable load module, and to relocate modules in memory. It produces a load map and a load module in Motorola MIKBGG loader format. The linking Loader requires 2 K bytes of memory, a system console (such as a Teletype terminal), a system monitor (for instance, Motorola MIKBGG read only memory program or the ICOM Floppy Disk Operating System), and some form of mass file storage (dual cassette recorders or a floppy disk).

It was the express purpose of the authors of this book to provide everything necessary for the user to easily learn about the system. In addition to the source code and PAPERBYTE™ bar code listings, there is a detailed description of the major routines of the Linking Loader, including flow charts. While implementing the system, the user has an opportunity to learn about the nature of linking loader design as well as simply acquiring a useful software tool.

ISBN 0-931718-09-0 Authors: Robert D. Qrappel & Jack E. Hemenway Pages: 48 Price: $8.00 Publication: Summer 1978

TRACER: A 6800 DEBUGGING PROGRAM is

for the programmer looking for good debugging software. TRACER features single step execution using dynamic break points, register examination and modification, and memory examination and modification. This book includes a reprint of "Jack and the Machine Debug" (from the December 1977 issue of BYTE magazine), Tracer program notes, complete assembly and source listing in 6800 assembly language, object program listing, and machine readable PAPERBYTE™ bar codes for the object code.

ISBN 0-931718-02-3 Authors: Robert D. Grappel & Jack E. Hemenway Pages: 24 Price: $6.00 Available now

TINY ASSEMBLER 6800, Version 3.1 is an enhancement of Jack Emmerichs' successful Tiny Assembler. The original version (3.0) was described first in the April and May 1977 issues of BYTE magazine, and later in the PAPERBYTE™ book TINY ASSEMBLER 6800 Version 3.0.

In September 1977, BYTE magazine published an article entitled, "Expanding The Tiny Assembler". This provided a detailed description of the enhancements incorporated into Version 3.1, such as the addition of a "begin" statement, a "virtual symbol table", and a larger subset of the Motorola 6800 assembly language.

All the above articles, plus an updated version of the user's guide, the source, object and PAPERBYTE™ bar code formats of both Version 3.0 and 3.1 make this book the most complete documentation possible for Jack Emmerichs' Tiny Assembler.

ISBN 0-931718-08-2 Author: Jack Emmerichs Pages: 80 Price: $9.00 Publication: Summer 1978

SCIPERWOMPCJS is an exciting computer game incorporating the original structure of the WGMPCJS game along with added features to make it even more fascinating. The original game was described in the book What To Do After You Hit Return, published by the People's Computer Company. Programmed in both 6800 assembly language and BASIC, SCJPERWCJMPUS is not only addictively fun, but also provides a splendid tutorial on setting up unusual data structures (the tunnel and cave system of SCIPERWUMPGS forms a dodecahedron). This is a PAPERBYTE™ book.

ISBN 0-931718-03-1 Author: Jack Emmerichs Pages: 56 Price: $6.00 Publication: Summer 1978

MONDEB: AN ADVANCED M6800 MONITORDEBUGGER has all the general features of Motorola's MIKBGG monitor as well as numerous other capabilities. Ease of use was a prime design consideration. The other goal was to achieve minimum memory requirements while retaining maximum versatility. The result is an extremely versatile program. The size of the entire MONDEB is less than 3 K.

Some of the command capabilities of MONDEB include displaying and setting the contents of registers, setting interrupts for debugging, testing a programmable memory range for bad memory locations, changing the display and input base of numbers, displaying the contents of memory, searching for a specified string, copying a range of bytes from one location in memory to another, and defining the location to which control will transfer upon receipt of an interrupt This is a PAPERBYTE™ book

ISBN 0-931718-06-6 Author: Don Peters Pages: approx. 72 Price: $5.00 Publication: Summer 1978

BAR CODE LOADER. The purpose of this pamphlet is to present the decoding algorithm which was designed by Ken Budnick of Micro-Scan Associates at the request of BYTE Publications, Inc., for the PAPERBYTE™ bar code representation of executable code. The text of this pamphlet was written by Ken, and contains the general algorithm description in flow chart form plus detailed assemblies of program code for 6800, 6502 and 8080 processors. Individuals with computers based on these processors can use the software directly. Individuals with other processors can use the provided functional specifications and detail examples to create equivalent programs.

ISBN 0-931718-01-5 Author: Ken Budnick Pages: 32 Price: $2.00 Available now

BYTE BOOKS Division • 70 Main Street • Peterborough, New Hampshire 03458 ■

Name

Title

Company

Street

City

State/Province

Code

□ Check enclosed in the amount of $

□ Bill Visa □ Bill Master Charge Card number

Please send the books I have checked

□ Program Design $6.00

□ Simulation $6.00

Expiration Date_

□ Numbers in Theory & Practice $6.00

□ Bits & Pieces $6.00

□ RA6800ML $25.00 DUnk68$8.00

BYTE BOOKS, BYTE BOOKS logo, and PAPERBYTE are trademarks of BYTE Publications, Inc.

□ Tracer $6.00

□ Tiny Assembler (3.1) $9.00

□ SUPERWUMPCIS $6.00

□ Mondeb$5.00

□ Bar Code Loader $2.00

Add 50* per book to cover postage and handling

Please allow 6-8 weeks for processing your order.

Technics! Fopum

F D Sodamann

2603 N Greenwood

Pueblo CO 81003

In Defense of Analog?

I am an avid and enthusiastic supporter of the personal computing hobby and of BYTE. (At present I am building a full 6502based OSI machine which pleases me very much.) But I am an old timer in electronics and think that all the fantastic digital devices which have been developed over the last few years have convinced people that general purpose analog computers belong in museums.

I feel there are a couple of things we digital hackers ought to consider:

1. Computing is computing. Setting up an analog machine to solve a differential equation is as satisfying as writing an elegant software program and, given some proper peripheral equipment, the results can be useful and aesthetically pleasing.

2. In some areas, analog machines can do a better job more easily; compare rewiring an analog machine to writing a a Runge-Kutta program or performing a slow digital computation when a less precise but real time analog computation will do).

3. The present CA3XXX series of op amps should be able to increase the accuracy of an analog machine by several orders of magnitude, especially when using a good analog/digital design for a digital readout.

Surely among your readers there are people who think as I do; I'd like to contact such people and find out the following things:

1. Does any manufacturer produce printed circuit boards or kits to build a reasonably powerful machine — say 4 or 5 integrators?

2. Does anyone have an old general purpose machine which could be updated? Is it for sale?"

Program faster, debug easier now

Flowchartrix™ a unique flowchart development tool from Stirling/Bekdorf, saves you time, space, and money, no matter what language you work with. Whether you program professionally or just for fun. The 78F2 Flowcharts™ helps your thoughts move in logical steps, and lets you retrace logic easily when debugging.

When you use "top-down" programming methods, you can use the 78F2 to lay out your original logic concept blocks. Then by following the plan you lay out in words at the concept stage, you can write a finely detailed flowchart quite smoothly. Then it's easy to write actual code based on the flowchart.

54% more logic cells than other flowchart forms, so you get far more of your program on each page. Each Flowchartrix has a full 77 logic cells, not just 50. This not only saves paper, but also makes your finished flowcharts easier to understand. By seeing up to 27 extra steps of your program on each page, you comprehend program flow more clearly. That's important while writing the flowchart, more important when you write actual code. It's also extremely helpful when you debug, and indispensable when you come back months or years later to modify your original work. 78F2's higher matrix count makes your flowcharts quicker to debug because there are fewer pages to search for errors. Fewer pages also save you money and storage space.

Unique matrix can show your loops AS loops. The Flowchartrix 7x11 matrix gives you plenty of room to write loops laid out as sort of a squared circle. This makes loops and subroutines easier to recognize, because their form is readily apparent at a glance. Since they're easier to find, and may even be completed on a single page, they're also simpler to debug or modify.

Every matrix cell has a specific label to help you track branch points. Now it's far easier to follow your program from page to page, point to point. When you write program documentation, having a separate reference point for each cell makes your program much easier to describe clearly.

With Flowchartrix, you don't need a shape template to draw remarkably regular logic symbols. Guides for the most-used logic symbols are right in each matrix cell. They help you draw most standard flowchart symbols entirely free-hand. This saves all the time you'd otherwise spend hunting a shape template and positioning it to draw every symbol. Your train of thought need no longer be interrupted by template tedium. With 78F2, your pencil can fly as fast as you can write, without interruption. When a flash of insight strikes, now you can keep your pen on paper, flowing rapidly from one step to the next without a break.

78F2 is surface-engineered to take both pen and pencil without blotching. The tough 22* base stock is the same brilliant white opaque material used in our 78C1 Combination Coding/CRT Layout forms. Pure enough to use with magnetic ink scanners, heavy enough to withstand vigorous erasure, every Flowchartrix gives you crisp, sharp, characters and symbols. It takes ink without spreading, and accepts soft pencil lead with good contrast.

Order your supply today. Ask your local computer store for Stirling/ Bekdorf™78F2 Flowchartrix™ To enjoy the world's most advanced program development aids most, use the entire Stirling/Bekdorf system: 78F2 Flowchartrix (for concept planning and flowcharting), 78C1 Combination Coding/ CRT Layout forms (for coding and display planning in BASIC, OPUS, and other line-number languages), and 78P4 Print-Out Design Sheets (to design report printouts for easy coding). Our programming tools work together as a complete system to save time and reduce errors during every stage of program development, from concept to completion. Try them for yourself today. If your store is out-of-stock, use the coupon below to get yourself a supply on the way now.

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■a

YES! Please rush the programming aids indicated below:

78F2 Flowchartrix™

□ two 50-sht. pads. $7.90 + $2.85 shpg.

□ ten 50-sht. pads $34.35 + $6.45 shpg.

78C1 Coding/CRT Combination

□ two 50-sht. pads: $6.35 + $1.95 shpg.

□ ten 50-sht. pads: $26.85 + $3.35 shpg

78P4 Print Out Designer

□ one 50-sht, pad: $7.45 + $3.15 shpg. □ five 50-sht. pads $32.10 + $6.75 shpg. Texas residents please add 5.5% sales tax to base price

Enclosed is my check for $

Charge to: QMaster Charge QVisa exp. date

Card ~~

_ Signature

Dealer inquiries welcome

Name

Address. City

.Phone.

. State.

.Zip.

We ship UPS so P.O. Box address must give phone number

Stirling/Bekdorf

blO4407 Parkwood a San Antonio, TX 78218 n (512) 824-5643

Circle 352 on inquiry card.

October 1978 © BYTE Publications Inc

65

HOW TO BEAT THE SYSTEM WITH SYNCHRO-SOUND

High-performance, low cost complete Microcomputer Business Systems (plus Software)

at EXTRA savings only Synchro-Sound can offer!

(SYSTEM

N0 1 /DIGITAL SYSTEMS DSCw Z-80 COMPUTER SYSTEI

32K RAM, 4 RS-232 serial interfaces 16 bits of parallel I/O. Double density floppy disk, Shugart dual-drive,

Regular price $4995.00

CENTRONICS 700 PRINTER With RS-232 Interface

60 characters per second, 132 column line, tractor feed.

Regular price $1720.00

HAZELTINE 1500 VIDEO TERMINAL

80 character lines, 24 line page, line and page editing. Separate numeric keypad.

Regular price $1149.00

$7864.00

THE COMPLETE SYSTEM Mfirii- ««

only $7495.00

SAVE $369.00!

IMSAI VDP 80 DATA PROCESSING COMPUTER SYSTEM

32K RAM, expandable to 196K. Parallel and serial I/O. Megabyte mass storage, alphanumeric intelligent keyboard.

Regular Price $6995.00

OKIDATA 22 PRINTER With RS-232 Interface

Tractor feed, 132 column, 125 Ipm, upper and lower case. 12 different fonts on command.

Regular price $2888.00

$9883.00

THE COMPLETE SYSTEM An/.,,c m

only pSKkkI.UU SAVE $438.00!

CR0MEMC0 SYSTEM 3 Z-80 COMPUTER SYSTEM

32K RAM, dual disk drive, RS-232 Interface. S-100 bus.

Regular price $5990.00

MODEL 3703 LINE PRINTER

180 characters per second, print line width 132 cols., bi-directional printing.

Regular price $2995.00

CRT TERMINAL MODEL 3100

80 characters per line, 24 lines, up to 19,200 baud, upper and lower case.

Regular price $1595.00

$10,580.00

THE COMPLETE SYSTEM ^in „_ „

ONLY $10,093.00 SAVE $485.00!

Three software packages* that enable you to profitably make full use of your Microcomputer Business System

ACCOUNTS RECEIVABLE PACKAGE Creates transaction file of charges, credits and payments. Batch mode for monthly statements and aged schedules. Operators manual and disk, single copy $500.00

INVENTORY PACKAGE Maintains current listing of stock items, master inventory listing with price and cost data. Operators manual and disk, single copy $500.00

ORDER-ENTRY PACKAGE (Requires Accounts Receivable and/or Inventory Package) Links Accounts Receivable and Inventory packages into one coherent, easy-to-use, timesaving system. Operators manual and disk, single copy $500.00

Buy any of our 3 MICROCOMPUTER SYSTEMS and any combination of these

3 SOFTWARE PACKAGES ARE YOURS FOR

HALF PRICE!

# Require 48K Memory and Microsoft Basic

Terminal and Printer substitutions may be made on any of the above Systems

CUSTOMIZED HARDWARE SYSTEMS ARE AVAILABLE

Complete modern servicing and consulting facilities on premises

SYNCHRO-SOUND ENTERPRISES INC

The Computer People

193-25 Jamaica Avenue,

Jamaica, New York 11423

212/468-7067 TWX: 710-582-5886

Hours 9-4 daily Visit our new showroom

and Saturday Working units on display

Dept bsy BankAmericard • Master Charge

BYTE October 1978

Circle 355 on inquiry card.

THERE'S A NEW ADDITION TO THE HAZELTINE FAMILY...AND

SYNCHRO-SOUND'S

GOT IT!

THE ALL-NEW HIGH-PERFORMANCE LOW COST

HAZELTINE 1400 VIDEO TERMINAL

All 128 ASCII Codes* 64 Displayable Characters • High Resolution 5 X 7 Dot Matrix • Cursor Addressing and Sensing EIA Interface • Rates up to 9600 Baud • Self Test

^ uZfiUl per month*

$799.00 complete

HAZELTINE 1500 VIDEO

TERMINAL

Reverse video 24 X 80 display Programmable brightness levels RS232 and current loop... and much more

$39.57

per month* $1149.00 complete

995.00 kit

HAZELTINE MODULAR 1 EDIT

INTELLIGENT TERMINAL

• 1920 character display

• 8 different video levels

• Full editing capability

• Removable keyboard ...and much more

SYNCHRO-SOUND

The Computer People

193-25 Jamaica Avenue, Jamaica, New York 11423 DePf h

212/468-7067 TWX 710-582-5886

West Coast: 5810 Commerce Blvd.

Rohnert Park, CA. 94928 • 707/544-2865

ENTERPRISES, INC.

I Hours 9-4 Daily and Saturday

$57.14

per month*

$1659.00 complete

*36 month lease Maintenance additional

OEM pricing available

Visit our new showroom Working units on display

Circle 355 on inquiry card.

BYTE October 1978

67

A*

^^softv

software system

FAMOS™ MULTI-TASKING DOS

• Multi user file security

• Automatic file & data integrity

• Device independent file system

• Multi-sessioning/spooling

• 20+ terminals supported

MVT-BASIC™ MULTI-USER COMPILER

9 Powerful string, file I/O

• Error Trapping

* Basic and machine language

program calls

• Library function

* Random, Sequential, ISAM

file support

MVT-WORDFLOW™ MULTI-USER WORD PROCESSING PROGRAM

• Search/replace

• "Cutting & pasting" scratch pad

• Simultaneous multi-file editing 9 Automatic Field insertion

• Supports all RS232 terminals

MVT-ASMZ™ MACRO 280/8080 ASSEMBLER

Relocating

Nested Macro calls & definitions

Cross references

Debug package

Library facilities

MVT

• • • • •

alii mn eh

MICROCOMPUTER SYSTEMS INC. 9241 Reseda Blvd., Suite 203 North ridge, CA 91324 Phone: (213) 349-9076

Programming Quickies

Formatting Dollars and Cents

Les Paienik 25 Silver springs Blvd Suite 512

Scarborough Ontario M1V1M9CANADA

Listing 7: BASIC program for formatting doilars and cents in BASIC interpreters that do not have the PRINT USING function. A Iso sho wn is a sample run of the program.

Most of the BASIC interpreters available on the microcomputer market today do not provide the PRINT USING option. I have written a formatting subroutine that will perform some of the PRINT USING functions for monetary output:

• Round the monetary amount to the nearest cent.

• Convert the numeric value to a character string and check the digits after the decimal point. If the last one or both digits are missing, insert zeroes.

• Insert a dollar sign in front of the converted amount. If the amount is less than ^} insert a 0 in front of the decimal point.

• Supply the length of the amount.

Before calling the subroutine, we have to pass the dollar figure to be processed to the variable X1. The converted figure is passed back in the variable X$, The length of the formatted amount is passed back inX3.

The routine in listing 1 has been written in the Commodore PET-2001 version of Microsoft BASIC. Modifications may be required for other BASIC interpreters. The remarks can be deleted for faster execution and memory savings.

I use this subroutine in most of my programs. I place it rather high in the program (line numbers 3000 thru 3099) so I can always use the same line numbers."

to

20

30 40 3000 3001 3002 3003 3004 3005 3010 3020 3025 3030 3035 3040 3041 3042 3045 3050 3055 3060 3065 3070 3075 3080 3085 3086 3090 3091 3095 3099

RUN

INPUT A

X1*A:G0SUB 300 0

PRINT TABC20-X3>jX*

GOTO 10

REM ******************************

REM THIS SUBROUTINE WILL FORMAT

REM DOLLARS AND CENTS

REM ******************************

REM ROUND THE AMOUNT

Xl=INT(Xi*100+.5)/100

X0t*,,MsX$*H"

IF X1»0 GOTO 3030

IF XKi THEN X0«*"0"

Xi*«STRt<XU

X2=LEN(X1*>

X2*X2-i

REM DELETE SPACE IN FRONT

REM OF THE FIRST DIGIT

X1*=MID*(X1*,2,X2)

FOR 1*1 TO X2

X2*=*MID$(Xi*,I,i)

X3«I

IF X2«="." GOTO 3085

NEXT I

X»«".00M

GOTO 3090

IF X3=<X2-1) THEN X**"0"

REM CREATE THE FINAL STRING

X*="*M+X0*+X1«+X«

REM FIND THE STRING LENGTH

X3*LEN(Xt>

RETURN

?2 72,2

?2.22 ?2.222 ?222 775.756

$2.00 $2.20 *2.22 *2.22

*222.0 0 ♦75.76

68 byte October 1978 Circle 269 on inquiry card.

ARTEC CRAFTSMANSHIP HAS CREATED

The First Truly Silent Motherboard

Noise in your bus lines means errors in your programs. The Artec shielded Motherboard totally eliminates noise.

At 4MHz, the Artec shielded Motherboard is free from spurious noise. No ringing in your bus lines No errors in your programs.

This Motherboard offers you engineering and craftsmanship never before available in the small computer field. Outstanding as either a replacement for your present Motherboard or as the heart of a new system. Consider these features:

■ Vsth inch thick—more than twice as thick as most Motherboards.

■ Totally shielded—all holes plated through; full bus terminations,

■ Fits easily into any standard chassis.

■ Masterite edge connectors—the finest quality connectors available.

■ Ref lowed solder circuitry.

■ No soldering required.

■ Designed for the S-100 bus.

The Motherboard price is: $150(kit)

$190 (ASSEMBLED)

Five years of experience in every card

For five years, Artec has worked hard to develop a complete line of custom, prototype and off-the-shelf printed circuit boards. And in five years of tough industrial use, Artec boards have proven themselves among the most reliable boards available anywhere.

NEW! DEC® and Heath Compatible LSI Boards

The new Artec WW11 lets you adapt or add onto your DEC LSI-11 or Heathkit ^ LSI minicomputer. Can accommodate 14 and 16 pin DIPs plus all necessary passive components. FULL CARD $75

(10.45" x 8.4")

HALF CARD $35

(5.225" x 8.4") Circle 20 on inquiry card.

® Trademark of Digital Equipment Corporation

Order today!

Put an Artec board to work for you. Use your Mastercharge or Visa. Or just send along a money order. We can accept only U.S. currency. Please include $3 handling on all orders. California residents add 6% sales tax.

Please send me: (include quantity)

Shielded Motherboard

. Full WW11 Card

_ Half WW11 Card

i a I've enclosed a money order for $ i □ Mastercharge □ Visa

(number)

(exp. date)

i I * Name _

j Address i

I Calif. Res. add 6% sales tax. End. $3 handling. 10% discount for students and I computer club members. (Please enclose name of club or school)

City.

State .

Zip

dCTGC Q£CTROMIC9, IMC

Artec Electronics, Inc. '605 Old County Rd.-San Carlos, CA 94070 (415) 592-2740

BYTE October 1978

69

PAM/8:

A New Approach

to Front Panel Design

Gordon Letwin

Heath Company

Benton Harbor Ml 49022

Since the first personal computers appeared about three years ago, the field has been growing and advancing at an ever increasing rate. The variety and complexity of products increases even while the cost decreases. Indeed, the field has evolved so rapidly that it has gone through two generations (using the term somewhat loosely) in those three years. The first generation machines were typified by the first 8800 system sold by MITS, a bare bones machine festooned with switches and lights. It took a fair amount of technical know how to build one of these to get it operational. Before long, however, a new generation of machines was available. These, such as the SwTPC 6800, were usually cheaper and simpler to build, using fewer but more powerful integrated circuits.

And in July 1977, the Heath Company announced its two versions of the home computer idea, the H8 and H11 systems. I write as one of the persons who took part in the design of the H8's front panel firmware, an 8080 program called "PAM/8" which shows how software and hardware are often intimately related.

Microprocessor Front Panels

The ideal front panel for a microcomputer should allow its user total control and access to the processor's workings. A good panel system should allow an instantaneous display of the processor's states, register contents, memory contents, and other operating flags. An operator should be able to force a new state, register value, or memory value upon the processor with ease at any time without otherwise interfering with the executing program. In other words, it should be possible to examine any memory location or any register at any time without disturbing the program.

Ten years ago the implementation of such a front panel was obvious. The processor was built up from components such as integrated circuits, and the flags and registers were directly available on the circuit cards. In the remainder of this article, I will refer to this type of machine as a discrete processor, although it may be built out of high level integrated circuits. To build a suitable front panel for such a discrete processor, it is merely necessary to run a wire to a front panel indicator. Likewise, special logic can be built to allow flags and registers to be set from the front panel switches, usually when the machine is in a halted condition. Readers may have had experience with some of these minicomputer systems, such as the CDC 1700 or the IBM 1130 and 1620. This design works reasonably well, but the binary format is inconvenient and the cost of the front panel hardware and logic can be prohibitive for use in a personal computing system.

The situation was considerably changed with the advent of microprocessors. Now, for the first time, a full-fledged computer is within the financial reach of the general public. Unfortunately, the very development which brought this exciting possibility also brought problems. With a 1 integrated circuit microprocessor, the processor flags and register contents were no longer available for a front panel system, being buried out of reach of any possible hardware hookups. A typical microprocessor integrated circuit only has 40 connection pins (or pinouts). These are partly taken up with power supply and clocking signals, as well as the data and address buses. The remaining pins are allocated to receiving and providing signals to interface the processor to the rest of the computer system. As a result, there is no direct way to determine the contents of the processor's registers.

70

October 1978 ©BYTE Publications Inc

One-Stop Component Center

AUTHORIZED DEALERS

ALABAMA

Crop well

Huntsviffe

Mobile

ALASKA

Anchorage

ARIZONA

Flagstaff

Fountain Hills

Tempe

Sierra Vista

Yuma

CALIFORNIA

Bell flower

Berkeley

Brea

Cypress

El Monte

Fon tana

Fullerton

Glendale

Lake Tahoe, South

Lancaster

Long Beach

Mission Viejo

Modesto

Modes to

Mon terey

Oceanside

Palmdale

Palo Alto

Pasadena

Riverside

Sacramen to

Sacramen to

Sacramen to

San Bernardino

San Carlos

San Diego

San Diego

San Fernando

San Francisco

San Francisco

San Jose

San Luis Obispo

San Rafael

Santa Barbara

San ta Cruz

San ta Maria

Santa Monica

Sunnyvale

Torrance

Vailejo

Van Nuys

Ven tura

Walnut Creek

Westminster

Whittier

Whittier

COLORADO

Aurora

Denver

Steamboat Springs

CONNECTICUT

Bridgeport

FLORIDA

Ft. Lauderdale

Gainesville

Lakeland

Orlando

Pensacola

Tampa

Tampa

GEORGIA

Atlanta

HAWAII

Aiea

Honolulu

IDAHO

Boise

Caldwell

Idaho Flails

ILLINOIS

Carbondale

Evan st on

Evans ton

Granite City

Grovel and

Mount Prospect

Niles

Oak Park

Peoria

Rock ford

Schaumburg

INDIANA

East Chicago

Hammond

IOWA

Clin ton

Davenport

Des Moines

Indian ola

KANSAS

Kansas City

KANSAS (Continued)

Tucker Bros. Industrial Electronic Supply Lafayette Radio Electronics

Electronics Corp. of Alaska

Jim's Audio & Stereo Repair

P & C Communications

Computerworld Inc.

B & S Electronics

Yuma Electronics

Earl's Hobby Shop

Al Lasher Electronics

Century Electronics

SCR Electronics

Kimball & Stark

Fon tan a Electronics

Orvac Electronics Inc.

Eagle Electronics

CalPine Electronics

Consumer Electronics

Scott Radio Supply Inc.

Tower Electronics Corp.

Computer Magic

Pacific Radio

Zackit

Electronic Cen ter

Radio Shack A. S. C. Palmdale

Zack Electronics

Dow Radio Inc.

Computer Center

Heath kit Electronic Center

The Radio Place

Zackit

Inland Computer & Electronics

J & H Outlet Store

Radio Shack A.S.C. Mira Mesa

Radio- Tronics Inc.

San Fernando Electronics

Zack Electronics

Zenith Distributing Corp.

Quement Electronics

Mid-State Electronic Supply

Electronics Plus

Lombard Electronics

Santa Cruz Electronics

Caps Electronics

Mission Control

Sunnyvale Electronics

SE Electronics

Zackit

Thrifty Electronics Supply

Lombard's Electronics Inc.

Byte Shop of Walnut Creek

JK Electronics

D & S Electronics

Whittier Electronics Co.

Com Co Electronics Mt. Coin Distributing Co. Norm's TV & Electronics

Bridgeport Computer

Computers For You

Lafayette Radio

Lakeland Specialty Electronics

Altai' Computer Center

Grice Electronics Inc.

AMF Radio

Microcomputer Systems

Atlanta Computer Mart

Delcoms Hawaii integrated Circuit Supply

Custom Electronics

A-Gem Supply Inc.

Audiotronics

Layfayette Radio

Itty Bitty Machine Co.

Tri-State Electronic Corp.

Computer Systems Center

Moyer Electronics

Tri-State Electronic Corp.

Computer Land

Spec tronics Inc.

Warren Radio Co.

Imperial Computer Systems

Data Domain

Aero Electronics Corp. Quantum Computer Works

Bridge Elec. Computer Center

Computer Store of Davenport

Radio Trade Supply Co.

Electronic Limited

Electronic Surplus Safes

Manhattan

Wichita

KENTUCKY

Lexington

LOUISIANA

Baton Rouge

Baton Rouge

New Orleans

MARYLAND

Baltimore

Baltimore

Baltimore

La Vale

Rock ville

Silver Spring

Towson

Towson

MASSACHUSETTS

Medford

North Adams

Wattham

Worcester

MICHIGAN

Ann Arbor

Flint

Grand Rapids

Lansing

Midland

Mt. Clemens

Muskegon

Communications Specialties Ltd. Amateur Radio Equipment Company

Radio-Electronic Equipment Co.

Davis Electronics Supply Co.

Menard Electronics Inc.

Wm. B. Allen Supply Co.

Computers Unlimited

Computer Workshop of Baltimore

Everything Electronic

J & M Electronics

Comp uter Worksh op

Computers Etc.

Baynesvilie Electronic Inc.

Computers Etc.

Tufts Electronics

Electronics Supply Center

Computer Mart Inc.

RM Electronics Inc.

Airway Electronic Communications

Hobby Electronic Center

Micro Computer World

Fulton Radio Supply Co.

Computronix Corp.

The Computer Store

H.R. Electronics

MINNESOTA

Duluth

Eagan

Hopkins

St. Paul

MISSOURI

El Dorado Springs

Florissant

Parkville

MONTANA

Billings

Bozeman

Great Falls

NEBRASKA

L incoln

Lincoln

North Platte

Omaha

Omaha

NEVADA

Las Vegas

NEW JERSEY

Bay ville

Brick town

Cherry Hill

Hoboken

Paterson

Pompton Lake

Ramsey

NEW YORK

Albany

Kingston

New York

Rensselaer

Rochester

Troy

Utica

Northwest Radio of Duluth

Computer Room Inc.

Heathkit Electronic Center

Heathkit Electronic Center

Beck man Electronics

Computer Country

Computer Workshop of Kansas City

Conley Radio Supply

Electronic Service & Distributing

Art's Electronics

Altair Computer Center

Scott Electronic Supply Inc.

Scott Radio Supply Corp.

Heathkit Electronic Center

Omaha Computer Store

Century 23

A.R.S. Communications Services

Radio Shack Associate Store

The Computer Emporium

Hoboken Computer Works

All-tronics

Computer Corner of New Jersey

Typetronic Computer Store

Fort Orange Electronics

Grey lock Electronics

Computer Mart of New York

Corn-Tech Electronics

2001 Microsystems

Trojan Electronics

Am-Com Electronics

NEW YORK (Continued)

White Plains

The Computer Corner

Williamsville

Hirsch Sales Co.

NORTH CAROLINA

Durham

Futureworld

Greensboro

Byte Shop

Raleigh

Byte Shop of Raleigh

NORTH DAKOTA

Fargo

The Computer Company

OHIO

Bucyrus

Mead E/ectronics

Cincinnati

Digital Design

Columbus

Heathkit Electronic Center

Dayton

Altair Computer Center

Reynoidsburg

Universal Amateur Radio

OKLAHOMA

Guymon

Sound Service

Oklahoma City

Bits, Bytes & Micros

Tulsa

High Technology

OREGON

Albany

Oregon Ham Sales

Beaverton

Norvac Electronics

Coos Bay

Herrick Electronix

Medford

Portland Radio Supply

Ontario

Miller Electronics

Portland

Portland Radio Supply

Salem

Computer Pathways

PENNSYLVANIA

Drexel Hill

Kass Electronic Distributors

Erie

Warren Radio

Hershey

Microcomputer Systems Inc.

Murrysvitle Computer Workshop of Pittsburgh

Phoenixville

Ste ven s Elec tronics

Pittsburgh

Tydings Company

Wilkesbare

Hamline Elec tronics

York

G. Y. C. Company

RHODE ISLAND

Cranston

Jabbour Electronics City

Paw tucket

Jabbour Electronics City

SOUTH CAROLINA

North Charleston

Technical Services Inc.

TENNESSEE

Chattanooga

William's Data Comp Division

Clarks ville

Masstronics

Cookevi/fe

Wagnon's Stereo Center

Knox ville

Byte Shop

Memphis

Bluff City Electronics

Memphis

Sere-Rose & Spencer Electronics

Nash ville

Eddie Warner's Parts Co.

Oak Ridge

Computer Denn

TEXAS

Amari/lo

Computer Encounters Inc.

Dallas

CompuShop

Houston

Affair Computer Center

Houston

fnteracfive Computers

San Antonio

Sherman Electronics Supply Inc.

UTAH

Provo

Alpine Elecronic Supply Co.

Salt Lake City

Best Distributing

VIRGINIA

Alexandria

Computer Hardware Store

Alexandria

Computers Plus Inc.

Alexandria

Heathkit Electronic Center

Charlottesville

Lafayette Electronics

Hamp ton

Lafayette Radio

Richmond

Computers- To-Go

Roanoke

The Computer Place

Springfield Compu ter Worksh op of North Virgin ia

Virginia Beach

Heathkit Electronic Center

WASHINGTON

Kennewick

C & J Electronics

Longview

Progress Electronics

Pasco

Riverview Electronics

Richland

C & J Electronics

Seattle

ABC Communications

Seattle

Amateur Radio Supply

Seattle

C-Com

Seattle

Empire Electronics

Spokane

Personal Computers

Tacoma

Northwest Radio Supply

WEST VIRGINIA

Morgan town

The Computer Corner

Morgan town

Electro Distributing Co.

Ripley

Thompson's Radio Shack

Wheeling

Lafayette Radio Asso. Store

CANADA

Alberta (Calgary) Ontario (Willowdale) Quebec (Montreal}

PANAMA

Panama City Panama City Panama City

FRANCE

Paris

SINGAPORE SINGAPORE

The Computer Shop

Home Computer Centre

Wang's Microcenter

Electrotecnia S.A.

Sonitei, S.A.

Tropeico, S.A.

Computer Boutique

Inter-Trade (PTEi Ltd. Systems Technology Ltd.

SEE YOUR LOCAL J^S DEALER TODAY!

For Dealer Information, write or phone JIM-PAK® 1021 Howard Ave., San Carlos, California 94070 (415) 592-8097

Circle 201 on inquiry card.

BYTE October 1978

71

Previous Front Panel Systems

Attempts to solve this fundamental problem of control over the microprocessor have been responsible for the major differences between competing machines. The first widely available machine, the MITS 8800, used a direct approach to front panel design: it simply had LED readouts for each pinout on the microprocessor chip and a bank of switches hooked across the data and address busses. Some additional logic was incorporated to control the running state of the microprocessor and to allow memory locations to be read to and written from via the front panel. This scheme is a straightforward adaptation of traditional panel design; unfortunately, there wasn't a great deal of correspondence between the useful items a programmer might want and the data available on the processor pinouts.

The difficulties of using such a panel system are by now nearly legendary: it is very awkward and time consuming to get information in and out of the processor. For example, to simply determine the contents of a register, it is necessary to stop the processor, write a small program to store the register in a memory location, key it in to some unused portion of memory, run it, read the stored value from memory, and then restore control to the interrupted program. Needless to say, this is a tedious process with many opportunities for error.

The problems with this approach no doubt influenced the designers of the second generation machines. They used a different approach wherein a console terminal was used in conjunction with a monitor program (usually in read only memory) to provide the equivalent of front panel service. With such a system, a programmer could display desired information such as memory or register contents directly in octal or hexadecimal. This represented a great step forward: entry speed was increased, and the clerical task of encoding and decoding binary values was eliminated. Another great benefit of this system was that most of the monitors incorporated a bootstrap loader so that the loader did not have to be keyed in each time.

This technique has been rapidly gaining popularity at the expense of the lights and switches system, for obvious reasons. Several companies are offering such monitors encoded in read only memory boards to allow users to convert their old systems. However, this new technique still has a few disadvantages: it requires a console terminal, which adds considerably to the system cost,

and once a user program has started execution the services of the monitor system are no longer available.

PAM/8 Design Goals

It was mentioned above that the front panel system is the area in which many of the differences between computer systems are found; this holds true for the Heath H8 system as well. The H8 employs a new concept in microprocessor front panels: it uses a unique combination of software and hardware to allow the emulation of a complete real time front panel system which I believe to be superior in performance to even the discrete minicomputer panel systems.

When the H8 project began, Heath engineers studied the requirements for a good front panel system closely and drew up a list of the major features to be satisfied. There were nine major requirements of a good front panel:

• The front panel system must present and accept data in a convenient octal format. Encoding and decoding binary is a job more suited to a computer than a human being.

• The front panel system must incorporate facilities to load and dump memory to and from an external device such as a cassette interface. A nearly foolproof error detection scheme must be used so that mysterious errors will not be introduced by bad loads.

• The front panel system must allow memory and register contents to be conveniently displayed and changed. In addition, data display has to be in real time. That is, if the front panel is displaying the contents of a register and the running program changes those contents, the change should be immediately visible on the panel.

• The front panel system must be capable of execution control. That is, the programmer should be able to step through a program one instruction at a time, and be able to set breakpoints within his code.

• The front panel system must provide facilities for inputting and outputting to 10 ports.

• The front panel system must be easy to use, and (as much as possible) should reduce the opportunity for operator error. Whenever a front panel operation is performed, the programmer must be informed of the operation's success or failure.

72

October 1978 © BYTE Publications tnc

We Start With A Price That's Hard To Beat.

But We Don't Stop There.

Central Data Corporation has combined the benefits of new technology and high-volume company sales to bring you a RAM board with more features and product options for less money.

Lower Prices

More Memory Capability

To begin with, we've reduced the price of our 16K RAM board by $40 to $249. At $425—a price reduction of $50—our 32K board costs less, too. Plus, we now offer a full 48K memory board for $599. These boards are expandable to 64K at a price of $ 185 per 16K package. Or you can start right out with a full 64K board for $775.

Improved Board Design

We've also added improvements to the board design at no extra cost to you.

• Deselectable in 2K increments. Our deselect feature enables you to switch off any 2K to avoid overlap with your existing memory.

• Fully socketed memory. This feature enables you to expand the memory board yourself.

• Plug selectable addressing. Now you can re-address without soldering

Other Standard Features

•Power-saving dynamic board with on-board

invisible refresh •One-year guarantee on parts and labor •S-100 and Z-80 compatible

Specifications

Storage Capacity Addressing Max. Input Load Output Buffering Access Time Cycle Time Wait States Generated Maximum DMA Rate

Power

Consumption

+ 16

150ma

+ 8

300ma

-16

20ma

Other Products From Central Data

16K,32K,48K,or64K

16K boundaries

One LSTTL load

On all data lines

450ns

480ns

None

1 Mhz

Central Data also offers, fully-assembled and in kits, a range of other computer products including (pictured above) our 2650 microprocessor, software packages, TV/Monitor, ASCII keyboard, and (not pictured) floppy disk system, to name just a few.

For More Information To Place an Order

We welcome any questions you have about our RAM boards or other products. To place an order, or for more information contact:

Central Data Corporation

P.O. Box 2484, Station A Champaign, IL 61820 Ph.(217)359-8010

Place orders prepaid or COD. Delivery is stock to 30 days with shipping and handling prepaid in Continental United States. Please include phone as well as name and address.

Circle 45 on inquiry card.

BYTE October 1978

73

Photo 7; Front panel of the Heath H8 computer. At left are nine 7segment LED displays and four single LED lamps; at right Is the 16 key keypad. The front panel is controlled by a novel firmware panel monitor (PAM/8) made up of both hardware and software elements.

Photo 2: H8 16 key keypad, the sole input source for the panel monitor (PAM/8). The keypad is used to enter commands and data. Some keys have more than one function, but the monitor provides an indication of which meaning will be taken for these keys.

7 '

9

8

LOAD

g

DUMP

+

Dt

4

GO

HL

5

IN

PC

B

OUT

—

SP

1

AF

2

BC

3

CANCEL

0

REG

■

MEM #

RTM/0

ALTER

/ RST/0

• The front panel system must be transparent In other words, it must emulate a hardware panel system so that no changes are necessary to any program to allow it to be run under the PAM/8 (PAnel Monitor) system. Likewise, the front panel firmware must present a light processor load to the system so that program execution proceeds at a normal pace,

• The front panel system must be versatile. No system can be all things to all people. Some sophisticated users may have special requirements;

the system must be designed to allow the sophisticated user to circumvent part or all of the system.

• The front panel system must be inexpensive. Advanced design techniques must be used to keep the cost of the panel system at or below the cost of current front panel systems.

Undoubtedly, this was a formidable list. Happily, though, Heath was able to report success with the creation of the PAM/8, the panel monitor for the H8 computer.

PAM/8 Description

The front panel of the H8 computer is shown in photo 1. Three features are immediately obvious: a 16 key keypad, nine 7 segment LED displays, and four single LED lamps.

The 16 key keypad (see photo 2) is the sole input device to the PAM/8 system. It is used for commands for PAM/8, to enter data into memory and registers, and as a bank of sense switches. Some keys have more than one function; however, no confusion results because PAM/8 provides a clear indication at all times of which meaning will be taken for such keys.

The second visible feature is the group of nine 7 segment LED displays. These are used to display addresses, data, and register names. 16 bit values are displayed in "split octal" notation. Each byte is represented as three octal digits; therefore, a 16 bit value is simply presented as two such byte groups together. Thus, in split octal notation, 377 + 001 = 001 000.

The third visible feature consists of four LED lamps (see photo 3). Three of these lamps display true hardware conditions: power on (PWR), processor running (RUN), and interrupts enabled (IE). In fact, these are the only hardware indicators in the PAM/8 system. All other displays, indicators, and keypads are under firmware control. The remaining LED, MTR, is lit when the computer is in monitor mode. Monitor mode means that the user program is not running, and the keypad is available for PAM/8 commands. When the user program is running, PAM/8 ignores most keypad commands so that the user program can use it as an input (sense switch) device.

The best way to describe the operation of the PAM/8 monitor is to go through the list of design goals again, describing how it fulfills each objective. In the process, I will touch upon some other pieces of PAM/8 hardware not visible on the front panel.

74

October 1978 © BYTE Publications Inc

SupeYam

16K STATIC FOR $299

Introducing SuperRam™ 16K static memory, the one that's leaping tall price barriers at a single bound. It saves you about $100 on the usual cost of a big 16K memory for your S-100 system.

SuperRam™ 16K is the latest in cost-efficient memory designs by George Morrow, designer of the best-selling ECONORAM* memories.

SuperRam™ 16K is configured as four independent 4K blocks, each separately addressable and write-protectable. Designed to meet the proposed IEEE Standard for the S-100 bus (see IEEE Computer, 5/78), all signals are fully buffered—including address and data lines. And Morrow's design uses just 11 chips to keep the board uncrowded and trouble-free.

SuperRam™ 16K comes as an easily assembled kit, with solder mask and parts legend.

Circle 255 on inquiry card.

Ask for the SuperRam™ 16K memory kit at your local computer shop. Or if unavailable locally, call your BankAmericard/Visa or Master Charge order to 415-524-5317,10-4 Pacific Time. Or send check or money order to Thinker Toys™, 1201 10th St., Berkeley, CA 94710. Add $3 for handling; Cal. res. add tax.

♦ECONORAM is a trademark of God bout Electronics

A product of Morrow's Micro-Stuff for

1201 10th Street Berkeley, CA 94710

BYTE October 1978 75

Memory Display

lu

if ii i

I »_/ u

l_l I CI

High Order Low Order Data at

Address Location Address Location Location 040 100

Register Display

o. nyn ii

LIIU ILILI I l_

High Order Contents

Low Order Contents

Register Identification

I/O Port Display

Data

Port Number

Photo 3: Three examples of the H8 LED readout format for memory display, register display and 10 port display.

"The front panel system must present and accept data in a convenient octal format." This has already been discussed: PAM/8 displays and accepts octal values, 16 bit values are represented in a convenient byte octal notation.

"The front panel must incorporate facilities to both load and dump memory." The 8 and 9 keys are used for loading and dumping memory. In order to dump a block of memory to an output device (usually magnetic or paper tape), one must supply PAM/8 with the starting dump address, the ending dump address, and the entry point address. When the DUMP key is struck, PAM/8 writes a formatted record containing the memory contents. The dump record produced contains the starting address, the entry point address, and the memory data. The record is followed with a 16 bit cyclic redundancy check (CRC-16).

To reload a memory dump tape, place the tape in the transport (cassette or paper tape) and strike the LOAD (8) key. PAM-8 will read the tape and discard any information until the beginning of record sequence is found. The load operation then begins. When the load is complete, the computed CRC-16 is compared to the one on the tape.

If the load is correct, PAM/8 gives a single beep. Since the program counter (PC) register was loaded with the entry point address, striking the GO key will begin execution. If the load is incorrect, PAM/8 displays the error code 001 (CRC error) and repeatedly beeps the horn. Pressing CANCEL (*) silences the horn.

During the load and dump operations, the six leftmost LEDs display the address being loaded or dumped, while the three remaining LEDs display the data value going into or out of that location. This allows the operator to see if the load is progressing, and gives an idea of how much is left. The H8 cassette system runs at 1200 bps, allowing the loading of 8 K BASIC in about 60 seconds.

The CRC-16 check value used in PAM/8 is nearly foolproof: single bit errors, double bit errors, and error bursts of less than 16 bits are always detected. The chance of a larger error escaping undetected is less than 0.0002%.

"The front panel system must be capable of displaying and altering both memory and registers conveniently." To display the contents of a memory location or register, strike the MEM (#) or REG (.) key followed by a 6 digit address (for MEM) or a 1 key register select (for REG). In the case of memory display, the address will appear in the left six digits, the value in the right three. In the case of a register, the value of the register (if 16 bits) or the register pair (for 8 bit registers) is displayed in the left six digits, and the register name(s) is displayed in the right two digits. See photo 3 for examples.

To change the contents of a register or memory location, first display the old contents as described above. Next strike the ALTER (/) key. You can then alter the register or location by entering six (or three) octal digits. As each 3 digit group is entered, the PAM/8 monitor provides a beep in acknowledgement. In the case of memory alteration, the memory address is automatically incremented by one. This allows you to enter a series of memory locations by entering a steady stream of values.

When the altering is complete, restriking the ALTER key clears the alter mode and restores the 0 through 7 keys to their usual function.

It is important to note that the register and memory displays are real time: if the contents of that register or location change, the display will immediately show the new value. Thus, to watch the PC register in a

76

October 1978©BYTE Publications Inc

ECONORAM": THE PLUG-IN

ANYWHERE MEMORY.

... And that's not by accident, but by design. Econoram is the memory that works with IMSAI, Aitair/Pertec, Cromemco, Sol, North Star Horizon, Polymorphic, Vector Graphic, and other S-100 buss systems, thanks to static design that eliminates dynamic timing problems, conservative engineering, full buffering, high speed/low power parts, and intelligent mechanical design. Even better, though, we don't just design our boards to work ... we design them to keep on working.

But, you don't have to take our word for it. Ask the dealers who carry Econoram because they want satisfied customers and no callbacks. Ask the system assemblers who, no matter what their choice of mainframe, use Econoram memory boards exclusively. Ask the professional users who specify Econoram for critical computer applications such as accounting and record-keeping. Ask the people who never get to take

16K ECONORAM IV

advantage of our 1 year warranty on parts. Ask the independent survey from Image Resource, "1978 Profile of Computer Store Customers" (mentioned with permission), which named Godbout as one of the biggest suppliers of peripherals in the business. Better yet, ask an Econoram owner.

The following memories are available in 3 forms: Unkit tall sockets and bypass caps wave-soldered in place, user simply solders in a few other parts and inserts ICs): assembled and tested; or qualified under the CSC (Certified Systems Components) program. This program offers a board that is assembled, tested, guaranteed to run at 4 MHz, and burned in for 200 hours, If the board fails within a year of invoice date, we immediately exchange (not repair) the board upon notification from the customer.

Our current best-seller:

$279 (unkit)

Assembled price $314, CSC $414.

We've been shipping these since May, and we've shipped a lot of them. Why? Current consumption under 2000 mA (usually way under). Fast operation. Manual write protect switches for 4K blocks. Can be used with or without phantom line. And, all the regular features of an Econoram. If you want a big block of memory, at a fair price, that will work with any system .. . here it is.

Our top of the line:

24K ECONORAM VII

TM

$445 (unkit)

Assembled price $485, CSC $605.

Current under 2000 mA, fast operation, and our other usual features. Additionally, Econoram VII is configured as two 4K blocks (addressable on 4K boundaries) and two 8K blocks (addressable on 8K boundaries), with independent write protect switches for each block. If you want full feature, dense memory, this is the board for your system.

OTHER S-100 BUSS PRODUCTS

10/11 SLOT MOTHERBOARD

$90

in kit form, with all edge connectors wave-soldered in place (which really takes the tedium out of building a motherboard!). Large power and ground traces, extensively bypassed. Includes active termination circuitry for reliable data transfer (see "Active Terminator Board" below).

18 SLOT MOTHERBOARD

$124

in kit form, with all edge connectors wave-soldered in place. Same as above, but with 18 slots.

ACTIVE TERMINATOR BOARD $29.50,

kit form. Active termination promotes reliable and accurate data transfer by minimizing the ringing, crosstalk, overshoot, noise, and other gremlins that can occur with unterminated lines. Saves considerable energy compared to passive termination systems, thereby putting less strain on your power supply and keeping heat out of your mainframe. This is the board that tamed the S-100 buss ... put one in a motherboard slot, and watch the glitches go away from your buss.

^IF YOU SPEAK TRS-80,

THEN READ THIS.

We introduced our TRS-80 Conversion Kit so that anybody could upgrade I their 4K machine to a 16K machine. But apparently, that's not all our kit can I do (which might explain why it's selling so well). One user wrote to say that I our conversion chip set not only works in the mainframe, but also works I with the memory expansion module offered by Radio Shack ... and that he I is currently running 32K of memory in his TRS-80. Some dealers have menI tioned using these chips to expand APPLEs also.

No matter what you use it for, our conversion kit comes with eight \uPD416 16K RAMs, DIP shunts, and full instructions. We back up our I parts with a 1 year warranty.

J Single kit price is $190,

or take advantage of our "Memory Expansion Special": 3 kits for $

"SAY HELLO TO A COMPUKIT"TODAY.

Many dealers carry CompuKit products from Godbout. Our previous dealer I list (see last month's issue of this magazine) was current as of May 1, 1978; I we've added quite a few since then ,.. call us for referral to the dealer nearest I you.

BILL GODBOUT ELECTRONICS BOX 2355, OAKLAND AIRPORT. CA 94614

j TERMS: VISA*/MASTERCHARGE^ orders: Call our 24 hour answering service at (415) 562-0636. COD orders OK with street address for UPS. Californians add tax. Thank you very I much for your business.

Circle 150 on inquiry card.

BYTE October 1978

77

running program, merely select it for display and type GO. Should you now decide to watch the contents of a memory byte, press RTM/0 (# and 0 simultaneously) to halt the program, select the memory location, then press GO to resume execution from where it halted.

'The front panel system must be capable of execution control." PAM/8 provides five types of execution control:

Run

Halt

Jump

Breakpoints

Single Instruction

Pressing the GO key starts a program running at the current value of the PC register. The desired start address can be entered into the program counter beforehand. To stop a running program, press RTM (return to monitor, keys 0 and # simultaneously). Execution of the program will immediately halt, and the MTR light will come on. The operator can now examine registers and memory locations and may alter them if desired. Pressing GO causes execution to resume where it left off. To jump the processor to a section of code, press RTM, alter the PC register and press GO.

When a HLT instruction is encountered by a user program, the PAM/8 gives a single alarm beep and execution of the user program is halted. The PC register points to the byte following the HLT operation. Pressing GO causes execution to resume following the HLT opcode. The user can make use of breakpoints to debug programs by assembling or patching in HLT operations.

PAM/8 also includes a single instruction facility. Each time the SI key is struck, the instruction pointed to by the program counter is executed and the user program is immediately halted. This works for all 8080A instructions except Dl (disable interrupts) including jumps, subroutine calls, and other control-transfer instructions. Holding down the SI key causes the execution of an instruction every 400 ms. It is especially instructive to display a register and use the SI key to execute instructions one by one while watching the effect these instructions have on the registers being displayed.

"The front panel system must provide facilities for communicating with 10 ports." To communicate with an 10 port, use the MEM key to enter the 3 digit data value and the 3 digit port address as a 6 digit memory address. Striking the OUT key causes the data value to be output to the

port. Striking the IN key causes the value read from the port to be displayed in the leftmost three digits.

"The front panel system must be easy to use and should reduce the possibility for error." In order to increase convenience and minimize operator errors, PAM/8 is designed to maximize the bandwidth of the operator-machine communication channel. Thus, PAM/8 communicates in three different ways: by the digit displays, by the alarm horn, and by the display decimal points. The use of the digit displays in communication is obvious. Many panel operations, such as entering addresses and values, cause the display to change. For instance, when altering memory, the value of each key struck is shown in the displays. The front panel horn actually serves three purposes:

• Verify keystrokes.

• Provide information (such as the beep when entering byte values).

• Provide alarm indications (such as a CRC error when loading).

The PAM/8 uses the digit decimal points independently of the values on the digits themselves. As can be seen from photo 1, some keys have multiple uses. PAM/8 uses the decimal points to indicate which use of the key is currently active. When the REG or the MEM key is struck, PAM/8 expects an address (or register number). The decimal points are lit continuously, indicating that the address must be entered and that the keys 0 through 7 will be taken as address values. When the ALTER key is struck, PAM/8 displays a rotating pattern on the decimal points, indicating that a value must be entered, and the keys 0 through 7 will be taken as data values.

"The front panel system must be transparent." In operation, PAM/8 is totally transparent to a task program; ie: the program need not take any notice of the presence of the PAM/8 system; any existing 8080A program can run on the H8 without change (assuming it is ORGed correctly, and the IO is compatible). Since PAM/8 is implemented partially in system software, it does require processor service for operation. Normally, PAM/8 uses about 15 percent of the processor's capacity, leaving 85 percent for task programs. Most programs are compute bound for very short periods of time, and this presents no difficulties. Programs which must run at full speed can set a flag bit in the PAM/8 programmable memory area to turn off the front panel, which then gives the task program 100 percent of the

78

October 1978 ©BYTE Publications Inc

Radio Shack's personal computer system? This ad just might make you a believer.

You can't beat the 4K system at

$599

TRS-80 "Breakthru"

• TRS-80 microcomputer

• 12" video display

• Professional keyboard

• Power supply

• Cassette tape recorder

• 4K RAM, Level-I BASIC

• 232-page manual

• 2 game cassettes

.. or the step-up 16K system at

$899

TRS-80 'Sweet 16"

• Above, except includes 16K RAM

... or the fast 4K/printer system at

$1198

...or the Level-11

16K/printer/disk

system at

$2385

TRS-80 "Educator"

• Above, except includes 4K RAM and screen printer

TRS-80 "Professional' • Above, except

includes 16K RAM,

disk drive, expansion

interface, and

Level-ll BASIC

So how are you gonna beat the system that does this much for this little? No way!

... The amazing new

32K/Level-ll/2-disk/

line printer system at

$3874

TRS-80 "Business"

• Above, except includes 32K RAM, line printer, and two disk drives

Get details and order now at Radio Shack stores and dealers in the USA, Canada, UK, Australia, Belgium, Holland, France, Japan. Write Radio Shack, Division of Tandy Corporation, Dept. C-097, 1400 One Tandy Center, Fort Worth, Texas 76102. Ask for Catalog TRS-80.

Radio /hack

The biggest name in little computers

BYTE October 1978 79

processor's capacity. The task program can then reenable PAM/8 when it desires.

"The front panel system must be versatile." Although a user program need not communicate directly with PAM/8, such communication is possible. In general, there is a set of special control bytes in the PAM/8's programmable memory area which can be used to control system operation. For example, a user program can cause PAM/8 to display any arbitrary segment pattern on the LED displays. Likewise, the user program can cause PAM/8 to stop refreshing the displays so that the program can refresh them itself. In general, it is possible to totally close down PAM/8 operations and to have a user program take them over, thus totally replacing the PAM/8 monitor with a homebrew system. Of course, user programs can make use of the PAM/8 utility subroutines to communicate with the tape system, read the keypad (with audio feedback and auto repeat), sound the horn, and so forth.

'The front panel system must be inexpensive." PAM/8 provides powerful features at a low cost due to its firmware design. The read only memory software handles display decoding and refreshing, keypad debouncing, and all high level functions. The necessary hardware consists of the keys, the LED displays, and a few SSI and MSI logic gates. In general, the PAM/8 design costs less than a good toggle switch and lamp panel.

How It Works

As mentioned above, PAM/8 is a firmware system, meaning that its functions are implemented by a closely integrated combination of hardware and software. The hardware resides on the front panel circuit board itself, and the software resides in a

1 K read only memory on the processor board. This read only memory contains a program which does most of the work for the PAM/8 system. Actual hardware was used only when the function could not be implemented by the program.

The central concept in the PAM/8 system is its built-in clock interrupt. When the system is powered on (or master cleared) PAM/8 sends a command to the panel control port requesting an interrupt every

2 ms. This interrupt interval is derived from the system's crystal clock and is therefore called the clock interrupt. The presence of this interrupt allows PAM/8 to perform two processes, or tasks, simultaneously. Of course, they are not actually performed simultaneously, since the com

puter has only one processor, but to a being as slow as a human the operations appear simultaneous.

This division of the work load between two independent tasks, the task time and the interrupt time processes gives PAM/8 its power. For the sake of clarity, the functions of these two tasks will be discussed separately and it will be assumed that they are truly simultaneous.

Interrupt Time

The interrupt time task is always running (unless shut off by the user program) and has three main jobs:

• Process display refreshing and updating.

• Maintain system clock.

• Allow user program clock servicing.

The most important job of the interrupt time process is to refresh the front panel displays. The displays are not latched and decoded; the display hardware consists of a 4 bit digit select field and an 8 bit pattern select field. Every interrupt cycle (2 ms), a segment pattern and digit number are output by the code. The digits are refreshed round robin so that each digit is lit every 18 ms (nine digits at 2 ms each). This gives an overall refresh rate of 55 times a second, which is sufficient to eliminate flicker. The segment patterns being refreshed are obtained from a 9 byte programmable memory area. Each 8 bit byte contains the pattern for a digit (seven segments, one decimal point). Every 32 clock interrupts, or about 16 times a second, the 9 byte pattern being displayed is updated. The PAM/8 monitor examines flag locations to determine which memory location or register is being displayed and decodes its value into nine bytes of display bar code. If a register is being displayed, the program finds its value on the stack where it was pushed when the clock interrupt occurred. It should be noted that both of these processes, refreshing and updating, may be controlled by a user program. There is a bit for each function allocated in a PAM/8 control byte; setting the bit causes the function to be discontinued. Most programs which make use of this feature turn off display updating, but they leave display refreshing turned on. Then the program can display any arbitrary pattern by simply placing segment bar patterns into the 9 byte area in memory.

The second main job performed by the interrupt time task is the maintenance of the system clock. The PAM/8 monitor

80

October 1978 © BYTE Publications Inc

.

L

FJL .. ¥ * tf 4 4 4 4 4 4 4 4 4 4 ¥ 'i

« 4 4 4 4 4 4 '4 4 4 4 4 44 Mm J I • *! 4 4 4 4 4 4 4 4 \ WSk

SOUCEHER COMPUTER

Introducing the personal

computer you've waited for.

The Exidy Sorcerer.

I didn't buy my personal computer until I found the one that had all the features I was looking for.

The Exidy Sorcerer does everything I wanted to do and a few things I never dreamed of.

It isn't magic. Exidy started with the best features of other computers, added some tricks of their own, and put it all together with more flexibility than ever before available. Presto! My reasons for waiting just disappeared.

I wanted pre-packaged programs. Software on inexpensive cassette tapes for the Sorcerer is available from Exidy and many other software makers.

I wanted user programmability. The Sorcerer's unique plug-in ROM PAC™ Cartridges contain programming languages such as Standard (Altair 8k*) BASIC, Assembler and Editor (so I can develop system software), operating systems such as DOS (so I can also use FORTRAN and COBOL) and applications packages such as Word Processor.

* Altair is a trademark of Pertec Computer Corp.

Circle 137 on inquiry card.

I wanted graphics, and the Sorcerer is super. Its 256 character set—more than any other personal computer—includes 128 graphic symbols that I can define.

I wanted high resolution video. With 122,880 points in a 512 x 240 format, 1 get the most detailed illustrations.

I wanted to display more information. The Sorcerer displays 1920 characters in 30 lines of 64 characters —equal to a double-spaced typed page.

I wanted a full, professional keyboard. The Sorcerer's 79-key data processing keyboard provides designated graphics, the complete ASCII character set in upper and lower case, and a 16-key numeric pad.

I wanted memory. The 12k of ROM holds a Power-On Monitor and Standard BASIC; the 8k of RAM is internally expandable to 32k.

I wanted expandability. Serial and parallel I/Os are built in, and the optional 6-slot S-100 expansion unit lets

my system grow.

I wanted a computer that's easy enough for children to use. I just connect my Sorcerer to a video display and a cassette tape recorder, and if I have any questions the easy-to-understand Operation and BASIC Porgramming manuals have the answers.

I wanted to buy from an experienced manufacturer. In five years Exidy has become the third largest producer of microprocessor-based video arcade games.

I wanted to spend less than a thousand bucks. (This is where Exidy does a little magic.) My Sorcerer cost me $895!

Now, what are you waiting for?

Call Exidy for the name of your nearest dealer. (408) 736-2110. Or write Exidy, 969 W. Maude Ave., Sunnyvale, CA, 94086.

81

BYTE October 1978

maintains a 16 bit count of the clock interrupts received. Since this count is updated during the clock interrupts, it appears to task time programs that the location "magically" increments itself. Many programs, including the task time portion of PAM/8, make use of this counter.

The third major job of the interrupt time task is the handling of user clock processing. Normally, PAM/8 returns directly from the clock interrupt so that the operation will be transparent to the user program. However, a user program can set a bit in a PAM/8 control byte requesting that a user subroutine be called during every clock interrupt. This allows the user to also write task time and interrupt time systems, as well as giving multitasking capability.

Task Time Task

While all this clock interrupt processing is taking place, the H8 is also running a task time program. Task time refers to the "problem solving" program which runs when interrupts are not being serviced. Under the PAM/8 system, the task time

P.E.T.™ PRODUCTS

SOFT WA RE/A CCESSORIES/HA RDWARE

Memory Expansion!! 31,743 Bytes Free\-NEECO now has internal memory Expansion Boards Available for your PET! 16K, 24K and 32K Memory Configurations. Call or write NEECO and ask for our 'Free* Software and Hardware Directory Power up to 32K Bytes! Call NEECO for more info.

Software NEECO has too many programs to list them all here! Call or write and ask for our 'Free* Directory! "Software Authors !-rVE£CO offers 25% Royalties on Pet programs with nationwide distribution!-Call NEECO for additional information on our 25% Royalty Program.

PET & PeripheraisNEECO offers fast (off the shelf9) delivery schedules for the Pat Computer and Peripheral 2020 Printor. NEECO also offers excellent personal & Warranty service!!! Interested in a Pat? Call and request our P.E.T. Info Pak. Feel free to call and ask questions.

The Music Box- Music Composer and sound effects generator allows you to compose and hear music on your PaV. -Program & Hardware allows you to display notes, hear the notes, save pages of music on tape for later playback or modification! The Music Box actually displays the notes as a song or tune is playedl-Allows you to add sound effects to your own Pat Programs.-Endless Possibilities!AII Cassette Software, plug-in Hardware, and Music Box instructions for only $49.95! Music Box Fits right inside your Pat -No assembly required! Music Box even plays random tunes!

NE^C^Du^^ova^TroXec^ou^at^o^eriOurPaVsdeUcaXe circuitry and keyboard from dust that can, over time, cause intermittent chip failures! Heavy, clear Plastic Dust Cover shows off your Pat while protecting it from dust, spills, and those inevitable 'Unwanted Sticky fingers! Manufactured to last as long as your Petf-only $17.95

VISA OR MC Phone orders Accepted-{4% Surcharge on Hardware)

NEW BtiLAND ELECTRONICS CO. ■■*-—-«"•'-"-■«

^ -. ,«*». Guaranteed Delivery

248 Bridge Street $1^ J^lc Springfield, Mass. 739-9626

Schedules for all of our PET Customers. Call for our PET Package.

program may be the user program itself, or it may be the PAM/8 command processing program.

When the system is initialized after power up, the task program is the PAM/8 command processor, which continually reads the keypad for operator commands. Keypad debouncing, key strike verification (beeps) and auto repeat on the keypad are all time dependent functions; PAM/8 makes use of the system clock to implement them. When a command is recognized, it is executed immediately. Having the interrupt time task running simultaneously with the command loop greatly simplifies command processing. For example, pressing the + key (when displaying memory) is supposed to cause the next location to be displayed. All the command processor needs to do is to increment the "address being displayed" word in memory. Sometime during the next 32 clock interrupts the interrupt task will decode this new address and its contents, causing the new address and value to be "magically" displayed (after a maximum wait of 1/6 of a second). In a similar manner, the routines to handle the LOAD and DUMP functions merely update the address being displayed word after every byte is loaded or dumped; the interrupt time task sees to it that the address being loaded is continuously displayed on the panel LEDs.

After reading this discussion, you can probably guess how the GO command is implemented: the PAM/8 monitor merely restores the user registers from the stack. The PC register is restored last, which causes execution to begin at the specified location. The interrupt time task proceeds as before, decoding and displaying the selected memory or register contents. Should the location or register be altered by the running program, the front panel will very quickly (typically in 32 ms) show the change.

HLTand Return to Monitor

So far, we've seen that the interrupt time and task time processes don't intermingle; each keeps to its own. The processing of the HLT instruction and the RTM (return to monitor) command are exceptions to this principle. When a HLT instruction is encountered the processor waits with the program counter pointing to the next byte. When the next clock interrupt comes along, the interrupt processing code takes a look at the preceding instruction; if it is a HLT, the code passes control directly to the PAM/8 task time command loop, never

82

October 1978 © BYTE Publications Inc

Circle 281 on inquiry card.

Circle 382 on inquiry card.

BYTE October 1978 83

returning to the user program. Naturally, a little bit of cleaning up is performed to smooth over the abrupt transition from interrupt time to task time. This feature allows the use of the HLT instruction as a breakpoint and also provides transparent support of the HLT operation. When a program halts, the front panel comes alive, and user program execution stops. Striking the GO key causes execution to resume following the HLT instruction.

The RTM command is a key command executed by pressing the 0 and # keys simultaneously. This command serves the purpose of the RUN/HALT switch on hardware front panels: striking RTM causes execution of the user program to cease, and it causes the front panel to become active. The RTM command is implemented by a joint hardware and software effort: on a hardware level, the pressing of the two keys causes a clock interrupt to be requested immediately, without waiting through the 2 ms interval. On the software level, the clock interrupt code in PAM/8 checks the keypad for the special RTM key combination. If it is present, the same process that was used for the HLT operation is used: control passes directly to the PAM/8 task time command loop, not back to the interrupted user program.

Using the PAM/8

The design of recent microcomputer systems has shown a trend away from front panel designs toward the "no front panel" monitor. This is being done for a very good reason: a terminal monitor based on programmable memory or read only memory is much easier to use and is more powerful than hardware front panels. This fact also applies to the PAM/8 system: a good console oriented monitor and debugger, such as Heath's HBUG, is much more convenient for debugging programs. This is not to say that PAM/8 does not perform an indispensable task, as I will try to show in the following real life examples.

A typical experience in the life of a computer experimenter is the debugging of some peripheral interface, I've spent many a long hour slaving over a processor, trying to make some new device or interface talk to my computer. A favorite technique I use for this is to enter a 2 statement program into memory:

LI

IN

J MP

<port number> L1

This program simply inputs from the port assigned to the recalcitrant device into the accumulator, then loops back to do it again and again. Then all I do is set the PC register to the L1 address, punch up the accumulator for display, and press GO. The value read from the port will be continuously displayed in the A register, even while I adjust the hardware. By watching the panel displays, I can instantly see any results of my labors, such as, "if I ground this line, will that bit come on?"

Another important use for PAM/8 is as an aid to debugging software. Often I find myself debugging a complex piece of software that maintains various state flags in memory. For example, a command completion subroutine, which examines characters as they are entered for valid syntax, is a state dependent program. As each character is entered, the program sets flag bits indicating various things such as "two alphabetic characters entered," or "have just seen a blank," etc. When debugging this code, I simply display the address (or register) containing the state flags on the front panel. Then, as I strike test keys one by one, I can immediately judge the program's reaction by examining the state flags. This technique can be used to monitor working programs as well. For example, I have a loader program which I use to download programs from other computers. It keeps the address currently being loaded in the HL register pair. By simply displaying this register pair, I can watch the load progress (or fail!).

A real time front panel can be used for more than just debugging. The presence of the displays and keypad provides another channel of communication with the processor, independent of the console terminal. The displays can be used to indicate any desired status, and the keypad can be used as a bank of ''sense switches," even while the console is being used by the program. For example, the BASIC interpreter supports commands to control the displays and read the keypad.

Conclusions

The PAM/8 front panel system provides an inexpensive and effective "firmware front panel" which emulates a complete hardware front panel. Its design combines the capabilities of a true hardware panel with the flexibility of firmware and ultimately provides the user with a greater communications bandwidth to a personal computer."

84

October 1978©BYTE Publications Inc

A COMPLETELY REFURBISHED "SELECTRIC"

ASCII TERMINAL FOR THE SMALL BUSINESSMAN

OR SERIOUS HOBBYIST.

The A J 841 I/O Terminal. Now with R8232 interface. Now available from dealers.

Demand for our AJ 841 I/O computer terminal has been great. And now that we've finally added RS 232 interface, it will get even greater So while you can still order it direct from us, now you can also buy it from dealers around the country.

The AJ 841 features:

Choice of Serial RS 232 or

parallel interface

ASCII code

14.9 cps printout

High quality Selectric printing

Reliable, heavy-duty Selectric

mechanism

• Off-line use as typewriter

• Documentation included

• 30-day warranty — parts and labor

• Mail order shipments to AJ office or direct to you.

• EBCD keyboard.

Warranty and service available from your local A J dealer— or from A J offices in:

Atlanta/Boston/Chicago/Cincinnati/ Cleveland/Columbus/Dallas/ Detroit/Hackensack/Houston/ Los Angeles/New York/Philadelphia/ San Jose/Washington, D.C.

Full warranty information available on request.

Order with coupon—or from your local AJ dealer

For location of your nearest AJ dealer call toll-free: 800/538-9721. (Calif, residents call 408/263-8520)

HOW TO ORDER DIRECT FROM AJ

1. Make cashier's check or money order payable to Anderson Jacobson, Inc. and mail to:

Anderson Jacobson, Inc. PERSONAL COMPUTER TERMINAL 521 Charcot Avenue San Jose, CA 95131

2. You will be notified when your unit is ready for shipment. Allow six to eight weeks for delivery.

3. Shipments direct to you require a collect freight charge (FOB San Jose) plus $25 for a special shipping carton; no tax necessary outside California. Shipments to nearest AJ office include freight in the $35 handling charge and require applicable sales tax at pick-up location.

4. For warranty or repair service, return unit to local dealer or to designated AJ service location.

Available only in U.S.

Circle 10 on inquiry card.

CLIP AND MAIL WITH ORDER

Select interface: □ RS232 @$1195 or □ Parallel @ $1095

□ Ship direct to me (freight collect, FOB San Jose, plus $25 carton, and California sates tax if applicable)

□ Ship to AJ office (applicable sales tax plus $35 shipping/handling)

Number of units

Sales tax $

$35 shipping/handling or $25 carton $

TOTAL $

NAME

ADDRESS CITY

STATE.

ZIP.

PHONE(

BYTE October 1978

First Steps in

Computer Chess

Programming

Kathe and Dan Sp rack I en 10832 Macouba PI San Diego CA 92124

GENMOV

INCHK

The fascination of chess gains a new dimension with microcomputer chess. No longer are the struggles confined to giant machines. With the advent of the Chess Mate, Chess Challenger, Boris, and Compuchess, as well as some custom software packages, the day of microcomputer chess has dawned. Writing a program to play chess on a small system is no small matter, though. Consider just for a start the challenge of meaningfully representing the board and its pieces in computer memory: there are 64 squares, 32 pieces, 6 piece types and 2 piece colors. Since the machine is a microcomputer, storage requirements must be kept to a minimum. Next comes the job of moving the pieces. Only when these first problems of piece representation and move generation have been solved can the chess programmer go on to consider strategy.

PATH

ADMOVE

CASTLE

ATTACK

ADMOVE ADJPTR ADMOVE R PATH KSAV

I AT

PATH

KSAV

| ADMOV

' ADJPT

I AT

PNCK

Figure I: Block structure of the move generation routine of Sargon, the authors' chess playing program written for Z-80 assembler language.

Sargon, a chess playing program we developed for Z-80 machines, solves the representation problem through the use of a board array. Move generation is accomplished through a network of routines diagrammed in figure 1. The functions of the routines are as follows:

GENMOV Generate move routine. Generates the move set for all of the pieces of a given color.

MPIECE Piece mover routine.

Generates the move set for a given piece.

INCHK Check routine.

Determines whether or not the King is in check.

PATH Path routine.

Generates a single possible move for a given piece along its current path of motion.

ADMOVE Admove routine.

Adds a move to the move list.

CASTLE Castle routine.

Determines whether castling is legal and adds it to the move list if it is.

ENPSNT En passant routine.

Tests for an en passant pawn capture and adds it to the move lists if it is legal.

ATTACK Attack routine.

Finds all the attackers on a given square.

ADJPTR Adjust move list point

er.

Links around the second move in a double move (ie: castle or en passant pawn capture).

ATKSAV Attack save routine.

Saves attacking piece value in the attack list and increments the attack count for that color piece.

PNCK Pin check routine.

Checks to see if an attacking piece is in the pinned piece list.

Several of the routines involved are multipurpose routines. Their involvement in move generation is incidental to a main function elsewhere in the move selection logic. The key routines in move generation are MPIECE, PATH, CASTLE and ENPSNT. Of these,

86 October 1978 © BYTE Publications Inc

BSEE Engineers

;'v. *k

^

/ _<C

>

^

£%►

*:^5fiii^

^

jj£. &XZ

Stffl Clean... Stfll Wffld... Still the Land of Great Opportunity:

MINNESOTA.

Professional careers need room to grow. The challenges, the excitement, and the high technology products of Honeywell's Avionics Division are like the breath of fresh air to engineering professionals.

We are currently working on projects are diverse as radar altimeters and laser gyros for commercial flight and space applications, flight traffic control, air data computers, and microwave component systems design. We have the business to keep you growing!

Our quality work environment is a function of our general quality of life in Minnesota. Bring your appetite for good living withyou when you come, because we've got tt all theatre, professional and amateur sports, art treasures, hunting, fishing, parks, educational opportunities, and much more. We think of Minnesota, the "Land of 10,000 Lakes," as offering the uncrowded, friendly atmosphere of a small community with the advantages of a major metropolitan area.

We have immediate needs for BSEE Engineers in the Following Areas:

Design Engineers

Production Engineers

Engineers

Reliability Engineers

Computer Application Engineers Field Support Engineers Component Application Engineers Technical Writers

If you share our high-technology, growth-oriented attitudes and meet our professional requirements, we can offer you a highly competitive compensation and benefits package. Please send comprehensive resume with salary requirements to:

John Buck - Employee Relations Manager

AVIONICS DIVISION

2600 Ridgway Parkway

MN17-1507 Minneapolis, MN 55413

HONEYWELL is an Equal Opportunity Employer Actively Seeking Applicants Under Its Affirmative Action Program

Honeywell

Circle 172 on inquiry card.

BYTE October T 978 87

(a)

(b)

110 111 112 113 114 115 116 117 118 119 100 101 102 103 104 105 106 107 108 109

90 80 70 60 50 40 30 20 10 0

91

92

93

94

95

96

97

98

81

82

83

84

85

86

87

88

71

72

73

74

75

76

77

78

61

62

63

64

65

66

67

68

51

52

53

54

55

56

57

58

41

42

43

44

45

46

47

48

31

32

33

34

35

36

37

38

21

22

23

24

25

26

27

28

11

1

12

2

13 3

14

4

15 5

16 6

17

7

18 8

99 89 79 69 59 49 39 29 19

6E 6F 70

64 65 66

5A

50

46

3C

32

28

1E

14

A

0

71 72 67 68

73 74 69 6A

58

5C

5D

5E

5F

60

61

62

51

52

53

54

55

56

57

58

47

48

49

4A

4B

4C

4D

4E

3D

3E

3F

40

41

42

43

44

33

34

35

36

37

38

39

3A

29

2A

2B

2C

2D

2E

2F

30

IF

20

21

22

23

24

25

26

15

16

17

18

19

1A

1B

1C

c

2

D E 3 4

F 10 5 6

75 76 77 6B 6C 6D 63 59 4F 45 3B 31 27 1D

11 12 13 7 8 9

Figure 2: Decimal (a) and hexadecimai (b) representations of the chessboard used in the Sargon program. Each square of the board is represented by a single byte in memory. Border squares are assigned a flag value of hexadecimal FF. The use of the border simplifies move generation since it becomes easy to determine when a piece moves off the board.

About the Authors

Dan and Kathe Spracklen are the creators of Sargon, the microcomputer chess program that won the microcomputer chess tournament at the 1978 West Coast Computer Fa/re. Dan Spracklen is a 13 year programming veteran. His experience ranges from scientific simulation programs to real time commercial applications. He is currently a senior applications analyst for Sperry-Univac. Kathe Spracklen is a graduate student in computer science at San Diego State University. A n experienced tournament player, Kathe provided the chess background for Sargon.

MPIECE and PATH will be discussed here. The routines will be described in a language independent narrative. The Z-80 assembler code in which they are implemented will also be presented and exhaustively commented.

The Board in Memory

The chessboard in memory is an array of 120 bytes that can be visualized as in figure 2. Each square of the board is represented in memory by a single byte. Border bytes are assigned a flag value of hexadecimal FF. The border simplifies move generation, since it becomes easy to determine when a piece moves off the board.

The Pieces in Memory

Each piece is represented in memory by one byte of data. The meaning and function

of the bits are as follows:

board. If a board square is empty, it has the value 00. Thus the board set up for play would be as shown in figure 3.

Piece Mover Data Base

In order to generate moves for the pieces on the board, data must be maintained to describe the possibilities for each piece. This is accomplished through the use of three tables. Values for the tables are given in table 1.

DIRECT Direction Table.

Used to determine the direction of movement of each piece.

DPOINT Direction Table Pointer.

Used to determine where to begin in the direction table for any given piece.

DCOUNT Direction Table Counter.

Bit 7 —

color of the piece.

Used

to determine

the

1 - Black

number of directions

0-White

ol

movement

for any

Bit 6 — Bit 5 —

not used. not used.

given piece

Bit 4 —

castle flag for Kings on

ly.

FF

FF

FF

FF

FF

FF

FF

FF

FF FF

Set if the King castled.

has

FF FF

FF

FF

FF

FF

FF

FF

FF

FF

FF

84

82

83

85

86

83

82

84

FF

Bit 3 —

moved flag.

FF

81

81

81

81

81

81

81

81

FF

Set if the piece moved. Piece type. 1 Pawn

has

FF FF

00 00

00 00

00

00

00 00

00 00

00 00

00 00

00

00

FF FF

Bits 2-0

FF FF

00 00

00

00

00 00

00 00

00 00

00 00

00 00

00 00

FF FF

FF

01

01

01

01

01

01

01

01

FF

2 Knight

3 Bishop

FF FF

04

02

03

05

06

03

02

04

FF

FF

FF

FF

FF

FF

FF

FF

FF

FF

4 Rook

FF

FF

FF

FF

FF

FF

FF

FF

FF FF

5 Queen

6 King

Figt

ire J

f; Representat

ion

of the pieces

• on

The pieces in play occupy squares of the

their home squares. Pieces are identified by means of unique byte values.

October 1978 ©BYTE Publications Inc

Listing 1: The Sargon move generation routine, written in Z-80 assembly language.

j***********************************

;EQUATES I***********************************

PAWN ■ 1

KNIGHT ■ 2

BISHOP = 3

ROOK ■ 4

QUEEN ■ 5

KING = 6

WHITE ■ 0

BLACK = 80H

BPAWN = BLACK+PAWN

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

•TABLES SECTION ************************************

START:

TBASE

.LOC START+80H START+100H

■A**********************************

•DIRECT - DIRECTION TABLE .***********************************

DIRECT * .-TBASE

.BYTE+ 09,+11,-11,-09 .BYTE+ 10-10,+01,-01 .BYTE-21,-12,+08,+19 .BYTE+21,+12,-08,-19 .BYTE + 10,+ 10,+11,+09

.BYTE -10,-10,-11,-09

.***********************************

■DPOINT-DIRECTION TABLE POINTER .***********************************

DPOINT = .-TBASE

.BYTE 20,16,8,0,4,0,0

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

DCOUNT-DIRECTION TABLE COUNTER

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

DCOUNT = .-TBASE

.BYTE 4,4,8,4,4,8,8

j***********************************

•BOARD - BOARD ARRAY .***********************************

BOARD = .-TBASE

BOARDA .BLKB 120

.***********************************

•TABLE INDICES SECTION

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

.LOC START+0

Ml: .WORD TBASE

M2: .WORD TBASE

M3: .WORD TBASE

M4: .WORD TBASE

Tl: .WORD TBASE

T2: .WORD TBASE

T3: .WORD TBASE

.***********************************

•VARIABLES SECTION

.***********************************

PI:

.BYTE 0

P2:

.BYTE 0

P3:

.BYTE 0

.***********************************

PIECE MOVER ROUTINE •A**********************************

MPIECE: XRA

ANI CPI

M

87H

BPAWN

Equate statements supply symbolic equivalents for the piece types and colors.

Start is the first address in Sargon and should lie on an even 256 byte page boundary.

Indexing in the Z-80 makes use of an address, contained in either the IX or IY index registers, plus a displacement. The displacement is a signed number +127 to —128. Thus a 256 byte area of memory centered on the index address is accessible. For this reason TBASE is placed in the middle of the tables section.

The value of "." is the current program counter. Direct is now the displacement of the direction table from the table base. So if the value of TBASE is loaded in the IY index register, "DIRECT(Y)" will reference the first element in the direction table.

Diagonal directions used for Bishop, Queen, and King. Rank and file directions used for Rook, Queen, and King. Knight move directions.

White pawn directions including two forward moves and two diagonal moves for captures. Black pawn directions.

Displacement from table base.

Starting point in direction table. In the order BP, WP, N, B,

R, Q, K.

Number of directions to use from table. In the same order as DPOINT.

The board array consists of 120 bytes in memory.

Uses the area of memory between START and START+80H. These indices are used to index into the various tables. Since TBASE is on an even boundary, its address is of the form XX00, where XX depends on the load address. The table address needed for a particular routine is formed by storing a one byte value in the 00 portion. Since addresses are stored in memory with the low order byte first, XX00 would be stored as 00XX. Then changing the 00 portion is simply a matter of storing a one byte value in the index.

Working storage area to hold the contents of the board array for a given square.

Gets the piece to be moved into register A. In GENMOV,

the routine which calls MPIECE, the piece value in register A,

had been exclusive ORed with COLOR, the color of the

piece to determine whether or not to call MPIECE. Another

exclusive OR restores the piece.

This clears all the flag bits and leaves just piece type and

color.

Is it a Black pawn?

October 1978 © BYTE Publications Inc

Listing 7, continued (Listing 7 is concluded on page 95):

JRNZ MP2

DCR A

MP2: ANI 7

STA Tl

LIYD Tl

MOV B,DCOUNT(Y)

MOV

A,DPOINT(Y)

STA LIYD MPS: MOV LDA

INDX2 INDX2 CtDIRECT(Y) Ml

STA MP 10: CALL CPI

M2

PATH

2

JRNC

MP15

ANA EXAF

A

LDA

CPI

JRC

Tl

PAWN+1

MP20

CALL EXAF JRNZ

ADMOVE MP15

LDA

Tl

CPI JRZ CPI JRNC

KING

MP15 BISHOP

MP10

MP15: INX

Y

DJNZ

MPS

LDA Tl

CPI KING

CZ CASTLE

RET •***********PAWN LOGIC************ MP20: MOV A,B

CPI JRC

3

MP35

JRZ

EXAF

MP30

JRNZ MP15

LDA CPI

JRNC CPI

M2 91

MP25 29

MP25:

JRNC MP26 LXI H,P2

SET 5,M

No-Skip.

Decrement, making piece type a 0 for a Black pawn.

Clears color bit and leaves just the piece type.

This is the first step in forming the index into DPOINT and

DCOUNT. Tl contains the value of TBASE (XX00) stored

in low-high order (00XX). After storing the piece type

(0-6) in Tl, it contains the address of TBASE + TYPE.

This operation loads the entire TBASE + TYPE address into

the IY index register.

DCOUNT is the displacement from TBASE to the start

of the direction count table. So DCOUNT + TBASE is

the starting address of the direction count table. Then

DCOUNT(Y) is:

DCOUNT + CONTENTS IY Register

DCOUNT + TBASE + TYPE (0-6)

START OF TABLE + TYPE (0-6) This move instruction pulls the direction count for the given piece type and places it in register B.

Similarly, this instruction pulls the direction table pointer for the given piece type and places it in register A. The direction table pointer will be used to index into the direction table.

Gets the direction and places it in register C. Gets the "from" position which was stored in Ml in GENMOV.

Save in M2 to form the address of the current position. Generate a single move in the given direction. Did the moving piece encounter a piece of the same color, or is new position off the board?

Jump if yes to either question. No move to add to move list. Ready for new direction. Was the square moved to empty?

Save the answer to this question by swapping flag register for alternate flag register. Get type of moving piece, Is it a pawn?

If so, jump to special pawn handling logic. PAWN+1 is equal to the number 2. A White pawn would be of type 1 while a Black pawn would have type set to 0. In either case the carry flag would be set upon a comparison to a value of 2. Valid move, so add it to the move list. Restore the answer to the empty square question. If it is not empty, go get ready for next direction. No further moves are possible in this direction.

Get piece type. Some pieces may only make one move in a given direction.

The King is such a piece. Is this piece a King? If so, go get ready for a new direction. Compare piece type to a Bishop.

If piece type is bishop or greater (ie: Bishop, Rook, or Queen) go make another move in this same direction. Increment direction index for next direction in the direction table.

Decrement the direction count (in register B). If count is not yet 0, go back and repeat this process for the new direction. Otherwise all of the directions have been considered. Fetch piece type again. Is it a King?

If so, call castle to add it to the move list if legal. Return to GENMOV.

Get the number of move directions left to consider. If this

is the first direction, register A=4.

Are there three directions left to look at?

A carry on this compare indicates a diagonal move. If so,

branch to diagonal logic.

Equality on this compare indicates a forward move of two

squares.

Branch to check for legality.

Otherwise this is a forward move of one square. Restore the

answer to the empty square question.

If the square is not empty, this is not a valid move. Go check

the next direction.

Get the "to" position of the move.

Is it on the last rank and therefore a promotion of a White

pawn?

If so, go set promotion flag.

Otherwise, is it on the first rank and therefore a promotion

of a Black pawn?

If no, skip setting flag.

Load the address of the promotion flag.

Set the flag (bit 5 of P2).

90

October 1978 © BYTE Publications Inc

Buy 1 unit t

Irnm

ec//af€

unit

Intercolor 8070 Series 1

°ef/V,

Price!

eryt

Small Business System

from Intelligent Systems Corp.®

The complete system, only - $6,999" retail

8-Color Display Screen

6 Months Standard Warranty

19" Color Display w/keyboard ■ 110 CPS bi-directional printer

8080A Central Processor ■ Business BASIC

16K Ram Memory (Expandable) ■ Payroll programs for up to 500 employees

15K ROM Memory ■ Manuals - 6 Months Warranty

Dual 8" floppy disk drives (591K bytes)

OEM's and Dealers

Phone Toll Free for your Special Prices

1-800-633-7566

In Alabama, Phone 205/793-1522

Digital Marketing

P. O. Drawer 159 ■ Dothan, Alabama 36302 "The Intercolor Distributors"

Circle 87 on inquiry card.

BYTE October 1978 91

Reasons To Always Choose Computer Enterprises:

1. Quality Merchandise

2. Lowest Prices

3. NEW! No-Risk Guarantee

Take A Look At

Our Latest Line Of Products

From MICROPOLIS

ALL ASSEMBLED:

Credit Card

Price

METAFLOPPY DISK SUBSYSTEMS FOR THE S-100 BUS.

1053 Mod II Two-disk system

with 630,000 bytes (formatted) 1,774

1043 Mod II One-disk system

with 315,000 bytes (formatted) 1,072

METAFLOPPY ADD-ON STORAGE MODULES

1023 Mod II One-disk 315,000 byte add-on storage module with enclosure and power supply. Requires daisy chain cable. 604

MACROFLOPPY DISK SUBSYSTEMS FOR THE S-100 BUS.

1042 Mod I One-disk system

with 143,000 bytes (formatted) 744

MACROFLOPPY ADD-ON STORAGE MODULES

1022 Mod I One-disk 143,000 byte add-on storage module with enclosure and power supply. Requires daisy chain cable. 510

DISKETTES

1081-05 Package of 5 Micropolis diskettes (5-%") for use with both Mod I and Mod II drives. 33

DAISY CHAIN CABLES AND ACCESSORIES 1083-02 Daisy chain interface cable B, with 3 connectors for use with 2 storage modules attached to controller. 33

1083-04 Daisy chain interface cable D, with 5 connectors for use with 4 storage modules attached to controller, 61

Cash

Discount

Price

1,706 1,031

581

491

32

32

59

NO-RISK GUARANTEE

Cancellation With No Obligation If WE Don't Deliver In 90

Days

Full Satisfaction Or You May Return Product

Plus All Manufacturers' Factory Guarantees

Shipping charges: $10 per CPU on larger units; $1.50 per kit. $2.00 min. per order.

Delivery is stock to 30 days on most items. Shipment is immediate for payment by cashier's check, money order or charge card. Allow 3 weeks for personal checks to clear. N.Y. State residents add approp. sales tax. Availability, prices and specs may change without notice.

computer enterprise/

Operating Hours: M-W10-5 EST. TM TH-F10-9 EST Closed Sat. & Sun

P. O. Box 71 Fayetteville, N.Y, 13066 Phone (315) 637-6208 Today!

The subroutines in Sargon that handle the actual move generation rely heavily on the indexing capabilities of the Z-80 microprocessor. For this purpose several sets of indices are maintained to access elements of the tables. The piece mover routines depend especially on the following groups of indices.

M1-M4

T1-T3

INDX1 INDX2

Working indices used to index into the board array. Working indices used to index into direction count, direction value, and piece value tables.

General working indices. Used for various purposes.

Variables and constants used in the routines PATH and MPIECE include:

PAWN

= 1

(Identification of the

KNIGHT

= 2

piece types is made

BISHOP

= 3

through use of

ROOK

= 4

equate statements.

QUEEN

= 5

Numbers are hexa

KING

= 6

decimal.)

WHITE

= 0

BLACK

= 80

BPAWN

= Black + pawn

P1-P3

= Working area to hold the

contents of the board

array for a given square.

DPOINT

(a

)

0

+09

+11

-11

-09

4

+10

-10

+01

-01

8

-21

-12

+08

+19

12

+21

+12

-08

-19

16

+10

+10

+11

+09

20

-10

-10

-11

-09

(b)

Piece Type

DPOINT

DCOUNT

Black Pawn

20

4

White Pawn

16

4

Knight

8

8

Bishop

0

4

Rook

4

4

Queen

0

8

King

0

8

Table J: Direct ion table (a) and direction table pointer and counter (b). in order to generate moves for the chess pieces, data describing the possibilities for each piece is kept in table ia. Table lb shows the direction table pointer, which tells where to start in the table for a given piece, and the direction table counter, which determines the number of directions of movement for a given piece.

92 October 1978 © BYTE Publications Inc

Circle 70 on inquiry card.

KNIGHT BEGINS AT WHITE'S QB3 DECIMAL BOARD ARRAY INDEX =43

Direction

New

Table

Direction

Board Array

Resulting

Values

Calculation

Index

Square

-21

43- 21

22

QN1

-12

43-12

31

QR2

+ 08

43 + 08

51

QR4

+ 19

43 + 19

62

QN5

+ 21

43 + 21

64

Q5

+ 12

43 + 12

55

K4

-08

43 -08

35

K2

-19

43 - 19

24

Q1

Figure 4: Generating aii the possible Knight moves from the Queen Bishop 3 (QB3) square. The Knight is piece type 2 (see text) and has a DPOINT (direction tabie pointer) value of 8 and a DCOUNT (direction table counter) value of 8 also. So in generating the Knight's moves, DIRECT+8 will be the starting point in the direction table, and 8 values will be used: -21, -12, +08, +19, +21, +12, -08 and -19. The Knight starts at White's QB3 square, which is square 43 (see figure 2a, decimal representation). Thus the first possible Knight move is 43-21 = 22 (QN1), and so on.

Sample Move Generation

Suppose a Knight occupies the QB3 square. A Knight is piece type 2 and has a DPOINT of 8 and a DCOUNT of 8 (see table 1b). So in generating the Knight's moves, DIRECT + 8 will be the starting point in the direction table and 8 values will be used. Those values are —21, —12, +08, +19, +21, +12, -08, and -19. The Knight starts at White's QB3, which is square 43 (see figure 2a, decimal representation). Thus the first possible Knight move is 43 - 21 = 22. Now 22 is QN1, so the first Knight move returns the Knight to its starting square. Figure 4 summarizes all possible Knight moves from QB3.

Move Generation—

The Algorithms Explained

Move generation is controlled by GENMOV, which scans the board array and calls MPIECE for each piece encountered.

PUT THIS IN YOUR PIPE AND 'SMOKE' IT:

$150 less for the best!

SMOKE SIGNAL BROADCASTING'S

M-1GA STATIC MEMORY SYSTEM

IS NOW BEING OFFERED AT A NEW

LOW PRICE OF $379.00 - $150.00 LOWER

THAN EVER BEFORE!

FEATURES:

• SWTPC 6800 Plug Compatible •STATIC - No refresh required •Allows SWTPC 6800 expansion to 48K

• Low Power

• Uses Single +8 Volt Supply

The M-16A STATIC random access memory system, with a total storage capacity of 16834 words of 8 bits each, is switch selectable to any 4K starting address, and a hardware write protect switch is also included. The system's storage elements are 4K by 1 STATIC memory chips which store 4 times as much in only 12% more space than the low power 2102's. Typical access time is fast enough to work with a 6800 based computer operating at 2 MHz and all systems are factory tested at 2 MHz.

Send for FREE NEW

Computer Products Catalog

includes our complete line of 6800

Super Software products.

6304 Yucca/Hollywood, CA 90028 (213) 462-5652

Circle 320 on inquiry card.

October T978 © BYTE Publications Inc

93

Then MPIECE, the piece mover routine, generates all possible legal moves for that piece (moves that place the King in check are eliminated later in the program). The piece is brought in from memory. It is a one byte data value, as previously discussed, which contains piece type, flags and color. The flags are deleted from the piece before checking for type. Basic piece types are indicated by values from 1 to 6. Except for pawns, White and Black pieces move alike. So a special case is needed for the Black pawn. If the given piece is a Black pawn, the piece type is decremented, making it type 0.

The type of the piece, now one from 0to6, is used as an index into the DCOUNT, direction table count, and DPOINT, direction table pointer arrays. The values for the given piece are fetched. The direction table pointer is then used as an index into DIRECT, the direction table, and the first move direction is fetched. The "from" position of the piece is the square on which the piece currently stands. This "from" board index and the direction table value are passed as parameters to the routine PATH.

PATH generates the move indicated and returns a flag which describes the status

of the "to' values are:

position of the piece. Flag

0 "to" position is empty.

1 "to" position contains a piece of the opposite color.

2 "to" position contains a piece of the same color.

3 "to" position is off the board.

PATH accomplishes its task by fetching the "from" position, adding the direction counter, and storing the result as the "to" position. It then uses the "to" position to form an index into the board array. The current contents of the square are fetched. If the square contains hexadecimal FF, it is off the board. The off board flag is set and control is returned to MPIECE.

If the square is on the board, the contents of the square are saved in memory location P2. The color and flag bits are then cleared and the remaining piece type is saved inT2. If the square is empty, control is returned to MPIECE with the flag value still set to 0. Otherwise the color of the piece on the "to" square is compared with that of the moving piece. The appropriate flag is set to indicate whether or not the pieces are of the same color, and control is returned to MPIECE.

Upon return from PATH, piece mover

PET

PLAY CHESS WITH YOUR COMPUTER!

MICROCHESS is the culmination of two years of chessplaying program development by Peter Jennings, author of the famous 1K byte chess program for the KIM-1. MICROCHESS 2.0 for 8K PETs and 16K APPLEs, in 6502 machine language, offers 8 levels of play to suit everyone from the beginner learning chess to the serious player. It examines positions as many as 6 moves ahead, and includes a chess clock for tournament play. MICROCHESS 1.5 for BRIDGE CHALLENGER by George Duisman for 8K PETs, Level II 16K TRS-80s, and 16K APPLEs: You and the dummy play 4 person Contract Bridge against the computer. The program will deal hands at random or according to your criterion for high card points. You can review tricks, swap sides or replay hands when the cards are

known. No longer do you need 4 people to play! $14.95

ORDERS: Check, money order or VISA/Master Charge accepted; programs and cassettes guaranteed. If you have questions, please call us at 617-783-0694. If you know what you want and have your VISA/MC card ready, you can DIAL TOLL FREE 1-800-325-6400

4K TRS-80s, in Z-80 machine language, offers 3 levels of play (both Level I and Level II versions are included and can be loaded on any TRS-80 without TBUG). MICROCHESS checks every move for legality and displays the current position on a graphic chessboard. You can play White or Black, set up and play from special board positions, or even watch the computer play against itself! Available

now at a special introductory price of only $19.95

STIMULATING SIMULATIONS by Dr. C.W. Engel for 8K PETs, 4K Level I and II TRS-80s, and APPLEs with Applesoft II: Ten original simulation games such as Forest Fire, Lost Treasure, Gone Fishing and Diamond Thief, progressing from elementary to quite complex with most suitable for schoolchildren. Includes a 64 page book giving flowcharts, listings and suggested modifications ... $14.95 (24 hours, 7 days; in Missouri, dial 1-800-342-6600). Or you can mail your order to the address below. Personal Software™ products are now AVAILABLE NATIONWIDE FROM COMPUTER STORES. Look for the Personal Software™ display in your local store!

P.O. Box 136-B10

Personal Software

TM

Cambridge, MA 02138

94 October 1978 © BYTE Publications Inc

Circle 302 on inquiry card.

checks to see if the square is occupied by a piece of the same color or is off the board. If so, this cannot be a legal move, so a check for further moves must follow a new direction. Otherwise a check is made to see if the square is empty. The answer is saved. A check is made to see if the piece being moved is a pawn. If so, control is passed to the special pawn logic. Otherwise the move generated must be added to the move list. ADMOVE is called for the job. After the move has been added to the move list,

the answer to the empty square question is recovered. If the square is empty and the piece is a Bishop, Rook, or Queen, it is possible to continue moving in the same direction. In this case control passes back to the call to PATH for another move in that direction. Kings and Knights may make only one move in a given direction.

When the time comes to consider a new direction of movement for the piece, the index into the direction table is incremented. DCOUNT, the number of directions to con

Listing 1, continued:

MP 26:

CALL

ADMOVE

INX

Y

DCR

B

LXI

H,P1

BIT

3,M

JRZ

JMP

MP10 MP15

.********IVIOVE OF 2 SQUARES******** MP30: EXAF

JRNZ MP15

MP31:

******** MP 35:

CALL ADMOVE JMP MP 15 ■**DIAGONAL MOVE********** EXAF JRZ MP36

LDA M2 CPI 91

JRNC MP37 CPI 29

MP37:

JRNC MP31 LXI H,P2 SET 5,M JMPR MP31

;*****DIAGONAL SQUARE EMPTY ***** MP36: CALL ENPSNT

JMP MP 15

•PATH ROUTINE .-a**********************************

PATH:

LXI

H,M2

MOV

A,M

ADD

C

MOV

M,A

LIXD

M2

MOV

A,BOARD(X)

CPI

OFFH

JRZ

PA2

STA

P2

ANI

7

STA

T2

RZ

LDA

P2

LXI

H,P1

XRA

M

BIT

7, A

JRZ

PA1

MVI

A,l

RET j***********g^ME COLOR************

MVI A,2

RET l************OFF BOARD************

MVI A,3

RET

Add this move to the move list.

Increment direction index for two square move direction.

Decrement the direction count.

Load the address where the piece was saved.

Check the flag in the piece which tells whether it has moved

before.

If the pawn has never moved, go generate a second forward

move. {The pawn can move two squares on the first move.)

Otherwise go get new direction, skipping second forward

move.

Restore the answer to the empty square question.

If the square is not empty, this is not a valid move. Go check

the next direction.

Otherwise add this move to the move list.

Go check the next direction.

Restore the answer to the empty square question.

If the square is empty, it is not a normal pawn capture.

Go try en passant.

Get the "to" position of the move.

If the board index is 91 or greater, this is the last rank and

a White pawn promotion.

If so, go set promote flag.

Otherwise, if the board index is less than 29, this is the first

rank and a Black pawn promotion.

If not, just go add the move to the move list.

Load the address of the promotion flag.

Set the flag (bit 5 of P2), and go add the move to the move

list.

Check for possible en passant capture and add it to the

move list if legal.

Go check the next direction.

Get the address of the location where the "from" position

was stored.

Get the "from" position from that memory location.

Add in the direction from the direction table, giving the

"to" position.

Use "to" position to form an index into the board array.

Load the board index.

Get the contents of the board at the "to" square.

Is the "to" position off the board?

If so, go set off-board flag.

Save contents of the board at "to" square.

Isolate piece type.

Save piece type.

Return if the square is empty. The flag value is returned in

the A register and it is already 0.

Get piece again.

Load the address of the moving piece.

Compare the pieces.

Check to see if the colors match. If so, after the exclusive

OR the color bit will be 0.

If they match, go set match flag.

Otherwise, set different color flag and return.

Set same color flag and return. Set off-board flag and return.

October 1978©BYTE Publications Inc

95

sider, is decremented. When DCOUNT reaches zero, all the moves for the piece have been generated. If the piece involved is the King, a call to castle will add any

f START J

FETCH PIECE

legal castling moves. Then control is returned toGENMOV.

All that remains is to discuss the special pawn logic. Pawns are peculiar in that they capture diagonally, but move straight ahead. They also have the option of moving one or two squares forward on their first move. Furthermore, if they reach the eighth and final rank, they may be promoted to another piece. Sargon always promotes its own pawns to Queens. A flag in variable P2 indicates pawn promotion.

The pawn logic in MPIECE first checks to see if the direction of movement is along a diagonal. If so, the square must be occu

CALL CASTLE

1

',

f RETURN J

NO

/pro*

iote\

wn jr

.

I* X^PA

CALL ADMOVE

Tyes

I

SET

PROMOTE

FLAG

INCREMENT

DIREC INDEX

TION

Figure 5: Flowchart of the piece mover routine, MPIECE. (

96 October 1978 © BYTE Publications Inc

Note: The authors' complete Sargon chess playing program is available in book form. The documentation includes a complete Z-80 listing with detailed comments. The price is $15 from Dan and Kathe Spracklen, 10832 Macouba Pi} San Diego CA 92124, or from local computer stores for $ 17,95.

pied by an enemy piece. It may also be possible to move to the eighth rank in capturing, so pawn promotion must be considered here as well. Another type of diagonal pawn move is the en passant capture. It must be considered by a call to ENPSNT. Finally it is time to consider a new direction, as is done for the other piece types.

If, however, the direction of movement is forward, the "to" square must be empty. Pawn promotion must be checked for on forward moves. If the piece has never moved before, another move in the same direction is a possibility. Otherwise it is time to consider a new direction. Figures 5 and 6 are flowcharts of MPIECE and PATH, respectively.

The Other Move Generation Routines

The move generation driver isGENMOV, the generate move routine. The basic function of GENMOV is to generate the move set for all pieces of a given color. It scans the board checking for a piece of the same color and calls MP1ECE, the piece mover routine.

CASTLE and ENPSNT are also key routines in move generation. CASTLE checks the legality of both King side and Queen side castling. It adds them to the move list if legal. Basic checks must include:

Has King moved?

Is King in check?

Has Rook moved?

Are the intervening squares empty?

Are any squares that the King passes

through under attack?

ENPSNT checks for any en passant pawn captures and adds them to the move list if legal. The tests must include:

On the fifth rank?

Was previous move the first move for

the enemy pawn?

Is the enemy pawn on an adjacent file?

INCK, the check routine, performs the function of determining whether or not the King is in check. The basic method used is to scan outward from the King looking for attackers, by calling ATTACK.

The attack routine finds all attackers on a given square by scanning outward from the square until one of the following occurs:

A piece is found that attacks this

square.

A piece is found that doesn't attack

this square.

The edge of the board is reached.

Circle 383 on inquiry card.

$1195

U.S. ROBOTICS TELETYPE

SERIES-300 MODEMS unnn at

300 BAUD MUUtL 1J

103/113 COMPATIBLE 10 OR 30 CHAR/SEC

ACOUSTIC/HARDWIRE VERSIONS 132 COLUMNS

ORIGINATE/ANSWER VERSIONS UPPER/LOWER CASE

U.S. Robotics now combines the price/performance leader in 300 Baud Modems with the price/performance leader in hardcopy terminals to bring you teleprinter capability at incredible package prices.

USR 310 Originate Acoustic Coupler + Teletype Model 43 KSR = S1195 USR-330 Originate/Auto-Answer FCC Certified Modem

+ Teletype Model 43 KSR m $1365

USR-320 Auto-Answer FCC Certified Modem + Teletype Model 43 R0 ■ $1215

Stand alone modems and teletype available:

Teletype 43 KSR with RS232C $ 1095

USR 310 Originate Acoustic Coupler

(Operates with any standard telephone) SI 39

Direct1 Telco2

Connect DAA

Style Style

USR 330 Originate/Auto-Answer Modem $324 SI85

USR-320 Auto-Answer Modem $299 $160

CF.C.C Certified Package. Connection to phone lines via standard extension phone

jack.)

^Connection to phone lines via CBS-1001F DAA which can be leased from phone

company for approximately $5.00 /mo. plus installation fee.)

Interfaces for stand alone modems:

USR 310 — RS232Conly

USR-320 and USR-330 - RS232C and 20 ma.

(Specify with order If both interfaces are required, add S10 to unit price.)

All products include a 90 day warranty and optional annual maintenance package Add 1 % shipping and handling in the continental U.S. Illinois residents add %% Solas Tax.

U.S. ROBOTICS, INC. 2440 N. Lincoln/Chicago, II 60614/(312) 528-9045

LSI-11 TIME

It's TIME you brought your LSI-11 up to DATE. TIME and

DATE, two important parameters in the computer world, are available to your LSI-11 on one DUAL SIZE BOARD. When requested, the TCU-50D will present you with the date (month and day), time (hour and minutes), and seconds. Turn your computer off and forget about the time — your battery supported TCU-50D won't, not for 3 months anyway. The correct date and time will be there when you power up.

The TCU-50D is shipped preset to your local time, but can be set to any time you want by a simple software routine.

AT $295 YOU CANT AFFORD TO IGNORE TIME

Time is only one way we can help you upgrade your LSI-11 or PDP-11 system. We'd also like to tell you about the others. So contact Digital Pathways if you're into -ll's. We are too.

DIGITAL PrfThWrt IMC.

4151 Middlefield Road • Palo Alto, California 94306 • Telephone (415) 493-5544

Circle 89 on inquiry card.

October 1978 © BYTE Publications Inc

97

Note: Next month the authors discuss their Sargon Exchange Evaluator.

In the case where this routine is called by CASTLE or INCHK, the routine is terminated as soon as an attacker of the opposite color is encountered.

ADMOVE adds a move to the move list. The move list is a linked list. Each move in the move list is stored in a 6 byte area. The meaning of each byte is as follows:

4 5

MLTOP - Move list to position.

The board position to which the piece is moving. MLFLG -Move list flags. MLVAL — Move list value. Contains the score assigned to the move in evaluation.

0&1

Figure 6: Flowchart of the PA TH routine, which performs the actual move of the piece.

f RETURN J

( START J

GET

PREVIOUS POSITION

ADD

DIRECTION

CONSTANT

SAVE

NEW

POSITION

SAVE PIECE

AND

PIECE TYPE

SET

OPPOSITE

COLOR

FLAG

YES

YES

YES

MLPTR — Move list pointer. A pointer to the next move in the move list. Used to facilitate sorting the list. MLFRP — Move list from position.

The board position from which the piece is moving.

SET off

BOARD

FLAG

-f RETURN J

-/ RETURN J

SET SAME COLOR FLAG

f RETURN J

It is hoped that this introductory discussion will assist potential chess programmers in getting started. With the essentials of move generation out of the way, the fun part of evaluation can begin. ■

BIBLIOGRAPHY

In writing Sargon, it was our original intention to put together the first version without any research into the attempts made by others. In this respect Sargon is a unique creation. After competing in the Second West Coast Computer Faire, we began to investigate some of the literature. This bibliography presents some of the references we found most helpful, together with our evaluations.

1. Michie, Donald, On Machine Intelligence, Edinburg University Press, 1974.

Michie's book provides an excellent treatment of exchange evaluation. He uses the concept of an exchange polynomial for accurately determining the outcome of battles engaged on the board. The basic approach we used in XCHNG, the Sargon exchange evaluator, turned out to be surprisingly similar. Sargon's approach, however, is far less computationally complex. We highly recommend this reference to anyone planning to write a chess program without look-ahead.

2. Samuel, A L, "Some Studies in Machine Learning Using the Game of Checkers. 11-Recent Progress," IBM Journal, November 1967. Samuel provides a complete though sometimes difficult treatment of alpha-beta pruning. One of the few articles we encountered before writing Sargon, Samuel's article is the basis for the tree search used in the Sargon program.

3. Fine, Reubin, Ideas Behind the Chess Openings, David McKay, New York, 1943.

Fine's book makes a great starting point for anyone contemplating the addition of an opening book. Although Fine does not present enough lines of play for a complete book, it does provide a good orientation to other references.

4. Chernev, Irving, Practical Chess Endings, Dover Publications, New York, 1961.

Perhaps the greatest weakness we've seen in microcomputer chess programs is the play of the endgame. Chernev's book presents a marvelously readable introduction to this phase of the game.

5. Kmoch, Hans, Pawn Power in Chess, D McKay Company, New York, 1959.

Alas, too many microcomputer chess programs shoot out pawns like photon torpedoes. Kmoch provides an excellent introduction to what constitutes good pawn structure.

98 October 1978 © BYTE Publications Inc

Wondering which memory is best for you?

bo/e 2* offers the following products to the S-100 market at the industry's lowest prices:

j^^^"w : .^wsww? i^^^^w i^k^wf. ^^^^w

II i

8K Static Memory Board

This 8K board is available in two versions. The 8KS-B operates at 450ns for use with 8080 and 8080A microprocessor systems and Z-80 systems operating at 2MHz. The 8KS-Zoperates at 250ns and is suitable for use with Z-80 systems operating at 4MHz. Both kits feature factory fresh 2102's (low power on 8KS-B) and includes sockets for all IC's. Support logic is low power Schottky to minimize power consumption. Address and data lines are fully buffered and 4K bank addressing is DIP switch selectable. Memory Protect/Unprotect, selectable wait states and battery backup are also designed into the board. Circuit boards are solder masked and si Ik-screened for ease of construction. These kits are the best memory value on the market! Available from stock . . . 8KS-B $125 (assembled and tested add $25.00)

8KS-Z $145 (assembled and tested add $25.00)

16K Static Memory Board

Base 2 can now offer the same price/performance in a 16K static RAM as in its popular 8K RAM. This kit includes 8K bank addressing with 4K boundary address setting on DIP switches. This low power unit provides on-board bank selection for unlimited expansion.., No MUX board required. Using highest quality boards and components we expect this kit to be one of the most popular units on the market. Available in two speed ranges, the 16KS-B operates at 450ns while the 16KS-Z operates at 250ns. 16KS-B $285 (assembled and tested add $25.00) 16KS-Z $325 (assembled and tested add $25.00)

Z-80 CPU Board

Our Z-80 card is also offered in two speed ranges. The CPZ-1 operates at 2MHz and the CPZ-2 operates at 4MHz. These cards offer the maximum in versatility at unbelievably low cost. A socket is included on the board for a 2708 EPROM which is addressable to any 4K boundary above 32K. The power-on jump feature can be selected to address any 4K boundary above 32 K or the on-board 2708. An On-board run-stop flip-flop and optional generation of Memory Write allows the board to run with or without a front panel. The board can be selected to run in either the 8080 mode, to take advantage of existing software, or in the Z-80 mode for maximum efficiency. For use in existing systems, a wait state may be added to the M1 cycle, Memory request cycle, on-board ROM cycle, input cycle and output cycle. DMA grant tri-states all signals from the processor board. All this and more on too quality PC boards, fully socketed with fresh IC's. CPZ-1 $110 CPZ-2 $125

S-100 for Digital Group Systems

This kit offers, at long last, the ability to take advantage of S-100 products within your existing Digital Group mainframe. Once installed, up to four S-100 boards can be used in addition to the existing boards in the D.G. system. The system includes an "intelligent" mother board, ribbon cables to link existing D.G. CPU to the DGS-100 board and a power wiring harness. The DGS-100 is designed to fit in the 5-3/4" x 12" empty area in the standard D.G. cabinet. It may seem expensive but there's a lot here! End your frustration! DGS-100 $295

bo/e

2

inc.

Send for more details on these products. Get on our mailing list for information on more soon to be announced products at factory-direct prices from BASE 2. Why pay more when you can get the best at these prices???

P.O. Box 3548 • Fullerton. Calif. 92634

(714) 992-4344

CA residents add 6% tax

MC/BAC accepted • FOB — U.S. destination

Circle 26 on inquiry card.

BYTE October 1978

99

Linear Circuit Analysis

Leonard H Anderson 10048 Lanark St Sun Valley CA 91352

R ■ entered resistance in

ohms. L ■ entered inductance in

henries. C = entered capacitance in

farads. I = entered current in

amperes. F = solution frequency in

hertz.

Branch Type

Resistor

Plus

Node

Capacitor •

Inductor •

Series RL

Series RC

Series LC

Parallel RL Parallel RC

Parallel LC

Current generator

Current generator with 6

-)r

Editor's Note:

Readers wishing to obtain more details about the electrical concepts discussed in this article will find a concise treatment of compiex impedance and related topics in The Radio Amateur's Handbook published by the American Radio Relay League, Newington CT 06117. For a good programmed learning introduction to electricity and DC circuits, see Basic Electricity and DC Circuits by Oliva and Dale, published by Texas Instruments Inc, FOB 5012, Dallas TX 75222.

Minus Node

Calculation of Admittance

Y - (1/R) +j0

Y =0 + j(2ttFC)

Y =0 -j[1/(27rFL)]

Y = R/(R2+ X2» _ j[X/(R2 + X2)] X =2ttFL

-)| • Y = R/(R2 + X2) + j[X/{R2 + X2)]

X = 1/(2irFC)

-)h

<5>

Y -0 +j[X/(1 -27TFLX)] X =2ttFC

Y = (1/R) - j[1/(2ttFL)]

Y = (1/R) +j(27rFC)

Y =0 +j[(27rFC) - (1/27TFL)]

Y = I + JO

Y - lcosine(fj) + j[lsine{0)]

Table 1: Admittance calculations for simple branches. On both of the generators the direction of electron flow is shown by the arrow.

Circuit analysis programs are valuable tools that can tell you how a circuit will work before you build it - "paper breadboards" in effect that don't require any component purchases, expensive equipment or debugging time spent on the bench. Analysis programs fall into two general categories: frequency domain and time domain. Presented here are the fundamentals of a frequency domain linear analysis program. In practice, linear analysis means that no active devices are operated at saturation or cutoff. Frequency domain tells us what circuits do at different frequencies, a type of analysis well-suited to model amplifiers, filters and operational amplifier circuits operating over any desired frequency range. You can make voltage and impedance readings at any point in the circuit without experiencing the loading problems that can occur with conventional equipment.

Because of the variations in small computer systems, primarily in memory, no specific language is given. All of the necessary flowcharts are presented along with necessary mathematical operations. You will need the four basic floating point functions plus array handling (single dimension arrays are acceptable, but two-dimensional arrays are preferred) and at least arctangent and logarithmic functions.

Matrix operations are done but you don't need BASIC MAT functions; the matrix is fully explained later. Using charts and explanations, you can write the program in any form from assembler to BASIC and higher languages. Assembler will work faster since this is a "number crunching" program. The main constraints are memory and the ability to hold many arrays in main memory.

Modeling the Circuit

Each component of a circuit with two connections is called a branch. Connection points are called nodes. Several branches can be connected to the same node. Signal sources are also branches; these have specific requirements in node descriptions and are covered later.

Table 1 shows the basic branch types with only two nodes. The complex number

100 October 1978 © BYTE Publications Inc

Introducing the NEW ST A TE-OF-THE-ART LEADER..

16KPLUS

IDEAL FOR CROMEMCO 64K DISC SYSTEMS

Fully meets proposed

lEEEStandard

Specially designed for the new high speed disc systems using DMA and Time Sharing

• Bank Select

This feature allows running up to 512K of RAM and multiple users on your system. It is fully compatible with Cromemco software, using output port 40H.

• Parallel Addressing Feature

You may choose to locate blocks of RAM at more than one address simultaneously. This feature is ideal for mixing North Star software, which begins at 2000H, with other software beginning at 0000H. With parallel addressing you can locate blocks of RAM in the lowest 8K and at some higher address at the same time.

• High Reliability

Reliability begins at Seattle Computer Products with proper design. All inputs to the board have Schmitt triggers which provide superior noise immunity. Next, we select only first quality components for assembly. To catch infant mortality, we test all boards following assembly, fully burn them in, and then retest at full operating speed. Rigorous quality control is used throughout the manufacturing process.

• Fully Static TMS 4044

These Texas instruments 4K by 1 fully static memory chips require no critical clocks or refresh. They allow a straight-forward, clean design ensuring S-100 bus DMA compatibility.

Standard S-100 Memory

Our standard 16K RAM boards using the TMS 4044 have been reduced in price. This is the same board sold worldwide to satisfied customers since January.

ASM KIT

250 nsec. chips '345 '320

450 nsec. chips '310 '285

HIGH RELIABILITY

MEM0RYB0ARD

FOR THE S-100 BUS

16K PLUS

250 nsec. chips — *445 450 nsec. chips — $410

The 16K PLUS board is offered fully assembled and tested only.

Guaranteed: USA customers—parts and labor guaranteed for one full year. You may return undamaged board within ten days for a full refund (factory orders only—dealer return policy may vary). Foreign and kit purchasers — parts only guaranteed; no return privilege.

Check with your local computer dealer

If our board is not in his stock, he can get one in three to five days.

Factory Orders — You may phone for VISA, MC, COD

orders. ($3 handling charge for COD orders only) Purchase orders accepted from recognized institutions. Personal checks OK but must clear prior to shipment. Shipped prepaid with cross-country orders sent by air. Shipping — normally 48-72 hours. Washington residents add 5.4% tax. Spec, sheet, warranty statement sent upon request.

L

Seattle Computer Products, Inc.

1114 Industry Drive, Seattle, WA. 98188 (206) 255-0750

Circle 318 on inquiry card.

BYTE October 1978

101

admittance value is also given; the program is required to calculate the admittance as part of analysis.

Review of Complex Numbers

If you are unfamiliar with complex number notation or admittance, some review is necessary before beginning any programming. Complex numbers exist in either rectangular or polar form; rectangular form is used here.

Complex Number Arithmetic

The rules for rectangular form arithmetic are shown in the table below. Note that division and inversion have equal value denominators for both real and imaginary parts. Finding the denominator first in the division routine will increase computational speed. Note also that inverting (C + jD) is equal to dividing (A ■/- JB) by (C + jD) and setting A at unity and B at zero.

Actual test equipment such as oscilloscopes present magnitude and phase angle. This is the polar form} and conversion is as follows:

Given rectangular form A + jB, magnitude = MA GN = A + B and phase angle = PHA = (B/A).

Conversion from polar to rectangular form is:

Given polar form MA GN at angle PHA, real part = MA GN x cosine (PHA) and imaginary part = MA GN x sine (PHA).

Trigonometric functions in the language will determine whether angles are in radians or degrees. Most are in radians. The conversion factor from radians to degrees is:

Degrees = 57.29577951 x radians.

Given Complex Numbers of (A + jB) and (C + jD) Addition:

<A+jB) + (C+jD) = (A + C)+j(B + D) Subtraction:

(A + jB) - (C + jD) - (A - C) + j(B - D) Multiplication:

(A + jB) X (C + jD) « {AC - BD) + j{AD + BC) Division:

(A + jB)

<C + jD)

Inversion:

|~AC + BD! [AD - BC"]

Lc2 +D2j-J |_C2 + D2J

[_C2 + D2j "j |_A2+ D2_J.

<C+jD)

Summary of complex arithmetic used for analysis.

This requires two floating point numbers for every complex number. The lefthand number is called the real component and the righthand number, separated by the j, is called the imaginary component. Don't let the imaginary term fool you - it is very real. The naming comes from mathematical notation. [Note that electronics applications use j instead of the mathematical symbol i to avoid confusion with the symbol for current . . . BWL]

Admittance is the reverse of impedance. You may be more familiar with impedance and the notation:

Z = R + jX

with X being reactance, either positive or negative. Admittance is:

Y = G + jB

with G being conductance and B susceptance, either positive or negative. The relationship Y = 1/Z is true but there are special rules governing complex number mathematics. These rules are summarized in the text box on complex number arithmetic.

The circuit to be analyzed is converted into a model for the computer by copying each component as a branch. Each branch has two node numbers corresponding to connections in the circuit. All nodes above ground must have sequential numbering, beginning with 1, but the node numbers may be in arbitrary positions. A ground node is signified by 0.

A complete set of branch descriptions comprises a circuit list. The circuit list we use requires three integer values and two floating point values to completely define a node. The three integer values are for the connections to other nodes and for indicating what number node we are presently at. The two floating point values define the complex admittance of the branch. To be useful, the minimum number of branches available should be at least 20.

You will notice that signal sources are currents and not voltages. This and use of admittances are deliberate in the solution of a node voltage. Consideration of node voltage solutions is important for our analysis.

Fundamental Circuit Matrix

A simple resistor network is shown in figure 1. This circuit can be analyzed quickly using pencil and paper, but will serve to show the mechanism of solutions. Keeping this circuit in mind, inspect the general

102 October 1978 © BYTE Publications Inc

EEs

What's GE's Mobile Radio

Products Department doing

in a computer magazine?

Hoping to arouse your curiosity for one thing.

It's not universally known that our two-way radio systems, now in use throughout the world, increasingly use microprocessing systems for control and data transmission.

Hoping to interest you in investigating a career future with General Electric for another. Our stable, growing business provides many opportunities to pursue new areas of interest and to develop professionally.

We have openings for EEs with experience in RF hardware design and control/signaling hardware and software, to work in the total spectrum of land mobile communications technology . . . including small signal and power RF circuits, custom monolithic ICs, thick-film hybrid circuit design and process technology, frequency synthesis and the application of microprocessors to land mobile communications, to name a few.

The best candidates are aggressive, free-thinking . . . who can hold their own in a technical discussion and work best in a team environment that encourages testing new concepts and approaches. Engineers who enjoy designing equipment to help people solve communications needs.

We have top-notch lab facilities, interesting assignments, and some of the brightest minds in the business. We can also provide choice living in a progressive community, or among the beautiful rolling hills of our nearby countryside.

Curious to know more about these opportunities? Send your resume with earnings history to Dept. 31-K, Professional Relations, General Electric, Mountain View Rd., Lynchburg, Va. 24502.

GENERAL® ELECTRIC

An equal opportunity employer, M/F

Circle 144 on inquiry card.

BYTE October 1978 103

NODE I NODE 2

25V 25a 12.5V

250.

NODE 0 (GROUND)

Figure 1: Simple resistive network with a current generator. The direction of the electron flow from the generator is indicated by an arrow. Note that nodes are numbered sequentially.

Matrix Representation

Pl,1 Y1>2 Y1/3

Y1.4 ••• Y1/N"

~El"

"ill

Y2,1 Y2/2 Y2<3

Y2,4 ■■• Y2;N

E2

»2

Y3.1 Y32 Y33

Y3.4 ■■■ Y3;N

E3

=

13

Y4,1 Y4>2 Y43

Y44 . . . Y4N

E4

14

YN,1 YN,2 YN3

YN,4 ■ ■ ■ YN,N

EN

in

Simultaneous Equations

Y1,1E, + Y1>2E2

+ Y13E3 + Y1>4E4 + .

• Y1,NEN =

H

Y2,1E1 + Y2,2E2

+ Y2/3E3 + Y24E4 + .

• Y2,NEN =

12

Y3,1E1 + Y3.2E2

+ Y33E3 + Y34E4 +

. Y3,NEN "

13

Y4.1E, + Y42E2

+ Y4#3E3 + Y44E4 + .

• Y4,NEN =

14

YnjEt + YN2E2

+ YN,3E3 + YN4E4 + .

■ YN,NEN •

in

Figure 2: Matrix and simultaneous representations of any circuit In the figure, and also in the text, the following conventions hold:

Y := circuit branch admittance

E := circuit node voltage

I := circuit node current The circuit branch admittance is determined by the node description.

Branch Type

Matrix Array Subscripts Row Column

Enter into Array by

Passive

/ Plus node 1 Plus node j Minus node I Minus node

Plus node Minus node Minus node Plus node

Addition Subtraction Addition Subtraction

Generator

| Plus node \ Minus node

NMAX + 1 NMAX + 1

Addition Subtraction

Table 2: Matrix insertion subscript rules for branches. Any row and column node combination that contains a zero will not enter the matrix. NMAX is the maximum node number in the circuit. Remember that the nodes must be numbered sequentially.

matrix and simultaneous equations given in figure 2.

The mathematical matrix form and the simultaneous equations form are identical. Mechanizing the solution will require parts of both forms. Admittance subscripts will depend on node numbers (in the branch list) and follow certain rules depending on type. Those rules are given in table 2.

The simple example, expressed in the general equations of figure 2 is:

YlA+Y1.2E2 = ,1 (i)

Y2,1E1+Y2(2E2 = '2 (2)

The conductance of 50 ohms is 0.02 mho, 25 ohms is 0.04 mho. [The mho is a unit of conductance, the inverse of the ohm. The mho is also called the Siemens . . . CM] Using only the real parts of admittance and following the rules of table 2 yields the numeric forms:

0.06 E

■ 0.04 E2 = 1.0

(1A)

-0.04 E1 +0.08E2 = 0 (2A)

Solving for E2 can be done by multiplying equation (1A) by 2/3 and adding the product to equation (2A) to give:

0.05333 E0 = 0.66667

E2 = 12.5

Substitution of E2 into equation (1A) gives:

0.06 E1 -0.50=1.0

E1 = 1.50/0.06

E1 =25

The preceding straightforward mathematics becomes impractical for models with many nodes. Note that the subscript rules of table 2 are different than the example just given. A slightly different matrix arrangement is actually used.

Fundamental Properties of Matrices

Mechanization of the solutions requires a matrix in two dimensions having N rows and N+1 columns, N being the highest node number in the model. The first subscript is the row, and the second is the column position. The rightmost column is used only for signal sources.

Figure 3 shows the example represented

104 October 1978 © BYTE Publications Inc

a

i

TARBELL SOFTWARE Extensive & Inexpensive.

TARBELL CASSETTE BASIC only $36.00

Most features of ALTAI R* Extended BASIC are included PLUS these added features:

• Assignment of I/O

• Alphanumeric line labels

• Unlimited length of strings

• Unlimited length of variable names

• Procedures with independent variables

• Number system 10 digits BCD integer or floating point

Included are commands unique to TARBELL CASSETTE BASIC which provide capabilities to:

CP/M Disk Operating System

The I/O section of this software has been modified to operate with the TARBELL Floppy Disk Interface in 24K bytes of memory. Five commands permit listing of directory, typing contents of an ASCII file, renaming a file, erasing a file from disk, and saving memory on disk. Fourteen programs are included which are invoked like commands. Six source files are included for transferring between TARBELL Cassette and disk, cold-start loading, Basic I/O system with drivers, and reformatting crashed diskettes. Documentation includes a listing of BIOS and instructions to patch CBIOS for your system. Price is $100 on CP/M diskette with documentation. (CP/M is a product of Digital Research).

CP M 1.4 Update Package

A TARBELL Update Package for those now using CP/M 1.3 is now available on diskette. The Update Package adds new commands and the ability to access four disk drives, as well as 2 new CP/M manuals, TARBELL CP/M User's Guide and a new BIOS listing. Price: $50.00.

SPOOLER

This 8080 program will save many hours of computing time. It intercepts all output to the list device, spools the output to a high-speed disk file, and directs the spooled data to a low-speed printer during unused cycle time while the CPU waits for transfer of data to and from the console. System throughput is greatly increased with the aid of SPOOLER. Output is never lost due to insufficient memory allocation. Fully compatible with the CP/M file system, SPOOLER permits parallel processing without hardware interrupt, and with minimal impact on other processes. Price: $50.00 (Copyright KLH Systems.)

* ALT AIR is a trade mark/tradename o/MITS, Inc.

**CP/M is a trademark/tradename of Digital Research,

• Initialize I/O channel •Assign a physical device to a logical device • Drop an I/O channel previously assigned «Save the BASIC interpreter and monitor or I/O routines on cassette • Cause programs to be appended onto programs already in memory •Call a procedure and pass variables on the list •Cause interpreter to enter edit mode using 15 single character edit commands.

Tarbell BASIC occupies 18K of RAM. Source is available on cassette, CP/M** Disk, and printout—all at reasonable prices. Price for TARBELL CASSETTE BASIC and complete documentation: $36.00.

BASIC-E Compiler

Designed to work with CP/M Disk Operating System this software requires a total of 20K bytes of memory. Included are 26 compiler error messages and 23 run-time error messages. Disk files may be read, written or updated by using both sequential and random access. Included are blocked and unblocked files. Price for compiler and run-time monitor on diskette is $10.00. Manual is available separately for $5.00. (Public domain software by Gordon E. Eubanks, Jr.).

CBASIC Programming System

Upward compatible from BASIC-E, CBASIC is similar but expanded to include several business oriented facilities, allowing decimal computations to 14 digits of precision, data formatting and PRINT USING statements. Statements allow access to disk files and disk file maintenance. Strings of characters may be read from the console to permit correct input line format to be checked before reading data. General programming features include variable names up to 31 characters, optional line numbers, dynamic debugging tracers, and optional data output to printer. CBASIC on diskette and manual priced at $100. (Copyright Software Systems.)

EMPLan 8080 APL

Especially suited to educational applications, EMPL is an adaptation of APL, using the ASCII character set. This 8K version occupies the first 5376 bytes of memory and operates in two modes. The Execution Mode permits all instructions to be executed immediately. The Definition Mode permits the user to enter functions. EMPL on Tarbell Cassette with manual is $15.00. (Copyright 1977 Erik Mueller).

950 DOVLEN PLACE • SUITE B • CARSON, CALIFORNIA 90746 (213) 538-4251 #(213) 538-2254

Circle 360 on inquiry card.

BYTE October 1978

105

M|,|

Ml,2

Ml,3

1*2.1

M2,2

M2,3

•I—

D|

N,

D2

N2

INITIAL

FORWARD SOLUTION

BACK

SOLUTION

LOCATION OF SOLUTION NUMERIC VALUES

.06

-.04

1.0

-.04

08

0

06

-.04

1.0

-.04

.05333

.66667

.06

-.04

1,5

-.04

.05333

.66667

.06

1.5

.05333

.66667

Multiplication factor =

«

New M1 j3 = M] 3 - (MULT.FACT X M2 $) = 1.50

Final node voltage solutions are indicated by numbered subscript Ns and Ds, where the subscript stands for the node of solution.

We have used a slightly different number handling scheme and have arrived at the same solution. This technique can be expanded to larger arrays in order to provide an algorithm that solves all node voltages. It should be noted that solutions provide node voltages with reference to circuit ground; modeling techniques allow finding the voltages between nodes.

f MATRIX j

D= l/M(J,J) K = l

M(KJ) in the optional section. A 0 numerator will have no effect on inner loop variables, so a bypass could occur on Os. (Remember to check both the real and imaginary parts of 0.) Many circuits will have only about one half array positions nonzero, so this test will help running time.

A similar test can be made by bypassing the inner loop if M(J,I) is equal to 0. This helps reduce running time on large node circuit models; at 20 nodes or less, the help is arbitrary. All such tests take time, so it is worthwhile to perform these tests outside the inner loop since the inner loop iterates the most.

It is interesting to note where the node voltage solution numerators and denominators are located. Numerators are always in the righthand or generator column. De

OPTIONAL

N = M(K,J)xD I = J + I

K = K+ I

~T~

jf

T = MU,I)x N M(K,I) = M(K,I)-T

1 = 1 + 1

INNER LOOP

nominators are always in the main diagonal from upper left to lower right. Row position is equal to node of solution. Highest node numerators and denominators are always found; back solution is required only for nodes less than the highest node. The back solution algorithm is called the Gaussian elimination or Gauss-Jordan method of solution.

Complete Frequency Solution

The flowchart shown in figure 6 is the ANALYSIS routine. This routine assumes that the admittance of each branch, Y, is already calculated. Before the matrix branch values can be calculated, the entire matrix is set to 0. Zeroing the matrix will allow simple addition and subtraction in the matrix fill section.

Variable W is the frequency in radians per second. Variable W1 is the negative inverse of W. These simplify admittance calculations. An often used constant is 2tt which should be stored as a single variable. Variable F is the solution frequency.

Variable Y is the calculated complex admittance for passive branches but is the stored value of current for generators. Variable M is the two-dimensional complex matrix array used in figure 3, and variable S is the solution matrix, which is capable of storing complex values. Variable L is the subscript value for array S.

Most of the flowchart involves an examination of each branch, calculation of the admittance, and addition or subtraction of that value into the matrix. Positioning tests seem to be rather complex, but they do follow the rules of table 2. The flowchart and table 2 can be expanded to fit a special branch type.

Current flow of a generator branch is determined by node number entry order. This will be illustrated further under modeling

Totally Integrated, Entirely Self-Contained

THE PET

PERSONAL COMPUTER

With technology so advanced,

Concept so remarkable,

Operation so utterly simple,

Cost so incredibly low.

The PET has given rise to a brand new era.

The Age of the Personal Computer

HIGH SPEED PRINTER ACCESSORY

THE PET has become the standard for the personal computer industry. Consumer and business publications have lauded its discovery. POPULAR SCIENCE and PLAYBOY have given special tribute to the'' mind-boggling'' PET. IN A LEAGUE WITH IBM, HP AND WANG MINICOMPUTERS THE PET is a minicomputer and should not be confused with

rme products that hook up to household T.V.'s. What sets apart from other computers is price. While others cost from $11,000 to $20,000 and more, THE PET, with similar power, costs only $795.00.

Features an IEEE-488 Bus - like HP's mini and full size computers. This standard data and control channel permits direct connection to many peripherals. Over 120 pieces of compatible equipment such as counters, timers, spectrum analyzers, digital voltmeters and nrinter plotters, from HP, Phillips, Fluke, and Textronix. etc., are currently available. ROM Magazine, January 19^8, writes, "THE PET comes out of the box, plugs into the wall, and is ready to use." It is equipped with a CRT video display with reverse and blink features, an alpha-numeric keyboard with complete graphics and a built-in standard cassette tape deck. THE PET has 8K bytes of RAM [user memory}. Optional equipment permits expansion to 32K. And, it has 14K bytes of ROM [program memory].

THE PET COMMUNICATES IN BASIC. THE EASIEST COMPUTER LANGUAGE

if THE PET wants you to press a key. it will flash, "Press such and such", on the display. You speak back to it through its full size 73-key keyboard.

EXTENSIVE CHARACTER ORIENTED GRAPHICS

The unit features a 9-inch, high resolution, 1000 character CRT. Characters are arranged 40 columns by 25 lines on an 8x8 matrix for superb graphics.

WHAT IS THE PET REALLY FOR?

It is the single most important teaching device for any computer related subject. It will entertain the most sophisticated data application, or the simplest inquiry/response assignment. IN THE LAB it handles instrumentation, process monitoring, and more. A number of Fortune 500 companies have already made it an integral part of their lab and general office system.

FEATURING AN IEEE-488 BUS

As a BUSINESS TOOL it will; Maintain ledgers. Keep payroll records. Create P & L's. Control inventory Store and analyze sales data. Draw bar graphs. Issue invoices. Hook up to on-line computer system. AT-HOME it will; Compute state and federal tax returns. Make heat and insulation analyses. Keep Christmas lists Keep checkbook and finances up to date. A variety of games, from Blackjack to Galaxy, is currently available.

Black Jack Teaching Trigonometry

This powerful word processor prints hardcopies, invoices, computer correspondence. Faster than an IBM Selectric, THE PET Printer delivers 60 characters per second at a sustained rate - with upper and tower case capability.

Characters are one-eighth inch tall and are printed in a 7 x 8

dot matrix. The printer uses a standard BVz" wide paper

roll. And. it is only $695.00,

PERIPHERAL SECOND CASSETTE

This optional component expands storage and increases

flexibility. Only$99.95.

MILES OF SOFTWARE

Many programs are available now, including. "BASIC BASIC"

which shows how to write a program. You can develop your

own programs to meet personal requirements.

TECHNICAL SPECIFICATIONS

MEMORY

Random Access Memory (user memory); 8K internal,

expandable to 32K bytes Read Only Memory (operating system resident in the

computer); 14K bytes

8K-BASIC interpreter program, 4K-Operating system,

IK-Diagnostic routine

VIDEO DISPLAY UNIT

9" enclosed, black & white, high resolution CRT

1000 character display, arranged 40 columns by 25 lines

8 x 8 dot matrix for characters and continuous graphics

Automatic scrolling from bottom of screen

Winking cursor with full motion control

Reverse field on all characters

64 standard ASCII characters; 64 graphic characters

KEYBOARD

91/?" wide x 3" deep; 73 keys

All 64 ASCII characters available without shift.

Calculator style numeric key pad All 64 graphic and reverse field characters accessible

from keyboard (with shift) Screen Control: Clear and erase Editing: Character insertion and deletion

CASSETTE STORAGE

Fast Commodore designed redundant-recording scheme, assuring reliable data recovery

Cassette drive modified by Commodore for much higher

reliability of recording and record retention High noise immunity, error detection, and correction Uses standard audio cassette tapes Tape files, named OPERATING SYSTEM

Supports multiple languages (BASIC resident) Machine language accessibility File management in operating system Cursor control, reverse field, and graphics under simple

BASIC control Cassette file management from BASIC True random number generation or pseudo

random sequence INPUT/OUTPUT All other I/O supported through IEEE-488 instrument

interface for peripherals I/O automatically managed by operating system software Single character I/O with GET command Easy screen line-edit capability

Flexible I/O structure for BASIC expansion with peripherals BASIC INTERPRETER

8K BASIC; 20% faster than most omer 8K BASICS Upward expansion from BASIC language Strings, integers, multiple dimension arrays 10 significant digits; floating point Direct memory access: PEEK and POKE commands DIMENSIONS 16" wide; 18V?" deep; 14" high. Weight: 44 lbs.

Immediate Delivery

GAME PROGRAMS ARE $9.95 EACH:

D Blackjack □ Draw Poker □ Galaxy Games

□ Space Flight TJ Target Bong, Off-The-Wall i_l Lunar Lander, Wumpus. Rotate, Tic-Tac-Toe

□ Osero, Reverse rj Spacetrek 1 Kingdom PROGRAMS AT % 14.95 EACH:

I ! Mortgage Analysis

! Diet Planner and Biorhythm

Q Basic Basic-by Lodewyck and James

PROGRAMS AT $24.95 EACH:

□ Basic Investment Analysis-loans, annuities, return on regular and irregular sequences of payments, calendar calculations

! I Stock Portfolio Recordkeeping and Analysiskeeps track of buys, sells, and dividends. Calculates current value, rates of return

Checkbook Recordkeeping and Analysis-keeps track of checks and deposits. Analyzes expenses by date and type PROGRAMS AT $29.95 EACH: D Basic Math Package-matrix addition, multiplication, determinants and inverses to 16 x 16, solution of simultaneous linear equations, vector and plane geometry calculations, integration by trapezoidal, Simpson srule or Gaussian quadrature, Differentiation D Basic Statistics Package-mean, median, variance, standard deviation, skewness, kurtosis, frequency distribution, linear regression, T-tests, correlation analyses

FREE ORIENTATION PACKAGE

Your PET comes complete with two programs and an easyto-follow instruction manual. By working through the routines you will quickly discover how easy it is to gain command of your personal computer.

SERVICE WORLDWIDE

Because your PET is self-contained and compact, professional factory service is never far away. If major service is required, the unit can simply be returned by UPS to an authorized Commodore PET clinic.

To order your PET send check or money order for $795.00 plus $20.00 for shipping and insurance. To order the PET Printer, add $695.00 plus $12.00 for shipping and insurance. The Second Cassette is $99.95. No shipping and insurance charges are required when ordering a second cassette or programs with your PET. Credit card orders are invited to call our toll free number below. Orders will be accepted on our TELEX, No. 25-526B. Use THE PET for 30 days with no obligation. If, for any reason, you are not satisfied, return it for a prompt and cc^tecusnrfund. QRDER „,RECT

CREDIT CARD ORDERS CALL TOLL FREE

800-323-2272

ILLINOIS RESIDENTS CALL: 312-595-0461 TELEX ORDERS: 25-5268

Order your PET, Printer Accessory, Second Cassette and Programs from Contemporary Marketing at:

790 MAPLE LANE DEPT. BT-9 BENSENVILLE, IIIINOIS 60106

Contemporary

cmi 19781851 fTWkAtina Int. *f

Circle 76 on inquiry card.

marketing Inc.

BYTE October T978 109

J = I

K--Z

D

C

1

C

i

)

( 1

)

c

I

)

N

'

J = I

K = 3

D

C

)

<

)

c

)

c

)

i

i

'

'

'

1

N

I

N D

-!

0

-1-1

0 0

D N

0

"J"

0

t

0

x

D

C

)

0 f

0

1

r

N

'

J = 2

K = l

J = 2 K=3

J = 2 K = 4

N

.

i )

i

0

D

c

K= I

N

-t-t

0 0

D

D

0

T

0

T

N

J = 3 K = 2

J = 3

K = 4

N

i

)

D

c

J = 4

N

i

>

D

C

J=4 K=2

N

-t

0

D

J=4 K=3

Figure 5: Sequential solution for ail nodes of a 4 node circuit This solution is the type that would take place if the optional section of figure 4 were deleted.

Branch Types and Passive Calculations

Small systems need simple rules, so it is probably easier to identify branch types in storage by integer numbers. One is sufficient. The number of different types should be considered in terms of calculation code and analysis needs.

Multicomponent branch types are strongly recommended since they reduce the number of nodes required in a model. Multicomponent branches are given in table 3 in terms of ohms, farads and henries stored in the branch list. List array storage posi

Branch Value Storage

V1

V2

Type

(First Floating Point Variable) (Second Floating Point Variable)

Parallel RL

R

L

Parallel RC

R

C

Parallel LC

L

C

Series RL

R

L

Series RC

R

C

Series CL

C

L

Admittance Value Calculation

YR

Yl

Type

(Real Part)

(Imaginary Part)

Parallel RL

1/V1

W1/V2

Parallel RC

1/V1

WXV2

Parallel LC

0

WXV2 + (W1/V1)

Series RL

V1

WXV2

Series RC

V1

W1/V2

Series CL

0

WXV2 + (W1/V1)

Table 3: Calculations showing how a multicomponent branch admittance calculation is performed. The three series calculations (RL, RC, CL) are actually impedance calculations since they are so much easier to perform. To obtain the admittance, perform the complex inversion Y = l/(R+jX).

tions should be considered in regard to the calculations.

Radian frequency, W, and its inverse negative, W1, are from the single frequency analysis routine. All of the parallel combinations are calculated as impedances first and then inverted. Series combinations should require less coding if calculated as impedances first; this can be seen by comparing table 3 with the complex values given in table 1.

Direct admittance calculations may be slightly faster for series combinations. The choice is determined by the amount of memory, possibly by external memory control. All analysis matrices should be in main memory when ANALYSIS is called.

Passive Branch Values at DC

Direct current (DC) analysis can be considered as analysis at 0 Hz. Resistances remain the same but capacitors have 0 susceptance. Their susceptance (imaginary part) is effectively bypassed. Single inductors should have their susceptance value replaced by a low resistance, say a hundredth of an ohm (100 mhos susceptance), to avoid calculating difficulties. In actuality, inductors have finite resistance at DC.

Series combinations can be bypassed for certain types. A series resistor-capacitor (RC) or inductor-capacitor (LC) branch will have 0 admittance. In a series RL branch calculation, the susceptance calculation can be omitted and only the conductance calculation performed. Parallel combinations are also modified. A parallel RC branch requires only the conductance calculation. Parallel RL or LC branches would have the nominal

110

October 1978 OBYTE Publications Inc

Circle 283 on inquiry card.

BYTE October 1978 111

f ANALYSIS J

SET MATRIX TO ZERO

W=Fx2xtt Wl = -(l/W) K« I

P2 = PI N2 = NI

^^SERIES^V

NO

Tyes

CALCULATE Z INVERT FOR Y

CALCULATE Y

y^ pi=o .\

NO

YES

ADD Y TO M{PI,P2)

\

<x'Nl

= 0^S

NO

SV '

> yf~

YES

SUBTRACT Y FROM M(NI,P2)

1

\x

K = K+I

YES

Figure 6: The ANALYSIS routine, which performs the setup for the MA TRIX solution routine. ANALYSIS checks what type of branch is under analysis and calculates the admittance according to the formula of table I. This value is then inserted into the matrix according to the rules of table 2. When all the nodes have been checked, MA TRIX is called to perform the solution.

112 October 1978 ©BYTE Publications Inc

the electric pencil II

^^ © 1Q7A Mirhaol ^hraupr

TM

e 1978 Michael Shrayer

The Electric Pencil II Is a Character Oriented As text I

Word Processing System. This means that text Is I Ine Is re

entered as a string of continuous characters and shifted to

Is manipulated as such. This allows the user Whenever t

enormous freedom and ease In the movement and text Is pu

handling of text. Since line endings are never around fas

delineated, any number of characters, words, display scr

lines or paragraphs may be Inserted or deleted guesswork

anywhere In the text. The entirety of the text variable sp

shifts and opens up or closes as needed In full reverse dl

view of the user. The typing of carriage returns search and

as well as word hyphenation Is not required characters

since lines of text are formatted automatically. any other s

s typed In and the end of a screen ached, a partially completed word Is the beginning of the following line, ext Is Inserted or deleted, existing shed down or pulled up In a wrap hlon. Everything appears on the video een as It occurs which eliminates any . Text may be reviewed at will by eed scrolling both In the forward and rectlons. By using the search or the replace function, any string of may be located and/or replaced with trlng of characters as desired.

When text Is printed, The Electric Pencil II automatically Inserts carriage returns where they are needed. Numerous combinations of line length, page length, line spacing and page spacing allow for any form to be handled. Character spacing, BOLD FACE, multlcolumn as well as bidirectional printing are Included In the Diablo versions. Right justification gives right-hand margins that are even. Pages may be numbered as well as titled. This entire page (excepting the large titles and logo) was printed by the Diablo version of The Electric Pencil II In one pass.

Now on CP/M

The Electric Pencil II

Is also compatible with imsal°s IMDOS. HELIOS versions SSH and DSH are now ready. The NEC print package Is now available. A utility program that converts PEKCIL to CP/M to PENCIL fI les Is ready. "CONVERT" Is only $55.00.

NEW FEATURES: *CP/M, IMDOS and HELIOS Compatible * Supports Four Disk Drives * Dynamic Print Formatting * DIABLO as well as NEC printer packages * Multlcolumn Printing * Print Value Chaining * Page-at-a-tlme Scrolling * New Bidirectional Multlspeed Scrolling Controls * New Subsystem with Print Value Scoreboard * Automatic Word and Record Number Tally * Cassette backup for additional storage * Full Margin Control * End-of-Page Control * Non-Printing Text Commenting * Line and Paragraph Indentation * Centering * Under IInlng * BOLD FACE *

I D E

SCREEN

I DEO II!

Available to Imsal VIO video users for a huge 80x24 character screen. These versions put almost twice as many characters on the screen 11!

HAVE WE GOT A VERSION FOR YOU ?

The Electric Pencil II operates with any 8080/Z80 based microcomputer that supports a CP/M disk system and uses a Imsal VIO, Processor Technology VDM-1, Polymorphic VTI, Solid State Music VB-1B or any similar memory mapped video Interface. REX versions now available. Specify when using CP/M that has been modified for MIcropolls or North Star disk systems as follows: For North Star add suffix A to version number, for MIcropolls add suffix B to version number, e.g. SS-MA, DV- MB.

Vers Video

Printer

SS-I

SP-I

SV-I

SR-I

SI-1

DS-I

DP-1

DV-I

DR-I

Dl-I

NS-I

NP-I

NV-I

NR-I

Nl-I

SSH

DSH

SOL VTI VDM REX VIO SOL VTI VDM REX VIO SOL VTI VDM REX VIO SOL SOL

TTY or TTY or TTY or TTY or TTY or Diablo Diablo Diablo Diablo Diablo NEC Sp NEC Sp NEC Sp NEC Sp NEC Sp He IIos Hellos

sImlIar

s I m I I a r

s I m I I a r

sImI Iar

slmlIar

1610/20

1610/20

1610/20

1610/20

1610/20

InwrIter

InwrIter

InwrIter

InwrIter

InwrIter

/TTY

/Diablo

Price

$225. $225. $225. $250. $250. $275. $275. $275. $300. $300. $275. $275. $275. $300. $300. $250. $300.

MICHAEL SHRAYER SOFTWARE, INC.

1253 Vista Superba Drive

Glendale, CA 91205

(213) 956-1593

Electric Pencil I Is still available for non CP/M users:

Vers Video

Printer

Cassette

UPGRADING POLICY: Any version of The Electric Pencil may be upgraded at any time by simply returning the or\_g\_na\_ disk or cassette and the price difference between versions plus $15.00 to MSS. Accept only or Ig InaI medI a at time of purchase.

SS SOL TTY or similar CUTS

SP VTI TTY or similar Tarbell

SV VDM TTY or similar Tarbell

SSN SOL TTY or similar CUTS

SPN VTI TTY or similar Tarbell

SVN VDM TTY or similar Tarbell

DS SOL Diablo 1610/20 CUTS

DP VTI Diablo 1610/20 Tarbell

DV VDM Diablo 1610/20 Tarbell

DSN SOL Diablo 1610/20 CUTS

DPN VTI Diablo 1610/20 Tarbell

DVN VDM Diablo 1610/20 Tarbell

Demand a demo from your dealer!

Disk Drive

North Star North Star North Star

North Star North Star North Star

Price

$100. $100. $100. $125. $125. $125. $150. $150. $150. $175. $175. $175.

Circle 319 on inquiry card.

BYTE October 1978

113

f SWEEP J

L = 0 F=MINF

Figure 7: The SWEEP routine, used to perform a number of analyses on a particular circuit over a frequency range. Two types of sweeps are possh ble: linear and logarithmic. The variable DELTA is used as an increment and aiso as an indicator of which type of sweep analysis is to be performed. If DELTA is negative, a logarithmic analysis will be performed; if DELTA is positive, a linear analysis will occur.

I 1

j LOGARITHMIC j I I

YES ^

^DELTA<0^

NO

F =

-(FxDELTA)

F=F+DELTA

f RETURN J

I LINEAR j I I

100 mhos conductance specified above. In all branches at 0 Hz the susceptance would beO.

Frequency Sweeping

PLUS NODE

'(

, PLUS NODE

MINUS t NODE

DEPENDENT BRANCH

©

I = g m x e

MINUS NODE

DEPENDENT

CURRENT

SOURCE

Matrix Array Subscripts

Enter into

Row

Column

Array by

Pius node

Dependent branch minus node

Addition

Plus node

Dependent branch plus node

Subtraction

Minus node

Dependent branch plus node

Addition

Minus node

Dependent branch minus node

Subtraction

Table 4: Turning a dependent branch into a dependent current source. The source is entered into the matrix by the stated rules. Remember that any row and column combination with a zero node will not enter the matrix.

For this analysis, minimum and maximum analysis frequencies must be specified plus an increment. Most solutions over a narrow range will have a small increment but it is often useful to have a logarithmic frequency sweep with wide bandwidths. The main program should have a command point to which all major routines return. Frequency range can be selected at this command point with a minimum (MINF), a maximum (MAXF) and an increment (DELTA).

A choice between linear and logarithmic sweep can be done by simply checking for a negative or positive DELTA. A positive DELTA is the incremental change for a linear sweep, and a negative DELTA can be the frequency interval multiplier. The multiplier can be precalculated for the number of frequencies per decade:

DELTA = - (EXP(2.302585/NFD))

which reduces to

DELTA = -10(1/NFD>

where NFD is the number of frequencies per decade and EXP is a function to raise e (the base for the natural logarithms which is approximately 2.71828) to the power of the following argument. For example, twenty

114 October 1978 © BYTE Publications Inc

frequencies per decade would have a DELTA equal to -1.122018.

Figure 7 is the flowchart for a frequency sweep analysis routine. The option of storing results or printing them directly depends on the operating system and memory. Subscript L is used only for solution matrix purposes.

There is a caution to be observed with solution storage: the number of frequencies to be analyzed must not exceed the storage matrix size. Other storage matrices may be written over if no check on the total number of frequencies analyzed is made. This is a very easy error to make.

Branch Switching

Implementing this function is useful for circuit modeling. In effect it allows you to disconnect or reconnect a branch from analysis and yet retain it in the branch list. It is the same as removing or replacing a component in a breadboard. If removed, it is still on the bench and can be installed later.

There are two easy ways to implement switching. Since we are using a numeric value to designate the branch type, we can define a positive value as a connected branch and a negative value as an open branch. Another method is to devote one byte per branch with a numeric value of +1 if con

nected and 0 or -1 if open. Another test can be inserted in the ANALYSIS routine of figure 6, just before the passive type? test. An open condition would bypass any calculations and go on to the next branch.

Dependent Current Sources

This branch type, not mentioned before, enables a model to duplicate transistors or operational amplifiers. It is a current source dependent on the voltage across another branch and is specified by a gain factor called transconductance. The symbology and matrix entry rules are given in table 4.

Transconductance is specified in mhos and is equal to the current divided by the voltage. Branch value entry is the transconductance, and admittance calculation for solution takes this as the stored value for the real part with an imaginary part of 0. You can think of transconductance as a current gain factor. A transconductance of 0.1 with a dependent branch voltage of 24 V produces a dependent source current of 2.4 A. A transconductance of 1.0 gives 24 A.

You do not have to be concerned about the dependent branch voltage. The matrix entry and solution will determine the current from the specified transconductance. The direction of electron flow is another

SAVE THE WHALE

The Fin Whale is the world's greatest long-distance communicator.

Scientists believe that loud, deep-tone, low-frequency sounds made by Fin Whales (frequencies around 20 hertz, or cycles per second) actually travel underwater for distances of at least 500 miles, and under optimum conditions might carry for a radius of over 4,000 miles, potentially reach ing an area greater than the entire Atlantic Ocean.

Drawing by Don Sinrti

Fin Whales, the second largest creatures ever to have lived on planet earth, grow up to 24 meters in length (exceeded only by the 30-meter Blue Whale), and inhabit all the oceans of the world. Tens of thousands of Fin Whales have been "harvested" in recent years, by agreement of the International Whaling Commission, for the sale of products for which substitutes are readily available.

The CONNECTICUT CETACEAN SOCIETY is a small, totally volunteer, non-profit education and conservation organization dedicated to seeking the abolition of all whale kilting. Any concerned citizen can help our efforts by sending name and address and a $15 or more contribution to: CCS, P. O. Box 145, Wethersfield CT 06109.

Circle 143 on inquiry card.

October 1978 © BYTE Publications Inc

115

SET MATRIX TO 0

K>NMAX TEST

W=Fx2xtt

WI=-(I/W)

K=l

V NO

^r

)

PI = PLUS NODE NI = MINUS NODE

GET TYPE INDICATOR

GET SWITCH

I MAIN

| IMPEDANCE I

PATCH POINT ,

YES

PASSIVE^S(YES TYPE ?

NO

P2 =

NMAX+I

CALCULATE

factor and is determined by node number entry order of both the source and dependent branch. Reversing plus and minus node numbers of the source will reverse the source's flow; reversing node numbers of the dependent branch has the same effect; and reversing both source and dependent nodes returns electron flow to the original direction in the source.

One node of either source or dependent branch may be 0. Inspection of matrix entry subscript rules will show this. The only problem left is to allow the program to identify the dependent branch for subscripting.

Dependent Branch Identification

All passive components and generators may be entered into the branch list in any order. The ANALYSIS routine of figure 6 scans the entire list in order to fill the

Figure 8: Optional patch that can be inserted into the ANALYSIS routine to perform switching and direct current source analysis. Switching alio ws a branch to be taken out of the circuit and reinstated at a later time. The direct current source analysis simplifies the calculations at 0 Hz. The routine can be patched into ANALYSIS at the indicated points.

Hdirect

| CURRENT

JL'

NO

SOURCE TYPE

P2 = PI

YES

DEPENDENT BRANCH NUMBER= SWITCH

P2-DEPENDENT BRANCH MINUS NODE

N2=DEPENDENT BRANCH PLUS NODE

Nl*0

TEST

P2 = 0

TEST

matrix for solution. A dependent source should be allowed to enter the list either ahead of or behind its dependent branch. Two options come to mind. The extra integer byte mentioned under branch switching can be used to identify the dependent branch number in the list. Since transconductance is specified as the real part only, the second value storage might be used to hold the dependent branch number. Make sure that the particular floating point storage method that you are using will not change the value of the integer slightly. If there is

116

October 1978 © BYTE Publications Inc

Design of Design* 1"»" fr1'*™

Book 2

Deifenof \dc»^

Book4£z-r \bo^s

Design of Digital Systems

Book 6

Personal Computers & Microprocessing

Here are two inexpensive programmed learning courses designed to keep you up-to-date in digital electronics.

Design of Digital Systems - six volumes

The products of digital electronics technology will play an important role in your future. Calculators, digital watches and TV games are already commonplace. Now, microprocessors are generating a whole new range of products. Personal computers will be in widespread use very soon. Your TV, telephone and computer will combine to change your children's education, your job— your entire way of life.

WRITTEN BY EXPERTS

These courses were written by experts in electronics and learning systems so that you could teach yourself the theory and application of digital logic. Learning by selfinstruction has the advantages of being faster and more thorough than classroom learning. You work at your own pace and respond by answering questions on each new piece of information before proceeding.

After completing these courses you will have broadened your career prospects as well as your understanding of the rapidly changing technological world around you.

The courses are designed as much for the professional engineer as for the amateur enthusiast. You'll learn about microprocessing as well as personal computing — not to mention all the other aspects of digital electronics design.

ADVANCED COURSE DESIGN OF DIGITAL SYSTEMS

Design of Digital Systems is written for the engineer and serious hobbyist who wants to learn more about digital electronics. Its six large-format volumes—each 11%" x 8%" are packed with information, diagrams and questions designed to lead you step by step through number systems and Boolean algebra to memories, counters and simple arithmetic circuits,and finally to a complete understanding of the design and operation of microprocessors and computers.

CONTENTS

The contents of Design of Digital Systems include:

Book 1: Octal, hexadecimal and binary number systems; representation of negative numbers; complementary systems; binary mulitplication and division.

Book 2: OR and AND functions; logic gates; NOT, exclusive-OR, NAND,NOR and exclusive - NOR functions; multiple input gates; truth tables; DeMorgan's Laws; canonical forms; logic conventions; Karnaugh mapping; three-state and wired logic.

Also available at leading computer stores;

Erie Computer Co., 1253 West 8th St., Erie, PA. Computer Mart of Royal Oak, 1800 W 14 Mile Rd,, Royal Oak, Ml. The Madison Computer Store, 1863 Monroe St., Madison, Wl. Personal Computer Corp., Lancaster Ave & Rt. 52, Fra?er, PA. Computer Shoppe, 3225 Danny Pk., Metairie, LA. Computer Corner, 200 Hamilton Ave., White Plains, NY. Imperial Computer Systems, Inc., 2105 23rd Ave., Rockford, IL. Home Computer Center, 6101 Yonge St., Willowdate, Ontario, Canad;

and many others. Ask your dealer

Book 3: Half adders and full adders; subtractors; serial and parallel adders; processors and arithmetic logic units (ALUs); multiplication and division systems.

Book 4: Flip-flops; shift registers; asynchronous counters; ring, Johnson and exclusive -OR feedback counter; random access memories (RAMs); read-only memories (ROMs).

Book 5: Structure of calculators; keyboard encoding; decoding display data; register systems; control unit; program ROM; address decoding; instruction sets; instruction decoding; control program structure.

Book 6: Central processing unit (CPU); memory organization; character representation; program storage; address modes; input/output systems; program interrupts; interrupt priorities; programming; assemblers; executive programs, operating systems, and time-sharing.

BASIC COURSE

NO RISK GUARANTEE

There's absolutely no risk to you. If you're not completely satisfied with your courses, simply return them to GFN within 30 days. We'll send you a prompt, full refund. Plus return postage.

TAX DEDUCTIBLE

In most cases, the full cost of GFN's courses can be a tax deductible expense.

HOW TO ORDER

To order by credit card, call GFN's tollfree number - (800)331-1000; or send your check or money order (payable to GFN Industries, Inc.) to the address below.

Prices include overseas surface mail postage. Air Mail: additional costs (10 volumes), $10. Or write for exact quote.

Write for educational discounts, quantity discounts and dealer costs.

LOW PRICES-SAVE $5

We ship promptly from stock. There are no extras—we pay all shipping costs; we even pay your sales tax where required. And if you order both courses, you save $5. Order at no obligation today.

FREE OFFER

When you order both courses, we'll also send you a copy of The Algorithm Writer's Guide — a $5.95 value — free of charge, and yours to keep even if you decide to return the other volumes.

Design of Digital Systems $19.95

- 6 volumes

Digital Computer Logic $14,95

& Electronics - 4 volumes

Both courses -10 volumes $29.90

Digital Computer Logic & Electronics

CONTENTS

Digital Computer Logic and Electronics is designed for the beginner. No mathmetical knowledge other than simple arithmetic is assumed, though you should have an aptitude for logical thought. It consists of 4 volumeseach HV2" x 8%"—and serves as an introduction to the subject of digital electronics.

Contents include: Binary, octal and decimal number systems; conversion between number systems; AND, OR, NOR and NAND gates and inverters; Boolean algebra and truth tables; DeMorgan's Laws; design of logical circuits using NOR gates; R-S and J-K flipflops; binary counters, shift registers and half-adders.

Sf

GFN Industries, Inc. Suite 400-C 888 Seventh Ave. New York N.Y. 10019

Call TOLL-FREE (800)331-1000

(orders only) 7 days - 24 hours

BYTE October 1978

117

any doubt about whether your floating point to integer conversions are totally accurate, use the extra integer per branch for both switching and dependent branch identity. A dependent source can be switched by signing the extra integer. This method will be assumed for all further discussion.

Entering branch data in the list requires an extra entry for dependent sources to identify the dependent branch. The ability to print out a branch list should also include printing the dependent branch number.

Modification of the ANALYSIS routine to handle dependent current sources is shown in figure 8. This modification also

Figure 9: A patch that can be made to figure 8 to further increase the calcuiating power of the program. This patch will allow the solution of the matrix with impedance entries. It can be added to figure 8 at the instructions indicated.

includes the switch function with the extra integer SW acting as the switch and identifier of dependent branch list number.

Impedance Analysis

All analysis procedures have so far given only voltage solutions. The last analysis we will consider is readily determined by disregarding all generators, placing a value of unity in the proper generator column position and then solving the matrix as before.

This may seem too simple. To understand it, consider once again the circuit of figure 1 and the position of solution numerators and denominators. Denominators always lie in the main diagonal and numerators always lie in the generator column. Impedance analysis will have only one generator column entry since all other generator branches automatically bypass any entry into the matrix.

A unity current is simply (1.0 + jO), 1 A with no phase shift. This is the condition of figure 1 if an impedance is desired at node 1. The resistance of the total figure 1 circuit looking into node 1 is simply 25 ohms. In the model all generators are pure current sources; that is, they have no admittance themselves and can therefore be disregarded.

Addition of impedance analysis is shown in figure 9, a modification of figure 8. A flag variable must be held in the main program to identify analysis type. It is considered to be on for impedance and off for voltage analysis. It can be logical, integer or a single bit, but must be available if both types are desired.

Implementing impedance analysis requires a solution at only one node. It is best to use the optional tests in the flowchart of figure 4 and have all solutions at only one node. Direct printouts of impedance will be in rectangular form but the polar form can also be printed at the same time by using temporary variables and form conversion. Both forms are useful in studying analysis."

REFERENCES

1. Huelsman, Lawrence P, Basic Circuit Theory with Digital Computations, Prentice-Hall, Englewood Cliffs NJ, 1972. Contains a great number of FORTRAN routines along with good basic circuit theory in both frequency and time domain.

2. Cornetet, Wendell H Jr, and Battocletti, Frank E, Electronic Circuits by System and Computer Analysis, McGraw-Hill, New York, 1975. Again, FORTRAN oriented, but contains complete source code for Ohio State's linear and transient analysis programs.

118 October 1978 Q BYTE Publicalic

Software that's tried

and true.

Text Editing System

This is the most complete and versatile editor available for the 6800 or 8080 micro. The system is line and content oriented for speed and efficiency; and features such commands as block move and copy, append and overlay, as well as string manipulators. The 6800 version requires 5K beginning at 0 hex, the 8080 needs 6K starting at 1000 hex. Both should have additional file space as required.

SL68-24

6800 Text Editing System

$23.50

SL68-29

SL68-24C

w/cassette

30.45

SL68-29C

SL68-24P

w/paper tape

31.50

SL68-29P

SL68-24D

w/SWTP Mini Disc

31.50

SL68-29D

SL68-24F

w/SWTP DMAF Disc

50.00

SL68-29F

SL80-10 8080 Text Editing System $28.50 SL80-10P w/paper tape 37.50

SL80-10F with CP/M Disc 40.00

Text Processing System

A compliment to the Editor, the Processor supports over 50 commands for left, right, or center justification, titling, paging, and general text out-put formatting. A loop command is available for repeated formatting jobs such as form letters. Also included are capabilities for macro definition to build special formatting commands. The program requires about 8K of memory and previously edited text.

8800 Text Processor $32.00

w/cassette 38.95

w/paper tape 40.00

w/SWTP Mini Disc 40.00

w/SWTP DMAF Disc 75.00

SL80-11 8080 Text Processor $32.00

SL80-11P w/paper tape 41.00

SL80-11F with CP/M Disc 50.00

Mnemonic Assembler

An ideal addition to the Text Editing System, together they form a complete program development center. It is one of the most versatile assemblers available, and allows for easy adaptation to most systems. The Assembler is many times faster than other resident assemblers. Requires approximately 5.5K plus file and symbol table space.

SL88-26 6800 Mnemonic Assembler $23.50 S1B8-26C w/cassette 30.45

SL88-26P w/paper tape 31.50

SL68-26D w/SWTP Mini Disc 31.50

SL68-26F w/SWTP DMAF Disc 50.00

SL80-12 8080 Mnemonic Assembler $25.00 SL80-12P w/paper tape 34.00

SL80-12F with CP/M Disc 40.00

Relocator

Self-prompting, easy to use program relocates object code in RAM or from tape. Complete instructions included for making the TSC Editor and Assembler or Editor and Text Processor co-resident. (As sold they reside in the same area.) Just over 1K in length.

SL68-28 SL68-28C

SL80-13 SL80-13P

6800 Relocator w/cassette

8080 Relocator w/paper tape

$ 8.00 14.95

$ 8.00 13.00

TSC Space Voyage™

This assembly language version of the popular Star Trek game requires little RAM, runs very fast and has all the features. The program gives you a choice of a short game that takes 20 to 30 minutes, or a long one that takes over an hour to finish. Runs in 4K.

SL68-5 6800 Space Voyage™ $12.00

SL68-5C w/cassette 18.95

SL68-5P w/paper tape 19.00

SL80-9 8080 Space Voyage™ $12.00

SL80-9P w/paper tape 19.00

All software includes a fully commented source listing.

Orders should include check or money order. Add 3% for postage, and for orders under $10 please add $1 for handling. Send 25$ for a complete software catalog.

Technical Systems Consultants, Inc.

Circle 370 on inquiry card.

-^:^\A Box 2574 W. Lafayette, IN 47906 Specialists in Software & Hardware for Industry & the Hobbyist

BYTE October 1978 119

Now! A computer course and a

computer kit featuring 8K RAM

all for one unbeatable price!

Video monitor optional.

RECOMP-i

That's right —

A powerful personal computer system

— PLUS —

A complete home study course in computers

All for $460...

less than you'd expect

to pay for peripherals

alone!

Factory-tested RCA 1802 CPU.

8K RAM.

ASCII and hexadecimal keyboards.

RF modulator for T.V. interface.

Tape cassette recorder interface.

A big, three-amp power supply.

Full color graphics capability.

Integer BASIC, Machine Language, and Assembly Language built right in.

Twenty ready-to-play computer games.

A handsome, functional plastic case.

... and much, much more!

Now you can have a flexible, easyto-assemble computer kit PLUS a comprehensive course in computers

— all for one incredibly low price. RCA's engineering know-how and Reston's publishing excellence make it all possible.

Because you learn by doing, you 11 quickly become an expert in computer programming and operation ... even if you've had no experience with computers before!

In just a few hours of pleasurable kit building, you can assemble a versatile computer system that offers features found in units costing many times more. Check our features and compare!

UNLIMITED EXPANDABILITY!

The RECOMP-I is designed to keep up with the latest advances in computer technology. It'll never become outdated because you can expand it easily whenever you want to

— the possibilities are endless. Call

120 BYTE October 1978

Much more for your money — professional performance at kit price!

us or write for details on these currently available options:

* Memory expansion to 64K RAM.

* 9-inch video monitor.

* A fast, high-quality printer.

And there's a lot more to come! But best of all, you won't have to send RECOMP -1 back to us for expansion. You can install all the optional circuit boards and peripherals yourself, in your own home. Just make the necessary interconnections and your computer will be ready to go.

RECOMP-1: FOR HOME, OFFICE, OR WHEREVER

Part of the fun of owning a personal computer is finding unique applications for it. Here are just a few ways you can take advantage of this computer's amazing versatility:

EDUCATION: Solve math and science problems with ease. Use it as a tutor on most any subject.It's a valuable study aid for any student from grammar school to medical school.

HOUSEHOLD: Organize, index, and store data on household finances. Calculate your income tax, record lists, balance your checkbook, and more!

BUSINESS: Program RECOMP-I to handle general accounting, inventory, patient/client records, just about any routine office chore — all with a minimum of time and effort. It's the perfect work aid for the busy professional.

NO NEED TO PAY

UP TO $1,000 FOR

A COMPUTER COURSE

As incredible as it may seem, you get a complete course in computers along with our RECOMP-I kit. Whether you're a complete novice or an experienced computer professional, this is the course for you. It's a complete guide to all phases of computer construction, programming, and operation. This all-inclusive course contains:

Complete assembly instructions. They guide you every step of the way. Just follow the directions provided for easy, flawless assembly, even if you've never built a kit before! There's just no room for error because the assembly manual explains each procedure clearly and completely. (If you should get into trouble, however, write us and we'll bail you out!)

An introduction to digital electronics. You'll learn all the basic principles of computer operation. The course covers the essentials to give you a working knowledge of the latest in microprocessor technology. You don't need a degree in computer science to understand how computers work. This course explains it all in easy-tounderstand language.

Simplified programming methods. You'll be amazed at how easy computer programming can be. With this crash course in programming techniques, you'll gain the basic skills you need to write and implement accurate programs. In no time flat, you'll be giving your RECOMP-I commands in three of the most widely-used computer languages.

NO-RISK TRIAL OFFER

Order your RECOMP-I today. Send us your check or money order — or use your Visa/BankAmericard or Master Charge if you wish. We'll ship your kit to you just as soon as we receive your order. Remember, the full price of $460 includes all shipping and handling charges.

RECOMP -1 comes to you on a 15-day trial basis. If you're not completely satisfied, just return it, in its original condition, within the trial period. You'll receive a full refund. What's more, the parts carry a oneyear warranty. Your investment's protected — you can't go wrong!

Let our RECOMP -1 kit and computer course introduce you to the world of the personal computer. You'll discover for yourself how useful, and how much fun, a home computer can be.

One more thing. If you have any questions or problems regarding the RECOMP -1, just write to us or call our toll-free number. We'll be glad to hear from you!

RESTON PUBLISHING CO.

SpCl A Prentice-Hall Company [LJ^JJ 11480 Sunset Hills Road '^r^1 Reston, Virginia 22090

□ Send me my RECOMP -1 computer kit and course for $460. (Price includes shipping, handling, and insurance fee) If I'm not completely satisfied I can return the kit, in its original condition, within 15 days for a full refund.

□ Send me just the RECOMP home computer course manual for $29.95. (Assembled RECOMPs are available. Write for info)

Pay by check or money order, or use your bank card. By mail, send your payment to: RESTON PUBLISHING COMPANY, 11480 Sunset Hills Road, Reston, Virginia 22090

For IMMEDIATE service, dial your bank card orders toll free! Just call 800-336-0338

□ Visa/BankAmericard No.

□ Master Charge No

Interbank No.

.Expiration date.

D Check or M.O. enclosed. NAME

^Signature.

ADDRESSCITY

.STATE.

.ZIP_

Please add your state's sales tax where applicable.

Dept. BM

Circle 313 on inquiry card.

BYTE October 1978

121

I I II II 2 II

t l II II 2 2 I I 2 I I I

I I II II I 2 2 2 2 I I I

i I II ii 3 2 Q 4 3 2 2 I

I I 2111 3434Q2II

I I 2 Q 2 I I I I I 30434211

II 221 334Q222I Olllllll Q2I2IIII Q3333I22

(a)

(*)

(c)

Figure 1: The author's algorithm for solving the eight Queens problem, in which eight Queens are to be placed on a chessboard so that no Queen attacks any other Queen. (In chess, the Queen can capture any piece that is in direct line with it horizontally, vertically, or diagonally.) The method consists of placing the first Queen on the lower lefthand corner square. Markers are placed on all squares that the Queen can attack (a). Moving one column to the right, another Queen is placed on the first empty square from the bottom. Markers are again placed (b). The process is repeated. Eventually, either the problem will be solved or there will be no more spaces for one or more Queens; (c) illustrates the latter situation where corrective action is taken by altering details of the trial solution.

Solving the Eight Queens Problem

Terry Smith 9 Hillard PI Weston, Ontario CANADA M9R 2N1

The eight Queens problem is a chess related puzzle, the object of which is to place eight chess Queens on an 8 by 8 chessboard in such a way that no Queen can take another. [For the benefit of nonchesspiaying readers, the Queen can capture any piece that is in direct line with it horizontally, vertically or diagonally. No detailed knowledge of chess is required in order to understand the rest of this article. . . .CM/ 8 is the maximum number that is not obviously impossible, since 9 would force one Queen to be in at least one other Queen's row or column. I will explain how I solved this problem using a computer, since a look into the mind of a problem solver from start to finish might help you with your own problems.

The First Method

The first method I tried was to place the Queens at random on the board and

About the Author

Terry Smith is 21 years old, has studied data processing at Humber College in Rexdale, Ontario CANADA, and is a mathematics oriented computer hobbyist. He works as a computer programmer and is saving to buy a computer of his own on which to develop programs.

check the board for a proper position. There are 64I/56! or 1.7846289 x 1014 such permutations. I would never have thought about this except that I grossly overestimated the speed of the IBM 370 (the machine on which I was working). Even 370s have their limits, I was to discover. If the 370 evaluated 10,000 positions per second, it would have taken 565 years to find all the answers, and then only if I could have written a program that would create all the permutations one after another with no duplications. This is very difficult. I tried writing one and failed. If you can actually do this, I'd like to see it.

The Second Method

I then divided the board into eight columns and placed one Queen at random in each column and realized that with one Queen in each column, I could represent any permutation with an 8 digit number, each digit representing the position of one Queen in its column. Since no two Queens could have the same column position (for example, if the leftmost Queen was at 1 or the bottom, obviously no other Queen could also be at the bottom), what I needed was a list of permutations of all numbers from 1 to 8. With this method I would have to check only the diagonals; much of the work would already have been done. This also reduced my problem to 8! or 40,320

122

October 1978 ©BYTE Publications Jnc

Is personal computing worth it?

We want your answers at the NCC '79 Personal Computing Festival. New York City, June 4—7

Has personal computing been worthwhile for you? Every aspect of this fast-growing field is being questioned...from the effort to generalize a subroutine to the cost of the latest hardware. What are your views?

Some key questions about personal computing need answers. How is personal computing enriching our lives and those of our families and associates? What is its potential? What are we getting for our investments in this field? Is it worth the time, effort, cost...even the criticism?

JOIN THE PERSONAL COMPUTING FESTIVAL

You can answer these and other questions by participating in the Personal Computing Festival of the 1979 National Computer Conference, the

most comprehensive computer show on earth. Here's how you can participate:

• Present a paper

• Give a talk

• Organize a panel

• Deliver a tutorial

• Demonstrate your application and equipment The deadline for receipt of letters of intent to

participate is February 1, 1979. Accepted papers will be published in the 1979 NCC Personal Computing Proceedings. Honors and prizes will be awarded for the best papers and application demonstrations.

For more details, fill in and return this coupon.

NCC '79

Circle 271 on inquiry card.

i i

i

L

Personal Computing Festival

c/o American Federation of Information Processing Societies, Inc. 210 Summit Avenue, Montvale, New Jersey 07645 201/391-9810 Send me more details on:

D Participating in a Personal Computing Festival session.

□ Demonstrating my personal computing application.

□ Keeping me up-to-date on the Personal Computing Festival.

□ Exhibiting my company's products and services at the Personal Computing Festival.

Name

Company _

Street

City .

_State_

_Zip_

1 I

I I I

rJ

BYTE October 1978 123

10 DIM A(8,8),A${10),F(8)

11 FOR T=1 TO 10

12 READ A$(T)

13 NEXTT

14 DATA"0","1","2","3","4","5","6","7","8","9" 20 C=0

30 C=C+1

40 IF 09THEN 250

50 FOR E=1 TO 8

60 IF A(C,E)=0THEN89

70 NEXT E

80 GOTO 330

89 F(C)=E

90 A(C,E)=-1

91 D=1

92 GOSUB 100

93 GOTO 30

100 FOR X=-1 TO 1

110 FOR Y=-1 TO 1

120 IF X*Y+X+Y=0 THEN 220

130 FOR Z=1 TO 8

140 A=C+Y#Z

150 B=E+X*Z

160 IF A>8THEN 220

170 IF A<1 THEN 220

180 IF B>8THEN 220

190 IF B<1 THEN 220

200 A(A,B)=A(A,B)+D

210 NEXT Z

220 NEXT Y

230 NEXT X

240 RETURN

250 FOR X=8 TO 1 STEP -1

260 FOR Y-1 TO 8

270 IF A(Y,X)=-1 THEN 290

280 PRINT A$(A(Y,X)+1);

281 GOTO 300 290 PRINT "Q"; 300 NEXT Y 310 PRINT

320 NEXTX

321 PRINT

330 REM NO SPACES, NOW WHAT?

340 C=C-1

350 A(C,F(C))=0

360 E=F(C)

380 D=-1

390 GOSUB 100

391 IF E=8 THEN 340 400 FOR X=E+1 TO 8

410 IF A<C,X)=0 THEN 440 420 NEXTX 430 GOTO 340

440 A(C,X)=-1

441 F(C)=X

450 D=1

451 E=X

S?S G^B30°° U#m >•• A BASIC pro

480 end gram for solving the eight

Queens problem.

positions to search, a far cry from 1.7846289 x 1CH4 or even 8* But a program to create all these numbers? Much later I discussed this with some friends whom I consider to be software experts. They shook their heads saying, "This is a difficult task." They were right, for as it turned out, I had to give up. An easy solution just wasn't going to work.

Final Method

A determined human, after trying permutations and finding the problem is not trivial, would get a set of pawns to represent Queens and, using pennies for markers,

attempt to find a solution by placing a Pawn (to represent each Queen) on a chessboard and a penny on each square that comes under that Queen's influence. By inspection (s)he would determine where to put subsequent Queens. A methodical procedure would be as follows (I have shown in parentheses the line in the program which is relative to the step in the manual solution):

Place a Queen in the lower lefthand corner of the board (line 90) and then, on all the squares that would come under that Queen's influence, place one penny (GOSUB 100, D=1). Then moving one column to the right (line 30), place a Queen on the first empty square from the bottom. This entails having to move up two squares. Place a penny on each square (even the ones already marked) in this Queen's domain. You'll see why in a minute. Continue moving right and repeating this algorithm until you hit a column that is all pennies (line 80). You use a lot of pennies here. If you run off the righthand edge of the board (line 40) you have solved the problem. However, you probably won't find one the first time. Three columns from the end you will have to stop, having run out of spaces. Now you remove the latest Queen (line 350) and then remove one penny from each of its dominion squares (line 380, GOSUB 100 D=-1). This is why you placed pennies on already covered squares because if you didn't, you wouldn't know if the penny there was the subject Queen's or not. Continuing from the subject Queen's square (line 400) look up the column for a new blank spot (line 410) to place a new Queen and continue. If there are none or if your last Queen was at the top of the board (I check for the top first, line 391), move back one column (line 340 again). Remove that Queen and remove her pennies, and check for blanks above, etc. If you are trying this by hand by now you will have noticed how slow and messy it is. It was only the feelings of frustration from the manual simulation that kept me moving on this seemingly hopeless computer simulation.

The final program started off at half its present length and I spent three days repairing it by adding one line after another as it failed time and again. I added line 391 to eliminate a subscript error.

I was beginning to get worried because the program was twice its original size and I was no longer capable of understanding it at a glance. I typed RUN for the 100th time and waited for the next error. My method of repair depended on my being able to comprehend the program. I added several GOTOs and I knew I couldn't keep it up much longer.

124

October 1978 © BYTE Publications Inc

Everything you've ewer

wanted to Know about microcomputers in

ONEcomoletebook

nip* $10J

Over 400 pages. Full 8!6" x 11 size.

foroiuy $10.95

The ultimate book about microcomputers. Written by experts ... SCELBI and BYTE. Over 400 pages. A collector's item, \^_

featuring The Basics

from the first 16 issues of BYTE and SCELBI's classic library of books. Your microcomputer bookshelf is incomplete without this priceless edition

You can't buy information organized like this anywhere. This is the book that everyone who is into microcomputers needs for reference, for ideas, for clues to problem solving. It is a truly authoritative text, featuring easy-to-read, easy-to-understand articles by more than 50 recognized professional authors, who know and love microcomputers from the ground up. Logical and complete, it features many glossaries, and is illuminated with profuse illustrations and photographs.

The Scelbi/BYTE Primer is divided into four logical sections, that take you from point "0" through building and programming your own computer... step-by-step-by-step.

What can you do with a microcomputer? Checkbook balancing. Recipe converting and food inventory. Heating and air conditioning control. Home and business security and management. Playing the ponies. Analysis of the stock market. Maintaining massive data banks. Self-instruction. Toys and games. Small business accounting and inventory. And lots, lots more.

How does a microcomputer do

it? Lots of "how to" theory. Introducing you to microcomputer operation. 6800, 6502, Z80 CPU chip capabilities. RAM and ROM memories. Addressing methods.

in

VJIIIIIIII IMIHV

Over 400 pages. Selected articles from BYTE and SCELBI books. Profusely illustrated. Many photographs. $10.95, plus$1 shipping and handling.

How to control peripherals. Transmission of information to and from computers. Magnetic recording devices for bulk storage. Analog to digital conversion. How a computer can talk. Other I/O techniques. And more.

Order your copy tc

SCELBI COMPUTER CONSULTING INC.

Post Office Box 133 PP STN Dept. B Milford.CT 06460

►day!

BITS

25 Route 101 West P.O. Box 428 Peterborough, NH 03458 1-8002585477

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

All about building a microcomputer system. Over 12 complete construction articles. Flipflops. LED devices. Recycling used ICs. Modular construction. Making your own p.c. boards. Prototype board construction. Make your own logic probes. Construction plans for 6800 and Z80 computers. Building plans for l/Os — TV and CRT displays, cassette interfaces, etc. Mathematics functions. ROM programmer. Plus much, much more.

How to program a microcomputer. Programming for the beginner. Assembling programs by hand. Monitoring programs. Number conversions. Game of Hexpawn. Design your own assembler. Lots more.

And that's only the beginning! Others have spent millions acquiring the type of microcomputer information found within the 400 pages of The Scelbi/ BYTE Primer. But, it costs you only $10.95, plus $1 for postage and handling, complete! You know the quality of Scelbi and BYTE. This is your assurance of excellence throughout this MUST text. Order your copy today! And, get one for a friend!

BYTE October 1978

125

Circle 267 on inquiry card.

the fllullen CB-I

People hove used our originol model CD-0 Controller Doord for controlling audio systems, model railroads, time lapse photography, and dozens of other applications requiring intelligent, computer-controlled switching,

Our improved model CD-1 has oil the features of its predecessor: 8 relays that respond to an 8 bit word for control purposes, 8 opto-isolators that accept input data for handshaking or further control purposes, full 5-100 buss compatibility, address selection switch, quality components and board, and so on.

But . . . the limited use (and expensive!) flat cable connector has been replaced with new connectors,- these olfow you to use pairs of wires of mixed gouges and lengths as needed. Also, a self-test feature is built on the board itself, and a new output design allows replacement of the relays with opto-isolators.

The best part is that you don't pay a penny more for these new features. In fact, compared to the CB-0 price, you pay 2,900 pennies less.

Available at computer stores nation-wide, or by direct mail (moil orders shipped postpaid in USA,- Colifornians and sales tax).

■■ MULLEN COMPUTER BOARDS

■H BOX 6214, HAYWARD, CA 94545

Suddenly to my amazement, the printer started to hammer out the solutions as fast as it could! I peeled off the paper to check the first one by hand and it was right! I include the final program exactly as it was written, a blow to the cause of structured programming and a glorious victory for dumb luck. If you want to try it, go ahead, but be forewarned that only on the Humber College VM370-135 CMS system was the solution instant. On a Heathkit H8 it took 20 minutes for the first solution and 5 minutes for the next There are 92 solutions of which 23 are discrete. So beware! I feel this is the most efficient algorithm possible. (Using brute force to generate and file all those 40,320 8~digit numbers, and having the computer run through them probably qualifies for the epithet "inefficient")

The eight Queens problem was a challenge, and the pleasure of beating it was tremendous. I feel the approach described here demonstrates a good heuristic for general problem solving, which is: don't check all the other situations in search of a solution, but custom design your own situation to match your specifications. I think now 111 see if I can place eight Maharajahs (a piece combining the Queen and Knight moves) on a board. Excelsior!"

This new expansion of our facilities in New Jersey is our reward for successfully serving our customers. It is also your proof that we can satisfy you. Our continued growth is the result of our policy that we don't sell it if we can't run it — and keep it running. And we have more experience with small computer hardware and software than any other computer store in the East.

So if satisfaction is important to you, come get acquainted with us — all 30 of us — at Computer Mart of New Jersey or Computer Mart of Pennsylvania.

A Special Get-Acquainted Offer

For a limited time, Computer Mart is offering a wide selection of beginners' books at half price. Here's your chance to get acquainted with computers and with Computer Mart.

eg

The Microcomputer Peopled

Computer Mart of New Jersey

501 Route 27, Iselin, NJ 08830 • 201-283-0600 Tue.-Sat. 10:00-6:00 • Tue. & Thur. til 9:00

Computer Mart of Pennsylvania

550 DeKalb Pike, King of Prussia, PA 19406 • 215-265-2580 Tue.-Thur. 11:00-9:00* Fri. & Sat. 10:00-6:00

126

October 1978 © BYTE Publications Inc

Circle 74 on inquiry card.

Microcomputer Problem Solving Using

PASCAL by Kenneth L Bowles. This book is designed both for introductory courses in computer problem solving at the freshman and sophomore college level, and for individual self-study. Graphics is stressed in this version of the book, in many cases borrowing from the "Turtle Graphics" approach originated by Seymour Papert of MIT. A complete single-user software system based on PASCAL has been developed at the University of California at San Diego, where the author is a professor in the Department of Applied Physics and Information Science. This system embodies extensions to the standard PASCAL which include the necessary functions and procedures for handling graphics and strings. 563 pp. $9.80.

An Introduction to Programming and

Problem Solving With PASCAL by G M

Schneider, S Weingart, and D Perlman. This

book has three major goals:

(1)To introduce all aspects of the programming and problem solving process, including problem specification and organization, algorithms, coding, debugging, testing, documentation, and maintenance.

(2) To teach good programming style and how to produce a high quality finished product. This is brought out in numerous style examples throughout the text.

(3) To teach the syntax of the PASCAL programming language.

PASCAL is used as a vehicle to teach various aspects of programming techniques. $12.95.

PASCAL User Manual and Report (Second Edition) by K Jensen

and N Wirth consists of two parts: the User Manual and the Revised Report. The Manual is directed to those who have some familiarity with computer programming and who wish to get acquainted with the PASCAL language. It is mainly tutorial and includes many helpful examples to demonstrate the various features of the language. The Report is a concise reference for both programmers and implementors. It defines Standard PASCAL, which constitutes a common base between various implementations of the language. $6.90.

Programming in PASCAL by Peter Grogono. This book is an excellent introduction to one of the fastest growing programming languages. The text is arranged as a tutorial containing both examples and exercises to increase reader proficiency in PASCAL. Besides sections on procedures and files, there is a chapter on dynamic data structures such as trees and linked lists. These concepts are put to use in an example bus service simulation. Other examples range from the Tower of Hanoi problem to circumscribing a circle about a triangle. Programming in PASCAL is sure to hold the reader's interest. 359 pp. $9.95.

"3$

PASCAL

Programming in MSCAL

Speaking of

PASCAL

The

Design of Well-structured and Correct Programs by S Alagic and M A Arbib. This book represents ten years of research in top-down program design and verification of program correctness, and demonstrates how these techniques can be used in day-to-day programming with PASCAL. An explanation of control and data structures and many examples of programs and proof development are provided. As a programming text, this book contains an introduction to the language, provides algorithms which operate on sophisticated data structures, and offers the full axiomatic definition of PASCAL in terms of proof rules. To use this book, no particular mathematical background is necessary beyond the basic idea of a mathematical proof, although an introductory course in programming is required. 292 pp. $12.80.

BITS

DIAL YOUR BANK CARD ORDERS ON OUR TOLL-FREE HOT LINE: 1-800-258-5477.

inc

Books to erase the impossible

Name.

POB 428, 25 Route 101 West Peterborough NH, 03458

My check enclosed:

Check * :

Amount:

Address. City

-State

_Zip_

Signature.

Total

Number of books .

My card & :

Expires:, Prices subject to change without notice.

Postage $.75/book or $1.00 outside U.S.

Grand Total Deafer Inquiries Invited.

You may photocopy this page.

Circle 35 on inquiry card.

BYTE October 1978 127

HOW TO REPAIR VIDEO GAMES by Robert Goodman.

□ A 270-page service/repair manual containing information on products sold by manufacturers of electronic home video games and pinball machines. Each chapter of the manual is devoted to an individual manufacturer's equipment. Some manufacturers covered are equipment manufacturers while others produce game chips only. The three game chip manufacturers are General Instrument, Texas Instrument and National Semiconductor, while equipment manufacturers include Magnavox, Atari, Radio Shack, RCA and Midway. $7.95.

STANDARD DICTIONARY OF COMPUTERS AND INFORMATION PROCESSING 2nd Edition by Martin H Weik.

□ This is a very complete, fully cross-referenced dictionary. It goes a step farther in that it includes full explanations, practical examples, many pertinent illustrations, and supplementary information for over 12,500 hardware and software terms. It cross-references the terms to other closely related concepts, and appended to each definition, as the need arises, are explanations, tutorial information, examples, usage areas, and cross-references for further clarification of concepts and meanings. 390 pp. $16.95 hardcover.

SEMICONDUCTOR CIRCUIT ELEMENTS by T D Towers & S Libes.

□ In recent years there has been a bewildering proliferation in the kinds of semiconductor devices available not only for functions once fulfilled by the vacuum tube but also for new applications. This compact text provides a comprehensive survey of this vast array of devices. The author discusses the principle of operation for each device and all the relevant information, including alternative symbols, types of encapsulations, with sketches, ratings and characteristics, numbering systems, and common "workhorse" types. An essential book for anyone involved in the design or construction of electronic equipment - home experimenter, technician or design engineer. 309 pp. $6.95.

AN INTRODUCTION TO PERSONAL AND BUSINESS COMPUTING by RodnayZaks.

□ This text is designed for both the novice and the user seeking to expand his/her knowledge in the microcomputer field. A comprehensive introduction to concepts, peripherals, and techniques, this book serves well as an educational text. 245 pp. Only $6.95,

THE MIND APPLIANCE: HOME COMPUTER APPLICATIONS by T G Lewis.

□ If you are looking for household uses for your microcomputer, you need this book. Mr. Lewis finds uses for the computer in every room of the house. Dozens of BASIC programs will help your computer dial the telephone, plan menus, balance checkbooks, and perform filing. After using this practical and adventurous text you will never again have to search for an answer when a friend asks, "But what do you do with it?" 138 pp. $6.95.

BASIC AND THE PERSONAL COMPUTER by Thomas A Dwyer and Margot Critchfield.

□ A fascinating book covering many areas of interest to the personal computer user. After giving an in-depth course in BASIC, which can be covered in 8 hours, the book discusses microcomputer hardware, graphics, word processing, sorting, simulation and data structures. This is an easy to read text that is useful for the beginner and informative for the advanced user. 438 pp. $12.95.

THE LITTLE BOOK OF BASIC STYLE by John M Nevison.

□ BASIC is a fairly easy language to learn, but becoming proficient in its use requires a lot of practice. This book teaches you how to write programs you can read. It does not teach you how to program in BASIC; rather, it helps you to write well-planned programs. This is done by developing 19 rules that can reduce the time necessary to turn out legible and correct programs. By using the techniques developed in this instructive text, you will produce clearer and more easily read programs. 151 pp. $5.95.

BITS New Selections

POB 428, 25 Route 101 West Peterborough NH, 03458

128 BYTE October 1978

Computer Chess

^hess and u*nPutetis

CHESS SKILL IN MAN AND MACHINE edited by Peter W Frey.

□ A game of endless variations, chess has challenged our skill for centuries. This book surveys our current understanding of human chess skill and covers the subtleties of coaxing a machine to play chess. The initial chapter and appendix present a brief history of the computer chess tournaments. The next two chapters describe the essentials of how humans and computers play chess. The fourth chapter provides a detailed description of the Northwestern Chess Program, currently the national champion. The following three chapters discuss several alternative approaches to chess programming. In the final chapter, a former cap- I tain of the U.S. Olympic chess team assesses the present status of chess skill in human and machine. 217 pp. $14.80 hardcover.

1975 U.S. COMPUTER CHESS CHAMPIONSHIP by David Levy.

□ The sixth annual U.S. Computer Chess Championship, held in October 1975, was a tournament in which twelve computer programs competed against each other. This book includes a detailed analysis and description of all the games, presented by David Levy, the tournament director. 86 pp. $5.95.

CHESS AND COMPUTERS by David Levy.

□ If you enjoy playing chess, then you will thoroughly enjoy this book, which is loaded with chess games played by computers. The first chapter describes the earliest chess "machine," the famous Automaton chess player that toured Europe and America. There is a detailed account of Torres y Quevedo's invention that played the ending of King and Rook against King. There is also a description of how computers play chess, including an account of early Soviet attempts at chess programming that contains much information hitherto unpublished outside the Soviet Union. P Many examples of computer play are given, which provide an excellent insight into the problems facing chess programmers. 145 pp. $8.95. J

1976 U.S. COMPUTER CHESS CHAMPIONSHIP by David Levy.

□ This book includes a detailed analysis and description of all the tournament games played at the seventh annual U.S. Chess Championship held in October 1976.90 pp. $5.95.

A New Book on PASCAL!

A CONCURRENT PASCAL COMPILER FOR MINICOMPUTERS by Alfred C Hartmann.

□ This is a paper describing a seven-pass compiler for the Concurrent Pascal programming language. It includes details about the pass structure, lexical analysis, syntax analysis, code assembly and implementation of the compiler. Concurrent Pascal is an abstract programming language for computer operating systems. The language extends sequential Pascal with the monitor concept for structured concurrent programming. Compilation of Concurrent Pascal on a minicomputer is done by dividing the compiler into seven sequential passes. The passes, written in sequential Pascal, generate virtual code that can be interpreted on any 16 bit computer. 119 pp. $8.00.

THE PUBLISH-IT-YOURSELF HANDBOOK: LITERARY TRADITION & HOW-TO edited by Bill Henderson.

□ This excellent self-published book offers the potential author-publisher the insights of 26 contributors who have sold up to hundreds of thousands of copies of their works. Although this book is aimed primarily at the literary rather than the technical world, through tradition, testimony and suggestion it will tell you how to publish it yourself, book, magazine, or journal. Almost every kind of publication is discussed. A how-to section offers practical tips, and a bibliography of 70 books about related subjects is included. 364 pages of fascinating reading, only $5.

TJHEE

WQWLXMm

HANDBOOK;

/?

*«*>' •

&

For your convenience in ordering, please use these pages plus the order form on page 127. You may photocopy these pages.

Circle 35 on inquiry card.

BYTE October 1978

129

Terry T Steeden

40 Waseca Av

Tonka Bay MN 55331

Assembling the H9 Video Terminal

Photo 1: The most exciting part follows the construction of a good portion of the chassis, power supply, high voltage circuits and the character generators: the terminal is fired up for the first time, and the pleasant aura of success is evident in the display. The deflection yoke has yet to be aligned to produce horizontal rows of characters, but just the fact that charac ters appear at all is exciting.

Photo 2: Several steps later in the manual, the deflection yoke has been carefully twisted around the neck of the cathode ray tube to produce hor'h zontai rows of null ("?") characters.

130

October 1978 © BYTE Publications Inc

I have just completed one of the more satisfying electronic experiences in my life. I think a lot of the feeling is a result of everything working the first time. Everyone should have such an experience at least once every ten years. More often is preferable, but Murphy's Law usually prevents it. I have just finished assembling the Heathkit Model H9 video terminal.

At first I thought that everything worked the first time because of my great skill as an assembler. However, as a longtime Heathkit builder (automotive testers, amateur radio equipment, and now microprocessor equipment), I have sensed something better about this kit and its construction manual. While they appear in the familiar and efficient format of past Heathkits, there is something which made them easier to follow, and therefore helped contribute to the "works the first time" result. First, the printed circuit boards are clearly and legibly marked. Double and triple referencing of all components by manufacturer's part number, Heathkit part number, and reference designation made part location much easier, faster, and more accurate. The only place where something might go wrong is in the placement of integrated circuits and diodes (correct placement of pin 1 and band). Second, each printed circuit board is electrically checked as soon as it is completed. It is much easier to check each board as it is completed (there are six printed circuit boards to build) than to troubleshoot the entire finished unit. Each check assures that the board is functioning in a go or no go sort of way. Generally, you can be assured the unit is working up to the point of inserting the last printed circuit board. If something does not work, you can assume it was the last board added. This cuts down troubleshooting time. Resistance checks at each board completion (before applying power) further assure that you will not do severe

Notes on Construction of the Heathkit H9 Terminal...

777/5 series of pictures illustrates several aspects of the construction of the Heathkit H9 terminal. The pictures begin about midway through the construction of the kit, and are presented in the order of assembly of the kit per the manual.

damage to a board because of shorts or integrated circuits installed backwards.

The entire building procedure took me about 18 hours [but reports from other builders, such as yours truly, indicate that it can take as long as 40 hours. . .CH/. Sometimes you just get hooked and can't quit. This also contributes to the little mistakes which cause things not to work the first time. As Heathkit advises, if you get tired, quit and go rest. I might mention that this is the prime reason previous Heathkits, which I assembled, did not work. At 2 AM diodes and integrated circuits can go in backwards very easily and wires can get soldered to the wrong places.

The chassis took about two and a half hours to set up. A lot of mechanical as

Circle 204 on inquiry card.

October 1978 © BYTE Publications Inc

131

Photo 3: One of the most tedious tasks when assembling the H9 is manually checking each switch of the keyboard. Here, two metal cake pans are used as input (background) and output (foreground) of the process of checking each switch with an ohmeter.

Photo 4: After soldering the switches to the keyboard printed circuit board, each switch must be individually tagged with a preprinted self-sticking key identification. The key identification fits into a recessed flat area on the upper side of the key top.

Photo 5: Eventually ail the keys are marked properly and the completed keyboard is ready for installation.

sembly, as opposed to electrical assembly, is required. I hardly used my soldering iron, except to make the occasional small cable assembly. The major cable assemblies are already assembled and supplied in the kit. I thought I would never run out of plugs to put into the chassis, and interconnect. There seemed to be a lot of them. All are necessary to support and interconnect the seven printed circuit boards, and to interface to the outside world.

The power supply circuit card was the first electrical assembly. It went very fast, half an hour, and after resistance checks, it fired up and regulated beautifully. The tests at this point check the regulators on the circuit card, and also check the power wiring on the chassis.

The character generator circuit card was also quickly assembled. The testing at this point was a resistance check, and voltage measurement after power on. The video circuit card must be completed before you can be assured that the character generator board is working. The video circuit card took just a little longer, but then it was just a little bigger.

The next part of the assembly was one of the most enjoyable (enjoyable only if it works; remember Murphy). Even though less than half of the circuit cards were assembled and installed, there were enough to fire the terminal up to see how it worked. The cathode ray tube was installed, more mechanical work. Not too hard, but a little time consuming, as well it should be. It is not wise to be careless with a cathode ray tube. It can implode and must be handled carefully, as noted in the manual. Temporary jumpers, supplied with the kit, are used to set up the character generator and video cards. If all is going well, when you turn the power switch to on, twelve rows of 80 "?" characters with underlines appear magically on the screen (see photo 1 and photo 2). I couldn't believe it when it worked just as the manual said. It was 3:30 AM and I went to bed a very happy person.

Next day started with the keyboard circuit card. This was the most time consuming board to assemble, with lots of pushbuttons to test and install (see photo 3, photo 4 and photo 5). There were also a large number of jumpers to install. I would almost pay a few dollars more for a double sided printed circuit board rather than put in all those jumpers. The pushbuttons have a much better feel to them than what I had expected. My wife contributed significantly by inserting the logos onto the top of each key. The keyboard resistance check was made and power applied. Behold, I could make

132

October 1978 © BYTE Publications Inc

BASIC Needs Are

Filled By HAYDFJ*

Booksf

Basic BASIC, Game Playing with BASIC, and The BASIC Workbook are just three of Hayden's top-notch BASIC language books. Our line runs the gamut of BASIC books: the beginner's beginner (BASIC From the Ground Up; Basic BASIC); the advanced applications book (Advanced BASIC); the game playing guide (Game Playing with BASIC); the problem-solving guides (The BASIC Workbook; Discovering BASIC); and the style guide for advanced programmers (BASIC With Style).

These books succeed in teaching BASIC because they present the perfect balance between theory and practice. All the guides are chock full of programs that illustrate the techniques. All the explanations are fairly general so that they cover a variety of computer systems using BASIC.

Their simple approach puts principles to workso you can get to work in BASIC quickly and with desired results.

So, whatever your BASIC needs are, H AYDEN has the answer.

*M

HAYDEN— The Best in BASIC!

*&

15-Day Money-back Guarantee!y^^;

Hayden Book Company, Inc. jf. 50 Essex Street f

Rochelle Park, NJ 07662 f

/

/'<>*>

Circle 159 on inquiry card.

BYTE October 1978

133

Photo 6: A fter installation of the keyboard, another live test of the display is performed, this time using the keyboard to vary the content of the display.

letters and numbers appear on the screen (photo 6).

The memory and counter circuit card was next, the board with the most integrated circuit sockets to solder in. As in all submodules of a Heathkit, the assembly process begins with a parts tally (see photos 7a and 7b). It takes a while. However, look at the positive side; I personally would rather solder in sockets than try to remove even one soldered in integrated circuit. Sockets for each and every integrated circuit on every board are supplied.

The final board to be assembled is the 10 circuit card. It does not take too long to build, but the most impressive thing here is the schematic. Working professionally with microprocessor systems, one of the biggest problems I've run across is interfacing. Heathkit has designed one of the most flexible 10 cards I have ever seen. Serial RS-232, TTL, and 20 mA loop are all jumper selectable. Parallel 10 is also included.

The timing and processing unit circuit card is preassembled, tested, and calibrated by Heathkit. It is simply plugged in. The final adjustments are easily accomplished. A good VOM or VTVM is all that is required through the whole procedure, with ranges of 10, 100 and 1000 ohms for resistance measurements.

One final electrical note: there have been reports of blown Darlington transistors

because of insufficient current limiting. While this fix was not in the manual when

I assembled the H9, the friendly guys at the local Heathkit store provided both the information and the components to effect it. Readers with H9 kits should check to make sure that this fix is present.

Reflecting on the H9 design, I found two things I do not like. 12 rows of data does not seem sufficient. Anyone writing software and needing to see more than the last

II statements will feel limited. This is offset a bit by the short form mode which creates four columns with 12 rows and 20 characters. Now 48 statements, rather than 12, can be displayed at once if they are all less than 20 characters long. The second thing I found disconcerting was that the characters displayed on the video screen were slightly blurred on the left and right edges of the picture. After playing with the adjusting magnets, and other adjusting controls, this was minimized. It is barely noticeable through the front protective screen.

Other controls include page or scroll selection, independent cursor controls, erase page, erase to end of line, automatic line carry over selection (automatic return to next line after 80 characters), controls for timeshare (half or full duplex, transmit page, break). Serial and parallel interfaces, adjustable to rates between 110 and 9600 bps, are very flexible and functional. Un

134

October 1978 © BYTE Publications Inc

fortunately, few of the standard ASCII formatting commands are decoded: if you want to clear the screen from your computer, 12 line feeds in a row is about the only way to do it, in spite of the fact that an equivalent key is available.

After searching for several months, I was very pleased to find an 80 character per line terminal with so many functions. I saw units that cost 50 to 70 percent

more which did not have the features of the H9. The documentation is equal or better than past Heathkits. Physically, it looks professional and is clean and neat. It would be hard to find a unit so flexible for the investment. I use mine with a modem for timesharing as well as using it as a terminal for my home microprocessor system. And what's more, it worked the first time."

Photo la: A good practice when assembling complicated kits is built into the Heathkit manuals: a parts check off. in this photograph, the parts for the "RAM and counter circuit board" have been unpacked from the paper bags, with loose parts placed in the baking pan at the left.

Photo 7b: As the parts are checked off against the parts list, they are moved from the pan at the left into the pan at the right, and arranged in order for access later during assembly. In this photo, the circuit board for the new module and a conductive foam pad with the integrated circuit parts are both placed at the back of the two pans.

October 1978©BYTE Publications Inc

135

ppcgpamming Ouickies

+ -+ i

+ + ! !

+ +

+ - +

+ + t

+- + I

+ -+ I

+ + + - + + + + - + + - +

-+-+-+-+

J !

- + + + - +

-4—4—

-4—4—4—4—

-+-+-+

+ +"+-+

-+ + - +

+ - + - + + i

-+-+-+-+

! ! -+ + + +i t t

- + + + -+

! !

-+ + + -+ I

-+-+-+-+

+ -+

I !

+ +

+ +

+ +

+ - +

+ -+!

+ -+

■ + + J

■ + - + 4—4" 4—4"

+ - +

■ + +

+ - +

+ - + I

- + +

I r

+ + I

-+-+

■+ + j

+ -+ r

■+ + i

4—4—4—4—4—4—4—4-

+ +-+-+-+-+-+ +

j

+ -+-+ I !

+ -+ + I i

■+ + -+ I

+-+-+! ! ■+ + + I i

+ -+ + I

4—4—4"

-4—4—4-i

+ + +i

I

+ + -+ i !

+ -+ + ? t

+ + -+

! !

■4—4- +

I

■+-+-+

+

+ • ;

+ j

■ + + •

4- +• j

+ + »

+

4—4—4- +

•+ 4—4I [

•+ + +| J

■ + -+ + 1

•4—4—4- 4—4—4—4—4—

4J

+

+ +■

+ - + j

+ + J

4—4-

•4--4j

■4- 4j

4—4

t

■4- + ! !

■4- +

4-- + j j

4- 4

t T

+ + j

J J

+ 4I J

4- 4I

• + - +

Figure 1: Two typical mazes as generated by the program of'listing 7. A series of these will entertain you for hours and furnish you with another response to that age old question, "What do you do with it?"

+ - + -4—4- 4—4—4—

+ +-+ + 1

+ -+ + + + +-+ +

-+-+ +

+-+-+-+ +-+-+-+

-4—4—

l

+ + + +

+ + 4—4j

+ - + -+ I

+ - + -+-+•

+ +-+-+ I

+ +- + -+■ j

+ + +- + l

f-+-+-+

+ + + i

+ -+- +

+ -+ + I ! ! -+ + + ! ! ! + + + I I

-+-+ + ! !

+ +-+ ! ! !

-+ + + [

-+-+-+

-4—4—4—

-+-+-+-+

! !

+ +-+ +

! ! I

+ + +-+

! ! ! + + +-+

! ! !

+ + + +

! ! ! + + +-+

! ! !

+ +-+-+i |

-+-+ + +j

+ +-+-+ +-+-+-+

-+-+!

+ i

+

i

+

+ I

+ +I

+ -+[

+ + ! !

+ +

+ +! !

+ +

+ + + -+

+ - + I

+ +

+ - +

+ + j

4—4I

+ +

+ - + j

+ -+ t

+ + i

+ -+

!

+ + [

+ - +

-4—4—

+ -+

-+ + I

-+ +• + -+■

!

-+ + !

+ -+

-+-+J

-+ +t

+ - + J

-+ + I

- + - +

+ - + - +

! !

+

+

■+ 1

+

+ +

•+-+-+ ! I

■+ + +

I

+ -+ + [

■ + -+-+ t

•+ + +

! !

•+-+ +

I

+ -+ + ! !

+ +-+ I j

■+-+-+

Maze

Robert J Bishop 1143WBadillo#E CovinaCA 91722

Here is an interesting novelty program that you can leave running on your video display whenever you are planning to have guests over to see your computer. The program automatically generates and displays a different maze about once a minute on an Apple I computer. Each maze is 11 squares high and 19 squares wide, and has only one path through it. The size, 11 by 19, was chosen so that a display with 24 lines of 40 characters each would just fill the screen.

Basically, here's how the program works. The entrance and exit points are randomly chosen first. Next, a random walk is performed from both of these points until the two paths cross. This determines the one, and only one, way through what will become the maze. As each "cell" is visited via these random walks, the location of the cell is placed in a queue. A queue is simply a list of items in which all insertions are made at one end, and all accesses are made from the other end, ie: it's a first in-first out (FIFO) list. When either of the walks runs out of places to go (gets stuck in a corner, or gets boxed-in), it goes back to the queue and restarts from the node indicated by the next item in the queue. This restarting process continues until the queue becomes empty, at which point the maze is complete. The resulting maze is then displayed, and the whole process starts over again.

The program is written in Apple BASIC and requires less than 2 K bytes of memory; an additional two pages (512 bytes) are required for the queue and grid array. Along with the BASIC interpreter the whole thing easily fits in 8 K bytes. In order to conserve space, the grid array and the queue are accessed via PEEK and POKE functions. The queue, indicated by the variable Q in the program, is located starting at decimal location 768; the grid array G starts at decimal location 1024. These values are set in line 100 of the program. Each of these

136

October 1978 © BYTE Publications Inc

Osborne 8- Associates announces twonewbooks...

AN INTRODUCTION TO MICROCOMPUTERS: VOLUME 2 - SOME REAL MICROPROCESSORS VOLUME 3 - SOME REAL SUPPORT DEVICES

There are hundreds of microprocessor books on the market today, but there's nothing like Volumes 2 and 3. These books provide the only detailed descriptions of real products from an independent source.

NEW MICROPROCESSORS

Volume 2 describes individual microprocessors and support devices commonly used only with the parent microprocessor. The new edition represents a massive expansion of our previous Volume 2; among other new material it includes the first detailed description of the Intel 8086 16-bit microprocessor.

NEW SUPPORT DEVICES

Volume 3 describes support devices that can be used with any microprocessor. The majority of this book is new material; in particular it has one of the most comprehensive discussions of memory devices ever printed.

Between Volumes 2 and 3, every microprocessor and most support devices available today are described —' in detail, and from an independent source.

NEW UPDATES

Because of the tremendous amount of material that Volumes 2 and 3 must cover, these books have been written to be updated on a regular bimonthly schedule. Six update sections for each of the two volumes may be purchased on a yearly subscription basis. Each update will describe new products; or products not covered in the original volumes; updates also provide additional information for products already included, and errata pages for previous text.

NEW FORMAT

For your convenience, Volumes 2 and 3 are printed in loose leaf form and may be purchased with or without a binder.

The 1978 edition of Volume 2 and the new Volume 3 of m INTRODUCTION TO MICROCOMPUTERS will be available at the end of September. To order these or other Osborne & Associates publications, check the appropriate boxes below.

Volume 2 — Some Real Microprocessors 1978 Edition — With Binder

15-2 Without Binder

16-0 Binder alone

Volume 3 — Some Real Support Devices With Binder

18-7 Without Binder

19-5 Binder alone

Volume 2 and 3 Updates (Subscription to six issues of each series)

Volume 2 Updates only (six issues)

Volume 3 Updates only (six issues)

PRICE

$20.00

$15.00

$ 5.00

$20.00

$15.00

$ 5.00

$40.00

$25.00

$25.00

QTY

• 6V2%( SF Bay Area residents only •6%, California residents outside SF Bay Area

• Payment in advance must be enclosed for purchases of up to $70.00. Invoicing for purchases of $70.00 or more in the U.S.A. available upon approval of your account. All foreign orders must be prepaid in U.S. dollars drawn on a U.S. bank.

TOTAL

Sates Tax (Calif, residents only)

Shipping Charges TOTAL AMOUNT ENCLOSED

AMT

ef*

OSBORNE & ASSOCIATES, INC. P.O. Box 2036 DEPT. [ 1 3 Berkeley, California 94702 U.S.A.

(415) 548-2805 TWX 910-366-7277

STATE ZIP PHONE

SHIPPING CHARGES: Shipping for large orders to be arranged.

UPDATE SUBSCRIPTIONS:

D All foreign orders $4.00 per 6-issue subscription for airmail D No extra charge in the U.S. - 4th Class Mail ONLY.

BOOKS:

D All foreign orders, $3.00 per book, for air shipment

D 4th class $0.35 per book (allow 3-4 weeks within USA, not applicable to discounted orders!

□ $0.75 per book, UPS (allow 10 days) in the U.S.

□ $1.50 per book, special rush shipment by air in the U.S.

Please send information on:

D Other OErA publications

□ Becoming an OErA dealer D School discounts

D List of foreign distributors

D More information on Volumes 2 and 3

F10

Circle 292 on inquiry card.

BYTE October 1978 137

arrays requires one 256 byte page of memory.

If you have a random access display (if your hardware lets you change displayed characters without having to regenerate the complete display), you might want to modify the program to become an interactive game. After the maze is displayed, let players try to move some type of cursor through it before a set time limit is reached."

Listing 1: An Appie I BASIC listing of the maze program. This program shouid be easy to convert to any BASiC language which uses PEEK and POKE functions.

10 DIM A(3), B(3), C(3), E(4), N(2)

20 E(1)=1:E(2)=2:E{3)=4:E(4)=8 100Q=768:G=1024:R=-1:F=-1:lvM):L=2 120 FOR K=1 TO 209: POKE G+K-1,0: NEXT K 140N(1)=3+RND (7):N(2)=205- RND<7) 160 POKE G+N(1 ),2: POKE G+N(2),24 180P=N(1): GOSUB 1000: P=N(2): GOSUB 1000 200 L=3"L: P=N(L) 250 GOSUB 3000: IF P<0 THEN 350

300 GOSUB 1000: GOTO 400

350 GOSUB 2000: IF P<0 THEN 500

400N(L)=P: GOTO 200

500 FOR K=1 TO 24: PRINT : NEXT K

510 FOR K=1 TO 11

520 FOR L=1 TO 19

540 T- PEEK (G+19MK-D+L-D/2

560 0$= " ": IF T=2*(T/2) THEN 0$= """ 580 PRINT "+";0$; 600 NEXT L: PRINT "+" 620 FOR L=1 TO 19 640 T= PEEK (G+19*(K-1)+L-1)/4 660 0$= " ": IF T=2*(T/2) THEN 0$= "!" 680 PRINT 0$;" "; 700 NEXT L: PRINT "!" 720 NEXT K

740 P= PEEK (Q+1): T=P"19*(P/19)

760 FOR K=1 TO T:PRINT "+-"; : NEXT K:PRINT "+ "; 780 FOR K-T+2 TO 19: PRINT "+-" ; : NEXT K: PRINT '*+" 800 GOTO 100 1000 R=R+1: POKE Q+R,P: RETURN

2000 F = F+1: P="1: IF F<=R THEN P= PEEK (Q+F): RETURN

3000 K-0

3100T=P+1: IF T/19#V19 THEN 3200

3150S=1: GOSUB 4000

3200 T=P"19: IF T<0 THEN 3300

3250 S=2: GOSUB 4000

3300 T-P-l: IF T/19#/19 THEN 3400

3325 IF T<0THEN 3400

3350 S=3: GOSUB 4000

3400 T=P+19: IF T>=209 THEN 3500

3450 S=4: GOSUB 4000

3500 IF K#DTHEN 3600: P=~1: RETURN

3600 K=1+ RND (K):T=C(K)

3610 IF PEEK (G+T) #0 THEN M=1

3620 IF M=0 THEN B(K)=B(K)+16*(PEEK (G+P)/16)

3630 POKE G+P, PEEK (G+P)+A(K)

3640 POKE G+T, PEEK <G+T»+B(K)

3650 P=T: RETURN

4000 IF PEEK (G+T)=0THEN 4300

4050 IF M#0 THEN RETURN

4100 IF PEEK (G+P»/16= PEEK (G+T)/16 THEN RETURN

4300 K=K+1: C(K)=T: A(K)=E{S)

4400S=S+2-4*((S+1)/4): B(K)=E(S)

4500 RETURN

TURTLES

Small home robots controllable by your computer.

Needs 8 bits in, 4 bits out TTL compatible parallel port ,

Attachable to any computer via parallel interface (not included).

Terrapin™ Turtles can:

• 'walk' (on 2" radius wheels)

• 'talk' (via 2-tone speaker)

• 'blink' (with lights as eyes)

• draw (with solenoid-controlled pen)

• 'feel' (using ZVz" radius dome as touch sensor)

Use your Turtle to map rooms, solve mazes, dance, explore Artificial Intelligence, teach geometry or programming.

A unique peripheral to keep you "in touch" with your computer.

Computer not included (Batteries not needed).

Kit S300 Assembled i>500

Terrapin, Inc.

S-100 Bus Interface $40 • Shipping $5

Mass. residents add 5% sates tax

Limited delivery from stock • Brochures available

33 Edinborough Street, 6th Floor Boston, MA 02111 (617) 482-1033

138

October 1978 © BYTE Publications Inc

Circle 372 on inquiry card.

EDP books you can't afford to be without

MICROCOMPUTER-BASED DESIGN

by J. Peatman

491/380 Pub. Pr., $24.50 Ctub Pr., $17.50

COMPUTER ARCHITECTURE

by C. C. Foster

770/794 Pub. Pr., $17.95 Club Pr., $13.95

THE 8080A BUGBOOK—MICROCOMPUTER INTERFACING AND PROGRAMMING by P. R. Rony, D. G. Larsen & J. A. Titus 783/845 Pub. Pr., $9.95 Club Pr., $8.45

MINICOMPUTER SYSTEMS Organization and Programming

by R. H. Eckhouse, Jr.

768/641 Pub. Pr., $18.95 Club Pr., $13.95

MICROPROCESSOR PROGRAMMING FOR COMPUTER HOBBYISTS

by N. Graham

783/56X Pub. Pr., $12.95 Club Pr., $10.95

FUNDAMENTALS OF DATA STRUCTURES

by E. Horowitz & S. Sahni

770/522 Pub. Pr., $17.95 Club Pr., $14.95

CHESS AND COMPUTERS

by D. Levy

785/252 Pub. Pr., $12.95 Club Pr., $10.50

TOP-DOWN STRUCTURED PROGRAMMING TECHNIQUES

by C. L. McGowan & J. R. Kelly

769/052 Pub. Pr., $15.95 Club Pr., $13.50

COMPUTER DATA STRUCTURES

by J. L Pfaltz

497/435 Pub. Pr., $19.50 Club Pr., $14.60

AUTOMATIC DATA PROCESSING HANDBOOK

by The Diebold Group, Inc.

168/075 Pub. Pr., $34.95 Club Pr., $23.75

STRUCTURED COBOL

by A. S. Philippakis & L. J. Kazmier 497/974 Pub. Pr., $12.95 Club Pr., $9.70

GETTING INVOLVED WITH YOUR OWN COMPUTER

A Guide for Beginners

by L Solomon & S. Veit

771/952 Pub. Pr., $9.95 Club Pr., $8.35

MICROPROCESSOR/MICROPROGRAMMING HANDBOOK

by B. Ward

768/749 Pub. Pr., $9.95 Club Pr., $8.45

DATA BASE DESIGN

by G. Wiederhoid

701/30X Pub. Pr., $21.50 Club Pr., $15.95

any two

of these great

professional books

for $095

only

2

values up to $59.45

Introductory offer to new members of the

Computer Professionals' Book Club

Two special bonus books come to you for $2.95 with your first club selection

THIS professional club is designed to meet your day-to-day on-the-job needs by providing practical books in your field on a regular basis at below publisher prices. If you're missing out on important technical literature—if today's high cost of reading curbs the growth of your library—here's the solution to your problem.

The Computer Professionals' Book Club was organized for you, to provide an economical reading program that cannot fail to be of value. Administered by the McGraw-Hill Book Company, all books are chosen by qualified editors and consultants. Their understanding of the standards and values of the literature in your field guarantees the appropriateness of the selections.

How the Club operates: Every month you receive free of charge The Computer Professionals' Book Club Bulletin. This announces and describes the Club's featured book of the month as well as alternate selections available at special members' prices. If you want to examine the Club's feature of the month, you do nothing. If you prefer one of the alternate selections—or if you want no book at all—you notify the club by returning the card enclosed with each Bulletin.

As a Club Member, you agree only to the purchase of four books (including your first selection) over a two-year period. Considering the many books published annually, there will surely be at least four you would want to own anyway. By joining the club, you save both money and the trouble of searching for the best books.

VALUES UP TO $59.45 WITH MAJOR DISCOUNTS ON ALL OTHER CLUB SELECTIONS. Your bonus books come with the first selection, and you may choose both of them from the books described in this special introductory offer.

EXTRA SAVINGS: Remit in full with your order, plus any local and state tax, and McGraw-Hill will pay all regular postage and handling charges.

NO RISK GUARANTEE:

If not completely satisfied return selections for full refund and membership cancellation.

MAIL THIS COUPON TODAY

COMPUTER PROFESSIONALS/Book Club P.O. Box 582 Princeton Road, Hightstown, NewJersey 08520

Please enroll me as a member and send me the three books indicated. I am to receive the two bonus books at the introductory price of $2.95 plus my first selection, plus tax, postage, and handling. If not completely satisfied, I may return the books within 10 days and request that my membership be cancelled. If I keep the books, I agree to take a minimum of three additional books during.the next two years at special Club prices (guaranteed 15% discount, often more). I will receive the Club Bulletin 13 times a year. If I want to examine the featured selection, I need take no action. It will be shipped automatically. If, however, I want an alternate selection—or no book at all—I simply notify the Club by returning the convenient card always enclosed. I will always have a minimum of 10 days in which to return the card and you will credit my account fully, including postage, if this is not the case. Membership in the club is continuous but cancellable by me at any time after the fourbook purchase requirement has been filled. This order subject to acceptance by McGraw-Hill. Orders from outside the continental U.S. must be prepaid. Company, business, or institutional tax exemption status is not applicable to purchases made through individual Club memberships. All prices subject to change without notice. Offer good tor new mem

bers only. Postage and handling charges are added to all shipments. Members are billed when books arrive.

Write Code # of 1st bonus book selection here

Write Code # of 2nd bonus book selection here

Write Code # of 1st book selection here

P39300 |

Circle 219 on inquiry card.

BYTE October 1978

139

Can you upgrade to 16-bits on a tight budget?

Of course!

Let me introduce you to the 16-bit world of Alpha Micro. Consider all the advantages of upgrading your present 8-bit system with the first fully integrated concept of hardware and software. A concept that provides all the features of a 16-bit minicomputer, yet retains all the flexibility, peripheral options, and low cost of S-100 bus systems.

Now you can have much of the sophistication that was previously restricted to only the mini's... Multi-User, Multi-Tasking, Time-Sharing, Memory Management, Disk-File Management, and yes, Peripheral Independence.

Come on, Join Alpha Micro's 16-bit world., .You can do it on an 8-bit budget Five subsystems let you expand your 8-bit

system capability as your needs, and your budget, allow:

AM-10016-bit CPU.Two board S-100 bus compatible microprocessor set, complete with software —a year and a half field proven reliability.

AM-200 Floppy Disk Controller. S-100 bus compatible supports PerSci 277 and Wangco 87 disk drives.

AM-300 Six Port Serial I/O. S-100 bus compatible provides six fully programmable RS-232 ports.

AM-400 Hard Disk Subsystem. S-100 bus compatible interface and CALCOMP Trident series drives (25,50,80,200 and 300 megabyte configurations).

AM-500 Hard Disk Subsystem. S-100 bus compatible formatter-controller and

CDC Hawk 10 megabyte hard disk drive.

All Alpha Micro systems are fully software supported including the new completely integrated, minicomputer class accounting system which consists of several hundred programs.

For more information see your local Alpha Micro dealer or write or call.

^S alpha

micro

17881 Sky Park North Irvine, California 92714 (714)957-1404

140

BYTE October 1978

Circle 4 on inquiry card.

Programming Quickies

Converting North Star's Deletion Characters

I own a North Star floppy disk operating system and have patched in my own 10 routines. I found that attempting to correct a single error by using the DEL (or RUB OUT) key doesn't work. Or if I try to cancel a complete line with the ESC key, nothing happens. The problem is that North Star's disk operating system uses the BASIC commands of the at symbol "@" for canceling a line and the back arrow (or underline) for correcting a single character. All my other programs, monitors, assemblers and so on use the ESC key to cancel a line and the DEL (RUB OUT) key for deleting the previously typed character.

The solution is fairly simple and is shown in listing 1. Since I had to write a set of IO routines anyway, I incorporated a section to look for ESC and DEL input. When either is found, the byte is changed to the corresponding value needed by the operating system. The extra 16 bytes will readily fit into the space allocated to the user.

Of course, the original correction characters, at sign and arrow, can still be used."

Alan R Miller New Mexico Tech Socorro NM 87801

294 D

DBOO

CHIN:

IN

STAT

294 F

E601

ANI

MASK

2951

CA4D29

JZ

CHIN

2954

DB01

IN

DATA

2956

E67F

ANI

7FH

2958

FE1B

CPI

!BH

295A

CA6329

JZ

CESC

295D

FE7F

CPI

7FH

295F

CA6629

JZ

CDEL

2962

C9

RET

2963

3E40

CESC:

MVl

A, "@'

2965

C9

RET

2966

3E5F

CDEL:

MVl

A, 5FI

2968

C9

RET

CHECK STATUS

MASK FOR INPUT READY

LOOP UNTIL READY

GET DATA BYTE

STRIP PARITY

ESC?

DELETE LINE IF SO

DEL?

DELETE CHARACTER IF SO

OTHERWISE RETURN

CHANGE ESC TO @

; CHANGE DEL TO BACK ARROW

Listing 7: 8080 assembly language listing of the changes to the North Star disk operating system to allow usage of DEL and ESC key codes for deleting characters and lines.

^■5 alpha

micro

See the exciting 16-bit world of Alpha Micro at your local Alpha Micro dealer.

ALABAMA CONNECTICUT

HUNTSVILLE HAMDEN

Computerland JRV Computer Store

(205) 539-1200 (203) 281-1453

ALASKA ANCHORAGE Data Com Systems, Inc. (907) 344-4536

ARIZONA

PHOENIX Byte Shop of

(602)265-0065

TEMPE

Byte Shop of

[602)967-1421

TUCSON

Byte Shop ot

(602)327-4579

CALIFORNIA

BERKELEY Byte Shop of (415) 845-6366 CARSON Shaw Brothers (213)770-3688 COSTA MESA Orange County Computer Center [714)646-0221 FRESNO Electric Brain (209) 227-8479 GLENDALE Beau marc (213) 244-9348 LA JOLLA Tech-Mart (714)459-2797 LAWN DALE Byte Shop of (213)371-2421 MANHATTAN BEACH De Marco-Shatz

FLORIDA

CORAL GABLES Sunny Computer Stores, Inc [305)661-6042 FORT LAUDERDALE Byte Shop of (305) 561-2983 HIALEAH Metronix Computers, Inc. [305)885-4700 MIAMI Byte Shop of (305) 264-2983

HAWAII

HONOLULU Pan Pacific Computer Company (808) 737-5857 Small Computer Systems (808) 732-5246

IDAHO BOISE

Capitol Office Machines, Inc. Computer Division (208) 342-8585

ILLINOIS

CHAMPAIGN Champaign Computer Co. (217) 5B6-4131 CICERO Digital Research (312)858-3353 EVANSTON Itty Bitty

Computer Systems "**!n,8DC°D [213) 545-4539 (312) 328-«*

MISSION V1EJO ComputerLand

SCHAUMBURG Data Domain ot (312) 397-B70Q

BLOOMINGTON Data Domain (812)334-3607 INDIANAPOLIS Data Domain (317) 251-3139 Computers Unlimited [317) 849-6505

IOWA

WATERLOO The Computer Center (319) 232-9504

(714) 770-0131

ORANGE

Computer Mart

(714)633-1222

OXNARD

APR Systems

(805)485-5488

Prodata Systems

(805)483-1168

PALO ALTO

Byte Shop of

(415)327-8080

PASADENA

Byte Shop of

[213)684-3311

SAN DIEGO

Computer Center

(714) 292-5302

Computer (and of

San Diego

[714) 580-9812

SAN LUIS OBISPO

Byte Shop of

[805) 543-9310

SAN RAFAEL

Byte Shop of

(415) 457-9311

Computer

Alternatives

(415) 459-1366

SANTA ANA

Advanced

Microcomputer

Products

(714)558-8813

SANTA BARBARA WALTHAM.

Byte Shop of

(805) 966-2638

SANTA MONICA

Mission Control

(2131829-5137 ANN ARBOR

™,C.°cmP™ St0rB Computer Store of

(213)451-0713 [313)995-7616

SHERMAN OAKS £0yAL OAK

People's Computer Mart of

Computer Co (313) 576-0900

TARZANA

Tech Mart

(213)344-0153

VAN NUYS

Computer

Components

(213)344-0153

WESTMINSTER

Byte Shop of

(714)894-9131

COLORADO

BOULDER Byte Shop of (303)444-8550 DENVER Byte Shop of [303) 399-8995 Computer Hut

NEBRASKA

OMAHA Byte Shop of (402) 339-7350 Omaha

Computer Store (402)592-3590

NEVADA

LAS VEGAS

Computer Systems

for Business. Inc

(702)873-7400

RENO

Byte Shop of

(702)828-8080

NEWJERSEY

ISELIN

Computer Mart of [201) 283-0600

NEW YORK

NEW YORK Computer Mart of (212)686-7923

NORTH CAROLINA

BOONE

Alpha Digital

Systems (704)264-7946 NEWELL Digital Dynamics (704)374-1527

OHIO

CINCINNATI Software Systems Consulting Inc. [513) 745-31H CLEVELAND Byte Shop of [216)333-3261 COLUMBUS Midwestern Digital Electronics (614) 294-2991

OREGON

BEAVERTON Byte Shop of (503)644-2688 EUGENE Real Oregon Computer Co (503)484-1040 PORTLAND Byte Shop of (503) 223-3496

WASHINGTON

BELLEVUE Byte Shop of (206)746-0651 SPOKANE Microsystems. Incorporated (509) 747-4135

WISCONSIN

MILWAUKEE The Milwaukee Computer Store (414) 259-9140

WYOMING

JACKSON

Teton Data Systems

(307) 733-6313

ARGENTINA

BUENAS AIRES Marketon S.A.

AUSTRALIA

GORDON

Trudata Pacific

498-6706

WEST PERTH

Australian Computer

Products

[09) 322-6497

ALtCC SPRINGS

Microcomputer

Systems

Alice Springs. NT

NORTH

FREMANTLE

James McLarty

4 Son

35-4677

NORTH SYDNEY

Kings way

Computers

929-9901

OVERLAND PARK Personal Computer

(913) 649-5942

KENTUCKY

LOUISVILLE Memory System Co (502) 895-4269

MARYLAND

ROCKVILLE Computer Workshop (301) 468-0455

MASSACHUSETTS

Concepts

(412) 729-3510

FRAZER

Personal Computer

Corporation

(215) 847-8460

HUNTINGDON

VALLEY

Marketline Systems

(215)947-6670

MANKATO

North Kato Supply

(507) 825-5475

MINNEAPOLIS

Computer Depot

(612)927-5601

MOOREHEAD

P S. Inc.

(218) 233-6682

KNOXVILLE Byte Shops of Tennessee (615) 584-0365

TEXAS

FORT WORTH Tandy Computers (817) 335-7198 HOUSTON Computercraft, Inc. (713) 977-0664 Computertex (713)526-8934 Electronic Specialty Co. (713)665-0477 LUBBOCK Computer Mart of West Texas (806) 765-7134 RICHARDSON The Micro Store (214) 231-1096

UTAH

SALT LAKE CITY Byte Shop of (801) 355-1041 Data World (801) 943-0033

[Put

; Radix!

(303)673-4 Miti Mini Computer Co ENGLEWOOD

MONTANA

BILLINGS

Big Sky Byte Shop

(406) 252-2299

ALEXANDRIA The Computer Hardware Store. Incorporated (703)548-8085 SPRINGFIELD The Computer Workshop of North Virginia, Inc. (703)321-9047 VIRGINIA BEACH Home Computer Center. Inc. (804) 340-1977

CANADA

TORONTO

The Computer

Place

(416) 596-0262

QUEBEC

Trois-Rivieres

819 373-2367

VANCOUVER Byte Shop of (604) 736-7221 Pacific Computer Store. Ltd. (604)436-3282 Quill Computer Systems (604) 684-5082 WINNEPEG Micro-Byte Ltd (204)947-6289

ENGLAND

LONDON

Computer

Applications

Research

(01) 373-4834

SALFORD

MANCHESTER

Computer Design

Systems

FRANCE

PARIS

Computer Boutique 310-095-047 Euro Computer Shop Paris

GERMANY

HOLSTEIN Digitronic Computersystems 4103

73-93/4103 68-69 MUNICH Data meg KG (089) 4C" "_

HONG KONG

CAUSEWAY BAY Tel tec 5-783-689

JAPAN

TOKYO Ninon Terminal Computer Tokyo 170

SPAIN

BARCELONA Infotecnos [000) 235-7110

SWITZERLAND

ZURICH Comicro, AG [01) 242-2603

CARACAS

E DC MEGA. C.A

33-79-90

Circle 4 on inquiry card.

October 1978 © BYTE Publications Inc 141

A Simpler Digital Cassette Tape Interface

To our department at Ohio University, "Saturation Recording's Not AH That Hard" by David M Allen, page 34, January 1977 BYTE, was a sleeper until we happened to

Ralph W Burhans Ohio University E E Dept Athens OH 45701

Photo 7; The author's tape recorder as modified for direct digital recording. 10 switch is at bottom left; LEDs are at bottom right.

Photo 2: Interior view of digital cassette unit showing additional circuitry on perforated circuit board.

visit Abex Corporation here in Athens OH. While we were there, Dave Weeks showed us a direct digital interface which he was building from an old cassette deck. Bernie Hutchins in the Electronotes Applications Note No 32, March 25 1977, published a short item on the 555 used as a window comparator. Putting the two ideas together results in the interface of figure 1, where the 555 performs the function of upper and lower limit comparators with adjustable threshold along with a flip flop to recover the serial data stream. It even supplies an extra open collector output to drive a read indicator LED. A cassette deck by Western Auto was obtained at the local surplus store for $10 and was modified by removing all the original audio electronics, but saving the wire motor control and power on and off switching features. An evening of bench tests indicated that the head would provide a 10 to 20 mV peak to peak output on direct saturation. Installation of a single Darlington transistor (SE4022) provided 40 db gain to bring the read level up to a volt or so, which fires the 555 comparators by pulling down the 555 control point threshold with an adjustable resistor to ground. That is about all there is to the unit except for a 4049 buffer inverter driver.

In our department, Larry Eichman fabricated a neat packaging of the system for a senior lab project. The recorder works fairly well over the range of 100 to 1200 bps. At 2400 bps, though, the tape recorder drive is somewhat erratic because of the motor speed drive mechanical on and off control. Some users of similar older tape machines have modified the drive motor by bending the regulator spring such that power is always applied to the motor with a regulated power source, rather than depend on the centrifugal rotating regulator mechanism. The same kind of machine has been used on a homebrew 8008 system, and Larry Eichman has used it with a COSMAC 1802 processor. Photos 1 and 2 illustrate the front panel controls and IO indicators, as well as the circuit board wiring for the electronics.

The older style rotary switching deck is not suited to more complex software start and stop controls, but it does provide a quick serial data IO system for those who are willing to cannibalize an existing audio cassette recorder."

142

October 1978 ©BYTE Publications Inc

IC Number

Type

+5 V

Ground

IC1

555

8

1

IC2

4049

8

1

Figure 1: Circuitry to modify a standard cassette recorder for direct digital recording. During the write process a DC current of approximately 1 V is passed through the record head, which saturates the tape. The polarity of the saturation recorded signal depends on the polarity of the DC current going through the head winding. During the read cycle, a voltage is induced in the head winding only when a transition between two oppositely polarized zones moves past the head. The 555 circuit (/CI) is used as a combination level detector and flip flop to recover the serial data.

REFERENCE

Electronotes Applications Note No 32, March 25, 1977. Available from Electronotes, 203 Snyder Hill Rd, Ithaca NY 14850.

00MF

+ 5V

100 w\ f—

24K

I

M

€>

^plO^F

Q

=>i

L_

■~i

=&

RESET R 5

P

L©

^h^

READ -C> DATA

OUTPUT

READ LED

ICI . J 555

>THRESH0 ADJUST

^22^ + 5'

WRITE

DATA r^> 4

INPUT

WRITE. LED (

020

^

470

IC2 4049

LzJ>>oi4.

70

■vw—

AT

*E

READ 1 (4PDT SLIDE SWITCH)

^

V

-^

Ih

?i|h

RECORD/

PLAYBACK EAO

BASIC is BASIC is ...

And BASIC does what it should. But if you're ready to step up from Beginner's All-purpose Symbolic Instruction Code, look at OPUS, the high-level 8080/Z80 language from A.S.I.... roots in BASIC, but designed for business applications. OPUS gives you the capabilities you need, like extended precision, string handling, and easy formatting. OPUS/TWO takes up where OPUS/ONE leaves off, allowing subroutines, overlays, and extended disc file management.

But we didn't stop there. OPUS programs and data are directly upward-compatible, all the way up through TEMPOS, A.S.I.'s multi-user, multi-tasking operating system.

Ask your dealer, or contact A.S.I. We'd like to tell you more.

OPUS/ONE $99.00

S.O.S $385.00

OPUS/TWO $195.00

TEMPOS $785.00

nn □□□

nn

ADMINISTRATIVE SYSTEMS, INC.

1642 S. Parker Road, Suite 300

Denver, Colorado 80231 (303) 755-9694

ORDER A MANUAL NOW and we'll apply the price toward your software purchase.

OPUS User's Manual $12.50

S.O.S. Manual Set (includes OPUS Manual) $20.00

TEMPOS Manual Set (includes OPUS Manual) .. $20.00

MASTER CHARGE and VISA accepted.

Add $1.50 per manual (set) for shipping/handling in U.S.

Circle 2 on inquiry card.

October 1978 ©BYTE Publications Inc

143

Souping Up Your SwTPC 6800

Steve A Hughes

583T Hillside Dr

Doraville GA 30340

Photo la: Top view of the SwTPC 6800 processor clock speed modifier circuit

• *#••••• • • • •flp

• •#«• • * ♦ • • • «w

1 • «♦• + *»••*•

fiftoto 76: Bottom view of the SwTPC 6800 processor clock speed modifier circuit

One of the design economies in the SwTPC 6800 is the use of the same clock to set data transfer rate and to control processing speed. It avoids the need to build a separate processor clock and reduces the processing speed by only 10 percent For most applications, this speed loss is unimportant, but it can become important if you are interested in heavily processor based activities such as process control or robotics. It is also inconvenient if you use timing loops frequently, since it is more difficult to calculate timing loops which are based on a slightly more than 1 jus period rather than on an even 1.0 fis period for the processor states. Therefore, I decided a little "souping up" was in order.

The 10 Percent Solution

The processing speed of the SwTPC 6800 is governed by the data rate generator clock, which is based on a 1.7971 MHz crystal time base. A 7474 flip flop is used to divide the data rate generator timebase down to provide the processor clock with its 1.11 jus clock period. By replacing this 7474 with a socket into which you can plug a 2 MHz crystal oscillator, you can provide the desired 1 MHz signal source. This oscillator can be built cheaply and simply on a small piece of perforated circuit board (see photos 1a and lb). It provides a separate source for the processor clock without interfering with the data rate generator or the action of the 7474.

Memories used with a 1 MHz processor must have access times of no more than 500 ns. This means that, although all factory supplied memories should run at the increased processor speed with no difficulty, other memories may not. For example, 2102-2s will not work reliably at the higher speed. To simplify confirming that your memories are fast enough, I've included a table of access times for the more commonly available types of 2102 memories (see table

One advantage of making this improvement in your system is that you are no longer limited to one unchangeable clock speed. If you want to use the 1.5 MHz or 2.0 MHz versions of the 6800 processor, ACIA (Asynchronous Communications

144 October 1978 © BYTE Publications Inc

CRYSTAL OSCILLATOR

2MHz

I—II

,^p>

DIP

PIN NUMBERS

(CONNECTOR ' SIDE)

m

IC

NUMBER

TYPE

5V

GNO

ICI

74LS04

14

7

IC2

74 74

14

7

Figure 1: Simple custom circuit that modifies the SwTPC 6800 computer so the user can change the processor dock speed by plugging in different crystal oscillators. The entire circuit can be mounted on a small perforated circuit board (see photos I and 2) which plugs directly into the SwTPC 6800 board in place of the existing 7474 data rate generator timebase divider.

GND<^] 7

Memory

Access

Usable

Number

Time

at 1 mHz?

2102

1000ns

No

2102-1

500 ns

Yes

2102-2

650 ns

No

2102A

350 ns

Yes

2102A-2

250 ns

Yes

2102A-4

450 ns

Yes

2102A-6

650 ns

No

2102AL

350 ns

Yes

2102AL-2

250 ns

Yes

2102AL-4

450 ns

Yes

Table I: Some commonly used memory integrated circuits (ICs) and their compatibility with a 7 MHz processor speed.

♦ 5V

v—' PIN 5, IC2

I *^v

Figure 2: Simple test rig to verify that the oscillator circuit (shown in figure 1) is working. Both LEDs should light up when connected to pin 5 of IC2.

Interface Adapter), PIA (Peripheral Interface Adapter), and the like, which are currently available, you can adjust the timebase simply by replacing the 2.0 MHz crystal with one specified at 3.0 MHz (for a 1.5 MHz processor clock) or at 4.0 MHz (for a 2 MHz processor clock). Increasing the processor speed above 1 MHz will necessitate replacing (or adding a slow memory interface for) memories not suited to the increased speed, and replacing the MIKBUG read only memory (not currently available in higher speed versions). But for some applications the increased speed is undoubtedly worth the effort.

Building the Oscillator Card

The schematic shown in figure 1 indicates how the oscillator card works. This is one of the most common circuits of its type and was chosen for its simplicity. The parts as shown in photo 1a are mounted on top of the board and the connector (a 14-pin DIP [dual in line package] header) mounts underneath with its upper pins sticking through the top of the board. The reverse of the board is seen in photo 1 b.

October 1978 © BYTE Publications Inc

145

Photo 2: Side view of the clock modifier circuit, showing the pins of the dual in fine connector (DIP) plug, enabling the experimenter to plug the entire board into the SwTPC board in place of the existing 7474 flip flop, which serves as the data rate generator timebase divider.

All the components of the oscillator fit nicely on a 2 3/8 inch by 1 1/2 inch (6 cm by 4 cm) piece of perforated circuit board, but the components must be carefully placed to avoid conflict with the components on the processor board to which it is attached. One satisfactory arrangement is shown in photos 1a and 1b. The wiring arrangement on the card is not critical so long as the wires are correctly connected to the connector pins. Capacitance values also are not critical. Any value from 0.001 juF to 0.1 juF will probably work. The entire board then plugs into the SwTPC 6800 board in place of the existing 7474 (see photo 2 for a side view of the DIP plug).

This is largely a foolproof card and

should work as soon as it is assembled, but testing can do no harm and provides additional certainty that all is well. A simple test rig using two resistors and two LEDs, such as the one shown in figure 2, lets you verify that the oscillator is oscillating.

Conclusion

The increased processor speed which results from this modification offers benefits in any heavily processor based application. The circuit shown on the card is also convenient as a 1 MHz source for any other development work you may be doing. As an inexpensive way to solve processor speed problems, it's hard to beat."

146

October 1978 © BYTE Publications Inc

Circle 400 on inquiry card.

Circle 32 on inquiry card.

why the last

is the best

D

It has the latest news for users (and prospective users) of Heath Co. computer products. It isn't company-controlled--BUSS can get new product information and tidbits about items being developed before the official announcement by Heath Co. But BUSS does more than that--BUSS also lets you in

on news of compatible hardware & software from other vendors. H8 and Hll users may save enough on these products to pay for a BUSS subscription several times over. And users of the ET-3400 Trainer aren't left out either. The first issue of BUSS came out more than a year ago in April of

1977. Every issue goes by first class mail and almost all orders for new subscriptions are filled within two days. Back issues go fast, but most of those for 1978 are still available. BUSS keeps getting better. So send for it:

12 Issues For $ 6.80

The Independent Newsletter of Heath Co. Computers 325 Pennsylvania Avenue, S.E. Washington/ DC 20003

Continued from page 6

it had only the usual audio tape cassette interface for mass storage, and television for display purposes, (I have since ordered and received a floppy disk drive, which was plugged in and working within five minutes of setup.)

The immediate spur to writing this practical program was the need to analyze the editorial preferences section of the BYTE 1978 reader survey. This section, like the monthly BOMB analysis of articles in BYTE, gave a number of entries for which the respondent to the survey indicated a preference on a scale of 0 to 10. In the case of the survey, my goal was to find out what readers were interested in, so there was a list of 38 categories of interest to be rated 0 to 10. Each respondent's individual scale differs, but the idea here is to average the ratings of a large number of individuals and thus approximate an overall preference

ranking. In the case of the survey, 2457 people responded out of 5000 subscribers picked at random from our mailing list.

In our monthly BOMB analysis, the ratings are acquired by the time-honored method of tallying with strokes on paper in groups of five strokes. Thus when Wai Chiu Li takes a monthly break from his normal job of "final paste" preparation for BYTE in order to tally the BOMB cards on a large sheet of paper, he accumulates strokes, thus:

M M mi

In the survey analysis, with 2457 forms returned, our data processing contractor, Systemetrics, performed the keystroking of data and produced a report giving a count for each rating 0 to 10 in the 38 different categories of the preference survey.

Articles Policy

BYTE Publications Inc is continually seeking quality manuscripts written by individuals who are applying personal computer systems, designing such systems, or who have knowledge which will prove useful to our readers. For a more informal description of procedures and requirements, potential authors should send a self-addressed, stamped envelope to BYTE Authors' Guide, 70 Main St, Peterborough NH 03458.

Articles which are accepted are purchased with a rate of $45 per pubfished page, based on technical quality and suitability for the intended readership. As to articles appearing in BYTE magazine, each month, the authors of the two leading articles in the reader poll (BYTE's Ongoing Monitor Box or "BOMB") are presented with bonus checks of $ WO and $50. Unsolicited materials should be accompanied by full name and address, as well as return postage.*

Circle 400 on inquiry card.

October 1978 O BYTE Publications Inc 147

But this raw data is not the desired result. For the monthly BOMB analysis and for the survey analysis, I need a program which produces the following derived data from the input of ten counts (I exclude the 0 rating case) in n categories:

• Weighted sum total rating for each category.

• Mean and standard deviation over the field of ratings.

• Sorted rankings of each category by weight.

• Deviations for each category in units of one standard deviation.

The previous method of analyzing these results was to use a Commodore PR-100 programmable calculator, which has a mean and standard deviation calculation built into it. But this suffered from a number of awkward disadvantages. The procedure was essentially manual, with minimal automation through the use of the programmability of the calculator. The calculator has no way to enter enough data for the whole analysis, or to edit that data if a mistake is made, or to verify that data by examining details. Use of a calculator required an "expert" who knew the process, in order to accomplish the goal: calculation of mean, standard deviation,

sorting of the categories by weight, and calculation of relative deviation from the mean for each category. With only 10 to 15 items I had put up with this procedure for a long time, but the prospect of 38 items and no way to verify the detail entries was not encouraging.

Thus I proceeded to create a program. Since the Apple II was the computer available to me in my office, I wrote the program using the Applesoft BASIC interpreter (Microsoft's product in Apple II clothing) as the high level language. It took me all of about five hours on July 11 1978 to go from the intention to a working BASIC program. If I had had the floppy disk accessory at the time, the result would have been even quicker since I would not have had to put up with the relative inconvenience of the audio tape mass storage system. Since this program was the first extensive one I have written in the Microsoft dialect of BASIC, I had to read the manuals as part of that process of creating the program. (Apple ll's Applesoft interpreter is essentially identical to the Radio Shack Level II interpreter, the Commodore PET interpreter, and interpreters available for OSI and MITS Altair machines. All were written by Bill Gates and his associates at Microsoft Inc.) As many readers no doubt know, the language

6

From the people who brought you KIMSI — Mr. Interface™ does it again with...

BETSI

The PET* to S-100 bus Interface/Motherboard

Expand your PET as easily as S-100 users !

• Plugs directly into any PET, no cable fabrication or additional connectors required.

• Compatible with virtually all S-100 boards (including memory and I/O types).

• Does not slow the CPU or alter PET's operation in any way.

• Does not interfere with PET's IEEE or parallel user ports.

• Interface draws only lOOma at 8V.

And Betsi includes:

• On-board Dynamic Memory Controller for the S.D. Sales uExpando-ram" high density/low power memory board (expand PET's memory to the limit on a single S-100 card)!

• On board sockets and decoding circuitry for 8K of PROM (add future PET firmware without purchasing an S-100 PROM card).

Now available from stock at a price that can't be beat (even just for memory expansion)!

BETSI Interface/Motherboard - Kit $119, Assembled $165 Expandoram 24K memory board — Kit $364, Assembled $414

See your local dealer or contact FORETHOUGHT PRODUCTS

Coburg Box 8066; Coburg, OR 97401 (503) 485-8575

' PET Is a Commodore product

J

148 October 1978 © BYTE Publications Inc

Circle 140 on inquiry card.

Circle 308 on inquiry card.

was more than adequate to the task. Pascal it is not, but any high level language is better than no high level language.

So, with all the preparation carried out, and a program verified, I was able to analyze the 38 categories of preferences included in our survey, and proceed to begin analyzing BOMB results the same way.

Let's take a look first at what readers of BYTE found of interest based on our survey. The task presented to our survey participants was the following:

The following list contains a selection of topics drawn from computer science, mathematics} science and engineering. Please give your personal rating from 0 (no interest) to 10 (high interest). If a particular field within this list is your professional or occupational specialty, please record a check mark in the "Primary Interest'' column to the left of the line. If you have already used a personally owned system for at least one nontrivial application in the field, please record a check mark in the "Have Implemented" column for that line.

The complete list of 38 topics is presented in table 1, ranked according to weighted total count, along with the actual weighted total counts and a fraction representing the number of standard deviations away from the mean of 38 categories. The mean weighted count total of the 38 categories was 8579.5, and the standard deviation calculated was 1977.9.

The top ranked category was rather nebulous: "applications to everyday life." Thus its 2.2 standard deviation rank may be less than significant. If the survey had asked for a ranking of "motherhood and apple pie" the result might have come out the same. I tend to think that the whole motivation for having a personal computer is to use it in everyday life, and it is always a great ego trip to have such an appraisal measure out at the top. Household automation with computers is one way to accomplish such a task, and is also a fitting subject for the experimenter. Personal data base design is a natural, ranging from the oft mentioned kitchen recipe file to the record collector's inventory to the maintenance of tax records. The latter of course overlaps on the application of personal computers to personal business.

In the experimenter's corner, there is a high interest in voice recognition by computers. But no pattern matching and recognition of sounds is possible without heavy emphasis on the art of programming, a topic which turned up as the sixth ranked item.

& other

CASSETTE TAPES FOR SALE

We promote, advertise and sell software for free lance computer specialists all over the United States.

Get the latest issue of our book full of programs by return mail. Send $1.00 to:

Programmers Software Exchange

2110 N. 2nd Street

Cabot, Arkansas 72023

modem / 'mo • dam / [modulator + demodulator] n - s : a device for transmission of digital information via an analog channel such as a telephone circuit.

• Completely compatible with your IMSAI, ALTAIR*, SOL** or other S-100 microcomputers. Trademarks of *MITS, *'Processor Technology

• Designed for use on the dial telephone or TWX networks, or 2-wire dedicated lines, meets all FCC regulations when used with a CBT coupler.

• All digital modulation and demodulation with on

board cyrstal clock and precision filter mean that NO ADJUSTMENTS ABE REQUIRED

• Bell 103 standard frequencies

• Automated dial (pulsed) and answer

• Originate and answer mode

• 110 or 300 BPS speed select

• Complete self test capability

• Character length, stop bit, and parity

• 90 day warranty and full documentation

D.C. Hayes Associates, Inc.

P.O. BOX 9884 ATLANTA, GEORGIA, 30319 (404) 455-7663

Circle 158 on inquiry card.

October 1978 © BYTE Publications Inc 149

Circle 363 on inquiry card.

TRS-80 OWNERS, HAVE WE GOT SOFTWARE ON CASSETTES FOR YOU!!!!

t:

AARDVARK / CAPTURE-hunt the ant with coordinates/capture an enemy spacecraft

STARTREK~advanced version with verbal interaction between crew members

ROULETTE / ONE ARM BANDIT-two of the famous casino games in full graphics....... (

PATTERNS / PINBALL"graPnic demonstration programs, see what your computer can do E

ANNUITIES-value at maturity, payment amount, no. of payments, interest rate, schedule.(o"5)

SPACESHIP / CANNCN-land on venus/fight aggressive enemies (8~6)

DICE / HYPERBAGELS~Play craps/guess the secret number using computer hints (8~7)

I CHING / BIORHYWIS-ancient Chinese method for telling the future/plot biorhythms....(g-R)

POKER~draw poker in full graphics, using standard casino house rules (8"9)

COMBUSTION / GROWTH'S inflate hydrocarbon combust ion/determine growth patterns (8*~10)

RAI 1 Y-a super rally with 4 different cars and 5 different tracks (8~ J.)

NIM / HEXAPAVM'play n^m with counters/heuristic hexapawn, both in full graphics (8~J2)

i i • ■ i • i ■ i • i • i • i < i t i i ■ i t i t i i i t i i i i > i i t i i i i i i t i i i i i i i i i i i i i i i i i i i i i i i i t t i i r • i < i • i i t i i i i i i i i i i i i i V i i i i i i i i t i i i i i i i

TAYLOR, (8-1)0 (8-7)D NAME

PiO. BOX 1180/ check the programs with (8-2)Q (8-8)D ADDRESS

RjtfTSBURbH, N,Y, 12901 an X (8-3)0 (8-9)D CITY STATE

(8-4)0 (8-10)D ZIP

**CASHIER CHECKS and MONEY ORDERS ... IMMEDIATE SHIPPING** (8-5)0 (8-11)0 ADD $1 for POSTAGE and HANDLING PERSONAL CHECKS ... PLEASE ALLOW 2 WEEKS FOR PROCESSING (8-6)Q (8-12)0 N.Y. RES. ADD STATE SALES TAX T0TAL$

WE ALSO PRODUCE CUSTOM SOFTWARE FOR BUSINESS OR SCIENTIFIC APPLICATIONS .,, WE WILL EVALUATE YOUR REQUEST AND SEND YOU A QUOTH INDICATE IF YOU HAVE A LEVEL 1 OR A LEVEL 2 TRS-80

Once the "compleat" home computer experimenter has mastered the voice recognition and programming arts, what more natural test application than some of the neat logical games ranging from computer chess and the game of Go, on downward in complexity.

In the top ten, the last three items are perhaps a trio of related interests (which also are related to the other members of the top 10 set). Voice synthesis by computers complements voice recognition, yet is an easier task than voice recognition and perhaps less of a challenge as a result. The art of hardware design is required in any event for work in the more action oriented real time applications of computers such as voice experiments, household automation and control of mechanisms.

And of course, the general interest in robotics enters into the top 10 category in the form of computer control of mechanisms. Most of the challenging but little understood topics enter into the picture in the second ranked ten categories of the survey. Here we find graphics topics, the first entry of artificial intelligence topics into the ranking, etc.

A surprise (in view of this issue's chess theme) was the slightly negative rating of chess relative to the mean. The bottom ranked item (related to chess) is the artificial intelligence category of theorem proving. Also included in the bottom ten interest areas were other topics related to abstract artificial intelligence. What is surprising, though, is the fact that for people to be practically interested in robots, this relatively abstract theory of knowledge and its representation is absolutely essential. Perhaps we have here the indication of a need for some good tutorial articles about these quite essential fields—to say nothing of some practical demonstrations of concepts which can be exercised by the personal computer user.

In summary, the program worked out just fine for measuring the data of the survey. Although not covered in any great detail at this point, the BOMB analysis figures beginning in the September 1978 BYTE were created using this program. And now that I've completed the editorial and the floppy disk is working, I'll think of some other tasks for my intellectual servant to do."

SOROCIQ120$795

T.I 810 $1695

TELETYPE 43 $999

DIABLO 1620/3 $2999

cKWCRQ MflJL

II P.O. BOX 3297 • SANTA ANA, CA 92703 • (714) 731-4338

Send certified check (personal or company checks require two weeks to clear) including handling* and 6% tax, if a California resident "Handling Less than $750, add 3%; $7 50 to $1999. add 2%: over $1999 add 1%

Everything shipped freight collect in factory cartons with manufacturer's warranty

150

October 1978 ©BYTE Publications Inc

Circle 222 on inquiry card.

PROGRAMS

GAMES

Eleven computer games, including Blackjack, Hangman, 23 Matches, Tic-Tac-Toe, I Silly Sentence Maker, Poem Writer, Word Puzzle, Backtalker, Math Quiz, Caricature | Printer, and Typing Speed Drill. (Stock No 101.1, Cassette, Requires Ext. B.H. Basic, Issue 10.01 or 10.02, $10)

PERSONAL FINANCE

Includes two programs. Personal Budget provides a personal accounting system and helps reconcile your checkbook Interest calculates simple interest, compound interest, and mortgage amortization schedules. {Stock No. 102.1, Cassette, Requires Ext. B.H Basic, Issue 10,02, $10)

COOK'S HELPER

Two programs to help the cook Menu produces nutritious, within-calorie-limits I menus Shopper makes your trip to the | grocery store more enjoyable by arranging your grocery list in the shelf order of your favorite store; prevents backtracking to I look for missed items (Stock No. 103.1, Cassette, Requires Ext B H Basic. Issue 10 01 or 10 02, $10)

MAILING LIST

Features programs for the creation, updat- I ing, sorting, and printing of mailing lists j and labels. Highly flexible, with provision for coding each entry, sorting on any desired field, printing selectively by code, printing on various sizes and layouts of labels (Stock No. 104.1, Cassette. Requires Ext B.H Basic, Issue 10.02, $20)

MAILING LIST—DISK

This disk-based package contains features similar to those of the cassette version \ above, plus the addition of a feature that permits computerized printing of form letters to persons on the mailing list (Stock No. 114 1, Diskette, Requires HDOS | Basic, $30)

All programs are recorded on cassette or diskette ready for use with your Heathkit H8 computer Each package comes complete with program listings and user instructions A discount of 10% is given if more than one item is ordered at once. Price includes shipping to US destinations Items are in stock for immediate shipment

Ei-fto Irccrp cntti

Please s

GAMES PERSO COOK'S

MAILIN MAILIN

Less 10

Twc

Name Street A

City State _

6580 Buckhurst Trail Atlanta, GA 30349

end the following:

Amount @ $10

Enclosed

MAL FINANCE (S> $10

J HELPER @ $10

G LIST m $20

G LIST—DISK (a) $30

TOTAL

k Discount if Ordering ) or More Items

AMOUNT ENCLOSED $

rtrtr

7IP

Circle 11 2 on inquiry card.

BYTEs Bugs

A Bug in the Scanner

A small bug crept into Steve Ciarcia's article, "Let Your Fingers Do the Talking: Add a Noncontact Touch Scanner to Your Video Display" (August 1978 BYTE, page 156). The Q output of IC20 in figure 2d (page 163) should be shown as pin 6, not pin !.■

BYTE's Bits

A Call for Papers:

Reliable Software Conference

The IEEE's Technical Committee on Software Engineering is seeking papers on specifications of reliable software, to be presented at their conference in Cambridge MA, April 3 thru 5 1979.

Suggested topics include: the theory of, and experiences with, formal specification languages; disciplined specification methods; verification of the consistency and completeness of specifications; quality, adequacy, and usefulness of specifications; and future research directions.

Deadline for submitting papers is November 1, 1978. Contact Marvin Zelkowitz, Dept of Computer Science, University of Maryland, College Park MD 20742, (301) 454-4251 .■

Eighth World Computer Congress

The Eighth World Computer Congress (International Federation for Information Processing Congress 80) will be held jointly in Tokyo JAPAN from October 6 thru 9 1980 and in Melbourne AUSTRALIA from October 14 thru 17 1980. The Congress will be a gathering of computer scientists, managers, and administrators from all over the world. It will bring together both developers and users of information processing techniques and systems to share their knowledge and experience with colleagues from widely dispersed lands. The Eighth World Computer Congress will feature technical state-ofthe-art developments in presentations on technology, equipment and applications, prepared by technical experts from approximately 35 countries. In addition, more than 100 international companies are expected to exhibit their products and services. In both Japan and Australia the Congress will also feature special events and entertainment. Write to Eighth World Computer Congress, Datapro Research Corp, 1805 Underwood Blvd, Delran NJ 08075."

IJEARNTO PROGRAM

MKIMMOMPI ITU*.

And at an affordable price. The Modu-Learn™ home study course from Logical Services. Now you can learn microcomputer programming in ten comprehensible lessons. At home. In your own time. At your own pace.

You learn to solve complex problems by breaking them down into easily programmed modules. Prepared by professional design engineers, the Modu-Learn™ course presents systematic software design techniques, structured program design, and practical examples from real 8080A micro-computer applications. All in a modular sequence of TO lessons . . . more than 500 pages, bound into one practical notebook for easy reference. You get diverse examples, problems, and solutions. With thorough background material on micro-computer architecture, hardware/software tradeoffs, and useful reference tables. All for only $49.95.

For $49.95 you learn design techniques that make software work for you. Modu-Learn™ starts with the basics. Our problem-solution approach enables you to "graduate" as a programmer.

Circle the reader service number below to receive our free descriptive brochure and course outline. Use your Master Charge or VISA card to order today. Call Pat at (408] 245-8855.

Circle 215 on inquiry card.

P.O. Box 60968 Sunnyvale, CA 94088 408-245-8855

October 1978 © BYTE Publications Inc 151

How to say

low-cost data tablet/digitizer

in two words.

Bit Pad Bit Pad Bit Pad Bit Pad Bit Pad

TM

TM

TM

Bit Pad is the low-cost digitizer for small computer systems. Better than a joystick or keyboard for entering graphic information, it converts any point on a page, any distance into its digital equivalents. It's also a menu for data entry. You assign a value or an instruction to any location on the pad. At the touch of a stylus, it's entered into your system.

Who can use it? Anyone from the educator and the engineer to the hobbyist and the computer games enthusiast. The data structure is byte oriented for easy compatibility with small computers, so you can add a power supply, stand alone display, cross-hair cursor and many other options.

Bit Pad by Summagraphics. The leading manufacturer of data tablet digitizers. Bit Pad. The only words you need to say when considering digitizers.

dummadaphia

*F * corporation

35 Brentwood Ave., Box 781, Fairfield, CT 06430 Phone(203) 384-1344. TELEX 96-4348

■

Glubs and Newsletters

South African Computer Club

We have heard from the Transvaal Amateur Computer Club, a South African club founded in June 1977. They currently have 120 members and publish a monthly newsletter called TAC? which they would be pleased to exchange for newsletters from clubs based in the US. The club project is the design of a M6800 microcomputer that can be manufactured locally. This club meets every first Wednesday at 8 PM, Senate House, Witwatersrand University, Johannesburg SOUTH AFRICA.

Help Wanted

A group of computer enthusiasts from Singapore need some assistance in starting a computer club in that area. They are requesting advice from existing clubs about how to get a club started and would like suggestions about a meeting format. Additionally, they would welcome technical information in the form of manuals, brochures and catalogs from manufacturers. Write to Steven Goh, 3 Bristol Rd, Singapore 8 SINGAPORE.

Washington Area KIM Enthusiasts

Formed in January 1978, the Washington Area KIM Enthusiasts meet monthly at the McGraw-Hill Continuing Education Center in Washington DC. Meetings are scheduled for the third Wednesday of every month to discuss items of interest to KIM owners and users. To receive a copy of the current WAKE newsletter, send a stamped, selfaddressed envelope to WAKE, c/o Ted Beach, 5112 Williamsburg Blvd, Arlington VA 22207, (703) 538-2303.

Attention: Xitan/TDL Owners

A user's group for owners of Xitan/ TDL hardware and software has recently been formed. A bimonthly newsletter is available on a $5 annual subscription basis, and its contents include application programs, hardware and software modifications, classified ads, technical articles and software exchange. For further information, write to Xitan User Group, c/o Bill Machrone, 121 N Av, Fanwood NJ 07023.

The New York Amateur Computer Club

The New York Amateur Computer Club meets on the second Thursday of every month at Bernard Baruch College, 17 Lexington Av (corner 23rd St), New York, room 903 at 7 PM. For further information, write The New York Amateur Computer Club, POB 106, Church St Station, New York NY 10007.

152

October 1978©BYTE Publications Inc

Circle 353 on inquiry card.

Monthly Newsletter Provides Reader Services

The Persona/ Computer News is a monthly newsletter dedicated to a variety of reader services. PCN features a regular news column detailing developments in the microcomputer industry, product and software evaluations geared to the small businessman and hobbyist, a software exchange and "Trading Post" classified advertisement section. A software sources listing culls the latest offerings from the microcomputer media and an index to computer related articles cross reference features in computer magazines. The subscription rate is $9 per year in the US. For more information, write to Personal Computer News, POB 425, Dayton OH 45419.

Digital Group User's Organization in Chicago

A Digital Group user's organization was formed in the Chicago area in February of this year to provide a forum for the exchange of ideas, software, fixes, etc, by owners of Digital Group computer systems. They meet on the last Tuesday of the month in the meeting room of Consumer Systems, 2107 Swift Rd, Oak Brook IL, at 7:30 PM. Membership dues are $5 annually which includes a newsletter. The newsletter is currently running about four to six pages and contains news of activities of club members, announcements of Digital Group compatible hardware and software and articles and reviews by members of the club. Prospective members can write to The Digital Group Group of Chicago, c/o W L Colsher, 4328 Nutmeg Ln, Apt 111, Lisle IL 60532.

TCH IMP-16 Users Group

TIPS is a fairly new publication which focuses on the TCH IMP-16 system. To date, this newsletter has informed its readers of the status of the system including what is available and from whom, where parts of interest are available, basic knowledge about building the system and additional hardware details. Frederick Holmes, editor of TIPS, has also mentioned that the upcoming issues of the newsletter will be expanded to support SC/MP based systems. Subscriptions to TIPS numbers 5 thru 7 are available for $1.50 and three SASE; back issues are $.50 and 1 SASE for each issue desired. Write to Fred Holmes, 101 Brookhead CT, Mauldin SC 29662.

Utah Computer Association

The LlCa is a monthly publication of the Utah Computer Association, an association dedicated to hobbyist interaction and public education about minicomputers and microcomputers. The club meets the second Thursday of each month at 7 PM in room 131, Murray High School, Salt Lake City UT. The membership fee is $5. For more information about this club, call (801) 278-1907"

ELF II by

KTRONICS

fetotirri it POPULAR ELECTRONICS

Shorn with

•■titMl 4k Mmonr fcanfe,

Ml BOARD™ 1 H«i Bear!

HOBBYISTS! ENGINEERS! TECHNICIANS! STUDENTS!

Write and run machine language programs at home, display video graphics on your TV set and design microprocessor circuits—the very first night—even if you've never used a computer before!

II RCA COSMAC **™S COMPUTER *9995

as FORTRAN and BASIC must be translated into machine language before a computer can understand them. With ELF II you build a solid foundation in computers so you'll really know what you're doing, no matter how complicated things get.

Video output also makes ELF II unique among computers selling for such a low price. Attached to your TV set, ELF II becomes a fabulous home entertainment center. It's capable of providing endless hours of fun for both adults and children of all ages! ELF II can create graphics, alphanumeric displays and fantastic video games.

No additional hardware is required to connect ELF II to your TV's video input. If you prefer to connect ELF II to your antenna terminals instead, simply use a low cost RF modulator (to order one, see coupon below).

ELF IPs 5-card expansion bus (connectors not included) allows you to expand ELF 11 as your needs for power grows. If you're an engineer or hobbiest, you can also use ELF II as a counter, alarm, lock, thermostat, timer or telephone dialer, or for countless other applications.

ELF II Explodes Into A Qlant!

Thanks to ongoing work by RCA and Netronics, ELF II add-ons are among the most advanced anywhere. Plug in the GIANT BOARD® and you can record and play back programs, edit and debug programs, communicate with remote devices and make things happen in the outside world. Add Kluge Board to get ELF II to solve special problems such as operating a more complex alarm system or controlling a printing press. Add 4k RAM board and you can write longer programs, store more information and solve more sophisticated problems.

Expanded, ELF II is perfect for engineering, business, industrial, scientific and personal finance applications. No other small computer anywhere near ELF IPs low price is backed by such an extensive research and development program.

The ELF-BUG® Monitor is an extremely recent breakthrough that lets you debug programs with lightening speed because the key to debugging is to know what's inside the registers of the microprocessor and, instead of single stepping through your program, the ELF-BUG® Monitor, utilizing break points, lets you display the entire contents of the registers on your TV screen at any point in your program. You find out immediately what's going on and can make any necessary changes. Programming is further simplified by displaying 24 bytes of RAM with full address, blinking cursor and auto scrolling. A must for serious programmers!

Netronics will soon be introducing the ELF II Color Graphics & Music System—more breakthroughs that ELF II owners will be the first to enjoy!

Now BASIC Makes Programming ELF II Even Easier!

Like all computers, ELF II understands only "machine language"—the language computers use to talk to each other. But, to make life easier for you, we've developed an ELF II Tiny BASIC. It talks to ELF II in machine language for you so that you can program ELF II with simple words that can be typed out on a keyboard such as PRINT, RUN and LOAD.

"Ask Now What Your Computer Can Do... But What Can It Do For YOU!"

Stop reading abouWbmputers and get your hands on one! With ELF II and our new Short Course by Tom Pittman, you can master computers in no time at all! ELF II demonstrates all 91 commands an RCA 1802 can execute and the Short Course quickly teaches you how to use each of the 18Q2's capabilities.

ELF II's video output lets you display an alphanumeric readout or graphics on any TV screen or video monitor plus enjoy the latest video games, including an exciting new target/missile gun game that was specifically developed for ELF II.

But that's not all. Once you've mastered computer fundamentals, ELF II can give you POWER with add-ons that are among the most advanced found anywhere. No wonder IEEE chapters plus hundreds of universities and major corporations have chosen the ELF II to introduce their students and personnel to microprocessor computing!

Learn The Skill That May Soon Be Far More Important Than Your College Degree!

The ability to use a computer may soon be more important to your earning power than a college degree. Without a knowledge of computers, you are always at the mercy of others when it comes to solving highly complex business, engineering, industrial and scientific problems. People who understand computers can command MON EY and to get in on the action, you must learn computers. Otherwise you'll be left behind.

ELF II Is The F-A-S-T Way To Learn Computer Fundamentals!

Regardless of how minimal your computer background is now, you can learn to program a computer in almost no time at all. That's because Netronics has developed a special Short Course on Microprocessor And Computer Programming in non-technical language that leads you through every one of the RCA COSMAC 1802's capabilities so you'll understand everything ELF II can do.. .and how to get ELF II to do it!

All 91 commands that an 1802 can execute are explained to you, step-by-step. The text, written for Netronics by Tom Pittman, is a tremendous advance over every other programming book in print.

Keyed specifically to the ELF II, it's loaded with "hands on" illustrations. When you're finished, ELF II and the 1802 will no longer hold any mysteries to you.

In fact, not only will you be able to use a personal computer creatively, you'll also be able to read magazines such as BYTE... INTERFACE AGE... POPULAR ELECTRONICS and PERSONAL COMPUTING and understand the. articles.

If you work with large computers, ELF 11 and our short Course will help you to understand what makes them tick.

A Dynamite Package For Just $99.95!

With ELF II, you learn to use machine language—the fundamental language of all computers. Higher level languages such

r- — — — — SEND TODAY!

NOW AVAILABLE FOR ELF It— a Deluxe metal cabinet for ASCII

□ Tom Pittman's Short Course On Mi- Keyboard, $19.95 plus $2.50 p&h. coprocessor & Computer Programm- P ELF II Tiny BASIC on cassette ing teaches you just about everything tape. Commands include SAVE, there is to know about ELF II or any LOAD, ±,x,+,( ),26variables A-Z, RCA 1802 computer. Written in non- LET, IF/THEN, INPUT, PRINT, technical language, it's a learning GO TO, GO SUB, RETURN, END, breakthrough for engineers and laymen REM, CLEAR, LIST, RUN, PLOT, alike. $5.00 postpaid! PEEK, POKE. Comes fully docu

□ Deluxe metal cabinet with plexiglas merited and includes alphanumeric dust cover for ELF II, $29.95 plus generator required to display al$2.50 p&h. phanumeric characters directly on your

□ ELF II connects to the video input TV screen without additional hardof your TV set. If you prefer to use ware. Also plays tick-tack-toe plus a your antenna terminals, order RF drawing game that uses ELF ll's hex Modulator, $8.95 postpaid. hey board as a joystick. 4k memory re

□ GIANT BOARD® kit with cassette Quired. $14.95 postpaid. I/O, RS 232-C/TTY I/O, 8-bit P I/O, □ Tom Pittman's Short Course on Tiny decoders for 14 separate I/O instructions and a system monitor/editor, $39.95 plus $2 p&h.

□ Kluge (Prototype) Board accepts up to36IC's.$I7.00plus$Ip&h. D 4k Static RAM kit. Addressable to any 4k page to 64k. $89.95 plus $3 p&h

Don't be trapped into buying a dinosaur simply because you can afford it and it's big. FXF II is more useful and more fun than "big name" computers that cost a lot more money.

With ELF II, you learn to write and run your own programs. You're never reduced to being a mere keypunch operator, working blindly with someone else's predeveloped software.

No matter what your specialty is, owning a computer which you really know how to use is sure to make you a leader. ELF 11 is the fastest way there is to get into computers. Order from the coupon below!

Netronics R&D Ltd., Dept. 0000 *

333 Litchfield Road, Phone I

New Milford, CT 06776 (203) 354-9375 ,

BASIC for ELF II, $5 postpaid.

□ Expansion Power Supply (required

when adding 4k RAM). $34.95 plus $2

p&h.

D ELF-BUG® Deluxe System Monitor

on cassette tape. Allows displaying the

contents of all registers on your TV at

D Gold plated 86-pin connectors (one an* P?!"* T VT P«W™- Also.dis

: i j? ___■_• . « — nlavc }A h\yt*»e nt memrtrv u/itn T1111 an

required for each plug-in board). $5.70 postpaid.

□ Professional ASCII Keyboard kit with 128 ASCII upper/lower case set, % printable characters, onboard regulator, parity, logic selection and choice of 4 handshaking signals to mate with almost any computer. $64.95 plus $2 p&h.

plays 24 bytes of memory with full ad dresses, blinking cursor and auto scrolling. A must for the serious programmer! $14.95 postpaid. Coming Soon: A-D, D-A Converter, Light Pen, Controller Board, Color Graphics & Music System .. .and more!

Call or write for wired prices!

Yes! I want to run programs at home and I

have enclosed: D $99.95 plus $3 postage I

& handling for RCA COSMAC ELF II kit, I

D $4.95 for power supply (required), I

D $5 for RCA 1802 User's Manual, D $5 I

for Short Course on Microprocessor & I

Computer Programming. I

a I want mine wired and tested with I

power supply, RCA 1802 User's Manual ■

and Short Course Included for just $149.95 1

plus $3 p&h! I

□ I am also enclosing payment (ineluding I

postage & handling) for the items checked [

attheleft. I

Total Enclosed (Conn. res. add tax) J

$ □ Check here if I

you are enclosing Money Order or Cashier's J

Check to expedite shipment. ! USE YOUR □ VISA □ Master Charge

(Interbank # )

Account #

Signature Exp. Date J

PHONE ORDERS ACCEPTED (203) 354-93751

Print i Name _

Address

City

State _

aster Charge j

I

-Zip

Circle 280 on inquiry card.

, „ DEALER INQUIRIES INVITED m 153

October 1978 ©BYTE Publications Inc

Event Oueue

October 5, Minicomputer and Microcomputer Seminar, Bluefield State College, Bluefield WV. This 1 day seminar and exhibition will feature business and engineering applications of minicomputers and microcomputers. The seminar will be conducted in the morning and afternoon and exhibits in the afternoon and evening. Contact Dr Alvin Hall, director of continuing education, Bluefield State College, Bluefield WV 24701, (304) 325-7102.

October 5-8, Midwest Personal Computing Show, Apparel Center's Expocenter, Chicago IL. More than 200 displays featuring the full spectrum of the latest personal computing developments are expected to be presented by manufacturers and distributors. The comprehensive program includes seminars, forums and practical application classes. Contact Midwest Personal Computing Exposition, ISCM, 222 W Adams St, Chicago IL 60606, (312) 263-4866.

October 9-13, Microcomputer Workshop, Carnegie-Mellon University, Pittsburgh PA. This intensive 5 day course is for individuals interested in applying microprocessor systems to a practical problem. Theory as well as practical experience will be emphasized in order to learn the capabilities and limitations of microcomputers and what it takes to apply them on the job. Contact Gerry Cohen, Post College Professional Education, Carnegie Institute of Technology, Carnegie-Mellon University, Schenley Park, Pittsburgh PA 15213, (412)578-2207.

October 25-27, International Computer Retailers Conference, Chicago IL. The main purpose of this conference is to provide existing and future computer dealers with an in-depth look at the opportunities and pitfalls for developing sales and profits in computer retailing. For more information contact registration manager, Management Research

HOLD IT!

Anywhere you want it.

PanaVise tilts, turns, rotates. One quick turn of the control knob and you securely position your work exactly where you want it. Holds firmly but gently the most delicate electronic parts and P. C. boards.

Whether you're into building home electronics, trouble shooting, or professional servicing ... you'll wonder how you got along without this modestly priced 'extra hand.'

Model 396 Wide Opening PanaVise shown. An ingenious variety of other interchangeable bases, holders and accessories also available. See your electronics distributor, or write for FREE brochure.

(PtaOWUlKUcp

5224 Chakemco St., South Gate, CA 90280

Associates, 60 East 42nd St, New York NY 10017, (212) 687-2560.

October 27-29, BizComp '78, Marriott Motor Hotel, Atlanta GA. BizComp '78 will highlight the small budget necessary for the independent business operator to be able to purchase an in-house computer system. All facets of the small business computer industry will be on display from the latest innovations in computers to business software and word processing, supplies and services. Contact Felsburg Associates Inc, 12203 Raritan Ln, POB 735, Bowie MD 20715, (301) 262-0305.

October 31-November 3, Tulsa Computer Conference, Skyline Sheraton East, Tulsa OK. Contact Tulsa Chapter Association for Systems Management, 4110 S 100 East Av, Suite 128, Tulsa OK 74145.

November 3-5, Third West Coast Computer Faire, Los Angeles Convention Center. This is a conference and exposition on personal computers for home, business and industry. For more details about this computer faire, write for a free copy of the Silicon Gulch Gazette. Contact Computer Faire, POB 1579, Palo Alto CA 94302, (415) 851-7075.

November 5-8, Computer Applications in Medical Care, Washington DC. This IEEE sponsored symposium on computer applications in medical care is designed to inform physicians and health care professionals about current and potential applications of computer technology to patient care; and to identify areas of future research and development that need to be addressed. Contact Abund O Wist, PhD, general chairman, Medical College of Virginia, (804) 770-4957.

November 6-8, Asilomar Conference on Circuits, Systems and Computers,

Asilomar Hotel and Conference Grounds, Pacific Grove CA. This conference, sponsored by the IEEE Computer Society, will delve into areas such as circuit theory and design, communication and control systems, computer systems, computer aided design, etc. Contact Donald E Kirk, Electrical Engineering Dept, Naval Postgraduate School, Monterey CA 93940.

November 13-16, COMPSAC, The

Palmer House, Chicago IL. The IEEE Computer Society's second international computer software and application conference. This conference will bring together computer practitioners, users and researchers to share their ideas, experiences and requirements for applications software, management techniques, and software development support, including automated techniques. Contact Wallace A Depp, executive director, Processor and Computer Software System Division, Bell Laboratories, Naperville IL 60540, (312) 690-2111.

1 54 October 1978 © BYTE Publications Inc

Circle 299 on inquiry card.

November 19-22, The 11th Annual Microprogramming Workshop, Asilomar Conference Ground, Pacific Grove CA. This worksop will provide a forum for the discussion and comparison of design techniques for firmware and for the supporting hardware. Informal interaction between groups working in similar research and application environments will highlight the topical session. For more information contact Dr Alice G Parker, Micro-11 program chairman, Dept Electrical Engineering, CarnegieMellon University, Pittsburgh PA 15213, (412)578-2472.

November 27-December 1, Micro Programming Workshop, Lafayette IN. This 5 day hands-on advanced programming workshop is for individuals interested in developing skills required to plan, prepare, test and document 6800/6801 microprocessor applications software. Contact Jerilyn Williams, Wintek Corp, 902 N 9th St, Lafayette IN 47904.

November 28-30, 9th Annual Canadian Computer Show, International Centre, Toronto CANADA. Products displayed at this show will include: computer and data processing equipment, supplies and services, including minicomputers, peripheral hardware and software, keypunch services, consulting and contract programming and timesharing. Contact Industrial Trade Shows of Canada, 36 Butterick Rd, Toronto Ontario M8W 328, (416) 252-7791.

December 3-5, Ninth North American Computer Chess Championship,

Sheraton Park Hotel, Washington DC. The 1978 annual meeting of the Association for Computing Machinery wilt be the site of this chess championship. This will be a 4 round Swiss style tournament with participants restricted to computers. Two rounds will be played on December 3 (1 PM and 7:30 PM), one on Monday (7:30 PM) and the last round on Tuesday (7:30 PM). Deadline for entries is October 20. Contact Prof M M Newborn, School of Computer Science, McGill University, Montreal Quebec H3A2K6 CANADA.

December 12-14, Midcon/78, Dallas Convention Center, high technology electronics show and convention. Contact Electronic Conventions Inc, El Segundo CA, (800) 421-6816 (toll free).

December 13, Computer Networking Symposium. Sponsored by the IEEE Computer Society's Technical Committee on Computer Communications and the Institute for Computer Sciences and Technology of the National Bureau of Standards. This symposium will highlight papers of practical and research experiences concerning both computer and communication networks. Contact Dr George Cowan, Computer Sciences Corp, 6565 Arlington Blvd, Falls Church VA 22046.■

Cartoon by K N Lodding

'7 think I found the human in your code. "

Announcing . . .

SMALL BUSINESS COMPUTERS Magazine

The magazine for users and potential users of small business computer products and services

• The monthly magazine for businessmen in the process of purchasing or installing their first com puters.

• The practical how to publication written in non-technical language and stressing business applica tions for small computer systems. Each monthly issue includes:

FEATURE SURVEY REPORTS: Such as. Software Packages for Small Business Applications, Small Manufacturing Systems, Inventory Control Systems, Microcomputer Business Appliactions, and so on.

APPLICATION STORIES: Real-life examples of computer applications in the small business environment — capabilities, benefits, what to watch for, and much more of direct interest to the small businessman.

COMPUTER PROFILES • IDEAS AND INNOVATIONS • INFORMATIVE ADS

SPECIAL CHARTER SUBSCRIPTION 12 issues @ 50% off

Receive the next 12 issues of Small Business Computer Magazine for just $9 . . . 50%off the cover price

Mail the coupon today to: SMALL BUSINESS COMPUTERS Magazine

33 Watchung Plaza • Montclair, NJ 07042

SMALL BUSINESS .COMPUTERS Magazine • 33 Watchung Plaza • Montclair, NJ 07042 D YES. Enter my charter subscription at the 4 price cost of $9 for 12 monthly issues. □ Check enclosed. D Bill me.

Name

Organization .

Address

City/State _

.Zip_

Circle 323 on inquiry card.

October 1978 © BYTE Publications Inc 155

Continued from page 10

A TALL ORDER, BUT IN PRINCIPLE DOABLE...

I am an experimental psychologist and have purchased a Radio Shack TRS-80 microprocessor for research purposes. I've run into some of the following problems. First and foremost I am having difficulties in setting up the following as an experiment. I would like to present either a letter, word or object on the screen for 100 ms or more. This is an easy thing to do in Radio Shack BASIC. The observer's task is to respond as quickly as possible by pushing one of two keys (either a 1 or 0) based on what was presented, t am having trouble computing the reaction time, the interval of time lapsing between stimulus presentation and the response. The program should be able to measure the reaction time in ms and record which response was made. Could you offer some assistance on developing such a program?

My second problem is how to convert my TRS-80 so that I can use a television instead of the Radio Shack video screen. This would allow the use of an S-100 bus and the Cromemco Dazzler for color video.

A third problem I've run into is the following: research-wise 1 am into work

load measurement or dual task analysis. Using a normal television I've hooked up a pong game. I would like to present simultaneously by means of the TRS-80 a list of words for the observer to memorize and recall while the pong game is on. How can one go about doing this?

Fourth, I believe the cassette transfer program for the TRS-80 is limited in that I must transfer all the information on the tape into memory. Is there no way to run a search and only transfer part of the information on the cassette tape into memory?

Finally, I am interested in determining why one needs to buy the Radio Shack interfaces for memory expansion purposes. Why can't one buy an S-100 bus and mother board and additional static memory and accomplish the same thing at a lower cost?

If one of your readers can help me with these matters, please let me know.

Asst Prof Joseph Dalezman

New College of USF

Division of Natural Sciences

5700 Tamiami Tr

Sarasota FL 33580

We suggest that you get in touch with your nearest iocai computer club (see Clubs and Newsletters Directory, September 1978 BYTE, page 124).

S-100 BUS COMPATIBLE. The EMM 1104 single card plug-in memory has been field tested and proven in a variety of systems including the Poly 88, IMSAI, MITS, COMPAL-80, TLD and CREMENCO. 16K BYTES ON A CARD. Convenient plug-in card, fully burned-in, tested and guaranteed by one of the industry's largest memory suppliers. NMOS STATIC RAM, The 4K static RAMs have been proven in applications ranging from single chip memories to IBM 370 add-on systems. They are fast, reliable, and no refresh cycle is required. See your dealer, or contact us for complete information.

S-100 Bus Compatible Memory

16K bytes on a card

NMOS static RAM

Commercial Memory Products, a Division of Electronic Memories & Magnetics Corp. 12621 Chadron Avenue • Hawthorne, California 90250 • Telephone (213) 644-9881

TIMELY COMMENTS ON KIM

I just tried Robert Baker's KIMER (KIMER: A KIM-1 Timer, July 1978 BYTE, page 12). The clock operated but the calibration was not wide enough for my crystal.

Since the BIT instruction (line 0220) is used to test the timer status, the timer is not being used in the interrupt mode even though memory location 170F was loaded. The status of PB7 in this case has nothing to do with the timing. The major time delay is determined by the JSR SCANDS command which takes several milliseconds to perform. The timer status is tested on each return from SCANDS and so will always be some multiple of this time delay. The 1 ms calibration resolution cannot be obtained.

Here are a few ways the program could be fixed:

• The clock could be written as an interrupt routine. SCANDS would then be interrupted at any point in the subroutine.

• The number of JSR SCANDS commands could be counted in a loop which would be exited before the timer times out.

• The calibration could be reduced to EF or F0 and a longer fine adjustment used.

There have been several programs in the KIM-1 User Notes which illustrate the use of the timer. My version of a clock using the interrupt mode was printed in the March 1977 User Notes and also in The First Book of KIM. When using the program in the latter publication, go by the detailed listing since line 036A is incorrectly printed in the HEX DUMP.

I hope this is of help.

Charles H Parsons

80 Longview Rd

Monroe CT 06468

A SwTPC 6800 FIX

Here is a problem with the SwTPC 6800 and a fix that I haven't seen published before:

You can't reset the 6800 from a wait-for-interrupt state!

On the SwTPC MP-A board, the reset signal is transmitted to the MCM6800 chip via a DM8098 hexadecimal inverting three state buffer that is disabled when the processor enters a hold condition, as occurs after the execution of a WAI (3E hexadecimal) instruction. Once the 6800 is in the wait state, the reset signal generated by pushing the front panel reset button is stopped at the 8098 and never gets to the 6800 chip. A hardware fix is to break the traces to pins 2 and 3 of the 8098 (labeled IC15 on the SwTPC schematic and parts layout) and reroute the signal through a new, permanently enabled 8098. This

156

October 1978 © BYTE Publications Inc

Circle 132 on inquiry card.

permits the reset signal to reach the 6800 and you can then recall your 6800 from the "never-never land" it inhabits after performing a WAI.

I hope this will help anyone who's been annoyed by his SwTPC not responding to reset on mysterious occasions. I don't know if SwTPC fixed this on their new MP-A/2 board or not.

William R Hamblen

946 Evans Rd

Nashville TN 37204

PERSONAL COMPUTER COMMUNICATIONS NETWORK

I was certainly surprised by the degree of negativity expressed by Donald Newcomb, commenting on my article ("Personal Computers in a Communications Network," February 1978 BYTE, page 80) in the July 1978 BYTE. Perhaps some comment is in order.

First, I certainly do not wish to characterize a distributed communications network as anything less than highly complex. However, I do believe that in principle these complexities can be solved with a combination of sophisticated software and straightforward hardware. What makes a problem like this particulary difficult is that it is not isolated in the same way that the development of a language processor or operating system can be isolated. The first step in the creation of complicated software interfacing to a myriad of systems has to be communication in generalities. In that spirit I welcome Mr Newcomb's comments.

A second large point is made by Mr Newcomb that such a scheme runs contrary to the sensible regulation of the radio spectrum. Again, I acknowledge the difficulties, but I would like to mention that Dr John deMercado, head of Canada's Telecommunication Regulatory Service (analogous to the FCC) and an early developer of ARPA, characterized my article as "forward thinking" and has solicited my further opinions. Perhaps regulatory agencies are not quite as committed to maintaining the status quo as Mr Newcomb assumes.

On the specific question of "Why not use the phone?", I believe there are several responses. First, I agree that the phone system is fine for well-defined transfers between two individuals. But, there is a strong possibility that "Ma Bell" will soon begin charging data communications automatically at a different rate. Further, and this is the primary point of the article, new types of network activities will evolve if the environment is open-ended.

Finally, it is simply not true that unsupervised transmitters are rarely approved by the FCC; there are hundreds, if not several thousand, VHF and UHF repeaters operating in the amateur bands on a 24 hour basis with only periodic maintenance. When the FCC modified its regulations for commercial broadcasters to allow oper

ation over a remote control link by nontechnical personnel, a clear statement was made that the Commission felt that the technology had progressed to the point that broadcasters should no longer be burdened by unnecessary rules. Yes, it was still possible that there might be situations where an on site technician would save the day, but the FCC seemed willing to take the risk in that case. I would prefer to think positively about the matter and hope that the FCC will view networks as another case where the benefit can outweigh the risk.

I am not certain that the network structure I have discussed is workable, but I do know that it can never work without a beginning. I am slowly working toward such a beginning, and I hope that others will as well.

Jeff Steinwedel 715 Reseda Dr, Apt 2 Sunnyvale CA 94087

PERSONAL COMPUTERS REQUIRE INSURANCE, TOO. ..

In shopping around for insurance on my house (renewal due in August), I discovered that none of three large insurance firms in this area would cover—specifically—a personal computer

of any significant value. None of the three would add any rider or offer any separate insurance coverage. The general concensus was that personal computers were considered no more than "hi-fi" equipment.

The specific area of insurance on a personal computer does not affect me yet since I am just starting to collect the components for a fairly large system. Medium to large microcomputer systems can run from $3 K to $8 K, the price of a new or nearly new auto.

Auto insurance is commonplace and there is a good reason for it. Only part of such insurance is devoted to the auto itself. Home insurance covers only part of personal property within a dwelling and is generally covered as half the amount of the dwelling itself. With the increase in overall prices, replacement of personal property will probably not cover a system of $3 K or greater. This is especially true in a household having expensive relatives such as children.

Perhaps some reader might comment on insurance for such expensive devices?

Leonard H Anderson

10048 Lanark St

Sun Valley CA 91352

Where there is demand, the marketplace is sure to follow. Here is a niche for some enterprising underwriter.

TURN YOUR COMPUTER INTO A TEACHING MACHINE

The staff at Program Design did not learn about educational technology from a book— we wrote the book! We have been innovators in such teaching materials as programmed instruction and multimedia presentations. We also belong to that minority in education who actually test materials to see that people can learn from them.

Now Program Design brings this experience to the personal computer field. PDI is developing a fine of educational and game programs for the whole family—from preschool child to adults.

Program Design educational software uses the computer's full teaching potential in exciting and effective ways. Programs are simple to use and memory efficient, and most important . . . they teach!

TAPES NOW AVAILABLE FOR THE TRS-80, PET, APPLE II

SAMPLE OUR SOFTWARE FOR $2.00. Send us $2.00, your name, address, and type of computer, and we'll send you a tape for your computer with actual samples of our programs.

Or circle our number on the reply card for a printed catalog. Department 200 PROGRAM DESIGN. INC. 11 IDAR COURT GREENWICH, CONN 06830

Circle 307 on inquiry card.

October 1978 © BYTE Publications Inc

157

REGIONAL BASIC CONTEST NOTES

Thank you for the nice article in the July 1978 issue of BYTE about the regional BASIC contest. I would like to make a couple corrections. First, Scott Parker is really Scott Porter, and the second man was Newton B White Jr of St Louis MO. Mark Grundler, the advisor, was unable to make the trip.

If the truth must be known, it was Newton, and not Porter, who led the team. He spent the weekend teaching BASIC to Scott, a situation which was a major handicap to the team's effort. I am happy to report that next year Grinnell will be able to field a team of four BASIC programmers.

White and Porter were members of Grinnell's FORTRAN team, which took second in this year's Midwest Regional FORTRAN contest and competed in the national FORTRAN contest. The other two members of the team were Bruce Albrecht and Steve McKelvey. Both Albrecht and McKelvey had strong permances to help the Grinnell team to a second place in its first outing. An interesting side note: at the FORTRAN regional, Porter taught White how to program in batch FORTRAN. Porter was a batch FORTRAN programmer and White was an interactive BASIC (redundant, but anything for a parallel construction) programmer, and both had the

faults of each style. This last summer White was working in some batch environments and, likewise, Porter is working mostly with interactive BASIC. Since Grinnell is a liberal arts college without an applied math or computer science major, it was necessary to go looking among the other majors for programmers. The makeup of the team was a math/philosophy double major, a physics major, and a chemistry/math major. The blend of that group's problem solving ability was its major asset.

Scott Porter

Office of Computer Services

Grinnell College

Grinnell IA 50112

SOME ACES NEED ENGINEERING

After reading your magazine avidly for a couple of years we felt we could write to you and request the assistance of you and your readers. First a few words about our aims: the Awareness, Consciousness and Energy Studies Group (ACES Group) is devoted to the scientific study of the various manifestations and attributes of consciousness. Today the "consciousness explosion" is well under way and more and more people are practicing some sort of technique to bring about an expansion of their

JOIN THE COSMIC QUEST!

• Subscribe now to COSMIC SEARCH and share the provocative articles and latest news about mankind's most exciting venture, the search for intelligent life in space. Get COSMIC SEARCH starting with its first issue, out December 1.

• COSMIC SEARCH is for everyone who has ever wondered about life in the universe.

• Featured in the first issues of COSMIC SEARCH are articles by RONALD BRACEWELL, JOCELYN BELL BURNELL, ARTHUR C. CLARKE, NORMAN COUSINS, FRANK D. DRAKE, CARL SAGAN,

WALTER SULLIVAN and many other world-famous persons.

• Will communication be by radio, gravity waves or neutrino beams? Are there cosmic languages? Will long transmission times make us cosmic archeologists? These and many other questions are discussed in COSMIC SEARCH in a popular, authoritative manner.

• Exclusive interviews with noted researchers, book reviews and an extensive book list for further reading are regular special features of COSMIC SEARCH.

• COSMIC SEARCH award papers on SETI topics by students and others under 30 will add new talent.

• COSMIC SEARCH is published 6 times per year. First issue January 1979. Out Dec. 1, 1978. COSMIC SEARCH, Radio Observatory, P.O. Box 293, Delaware, Ohio 43015 Tel. 614-363-1597

Single copies $2.50 ($15 a year). Subscription rate: $12 for 1 year, $22 for 2 years.

SPECIAL PRE-PUBLICATION rate $10 for 1 year, $18 for 2 years

SPECIAL PREPAID PRE-PUBLICATION rate $8 for 1 year, $15 for 2 years

I Enter my subscription to COSMIC SEARCH, Box 293, Delaware, Ohio 43015

| At special pre-publication rate: $10 for 1 year □ $18 for 2 years a and bill me later.

i At special PREPAID pre-publication rate: $8 for 1 year □ $15 for 2 years □

I D Check or Money Order enclosed □ MASTERCHARGE □ VISA (BankAmericard)

I

J Account #

j Name

| Address

I City

MC Interbank #_

Exp. date.

State .

Zip.

awareness. Success becomes apparent through the subjective experience of joy and well-being. However, our society has long been indoctrinated with the need to provide objective proofs of every experience. We reasoned, as other groups have done, that an increase in awareness or a change in one's state of consciousness should have some corresponding effect on the body's physiology and therefore be physically detectable. Research during the last eight years shows that this is indeed the case. Stress is apparently the biggest hindrance to increased awareness. A reduction in stress shows itself in such ways as an increase in galvanic skin resistance (GSR), normalization of the blood pressure and increased alpha activity of the brain (to mention but a few). In order to study the effectiveness of different methods of reducing stress the ACES Group has developed its own equipment. Continuous monitoring of EEG, GSR, heart rate and body temperature is possible.

The outputs from our present monitoring equipment are eight analogue voltages which we wish to sample at not less than 100 times per second. This information should then be passed to our microprocessors for storage and analysis. For this purpose we have purchased two processors, one being the Digital Group Z-80 and the other the OSl Challenger; both have VDUs, four digital tape drives and in excess of 20 K memory.

Our main problem is interfacing the analogue monitoring equipment to our processors. Perhaps some of your readers with experience in analog to digital conversion could offer us some helpful suggestions. We welcome contact with anyone (professional or hobbyist) who has experience of biomedical monitoring systems and we are constantly on the lookout for methods of increasing the speed of computation. Another problem we have not yet resolved is that of designing a simple but accurate noninvasive method of monitoring blood pressure for use in a nonlab environment. Ideas, anybody?

Thank you for a most informative and interesting journal.

Graham Else, Ian Wales

ACES Group

Koenigsberger StrajSe 10

6107 Reinheim/Odenwald 1

WEST GERMANY

9900 DOWN UNDER

Living as we do on the other side of the world from where it is all happening on the microcomputer scene, we depend very heavily upon what we can read in the pages of BYTE and the other magazines. We can hardly tell you with what avid interest each issue of BYTE is perused (we get it shipped out to us airmail in order to get it as early as possible). Keep up the good work.

We ourselves use TMS-9900 based equipment, so every mention of this rare but wonderful beastie in your pages

158

October 1978 ©BYTE Publications Inc

Circle 77 on inquiry card.

?

1976/1977

EITE

Cover Price * plus postage and handling

Back Issues for sale ^IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIUIIIIIIIIIIIIIIIIIIIMIIItlllllllllllllllllll

§ The following issues available: 1 '76 '77

'78

July

August

October

November December

March

May

June

July

August

September

October

November

December

January

February

March

April

May

June

July

August

September

* Cover price for all issues thru August 1977 is $1.50 plus $.25 postage and handling ($3.50 total foreign). September '77 thru current '78 issues are $2.00 plus $.50 postage and handling ($4.00 total foreign).

mn

iiiiiiiiiiiiiiiuiiiiiiiiiE

Send requests with payment to:

BYTE Magazine 70 Main Street Peterborough, NH 03458

Attn: Back Issues

NEW SOFTWARE AVAILABLE FOR

North Star * Computers

The following software is now being offered for use on the North Star disk systems and Horizon Computers.

CP/M'" FDOS and Utilities

From $145

Microsoft FORTRAN-80

$400

Microsoft COBOL-80

(A3)

$625

Microsoft Disk Extended BASIC

$300

Xitan SUPER BASIC

$99

Xitan DISK BASIC

(A3+)

$159

Xitan Z-TEL Text Editor

(A3, A3+)

$69

Xitan Text Output Processor

(A3, A3+)

N/A

Xitan Macro ASSEMBLER

(A3, A3+)

$69

Xitan Z-BUG

(A3+)

$89

Xitan LINKER

(A3+)

$69

Xitan Package A3 (as keyed above)

$249

Xitan Package A3+ (as keyed above)

$409

Xitan Fortran IV

$349

CBASIC Compiler/Interpreter BASIC

$95

MAC Macro Assembler

$100

SID Symbolic Instruction Debugger

$85

TEX Text Formatter

$85

BASIC-E Compiler/Interpreter BASIC

$30

Accounts Receivable

$750

NAD Name & Address Processor

$79

QSORT Disk File Sort/Merge Utility

$95

Available from computer stores nationwide or order direct from:

LIFEBOAT ASSOCIATES

164 W. 83rd Street

New York, NY. 10024

(212) 580-0082

rTHE INCREDIBLE LEARNING MACHINE i^^BBHB wmetcTJ

" (Wow! Ibwd AllThat(^uf^^etInThe^d,)™

• She's a Conversational Query System!

• She's an Indexing/Filing System!

• She's a 'Data Base Manager' for your Microcomputer!

"One of the first software products of the New Computer Age..."

-Ted Nelson, author of Computer Lib/Dream Machines

Mail to: Information Unlimited

331 W. 75th Place, Suite 2-I Merrillvflle, Indiana 46410 219- 769-9280

$125 $75 $25

D Model CP-1 for C-Basic (requires 40K RAM)

D Model NS3 for North Star Basic (requires 24K RAM)

D WHATSIT Manual

D Quantity discount schedule for Dealers.

D More information (I'm running disc BASIC

on a computer)

computer)

A CREATION OF

'OTOUTGR fCftOODfiRGxM

PROGRAMS FOR KIDS

Educational and fun. Developed by educational designers. Teach essential skills in an exciting new way.

PRESCHOOL IQ BUILDER—Helps 3-to-6-year-olds develop

vital intellectual skills needed to do well in school.

7 programs + Guide TRS-80 Levels I & II, PET, Apple II

MEMORY BUILDER: CONCENTRATION—Educational

games to help children 6 and up improve memory.

3 games + Guide Apple II & PET

STORY BUILDER/WORD MASTER—games that teach grammar and vocabulary to children 9 and up.

4 games + Guide TRS-80 Level II, PET, Apple II

GRAPH BUILDER—teaches children 10 and up to read

graphs. Includes games.

11 programs + Guide TRS-80 Levels I & II

Each title $9.50 plus $1.00 shipping

VISA & Master Charge accepted (include number, exp. date,

MC include digits above name)

Department 80

Program Design, Inc., 11 Idar Court, Greenwich, Conn. 06830

Circle 307 on inquiry card.

BYTE October 1978

159

evokes a heightened response of interest. I would like to get in touch with users of 9900-based systems in the States so we can exchange notes, ideas, etc.

B Ward Powers

IMPACT Ltd

POB 177

Petersham NSW 2049

AUSTRALIA

A FEW NOTES FROM A CANADIAN READER

1. Items move faster through our mail system if you include the postal code. This is that funny series of letters and numbers that appear above, after the province. My postal code is V6S 1B2.

Note that the format is letter, number, letter, space, number, letter, number. Although this may not be quite as simple as your ZIP code, it does mean that a letter addressed:

Andrew Bates, Canada V6S 1 B2

will be delivered to me. The postal code pinpoints the side of the street in a residential block or even the floor of a building in a business district. How's that for precision!

Software writers take note: we Canadians need at least six characters for the postal code and four characters for the province (state). And if you are going to check the ZIP for all numbers, please put the check in a subroutine so we can replace it with a suitable check

moot commjTfR/ couid/avc vou moNcv

• Finally, an objective look at the top

24 micro systems sold throughout the world!

• Honest pros and cons of each system, plus a straightforward look at the micro computer industry as it relates to you!

• Written in plain English for the layman. If you are considering the purchase of a personal computer, this book will save you money!

SAMPLE CONTENTS

• Don't Get Hung up on the Chips • Now, about^ the hardware • What? No software! • Helpful ^ suggestions before spending money READ UP ON COMPUTERS BEFORE YOU * PUT YOUR MONEY DOWN! ONLY $4.50 PER VOLUME TELEPHONE TOLL FREE: 800-327-6543or send this coupon!

■JZ&

4T V*

for our postal code.

2. WATS lines do not cross international borders (at least that is what the telephone operator told me). This means that we people in Canada can't phone you for free like everyone else in the United States can. How about letting your people accept collect phone calls from Canada, only so we can use A G Bell's famous invention, instead of having to spend hours slugging away at the typewriter and then waiting for what is an erratic mail service on both sides of the border?

3. Another small request for software writers who are mailing things to Canada: if your package costs $75 and is distributed on North Star diskette, for instance, please mark the customs declaration as:

DISKETTE $6 PRINTED MATTER $69

If you mark the price as $75, we end up paying duty on the diskette as though it cost $75. Printed matter comes across the border duty free and there is no duty on an item of less than $10 value.

Andrew Bates

3261 W 18th Av

Vancouver BC

CANADA V6S 1B2

EROM CONFUSION: THE 2716

Elaborating on David Marke's letter (July 1978 BYTE, page 11), it seems to me that Intel bears the blame for the 2716 single voltage versus 3 voltage supply EROM confusion.

Intel gave their new generation 16 K part an old generation number. They have essentially acknowledged the confusion by introducing the 2758, a 1 K by 8 EROM like the 2708, but single

I suggest we use the Texas Instruments part number, 2516, when referring to either the Tl part or the Intel 2716.

Al Anway

Poly Micro Systems Inc

2616 Lansing Dr SW

Roanoke VA 24015

IN SEARCH OF SPEED

There are some things that retard communication between people having no contradictory interests, eg: vendor and customer. Vendor has something to sell. Customer finds something to purchase.

One of these retarding things is a slow answer to a request. Surface mail for Sweden travels the distance from the United States in six weeks. Air mail, the same distance, arrives within a week.

So please, if at all possible, use air mail for overseas requests.

Hans Nordstrom Tingvallavagen 7F S-195 00Marsta SWEDEN

160 October 1978 © BYTE Publications Inc

NEW SOFTWARE AVAILABLE FOR

MICROPOLIS"

The following software is now being offered for use on the Micropolis MetaFloppy and MacroFloppy disk systems.

CP/M"" FDOS and Utilities

From $145

Microsoft FORTRAN-80

$400

Microsoft COBOL-80

$625

Microsoft Disk Extended BASIC

$300

Xitan SUPER BASIC

(A3)

$99

Xitan DISK BASIC

(A3+)

$159

Xitan Z-TEL Text Editor

(A3, A3+)

$69

Xitan Text Output Processor

(A3, A3+)

N/A

Xitan Macro ASSEMBLER

(A3, A3+)

$69

Xitan Z-BUG

(A3+)

$89

Xitan LINKER

(A3+)

$69

Xitan Package A3 (as keyed above)

$249

Xitan Package A3+ (as keyed above)

$409

Xitan Fortran IV

$349

Xitan DATA BASE MANAGEMENT SYSTEM

$1,250

CBASIC Compiler/Interpreter BASIC

$95

MAC Macro Assembler

$100

SID Symbolic Instruction Debugger

$85

TEX Text Formatter

$85

BASIC-E Compiler/Interpreter BASIC

$30

General Ledger

$995

Accounts Receivable

$750

NAD Name & Address Processor

$79

QSORT Disk File Sort/Merge Utility

$95

Available from computer stores nationwide or order direct from:

L LIFEBOAT ASSOCIATES 164 W. 83id Street New York. NY. 10024 (212) 5800082

Ar t "by-Computer tm is here!

Fi le

File 3

Black-on-white, 9 3/4H by 12 3/4W reproductions of computer generated designs. See Jan 78 Byte or phone or write for a brochure. Set of 12: $20.00, singles $2.00 each. Minimum order: 2 prints. Orders less then $10.00 and all orders from outside continental U.S. add $2.00 postage and handling. Payment must be in U.S. dollars. California residents add 6% sales tax. Send check or money order to:

Lei and C. Sheppard PO Box 60051, Dept. B Sunnyvale, CaI ifornia 94086.

Also available at selected retail outlets.

O LCS, 1978.

ATTENTION SWTPC DISC SYSTEM USERS

ah Ed smiths M6800 SOFTWARE TOOLS

are now available in mim-FLEX format as well as Smoke Signal Broadcasting format. See July BYTE for diskette media prices. Disc users specify SSB OR SWTPCO.

M680O RELOCATING ASSEMBLER AND LINKING LOADER software for rapid program development and debugging. Some of its features are RELOCATABLE CODE-FULL ALPHABETIZED CROSS REFERENCE LISTING-BOTH GLOBAL AND LOCAL LABELS-LISTING OF EXECUTION TIME-RELATIVE BRANCH TARGET ADDRESS ES-8 CHARACTER LABELS-CORESIDENT EDITOR-ENGLISH ERROR MESSAGES80 COLUMN LISTING USING PFMO-etc.

M68AS . . cassette . 150.00

M68AS D . .minifloppy $55.95

M6800 RELOCATABLE DISASSEMBLER AND SEGMENTED SOURCE TEXT GENERATOR. This software tool enables you to modify and adapt those large sized object programs and re-assemble them on your system without requiring enormous memory. This program will produce segmented source text files with all the external linkage information required for re-assembly using the above Relocating Assembler.

M68RS . cassatte 535.00

M68RS D . .minifloppy $40.95

M68ASPK Above two programs on single diskette .$85.00

The above two programs are furnished in relocatable formatted code with instruction manuals and commented assembly listings. The loader is also supplied in standard MIKBUG format on cassette or as a binary file on disc to initially load the linking loader at any desired address.

The linking loader is also available in EPROM on two 2708's for $45.00. Specify desired address and version, i.e. cassette, FLEX or SSB.

8-M-l-T-H-e-D-G

FIRMWARE from Ed Smith's SOFTWARE WORKS

A 2k Monitor Disassembler Trace Debugging Tool in EPROM. Use as stand-alone monitor or as an adjunct to your Smartbug or Swtbug. Requires AC IA as control port. Provides all the monitor commands (23) you could ever ask for, plus the convenience of a mnemonic disassembler and single stepping disassembler trace display. Interactive use of single or dual breakpoint with trace pickup at breakpoint, plus many new monitor functions and subroutines, makes this a super tool you will love to work with. Uses location $F800 to $FFFF. Furnished on two 2708's or one 2716. Includes Manuel end commented assembly listing Specify AC IA location and present monitor in order to keep $A0O0 RAM com

P«ibi,i«V- SMITHBUG ON 2708*« $60.00

SMITHSUG ON 2716 $70.00

Get under Ed Smith's Software RUG (Relocating assembler Users Group). All RUG members will have use of a building software support library in relocatable format. Upcoming items are a Floating Point package and a Trig package.

Order direct by check. Specify system configuration if other than SwTPCo. California residents add 6% sales tax.

w smims SOFTWARE LUDRHS

P.O. Box 339, Redondo Beach, CA 90277, (213) 373-3350

HAVING TROUBLE LEARNING BASIC?

STEP BY STEP is an interactive computer course in BASIC that's easy even for beginners. Program Design has developed a logical, structured approach that really works. At the end of STEP BY STEP, you'll be writing programs using all important BASIC commands.

AVAILABLE FOR TRS-80 LEVELS I & II, PET, AND APPLE II

STEP BY STEP:

• presents material in small steps

• provides guided programming practice in each lesson

• tests your progress after each lesson

• teaches actual program writing, not just terms

• is suitable for anyone from junior high up, regardless of math background

10 lessons with quizzes, plus final test 3 cassettes 80 page Workbook $29.95 plus $1.00 shipping

VISA & Master Charge accepted (include number, exp. date, MC include digits above name)

Department 400

Program Design, Inc., 11 Idar Court, Greenwich, Conn. 06830

Circle 324 on inquiry card.

Circle 307 on inquiry card.

BYTE October 1978

161

In the March 1977 BYTE, page 130, we announced a bar code reader contest in which readers were asked to decode a page of Paperbytetm bar code copy using a reading technique of their own design. Winning points for originality was this entry by Camp bell Fame// and Glen Seeds: While the method described here is not the intended method of reading the cod£s> it shows what is perhaps the world's least expensive drum read on/y memory as a serendipitous sidelight to printing software on paper.

A Novel

Bar Code

Reader

Campbell Farnell and Glen Seeds RR #1

Seeley's Bay, Ontario CANADA KOH 2N0

Photo 1: The authors' bar code reader entry. The page of bar code is shown taped to a fruit juice can sitting on a phonograph turntable. The reading arm, shown at bottom left, features two small lamps and a focusing lens. Light reflected from the rotating bar code energizes a phototransistor at the other end of the reading arm. The signal is then translated into binary voltage levels and sent to the computer's input port.

Technical Description

Our Paperbyte™ bar code reader consists of three parts: (1) an old turntable set at 33 RPM on which sits the page to be read, attached to a 48 ounce juice can; (2) a read head with light source which is attached to a parallelogram assembly to allow the head to be moved up and down while remaining level; (3) an interface that brings the output of the phototransistor in the read head up to a 5 V digital level.

The Turntable and Juice Can

A juice can with one end removed supports the page while the turntable (a junked one obtained for free) rotates the page. For purposes of this contest we simply taped the page to the can. However, for everyday use some sort of clip-on system would be reasonable. Even four small magnets should work to hold the paper on the can. Centering the juice can on the turntable was no problem since the plastic record mat on the turntable platter has a series of raised concentric circles on it. On turntables lacking this feature it is an easy matter to draw a circle on a piece of cardboard placed on the turntable to indicate the proper position. In use, we found that the can did not tend to wander as the turntable went around.

A

162 October 1978 © BYTE Publications Inc

BLABBERWA

CKYww Twas brilliant

and the slimy toads wDid go and gander i n the wave:wALL mist y were the bluish gr oves. wAnd the mole r uns outraged. ww"Bewa re the Blabberwack, my son! wThe words th at bite, the barbs t hat catch! wBeware th e mynah bird, and sh unwThe frivolous Ben dersnitch! "wwHe took

his vicious words i n hand:wLong time th e slanderous foe he sough t-wSo remained

he by the titling t ree, wAnd stood awhil e in thought. wwAnd, as in malign thought

he stood, wThe Blabb erwack, with eyes of

flame, wCame whistli ng through the state ly wood, wAnd bluffed

as it came! wwOne, t wo!, One, two! And t hrough and through wT he vicious blade wen t crushing-crash! wHe

left it dead, and w ith its headwHe went

galloping back. ww"A nd hast thou slain t he Blabberwack? wCome

to my arms, my boun cing boy! wO fabulous

day I Hoorah! Hooray !"wHe chortled in hi s joy. ww' Twas brilli ant and the slimy to adswDid go and gande r in the wave:wAll m isty were the bluish

groves. wAnd the mol e runs outraged.w

Listing 1: Waiter Banks' "Blabberwacky." The output was produced on a printer that does not respond to ASCii control characters, so the line feeds were printed as lowercase ws.

The Read Head

The read head consists of a 2N5777 phototransistor, a lens and two penlight bulbs. These items were mounted on a block of wood. The lens we used was a 25 mm lens from an 8 mm movie projector, but any lens of similar focal length can be used because color rendition and edge focus are of no concern. The phototransistor was mounted on its side rather than vertically so that the lens effect of the T092 package would tend to pick up more of one particular bar rather than picking up adjacent bars. It was also covered with black tape on all sides but the front, to exclude stray light.

Circle 28 on inquiry card.

FREE 10 DAY TRIAL* New and Unusual Sounds For Your Computer

& Iirf

*lf after using the unit you don't agree with our claims merely return the system

postage pre-paid and insured and we will promt I y refund your purchase price.

$149

95

The Microsounder is an S-100 compatible sound generating card that can be programed in BASIC or assembly language. Three to five lines of code generates such sounds as: organ music, sirens, phasers, shotguns, explosions, trains, bird calls, helicopters, race cars, airplanes, machine guns, barking dogs, and many thousands more.

Now you can hear the sounds ot phasers and photon torpedos in Star Trek. Practice Morse code recognition, create your own unique sounds and songs, or use the Microsounder for a signaling device. Only a few minutes of time is needed to patch the sound code into existing programs.

The Microsounder is assembled and tested, and comes complete with sample code, two game programs, and a utility program for creating almost any sound. Send your orders (Master Charge, Visa, cashier's or personal check to:

I BOOTSTRAP ENTERPRISES INC. | 100 North Central Exprwy., | Richardson, TX 75080 (214) 238-9262

Name

■ Address

j City State

Add $4.95 for Postage & Handling

□ Check or Money Order Enclosed Exp. Date

□ VISA #

.Zip

□ MASTERCHARGE #

Specials!!

Specials!!

LIST PRICE

Special

PRICE

Problem Solver 16 K Static Ram (A & T) at 250 nsec

$ 499.00

$ 349.30

Micropolis Model 1053 Mod II Dual Disk System (A&T)

$1895.00

$1610.75

Meca Dual Drive Cassette System (A & T)

$ 845.00

$ 699.00

Solid State Music

Video Interface Kit (A & T)

$ 149.95

$ 119.95

PRICES QUOTED INCLUDE 10% CASH DISCOUNT*

Exclusive Dealer for Meca in

New Jersey — New York — Connecticut — Delaware!

COMPUTER LAB _ ** a«

Budd Lake, NJ 07828

OF NEW JERSEY (201) 6911984

ALL PRODUCTS 10% OFF LIST! PLUS 5% ADDITIONAL FOR CASH!

Mail and phone orders accepted, subject to available quantities. Prices and specifications subject to change without notice. Shipping charges extra. NJ residents add 5% sales tax. Master Charge and BankArnericard/VISA accepted.

Circle 72 on inquiry card.

October 1978 © BYTE Publications Inc 163

LENS

FOCUSING SCREEN PHOTOTRANSISTOR

Figure la: Top view of the read head.

The phototransistor was mounted peeking through some translucent tape which served as a focusing screen. The entire assembly was covered on the top and sides with a cardboard hood to exclude ambient light. The block of wood on which the read head was assembled was attached to two strips of wood, which were in turn attached

FOCUSING SCREEN

Figure lb: Read head assembly for the bar code reader. The focusing screen is made out of translucent tape.

to a base. This allows us to move the read head up and down while keeping it level.

The system was focused by moving the the base plate back and forth. A pair of type 222 prefocused penlite bulbs were mounted on either side of the lens and angled toward the bar being read. These bulbs are rated at 2.25 V; when wired in series they ran fine from the +5 V used for the logic, and drew 250 mA. A strip of ordinary black tape was wrapped around each bulb to prevent stray light from reaching the lens.

The Interface

The interface consists of a 500 k trimpot and a 74C04 CMOS hex inverter, as shown in figure 2a. Since the input port on our computer accepts CMOS logic, no further buffering was required. In order to drive standard TTL logic, the remaining CMOS inverters can be used or a transistor and two resistors (see figure 2b). This interface owes its simplicity to the high gain of the 2N5777 and the very high input impedance of the CMOS chip.

Calibration and Use

The calibration and use of this system are simple. Once physically assembled, the read head is moved close to the page to be read and is adjusted to bring the page into focus on the screen. This requires some experimenting at first. The phototransistor is positioned about 3 inches behind the lens, which provides a magnification of about 2. To adjust the sensitivity, focus the head and then, with the turntable turned off, turn the platter until the read head faces plain white paper. Observe the voltage at the collector of the phototransistor at point A in figure 2a. With a lot of light from the white paper on the phototransistor, and the potentiometer set to its highest value, this point is pulled low by the transistor. The potentiometer is adjusted until it just pulls the line high and then it is backed off just enough to let the line go low. This completes the sensitivity adjustment. While spinning the turntable by hand, you can watch the output of the transistor alternate. In our case we had a voltage swing of about 4 V at point A.

In order to actually read the lines, the output of the CMOS interface is hooked to a single bit of an input port on the computer. The computer then waits for a line to start, times the light and the dark times, and decides if the bit is a one or a zero. The computer program itself is straightforward, if somewhat long-winded. The computer we used is an MCM/800 manufactured by Micro Computer Machines, Kingston, Ontario. The processor is a discrete bipolar affair that has

164 October 1978©BYTE Publications Inc

the same instruction set as the 8008, with a few enhancements.

Notes and Conclusions

Because this reader was produced and documented within a period of 48 hours, we did not have time to go through many revisions. From our experiences we gained a considerable amount of information that could be applied to the development of an improved reader.

When we set out to build the reader, we assumed that the mechanical portion would be easy and that most difficulties would be with the electronics. This was not the case. Although the entire electronic portion of our reader turned out to be extremely simple, (it cost under four dollars), it performed flawlessly. We have had no difficulties with it and we do not suggest any modifications. In one test performed while checking the reader, we read a single line 255 times without glitches.

The mechanical portions of the reader, however, could stand some improvements. Our most serious problem was keeping the read head focused on the page. The juice can was not perfectly round, particularly at the end with the top removed, and minor variations tended to put things out of focus at one end or the other of the line. The can had to be centered exactly on the turntable or similar problems would arise. Anyone seriously considering this approach might use a full unopened juice can, remove the turntable spindle and glue the can (after careful centering) to the turntable.

Probably the weakest link in the design is the head support mechanism, which we do not recommend. Given some sort of reasonably round support for the page, it would be nice to have the head permanently mounted on a slide arrangement so it could be focused once and then slid back and forth in front of the page being read. If you standardize on a fixed spacing for the lines, it would be possible to add a detent mechanism so that the head would stop only in the middle of lines. It would be reasonably easy to add some automatic method of advancing the head.

We feel we should also mention something that we discovered in the course of testing our reader, it applies to bar code readers of our type and to wands as well. As Keith Regli points out in his article "Software for Reading Bar Codes" (December 1976 BYTE, page 18), readers will tend to read light and dark areas of equal width as being somewhat different. Our reader was no exception, and in fact the amount of bias shifted from one part of the line to

► 5V

t

Jr 500 K

POINT A

H>->^>

TO COMPUTER PORT

74C04

2N5777

Figure 2a: Interface method for computers that accept CMOS logic.

another as the focus changed a bit This caused quite a bit of jitter in the light time to dark time ratios, which are, in theory, what is used to separate 1s from 0s. However, we also observed something that is of considerable use: while the light to dark ratio jittered a lot on our reader, the timing of a full bit (light time plus dark time) was very stable. This suggests an improved software decoding routine in which you can compare the total time (light plus dark) for the current bit with the total time of the previous bit. Since you know if the previous bit is a 1 or 0, you can determine what this next bit is by appropriate comparison. This automatically compensates for the jitter in the light to dark ratio introduced by the reader, and also allows tracking on wands where the time will tend to wander a lot."

+ 5V

V

500 K

<~>

2N5777

- TO COMPUTER PORT

74C04

-O T0 COMPUTER PORT

2N3904

Figure 2b: Two interface methods for computers that accept TTL logic.

October 1978 © BYTE Publications Inc 165

Product description

BAR V

CODES m

Micro-Scan Corp Bar Code Scanner

£~

ADAPTIVE THRESHOLD

~C> COMPATIBLE OUTPUT

VOLTAGE COMPARATOR

PHOTODETECTOR

Figure I: Functional diagram of the BCS-? hand held bar code scanner.

Frederick L Merkowitz Micro-Scan Corp POB 705 Natick MA 01760

The Data-Scan bar code scanner is designed for reading bar codes such as those presented in BYTE. The scanner can read degraded bar codes (such as Xeroxed patterns) as well as black bars on a gray background or gray bars on a white background without adjustments.

Photo J: Micro-Scan Corp bar code scanner. Circular area at left contains aperture for viewing bar codes.

Functionally, the scanner specifications include: a scanning rate of 10 to 40 inches (25.4 to 101 cm) per second, power supply requirements of +12 V at 50 mA, and a transistor-transistor logic (TTL) compatible output in the form of a serial bit stream suitable for application to an input port.

The scanner consists of a light source, a phototransistor and the signal conditioning circuitry shown in figure 1. The light source, an infrared light emitting diode (LED), illuminates the surface of the paper through an aperture slightly smaller than the area of a unit width bar. Viewing this same surface area through the aperture is a phototransistor. The transmitted and reflected light either passes directly through the aperture or travels through a bifurcated fiber optic cable as described in my article, "Signal Processing for Optical Bar Code Scanning," December 1976 BYTE, page 77.

As reflected light impinges on the photo surface of the detector, a light induced current of several hundred nanoamperes flows into the collector. This minute current is amplified, converted to a voltage, and applied to one input of the voltage comparator. Simultaneously, the average of the peak to peak output voltage is applied to the reference input of the comparator. Those voltages in excess of the reference voltage (corresponding to the white areas between the bars) cause the output of the comparator

166

October 1978 © BYTE Publications Inc

to conduct, resulting in a logic zero at the interface input Those voltages below the reference (corresponding to black bars) cause the comparator output to turn off, resulting in a logic one at the interface input. The process of using the average of the peak to peak voltage as the reference input to the comparator is known as adaptive thresholding.

As the line of bar coded data is scanned, a string of 1s and Os is serially applied to the IO interface. At this point the software loader is continually inputting the value of the parallel interface and testing a specific bit for 1s and Os. To optimize the human engineering aspects of the scanner, an LED is turned on every time a bar is detected. Also available, as an option, is a beeper to signal the operator when a line of barcodes is scanned successfully.

I mentioned earlier that the transmitted and reflected light passes either through the aperture directly or first through a fiber optics cable. These variations represent a number of scanner models I have designed and developed for sale. For further information on the bar code scanner write to Micro-Scan Corp, POB 705, Natick MA 01 760."

COMING TO ATLANTA IN

BizCOMP 78

*

October 27-29 Marriott Motor Hotel, Atlanta,Georgia

*

♦Crowds.Ex posure*Sales*

Atlantajhe Computer City Of The South— BizComp'78,The Reason For Being There! Plan TO Exhibits: Reserve Space Now!

BizComp 78 will highlight the relatively smalt budget necessary for the independent business operator to be able to purchase an in-house computer system All facets of the small business computer industry will be on display from the latest innovations in computers to business software and word processing, supplies and services BizComp 78 will also emphasize to the small businessman the simplicity and dependability of microcomputer systems

Plan To Attend:

Daily Seminars!

At the door registration will be $4 00 per day Register now for $2 00 per day Pre-registration offer expires October 20th When ordering your tickets, please make certain to indicate dates you will be attending and number of tickets per day All tickets are color coded All early registrants will receive a special copy of the Expo seminar schedule Tickets will be mailed immediately upon recetpt of your check Please make checks out to Felsburg Associates. Inc

Circle 27 on inquiry card.

For Complete Details Write Or Call Today!

Felsburg Associates, Inc. 12203 Raritan Lane—P.O. Box 735 Bowie, Maryland 20715 (30V 262-0305

Seventeen Years Producing Quality Expositions

P. O. BOX 2528 • ORANGE, CA. 92669 (714) 7741270

BASIC SOFTWARE NORTH STAR TRS-80 APPLI.

NORTH STAR BASIC on diskette, reddy to run. North Star Tutorial I, Tutorial II, Tutorial III (Release 4) teaches North Star Basic, Word Processing. Accts. Payable, Accls. Receivable, Payroll, General Ledger, Medical/Prof. Accts., Rcc. Billing, Inventory, Sales Analysis, Computer Chess, Mailing Labels, Personnel System, MANY MORL AVAILABLE. LACH INDIVIDUAL SYSTLM $35.00

TOTALLY INTLGRATLD SYSTEM (A/R, A/P, GLN. LLDGLR, PAY, LLITLR GENERATOR, BUS. STATISTICS) in Binder Complete Doc. $15000

Checkbook Bal., Budget Planner, Golf Handicappcr, Game Disk, X-RATED Story Generator. MORL AVAILABLL. EACH INDIVIDUAL SYSTEM $25.00

1Q TEST, MLMORY Diagnostic, Pers. finance, Bus. Statistics, Crypto Encoder, Sign Maker, Menu Planner $150.00 EACH

SINGLL or DUAL DRIVE, 8K free Memory Required.

TRS-80 on cassette (Level I). Numerous Games, Examples. STARTREK, WUMPUS, MORE only $3.95 EACH

BASIC TUTORIAL (Learn Baste Programming) $9.95

STOCK MARKET ANALYSIS $9.95

MANY MORE.

APPLE on Cassette, Many Games, Examples, WORLDPOWER, STARTREK, BOWLING, BINGO $5.95 EACH

BASIC TUTORIAL (Learn Basic) $9.95

STOCK MARKET ANALYSIS $9.95

BUDGET PLAN $5.95

APPLE DISK BUSINESS SYSTEMS, A/R, A/P. etc. ONLY $35.00 PER SYSTEM

Order by Phone (714) 774-1270, UPS COD, or Mail Order Today.

Over 1000 Systems Sold, Order Now . SOI TWARE BOOKS

SAME PRICE FOR ALL SYSTEMS

Software

Games • CRAPS (Las Vegas style) $6.00 MULTIPLE LUNAR LANDER $8.00 SLOT MACHINE $6.00 GAME PACKAGE: Russian Roulette, Mad Scientist and ABM $8.00

Graphics • PICTURE MAKER with AMP'L ANNY $12.00 GRAPHICS PACKAGE I: Laser Beam, Space Shuttle, and Blast Off $10.00 GRAPHICS PACKAGE II: Rain in Greece Flea, Textwriter, Random Walk $10.00

Scientific • FOURIER FIT: Does curve fitting $15.00

Systems • RANDOM NUMBER GENERATOR TEST $5.00 HEX MEMORY LOADER $10.00 MEMORY DUMP PROGRAM $10.00 MEMORY SEARCH $5.00

All Programs Written in BASIC

Complete Easy to Read Documentation

Programs Completely Tested

SOFTWARE RECORDS

P.O. BOX 8401-B UNIVERSAL CITY, CA 91608

(cal residents add 6% sales tax)

Circle 3 on inquiry card.

Circle 330 on inquiry card.

October 1978 © BYTE Publications Inc

167

Figure 1: White to play. This example illustrates some of the basic problems of strategy and tactics that must be evaluated by any chess playing computer in a typical position. The computer (White) must evaluate a variety of possibilities: two good first moves for White include 1 R-B7 and 7 BxN ch. 1 R-B7 threatens BxB. Therefore Black must either exchange Bishops or gain time by the counterattack 7.. .B-K4. If 1. , .BxB} White must complete the exchange by playing 2 RxB or 2 BxN ch, and so on. The position is analyzed in detail in the game tree shown in figure 2.

A Computer Chess Tutorial

Norman D Whaland 430 E 9th St, Apt #15 New York NY 10009

On February 20 1977, the Minnesota Open chess tournament was won by a computer program, Northwestern University's Chess 4.5. This was a far better result than any program had previously achieved, considering that all the other entrants in the tournament were human beings. An improved version, Chess 4.6, went on to wrest the world computer chess championship from the Soviet program KAISSA (see "The Second World Computer Chess Championships" by Peter Jennings, January 1978 BYTE, page 108). Professional chessplayers are beginning to worry about the competition from machines. They would seem to have little to fear at the moment, however. The consensus is that Chess 4.5's tactical skill is impressive but its strategy is weak.

Against such competition, what can a personal computer experimenter expect to accomplish? Perhaps a great deal. There have been few new ideas in computer chess since Claude Shannon (see references) outlined the basic principles in a paper published in 1950. (The superiority of Chess 4.6 is due

primarily to faster hardware.) Experimenters can participate in the search for the conceptual breakthroughs that will be needed before computer programs can be a match for the best human players. With that thought in mind, this article deals with the questions: What is a good structure for a chess program? What are the major functions that it must perform? In what directions can we seek innovations?

The Game Tree

To get a notion of what a chess program must do, let's look at a position from an actual game (see figure 1). First we must grasp the important features of the position. White has an extra pawn, a passed pawn far from Black's King. Black's mobility is very limited: neither the Knight nor the Rook can move. Black's Bishop is attacking White's Rook and, indirectly, the Bishop behind it. Of less importance, because of Black's lack of mobility, is the fact that two of White's pawns are unguarded. White's task is to save

GLOSSARY

Analysis: the calculation of variations in order to assess a position or find the best move.

Backward pawn: a pawn that Sags behind the pawns on the adjoining files. When the opponent has no pawn on the file, a backward pawn is usually a serious weakness.

Development: the process of initially moving the pieces from their original squares.

Diagonal: a diagonal row of squares on the chessboard.

File: a vertical row of squares on the chessboard.

Material: the chess pieces considered as assets. A pawn is traditionally considered to have a material value of one unit. Programs often use smaller units to avoid using fractions for positional advantages.

Minor piece: a Knight or a Bishop.

Passed pawn: a pawn not hindered by enemy pawns on its file or on adjoining files.

P iece: a ch ess p i e ce o th e r t h a n a pawn.

Positional advantage: any advantage other than an advantage in material.

Rank: a horizontal row of squares.

Strategy: that aspect of chess concerned with long-range planning.

Tactics: that aspect of chess concerned with move-by-move changes in the position. Tactics include the methods for winning material and advancing strategic plans.

Variation: a sequence of moves considered as one of several from a given starting position.

HHHHMH HnSMMRI HHRHH HHHHHI HHhnmHhk

168

October 1978 © BYTE Publications tnc

BLACK

WHITE

his Rook and to profit from Black's lack of mobility. White should win if he can find satisfactory solutions to these problems. Next we calculate variations — sequences of moves that we would visualize in an actual game before deciding on a move to play. We will follow a systematic procedure that will serve as a first approximation to a computer program. We construct a tree whose nodes represent positions and whose edges represent moves. The variations are the paths from the root to the leaves. Initially, the tree will consist of one node representing the given position. We expand the tree as follows:

Expansion — Choose a leaf that has not been marked as final. (If one cannot be found, the expansion phase is ended.) Either mark it as final or select a set of legal moves in the position represented by the node. To the leaf attach sons representing the positions reached by the moves. Repeat from the beginning.

This procedure might yield the tree shown in figure 2. The size of the tree has been limited somewhat for illustrative purposes. Some of the variations I considered and rejected are not included. Most programs generate much larger trees since it is hard to build into a program the chess knowledge needed for rigorous selection of moves. The length of paths in the tree is expressed in plies (half-moves). A move consists of a play by one player and a response by the other; a ply is a move by one player alone. Because the term move can be confusing (the chess literature speaks of looking three moves ahead for example, but are two or three moves by the opponent meant to be included?), in discussions of chess program

ming one speaks more precisely of a 5 or 6 ply look ahead.

In the expansion procedure, no rule was given for deciding whether to expand a node or for selecting the moves. To gain insight into the way human players make these choices, let us consider the variation that runs down the right side of the tree. In the initial position, Black threatens . . . BxR. White can either make a counterthreat or move his Rook to guard the Bishop. Thus the possible moves include 1 BxN ch,

1 R-B7, and 1 R-R5. I rejected the last alternative because the Rook would have less mobility on R5 and it seemed unimportant to keep it on the fifth rank. 1 R-B7 threatens BxB and moving the Bishop to another diagonal allows B-K3, attacking Black's Rook. Therefore, Black must either exchange bishops or gain time by the counterattack 1 . . . B-K4. If 1 . . . BxB, White must complete the exchange by playing 2 RxB or

2 BxN ch. The latter move was omitted because the reply 2 . . , RxB leads to the position at node 13 (see figure 2), already seen to be unsatisfactory for White. After 2 RxB White threatens R-R6 followed by the exchange of all the pieces and the triumphant advance of the Queen's Rook pawn (QRP). Black must play 2 . . . K-N1 or 2 . , . K-R1. The square closer to the center was chosen on general principles.

Ply o

Ply I

Figure 2: A game tree developed from the position in figure 7. Each node represents a position; the root, the initial position. The move leading to the position is written in the top of the box, the evaluation of the position in the bottom. The number above the box identifies the node. A node's ply number is its distance from the root.

Ply 2

Ply 3

Ply 4

Ply 5

Ply 6

Ply 7

Ply 8

2

15^

I BxNch + I.4

1 R- B7 + 1.8

3

6

16 y,

9s

I- ■ ■

+ l

Kx 4

B

1

Rx 2.4

B

1 ■ • -B-K4 + 2.0

1 ■■ B x B + 1.8

4

7 s

2N

17

20

2R+ I

36

4

ch

2RxPch + 2 4

2R-B7 + 0.6

2R-B6 + 20

2 R x B + 1.8

5

8

13

18

21

2 ■ ■ + l

B

4

B3

2- • K-NI + 2.4

2 ■ BxB + 0.6

2- -B-B5 + 2.0

2 ■ K-NI

+ 1.8

9

14

22

s

/

23^

3 BxB

+ 2.4

3 RxB + 0.6

3

R-N7 H.6

3 R-R6 + 1.8

IO

24

3- ■ -R-Q3 + 2.4

3-■-N-K2

+ 1.8

II

25

4 R-R4 + 2.4

4 RxR + 1.8

26

4 -PxR + 1.8

October 1978 ©BYTE Publications Inc 169

Circle 174 on inquiry card.

ATTENTION COMMODORE PET* OWNERS

m s I00 MM

ELECTRONICS

(MEMORY -t PERIPHERALS ADAPTER)

(FORMERLY THE PETS 10

AN S-100 BUS ADAPTER FOR THE COMMODORE PET*

• PLUGS INTO ANY S-100 BUS MAINFRAME

> CONNECTS TO PET VIA RIBBON CABLE (PROVIDED)

> FULL S-100 BUS EMULATION

• USE DMA DEVICES LIKE CROMEMCO DAZZLER™ i EXPAND THE PETS MEMORY & I/O I MEETS PROPOSED IEEE S-100 BUS SPECS - EASY TO ASSEMBLE-SOLDER MASK, LEGEND & SOCKETS » $199.95 KIT, $279.95 ASSM. & TESTED + 5.00 SHIPPING.

The S-100 MPA was the FIRST and is still the BEST S-100 Bus Adapter on the market This well thought out board actually meets the proposed IEEE specifications for the S-100 Bus which insures compatabtlity for the widest range of S-100 Bus peripherals Now you can easily expand your PET's memory and I/O capabilities. THE S-100 MPA CAN ALSO BE A STAND ALONE 6502 CPU BOARD FOR THE S-100 BUS

With the addition of a 6502 chip and a few other components, the S-100 MPA becomes a stand-alone CPU board tor the S-100 only one to offer such complete compatability. Just order the Stand-Atone Option Kit for an additional $49.95.

OTHER HUH ELECTRONICS ACCESSORIES FOR YOUR COMMODORE PET*

The BEEPER— Automatically beeps when cassette LOADS and SAVES are completed. Also can beep under

program control. Just $24.95 + 2.00 shipping. Fully assembled and tested. The PETUNIA— Music Board that is actually an 8-bit DAC. Our software makes it play up to four notes at once.

Software included. External amp and speaker required. Just $29,95 + 2.00 shipping and

handling. Fully assembled and tested.

Allows use of a standard monitor or TV with the PET. Great for classroom or remote viewing.

Designed so that M&R Enterprises SUR'R'MOD II plugs right on allowing use of Standard TV's.

Just $29.95 + 2.00 shipping and handling. With SUPR'MOD II for standard TV's—$59.95 +

2.00 shipping and handling. Assembled and tested. The COMBO— A Petunia and a Video Buffer all on one board. You save $10.00!! $49.95 + 2.00 shipping and

handling—with SUPR'MOD II—$79.95 + 2.00 shipping and handling.

ALL HUH ELECTRONICS PRODUCTS ARE AVAILABLE FROM STOCK FROM LEADING COMPUTER STORES OR FACTORY DIRECT CALL OR WRITE FOR MORE INFORMATION.

The VIDEOBUFFER

Hum

: ELECTRONICS

1429 MAPLE STREET SAN MATEO, CA 94402 (415) 573-7359

COMING SOON: TRS-80 to S-100 Bus Adapter!!! See us at the 3rd. West Coast Computer Faire, LA —Bootti #311 DEALER INQUIRIES INVITED

■PET IS A TRADEMARK OF COMMODORE BUSINESS MACHINES

TRS-80 USERS;

Benefit from the ever growing body of system particular

information contained in each issue of SoftSideT-Mthe first magazine written for the TRS-80 microcomputer.

• TRS-80 Hotline

• BASIC Tutorials

• Software Exchange

• New Products

• Business Ventures

• Gossip

•Software Games Education Business Household Applications

And Much More

PREPUBLICATION OFFER

Order now and receive the first 12 months of SoftSide™ for $10.00 (re. subscription price, $15.00). To order, write: SoftSide™ POBox68 Milford, NH 03055

Free of threats at last, White can move in pursuit of his goals. White could play 3 R-N7, preparing to position his Rook behind the passed pawn; 3 K-Q2, bringing his King toward the center; 3 P-R5, advancing the passed pawn; or 3 R-R6, to force the exchange of Rooks. Somewhat arbitrarily, I included in the tree only the two moves that seemed best. 3 R-R6 forces the Knight to move. Obviously it should approach the passed pawn, but it is not immediately clear which square is best. After 3 ... N-K2 4 RxR PxR the assessment is clear: having two passed pawns in a minorpiece ending, White should win easily. There is no need to consider other Knight moves, because the effect on the evaluation of the position would be too small to affect White's choice of move in the initial position.

From this brief discussion we can see some of the factors that determine the selection of moves. When there is a definite threat, it is necessary either to answer the threat directly or to make a counterthreat. Otherwise you must decide which goals are most important and choose the moves that best advance these goals. When two moves have similar effects, not much is learned by including both in the tree, particularly at a deep level.

We can also see some of the reasons for terminating a node (that is, choosing not to expand it). In this example, a node is terminated when the position can be evaluated sufficiently well or when the previous move was not forcing and the side to move has no forcing move that accomplishes anything. At node 14, for example, it is already clear that White doesn't have a won position, and it follows that one of his moves must have been a mistake. Thus we can evaluate the position sufficiently well (but not accurately: further analysis would lower the estimated evaluation given in the figure). At node 5 White has the forcing move 3 B-K3, but after 3 . . . R-R1 his position hasn't improved. We consider these moves but don't add them to the tree, because the resulting position is merely compared with the position at node 5, not evaluated.

Once the tree is complete, the next step is to evaluate the terminal positions:

Evaluation — Label each leaf with the value of the position from the point of view of the player whose turn it is to move in the initial position. Positive values mean the player has the advantage; negative values mean the player's opponent does. A value of ±1 means an advantage

170

October 1978 ©BYTE Publications Inc

Circle 326 on inquiry card.

barely enough to win; a value of ±2 means an easy win (see figure 2).

In the present example, material, mobility and pawn structure were the most important factors in making the evaluation. In a middle game position, King safety would also be taken into consideration.

The final step is a completely mechanical procedure called the minimax algorithm, which is guaranteed to choose the best move provided the evaluations are accurate and that the best move at each node is included in the tree.

Backup — Select an unevaluated node, all of whose sons have been evaluated. If the node is at even ply, label it with the maximum of the sons' values; at odd ply, choose the minimum. Repeat from the beginning until all of the nodes have been evaluated. Then choose the move leading to the ply-1 node with the greatest value.

This method of assigning evaluations to nonterminal nodes is based on the assumption that each player always makes the best move. The minimax algorithm will not always choose the move that affords the best winning chances against a weak opponent.

Our 3 part procedure for generating a game tree is somewhat unnatural. For one thing, a person analyzing a position would return to the expansion phase if the moves originally selected didn't work out as well as expected. Also, the evaluation phase reflects the human assessment process poorly. No provision is made for recording degree of confidence in the evaluation. Human players make relatively coarse absolute evaluations: they judge which of two similar positions is better, but do not attempt to assign slightly different values to them.

In chess programs, expansion, evaluation and backup are carried out simultaneously. One reason is that time can be saved by using backed-up values to demonstrate that some nodes need not be expanded at all. For example, the variation 1 BxN ch RxB 2 RxP ch gives White a great advantage; we say that 2 RxP ch refutes 1 . . . RxB. Once one refutation is found, it is pointless to look for another: 2 R-B7 need not be considered if not considered already. What does this mean in terms of the minimax algorithm? Once node 3 has been assigned the value +1.4, we know that the value of the minimizing node 2 will not be any greater. Similarly, once node 7 has the value +2.4, we know that the value of the maximizing node 6 will not be any less. Therefore the minimax algorithm will not choose the value of node 6, and it

moo mi

Circle 1 /y on inquiry cara.

woo

IlllUlCllli

MC * mfiinPRAfflE woo

NOT A KIT

8v(« 15A, ± 16v<a3A power

Rack mountable ,r^0.

15 slot motherboard \j|§

Card cage

Fan, line cord, tuse,

switch, EMI filter

Desk top version option

8v(«30A, ±16v<M0A option

voltage monitor option

100 pin connectors optional

del From

From S235

Write or call for a copy of our

detailed brochure which includes

our application note

BUILDING CHEAP COMPUTERS.

INrEGR4ND

8474 Ave 296 • Visalia. CA 9327 7 • (209) 733 9288 We accept BankAmencard/Visa and Master Charge

BUSINESS APPUl CAT| ON SOFTWARE

*. ACCOUNTS . RECEIVABLE *. PAYABLE

F ile Maintenance Sale & Cash Journals Customer Lists Mailing Labels Aged Trial Balance Monthly Statements Transaction Listings Customer Inquiry

File Maintenance Purchases Journals Vendor Lists Mailing Labels Payables Ageing Automatic Checks Check Register Vendor Inquiry

BUSINESS APPLICATION SOFTWARE

Division of ELP Development Co., Inc. 16755 Littlefieid Lane, Los Gatos, CA 95030

ITEM A/R A/P Both

General Information $ 3.00 □ $ 3.00 □ $ 5.00 □ System Manual 7.00 □ 6.00 Q 11.00 D

Program Listings 58.00 D 51.00 Q 93.00 D

Programs on Disk* 89.00D 81.00D 140.00Q

*CP/M™ ; CBASIC™ Source & Object Code Single Density Q Dual Density □

Name

Address. / ^Citv

.State.

-Zip.

1

Circle 29 on inquiry card.

October 1978 © BYTE Publications Inc

171

( ENTRY J

i—0

ElO) — "-»"

P—MOVE (P,M)

J

1

L(i)^LISTtP)

!L

<^E(i) =

■ +JX. NO

Xl_(i)

=nN>YES

? yS

* v^

|YES

Tno

Ed)—VALUE (P)

(M(i).L(i)) — FETCH(L(i)) P — MOVE (P,M(i)) i — i + 1

'

lm

YES ^^ .

0 ^S

P—-MOVE (P,M)

NO

perform BACKUP

r

Lfl

U

P — RESTOREtP, Mti))

Figure 3: A routine to choose a move. A ply table (so called because it is indexed by the ply number, i) is used to choose moves. (A ply is a move on the part of one player; two plies equal one chess move.) The entries in the ply table correspond to nodes in the game tree (see figure 2). Each entry contains three fields: L(i), a pointer to the list of moves selected at each node; M(i)} the move currently being processed; and E(i), the evaluation. Most of the subroutines are written as functions in order to show which data areas they use and affect. Only those data areas that play a central role are indicated. 00 refers to a number which is larger than any returned by subroutine VALUE. Its additive inverse, —«» Is used as the initial value of E(0).

can be eliminated from the tree without expanding node 12. Although in this example only one branch can be eliminated in this way, it is an important method for limiting the size of the "bushier" trees generated by chess programs.

We have seen that there are three major aspects of chess reasoning that need to be analyzed to create a chess program: selection, termination and evaluation. The handling of these functions by existing programs is only a crude approximation to the human reasoning process. It has proven particularly difficult to limit the number of moves considered at each node without inadvertently eliminating the best move. Consequently, Chess 4.6 uses no selection or termination at a depth of less than six plies, and generates trees with hundreds of thousands of nodes. Even those programs that exercise some selection generate, in most cases, trees too large to store in programmable memory. Fortunately our procedure

can be reformulated so as to require only a small part of the tree to be retained in memory at any time.

The Depth-First Minimax Procedure

A tree can be traversed systematically by the following procedure:

Start at the root - At each step, move to the leftmost unmarked son and mark it. If there is no unmarked son, move to the father. If there is no father, stop. (The terms son, father and brother are analogous to those in a family tree.)

The depth-first minimax procedure traverses the game tree in this way, simultaneously doing the expansion, evaluation and backup. Storage is required only for one path from root to leaf and for the brothers of the nodes on the path.

Figure 3 shows one way to organize the procedure. The processing is centered on the ply table, so named because it is indexed by the ply number i. The entries in the ply table correspond to nodes in the game tree. Each entry contains three fields: L(i), a pointer to the list of moves selected at the node; M(i), the move currently being processed; and E(i), the evaluation. The data area P contains the board position. As the tree is traversed, P is modified to show the position at the current node. At the start of the routine, the position is as it was presented to the opponent. The routine applies the move in location M to the position, chooses its move, stores it in M, and applies it to the position.

The subroutines named in figure 3 are discussed briefly here and in greater detail in the following sections. MOVE applies a move to the board representation P. It may also update auxiliary information describing the position. RESTORE simply reverses the changes made by MOVE. LIST generates the list of selected moves and places a pointer to the list in L(i). If the list is empty, L(i) is set equal to zero. FETCH moves the first move on the list to M(i) and advances the pointer L(i) to the next move. VALUE places the evaluation of a terminal position in E(i). BACKUP moves the evaluations E(i) up the table in accordance with the minimax rules.

Programs that generate a large tree generally use a depth-first search and have an overall structure similar to that shown in figure 3. The inflexibility of the depth-first search is a significant disadvantage, though. For example, suppose that shallow analysis of the first ply-1 move casts doubt on its

172 October T978 © BYTE Publications Inc

( ENTRY J

i —

i

i-l

s^NO

NO^

L(i) 0

( |R )

YES

M—M (0)

( tm )

value. Time might be saved by proceeding at once to the other moves and returning to the first move only if they seem no better. But in a depth-first search, the decision to terminate a variation cannot be changed on the basis of later information. Consequently, programs that generate small trees usually maintain the entire tree in programmable memory. Then it is possible to skip around in the tree, expanding those nodes that look most promising. Although such programs aren't structured like depth-first programs, they perform many of the same functions, and so the following discussion of the subroutines partially applies to them.

The BACKUP Routine

The movement of values up the tree is controlled by BACKUP, which also prunes

refuted nodes. The procedure is shown in detail in figure 4. The minimax part of the procedure manipulates the fields E(i), which can contain initial values, provisional values, and final values. The initial values are —oo for even ply and +oo for odd ply, where oo is a number larger than any returned by VALUE. E(i) is always set to the initial value when the table entry is not being used. The values produced by VALUE are final values. Whenever a final value E(i) appears in the ply table, BACKUP compares it with the value E(i—1). E(i) replaces E(i—1) if i is even and E(i—1) is greater than E(i) or if i is odd and E(i—1) is less than E(i). E(i—1) then contains a provisional value. A provisional value becomes final when the move list at its ply becomes empty. Whenever E(1) replaces E(0), M(0) is saved in M. As a result, M ultimately contains the first move in the list L(0) that produces a maximum final value in E(1).

The Alpha-Beta Algorithm

The elimination of refuted moves from the tree is accomplished by a procedure called the alpha-beta algorithm. [The alphabeta algorithm is discussed in Slagie and

Figure 4: The BACKUP routine. The lefthand side of the flowchart depicts the minimax algorithm, a method which is guaranteed to choose the best move provided that the evaluations of the nodes in the game tree are accurate and that the best move at each node is included in the tree. The right side of the flowchart illustrates the alpha-beta algorithm, used to

"prune" refuted nodes — that is, nodes which are known to represent inferior positions. Trimming the tree in this way reduces the amount of information that must be stored in memory and speeds up the evaluation process (see text).

October 1978 © BYTE Publications Inc

173

Circle 381 on inquiry card.

NewUVS-llE EPROM Erasing System

Performance and Reliability at an affordable price!

Now available,.. the newest member of UVPs growing family of quality EPROM Erasing Lamps. The UVS-1 IE Short Wave UV Lamp was designed specifically for the small systems user and computer hobbyist. It's compact, easy-to-use, and will erase up to 4 chips at one time. It even features a special safety interlock system for complete safety.

This is the first UV erasing system to offer simple operation and foolproof safety features at an affordable price. Like all UVP products, the UVS-11E is quality-built and backed by 45 years of UV technology.

Order now from your local authorized UVP stocking dealer. Or write today for more information and name of nearest dealer.

ULTRA-VIOLET PRODUCTS .INC.

5100 Walnut Grove Avenue, San Gabriel, CA 91778 U.S.A.

w

a tins

a

RELIABILITY

QUALITY

DEPENDABILITY

ADDRESSING

PROTECT

BUFFERING

LOW POWER

WAIT STATES

QUALITY

GUARANTEE

DELIVERY

PHANTOM

TESTING

8K STATIC RAM ASSEMBLED S-100

MEMORY DISABLE IS IMPLEMENTED VIA PHANTOM (PIN 67)

SPECIAL

INTRODUCTORY

PRICE

ASSEMBLED/TESTED

(714)992-5540 2555 E. CHAPMAN AVE. SUITE 604 FULLERTON, CA 92631

450 ns 250 ns

$14925 $18915

CALIFORNIA RESIDENTS ADD 6% TAX

/DIGITAL/ -TL

Dixon's paper (see reference 6). . . .CM/ To get a clear understanding of the alpha-beta algorithm, let's view the minimax procedure as a contest to determine which leafs evaluation will reach the root. The provisional evaluations in the ply table are obstacles to the progress of an evaluation up the tree. Maximizing nodes stop evaluations that are too small; minimizing nodes stop those that are too large. Suppose that i is odd and that a new evaluation has just been backed up into E(i). Because E(i) is now smaller, it may not be able to get past the provisional values in maximizing nodes higher in the tree. To find out, the alpha-beta algorithm searches at even ply for an evaluation greater than or equal to E(i). If one is found, the level-! node is terminated by setting L(i) to zero. The procedure is similar when i is even. The termination of a node by the alpha-beta algorithm is called an alpha-beta cutoff or just a cutoff.

The LIST Routine

The decisions that determine the size and shape of the game tree are made by LIST. It has three main functions: termination of nodes, selection of moves and the sorting of the list of moves. If the program is to play under a time limit, LIST must also monitor the elapsed time and modify its decisions accordingly. Existing programs handle these functions in widely differing ways. Their selection and termination procedures range from trivial to complex. It's discouraging that the trivial methods have so far yielded the best results, for surely a sophisticated LIST routine will be needed for first-rate chess.

Most chess programs condition termination primarily on depth and the availability of certain types of forcing moves. The simplest method would be to terminate always at some fixed depth. Then VALUE would have to give special handling to positions with an exchange in progress, lest material be reckoned incorrectly. Consequently, many programs use two depth limits. Beyond the first limit are selected only certain forcing moves, typically checks and captures. Termination occurs, of course, when there are none. At the second depth limit termination always occurs.

Other criteria for termination have been tried. The Ostrich program (developed on a Data General Supernova minicomputer at McGill University in Montreal, Canada) terminates variations in which material is sacrificed and not recovered within three plies. Several people have suggested that termination should occur only if the position can be accurately evaluated. The

174

October 1978 © BYTE Publications Inc

Circle 294 on inquiry card.

Newell-Shaw-Simon program used this philosophy. When the entire tree is maintained in programmable memory, termination decisions as such need not be made at all. For example, the program COKO expands those nodes that promise the greatest yield of information, no leaf being permanently excluded from consideration.

For selection and sorting, LIST might assign to each legal move a plausibility rating designed to indicate the probability that the move will prove best. Many programs don't explicitly assign a rating; nevertheless, it is convenient to imagine that their decisions are based on an implicit rating. Selection and sorting can then be done as follows: select all moves with ratings greater than some threshold. If too few moves are selected, add highest-rated moves to make up the minimum number. (The threshold and number of moves might depend on depth.) Sort the selected moves by rating.

For sorting, the requirements on the rating procedure are not stringent. It suffices that moves good enough to cause cutoffs often appear early in the list. Occasional inaccurate ratings will merely increase the processing time, not cause a blunder. The number of cutoffs can be markedly increased by simply assigning high ratings to a few easily defined categories of moves: captures, checks, moves by attacked pieces, etc. Another simple rating method is to assign a high rating to moves that have proven to be good in other parts of the tree. For example, the "killer" heuristic assigns to a refutation found at one node a high rating at its brother nodes. This heuristic works well in positions containing threats, because all moves that ignore the threat can be refuted by the same reply.

For selection, the plausibility rating must be more accurate. A best move markedly better than the second best move must only rarely receive a rating tow enough to cause its rejection. Simple criteria that are adequate for sorting are bound to fail. The rating must be based on all of the move's important effects, which can in turn be determined only by elaborately tracing the relationships of the pieces. For this reason, programs that use selection generally maintain a tactical description of the position. In the program we are considering, it is the responsibility of the MOVE routine to keep such information current.

The VALUE Routine

The evaluation is usually computed as a sum of numerical scores, each representing one aspect of the position. Chess programmers tend to include only those aspects that

Circle 95 on inquiry card.

CP/M™

LOW-COST

MICROCOMPUTER

SOFTWARE

CP/M™ OPERATING SYSTEM:

• Includes Editor, Assembler, Debugger and Utilities.

• For 8080, Z80, or Intel MDS.

• For IBM-compatible floppy discs.

• S100-Diskette and Documentation.

• S25-Documentation (Set of 6 manuals) only.

MAC™ MACRO ASSEMBLER:

• Compatible with new Intel macro standard.

• Complete guide to macro applications.

• $90-Diskette and Manual.

SID™ SYMBOLIC DEBUGGER:

• Symbolic memory reference.

• Built-in assembler/disassembler.

• S75-Diskette and Manual.

TEX™ TEXT FORMATTER:

• Powerful text formatting capabilities.

• Text prepared using CP/M Editor.

• $75 Diskette and Manual.

d DJGJTflt RESEARCH

P.O. Box 579 • Pacific Grove, California 93950 (408) 643-3896

The SS I Microcomputer Software Guide

Thousands of programs available on disk, cassette, paper tape; in books, listings, and magazines, complete with source addresses. If you have access to a microcomput er the S S I Guide is a must'

$7.95 postpaid U.S

A Companion to Uiterwyk's Interpreters by Dave Gardner

Over 70 memory addresses mapped in MSI and SWTPC 6800 Basics, plus 30 custom assembled alterations. Included is an implied GOTO routine, FOR-NEXTTHEN loops plus much more. Learn about Basic not in theory, but by application.

$9.95 postpaid U.S.

SSI

4327 East Grove Street / Phoenix, Arizona 85040 ENCLOSE CHECK OR MONEY ORDER FOREIGN ORDERS ADD $ 2.00 PER ITEM POSTAGE PAYABLE IN U.S. FUNDS

Distributed to dealers by MICROMEDIA MARKETING

Circle 317 on inquiry card.

October 1978 ('"j BYTE Publications Inc

175

NOW!

LOW PRICED EIA RS-232

CABLES IN STANDARD

LENGTHS

IDS now supplies quality cables with male to male, male to female, or female to female connectors in 5, 10, 15, 20, 25, 30, 40 & 50 foot lengths. No minimum

Seven Wellington Rd., Lincoln, R.I. 02865 Tel: (401) 333-6200 TWX: 710-381-0285 Export: EMEC, Box 1285, Hallandale, Florida 33009

order necessary. Just I phone or mail in your I orders. Special cable

configurations also ; available, Immediate

delivery from stock.

ON GSA SCHEDULE

INTERNATIONAL DATA

SCIENCES, INC.

kip j % w

OU DION T KNOW!

OAE'S new PP-2708/16

PROM Programmer is the only programmer with all these features:

Converts a PROM memory socket to a table top programmer: No complex interfacing to wire —just plug it into a 2708 memory socket* A short subroutine sends data over the address lines to program the PROM Programs 2 PROMS for less than the cost of a personality module. (2708s and TMS 2716s)

Connect 2 or more in parallel — super for production programming

Complete with DC to DC switching invertor and 10

turn cermet trimmers (for precision pulse width and amplitude alignment)

• All packaged in a handsome aluminum case

PP-2708/16 . .A & T $295.

PP-2716 (Programs Intel's 2716) A & T $295.

OAE

Oliver Advanced Engineering, Inc.

676 West Wilson Avenue

Glendale. Calif. 91203

(213) 240-0080

are easiest to program. Unfortunately they are not always the most important ones. The traditional chess literature is more explicit about evaluation than about selection and termination. The books in the bibliography are particularly helpful.

The evaluation of a position depends mainly on material, mobility and vulnerability. The calculation of material is straightforward, although experts disagree about the exact values of the men. Chess 4.6 uses the values: P=100, N=325, B=350, R=500 and Q=900. Like most programs, it adjusts the material score to encourage the exchange of pieces when ahead in material. The values of the pieces vary with the strategic character of the position: Rooks are better when the opponent has weak pawns, Knights are better in blocked positions, and so on. Such considerations are important, but I know of no program that takes them into account.

The assessment of mobility is more difficult. Counting the legal moves of each man is easy but inadequate. It is necessary also to take into account the exclusion of men from squares controlled by the opponent and the immobilization of men by defensive functions, such as the shielding or guarding of a man or important square. Detecting these factors is complicated and may involve tracing the relationships between several men.

Under vulnerability we have to consider unguarded pieces, the safety of the King, weaknesses in the pawn structure and pieces exposed to attack by less valuable men. Pawn weaknesses are easy to detect, and most programs take them into account. Measuring danger to the King is more complicated, but it is easy to detect some of the relevant features, such as disturbances of the King's pawn cover or the absence of friendly minor pieces nearby. Detecting unguarded and exposed pieces seems to be relatively simple, but oddly it is often neglected.

The MOVE Routine

Because of the rapid expansion of the game tree with depth, most of the processing time is spent in selecting and evaluating the terminal positions. It is therefore desirable for MOVE to maintain, along with the current position, information helpful to the LIST and VALUE routines. For example, it is more efficient for MOVE to keep track of changes in the material score than for VALUE to scan the board to do the same thing. Also, some programs maintain lists of the locations of each side's men to facilitate the generation of moves.

We have seen that sophisticated LIST

176

October 1978 © BYTE Publications Inc

Circle 293 on inquiry card.

Circle 78 on inquiry card.

and VALUE routines would have to detect relationships between the men. Since each move changes only some of the relationships, it is more efficient to compute them in MOVE than to compute them all from scratch in LIST and VALUE. In general, the features needed for selection are the same as those needed for evaluation. For example, a backward pawn affects the evaluation and also suggests moves for both sides. The possessor of the pawn will try to advance it or protect it, while his opponent will try to prevent its advance and win it. Likewise any advantage suggests moves to maintain and exploit it; any disadvantage, moves to eliminate or mitigate it.

Levels of Skill

The United States Chess Federation rates its members at eight levels of skill based on performance in tournaments. In descending order they are Senior Master, Master, Expert and Classes A through E. From time to time computer programs have played in rated tournaments. Until recently their performance has been in the Class C or Class D range. Against this background the strong showing of Chess 4.5 startled everyone. At the conclusion of the Minnesota Open its rating had risen to Expert. It is still too early to assess its true strength, however. Although it is strong tactically, its grasp of strategy is well below the Expert level. The weak showing of Class A players against Chess 4.5 was caused largely by their unfortunate tendency to get into tactically complex positions, thereby playing into the computer's strength. The program may not be so successful once people learn how to play against it.

The sudden improvement in Chess 4.5 coincided with its transfer to a faster machine, enabling it to search two plies deeper in most positions. This supports the belief that chess skill depends mainly on the number of moves one can see ahead. It's difficult to give a precise equivalence between depth of search and level of skill, though. The following rule of thumb is, I think, close enough to the truth to give some idea of the design requirements for strong programs. Let a search depth of four plies correspond to Class C, and assume that each additional two plies yields an increase of one level of skill. Thus, play at the Expert level would require a 10 ply search.

The Exponential Explosion

The depth of search is limited by the increase in the size of the game tree with depth. Suppose that B moves are selected

CPflida CPflids CPflids CPflids

THE PROGRAMS FOR

PROFESSIONALS!

Microcomputer software developed by a CPA with an M.S. in Accounting Orders being accepted now for:

TM PROGRAM; includes federal and *tare,

used successfully this past tax season on hundreds of returns

PAYROLL PROGRAM:

includes federal, state and city withholdings — prepares payroll register —even prints the checks!

includes inventory, accounts receivable,

6ENERAL LEDGER PROGRAM:

accounts payable, budget report, mailing labels and financial statements, trial balance and general journal listing.

Runs in 16 K memory-North Star basic. Also available for Cromemco Systems Three and Vector M/Z-Micropolus.

Call or write

CPflids

today for

about these programs and our many others that are available. We will even custom program for your individual needs. Let us show you how to increase the efficiency and volume of your business or practice.

CALL: [216] 678-9015

Located at 1640 Franklin Ave., Kent, Ohio 44240

(in the Trans-Ohio Building) A division of COMPUTES TAX SERVICE

DEALER INQUIRIES WELCOME

~

ft*

I

>«flbi

16KRAM

FULLY STATIC

kit $350

10 SLOT MAINFRAME

TT-10 KIT $325

1 0 SLOT TABLE TOP

MICROCOMPUTERS

TT-8080 KIT $440

SYSTEM WITH 1 6K & I/O

TT-8080-S KIT $1050

CARD CAGE &

MOTHER BOARD

ECT-100 KIT $100

CCMB-10 KIT $75

WITH CONNECTORS

& GUIDES

ECT-100-F KIT $200

CCMB-10-F , KIT $125

CPUS. MEMORY

MOTHER BOARDS

PROTOTYPING BOARDS

EXTENDER CARDS

POWER SUPPLIES

SHIPPING EXTRA DEALER INQUIRIES INVITED

ELECTRONIC CONTROL TECHNOLOGY

FACTORY ADDRESS 763 RAMSEY AVENUE HILLSIDE, N. J 07205

MAILING ADDRESS:

P. O. BOX 6

UNION. N. J 07083

1

I I I I I I I I I

(201) 686-8080

Circle 120 on inquiry card.

October 1978 © BYTE Publications Inc 177

Search Depth

Number of Terminal Nodes

2

59

3

929

4

1,800

5

27,900

6

54,000

7

837,000

Table I: Tree size as a function of search depth (D)} assuming exhaustive search and the maximum possible number of alpha-beta cutoffs. The branching factor (B) is assumed to be 30, The number of terminal nodes is 2B°i2-l when D is even and B(D+7^2 +B (°~ 1>l2-1 when D is odd

strong chess a microcomputer will have to use selection. The question is: how much?

To derive a relationship between the branching factor and the depth of search, we have to make some assumptions. Let us assume that we must limit the size of the tree to 10,000 leaves, and that the alphabeta algorithm reduces the effective branching factor from B to B2/3. Then table 2 gives the desired relationship. Although much guesswork went into this table, it seems safe to conclude that an Expertlevel program must be very fast or very selective.

The TECH Program

at each node. This number is called the branching factor or fanout. If D represents the depth of search, the tree has BD leaves; the tree grows exponentially with depth. A typical position might have 30 legal moves, and if no selection is exercised, the tree will have 27,000 leaves at a depth of three plies. This is probably already too large a tree to examine with a microcomputer in a reasonable time. We have not, however, yet taken alpha-beta pruning into consideration.

The effectiveness of the alpha-beta algorithm depends on how well the move list is sorted. The greatest possible reduction in tree size is achieved when the best move is always first on the list. Table 1 shows the tree size under this condition, assuming a branching factor of 30. Clearly, exhaustive search beyond six plies is impossible for a small computer. To play

Branching

Depth of

Tactical

Factor

Search

Skill

31.6

4

Class C

15.8

5

10.0

6

Class B

7.2

7

5.6

8

Class A

4.6

9

4.0

10

Expert

3.5

11

3.2

12

Master

2.9

13

2.7

14

2.5

15

Table 2: Depth of search (D) and tactical skill as a function of the branching factor (B). It is assumed that the alpha-beta algorithm reduces the effective branching factor to B2!3 and that 10,000 terminal nodes can be processed. These assumptions yield the formula B=I06ID

How simple can a program be and still play reasonable chess? The TECH program was developed in order to answer that question. It would be a good model to follow if you want to have a running program in the shortest possible time. Despite its simplicity, or perhaps because of it, TECH placed higher in computer chess tournaments than some of the more complicated programs. It is good enough to defeat only inexperienced human players, but that is true of most programs. For the newcomer to chess programming, the design of a TECH type program would be a good way to gain experience.

TECH considers all moves to a fixed depth, beyond which it considers only captures. The evaluation of terminal positions is based only on material. Hence there is no need for a VALUE routine; the evaluation is computed on the run whenever captures occur. When the program has an advantage of two pawns or more, it reduces the value of its own pieces slightly so that exchanges are favored. TECH sorts moves for two purposes: to increase the frequency of alpha-beta cutoffs, and to bring factors other than material to bear on the choice of a move. At ply 2 and lower, captures are considered first and the killer heuristic is used. The positions at ply 1 are assigned a rating that includes such factors as the number of legal moves, the advancement of the center pawns, and the proximity of the pieces to the center, to the enemy King, and to passed pawns. The program expands the ply-1 nodes in descending order of the rating, which thus breaks ties in the backedup evaluation.

Because TECH does very little processing at each node, it is able to generate a relatively large tree. Cutoffs are frequent; basing the evaluation only on material ensures that the alpha-beta comparison will often give an equal result. The ply 1 rating procedure could be made more elaborate

178

October 1978 ©BYTE Publications Inc

without slowing down the program noticeably. It would be interesting to see how much the program's play could be improved in this way.

New Directions

Chess programming is still a young field. There are many ideas that have never been tried or never been developed sufficiently to determine their value. Experimentation by computer enthusiasts could play a major role in developing the innovations that will be needed for a Master-level chess program. Some of the less successful chess programs use ideas worth further consideration. Papers describing some of these programs are listed in the bibliography. Additional ideas can be found by comparing the behavior of programs and human players.

Some Ideas for the Future

Chess games between computers are often dull because the programs don't follow any plan. They pursue general goals such as development and control of the center, but don't formulate goals specifically appropriate for the position at hand. Goals are represented in the evaluation and rating procedures. Setting a specific goal is accomplished by making changes in these procedures. For example, the general goal of center control might be implemented in part by a term in the evaluation polynomial for the number of pieces bearing on the center. A routine for setting specific goals might add a term for the number of pieces bearing on a center square that the routine had determined to be particularly important.

Here are some of the types of specific goals that occur frequently:

• Get control of a key square.

• Attack an area of the board where the opponent is weak.

• Free an immobile piece.

• Save an attacked man.

• Maneuver a particular piece to a square where it will have a strong influence.

It should be fairly easy to determine how to modify the evaluation and rating procedures in such a way as to set these goals. However, it might be difficult to devise a procedure for choosing the specific goals.

Most chess programs spend almost all of their time considering silly moves. There are two main types of silly moves: moves irrelevant to the important goals of the position, and sacrifices that gain nothing

Circle 142 on inquiry card.

Sfrecud O^e*

Insurance

Information

Files

Information Retrieval

LP-100F

Light Pen Kit

$69.95

Games

How to Build and

Interface Your Own

Light Pen

S9.95

Controls

LP-100F

C^

$99.00

Patent Search

Medical

Information

Files

Supplies Limited • Prepaid Orders Only Accepted Offer Limited to U.S.

LIGHT PEN

FOR INTERFACING DIRECTLY TO YOUR CRT

FILLER ENGINEERING & MANUFACTURING

149 San Lazaro Ave. Sunnyvale, California 94086

• (408) 245-5701

Why Pay More?

Why pay for more printer than you need? Our series 40 printers offer more features for less bucks than any other commercial quality printer on the market today. A complete stand-alone 40 column impact dot matrix printer with a 64 character ASCII set. Includes power supply, casework and interface electronics. Single quantity price for the parallel ASCII interface model is $425. Serial RS232/current loop interface models start at $575. OEM discounts available.

For more information write to:

MPI 2099 West 2200 South, Salt Lake City, Utah 84119 or call (801) 973-6053.

Circle 265 on inquiry card.

October 1978 © BYTE Publications Inc

179

Circle 298 on inquiry card.

<<*V

Don Lancaster's ingenius design provides software controllable options including:

• Scrolling • Full performance cursor •Over 2K on-screen characters with only

3MHz bandwidth

• Variety of line/character formats including 16/32, 16/64 ....even 32/64

• User selectable line lengths

TELL ME MORE! ( )

( )

Send instruction manual for the TVT-6 Kit with full operational details. $1 enclosed.

SEND FREE CATALOG

Name:

State:.

, Zip:

ELECTRONICS, INC. City

DEPT. 10 B, 1020 W.WILSHIREBLVD., OKLAHOMA CITY. OK 73116

TRS-80 COMPATIBLE PERIPHERALS

♦CENTRONICS 779 LINE PRINTER

(Same one that Radio Shack uses) $999

*779 WITH TRACTOR FEED OPTION (Highly recommended) $1179

*P1 MICROPRINTER (A low-cost alternative to the impacts) $399

All the shove printers are supplied with a special cable that allows a direct connection to the Centronics parallel line printer port on your Expansion Interface Unit.

The printers are warranted for 90 days. Call Centronics nationwide field service for repair at 800-258-1952. They usually respond to a service call within four hours.

♦SHUGART SM0Q MINI-DISKS COMPLETE WITH POWER SUPPLY AND CASE (Again the same one Radio Shack uses). BUY TWO UNITS AND GET CABLE FREE $399

*16 K RAM EXPANSION KITS (8 CHIPS) Up-grade your 4 K's or add to your Expansion Interface Unit $99

TRS-80 SOFTWARE ON COMPATIBLE CASSETTES OR DISKETTES

DATA-SET CONTROL PACKAGE • BY JOHN DeMlTA 4K $8

Thil subroutine provide* TRS-80 Level I BASIC with Fill OPEN. READ, WRITE, and CLOSE Functions. Alto inducted •'• two utility program* and full documentation

INVENTORY CONTROL PROGRAM - BY JERRY HICKS 4K $35

Allows the small business to upgrade its present inventory system and provide timely reports to the management. 6 programs with documentation (4KS

HOROSCOPE CASTING BY COMPUTER - BY D L. PITMAN $10

A fantastic program with graphics. Also available for Level It with output formatted for printer

PERSONAL FINANCE PACKAGE BY JOHN DeMlTA (3 Programs) $15

MORTGAGE CALCULATIONS AND MATH TEST BY JOHN DeMlTA $5 each

LEVEL I RELOCATED IN LEVEL II RAM II6K REQUIRED] $15

Run your non-convertible Level I programs or make Level I compatible tapes in your L II machine

•DISASSEMBLED LEVEL II LISTING WITH COMMENTS , $30

QUBIC - BY ALVIN FILES (3-D Tic-Tec-Toe with graphics ■ Level II only) $5

CHECK RECONCILIATION PROGRAM BY CLARENCE STINSON $5

APARTMENT ANALYSIS BY DICK MICHELS M

Send for free catalog for complete program lining. A few sample gemes follow:

STAR TREK IBKt. FLIGHT SIMULATOR <4K), FOOTBALL (SKI $5 each

ADD $2 FOR PROGRAMS ON CASSETTE. $5 FOR DISKETTE (Includes Shipping and Handling)

Colorado residents add 6% sales tax. SOFTWARE ROYALTY PLANS

yj\ & PET PROGRAMS ALSO AVAILABLE

cW\pPARAT, INCORPORATED iW/TAlSaaPP

6000 E. Evans Av, Bldg 2 KSSTKO^dGv Denver, CO 80222 AFFILIATE

303/ 758-7275

that could be worth the cost. To safely reject irrelevant moves, the program must avoid overlooking important goals, lest it reject a vital move and blunder. Because of the difficulty of writing a comprehensive goal setting routine, it is not surprising that highly selective programs haven't performed well. Nevertheless, it is only a matter of time until enough chess knowledge is formalized to permit accurate selection. In the meantime, it might be possible to devise an algorithm that would reliably identify at least some of the silly moves.

Chess programs usually compare moves or positions by assigning numbers to them and then comparing the numbers. This method precludes certain possibilities of reliably rejecting moves. Suppose we have an algorithm that, given two similar positions, lists all of the important differences between them, together with limits on the effect each difference could have on the evaluation. It is then sometimes' possible to determine which position is better, even though it might not be possible to evaluate either position reliably. We saw an example of this in the analysis of figure 1, where 2 . . . K—N1 appeared to be clearly better than 2...K—R1. The position-comparing algorithm could be used for selection and for a variant of a alpha-beta pruning. We meet with a familiar difficulty, however: the algorithm would have to incorporate comprehensive knowledge in order to avoid overlooking important differences.

To summarize, a program to play Masterlevel chess might contain algorithms to

• Find the important features of the position.

• Determine the relevant goals and rate their importance.

• Compare two similar positions to determine whether one is clearly better than the other.

• Select a list of reasonable moves in a given position.

Each algorithm would use the results of the previous ones in the list. The program would contain much chess knowledge, which would best be represented in a form both compact and easily alterable.

Prerequisites

How good a chess player do you have to be to tackle some of these problems? Most people need only a basic understanding of chess strategy and the ability to find simple combinations. Far more important than chess knowledge is the ability to teach what you know to a very dull, nonhuman pupil.

180

October 1978 ©BYTE Publications Inc

Circle 12 on inquiry card.

Circle 40 on inquiry card.

You will have to be able to state explicitly the reasons for the choices you make while analyzing a chess position. It's not as easy as it sounds, Above all, it's important to keep in mind that writing a chress program is a big project. A methodical approach, using structured programming and careful documentation, is absolutely essential.

Concluding Remarks

In this article I have tried to cover the basic ideas of chess programming and indicate some new directions for experimentation. I hope that many of you will be stimulated to get involved in this growing field of research. ■

BIBLIOGRAPHY

1. Frey, Peter W, editor, Chess Skill in Man and Machine, Springer-Verlag, New York, 1977. Contains an introduction to computer chess, a description of Chess 4.5 and much thought provoking material.

2. Gillogly, J J, "The Technology Chess Program," Artificial Intelligence, volume 3, pages 145 thru 163, 1972. A simple program using exhaustive search.

3. Horowitz, I A, and Mott-Smith, Geoffrey, Point Count Chess, David McKay, New York, 1970. An informal system for evaluating positions numerically.

4. Kozdrowicki, Edward W,and Cooper, Dennis W, "COKO III: The Cooper-Koz Chess Program," Communications of the ACM, volume 16, pages 411 thru 427, July 1973. A program that uses a small game tree.

5. Newborn, Monroe, Computer Chess, Academic Press, New York, 1975. Contains brief descriptions of some of the older programs, many games and a detailed description of the author's program. Ostrich.

6. Newell, A, Shaw, J C, and Simon, H A, "Chess Playing Programs and the Problem of Complexity," Computers and Thought (Feigenbaum, E, and Feldman, J, editors), McGraw-Hill, New York, 1963, pages 39 thru 70. A program that uses a small game tree.

7. Shannon, Claude E, "Programming a Computer for Playing Chess," Philosophical Magazine, volume 41, pages 256 thru 275, March 1950. The start of it all, and still a good introduction to the subject.

8. Slagle, James R, and Dixon, John K, "Experiments with Some Programs that Search Game Trees," Journal of the ACM, volume 16, pages 189 thru 207, April 1969. Contains the results of some experiments with the alpha-beta algorithm and a proof of the formulas used for table 1 in this article.

9. Tarrasch, Siegbert, The Game of Chess, David McKay, New York, 1976. Contains a good summary of the principles of the opening and a systematic survey of middle game tactics.

%Y9iBm%9 inc.

Boards W© Something

m

wr

i i

I I

;;:;;;:

CL2400 Real Time Clock $98/Kit $135/Assembled

If your system needs to know what time it is, our CL2400 is the board for you. The present time in hours, minutes, and seconds is always available for input, and is continuously updated by the highly accurate 60 Hz power line frequency. Need periodic interrups? The CL2400 can do that, too, at any of 6 rates. Reference manual with BASIC and assembly language software examples included.

If your system needs on/off control of lights, motors, appliances, etc., our PC3200 System components are for you. Control boards allow one 1/0 port to control 32 (PC3232) or 16 (PC3216) external Power Control Units, such as the PC3202 which controls 120 VAC loads to 400 Watts.Optically isolated,low voltage, current-limited control lines are standard in this growing product line.

P.O. Box 516

La Canada, CA 91011

(213) 790-7957

PC3200

Power Control System

PC3232 $299/Kit $360/Assm.

PC3216 $189/Kit $240/Assm.

PC3203 $39.50/Kit $ 52/Assm.

(formerly comptek)

IF QUALITY IS FOREMOST IN YOUR REQUIREMENTS

WE ARE PROUD TO OFFER THE HIGHEST QUALITY

DISKETTE DRIVE FOR THE FAIREST PRICE

NEW MODEL 410, 8 INCH FLOPPY DISK DRIVES $495 TWO DRIVE SUB-SYSTEMS (less controller) $1555

INNOTRONiCS CORPORATION OEPT D

BROOKS ROAD

LINCOLN, MASSACHUSETTS 01773

Tel. (617) 259 0600

Circle 178 on inquiry card.

October 1978 O BYTE Publications Inc

181

Creating a Chess Player

Peter W Frey

Department of Psychology

Northwestern University

Evanston IL 60201

Larry R Atkin

Health Information Services

542 Michigan Av

Evanston IL 60202

An Essay on Human

and Computer Chess Skill

Peter Frey is current at the Cresap Laboratory of Meuroscience and Behavior at Northwestern University. He is editor of Chess Skill in Man and Machine, Larry Atkin is co-author of Chess 4,6, presently the world champion computer chess proWarn.

In a recent Time essay (see references) Robert Jastrow, director of NASA's Goddard Institute for Space Studies, predicted that history is about to witness the birth of a new intelligence, a form superior to humanity's. The pitiful human brain has "a wiring defect" that causes it to "freeze up" when faced with "several streams of information simultaneously." Jastrow suggests that "the human form is not likely to be the standard form for intelligent life" in the cosmos. Even on our own small planet, a new day is near at hand: "In the 1990s, . . .the compactness and reasoning power of an intelligence built out of silicon will begin to match that of the human brain."

We have always been fascinated by the idea of a machine that is capable of rational thought. Jastrow is neither the first nor the last person who is betting on rapid improvements in machine intelligence. His expectation that computers will rival humanity within 15 years seems optimistic to anyone who has watched half-a-dozen excited technicians flutter about for several hours trying to bring a crashed system back to life. This prophecy seems even more fanciful to those who have attempted to program machines to cope with pattern recognition, language translation or a complex game such as chess.

The chess environment, in fact, provides a particularly good example of the difficult problems which still need to be solved before silicon intelligence can become a reality. More than 20 years ago, Herbert Simon, a recognized expert in the field of artificial intelligence, predicted that within a decade, the world's chess champion would be a computer. This prognostication has not come to pass. Why was an informed scientist

like Simon so wrong in his assessment of computer capabilities? A major factor is that computer scientists have often failed to appreciate the level of knowledge which is required to play master-level chess. They have also commonly underestimated the tremendous information-processing capacity of the human brain. Even though chess is a game of logic in which all legal moves can be precisely specified and in which nothing is left to chance, several centuries of intensive analysis have not exhausted the perennial challenge and novelty of the game. Psychologists have been actively studying the human brain for several decades and have discovered a fascinating mystery wrapped within an enigma. The more we learn about the brain, the more we are aware of our lamentable state of ignorance.

The Mind of the Chess Player

At a general level of knowledge, we have several provocative insights on the nature and structure of human chess skill. We know, for example, that the skilled chess player does not examine hundreds of possible continuations before selecting a move. We also know that superior chess players are not formidable "thinking machines" but in fact display a normal range of intelligence scores. Strong chess players, as a group, do not even appear to have special retention abilities such as having "photographic" memories. In most respects, top-flight chess players have the same intellectual capacities as the rest of the population and, in the technical details of move selection, seem to engage in the same type of information processing that is observed in much weaker players.

182 October 1978 ©BYTE Publications Inc

Artwork by K N Lodding.

Our knowledge in these matters is based on the early work of Binet in France and that of de Groot in Holland and on more recent investigations by other scientists in the USSR and the United States. In the late nineteenth century, Binet was surprised to discover that masters did not have a vivid image of the board when playing blindfolded chess. Instead, they seemed to remember positions in abstract terms such as by specific relations among pieces. Interviews with masters clearly indicated that a photographic memory was not a prerequisite for being able to play many simultaneous games of blindfolded chess. In the 1930s and 1940s, de Groot worked with a number of strong chess players (from Grandmasters to strong club players) and had them verbalize their thought processes while selecting a move in a complicated position. His research indicated that the Grandmasters' general approach was highly similar to that of weaker players. They analyzed a similar number of moves (about four) from the initial position, a similar number of total moves (about 35), made a similar number of fresh starts (about six), and calculated combinations to the same maximal depth (about seven plies or half-moves, where a move is defined as a play by one side and a response by the other). The only clear measurable difference was that the Grandmasters invariably chose the strongest move while the weaker players did not. Thus de Groot concluded that Grandmasters play better chess because they

pick better moves. Unfortunately, this conclusion is not very informative since it is obviously circular. The fact that de Groot's extensive study did not uncover any prominent differences in the move-selection strategies used by strong and average players implies that the analysis procedure itself is not the critical factor which determines chess skill.

An important clue to the difference between skilled and unskilled players was discovered by de Groot when he displayed an unfamiliar chess position to his subjects for a few seconds and then asked them to recall the position from memory. He found that masters recalled almost all the pieces while club players remembered only about half of them. Recent work in this country by Chase and Simon at Carnegie-Mellon University has indicated that novice players recall only about a third of the pieces. Chase and Simon also added an important control procedure. They demonstrated that the differences in recall ability completely disappear if the pieces are positioned randomly. This outcome indicates that the superior memory of the chess master is chess-specific and not a general trait.

Simon and Gilmartin have proposed that skilled chess players learn to recognize a large number of piece combinations as perceptual chunks and perform well in the recall task because they remember four or five chunks rather than four or five pieces like the novice. If the average chunk size is

De Groot's "law" of chess is that Grandmasters play better chess simply because they pick better moves.

October 1978 © BYTE Publications Inc 183

three to four, the skilled player will recall 16 to 18 pieces.

On the basis of this analysis, skill in chess depends on a learned perceptual ability which is highly similar to that acquired by every schoolchild as he or she slowly builds up a large repertoire of words. Initially the child learns to read each word character by character and often does not understand the meaning of the word. The novice chess player perceives the chessboard in a similar way, assessing a position piece by piece and failing to recognize the meaning of common piece configurations. The adult reader recognizes words and phrases as basic units (chunks) rather than individual characters and has a recognition vocabulary of approximately 50,000 words. The skilled chess player, in a similar vein, recognizes a very large number of piece configurations (chunks) and understands what they imply both individually and in combination.

The critical aspect of move selection occurs in the first few seconds of the task. Based on his assessment of the position, the skilled player immediately recognizes appropriate long-term and short-term goals and has a good feel for the specific moves

ESSENTIAL

Good Software is Essential for an Efficient Business. Now, the finest in software at a price you can afford. We are definitely the affordables!

PROGRAMS CURRENTLY AVAILABLE:

INVENTORY PROGRAM PACKAGE

• Inventory Addition

• Update

• Search

• Analysis (Current month)

• Analysis (Year to date)

• Vendor File

Also generates 7 additional user reports and much, much more.

— Cost $175.00 — MAILING LIST PROGRAM

♦Print formating in 80 or 132 columns.

— Cost $20.00 —

The above programs are designed to run under the following:

Ipp!m !" f^c% \ also ,MSAI IMD0S SuS S™ ,,r b ( in Debbi (Source code included) ICQM FUUb-lll )

8" Disk IBM 3740 Format.

EXTENSIVE CONTRACTORS ESTIMATING PROGRAM

Literature available upon receipt of your letterhead

Currently Under Development:

• Billing

• Payroll

• General ledger

Specializing in custom software for the AM-100** Datafacs System Inc. Eastern Division 2440 W. Cataipa, Chicago, 111. 60625

•CP/M is a Trademark of Digital Research Corp. ••AM-100 is a Trademark of Alpha Microsystems.

which are compatible with these goals. For this reason, only two to four moves on the average are given serious consideration. The difference between the Grandmaster and the expert lies in the fine distinctions which are made in the first few seconds of their analysis. Skilled chess players can play a remarkably strong game when they are given only five seconds for each move. In this short time, it is not possible to make a careful analysis of many different continuations. The player must have an "instinctive" feel for the correct move and be able to recognize key features and to understand both their immediate and long-term implications.

Human chess skill, therefore, is based on two highly refined capacities, pattern recognition and rapid information retrieval. The latter ability depends on the fact that human memory is content-addressable rather than location-addressable like that of a computer. Computer systems often have to search for a specific item of information in memory by conducting an exhaustive, linear search of an entire file. Human memory however is organized in an amazingly complex fashion such that most of us can easily recall a specific fact on the basis of a completely novel retrieval cue. For example, name a flower that rhymes with nose. In this case, your quick response demonstrates that words are grouped together on the basis of their phonetic similarity (ie: sound). Your ability to quickly recall words which are similar in meaning to the word fat (such as obese, chubby, rotund, flabby, plump and stout) demonstrates that human memory is also organized by semantic similarity (ie: meaning). When a person is given a retrieval cue which does not elicit an immediate response, he or she can usually find the correct information after a brief search of related ideas or concepts. This facility contrasts sharply with the extremely limited linear searches which are generally conducted with large computer based storage systems. Even sophisticated computer retrieval strategies which arrange the data base in multilinked lists with elaborate tree structures presently lack the large system efficiency displayed by their biological counterparts.

Pattern recognition and rapid information retrieval are not only key capacities for chess, but are also essential for a wide range of important human problem solving skills. Whether your field is medicine, engineering, plumbing or computer programming, you would be a complete failure at your job without these essential abilities. Jastrow's claim that machine intelligence will soon equal man's intelligence seems to

184

October 1978 ©BYTE Publications Inc

Circle 81 on inquiry card.

overlook the important points made in BYTE by Ernest Kent (see references). Kent emphasizes the fact that biological information processors have a vastly different architecture than their silicon imitations. In fact, he suggests that our lack of success in building a thinking machine stems from our attempts "to make a wrench do a screwdriver's job." Our modern high-speed computers were designed to do important tasks which men are not very good at, such as complex mathematical calculations.

The human brain evolved, in contrast, on its ability to identify important environmental events and to quickly recognize their significance. Natural selection has never placed much emphasis on our ability to multiply or our ability to compute the inverse of a matrix. Kent also reminds us that organic evolution worked with a very different kind of hardware than that which is available to the modern computer engineer. Biological information processors have an incredibly slow cycle time, less than 100 operations per second. The basic unit, the neuron, operates in milliseconds rather than in nanoseconds. The brain, however, makes up in quantity and in structural complexity what it lacks in speed. Computers, on the other hand, have many fewer components and a much simpler gating architecture, but are orders of magnitude faster.

It may be that present machine hardware configurations are simply inappropriate for efficient pattern recognition or semantic recall. An analysis of the history of computer chess is instructive. Although there have been numerous advocates for chess programs which imitate human playing methods, only a few have been attempted, and none of these have played reasonable chess. The eariliest paper on machine chess, written by Claude Shannon in 1950 (see references), proposed a mechanical algorithm which was not modeled on human chess play. Shannon suggested a workable procedure for representing the board and piece locations, specified simple mathematical algorithms for generating the legal moves of each piece and gave an example of a straightforward technique for evaluating a position (see Chess Skill in Man and Machine, chapter 3). The key feature of Shannon's proposal was the adoption of the minimax technique as described by von Neuman and Morgenstern in 1944. The basic idea of the minimax technique is to assume that the player whose turn it is to play will always choose the move which minimizes his opponent's maximum potential gain. Hence, the name minimax.

GRAPHICS STOCK ANALYSIS

NAVIGATION ASTRONOMY

NUMBER THEORY GAMES

Users of computers and programmable calculators enjoy this magazine! The articles are of interest to hobbyists and professionals. The programs are accompanied by explanations written in clear, logical language. Our authors are people who own and use machines like yours !

"The Recreational Programmer" is issued bimonthly. It is available by subscription only for twelve dollars per year (domestic), or fifteen dollars per year (foreign).

Subscriptions and articles may be sent to:

THE RECREATIONAL PROGRAMMER

BOX 2571

KALAMAZOO MICHIGAN 49003

EXCELLENT CHOICE

The experienced 2114 4K static RAM

From EMM — the industry's largest supplier of 4K static RAMs — a 2114 with a year and a half of delivery behind it. Not a new part. Just a new pin-out of a proven part. 1Kx4 organization. 5V only. Standard 18-pin DIP, ft draws only 300 mw, has all the speed you need for microprocessor applications.

SEMI,INC.

A division of Electronic Memories & Magnetics Corporation 3883 North 28th Avenue, Phoenix, Arizona 85017 {602) 263-0202

Circle 134 on inquiry card.

October 1978 © BYTE Publications Inc

185

The superior memory of the chess master is chessspecific and not a general trait.

The Type B Strategy

One of the difficulties of this approach is that a complete analysis of all possible continuations (type A strategy) very rapidly leads to an overwhelming number of potential positions. The look-ahead tree grows at an exponential rate and with an average, according to de Groot, of 38 legal moves at each position, a search involving three moves (three half-moves for each player) produces over 3 billion (386) terminal positions. You may recall that de Groot's research indicated that human players regularly searched a tree to seven plies and sometimes much deeper. Because of this, Shannon concluded that it would not be possible for the machine to consider alt possible legal continuations at each node of the game tree. Instead, he proposed a type B strategy in which only reasonable (ie: plausible) moves are pursued at each branching point. If the program considered only five continuations at each node instead of all 38, a 6 ply look-ahead would involve only 15,625 (56) terminal positions.

The attractiveness of the type B approach seems overwhelming when the number of terminal positions increases exponentially with depth. The fact that skilled human players explore only a limited number of continuations at each choice point is additional evidence which favors the adoption of this strategy. It is not surprising, therefore, that most programmers have used Shannon's type B strategy in designing a chess program.

Sometimes our understanding of the real world, however, is not always as accurate as we presume. In selecting a type B

strategy in preference to a type A strategy, the programmer does not necessarily simplify the problem. This approach was competently implemented in 1967 by Greenblatt at MIT. His program played reasonable, and at that time, fairly impressive chess. The major design problem in a selective search is the possibility that the look-ahead process will exclude a key move at a low level in the game tree. The failure to consider an important move can lead to a very serious miscalculation. A chess game can be lost by a single weak move. For this reason, it is of critical importance that a necessary move not be missed. The type B programs place a critical dependence on the accuracy of their plausible move generator. Chess is an extremely complex game and in many situations a move which at a superficial level seems unlikely, is, in fact, the best one. Grandmasters find these moves while lesser players, including machines, fail to see them. For a decade, several dozen individuals have tried to create a plausible move generator that is superior to Greenblatt's. The evidence is fairly clear, however, that type B programs have improved very little since 1967.

As strange as it may seem, recent progress in computer chess has come by abandoning the type B strategy. Shannon's logical analysis was made in a "stone-age" hardware environment and without knowledge of several important algorithms. Today, the type A strategy is not as ridiculous as it seemed in 1950. In addition, very few individuals anticipated the immense difficulty involved in constructing a competent plausible move generator. To become a chess master, a man has to study chess intensively (20 hrs or more a week) for at least 5 years. During this time he acquires an immense amount of detailed knowledge about the game of chess. Subtle features of a particular position are recognized immediately and suggest both short-term and longterm goals as well as specific moves. This kind of knowledge is sufficiently abstract that most players find it impossible to verbalize the relevant thought processes. The one factor which stands out clearly, however, is that the chess master has acquired a tremendous library of factual information which can be retrieved quickly and applied in apparently novel situations. No chess program has been able to duplicate this facility and, without it, the creation of a workable plausible move generator is next to impossible.

When a type A strategy is employed, however, this problem can be bypassed. By making ail the moves plausible, the program never overlooks a subtle but important one. In fact, by reverting to a brute force search

186

October 1978 ©BYTE Publications Inc

of all possible continuations, the program often finds interesting combinations that are commonly missed even by strong human players. It seems ironic that the brute force approach (full width searching) produces many more brilliant moves than the smart approach (selective searching). This important discovery was made independently by Slate and Atkin at Northwestern (the authors of the current world champion chess program, Chess 4.6) and by the Russian KAISSA team.

Minimax and the Alpha-Beta Algorithm

Slate and Atkin's work has demonstrated that a full width search can be conducted considerably more efficiently than anyone had previously suspected (including Slate and Atkin; see references). There are a number of important developments which are responsible for this reassessment. The most important discovery was made in the late 1950s by Newell, Shaw and Simon as well as by Samuels. Because of the basic logic underlying a minimax search, it is not necessary to search the entire look-ahead tree before selecting the best move. Consider a simple 2 ply search (one move for you and one for your opponent). First you examine one of your possible moves and the 38 or so terminal positions which result from each of your opponent's legal replies. You select the one reply which is best, according to your evaluation function, for your opponent (ie: the one which minimizes your own maximum potential gain). Next, you consider a second move for yourself and the 38 or so replies that your opponent can make to this move. In considering these moves, you discover that the third reply you examine would give your opponent a better outcome than his best reply to your first candidate. Immediately you realize that it is a complete waste of time for you to analyze any more of his replies to your second candidate. Since you are already guaranteed a worse position after the second move than after the first, it is reasonable to reject the second one and turn to your third candidate. This decision eliminates the need for evaluating 35 of the potential replies to your second candidate. A very tidy savings.

Historically, the score for the best move so far for White has been designated as a and the score for the best move so far for Black has been called j3. Thus the name alpha-beta (ol—P) algorithm. When the tree is both wide and deep, this algorithm can reduce the number of terminal nodes to a small fraction of the number which would be examined by a complete minimax search. The beauty of this procedure is that it always produces the same result as the full minimax search.

An important factor in determining the efficiency of the alpha-beta algorithm is the order in which the moves are examined. If White's best moves and Black's best replies are considered first at each choice point, the search of the uniform game tree of height h (number of plies deep) and width d (number of successors at each node) will involve approximately 2«dh/2 terminal positions instead of dh (see references, Knuth and Moore). The potential magnitude of this saving can be appreciated by considering our previous example with a 6 ply search: 386 is more than 3 billion while 2 X 383 is about 110,000. Shannon might have given more consideration to the type A strategy if he had been aware of the alpha-beta algorithm and some of the other technical improvements which were to follow.

General Strategy

To maximize the benefit of the alphabeta procedure, it is necessary to devise an efficient strategy for generating the moves at each node in an order which is likely to produce a cut-off, such that searching can be terminated at that node. There are several general heuristics which have proven their value time and time again. One is extremely simple and powerful: try capturing moves first. Because a full width search includes many ridiculous moves, a reply which involves a capture will often remove a piece which was "stupidly" placed en prise (ie: attacked and insufficiently defended).

Figure 7: Portion of a game tree for the opening game in chess. Square nodes indicate that White is to piay; round nodes that Black is to play. Techniques such as alpha-beta pruning and minimax strategy are used to optimize the use of trees like this.

October 1978©BYTE Publications Inc

187

Circle 316 on inquiry card.

CATCH THE S-100, INC. BUS *@J

CBS ^

SPECIAL LIST CASH

PRICE PRICE

Cromemco Z-2D Kit W/4MHZ Z-80 Processor, 30A Power Supply, 21 Slot Mother Board, Disc Controller, One Disk Drive, 16K Memory Kit

Percom Cassette Interface Kit C1-812

IMSAI 8080 Kit

i,99P»i,69P°

8995 69900

7495 56995

Call For Our Prices on

Cromemco, IMSAI, Vector Graphic,

North Star, Sanyo, Hazeltine, IMC

Plus Most Other Major Lines.

Subject to Available Quantities.

Prices Quoted Include Cash Discounts.

Shipping & Insurance Extra.

bus... S-IOQ,inc.

Address...7 White Place

Clark, N.J. 07066 Interface...201-382-1318

The EAS Floppy Disk System

If you like our features, you'll love our price!

• Dual Shugart drives.

• Controller with Western Digital 1771 B controller chip and on board prom boot strap loader for CP/M™ which is the disk operating system software recommended and available from EAS for the S-100 system.

• Power supply.

• Interface.

Electro Analytic Systems, Inc.

P. O. Box 102

Ledgewood, New Jersey 07852

Phone: (201) 584-8284

All cables. Formatting diskette capability, available with or without controller. [Capable of formatting Diskettes]

Wood cabinetry for improved appearance.

Assembled and tested.

90 day guarantee.

EAS

CP/M m is a trademark of Digital Research, Inc.

Captures also have the beneficial effect of reducing the number of potential offspring. An additional important characteristic of a capturing move is that it will generally have to be examined sooner or later in order to insure the quiescence of the terminal position. Because of this, every capture that is examined early generally reduces the amount of work which will have to be done later. In practice, investigators have reported a speed-up in search time of as much as 2 to 1 by simply putting all the captures at the beginning of the move list.

In addition to captures, there is another class of moves which is also effective for producing cut-offs. These are called killers because they are moves which have produced cut-offs in the immediate past and have been specifically remembered for that reason. A short list of killers is maintained by the program and whenever the legal capturing moves fail to produce a cut-off, each of the killers (if legal in the given position) is then examined. This killer heuristic is quite effective in producing a move order which enhances the probability of a quick cut-off.

The general features of the alpha-beta algorithm and its important servants, the capture and killer heuristics, were reasonably well-known late in the 1960s. In recent years, several important refinements have been added to this list. One of the most important is the staged or iterative alphabeta search. For example, instead of conducting a 5 ply search all at once the search is done in stages, first a 2 ply search, then a 3 ply search, then a 4 ply search, and finally a 5 ply search. Superficially this might appear to be wasteful since the staged search requires the full 5 ply search eventually anyway. This is not at all the case. As each search is completed, the principal variation (best moves for each side at each depth) is used as the base for the next (1 ply deeper) search. The 3 ply search therefore starts with a move at ply 1 and a reply at ply 2 which has already been proven to be reasonable (from the machine's limited perspective). The 4 ply search starts with reasonable moves at its first three plies. The 5 ply search has the benefit of reasonable moves at its first four plies. Because the efficiency of the alpha-beta algorithm is tremendously sensitive to move ordering, the spill-over in information from one iteration to the next has a surprisingly powerful effect. A single 1 stage 5 ply search might require 120 seconds of processor time. The last segment of the staged 5 ply search might require only half as much time (ie: 60). Since each iteration requires about five times as much processor time as its predecessor (the exponential char

188

October 1978 © BYTE Publications Inc

Circle 114 on inquiry card.

acter of the look-ahead tree is diminished somewhat by the alpha-beta algorithm), the staged 4 ply search would take about 12 seconds, the staged 3 ply search about 3 seconds, and the 2 ply search about 1 second. The total time for the iterative search would be approximately 76 seconds (1 +3 + 12 + 60) rather than 120 seconds. An added benefit of the iterative search, and, incidentally, the reason for its discovery in the first place, is that it provides a useful mechanism for time control. In tournaments, a move must be calculated within a fixed time limit such as 90 to 120 seconds. If one decides to do a 5 ply search in a single stage, it is possible to find oneself tied up in calculation after 120 seconds with no idea of how much more time will be needed to complete the search, and without a move to make until the search is completed. In some complex situations the search might take as long as 10 minutes — a disaster for time control. An iterative search allows one to predict the probable duration of the next iteration and to make a decision whether it is cost effective to initiate the next one. If this decision is a go and the search, for some reason, fails to terminate in the anticipated time, the machine can abort and play the move selected by the last iteration. This provides relatively neat and tidy time control. The iterative search was first mentioned by Scott in 1969 and was apparently discovered independently several years later by Jim Gillogly at Carnegie-Mellon, by Slate and Atkin at Northwestern and by the Russian KAISSA team.

Refinements to the Type A Strategy

Several other refinements have also made the type A strategy more manageable. One of the time intensive activities involved in tree searching is move generation. This can be minimized by generating only one move at a time and seeing if it produces a cut-off before generating the next move. If a cut-off occurs and the node is abandoned, one can avoid generating a large number of potential moves. With the n-best approach, it is customary to generate all moves at each node and then invest time attempting to decide which ones are worthy of further consideration. Thus the smaller tree, obtained by selective searching, has to be partially paid for by an additional time investment in plausibility analysis.

Another time-intensive activity in the tree search is the repeated use of the evaluation function. Since many thousands of terminal nodes have to be evaluated in each move selection, any refinement that reduces the work of the evaluation function will pay rich dividends. There are three important

P.E.T. Food

NOURISH YOUR HUNGRY P.E.T. WITH SELECTIONS FROM CREATIVE SOFTWARE'S EXTENSIVE MENU!

DUAL JOYSTICK INTERFACE: This Creative Software interface allows you to plug in two Atari-type joysticks (not included) with no modification to the P.E.T. Comes with two games and complete programming instructions $35.00

JOYSTICKS: for above interface, price each $12.50

BREAKOUT: Written in BASIC for the P.E.T., this program uses either keyboard input or any Creative Software joystick (single or dual). You get ten balls to knock out three double layers of bricks $10.00

LIFE: (By S. Bartonsmith) Possibly the finest personal computer version of LIFE currently available, this program uses machine language routines to display up to four new generations per second. User-definable initial configuration, complete screen wraparound, and introducing two original additions —"posts" and "holes." $20.00

TRAP and CRAPS (Joystick or keyboard input) $10.00

HURKLE and ONE-QUEEN (Joystick or keyboard input)...$10.00 HOUSEHOLD FINANCE Parts I and II $15.00

ORDERS: Send check, money order, or VISA/Mastercharge (include expiration date) and add the following shipping charges: 1-2 programs (or dual joystick interface)-1.50. 3-4 programs- 2.00. 5 or more programs2.50. Extra joysticks, each-1.50. California residents add 6% sales tax.

INFORMATION: More information on these and many other currently available programs are available on a free flyer. Write directly to Creative Software for a complete list.

Creative Software

P.O. BOX 4030, MOUNTAIN VIEW, CA 94040

\bu*ve got a Computer

Terminal on your desk*

With your push-button dial telephones and our P1-5 Data Concentrator, you've got a comprehensive interactive system to front-end your computer. The P1-5 will answer up to 16 simultaneous callers and record their key entries on to dual floppy diskettes, which eliminates the key punching process.

The P1-5 Data Concentrator offers:

• User designated field duplication

• Modulo 10 checks on user designated fields

• Audio response to callers

• Blank fill to the next field with the »*« key

• 3740 diskette compatibility along with automatic Time and Date recording

• Battery backup power supply.

• Low monthly cost averaging $300

• Optional 360/370 multiplexor channel interface for P1-5

• Optional CRT/Keyboard terminals for $17/month

The P1-5 has almost unlimited applications including General Ledger, Payroll, Time and Attendance Reporting, Production Reporting, Receivables Control, Inquiries and many other uses.

Call us today and we'll tell you how the P1-5 Data Concentrator can help you get in 'touch' with your employees and customers.

PHOfUl

P.O. Box 1522 Rockford, Illinois 61110 Phone 815/962-8927

Circle 321 on inquiry card.

October 1978 © BYTE Publications Inc

189

techniques which fall in this category. One of these is called incremental updating. In order to make an evaluation of a node, it is necessary to have certain key facts available, such as which squares are attacked by each piece, which pieces are present, etc. This information can be newly calculated at each terminal node or can be incrementally maintained by updating the appropriate tables as the tree is generated during the search. This latter procedure is more complex to program but tremendously more efficient in terms of computing time because neighboring terminal positions are highly similar. They usually differ in respect to only a single piece, and therefore the updating procedure requires about 10 percent of the computations that would be ex

pended if the evaluation data base were recalculated from scratch for each evaluation.

A second refinement in this category is the use of serial organization in the evaluation function. In order to assess the relative merit of a chess position, most programs place heavy emphasis on the material balance (ie: the relative number of pieces for each side). This tradition is founded on the idea that winning or losing is strongly correlated with being ahead or behind in material. An additional rationale is that this information is readily available and easily updated.

In most programs material factors are so dominant that the other evaluation terms, such as mobility, pawn structure, King safety, area control, etc, taken together almost never account for more than two pawns. Because of this, it makes sense to compute the material balance factor first and then determine if the result is within two pawns of the target value. If not, there is no need to assess the other factors, because the final decision will be independent of their value.

This simple idea encourages one to organize the evaluation function in strict serial order such that influential (heavily weighted) terms are analyzed first and the result examined to see if a decision is possible based on this initial information. If not, the next most influential term(s) are examined and another determination is made. This process is repeated until an escape condition occurs or until all terms have been examined. In most cases, the evaluation will be terminated long before the list of potential terms has been exhausted. This technical refinement can save a significant amount of time.

A third procedure for speeding the evaluation process is to remember past evaluations. For instance, one should avoid reassessing the same position two or more times. In chess, there are many pathways by which one can reach identical positions. In a 3 ply sequence in which the middle move remains constant, for example, the first and third moves can be interchanged and the resulting position will be the same. Transpositions such as this occur frequently in the end game where the King may have literally hundreds of 4 move pathways that end on the same square. Rooks, Bishops and Queens also have a special facility for reaching a particular destination square in multiple moves rather than in one or two.

A full width search (ie: type A strategy) greatly accentuates this foolishness. By creating a large table of past positions which have been already evaluated, and using a hashing procedure to check if the present position is in the table, the programmer can completely eliminate a portion of the eval

190 October 1978 © BYTE Publications Inc

uation effort. In most middle game positions, this technique will produce a 10 to 50 percent saving. In certain end game positions, however, the transposition table can eliminate more than 80 percent of the evaluation effort. This idea seems to have been implemented first by Greenblatt in 1967.

An extension of this idea is to use the table to store likely moves as well as evaluations. By remembering a move which previously produced a cut-off, the table can facilitate move ordering decisions. In addition, the use of the same reply at a familiar position may have the added benefit of increasing the number of transpositions which will be encountered at later nodes. Additional details on the use of a transposition table are discussed in chapter 4 of Chess Skill in Man and Machine.

One of the most difficult challenges for a chess program is the end game. A machine which calculates a move for each position has difficulty competing with humans who "know" the correct move on the basis of their own or someone else's past experience. There are a huge number of end game situations in which a specific and highly technical strategy is required. Strong chess players study these intricacies at great length and use this knowledge at the chessboard to avoid unnecessary calculations. For example, a King and a pawn against a lone King is a win in some positions, and a draw otherwise. The same is true for a King and two pawns against a King and a pawn. If a Rook or minor piece is added to each side, the situation changes dramatically. Unfortunately our present day programs are oblivious to these subtleties. For this reason they can find the correct move only by engaging in prodigious calculations. Their human counterpart, on the other hand, "knows" the correct move after a cursory glance at the position.

Newborn (see references) has introduced a useful technique for reducing this knowledge gap. The main idea is to categorize familiar end game positions as wins or draws. Many games end with a King and a pawn fighting a lone King. Skilled players usually terminate the contest before it runs its inevitable course because the outcome is not in doubt. Newborn has shown that it is feasible, taking advantage of the symmetries of the chessboard, to make a bit map that indicates either a win (1) or a draw (0) for each potential square on which the lone King might reside for each of the potential locations of the opposing King and pawn. This knowledge can be encoded in approxmately 300 bit boards of 64 bits each (see chapter 5 of Chess Skill in Man and Machine).

Although a tremendous amount of work and chess knowledge is required to complete this task, the end result is well worth the effort. When a position involving two Kings and a pawn is encountered anywhere in the look-ahead tree, it can be immediately scored with 100 percent accuracy as a win or a draw. This extends the look-ahead horizon of the program by as much as 12 to 15 plies for these specific situations, and eliminates all the tree searching effort which would normally be required. Furthermore, it permits accurate evaluations at the end points of a deep search, which allows the program to select a continuation which leads to a favorable end game. If this approach were extended to a wider range of situations, the machine's present knowledge deficit with respect to the end game would be greatly reduced.

These programming refinements, together with rapid hardware advances, have made the Shannon type A strategy feasible if not particularly elegant. For this reason it is possible to program a machine to play a game of chess which is free of gross blunders and which sometimes even contains an innovative move or two. Although this approach is clearly not a final solution, it does provide a solid base which can be used as a reliable starting point for future developments."

REFERENCES

Charness, N, "Human Chess Skill," Chess Skill in Man and Machine, Frey, P W {editor}, New York, Springer-Verlag, 1977.

Frey, P W, "An Introduction to Computer Chess," Chess Skill in Man and Machine, Frey, P W (editor), New York, Springer-Verlag, 1977.

Jastrow, R, "Toward an Intelligence Beyond Man's," Time, February 20 1978, page 59.

Kent, Ernest W, "The Brains of Men and Machines" (4 part series): January 1978 BYTE, page 11; February 1978 BYTE, page 84; May 1978 BYTE, page 74; and April 1978 BYTE, page 66.

Knuth, D E and Moore, R, "An Analysis of AlphaBeta Pruning," Artificial Intelligence, volume 6, 1975, pages 293 thru 326.

Newborn, M, "PEASANT: An Endgame Program for Kings and Pawns," Chess Skill and Man and Machine, Frey, P W (editor), New York, SpringerVerlag, 1977.

Shannon, C E, "Programming a Computer For Playing Chess," Philosophical Magazine, volume 41, 1950, pages 256 thru 275.

Slate, D J and Atkin, L R, "CHESS 4.5 - The Northwestern University Chess Program," Chess Skill in Man and Machine, Frey, P W (editor), New York, Springer-Verlag, 1977.

October 1978 © BYTE Publications Inc 191

THE BEST FOR BOTH WORLDS

FACTORY PRIME ELECTRONIC EQUIPMENT

FOR BOTH THE DISCERNING HOBBYIST AND

THE PROFESSIONAL

THE NEW

HOBBYWORLD

CATALOG

Your source for factory prime, professional quality equipment (no surplus). Computers, add-on boards, IC's, sockets, resistors, supplies, tools, test equipment, books, and more. Shop your buy list at Hobby World. You'll find what you want, and at a solid savings. For example, look at this month's specials.

16K MEMORY ADD-ON FOR APPLE OR TRS-60.

Hobby World price is only $145.00 (specify when ordering).

16K STATIC RAM.

S-100 Bus kit uses 2114 memories. Phantom and bank switching capability. Hobby World Price: KIT $300.00, BOARD ONLY $30.00

S-100 WIRE WRAP BOARD.

Over 3600 holes, for super versatility. Provisions for 4 regulators. Double sided,

plate-through. All S-100 pins labelled for number and signal.

The PT-1 Hobby World Price: Only $30.00

I Send me a catalog! |

f Name _

Address.

City

State.

Hobby World

19355 Business Center Dr#6

Northridge, CA 91324

TELEPHONE ORDERS Inside Calif: 213 886-9200 Outside Calif: 800 423-5387

192

BYTE October 1978

Circle 170 on inquiry card.

A Chess Playing Program for the TRS-80 Microcomputer

Match Your Chess Skills with Boris

n mmnirn

Mtflft ftl

MMM r%

Mm www 1.5

».».».«

W.-WMI «

Microchess 1.5 for the Radio Shack TRS-80 microcomputer has been announced by Personal Software in conjunction with Peter Jennings of MicroWare Ltd. Microchess is a 4 K byte Z-80 machine language chess playing program described in "Microchess 1.5 versus Dark Horse," March 1978 BYTE, page 166. The program has three separate levels of play designed for beginners, intermediate players and experienced players.

The program is available in both Level I and II BASIC versions for the TRS-80. Standard algebraic notation is used to describe the moves to the computer. Every move is verified for legality

to prevent user error, and a simple command allows temporary numbering of the squares to assist in move entry. The chessboard is displayed using the graphics mode available on the TRS-80. Microchess 1.5 is being offered at a temporary introductory price of $19.95. Microchess 1.0 was described in What's New, February 1978 BYTE, page 200. Contact Personal Software, POB 136, Cambridge MA 02138. If you have questions on Microchess call (617) 783-0694. For Visa and Mastercharge credit card orders dial toll-free (800) 325-6400; in MO dial (800) 342-6600."

Circle 587 on inquiry card.

Open Item Billing System for Small Business Use

According to a release from Structured Systems Group Inc, 5615 Kales Av, Oakland CA 94618, accounts receivable can now be processed on your 8080 or Z-80 based CP/M microcomputer system.

The general ledger compatible accounts receivable system is a full open item billing system for small businesses. The programs are designed for use by business oriented professionals who need reliable and simple

operations. The system is documented with a 120 page reference manual that orients the first time user and provides depth for the experienced hand.

The accounts receivable system is priced at $750 and features itemized statements, two aged trial balance reports, late charges, reminder letters, recurring receivables, sales reports and more.*

Circle 588 on inquiry card.

Boris is a recently developed chess computer that can flash messages to its opponent such as 11 legal move, Congratulations, Stalemate, and / expected that. It is designed for all levels of ability from the beginner to the master player.

The electronic position programming permits the player to set up any board position desired. This programming flexibility is designed to allow advanced players to set up board situations and practice specific strategies. Also, beginners can use the feature to remove pieces at any time during a game for handicapping. Boris displays each rank electronically so the player always knows where the pieces are.

Boris will play either black or white or even play itself. If a player is unsure of what move to make, Boris is programmed to suggest the best possible move. When Boris gets his opponent into a corner, you can change places with it and see how it battles its way out of its own trap.

All the classic chess moves are in the computer's programs, such as castling, capturing en passant and queening, and Boris will solve all matein-two problems. Players will not get the same game twice since the computer is programmed for random play.

Boris costs $299.95 in a solid walnut case along with a compact chess board plus a set of pieces. Contact Chafitz Inc, 1055 First St, Rockville MD 20850."

Circle 589 on inquiry card.

October 1978 © BYTE Publications Inc 193

What's New?

SOFTWARE

Palo Alto Tiny BASIC Extended for North Star

California Software has made available Palo Alto Tiny BASIC Extended (PATB) for use with the North Star DOS. According to the firm, all save and load functions are available for disk storage and loading of programs. Programs are said to be automatically sized, typed and saved without leaving PATB, even the disk directory can be accessed while still in PATB. The extended version of the software allows string handling along with other advancements. Although originally designed as a memory saving interpreter, it provides an alternative language of North Star users at an affordable price. The product is available on diskette for $30 (plus 6% sales tax for California residents), including user's manual. Contact California Software, POB 275, El Cerrito CA 94530.■

Circle 605 on inquiry card.

Software for North Star Disk Systems

The following software programs have been announced for the North Star Micro-disk System: Maillist is a general purpose mailing label program. It is said to be capable of producing formatted lists for tractor fed or Xerox type labels. Maillist will also sort lists for any field, name, address, city, state or zip. DOS In-Out Driver Version 4.0 is designed to set up mapped memory video boards with its driver located at C700H and a terminal at port 1. Register is a flexible cash register and inventory control program which records transactions, writes sales receipts and flags items which fall below prespecified reorder quantities. Prices are $39.95 for Maillist, $12.95 for In-Out Driver, and $299.95 for Register. Contact Alpha Data Systems, POB 267, Santa Barbara CA 93102.■

Circle 606 on inquiry card.

Star Wars Simulation Now Available

The Star Wars simulation game, an adaptation of the end of the movie battle against the Death Star, is a real time simulation. Under player control, ships move in three dimensions to create a realistic simulation of actual space flight. Objects increase in size as the ships approach and diminish as they pass. Weapons, deflector screens, and a directional control joystick are implemented in each ship. Ships of the rebel forces must pass through Imperial defenses and Tie-fighters to enter a channel

on the Death Star.

The game requires the high density graphic display provided by Objective Design's programmable character generator. Written in 14 K bytes of 8080 assembly language, the program code is offered on Tarbell and CUTS tape. Game rules and instructions for assembling the required ship control boxes are included in the total price of $7.50. The game is available from Objective Design Inc, POB 20325, Tallahassee FL 32304.*

Circle 607 on inquiry card.

Air Conditioner Selection Program in North Star BASIC

An Air Conditioner Selection Program (ACSP) written in North Star BASIC has been developed by HSC Computer Services Ltd, POB 43, Brooklyn NY 11236. The package allows the calculation of the necessary capacity of an air conditioner in BTUs per hour, taking into account the heat gain through windows, walls, ceiling, floor, electrical equipment, number of people in room and heat loss through doors and arches. The program applies a correction factor depending on locality in the United States. Also available are North Star error messages and their meaning.

Price of the ACSP package on diskette with a user manual is $19.95, and the North Star Error Message Summary is $5."

Circle 609 on inquiry card.

SOLOS Tied to North Star DOS and BASIC

Microcomputer Resources Inc has announced a software package which is said to tie the North Star disk operating system (DOS) and Nbrth Star BASIC to the SOLOS IO routines and allow the use of the CUTS tape IO port for archive storage of data. The tape routines are accessed as IO devices. The cursor control keys on the SOL are interfaced to BASIC, allowing most edits in the line editor without the use of control keys. The package is said to allow the user to list the directory of a disk while in BASIC. Documentation for the software is included on the disk.

The package sells for $10 for the diskette and program, and a $2 shipping and handling charge. Contact Microcomputer Resources Inc, 3000 Medical Park Dr, Suite 107, Tampa FL 33612.*

Circle 610 on inquiry card.

PDP-8 Simulator for 8080

The Simul8tor is said to be a complete PDP-8 simulator for the 8080. Simul8tor enables 8080 owners to utilize the thousands of PDP'-S programs available both commercially and through the Digital Equipment Corporation User's Society (DECUS). DECUS software such as ALGOL, BASIC, FOCAL, SNOBOL, FORTRAN, LISP, assemblers, editors, debuggers, floating point, etc, is readily available. The simulator is available in two formats: Intel paper tape and Intel Tarbell cassette. It comes complete with a user's manual, PDP-8 programming tutorial, PDP-8 loader, DECUS library information, and a source listing of its IO routines for users who wish to modify them. Prices are: one to three, $20 each; four to ten, $18 each; and 11 and up $15 each. Discounts may be applied to any format combination. Add $3 for each cassette ordered. Contact The Amide Corp, POB 600, Sag Harbor NY 11963."

Circle 608 on inquiry card.

194

October 1978 ©BYTE Publications Inc

Circle 115 on inquiry card.

j-Electrolabs

)K Tl Sockets 1 cent per pin. All low profile solder tail 8 pin - 40 pin.

The "Pro" fully encoded ASCII Keyboard by Cherry. Auto REPEAT feature, 5 special function keys. 300mA/5V. (Shown as mounted in The Case', Below) $119.00, 3/99.00,10+/89.00

USED SYLVANIA 12" MONITORS You Fix: $24.95 Working: $69.95 Cold Chassis, 25lbs.

The Dumb Terminal for Smart People

80X24 with full 128 char. ASCII UC+LC font with all control characters displayed. 300-19,200 baud RS232. 2nd font addressabl from keyboard in you-program-it 2708 for APL, Graphics sets, etc. Plug in monitor I/O connector, 110VAC and you are ready. INCLUDES: 'The Case', Cherry Kbd. A used monitor, ESAT 200A, all options except vector addressable cursor and modem, Bulletproof design and construction. Normally $675,00 What you always wanted your ADM3 to be: SYSTENTA" $649.00 10/$599.00

4>Q Box 6721 Stanford*

THE FANTASTIC!

MEMOREX FIVE-FIFTY

OF. 94305 415-321-5601

* Hard and Soft Sectoring

* Single and Dual Density

* Double side configuration as a retrofit at any time. *110/220V,50/60Hz

*Pin for pin compa table with Shugart 800,801,850,851 (50 pin edge connector) $536,2/499, 5/475,10/449 25/425,100/405

Double Sided Retrofit$30Q

"The Case" Beautiful and sturdy anodized aluminum case in deep black designed to contain the ESAT 200A, and with a bezel cut out for the Cherry 'Pro' keyboard, (installed as shown above) Choose deep brown, light yellow, or crimson to accent or color code your installation. The only choice for hard-use institutional and educational applications. $69.00, 10/ 59.00

MINIDISKETTES (5.25') 1-9 10-24 25+ 10, 16 or Soft Sector $4.79 4.50 4.25

STANDARD (8') DISKETTES Hard or Soft Sector $5.99 4.99 4.50

CASSETTES

R-300 Certified Phillips Type $5.25 4.99 4.35 1-150 Certified for audio decks $4.60 4.30 3.90 ('Kansas City1 & SWTP formats)

NEW! 32 K, S-100 Universal Static Store. Accepts 2114 RAMs or ' 70 ns, 3625 PROMs paging up to 8 Mby. Board only with manual and paging software $69.00. 32 Kby RAM 450 ns $679.00, 250 ns $789.00. We have software application notes for multi-task multiuser applications utilizing paging feature.

Shipping and Handling: Surface: $o.40/ib. Air: $o,75/ib., 1 Cal. Tax: 6.5% Insurance: $0.50 per $100.00

,00 minimum

MICROPROCESSOR

IC SOCKETS

6800

19.50

Solder Tin Low Profile

8080A with data

8,95

PIN 1UP

PIN

1UP

Z80

16.95

8 .15

24

.35

MM5320

9.95

8212

2.90

14 .18

28

.42

MM5330

5.94

8214

8.00

16 .20

36

.58

PD411D-3

4.00

8216

2.90

18 .27

40

.61

P0411D-4

5.00

8224

2.90

22 .30

P5101

13.95

8228

5.35

3 level wire wrap gold.

4200A

12.95

8251

9.25

14 pm .25

16 ptn .27

82S25

2.90

8253

10.00

2 level 14 pin

*w.20

91L02A

1.75

8255

9.25

HD0165-5

6.95

CDP1802CD

19.95

44 pin edge 100 pin edge 100 pin edge

2.00

4.50 f 5.25

MM57100

4.50

CDP1802D

CDP1861

6820

25.00 12.95 9.95

m

GIAY38500-1 MCM6571A 9368

9.95 9 95 3.50

6850

12.95

M OS/MEMORY H,

INTERFACE

6502

18.50

2101-1

3.95

8T25

3 20

PROM

2102-1

1.28

1 69

1702A

3.95

2102AL-4

1.60

8T28 8T97 8T98 8095

2.75

1.69 1.69 .65

N82S23

2.95

21F02

1.85

N82S123

3.50

2104A-4

4.95

N82S126

3.75

2107B

4.95

N82S129

3.75

2111-1

4.95

N82S131

3.75

2112-2

3.95

8096

.65

N82S136

8.75

2114

8.50

8097

.65

N82S137

8.75

4116

24.95

8098

65

2706

12.50

2513B

6.30

ASCII KEYBOARDS

DM8577

2.90

21L02-1

1.49

53 key kit

$55.00

8223

2.90

MM5262

.40

56 key kit

562.00

2716TI

22.50

MM5280

3.00

Enclosure

$14.95

P.O. Box 4430X Santa Clara, CA 95054 For will call only: (408) 98B-1640

e^^^^k2322 Walsh Ave .^ ^^B^^ELECTRONICS

^B| CRYSTALS

1 uu. A en ■> nmn uu* 1 oc

1 MHz

4.50

2.0100 MHz

1 95

2 MHz

4.50

2.097152 MHz 4.50

4 MHz

4.25

2.4576 MHz

450

5 MHz

4.25

3.2768 MHz

4.50

10 MHz

4.25

5.0688 MHz

4 50

18 MHz

3,90

5.185 MHz

4sn

20 MHz

390

5.7143 MHz

450

32 MHz

3.90

6.5536 MHz

4,50

32768 Hz

4.00

14 31818 MHz 4.25

1.8432 MHz 4.50

18.432 MHz

4.50

3,5795 MHz 1.20

22.1184 MHz

4.50

30 MHz Frequency Counter Kit $47.75

Preiciler Kit to 350 MHz $19.95

COMPUTER BOARD KITS

8K RAM Board Kit $134.95

4KEPR0MKit 114.95

1/0 Board Kit 44.50

Extender Board w/connector 12.50

Video Interface board kit 125.00 16K EPROM board kit w/o PROMS 74.50

16K Static RAM board kit 395.00

North Star Floppy Disk Kit $665.00

Additional Drive Kit 415.00

Para Ironies 100 A Logic

Analyzer Kit $199.00

Model 10 Trigger Expander Kit $229.00

Model 150 Bus Grabber Kit $369.00

256 Bytes of RAM, audio amp. & spkr. Detailed assy. man. w/PC board & all parts fully socketed. Comp. Kit $106.95. High address display option 8.95; Low address display option 9.95; Custom hardwood cab.; drilled front panel 19.75; Nicad Battery Backup Kit w/all parts 4.95; Fully wired & tested in cabinet without options 151.70; 1602 software club. 10-12 pg. monthly publication

4K Elf Expansion Board Kit with Cassette l/F $79.95 nM peryr

Available on board options: 1K super ROM monitor $19.95. Parallel I/O port $7.95. RS232 l/F $3.50. TTY 20 ma l/F $1.95. S-100 Memory l/F $4.50. Need 4K Expansion Board Kit for all above options. Power Supply Kit ±5 + 12V 5 amp $24.95.

Tiny Basic for ANY 1802 System

Cassette $10.00 CllMr ctf „,„n„e »,La ,no/n„ Object code listing or

on ROM Monitor $38.00 Super Elf owners take 30%off- paper tape with manual $5.50

New Cosmac Super "ELF*

RCA CMOS expandable to 64K microcomputer w/HEX keypad input and video output for graphics. Just turn on and start loading your program using the resident monitor on ROM. Pushbutton selection of all four CPU modes. LED indicators of current CPU mode and four CPU states. Single step op. for program debug. Built in pwr. supply,

Auto Clock Kit $15.95

DG clock with 4-50" displays, Uses National MA-1012 module with alarm option. Includes light dimmer, crystal timebase PC boards. Fully regulated, comp. instructs. Add $3.95 for beautiful dark gray case. Best value

60 Hz Crystal Time Base Kit

All parts and instructions $4.40.

78 IC Update Master Manual

1978 IC Update Master Manual $30.00

Complete IC data selector 2175 pg. Master reference guide. Over 42,000 cross references. Free update service through 1978. Domestic postage $3.50. Foreign $6 00

Video Modulator Kit $8.95

Convert your TV set into a high quality monitor without affecting normal usage. Complete kit with full instructions.

RCA CosmacVIP Kit $275.00

Video computer with games and graphics.

Sinclair 3Vz Digit Multimeter $59.95

Batt. oper. 1mV and .1NA resolution. Resistance to 20 meg. 1% accuracy. Small, portable, completely assem. in case. 1 yr. guarantee.

PROM Eraser

Ultraviolet, assembled

$49.95

Circle 311 on inquiry card.

BYTE October 1978

195

What's New?

SOFTWARE

Personal Software

Port Offk» Box 136, Cambridge, Mute* T«fepho«w {617) 7«WX»4

02138

Personal Software Catalog Offers Large Selection of Software Packages

This new catalog is filled with software ranging from entertainment and self-education to personal finance, home information management and a variety of hobbies. A sampling of some of the software available includes: Stimulating Simulations, a set of ten games that simulate a situation that may be realistic or fanciful; Microchess, which enables the user to play chess against a TRS-80 computer; assembler in BASIC to make it possible to write programs in assembly language for the 6502 processor and have them translated to machine language for direct execution on the PET; and a word processing package available for PET owners who would like to compose and edit letters, articles and manuscripts at the computer and obtain corrected output at high speed. For a catalog containing these and other software packages, PET and TRS-80 owners should write to Personal Software, POB 136, Cambridge MA 02138, giving their serial numbers, memory size, and describing their most wanted software products."

Circle 642 on inquiry card.

Software Publication

A publication called The Software Exchange has been announced by its publisher Alan Bartholomew. Intended as a sort of "want ad" publication devoted to software produced by individuals, the plan is to put out six issues per year at a $5 per year subscription fee. For further details contact The Software Exchange, POB 55056, Valencia CA 91355.

Circle 646 on inquiry card.

Attention Readers, and Vendors..*

Where Do New Product Items Come From?

The Information printed In the new products pages of BYTE is obtained from 4'new product" or "press release" copy sent by the promoters of new products, if in our judgment the neat new whizbang gizm o or save the world software package is of in terest to the personal computing experimen ters and homebre wers who read BYTEf we print the information in some form. We openly solicit such information from manufacturers and suppliers to this marketplace. The Information is printed more or less as a first in first out queue] subject to occasional priority modifications.

Computer Chess Program Available in Assembly Language

Software Specialists, POB 845, Norco CA 91760, have announced a computer chess program for 8080 and Z-80 based microcomputers. This assembly language program conforms to all rules and conventions including castling, en passant captures, and promotion of pawns. The entire program, including input/output (IO) routines, will run in 8 K bytes of programmable memory.

The user can select one of two board sizes for display. . .large for 24 by 80 inch videos, or small for television typewriters and Teletypes. A level of difficulty between 2 and 5 is selected, with level 3 playing an average game. Both the user's and the computer's moves are displayed in standard chess notation.

For users with a North Star disk system, the program is available on disk and uses the DOS IO routines. The program is also available on paper tape with a 256 byte block reserved for the user's IO routines. Instructions are provided for loading the program and patching the IO routines.

The program is available in either form for $35. A deluxe version which allows presetting of the board to any playing situation is available on North Star disk only for $50. The standard starting addresses are 2A00H for disk and 0000H for paper tape. Other starting addresses are available on request at no extra charge."

Circle 647 on inquiry card.

Assembler for Microprogramming of Bit Slice Microprocessors

The Signetics Micro Assembler is a software package designed to be used for the complete microprogramming cycle including defining microinstructions, writing and assembling programs, and generating paper tape output for read only memory programming. The assembler permits flexible editing for debugging and program alterations through iterated loops, updates, and replacements, and includes a built-in test program to check system accuracy.

The assembler is written in ANSI FORTRAN IV and can be run on any 16 or 32 bit computer with FORTRAN capability.

The microassembly language provides direct support for the 3002 and 2901-1 bipolar processors and the 8X02 Control Store Sequencer. Through the inclusion of explicit definitions, similar support can be obtained for the 3001 Microprogram Control Unit, as well as other bipolar processing elements and sequences.

The Micro Assembler is available in source form on 9 track tape for $775. Contact Signetics Corp, POB 9052, 811 E Arques Av, Sunnyvale CA 94086."

Circle 643 on inquiry card.

System Monitor for 8085 Microprocessor

The Micro Mate-85 is a hardware connected system monitor for the 8085 processor. When operating in conjur tion with a terminal or video display, provides a means of examining ant, modifying memory locations and microprocessor registers at any point in an operating program through the implementation of addressable traps. The operating program may be started stopped at any location, or the progra may be stepped one location at a tirm The monitor provides a means of loadiii or punching a paper tape of memory data for microprocessor systems not containing conventional peripheral IO. Contact Spectrogram Corp, 385 State St, North Haven CT 06473."

Circle 644 on inquiry card.

Timeshare Disk BASIC System for North Star

A timeshare disk BASIC system is now available for users of the North Star floppy disk system. Designed to operate with microcomputers using the 8080 or Z-80 processors, Northshare provides up to four independent users with selectable memory partitions and buffered terminal outputs.

Minimum memory requirements for operation are 24 K bytes. There are no special hardware requirements other than additional terminals and IO ports to support the multiple users.

System includes one diskette with release 3 of North Star BASIC and DOS with Northshare supervisor and documentation package. Price is $48 from the Byte Shop of Westminster, 14300 Beach Blvd, Westminster CA 92683."

Circle 645 on inquiry card.

196

October 1978 ©BYTE Publications Inc

PLACE ORDERS TOLL FREE

800/262-1710 inside California 800/421-5809 all other states

MICROPROCESSORS

F8

16.95

Z8 0

20.00

Z80A

25.00 17.95

I802

2650

19.95

AM2901

20.00

6502

11.95

6800

16.95

6802

24.95

8008-1

12-95

8035

20.00

8080 A

9.9 5

8085

23.00

8748

60.00

TMS99 00

50.00

8080 A

SUPPORT DEVICES

8212

3.90

8214

4.6 0

8216

2.75

8224

4.00

8 2 2 4-4

9.9 5

8226

2.75

8228

6.40

8238

6.4 0

8251

7.50

8253

20.00

8255

6.35

8257

19.95

8259

19.95

8275

75.00

8279

18.50

6800 SUPPORT

6810P

4.00

6 8 Bl 0 P

6.00

6 8 2 0 P

6.50

682IP

6.50

6 8 2 8 P

11.25

6834P

16.95

6850P

8.75

6852P

11.00

6860P

9.00

6862P

12.00

687 IP

28.00

6875P

8.75

6880

2.50

ARACTER GEN.

13 U/L

6.75

.513(5v) U/C

9.75

2513 (5 v) L/C

10.95

6571

10.95

6571 A

It).95

6574

13.25

DYNAMIC RAMS

16D (2 0 0ns)

16.00

16 (200ns)

16.00

• 04/4 096

4.00

i 0 7 B-4

3.95

MS4 02 7

4.00

-V1S4 0 50

4.00

1 MS4 06 0

4.50

4096

4.00

MM5270

4.50

PROMS

1702 A

5.00

2516(5v)

3 8.00

27 08

9.00

2716 (Tl)

24.95

2716 (INTEL)

38.00

2758

23.25

STATIC RAMS

1-6 3

64 up

2 1 L0 2 (4 5

(450ns) 1.50

1.18

21 L0 2

(250ns) 1.75

1.50

410D 10.00

8.50

2101-1 2.95

2.50

2102 1.25

.9 0

2111-1 3.2 5

2.6 5

2112-1 2.75

2.35

2114

(300ns) 10.00

8.25

2114

(450ns) 9.00

7.69

2125L 7.69

6.6 0

TMS4044

(250ns) 9.95

8.0 0

TMS4044

(4 5 0 ns) 8.9 5

7.4 0

4200A 10.00

8.60

TMS4045

(250ns) 10.50 TMS4045

9.0 0

(450ns) 9.00

8.00

FLOPPY DISC CHIPS

1 7 7 1 B-0 1

39.95

KEYBOARD ENCODERS

AY-5-2376

13.75

AY-5-3600

13.75

^ffcr^w

EXRftNDO-32 KIT

Uses 4115 (8K*|) Dynamic RAMs, It can be expanded in 8K increments up to 32K

8K $I79QA

I6K $255 QQ

24K $325 02

32K $39900

JADE 8080A

KIT A+T BARE BOARD

$ 100.00 1149.95

$30.00

EXPANDO-64 KIT

Uses 4116 (J6Kx|) Dynamic RAMs, It can be expanded in I6K increments up to 64K

I6K32K48K64K

■ $260 QO $579 QQ $75702 S925QS

STATIC RAM BOARDS ASSEMBLED & TESTED 8K

Ram 8 (250ns) $169.95

Ram8B (450ns) $139.95 250ns KIT Mem-1 $149.95 450ns KIT Mem-1 $125.00 BARE BOARD $25.00

16K Uses 2114 (lo pwr.) Ram 16 (250ns) $375.00 Ram 16B (450ns) $325.00 MEM-2 Kit (250ns) $285.00 32K Assembled & Tested by SEALS ELECTRONICS JG-32 (250ns) $795.00

JG-32B (450ns) $725.00 250ns KIT $575.00

6800 Adapter .adapts Mem-1 8K board to Motorola MEK 6800D2 evaluation kit$12.95

TU-i

Convert T.V set to Video Monitor

KIT.

$8.95

JADEZ80

with PROVISIONS for ONBOARD 2708 and POWER ON JUMP

(2MHZ) $135.00ea.

Assembled & Tested $185.00ea. (4MHZ) $149.95ea.

Assembled & Tested $19995ea. Bare Board $35.00ea

JADE VIDEO INTERFACE KIT

KIT $II7,95

Assembled & Tested $189.95

S-100 Bus compatible 3 2 or 6 4 Characters per line - 16 lines Graphics {128 x 48 matrix) Parallel & compositive video On board low-power memory Powerful software included for cursor home, EOL, Scroll Graphics/Character Upper case, lower case and Greek. Black-on-white & White-on-black.

SHUGART801R

8" FLOPPY DISC DRIVE

MKLi

£49540

MODEL 801R Shugart Disc with Cabinet

Includes Cabinet, Disc Drive, Power Supply, Cable, Fan & Data Cable. Has AC line filter.

Cabinet size 10"H x 10"W x 16"D MODEL DM 2700-S $75Q QQ

FLOPPY DISC INTERFACE

JADE Floppy Disc (Tarbell Board)

KIT $175.00 ea.

S.D. Computer Products Versa Floppy Kit $159.00ea.

Assembled & Tested $189.00 ea."

Problem Sower

SvSTEWS, JfoC. 16K STATIC BOARD

with memory management can be used with Alpha Micro or Cromenco Systems,

ASSEMBLED & TESTED

RAM 651250ns) $390.00

RAM 65B (450ns) $350.00

HITACHI

VIDEO MONITORS - BLACK 9, WHITE

VM-129

12" Solid Stale Video Monitor

700 lines horizontal resolution

Includes black level clamping, DC restoration

circuit (switchablet, Ext sync provision (Optional)

VM~909 9'Sohd s,ateVideo Mormor

500 lines horizontal resolution line lock sync High voltage 1QKV

S370

$215

dppkz ii

S100STYLE

£35.00 $85.00

MOTHER BOARDS

9 slot "Little Mother" Assembled and Tested 13 slot with front panel slot Bare board $40.00

Kit $95.00

Assembled & Tested $110.00

2^lci^ssemble^^^ste^$14^5.

E-PROM BOARDS

MR-8 (8K uses 2708) KIT $93.50

with 1K RAM MR-16T (16K uses 2716) KIT $99.50

with 1K RAM EPM-1 (uses up to 4K of 1702) $59.95 RAM/N/ROM (16K uses

any E-PROM) KIT $117.00 JG-8/16 (uses 2708 or

2716) KIT $59.95

BARE BOARD $30.00

EXPANDABLE E-PROM

S.D. Computer Products 16K or 32K EPROM $49.95 without EPROM

Allows you to use either 2708's for 16K of Eprom or 2716's for 32K of EPROM.

One of the best "Total Package" home and business computers on the market. "Basic" in ROM, Color Graphics, Floating Point Basic Package, etc.

I6K version only $1.095.00

4116[l6Kxl-200NS] MEMORY EXPANSION KIT

Dynamic Ram Chip can be used for expanding Apple II Memory or the TRS-80 (200ns)

8 for $128.00

CONTAINS INSTRUCTIONS

Call for quote on larger quantities

JADE PARALLEL/SERIAL INTERFACE KIT KIT $124.95

Assembled & Tested $174.95

* S-100

* 2 Serial interfaces with RS232 interinterfaces or 1 Kansas City cassette interface.

* Serial interfaces are crystal controlled

* Selectable baud rates.

* Cassette works up to 1 200 baud.

* 1 parallel port.

Computer Products

4901 W. Rosecrans, Department B Hawthorne, Ca. 90250

Freight Charge $2.00 less than 10-lbs. Cash, Check, Money Order or Credit Card

6% sales tax on ail parts delivered in California Cards *

Discounts available at OEM quantities. Welcome

The Piggy is coming!

Circle 195 on inquiry card.

BYTE October 1978

197

What's New?

SYSTEMS

Intel Introduces Improved Single Board Computer

A New Appliance Computer from Pertec

Sometimes a few surprises happen. A recent case in point is the appearance of a new computer from Pertec Computer Corp's Microsystems Division (iCOM and MITS). This new computer, called Attache, is a surprise because it fits the functional definition of the "appliance" computer: it can be purchased off-theshelf in a ready to use condition. The base price of $1449 gets an assembled and tested computer, to which (at extra cost) one must add a BASIC interpreter on a read only memory board for the internal S-100 bus.

The Attache comes with a full ASCII keyboard, upper and lower case. It has a 10 slot board capability, LED indicators for on and off status, a reset switch which returns to the programmable read only memory monitor, a monitor PROM

that controls operation of the computer from the keyboard, and a 75 12 video output jack. The video output provides 16 lines of 64 characters and a choice of black on white or white on black display. The system includes forced air conditioning over the vertically mounted cards and a power supply which provides 10 V at 10 A (regulated to 5 V on boards), with preregulated +18 V and -18 V, each rated at 2 A. A 1 K volatile memory region and extra sockets for programmable read only memories are standard. The basic configuration includes keyboard, processor board, video board, and turnkey monitor board. Contact Pertec Computer Corp, Microsystems Division, 21111 Erwin St, Woodland Hills CA 91 367."

Circle 596 on inquiry card.

The iSBC 80/10A Single Board Computer, an enhanced version of the iSBC 80/10, has been introduced by Intel. The 80/1 0A gives the user up to twice the read only memory capability presently available on the 80/10, for the same price. The 80/10A sells for $495 and includes the Intel 8080A central processor, system clock, 1 K bytes of programmable memory, up to 8 K bytes of nonvolatile read only memory and both parallel and serial IO. The unit is available from Intel Corp, 3065 Bowers Av, Santa Clara CA 95051 .■

Circle 597 on inquiry card.

ITHACA AUDIO

THE OEM MARKETPLACE

Ithaca Audio Boards

Are fully S-100 compatable, featuring gold edge connectors and plated-through holes. All boards (except the Protoboard) have fully buffered data and address lines, DIP switch addressing, solder mask and parts legend.

Z-80 CPU Board Most powerful 8 bit central processor available. Featurina power-onjump, provision for on-board 2/08. Accepts most 8080 software. $35.00

8K Static RAM Board High speed static memory at the lowest cost per bit. Includes memory protect/unprotect and selectable wait states.

$25.00

2708/2716 EPR0M Board Indispensable for storing dedicated programs ana often used software. Accepts up to 16K of 2708's or 32K of 2716's. $25.00

Protoboard Universal wire-wrap board for developing custom circuitry. Accepts any size DIP socket. $25.00

S.D. SALES Expandoram Kit w. 8K $151.00

Ithaca Audio 24 4115's @ $7.00 ea. 168.00

TOTAL $319.00

S.D. SALES Expandoram Kit w.32K $475.00

YOU SAVE $156.00

Quality Components

RAM!

32K for $319.00

Ithaca Audio is now stocking the Mostek 4115 for S.D.'s Expandoram. Buy fheir basic kit, 24K of add-on RAM from us and SAVE.

ZIL0G Z-80

$19.00

ZIL0G Z-80A

23.00

Intel 2708

11.00

FAIRCHILD 2102 LHPC

1.60

FAIRCHILD 2102 LIPC

1.35

IMSAI 8080 Kit with 22 Slot MB

$560.00

plus $10.00 shipping.

HOW TO ORDER

Send check or money order, include $2.00 shipping per order. N.Y.S. Residents include tax.

For technical assistance call or write to:

ITHACA AUDIO

P.O. Box 91

Ithaca, New York 14850

Phone: 607/273-3271

198

October 1978 © BYTE Publications Inc

Circle 190 on inquiry card.

Circle 296 on inquiry card.

MODEMS AND PHONE COUPLERS

TAPE DRIVES

SELECTRIC TERMINALS

MODEMS: High-quality Bell 103 & Bell 202 styles by VADIC Corp. in an attractive desk-top case. EIA std RS-232 connectors permit choice of phone access via acoustic coupler, manual Data Access Arrangement or Auto-Answer DAA (sold separately.) Fully assembled & tested; up to 3,000 mile range over unconditioned phone lines.

Bell 103:

0-300 Baud, full-duplex, asynchronous serial data transmission; includes Auto-Answer. Prices:

Standard Features . . $149.95 VADIC PCB only w/ interface

instructions .

. $ 89.95

Acoustic Coupler.

. $ 29.95

DAA Kit (private line

only} ....

. $ 14.95

Bell 202:

0-1200 Baud rate, half-duplex operation over 2-wire lines; 0-1800 Baud full-duplex over 4-wire conditioned tines. Reverse Channel included. Standard Features . $219.95

Standard Features, with

Auto-Answer. . . $249.95 VADIC PCB only, with interface instructions, with Reverse Channel, Manual DAA$149.95 with Reverse Channel, Auto Answer. . . $179.95

CONVERT IBM OFFICE SELECTRIC to I/O Typewriter: solenoids, switches, wire harness, magnet driver PCB plus instructions -*6080 Interface Diag.$150.00 FORMS TRACTORS, Moore Variable-width "Form-A-Liner"

for 15" Carriage IBM SELECTRICS $ 50.00

for DIABLO HYTYPE I PRINTERS $ 90.00

AMPEX MODEL TMX TAPE DRIVES: Ideal for microcomputerist who wants backup mass storage or access to IBM-type systems via standardized 2400 series Vi" mag tape.

Specs: 9-track, NRZ1 standard, 800 BPI, 12"/sec, 1200 ft. reels (11 megabyte capacity.) Drive is like new & comes with 8-bit CPU controller diagram (requires only 11 l/C's) & MCPU interface instructions.

Prices: Drive & Documentation $750.00

Controller & cable for MCPU, assembled & tested $200.00

Hi-speed search option: controller moves drive at 72"/sec . $ 50.00 Software listing to read std IBM tapes, translate to ASC II . $ 50.00

SELECTRIC I/O TERMINALS (by GTE/Information Systems). Both ASC II & IBM code versions with microcomputer interface software & hardware (single EIA std RS-232 connector.) Cassette drive models permit up to 2400 baud data transfer rate as well as off-line data storage, use as memory typewriter, & use as data entry device for office personnel familiar with Selectric Typewriters but not computers. Wide-carriage; interchangeable type spheres; optional built-in modem. All units cleaned, adjusted & warranted.

Model 5541 $695.00

Model 5550 (corres, code, built-in cassette drive) . . , .$1195.00 Model 5560 (ASC II code, built-in cassette drive) . . . .$1295.00

IBM SELECTRIC APL TYPE SPHERES (Specify EBCDic or Correspondence Code), new . $15.00

Call or write for details, quantity discounts, and our CATALOG. See recent issues of BYTE for a list of other products and prices {including tape drives, power supplies, form tractors, paper tape readers, video monitors, ASC II encoded keyboards, Selectric & Diablo Terminals, etc.)

90 day warranty against defects in material or workmanship on all used equipment. Full documentation

PACIFIC OFFICE SYSTEMS, INC.

2600 El Camino Real, Suite 502

Palo Alto, Calif. 94306

(415) 321-3866

included PLUS interface instructions where indicated. Availability subject to prior sale. Prices may change without notice.

All orders shipped from stock. No back orders, no substitutions. All equipment is shipped insured FOB Palo Alto within 14 days after check clears or COD order is received. M/C & VISA accepted.

* YOUR BEST BUY IN WIRE WRAP SUPPLIES *

PRECUTWIRE

WHY BUY WIRE ON ROLLS? PRECUT & STRIPPED WIRE IS:

• F«»l - No more cutting & stripping by hand

• Raliublc - Good, clean, uniform strip

• Economical • Cheaper than using bulk wire

Pracut Wirt Bulk Wirt

100 pes of 3' at $ 82 i 3 .« ft 50 ft roll at S1 99 **/«. 100 pes of 6 at 1 06 2*/tt. 100 ft roll at 2 95 3c/n

Wire Kit 1 at $6 95 2 1/3B/ti.

a 30 Kynar stripped 1 on each and Lengths are owerall Colors R«d,Blue,Green Yellow.Black.Oange.White Wire packaged in plastic bags Add 25C/length for tubes

78 2 40 4 30/K 3 89/K

82 2 60 4 7VK 4 22/K

86 2 80 5 12 K 4 55 K

90 3 00 5 5&'K 4 88/K

94 3 21 5 93/K 5 21/K

98 3 42 6 34/K b 52/K

1 02 3 $5 6 75/K 5 86/K

106 3 85 1 16 K 6 19 K

1 15

4 05

7 57/K

6 52/K

1 20

4 25

7 98/K

6 85/K

1 25

4 45

B39/K

7 18/K

1 29

4 65

8 80/K

7 53/K

1 32

4 85

9 2VK

7 84/K

1 36

505

9 62/K

8 t7/K

t 40

5 25

10 03/K

8 50/K

1 45

55'

10 44/K

8 83/K

Addl inches

WIRE KITS

*-[ $6.95

2i $1995

250 2V 250 tf*

100 IV 100 5V 100 7 1 250 ft Ron Bulk

2.2" x 6.5"

SOLDERLESS BREADBOARDS SK 10 S16.50

INCLUDING:

Over 100 pieces of precut wire m assorted lengths — free' Choose 1 color Red, Black. Blue. Yellow. Green, White. Orange Or Assortment

INTERCONNECT CABLES

on cable Conne< front panel

SINGLE EN 4 pin 16 pin

tors lor c

DED 24 pm 2 05 2 24 263 340

onnectmg boards to

DOUBLE ENDED 14 pin 16 pin 24 pin

1 24 1 34 1 33 144 1 52 165 191 206

2 24 233 2 52 2 91

2 45 3 37 2 55 3 92

2 76 4 31

3 17 506

WIRE WRAP TOOLS

$34.95

With Free Wire Kit 1 ($6.95 Value)

HOBBY WRAP Model BW 630

Batteries & Charger

WSU 30 Hand Wrap-Unwrap Strip Tool

WSU 30M. for Modified Wrap

BT 30 Extra Bit

$11 00 625 725 2 95

WIRE WRAP SOCKETS

100 249 250 999 IK 5K

.95 1.50 1.40

.33

.31

29

.33

.31

29

.35

.33

.31

.55

.45

.43

.78

.71

.63

.85

82

.78

.84

.78

68

1.05

.95

80

.89

.84

.80

1 30

1.20

.76 1 05

Gold 3 Level Closed Entrv Design. *End & Side Stackable. All prices include Gold.

2 Level Sockets Also Available

EDGECARD

CONNECTOR

SALE!

44 Pin

Solder Tail

$1 75

$15/10

100 Pin

Solder Tail

3.50

$30/10

100 Pin

Wire Wrap

3 50

$30/10

All connectors include Gold.

PAGE DIGITAL ELECTRONICS

Ordering Information:

Orders under $25 and COD'S, add $2

aii others, shipped ppd m us via ups 135 E. Chestnut btreet 5 For Blue Label (A,r) or ist Class, add $1 Monrovia, California 91016

We accept Visa & Mastercharge ' Cr\r\tr

Most orders shipped same day Phone (213) 357-5005

Dealer Inquiries Invited

Circle 297 on inquiry card.

BYTE October 1978

199

Whal's New?

SYSTEMS

Cromemco Features a Z-80 Based Microcomputer

Cromemco's System Three is idea! for a wide range of professional work in almost any field. It consists of a 4 MHz

Z-80 based microcomputer, 32 K bytes of programmable memory (two 16 K byte cards) expandable to 512 K bytes,

an RS-232 interface, a parallel printer interface, a video terminal with line editing and block mode transfer capabilities, and a fast line printer with 132 columns.

System Three is available with a number of options including a programmable read only memory programmer for development work, an additional dual disk drive and additional memory. With the optional second disk drive, System Three provides a megabyte of disk storage.

It has several provisions for protection of disks including software control for ejection of disks if desired, a key switch that will disable the disk eject buttons when in the LOCK position and motor driven disk loading and unloading.

Currently available software includes a FORTRAN IV compiler, a 16 K byte Z-80 BASIC, and a Z-80 macroassembler and linking loader. All software is available on standard, IBM format, soft sectored diskettes.

The System Three mainframe is available for $5990. The additional video is available in two models for either $1 595 or with expanded capabilities including line editing and block mode transfer for $1995. The additional line printer is also available in two models including a 180 character per second model for $2995 and a 60 character per second model for $1495. For more information, contact Cromemco Inc, 280 Bernardo Av, Mountain View CA 94040.*

Circle 601 on inquiry card.

Compucolor Introduces Series of Color Home Computer Systems

New Microcomputer Based on Tl TMS 9900

The Compucolor II is a personal computer system available in five models,

with its own 8 color, 13 inch (33.02 cm) diagonal display, a typewriter-like keyboard with 3 key rollover, 8080A processor, 4 K bytes to 16 K bytes memory (depending on the model), and a built-in minidisk drive mass storage device. The Compucolor II utilizes BASIC 8001, a conversational programming language with English-type statements and familiar mathematical notations.

Games like Star Trek, Blackjack, Chess, Checkers, Othello, and educational games for youngsters are available on diskettes. In addition, there are programs available for checkbook balancing and income tax compilation.

Prices for the Compucolor II range from $795 to $1995. Further information can be obtained from Compucolor Corp, POB 569, Norcross GA 30091."

Circle 602 on inquiry card.

S-100 Microcomputer Price Reduction

Quay Corp, POB 386, Freehold NJ 07728, has announced that its Q80AI, Z-80 based, S-100 compatible microcomputer has been reduced in price. The Q80AI, formerly priced at $550, is now available, factory assembled and tested for $350. The unit includes 1 K byte

static programmable memory, 1 K byte programmable read only memory resident monitor, on board programmable read only memory programmer, keyboard interface and serial (RS232C/ TTY) input and output (IO).

Quay has also package priced the

The SS-16, a 16 bit microcomputer based on the Texas Instruments TMS 9900, has been introduced by Technico Inc, 9130 Red Branch Rd, Columbia MD 21045. System memory is expandable up to 64 K bytes, and the unit is available with dual floppy or minifloppy disks. Expansion cards provide up to six RS-232 and 20 mA current loop interfaces. Also available are a 64 color video board and a 128 bit parallel input and output board, a complete editor, assembler, linking loader and BASIC. European 220 V, 50 Hz models are also available."

Circle 603 on inquiry card.

Q80AI, the Q80SMB (8 K byte static memory board) and the Q-TBPE-80 (Palo Alto Tiny BASIC-extended) to sell for $495."

Circle 604 on inquiry card.

200 October 1978 © BYTE Publications Inc

CaUFornIa DiqiTAl

Post Office Box 3097 B • Torrance, California 90503

CLARE PENDAR fHI General Instrument Corp LUJ

KEYBOARD ASCII ENCODED

ft $64.95

This is a one time purchase of NEW Surplus keyboards, recently aquired from the Telecommunications Division of the Singer Corporation. The keyboard features 128 ASCII characters in a 63 key format, MOS encoder circuitry "N" key rollover, lighted shift lock, control, escape and repete functions.

Sloped pannel and positive feel switches, makes this professional quality keyboard an excellent buy at only $64.95. Limited Quantities.

H i I i I 3 I 4 | I |

jEjjngfflmo

lMi[£UlEWp»|PC4|gM|HAK HT *l OLE % »T| Q 1 W| E [R I T 1 Y | U 1 I 1 0 | P ](j

I )SOH]DC3|EOT|ACKlBELl I I VT I fV I +

{ A S D F G | H J K L ;

" ' l*UBKHET*l*™l*™l & I I ' I ' |7

smrT[ z X | C | y | B"| N I M | < | > >

SPACE

|FS , I SACK | Mi

\ : E3 '

I I U* I LINE

, i u*Tlime| re I J — I rctipj ruitNJ

shim

CONNECTORS

flflflflflflflflflBflfl

your choice

DB25P

male plug & hood

or

OB25S female

»3?5

Qtv fe. male hd 10 3 45 2.45 1.15 25 3.15 2.25 1.05 100 2.S5 1.90 .95 500 2.25 1.60 .85 IK 1.97 1.37 .73

S-100 Mother Board

Quiet \ Suss

HEXADECIMAL KEYBOARD

Maxi-Swllch hexadecimat keyboards are designed for JM*3Bjfl 95

microcomputer systems that require 4-blt output ^ ~ •■**♦■

in standard hex code.

Each assembly consists of 16 hermeti

cally sealed reed switches and TTL "om

shot" debounce circuitry.

Reliable low friction acetal resin

plungers are credited for the smooth

operation and long life of this premium

keyboard.

Requires single * 5 voll supply.

TELETYPEMODEL 43

New from Teletype, the Model 43 is capable of printing 132 ASCII characters per line. Send and receive data at 10 or 30 char, per second. Kay board generates all 128 ASCII code combinations RS 232 interface, same as the popular Model 33. Data sheet sent upon request. Manufac turer suggested price $1377.00.

IMMEDIATE DELIVERY '1219

TTL model with NOVATION brand Acoustic Modem. '1419

rECl

Edge Connectors

GOLD 100 PIN

IMSA1/ALTAIR

Imsai solder 125* 250 Imtal w/w.l25centeri AI fair soldertail .140 row SPECIALS 22 44 Kim eyelet.156" 25/50 solder tab .156" 36 72 wide post w/«.156

'4.98 C~.e~4._k Certified Digital

*5 SCOtCn CASSETTES

llOfor S45

Diskettes

8 inch Soft (IBM) 8 inch 32 sector Mini Soft sec. Mini 10 sector Mini 16 sector

Won't drop a BIT!

CALIFORNIA INDUSTRIAL

is an

Authorized

Dealer of

Scotch Brand

Dataproducts

2U02

LOW POWER

45Q niS

7497 74100 74107 74109 74110 74116 74120 74121 74122 74123 74125 74126 74128 74132 74136 74141 74145 74147 74148 74150 74151 74153 74154 74155 74156 74157 74159 74160 7416L

4033 4035 4040

4046 4047 4049 4050

'24.88

f<"?N % UNIVAC KEYBOARD

DIGITAL

ALARM CLOCK

Completely $|Q95 Assembled LU.

Walnut-grained decorator clock features large 7" LED display which is driven by the new National MM5385 alarm clock chip Preset 24-hour alarm function allows you to awaken at the same time each morning without resetting. Upon reaching the wake-up time, the clock's loudspeaker emits a gentle tone. Touch the snooze button and doze off for an additional 9 minutes of sleep Clock also (unctions as a ten-minute elapse timer "Alarm Set" indicator, AM-PM display.

COLOR TELEVISION R.E MODULATOR

ij.gj^

The Atari RF Modulator

allows computer data to be

displayed directly upon your

Isting television system

lis unit converts the sig

i from the Apple II and

other video sources into

television frequencies.

Operates Irom single S

volt supply. Complete

with metal case, mating

R F connector and 15

>. Schematics

SPECIAL

APPLE (I

IBK MEMOR'

COLOR • GRAPHICS* SOUND

$1024

Mfg.Sug. Retail...

H195

This joystick feature four 100K potentiometers, that vary resistance proportional to the angle ot the stick Reelect (or television games qui

-^ LED . DIGITAL

Darkroom Timer-Kit

As featured in the August 78 issue of POPULAR ELECTRONICS. Time 1 second to 10 hours

ieP"»T. upon request.

Digital Cassette Drive

COMPUTER CONTROLED

SPECIAL SPECIAL SPECIAL Only 10,000 Available

NE555H

7402 7403 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413 7414 7416 7417 7420 7422 7423 7425 7426 7427 742B 7429 7430 7433 7437 7438 7439 7440

L02V r .

i for *.tJ €3

This precision I/O assembly features remote software controlled search capabilities. Two independent capstan drive motors allow the computer to control direction and speed of the transport.

The assembly consists of a Raymond cassette transport, chassis, motherboard and three edge cards: read/write, capstan drive & control card. Current replacement valued at over $700.00. Schematics and complete documentation included. USED, but in excellent condition.

S-100 PROTOTYPE BOARD

0*100- Mo xi mum design ver (4AQQ sotilrty olong with standard 1 %#.«**» address decoding and bulferlno for S100 systems Room for 32 uncommuted 16 pin IC 5, 5 Bus buffer & decoding chips. 1 DIP address select switch a 5 volt regulator and more WWlOOWire wrap breadboard similor to the GP100 Allows wire wrap of all sizes of sachets in any sizes of sockets in any combination An extra regulator position for multiple voltage appucottons

Thumbwheel l^k switch

Ten position

BCD

*139ea.

10 50

si 19~51~

fro

'I

w

CAPACITORS

350N

351CN

370H

370N

373N

377N

380N

381N

382N

NE56S*

NE556

NE565H

•*SU!V ?-*

$.69

Conductor Ft. _^

RIBBON WIRE

TWISTED PAIR

UART |AY5 1013A

$4.98

SPECIAL

GENERAL INSTRUMENT ASCII Keyboard Encoder AY 5-3600 Pome but house marked only $4.95

■ 'j I / 1J [Tniastet charge]

Transistors

ea. 10 50 100

Mi 3055 2N3772 2N3904

2N3906

2N2222A.20 .18 .16.15 2N3055 .69 .65.59.55 .79 .75.69.65 1*9 149 1.391?9 .15 .11 .09.07 .15 .11.09.07

Diodes

10 25 100 1N4002 100*. .08 06.05 1N4005 600*.10.08.07 1N4148 signal .07 45.04

iumbo red ei. 10 25 100 .ED'S H5.13.U.M

Power Adapter

6vdc,140mAU» 7vdc,1.4 A. 5.50 9vdc, 15mA. 1.19

10vAc,300mA.

'"M

TRIMMER

POTENTIOMETERS

2K SK 10K 50K

5.0*98

20 SO 100

W

16< 14< 12

213.679-9001

Page Wire Wrap Kits precut & stripped

KITNo.1 *6.»*

900 Assorted Lengths

KITNo.2U9?5

2800 Asserted Lengths 250' Bulk Wire

ELECTROLYTICS

m 10

50

80,000/10V. 395 3.49 2.95 4500/50V.H4* 135 U9

1000/15v 5 55 49 45 mam

.1 disc M2 .09 .07 .01 disc .00 .05 .04

Miniature / Switches A

your choice

10 so 100 In *-y5 *.88 .81.73.66 | SPOT Miniature Toggles

7101 C&K ON NONE ON

7107 jbt ON-OFF(mnt.ON) I

7108 CK ON (moment. ON)

Rocker 1ST DPDT

Rotary 3P-4-Pos.

Rotary 3P-6Pos.

Push B (NO* I.39ea. 4 51

DIP Switch

™ > 291.15 .97 .«*

specify

DISCOUNT

Wire Wrap Center

Heavy duty'grounded power cord and mating chassis connectors.

PANASONIC

»98

450mA.

IC SOCKETS

pirr

wire wrap ea. 25 50

low profile ea. 25 50

8 14

17' 16 15 18 17 16

37(36 35

16

38 37 36

19 18 17

24

99 93 85

36 35 34

40

169 155 139

63 60 58

$23.95 BW630

so,, KVNARSUl

.98 500 1,000 11,000

19. S15. S105

JJlJPrl'jfJl.JjftJliWff

BYTE October 1978 201

DIGITAL PLOTTER

FEATURING THE IEEE 488 BUSS THE RS 232 SERIAL DATA INPUT

INTERFACE OPTIONS OR DIRECT FROM ANY TTL PORT

BASIC AND MACHINE LISTING SOFTWARE FURNISHED

KIT IS $ 195

ASSEMBLED-TESTED $ 249,

WRITE FOR DETAILS TO

X ™Y ENTERPRISES P.O. BOX 796

HUNTSVILLE ALA. 3Sft04

Circle 397 on inquiry card.

CANADIANS Announcing

HAMILTON LOGIC SYSTEMS

Specializing in logic devices, microprocessors,

memorys, TTL, Cmos, etc.

Send for your catalogue

Box 7

STONEY CREEK

ONTARIO L8G 3X7

Circle 157 on inquiry card.

SURPLUS ELECTRONICS

ASC

ASCII

IBMSELECTRIC

BASED I/O TERMINAL

WITH ASCII CONVERSION

INSTALLED $695.00

• Tape Drives • Cable

• Cassette Drives • Wire

• Power Supplies 12V15A, 12V25A, 5V35A Others, • Displays

• Cabinets • XFMRS • Heat Sinks • Printers • Components Many other items

Write for free catalog WORLDWIDE ELECT. INC. 10 FLAGSTONE DRIVE HUDSON, N.H. 03051 Phone orders accepted using VISA or MC. Toll Free 1-800-258-1036 In N.H. 603-885-3705

Circle 395 on inquiry card.

The "EXTERMINATOR" by VAMP

All New Dual Function Board: Serves as an extender card & also terminates S-100 bus. Eliminates crosstalk, overshoots & noise which can scramble data. Occupies only a single slot. Fully fused.

VTE-100 "Exterminator" .$49.95 Extender Card only

with connector $21.95

Add $2 Shipping

6% Calif. Sales Tax.

VAMP Inc.

Box 29315

Los Angeles, Calif. 90029

Circle 386 on inquiry card.

MICROVERTER

A SPECIAL COLOR MODULATOR FOR APPLE II USERS!! UHF Version. Operates above channel 14. Eliminates worms'!

Operates above the switching harmonics of the computer, thereby Yielding a cleaner, worm-free piehire. Tunable over a minimum of 4 channels. Interfaces directly with the Apple II as well as most other micros. Comes wifti video cable and RF output stub coupler. Two-toned cowl type decorator cabinet. Size: 5.5cm i 8.5cm i 11.5cm. Power;+5V. Current approi. I ma. Self-powered with 4 pencell batteries. Operating life in excess of 1000 hours or near shelf-life of batteries. Excellent stability. Precise frequency adjustment. Wo assembly required except for installation of batteries, not supplied. MODEL MVX-500.

AVAILABLE FROM YOUR LOCAL COMPUTER DEALER or direct from ATV RESEARCH. COST including shipping anywhere in USA and Canada — $35.00.

"PIXE-PLEXER" An IC type video-to-RF modulator includes FM sound sub-carrier, color subcarrier and separate R-r and B-V Inputs. Designed around the LM-1889 chip. A designer's dream with full data sheets. Model PXP-4500. Kit form. 124 50 postpaid.

•PIXE-VERTER" The original computer video-to-RF interface module, Kit form. SB.50 Model PXV-2A

^/H

13-B Broadway ATV Research Dakota City. Nebr.

M—?^M 68731

Circle 22 on inquiry card.

NEW SURPLUS PRINTER

Okidata - CP 110 - Friction Feed Un Used, in OEM Factory Cartons.

• 5x7 Impact Dot Matrix

• 80 Char/Line

• 64 Char ASCII

• 110 Char/Sec.

• 66 Lines/Mm.

• Accepts 8VT Roll paper

Includes - Power Supply, Built in Selftest, Parallel Interface, Line Buffer and Cables. Housed in a three piece plastic cabinet with all control electronics. Retail for over $1,100

Our Price: 1 ea. $650 10 up $600 ea.

Operating Manual Included.

Service Manual $20 Supplies Limited

Shipped Freight Collect. Send Check or M.O. Sorry No Warranty Available at these Prices

INTERNATIONAL ELECTRONICS EQUIPMENT CORP.

P.O. Box 522542, Miami, Florida 33152

Circle 177 on inquiry card.

^

Xpce electronics"X~

S-IOO KITS

16/4 + 1 EPROM/RAM BOARD KIT 8K STATIC RAM KIT II SLOT MOTHER BOARD with sockets 48K DYNAMIC RAM KIT VERSAFLOPPY DISK CONTROLLER All kits are complete with sockets and documentation.

$130°° $130°° $80°° $631°° $ 155 °°

A

prices subject to change

There is much more, including complete systems; for more information, write for our flyer.

P C E Electronics 4782 Dewey Drive Fair Oaks Ca. 95628

•master charge

* phone orders (916)966-2208

•COD requires 5 0*7, Deposit

■5 *7„ for shipping, excess refunded

• calif residents add 6 7° sales tax

• all products guaranteed

202 BYTE October 1978

Circle 288 on inquiry card.

• * • ••«

•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••J

••••••••••••♦••••♦•••••••••••••••••••••••••♦•••••••••••••••••♦J*;;

•••••••••••••••••••i

• •..

• ••••

• ••••

• ••••

• ••••

• ♦•••

• ••..

• ••••

• •••• •••••< •••••

• ••••

• ••••

• ••••

••••••

•••••

• •••• ••••••

•••••

•••••

• •••• •••••

••••••

•••••

•••••

••*..

••••••

••••••

• •••••

•••..

••••••

••••••

•••••

••••••

•••••

•••••

••••••

•••••

••••••

•••••

••••••

• •••• ••••• ••••••

!•••• )••••

»••••

!•••••

§•••••

• •••••

§••••>

§•••••

!•••..

••••••

••••

•••••

ltd*!

f

KIT FEATURES:

1. Double sided PC board with solder mask and silk screen and gold plated contact fingers.

2. Selectable wait states.

3. All address lines & data lines buffered!

4. All sockets included.

5. On card regulators.

KIT INCLUDES ALL PARTS AND SOCKETS (except 2708s) Add $25. for assembted and tested.

16K E-PROM CARD

IMAGINE HAVING 16K OF SOFTWARE ON LINE AT ALL TIME! S-100 llmsai/Altair] Buss Compatble!

PRICE CUT!

HH it

rJ!!!?!J!

$57.50 kit

SPECIAL OFFER:

WAS $69.95

Our 2708'$ (450NS) are $8.95 when purchased with above kit.

-&{

$m

KIT FEATURES:

ADD

$20 FOR

250 NS

1. Doubled sided PC Board with solder mask and silk screen layout. Gold

Slated contact fingers. ill sockets included.

3. Fully buffered data lines.

4. Phantom is jumper

Pin 67. OUR 7805 regulators are

0f,Cird' (450NS)

address and

selectable to

provided

BK LOW POWER RAM KIT $149 00

S-100 (Imsai/Attair) Buss Compatible! ^ kits for $279

Fully Assembled & Burned In

$179.00

Blank PC Board w/ Documentation

$29.95

Low Profile Socket Set 13.50

Support IC's (TTL & Regulators)

$9.75

Bypass CAP's (Disc & Tantalums)

$4.50

USES 21L02 RAM'S!

MOTOROLA QUAD OP - AMP

MC3401. PIN FOR PIN SUB. FOR POPULAR LM 3900.

3 FOR $1

ALARM CLOCK CHIP

N.S. MM5375AA. Six Digits With full Data New!

$2.49 each

MOTOROLA 7805R VOLTAGE REGULATOR

Same as standard 7805 except 750 MA output. TO-220. 5VDC output.

44c each or 10 for $3.95

FULL WAVE BRIDGE

4 AMP. 200 PIV. 69$ 10 FOR $5.75

NOT ASSOCIATED WITH DIGITAL RESEARCH OF CALIFORNIA, THE SUPPLIERS OF CPM SOFTWARE.

450 NS! 2708 EPROMS

Now full speed! Prime new units from a major U.S. Mfg. 450 N.S. Access time. 1 K x 8. Equiv. to 4-1702 A's in one package.

$15.75 ea.

PRICE CUT

$g

95 4 FOR $50"

SALE! 16K DYNAMIC RAM CHIP

16K X 1 Bits. 16 Pin Package. Same as MOSTEK 4116-4. 250 NS access. 410 NS cycle time. Our best price yet for this state of the art RAM. 32K and 64K RAM boards using this chip are readily available. These are new, fully guaranteed devices by a major mfg. <*+*%

VERY LIMITED STOCK! *1795 EACH 8 FOR $129

4K STATIC RAM'S

2114. The new industry standard. Arranged as 1K x4. Equivalent to 4-21 L02's in 1 package I 18 pin DIP. 2 chips give 1Kx8.

2/$19 8 FOR 69.95

OPCOA LED READOUT

SLA-1. Common Anode. .33 inch character size. The original high efficiency LED display. 75c ea.

4 FOR $2.50

Z-80 PROGRAMMING MANUAL

By MOSTEK, or ZILOG. The most detailed explanation ever on the working of the Z-80 CPU CHIPS. At least one full page on each of the 158 Z-80 instructions. A MUST reference manual for any user of the Z-80. 300 pages. Just off the press. $12.95

NATIONAL SEMICONDUCTOR

JUMBO CLOCK MODULE

K^j

FEATURES

• FOUR JUMBO v INCH LED DISPLAYS

• 12 HR REAL TIME FORMAT

. 24 HR ALARM SIGNAL OUTPUT

• 50 OR 60 Hz OPERATION

. LED BRIGHTNESS CONTROL

• POWER FAILURE INDICATOR . SLEEP 4 SNOOZE TIMERS

. DIRECT LED DRIVE {LOW RFI)

• COMES WITH FULL DATA

ASSEMBLED! NOT A KIT!

ZULU VERSION!

fc nave a limited number ol the ?4 HR Real nt; MtMW) ol ih.s module in iiocfc • MA1008D - $9.95

PERFECT FOR USE WITH A TIME BASE

(AC XFMR S1.95J

COMPARE AT UP TO TWICE OUR PRICE!

Digital Research Corporation

w (OF TEXAS! »

(OF TEXAS)

SALE1

1N4148 DIODES, SILICON.

Same as 1N914. New,

factory prime, Full Leads.

100 FOR $2

1000 FOR $17.50

REAL TIME Computer Clock Chip

N.S. MM5313. Features BOTH 7 segment and BCD outputs. 28 Pin DIP. $4.95 with Date

MICRO-MINI TOGGLE SWITCH

SPDT. By RAYTHEON. MADE IN USA! WITH HDWR.

6 FOR $5

TERMS: Add 30$ postage, we pay balance. Orders under $15 add 75<t handling. No COD. We accept Visa, Mastercharge, and American Express cards. Tex. Res. add 5% Tax. Foreign orders (except Canada) add 20% P & H. 90 Day Money Back Guarantee on all items.

Circle 1

What's New?

MEMORY

S-100 IO Read Only Memory Board

The Master IO contains enough read only memory and IO to allow a 2 board S-100 system and can be used to emulate the Intel SBC IO functions. This board can replace a real time clock, a fre

quency and period counter, programmable read only memory and programmable memory, and parallel and serial IO cards.

Besides 1 K bytes programmable

memory and 3 K read only memory, the board has the following peripheral chips: two 8255s which can be programmed to be input ports, output ports, handshaking ports and a bidirectional data port. One of the ports on each chip can use bit and reset commands. Each 8255 has a total of 24 possible IO lines. One 8253 has three 16 bit counters and timers in each chip. Each counter and timer can be programmed to be a binary counter or a binary coded decimal counter, a programmable one shot, a digital delay, a pulse wave rate generator (divide by N), a square wave rate generator, a software triggered strobe and a hardware triggered strobe.

The 8251 universal synchronous and asynchronous transceiver can be programmed for various clock division ratios. All the usual UART functions are available plus synchronous serial IO to 56 bps. One of the 8253 counters is dedicated to the USART (8251). This allows complete software programability of bps rates. Over 60,000 bps data rates are available.

For further information, write to Space Time Productions, 2053 N Sheffield, Chicago IL 60614."

Circle 549 on inquiry card.

S-100 PROM Board

This programmable read only memory (PROM) board for the S-1 00 bus can

be used with eight 2708 type E read only memories with provisions for using

2716s or the pin compatible 8316 memories. This provides for a total storage capacity of 1 2 K bytes.

While the board is prejumpered for the use of the programmable read only memories as a continuous block of memory, the address decoding scheme provides for using any programmable read only memory anywhere within the memory map. This addressing scheme provides monitors at both the low and high order end of the memory map.

The memory ready line is pulled low when slower memories are utilized. Three spare 16 pin pads are provided on board for user electronics.

The board is available in kit form, fully socketed at $59.95; assembled and fully tested versions are also available at $109.95. Bare boards can also be obtained. For further information contact Mini Micro Mart, 1618 James St, Syracuse NY 13203."

Circle 550 on inquiry card.

Memory Board Compatible with SBC 80 Multibus

This 32 K byte programmable read only memory board is compatible with

Intel's SBC 80 Multibus. The PROM-32 accepts 16 2716 erasable read only memories. All integrated circuits are socketed. Base addresses fall on 16 K byte boundaries and are jumper selectable. Any number of 2 K byte memory address blocks may be deselected by jumper removal. Memory access time is 475 ns maximum. The board uses 5 V at 0.38 A typical, and 0.72 A maximum fully loaded. The board is priced at $195 in unit quantity and can be obtained from Electronic Solutions Inc, 7969 Engineer Rd, San Diego CA 92111 .■

Circle 553 on inquiry card.

EMM Cuts Prices on 2 K Static Memory

A major price cut on the 3539 2 K byte static programmable memory has been announced by EMM Semi Inc, 3883 N 28th Av, Phoenix AZ 85107. In quantities of 500, the price has been cut from $7.80 to $4.05.

The 3539 is a byte organized 256 by 8 static programmable memory comprising a small memory on an integrated circuit. It replaces the older 256 by 4 programmable memories (2101 and 2111) for many small memory applications, since only one component is required instead of two. For more information, contact EMM Semi Inc."

Circle 554 on inquiry card.

204

October 1978 ©BYTE Publications Inc

a COMPUTER INTERFACES & PERI PHERALS

For free catalog including parts lists and schematics, send a self-addressed stamped envelope.

APPLE II SERIAL I/O INTERFACE *

Part no, 2

Baud rate is continuously adjustable from 0 to 30,000 • Plugs into any peripheral connector • Low current drain. RS232 input and output • On board switch selectable 5 to 8 data bits, 1 or 2 stop bits, and parity or no parity either odd or even • Jumper selectable address • SOFTWARE • Input and Output routine from monitor or BASIC to teletype or other serial printer • Program for using an Apple II for a video or an intelligent terminal. Also can output in correspondence code to interface with some selectrics. Board only — $15.00; with parts — $42.00; assembled and tested — $62.00.

MODEM*

Part no. 109

• Type 103 • Full or half duplex • Works up to 300 baud • Originate or Answer • No coils, only low cost components • TTL input and output-serial • Connect 8 ohm speaker and crystal mic. directly to board • Uses XR FSK demodulator • Requires +5 volts • Board $7.60; with parts $27.50

DC POWER SUPPLY*

Part no. 6085

• Board supplies a regulated +5 volts at 3 amps., +12, -12, and -5 volts at 1 amp. • Power required is 8 volts AC at 3 amps, and 24 volts AC C.T. at 1.5 amps. • Board only $12.50; with parts excluding transformers $42.50

TAPE INTERFACE *

Part no. 111

• Play and record Kansas City Standard tapes • Converts a low cost tape recorder to a digital recorder • Works up to 1200 baud • Digital in and out are TTL-serial • Output of board connects to mic. in of recorder • Earphone of recorder connects to input on board • No coils • Requires +5 volts, low power drain • Board $7.60; with parts $27.50

TV. TYPEWRITER

Part no. 106

• Stand alone TVT

• 32 char/ line, 16 lines, modifications for 64 char/line included • Parallel ASCII (TTL) input* Video output • 1K on board memory • Output for computer controlled curser • Auto scroll • Non-destructive curser • Curser inputs: up, down, left, right, home, EOL, EOS • Scroll up, down • Requires +5 volts at 1.5 amps, and -12 volts at 30 mA • AH 7400, TTL chips • Char. gen. 2513 • Upper case only • Board only $39.00; with parts $145.00

TIDMA

Part no. 112

• Tape Interface Direct Memory Access • Record and play programs without bootstrap loader (no prom) has FSK encoder/decoder for direct connections to low cost recorder at 1200 baud rate, and direct connections for inputs and outputs to a digital recorder at any baud rate. • S-100 bus compatible • Board only $35.00; with parts $110.00

UART & BAUD RATE GENERATOR3"

Part no. 101

• Converts serial to parallel and parallel to serial • Low cost on board baud rate generator • Baud rates: 110, 150, 300, 600, 1200, and 2400 • Low power drain +5 volts and -12 volts required

• TTL compatible • All characters contain a start bit, 5 to 8 data bits, 1 or 2 stop bits, and either odd or even parity.

• All connections go to a 44 pin gold plated edge connector • Board only $12.00; with parts $35.00 with connector add $3.00

8K STATIC RAM

Part no. 300

• 8K Altair bus memory • Uses 2102 Static memory chips • Memory protect • Gold contacts • Wait states • On board regulator • S-100 bus compatible • Vector input option • TRI state buffered • Board only $22.50; with parts $160.00

RF MODULATOR

Part no. 107

• Converts video to AM modulated RF, Channels 2 or 3. So powerful almost no tuning is required. On board regulated power supply makes this extremely stable. Rated very highly in Doctor Dobbs' Journal. Recommended by Apple. • Power required is 12 volts AC C.T., or +5 volts DC • Board $7.60; with parts $13.50

*

RS 232/TTY INTERFACE

Part no. 600

• Converts RS-232 to 20mA current loop, and 20mA current loop to RS-232 • Two separate circuits • Requires +12 and -12 volts • Board only $4.50, with parts $7.00

0a#T *»#' 4t>0

RS 232/TTL* INTERFACE :~

Part no. 232

• Converts TTL to RS-232, | and converts RS-232 to m TTL • Two separate circuits ■

• Requires -12 and +12 volts

• All connections go to a 10 pin gold plated edge connector • Board only $4.50; with parts $7.00 with connector add $2.00

ELECTRONIC SYSTEMS DepfB- RaBox21638'SanJose,cA.usA95151

Mention part number and description. For parts kits add "A" to part number. In USA, shipping paid for orders accompanied by check, money order, or Master Charge, BankAmericard, or VISA number, expiration date and signature. Shipping charges added to COD. orders. California residents add 6.5% for tax. Outside USA add 10% for air mail postage, no C.O.D.'s. Checks and money orders must be payable in US dollars. Parts kits include sockets for all ICs, components, and circuit board. Documentation is included with all products. All items are in stock, and will be shipped the day order is received via first class mail. Prices are in US dollars. No open accounts. To eliminate tariff in Canada boxes are marked "Computer Parts." Dealer inquiries invited. 24 Hour Order Line: (408) 226-4064 * Circuits designed by John Bell

To Order:

Circle 125 on inquiry card.

BYTE October 1978

205

IT'S A GREAT BIG COMPUTER WORLD

Tj But You Only Need

-h-THE COMPUTER CORNER1

"♦*- • SOL - A New Dawn is Hert!

"*" • COMMODORE PET & KIM

"*" • NORTHSTAR HORIZON

-*- • IMSAI VDP-80

~**~ •Memories & I/O Boards

-*

-W- • Computer Book Service

|fr * Magnetic Tapes & Disks

>f_ • Full Line of Magazines

.>!.. • Brain Games & Puzzles

H •Workshops & Club Information _

"^~ Visit THE COMPUTER CORNER for ~

w all your computer needs. Stop in and

T! browse - you'll like our personal service.

__u_ THE COMPUTER CORNER

White Plains Mall - Upper Level

-H— 200 Hamilton Avenue ~

.>(_ White Plain*, New York 10601

Tel: (914) WHY-DATA

Ample Parking 10-6 Daily & Saturday

jtf . 10-9Thuriday \\.

9t

couplers connect: always

The Datec 30 Originate Only and the Datec 32 Originate Answer acoustic couplers provide reliable Bell System 103 113 compatible Duplex or Half-Duplex, 300 bps data communication over conventional telephones

Datec acoustic couplers are the only couplers on the market with CRYSTAL CONTROL for both the receiver and the transmitter

The Datec 30 and Datec 32 acoustic couplers connect, time and time again

~-.i

PO Box 839

Chapel Hill, North Carolina 27514

phone: (919) 967-5605

FORT LAUDERDALE AREA

COMPUTER AGE

MICROCOMPUTERS & PERIPHERALS for HOME, SCHOOL & BUSINESSES

We specialize in computer systems and

provide a full range of computer

services. Applications software

for business including word

processing, payroll and

accounts receivable.

More to come.

DEALERS FOR Apple Computers Extensys Micromation Soroc

Hazeltine Centronics

DEC North Star

Problem Solvers and Others

Cromemco

999 South State Road 7 (441)

Plantation, Florida 33317

305-791-8080

Circle 65 on inquiry card.

Circle 83 on inquiry card.

Circle 47 on inquiry card.

COMPUTER MART of NEW HAMPSHIRE, Inc.

a* SPECIALIZING IN BUSINESS ^ * AND PERSONAL COMPUTERS *

DATA GENERAL microNOVA® XITAN GENERAL APPLE II

S-100 Bus Products

SOFTWARE currently available: AR, GL, AP, lnv.f Payroll, Word Processing, and Dental Office Manager.

□

170 Main Street Nashua, NH 03060 603/883-2386

microNOVA* is a registered trademark oi Data General Corp

□

Wh ship from stock

TELETYPE MODEL 43 $985

with RS 232 $1,085

HAZELTINE

1500 Kit $895

1500 $1,045

1510 $1,165

1400 $ 775

We ship 24 hours after receipt of

certified check or money order,

$10 shipping charge.

OWENS ASSOCIATES Z#

147 NORWOOD AVENUE i*::;

STATEN ISLAND, NEW YORK 10304 viv

(212)448-6283

(212)448-6298

We have no reader inquiry number. Please write or call DAY, EVENING, WEEKEND CALLS WELCOME'

Dynamic RAM Breakthrough 16K Bits For $15.95

The best current prices end better then you cen expect to bent far quite eome ttm»

MC4II6L ?0 PR1MF MOTOROLA DYNAMIC RAM (16 pin, 200ne access, 375ns cycle lime, 70C, cevnc peckege, gold pine, fully guBrrenteed] $151$ per chip. Thee* plug directly into your TRS-BO or APPLE compuir. Data ahaat included with your order. For mora than OO unite cell tor quantity pnong

S 100 64K MEMORY BOARD KIT (lor TOK to B4K of ebove chtpe) manuals, end ell components except memory chips $I2S.

S 100 CONNECTORS, (uaed in excellent condition, eome with wire wrep wire) 3 level wire wrap, lineai Spacing, t? 95 ra. 10 for $27.00. SO for $75.00.

CARD GUIDES Wfsrd (but very rice) with t 30 a pair

Mtmmum order 5K3 OO Meeterchargs end Viae accepted. For questiona end charga orders (no COO) cat! PtM Apley or Devtd Laune el (617) 343-3390

Pleeee edd SI-OO lor ehipping end handling on alt order*.

The Memory Coop

144 MIT Branch Cambridge MA 03139

H-*«>CI*»Hllly .' IS« •t«c1r«nlci Mr*

Chanf* .'!**,! wile.

Circle 73 on inquiry card.

Circle 221 on inquiry card.

KIM SOFTWARE

9K MICROSOFT BASIC Includes:

• Over 55 Commands

• Full String Handling

• 9 Digit Precision

• Hypertape Built-in

• 70 Page Manual

SPECIAL

INCLUDES "DATA/SAVE"

(added commands to record

both programs and data!)

KIM CASSETTE & MANUAL $100.00 prepaid

MICRO-Z COMPANY

Box 2426

Rolling Hills, CA 90274

LSI-11 AND 6800 64KB MEMORIES

CI-1103 — 8K words to 32K words in a single option slot. Plugs directly into LSI 11, LSI 11/2, H11 &PDP 1103. Addressable in 2K increments up to 128K. 8K x 16 $390.00. 32K x 16 $995.00 qty. one.

CI-6800 — 16KB to 64KB on a single board. Plugs directly into Motorola's EXORcisor and compatible with the evaluation modules. Addressable in 4K increments up to 64K. 16KB $390.00. 64KB $995.00.

CI-8080 - 16KB to 64KB on a single board. Plugs directly into Intel's MDS 800 and SBC 80/10. Addressable in 2K increments up to 64K. 16KB $390 00. 64KB $995.00.

C

Tested and burned-in. Full year warranty.

I Chris tin Industries, Inc.

Computer Products Division 31312 Via Colinas • West take Village. CA 91361 213-991-2254

From the wonderful folks who brought you iCOM-CP/M!

MICROPOLIS-CP/M*

Computer Mart now brings CP/M software to MICROPOLIS users, giving the MICR0P0LIS disc owner the full capacities of CP/M, while retaining full access to Micropolis' operating system. PLUS — Direct load and start CP/M

• Automatic program execution • Dynamic disc space allocation • Random access on all files • HIGH speed disc read and write

• Full compatibility with all other CP/M systems

Callus!

E3

The Microcomputer

People.'"

Dealer inquires invited. Computer Mart of New Jersey

501 Route 27. Iselin, NJ 08830 • 201-283-0600 Tue.-Sat. 10:00-6:00 • Tue. & Thur. til 9:00

Computer Mart of Pennsylvania

550 DeKalb Pike, King of Prussia. TA 19406 • 215-265-2580 Tue.-Thur. 11:00-9:00 • Fri & Sat. 10:00-6:00

•CP/M is a registered trademark ot Digital Research Corp 12

Circle 228 on inquiry card.

Circle 46 on inquiry card.

Circle 74 on inquiry card.

RSpPW rw oaai A "Smart" VIDEO BOARD gg^ I he LW-2001 KIT At A "Dumb" Price!

^F A VIDEO BOARD + A MEMORY BOARD + AN I/O BOARD - ALL IN ONE!

■ STATE OF THE ART TECHNOLOGY USING DEDICATED MICROPROCESSOR I.C. tife 1 QQ O^

■ NUMBER OF I.C.s REDUCED BY 50% FOR HIGHER RELIABILITY ■ MASTER PIECE IP ■*• SS*S*M OF ENGINEERING ■ FULLY SOFTWARE CONTROLLED Priced at ONLY Basic Software Included

SPECIAL FEATURES: ■ Programmable no. of scan lines OPTIONS:

■ S-100 bus compatible ■ Underline blinking cursor Sockets $10.00

■ Parallel keyboard port ■ Cursor controls: up, down, left, 2K Static Memory

■ On board 4K screen memory riSht> home> carriage return (with Sockets) $45.00

(optional)* relocatable to main ■ Composite video 4K Static Memory

computer memory *Min 2k required for operation of this board. (with Sockets) $90.00

■ Text editing capabilities (soft- DISPLAY FEATURES: Complete unit, assembled ware optional) —,„ ,.—; " . „ 'T , and tested with

. ScrolUn* up and dow„ through " ff&SSfi^KftBL . f "£» ' p™ *%Z

video memory numeric, controls) Basic software on ROM . S20.00

■ Blinking characters m 64 or 32' characters per line Text editor on R0M $75.00

■ Reversed video (jumper selectable)

■ Provision for on board ROM ■ 32 or 16 lines DEALER __, _ f (jumper selectable)

■ CRT and video controls fully „ _ ,A „„« m + ~

programmable (European TV) " Screen capacity 2048 or 512 INQUIRIES WELCOMED

■ Character generation: 7x11 dot matrix

8080 SUPPORT

8212 8214 8216

8228 8251 8255

$3.00 7.95 3.50 5.95 7.95 8.50

GROUNDED A.C. CORDS

6 Ft. — $1.19

808<>*

CPU

$7.75

RAM-2114

1Kx4 450ns $8.00

WIRE WRAP WIRE

KYNAR 28 AWG

$2.95/100 Feet

Blue, Red, White

Computer Grade

Capacitors

5000 mfd 60VDC

$1.50

EDGE CONNECTOR WIRE WRAP PINS

44 Pin $1.25-72 Pin $1.75 - 100 Pin (S-100) $5.45

MISC. IC's

IDM8810 3/$l DM8210 $2ea. N8TI5 $1 ea. 9024 2/S1.50 93L08 $1.50 ea. 93L09 2/S1.50 93L24 $1 ea.

CMOS

4011 4022 4023 4071

6/$ 1.00 2/11.70 4/11.00 5/11.00

LINEAR EC's

LM320K-5

LM320-12

LM709N

LM710H

LM711H

LM741M

.99 .99

11/S1 6/$l 6/$l

7/$l

Transistors & Diodes

2N3906

2N4400

2N4403

2N2222A

1N4003

1N4005

1N4148

SCR 400V

4A,TO220$.80

7/$l 9/$l

4/$l 12/$1 10/$1 14/$1

SHIPPING: Keyboard and Video Board: $3.50; oihi rs 1^5 California residents add 6% sales tax

ELECTRONICS WAREHOUSE Inc

1603 AVIATION BLVD. REDONDO BEACH, CA. 90278

TEL. (213)376-8005 WRITE FOR FREE CATALOG

Minimum Order: $10

«*

ASCII KEYBOARD KIT $74.00

Additional Improvements: Double Size Return Key Control Characters Molderd on Key Caps

Power: +5V 275mA

Upper and Lower Case

Full ASCII Set

7 or 8 Bits Parallel Data

Optional Serial Output

Selectable Positve or Negative Strobe, and Strobe Pulse Width

2 Key Roll-Over

3 User DEfineable Keys

P.C. Board Size: 17-3/16" x 5"

OPTIONS:

■ Metal Enclosure Painted Blue and White

■ 18 Pin Edge Con.

■ I.C. Sockets

■ Serial Output Provision

(Shift Register).

■ Upper Case Lock Switch for Capital Letters and Nos. $

Assembled (on Sockets)

and Tested $90.00

$27.50 $ 2.00 $ 4.00

$ 2.00

2.00

APPLE II I/O BOARD KIT

Plugs Into Slot of Apple II Mother Board

18 Bit Parallel Output Port (Expandable to 3 Ports)

1 Input Port

15mA Output Current Sink or Source

Can be used for peripheral equipment such as printers, floppy discs, cassettes, paper tapes, etc.

1 free software listing for SWTP PR40 or IBM selectric

PRICE:

1 Input and 1 Output Port for $49.00

1 Input and 3 Output Ports for $64.00 Dealer Inquiries Invited

What's New?

MASS STORAGE

A Low Cost Minifloppy System

New 4 Headed Voice Coil Floppy

This 4 headed flexible disk drive stores up to 3.2 M bytes of data in the space required by a standard size floppy drive. The new PerSci Model 299 diskette drive interfaces to microcomputers using the 8080, 6800, or Z-80 processors, as well as minicomputers.

The Model 299 is a dual headed, dual diskette drive, reading and writing both sides of two 8 inch diskettes. Data can be encoded in single or double density in IBM compatible soft sectored formats

or expanded hard and soft sectored formats on IBM diskette I, II, IID or equivalent media. The drive will store up to 1 M byte of data in IBM type format, 1.6 M bytes unformatted single density and up to 3.2 M bytes in unformatted double density encoding.

PerSci's voice coil positioning system gives the PerSci drives an average seek time of 33 ms, five to seven times faster than stepper motor positioned drives. The speed and the capacity of the drive are achieved while maintaining industry standard data reliability figures of 1 in 1Q9 soft errors and 1 in 1012 hard errors.

The Model 299 features electric autoload and can be unloaded by remote, host software control. Optical write protect secures the file.

The PerSci 4 headed drive measures 4.38 by 8.72 by 15.4 inches (11.1 by 22.1 by 39.1 cm) so two drives can be mounted horizontally or four vertically in a 19 inch (48.3 cm) rack.

The price is $1595 from PerSci Inc, 12210 Nebraska Av, W Los Angeles CA 90025,*

Circle 525 on inquiry card.

Techtran's low cost minifloppy system, the 950 Microdisk, features over 200 K characters of storage. RS-232 or 20 MA current loop plug compatibility make the 950 a reasonable addition to timesharing and minicomputer or microcomputer based systems. The unit incorporates a Shugart drive and data can be recorded in either file or batch modes with the 950 automatically entering file names into the directory for total random access. Switch selectable data rates to 9600 bps supply fast on line or off line operations. A binary mode is an additional standard feature providing for code transparent applications.

The 950 is list priced at $1395. Contact Techtran Industries Inc, 200 Commerce Dr, Rochester NY 14623, (716) 334-9640."

Circle 527 on inquiry card.

New Unbundled Floppy Disk Based Computer Systems

Floppy Disk System for SwTPC 6800

Two fully assembled unbundled floppy disk based computer systems have been announced by Ohio Scientific, 1333 S Chillicothe Rd, Aurora OH 44202. Both of these computer systems feature a 6502A processor, 16 K bytes of dynamic programmable memory and an 8 inch floppy disk drive and interface. Both systems have a full 8 slot backplane which will accommodate system expansion. The systems are available as C2-8SK which includes a standard RS-232 serial IO port for use with an external computer terminal and Model C2-8VS which includes a 32 by 64 (81.3 by 162.6 cm) character video display board and a keyboard. Only a video monitor is required to complete the system. Both systems come fully assembled with software and manuals but without cases or power supplies. The C2-8SK with serial interface is $1590 and the C2-8VS with video interface is $2090."

Circle 528 on inquiry card.

The Southwest Technical Products Corp DMAF1 is a dual drive, single density, double sided 8 inch floppy disk system. The hardware consists of a SS-50 bus (SwTPC 6800) compatible direct memory access controller capable of handling up to four drives, two CalComp 143 M double density rated disk drives, 5 3/4 by 17 1/8 by 20 1/2 inch (14.5 by 43.5 by 52 cm) aluminum chassis, regulated power supply, drive motor control board, cooling fan, diskette and interfacing cables.

The supplied software includes a disk operating system. An 8 K byte BASIC

interpreter with disk file capability and string functions is also included with the system. Each diskette holds approximately 600 K bytes of data; with two drives there is over one megabyte of data online.

The system is available in assembled and kit form (the drives are fully assembled). The unit weighs approximately 45 lbs (20.4 kg) and sells for $2095 assembled and $2000 as a kit, plus postage. Contact Southwest Technical Products Corp, 219 W Rhapsody, San Antonio TX 78216."

Circle 526 on inquiry card.

208

October 1978 OBYTfc Publications Inc

DIODES/ZENERS

SOCKETS/BRIDGES

TRANSISTORS

. LEDS, etc.

1N914

100v

10mA .05

8-pin pcb .20 ww .35

2N2222 NPN (2N2222 Plastic .10)

2N2907 PNP

2N3906 PNP (Plastic - Unmarked)

.15 .15 .10

1N4H05

600v

1A .08

14-pin pcb .20 ww .40

1N4007

1000v

1A .15

16-pin pcb .20 ww .40

2N3904 NPN (Plastic - Unmarked)

.10

1N4148

75v

10mA .05

18-pin pcb .25 ww .75

2N3054 NPN

.35

1N4733 1N753A

5.1v 6.2v

1 W Zener .25 500 mW Zener .25

22-pin pcb .35 ww .95 24-pin pcb .35 ww .95

2N3055 NPN 15A 60v T1P125 PNP Darlington LED Green, Red, Clear, Yellow

.50 .95 .15

1N758A

10v

.25

28-pin pcb .45 ww 1.25

D.L.747 7 seg 5/8" High com-anode

1.95

1N759A

12v

.25

40-pin pcb .50 ww 1.25 '

MAN72 7 seg com-anode (Red)

1.25

1N5243

13v

.25

Molex pins .01 To-3 Sockets .25

MAN3610 7 seg com-anode (Orange) MAN82A 7 seg com-anode (Yellow)

1.25 1.25

1N5244B 1N5245B

14v 15v

.25 .25

2 Amp Bridge 100-prv .95 25 Amp Bridge 200-prv 1.95

MAN74A 7 seg corn-cathode (Red) FND359 7 seg corn-cathode (Red)

1.50 1.25

CMOS

- T T L

4000

.15

7400

.10

7473 .25

74176 .85

74H72 .35

74S133

.40

4001

.15

7401

.15

7474 .30

74180 .55

74H101 .75

74S140

.55

4002

.20

7402

.15

7475 .35

74181 2.25

74H103 .55

74S151

.30

4004 ;

3.95

7403

.15

7476 .40

74182 .75

74H106 .95

74S153

.35

4006

.95

7404

.10

7480 .55

74190 1.25

74S157

.75

4007

.20

7405

.25

7481 .75

74191 .95

74 LOO .25

74S158

.30

4008

.75

7406

.25

7483 .75

74192 .75

74L02 .20

74S194

1.05

4009

.35

7407

.55

7485 .55

74193 .85

74L03 .25

74S257(8123)

1.05

4010

.35

7408

.15

7486 .25

74194 .95

74L04 .30

4011

.20

7409

.15

7489 1.05

74195 .95

74L10 .20

74LS00

.20

4012

.20

7410

.15

7490 .45

74196 .95

74L20 .35

74LS01

.20

4013

.40

7411

.25

7491 .70

74197 .95

74L30 .45

74LS02

.20

4014

.75

7412

.25

7492 .45

74198 1.45

74L47 1.95

74LS04

.20

4015

.75

7413

.25

7493 .35

74221 1.00

74L51 .45

74LS05

.25

4016

.35

7414

.75

7494 .75

74367 .75

74L55 .65

74LS08

.25

4017

.75

7416

.25

7495 .60

74L72 .45

74LS09

.25

4018

.75

7417

.40

7496 .80

75108A .35

74L73 .40

74LS10

.25

4019

.35

7420

.15

74100 1.15

75491 .50

74L74 .45

74LS11

.25

4020

.85

7426

.25

74107 .25

75492 .50

74L75 .55

74LS20

.20

4021

.75

7427

.25

74121 -35

74L93 .55

74LS21

.25

4022

.75

7430

.15

74122 .55

74L123 .85

74LS22

.25

4023

.20

7432

.20

74123 .35

74H00 .15

74LS32

.25

4024

.75

7437

.20

74125 .45

74H01 -20

74S00 .35

74LS37

.25

4025

.20

7438

.20

74126 .35

74H04 -20

74S02 .35

74LS38

.35

4026

1.95

7440

.20

74132 .75

74H05 .20

74S03 .25

74LS40

.30

4027

.35

7441

1.15

74141 .90

74H08 .35

74S04 .25

74LS42

.65

4028

.75

7442

.45

74150 -85

74H10 .35

74S05 .35

74LS51

.35

4030

.35

7443

.45

74151 .65

74H11 .25

74S08 .35

74LS74

.35

4033

1.50

7444

.45

74153 .75

74H15 .45

74S10 .35

74LS86

.35

4034

2.45

7445

.65

74154 .95

74H20 .25

74S11 .35

74LS90

.55

4035

.75

7446

.70

74156 .70

74H21 .25

74S20 .25

74LS93

.55

4040

.75

7447

.70

74157 .65

74H22 .40

74S40 .20

74LS107

.40

4041

.69

7448

.50

74161 .55

74H30 .20

74S50 .20

74LS123

1.00

4042

.65

7450

.25

74163 .85

74H40 .25

74S51 .25

74LS151

.75

4043

.50

7451

.25

74164 .60

74H50 .25

74S64 .15

74LS153

.75

4044

.65

7453

.20

74165 1.10

74H51 .25

74S74 .35

74LS157

.75

4046

1.25

7454

.25

74166 1.25

74H52 .15

74S112 .60

74LS164

1.00

4049

.45

7460

.40

74175 .80

74H53J .25

74S114 .65

74LS193

.95

4050

.45

7470

.45

74H55 .20

74LS367

.75

4066 4069/74 C04

.55 .25

7472

.40

74LS368

.65

4071

.25

MCT2 .95 LINEARS, REGULATORS, etc.

4081

.30

8038 3.95

LM320T5 1.65

LM340K15 1.25

LM723

.40

4082

.30

LM201 .75

LM320T12 1.65

LM340K18 1.25

LM725N

2.50

MC 14409 14.50

LM301 .45

LM320T15 1.65

LM340K24 1.25

LM739

1.50

MC 14419

4.85

LM308 (Mini) .95

LM324N 1.25

78L05 .75

LM74K8-14J.25

4511

.95

LM309H .65

LM339 .75

78L12 ,75

LM747

1.10

74C151

1.90

LM309K<340K-5*85

7805 (340T5) .95

78L15 .75

LM1307

1.25

LM310 85

LM340T12 .95 LM340T15 .95

78M05 .75

LM1458

.65

9000 SERIES

LM311D(Mini) .75

LM373 2.95

LM3900

.50

9301 .85

95H03

1.10

LM318(Mini) 1.75

LM340T18 .95

LM380(8-i4PiN).95

LM75451

.65

9309 .35

9601

.20

LM320K5<7905)1.65

LM340T24 .95

LM709(8,i4PiN).25

NE555

.35

9322 .65

9602

.45

LM320K12 1.65

LM340K12 1.25

LM711 .45

NE556

.85

MICRO'S, RAMS. C

PITS,

NE565 NE566 NE567

.95

1.25

.95

E-PRC

74S188 3.00 1702A 4.50

)MS 8214 8224

8.95 3.25

INTEGRATED CIRCUITS UNLIMITED

MM5314 3.00

8228

6.00

7889 Clairemont Mesa Boulevard, San Diego, California 92111

AL JNTS

MM5316 3.50 2102-1 1.45

8251 8255

8.50

8.50

(714) 278-4394 (Calif. Res.) oficol

2102L-1 1.75

8T13

1.50

All orders shipped prepaid No minimum jota| order

Deduct

2114 9.50

8T23

1.50

Open accounts invited COD orders accepted $35. $99

10%

TR1602B 3.95

8T24

2.00

Discounts available at OEM Quantities California Residents add 6% Sales Tax $100 " $300

TMS 4044- 9.95

8T97

1.00

15%

2107

B-4 4.95

$301 - $1000 All IC's Prime/Guaranteed. All orders shipped same day received.

20%

8080 8.95 8212 2.95

2708 Z80F

9.50 '10 8.50

24 Hour Toll Free Phone 1-800- 854-2211 American Express / Bank Americard / Visa / Master Charge

Circle 180 on inquiry card.

BYTE October 1978

£k

ELPAC

POWER

SUPPLIES

Completely Assembled SPECIFICATIONS:

105-125/210-250 Vac, 47-440 Hi input:

Line Regulation ±0.1%

Load Regulation +0 1%no-load to rated-load

Output Ripple and Noise +0 1%p-p,dc to 10 MHz Input/Output Isolation 100 megohm dc, 900 Vac Short Circuit Current 35% rated current PART NO. RATINGS

WATTS VOLTS AMPS

S0LV15-5* 15 5

SOLV15-12* 15 12 1.5

SOLV30-5 30 5 6

SOLV30-12 30 12 3

OVP1 over voltage protection tor SOLV30-5.-12

•SOLV15-5. 12 includes OVP installed

PRICE

$36.95 36.95 59.95 59.95 995

SUP R' MOO II

UHF Channel 33 TV Interface Unit Kit

* Wide Band B'W or Color System >*- Converts TV to Video Display for

home computers. CCTV camera. Apple II. works with Cromeco Dazzler. SOL-20. IRS-80. Challenger, etc.

* MOD II is pretuned to Channel 33 (UHF)

* Includes coaxial cable and antenna transformer.

MOO II

$29.95 Kit

M

PART NO.

CY1A

CY1 84

CY2A

CY201

CY2.50

CY3.27

CY3 57

CY3A

CY4.91

CY7A

CY5.18

CY6.14

CY6.40

CY6 55

CY12A

CY14A

CY19A

CY18 43

CY22A

CY30A

CRYSTALS ar

THESE FREQUENCIES ONLY _^*r* FREQUENCY CASE

1 000MHz

1 8432MHz

2 000MHz 2 010MHz

2 500MHz

3 2768MHz

3 579545MHz

4 000MHz 4916MHz 5.000MHz

5 185MHz

6 144MHz 6 400MHz 6 55MMHz 10 000MHz 14 31818MHz 18 000MHz 18 432MHz 20 000MHz 32 000MHz

HC33 HC33 HC33 HC33 HC33 HC33 HC33 HC18 HC18 HC18 HC18 HC18 HC18 HC18 HC18 HC18 HC18 HC18 HC18 HC18

PRICE 5 95 5 95 595 1 95 495 4.95 495 495 4 95 495 4 95 4,95 4 95 495 4 95 495 4.95 4.95 4 95 495

P8085 CPU

3080A CPU

8212 8-Bit Input/Output

8214 Priority Interrupt Control

8216 I -Directional Bus Driver

8224 Clock Generator/Driver

8228 System Controller/8us Driver

8251 Prog. Co mm. Interface

8255 Prog Periph Interface

MICROPROCESSOR COMPONENTS

$29 95

10.95

595 5 95 9.95 10 95

2111

nta

'IK 21HL 2114-3 21141-3 7489 8101

JIL0i; 74200 93421

256 x 1 1024 n 256 k 4 1024 x 4096 x 256x4 256x4

5 9-.

MI'S

Static

Dynamic

Static

Static

Dynamic

Static

Static

Static 450ns

Static 450ns Low Power 10 95

Static 300ns to. 95

Static 300ns Low Power It 95

Sialic 1 75

Static 5.95

Static 6 95

Static 3.49

Static 195

Static 6 95

CDP1802 CPU $19 95

Z80 CPU 24.95

2650 MPU 26.50

MC6800 MPU 19.95

MC6810API 128 x 8 Static Ram 5.95

MC6820 Periph Interlace Adapter 7 95

MC6821 Penph Interface Adapter 11.50

MC6830L8 1024x8 Bit ROM 14.95

MC6850 Asvchronous Comm Adapter 14.95

MK4027 (UP0414) 4 MK4116(UPD416l » TMS4044-45NL 4

Dynamic

DYNAMIC 16PIN DYNAMIC 16 PIN

1702A

5203

82S23

82S115

82S123

74S267

TUS2532

2708

2716 T I

2716 Intel

6301-t

6330-1

MM5013N MM5016H MM5017N 2504T

32x8 4096 x

PROMS

Famous Famous Open C

STATIC

2513(2140) 2513(30211 2516 MM5230N

1602M 7.80M 2650M

ROM'S Character Generator (upper case) Character Generator (lower case) Character Generator 2048 Sit Read Only Memory

USER MANUALS CDP1802 Manual Z80 Manual 2650 Manual

-5-95 19 95

S 9.95 9 95

11.1 to

2519 2522

mi

52S 2532

.'i:s.

Tristate

1024x1 static

32K EPROM

8K EPROM

16K EPROM

2516 T 1 j m EPROM

1024 x 1 Tn-State Bipolar

256 x 1 Open C Bipolar

SHIFT REGISTERS

1024 BitAccu mutator Dynamic

500/512 Bit Dynamic

Dual 500/512 Btt Dynamic

1024 Dynamic

Hex 32 Bit Static

Hex 40 Bit Static

Dual 132 Bit Static

512 Dynamic

1024 Dynamic

Dual 256 Bit Static

Dual 250 Static

Dual 240 Bit Static

Quad 80 Bit Static

1024 Static

Fito

4 X 4 Reoister

UARrS 30K BAUD

$ 595

90 9!

10 9S

59 95

) 49

TELEPHONE KEYBOARD CHIPS

AY 5-9100 $14 95 AY 5 9200 14 95 AY 5 9500 4 95 AY 5 2376 14.96 HD0165 7 95

74C922 9 95

SPECIAL REQUESTED ITEMS

ICM CHIPS NMOS READ ONLY MISCELLANEOUS

ICM7045 S24 95 MEMORIES

ICM7205 19 95 MCM6571 $13 50

ICM7207 7 50 MCM6574 13 50

ICM7208 19 95 MCM6575 13 50

ICM7209 6 95

1 TV GAME CHIP SET I

I AY-3-8500-1 Chip and 2 010 MH2 Crystal $7,951

11C90 S19 95 MK40240

MC3061P VI 95 DS0026CH VUWHl,- 4 95 TIL308 MC14QSL8 '

LD110/111

MC4016(74416)

4N33 3 95

95H90

<*i

AUTO-TEL KITS

As Featured in August - Popular Electronics

An Electronic

Warning Device

For Temperature

and Oil Failure

AUTOTEL — An audible alarm kit indicating potential engine damage. An audible signal (70 db pulsing) immediately forewarns a malfunction or failure. There is no sound during normal operation. Features CMOS circuitry. Complete kit with all C/l OK /oq

components, hardware. 4>*t."0/CCI

1/16 VECTOR BOARD

Pari No 64P44 062XXXP 169P44 062XXXP 64P44 062 WE 84P44 062WE 169P44 062WE 169P84 062WE 169P44 062WEC1

4 ',(1

.5 JO

8 '.()

6 50 1 72 17 00 3 69 6 50 2 07

i 63

e 26

6 12

CONNECTORS

25 Pin D Subminiature

0B25P(as pictured)

0B25S

DB51226-1

PLUG $3.25

SOCKET 4.95

Cover for DB25 P or S 1.75

MOLEX CONNECTOR PINS

Pre-packaged in stnos

$1.95/100 pins M-530*1 (minimum order)

$16.00/1000 pins

INSTRUMENT/ CLOCK CASE

Injection molded unit Complete with red bezel AW x 4" x 1-9/16".

V $3.49

The Sinclair PDM35.

> A personal digital

5< multimeter for only S 5995

A dlKtljl iTliihiiik'IiTi useJ Ihiiu'jii jt *\ pensive hulkv piece ill equipment

Tin- Sinolji! PDM.15 Amfti iltm. h ■ pti jJI The iniivinirn jnii tenures y I'll waul in a ilijiiul iniiluniet-i. yet they're neaiK ptL-kaitd in j ruiyseii but light packei-ti/<

The Simian PDM.v* Is .implied ampterel> raemMed wiUi tevi le-nK-iud prtrf*. protective watt«i ami Operator's Manual

TV Simian PDM.-o h nOw-marfe (m

ain.ine ttlui nei'ds hi 1114k rapid measurement! . Dm-lnpiiirnr ciipuieeiv Ikld tervke

'■"Oi'fi'i. I.ih uvtiiikuiis. minpum s|v. ujlisli. taJtn and eld Ii.hiu hiihh\ Mtuill

l» Wi.O..(«

Rjn-f 1 mV to lOOO V

Aeuincy of raiding I O** ± I coo.

Sine In Minnpui impedance

ACVt,lu(«H-^kHD

Stance IVto'OOV

Accural ot reidin* I 0*s 1 2 <.<*

IX luntnntniiKK'

Ranuc InAmJOOmA

Atiuiatv ,il reading I O"o * I t«

Xmc Mat reuiluimn U I nA

Refinance (S range*)

K>nftrliiic.30Mii

Accuracy ol rndinn I SS ♦ I cm

DESCRIPTION

PDM35 Digital Multimeter *m+m*~m $59.95 PDM-AC N7volt AC Adapter 6.95

PPM-DP Deluxe padded carrying case 6.95

3'? Digit Portable OMM

• Overload Protected

• 3 nigh LED Display

• Batlery or AC operation

• Auto Zeroing

• imv !Va 0 1 ohm resolution

• Overange reading

• 10 meg input impendence

• DC Accuracy r. typical Ranges: DC Vollage - 01000V AC Voltage 0-1000V

Freq Response 50 400 HZ DC'AC Current 0-100mA Resisiance 0 TO meg ohm Sue 6 4 * 4 4 « 2

Accessories:

AC Adapter BC 28 $9.00 Rechargeable

Batteries BP 26 20.00 Carrying Case LC 28 7.50

100 MHz 8-Digit Counter

■ 20 Hz-10O MH; Range . fQU, power SOuces i e

• 6 LED Display batteries, M0 or 220V with

• Crystal -controlled tmebase charger 12V with auto

• Fully Automatic lignter adapter and external

• Portable — compteteiy sell-ci

- 1 75' >

7 2 -10V power supply

MAX-100 $134.95

ACCESSORIES FOR MAX 100:

Mobile Charger Eliminator

use power trom car battery Modal 100 _ CLA S3 95

Chirgtr/EMmlnator

use 110 VAC Model 100 - Ml J9 95

63-Key Unencoded

KEYBOARDS

Hexadecimal Key Pad Unencoded

This is a 63-key. terminal keyboard newly manufactured by a large computer manufacturer. It is unencoded with SPST keys, unattached to any kind of PC board. A very solid molded plastic 13x4" base suits most application, in stock $29,95/each

The Incredible "Pennywhistle t03

$139.95

19-key pad includes 1-10 keys, ABCDEF and 2 optional keys and a shift key $10.95/each

$5.00 Minimum Order - U.S. Funds Only California Residents - Add 6% Sales Tax

Spec Sheets -25*

1978 A Catalog Available—Send 41 c stamp

Jameco EHgEEnna

PHONE

ORDERS

WELCOME

(415)592-8097

MAIL ORDER ELECTRONICS - WORLDWIDE

1021 HOWARD AVENUE, SAN CARLOS. CA 94070

Advertised Prices Good thru October

Kit Only

The Pennirwhiftle 103 is capable ot recording data to and trom audio tape withoui critical speed requirements tor the recorder and it is able to commumcale directly with another modem and terminal tor (eleotione hamming and communications lor the deal In addition. it is tree ot cntical adiustments and is built with non precision readily available parts

Oats Transmntion Method frequency-Shirt Keying, full-duplex (half-duplex

selectable)

Maximum Data Rate 300 Baud

Data Format Asynchronous Serial (return to mart level required

between each character) .202S H* for space. 2225 Hz tor mart .Switch selectable Low I normal) 1070 space 1270 mart. High 025 space, 2??5 mark

46 dbm accousticaiiy coupled , 15 dbm nominal Adiustable trom 6 dbm to - 20 dbm

.Frequency reterence automatically adiusts to allow lor operation between 1800 Hi and 2400 Hi

Digital Data Interlace EIA RS-232C or 20 rnA current loop (receiver is

optoisolated and non-polar)

Power Requirements 120 VAC. single phase. 10 Watts

Physical All components mount on a single 5" by 9"

printed circuit board All components included Requires a VOM Audio Oscillator, frequency Counter and/or Oscilloscope to align

Receive Channel Frequencies .

Receive Sensitivity

Receive Frequency Tolerance .

the 3

rd

Hand

$9.95 each

„.>«""

'leaves two hands free for working

* Clamps on edge of bench, table or work bench

* Position board on angle or flat position for soldering or clipping

* Sturdy, aluminum construction for hobbyist, manufacturer or school rooms

DIGITAL STOPWATCH

i Bright 6 Dion LED Display

i Times to 59 minutes 59 59 seconds

i Crystal Controlled Time Base

• Three Stopwatches in One

i imes Single Evem — Spin & Taylor

• Size 4 5 x 2 15 x 90 (4''?ouncesi

• Uses 3 Penirte Cells

Kit - $39.95

Assembled — $49.95 Heavy Duty Carry Case $5.95

Stop Watch Chip Only (7205) $19.95

3V2DIGIT DPM KIT

Wl

New Bipolar Unit • Auto Polarity

• Auto Zeroing • Low Power

• 5" LED • Single IC Unit Model KB500 DPM Kit $49.00 Model KB503 5V Power Kit $17.50

JE700 CLOCK

a ini* cusi digital dock bu

i quality unit the unit tea

laied walnut case with di

« .' >i It utilizes ;

ion brightness (eadoul and the

MM5.1I4 clock chip

KIT ONLY

$16.95

JE803 probe "3T~>

The Logic Piooe is a unit which is lor the most pan - "" _t J

indespensible in trouble shootmq logic families ^^

TTL DTL RU CMOS It derives the power il «->«•—^ v £*Lf4MP'*

needs to operate dnecliy oil Ot the circuit undei * " —2*—

lest drawing a scant 10 mA ma* ll uses a MAM

readout 10 indicate any o* tne following slates by

these symbols lH) I dOWl oiPULSEl P Trie ^_ «_ _ „.,

Prooe can delect rugn frequency pulses 10 45 MH; $3.30 rCT KIT

d ai MOS levels o

il ftamarje

printed circuit board

PL 5V 1A Supply

This is a standard TTL power supply using the well known LM309K legulator IC lo provide a solid t AMP ot current at 5 volls We fry to make things easy toi you by providing

everything, you need «■• one p,n kjrje mi udirig the hardwa'e

'<""*< JE225 $9.95 Per Kit

PROTO BOARDS

PROTO BOARD 6

$15.95

(6 long X 4" wide)

PB100 -4.5 x6 $ 19.95

PB101 - 5.8 x 4.5 22.95

PB102 - 7 x 4.5" 26 95

PB103-9 x6" 44.95

PB104 - 9.5" x 8" 54.95 PB203 ■ 9 75 x 6'/? x 2V* 75.00

PB203A - 9.75 x 6% x 23/* 124.95

(includes power supply)

lutimmi PROTO CLIPS

0 t 14 PIN S4 50

m 16 PIN 4 75

■ mu ' ?4 PIN 8 50

mumUH 40 PIN 13.75.

210

BYTE October 1978

Circle 200 on inquiry card.

WW

wf

7401

SN747QN

ill

i a hi

SN7472N

SN7400N

16

SN7473N

SN7401N

18

SN7474N

SN74Q2N

18

SN7475N

SN7403N

18

SN7476N

SN7404N

te

SN7479N

SN740SN

20

SN7480N

SN7406N

29

SN7482N

SN7407N

29

SN7483N

SN7408N

20

SN7485N

SN74Q9N

20

SN7486N

SN7410N

18

SN7489N

SN7411N

25

SN7490N

SN7412N

25

SN7491N

SN7413N

40

SN7492N

SN74HN

70

SN7493N

SH7416N

25

SN7494N

SN7417N

25

SN7495N

SN7420N

20

SN7496N

SN7421N

29

SN7497N

SN7422N

39

SN74100N

SN7423N

25

SN74107N

SN7425N

29

SN74109N

SN7426N

29

SN74116N

SN7427N

25

SN74121N

SN7429N

39

SN74122N

SN7430N

20

SN74123N

SN7432N

25

SN74125N

SN7437N

25

SN74126N

SN7438N

25

SN74132N

SN7439N

25

SN74136N

SN7440N

20

SN74141N

SN7441N

89

SN74142N

SN7442N

49

SN74143N

SN7443N

75

SN74144N

SN7444N

75

SN74145N

SN7445N

75

SN74147N

SN7446U

.69

SN74148N

SN7447N

59

SN741SON

SN744BN

79

SN74151N

SN7450N

20

SN74152N

SN7451N

20

SN74153N

SN7453N

20

SN74154N

SU7454N

20

SN74155N

SN7459A

25

SN74156N

SN7460N

20

SN74157N

20% Diteount 100 pet combined ord»

2 95 2 95 295

VTmTr

SN74160N SN74161N SN74162N SN74163N SN74164N SN74V65N SN74166N SN74167N SN74170N SN74172N SN74173N SN74174N SN74175N SN74176N SN74177N SN74I79M SN741SON SN741B1N SM741S2N SM74184N SN741B5N SN74186N SN74186N SN74190N SN74191N SN74192N SN74193N SN74194N SN74195N SN74196N SN74197N SN74198N SN74199N SN74200N SN74251N SN74279N SM74283N SN74284N SN74285N SN74365N SN74366N SN74367N SN7436BN SN74390N SN74393N

BUGBOOK

Continuing Education Series

lUQBOOKS I and II

K 90 eipenments assigned lo tNcrt

ni logic chips id

" leirn jBout the

lunction mm microprocessor systems

digrui electronics inciirtina gitcs 'lip Hops Wcnes ousw

Eteisrs. dtmultifHeiers LED displays. MM s. ROMs jnc mi

THE 555 TIMER APPLICATIONS SOURCEBOOK WITH EXPERIMENTS by Howard M Berlin W3HB

*- ~ook shows you «m*t ttw 555 MM H md how lo us* I I inoys design techniques «iujt»ns HCJ I

generators power supplies me»surement jnO contn I circuits (or ft* how and auiomofliie pfiotorjtii ur Radio

BU0BO0KII* tS.l

If Pwlat R Rony Quid G Ltrwn WI4MTJ

This wnume Ml introduce you lo Itie IKhiKhis DART chip - Irut all imporil interlace oetw«n data terminals etc and your microcomputer It also row current loops roe the RS 232C interface Standard Pjrticularty recommended to* any RTTV enthusiast

^9l BUGBOOK III

MA. TIM

ready to-00 8080 chie pin py pm and irttroau Circuits, party unstue easily interlaced system I' y music and oround on the BUGBOOK5 (tut

I Answers questions regarding

ipenments suggestions lor turthe' reading pttilosophy St .jgital electronics a must tor sell teaching .ndiyiduais OP AMP MANUAL h» HowirtJ M Berlin W3HB

s approach ic

Eipenments M dtgital electronics SOMA microcomputer programming and

80B0A microcomputer interlacing An integrated approach to

basic digital electron.es Breadboardmg and B080A interlacing programming

SI.00 Rugoook VI integrates the dif/tat concepts at BugOoo* " An ^penmen, guide to t*Uft» ol ***** ■«««« 0™r 25 expen- »™™£^J%^ '

interlacing Detin I laooralory

DlUG

m an phases oi

-(5QQ CMOS-M - DESIGNERS PfllMIR

lOston *ND HANDBOOK Ne* tipanderj version

Starts at base structure of CMOS devices through integration into MSI

SB.50

WIRE-WRAP KIT — WK-2-W WRAP • STRIP . UNWRAP

• Tool for 30 AWG Wire

• Roll of 50 Ft White or Blue 30 AWG Wire

• 50 pes each 1 . 2 . 3 & 4" lengths — pre-stnpped wire.

$12.95

WIRE WRAP TOOL WSU-30 WRAP • STRIP • UNWRAP $6.95

WIRE WRAP WIRE — 30 AWG

25ft. min. $1.25 50ft. $1.95 100ft. $2.95 1000ft. $15.00 SPECIFY COLOR — White - Yellow - Red - Green - Blue - Black

WIRE DISPENSER — WD-30

• 50 ft. roll 30 AWG KYNAR wire wrap wire $3.95 BB.

m Cuts wire to desired length

» Strips 1" of insulation Spwlfy — Blue-Yellow-White-Red

COMPLETE MANUAL FOR DIGITAL CLOCKS by John Weill and John Brooks

Familiarizes technician or noboyisi with basic theories behind digital clocks Includes trouble shooting guides basic characteristics ol clocks, soldering techniques, clock component data sheets and construction tips »3.95

XR22D6KA $14.95

Function Generator Kit includes chip, PC. toard and instructions)

CD4000 CO4001 CO40O2 CD40O6 CD4007 CO4009 CD4010 CD4011 CO4012 CD4013 CD4014 CD4015 CO4016 CO40I7 CD4018 CO4019 CO4Q20 CD4Q21 CO4022 CD4Q23 CD4024 CD4025 CO4026 CD4Q27

CMOS

-74TOT

74C02 74C04 74C08 74C10 74C14 74C20 74C30 74C42 74C48 74C73 74C74

CD4028 CD4029 CD403Q

corns

CO404O CD4041 CD4042 CO4043 CD4044 CD4046 C04047 C04EM8 C04049 CD40M CD4051 CD4053 CD4056 CD4059 CD4060 C04066 CD4068 CD406S

74C00

TSMff

LM300H

LM301H

LM301CN

LM302M

LM304H

LM30SH

LM307CN/H

LM308H

LM308CN

LM309H

LM309K

LM310CN

LM311H

LM311N

LM317K

LM318CN

LM319N

LM320K-5

LM320K-5 2 LM320K-12 LM320K-15 LM320K-18 LM320K-24 LM320T-5 LM320T-5 2 LM320T-8 LM320T-t2 LM320T-t5 LM320T-18 LM320T-24 LM323K-5 LM324N LM339N LM340K-5 LM340K-6 LM340K-8 LM340K-12 LM340K-15 LM340K-18 LM340K-24 LM340T-5 ^JjMOT^^

74C89 74C90 74C93 74C95 74CI07 74C151 74C154 74C157 74C160 74C161

649 3 00 200 200

3 25 3.25

CD4070

CD4071

C04072

CD4076

CD40B1

CD4082

CD4093

CD409B

MC14409

MC14450

UCM411

MC14419

MC14433

MC14506

MC14507

MC14562

MC14583

CD4508

CD4510

CD4511

CD4515

C04518

CD4520

CD4566

74C163

74C164

74C173

74C192

74C193

74C195

74C922

74C923

74C925

74C?26

80C95

80C9?

260 3 49 2 75 2 75 9 95 8 95 14 95

LINEAR

LrVt340T-8

LM340T-12

LM340T-15

LM340T-18

LM340T-24

LM350N

LM351CN

LM370N

LM373N

LM377N

LM380N

LM380CN

LM38tN

LM382N

NE501N

N6510A

NE529A

NE531H

NE536T

NE540L

NE550N

NE555V

NE556N

NE560B

NE561B

NE562B

NE565H

NE565N

NE566CN

NE567H

^E567V

NE570N

LM703CN/H

LM709H

LM709N

LM710M

LM711N

LM723H

LM723N

LM733N 1 C

LM739N 1 1

LM741CH 3

LM741CN I

LM741-14N 3

LM747H I

LM747N J

LM748H :

LM748M S

LM1303N !

LM1304N 1 '

LM1305N 1 i

LM1307rV (

LM1310N 2!

LM1351M 1 «

LM1414N 1 ;

LM1458CN/H !

MCH88N 1 !

MC1489N 1 I

LMH96N I

LM1556V 1

MC1741SCP 3 I

LM2901N 2'

LM3053N 1 !

LM3065N i LM39O0NO401)

LrVl3905^ LM3909N 1

MC5558V 1 LM7525N LM7534N 80386 4

LM 754 SON 75451CN 75452CN 75453CN 7S454CN 75491CN 7S492CN 75494CN RC4151 5

RC4194 5

RC4195 4

XC22 XC22 XC22 SSL 22

200 rj,a Red Green Yellow RT

XC526 XC526 XC526

Green Yellow Cleat

XC556 XCS56 XC556 XC556 XC556 XC556

Green 4/$l

Yellow 4/S1

OBS dia MV50 Red 6 SI

170 dia MV10 Red 4/J1 INFRA-RED LEO""

ILL

1 16

syvo

DISPLAY LEOS

MT

300

TYPE MLARITY

MAN 1 Common Anode-red

MAN 2 5 » 7 Dot Main*-red MAN 3 Common Cathode red

MAN 4 Common Cathode red 187

MAN 52 Common Anode-green 300

MAN 71 Common Anode-red 300

MAN 72 Common Anode-red 300

MAN 74 Common Cathode-red 300

MAN 81 Common Anode-yellow 300

MAN 82 Common Anode-yellow 300

MAN 84 Common Cathode yellow 300

MAN 3620 Common Anode-orange 3O0

MAN 3630 Common Anode orange • 1 300

MAN 3640 Common Cathode orange 300

MAN 4610 Common Anode orange 300

MAN 4640 Common Cathode -otanrje 400

MAN 4710 Common Anode fed - 1 400

MAN 4730 Common Anode red 4CC

MAN 4740 Common Cathode-red 400

MAN 4810 Common Anode yellow 400

MAN 6610 Common Anode-orange D D 560

MAN 6630 Common Anode-orange 560 MAN 6640 Common Cathode orange-D D 560 MAN 6650 Common Cathode-orange • 1 560 MAN 6660 Common Anode -orange

PRICE 295 495

TYPE POLARITY

MAN 6680 Common Cathode-orange MAN 6710 Common Anode -red D 0 MAN 6730 Common Anode red -1 MAN 6740 Common Cathode • red D D MAN 6750 Common Cathode-red -1 MAN 6760 Common Anode-red MAN 6780 Common Cathode-ted DL701 Common Anode-red ■ 1 DL702 CommonCathode-red Common Cathode-red Common Anode-red Common Anode-red Common Anode-red ■ 1 Common Anode-red Common Cathode-red - 1 Common Cathode-red Common Cathode-red Common Cathode

DL704

DL707

DL741

DL746

OL747

DL749

0L750

DL33B

FND70

FW359

FND503 Common Cathode (FN05OOI

FND507 Common Anode (FNDS10!

5082-7300 4x 7 Sgl Digtt-RHDP

5082 7302 4 k 7 Sgl Digrt-LHDP

5082-7304 Overrange character { ■ 1)

5082 7340 4x7 Sgl Digit-Hexadecimal

RCA LINEAR

CALCULATOR CHIPS AND DRIVER

CA3013 2 15 CA3082

2 00

FCM3817 S5 00

CA2023 2 56 CA3083

1 60

MM5725 2 95

CA3035 2 48 CA3086

85

MM5736 1 95

CA3039 1 35 CA3089

3 75

MM5738 2 95

CA3046 1 30 CA3130

1 39

DM8664 2 00

CA3059 3.25 CA3140

1 25

DM8865 1 00

CA3060 3 25 CA3160

1 25

DM8887 75

CA3080 85 CA3401

49

DM8889 '5

CA3081 2 00 CA3600 3 50

CLOCK CHIPS

MM5309 MM5311 MM5312 MM531J MM5316 VIM531H MMS369 MM5841 7001

S995 J95 4 95 495

REPLACEMENT DISPENSER SPOOLS FOR WD 30

Specify blue, yellow, white or red $1.M/ipool

EXAR

XR2206KB $19 95

Function Generator Kit fin dudes all components, PC. Board and instructions)

IC SOLDEHTAIL - LOW PROFILE (TIN) SOCKETS

9374 - 7-segment LED driver

nnnmnnanthlfilflJiil i99

74LS00 74LS01 74LS02 74LS03 74LS04 74LS05 74LS08 74LS09 74LS10 74LS13 74LS14 74LS15 74LS20 74LS21 74LS22 74LS26 74LS27 74LS28 74LS30 74LS32 74LS37 74LS40 74LS42 w74LS47

74LS00 TTL^,SM

"" 74LS151

74LS51

74LS54

74LS55

74LS73

74LS74

74LS75

74LS76

74LS83

74LS85

74LS86

74LS90

74LS92

74LS93

74LS95

74LS96

74LS107

74LS109

74LS112

74LS123

74LS132

74LS136

74LS138

74LS155 74LS157 74LS160 74LS161 74LS162 74LS163 74LS164 74LS175 74LS181 74LS190 74LS191 74LS192 74LS193 74LS194 74LS195 74LS253 74LS257 74LS260 74LS279 74LS367 74LS368 74LS670

8 pin LP

14 pin LP 16 pin LP 18 pin LP 20 pm LP

14 pin ST 16 pin ST 18 pin ST 24 pin ST

Spin SG

14 ptn SG 16 pin SG 18 pin SG

8 pin WW 10 pin WW 14 pin WW 16 ptn WW 18 pm WW

25-49 .16

50-100

■ ■ antJijM 22 ptn

18 FW3KTM W&Wm 2* Pm LP 38

MM 28 pin LP H

27 36 pin LP 60

M SOLDERTAIL STANDARD (TIN) •««" LP m

28 pin ST S 99

36 pin ST 1-39

40 pin ST 1.59

30

SOLDERTAIL STANDARD (GOLD)

24 pin SG $ M 28pinSG MO 36pinS43 175 40pinSG 1-75

1 00

140 159

WIRE WRAP SOCKETS (GOLD) LEVEL #3

22 pin WW | 95 24 pin WW 1.05 28 pin WW 1.40 36 pin WW 159 40 pin WW 1.75

50 PCS. RESISTOR ASSORTMENTS $1.75 PER ASST.

12 OHM J3 OHM 8? OHM

15 OHM 39 OHM 100 OHM

IB OHM 47 OHM 1?0 OHM

180 OHM 220 OHM ?7Q OHM 330 OHM 4 70 OHM 560 OHM 680 OHM 8?0 OHM

1 ?M

3 3M

22QK S60K 1 SM 3 9M

270K 680K t 8M

',' OHM 56 OHM tbOOHM M OHM

330K 820K 7 ?M 5 6M

ASST. 8R Includes Resistor Assortments 1 -7(350 PCS.)

1/4 WATT 5% 50 PCS 1/4 WATT 5% 50 PCS

$9.95 ea.

$5.00 Minimum Order - U.S. Funds Only California Residents - Add 6% Sales Tax

Spec Sheets—25c

1978 A Catalog Available—Send 41 c s

I

ameco

ELECTRONICS

PHONE

ORDERS

WELCOME

{415)592-8097

XR-L555 S1.50

Micro-Power version of the popular 555 Timer anO directly interchangeable. Dissipates 1/15th the power and operates down to 2 7 volts. Perfect for oattery operation and CMOS circuits

XR2242CP $1.50

Precision timing circuit for generating timing pulses in mlnutas, hours and days or up to

1 year by using two Reduces cost of time delay circuits Basic 555 Timer with built-in 8-bit Counter

40

XR205 S 8 40

XP.210

XR215

XR320

XR555

XR556

XR567CP

XR567CT

XR1310P

XR1468CN

XR14B8

XR14B9 XA1800

onset

XH2207 XR2208 XR2209 XR2211 XR2212 XR2240 XR2264

320

4 40 3 85

5 20

345

XR2556 XR2567 XR3403 XR4136 XH4151 XR4194 XR4202 XR4212 XR4558 XR4739 XB4741

TYPE

1N746 1N751A 1N752 1N753 1N754 1N959 1N96SB 1N5232 1N5234 1N5235 1N5236 1N456 1N458 1N485A 1N4001 IN4002 1N4003 1N4004

ZENERS

VOLTS W

33 400m

5 1 400m

5 6 400m 6.2 400m

6 8 400m 82 400m 15 400m 56 500m 62 500m 68 500m

7 5 500m

50 PIV 1 AMP

100 P1V 1 AMP

200 PIV 1 AMP

400 PIV 1 AMP

■ DIODES —

PfllCE TYPE

4 1 00 1N4005

4 1 00 1N4006

4 100 1N4O07

4 1 00 1N3600

4 1 00 1N4148

4 1 00 1N4154

4 1 00 1N4305

2B 1N4734

28 1N4735

2B 1N4736

28 1N4738

6 1 00 1N4742

6 1 00 1N4744

5 100 1N1183 2 100 1N1184 2 100 1N1185 2 100 IN1186 2 1 00 1N118B

RECTIFIERS

VOLTS W

600 PIV 1 AMP

800 PIV 1 AMP

1000 PIV 1 AMP

200m

35

10m

PRICE

10,-1 00 10/1 00 10 1 00 6/1 00 15<1 00 12/1,08 20.1 00 28

12 1w

15 1*

50 PIV 35 AMP

100 PIV 35 AMP

150 PIV 35 AMP

200 PIV 35 AMP

400 PIV 35 AMP

SCR AND FW BRIDGE RECTIFIERS

C360 C38M 2N2328 MDA 980-1 MOA 980-3

15A@400V 3SA @ 600V 1 6A m 300V

SCR|?N1849| SCR

FW BRIDGE R£C FW BRIDGE REC

C1Q6B1

MPSA05

MPSA06

TIS97

TIS98

TIS133

TIS135

40409

404)0

40673

2N918

2N2219A

2N2221A

2N2222A

2N2369

2N2369A

MPS2369

2N2484

2N2906

2^2907

2N2925

MJE2955

2N3053

TRANSISTORS

2N3055 MJE3055 2N3392 2N3398 PN3567 PN3568

mam

MPS3638A

MPS3702

2N3704

MPS3704

2N3705

MPS3705

2N3706

MPS3706

2N3707

2N3711

2N3724A

2N3725A

2N3772

2N3623

2N3903

2N3904 2N3905 2N3906 2N4013 2N4123 PN4249 PN4250 2N440O 2N4401 2N4402 2N4403 2N4409 2N5086 2N5087 2N5088 2N5089 2N5129 PN5134 PN5138 2N5139 2N5210 2H5449 2N5951

1/1 00

4.1 00

5/1 00 5 100

5/1 00

5/1 00

5/1 00

3/1 00

3 1 00

CAPACITOR^

CORNER

10 pt 22 pf

47 p! 100 pf 220 pi 470 pi

001 ml 0022 0047ml 01 ml

1 35V 15/3SV

22/35V 33/35V 47/35V 68/35V 1 0/35V

04 03 OOVF 05

04 03 0047^F 05

04 03 OlfiF 05

04 03 M&* 06

04 03 047^f 06

04 035 VF '2 100 VOLT MYLAR FILM CAPACITORS 022mf 047ml

10 07

?•

22ml + 20% DIPPEO TANTALUMS (SOLID) CAPACITORS

1 5/35V

26

28 23 17 2 2/25V 31 27

28 23 17 3 3/25V 31 .27

28 23 17 4 7/25V 32 28

28 23 17 6.8/25V 36 31

28 23 17 mm « 35

28 23 17 15/25V 63 50

MINIATURE ALUMINUM ELECTROLYTIC CAPACITORS

MAIL ORDER ELECTRONICS - WORLDWIDE

1021 HOWARD AVENUE. SAN CARLOS. CA 94070

Advertised Prices Good thru October

47/50V 1 0/50V

3 3/50V

4 7/25V I0/25V 10/50V 22/25V 22/50V 47/25V 47/50V

10O;25V

100/50V

220/25V

220/50V

470/25V 1000/16V 2200/16V

Aiia) Lead

15

13

10

47/25V 47/50V 1 0/16V 1 0/25V 10/50V 4.7/16V 4 7/25V 4.7/50V 10/1SV 10/25V 10/50V 47/50V 1O0/16V 100/25V 100/SOV 220/16V 470/25V

Rtdial Litd

Circle 200 on inquiry card.

BYTE October 1978 211

What's New?

PERIPHERALS

LRC Improved Series of Matrix Impact Printers

LRC Inc, Technical Research Park, Riverton WY 82501, has announced the availability of improved versions of its 7000 series matrix impact printers. Improvements include a new drive cam for the print head which is said to result in a uniform character width at the extreme ends of the print line as well as a decreased failure rate.

Available in ticket printer models as well as in roll paper models, all units have multiple copy capability with the print line capacity of 40 columns at 12 characters to the inch. Ticket printer versions are available in 22 column models. 1 line or 5 line document validation is optional on roll paper models. Prices range from $66.50 to $282 depending upon model, options and quantity."

Circle 564 on inquiry card.

Data Communications Adapter

This 80-103A Data Communications Adapter has been developed to function as a S-100 bus compatible serial interface

incorporating a fully programmable modem and Telco interface. These functions are usually accomplished by the use of two separate modules: a serial IO board and an external modem. The 80-103A combines these features on a single board.

A S-100 computer and a Telco 1001 D data access arrangement (DAA) are all that is needed to control the adapter and interface to the telephone network.

The price of the 80-103A is $279.95 from DC Hayes Associates Inc, POB 9884, Atlanta GA 30319."

Circle 565 on inquiry card.

New Programmable UART Interface

The COM6402, a programmable universal asynchronous transceiver (UART) with high clock frequencies, low power requirements and independent programming capabilities, has been introduced by Standard Microsystems Corp. Compatible with industry standard UARTs, the COM6402 is a pin for pin replacement for Harris HD-6402 and Intersil IM6402.

CMOS/LSI technology permits operator clock frequencies up to 3.2 MHz (200 k bps) while requiring only 10 mW of power. Duplex mode, bps rate, data word length, parity mode and number of stop bits are independently program

mable through the use of external controls. There may be five, six, seven and eight data bits, odd, even or no parity, and one or two stop bits or 1,5 stop bits when utilizing a 5 bit code.

COM6402 is TTL compatible and requires only a single ±5 V power supply. It is fully double buffered to eliminate the need for external timing and provides start bit verification to decrease error rate. Three state outputs are bus structure oriented.

For further information, contact Standard Microsystems Corp, 35 Marcus Blvd, Hauppauge NY 11787."

Circle 568 on inquiry card.

Pertec Announces Double Head, Double Density Microfloppy

The new FD250 Microfloppy disk drive stores up to 437.5 K bytes without operator intervention. Double density, hard or soft sectoring, and write protect are all standard features. The unit can write and read data on both sides of a diskette.

Measuring 3.25 inches by 5.75 by 8 inches (8.26 by 14.61 by 20.32 cm), the FD250 weighs 3.2 lbs (1.45 kg). Its seek time is 25 ms track-to-track, with head settling time of 10 ms (last track addressed) and a maximum head loading time of 35 ms.

The recommended recording mode is frequency modulation (FM) on single density and modified frequency modulation (MFM) on double density. Recording density (inside track) is 2768 to 5536 bpi, with 1750 K bits per disk (single density and unformatted) or 3500 K bits per disk (double density and unformatted).

The FD250 is priced at $325 per unit for quantities of 100. For further information contact Pertec Computer Corp, Pertec Division, 9600 Irondale Av, Chatsworth CA 91311."

Circle 566 on inquiry card.

Put Your PET on the Bus

The PET-488 cable assembly makes the PET computer plug-compatible with any device using the IEEE 488 bus. The PET computer can become the controller for a variety of electronic test equipment and computer peripherals. The cable assembly plugs directly into the edge connector on back of the PET computer and has an IEEE-488 compatible connector on the other end. The cable meets all IEEE-488 specifications for shielding and crosstalk and is 18 inches (45 cm) long. The price of the PET-488 cable assembly is $30 (California residents add 6% sales tax). Contact Pickles & Trout, POB 1206, GoIetaCA93017."

Circle 567 on inquiry card.

21 2 October 1978 © BYTE Publications Inc

Circle 388 on inquiry card.

CO

IT WILL TELL YOU WHERE TO GO CPU-1TM8080A CPU BOARD WITH 8 LEVEL VECTOR INTERRUPT.

$30. BARE $185. KIT

$220. ASSEMBLED AND TESTED

DEALER INQUIRIES INVITED

UNIVERSITY DISCOUNTS AVAILABLE

•wmc

™ W AM ECO INC. /flC. 3107 LANEVIEW DRIVE SAN JOSE CA. 95132

2708/2716 EPROM MEMORY BOARD

* S-100 BUS

* 1-32 KBYTES USING EITHER 2708 OR 2716 EPROMS

* HIGH/LOW LIMIT ADDRESS RANGE SELECTION

* MEMORY BANK SELECT OPTION

* SOL^COMPATIBLE MEMORY DISABLE

* SELECTABLE WAIT STATES

* FULLY BUFFERED INPUTS AND OUTPUTS

* DOUBLE SOLDER MASK

* SILK SCREENED PARTS LAYOUT

* COMPLETE DOCUMENTATION

$30. BARE

$100. KIT (LESS EPROMS)

TESTED AND ASSEMBLED $130. (LESS EPROMS)

DEALER INQUIRIES INVITED UNIVERSITY DISCOUNTS AVAILABLE

iWTflC/fnc, WAMECO INC. 3107 LANEVIEW DRIVE SAN JOSE CA 95132

RONDURE COMPANY

2522 BUTLER ST.

DALLAS, TEXAS 75235

214-630-4621

the computer room

ASCII Selectric with ASCII parallel electronics. Immediate Delivery—Shipped from inventory.

ASCII SELECTRIC

<5PFPIAI <5AI F Printer Mechanism: Heavy

$87500 ££ **"-"*- se"«

Weight: 120 lbs. Dimensions: 29"Hx35"Wx33,,D. Print Speed: (14.8 characters per second) Platen: 15" wide, pin feed or form feed device optional (132 print positions). Parallel output only—15 characters per second accepts 7 bit ASCII parallel w/strobe & prints on Selectric. The unit still works as a typewriter in off-line mode.

TESTED WITH

NEW

ASCII ELECTRONICS

DATEL SELECTRIC (IBM Selectric Mechanism)

Specifications:

• Size: 21"Wx21"Dx8**H.

• Power Input 115 Volt Hz

• Interface: RS232

• Weight: 54 lbs. (Shipping weight 65 lbs.)

• 15" Carriage

• 15 CPS

• Correspondence code

• Half Duplex

• 132 Print Positions, 10 Pitch

Used

$395

NOVATION DC3102A

b !

*

Used Working

$150.00

RS232 Connection 300 Baud

Tl 990/4

Single Board 16 Bit Micro

Computer

NEW $250.00

USED MODEMS & COUPLERS NOVATION TC102 (Acoustic) $45.00

AJ 233 (Acoustic) $25.00

CF 318 (Hard Wire) $25.00

SHUGART MINI-FLOPPY DRIVE

NEW PRICE $325.00 ea.

Model SA-400

FLAT PACK ACOUSTICAL

MODEM PICK-UP Useable with most modem chips/kits Used — $17.50 (w/prints)

ORDERING INFORMATION:

We ship the same day we receive a certified check or money order. Texas residents add 5% sales tax. Please call if you have a question. Write for our CATALOG of many parts, terminals, printers, etc. All items subject to availability. Your money returned if we are out of stock.

SHIPPING INFORMATION:

Modems: $2.00 each; 2 for $4.00 UPS.

Large Items & Parts: Specify Freight or Air Freight Collect

Foreign Orders: Add appropriate freight or postage.

We now take Master Charge and Visa orders, Specify full number,

bank number and expiration date.

Circle 314 on inquiry card.

BYTE October 1978

213

DUAL TRACE

15 MEGAHERTZ

$435QO

PORTABLE MINISCOPE

MADE IN THE U.S.A.!

• Dual Trace- 2 channel: separate, chopped or alternate modes.

• 15 megahertz bandwidth.

• External and internal trigger.

• Power consumption less than 15W.

• Verticle Gain - 0.01 to 50 volts/div — 12 settings.

• Weight is only 3 pounds.

FEATURES

• Time Base - 0.1 microseconds to 0.5 Sec/div - 21 settings.

• Battery or line operation.

• Automatic and line sync modes. From the originator of the Digit a/ Voltmeter, Non-Linear Systems comes the MS-215 Miniscope. ft is a fine

electronic instrument with a great deal of measuring capability and excellent accuracy. Its design is modern, utilizing the latest in low-powered integrated circuits, and it is packaged into the smallest practical size. The instrument fits into many briefcases and tool boxes with room to spare.

Operating characteristics have been chosen so that the MS-215 will make all of the measurements needed in servicing most electronic equipment. It is field-portable so its use is not restricted to the bench.

SPECIFICATIONS:

Triggering Internal:

Vertical Mode

Y Axia Vert tele Input:

CHI, CH2, CH1 & CH2 (Chopped) & CH1 & CH2 (Ah.) The Following Specifications apply to each channel

10mV/div to 50V in 12 Calibrated ranges, as follows x1 -lOmV/div to lOV/div in four ranges, each continuously variable

x2-20mV/div to 20mV/div in four ranges, each continuously variable

x5-50mV/div to 50mV/div in four ranges, each continuously vainable Accuracy is 3%

input Impedance: 1 M ohm shunted by 50 pF

Bandwidth: OC/OC to 15 Mhz 16 db (DC to 8 Mhz 13 db) AC. same

as DC down to 3Hr

Approximately 23 nS @ 1 division deflection 250 maximum (DC and Peak AC}.

Riaa Time: Input Voltage Horizontal

Mode:

Sweep triggered from internal trigger source (In the

dual trace modes, the internal trigger source is CHI)

Trigger source is internal calibrator frequency To be

used if there is no other trigger source available to

synchronize the sweep

Trigger is derived from line frequency when using the

battery charger

Controls function as for internal triggering (1 Megohm

input impedence)

Selects sync to positive- or negative- going waveform

AC

Less than 1 div for internal trigger and less than 1 volt

for external trigger

Trigger Level control permits continuous adjustment of

trigger point in all modes except Auto. Internal Calibre ter A square-wave signal of 1 volt p-p 1 5% is provided

Frequency is approximately 1 KHz Display Graticule:

Automatic:

Line

External:

Slope:

Coupling:

Sensitivity:

Level:

Accessories Furnished:

Optional: Warrranty:

Tilt stand, battery charger. 2 input cables and 3

miniature banana plugs.

Leather carrying case and probes

One year parts and labor Made in the U SA

Coupling:

CRT:

N on-operating: External Power:

Internal Time Base or External Horizontal, switch

selectable In the XY mode, vertical input is through

CHI and horizontal input is through CH2

DC to 200 KHz (13 db) AC. DC or ground, switch selectable Low frequency

point on AC is 3 Hz. Input Impedence: IMeg ohm shunted by 50 pF Deflection Factor: lOmV/div to 50V div in 12 calibrated ranges

The ranges can be calibrated with the CH2 gain control Input Voltage 250V maximum (DC and Peak AC) Time Baae: 0 1 uS div to 0 6 Sec/div in 21' calibrated ranges.

as follows:

xl, uS-0.1 uS/div to 100 uS/div x2. uSO 2uS/dtv to

200 uS/div

x5, uS-0 5uS/drv to 500 uS/div x1, mS-0 1 mS/divto

100mS/div

x2. mS-0 2mS/div to 200 mS/div. x5, mS-0.5mS/div

to 500 mS/drv

all in four ranges, each continuously variable. (Range increments ar .1,1,10, 100.(With vernier in full clockwise position, calibrated time measurements are possible Accuracy is 3%

MS-15 Single Trace version of MS-215

4x5 div, each division is 0 25 inch Viewing area 1 V'Hxl 35 "W

Bluish-white phospher, medium peristence CRT uses low power filament for low battery drain. Instant onl Power On-Board Batteries: Three sealed, rechargeable lead acid D Cells Operating Time: Typically 4 hours

Charging Time Scope Operating: Will run indefinitely but not reach full charge

Sixteen hours Battery charger 115 vac (220 vac on request). 50400Hz less than 1 5 watts 3 1 Hx6 4 WxBO'D Three pounds

Dimensions: Weight: Environment Operating Temperature: 0° to 40°C

Shock and Vibration: Designed to with stand normal shock and vibration encountered in commercial shipping and handling

MS-215 with Rechargeable Batteries

and Charger $395.00

Leather Carrying Case

The leather case has 2 separate compartments One to hold the scope, the other to hold the charger, probe, shoulder strap, etc The case can be worn on the belt, or over the neck

The snaps used on the case are "one way", thus accidental striking of the case against an object will not undo the snaps or let it be pulled off your belt

41-140 $45.00

Probes

10 to 1 probe with 10 megohm input.

Probe uses spring hook tip for sure connection Compensation network is located at the connector rather than at the probe, so as to keep sue and weight to a minimum

41-141 $27.00

Deluxe Combination Probe

Switchable fOtol /1 tol probe with an assortment of probe

tips to suit any situation.

41-3495 $36.00

$318.00

PRIORITY

$50.00 OFF

On Any Accessories Purchased

with MS-215 MINISCOPE, Just

Send or Mention the COUPON and

°V - Magazine

ELECTRONICS

Send tor our latest brochure

B West Rosecrons, Hawthorne, CA 90250

Terms VISA. MC. BAC. check Money Order COD US Funds Only CA residents add 6% sales tax Minimum order $10 00 Orders less than $75 00 include 10% shipping and handling, excess refunded Just in case please include your phone no "Sorry,no over the counter tales" Goad thmNovwM

(213)973-4876

%

phone orders welcome

OEM and institutional inquiries invited

214

BYTE October 1978

Circle 306 on inquiry card.

SALE S-100 BUS EDGE CONNECTORS SALE

ILM3A 3 dig 1% DC $134.00

ILM3.5A 3% dig .5% DC ... $ 158.50

ILM40A 4 dig .1% DC $209.00

|LM4A 4 dig .03% DC $250.00

Rechargeable batteries and charger included

Measures DC Volts, AC Volts, Ohms and

Current

Automatic polarity, decimal and overload

Indication I • Rechargeable batteries and charger | • Measures DC Volts, AC Volts, Ohms and

Current I • Automatic polarity, decimal and overload

Indication |* No zero adjustment and no full scale ohms

adjust > Battery-operated - NtCad batteries; also AC

line operation

• Large LEO display for easy reading without Interpolation

• Sin: 1.9"Hx2.7"Wx4"D Parts & labor guaranteed 1 year

Purchase any of the LM series

Meters and buy the LEA THER CASE

for 1C

MS 75 MINISCOPE

With Rechargeable Batteries A Charger Unit

• 15 megahertz bandwidth. nnr\nc: ia

• External and internal trigger. PROBE K

• Time base — .1 microsec, to 0,5 Sec/div ■ 21 PROBE it with the settings. i3%. dHLfc purchase o» SCOPE

• Battery or line operation. /fflEi !«nd the MENTION of

• Automatic 4 line »ync mod«r \JUHr "»*• MAGAZINE

• Power consumption < 15 waits ^iaaWP

• Vortical Gain - 01 lo 50 V/div Uwtllngs ±3%"-—'

• Viewing arw 1.1" x 1.35"

• CUI size 2 7"H x 8.4"W x 7.5"D, 3 pounds.

• P»ri« i Udor guwuiiMd I r*ar * 97

• 10IOI. 10 nugprob* \m\*

• MS-215 Dual Trace Version of MS-15 $435.

SI00 WWG 50/100 Com 125ctrs 3 LEVEL WIRE WRAP 025 *q posi on 250 spaced rows GOLD plated

14 5 9 10-24

•400 »3 75 «3 50

RGB1G 50 100 Corn 125c!rs DIP SOLDER TAIL on 140 spaced rows for ALTAIR motherboards GOLD plaled

SI00 STG 50/ DIP SOLDER TAIL on 250 spaced rows for VECTOR and MAS I

motherboard* GOLD plated 14 5 9 10-24

5 4 00 S3 75 S3 50

R681 3 50 100 Com PIERCED SOLDER EYELET GOLD

:•> <

Other Popular Edge Connectors

R644 G 22 '44 Com 156 cl PIERCED SOLDER EYELES tat GOLD plated »4 71

14 6-9 10 24

•3 00 *2 76 S2 50

ATTN: OEM'S and Oealara. many other connecto

ov6o°

&

1-24 25-49

8pin# 41 38

14 pin* .39 .38

16 pin* 43 42

18 pin 63 20 pin 80 22 pin* .90

24 pin 90 28 pin 110 40 pin 1 50

58 75 85

84

1.00 1 40

50-99 35 .36 39

.54

.70 .80

78

90

1 30

100-249 .31 .32 35

47

63 .70

68

84

1.20

250-999 1K-5K

.27 23

29 27

32 30

42 58 .61

63 76

1 04

36 .53 .57

58 71 89

Sockets purchased in multiples of 50 per type

may be combined for best price. All sockets are GOLD 3 level closed entry * End and side stacable. 2 level. Solder Tail, Low Profile, Tin Sockets and Dip Plugs available. CALL FOR QUOTATION

Plugboards

Price $29.50

8800V

Universal Microcomputer/processor plugboard, use with S-100 bus Complete with heat sink & hardware. 5 3" x 10" x 1/16'

1-4 5-9 10-24

$19.95 $17,95 $1596

8801-1

Same as 8800V except plain; less power buses & heat sink 1-4 5-9 10-24

3682 9.6" x 4.5"

$10.97

3682-2 6.5-X4.5"

$9.81

Hi-Density Dual-In-line Plugboard for Wire Wrap with Power & Grd. Bus Epoxy Glass 1/16" 44 pin con. spaced .156

3677 9 6" x 4.5"

$10.90

3677-2 6.5" x 4.5"

$9.74

Gen. Purpose D.I.P. Boards with Bus Pattern for Solder or Wire Wrap Epoxy Glass 1/1 pin con. spaced .156

16" 44

3690-12 3662 6.5''■ 4.5" CARD EXTENDER

$7 65 Card Extender has 100

ififi? 9 a'?'* A «*" contacts-50 per side on .125

*<§-i ac centers-Attached connector-is

$11.45 compatible with S-100 Bus

P pattern plugboards for systems $25.00

IC'S Epoxy Glass 1/16" 3690 6.5" 22/44 pin .158

44 pin con. Spaced .156 ctrs. Extenders $12.00

1/16 P&M BOARD

.042 dia holes on 0.1 spacing for IC's

Phenolic PRICE

PART NO. SIZE 1 -9 10- 19

64P44XXXP 4.5x6.5" $1.49 1-34

169P44XXXP 4.5x17" 83.51 3.16

ELIV4*I#IMU

Wrips insulated wire on 025" square posts

FOUR TIMES FASTER

-f9

€

$24.50

with two

100' spools

wire

NO PRE STRIPPING"

NOPRE-CUTTING' SPOOL-FED WIRE'

pisses through the tool past 11o the wrap post » narrow longitudinal Cut presses tttt squirt post

$75.00

SLIT NWRAP

WIRE

NO. 28 GAGE INSULATED

WIRE, 100' SPOOLS

A-n,g 3. Grew w?l ? C »a M

2708

8K 450 ns

EPROM

FACTORY PRIME

$ 9.00 EA.

25 + Caff For Price

14 & 16 PIN IfofGOLD 3 LEVEL

" .ytohwiRE WRAP

SOCKETS

M4- G3 100 for

$30.00

16-G3 100 for

$30.00

50 of each for $32.00

Sockets are End & Side stackable, closed entry

WRAP POST

Tor .042 dia. holes (all boards on ihis page) T-Mpkg. 100 .$ 2.28 T-44 pkg

1000 $14.00

A-13 hand installing

tool S 2.80

Bright Green Fluorescent Display Crystal Time Base Assembled, just add switches and 12VDC.

SPECIAL

?14CS2100forM4" ;,16CS2100for*16"

14 pin CS2 10 tor'2" l«plnCS2 Sfor*2" These low cost DIP sockets will accept both standard width plugs and chips. For um with chips, the sockets offer a tow profile height of only .125" above the board. These sockets are and atackable.

Send for our latest brochure

PRIORITY (ONE J ELECTRONICS*

4911B UUsst Rosecrans, Hawthorns, Cfl 90250(

Terms VISA. MC. BAG. check, Money Order, COD., U.S. Funds Only. CA residents add 6% sales tax. Minimum order $10 00. Orders less than $75.00 include 10% shipping and handling; excess refunded. Just in case please include your phone no "Sorry,no over the counter sales" Good thru October, 1978

phone orders welcome (213) 973-4876

OEM and Institutional inquiries invited

24 PIN DIP PLUGS

WITH COVERS

3/ $1.00 40/$10.00

SALE S-100 BUS EDGE CONNECTORS SALE

What's New?

Radio Shack Microcomputer Catalog

PUBLICATIONS

New 1978-79 General Semiconductor Industries Product Catalog

The new 1978-79 General Semiconductor Industries Product Catalog contains a complete listing of the company's entire line of Zener diodes, temperature compensated diodes, NPN switching transistors, TransZorb silicon transient voltage suppressors, and C^R high speed and high voltage switching transistors.

This 238 page publication contains detailed device characterization and applications information for many of the units listed. The catalog lists the devices numerically within specific categories. General Semiconductor's environmental facilities and equipment is also listed. Contact General Semiconductor Industries Inc, 2001 W 10th PI, Tempe AZ 85281."

Circle 622 on inquiry card.

Surge, Hash and Transient Protection

A new flyer from Electronic Specialists, POB 1 22, Natick MA 01 760, discusses AC power line surges and hash. Suggestions are offered for protection from microprocessor damage or malfunction. Included are protection against lightning and error-producing power line hash. When writing for this free flyer, specify flyer AEP-7. Send stamped, self-addressed envelope."

Circle 623 on inquiry card.

New Electronic Test Equipment Catalog

This new 76 page 1978 catalog features electronic test equipment from major manufacturers including B & K Precision, Continental Specialties, Hickok and Simpson, North American Electronics specializes in direct catalog marketing of name brand electronic test equipment. The free catalog can be obtained by writing to Dept AA 78, North American Electronics, 1468 W 25th St, Cleveland OH 44113."

Circle 624 on inquiry card.

New Metric Components Catalog

» (J) PIE

£ METRIC CAWLOO

[ jgSSS 1

STANDAftD^

A compilation of metric system standardized precision mechanical components and assemblies has been produced by PIC Design, POB 335, Benrus Center, Ridgefield CT 06877.

The 208 page edition contains over 25,000 components covering 24 different product categories. Also included in the catalog are working prints, technical reference data tables, gear data, metric terms and formulas, and many other design and production aids."

Circle 625 on inquiry card.

Radio /hack

"TRS-80 Microcomputer System Products

The Low-Cost leader Goes Farther Out Front

*:■ SJsjfA Si,y/i> v# P.*f?i. ffr.-Hiffg i>

Now available from Radio Shack is the 8 page TRS-80 Microcomputer System Products catalog. The catalog features Radio Shack's $599 TRS-80 microcomputer system and provides information on upgraded systems, peripherals and ready to use software developed specifically for the TRS-80. The basic TRS-80 system offers Level I BASIC with 4 K bytes of read only memory and 4 K bytes of programmable memory.

Also included in the catalog is information on expanding your existing TRS-80 system with details of Level II BASIC, and an order worksheet that helps customers to custom tailor a TRS-80 system to their particular needs. The Radio Shack TRS-80 Microcomputer System Products catalog is available free on request from Radio Shack stores and dealers."

Circle 626 on inquiry card.

Free Book and Educational Products Catalog

Sybex's 12 page book and educational products catalog contains a broad range of books (including foreign versions), self-study courses and video cassettes for TV systems for the personal computer user. For a free copy of this catalog, write Sybex, 2161 Shattuck Av, Berkeley CA 94704."

Circle 621 on inquiry card.

1977 Periodical Guide for Computerists

The January thru December 7977 Periodical Guide for Computerists indexes over 2200 articles from 25 hobby and professional electronic and computer publications. Articles,

editorials, book reviews and letters from readers which have relevance to the personal computing field are indexed by subject under 100 categories. An author index is included which lists the subjects that each author wrote about. The more than 60 page book is available postpaid for $5 from E Berg Publications, 1360 SW 199th Ct, Aloha OR 97005."

Circle 620 on inquiry card.

216

October 1978 'BYTE Publications Inc

Circle 356 on inquiry card.

$249.95

CLEANED

&

CHECKED

OUT

$199.95

AS IS

IBM® Selectric-Based I/O Writers

Excellent Hobby Printers

•Series 72/731

• Heavy Duty •81/2" Platen

• All Solenoids

• BCD Code

These terminals are from a large airline reservation system. They are heavy duty and were under continuous maintenance. The units have been in storage. We make every effort to ensure that all essential parts are included. Most work when plugged in. No warranties are given or implied.

Selectric Controller

The 3S-01 is a complete controller for the IBM Model 731 I/O typewriter for both input and output operations. With this controller the 731 becomes a versatile ASCII printer with the world famous Selectric quality and an alphanumeric ASCII-encoded keyboard with the wonderful Selectric feel. An eightbit parallel input/output port (bidirectional or separate) is all that is necessary to add the KING of the hardcopy terminals to your system. Serial RS-232C is also available for connection to a serial communications port or modem.

Power supply requirements are 5VDC at .75A and 48VDC at 1A for the basic parallel controller. Additional power needed for the serial unit is + 12VDC.

PRICE $249.95

ASSEMBLED BOARD

Surplus power supply for above $30.00

Print only interface unit Board and instructions only

$59.95

SUPER SALE

Complete Terminal Unit

This unit consists of:

1. A cleaned, checkout, repainted used selectric. This unit has been converted for upper & lower case with new ball containing all BASIC characters.

2. Selectric controller unit allowing both input and output

3. Power supply (used)

4. Terminal table (new)

5. Assembled and tested. Ready to plug in and go.

6. ASC II to computer

7. Crated for shipping by motor freight (collect)

PRICE $775.00 FOB TULSA

DEALER INQUIRY INVITED

Have 10 HP 2671B card readers left at $299.95 each FOB Tulsa.

Cashier Check or Money Order. Personal check allow 3 weeks. Units shipped collect. Price Net FOB Tulsa.

3 S Sales, Inc. P. O. Box 45944 Tulsa, OK 74145 1-918-622-1058

4801 STATIC, TTL IN OUT 4096*1 N-MOS RAM

GENERAL DESCRIPTION

Part Number 4801 Is a 4K semiconductor random access memory organized as 40961-bit words, it is fully static and needs no clock or refresh pulses. It requires a single * 5 volt power supply and is fully TTL compatible on input and output lines. The 4801 is packaged in a convenient 18 pin dual-in-line package.

■ Single +5V Power Supply FEATURES

■ 4Kx1 Organization

■ Replaces 4 1024x1 Static RAMs

■ Completely Static-No Clocks or Refresh ■16 Pin Package

■ Access/Cycle Times 600 nsec max

■ 250 mw Typical Operating Power

■ Separate Data In and Data Out

■ TTL Compatible I/O

■ Three State Outputs

• Data Bus Compatible I/O Function

4S04 STATIC, TTL IN OUT 1024x4 N-MOS RAH

GENERAL

DESCRIPTION ^^ fc*J.

Part Number 4804 *^^» • --—» is a 4K semiconductor random access memory

organized as 1024 4-bit words. It is fully static and needs no clock or refresh pulses. It requires a single ' 5 volt power supply and is fully TTL compatible on input and output lines. The 4804 is packaged in a convenient 18 pin dual-in-line package

FEATURES

■ Single I 5V Power Supply

■ 1Kx4 Organization

■ Replaces 4 1024x1 Static RAMs

* Completely Static-No Clocks or Refresh

■ 18 Pin Package

■ Access/Cycle Times 600 nsec max

■ 250 mw Typical Operating Power

■ Common I/O Bus

■ TTL Compatible I/O

■ Three State Outputs

v mi TEH

7808 North 27th rura Phoenix. Arizona 85021

. (602) 995 9352

16,384-BIT DYNAMIC RANDOM ACCESS MEMORY The MCM4116 is a 16,384-bit, high-speed dynamic Random Access Memory designed for high-performance, low-cost applications in mainframe and buffer memories and peripheral storage. Organized as 16,384 one-bit words ond fabricated using highly reliable N-channel doublepolysilicon technology, this device optimizes speed, power, and density tradeoffs. By multiplexing raw and column address inputs, the MCM4116 requires only seven address lines and permits packaging in standard 16-pin dual in-line packages. This packaging technique allows high system density and is compatible with widely available automated test and insertion equipment. Complete address decoding is done on chip with address latches Incorporated. All inputs are TTL compatible, and the output is 3state TTL compatible. The data output of the MCM4) 16 is controlled by the column address strobe and remains valid from access time until the column address strobe returns to the high state. This output scheme allows higher degrees of system design flexibility such as common input/output operation and two dimensional memory selection by decoding both row address and column address strobes. The MCM4116 incorporates a onetransistor cell design and dynamic storage techniques, with each of the 128 row addresses requiring a refresh cycle every 2 milliseconds. .Flexible timing with read-modify-write, RAS-Only refresh, and PageMode capability. .Industry standard 16 pin package .16,384 X 1 organization .+10% tolerance on all power supplies .AH inputs are fully TTL compatible .Three-state fully TTL-compatible output .Common I/O capability when using "Early Write" mode .On chip latches for addresses and data in .Low power dissipation-462mW active, 20m W standby (Max) .Fast access time: 200nS .Easy upgrade from 16-pin 4K RAMs .Pin compatible with 2117, 2116, 6616, uPD416 and 4116

MCM4116 $24.95

Specs $.60

DATA CONNECTORS Popular 25 pin subminiature "D" connector as used in RS232 interfaces Special sale pricesl

1-9 10-99 100-up

DBC-25P(male $2.19 1980 173.00 DBC-25S (female) $3.19 30.50 266.00

DATA PHONE HOODS "Clam Shell" type junction shell for 25 pin data connectors. ^^^ DB-51226. ..^^■^-..$1.39

SCREW LOCK ASSEMBLY Set of 2 Male/Female screw lock adapters for joining socket and plug connectors. D20418. , tl. 19

P*

12

New 3-f 12 Digit Portable DMM

$8.95

4801 or 4804 4K RAM's

8/$60.00 16/$100.00

• Fa' pr

r. Eicn

,'*,',

B (f.r„ cl.s b. ..tuncud

"*

:,.l

PlM«

,,v. mm

*dd

.« toi UPS

tvpp

na.

• CO D NOPVE

ups coo

■ 1 poll COD Add8S< low*

Arw S

°Z'^Z"t*»"

mTmJtoZ

tw<J Wit CM SASE

• Cl.imi

lot *nof

lOdivic

'»"

Z"ZT.

V

""

r. ,ubj#c

IOC

h.nfl. (.MM

m no

.<•

2800

Modal 2800 S99.95

Circle 376 on inquiry card.

BYTE October 1978

217

CATCHAPULSEII

9 LOGIC PROBE^

Ffff. "'^^^k^-w * 10 Nsec pulse response M^m

MlT^^^^L* Open circuit detection ^^V^

[Calif residents add 6% sales tax) to

ELECTRONICS

[ SanDiegu CA921I9 (714)447-1770

-IMHEW PRIftESI

V"P

TAPE RECORDER!

- 5 TRACK, 4 CASSETTE EASY TO Oft9j0° MODIFY TO PLAY ONE, RECORD ON >*w ANOTHER! ALL CONTROL SIGNALS

ON EDGE CONNECTORS! 2000FT 1/4 TAPE/ CASSETTE, PRINTED CIRCUIT MOTORS a TACH GENERATOR; I5/I67SEC: 12 V 5A REQ'D. DATA 8 I CASSETTE FURNISHED; WT85LBS SHIPTJ COD. BOOK $25 REFUNDED; CASSETTE $25

CIRCUIT BOARDSIwirewrap,

GOLOl 8-I6PIN, 32-I4PIN, 8-26PIN .025SQMALE RIBBON CONNECTORS, YOU STRIP, EACH $10 00

NEW KLUGE BOARDS EPOXY-GLASS

2 SIDE COPPER, I/I6"X 71/2"X 101/2" DRILLED FOR 7-16 PIN. 28-l4PIN,l-24PIN,a 4-2SPIN SOCKETS MANY THRU HOLES, UNCLEAR 3 EDGES, YOU ETCH EACH $500 NO.2 SAME EXCEPT I/I6"XBI/2"X 101/2" DRILLED FOR I3-I6PIN, a 36-I4PIN SOCKETS, MATCH YOUR SYSTEM' YOU ETCHI EA$750

PC CUT CAPACITORS NOW30/$L00

SEE JUNE BYTE FOR LISTJ ALL SIX 0NLY$5>

DC MOTOR5,SMALLI5/e"DIA2

7/!6"L0NG, SHAFT l/8"DIA I/2"L0NG, PM

FIELD, BALL BEARING, 28VOLT EA$6.00

HI TORQUE, 3/l6"DIA 3 3*"LG., PM FIELD,

2 l/8"DIA 2 7/8"LONG,B.B.. 28V0LT, DC,

HAS MU-METAL SHIELD, PUSH-ON TERMINALS, EACH $7.30

TA9it?KETE-R GEN, PM FIELD, l/8"DIA 3/8"L0NG SHAFT, l"DIAX

I 3/4 LONG FIELD, EACH $5.00, LARGE MOTOR a TACH $11 00

ALLOW $3.00 P8H BAL REFUNDED; MIN ORDER $10 00

J a E ELECTRONICS SALES PO BOX 4504, FT. WORTH, TX 76106

Will 1.1

i isrs!

ALL NEW!

J Mini Discs $3.70 ea. in boxes of 10

Two-tier walnut formica enclosure for S. A. 400 Shugart. . . . .$39.95

A Horizon — 2

R Centronic 779

C Hazeltine 1500

D. Hazeltine 1400

AB&C:

$4,150

A,B&D: $3,852

Circle 24 on inquiry card.

Circle 193 on inquiry card.

\ We also stock Imsai, Seals, Okidata, r ADM-3A, Xitan and Cromemco. [ Mail order only.

TORA SYSTEM

29-02 23rd Avenue

Astoria, NY 11105

(212) 932-3533

Circle 373 on inquiry card,

LSI-11/2

AAM-11 • Auto-answer/Auto-dial low speed modem/serial interface. Requires only a 'CBS' DAA unit. Emulates DL-11E and DN-11. Software transparent. $650

BUS-11 • Direct X-Y graphics display of bus activity on your oscilloscope. Selectable qualifiers and address window. Use stand-alone or connect to logic analyzer. Start/stop address strobes for software loop timing analysis. Invaluable diagnostic. $300

TEXT-11 • Screen editor package for RT-11. Use with any cursor controlled CRT. Context switch between 2 files. What you see is what you get! $500

Dealer/OEM inquiries invited

Norlek

The LSI-11 specialists.

2432 NW Johnson* Portland, OR 97210

503-226-3515

16K RAM MEMORY CARD

SHilllii?!* a UiijLiui

■<«wiiiw|ilW)lilitriiit l iSSB5? ■■.....

SWTPC

MSI

$27.00

DSD

16K RAM card using TMS 4045 or SY 21 14 1024 x 4 Memories. Selectable to any two 8K blocks of memory Single 5V supply. Compatible to all SS-50 BUS Computers.

Other Cards Available

DSD 1802-4K-8K

CPU card

$27.00

DSDS6011

Serial card

$12.00

DSDP8212

Parallel card

$12.00

DSDC I/0-2M

Cassette card

$12.00

DSD l/Q-N

I/O Network

$29.00

DSD SS 50-5

Mother board

$29.00

All cards with connectors only.

DIGITAL SERVICE & DESIGN

P. O. Box 741

Newark, Ohio 43055

Order direct by check, VISA or Master Charge. Ohio residents add 4'A% safes tax.

E%p''

.CURRENT

Opportunities

• Product Support Engineers

mini-computers $27,000

• Support Engineers

Micro-mini-computers $23,000

• Field Service Engineers

mini peripherals $20,000 Call or write: Steve Bagley

• Compiler Design $30,000

• Real Time Operating Systems $28,000

• Micro-Processor Programmers $23,000

Call or Write: Walt Abrams

MANY MORE CHALLENGING OPPORTUNITIES

U

DUE

Circle 284 on inquiry card.

Circle 103 on inquiry card.

ELECTRONICS SERVICES. INC

PERSONNEL CONSULTANTS

Suite 100

Two Newton Executive Park Newton Lower Falls, MA 02162 (617) 965-9700

Circle 203 on inquiry card.

LOW LOW COST

S Hit) \i\ S MH lt<) <'(>MI»l TKK UKAVY ( I KKKNT

POWER SUPPLY KITS

3 Hour Assembly Time Complete Instructions Included Dimensions of kit 13" (L) x 5" (W) x 4%" (H) ITTT A (CK'7 tu\ 4 Unregulated Voltages Available

J\l 1 A: $◦ / .OU + 8.5V/25A, - 8.5V/3A, ± 17V/3A

Includes TRANSFORMER T2 [25A, size 3/W (I) x 4W (w) x 3W (h)], CAPACITOR C) (100,000 UF, 15V), BRIDGE RECTIFIERS: Dt (30A, 50V) & Da (4A, 50V), FUSE HOLDER, BARRIER STRIP, ALUMINUM PLATE [13" (I) x 5' (w) x3/16" (t)l, 3X CAPACITORS (6,000 UF, 45 V), 4X RESISTORS and All Necessary Mounting Parts.

4 Unregulated Voltages Available + 8.5V/15A. 8.5V/2A, +17V/2A All Parts are same as in KIT A, EXCEPT: CAPACITOR Ci (52,000 UF, 15V) and TRANSFORMER 7-\ [15A, Size W (I) x 4"(w)x2 13/16 (h)].

You May Buy Transformers Alone:

T2 (25A) & 7% (15A) at $22.50 and $17.50 respectively.

SHIPPING CHARGES: $4.75 per TRANSFORMER

FOR EACH KIT: $5.00 in California. $7.00 for all other States.

California Residents add 6% sales tax

Master Charge & BankAmericard. OEM Available

RADIO SHACK COMPUTER OWNERS

TR6-80

MONTHLY NEWSLETTER

BUSINESS •PERSONAL FINANCE PRACTICAL APPLICATIONS GAMBLING •GAMES LATEST TRS-80 DEVELOPMENTS SOFTWARE EXCHANGE ©MARKET PLACE QUESTIONS AND ANSWERS PROGRAM PRINTOUTS . . .AND MORE MAJOR PROGRAMS PUBLISHED MONTHLY • INCOME TAX PROGRAM - LONG AND SHORT FORMS • INVENTORY CONTROL • EXTENSIVE MAILING LIST AND FILE PROGRAM • PAYROLL • STOCK SELECTION • PICKING WINNING HORSES • RENUMBER PROGRAM LINES • CHESS • CHECKERS • FINANCIAL APPLICATIONS PACKAGE • PERSONAL FINANCE PACKAGE • GRAPHICS • STATISTICS • MATHEMATICS • EDUCATION . . AND MORE

$24 Par Year- Sample Issue $4 VISA Maitercharg*

MATHEMATICAL APPLICATIONS SERVICE

Box 149 RB

NEW CITY, NY 10956

(914)425-1535

(Send for our FREE Software Catalog)

COMPUTER

PROFESSIONALS

Top New England clients seek key individuals for several outstanding

opportunities, Salary

range $16 - $50K.

CRITICAL NEEDS:Hard

ware/Software Engineers, Analysts and Programmers in Scientific Environments. Experience desired in Digital Design, Data Communications, Graphics, Radar, Distributed Processing, Minis and Micros, PDP-1 1, RSX11, GCOS, CAD, CAM, Assembly, PL-1, Algo and Pascal.

Call us collect (603) 889-0112 or send resume.

PREFERRED POSITIONS, INC.

142 Main Street Nashua. N.H. 03060

Circle 354 on inquiry card.

Circle 217 on inquiry card.

Circle 304 on inquiry card.

Circle 30 on inquiry card,

Tbeckianente"ses# """£rcESr"1

^ I SURMINIATURE CONNECTORS: (DB 25 SERIES. RS 232.) W

I I I I I I I I I I I I I

EDGE CARD CONNECTORS: GOLD PLATED.

BODY: Non brittle, solvent resistant, high temp, G.E. Valox. The finest you can buy CONTACTS: Bifurcated Phos./Bronze; Gold/Nickel.

ALTAIR STOP: Cont./Ctrs. .125 Row Spacing. 50/100 Dip Sold. $3.95 ea.

50/100 Sold. Eye. 6.95 ea.

I MSA I S 100: Cont./Ctrs. 50/100 Dip Sold. 50/100 W/Wrap 3 IMSAI CARD GUIDES:

CROMEMCO S 100:

50/100 Dip Sold. (Or short W/Wrap)

125

Row Spacing, .250

$4.20 ea.

3.75 ea.

0.19 ea.

5 pes. 5 pes.

5 pes. 5 pes. 5 pes.

.125 Row Spacing, .250

$6.50 ea. 5 pes.

100 Contact Ctrs.

22/44 Dip Sold. 25/50 Sold. Eye. 40/80 Sold. Eye. 43/86 Dip Sold. 43/86 Sold. Eye.

OTHER CONNECTORS AVAILABLE ■ 140"

Row Spacing.

$2.30 ea. 2.95 ea. 4.80 ea. 4.90 ea. 4.90 ea.

156 Contact Ctrs., .140 Row Spacing.

6/- Sgle. Row (PET) $1.00 ea.

22/44 Sold. Eye. (KIM) 1.90 ea.

22/44 Dip Sold. (KIM) 1.90 ea.

43/86 Dip Sold. 4.90 ea.

.156" Contact Ctrs., .200" Row Spacing.

1 5/30 W/Wrap 3 $1.05 ea.

22/44 W/Wrap 3 2.30 ea.

36/72 Sold. Eye. 3.45 ea.

36/72 W/Wrap 3 3.85 ea.

43/86 W/Wrap 3 5.50 ea.

5 pes 5 pes 5 pes 5 pes 5 pes

5 pes. 5 pes. 5 pes. 5 pes.

5 pes. 5 pes. 5 pes. 5 pes. 5 pes,

$3.75 ea. 6.50 ea.

$3.95 3.50 0.16

$6.00 ea.

$2.10 ea

2.75 ea

4.50 ea

4.70 ea

4.70 ea

$0.90 1.80 1.80 4.70

$0.95 ea

2.10 ea

3.30 ea

3.70 ea

5.00 ea

POLARIZING KEYS FOR ALL OF THE ABOVE:

Specify. IN Contact or BETWEEN Contact:

1 to 49 pes. $0.10 ea. 50 pcs./Up $0.08 ea.

SPECIAL 12/24 Pin .156" Cont./Ctrs. .200" Row Spacing.

TIN PLATED CONTACTS. IDEAL FOR PET INTERFACE & PARALLEL USER PORT. $1.25ea. 5 pes. $1.10ea.

DB 25P Male Plug DB 25S Female Socket DB 51212-1 Grey Hood DB 51226-1A Black Hood D 20418-2 Hardware Set

3.60 ea. 1.20 ea. 1.30 ea. 0.75 ea.

5 pes 5 pes, 5 pes 5 pes 5 pes

$2.20 ea.

3.40 ea.

1.10 ea.

1.20 ea.

0.70 ea.

SAVE: BUY A SET: (1 DB25P, 1 DB25S, Any Hood.)

1 Set: $6.35 ea. 5 sets: $6.15 ea.

NOTE: For Hardware, (D20418-2) Add $.65/Set.

WHISPER FANS

Excellent for computer cabinet cooling. This is the most quiet fan you witl find. Only measures 4 3/4 square by 1 % deep. U. L. Listed.

$21.00ea. 5 pes. $19.00 ea.

I.C. SOCKETS. GOLDWIRE WRAP 3 TURN.

14 pin $0.36 ea. 16 pin 0.38 ea.

2708 EPROMS PRIME

$14.00 ea.

I. C. SOCKETS. Dip Soldar. Tin.

14 pin $0.15 ea. 16 pin 0.17 ea.

8080 PRIME

$9.00 ea.

WRITE FOR LARGER QUANTITY DISCOUNTS. DEALER INQUIRIES ARE WELCOME.

WE ARE CONNECTOR (EDGE CARD} SPECIALISTS. IF YOU DO NOT SEE WHAT YOU NEED IN THIS ADVERTISEMENT, PLEASE WRITE US. WE WILL REPL Y.

TERMS: Minimum Order $10.00: Add $1.25 for handling and shipping. All orders over $25.00 in USA and Canada: WE PA Y THE SHIPPING. NOTE: CA residents please add 6% sales tax.

NO C.O.D. SHIPMENTS OR ORDERS ACCEPTED.

MAIL ORDERS TO:

Beckian Enterprises

P.O. Box 3089

Simi Valley, CA 93063

cybercDm boards

MB-1 MK-8 Computer RAM (not S-100), 4KX8, uses

2102 type RAMs, PCBD only ....$22.00

MB-3 1702A EROM Board, 4KX8, S-100 switchable

address and wait cycles, kit less PROMS $58.00

MB-4 Basic 4KX8 ram, uses 2102 type rams S-100

buss. PC board $25.95

MB-6A Basic 8KX8 ram uses 2102 type rams, S-100 buss. KIT 450 NSEC $125. PCBD $24.95

MB-7 16KX8, Static RAM uses UP410 Protection,

fully buffered. KIT $299.95

MB-8A 2708 EROM Board, S-100, 8KX8 or 16KX8

kit without PROMS ..... $75.00

MB-9 4KX8 RAM/PROM Board uses 2112 RAMS or 82S129 PROM kit without RAMs or PROMs ....$72.00

IO-2 S-100 8 bit parallel I/O port, 2/a of boards is for

kludging. Kit $46.00 PCBD $25.95

IO-4 Two serial I/O ports with full handshaking 20/60 ma current loop: Two parallel I/O ports.

Kit $130. PCBD $25.95

VB-1B 64 x 16 video board, upper lower case Greek, composite and parallel video with software, S-100.

Kit $125.00 PCBD $25.95

Altair Compatible Mother Board, 11 x111/2 x Vs". Board only $40.00. With 15 connectors . $94.95

Extended Board full size. Board only $ 8.95

With connector $12.95

SP-1 Synthesizer Board S-100

PCBD $39.95 KIT. $135.95

82S23

82S123

82S126

82S129

82S130

82S131

MMI6330

4N26

4N27

4N28

LM323

$1.50

1.50

1.95

1.95

3.00

3.00

1.50

.75

.75

.75

2.95

PRIME DEVICES

8080A

8212

8214

8216

8224

8228

8251

8255

21L14

4116 (apple ram)

$ 9.95 3.45 6.50 3.75 4.00 6.50 9.95 9.95 7.95 19.50

/Y/TnC/ine. WAMECO INC.

MEM-1 8KX8 fully buffered, S-100, uses 2102 type

rams. PCBD ..... $24.95

QM-12 MOTHER BOARD, 12 slot, terminated, S-100

board only $34.95

CPU-1 8080A Processor board S-100 with 8 level

vector interrupt PCBD $25.95

RTC-1 Realtime clock board. Two independent interrupts. Software programmable. PCBD $25.95 EPM-1 1702A 4K Eprom card PCBD $25.95 EPM-2 2708/2716 16K/32K

EPROM CARD PCBD $25.95

QM-9 MOTHER BOARD. Short Version of QM-12.

9 Slots PCBD $27.95

MEM-2 16Kx8 Fully Buffered

2114 Board PCBD $25.95

2102AL-2 Prime 250 NSEC $1.70

2102AL-4 Prime 450 NSEC $1-30

2708 Prime (National) $9.95

2501B $1.50 1488N $1.50

2502B 1.50 1489N 125

2504 1.50 MC4044 2.25

2507V 1.50 8038 3.90

251OA 1.50 5320 5 95

2517V 1.50 5554 1.90

2518B 1.50 5555 2.50

2519B 1.50 5556 2.50

2521 1.50 5055 1.25

2522 1.50 5312 4.00 2525 1.50 MH0025 1.50 2527 1.50 MH0026 1.75 2532V 1.50 MH0028 190 2529 2.75 5262 .50 2533V 1.95 2101 3.50

m

419 Portofino Drive San Carlos, California 94070

Please send for IC, Xistor and Computer parts list

KITS

MIKOS PARTS ASSORTMENT WITH WAMECO AND CYBERCOM PCBDS

MEM-1 with MIKOS #1 450 NSEC 8K

RAM $125.00

CPU-1 with MIKOS #2 8080A CPU .... 89.95 MEM-2 with MIKOS #3 250 NSEC 8K

RAM 155.00

QM-12 with MIKOS #4 13 slot mother

board 79.95

RTC-1 with MIKOS #5 real time clock . . 60.95 VB-1B with MIKOS #6 video board less

molex connectors 89.95

MEM-2 with MIKOS #7 16K RAM 275.95

EMP-1 with MIKOS #10 4K 1702 less

EPROMS 49.95

EPM-2 with MIKOS #11 16-32K EPROMS

less EPROMS 49.95

QM-9 with MIKOS #12 9 slot mother

board : 67.95

MIKOS PARTS ASSORTMENTS ARE ALL FACTORY PRIME PARTS. KITS INCLUDE ALL PARTS LISTED AS REQUIRED FOR THE COMPLETE KIT LESS PARTS LISTED. ALL SOCKETS INCLUDED.

VISA or MASTERCHARGE. Send account number, interbank number, expiration date and sign your order. Approx. postage will be added. Check or money order with order will be sent post paid in U.S. If you are not a regular customer, please use charge, cashier's check or postal money order, otherwise there will be a two-week delay for checks to clear. Calif, residents add 6% tax. Money back 30 day guarantee. We cannot accept returned IC's that have been soldered to. Prices subject to change without notice. $10 minimum order. $1.00 service charge on orders less than $10.00.

Circle 229 on inquiry card.

BYTE October 1978 219

What's New?

New Enclosure for Homebuilt Microcomputers and Terminals

Designed with the personal computer user in mind, this new case is now avail

able for home built microcomputers and terminals. Constructed of molded fiberglass, the case is large enough (18 by 20 by 8 inches (46 by 51 by 20 cm)) to enclose a variety of components and sturdy enough to support a monitor or portable TV. The keyboard area will accommodate both a full-size keyboard and a hex pad (not included with case). The textured polyester finish is available in beige, white or black. Cutouts may be easily made with an ordinary sabre saw. Cast-in brackets are provided for mounting to a base plate. The price of the case is $59.95. An optional aluminum base plate is available for $15.95. For more information contact Technical Products Company, POB 12983, Gainesville FL 32604."

Circle 582 on inquiry card.

New DIP Plugs and Covers

For the personal computer user or prototype engineer who needs to make interconnection assemblies, OK Machine and Tool Corp, 3455 Connor St, Bronx NY 10475, offers 14 and 16 pin plugs that fit into standard dual in line package (DIP) sockets. Plugs feature United Laboratories recognized glass filled thermo plastic bodies, and solder lugs on the top side are slotted for easy attachment of cable leads. Rectangular legs aid in the insertion into the socket. The leg and solder lug are one piece gold plated phosphor bronze. Packed two to a package, complete with slotted top-entry covers, the plugs are $1.45 for two 14 pin units and $1.59 for the 16 pin version."

Circle 583 on inquiry card.

DM-1 Design Mate Adds Power, Metering to Solderless Breadboards

The Design Mate-1 is a self-contained unit that adds a 5 to 1 5 V variable regu

lated power supply and a 0 to 1 5 VDC voltmeter to a solderless breadboard terminal and bus strips.

The output of the DM-1 variable regulated power supply is 5 to 1 5 VDC at up to 600 mA for 9 W maximum of electronic drive.The 0 to 1 5 VDC meter and the power supply are brought out to their own binding posts on the face of the Design Mate case. The meter can then be used to set up the power supply voltage and reconnected to measure voltage parameters within the circuit being designed. Load and line regulation is better than 1%; ripple and noise are less than 20 mV at full load.

The package weighs 3 pounds (1.4 kg) and comes assembled with detailed operating instructions. The 117 VAC 60 Hz version is priced at $69.95. A 220 V 50/60 Hz version is available for 10% more. For further information contact Continental Specialties Corp, 70 Fulton Ter, New Haven CT 06509."

Circle 585 on inquiry card.

Combination Coding and Video Layout Form Introduced for BASIC Users

A new coding form designed for BASIC or other line number oriented languages is available from Stirling/ Bekdorf, 4407 Parkwood, San Antonio TX 78218. With grid lines lithographed in soft blue on a white sheet, Form 78C1 combines coding and interactive video layout functions into one unit. The form has 28 coding lines and retains the 6 mm by 3 mm (.02 inches by .01 inches) grid needed for comfortable writing.

Both 16 line by 64 character and 24 line by 80 character standard video formats are indicated on the form. Developed for minicomputer and microcomputer programming, Form 78CTs paper stock is a 22#opaque sheet which will take a plastic tip marker without spreading and will accept soft pencil equally well.

According to the company, it is pure enough for magnetic ink character recognition scanning equipment. For maximum writing ease and legibility, pens with fine hard plastic capillary action points and black ink should be used. Such pens as the Pilot Razor Point, Sanford's Expresso Fine Point or Big Sig II, Berol Super Flash and Flair Ultra Fine give sharp, crisp coding. The Pentel 0.5 mm mechanical pencil using 0.5 mm HB soft lead will give good results.

The BASIC coding and video layout form is available in 3 hole punched loose-leaf style in 100 sheet packages and as 3 hole punched 50 sheet pads with chipboard backing."

Circle 584 on inquiry card.

Let the 3rd Hand Hold Your Circuit Boards

The 3rd Hand is an aluminum circuit board holder featuring one hand operation. Clamped to the edge of the workbench it holds the board at a convenient angle for placing parts and then is flipped forward to solder parts in place. The vinyl gasket protects the board from damage while holding it securely in place. The open end design allows it to hold circuit boards of any size. The price is $9.95 and the unit can be obtained from Studio 3, POB 1184, Kailua HA 96734."

Circle 586 on inquiry card.

220 October 1978 © BYTE Publications Inc

VISIBLE

OR

INFRA RED

USED FOR CHARACTER

RECOGNITION FOR

COMPUTERS WITH

EXTERNAL CIRCUITS

MAY BE USED IN

A VACUUM, UNDERWATER, HIGH ALTITUDE

IN MAGNETIC ENVIRONMENT BECAUSE THERE IS NO

HIGH VOLTAGE OR MAGNETIC DEFLECTION

MINATURE SOLID STATE

202 VIDEO CAMERA KIT

FEATURING A... 100 x 100 BIT SELF SCANNING CHARGED COUPLED DEVICE

THIS UNIQUE UPDATED CAMERA KIT

FEATURES THE FAIRCHILD CCD 202C IMAGE SENSOR

ADVANTAGES

• IN THE FUTURE WE WILL SUPPLY A

COMPUTER VIDEO INTERFACE CARD

• All clock voltages operate at 6V reguiring no adjustments

• Higher video output signal

• We supply the power board, so only a 5V 1 Amp power source is needed

• The circuitry has been simplified for easier assembly

• Two level TTL output is supplied for interfacing

FEATURES

• Sensitive to infra red as well as visible light May be used for IR surveillance with an IR light source Excellent for standard surveillance work, because of light weight and small size All components mounted on parallel 33/4"x61/2" single sided boards Total weight under 1 lb.

We supply all semiconductors, boards, data sheets, diagrams, resistors and capacitors, and 8MM lens. Sorry we do not supply the case, batteries and 5V supply.

$34900 kit

Add $75.00 to assemble and test

Add $2.00 Postage and Handling

UNIVERSAL 4Kx8 MEMORY BOARD KIT

$69.95

32-2102-1 fully buffered, 16 address lines, on board decoding for any 4 of 64 pages, standard 44 pin buss, may be used with F-8 & KIM

EXPANDABLE F8 CPU BOARD KIT $99.00

featuring Fairbug PSU.1 K-of stanc ram, RS 232 interface, documentation, 64 BYTE regis.er

4001 4002 4006 4007 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018

C/MOS (DIODE CLAMPED)

4019

.18 4020

95 4021

.18 4022

.37 4023

,37 4024

.18 4025

.18 4027

.29 4028

.75 4029

.75 4030

29 4035

.90 4042

.90 4046

4049

.90 4050

.90 4053

.90 4055

.18 4066

.75 4071

.18 4076

.37 4520

.80 74C00

.95 74C02

.33 74C04

97 74C08

.65 74C10

135 74C42

.35 74C73

.35 74C74

1.10 74C83

1.25 74C86.

.70 74C93

18 74C151

.97 74C160

70 74C161

.22 74C174

22 74C175

-24 74C193

.22 74C901

.27 74C902

.85 74C914 '

2708 BK EPROM (450 r>s) 2522 STATIC SHIFT RE6 ... 2513 CHARACTER GEN ...

2518 HEX 32 BITSR

2102 1 I450n»)

21L02 1 (450nt>

MM5270 4K XI DVN

2101 -1 254 it

-St AT

2112 1 256 * 4STATIC 2114 4K STATIC RAM (' S280/2107B4K DYNAM

TMS 4050U

S204 4X PROM

. S 9 75 . $ 1 95

t 2.75

. $ 8 50

* 3.40

. $ 3.95

PRINTED CIRCUIT BOARD

7 WATT LD 65 LASER DIODE IR $a95

2N 3820 P FET $ 45

2N 5457 N FET $ .45

2N2646 UJT . s .45

ER 900TRIGGER DIODES 4 S1 00

2N 6028 PROG UJT S 65

MINIATURE MULTI-TURN TRIM POTS 100, 1 K, 2K, 5K, 10K, 20K, 50K, 100K, 200K, 500K, 1Meg, 2Meg, $.75 each 3/$200

CHARGED COUPLE DEVICES

CCD 321 AH2-512 audio analog S.R $95.00

CCD 201C 100x100 Image Sensor $95.00

CCD 202C 100x100 Image Sensor $145.00

VERIPAX PC BOARD. $4.00

This board is a 1/16"single sided paper epoxy board, WxW DRILLED and ETCHED which will hold up to 21 single 14 pin IC's or 8,16 or LSI DIP IC's with busses for power supply connector.

FP 100 PHOTO TRANS S .50

RED, YELLOW, GREEN or AMBER

LARGE LED's.2" 6/S1.00

TIL-118 0PTO-ISOLATOR $ .75

MOLEX PINS 100/S1.00

100O/$8.00

1 WATTZENERS: 3 3. 4.7, 5.6, 9 1,10,

12, 15, 18, or 22V 6/$1.00

MC6860 MODEM CHIP $9.95

MCM6571A 7 x 9 character gen ... $10.75

82S129

AY 5 1013UART

TR16028

8703C TELEDYNE

8 BIT A/D CONVER

8080A

8224

8228

Silicon Power Rectifiers

CRYSTALS $3.45 4,000 MHZ 6,000 MHz 6,144 MHz 8,000 MHz 10,000 MHz

$ 3.95

S 495

RIBBON CABLE FLAT {COLOR CODED) #30 WIRE 26 cond. -.50/per foot 40 cond. -,75/per foot 50 cond. - .90/per foot

CTS 206-8 eight position dip switch CTS-206 4 four position dip switch LIGHT ACTIVATED SCR's TO 18, 200V 1A. ■

.$1.60 $ 1.45

SILICON SOLAR CELLS 2Va" diamater ,4V at 500 ma $4,00

FND 359 C.C. .4" $ .50 LED READOUTS

FCS8024 4 digtt DL-704 C.A. .3" $.75

C.C. 8" display $5.95 DL 747 C.A. .6" $1.25 FND 503 C.C. .5" $ .85 FND 803 C.C, .8" $1.95 FND 510 C.A. .5" $ .85 FND 810 C.A. .8" $1.95 DL 704 .3" C.C. $ .85

rnV 1A JA 1 Zi\ bOA 1 25 A 240A

100 .06 .14 30 .80 3.70 5.00 200 07 ,20 .35 1.15 4.25 6.50 400 09 .25 .50 1 .40 6.50 9.50 600 11 .30 70 180 8.50 -12.50 800 15 .35 .90 2.30 10.50 16.50 1000 20 .45 1.10 2.75 12.50 20.00 SAD 1024 a RED1CON 1024 stage analog *'Bucket Brigade" shift register. $18.95

IN4148 (IN914) 15, $100

RS232 DB25Pmale $2.95

CONNECTORS DB 25S female $3.50

HOODS $1.00

REGULATORS

309K $ .95 340K-12.15

723 $ .50 or 24V .... $ 95

LM 376 .... S .60 340T-5, 6, 8, 12 320T-12, 15 15,18 or 24V $ 95 or 24V . $1.25 78 MG $1.35

TRANSISTOR SPECIALS

2N6233 NPN SWITCHING POWER $1.95 MRF-8004 a CB RF Transistor NPN S 150

2N3772 NPN Si TO 3 $ 1.00

2N1546 PNP GE TO-3 $ .75

2N4908 PNP Si TO 3 S 1.00

2N6056 NPN S< TO 3 D n(,ton S 1 70

2N5086 PNPSi TO-92 . . 4S 100

2N3137 NPN Si RF $ ,85

2N3919 NPN Si TO-3 RF S 1 .50

2N1420 NPN Si TO 5 3/$ 1.00

2N3767 NPN Si TO-66 S .70

2N2222 NPN Si TO-18 . - - 57$ 1.00

2N3055 NPN Si TO-3 S .50

2N3904 NPN Si TO-92 . 6/$ 1.00

2N3906 PNP Si TO-92 . 6/$ 1.00

2N5296 NPN Si TO-220 S .50

2N6109 PNPSi TO-220 S .55

2N3638 PNP Si TO 5 5/S 1.00

MPSA 13 NPN Si 4/$ 1.00

TTL IC SERIES 7445_ 65 741S1- 6i

7400- ,13 7446- .68 74153- .61

7401- .13 7447- .58 74154- .94

7402- .13 7448- .68 74155- .58

7403- .13 7450- .15 74157- .55

7404- .15 7472- .25 74161- .55

7405- .13 7473- .28 74163- .55

7406- .16 7474- .28 74164- .85

7407- .20 7475- .45 74165- .95

7408- .18 7476- ,30 74170- 1.68

7409- .18 7480- .31 74173- 1.20

7410- .13 7483- .65 74174- ,95

7411- .18 7485- .87 74175- .85

7412- .13 7486- .28 74176- .75

7413- .36 7489-1.25 74177- .75

7414- .60 7490- .42 74180- ,65

7416- .22 7491- .58 74181- 1.90

7417- .25 7492- 43 74190- 1.00 7420- .13 7493- 43 74191- 1.00

7425- .25 7494- .67 74192- .79

7426- .22 7495- .65 74193- .79

7427- ,19 7496- .65 74194- .80 7430- ,13 74107- .28 74195- .50 7432- .22 74121-29 74196- .86 7437- .21 74122- .38 74279- .55 7438* .21 74123- .45 74367- 50

7440- .13 74125- 40 75325- 1.50

7441- .70 74126- .40 75491- .50

7442- .37 74150- .94 75492- .50

DATA CASSETTES 1/2 HR $ .95

22/44 Ptn Solder Tail .156" Conn. $1.95

MM 5387AA new clock chip which will directly drive LED's 12/24 hrs., 1 supply & alarm $5.95

NO. 30 WIRE WRAPWIRE SINGLE STRAND 100'$1.40

ALCO MINIATURE TOGGLE SWITCHES

MTA 106 SPOT $ .95

MTA 206 DPDT $ 1 70

MTA 206 P-DPDT CENTER OFF « i 85

MSD 206 P-DPDT CENTER OFF

LEVER SWITCH $ 1.85

MMHHdipsocT^TT

1.20 1.75

1.00

8 PIN .17 24 PIN .35

14 PIN .20 28 PIN .40 16 PIN .22 40 PIN .60

15 PIN .25

SANKEN AUDIO POWER AMPS

Si 1010 G 10 WATTS $ 7.80

Si 1020 G 20 WATTS $15.70

Si 1050 G 50 WATTS $28.50

TANTULUM CAPACITORS

.22UF 35V 5/S 1 00 47UF 35V 5'$1 00 68UF 35V 5 SI 00 1UF 35V 5-S1 00 2.2 UF 20V5 S1 00 3 3UF 20V 4.S1 00 4.7UF 15V 5/$1,00

74LSSERIES

6 8UF 10UF 22UF 15UF 30UF 47UF 68 UF 100 UF

35V 4'$ 1 00

10V $ .25

25V S 40

35V 3/$ 1.00

6V 5/$1.00

20V $ .35

15V $ .50

10V $ .

74LSM3 74LS366 74LS366 MLS367 741S36S 74LS375 74S.5386 74LS39C

LIMEAR CIRCUITS

LM !Q1 LM 301/748 LM307

*fl324

n

LM339 LM358 LM 370 LM377 LM3B0 LM381 LM382 LM 387

741 Cor V

747

LM 1310

1456

1456

3900

8038CC

791

LP 356 H -1.20

Circle 340 on inquiry card.

BYTE October 1978

221

Unclassified Ads

WANTED: For Microdata 1600 processor (Reality) magnetic tape controller, disc controller and drive, core memory boards. Jack Hardman, 140 Forest Av, Glen Ridge NJ 07028, (201) 429-8880.

FOR SALE: Apple II Game of Life. High speed, 180 generations per minute for 36 by 36 cell matrix. Variable size color display and many features using game paddles and keyboard — requires 8 K of memory. On Apple cassette, $12. C H Galfo, 602 Orange St, Charlottesville VA 22901.

FOR SALE: Apple II ham radio software package. Send and receive in Morse, Baudot or ASCII code. Variable size text buffer, 3 field screen display, stored messages and more features. Uses on board (game) IO - requires 8 K of memory. On cassette, $18. C H Galfo, 602 Orange St, Charlottesville VA 22901.

FOR SALE: Blank 4 K memory cards, 2102 memories, buffered address and data lines, provisions for on board regulation and standby power utilization, $18. Industrial quality G-10 glass epoxy boards with gold plated 44 pin edge connector, on board decoding to 32 K of memory. Specially manufactured for my personal system, but easily used for KIM or other expansion. I also have 5 slot mother boards - $20 - and power supplies. Bob Ribbeck, 10990 Howe Rd, Clarence NY 14031.

FOR SALE: MITS Altair88-S4K Synchronous 4 K memory board. Built by experienced kit builder, and checked out by local MITS computer store. Full documentation pack included. Wish to use slot for higher density board. Asking $150. Dave Busse, 1510 W Dempster, Mount Prospect IL 60054, evenings (312) 364-0147.

FOR SALE: Distortion Analyzer TS-917/GG, Stelma model TDA-2 detects bias distortion and other faults of 5 level teleprinters. 60-75-100 WPM. With instruction manual, $40. John Riley, 914 N Cordova, Burbank CA 91505.

FOR SALE: Radio Shack ASCII keyboard assembled and tested for S40. Like newTI-58 programmable calculator- make offer or swap for SwTPC hardware. Dennis Doonan, 2307 Carlisle Av, Racine Wl 53404.

FOR SALE OR TRADE: Stand and enclosure for chain printer. Can be modified to house a Centronics printer. Would consider trading for Teletype model 35 RO parts. James Mullen, RR 5, POB 106, Evansville IN 47711.

FOR SALE: Updating to bigger system. Must sell Digital Group Z-80 system complete with Z-80 processor, video and cassette IO board, four parallel ports, 8 K bytes static memory. Complete with case and full documentation. Originally $1400, will sell for $900. Ray Cote, POB 68, Peterborough NH 03458.

NEW UNCLASSIFIED POLICY

Reader* 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 must be clearly noncommercial, typed double spaced on plain white paper, contain 75 words or less, and include complete name and address information.

These notices are free of charge and will be printed one time only on a space available basis. Notices can be 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.

Please note that it may take three or four months for an ad to appear in the magazine. ■

FOR SALE: Autonetics % inch magnetic tape drive minideck and solid state electronic control circuits. Requires parallel interface. $75 plus shipping (weight 45 lbs). Dick Jugel, 3814 N 85th Av, Omaha NE 68134, (402) 572-8441.

FOR SALE: Programs for HP-25. Sniper, Cannon, Wumpus, Wumpus 2, Artillery, Artillery 2, Golf, Hi-Lo, Blackjack, Mastermind, (including Random number generator, Roulette, Poker-machine, Parachutist, Biorhythm (includes 100 year calendar). Amplifier (designs simple amplifiers). $4 each, 5 for $18, 10 for $32 or complete set for $45. Also, programs custom written to requirements and to run on any of Hewlett-Packard range (specify). $10 each. I Webber, 92 Royal Pde, St Johns Wood 4060, AUSTRALIA.

FOR SALE: A Heathkit H8 and H9 and cassette recorder, fully assembled and running with 16 K of memory, including many programs and three versions of BASIC. Will sell for $2450 or over $100 less than the price of the kits. Price includes shipping. George Walker, 67 Wyndham St, Guelph Ontario, CANADA (519) 823-1411.

WANTED: Intel 8008 (or -A) processor based system or parts thereto. Send specifications and requested pricing. Also need October 1977 BYTE in good condition. James Tucker, POB 471, APO New York NY 09305.

WANTED: Speech Synthesizer and Heuristics Speechlab in good condition. State price and condition. Contact William Yeap, 2217 7th Av, NW, Calgary Alberta, CANADA T2N 0Z9. (403) 283-6863.

WANTED: September 75 thru June 76, September 1976, January 1977 and February 1977 BYTE issues. Will accept all or separate copies. Will accept a reasonable price. Randy Pray, 3209 SW 2nd, Des Moines IA 50315, (515) 288-8189.

FOR SALE: TRS-80 sci-fi games (4 K, L1>: Galactic Blockade Runner-a sophisticated space war game. You control your ship and its weapons, fight off enemy attacks and cope with hazards to run the blockade and to deliver vital supplies on time. $9.95 for cassette and 12 page manual. SASE for list of games. Tim Quinlan, 219 Washington Av, Chelsea MA 02150.

FOR SALE: Two IMSAI 4A-4 static programmable memory boards. Professional construction, from an operational IMSAI 8080 system. Going to Z-80 and do not want the 450 ns slow programmable memory in the system. $200 buys both boards. K J Halliwell, 2373 John Smith Dr, Apt F, Schaumburg IL 60194, or call after 6 PM (312) 885-0362.

FOR SALE: Heathkit H-8 Computer system, 16 K memory, H-8-5 serial IO and cassette interface. All available Heath software, assembled and working, $900. Lear Siegler model 7700 Display Terminal, serial RS-232 output, 25 lines with 80 characters per line, service manual, $450. Bob Majanski, 214 Coolidge Av, Hasbrouck Heights NJ 07604, (201) 288-3742.

FOR SALE: One Processor Technology 8 K programmable memory board, working, $150. One Ithaca Audio 8 K programmable memory board, working, $100. Two Godbout 4 K programmable memory boards, working, $50 each. One Vector Graphics 18 slot mother board, assembled, $75. One ICOM microfloppy system (board and floppy) complete with FDOS III for the SOL, working, $800. One PerSci dual floppy drive, working, $800. All prices are negotiable. Jeff Roloff, 2214 Brookshire, Champaign IL 61820.

FOR SALE OR TRADE: Hewlett-Packard Model 180E dual trace oscilloscope. Excellent condition asking $300 or trade for KIM-1 or similar system. Also power supply with ±24 VDC, ±12 VDC, ±5 VDC and ~6 VDC all outputs rated at 5 A. Asking $30. Contact Roger at (904) 651-4153.

FOR SALE: Five computer memory and IO boards (alt units from Digital Equipment Corp). They are all in new condition, but I cannot guarantee any of them as I do not have the equipment. Three of the boards are core memory (nonvolatile). There is a 4 K by 12 DEC part number H220 P-33, unmarked board, and a 64 by 64 by 18 IO part number CF-4. The remaining boards plug into a PDP-11. One is a memory driver G23IE-P2; the other is a control and data loops board number GI09C. Boards go to the highest bidder. Marty Bunshaft, 29A Forest Acres Dr, Bradford MA 01830.

FOR SALE: 12 issues of BYTE (October 1976 thru September 1977). Best offer or trade for what have you. G F Sabin, 6022 Sage Dr, Orlando FL 32807.

FOR SALE: PDP-15 computer 24 K of 18 bit core memory, 4 DEC tapes, Teletype, paper tape reader /punch, Fortran and Focal. Always on DEC full maintenance. Dr L K Steinrauf, Dept of Biochemistry, I U Medical School, Indianapolis IN 46202, (317) 264-7544.

FOR SALE: OSI-400 computer system. Assembled and tested by a professional. 4K programmable memory (unfinished 2nd 4 K board included). Cassette IO, video display, keyboard; $900 value, best offer takes it. Assembled and running. Robert W Warfield, 3202 Boyd, Midland TX 79701, (914) 694-7035.

WANTED: IMSAI/.COM/DEBBI owners to join European based users group for software exchange, mutual assistance; or alternatively CP/M European users group. Contact K A Geiger, 66, Rue Rothschild, 1202 Geneva SWITZERLAND.

FOR SALE: Fine 1959 SULLIVAN pipe organ with electric key and stop action ideal for artist/ hobbyist integration of micro based C** as described in two articles in February 1978 BYTE. Two manuals (61 keys), 32 pedals, nine ranks, 498 pipes, chimes, pistons, shutters; suitable for home or church installation (in daily use in home now). $6200 plus optional packing and shipping. Send SASE for complete specification and details. Phil Bergstresser, 128 Jackson Av, Madison AL 35758

I am looking for an individual or company willing to provide on site service contracts for the metroplitan New York City area. Equipment would be microcomputers and related peripherals. Also looking for other owners who would like to have on site service and maintenance for their equipment. B Rabinowicz, 1061 54 St, Brooklyn NY 11219.

MUST SELL: 3P+S Processor Technology lOcard. Two parallel lOs and one serial IO. $100, assembled and tested. Paper tape reader, Oliver Audio OP-80A, used only several times, assembled and tested, $50; all that is needed is to interface a parallel input. PerCom Electronics cassette interface; all that is needed is a serial or parallel IO and cassette recorder. Assembled and tested, $50. Godbout PROM board, holds 8 K (5204) and has Godbout monitor. $75 takes assembled board and PROMs. Larry Belmontes Jr, 1762 Yale St, Corpus Christi TX 78416, (512) 855-2687 or (512) 854-2662.

PROM PROGRAMMING. From binary paper tape: 1702A ($4), 2708 ($8). From hexadecimal or octal listing: 1702A ($5), 2708 ($16). You supply the read only memory. Quantity discounts for multiple copies. 48 hour turnaround. David Corbin. 11704 Ibsen Dr. Rockville MD 20852, (301)881-7571 after 6 PM.

FOR SALE: First 16 issues of BYTE except number 11 (July 1976 BYTE). Also February, March and April 1977 Data Communications for free. No reasonable offer refused. L R Chauvenet, 11 Sussex Rd, Silver Spring MD 20910.

222 October 1978 © BYTE Publications Inc

FOR SALE: Sharp Associates Selectric typewriter interface kit model SK2. Converts any selectric typewriter to printer and keyboard input peripheral. Includes power supply and transistortransistor logic (TTL) compatible outputs, assembly and interface manuals. Partly assembled $180. Contact Jeff Duntemann, 6208 N Campbell Av, Chicago IL 60659, (312) 454-2755 during business hours, otherwise (312) 764-5069.

FOR SALE: Altair 8800 with 16 slot motherboard and 16 edge connectors, cooling fan modification, 2SIO serial IO with both ports, 88PIO parallel IO board, 1 K static memory with 512 bytes of memory, 12 K static memory, 4 K read only memory software board with 8080 assembler, text editor, system monitor and all documentation. All A and T, original cost over $2000, yours for $1500 and you pay shipping. Don Cheeseman, 8231 Creekline Or, San Antonio TX 78251, (512) 681-4938.

WANTED: Cheap optical paper tape reader; RAECO, OAE, or similar. Also cheap high-speed 8 level paper tape punch, hopefully with enough documentation to build a parallel port interface. Chuck Johnson, 17104 Via Alamitos, San Lorenzo CA 94580, (415) 278-6595 evenings.

FOR SALE: Digital Group system with 8080 processor, 6502 processor, 26 K programmable memory, erasable read only memory card 64/32 character displays, two phidecks and interface, keyboard, video monitor, audio cassette, 25 A power supply, processor cabinet, software, BASIC, assembler, editor and games. All for $1500. Bill Seiler, number 202, 1717 Woodland Av, Palo Alto CA 94303, (415) 323-2083.

FOR SALE: A number of copies of BYTE, volume 1, number 1 at $10 per copy. Copies will be mailed insured as long as supply lasts. Joe Haran, 517 Bridge St, Mont Clare PA 19453, (215) 935-0484.

WANTED: Literature on Intel SDK-80 (the MDS-80 Systems Development Kit). I am interested in specific applications of your SDK-80 (ie: distributive processing). Dave Fashenpour, 5411 Cerro Vista, San Antonio TX 78233.

FOR SALE: TI-59, PC-100A, two libraries (master and statistics), 40 magnetic cards, 22 thermal paper rolls, thiee card holders, one battery charger, one carrying case, ail in perfect condition. Plus my own special programs including Horse Race, Universal Calendar, Personal Finance (Expense Analysis and Cash Register), Alphanumeric Entry Routine. All documents came with original ship ment (they are stilt brand-new). Please quote offer; if no reply, outfit has been sold. H T Chen, Physics Dept, University of Georgia, Athens GA 30602, (404) 546-1065.

FOR SALE: Altair 8800A mainframe microcomputer with 40 K memory, Vi K programmable memory/read only memory resident bootstrap loader for diskette system, 88DCDD flexible diskette drive with controller and extended BASIC software version 4.1. Additional boards: vectored interrupt/real time clock, ARC tape IO, two SIO RS-232 lOs, PIO parallel IO etc. Retail value over $3,500; asking $2,000 for all, including many extras; will sell separates too. TVT Modified SwTPC 32 character line with video monitor and Pendar keyboard - $150. Burroughs terminal/ printer with logic controller — $150. Ira Wilner, POB 582, Brattleboro VT 05301, (802) 254-8807.

WANTED: Any Micro Systems Design MF10-1 IO Board user. Help. Stephen Gladstone, 1103 Namdac Av, Bay Shore, Long Island NY 11706, (516)666-8342.

PROM PROGRAMMING: From binary paper tape: 1702A ($4), 2708 ($8). From hexadecimal or octal listing: 1702A ($5), 2708 ($16). You supply the read only memory. Quantity discounts for multiple copies. 48 hour turnaround. David Corbin. 11704 Ibsen Dr. Rockville MD 20852, (301) 881 7571 after 6 PM.

WANTED: I need a design or kit to convert an IBM 2741 selectric terminal to ASCII. It presently uses correspondence code and requires a special element which I would like to replace with a regular element. Peter Baum, POB 399, Sunnymead CA 92388.

WANTED: Floppy disc drives (any condition), line printer (100+CPS), OS! boards, S 100 boards, 6502 hardware and software, C MOD (MMM/Celetron) boards and software. I R Peterson, 669 23 Av NW, St Paul MN 55112, (612) 633-1599.

FOR SALE: Persci model 70 8 inch floppy drive and model 1070 intelligent controller. Never powered up - perfectly new, $1000. Elwood Downey, 1000 W Spring Valley, number 242, Richardson TX 75080, (214) 690-1523 home or 231 9303 ext 312 work.

WANTED: Modules/parts to restore a DEC RK05 disk drive for personal use. G180 read/write board, M7700 board, M7701 board, M7702 board, G938 board, H604 board, two 20 V regulator modules, 5 V regulator module. The above items do not have to be in working condition. Peter A Balkus, 18 Clearview Av, Lynn MA 01904.

GETTING MARRIED: So I'm selling the whole ball of wax to pay for my honeymoon: IMSAI with full motherboard and connectors, SDS Z-80 card, 24 K 500 ns memory, 3P+S IO card, Tarbell floppy controller, real time clock, Tarbell tape Interface, bus terminator, 2708/2716 erasable read only memory card (with two 2708s) 12 by 80 video display with built-in modem and much 8080/ Z-80 Software. Complete documentation on everything. Worth much more than the $2,000 I'm asking. Judd Ellmers, (201) 967-2645, 9 AM to 5 PM. [Congratulations from BYTE DWH/

FOR SALE Complete microcomputer system. IMSAI 8080 mainframe with Wunderbuss, 4 MHz Z 80 processor, 56 K bytes of fully static programmable memory (250 ns) PerSci 277 dual disk drive with PerSci power supply and cabinet, DMA disk controller, D C Hayes modem board (set up for autoanswer timeshare using CP/M software), Lear Siegler ADM-2 video display terminal. Data General Dasher terminal/printer {60 cps matrix), complete library of CP/M software (version 1.4) with documentation, approximately 20 diskettes. Many many extras! Individual components cost over S9800 in kit form. Asking price is S8900 or best offer for this completely integrated system. (714) 521 2344 or 738-8086.

CASINO BLACKJACK: For Tl Programmable 59. Most complete version available for a hand held unit. Allows up to six players to bet, hit, stand, double down, insure and split pairs against the house. Keeps score and displays all cards automatically. Cost is only $3.50 and includes program listing and quality documentation. Send two mag cards and will record this 600+ step program for you as well. Game rules from Thorp's Beat The Deafer. Robert Griffin Jr. 104 Briar Rd, Nanuet NY 10954.

FOR SALE: TRS-80 level-1 tapes and program lists. Star Trek (runs on 12 K), list $7, tape $10. Lunar Lander (runs on 4 K), list $3, tape $6. Biorhythm (runs on 4 K), list $4.50, tape $9. J R Menzies, 7106 Colgate Or, Alexandria VA 22307.

FOR SALE: Two Innovex floppy drives (compatible with Tarbell and Peripheral Vision interfaces), three 8 K memory boards (4 MHz), one Alpha Video II video board (4 MHz compatible, on board keyboard port with 5 V and status out, 1 K buffer, etc), one GRI keyboard (case and connector cable), one video monitor (as in Computer Warehouse ad). John Whiffen, 443-6324 or 279-1496, Toronto CANADA.

FOR SALE: Must sell ASAP an IBM 6420 computer system with 6425 magnetic ledger card reader attached. It contains 1 to 220 column tractor feed and 1 to 130 column friction feed selectric with a magnetic ledger card reader attached. Unit works and I have some manuals for it. Some boards and lots of extras are included. Unit sold new for $55,000 a few years ago, will sell to first person with certified check for $1200 or call and make offer above. Dave Dahlberg, 4375 Weber River Dr, number 95, Ogden UT 84401, (801) 399-2396.

HELP: Southern Connecticut New Haven area; anyone using Tarbell disk system please contact me for mutual system support. Also need help in maintenance", fine points of CP/M; will pay! James Van Pelt, 25 Sagamore Cv, Branford CT 06405.

WANTED: Programs for ecosystem and forest management simulation that could be used in a study of the feasibility of the utilization of wood for energy. Mitchell Bayersdorfer, 8325 New Second St, Elkins Park PA 19117, (215) 635-2126.

M6800 CROSS ASSEMBLER: A two pass cross assembler written in FORTRAN IV is available for the M6800 Motorola micro. Input is in fixed format, statements are similar to Motorola as sembler language, most features of the language being supported. Additionally, a system symbol table is supported, enabling symbolic reference to system addresses, and assembly of routines to contiguous memory locations. Send $1 for the manual, and $5 for the listing, (or $14 for a paper tape) to: G A R Trollope, 466 Caswallen Dr. West Chester PA 19380, (215) 431-2885.

FOR SALE: HP-25 Game Programs. I have several games including a neat golf game, two versions of Master Mind (or Comp IV), Football, Tic-TacToe, Mortar Battlefield, Battle the Dive Bomber and others. $2 each or trade. Jerry Hansen, 420 West 800 South number 1, Richfield UT 84 701, (801) 8966110.

FOR SALE: Fully assembled and fully operational Morrow Micro Stuff/Thinker Toys front panel processor board. All documentation included. First certified funds for S300 gets rid of that "knuckle buster," double clutching front panel, including UPS shipping charges. W Howard Adams, 1590 South Krameria St, Denver CO 80224, (303) 756-4052.

FOR SALE ACT II, a video terminal capable of over the telephone communication with its built-in acoustic coupler. Complete with video display and RF Modulator. $600. Contact: (516) 671-3957.

FOR SALE Paper tape reader and punch, Heathkit H10, assembled and tested. 50 character per second reader, 10 character per second punch. $320 delivered with manuals, cable and supply of tape. Write D T Mears, 32 E S Westmoor Av, Newark OH 43055.

FOR SALE: Built and tested SwTPC 6800 with 8 K (extra 2 K unbuilt), Hazeltine 2000 video display terminal, and Hazeltine thermal printer (with extra Texas Instruments print head) in excellent condition. Will make super system just by adding diskette or tape drive. $1595 complete or best offer. Also BYTE volume one, number 1 in excellent condition. V Farmer, 78 Harvard St, Walpole MA 02081, (617) 668-7339.

FOR SALE. Elf II with 4 K memory, the giant board, and expansion power supply. $200. Winston Cope, 302 Anderson St, Apt G, Durham NC 27705, (919) 684-0893.

FOR SALE: TVT II with keyboard, monitor and modem. Ready to go on line. Asking $350. Jack S Davis, POB 5, Endwell NY 13760.

FOR SALE: Assembled SwTPC CT-64 terminal with Hitachi model P-05 TV monitor $450. The ASCII terminal is in excellent condition and is configured for 16 lines of 64 characters. The serial interface is RS232 and can be strapped for various baud rates. Jim Crane, 5650 Windsor Way number 308, Culver City CA 90230, (213) 649-4187

FOR SALE: PET BASIC action games including Bomber, Seawolf, Indy 500 and Aerial Dogfight. All four on cassette. Send $6. Andy Fraley, 1753 York Rd, Reading PA 19610.

HELP: I have a DEC POP 8/1 mini with a Dataram Corp memory stack, P/N 2100270, S/N DR5049D. Does anyone know if the firm is still in business and the address where they may be contacted: or does anyone have any information on the stack? If you can help with any information please write. Thomas Parquette, 116 Sanford Av, Clinton New York 13323.

LEARN: Complete self-study microcomputer training system. Includes microcomputer, work books, texts, interfacing board and power supply. Will send full information to all sending me SASE. First $500 takes this $1200 package. Tony Durr, 2802 W Kenmore, Tampa FL 33614. ■

October 1978 © BYTE Publications Inc 223

fteadep Service

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 the list. Add a 15 cent stamp to the card, then drop it in the mail. Not only do you gain information, but our advertisers are encouraged to use the marketplace provided by BYTE. This helps us bring you a bigger BYTE.

Inquiry No.

Page No.

Inquiry No.

Page No.

Inquiry No.

Page No.

Administrative Systems 143

AJA Software 167

Alpha Micro Systems 140, 141

Altos Computer Products 5

Anderson Jacobson 85

Apparat Inc 180

Apple Computer 14

Apple Computer 15

Art-by-Computer 161

Artec Electronics 69

ATV Research 202

AVR Electronics 218

Base 2 I nc 99

Beckian Enterprises 219

BITS Inc 127, 128, 129

Biz Comp '78 167

Bootstrap Enterprises 163

Business Application Software 171

Buss 147

BYTE Back Issues 159

BYTE Books 61, 62, 63,64

BYTE WATS Line 50

California Digital 201

Canada Systems 181

Central Data 73

Chrislin Industries 206 47 Computer Age 206 65 Computer Corner 206

Computer Enterprises 92

Computer Lab of NJ 163

Computerland 10, 11

Computer Mart of NH 206

Computer Mart of NJ & PA 126, 206

Contemporary Marketing 109

Cosmic Search 158

CPAids 177 * Creative Software 189

80 Cromemco 1, 2

81 Datafacs 184 83 Datec 206

87 Digital Marketing 91

89 Digital Pathways 97

95 Digital Research <CA) 175 100 Digital Research (TX) 203 103 Digital Service & Design 218 110 Dynabyte 32, 33 112 Ed-Pro 151

114 Electro Analytic Systems 188

115 Electrolabs 195

120 Electronic Control Technology 177

125 Electronic Systems 205

130 Electronics Warehouse 207

132 EMM/CMP 156

134 EMM Semi Inc 185

137 Exidy Inc 81

140 Forethought Products 148

142 Fuller Eng & Mfg 179

144 General Electric 103

2 3

4 7 10 12 14 15

20 22 24 26 30 35 27 28 29 32

39 40 45 46

BDMB

BYTE's Ongoing Monitor Bex

150 Godbout Electronics 77

* GFN Industries 117

157 Hamilton Logic Systems 202

159 Hayden Book Publishing 133

158 DC Hayes 149

160 Heath Company 17 170 Hobby World 192

172 Honeywell 87

173 Houston Instruments 47

174 HUH Electronics 170

177 IEE Corporation 202

175 IMSAI13

176 Information Terminals 35

* Information Unlimited 159

178 Innotronics 181

179 Integrand 171

180 Integrated Circuits Unlimited 209 184 International Data Sciences 176 190 Ithaca Audio 198

193 J & E Electronics 218

195 Jade Company 197

200 Jameco Electronics 210, 211

201 Jim-Pak 71

203 Judge Electronics 218

204 Kybe Corp 131

205 Lear Siegler 107

* Lifeboat Associates 159, 161 215 Logical Services 151

21 7 Mathematical Application Services 218

219 McGraw-Hill Publishing 139

221 The Memory Coop 206

222 Micro Mail 150

223 Micromation 25

224 MicroPro International Corp 49 226 Micro World 53

228 Micro Z 206

229 Mikos219

255 Morrow/Thinker Toys 23, 75

265 mpi 179

267 Mullen Computer Boards 126

269 MVT Microcomputer Systems 68

271 NCC'79 123

280 Netronics 153

281 NE Electronics 82

283 Newman Computer Exchange 111

284 Nortektnc218

285 North Star 7, 27

286 Northwest Microcomputing Systems 59

290 Ohio Scientific Instrument 18, 19, 20, 21

291 OK Machine* Tool 31

293 Oliver Advanced Engineering 1 76

292 Osborne & Associates 137

* Owens Associates 206

294 Pacific Digital 174

296 Pacific Office Systems 199

297 Page Digital 199

298 PAIA Electronics 180

299 PanaVise154

288 301 302 303 321 304 306 305 307 308 309 311

313 314 316

317

318 319 312 322 323 324 320 326 330 335 340 343 350 352 351 353 354 358 355 359 360 363 370 372 356 373 374 376 381 382 383 386 388

395 397 400

PCE Electronics 202

Per Com Data 45

Personal Software 94

Personal Systems Consulting 52

Phone I 189

Preferred Positions 218

Priority I 214,215

Processor Technology 8, 9, 10

Program Design Inc 157, 159, 161

Programmers Software Exchange 149

PRS 51

Quest Electronics 195

Radio Shack 79

The Recreational Programmer 185

Reston Educational Institute 120, 121

Rondure Co 213

S-100 188

Scelbi Clll

Scelbi/BYTE Primer 125

Schrier Software Index 175

Scientific Research 54, 55, 160

Seattle Computer Products 101

Michael Shrayer Software 113

Shugart CIV

Signetics 37

Small Business Computer Magazine 155

Ed Smith's Software 161

Smoke Signal Broadcasting 93

Softside 170

Software Records 167

SSM 56, 57

Solid State Sales 221

Soroc 41

Southwest Technical Products CI I

Stirling Bekdorf 65

Structured Systems Group 29

Summagraphics 152

Sunny Trading Company 218

Sybex 39

Synchro Sound 66, 67

Talos Systems Inc 43

Tarbell Electronics 105

Taylor & Associates 150

Technical Systems Consultants 119

Terrapin 138

3 S Sales Inc 21 7

Tora Systems 218

TransNet 60

TriTek 217

Ultra Violet Products 174

University Microfilms International 83

US Robotics 97

Vamp 202

Wameco 213

Whales 115

Worldwide Electronics 202

X & Y Enterprises 202

Xitex 146, 147

'Correspond directly with company.

Article No.

1 2 3

4

5

6

7

8

9 10 11 12 13 14

ARTICLE

Kinzer: A Memory Pattern Sensitivity Test

Ciarcia: No Power for Your Interfaces?

Chung-Yuen: A "Tiny" Pascal Compiler: Part 2

Adams: Testing Memory in Basic

Letwin: PAM/8: A New Approach to Front Panel Design

The Spracklens: First Steps in Computer Chess Programming

Anderson: Linear Circuit Analysis

Smith: Solving the Eight Queens Problem

Steeden: Assembling the H9 Video Terminal

Burhans: A Simpler Digital Cassette Tape Interface

Hughes: Souping Up Your SwTPC 6800

Farnell: A Novel Bar Code Reader

Whaland: A Computer Chess Tutorial

Frey-Atkin: Creating a Chess Player

PAGE

12

22

34

58

70

86

100

122

130

142

144

162

168

182

Readers Choose

"Choosing a Microprocessor"

The first place winner in the July BOMB (BYTE's Ongoing Monitor Box) was "How To Choose a Microprocessor" by Louis Frenzel, page 124. Second prize went to Lane T Hauck for "Who's Afraid Of Dynamic Memories?", page 42. The first place article score was 1.4 standard deviations above the mean, and the second place article was 1.34 standard deviations above the mean-quite a close score. The authors will receive prizes of $100 and $50, respectively. "Antique Mechanical Computers," page 48, placed third, and the other two history articles tied for fourth place."

224 October 1978 © BYTE Publications Inc

I haven't stopped laughing since I read Steve Ciareia's new book,

"TAKE MY COMPUTER...PLEASE!" It's Steve's first full length book,

and it's the funniest to come along in years! It's even funnier

if you're into computers! Just one crazy misadventure after another,

based on Steve's true experiences, and his computer's inability to cooperate.

You'll roar when you read how he tries to win at Jai-Alai and gets beaten

at his own game. Or how he attempts a stock market killing that goes wrong

when he logs into his broker's computer circuit! Imagine what happens

when our hero sets up a computerized speed trap! And you'll fall on the floor

when our hero builds a foolproof computer burglar alarm,

and then locks himself out of the house with a souffle in the oven!

You can't beat this book for computerized belly laughs. It's got lots of

hilarious drawings that make Steve's easy writing style come to life even more.

And, you can't beat the low, low price of only *5.95 + S/H!

Order your copy of "TAKE MY COMPUTER...PLEASE!" Do it today.

It will tickle your fancy.

Ikke njy computer ...please!

by STEVEN CIARCIA

An outrageously funny book about a creative eager beaver and his uncooperative personal computer. 128 fun-filled pages. Hilarious illustrations. Hard cover. Order your copy now. Only $5.95 + S/H. Another SCELBI hardcore software book!

&

ICI1XI COMFUIEH CONIULIING IMC.

Post Office Box 133 PP STN

Dept B

Milford, CT 06460

Price shown for North American customers. Master Charge, VISA, Postal and Bank Money Orders preferred. Personal checks delay shipping up to 4 weeks. Pricing and availability subject to change without notice. IMPORTANT! Include 750 postage/handling for each book delivered by U.S. Mail Book Rate or $2 for each book shipped First Class or via UPS.

it lsn t minifloppy

1%

M

I I

Shugart invented the minifloppy in 1976. Today there are more than 100,000 of the little drives in use. That's because users want the affordable random access data storage of the minifloppy.

Shugart packs years of proven floppy drive technology into this tiny package. Up to 110 kbytes of data storage. Fast random access of about one-half second. And high speed data transfer of 125 kbits per second. Plus sensible, maintenance-free features like write protect to prevent accidental data loss, an activity light to indicate when the drive is selected by your computer and a door interlock to protect your media from damage.

Our proprietary read/write head provides maximum data interchange margins, and it is

positioned precisely on the selected track by a patented spiral cam actuator. The DC drive motor with integral tachometer assures accurate diskette rotation and low heat dissipation. A die cast aluminum base plate provides a solid foundation for the drive.

At Shugart, technology leadership is more than a slogan, it's a commitment. Get reliability and value when you invest your money for floppy disk storage. Ask for the standard of the industry, minifloppy. If it isn't Shugart, it isn't minifloppy.

Shugart Associates

435 Oakmead Parkway, Sunnyvale, California 94086

For a list of manufacturers featuring Shugart's minifloppy in their systems, circle reader response number.

TM minifloppy is registered trademark of Shugart Associates

Circle 312 on inquiry card.