(navigation image)
Home American Libraries | Canadian Libraries | Universal Library | Community Texts | Project Gutenberg | Children's Library | Biodiversity Heritage Library | Additional Collections
Search: Advanced Search
Anonymous User (login or join us)
Upload
See other formats

Full text of "Byte Magazine Volume 03 Number 10 - Chess for the Microcomputer"

OCTOBER 1978 VOLUME 3/ Number 10 





the small 



S2.00 i/i Ui 
$2.40 in'CANADA 



34,498.00 




i 









-.. 






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 



D+irt 



SOUTHWEST TECHNICAL PRODUCTS CORPORATION 



219 W. RHAPSODY 

SAN ANTONIO, TEXAS 78216 



Circle 350 on inquiry card. 




/ 



\ 



Z-20 



Model Z-2 

Up to 512K of RAM/ROM 



Model Z-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 indus- 
try's widest microcomputer selec- 
tion. 

What's more, you get a computer 
from the manufacturer that compu- 
ter dealers rate #1 in product re- 
liability.* 

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

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

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



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



* Rated in The 1977 Computer Store 

Survey by Image Resources, Westlake 
Village, CA. 




[BL 



I O M * M <4 fa 



System Three 

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

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

21 card slots to allow for un- 
paralleled system expansion us- 
ing industry-standard S-100 
cards. 

S-100 bus — don't overlook how 
important this is. It has the in- 
dustry's widest support and Cro- 
memco has professionally imple- 
mented it in a fully-shielded 
design. 



a Cromemco 
incorporated 
Specialists in computers and peripherals 



• Cromemco card support of more 
than a dozen circuit cards for 
process control, business sys- 
tems, and data acquisition in- 
cluding cards for A-D and D-A 
conversion, for interfacing daisy- 
wheel or dot-matrix printers, even 
a card for programming PROMs. 

• The industry's most professional 
software support, including 
COBOL, FORTRAN IV, 16K Disk- 
Extended BASIC, Z-80 Macro 
Assembler, Cromemco Multi- 
User Operating System — and 
more coming. 

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

FOR TODAY AND TOMORROW 

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

See them today at your dealer. 

There's no substitute for getting 
the best. 

see next |"\ 
page!/ 



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



Circle 80 on inquiry card. 



BYTE October 1978 



SEE YOUR LOCAL CROMEMCO DEALER 




S L <S SH I S [ COMrUtU COMPANY 



COMPUTERLAND Of HAYWARD 



BYTE SHOP Of LAWNDAlf 

umi in-»n 

Kl AND SOUTH »A 



KINGMONT ENIERPRISB, INC. 



Lot Angelev ca wan 



COMPUtERlAND SAODU RACK V« 



iuich Mr VIEW 



COMPUTER M 



nut HJ.IUJ 

*YIE SHOP PALO ALTO 



MiCHoncmxrotis 



microcomputer aft ligations sys 
iriAnm* 



ComputerLand ex 

4lJJCon*oj Silrtl 
[7141 S»-»1] 

StnOifjo.CAMHI 
IHt COWNIIH at, 




COMPUTER TERMINAL 



ADVANCED MICROCOMF Ul 1 R MOD. 



IHt BYTE SHOP Of SANTA CUIIA 

wotiwvun 

SinuMjin.CAWAH 
GRANITE BUSINESS SYSTEMS 

IMS BKMdwj, 



SjnuMomci.CAWMOl 
THE COMPUTER STORE 

(7MI4S1-071) 


COMPUTER CENTER 
MHIflhnion Drive 


luiwyvtteCAMM 

RECREATIONAL COMPUTER CENTER, INC. 
UI4 South Man>A«*niN 

Moans-ma 


PtRSONAL COMPLjIIR CI'NIIR, INC. 

WWW WrtiSipwl 

ItiUMv-SM 


ThouuodOjl..CA»tlK> 
COMPUTERLAND 1000 OAKS 
in ( IbouundOllt&M 


DATA DOMAIN Of LEXINGTON 


COMPUTERLAND Of IUSI1N 


COMPUIERIANDOf LOUISVILLE 


VjBN U fl,CA9HII 
COMPUTER COMPONENTS 

i2iH7»7«n 


Lowtdllr, KY *KM 

DATA DOMAIN Of TOUIiVltlE 

iS0fl456-SJ« 


11*1 i SilOf COMPUTERS Of DIABLO VIY 


> i.. u nt,II r ,Kt<OW 
PRAGMATIC II 


Wilful C<«k. CAWS* 
COMPLTIIHIAND WALNUT CREW 

U|(1,«l.V*,IJ 


llnrrtpurl.tATIIOi 

MICRO IUSINESS SYSTEMS. ISC. 


an v> coiofMiutMvd 


• UlirliriHIon.MAfllMlJ 
IHKUMPUTERSTOKE 

(S1A 377 WTO 


logwood, CO WHO 

BYTE SHOP OF ARAPAHOCOUNTT 


HFH« DATA SYSTEMS INC 

SJS.itfwdSl 



COMPUTERUNDOFfAIRflita 



COMPUTES 1AM) Of NtW CASIU CTIT 

BVIEOffT, LAUDERDALE 
COMPUTERSfOR YOU, INC 



MICRO COMPUTIR SYSTEMS, INC. 

COMPUTER ACE 

1*»S W. 7(nli Avtrnur 
IJMP74V.MW 

C Timpi.FLJKM 

MICRO COMfUTIR SYSTEMS 



I Ailinti. CA loWO 
ATLANTA CC 
SWt-SBiriotd 
(4MMW0M7 



RTTE SHOP CHAMPAIGN 



uwms-tiM 

COMPUTER* CONTROL 



ST MICROCOMFUTE RS, IN 



HUNT MICROCOMPUTERS 



DATA DOMAIN Of INDIANAFOl IS 



DATA DOMAIN Of WIST LAfAYtTTl 



BUSINESS MACHINES 



MODULAR SYSTIMS, INC. 



COMPUTER WORKSHOP 



COMPUTERS ETC 



.MOWlillH EXCHANGE 



UNITED MICROSYSTEMS CORP. 



m WJ. <N.1<1 *.m,»! 



COMPUTERLAND CRAND RAPIDS 



COMPUTER MARTOf ROYAL OAK 



COM PUTI R L A ND SOU II I F 1 1 L D 



HKI AND Of MOMKISTOWN 



RYTEHIOPOfRE 



COMPUTERIANDOF BUffALO 



CORSON COMPUTE R CORP., INC 



LOUIS SCHAEfFER 



Nn Ywt Cii*. NY I WIS 



COMPUItR MARTOF NEW YORK 



COMPU FIR HOUSE, INC 



I1ST CENTURY SHOP 



COMPUTER SOLUTIONS 



O MICRO SYSTEMS 



COMPUTERLAND OF CLEVELAND EAST 



HIGH TECHNOLOGY 



COMPUTERLAND PORTLAND 



MARKfTUNE SYSTEMS, INC 






BYTE SHOP Of COtU MM A 



COMPUTER STORI 



SIWYA CORPORATION 



COMPUTER CORNER, INC 



COMPUTERLAND Al 



COMPUTERS -H THINGS 



COMPUTERLAND Of S.W. HOUSTON 



COMPUTERTEY, 



inn S3 MM 

COMPUTER MART Of W. TEXAS 



1HI COMPUTER WORKS 



COMPUTERS PLUS, INC 



COMPUTER SYSTIMS STORE 

W4CtwiBnd|reRu*1 
P0J1M1-M1) 

COMPUTERLAND BELLEVUI 



COMPUttRtAND SOUTH KING CITY 



THf RETAIL COMPUTER SIORE 



COMPUTERLAND TA 



SOUND WORLD. INC 



THE MADISON COMPUTER STORE 

(WBlttSiH? 



COMPUTERLAND MADISON 



COMPUTER STORE 



OM1CRON MIC kOCOMPIITERS 



INTERNATIONAL ' 



iTOMi !)I(HIANDSYDNEY 



AUSTRAL IAN COMPUTER PRODUCTS 



RORO-1RON1CS 



FIRST CANADIAN COMPUTER SIORE 



IHMSW4M 

Oljirv.AHi Cm r.'HH 
THE COMPUTER SHOP 



COMARTUMIIED 



COMPUTER BOLTiqUE 




DATORISERING KONSULT AB 



COMICRO A< 



# DENOTES SYSTEMS THREE DEALER 



r3 Cromemco 

B ^ incorporated 



BYTE October 1978 






Specialists in computers and peripherals 

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



Circle 80 on inquiry card. 



r 



In the Queue 



EITI October 1978 
Volume 3 Number 10 



22 

34 

58 

86 

100 

122 

142 

144 

162 

168 

12 

70 

130 

182 



Foreground 



NO POWER FOR YOUR INTERFACES?: Build a 5 W DC to DC Converter 

Hardware— Ciarcia 
A "TINY" PASCAL COM PI LER, Part 2: The P-Compiler 

Pascal— Chung- Yuen 
TESTING MEMORY IN BASIC 

Software— A dams 
FIRST STEPS IN COMPUTER CHESS PROGRAMMING 

Software Chess— the Spracklens 
LINEAR CIRCUIT ANALYSIS 

Simula tion —Anderson 
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— Farnell 
A COMPUTER CHESS TUTORIAL 

Computer Chess— Whaland 



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 Tutorial— Frey-Atkin 



Nucleus 



4 




In This BYTE 


6 




On Using a Personal Computer for a Practical Purpose 


10 




Letters 


54 




Book Reviews 


57, 


65 


Technical Forum 


68, 


136, 


141 Programming Quickies 


151 




BYTE's Bits 


151 




BYTE's Bugs 


152 




Clubs, Newsletters 


154 




Event Queue 


166 




Product Description: Micro-Scan Corp Bar Code Scanner 


193 




What's New? 


222 




Unclassified Ads 


224 




BOMB 


224 




Reader Service 




BYTE is published monthly by BYTE Publications Inc, 70 Main St, Peterborough NH 03458. Address all mail except sub- 
scriptions to above address: phone (603) 924-7217. Address all editorial correspondence to the editor at the above address. 
Unacceptable manuscripts will be returned if accompanied by sufficient first class postage. Not responsible for lost manu- 
scripts or photos. Opinions expressed by the authors are not necessarily those of BYTE. Address all subscriptions, change of 
address, Form 3579, and fulfillment complaints to BYTE Subscriptions, PO Box 590, Martinsville NJ 08836. Second class 
postage paid at Peterborough NH 03458 and at additional mailing offices— USPS Publication No. 102410. Canadian second 
class registration No. 9321. Subscriptions are $15 for one year, $27 for two years, and $39 for three years in the USA and its 
possessions. In Canada and Mexico, $17.50 for one year, $32 for two years, and $46.50 for three years. $25 for a one year 
subscription by surface mail worldwide. Air delivery to selected areas at additional rates available upon request. $25 for a one 
year subscription by air delivery to Europe. Single copy price is $2.00 in the USA and its possessions, $2.40 in Canada and 
Mexico, $3.50 in Europe, and $4.00 elsewhere. Foreign subscriptions and sales should be remitted in United States funds. 
Printed in United States of America. Each separate contribution to this issue and the issue as a collective work copyright © 
1978 by BYTE Publication Inc. All rights reserved. 

Subscription WATS Line: (800) 258-5485 



PUBLISHERS 

Virginia Londoner 

Gordon R Williamson 

EDITOR IN CHIEF 

Carl T Hclmcrs Jr 

VICE-PRESIDENT, PRODUCTION 

Judith Havey 

PRODUCTION MANAGER 

Karen Gregory 

ADVERTISING DIRECTOR 

John Hayes 

CIRCULATION MANAGER 

Gregory Spilzfaden 

COMMUNICATIONS COORDINATOR 

James C Morrissett 

SENIOR EDITOR 

Christopher P Morgan 

EDITORS 

Raymond G A Cote 

Blaise W Liffick 

Richard Shuford 

PRODUCTION EDITORS 

Nancy Salmon 

David William Hay ward 

Peter Perin 

PRODUCTION ASSISTANT 

Cheryl A Hurd 

PRODUCTION ART 

Stephen Kruse 

Wai Chiu Li 

Dorothy Shamonsky 

Ellen Shamonsky 

NEW PRODUCTS EDITOR 

CLUBS, NEWSLETTERS 

Laura A Hanson 

ASSISTANT ADVERTISING DIRECTOR 

Patricia Cfark 

ASSISTANT PRODUCTION COORDINATOR 

Thomas Harvey 

ADVERTISING ASSISTANTS 

Noreen Bardsley 

JillCallihan 

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 Fylstra 

ASSOCIATES 

Walter Banks 

Steve Ciarcia 

David Fylstra 

Portia Isaacson 

BOOK DIVISION: 

PRODUCTION MANAGER 

Edmond C Kelly Jr 

PRODUCTION ASSISTANT 

Catherine Lahive 

ADVERTISING SALES REPRESENTATIVES: 

EAST, MIDWEST 

Hajar Associates Inc 

17DurantSt 

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 C A 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 

AldergroveBCVOXIAO 



October 1978 ©BYTE Publications Inc 



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 pro- 
gram. 

In This E1TE 



One cause of seemingly unexplain- 
able 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 - 1 2 or +1 5 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 Com- 
piler, 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-machine. 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 fea- 
tures a novel firmware front panel 
monitor comprised of both hardware 
and software elements. Gordon Let- 
win, Heath software designer, de- 
scribes the design philosophy and 
the features of the system in PAM/8: 



A New 
Design. 



Approach to 



Front Panel 
page 70 




The winning program at the Second 
West Coast Computer Faire's Micro- 
computer 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 pro- 
gram 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 mathe- 
matics. 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 pro- 
grams and data is an attractive alterna- 
tive to standard audio cassette record- 
ing 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 com- 
puter and want to increase the pro- 
cessor 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 
PAPERBYTE tm 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 re- 
search in computer chess: David Frey, 
editor of Chess Skill in Man and Ma- 
chine, and Larry Atkins, coauthor of 
Chess 4.6, the world champion chess 
program that recently beat a Grand- 
master in a simultaneous exhibition. 
The article discusses the thinking pro- 
cesses in the chessplayer's mind and 
how such processes are transformed 
into a computer program. page 182 



October 1978 ©BYTE Publications Inc 




.S' 







ALTOS presents a new standai 
in quality and reliability 



■ 



■ 



;.• x 



. 






«» 




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



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



COMPUTER SYSTEMS 



BUILT-IN RELIABILITY The ACS8000 is a true single 
board computer. This makes it inherently reliable and main- 
tainable. The board and the two S^hugait drives are easily ac- 
cessible and can be removed in less than five minutes. All elec- 
tronics are socketed for quick replacement. Altos provides 
complete diagnostic utility software for drives and memory. 

QUALITY SOFTWARE Unlimited versatility. The ACS 
8000 supports the widely accepted CP/M®** disk operating 
system and FQUR high level languages: BASIC, COBOL, 
PASCAL and FORTRAN IV. All available NOW. 

PRICE $3,840. Standard ACS8000 system with 32 Kb RAM 
and Vi 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. 



2378B WALSH AVENUE • SANTA CLARA • CA 95050 • (408) 244-5766 



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 

1 1 Graphics software design 

12 Artificial intelligence: general interest in A I 

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 (no interest) to 10 
(highest interest) for each of these 38 categories. The column labelled total weighted count con- 
tains the sum of counts in each possible response (1 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 




More and more, you see the North Star 
HORIZON computer at work: in busi- 
ness, research, and education. Its high 
performance qualifies the HORIZON 
for demanding professional applica- 
tions. 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 com- 
mercial 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 prepar- 
ation. Program development systems 
such as assemblers, debuggers, 
editors, PILOT and FORTRAN are 
also available. 

EXPAND YOUR HORIZON 

The basic HORIZON computer in- 
cludes 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 inter- 
faces. Performance 
can be enhanced by 
the addition of the 
North Star hardware 
floating point board. 
Also, S-100 bus pro- 
ducts from other 
manufacturers may 
be used to expand 
the HORIZON. 

For more informa- 
tion, 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 7 



.V 



I 




••■■- 



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 Depart- 
ment 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 1978 9 



See Sol® 

at all these 

fine 
computer 

centers 

AL: Birmingham: ICP Computerland, 
(205) 979-0707. CA: Berkeley: The Byte Shop. 
(41 5) 845-6366. Citrus Heights: Byte Shop. 
(916) 961-2983. Costa Mesa: Orange County 
Computer Center. (71 4) 646-0221 . Hayward: 
Computerland of Hayward. (415) 538-8080. 
Lawndale: The Byte Shop. (213) 371-2421 
Modesto: Computer Magic, (209) 527-5156. 
MountainView: 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.. (81 3) 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. (31 4) 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. (91 4) 949-3282. NC: 
Raleigh: Roms N' Rams. (91 9) 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, (21 4) 231 -1 096. 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-50785079. 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.Torsvagen61, 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: 
Componentes 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 pro- 
gramming are intended as guidelines, 
not as the dogma for a programmer's 
religion. All of the better known pro- 
ponents of the methodology stress this 
point, along with the idea that you must 
approach the study of structured pro- 
gramming 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 
small, 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 pro- 
grammer 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 instal- 
lations 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 SVi 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 en- 
hances the programmer's ability to 
understand the code. 

The basics of structured program- 
ming 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 


(41 5) 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 


NEWJERSEY 




Cherry Hill 


(609) 795-5900 


Bergan County 


(201)845-9303 


Morristown 


(201)539^077 


NEWYORK 




Buffalo 


(716)836-6511 


Ithaca 


(607) 277^888 


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 Austral 


ia 29-3753 


Winnipeg, Canada 


Call Directory Assistance 



10 byte October 1978 Circle 305 on inq uiry card. 



Circle 75 on inquiry card. 




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 
department to provide whatever assistance 
is required to keep your computer running 
in top-notch condition. You'll find computer 
user's clubs to join, where you can share 
ideas with people as enthusiastic as 
yourself. And, with each new visit, you'll 
find excitement— from the people you deal 
with, the equipment they offer, and from 
your own ever-growing personal 
involvement. 




1 




1 







"~ 




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, cost- 
effective. tools which provide computing 
capability to many who would otherwise 
have to wait for time on a big computer, 
or work with no computer at all. 




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 EX 

CHANGE p 

for the 68 

memory p 

vity. 



Faulty memory is a very difficult prob- 
lem 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 sen- 
sitivity, manifests itself in the very dis- 
turbing 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 



warn writ 
to test 


ten 
for 


1 
2 
3 


* 
* 

* 


EXCHANGE 




em 


sensiti- 


4 
5 
6 
7 
8 


* 




A MEMORY TEST 








* 

* EXTERNAL ROUTINES 


(MIKBUG ROUTINES) 


E07E 






9 


PDATA 


ECU 


$E07E 




ElDl 






10 


OUTCH 


EQU 


$E1D1 




E067 






11 


OUTHL 


EQU 


$E067 




E06B 






12 
13 

14 


OUTHR 
* 

* 


EQU 


$E06B 










15 


* STORAGE 






0000 






16 




ORG 







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 


IDS 


#$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 


00LB 


DF 06 


36 


BUBBLE 


STX 


XTEMP2 


save end pointer 


001D 


DE 


00 


37 




IDX 


BEGIN 




ooir 


DF 


04 


38 


EXCHG 


STX 


XTEMP1 


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 Con- 
sultants (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 



Microcomputer 
System Solution. 

Announcing thelMSAI VDP*40. 








Fully integrated video data processor in a 
single cabinet. 

Twin floppies, professional keyboard, 
S-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 Com- 
mercial BASIC. 
IMDOS. 
ISAM. 




r'rf 




You've 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 
ifyoucould, it's not inexpensive anymore; 
and you still wind up with a collection of 
boxes. 

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

IMSAI Manufacturing Corporation, 
Dept. EWN, 1 4860 Wicks Boulevard 
San Leandro, CA 94577 
(41 5) 483-2093 TWX 91 0-366-7287 



supply, twin mini-flop- 
pies, a multi-slotted mother- 
boards-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 



IMSAVs 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. 

Fcalurcs subjcci lo change without notice. 



mm 



m 



The Standard of Excellence 
In Microcomputer Systems 



Price/Performance no one else has put together. 



Circle 175 on inquiry card. 



BYTE October 1978 13 




Why Apple 
st selling p 




fa the world's 
bnal computer. 



'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, weVe 
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 



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 inven- 
tories, chart stocks and balance the 
books. And there are Apples at home, 
where they can help manage the family 
budget, control your home's environ- 
ment, 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 tech- 
nology. 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 



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 your 
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 added 
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 pre- 
programmed 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 



14 



BYTE October 1978 





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

Alive with 
the sound 
of music. 

Apple's ex- 
clusive 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 sim- 
plify 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 grow- 
ing 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 addi- 
tion to the built-in video interface, cas- 
sette I/O, and four A/D inputs with two 
continuously variable game paddles, 
Apple has eight peripheral slots, three 
TTL inputs and four TTL 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- 
tino, CA 
95014. 




quiry card. 



atgcippkz computer 



Programming is a snap! 
I'm halfway through Apple's BASIC 
manual and already I've programmed 
my own space wars game. 



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

to run a hundred times faster. 




«oftujoni bortk- 




New from Apple. 

Valuable new series of software 
packages for investors 

Now private investors can generate 
their own stock market reports and per- 
form 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 tele- 

phone call 
links you to 
Dow Jones' 
continuously 
updated 
stock quotes for 

more than 
* 6000 com- 
panies 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 pro- 
gram. An additional $3 charge is made 
for the first three minutes of any transac- 
tion and 50£ 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 equip- 
ment, 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. 




Listing 7, continued: 



0021 


A6 00 


39 




LDAA 


0,X 


get byte 


0023 


DE 06 


40 




LDX 


XTEMP2 




0025 


E6 00 


41 




LDAB 


0,X 


get other 


0027 


A7 00 


42 




STAA 


0,X 


put alternate 


0029 


09 


43 




DEX 






002A 


DF 06 


44 




SIX 


XTEMP2 




002C 


DE 04 


45 




LDX 


XTE*!P1 


get other pointer 


002E 


E7 00 


46 




STAB 


o,x 


put byte 


0030 


9C 06 


47 




CPX 


XTEMP2 


check done 


0032 


27 05 


48 




BEQ 


CHK1 




0034 


08 


49 




INX 






0035 


9C 06 


50 




CPX 


XTEMP2 


check done 


0037 


26 E6 


51 




BNE 


EXCHG 




0039 


32 


52 


CHK1 


PULA 






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 




LDX 


BEGIN 


get begin pointer 


0042 


DF 04 


58 
59 
60 


* 


STX 


XTEMP1 


save 


0044 


DE 06 


61 


CHECK 


LDX 


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 


CCNTIN 


CPX 


BEGIN 


see if checked all 


004D 


27 OC 


66 




BEQ 


GOOD 


if so, good pass 


004F 


DE 04 


67 




LDX 


XTEMP1 




0051 


08 


68 




INX 






0052 


DF 04 


69 




STX 


XTEMP1 


advance pointer 


0054 


DE 06 


70 




LDX 


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 


#'!• 




005D 


8D 33 


77 




BSR 


PRINT 


signal good pass 


005F 


7A 00 08 


78 




DEC 


COLCOT 


need CRLF? 


0062 


26 02 


79 




BNE 


PASS 


if not, skip 


0064 


8D 37 


80 




BSR 


PCRLF 


perform CRLF 


0066 


33 


81 


PASS 


PUIB 




get old value 


0067 


5C 


82 




INCB 




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 


XTEMP1 




007A 


8D 19 


95 




BSR 


OUT2H 




007C 


96 05 


96 




LDAA 


XTEMP1+1 




007E 


8D OE 


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 


CX7T2HS 


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 


0UT2H 


PSHA 




save byte 


0096 


BD EO 67 


115 




JSR 


OUTHL 


print left hexadecimal digit 


0099 


32 


116 




PULA 






009A 


7E EO 6B 


117 
118 
119 


* 
* 


JMP 


OUTHR 


print right hexadecimal digil 


009D 


CE DO A7 


120 


PCRLF 


LDX 


#CRLF 


point to string 


00A0 


86 20 


121 




LDAA 


#32 




00A2 


97 08 


122 




STAA 


COLCNT 


set column count 


00A4 


7E EO 7E 


123 
124 
125 


* 
* 


JMP 


PDATA 


go print string 


00A7 


OD OA 


126 


CRLF 


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 oscillo- 
scope to the data bus. 1 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 1 2 K byte system. 

After all of this I am happy to say that 
the sort routine was in fact working pro- 
perly. 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 corres- 
ponding 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 Personal Computers 
are "System Designed"- 
Read about them in the 




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 "shot- 
gun" 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 
8-bit H8 Computer and just 4K 
of memory as an introduction to 
computing. Its easy to use octal 
data entry and 9-digit octal read- 
out make learning a simple mat- 
ter. As your abilities grow, so can 
your computer. Add more mem- 
ory and one or more peripherals 
like the H9 VideoTerminal 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 
is indeed a complete system. 

Send for your FREE copy today! 

Or bring this coupon to your nearby Heathkit Electronic Center (Units of 
Schlumberger Products Corporation) where Heathkit products are dis- 
played, sold and serviced. 

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

Circle 160 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 all 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; com- 
plete HT11 disk operating system software that includes ex- 
tended BASIC with files and virtual arrays, utilities (with macro- 
assembler), 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 



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- 



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 



4K RAM $ 349 



16KRAM $1190 



4KRAM 
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 $1 1 ,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 con- 
sidering. 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 

I □ Educational Systems □ Industrial Development Systems 

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

| Ohio residents add 4% tax. 

I Name 
I 



Address 

I City — 

I State _ 
I 



-Zip_ 



1333 S. Chillicothe Road 

Aurora, Ohio 44202 

(216) 562-3101 



Phone 




II you ait lnt»<a»tad In an ultra high par- 
for rn.icct perianal compter willed can b« 
fully expanded lo a mainframe cliu micro- 
computer cy.tam. comldor tho C2 BP. 




TheG3-B 

by Oho Scientific 
TIM world* most powerful 



titovnrikfteojUt 

than you may think: 



S1AHDM0 FEA1UHES 



esua.WKKnnfMfl. 



a Htarwlaaaitv h 1 - 
Prog'ifn «'Ml a«li 
atfsVutoi'uiri.ii 




■ 



18 



BYTE October 1978 



Circle 290 on inquiry card. 



The 

C3-SI 

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 1 1 1 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 III 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: 

Forthe6502A: 

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) 

For 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 




s 



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. 

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. 

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 all standard 
in the minimum configuration. 

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. 
TheC3-S1 base price with 32K RAM, dual floppys, RS-232 port 
complete with 8K BASIC and DOS is under $3600 and expan- 
sion 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 micro- 
computer 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. 






The C3 supports OS-65U, the ultra high performance 

virtual data memory" DOS for floppys and hard disks which 

makes complexfile structures like multi-key ISAM easy to use. 

The C3 is backed by a large library of applications programs 




1333 S. Chillicothe Road • Aurora, Ohio 44202 



Circle 290 on inquiry card. 



BY TB October 1978 19 



There's an Ohio Scientific 
dealer near you. 



ALABAMA 

M.C.S. Corp. 

Pelham Mall 

Pelham, AL 35124 

(205) 663-1287 

ALASKA 

Scientific Business Instr's 

500W.27th 

Anchorage, AK 99503 

(907) 277-2650 

CALIFORNIA 

Expansion Techniques 

2534Ganesha 

Altadena, 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 

(nglewood, CA 90304 

(213) 674-5740 

Computers Are Fun-Westwood 

2268 Westwood 

Los Angeles, CA 90064 

(213) 475-0566 

The Computer Center 

3205Ronson 

San Diego, CA92111 

(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 

Olson Electronics 

2125 El Camino Real 

Santa Clara, CA 95051 

(408) 248-4886 

COIORADO 

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 

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 

FLORIDA 

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 

20 BYTE October 1978 



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

HAWAII 

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

ILLINOIS 

American Microprocessors 

1100 E. Broadway 

Alton, IL 62002 

(618) 465-4489 

Tech-Tronics 

714 S. University 

Carbondale, IL 62901 

(618) 549-8495 

Adonis Computing 

2855W. 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, I L 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 

INDIANA 

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 Mt. 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 

KENTUCKY 

Olson Electronics 

117 Southland 

Lexington, KY 40503 

(606)278-9413 

Data Domain 

3028 Hunsinger 

Louisville, KY 40220 

(502) 456-5242 

Olson Electronics 

4137 Shelbyville 

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 

MICHIGAN 

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 

MINNESOTA 

Custom Computer Systems 

1823 Lowry 

Minneapolis, MN 55411 

(612) 588-3944 

Micro Business Sales 

4345 Lyndale N. 

Minneapolis, MN 55412 

(612)871-9230 

ABS 

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. 

Will mar, MN 56201 

(612) 235-6096 

MISSISSIPPI 

Jack Fisher Sales 

100 Main 

Michigan City, MS 38647 

(601) 224-6470 

MISSOURI 

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 

1320S. 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 

NEVADA 

J.B.A. Associates 

3316 N. Garehime 

Las Vegas, NV 89108 

(702) 648-2069 

NEW JERSEY 

Computer Power 

235 Nut ley 

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 

NEW YORK 

Associated Consultants 

33 Ogden 

EastWilliston, 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 

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 

11013S. E. 52nd 

Milwaukie, OR 97222 

(503) 654-9574 

PENNSYLVANIA 

Broadt Enterprises 

550 N. Derr/Rt. 15 

Lewis berg, 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 

4778McKnight 

Pittsburgh, PA 15237 

(412) 366-7298 

Abacus Data Systems 

Route 8 

Reno, PA 16343 

(814) 677-6502 

SOUTH CAROLINA 

Island Business Machines 

21 Kingbird 

Hilton Head Is., SC 29928 

(803) 785-3631 

SOUTH DAKOTA 

Exe Engineering 

804 E. Lewis 

Vermillion, SD 57,069 

(605)624-6411 

TENNESSEE 

ComputerPowerof Memphis 

3065 James 

Memphis, TN 38128 

(901)386-9905 

Smart Machine Mart 

5151 Hillson 

Nashville, TN 37211 

(615) 833-9773 

Computer PowerofOakRidge 

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 

SpecialtyOffice 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 

WYOMING 

Control Technology 

204 Crazy Horse Lane 

Gillette, WY 82716 

(307) 682-0300 

CANADA 

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 

Hato Rey, Puerto Rico 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 



Circle 290 on inquiry card. 



TheC3-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 tech- 
nology disk drive yields mainframe 
class file access speeds and 
capacity. 

I High level data file software 
makes high performance file struc- 
tures like multikey ISAM easy to 
use. 

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

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

I 48Kof high reliability static RAM 
is standard. 

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

Completely integrated mechani- 
cal system with UL-recognized 
power supplies; continuous duty 
cycle cooling; modular construc- 
tion and rack slide mounted 
subassemblies. 

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

I 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 
delivery 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 tech- 
nology disk, coupled with its smart 
controller and dedicated high 
speed memory channel, gives the 
C3-B data file performance com- 
parable with today's most powerful 
maxi-computers. 

Yet, the C3-B costs only slightly 
more than many floppy only com- 
puters but offers at least a thou- 
sand times performance improve- 
ment 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 Scientif ic's in- 
expensive 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 o f static RAM, OS-65U 
operating system and one CRT ter- 
minal under $13,000. 

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

OHO SGIEHTHC 

1333 S. Chillicothe 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 
fiF 25 V capacitors, which were later replaced with 100 juF 25 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 ques- 
tion 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 



Sispcia's 

Sipcuit 

Qellap 



+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 manu- 
facturers 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 pro- 
grammable 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? Ob- 
viously 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 trie 



FULL SIZE FLOPPY DISK $995 COMPLETE^ 



/ 
/ 

/ 



DISCUS I™ full-size floppy disk sys- 
tem is an overnight success,.. because / 
it's delivered so complete you can 
have it running in a single evening 
For just $995, it's a complete mem- 
ory system. Complete with all 
hardware and software. Com 
pfetely assembled. Completely 
interfaced. And tested as a corn- 
system. 



And you can not only solve 
your memory shortage faster, 
you can solve it longer. ..be- 
cause DISCUS I™ is a full- 
size floppy system with 3 
times the storage and 5 i 
times the speed of mini- J 
floppies. m 

Your $995 DISCUS I™ 
system includes a Sh ugart 
800R full-size drive with 
power supply in a hand- 
some freestanding cabi- 
net, our 8-drive capaci- 
ty S-100 controller 
with on-board buffer 
and serial interface, 
all cables and con- 
nectors, and all the 
software you need. 






/ o 



ff/fimmiu 



Your software library includes DOS, 

text editor, 8080 assembler (all in- 

. tegrated in DISK/ATE™); our 

\ BASIC-V™ advanced virtual disk 

BASIC able to handle a wide varie- 

\ ty of data formats and address up 

to 2 megabytes; and patches for 

CP/M*. And it's all interfaced to 

your controller's serial I/O port 

to avoid I/O guesswork. 



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







^J^(Jh& Disk Jockey'" 



\ \ \ ,T(TM -Apr/PS* 7\ 

III 1 1 1 1 1 1 1 1 1 II 1 1 1 1 III H II I llUt 



•CP M is a trademark of Digital Research. 



A product of Mo 
Micro-Stuff for 



.,.: 






_,, ■ Vj 



9 



Thin kerjToys; 




. 




i&Jk^v v*ai2 



i\1 



■ OSCILLATOR- 




I6KHZ 



ICI 
7404 



-BUFFER DRIVER- 



•-5V 



220ft • 



^^O* 



SEE 
TEXT 



r \r |5V 



DIODE /CAPACITOR 
"MULTIPLIER 



ImF 

15V IN9I4 



JH-w- 



ci 

10/iF 
15V 



-O+v 



APPROX 8V 
AT 3mA 



-o- 



Figure 1 : 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 approxi- 
mately 8 V (open circuit). The 1 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 trans- 
former 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 con- 
verter 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 (1 2.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. ICI a 
and ICI b form the oscillator which is 
common to all DC to DC converters. IC1c, 
ICI d and ICI e are buffers with the outputs 
of ICld and ICI e 180 degrees out of phase, 



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



Figure 2: A CMOS DC to 
DC converter used for low 
current applications. This 
circuit produces -15 V 
from a -hi 5 V source and 
provides a relatively con- 
stant output voltage be- 
cause of the shunt regu- 
lator formed by diodes D 1 
and Q1. 




Ql 
2N2222 



24 October 1978 © BYTE Publications Inc 



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



I * 








H B0ty 


M» 


W;> 




.' 


m," 


' r v3 


— - 












rai. 1 


i fjH 










Rif 



If I'D 



BJJffl^^ffllj 



liiiu 



-.^^ -y^=- 






— . .STi 



Mg^y 


k:« 


Sis/— 
— 3 * 

* 




^ 


^-^Tri^ ^-^... 




» — ^- [ 


i . — • • 

■ i 1 

» ■ i 




^ .1 »e \~J 

Ac? : = 

t ^^ »t 1 — 




IJLkU 




1 ■ 


?• 


' • 1 * ' J ^"^'r-?- 


1 


' ^' 


1 










_y 


• N — » i 


— o m 
-o n 


;«; :i 


I 


_ - • . 





Reliably doubled capacity. 



Double Capacity 

The DOUBLER — 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 Q" disk. 
This means biggerf itesf or more powerful systems. 

Double Speed 

Data transfer with the DOUBLER 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 has 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 de- 
sign incorporates write precompensation electronics and a 
phase lock oscillator on a single, all digital, 5-100 circuit 
board. So we guarantee the DOUBLER will be more de- 
pendable than your present single density controller — and 
we warantee the DOUBLER for a full year. 

Unbeatable Convenience 

It couldn't be easier to step up to double density. The 
DOUBLER operates automatically in either single or double 
density. Just insert a diskette andyou're running properly. You 
can transfer files between single or double density diskettes 
without any software or hardware changes — or even oper- 
ate 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 
5-1 00 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 can 
buy our ready-to-boot version. Install the new controller, 
connect any terminal to the R5-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. 

MEGADOX dual drive double density system 2,295. 

ZEPHER — Per Sci double density system 2,595. 

Z-PLUS - MEGADOX 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 94133/ 415 396-0269 




Where there's always more in store. 



Circle 223 on inquiry card. 



"CP/M is o trademark of Digital Research. 

BYTE October 1978 25 






H2V 
A 



1 — " 

1 4 e 



IC3 
NE555 



m 



• I.2K 




2 N 2 2 I 9 



V ADJUST 
-*$ 250K 



'^ F IN9I4 

^Hf #— * 



▼ IN9I4 ^ 

1 + I 

/77 /77 



-o 



TO -10V 
AT 10 mA 



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



simulating a pseudo AC signal to the voltage 
multiplier. During the first half cycle, the 
capacitor, CI, 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 
(ICId and ICIe), neither +V nor -V line 
can be grounded or the multiplier section 
will be shorted out. The 1 mF 15 V capa- 
citor 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, refer- 
enced to ground. 



Type 


Function 


+5 V 


-5 V 


-12 V 


+ 12 V 


Ay-5-1013A 


UART 


20 mA 




18 mA 




2708 


1 K x 8 EROM 


10 mA 


45 mA 




65 mA 


2716 (Intel) 


2 K x8 EROM 


100 mA 








2716 (Tl) 


2 Kx 8 EROM 


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 key- 
board encoder. 

Figures 2 and 3 are examples of con- 
verters 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 
- 1 2 V instead of - 1 5 V. The circuit outlined 
in figure 3 uses the voltage control input of 
an NE555 timer circuit to produce a variable 
output of 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 ±1 5 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. 



IC4 
NE555 

V OUT 



: lOOKHz 




^\Q 



2N22I9 



** 1 270X1 

\\ IN914 I/2W 
\ I ^f-» vw m- 



■ 100/xF 
' 50V 



1 



IN5245 
15 V 



-O 



+ I5V AT 

0mA 



m 



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

T, IS A PULSE ENGINEERING TRANSFORMER PE-3843 



26 October 1978 © BYTE Publications Inc 



NORTH STAR 16K RAM 
A star from our Horizon 




.>>'.. ri r( iMt,i>r>>riiiiiilHmril|l!HHIUMI> 



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 outstand- 
ing 16K RAM will operate with both 8080 and Z80 proc- 
essors 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 ad- 
dress and data signals are fully buffered. A parity check 
option is available with the 16K RAM for applications re- 
quiring 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 de- 
sirable features. Addressability is switch-selectable to 
start at any 8K boundary. The board can perform bank 
switching for special software applications, such as time- 
sharing. 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 burned- 
in. 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 1978 



27 






+5V 
A 



hk 



► 3.9K 



IC5 
NE555 



O 1 



cyo 



LM340T- 
12 



^P 01 «20KHz 




m 



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 -hi 2 and -12 V from a 5 V source. See figure 
5b for details of winding a toroidal transformer for this circuit. 



#26 





#20 • 




40 TURNS < 




2 < 


3o- 


40 TURNS 5 



I75 TURNS 







5 AND 6 ARE CONNECTED TO FORM 
A CENTER TAP SECONDARY 



I75 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 milli- 
henry toroidal transformer 
rewound with two second- 
aries of 1 75 turns of #26 
wire each (after first un- 
winding the existing two 
windings of approximately 
350 turns each). The unit 
is used in the circuit of 
figure 5a. 




Number 


Type 


+5V 


Gn< 


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, T1. 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 mA at ±12 V. 

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



28 October 1978 © BYTE Publications Inc 



Our goal was to produce 100% 
reliable business programs/' 




"What do we mean by reliable programs? Three 
things: good program design, documentation, and 
full support. 

DESIGN Good program design meets a wide 
variety of customer needs without reprogramming. 






A 



Keith Parsons, President 

Alan Cooper, VP, Systems Development 

Circle 351 on inquiry card. 



Our programs are comprehensive yet retain their 
flexibility. They allow convenient backup, are easy 
to use and have been thoroughly tested and field 
proven. 

DOCUMENTATION We consider the quality of 
the documentation to be as important as the 
programs themselves. That's why our manuals 
are clear, concise and complete. 

SUPPORT And when it comes to support we're 
second to none. We release periodic updates, 
answer your questions and are available to provide 
technical assistance. Now that's reliable." 
Our growing Business Systems series currently 
includes: GENERAL LEDGER, ACCOUNTS 
RECEIVABLE, NAD (Name and Address File 
system) , QSORT (full disk sort/merge) , and 
CBASIC (a powerful business Basic) . For details, 
contact our sales manager, Richard Ellman. 

Structured f y/tem/ Croup 

5615 KALES AVE. DEPT. B6 OAKLAND, CA 94618 (415) 547-1567 

AH systems are compatible with any Z-80 or 8080 CP/M fM system. 







Photo 3: Adding the pri- 
mary winding, step 1: 
wind 4 turns of # 20 wire 
evenly around the toroid. 



Photo 5: The completed 
transformer. The ends of 
all enameled 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 specifi- 
cally 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: Adding the primary winding, step 
2: make a loop for the center tap and con- 
tinue with 40 additional turns. 





have found is: M Weinschenker, POB 353, 
Irwin PA 15642. Order 88 millihenry un- 
potted 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 1 75 
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 catas- 
trophic if you don't. Polarity can be deter- 
mined 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 tran- 
sistor 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, V CE , tran- 
sistors Q1 and Q2), 1 8 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 inexpen- 
sive infrared detection system." 



- WIRE mr WIRE- WRAPPING 



CUT TO LENGTH AND PRE-STRIPPED ON BOTH ENDS 



1 


I AWG 30 ( 

INSULATION 
STRIP-OFF L 
500 WIRES F 


0.25MM) KYNAR'WIRE 




AWG 28 f 

INSULATION 
STRIP-OFF LE 

500 WIRES P 


D.32MM1 KYNAR'WIRE 


M) 


AWG 26 (0 

INSULATION 
STRIP-OFF LE 
500 WIRES PE 


.40MM) KYNAR'WIRE 




[ K-"L"^| 


DIAMETER .0195 INCH (0.50MM) 
ENGTH BOTH ENDS 1 INCH (Z5MM) 
Efl PACKAGE 


DIAMETER .023 INCH (0.59MM) 
NGTH BOTH ENDS 1 INCH (25M 
ER PACKAGE 


NGTH BOTH ENDS 1 INCH (25MM 
R PACKAGE 




LENGTH "L" 

INCH 


BLUE 
PART NO. 


WHITE j YELLOW 
PART NO. [ PART NO. 


PER 5^ 


PART NO. 


WHITE 
PART NO. 


YELLOW 
PART NO. 


PER 500 


BLUE 
PART NO. 

26B-010 
I 26B-015 
26B-020 
26B-025 
26B-030 
! 26B-035 
26B-040 
26B-045 
26B-050 
26B-060 
268-070 
268-080 
26B-090 
26B-100 


WHITE 1 YELLOW 

PART NO. | PART NO. 


.PER 500 

"7.60 

8.05 


1 


30B-010 
30B-015 
30B-020 
30B-025 
30B-030 
30B-035 
30B-040 


30W-010 I 30Y-010 
30W-015 30Y-Q15 
30W-020 30Y-020 


lor 


28B-010 
28B-015 
28B-020 
28B-025 
28B-030 
288*035 
28B-040 
28B-045 
28B-050 
28B-060 


28W-010 
; 28W-015 I 
i "28W-020 
28W-025 
28W-030 
28W-035 ' 
28W-040 


28Y-010 


$5.25 


26W-O10 [26Y-010 


1.5 


5.19 


28Y-015 


5.63 


26W-015 
26W-020 
26W-025 

26W-030 
26W-035 
26W-040 
26W-045 
26W-050 


26Y-015 
26Y-020 
26Y-025 
" 26Y-030 
26Y-035 
26Y-040 
26Y-045 
26Y-050 


2 


5.50 


28Y-020 


6.00 


2.5 


30W-025 1 30Y-025 j 


5.82 


28Y-025 


6.38 


3 


30W-030 30Y-030 
30W-035 | 30Y-035 , 
30W-040 | 30Y-040 
3OW-045 30Y-045 
30W-050 30Y-050 


6.13 


28Y-030 


6.75 


3.5 


6,44 


28Y-035 


7.13 


4 


6.75 


28Y-040 


7.50 


335" 


4.5 


30B-045 
30B-050 
30B-060 


7,07 


28W-045 


28Y-045 


7.87 


5 


7.38 


28W-050 


28Y-050 


8.25 


9.4$ 


6 


30W-060 j_30Y-060 


8.00 


28W-060 


28Y-060 


9.00 


26W-060 


26Y-060 


10.35 


7 


30B-070 
30B-080 
30B-090 


30W-070 I 30Y-070 
30W-080 30Y-080 
30W-090 1 30Y-090 


8.63 


28B-070 
28B-080 
28B-090 
28B-100 


28W-070 


28Y-070 


9.75 


26W-070 

26W-080 
26W-090 


26Y-070 


11.25 


8 


8.25 


28W-080 
28W-090 


28Y-080 , 
28Y-090 


10.50 
TT5F 


26Y-080 
26Y-090 


12.18 


9 


9.88 


13.55 
14.00 


10 


| 30B-100 


I 30W-100 j 30Y-100 


10.50 


28W-100 


28Y-100 


12.00 


26W-100 


26Y-100 



ROLLS OF WIRE 



100 ft. roll 



500 ft. roll 
1000 ft. roll 



R30B-0100 R30W-0100',R30 Y-0100i 
R30B-0500 R30W-0500 R30Y-0500 
R30B-1000 R30W-1000 R30Y-1000i 



$3,65 
10.40 



16.82 




R26B-01Q0 R26W-O1O0 |R26Y-Q100 



R26B-0500 R26W- 
R26B-1000 R26W- 



100 I R26Y-0100 
0500 R 26Y-0500 
1 000 JR26Y- 1000 



$4.35 



13.8ft 



23,15 



(ft HYNAB ■ Pf NNWAO 



MINIMUM BILLING $25.00, 



ADD SHIPPING CHARGE $1.00. 



NEW YORK RESIDENTS ADD APPLICABLE TAX. 



OK MACHINE & TOOL CORPORATION 

3455 CONNER STREET, BRONX, N.Y. 10475 (212) 994-6600 Telex 125091 



Circle 291 on inquiry card. 



October 1978 © BYTE Publications Inc 31 





■K 



■ 






DYN ABYTE COMPUTERS 

ARE ALL BUSINESS 

INSIDE AND OUT. 



When we designed our new small 
business computers, we meant busi- 
ness. 

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, profes- 
sional 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 lan- 
guages. Our applications packages in- 
clude general ledger, accounts receiv- 
able, 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 U.L. 
standards, which means the entire sys- 
tem 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 
bum-in programs that assure the entire 
integrated system is reliable prior to 
shipment. Our completely modular de- 
sign allows continuing support in the 
field. We maintain a bonded inventory 
of all sub-system modules which means 
we can deliver replacement sub- 
assemblies 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 ac- 
cessories, 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 comers in de- 
sign, the price/performance ratios of 
our systems make good business sense. 

THE INSIDE FACTS 

The DB8/2 Computer System in- 
cludes 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 fully- 
populated 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. 

Dsnian&iTE 



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 
124Scottswood Dr 
UrbanalL 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 com- 
pilers 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 



SYMBOL 

TABLE 



SEMANTIC 
ANALYZER 



CODE 
GENERATOR 



PROGRAM 
FIX UP 




Figure 1: Logical arrangement and interconnections of the p-compiler 
modules. 



to make a one pass compiler work (aside 
from the fact that it is also good program- 
ming 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 por- 
tions 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 idname 
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 ana- 
lyzer 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 top- 
down 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 algo- 
rithm 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 



Concerto in A Flat Mini. 



Victor Borge demands the world's 
finest piano for his concert work. 
And when he performs at the 
computer keyboard, he naturally 
expects the best. The quality mini 
recording media. That's why he 
specifies Verbatim. 



*&:- 




At Information Terminals Corp. the 
whole message is quality. Our 
Verbatim brand diskettes, cartridges 
and cassettes capture your data 
and play it back bit for bit, byte for 
byte, verbatim. 

Quality mini media is all we make. 
When you want to be sure your data 
will play, specify Verbatim. 

Information Terminals Corp., 
323 Soquel Way, Sunnyvale, 
CA 94086 • ' 

(408) 245-4400. TWX: 910-339-9381. 

For the name of your nearest 
Verbatim distributor, call toll free: 
(1)800-821-7700, Ext. 515. (In 
Missouri call: 800-892-7655,Ext. 515) 



In Europe: 

Information Terminals S.A. 

Case Postale 296 

1215 Geneve 15 

Switzerland 

Telephone: 41 (22) 34-90-55 

Telex: 22647 ITGE CH 

In the Far East: 
ITC-Far East 
404 Roppongi Skyheights 
3-2-21 Roppongi, Minatoku 
Tokyo, Japan 
Telephone: (03) 583-1981 
Telex: J 47879 



'.;,', 






y 



Circle 1 76 on inquiry card. 




)0F 10 IN S.T 
ERS 

DO 
TEGMEM " 
EPEASHL 
WHILEWRITE" 

CS 



Listing 1: BASIC version of the p-compiier. This program takes the Pascal 
program and compiles it into p-code. The term p-code stands for pseudocode, 
an assembler language code for a hypothetical computer which can be con- 
verted into an existing assembler language. Listing continues thru page 48. 

10REM PASCAL SUBSET COMPILER FOR P-MACHINE 

20REM BY KIN-MAN CHUNG 

38REM 1/7S. LAST UERSIUN <W8. 

40 N0=3£\REM « OF RESERVED WORDS 

50 T&=50\REM SYM TABLE SIZE 

60 N1=3276?\REM LARGEST INI 

?0 N2 = S\REM I DENT LEN 

80 DIM W0*C5*N0>\REM RESERUfcO WORDS 

30 DIM T*<T8*N£>\REM SYMBOL I ABLE 

100 DIM T0*<T0)\REM KIND OF I DENT IN SYM TAB\C,U,P 

110 DIM L*<64)\REM LINE BUFFER 

128 DIM A$<N2*),E:$>;5; 

130 DIM S< 100),S*< lOOAREN STACKS 

140 DIM TKTCO'.REM LEUEL OF 10 IN SYM TBI. 

150 DIM T2CT0AREM UAL (FOR CONST; OR ADRCFOR INT 

160 DIM T3<T0>\REM ARRAY DIM OR* OF PROC PARAMET 

170 I49*< 1,48 )=*' AND ARRAYDEGIHCALL CASE CONSTDIU 

180 W0*<41iS0)="DOWNTELSE END FOR FUNC IF IN 

190 W0*<81j120)="MGD NOT OF OR PROC READ R 

200 U8$< 121, 168)="SHR THEN TO TYPE UNT1LUAR 

2 10 DIM M$<27),C*<80> 

220 M$="LITOPRLODSTOCALINlJMPJFCCSP i ' \kEM P-CODE MNEMONI 

230 P8=l 

240 P7 = 0\P9 = P7\REM START CODE=0000 

258 ! "P-CODES STARTS AT 0800" 

260 Q3=4836*2\REM LAST USABLE MEM 

270 F5=-l 

280 INPUT "WANT CODE PRINTED?" , Y* 

290 IF Y*="Y" THEN Y3=0 ELSE YS» = i 

388 X*=" "\GOSUB 1240\REM GET A TOKEN 

310 GOSUB 534CKREM BLOCK 

328 Z^FNEK" . " , 9 ) 

338 FILL P9,255\FILL P9+1, 255vREM FILL IN EOF MARK 

340 INPUT" INTERPRET-: I ), OR TRANSLATED T X? "> Y$ 

358 IF Y*="" THEN END 

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

378 IF Y$="T" THEN CHAIN "TRANS" 

388 END 

396REM ********** 

408REM ERROR ROUTINES 

410REM *** 

420REM FNE1 . . IF CURRENT TOKENOK* THEN ERROR «E 

438 DEF FNEKK$,E) 

448 IF S8*OK* THEN Z = FNE< E ) 

458 RETURN 8 

468 FNEND 

470REM *** 

480REM FNE2..IF NEXT TOKENOK* THEN ERROR «E 

490 DEF FNE2<Ki,E) 

500 GOSUB 1240 

510 IF S0*OK* THEN Z=FNE<E) 

520 RETURN 

530 FNEND 

548REM *:** 

556REM PRINT ERROR MSG 

568 DEF FNE<E9) 

578 !TAS<C0 + 4),"t",E9 

580 GOSUB 618 

5.98 STOP 

600 RETURN 0\FNEND 

610REM ERROR MSGS 

620 ON INT<<E9-l)/5) + l GOTO 630.. u-1U, £50 , C£.Z**C'tQ> titiO.. C^ij 

630 ON E9 GOTO 710,720,730,740,758 

648 ON E9-5 GOTO 990,990,990,760,770 

650 ON E9-10 GOTO 700,790,000,990,9^0 

66t ON E9-15 GOTO 810, S2G, 830, S40, 850 

67Q ON E9-20 GOTO SCO , S7G, 8S0, 990, S90 

680 ON E9-25 GOTO 900,910,920,990,930 

690 ON E9-30 GOTO 940, 990 , 950 , 9bO, 970 

708 ON E9-35 GOTO 900 

718 ! "MEM FULL"vRETURH 

728 ("CONST E ,XP E C T E D " \ R E T U RN 

730 !"' = ' EXPECTED" \RETURN 

748 ! u IDENTIFIER EXPECTED" '-RETURN 

750 !"';' OF; ' = ' MISSING" VRETURN 

768 I" . * EX.PECTED"vRETURN 

776 !"' ; ' MISSING-VRETURN 

7 88 ! " U N DECL A R ED IDE N T " \ R E T URN 

798 ("ILLEGAL IDENT" \RETURN 

808 !"': = ' EXPECTED" \k I T UFW 

818 ! U 'THEN' EXPECTED" RETURN 

828 J " ' i ' OR 'END' EXPECTED"\RE I URN 

838 !-'D0' EXPEXTED"\RETURH 

840 ! u I NCORRECT SYMBOL " \RETURN 

858 ("RELATIONAL OPERATOR EXPEC7 ED"\RETURN 

868 !"USE OF F'ROC IDENT IN EXPR" \kETURN 

878 I 1 *')' EXPECTED"\RETURN 

888 ! "ILLEGAL FACTOR " \RETURN 



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 state- 
ment. A statement can be a number of basic 
constructs: it can be an assignment state- 
ment, 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 1: For easy reference the main sub- 
routines of the p-compiler are listed here 
along with remarks regarding their uses. 



36 



October 1978 ©BYTE Publications Inc 




microprocessor 
experience from day one •• 
The Instructor 50. 



Learning by doing is still the best method of education. And when it comes 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 nome, office, or in the 
classroom. 

Superior to other microprocessor learning aids, the Instructor 50 is a COM- 
PLETE package — including a built-in power supply (50/60 Hz), an LED 
prompting display, and both functional and hexadecimal keyboa ds. 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' Guide, 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. 



signetics 

a subsidiary of U.S. Philips Corporation 



Signetics Corporation 

811 Easl Arques Avenue 

Sunnyvale, California 94086 

Telephone 408/739-7700 



Circle 322 on inquiry card. 




BYTE October 1978 



899 ("BEGIN' EXPECTED"\RETURN 

999 l-'iF' EXPECTED" nRETURN 

919 ! "ILLEGAL HEX CtNST "\RETUKN 

928 ! H, Tt' §R 'OtWNTO' EXPECTED "\KETURN 

939 ! "NUMBER iUT tF RANGE"\RETURH 

949 !"'<' EXPECTED"\RETURN 

959 !"'C' EXPECTED"\RETURH 

969 !■•]' EXPECTED"\RETURN 

979 ! "PARAMETERS MISMATCHED'^RETURN 

988 ! M DATA TYPE NtT RECOGNIZED" \RETURH 

999 ! M BUG M \RETURN 

1999REM ******************* 

1918REM SCANNER 

1929REM ******************* 

1938REM GETCHAR 

1948 IF C8<L8 THEN I960 

1956 GtSUB 169G\GiTt 1848 

1968 C0=ce+i\x*=L$<ce,ce> 

1979 RETURN 

1988REM ********** 

1998REM INPUT A LINE 

1198 !5i4I,Cl," *, 

1118 IF F5<8 THEN INPUT L$ ELSE 1169 

1128 IF L*="" THEN 1188 

1130 IF L$C1,1)="$ M THEN 1210\REM MACRO FILE? 

1148 L*=L* + " ,, \C8=8 

1158 L8=LEN<L*)\RETURN 

1168 IF TYPCF5)<>9 THEN 1190\REM EtF IF TYP=G 

1178 CLtSE #F5\F5=F5-1\REM RETURN TO LAST ACTIUE FILE 

1188 GiTi 1110 

1190 READ #F5>L$\!L$ 

1290 GiTO 1139 

1210 F5=F5+1\0PEN #F5, L$< 2,LEN< L$ ) ) 

1220 GtTt 1990 

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

1240REM GET A TiKEN 

1250REM RETURN S0$=TtKEN, A$=STRING, N3=NUMERIC 

1269 IF X*<>" " THEN 1280 

1270 GOSUB 1G136\G0T0 lt'tfeKKEM FLUSH BLANKS 
1280 IF X*<"A" 7HEN14CU \f;EM INOfcNI If 1EK? 
1290 IF X*>"Z" THEN14t.O 

1300 K=0\A$=" 

1310 IF K> = N2 THEN 1330VRLM ONLY 1ST N2 LfTTERi. fifcfc \.\^[-.l\ 

1320 K=K+1\A$<K,K)=X* 

1330 GtSUB 1038 

1340 T=ASC<;}<:*) 

1350 IF T>47 AND T<58 OR T>64 AND K':>1 THEN 1310\RFM OGT OR LTTR 

1360REM BIN SERACH FOR RES WORDS 

1370 I=l\J=N0*5-4 

1380 B$=A$ 

1390 K=INTO; I + J)/10)*5+l 

1490 Z$=W0$<K>K+4) 

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

1420 IF B*>=2S THEN I=K+? 

1430 IF K = J THEN 139% 

1440 IF I -5) J THEN S0*=B* ELSE Su*= H IDENT" 

1450 RETURN 

146U Z*="" 

1470 IF X$<"0" 

1480 IF X$>"9" 

1490 S0$="NUM" 

1590 Z$=2$+KS 

1510 GtSUB 1036 

1520 IF ASC<X*)>=4S AND ASC<X*.K = 57 THEN 1500 

1530 N3=UAL<ZS) 

1540 IF N3<=N1 THEN RETURN 

1550 E9=30vGOSUB 550 

156W H3=N1\RETURN 

1579REM CHECK FOR SPECIAL SYMBOL 

1580 IF *$<>" ■ iHhN 1640 

1590 GtSUB 1030 

1680 IF X*="=" THEN 1620 

1610 S0*="= "\RETURN 

1620 St*=" ■=" 

1630 GtSUB 1030\RETURN 

1640 IF X$<>"<" THEN 1710 

1650 GtSUB 103G 

1660 IF X$=">" THEN 1690 

1670 IF X$="=" THEN 1700 

1680 S8$="< ,, vRETURN 

1690 S0$="O"\GtSUB 103O vRET URN 

1700 S0$="<= u \GtSUG 103O\RETURN 

1710 IF X*<>">" THEN 1750 

1/20 GtSUB l0.<ti\yti$^'V 

1730 IF X$0" = " I HEN RETURN 

1740 S0$=">="\&tSUB 1030VRE1URN 

1750 IF X*<>""' THEN 1790 

1760 S0$="STR"\C*="" 

1770 GtSUB 1030\IF Kt- n ' " THEN 1030 

1780 CS=C$+X$\G01Q 1770 

1790 IF X$<>"<" THEN 1S£'0\REM IGNORE CtMMENTS 

I860 GtSUB 1030MF X*<>">" THEN 1S00 

1810 GtSUB 103O\GtTt 1240 

1820 IF X$<>"'<i" THEN 1930\REM HEX CONSTANT 

1830 GtSUB 1030\S0*="NUM ,, vN3 = 

1840 FtR 1 = 1 TO 4 



THEN 15S0VREM AN INTEGER? 
THEN 15&0 



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

If you look at the syntax diagrams care- 
fully, you will see that diagrams for certain 
nonterminals actually contain the non- 
terminal itself, either immediately or after 
several expansions. In terms of compiler 
writing this means that the procedures corre- 
sponding to these nonterminals would call 
themselves recursively. 



BASIC Recursive Subroutines 

Most versions of BASIC do not 
adequately support recursive sub- 
routine 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 

300N=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 identi- 
fiers are pushed onto the stack before 
a recursive call, and popped out of the 
stack in the reverse order when 
returning from the calf. In BASIC, the 
stack can be simulated by an array: 

10 DIMS(100) 

n P=0 

12 REM INITIALIZE STACK POINTER 



1000REM PUSH X INTO STACK 

1010S(P)=X 

1020 P=P+1 

1030 RETURN 

2000REM POP X FROM STACK 

2010P=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 and executed text (C20l)...a 
complete treatment. ..self-contained and self- 
defined. . . The chapter on 'Internal Operation of 
a Microprocessor' is the best explanation we have 

thus far seen m print. " (Elementary Elec- 
tronics, Sept. 78) 



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



C200:AN INTRODUCTION TO 
PERSONAL AND BUSINESS 
COMPUTING 

Rodnay Zaks, 250 pp, S6.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, SI 4.95 



TO ORDER 



BY PHONE: call 415/648-8233 

BankAmericard/Mastercharge accepted 

SHIPPING: no charge when payment included (except add 

S.50 on orders for S7.00 or less); all orders under S50.00 

must be prepaid 

ADD: S1.50/book for fast shipping 

OVERSEAS: 

SYBEX-EUROPE 

3 1 3 rue Lecourbe, 7501 5-Paris. France Tel: ( 1 ) 828 25 02 




r 



C201: MICROPROCESSORS: 
From Chips to Systems 

Rodnay Zaks, 416 pp, S9.95 

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

This book has been qualified as 'besf fexf 
ever written on microprocessors. ' 

C202: MICROCOMPUTER 
PROGRAMMING:6502 

Rodnay Zaks, 250 pp, S9.95 

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

C207:MICROPROCESSOR 
INTERFACING TECHNIQUES 

Aiesea & R.Zaks, 416 pp, S9.95 

How to interface a microprocessor to the 
external world, including all common peripher- 
als: 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, S29.95 
COMPREHENSIVE (6 hrs) ref. SB1, S59.95 

SPECIALIZED 

MILITARY (6 hrs) ref. SB3, S49.95 
BIT-SLICE (6 hrs) ref. SB5, S49.95 
INDUSTRIAL (4.5 hrs) ref. SB6, S49.95 
INTERFACING (6 hrs) ref. SB7, S49.95 



OTHER BOOKS 



ZIO-APL IMPLEMENTATION S25.00 
XI -MICROPROCESSOR LEXICON S 1 . 95 
AND MORE ... ASK FOR FREE CATALOG 



Circle 358 on inquiry card. 



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



NAME 

COMPANY 

ADDRESS 
CITY 

C2QO C2Q1 



.POSITION.. 



STATE/ZIP. 

C202 C207 Other 

Payment enclosed Bill me (over S50) C.O.D. 
Charge my Visa MasterchargeJnterbank nbr 



Number 
SIGNATURE 



Exp date 



U FREE CATALOG/ORDER FORM G 



1916 



I/Iho ALt.LiCiVI LD F OR PROC: F«RS 
Si ORE OrhSLl 



185GI T=ASC<X$> 

I860 IF T>=48 AND T< = 57 THEM 1S8G 

187G IF T>=65 AND K=?0 THEN T=T-7 ELSE 

1B80 i=T-48 

189GI N3 = N3*16+T\G0SUE: 1030\NEXT 

190U RETURN 

1910 IF I>1 THEN 2=FNE<27> 

192G S0S= n >."\RETURN 

1930 SU*=X$vliUiO UV.O 

1540 REN ********** 

1950 REN ENTER SYMBOL INTO IhOLL 

i960 T1 = TH-1 

19/0 T*C < T 1-1 )*N2+1,T1 ^.Hc'^Hi 

1980 T0$<T1,T1)=K*\RL"N STORE TYPE 

1950 IF K$0"C" THEN 2016 

208G T2C1 l) = N3\RETURN\REfi o I ORE UALUL 

2910 TKT1)=L1\REM STORE LEOLL OK iDLNI 

282 IF K$<>"U" THEN RETURN 

2IJ4U if MUI l-y mth KtTHKfi\KEPi S 

2040 T2< Tl )=D0\D0=D0+1\RETURN\RL 

2050REM ********** 

2060REM FIND IDEM I At IN 1 *, S ! Hk I INfc FROM 11 AND UP 

2070REM RETURN POINTER 10 1 ABLE U FOUND, ELSE RE1URH 

2080 J = CTl-i)*N2-» 1 

2990 FOR 1*11 TO 1 STEP -1 

2100 IF A*=T$(J,J+N2-1) THEN EX 11 2l30 

2110 J = J-N2\HEX'T 

2120 1=0 

2130 RETURN 

2140REM ******************* 

2150REN PARSER AND CODER 

2 160 REM * * * * * * * * * * * * * * * * * * * 

2170REM CONSTANT DECLARATION 

2180 Z = FNE1< "I DENT*, 4 ) 

2190 Z=FNE2t " = ",3; 

2200 GOSUB 1240VGOSUE: 2240 

2210 K*="C"\G0SU6 1950 

2220 GOTO 1240 

2230REM ********** 

2240REM CONSTANT 

2250 IF S0*="NUM" THEN RETURN 

2260 IF S0*="IDENT" THEN 2290\RE« CONST? 

2270 Z=FNEK"STR",.2> 

2280 N3=ASC<C*>\RETURN\REN TAKE 1ST CHAR 

2290 60SUB 2060 MF 1=0 THEN FNE'12) 

2300 IF T0$<I,1 )<>"C" THEN f-NE<2) 

2310 N3 = T2«: I)\RE1URN 

2320 GOTO 1240 

2330REM ********** 

2340REM VARIABLE DECLARATION 

2350 2=FNE1< "I DENT", 4) 

2360 K*="U" sGOSUB 1950\G0T0 1240 

2376REM ********** 

23S0REM SIMPLE EXPRESSION 

2390 IF S0$="+" THEN 2420 

2400 IF S0$<>"-" THEN 25 90 

2410 Y$=S0$\GOSUE: 6180 

2420 GO SUB 124 

2430 GO SUB 2610 

2440 GOSUB 624 

2450 IF Y$="-" THEN 2=FNG< 1 , 0, 1 ) 

2460 IF S0*="+" THEN 2500 

2470 IF S0$="-" THEN 2300 

2480 IF SO$="OR " 1HEN 2500 

2490 RETURN 

2580 Y*=S0*\GOSUB 61&0 

2510 GOSUB 1240 

2520 GOSUB 2610 

2530 GOSUB 6240 

2540 IF Y$ = "--" THEN 2570 

2550 IF Y$= ,, + " THEN 2500 

2560 Z=FNG< 1,0,14 )\GOTO 2460 
2570 Z*FNG<l,B,3>MiOTO 2460 
2580 Z=FNG< 1,0,2 >\GOTO 2460 
2590 GOSUB 2610SGOTO 2460 
2600REM ********** 
2610REM TERM 
2620 GOSUB 2S50 
2638 IF S0*="*" THEN 2700 



2640 


IF 


S0S= 


'010 


" THEN 


27O0 


2650 


IF 


£•*= 


"AND 


" THEN 


2700 


2660 


IF 


S0* = 


"MOD 


" THEN 


270O 


2670 


IF 


S0$ = 


"SHL 


" THEN 


27O0 


2680 


IF 


S0$ = 


"SHR 


" THEN 


2700 



2690 RETURN 

2700 Y$=S0*\GOSUB 618B\REM PUSH 
2710 GOSUB 1240\GOSUB 2850 
2720 GOSUB 6240 
2730 IF Y$="DIV " THEN 2790 
r>- huli * i HfcN ii'yuo 
Y*="*" THEN 2816 

THEN 2826 
THEN 2830 
2780 Z=FHG<1,0,15 ) \ GOT 2 fa 3 t» \ k L M 
2790 2 = FHb< 1,0,5 > .GOTO 2C3v 
2800 Z=FNG< 1,0,7 >\GOTO 2 630 



274G IF 

2750 IF 

2760 IF Y*="SHL 

2770 IF Y$="SHR 



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 com- 
piler 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 com- 
piler 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 mini- 
mum. 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 scan- 
ner (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 (10) 
routines are line oriented instead of charac- 
ter oriented, a line buffer (L$) is used to 



40 



October 1978 © BYTE Publications Inc 



TUST THOUGHT X'P LET 



YOJLLKNOW THAT LTM BACK 



PROM THE COMPUTER 



SHOW. THE TERMINAL 
WE WANT IS THE IQ120J 
FROM SORGO (SEE 
SNAP SHOT) . THUS UNIT I S" 
MOT LOWLY SMART LOOKING, BUT HAS 
ALL THE FEATURES WE NEEP IN THEBASIC-PRICE ♦ 
J^OR EXAMPLE : THE^XQIZO INCLUDES- NUMERIC 



KEY PADSlJ^ND PROTECT FIELDS AS STANPARP. 



X-LOOKEP AT THE OTHER TERMINALS AS YOUL 



SUGGESTED^ BUT FOUND THEM TO BE EITHER PAPER 



TIGERS*, OR TOO "DUMB" FOR OUR CON Si DERATION. 



ANYWAY, YOU ASKED ME TO DECIDE AND AT 



*SS5 * FOR THE IQ 120, IT WAS THE EASIEST 
ASSIGNMENT X*VE HAP, 





uO 



* P.S. 1-4 $«tt5/ 5-4* $ 800 / SO-W * T50 



S 

TECHNOLOGY, Tnc. 



FREEDOM AVE iWr f *-r 



1 ARE N PR DC NAME 



C),T2<X>) 



28L0 Z = F 'Nt'< 1 .- .- 4 ) -.bill 2630 

2826 Z=f- Mb" 1 : 1 , 6 , 1? >\GOTO 2*t".3& 

2830 Z = F Hij < 1 > 6 .. 1 & > 6 01 2 CSV 

2840REM ********** 

28ft0kEM FACTOR 

2860 If- S0*="]OENT" THEN 29 4 U 

2870 IF S0$="NUM" THEN Z«S£160 

2&8& IF S0$="STR" THLN j.Ui:L" 

2890 IF Se*="<" THEM 3100 

2900 IF S0*-"MEM " THEN 3140 

2910 IF S0$="NOT " THEN 32t'.0 

2920 Z=FME<23> 

2930REN *** IDENTIFIER 

294 GO SUB £060 

2950 IF 1=0 THEN Z = FNE';ll> 

2960 IF 10X< I, I >="P" THEN Z"FNE 

2970 IF T0S< 1, I K)-"Y" THEN 3000 

2980 Z =FN C< 5 , 6 , 1 > \ R EN F U N C 

2990 I = I-1\G0T0 4290\REM T£< I >«*AUU OF FUNC 

3000 IF T0$< I, I )="A" THEN 3190\F:Efl ARRhY 

3010 IF T0$<I, I ><>"C" THEN 3030 

3820 Z=FNG<O,0,T2< I ) >\GOTO l240\h'EN CONST 

3830 Z=FNG<2,L1-T1< I ),T2< I >)\REN 10 

3040 GOTO 1240 

3050REM *** NUMERIC CONST 

3060 Z=FNG<0,0,N3)\GOTO 1240 

3070REM *** STRNG CONST 

3880 Z=FNG<0,0, ASC<C:*)>\G0T0 1240 

3090REM *** PAREN EXPR 

3180 GOSUB 1240VGOSUO 3290 

3110 IF S0*=")" THEN 1240 

3120 Z=FNE(22)vRETURN 

3130REM *** READ MEMORY 

3140 Z=FNE2< "C",33 > 

3150 GOSUB 1240\GOSUB 3290 

3160 Z=FNE1< "D" ,34) 

3170 GOSUB 1240 

3180 Z=FNG<2,255,0)\RETURN 

3190 X=I\GOSUB 6120 

3200 Z=FNE2< "[",33) 

3210 GOSUB 1240\GOSUB 3290 

3220 Z=FNE1( ,1 ]",34 ) 

3230 GOSUB 6150\2-FNG< IS, L 1-1 1< 

3240 GOTO 1240 

3250REM *** NEGATE 

3260 GOSUB 1240\GOSUEi 2850 

3270 Z=FNG< 1,0, 16 ^RETURN 

3280REM ********** 

3290REM EXPRESSION 

3300 GOSUB 2390\REM SIMPLE EXP 

3310 IF S0S="=" THEN 33S0 

3320 IF SB* ="<;•" THEN 33S0 

3330 IF S0$="<" THEN 33SB 

3340 IF S0S="<=" THEN 3300 

3350 IF S0$-">" THEN 33B0 

3360 IF S0$=">=" THEM 33S0 

3370 RETURN 

3380 Y$ = S0i\GOSUB t"180\REM PUSH 

3390 GOSUB 1240VGOSI.IB 2390 

3400 GOSUB £24 0\REM POP 

3410 IF Y*="=" THEN Z=FHU< 1 , ,S ) 

3420 IF Y*="<>" THEN Z=F NG< 1 , 0, 9 ) 

3430 IF Y$="<" THEN Z=F NG< 1 , 0, 10 ) 

3440 IF Y,*=">=" THEN Z=FNG< 1 , , 1 1 ) 

3450 IF Y*=">" THEN Z=FNG< i , O, 12 ; 

3460 IF Y* = "«: = " THEN Z = FN6< 1,0, 13) 

3470 RETURN 

3480REM ********** 

3490REM STATEMEMT 

3500 IF S0*="IDENT" 

3510 IF S0*="IF 

3520 IF S0*="FGR 

3530 IF S0$="WHILE" 

3540 IF S0$="CASE 

3550 IF S0$="REPEA" 

3560 IF S0*="BEGIN" 

3570 IF S0*="READ 

3580 IF S0$=" WRITE" 

3590 IF S0$="MEM 

3600 IF S0$="CALL 

3610 RETURN 

3620REM *** ASSIGNMN1 

3630 GOSUB 20u0 

3640 IF 1=0 THEN Z=FNE<11) 

3650 IF T0$<I,I)="A" THEN 3700\REN ARRAY 

3660 IF T0*(I,I)="U" THEN 3760\REM INI UAR 

3670 IF T0*<I,I)="Y" THEN 3760\REM FUNC RETURN UALUE 

3680 IF T0t(I,I)="P" THEN 4290\REM PROC CALL 

3690 Z=FNE( 12) 

3700 X=I\GOSUB 6120\REM PUSH TBL ADO 

3710 X=16\G0SUB 6120\REM INDEX ADO MODE 

3720 Z=FNE2<"[",33) 

3730 GOSUB 1240\GOSUB 3290 

3740 Z=FNE1("]",34) 

3750 GOTO 3780 

3760 X=I\GOSUB 6120 



THEN 3630 
THEN 4440 
THEN 5170 
THEN 4SO0 
THEN 4390 
THEN 4730 
THEN 4590 
THEN 404U 
THEN 3S70 
THEN 4650 
THEN 424 



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 1 100) 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 imme- 
diately 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 indi- 
cate this level. If it is equal to — 1, then input 
is 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, I DENT, 
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 num- 
ber, 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 de- 
clared 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 com- 
piler enters a procedure block, a segment 
of the stack is used to store identifiers 
for the block. If the procedure block con- 
tains 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 high- 
value 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 Talos 




P*Up:B 




449 



No adjustments. No calibratio 

OPTIONS 

• APPLE Interface 

• IMSAI Interface (Nov. 78) 

• TRS-80 Interface (Dec. 78) 

• RS232 

• Power Supply 

• IC Sockets 

• Unit Enclosure 

Dealer inquiries invited 



PLEASE RUSH ADDITIONAL INFORMATION ON THE 
TALOS DIGI-KIT-IZER 



Name. 



■■ 



Company. 
Title 



Address. 
City 



.State- 



-Zip. 




TALOS SYSTEMS INC. 
7419 E. Helm Drive 
Scottsdale, Arizona 85260 
(602) 948-6540 
TWX (910) 950 1183 



Phone. 



Circle 359 on inquiry card. 



BYTE October 1978 43 



377C1 X=0\GOSUB 6120 

3780 GOSUB 1240 

3790 IF S0*=" ==" THEN 3816 

3800 Z = FNE<13)\G0T0 3320 

3810 GOSUB 1240 

3820 GOSUB 3290NGOSUB 6150 

3830 K=X\GQSUB 6150 

3840 2=FHG< 3+K , L 1-TK X ), T2< X > ) 

3 850 RETURN 
3860REM *** WRITE 
3870 Z=FNE2< "(",31) 

3880 GOSUB 1240MF S0$O"STR" THEN 3950 

3890 L=LEN<C*)\IF L>1 THEN 3910 

3900 Z=FNG<0,0,ASC<C$))\Z=FNG<3,0, 1 )\GOTO 3940 

3910 FOR 1=1 TO L 

3920 Z=FNG<0,0,ASC<C*< 1,1 >>>\HEXT 

3930 Z=FNG<0,0,L)\Z=FNG<S,0,8) 

3940 GOSUB 1240\GOTO 4000 

3950 GOSUB 329G\K=1 

3960 IF S0*="#" THEN K=3\REM 1EC 

3970 IF S0*="*" THEN K=5\REM HEX 

3980 IF K>1 THEN GOSUB 1240 

3990 Z=FNG<3,0,K) 

4000 IF S0$="," THEN 3SS0 

4010 Z=FNEK")",22) 

4820 GOTO 1240 

4030REM AM- READ 

4840 Z=FNE2< "(",31) 

4050 Z=FNE2<"IDENT",4) 

4060 GOSUB 206OMF 1 = THEN Z=FNE<11> 

4070 X=I\GOSUB 6120 

4080 IF T0$<I,I)="A" THEN 4190 

4090 IF T0$<I,I)="U" THEN L = ELSE Z=FNE<4) 

4100 GOSUB 1240\K=O 

4110 IF S0*="#" THEN K=2\REM DEC 

4120 IF SCif=":;" THEN K=4\REM HEX 

4130 Z=FNG(8*0*K) 

4140 IF K>0 THEN GOSUB 1240 

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

4160 IF S0*=%" THEN 4050 

4170 Z=FNEK")",31) 

4180 GOTO 1246 

4190 Z=FNE2< "[",33) 

4200 GOSUB 1240VGOSUB 3230 

4210 Z=FNEK "]" ,34) 

4220 L=16\G0T0 4100 

4230REM *** ABSOLUTE MEM CALL 

4240 Z=FNE2<"< ",31 ) 

4250 GOSUB 1240\GOSUB 3290 

4 260 Z=FNEK")",22) 

4270 2=FHG<4,255,0)\GOTO 1240 

4 280REM *** PROC OR FUNC CALL 

4290 K2=0^K3=I 

4300 IF T3<7)=0 THEN 4400\REM HO PARAMETER 

4310 Z=FNE2<"<",31) 

4320 X=K2\G0SUB 6 120 

4330 X=K3\G0SUB 6120 

4340 GOSUB 1240\GOSUB 3290 

4350 GOSUB 6150\K3=X 

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

4370 IF S0*="," THEN 4320 

4380 IF K20T3CK3) THEN Z=FNE<35) 

4390 Z = FNEK")",22) 

4400 Z=FHG<4,L1-TKK3),T2»:K3)) 

4410 IF K2 <>0 THEN Z=FNG< 5,0, -K2 ) 

4420 GOTO 1240 

4430REM *** IF 

4440 GOSUB 1240 

4450 GOSUB 329D 

4460 Z=FNEU "THEM ",16) 

4470 GOSUB 1240 

4480 X=Cl\GOSUB 6120\REM FORWARD REF POINT 

4490 Z = FNG<7,0,CO\REM JPC 

4500 GOSUB 3490 

4510 IF S0*O"ELSE " THEN 6520 

4 520 GOSUB 6150\K=X 

4530 X= Civ GOSUB 6120 

4540 Z=FNG(6,0,CO\REM JMP 

4550 X=K\GOSLIB 6540\REM FIXUP FORWD REF 

4560 GOSUB 1240\GOSUB 3490 

4570 GOTO 6520 

4580REM *** COMPOUND STTMNT 

4590 GOSUB 1240 

4600 GOSUB 3490 

4610 IF S0*=";" THEN 4590 

4620 IF S0$= u END " THEN 1240 

4630 Z=FNE(17)\RETURN 

4640REM *** WRITE MEM 

4650 Z=FNE2<"[",33) 

4660 GOSUB 1240\GOSUB 3290 

4670 IF S0*<>"]" THEN Z=FNE< 34 ) 

4680 Z=FNE2<"==",13) 

4690 GOSUB 1240SGOSUB 3290 

4700 Z=FNG<:3,255,0) 

4 710 RETURN 
4720REM *** REPEAT 



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 identi- 
fiers in some other blocks. We also see that 
since the block delimiting mechanism is 
hierarchical, use of stack is also appro- 
priate. 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 struc- 
tures can be set up for storing the identi- 
fiers. We chose to use what we feel is the 
simplest method: store the identifiers se- 
quentially, 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*) 




m 




END (*AA*); 




PROC AB; 




VAR 




• 




• 




BEGIN (*AB*> 


3 


• 




END (*AB*); 




BEGIN (*A*) 


4 


—+■ m 




• 








END ( 


*A*) 












A 




A 




A 




A 






AA 


AB 






I 




2 




3 




4 





UNTIL 



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



44 



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-and- 
device-independent, queue-buffered character 
stream I/O. Linked-File disk architecture, with auto- 
matic 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. Re- 
quires 8K RAM at $AOOO. Diskette includes numer- 
ous 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 interpre- 
ter 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 re- 
spectable random access data file disk BASIC. In- 
cludes 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 Com- 
piler for the serious professional programmer. In- 
cludes elements of BASIC, PL/M, and assembly lan- 
guage. Features 10-digit floating point, strings, scien- 
tific 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 effi- 
ciently. Runs in only 6K RAM. "Spooling" permits text 
files much largerthan 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 largerthan 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 as- 
semblers; assembly options maybe specified at time 

of assembly. $29.95 

Complete listing of above assembler $29.95 

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

RAM $49.95 

LINKING LOADER for STRUBAL and the above as- 
sembler $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. 




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. 
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. 
O MINIDOS™ — 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. 

O Interconnecting cable — fully assembled and tested. 
O 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 eithertwo or three drives. 
Write for details. Send for our free brochure for more informa- 
tion 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. 



c 



PEFGOM 



PERCOM DATA COMPANY, INC. 

Dept B 318 BARNES* GARLAND, TX. 75042 

(214) 272-3421 

PERCOM™ 'peripherals for personal computing' 



3 



BYTE October 1978 45 



4 730 X=C1\G0SUB 6120 

4740 GOSUB 1240\GOSUB 3490 

4750 IF S0*=";" THEN 4746 

4760 Z=FNE1<"UNTIL",10) 

4770 GOSUB 1240\GGSUB 3290 

4780 GOSUB 6150\2=FNG<7,0,X>\RETURN 

479QREM *** WHILE . . DO 

4800 GOSUB 1240\X=C1\GOSUB 6120 

4810 GOSUB 3290\X=C1\GO$UB 6120 

4820 Z=FNG< 7,0,0) 

4830 Z=FNE1C"00 'MS) 

4840 GOSUB 1240VGOSUB 3490 

4850 GOSUB 6150\K = X\GOSUB 6150 

4860 Z=FNG<6,0,X) 

4 870 X=K\GOTO 6540 

4880REM ttt CASE . . OF 

4890 GOSUB 1240\GOSUB 3290 

4980 Z=FNEK"OF ",25> 

4910 I2=1\REM 41 OF CASE STATMMTS 

4920 I1=0\REM « OF CASE LABELS 

4930 GOSUB 124 0VGOSUB 2240 

4 940 Z=FNG( 1,8,21 )\Z=FNG< 0,0, H3 )\Z=FNG< 1,0,8) 

4950 GOSUB 1240MF S0$=" = " THEN 4990 

4960 Z=FNE1C", M ,5) 

4970 X=Cl\GOSUB 6120\Z=FMG< 7, 1 , U >\RLM A MATCH FOUND? 

4980 Il=Il+l\GOTO 433G 

4990 K=C1\Z=FNG(7,0,0)\REM GOTO NEXT CASE STMNT IF NO MATCH 

5880 FOR 1=1 TO IlvGOSUB 6520\NEXT\REN FIXUP FORWO REFS 

3810 X=K\GOSUB 6120 

5820 GOSUB 1240\X=I2\GOSUB 6120 

5830 GOSUB 3490\GOSUB 6150M2=X 

5840 IF S0*= M ELSE " I HEN 5096 

5850 IF Se$<>";" THEN 5130 

5860 K=Cl\Z=FNG<6,d,0)vRLM EXIT AFTER A CASE STMNT 

5870 GOSUB 6520 

5886 X=K\GOSUB 6120M 2=I2+1\G0T0 4920 

5090 K=C1\Z=FNG<6,0,0)\GOSUB 6520 

5100 X=K\GOSUB 6120 

5110 GOSUB 1240\X=I2\GOSUfc: 6120 

5120 GOSUB 3490\GOSUB 615dM2=X 

5130 Z=FNEK M END ",17; 

5140 FOR 1 = 1 TO I2\G0SUB 6520\NEXT\RErt FIXUP FORWO REFS 

5150 Z=FNG<5,0,-l)vGOTO 1240vh'LM F'OP UAL OF CASE EXP 

5160REM *** FOR 

5170 Z=FNE2<"IDENT",4) 

5180 GOSUB 3630VGOSUB 6120 

5190 F9=1MF y0$="TG " THEN 5210\REr! REMEMBER UP OR DOWN 

5280 Z=FNE 1< "OOWNT " , 2S )\F9=0 

5218 GOSUB 1240\GOSUB 3290 

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

5230 Z=FNG< 1,0,21 )\Z=FNG< 2 , L 1- T 1< K ) , T2<* K ) ) 

5240 Z=FNG<l,0,13-F9-F9)vX=Cl\GOSUB 6126 \2=FHG< 7 , 0, ) 

5250 X=F9\G0SUB 6120\X=K\GGSU6 6120 

5260 Z=FNE1<"00 " , IS )\GOSUB 1240 

5270 GOSUB 3490\GOSUB 6150\Z=FNG< 2 , Ll-TK X ) , 1 2< X ) ) 

5280 K=X\GOSUB 6150\Z=FNGC 1,0,20-X ) 

5290 Z=FNG<3,L1-TKK),T200) 

5300 GOSUB 6150\K = X\GOSUB 6150\Z=F NG< 6,0 , X ) 

5310 X=K\GOSUB 6540 

5320 Z=FNG(5,0,-l)vkETURN\REM POP OFF UAL OF LOOP CNTRl UAR 

5338REM ********** 

5340REM BLOCK 

5350 D0=3\REM RESERUED FOR STATIC L INK, DYNAMIC LINK 'I RETN ADD 

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

5370 Z=FNGC6,0,0)vREM JMP TO STARTING BLK ADO 

5380 X=T1-K1\G0SUB 6120 

5390 IF S0*=" CONST" THEN 5460 



5400 


IF S0*="UAR 


" THEN 


5550 


5410 


IF S0$="PROC 


" THEN 


5730 


5420 


IF S0$="FUNC 


" THEN 


5770 


5430 


IF S0*="BEGIN 


" THEN 


5930 


5440 


Z=FHE<25) 






5450REM *** CONST I 


L'CL 




5460 


GOSUB 1240 






5470 


GOSUB 2170 






5480 


Z=FNE1< "; ",5) 


\ GOSUB 


12^10 


5490 


IF S0*="UAR 


" 1 HEN 


5550 


5500 


IF $0$="PROC 


" THEN 


5730 


5510 


IF SG*="FJNC 


" THEN 


5770 


5520 


IF S0*=" BEGIN 


" THEN 


5930 



5530 GOTO 54 70 

5540REM ttt UAR I ABLE DLL 

5-550 L = 0\F9=1 

5560 GOSUB 1240 -.GOSUB 2340 

5570 L = L+1MF $&*=",•' THEN 5560 

5580 Z = FNEU " : " ,1, > 

559G GOSUB 1240MF S0$="ARRAY" I HEN 5610 

5600 Z = F HE 1 ■: " I N T E G " , 3 6 ) \ G T 5 6 7 

5610 Z=FNE2<"1", 33 )\GOSUB 1240\GOSUB 2240 

5620 Z=FNE2«: " ] " , 34 >v2=FNL2< "Oh " , 26 >\Z=F NE2< " I HTEG " 

5630 D0=D0-L 

5640 FOR I=T1-L+1 TO Tl 

5650 T0$< I, I )="A"\T3»: I )=N3+1 

5660 12C I )=D0\D0=O0 + N3-f lxNEXT 



for each type of identifier. For constants, 
the information is the values of the con- 
stants; for program variables, the informa- 
tion 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 infor- 
mation 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 vari- 
able 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 work- 
ing 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 correspond- 
ence 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 vari- 
able 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, theHI 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 
format 

• Both serial and parallel inputs built-in 

• Uses standard 8V2 x 1 1 " paper 



Plotting speed up to 2.4 ips 
Resolution of both 0.01 and 0.005 inch 
Baud rate and step size easily changed 



ITM 



HI PL0T 

The Perfect 

Digital Plotter 

for the Personal 

Computing Enthusiast 




Circle 173 on inquiry card. 



BYTE October 1978 47 



t«6?0 Z=FHE2<*S , S5) 

5680 GOSUB 124GMF SHt~"h'kOC " THEN 57; 

S690 IF S0*="FUHC " THEN 5776 

570G IF SG$=" BEGIN" THEN 5980 

571G L = G\F9=1AG OSU B 2340 \ b I D t. 5 7 

S726REM *** PROC DCL 

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

5740 K1-0\K*= ,J P ,, \GOSU6 1SJ5B 

5750 Ll=Ll+l\GOTO 5816 

5760REM *** FUND UCL 

577G Z=FHE2'."IDENT",4 ) 

5780 K$="F"\GGSUB 1956VREM F UNC AGGRSs 

5790 L1=L1+1\K1=1 

5800 K$="V"\GOSUB 195B\KEM F'UNC UALUE 

5810 K2=KlvG0SUB 1240 

5820 X=Tl\GO£UB 6120 

5830 X=D0\GOSUB 6120 



5840 IF S0*<; 



THEN 5890 



5850 GOSUB 124 0\F9 = G1\GOSUB 2340\Kl=^Kl + t 

5860 IF S0$="," THEN 5850 

5870 Z = FNE1< " )'S22) 

5880 GOSUB 1240\T3< Tl-Kl ) = K1-K2 

5890 Z=FNE1< "i ",5> 

5900 FOR 1 = 1 TO KlvREM FUNC UALUE & PARS HAUL" - OFFSET 

5910 T2CT1-I + 1 ) = -I\NE5<T 

5920 GOSUB 1240\GOSUB 5340\L 1=L 1-1 

5930 GOSUB 6150\D0 = )<: 

5940 GOSUB 6150\T1=X 

5950 Z=fNEK"i ",5> 

5960 GOSUB 1240\GOTO 5410 

5970REM *** START OF EXECUTI6LE ST1MMTS 

5980 GOSUB 124 0\GOSUB 615u\K=X 

5990 X=T2CK)\G0SUB 6540 

6000 T2CK) = Cl'vREM START BLOCK ADDR 

6010 Z=FNGC5,0,D0) 

6020 GOSUB 3490 

6030 IF S0$<>";" THEN 6050 

6040 GOSUB 1240\G"OTO 6020 

6050 IF S0$O"END " THEN ' 2=FNE< 17 ) 

6060 GOSUB 124 

6070 Z=FNG< 1,0,0) 

6080 RETURN 

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

6160REM END PARSER AND CODER 

6110REM *********** 

6120REM PUSH X INTO STACK 

6130 S< S9)=X\S9=S9 + l'vRETURH 

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

6150REM POP X FROM STACK 

6160 S9=S9-1\X=S<S9)\ RETURN 

6170REM ********** 

6 IS REM PUSH Y* INTO STACK 

6190 L=LEN<Y*> 

6200 S $ < F" 8 , P 8 •« L - 1 > ^ Y * 

6210 X=P8\G"0SU8 6120\REM PUSH S I Ak'l 'i, UW SI RNG POS 

6220 X»PB+L-1\G0SUB 6120 

6230 PS=P8+L\RETURN 

6240REM POP Y* FROM STACK 

6250 GOSUB 6150 

6260 L=X\&OSUB 6150 

6270 Y$=SS<X,L) 

6280 PS=P8-L+X-1 

6290 RETURN 

6300REM ********** 

6310REM GENERATE COOES 

6320 DEF FNGCX1,X2,X3> 

6330 B$=" 

6340 FILL P9,X1\FILL P9+1.X2 

6350 FILL P9+2,FNACX3>\FILL P9+3,FNB<X3) 

6360 IF Y9 THEN 6400\REM IF INPUT FROM KEYBOARD THEN DOHT ECHO 

6370 IF XK16 THEN 6350 

6380 B$< 1, 1 >="X"\Xl = ;a- 16\REM INDEX 

6390 i >.4 I , CI, " " , m< Xl*3+ 1 , Xl*3 + 3 ) , B* , H31 , X2, *6I , X3 

6400 Cl=Cl+l\P9=P9+4 

6410 IF P9>=Q9 THEN Z=FNE<1) 

6420 RETURN 

6430 FNEND 

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

6450 DEF FNB<2) 

6460 N=INT<Z/256) 

6470 IF N<0 THEN N=256+N 

6480 RETURN N 

6490 FNEND 

6500 DEF FNA<Z)=Z-INT<Z/256)*256 

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

6520REM FIXUP FORWORD REF 

6530 GOSUB 6150 

6540 N=P?+X*4 

6550 FILL N + 2,FNA<C1)\FILL N + 3, F NBC CI > 

6560 IF Y9 THEN RETURN 

6570 !"ADD AT",X," CHANGED TO", CI 

6580 RETURN 

READY 



else, that is ambiguous. The statement: 

if condl then if cond2 then staff else stat2; 

can be parsed in two ways. The else state- 
ment 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 statl else 
else stat2; 



or: 



if condl then begin 

if cond2 then statl 

end 
else stat2; 

The situation is similar to the case state- 
ment 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 func- 
tion 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 corre- 
sponding 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 state- 
ments 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 exe- 
cutable 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 



an affiliate of Prodata International Corporation established 1968 

professional quality you can count on! 

proudly announces 



SUPER-SORT 

The ultimate in high performance 
sort/merge 

Specifications 

□ High Performance Toumament/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.00 refundable with purchase. 



WORD-MASTER @ 

The last word in text editing 

Specifications 

□ Compatible with any "dumb" CRT possessing ad- 
dressable 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, Global 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 of 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) 485- 
7619 (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 



BYTE October I978 



P-CODFS START AT 


0000 
















Variable 


WANT 


CODE 


PRINTFD7N 


















Name 





?$LST2.2 

























CONST 


CR=13 


LF= 


10; 
















A$ 


1 


VAR A 


,B,C,D 


INTEGER; 
















CO 


1 


FUNC 


^1AX4 (XI. X2 


,X3,X4); (LARGEST OF 4 NUMBERS} 






C1 


1 


rune max? (xi 


,X2); 


{LARGEST 


OF 2 NUMBERS} 








DO 
E9 
F5 
K1 
LO 
l_1 


2 




BEGIN 




















3 




IF 


Xl> 


X2 THEN MAX2:=X1 












9 




ELSE MAX2:= 


X2 














12 




END; 


















14 


BEGIN 




















L$ 


14 




MAX4: = 


=MAX2 (MAX2 (XI, X2) ,MAX2 (X3 


,X4)) 








M$ 


28 




END; 




















NO 


30 


BEGIN 






















N1 


30 


REPEAT 




















N2 


31 




READ 


(A#, 


B#,C# 


,D#); 














N3 


39 




WRITE 


('THE LARGEST IS' , 


MAX4 (A 


rB, 


C,D)#, 


CR,LF) 








67 




UNTIL 


A<0 


















P8 


69 


END. 




















P9 


INTERPPKT(I) , OR 


TRANSLATE (T) ?N 














S 


READ^ 
























S9 
S$ 


LOAD 


DECODF 




















READ 1 * 
RUN 
























SOS 
TO 

T1 





JMP 





30 


JMP 


14 


JMP 





3 


INT 





3 


T$ 


4 


LOD 





-2 


LOD 


-1 


OPR 





> 


JPC 





11 


T0$ 


8 


LOD 





-2 


STO 


-3 


JMP 





13 


LOD 





-1 




12 


STO 





-3 


OPR 


RET 


INT 





3 


INT 





1 




16 


INT 





1 


LOD 


-4 


LOD 





-3 


CAL 





3 


T1( } 


20 


INT 





-2 


INT 


1 


LOD 





-2 


LOD 





-1 


T2( ) 


24 


CAL 





3 


INT 


-2 


CAL 





3 


INT 





-2 




28 


STO 





-5 


OPR 


RET 


INT 





7 


CSP 





INNUM 




32 


STO 





3 


CSP 


INNUM 


STO 





4 


CSP 





INNUM 


T3( ) 


36 


STO 





5 


CSP 


INNUM 


STO 





6 


LIT 





84 




40 


LIT 





72 


LIT 


69 


LIT 





32 


LIT 





76 


X 

X$ 
Y$ 
W0$ 


44 


LIT 





65 


LIT 


82 


LIT 





71 


LIT 





69 


48 


LIT 





83 


LIT 


84 


LIT 





32 


LIT 





73 


52 


LIT 





83 


LIT 


14 


CSP 





OUTST 


INT 





1 


56 


LOD 





3 


LOD 


4 


LOD 





5 


LOD 





6 




60 


CAL 





14 


INT 


-4 


CSP 





OUTNM 


LIT 





13 


Table 


64 


CSP 


OUTCH 


LIT 


10 


CSP 





OUTCH 


LOD 





3 


68 


LIT 








OPR 


< 


JPC 





31 


OPR 





RET 


n-com 



"NUM") 
"STR") 



Remark 

String of the token returned by the scanner 
Input buffer pointer 
P-code address pointer 
Run time storage counter 
Error code 

Active input file unit number; keyboard=— 1 
Number of parameter in the previous block 
Length of the input line 
Static level of procedure 
Input line buffer 
P-code mnemonics 
Reserved word table size 
Largest integer 
Length of identifier name 
Numeric value of token (token : 
or ASCII value of string (token = ' 
Stack pointer for S$ 

P-code absolute memory address counter 
Stack for numeric values 
Stack pointer for S 
Stack for strings 
Next token 
Symbol table size 
Symbol table pointer 
Symbol table: identifier 
Symbol table: type of identifier 
V: variable A: array 

P: procedure F: function 
Symbol table: level 
Symbol table: value (constant) 

or displacement (variable) 

or address (proc or func) 
Symbol table: array size (array) 

or number of parameter (proc or func) 
Value to be pushed or Dopped 
Next character to be read by the scanner 
String to be pushed or popped 
Table for reserved words 



Table 2: Important variables used in the 



C: constant 
Y: parameter 



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. 




BYTE's New 



^To further improve 
jrvice to our customers we 
have installed a toll-free 
WATS line in our 
Peterborough, New 
Hampshire office. 
If you would 
i ke to order a 
subscription to 
BYTE, or if 

Toll-free \ youhavea 

v question relat- 
to a BYTE 
subscription, 
you are invited' 
to call 
(800)258-5485 
between 8:00 AM and 
4:30 PM Eastern Time. 
.(Friday 8 AM- Noon 

(800)258-5485 

We thank you and look 
forward to serving you. 




Subscriber 
W.A.T.S. Line 




* Calls from conti- 
nental U.S. 

only. 

\\^ 9178 

«*3dlOJLgJUUUJC> 



tions whose codes take up space. The 
second executable code of the block incre- 
ments the stack pointer (INT). This allo- 
cates 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 con- 
stants. 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 expres- 
sion 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 param- 
eter expression. Upon return from a pro- 
cedure, 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 in- 
structive text in a graphically appealing manual. This doc- 
umentation 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 you'll appreciate the delicate balance 
between machine-human dialogue and resident program- 
space 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 DEBUG- 
GING 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 MANAGE- 
MENT 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 sys- 
tems 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: 

PRS-THE PROGRAM OF THE MONTH ■ 
CORPORATION 

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 oft" all new programs developed by -PRS- 
at regular intervals. 

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



Name_ 



Corporation- 



Address- 



City_ 



_State_ 



Op 



REFERENCE: 9B8 



.. — .J 

BYTE October 1978 51 



Circle 303 on inquiry card. 






KEYBOARD: fully professional. Full 128 
ASCII upper 6 lower ease characters 
with 79 keys including a 1 6 key 
numeric pad. 

GRAPHICS: 64 pre-defined graphic 

chars, and 64 user defined chars. 

alternately all 126 graphic chars. 

maybe user defined. Resolution 

240 x 512 points, cursor control, 

and 64 chars, by 30 lines. 

MEMORY: 4K byte power-on 

monitor, flk byte user RAM, and 

8k byte PROM external cartridge 

with Microsoft DASIC standard. Cartridges 

allow you to change operating systems G 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/1 200 baud 
port, 8 bit parallel port, dual 
cassette recorder port at 
300/1 200 baud. 
EXPANSION: up to 32 k RAM on 
board, I /0 to 5-1 00 6 slot extension 
box for additional memory and ony 
other 5-1 00 peripheral boards. 
PRICE: $695.00 Cdoes not include CRT or 
cassette.) Order by C.O.D. 

EDUCATIONAL AND CLUD DISCOUNTS AVAILABLE 
PERSONAL CONSULTANT AND DEALER INQUIRIES INVITED 
CONSULTING P.O. Dox 20266 El Cajon, California 92021 
(714)443-5353 



Pascal source 
x+W*y[5] 



a:=exp; 

if exp then stm 1 else stm2; 



for i:=exp 1 to exp2 do stm; 



p-codes 



while exp do stm; 



case exp of 
c1b1,db2:stm1; 
c 1b3 :stm2; 

else stm3 

end; 



repeat stm until exp; 
i:=funca(exp 1,exp2); 



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





LOD 


X 




LIT 


10 




LIT 


5 




LODX 


Y 




OPR 


• 




OPR 


+ 




(exp) 






STO 


A 




(exp) 






JPC 


0,1b1 




(stmD 






JMP 


1b2 


1b1 


(stm2) 




1b2 


(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 


1b1 


(exp) 






JPC 


0,1b2 




(stm) 






JMP 


1b1 


1b2 


(exp) 






OPR 


CPY 




LIT 


db1 




OPR 


= 




JPC 


1.1b1 




OPR 


CPY 




LIT 


db2 




OPR 


= 




JPC 


0,1b2 


1b1 


(stmD 






JMP 


1b4 


1b2 


OPR 


CPY 




LIT 


db3 




OPR 


= 




JPC 


0,1b3 




(stm2) 






JMP 


1b4 


1b3 


(stm3) 




1b4 


INT 


-1 


1b1 


(stm) 
(exp) 






JPC 


0,1b1 




INT 


1 




(expD 






(exp2) 






CAL 


funca 




INT 


-2 



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 allo- 
cated 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 com- 
piler 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 com- 
bination of p-compiler and translator pro- 
duces 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 



MICRO 



WDRLD 



OCTOBER 
SPECIALS 



Integral Data Systems Printer 

low cost, professional performance 

Meet the IP-125. Ideal where you need a space- 
saving hard copy printer for your office. Micro- 
processor 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 





Hazeltine 1500 

value packed— every feature is standard! 

The high-quality basic terminal with extra standard features 
you can't find on most CRTs. Plus the features you expect, like 
24x80 character display, auxiliary serial port, 10-key numeric 
pad. At this low price, you can order two. 

• Standard & reverse video • Cursor addressing & sensing 

• Upper, lowercase • 7x 10 dot matrix 





LA 180 DECprinter with Serial Interface 

immediate 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 
2495 |4 # tractor feed with switchable forms length control 
r\\ • upper/lower case & compressed print, stand 




$1705 

reg. $1895 



Texas Instruments Impact Printer 

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

TPs 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 



IfCRO 



1425 W. 1 2th 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) 

Circle 226 on inquiry card. bytl October 1978 



Bccfc Reviews 



?! mctoptoc*"" 






^nm****** 



Microprocessor Programming 

for Computer Hobbyists 

by Neil Graham 

Tab Books (number 952) 

Blue Ridge Summit PA 1 7214 

$8.95 



Microprocessor Programming for Com- 
puter Hobbyists is an intermediate pro- 
gramming text intended for users of any 
8 bit word computer. The focus is on sys- 
tems programming and data structures rather 
than on applications programming. In order 
to make the discussion machine indepen- 
dent, 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 intro- 
ductory programming texts. Most subjects 
discussed in Microprocessor Programming 
for Computer Hobbyists do not appear in 
the average BASIC or assembler text. Be- 
cause 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 Hutchinsfe 

Ann Arbor Ml 48103" 



1 will net vou 7 



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






OurTBS software package has been in 
use for over a year now without a 
single failure thereby earning the 
privilege of joining our national prod- 
uct 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 auto- 
matic 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 



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



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



54 October 1978 © BYTE Publications Inc 




COfTlPUTER SOFTWKE 

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



We have been In business for over nine years building a reputa- 
tion for providing a quality product at nominal prices - NOT 
what the traffic will bear. Our software Is: 

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

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

• Comprehensive - as an example our PSD program not only 
computes Power Spectral Densities but also Includes FR's, 
Inverse-transforms, Windowing, Sliding Windows, simulta- 
neous FFrs variable data sizes, etc. and as a last word our 
software is: 

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



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



Vol. I 



Vol. 



Vol. I 



Vol. IV 



Vol.V 



Business & 
Personal 
Bookkeeping 
Programs 

Bond 

Building 

Compound 

Cyclic 

Decision 1 

Decision 2 

Depreciation 

Efficient 

Flow 

Installment 

Interest 

Investments 

Mortgage 

Optimize 

Order 

Pert Tree 

Rate 

Return 1 

Return 2 

Schedule 1 



Games & 
Pictures 

Animals Four 

Astronaut 

Bagel 

Bio Cycle 

Cannons 

Checkers 

Craps 

DogHght 

Judy 
Line Up 
Pony 
Roulette 
Sky Diver 
Tank 
Teach Me 

Pictures 

A Newman 

J.F.K. 

Linus 

Ms. Santa 

Nixon 

Noel Noel 

Nude 

Peace 

Policeman 

Santa's Sleigh 

Snoopy 

Virgin 



Binomial 

Chl-Sq. 

Coefl 

Confidence 1 

Confidence 2 

Correlations 

Curve 

Differences 

Dual Plot 

Exp-Disti1 

Least Squares 

Paired 

Plot 

Plotpts 

Polynomial Fit 

Regression 

Steffi 

Stat 2 

T-Dlstitbution 

Unpaired 

Variance 1 

Variance 2 

XY 

APPENDIX A 



Beam 

Conv 

Fitter 

Fit 

Integration 1 

Integration 2 

Intensity 

Lola 

Macro 

Max. Mln. 

Navald 

Optical 

Planet 

PSD 

Randl 

Rand 2 

Solve 

Sphere Trtan 

Stars 

Track 

Triangle 

Variable 

Vector 



Billing 


Bingo 


Andy Cap 


Inventory 


Bonds 


Baseball 


Payroll 


Bull 


Compare 


Risk 


Enterprise 


ContldIO 


Schedule 2 


Football 


Descrtp 


sW 9 


Funds 1 


Differ 


Funds 2 


Engine 


Switch 


Go-Moku 


Fourier 




Jack 


Horse 




Life 


Integers 




Loans 


Logic 




Mazes 


Playboy 




Poker 


Primes 




Popul 


Probal 




Profits 


Quadrac 




Qublc 


Red Baron 




Rates 


Regression 2 




Retire 


Road Runner 




Savings 


Roulette 




SBA 


Santa 




Tlc-Tdc-Toe 


StatIO 

Stattt 

Steel 

Top 

Vary 

Xmas 

APPENDIX B 



Vol. VI 

Ledger 

Vol. VII 

Chess 



Maintains Company accounts and generates 
financial reports. Includes routines for: Pyri. Inv 
Depr, A/R, A/R 



Designed to challenge the average playec 
fairly comprehensive. Great fun for all, otters a 
unique opportunity tor beginners In need of an 
opponent. 

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



Wdproc 

Utility 
Vol. VIII 

1040-Tax 

Balance 

Checkbook 

Instl o 78 



Wordprocessing for lawyers, publishers, writers, 
etc. Write, store, and change from rough draft 
to final copy In a variety of formats. 

Disk utility program with memory testing. 



Taxpayers return, Itemized deductions or 
standard 

Reconciles bank statements 

Balances your checkbook 

Computes real cost on bank financed Items; 
cars, boats, etc. 

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 
Marh/Englneerlng 
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 RO. Box which go parcel post. Foreign orders add $8.00/volume for air 
shipment and make payable In U.S. dollars only. 




SCIENTIFIC RESEARCH 



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



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



BYTE October 1978 



55 



SOLID STATE 
MUSK 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 5-100 boards in the 
industry. Memory boards for RAM, 
ROM, and EPROM. Video interface 
and I/O boards, extender and mother boards, pro- 
totyping and vector jump boards, a new CPU board, 
and, of course, music boards. So we're changing our 
name to 55M* 

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 5-100 bus left the Altair® station. 

As 55M* 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 55M* 

Solid State Music has been known for service. Fast 
delivery ready customer support, and a strong prod- 
uct 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 5-100 
board manufacturer in the marketplace. If you liked us 
as Solid State Music, you'll love us as 5SM* 



337 



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



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



56 BYTE October 1978 



Circle 335 on inquiry card. 



Technical 
Fcpum 



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 un- 
successfully and under certain circum- 
stances does not work correctly. The 
manufacturer was unable to justify 
correcting the problem, and chose to 
omit the instruction from the docu- 
mentation. 

• The instruction is an accident, an 
artifact of the specific implemen- 
tation. 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 any- 
body 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 ex- 
pect 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 implementers, and may be 
chosen by them as they see fit. Cost, con- 
venience and plain luck have much to do 
with the eventual results." 




THE BLUE BOARD 

OF HAPPINESS 

It's the new CD-1 
CPU board from 55M. 

It's blue. And it's loaded. 

(That's why it's happy. ) 

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 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 war- 
ranty. Yet, even as loaded as our CD-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 Novem- 
ber 30, 1976.) 

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 fuSi 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 make the blue boards. 




Circle 335 on inquiry card. 



October 1978© BYTE Publications Inc 



57 



Testing Memory in BASIC 



Russell E Adams 
3008 Mosby St 
Alexandria VA 22305 



LIST 



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 state- 
ment lines with statements delimited by a 
colon (:). In addition to the normal func- 
tions of most BASICs, the program requires 



** BASIC KEMCRY TEST REV. 5 
COPYRIGHT 1577 F.E./DA,^ 



REM 

1 REM 
25 CLEAR 80 

30 INPUT"START WITH BEGINNING OF PAGE".;A 

35 IF A<2 OR A>7 OR A<>INT(A) THEN PRINP'EfiROR" :G0T030 

kO INPUT"END WITH END OF PAGE";P 

kS IF B<>INT(B) OR B<A OR B>7 THEN PR I M" ERROR" ffcOT0i»0 

50 A = Ji096*A:B=4096*(B+1)-l 

55 PRINT:PRINT H TEST PATTERN £1 LOADING" :PR INT 

60 P1=85:P2=17C:GOSUB 300 

70 R=8:X=A:G0SU9 5C0:AS=N$ 

75 X=B:G0SUE 500:B$=N$ 

80 PRINT :PRJNT"MEMGRY TEST £J FROM ";A<j" TO ";3$j" OCTAL" 

85 PRINT:PRINT"ADDRESS < » f H D/iTA ,, f H SHOULD BE" 

90 G0SUB 350 

95 PRINT:PRINT:PRINT H TEST PATTERN £2 LOAD ING" :PR INT 

100 P1=170:P2=85:GOSUB 300 

110 PRINT :PRINT M MEM0RY TEST Z2 FROr* " ;£$;" TO "jB$s" OCTAL" 

115 PRINT:PRINT H ADDRESS", "DATA", "SHOULD BE" 

120 GOSUB.350 

125 PRINT :PRINT"TEST COMPLETED" 

130 END 

300 FOR I=A TO B- 1 STEP 2 

305 POKE I.P1 :P0KE I+1.P2 

315 NEXT :RE TURN 

350 D=PI :F0R I=A TC B- 1 STEP 2 

352 Z=PEEK(I):IF Z<>D THEN G0SUB 365 

353 NEXT I 

35A D=P2:F0R I=A+J TO B STEP 2 

355 Z=PEEK(I) :IF Z<>D THEN G0SUB 365 

360 NEXT I :IF F = THEN PRINT"N0 BAD BITS DETECTED" 

363 F=0:RETURN 

365 F = l :R = 8:X=I :GDSUB 500 :BA$ = N$ 

370 R=2:X=Z:G0SU3500:D$=N$ 

375 X=D:G0SUB 500 

390 IF LEN(D$)<>8 THEN D$ = "0"4D$ :GOT0390 

395 IF LEN(N$)<>8 THEN NS^'C' + NS :GOT0395 

410 PRINTBA$,D$,N$ 

iilS RETURN 

500 N$ = ,,H 

505 K = INT(X/R) :L = X-R*K 

51C N$=RIGHT$(STR$(L), 1)+N$ 

515 IF K<>0 THEN X=K :GCT0505 

520 RETURN 

OK 






Listing 1: A BASIC memory test program. The memory to be tested is 
first loaded 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 
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. Sub- 
routine 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 01 01 - 
0101, 1 01 01 01 0, 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 and the last 4 K of memory is 
defined as page 1 5. 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 



(Blaise Pascal 



2)1662 





■ HE NMS 85 SERIES 
IRTHWEST MICROCOMPUTER SYSTEM: 



CLASSIC OEM DEVELOPMENT TOOLS 

85/P- $7,495 

8085,3MHz, 54K (Jser/ 1 OK System Memory 
1.2 Mb Dual Density Floppies, 4ms Step/DMA 
' Keyboard, RS232 Ports^ Pascal^ BASICS, Assembler 
OPTIONS 

* Fast Floating Point APU, 5MHz Timers, 
lock 
I, Sort, 



VINTAGE TURNKEY BUSINESS SYSTEMS 

• Accounts Receivable: Billing, Aging, 
{•;:, Full firms Data Entry 

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

• Client Information Management© 



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



Circle 286 on inquiry care 



BYTE October 1978 






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 MOS 

DECwriter II $1,495 $145 $ 75 $ 52 

DECwriter III 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 



\L 



IransNet Corpora tigs 

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 "bleed- 
ing" 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 WITM END CF PAGE? 6 

TEST PATTERN * 1 LOADING 



MEMORY TEST it \ FROM 60000 TO 67777 OCTAL 

ADDRESS LATA SHOULD BE 

NO BAD BITS DETECTED 

TEST PATTERN %2 LOADING 

MEMORY TEST S2 FROM 60C00 TO 67777 OCTAL 

ADDRESS DATA SHOULD BE 

NO BAD BITS DETECTED 

TEST COMPLETED 

OK 

RUN 

START WITH BEGINNING CF PAGE? 7 

END WITH END OF PAGE? 7 

TEST PATTERN *1 LOADING 




MEMORY TEST 

ADDRESS 

70000 

70002 

70004 

70006 

70010 

70012 

700H 

70016 

70020 

70022 



FROM 70000 TO 77777 OCTAL 



DATA 
111 
1 1 1 

1 11 

111 
1 1 1 
1 11 

111 



SHGULD BE 

01010101 

0\O\O101 

01010101 

01010101 

01010101 

01010101 

01010101 

01010101 

01010101 

01010101 



TEST PATTERN £2 LOADING 



MEMORY TEST Z2 FROM 70000 TO 77777 OCTAL 



SHOULD BE 

10101010 

10101010 

10101010 

10101010 

10101010 

10101010 

10101010 

10101010 



ADDRESS 


DATA 


70000 


1111 


70002 


1111 


70004 


1111 


70006 


1111 


70010 


1111 


70012 


1111 


700H 


1111 


70C16 


1111 



60 



October 1978 ©BYTE Publications Inc 



Circle 374 on inquiry card. 








There's a BYTE 



Hfll 



in your future 



BYTE October 1978 61 



• • . And the future 



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 collec- 
tions of reprints of the best BYTE magazine arti- 
cles. Users of small computers will find PAPER- 
BYTE™ 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 com- 
puter 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 collec- 
tion 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 main- 
tain programs effectively. 

The first book in the Programming Technique 
series is entitled PROGRAM DESIGN. It dis- 
cusses in detail the theory of program design. 
The purpose of the book is to provide the per- 
sonal computer user with the techniques needed 
to design efficient, effective, maintainable pro- 
grams. Included is information concerning struc- 
tured 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: Fall 1978 



In SIMULATION, the second book of the series, 
are articles dealing with various aspects of spe- 
cific 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 expe- 
rienced personal computerisL 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 col- 
lected 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, sort- 
ing, 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 



is right now ! 



RA6800ML: AN M6800 RELOCATABLE 
MACRO ASSEMBLER is a two pass assembler 
for the Motorola 6800 microprocessor. It is de- 
signed 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 
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). 

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™ publi- 
cation LINK68: AN M6800 LINKING LOADER 
for details.) 

There is a complete description of the 6800 
Assembly language and its components, includ- 
ing outlines of the instruction and address for- 
mats, 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 rou- 
tines, pointers, flags, and temporary variables. 

In addition, details on interfacing and using the 
Assembler, error messages generated by the 
Assembler, the Assembler and sample IO 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 lan- 
guage, 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 






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. Grappel 
& 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 examina- 
tion and modification, and memory examination 
and modification. This book includes a reprint 
of "Jack and the Machine Debug" (from the De- 
cember 1977 issue of BYTE magazine), Tracer 
program notes, complete assembly and source 
listing in 6800 assembly language, object pro- 
gram listing, and machine readable PAPER- 
BYTE™ 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 en- 
hancement of Jack Emmerichs' successful Tiny 
Assembler. The original version (3.0) was de- 
scribed 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 Assem- 
bler". 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 PAPER- 
BYTE™ bar code formats of both Version 3.0 
and 3.1 make this book the most complete docu- 
mentation possible for Jack Emmerichs' Tiny 
Assembler. 

ISBN 0-931718-08-2 
Author: Jack Emmerichs 
Pages: 80 
Price: $9.00 
Publication: Summer 1978 

SGPERWGMPGS is an exciting computer game 
incorporating the original structure of the WGM- 
PGS 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, SGPERWGMPGS is not 
only addictively fun, but also provides a splendid 
tutorial on setting up unusual data structures 
(the tunnel and cave system of SGPERWGMPGS 
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 MONITOR- 
DEBGGGER has all the general features of Mo- 
torola's M1KBGG 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 MON- 
DEB 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 mem- 
ory 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 con- 
trol 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 pam- 
phlet 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 representa- 
tion of executable code. The text of this pamphlet 
was written by Ken, and contains the general 
algorithm description in flow chart form plus de- 
tailed assemblies of program code for 6800, 
6502 and 8080 processors. Individuals with com- 
puters based on these processors can use the 
software directly. Individuals with other proces- 
sors can use the provided functional specifica- 
tions 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, Mew Hampshire 03458 



n 



Name 



Company 



Street City 

□ 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 



State/Province 



Code 



Expiration Date_ 



□ Numbers in Theory & Practice $6.00 

□ Bits & Pieces $6.00 

□ RA6800ML $25.00 

□ Link68$8.00 

BVTE BOOKS. BVTE BOOKS logo, and PAPERBVTE 
are trademarks of BYTE Publications. Inc. 



□ Tracer $6.00 

□ Tiny Assembler (3.1) $9.00 

□ SGPERWGMPGS $6.00 

□ Mondeb$5.00 

□ Bar Code Loader $2.00 

Add 50 c per book to cover postage and handling 

Please allow 6-8 weeks for processing your order. 



Technical 
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 6502- 
based OS1 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 differen- 
tial 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 re- 
wiring an analog machine to writing a 
a Runge-Kutta program or performing 
a slow digital computation when a 
less precise but real time analog com- 
putation 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 pur- 
pose machine which could be up- 
dated? 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 flow- 
charts 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 ma- 
trix 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 en- 
tirely 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 th- 
ought 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 Flow- 
chartrix (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. 

YES! Please rush the programming aids indicated below: 



78F2 Flowchartrix™ 

□ two 50-shl. 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 - 
Texas residents please add 5.5% sales tax to base price 

Enclosed is my check for $ 

Charge to: DMaster Charge 

Card sf 



$6.75 shpg. 



□ Visa exp. date. 
Signature 



Dealer inquiries welcome 



Name 

Address. 
City 



.Phone. 



.State. 



.Zip. 



We ship UPS so P 0. Box address must give phone number 

Stirling/Bekdorf 

blO 4407 Park wood □ San Antonio, TX 78218 a (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! 

fSYSTEWft 

N j /DIGITAL SYSTEMS DSC-2 



Z-80 COMPUTER SYSTEMj 

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 col- 
umn 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 M *,*»■- nn 

only $7495.00 

SAVE $369.00! 





IMSAIVDP80 
DATA PROCESSING 
COMPUTER SYSTEM 



32K RAM, expandable to 196K 
Parallel and serial I/O. Megabyte 
mass storage, alphanumeric in- 
telligent keyboard. 

Regular Price $6995.00 



0KIDATA 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 ^ nfi fi - ftn 

only $9445.00 

SAVE $438.00! 




CR0MEMC0 SYSTEM 3 
Z-80 COMPUTER SYSTEM 

32K RAM, dual disk drive, RS-232 In- 
terface. S-100 bus. 

Regular price $5990.00 

MODEL 3703 
LINE PRINTER 

180 characters per second, print line 
width 132 cols., bi-directional print- 
ing. 

Regular price $2995.00 

CRT TERMINAL 
M00EL3100 

80 characters per line, 24 lines, up to 
19,200 baud, upper and lower case. 

Regular price $1595.00 

$10,580.00 




mm 



™™™ LY$10> 095.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, time- 
saving 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 1 1423 

2 1 2/468-7067 T WX: 7 1 0-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 Display- 
able Characters • High Resolution 
5 X 7 Dot Matrix • Cursor Address- 
ing and Sensing EIA Interface • 
Rates up to 9600 Baud • Self Test 

u£ / ■ D 1 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 




$57.14 

per month* 
$1659.00 complete. 



SYNCHRO-SOUND 

The Computer People 

193-25 Jamaica Avenue, Jamaica, New York 11423 °ept hb 

212/468-7067 TWX 71 0-582-5886 

West Coast: 5810 Commerce Blvd. 

Rohnert Park, CA. 94928 • 707/544-2865 



ENTERPRISES, INC. 



*36 month lease 
Maintenance additional 

OEM pricing available 



Hours 9-4 Daily Visit our new showroom 

and Saturday I Working units on display 

BankAmericard Master Charge 



Circle 355 on inquiry card. 



BYTE October 1978 67 



A* 



V? 

%**softv 



Programming Quickies 



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 

• 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 

• Automatic Field insertion 

• Supports all RS232 terminals 




MVT-ASMZ™ 
MACRO Z80/8080 
ASSEMBLER 

Relocating 

Nested Macro calls & definitions 

Cross references 

Debug package 

Library facilities 




MICROCOMPUTER SYSTEMS INC. 
9241 Reseda Blvd., Suite 203 
Northridge, CA 91324 
Phone: (213) 349-9076 



Formatting 
Dollars 
and 
Cents 



Les Palenik 
25 Silversprings Blvd 
Suite 512 

Scarborough Ontario 
M1V1M9 CANADA 



Listing 1: BASIC program 
for formatting dollars and 
cents in BASIC inter- 
preters that do not have 
the PRINT USING func- 
tion. Also shown is a 
sample run of the pro- 
gram. 



Most of the BASIC interpreters avail- 
able 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 charac- 
ter 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 con- 
verted amount. If the amount is less 
than 1, insert a in front of the deci- 
mal 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 
in X3. 

The routine in listing 1 has been written 
in the Commodore PET-2001 version of 
Microsoft BASIC. Modifications may be re- 
quired for other BASIC interpreters. The 
remarks can be deleted for faster execution 
and memory savings. 

I use this subroutine in most of my pro- 
grams. I place it rather high in the program 
(line numbers 3000 thru 3099) so I can 
always use the same line numbers." 



10 
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 

Xl*A:GOSUB 3000 

PRINT TAB<20-X3))X$ 

GOTO 10 

REM sic***************************** 

REM THIS SUBROUTINE WILL FORMAT 

REM DOLLARS AND CENTS 

REM ROUND THE AMOUNT 

Xl=INT<Xl*100+.5)/100 

X0$="" :X$="" 

IF X1=0 GOTO 3030 

IF XK1 THEN X0$*"0" 

Xi$*STR$<Xl> 

X2=LEN<X1$) 

X2=X2-i 

REM DELETE SPACE IN FRONT 

REM OF THE FIRST DIGIT 

Xi$=MID$ (Xlf ,2,X2> 

FOR 1=1 TO X2 

X2$=MID$<X1$ > I > 1> 

X3=I 

IF X2$=", M GOTO 3085 

NEXT I 

X$= M .00" 

GOTO 3090 

IF X3=(X2-i> THEN X$=* rt 0" 

REM CREATE THE FINAL STRING 

X$="$"+X0$+X1$+X$ 

REM FIND THE STRING LENGTH 

X3=LEN<X$) 

RETURN 



?2 

?2.2 

?2.22 

?2.222 

?222 

775.756 



$2.0 
$2.20 
$2.22 
$2.22 
$222.00 
$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. Con- 
sider these features: 

■ Vsth inch thick — more than twice as thick 
as most Motherboards. 

■ Totally shielded — all holes plated 
through; lull bus terminations. 

■ Fits easily into any stan- 
dard chassis. 

■ Masterite edge 
connectors— the 
finest quality con- 
nectors available. 

■ Ref lowed solder circuitry. 

■ No soldering required. 

■ Designed for the S-100 bus. 

The Motherboard price is: $150(kit) 

$190 (ASSEMBLED) 




"•si* 



Five years of experience in every card 

For five years, Artec has worked hard to de- 
velop 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 mini 



computer. Can accom- 
modate 14 and 16 pin 
DIPs plus all necessary 
passive components. 
FULL CARD $75 

(10.45" x 8.4") 

HALF CARD $35 

(5.225" x8.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. Califor- 
nia residents add 6% sales tax. 



Please send me: (include quantity) 

Shielded _ Full WW1 1 Half WW11 

Motherboard Card Card 

□ I've enclosed a money order for $ — . 

□ Mastercharge D Visa 




(number) 



(exp. date) 



Name 

Address 
City. 



State . 



Zip 



Calif. Res. add 6% sales tax. End. S3 handling. 10% discount for students and 
computer club members. (Please enclose name of club or school) 



■y'M' ] \ 



meZ GLGCTROMIC9, 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 genera- 
tions (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 inte- 
grated 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 microcom- 
puter 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 mem- 
ory location or any register at any time with- 
out 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 proces- 
sor, 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 pro- 
hibitive 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 cir- 
cuit 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 



J 






J One-Stop 
Component Center 






im-p. 


ak 


electronic components 




AIITkiriQI7Fn nPAl CDC 


ALABAMA 




KANSAS (Continued) 


NEW YORK (Continued) 


Cropwell 


Tucker Bros. 


Manhattan 


Communications Specialties L td. 


White Plains 


The Computer Corner 


Huntsville 


Industrial Electronic Supply 


Wichita 


Amateur Radio Equipment Company 


Williamsville 


Hirsch Sales Co. 


Mobile 


Lafayette Radio Electronics 


KENTUCKY 




NORTH CAROLINA 




ALASKA 




Lexington 


Radio-Electronic Equipment Co. 


Durham 


Futureworld 


Anchorage 


Electronics Corp. of Alaska 


LOUISIANA 




Greensboro 


Byte Shop 


ARIZONA 




Baton Rouge 


Davis Electronics Supply Co. 


Raleigh 


Byte Shop of Raleigh 


Flagstaff 


Jim's Audio & Stereo Repair 


Baton Rouge 


Menard Electronics Inc. 


NORTH DAKOTA 




Fountain Hills 


P & C Communications 


New Orleans 


Wm. B. Allen Supply Co. 


Fargo 


The Computer Company 


Tempe 


Computerworld Inc. 


MARYLAND 




OHIO 




Sierra Vista 


B & S Electronics 


Baltimore 


Computers Unlimited 


Bucyrus 


Mead Electronics 


Yuma 


Yuma Electronics 


Baltimore 


Computer Workshop of Baltimore 


Cincinnati 


Digital Design 


CALIFORNIA 




Baltimore 


Everything Electronic 


Columbus 


Heathkit Electronic Center 


Belli lower 


Earl's Hobby Shop 


La Vale 


J & M Electronics 


Dayton 


Altai r Computer Center 


Berkeley 


Al Lasher Electronics 


Rockville 


Computer Workshop 


Reynoldsburg 


Universal Amateur Radio 


Brea 


Century Electronics 


Silver Spring 


Computers Etc. 


OKLAHOMA 




Cypress 


SCR Electronics 


Towson 


Baynesville Electronic Inc. 


Guymon 


Sound Service 


El Monte 


Kimball & Stark 


Towson 


Computers Etc. 


Oklahoma C/'ry 


Bits. Bytes & Micros 


Fontana 


Fontana Electronics 


MASSACHUSETTS 


Tulsa 


High Technology 


Fullerton 


Orvac Electronics Inc. 


Medford 


Tufts Electronics 


OREGON 




Glendale 


Eagle Electronics 


North Adams 


Electronics Supply Center 


Albany 


Oregon Ham Sales 


Lake Tahoe. South CalPine Electronics 


Waltham 


Computer Mart Inc. 


Beaverton 


Norvac Electronics 


Lancaster 


Consumer Electronics 


Worcester 


RM Electronics Inc. 


Coos Bay 


Her rick Electronix 


Long Beach 


Sco tt Radio Supply Inc. 


MICHIGAN 




Medford 


Portland Radio Supply 


Mission Vie jo 


Tower Electronics Corp. 


Ann Arbor 


Airway Electronic Communications 


Ontario 


Miller Electronics 


Modesto 


Computer Magic 


Flint 


Hobby Electronic Cen ter 


Portland 


Portland Radio Supply 


Modesto 


Pacific Radio 


Grand Rapids 


Micro Computer World 


Salem 


Computer Pathways 


Monterey 


Zackit 


Lansing 


Fulton Radio Supply Co. 


PENNSYLVANIA 




Oceanside 


Electronic Center 


Midland 


Computronix Corp. 


Drexel Hill 


Kass Electronic Distributors 


Palmdale 


Radio Shack A. S. C. Palmdale 


Mt. Clemens 


The Computer Store 


Erie 


Warren Radio 


Palo Alto 


Zack Electronics 


Muskegon 


H.R. Electronics 


Hershey 


Microcomputer Systems Inc. 


Pasadena 


Dow Radio Inc. 






Murrysville Computer Workshop of Pittsburgh 


Riverside 


Computer Center 






Phoenixville 


Stevens Electronics 


Sacramento 


Heathkit Electronic Center 






Pittsburgh 


Tydings Company 


Sacramento 


The Radio Place 






Wilkesbare 


Hamline Electronics 


Sacramento 


Zackit 




1|P W$23SSSES38SS£v 


York 


G.Y.C. Company 


San Bernardino 


Inland Computer & Electronics 




RHODE ISLAND 




San Carlos 


J & H Outlet Store 




|gi| i\v>:^*.v;<>«* £«ri>.v isSfiS:'::. 


Cranston 


Jabbour Electronics City 


San Diego 


Radio Shack A.S.C. Mir a Mesa 




Pawtucket 


Jabbour Electronics City 


San Diego 


Radio- Tronics Inc. 






SOUTH CAROLINA 




San Fernando 


San Fernando Electronics 




: -: : :-:V^^ 


North Charleston 


Technical Services Inc. 


San Francisco 


Zack Electronics 




TENNESSEE 




San Francisco 


Zenith Distributing Corp. 




Chattanooga 


William's Data Comp Division 


San Jose 


Quemen t Electronics 




Clarksville 


Masstronics 


San Luis Obispo Mid-State Electronic Supply 




Cookeville 


Wagnon's Stereo Center 


San Rafael 


Electronics Plus 




Knoxville 


Byte Shop 


Santa Barbara 


Lombard Electronics 




Memphis 


Bluff City Electronics 


Santa Cruz 


Santa Cruz Electronics 




Memphis 


Sere-Rose & Spencer Electronics 


Santa Maria 


Caps Electronics 




Nashville 


Eddie Warner's Parts Co. 


Santa Monica 


Mission Control 




• , p* 


Oak Ridge 


Computer Denn 


Sunnyvale 


Sunnyvale Electronics 




TEXAS 




Torrance 


SE Electronics 




'?.£' ;-' '-'.-"■ >/':"i^&&. \":'.' ■'" 


Amarillo 


Computer Encoun ters Inc. 


Vallejo 


Zackit 




$Illil-i : |i : : i 


Dallas 


CompuShop 


Van Nuys 


Thrifty Electronics Supply 




Houston 


Altair Computer Center 


Ventura 


Lombard's Electronics Inc. 




Houston 


Interactive Computers 


Walnut Creek 


Byte Shop of Walnut Creek 






San Antonio 


Sherman Electronics Supply Inc. 


Westminster 


JK Electronics 




' • ' ' . ■■ 


UTAH 




Whittier 


D & S Electronics 




illS'SISIlS^s?^ 


Provo 


Alpine Elecronic Supply Co. 


Whittier 


Whittier Electronics Co. 




Salt Lake City 


Best Distributing 


COLORADO 








VIRGINIA 




Aurora 


Com Co Electronics 




' ■''•'V:-: : ;:iS^^B 


Alexandria 


Computer Hardware Store 


Denver 


Mt. Coin Distributing Co. 




^^M 


Alexandria 


Computers Plus Inc. 


Steamboat Springs Norm's TV & Electronics 




.vWS&S-:^^ 


Alexandria 


Heathkit Electronic Center 


CONNECTICUT 






Charlottesville 


Lafayette Electronics 


Bridgeport 


Bridgeport Computer 






Hamp ton 


Lafayette Radio 


FLORIDA 








Richmond 


Computers- To -Go 


Ft. Lauderdale 


Computers For You 


MINNESOTA 




Roanoke 


The Computer Place 


Gainesville 


Lafayette Radio 


Duluth 


Northwest Radio of Duluth 


Springfield Computer Workshop of North Virginia 


Lakeland 


Lakeland Specialty Electronics 


Eagan 


Computer Room Inc. 


Virginia Beach 


Heathkit Electronic Center 


Orlando 


Altai.- Computer Cen ter 


Hopkins 


Heathkit Electronic Center 


WASHINGTON 




Pensacola 


Grice Electronics Inc. 


St. Paul 


Heathkit Electronic Cen ter 


Kennewick 


C & J Electronics 


Tampa 


AMF Radio 


MISSOURI 




Longview 


Progress Electronics 


Tampa 


Microcomputer Systems 


El Dorado Springs Beckman Electronics 


Pasco 


Riverview Electronics 


GEORGIA 




Florissant 


Computer Country 


Richland 


C & J Electronics 


Atlanta 


A tlanta Computer Mart 


Parkville 


Computer Workshop of Kansas City 


Seattle 


ABC Communications 


HAWAII 




MONTANA 




Seattle 


Amateur Radio Supply 


Aiea 


Delcoms Hawaii 


Billings 


Conley Radio Supply 


Seattle 


C-Com 


Honolulu 


In tegrated Circuit Supply 


Bozeman 


Electronic Service & Distributing 


Seattle 


Empire Electronics 


IDAHO 




Great Falls 


Art's Electronics 


Spokane 


Personal Computers 


Boise 


Custom Electronics 


NEBRASKA 




Tacoma 


Northwest Radio Supply 


Caldwell 


A-Gem Supply Inc. 


Lincoln 


Alt air Computer Center 


WEST VIRGINIA 




Idaho Falls 


Audiotronics 


Lincoln 


Scott Electronic Supply Inc. 


Morgantown 


The Computer Corner 


ILLINOIS 




North Platte 


Scott Radio Supply Corp. 


Morgan town 


Electro Distributing Co. 


Carbondale 


Layfayette Radio 


Omaha 


Heathkit Electronic Center 


Ripley 


Thompson's Radio Shack 


Evanston 


Itty Bitty Machine Co. 


Omaha 


Omaha Computer Store 


Wheeling 


Lafayette Radio Asso. Store 


Evanston 


Tri-State Electronic Corp. 


NEVADA 








Granite City 


Computer Systems Center 


Las Vegas 


Century 23 






Groveland 


Moyer Electronics 


NEW JERSEY 




CANADA 




Mount Prospect Tri-State Electronic Corp. 


Bayville 


A. R.S. Communications Services 


Alberta (Calgary) 


The Computer Shop 


Niles 


Computer Land 


Bricktown 


Radio Shack Associate Store 


Ontario (Wtl/owdale) 


Home Computer Centre 


Oak Park 


Spectronics Inc. 


Cherry Hill 


The Computer Emporium 


Quebec (Montreal) 


Wang's Microcenter 


Peoria 


Warren Radio Co. 


Hoboken 


Hoboken Computer Works 






Rockford 


Imperial Computer Systems 


Paterson 


All 'tronics 


PANAMA 




Schaumburg 


Data Domain 


Pompton Lake 


Computer Corner of New Jersey 


Panama City 


Electrotecnia SA. 


INDIANA 




Ramsey 


Typettonic Computer Store 


Panama City 


Sonitel, S.A. 


East Chicago 


Aero Electronics Corp. 


NEW YORK 




Panama City 


Tropelco, S.A. 


Hammond 


Quantum Computer Works 


Albany 


Fort Orange Electronics 






IOWA 




Kingston 


Greylock Electronics 


FRANCE 




Clinton 


Bridge Elec. Computer Cen ter 


New York 


Computer Mart of New York 


Paris 


Computer Boutique 


Davenport 


Computer Store of Davenport 


Rensselaer 


Corn-Tech Electronics 






Des Moines 


Radio Trade Supply Co. 


Rochester 


2001 Microsystems 






Indianola 


Electronix Limited 


Troy 


Trojan Electronics 






KANSAS 




Utica 


Am-Com Electronics 


SINGAPORE 


Inter-Trade (PTE) Ltd. 


Kansas City 


Electronic Surplus Sales 

SEE YOUI 


R LOCAL 


limpak nr/n 


SINGAPORE 

.ER TODJ 


Systems Technology Ltd. 

W 


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 prob- 
lem 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 incor- 
porated to control the running state of the 
microprocessor and to allow memory loca- 
tions 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 sys- 
tem are by now nearly legendary: it is very 
awkward and time consuming to get infor- 
mation 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 hexa- 
decimal. 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 en- 
coded in read only memory boards to allow 
users to convert their old systems. However, 
this new technique still has a few disad- 
vantages: it requires a console terminal, 
which adds considerably to the system cost, 



and once a user program has started execu- 
tion 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 con- 
cept in microprocessor front panels: it uses 
a unique combination of software and 
hardware to allow the emulation of a com- 
plete 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 com- 
puter than a human being. 

• The front panel system must incorpor- 
ate facilities to load and dump mem- 
ory 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 break- 
points 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 Inc 




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 1 6K 
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 extracost 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 

Circle 45 on inquiry card. 



16K,32K,48K,or64K 

16K boundaries 

One LS TTL load 

On all data lines 

450ns 

480ns 

None 

1 Mhz 



Power Consumption 




+ 16 


150ma 


+ 8 


300ma 


-16 


20ma 



Other Products From Central Data 




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 o r COD. Delivery i s stock to 30 
days with shipping and handling prepaid in Con- 
tinental United States. Please include phone as well 
as name and address. 

BYTE October 1978 73 




Photo 1: Front panel of the Heath H8 computer. At left are nine 7 segment 
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 key- 
pad, 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 

51 




8 

LOAD 




g 

DUMP 




+ 



DE 




HL 




PC 






4 




5 




6 




— 


GO 




rsj 




OUT 







SP 




AF 




BC 






1 




2 




3 




CANCEL 







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 execu- 
tion 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 cir- 
cumvent part or all of the system. 
• The front panel system must be 
inexpensive. Advanced design tech- 
niques 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 nota- 
tion, 377 + 001 = 001 000. 

The third visible feature consists of 
four LED lamps (see photo 3). Three of 
these lamps display true hardware condi- 
tions: 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 pro- 
gram 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 




T0SM 



PP 



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 indepen- 
dent 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 Godbout Electronics 

A product of Morrow's Micro-Stuff for 

9 

c ffltailk®s > 



T@^ 



tm 




1201 10th Street 
Berkeley, CA 94710 



BYTE October 1978 



75 



Memory Display 



U IU 



II II 

1 1-/ L 



High Order Low Order 

Address Location Address Location 



u i ci 



Data at 
Location 040 100 



Register Display 



nun ini i u 

U IU IIJU I 



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 dis- 
play, 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 informa- 
tion until the beginning of record sequence 
is found. The load operation then begins. 
When the load is complete, the computed 
CRC-1 6 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 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, Altair/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 



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 (all 
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. 



16K ECONORAM IV 
$279 (unkit) 



Our current best-seller: 



Assembled price $314, CSC $414. 



Our top of the line 




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. 
MMMMMMMM 




24K ECONORAM VII 



$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, exten- 
sively bypassed. Includes active termination circuitry 
for reliable data transfer (see "Active Terminator 
Board" below). 



18 SLOT 
MOTHERBOARD 



$124 




f|F YOU SPEAK TRS-80, 

THEN READ THIS. 

We introduced our TRS-80 Conversion Kit s o that anybody could upgrade 
their 4K machine to a 16K machine. But apparently, that's not all our kit can 
do (which might explain why it's selling so well). One user wrote to say that 
our conversion chip set not only works in the mainframe, but also works 
with the memory expansion module offered by Radio Shack . . . and that he 
is currently running 32K of memory in his TRS-80. Some dealers have men- 
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 
parts with a 1 year warranty. 



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. 



mimimiHiimiim ill 






Single kit price is $1 90, 

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 
list (see last month's issue of this magazine) was current as of May 1, 1978; 
we've added quite a few since then . . . call us for referral to the dealer nearest 
you. 





BILL GODBOUT ELECTRONICS 
BOX 2355, OAKLAND AIRPORT, CA 94614 

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 
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 simultaneously) 
to halt the program, select the memory 
location, then press GO to resume execu- 
tion 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 run- 
ning 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 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 pro- 
gram 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 assem- 
bling 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 DI (disable 
interrupts) including jumps, subroutine 
calls, and other control -transfer instruc- 
tions. 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 chan- 
nel. 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 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 through 7 will be 
taken as data values. 

"The front panel system must be trans- 
parent." In operation, PAM/8 is totally 
transparent to a task program; ie: the pro- 
gram need not take any notice of the pres- 
ence 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 imple- 
mented 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 com- 
pute 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 s ystem? 
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 



... or the fast 
4K/printer system at 

$1198 



...or the Level-I I 

16K/printer/disk 

system at 

$2385 




TRS-80 "Sweet 16" 

• Above, except 
includes 16K RAM 






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 ver- 
satile. " 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 opera- 
tion. 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 com- 
municate 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 inex- 
pensive. " 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 firm- 
ware system, meaning that its functions are 
implemented by a closely integrated com- 
bination 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 sys- 
tem 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, simul- 
taneously. 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 sepa- 
rately 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 proc- 
esses, refreshing and updating, may be con- 
trolled 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 pro- 
grams 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 






!■ 




Introducing the personal 

computer you've waited for. 

The Exidy Sorcerer. 



I didn't buy my personal computer un- 
til 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 program- 
ming languages such as Standard ( Altair 
8k*) BASIC, Assembler and Editor (so 
I can develop system software), operat- 
ing systems such as DOS (so I can also 
use FORTRAN and COBOL) and ap- 
plications packages such as Word Pro- 
cessor. 

* 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 — in- 
cludes 128 graphic symbols that I can 
define. 

I wanted high resolution video. 
With 122,880 points in a 512 x 240 
format, I get the most detailed illustra- 
tions. 

I wanted to display more informa- 
tion. The Sorcerer displays 1920 
characters in 30 lines of 64 characters 
—equal to a double-spaced typed page. 

I wanted a full, professional key- 
board. The Sorcerer's 79-key data pro- 
cessing 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 in- 
ternally expandable to 32k. 

I wanted expandability. Serial and 
parallel I/Os are built in, and the op- 
tional 6-slot S-100 expansion unit lets 



my system grow. 

I wanted a computer that's easy 
enough for children to use. I just con- 
nect 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 exper- 
ienced manufacturer. In five years 
Exidy has become the third largest pro- 
ducer 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, ^^^ft^ fiPi^, 
CA, 94086. if^lPjjm 



inc. 



BYTE October 1978 



81 



maintains a 16 bit count of the clock inter- 
rupts received. Since this count is updated 
during the clock interrupts, it appears to 
task time programs that the location 
"magically" increments itself. Many pro- 
grams, 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 



SOFTWARE/ACCESSORIES/HARDWARE 



Memory Expansion!! 3 1,743 Bytes Freel-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. 



SoftwareNEECO has too many programs to list them all here! Call or 
write and ask for our 'Free* Directory! "Software Authors'-NEECO 
offers 25% Royalties on Pet programs with nationwide distribution" -Call 
NEECO for additional information on our 25% Royalty Program. 

PET & PeripheralsNEECO offers fast (off the shelf?) delivery schedules 
for the Pet Computer and Peripheral 2020 Printer. NEECO also offers 
excellent personal & Warranty service!!! Interested in a Pet? Call and 
request our P.E.T. Info Pak. Feel free to call and ask questions. 



The Music Sox- Music Composer and sound effects generator allows you 
to compose and hear music on your Pet! -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 Pet 
Programs. -Endless Possibilities!-AII Cassette Software, plug-in Hardware, 
and Music Box instructions for only $49.95! Music Box Fits right inside 
your Pet -No assembly required! Music Box even plays random tunes! 



NEECO Dust Cover- Protect your Pet! Cover your Pet's delicate circuitry 
and keyboard from dust that can. over time, cause intermittent chip 
failures! Heavy, clear Plastic Dust Cover shows off your Pet while 
protecting it from dust, spills, and those inevitable 'Unwanted Sticky 
fingers'! Manufactured to last as long as your Pet! -only $17.95 

VISA OR MC Phone orders Accepted--(4% Surcharge on Hardware) 



ICW EWGLAND EfCTRONICS CO ."* u,hor " ,d PETS " K&S - "• 

"Guaranteed Delivery" 

248 Bridge Street Area Code (413 > schedules for an of our 
Springfield, Mass. 739-96Z6 ,oVour C PET Parage- a " 



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 exe- 
cuted 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 con- 
tents, causing the new address and value 
to be "magically" displayed (after a maxi- 
mum 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 inter- 
mingle; each keeps to its own. The proc- 
essing 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 pro- 
gram 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 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 sys- 
tems 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 pro- 
grammable 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 com- 
puter 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: 

L1 IN <port number> 

IMP 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 my- 
self debugging a complex piece of software 
that maintains various state flags in memory. 
For example, a command completion sub- 
routine, which examines characters as they 
are entered for valid syntax, is a state de- 
pendent program. As each character is 
entered, the program sets flag bits indicating 
various things such as "two alphabetic char- 
acters entered," or "have just seen a blank," 
etc. When debugging this code, I simply dis- 
play the address (or register) containing the 
state flags on the front panel. Then, as I 
strike test keys one by one, I can immedi- 
ately 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 cur- 
rently 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 proces- 
sor, 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 capa- 
bilities of a true hardware panel with the 
flexibility of firmware and ultimately pro- 
vides 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 AJ 841 I/O Terminal. 
Now with RS232 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 A J 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) 

n ANDERSON 
LU JACQB50N 



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 951 31 

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: □ RS 232 @$1 195 or □ Parallel @ $1095 



□ Ship direct to me (freight collect, FOB San Jose, plus $25 carton, and California sales 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 85 



First Steps in 

Computer Chess 
Programming 



Kathe and Dan Spracklen 
10832 Macouba PI 
San Diego CA 92124 



GENMOV 



MPIECE 



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 Compu- 
chess, 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 chal- 
lenge 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 



| PATt 

* ATK 



PATH 

SAV 



ENPSNT 



ATTACK 



ADMOVE 
ADJPTR 
ADMOVE 



| AUMUVL 

I ADJPTR 

I PAT 

' ATK 



PATH 

SAV 



PNCK 



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 accom- 
plished through a network of routines 
diagrammed in figure 1. The functions of 
the routines are as follows: 



GENMOV 



MPIECE 



INCHK 



Figure 1: Block structure of the move generation routine of Sargon, the 
authors' chess playing program written for Z-80 assembler language. 



Generate move routine. 
Generates the move set 
for all of the pieces of a 
given color. 
Piece mover routine. 
Generates the move set 
for a given piece. 
Check routine. 
Determines whether or 
not the King is in check. 
Path routine. 
Generates a single pos- 
sible move for a given 
piece along its current 
path of motion. 
Admove routine. 
Adds a move to the 
move list. 
Castle routine. 
Determines whether 
castling is legal and 
adds it to the move 
list if it is. 
En passant routine. 
Tests for an en pas- 
sant pawn capture and 
adds it to the move 
lists if it is legal. 
Attack routine. 
Finds all the attackers 
on a given square. 
Adjust move list point- 
er. 

Links around the second 
move in a double move 
(ie: castle or en passant 
pawn capture). 
Attack save routine. 
Saves attacking piece 
value in the attack list 
and increments the 
attack count for that 
color piece. 
Pin check routine. 
Checks to see if an 
attacking piece is in the 
pinned piece list. 



Several of the routines involved are multi- 
purpose 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, 



PATH 



ADMOVE 



CASTLE 



ENPSNT 



ATTACK 



ADJPTR 



ATKSAV 



PNCK 



86 October 1978 © BYTE Publications Inc 



BSEE Engineers 






^ 



X 



fc c. 



y _<c 



^ 



<£W& 



r a 



V 



4&: &X5 



Still Clean ... Still Wfld .. . 
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 it all theatre, professional andamateursports.art treasures, hunting, fishing, parks, educationalopportunities, 
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 1 72 on inquiry card. 



BYTE October 1978 



(a) 



110 111 112 113 114 115 116 117 118 119 
100 101 102 103 104 105 106 107 108 109 

99 
89 
79 
69 
59 
49 
39 
29 



90 


91 


92 


93 


94 


95 


96 


97 


98 


80 


81 


82 


83 


84 


85 


86 


87 


88 


70 


71 


72 


73 


74 


75 


76 


77 


78 


60 


61 


62 


63 


64 


65 


66 


67 


68 


50 


51 


52 


53 


54 


55 


56 


57 


58 


40 


41 


42 


43 


44 


45 


46 


47 


48 


30 


31 


32 


33 


34 


35 


36 


37 


38 


20 


21 


22 


23 


24 


25 


26 


27 


28 



10 




11 

1 



12 
2 



13 
3 



14 
4 



15 
5 



16 
6 



17 

7 



18 
8 



19 
9 



(b) 



6E 6F 70 

64 65 66 

5A 

50 

46 

3C 

32 

28 

1E 

14 

A 





71 72 73 
67 68 69 



74 75 
6A 6B 



5B 


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 


1F 


20 


21 


22 


23 


24 


25 


26 


15 


16 


17 


18 


19 


1A 


1B 


1C 



c 

2 



D 
3 



E 
4 



10 
6 



11 

7 



76 77 

6C 6D 

63 

59 

4F 

45 

3B 

31 

27 

1D 

12 13 

8 9 



Figure 2: Decimal (a) and hexadecimal (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 cre- 
ators of Sargon, the 
microcomputer chess 
program that won the 
microcomputer chess 
tournament at the 1978 
West Coast Computer 
Faire. Dan Spracklen is 
a 13 year programming 
veteran. His experience 
ranges from scientific 
simulation programs to 
real time commercial 
applications. He is cur- 
rently a senior appli- 
cations analyst for 
Sperry-Univac. Kathe 
Spracklen is a graduate 
student in computer 
science at San Diego 
State University. An 
experienced tourna- 
ment player, Kathe pro- 
vided the chess back- 
ground 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 com- 
mented. 

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: 

Bit 7 — color of the piece. 

1 - Black 

0- White 
Bit 6— not used. 
Bit 5— not used. 
Bit 4 - castle flag for Kings only. 

Set if the King has 

castled. 
Bit 3 — moved flag. 

Set if the piece has 

moved. 
Bits 2-0 - Piece type. 

1 Pawn 

2 Knight 

3 Bishop 

4 Rook 

5 Queen 

6 King 

The pieces in play occupy squares of the 



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 pfece. 

DCOUNT Direction Table 
Counter. 

Used to determine the 
number of directions 
of movement for any 
given piece. 



FF 



FF FF 
FF 



FF FF 

FF 

FF 

FF 

FF 

FF 

FF 

FF 

FF 

FF FF FF 

FF FF FF 



FF FF 
FF FF 



FF FF FF 
FF FF FF 



FF FF 
FF FF 



84 


82 


83 


85 


86 


83 


82 


84 


FF 


81 


81 


81 


81 


81 


81 


81 


81 


FF 


00 


00 


00 


00 


00 


00 


00 


00 


FF 


00 


00 


00 


00 


00 


00 


00 


00 


FF 


00 


00 


00 


00 


00 


00 


00 


00 


FF 


00 


00 


00 


00 


00 


00 


00 


00 


FF 


01 


01 


01 


01 


01 


01 


01 


01 


FF 


04 


02 


03 


05 


06 


03 


02 


04 


FF 



FF FF 
FF FF 



FF FF FF 
FF FF FF 



FF FF 
FF FF 



Figure 3: Representation of the pieces on 
their home squares. Pieces are identified by 
means of unique byte values. 



88 



October 1978 © BYTE Publications Inc 



Listing 1 : The Sargon move generation routine, written in Z-80 assembly language. 



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

EQUATES 
*********************************** 

PAWN = 1 

KNIGHT = 2 

BISHOP = 3 

ROOK = 4 

QUEEN = 5 

KING = 6 

WHITE = 

BLACK = 80H 

BPAWN = BLACK+PAWN 

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

•TABLES SECTION 
*********************************** 

START: 



Equate statements supply symbolic equivalents for the piece 
types and colors. 



TBASE 



.LOC START+80H 
START+100H 



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

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 

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

•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: .BYTE0 

P2: .BYTE 

P3: .BYTE0 

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

IPIECE MOVER ROUTINE 
*********************************** 



MPIECE: XRA 

ANI 
CPI 



M 

87H 
BPAWN 



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 access- 
ible. 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 



89 



Listing 7, continued (Listing 1 is concluded on page 95): 



JRNZ MP2 

DCR A 

MP2: ANI 7 

STA Tl 



LIYD Tl 

MOV B,DCOUNT(Y) 





MOV 


A,DPOINT(Y) 


MP5: 


STA 
LIYD 
MOV 
LDA 


INDX2 
INDX2 
C,DIRECT(Y) 
Ml 


MPIO: 


STA 

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 
MPIO 


MP15: 


INX 


Y 




DJNZ 


MP5 


LDA Tl 

CPI KING 

CZ CASTLE 

RET 
■***********PAWN LOGIC************ 
MP20: MOV A,B 




CPI 
JRC 


3 
MP35 



JRZ 



MP30 



MP25: 



EXAF 




JRNZ 


MP15 


LDA 
CPI 


M2 
91 


JRNC 
CPI 


MP25 
29 


JRNC 

LXI 

SET 


MP26 

H,P2 

5,M 



No-Skip. 

Decrement, making piece type a 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 (XXOO) stored 

in low-high order (OOXX). 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 direc- 
tion. 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 



unit 



Intercolor 8070 Series 1 



"'"•toZltf" 



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 

8080A Central Processor 

16K Ram Memory (Expandable) 

15K ROM Memory 

Dual 8" floppy disk drives (591 K bytes) 



110 CPS bi-directional printer 
Business BASIC 

Payroll programs for up to 500 employees 
Manuals - 6 Months Warranty 



OEM's and Dealers 

Phone Toll Free for your Special Prices 

1-800-633-7566 

In Alabama, Phone 205/793-1522 

J 

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 sup- 
ply. 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 sup- 
ply. Requires daisy chain cable. 510 

DISKETTES 

1081-05 Package of 5 

Micropolis diskettes {5-Va") 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 at- 
tached to controller. 



Cash 

Discount 

Price 



1,706 
1,031 



1083-04 Daisy chain interface 
cable D, with 5 connectors for 
use with 4 storage modules at- 
tached to controller. 



33 



61 



581 



716 



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 
emefpri/es 



Operating Hours: 
M-W10-5 EST 
h TH-F10-9E.5.T. 
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 


= 




BLACK 


= 80 




BPAWN 


= Black + pawn 


P1-P3 


= Working area to hold the 




contents of the board 




array for a given square. 


DPOINT 


fa 


; 






+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 





4 


Rook 


4 


4 


Queen 





8 


King 





8 



Table 1 : Direction 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 la. Table lb shows the direc- 
tion 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 all the possible Knight 
moves from the Queen Bishop 3 (QB3) 
square. The Knight is piece type 2 (see text) 
and has a D POINT (direction table 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 repre- 
sentation). 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 GEN- 
MOV, which scans the board array and 
calls MPIECE for each piece encountered. 




PUT THIS IN YOUR FIFE 

AND 'SMOKE' IT: 

$150 less 

for the best! 

SMOKE SIGNAL BROADCASTING'S 

M-1U 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 1978 ©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 
to 6, is used as an index into the DCOUNT, 
direction table count, and DPOINT, direc- 
tion 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" position of the piece. Flag 
values are: 

"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 cur- 
rent 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 



mm * li * 
turn *m* 



±:l:±:t:* 



jinn mm 
nrcnttHB n 





PLAY CHESS WITH YOUR COMPUTER! 



MICROCHESS is the culmination of two years of chessplaying 
program development by Peter Jennings, author of thefamous 1K 
byte chess program for the KIM-1 . MICROCHESS 2.0 for 8K PETs 
and 16K APPLEs, in 6502 machine language, offers 8 levels of play 
to suit everyone from the beginner learning chess to the serious 
player. It examines positions as many as 6 moves ahead, and 
includes a chess clock fortournament play. MICROCHESS 1.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 o n 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, LostTreasure, Gone Fishing 
and Diamond Thief, progressing from elementary toquitecomplex 
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™ 



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 direc- 
tion. 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 7, continued: 



MP26: 



CALL 


ADMOVE 


INX 


Y 


DCR 


B 


LXI 


H,P1 


BIT 


3,M 



JRZ 



JMP 



MP10 



MP15 



•********MOVE OF 2 SQUARES******** 
MP30: EXAF 

JRNZ MP 15 



MP31: 


CALL 


ADMOVE 




JMP 


MP15 


******** 


r **DIAGONAL MOVE********** 


MP35: 


EXAF 






JRZ 


MP36 




LDA 


M2 




CPI 


91 




JRNC 


MP37 




CPI 


29 




JRNC 


MP31 


MP37: 


LXI 
SET 
JMPR 


H,P2 

5,M 

MP31 



;*****DIAGONAL SQUARE EMPTY ***** 
MP36: CALL ENPSNT 

JMP MP15 

•PATH ROUTINE 



>ATH: 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***********gAME COLOR************ 


MVI 


A,2 


RET 




■************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 



DECREMENT 

PIECE 

TYPE 



YES /BLACK 
PAWN 



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 indi- 
cates 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 










NO 


^/PROh 


^OTE^K 






1 


r* \pa 


CALL 
ADMOVE 






Tyes 










SET 

PROMOTE 

FLAG 


INCREMENT 




DIREC 
INDEX 


1 IUN 










Figure 5: Flowchart of the piece mover routine, M PIECE. [*) 

96 October 1978 © BYTE Publications Inc 



Note: The authors' complete Sargon 
chess playing program is available in 
book form. The documentation in- 
cludes 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 pos- 
sible 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 M PIECE and 
PATH, respectively. 

The Other Move Generation Routines 

The move generation driver is GENMOV, 
the generate move routine. The basic func- 
tion 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 MPIECE, 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 TFIFTYPF 

SERIES-300 MODEMS „«„, J 

300 bauo MODEL 43 

103/113 COMPATIBLE 10 OR 30 CHAR/SEC 

AC0USTIC/HAR0WIRE 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 = SI 195 
USR-330 Originate/Auto-Answer FCC Certified Modem 

+ Teletype Model 43 KSR = S1365 

USR-320 Auto-Answer FCC Certified Modem + Teletype Model 43 RO = S1215 

Stand alone modems and teletype available: 

Teletype 43 KSR with RS232C S 1095 

USR-310 Originate Acoustic Coupler 

(Operates with any standard telephone) S139 

Direct' Telco 2 

Connect OAA 

Style Style 

USR-330 Originate/Auto-Answer Modem S324 S185 

USR-320 Auto-Answer Modem S299 S160 

CF.C.C. Certified Package. Connection to phone lines via standard extension phone 

jack.) 

PConnection to phone lines via CBS 1001 F OAA which can be leased from phone 

company for approximately S5.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 5 V. Sales Tax. 

U.S. ROBOTICS, INC. 
2440 N. Lincoln/Chicago. IL 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 sup- 
ported TCU-50D won't, not for 3 months anyway. The correct 
date and time will be there when you power up. 

The TCU-50D is shipped preset to your local time, but can be set 
to any time you want by a simple software routine. 

AT $295 
YOU CAN'T 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 PrfTHWrfYf 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 Eval- 
uator. 



In the case where this routine is called by 
CASTLE or INCHK, the routine is termi- 
nated as soon as an attacker of the oppo- 
site 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 posi- 
tion. 

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. 



Figure 6: Flowchart of the 
PA TH routine, which per- 
forms the actual move 
of the piece. 



0&1 MLPTR - Move list pointer. 
A pointer to the next move 
in the move list. Used to 
facilitate sorting the list. 

2 MLFRP - Move list from posi- 

tion. 

The board position from which 
the piece is moving. 



SET 

OPPOSITE 
COLOR 
FLAG 



f RETURN J 



f START J 



GET 

PREVIOUS 
POSITION 



ADD 

DIRECTION 

CONSTANT 



SAVE 

NEW 

POSITION 



GET 

CONTENTS 
OF BOARD 



SAVE PIECE 

AND 

PIECE TYPE 




YES 




SET OFF 

BOARD 

FLAG 



-f RETURN J 



-f RETURN J 



SET 
SAME 
COLOR 
FLAG 



f RETURN J 



It is hoped that this introductory discus- 
sion 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 litera- 
ture. 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 deter- 
mining 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 com- 
plex. We highly recommend this reference to 
anyone planning to write a chess program 
without look-ahead. 

2. Samuel, A L, "Some Studies in Machine Learn- 
ing Using the Game of Checkers. 11 -Recent 
Progress," IBM Journal, November 1967. 
Samuel provides a complete though some- 
times 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 mar- 
velously 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/© 2* offers the following products 
to the S-100 market at the industry's 
lowest prices: 



j 1^^^^ ^^u| i^^Mu ^^mutili *^iu|' |T^u^u *-^^^^? 
• f ". \ „"..*"" 1 ". f * ..',',-"■ ".".'' J» '[ "■ '"' -' [ ■_ -' "".""*" ".V." * . 



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 2M Hz. The 
8KS-Z operates at 250ns and is suitable for use with Z-80 systems operating at4MHz. 
Both kits feature factory fresh 21 02's (low power on 8KS-B) and includes sockets for 
all IC's. Support logic is lowpowerSchottky to minimize power consumption. Address 
and data lines are fully buffered and 4K bank addressing is DIP switch selectable. 
Memory Protect/ Un protect, selectable wait states and battery backup are also 
designed into the board. Circuit boards are solder masked and silk-screened for ease 
of construction. These kits are the best memory value on the market! Available from 
stock . . . 8KS-B $125 (assembled and tested add $25.00) 

8KS-Z $145 (assembled and tested add $25.00) 



16K Static Memory Board 

Base 2 can now offer the same price/performance in a 1 6K static RAM as in its popular 
8K RAM. This kit includes 8K bank addressing with 4K boundary address setting on 
DIP switches. This low power unit provides on-board bank selection for unlimited 
expansion ... No MUX board required. Using highest quality boards and components 
we expect this kit to be one of the most popular units on the market. Available in two 
speed ranges, the 1 6KS-B operates at 450ns while the 1 6KS-Z operates at 250ns. 
16KS-B $285 (assembled and tested add $25.00) 
16KS-Z $325 (assembled and tested add $25.00) 





Z-80 CPU Board 

Our Z-80 card is also offered in two speed ranges. The CPZ-1 operates at 2MHz and 
the CPZ-2 operates at 4MHz. These cards offer the maximum in versatility at 
unbelievably low cost. A socket is included on the board for a 2708 EPROM which is 
addressable to any 4K boundary above 32K. The power-on jump feature can be 
selected to address any 4K boundary above 32K or the on-board 2708. An On-board 
run-stopflip-f lop 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 advantageof existing software, or in the Z-80 mode for maximum efficiency. For 
use in existing systems, a wait state may be added to the M1 cycle, Memory request 
cycle, on-board ROM cycle, input cycle and output cycle. DMA grant tri-states all 
signals from the processor board. All this and more on toD quality PC boards, fully 
socketed with fresh IC's. CPZ-1 $110 CPZ-2 $125 



S-100 for Digital Group Systems 

This kit offers, at long last, the ability to take advantage of S-1 00 products within your 
existing DigitalGroupmainframe.Once installed, uptofour 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-1 00 is designed to fit in the 5-3/4" x 1 2" 
empty area in the standard D.G. cabinet. It may seem expensive butthere'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 listf or 
information on more soonto 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 

Capacitor 

Inductor 

Series RL 

Series RC 

Series LC 

Parallel RL 
Parallel RC 

Parallel LC 

Current generator 

Current generator 
with 



Plus 
Node 



-)h 



Editor's Note: 

Readers wishing to obtain more de- 
tails about the electrical concepts dis- 
cussed in this article will find a concise 
treatment of complex impedance and 
related topics in The Radio Amateur's 
Handbook published by the American 
Radio Relay League, Newington CT 
06111. For a good programmed learn- 
ing introduction to electricity and DC 
circuits, see Basic Electricity and DC 
Circuits by Oliva and Dale, published 
by Texas Instruments Inc, POB 5012, 
Dallas TX 75222. 



Minus 
Node 



■* 



IV 




<s> 



Calculation of Admittance 

Y = (1/R) + JO 

Y =0 + j(2ttFC) 

Y = -j[1/(2wFL)] 

Y = R/(R 2 + X 2 )-j[X/(R 2 + X 2 )] 
X =2ttFL 



Y = R/{R 2 + X 2 )+j[X/(R 2 + X 2 )] 
X = 1/(2ttFC) 



Y = + j[X/(1 -27TFLX)] 
X =2ttFC 

Y = (1/R)-j[1/(2ttFL)] 

Y = (1/R) +j(2 7 rFC) 

Y = 0+j[(2ttFC) - (1/2ttFL)] 

Y = I + jO 

Y = lcosine(0) + j[lsine(0)] 



Table 1 : A dmittance calculations for simple branches. On both of the gener- 
ators the direction of electron flow is shown by the arrow. 



Circuit analysis programs are valuable 
tools that can tell you how a circuit wi// 
work before you build it — "paper bread- 
boards" in effect that don't require any 
component purchases, expensive equipment 
or debugging time spent on the bench. Anal- 
ysis programs fall into two general cate- 
gories: 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 cir- 
cuits do at different frequencies, a type of 
analysis well-suited to model amplifiers, fil- 
ters and operational amplifier circuits oper- 
ating 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 com- 
puter systems, primarily in memory, no spe- 
cific language is given. All of the necessary 
flowcharts are presented along with neces- 
sary 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 loga- 
rithmic functions. 

Matrix operations are done but you don't 
need BASIC MAT functions; the matrix is 
fully explained later. Using charts and ex- 
planations, 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 STATE-OF-THE-ART LEADER. . . 



16KPLUS 



IDEAL FOR CROMEMCO 
64K DISC SYSTEMS 



Fully meets proposed 
IEEE Standard 



Specially designed for the new high speed 
disc systems using DMA and Time Sharing 



• Bank Select 

This feature allows running up to 51 2K 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 16 K 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 

MEMORY BOARD 

FOR THE S-100 BUS 




16K PLUS 



250 nsec. chips — $ 445 
450 nsec. chips — $ 410 

The 1 6K 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. 



b 



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 num- 
ber notation or admittance, some review is 
necessary before beginningany 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 in- 
verting (C + jD) is equal to dividing (A + jB) by (C +}D) 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 MAGN at angle PHA, 
real part = MAGN x cosine (PHA) and 
imaginary part = MAGN 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 + j'D) = (A -C) +j(B- D) 
Multiplication: 

(A + jB) X (C + jD) = (AC - BD) +j(AD + BC) 
Division: 



(A 
(C 

Inversion: 



+ jB) fAC+ BD ! f AD- 

+ JD) ~ |_C2 +D2j _j |_ C 2 + 



-BC 
D2 



(C + jD) |_C2+ D2j " j (_ A 2+ D2J. 

Summary of complex arithmetic used for analysis. 



This requires two floating point numbers for 
every complex number. The lefthand num- 
ber 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 nota- 
tion. [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 suscep- 
tance, either positive or negative. The rela- 
tionship Y = 1/Z is true but there are special 
rules governing complex number mathe- 
matics. 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 con- 
nections in the circuit. All nodes above 
ground must have sequential numbering, be- 
ginning 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 indicat- 
ing 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 fig- 
ure 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 



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, in- 
creasingly use microprocessing systems for con- 
trol and data transmission. 

Hoping to interest you in investigating a career 
future with General Electric for another. Our sta- 
ble, 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 hard- 
ware and software, to work in the total spectrum 
of land mobile communications technology . . . 
including small signal and power RF circuits, cus- 
tom 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-think- 
ing .. . who can hold their own in a technical dis- 
cussion 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 as- 
signments, 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 opportuni- 
ties? Send your resume with earnings history to 
Dept. 31-K, Professional Relations, General Elec- 
tric, 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 

25V 25fl 




25ft 



NODE (GROUND) 

Figure 1: Simple resistive network with a 
current generator. The direction of the elec- 
tron flow from the generator is indicated by 
an arrow. Note that nodes are numbered 
sequentially. 



Matrix Representation 



r 1,4 



••• Y 1N " 




"El" 




pi] 


••• Y 2 N 




E2 




"2 


••• Y 3N 




E3 


= 


'3 


... Y 4N 




E 4 




'4 


• • • Y N,N 




E N 




IN 



Y1.1 Y 12 Y 13 

Y 2 ,1 Y 2,2 Y 2,3 Y 24 

Y 3,1 Y 3,2 Y 3,3 Y 3,4 

Y 4,1 Y 42 Y 43 Y 44 

Y N f 1 Y N f 2 Y N f 3 Y N,4 

Simultaneous Equations 

Y 11 E 1 + Y 12 E 2 + Y 13 E 3 + Y 14 E 4 + .. Y 1N E N - \< [ 

Y 2jE! + Y 2f2 E 2 + Y 2f3 E 3 + Y 2j4 E 4 + .. Y 2fN E N = l 2 

Y3jE 1 + Y 32 E 2 + Y33E3 + Y34E4 + _ Y 3N E N = l 3 

Y 4f1 E! + Y 4#2 E 2 + Y43E3 + Y44E4 + .. Y 4N E N = l 4 

Y N,1 E 1 + Y N f 2 E 2 + Y N f 3 E 3 + Y N,4 E 4 + •• Y N f N E N = 'N 



Figure 2: Matrix and simultaneous representations of any circuit. In the fig- 
ure, and also in the text, the following conventions hold: 



circuit branch admittance 
circuit node voltage 
- circuit node current 



The circuit branch admittance is determined by the node description. 



Matrix Array Subscripts 



Branch Type 



Passive 



Generator 



Row 


Column 


Enter into 
Array by 


Plus node 
Plus node 
Minus node 
Minus node 


Plus node 
Minus node 
Minus node 
Plus node 


Addition 
Subtraction 
Addition 
Subtraction 


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 gen- 
eral equations of figure 2 is: 

Y 1,1 E 1 +Y 1,2 E 2 = I 1 0) 

Y 2,1 E 1 +Y 2,2 E 2 =I 2 P) 

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] Us- 
ing only the real parts of admittance and fol- 
lowing the rules of table 2 yields the nu- 
meric forms: 

0.06 E 1 - 0.04 E 2 = 1.0 (1A) 

-0.04 E 1 + 0.08 E 2 = (2A) 

Solving for Ej can ^ e d° ne ^Y multiplying 
equation (1A) by 2/3 and adding the pro- 
duct to equation (2A) to give: 



0.05333 E 2 = 0.66667 



E 2 = 12.5 

Substitution of E 2 into equation (1A) 
gives: 



0.06 E 1 -0.50 = 1.0 

E 1 =1.50/0.06 

E 1 =25 



The preceding straightforward mathe- 
matics 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 arrange- 
ment 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 posi- 
tion. The rightmost column is used only for 
signal sources. 

Figure 3 shows the example represented 



104 



October 1978 ©BYTE Publications Inc 



TARBELL SOFTWARE 

Extensive & Inexpensive. 

TARBELL CASSETTE BASIC only $36.00 



Most features of ALTAI R* Extended BASIC are inclu- 
ded 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: 



• Initialize I/O channel • Assign a physical device to 
a logical device • Drop an I/O channel previously assign- 
ed • 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 com- 
plete documentation: $36.00. 



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 transfer- 
ring 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, TAR- 
BELL 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. 




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 up- 
dated by using both sequential and random access. In- 
cluded are blocked and unblocked files. Price for com- 
piler and run-time monitor on diskette is $10.00. Manual 
is available separately for $5.00. (Public domain soft- 
ware by Gordon E. Eubanks, Jr.). 



CBASIC Programming System 

Upward compatible from BASIC-E, CBASIC is simi- 
lar but expanded to include several business oriented 
facilities, allowing decimal computations to 14 digits of 
precision, data formatting and PRINT USING state- 
ments. 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 fea- 
tures include variable names up to 31 characters, option- 
al 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 per- 
mits 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). 



Price: $50.00 (Copyright KLH Systems.) 

* ALT AIR is a trademark/ tradename ofMITS, Inc. 
**CP/M is a trademark/ tradename of Digital Research. 

t 950 DOVLEN PLACE •SUITE B» CARSON, CALIFORNIA 90746 

(213) 538-4251 • (213) 538-2254 



Circle 360 on inquiry card. 



BYTE October 1978 



105 



W|,| 


M|,2 


M|,3 


M 2 ,l 


M 2) 2 


M 2 ,3 



i— 



-t— 



Dl 




N, 




D 2 


N 2 



INITIAL 



FORWARD 
SOLUTION 



BACK 
SOLUTION 



LOCATION OF 
SOLUTION 
NUMERIC 
VALUES 



.06 


-.04 


1.0 


-.04 


.08 







.06 


-.04 


1.0 


-.04 


.05333 


.66667 




.06 


-.04 


1.5 


-.04 


.05333 


.66667 




.06 




1.5 




.05333 


.66667 



Multiplication factor 



Figure 3: Graphical representation of a matrix solution to the simple example 
given in the text. Solutions are found at both of the nodes. The denominator 
of the solution is always found in the main diagonal, and the numerator of 
the solution is found in the generator column. 



by an array of two rows (maximum node 
number is 2) by three columns. Variable 
name M has been used for any matrix posi- 
tion. At the beginning of a solution all Ms 
are set to 0. The branch list is then in- 
spected, values calculated and added or sub- 
tracted into the matrix array positions ac- 
cording to the rules of table 2. 

The variable N is used to denote a numer- 
ator value. D denotes a denominator value of 
a multiplying factor. A circle indicates that 
the array variable is multiplied by the 
factor; an arrowhead indicates that the pro- 
duct is subtracted from the array position. 
Only arrowhead marked positions are 
changed; all others are extracted and held in 
temporary storage. 

Numeric values in figure 3 are the same as 
our simple example. The forward operation 
has these steps: 



Multiplication factor s 



M 



2,1 



M 



1,1 



-0.66667. 



Jew M 2 2 = M 2 2 - (MULT.FACT X M ] 2 ) 
= 0.05333 



New M 



2,3 



:M 2 3 - (MULT.FACT X M 3 ) 
= 0.66667 



Note that the steps are equivalent to finding 
E 2 by conventional mathematical opera- 
tions. The back operating steps are the same 
as those for finding E| and are: 



1,2 
2,2 



= -0.75 



New M 1 3 = M 1 3 - (MULT.FACT X M 2 3 ) 
= 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 ex- 
panded 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 volt- 
ages between nodes. 

A consideration for programming is array 
size. The array consumes 2 X NMAX X 
(NMAX + 1) floating point variables with 
NMAX referring to the maximum number of 
nodes allowed in any circuit. The actual 
physical size of the array is twice as large 
since both real and imaginary parts of the 
complex number must be stored. The ex- 
ample showed only real parts. 

Final Matrix Solution Algorithm 

A flowchart for the MATRIX solution 
algorithm is shown in figure 4. The routine 
assumes that all admittance values of a cir- 
cuit have been calculated using the formulae 
in table 1 and have been entered into an ini- 
tially matrix at positions according to the 
rules of table 2. Figure 5 is a pictorial of a 
4 node solution sequence using the same 
symbology as figure 3. The pictorial assumes 
that the optional tests in figure 4 are not 
performed. This will give voltage solutions 
to all nodes. 

IBM's venerable ECAP program yields all 
node voltages at each frequency. While use- 
ful, it can be difficult to interpret. A better 
way is to command the program for a spe- 
cific node of solution (NS in the flowchart). 
The matrix must be solved at each frequency, 
so including the optional tests will reduce 
the number of back solutions to a minimum. 
A solution printout can then be made of all 
node voltage data at one node for the de- 
sired frequencies. 

Calculation speed is increased by invert- 
ing the denominator in the outer loop. Divi- 
sion is invariably one of the most time-con- 
suming functions; the inverted denominator 
allows multiplication instead of time-con- 
suming division. 

Another timesaving technique, not 
shown, is to include a test of numerator 



106 



October 1978 © BYTE Publications Inc 



The Dumb Terminal 
lets you put it all together. 



With the new, lower- priced Dumb Terminal™ Kit, that is. 
Pick one up and escape, once and for all, the headaches 
of scavenged teletypes and jury-rigged TV sets. With just 
a little time and aptitude, you can have a live and working 
Dumb Terminal right in your own home, garage, or 
business. One that lets you get it all out of your system 
— or into it 

Forget the cheap imitations, with their overblown 
price tags and interminable lists of options. With 
the Kit, you can build yourself the same, old 
basic Dumb Terminal that's been selling over 
1500 units a month. With basic, sensible 
features like a bright 12" diagonal screen. 
Fifty -nine data entry keys. 1920 characters 
displayed in 24 rows of 80 letters. Plus 33 
positive action switches that let you activate 
functions like 1 of 1 1 different baud rates, an 
RS232C interface, or a 20mA current-loop. 
And more. Not bad for Dumb 

All you need, besides the Kit, is 
some initiative, and a few basic 
tools — a good soldering iron, 
wire cutters, needle-nose pliers, 
and one or two trusty screw- 
drivers. The Dumb Terminal 
Kit provides you with every- 
thing else. Including an 
attractive cabinet, CRT 
screen, keyboard, PC 
board, and all essential 



electronic components. Naturally you also get illustrated, 
step-by- step assembly instructions, not to mention an 
easy-to-understand operator's manual. 

So, if you'd like more input on the Dumb Terminal 
Kit, just fill out the coupon and we'll send you complete, 
free information. 

Oh, and by the way just by sending in the coupon, 
you will be made a charter member of the Dumb 
Terminal Fan Club. A select organization that will 
send you your own nifty Dumb Terminal Fan 
Club Kit, containing: an official certificate 
of membership; an autographed photo of the 
Dumb Terminal himself; and a bona fide 
membership card to prove irrefutably you're 
"One of Us'.' (Sorry, limit one kit per person.) 
And, if you include a trifling $6.00, you 
can have your very own Dumb Terminal 
T-shirt. (No limit at all on these.) 

Simply mail the coupon and get the whole 
assortment. And find out why members of the 
Dumb Terminal Fan Club are some of 
the smartest people around. 




"Dumb Terminal" is a trademark of Lear Siegler, 
E.I.D./Date Products, 714 RBrookhurst St., An, 
92803, (800) '854-3805: In California (714) "774 -K 

Circle 205 on inquiry card. 



Enclosed is ■$: ■■:::,; ._ for an official Dumb Terminal T-shirt(s), 

Please make all checks and money orders payable to Le Ance & Reiser, OK? 

Quantity.. and size(s) of shirtis) required: S , , M L — _XL 

Rush this application to Dumb Terminal Fan Club Headquarters-'- 
c/o LeAnce & Reiser, PO. Box 17123,' Irvine, CA 92714. 



f MATRIX J 



M(KJ) in the optional section. A numer- 
ator will have no effect on inner loop vari- 
ables, so a bypass could occur on Os. (Re- 
member to check both the real and imagi- 
nary 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 cir- 
cuit 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 denomi- 
nators are located. Numerators are always in 
the righthand or generator column. De- 




N = M(K,J)x D 

I = J + I 



r 




T = M(J,I)x N 
M(K,I) = M(K,I)-T 



1 = 1+1 




INNER 
LOOP 



I I 




Figure 4: The MA TRIX routine solves the 
matrix as in the example in figure 3. As little 
calculation as possible should be done within 
the inner loop. The optional section allows 
calculations to take place only until the 
node being solved for is reached. This will 
decrease computation time, since the entire 
matrix does not have to be solved. 



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 in- 
verse of W. These simplify admittance calcu- 
lations. An often used constant is 2n which 
should be stored as a single variable. Variable 
F is the solution frequency. 

Variable Y is the calculated complex ad- 
mittance for passive branches but is the 
stored value of current for generators. Vari- 
able 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 exami- 
nation of each branch, calculation of the ad- 
mittance, 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 de- 
termined by node number entry order. This 
will be illustrated further under modeling 
techniques. A generator with one node set to 
zero will enter the matrix at only one posi- 
tion. If both nodes are nonzero the gener- 
ator will enter the matrix at two positions. 

Passive branches can have arbitrary node 
ordering. The test flow allows for this. One 
node specified as will cause calculated ad- 
mittance to add at only one matrix position. 
If both nodes are nonzero, calculated admit- 
tance will add at two positions and subtract 
at two other positions. 

To check the node test flow, go back to 
the example of figure 1 and the matrix val- 
ues shown in figure 4. Remember that ad- 
mittance, matrix and solution arrays of 
figures 4 and 6 require handling two floating 
point values per complex number. There is 
no way around this fact. 



108 



October 1978 ©BYTE Publications Inc 




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 com- 
puter 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 
game products that hook up to household T.V.'s. What sets 
it 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 1 20 pieces of 
compatible equipment such as counters, timers, spectrum 
analyzers, digital voltmeters and printer plotters, from HP, 
Phillips, Fluke, and Textronix, etc., are currently available. 
ROM Magazine, January 1978, 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 1 4K 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 f ullsize 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 
8 x 8 matrix for superb graphics. 

WHAT IS THE PET REALLY FOR? 

It is the single most important teaching device for any com- 
puter related subject. It will entertain the most sophisticated 
data application, or the simplest inquiry/response assign- 
ment. 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 AIM 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 cur- 
rently 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 sus- 
tained rate - with upper and lower case capability- 
Characters are one-eighth inch tall and are printed in a 7 x B 
dot matrix. The printer uses a standard BYs" wide paper 
roll. And, itis 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, 

lK-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 

9 1 /?" 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 structurefor BASIC expansion with peripherals 
BASIC INTERPRETER 

8K BASIC; 20% faster than most ofher 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; 187?" deep; 14" high. Weight: 44 lbs. 



Immediate Delivery 



GAME PROGRAMS ARE $9.95 EACH: 

□ Black Jack □ Draw Poker □ Galaxy Games 
D Space Flight □ Target Bong, Off-The-Wall 

□ Lunar Lander, Wumpus, Rotate, Tic-Tac-Toe 

□ Osero, Reverse □ Spacetrek Q Kingdom 
PROGRAMS AT $ 14.95 EACH: 

□ Mortgage Analysis 

□ Diet Planner and Biorhythm 

□ 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 

D Stock Portfolio Recordkeeping and Analysis- 
keeps track of buys, sells, and dividends. Calculates 
current value, rates of return 
DCheckbook Recordkeeping and Analysis-keeps 
track of checks and deposits. Analyzes expenses 
by date and type 
PROGRAMS AT $29.95 EACH: 

□ Basic Math Package-matrix addition, multiplication, 
determinants and inverses to 1 6 x 1 6, solution of 
simultaneous linear equations, vector and plane geometry 
calculations, integration by trapezoidal, Simpson s rule 
or Gaussian quadrature, differentiation 

□ Basic Statistics Package-mean, median, variance, stan- 
dard deviation, skewness, kurtosis, frequency distribution, 
linear regression, T-tests, correlation analyses 



Circle 76 on inquiry card. 



FREE QRIENTATION PACKAGE 

Your PET comes complete with two programs and an easy- 
to-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, profes- 
sional factory service is never far away. If major service is re- 
quired, 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 in- 
surance. 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-52BB. 
Use THE PET for 30 days with no obligation. If, for any 
reason, you are not satisfied, return it for a prompt and 
courteous refund QRDER DIRECT 

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 



BYTE October 1978 109 



D 

N 




T 




T 




T 




r 























D 


C 


) 

i 


C 

1 


) 

- 


( 


i 


c 


) 

! 






N 


1 













D 


C 


) 


C 


) 

i 


c 

1 


) 

I 


c 


) 

! 










N 


1 



J = I 

K = 2 



J = I 
K = 3 



J = l 
K = 4 





N 
D 


-!- 




-1- 




-1- 





































D 
N 




T 




T 




"1" 

























D 


C 


) 

1 


C 

1 


) 

1 


c 


) 










N 


1 



J = 2 

K = l 



J = 2 
K = 3 



J = 2 

K = 4 







N 


i 


i 
) 


A 
















D 


C 





















I 






N 


| 


-t- 








D 








































D 



1 




T 






N 


I 



J= 3 
K= I 









N 


I 


D 




























D 


( 



J = 3 
K = 2 



















N 


i 


i 

) 


















D 


C 



J = 3 
K = 4 





























N 


-t- 










D 



J = 4 
K = l 



J=4 
K = 2 



J=4 
K = 3 



Figure 5: Sequent/a/ solution for all nodes of a 4 node circuit. This solution is the type that would take place if the optional sec- 
tion 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 suffi- 
cient. 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 




Type 


V1 

(First Floating Point Variable) 


V2 
(Second Floating Point Variable) 


Parallel RL 
Parallel RC 
Parallel LC 
Series RL 
Series RC 
Series CL 


R 
R 
L 
R 
R 
C 




L 
C 
C 

L 
C 

L 




Admittance Value Calculation 




Type 


YR 
(Real Part) 




Yl 
(Imaginary Part) 


Parallel RL 
Parallel RC 
Parallel LC 
Series RL 
Series RC 
Series CL 


1/V1 
1/V1 



V1 

V1 






W1/V2 

WXV2 
WXV2 + (W1/V1) 

WXV2 

W1/V2 
WXV2 + (W1/V1) 



Table 3: Calculations showing how a multicomponent branch admittance cal- 
culation 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 neg- 
ative, W1, are from the single frequency 
analysis routine. All of the parallel combina- 
tions are calculated as impedances first and 
then inverted. Series combinations should 
require less coding if calculated as imped- 
ances 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 mem- 
ory, 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 con- 
sidered as analysis at Hz. Resistances re- 
main the same but capacitors have suscep- 
tance. 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 admittance. In a series RL branch 
calculation, the susceptance calculation can 
be omitted and only the conductance calcu- 
lation 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 © BYTE Publications Inc 



BUY FROM THE BIGGEST 



MT 



\^ 



$795 



S^° 



*s* 




> Only $795 

> Fantastic graphics 

• High-speed 6502 processor 

• Easy to use Extended BASIC 

• Built-in Tape TV and I O 



machm 




Unequalled Features 

The PET S high-resoluti 
Trie University Of Michig 
it to display Ine l-Cfung 



,gan 



reinevai applicatio 



cter graphics allov» you to draw Piclures simulale experiments enhance data etc 
*mg this teature to simulate lesttubes and solulionsat equilibrium Others are using 
taces lor the kids PET BASIC allows editing lines to keep you from having to lype 
clions a greal time saver File slorage on tape casselte is highly valuable lor 



More and more people are buying the PET every day and when you see how easy it isto learn lo use you It know wh) 
Programs and accessory peripherals are now available lor your PET right now No matter where you go you won I dm 
a more capable compuier tor S795 



KIM-1 



Assembled 

$179 

with power supply 

§209 

EXPAND YOUR KIM SYSTEM: 

KIMSI 

KIM to 5-i 00 Board 

K«t S125 

Assembled Jl 69 

Connector sel J15 

KIM4 




.... 

,. , ... !_ w < ? 



KIM ENCLOSURE 



NCE/CompuMart 

1250 North Main Street, Department BYA8 
P.O. Box 8610 Ann Arbor, Michigan 48107 



TUC PFT p E J Wl,h 8K user 

lflt t memory $795.00 

CONNECTION Second Cassette drive $99.95 
RS-232 Printer Adapter — 
assembled board j 9fl 5Q 

With power supply, case & 
OB2S $169.00 

Beeper — PET controlled 
beep $19.95 



Give your KIM a protessional appear 
ance No alterations required sturdy 
Kydex tOO Black 

$23.50 



Video Buffer — add a 
conventional monitor 

$19.95 
BETSI — PET to S- 100 1 O 
Motherboard 
*" $105.00 



Assembled 



$160.00 



READER/PUNCH 






CASSETTE RECORDER (SANYO) 555 f 

connector sel 

Cal No KIMIOK-RCDR3 
MICRO TECH. POWER SUPPLY 
Assembled '2! 

MICRO TECHNOLOGY K-1000 
POWER SUPPLY 

Fully assembled and tesled enclosed I 
m a Bakelite box Outputs are ■ 5VOC I 
at 1 2A • i2VDCat 100mA 7 5VDCat I 
750 mA - 16VDC al 250 mA Power f 
your KIM and additional memory too' 
Assembled 



8 LEVEL PAPER 

TAPE/READER 

PUNCH 

NEW in original box 
$295.00 
USED (90 day 

warranty) $175.00 
Documentation 

Package $15.00 



flutocomputer 




uow •ngtnu p«. < 190 50 

. In nol a™ * ' ** 






The AUTOCOMP mounts m or on 
your dash, and by pushbutton con- 
trol provides LED readouts ot the 
following driving functions Instan- 
taneous MPG Average MPF Fuel 
Used Distance Traveled and Cor- 

AUTOCOMP can be installed on 
it American and Japanese make 
autos and vans except those wtth 
lei miction and is NOT recorn- 
lended for European imports 



NEW ASCII INTERFACES 
for Reader/Punch 

30 Day deliver-y on Interfaces 

Boards & Cables 

Parallel $220 

RS232 Serial j 350 
Board CaDles Power Supply 

Parallel $490 

Serial $615 

Board. Cables Power Supply 
Parallel J575 

Serial $780 



AIM65 



CompucolorH 



TC-71 SELECTRIC TERMINALS 



Disk-based 
Model 3 



■ 8K Graphics. 4K User • Vai 



Smgie board 

VIDEO TERMINAL" 



16Lnx 6dchr display 128pnnlable 
characters software UART tASCil 
or Baudot) 3 serial interlaces - 
cassette I true composite video 
ASCII keyboard (parallel mput)TTL 
compatible easy power con- 
nection 

Assembled & tested NOW Si 87 



GRI ASCII 
KEYBOARD 




53 keys in standard ASR-33 layout 

Kit $59.95 

AssemDIed $71.95 

Enclosure $14.95 



New Acoustic Coupler 
for use with ASCII TC-71 

$159 



TELETYPE 

MODEL 43 
TELEPRINTER 

Dot matrix impact 30 or 10 cps 
prmls lull I94chr ) ASCII set 
Sprockei leed TTL interlace 

$1,143 
Sprocket leed EIA interlace 

$1,377 



90 day limited warranty 
Newest, most exciting products in per- 
sonal computing 
Outstanding values 
All items fully assembled and tested 
unless otherwise stated. 
Send for our catalog for more detailed 
product information. 



Basefl uponlhe heavy duly selec 
trie mechanism RS232 PTTC 
code See catalog loi deiiuls iint) 
easy interlacing information 
Speciiy table topor veisioti with its 
own desk 



Relurbished 
Cleaned & working 
AS IS 

Documentation 



J695 
$495 
$339 



, E ASCII INTERFACE FOR TC-71 

S^ 30 c1.iv oe mn Normally S199 N0WS169 



!e iven Normally S199 

Acouslic Coupler lor use wilri ASCII TC-7 




5159 






I 



yVIM-1 

From Synertek $269.00 



LEAR-SIEGLER 

ADM-3 

VIDEO TERMINAL 



24 Ln , 



chi display 



K,t Reg S795 NOW $755 

Assembled & tested 

Reg $895 NOW $850.25 
Lower case option $50 



1-800 



1534 



PIXE-VERTER 

S9.95 

The original video lo RF conver- 
ter Converts any good T V lo a 



HI PLOT™ 



MATROX VIDE( 
I RAMS S-100 

ALT-24B0 24LN x B0CH 
display I 

ALT-256 256 it 256 riot 
display ! 



• Michigan residents add 4% sales tax. • Foreign orders 
add 10% additional handling (U.S. funds only). • P.O.'s 
accepted from D&B rated companies. • Toll FREE phones 
open from 8:30 AM — 7:00 PM EST. * Open accounts 
invited — call for credit application. • All orders add 4°o 
shipping & handling.* Sameday shipment on prepaid and 



Table-top 

DatellSelectric 
Terminals 



£ 



SANYO 
MONITOR 



VMd2D9 9 qu.il 



INTEGRAL DATA 
IP-125 I MPACT 
PRINTER ESI S799 

RS232C or parallel interlace, lull 
uppers lower case ASCII 8Vj paper 
baud rates to 1200 80 columns 
built in sell-test 

NOW only $749'when pur- 
chased with COMPUCOLOR II 
PET, VIM, KIM OR AIMi" 




Tl 
PROGRAMMER 



Reg. $59.95 NOW $53.95 



from $395 



Books 



DtscniFNON f«ict 

Telephone Accessories You 

Can Build 4.95 

The Firsl Boo* ol KIM 

(New Edition) 9-° n 

Basic BASIC: An Introduction 7.95 

Advanced BASIC Application and 

Solutions 6.95 

Home Computers 

A Beginners Guide 6.95 

THE A0AM OSBORNE SERIES 

An Introduction to 

Microcomputers V, 7.50 

An Introduction lo 

Miemcomputeis V I 7 50 

An Introduction to 

Microcomputers V. II 15.00 

8080 Prog lor Logic Oesign 7 50 

6800 Prog loi Logic Oesign 6 95 

Some Common BASIC Programs 7 50 

WORKBOOKS FOR PET 2001 
Descriptive textwith many eneroses and 



sample prog r a 

Getting Staited Willi Your PET 

PET Stnngand ArrayHandling 

PET Graphics 

PET Cassette I 

Miscellaneous PET Features 

PET LITERATURE PACKAGE 

a coiiecnon ot ttiree wtuaWs DilNlCI 

tions refaling to Ine PET 2001 

CPETZThe PAPER PET User Holes 5.00 



4.00 



3 95 



credit card orders, except as noted. • Sorry — NO C.O.D. s. 

• All prices subject to change without notice. • Write for 
giant FREE catalog. • Handling charge of S1 .50 for orders 
under $10.00 

• In the Ann Arbor area? Retail store open 1 1 :00 AM — 7:00 
PM Tuesday-Friday 10:00 AM — 5:00 PM Saturdays. 



Circle 283 on inquiry card. 



BYTE October 1978 



f ANALYSIS j 



SET MATRIX 
TO ZERO 



S Pl=0 \ 


MO 














YES 


ADD Y TO 
M(PI,P2) 


' 






< ^ Nl 


= >. 


NO 






\* 


> v^~ 










YES 


SUBTRACT Y 
FROM M(N1,P2) 


1 


1 


L 










K = K + I 







YES 



f RETURN J 



Figure 6: The ANALYSIS routine, which 
performs the setup for the MA TRIX solu- 
tion routine. ANALYSIS checks what 
type of branch is under analysis and calcu- 
lates the admittance according to the for- 
mula of table 1. 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 

^^ C 1Q7R Mlrh^ol Qhrauor 



TM 



The Electric Pencil I I 

Word Processing System. 
entered as a string of c 
Is manipulated as such 
enormous freedom and e 
handling of text. Since 
delineated, any number 
lines or paragraphs may 
anywhere In the text, 
shifts and opens up or c 
view of the user. The ty 
as well as word hyphen 
since lines of text are 



Is a Character Or lented 
This means that text Is 
ontlnuous characters and 
. Th I s all ows the user 
ase In the movement and 
line endings are never 

of characters, words, 
be Inserted or deleted 
The entirety of the text 
loses as needed In full 
ping of carriage returns 
atlon Is not required 
formatted automatically. 



1978 Michael Shrayer 

As text Is typed In and the end of a screen 
line Is reached, a partially completed word Is 
shifted to the beginning of the following line. 
Whenever text Is Inserted or deleted, existing 
text Is pushed down or pul led up In a wrap 
around fashion. Everything appears on the video 
display screen as It occurs which eliminates any 
guesswork. Text may be reviewed at will by 
variable speed scrolling both In the forward and 
reverse directions. By using the search or the 
search and replace function, any string of 
characters may be located and/or replaced with 
any other string 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 I I 

Is also compatible with 
lmsal°s IMDOS. HELIOS 
versions SSH and DSH are 
now ready. The NEC print 
package Is now available. 
A utility program that 
converts PENCIL to CP/M 
to PENCIL f I les Is ready. 
"CONVERT" Is only $35.00. 



NEW FEATURES: * CP/M, IMDOS and HELIOS Compatible * Supports 
Four Disk Drives * Dynamic Print Formatting * DIABLO as wel I as NEC 
printer packages * Multlcolumn Printing * Print Value Chaining * 
Page-at-a-t I me 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-Prlntlng Text Commenting * 
Line and Paragraph Indentation * Centering * Under I f n Ing * BOLD FACE * 



I D E 



SCREEN 



I DEO I ! ! 



Available to Imsaf VIO video users for a huge 80x24 character screen. 
These versions put almost twice as many characters on the screen !!! 



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 Imsaf 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 Mfcropolfs or North Star disk systems as follows: For North Star add 
suffix A to version number, for Mfcropolfs add suffix B to version number, e.g. SS-IIA, DV— MB- 



Vers 


Video 
SOL 


Printer 
TTY or slml lar 


Price 
$225. 
















SS-I 


a 


Mfe 










SP-I 


VTI 


TTY or slml lar 


$225. 




W 


n 


MICHAEL 


SHRAYER SOFTWARE, INC. 




SV-I 


VDM 


TTY or slml lar 


$225. 




ml 


■• 


1253 


Vista Superba Drive 




SR-I 


REX 


TTY or slml lar 


$250. 




m 


** 


G 


endale, CA 


91205 




Sl-ll 


VIO 


TTY or slml lar 


$250. 




3 


i^ 




(213) 956-1593 




DS-I 
DP-I 
DV-I 


SOL 
VTI 
VDM 


Diablo 1610/20 
Diablo 1610/20 
Diablo 1610/20 


$275. 
$275. 
$275. 




























DR-I 


REX 


Diablo 1610/20 


$300. 














Dl-I 


VIO 


Diablo 1610/20 


$300. 


Electrl 


c Pencil 1 Is still available fo 


r non CP/M usei 


~s: 


NS-I 


SOL 


NEC Splnwrfter 


$275. 














NP-I 


VTI 


NEC Splnwrlter 


$275. 


Vers V 


Ideo 


Printer 


Cassette 


Disk Dr Ive 


Price 


NV-I 


1 VDM 


NEC Splnwrfter 


$275. 














NR-I 


REX 


NEC Splnwrlter 


$300. 


SS 


SOL 


TTY or slml lar 


CUTS 





$100. 


Nl-I 


VIO 


NEC Spfnwrlter 


$300. 


SP 


VTI 


TTY or slml lar 


Tarbel I 





$100. 


SSH 


SOL 


Hel los/TTY 


$250. 


SV 


VDM 


TTY or slml lar 


Tarbe I I 





$100. 


DSH 


SOL 


Hel fos/Dlablo 


$300. 


SSN 


SOL 


TTY or similar 


CUTS 


North Star 


$125. 










SPN 


VTI 


TTY or slml lar 


Tarbe I I 


North Star 


$125. 


UPGR 


AD ING POLICY: 


on of 


SVN 


VDM 


TTY or slml lar 


Tarbel I 


North Star 


$125. 


The 1 


Electric 


Pencl 1 may be upgraded 


OS 


SOL 


Diablo 1610/20 


CUTS 





$150. 


at a 


ny time 


by simply returnl 


ng the 


DP 


VTI 


Diablo 1610/20 


Tarbe I I 





$150. 


2£_LS 


In^i dls 


k or cassette and the 


DV 


VDM 


Diablo 1610/20 


Tarbe I I 





$150. 


pr I c 


e difference between versions 


DSN 


SOL 


Diablo 1610/20 


CUTS 


North Star 


$175. 


p 1 us 


$15 .00 


to MSS. Accept 


only 


DPN 


VTI 


Diablo 1610/20 


Tarbel I 


North Star 


$175. 


orlg 


Inal med I 


a at time of pure 


hase . 


DVN 


VDM 


Diablo 1610/20 


Tarbel I 


North Star 


$175. 






Demand a 


demc 


> from your dealer ! 






ircle 3 


19 on inquir 


y card. 














BYTE October 1 


978 11 



f SWEEP J 






L = 
F=MINF 



^ f 



L- L+l 



ANALYSIS 



CALCULATE 
ANSWER 



STORE OR 

PRINT 

SOLUTION 



I 1 

| LOGARITHMIC | 
I I 



Figure 7: The SWEEP rou- 
tine, used to perform a 
number of analyses on a 
particular circuit over a 
frequency range. Two 
types of sweeps are possi- 
ble: linear and logarithmic. 
The variable DELTA is 
used as an increment and 
also as an indicator of 
which type of sweep analy- 
sis is to be performed. If 
DELTA is negative, a 
logarithmic analysis will be 
performed; if DELTA is 
positive, a linear analysis 
will occur. 







YES 


' / DELTA<<N 

v ? y 


NO 


















F=-(FxDELTA) 


F=F+DELTA 












( RETURN J 



I 1 

I LINEAR | 
I I 



100 mhos conductance specified above. In 
all branches at Hz the susceptance would 
beO. 



Frequency Sweeping 



PLUS 

NODE 



0- 



. PLUS 
NODE 



MINUS- 

NODE * 

DEPENDENT 
BRANCH 



•CD 



I = gm x e 



.MINUS 

NODE 



DEPENDENT 

CURRENT 

SOURCE 





Matrix Array Subscripts 


Enter into 


Row 


Column 


Array by 


Plus 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 maxi- 
mum analysis frequencies must be specified 
plus an increment. Most solutions over a nar- 
row range will have a small increment but it 
is often useful to have a logarithmic fre- 
quency 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 multi- 
plier 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 so- 
lution 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 anal- 
ysis and yet retain it in the branch list. It is 
the same as removing or replacing a compo- 
nent 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. An- 
other method is to devote one byte per 
branch with a numeric value of +1 if con- 



nected and 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 calcu- 
lations 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 transcon- 
ductance, and admittance calculation for so- 
lution 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 pro- 
duces 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 cur- 
rent 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 Sineti 





Fin 
of the 
for wh 



/ j/ 

S Fin 

creatures ever to have lived on planet 
earth, grow up to 24 meters in length (ex- 
ceeded only by the 30-meter Blue Whale), and 
nhabit all the oceans of the world. Tens of thousands of 
Whales have been "harvested" in recent years, by agreement 
International Whaling Commission, for the sale of products 
ich substitutes are readily available. 



The CONNECTICUT CETACEAN SOCIETY is a small, totally volunteer, non-profit edu- 
cation and conservation organization dedicated to seeking the abolition of all whale killing. Any 
concerned citizen can help our efforts by sending name and address and a $1 5 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 



1 



W=Fx2xtt 
WI = -(I/W) 
K=l 



K>NMAX 

TEST 



NO 



'main 

I IMPEDANCE | 

PATCH POINT 



PI = PLUS NODE 
NI = MINUS NODE 



GET TYPE 
INDICATOR 



GET SWITCH 




YES 



YES 



P2 = 
NMAX+ 



CALCULATE 



factor and is determined by node number 
entry order of both the source and depend- 
ent 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 direc- 
tion 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 di- 
rect current source analy- 
sis. Switching allows a 
branch to be taken out of 
the circuit and reinstated 
at a later time. The direct 
current source analysis 
simplifies the calculations 
at Hz. The routine can 
be patched into ANALY- 
SIS at the indicated points. 



Pdirect ^ 

| CURRENT [ 

SOURCE TYPE 




J- : 



NO 



J 



P2 = PI 



YES 



DEPENDENT 
BRANCH 
NUMBER= 
SWITCH 



P2=DEPENDENT 
BRANCH MINUS 
NODE 



N2=DEPENDENT 
BRANCH PLUS 
NODE 




Nl = 
TEST 



P2 = 
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 de- 
pendent 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 




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 techno- 
logy 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 appli- 
cation of digital logic. Learning by self- 
instruction 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 chang- 
ing technological world around you. 

The courses are designed as much for the 
professional engineer as for the amateur 
enthusiast. You'll learn about microprocess- 
ing 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 understand- 
ing of the design and operation of micro- 
processors 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; canon- 
ical forms; logic conventions; Karnaugh map- 
ping; 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 Rci., Royal Oak, Ml. 
The Madison Computer Store, 1863 Monroe St., Madison, Wl. 
Personal Computer Corp., Lancaster Ave & Rt. 52, Frazer, PA. 
Computer Shoppe, 3225 Danny Pk., Metairie, LA. 
Computer Corner, 200 Hamilton Awe., White Plains, NY. 
Imperial Computer Systems, Inc., 2105 23rd Ave., Rockford, IL. 
Home Computer Center, 6101 Yonge St., Willowdale, Ontario, Canada 

and many others. Ask your dealer 



Book 3: Half adders and full adders; sub- 
tractors; serial and parallel adders; processors 
and arithmetic logic units (ALUs); multi- 
plication and division systems. 

Book 4: Flip-flops; shift registers; asynch- 
ronous counters; ring, Johnson and exclusive 
-OR feedback counter; random access mem- 
ories (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 decod- 
ing; control program structure. 

Book 6: Central processing unit (CPU); 
memory organization; character represen- 
tation; program storage; address modes; 
input/output systems; program interrupts; 
interrupt priorities; programming; assemblers; 
executive programs, operating systems, and 
time-sharing. 

BASIC COURSE 



Digital Computer I Digital Computer 
Logic and I Logic and 

Electronics I Electronics 



8s_B> 




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. 

H0WT0 ORDER 

To order by credit card, call GFN's toll- 
free 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 post- 
age. 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 #79.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 volumes- 
each IV/2" x 8%"— and serves as an intro- 
duction 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 flip- 
flops; binary counters, shift registers and 
half-adders. 



fr 



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 accu- 
rate, use the extra integer per branch for 
both switching and dependent branch iden- 
tity. 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 



K>NMAX \ NO 
TEST / 




M(NS,NMAX + I) = 
1+jO 



W=Fx2xtt 
Wl=-(l/W) 

K=l 



PI = PLUS NODE 
P2 = MINUS NODE 



GET TYPE 
INDICATOR 



GET SWITCH 




YES 




YES 




Figure 9: A patch that can be made to figure 8 to further increase the cal- 
culating 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 disre- 
garding all generators, placing a value of 
unity in the proper generator column posi- 
tion and then solving the matrix as before. 

This may seem too simple. To under- 
stand it, consider once again the circuit of 
figure 1 and the position of solution numer- 
ators and denominators. Denominators al- 
ways lie in the main diagonal and numer- 
ators always lie in the generator column. Im- 
pedance analysis will have only one gener- 
ator column entry since all other generator 
branches automatically bypass any entry in- 
to the matrix. 

A unity current is simply (1.0 + jO), 
1 A with no phase shift. This is the condi- 
tion 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 ad- 
mittance 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 pro- 
gram to identify analysis type. It is con- 
sidered to be on for impedance and of f for 
voltage analysis. It can be logical, integer 
or a single bit, but must be available if both 
types are desired. 

Implementing impedance analysis re- 
quires 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 f 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 tran- 
sient analysis programs. 



118 October 1978 O BYTE Publications Inc 



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 hex, the 8080 needs 6K 
starting at 1000 hex. Both should have additional file 
space as required. 

SL68-24 

SL68-24C 

SL68-24P 

SL68-24D 

SL68-24F 

SL80-10 

SL80-10P 

SL80-10F 



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. 



6800Text Editing System 


$23.50 


SL68-29 


6800 Text Processor 


$32.00 


w/ cassette 


30.45 


SL68-29C 


w/cassette 


38.95 


w/paper tape 


31.50 


SL68-29P 


w/paper tape 


40.00 


w/SWTP Mini Disc 


31.50 


SL68-29D 


w/SWTP Mini Disc 


40.00 


w/SWTP DMAF Disc 


50.00 


SL68-29F 


w/SWTP DMAF Disc 


75.00 


8080 Text Editing System 


$28.50 


SL80-11 


8080 Text Processor 


$32.00 


w/paper tape 


37.50 


SL80-11P 


w/paper tape 


41.00 


with CP/M Disc 


40.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. 

SL68-26 6800 Mnemonic Assembler $23.50 
SL68-26C w/cassette 30.45 

SL68-26P w/paper tape 31.50 

SL68-26D w/SWTP Mini Disc 31.50 

SL68-26F w/SWTP DMAF Disc 50.00 

SL80-1 2 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 1 K 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™ $1 2.00 

SL68-5C w/cassette 18.95 

SL68-5P w/paper tape 19.00 

SL80-9 8080 Space Voyage™ $1 2.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. 

2|i_^Hy^ Box 2574 W. Lafayette, IN 47906 



Circle 370 on inquiry card. 



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, easy- 
to-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'll 
quickly become an expert in computer 
programming and operation . . . even if 
you've had no experience with com- 
puters before ! 

In just a few hours of pleasurable 
kit building, you can assemble a ver- 
satile computer system that offers fea- 
tures 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 be- 
come outdated because you can ex- 
pand 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 cur- 
rently 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 ex- 
pansion. You can install all the op- 
tional 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 applica- 
tions for it. Here are just a few ways 
you can take advantage of this 
computer's amazing versatility: 

EDUCATION: Solve math and sci- 
ence problems with ease. Use it as a 
tutor on most any subject. It's a valu- 
able study aid for any student from 
grammar school to medical school . 

HOUSEHOLD: Organize, index, and 
store data on household finances. Cal- 
culate your income tax, record lists, 
balance your checkbook, and more! 

BUSINESS: Program RECOMP - 1 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 profes- 
sional. 



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 com- 
plete guide to all phases of computer 
construction, programming, and oper- 
ation. This all-inclusive course con- 
tains: 

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 cov- 
ers the essentials to give you a work- 
ing knowledge of the latest in microp- 
rocessor technology. You don't need 
a degree in computer science to un- 
derstand how computers work. This 
course explains it all in easy-to- 
understand language. 

Simplified programming methods . 
You'll be amazed at how easy compu- 
ter programming can be. With this 
crash course in programming techni- 
ques, 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 com- 
puter 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 ship- 
ping and handling charges . 

RECOMP -I comes to you on a 
15 -day trial basis. If you're not com- 
pletely 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 one- 
year warranty. Your investment's pro- 
tected — you can't go wrong! 

Let our RECOMP -I kit and com- 
puter course introduce you to the 
world of the personal computer. 
You'll discover for yourself how use- 
ful, and how much fun, a home com- 
puter 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. 



R 



A Prentice-Hall Company 
11480 Sunset Hills Road 
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 1 5 days for a full refund. 

D 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, 
1 1 480 Sunset Hills Road, Reston, Virg inia 22090 

For IMMEDIATE service, dial your bank card orders toll free! Just 
call 800-336-0338 



□ Visa/BankAmericard No. 

D Master Charge No 

Interbank No. 



.Expiration date . 



□ Check or M.O. enclosed. 
NAME 



_Signature- 



ADDRESS_ 
CITY 



_STATE. 



.ZIP. 



Please add your state's sales tax where applicable. 



Dept. BM 



Circle 313 on inquiry card. 



BYTE October 1978 



121 



I III 1121 J I l_J l_J_ 

I i ll II 2 2 1 12 1 I I 

] | II II 12 2 2 2 I II 

7" l II II 32043221 

I ! 2111 3434Q2II 

I | 2Q2IIIII 3Q4342II 

~\ | 2 2 1 3 3 4 2 2 J. I 

q 2 12 11 II Q3333I22 



foj 



(b) 



(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 chess- 
board in such a way that no Queen can take 
another. [For the benefit of nonchessplaying 
readers, the Queen can capture any piece 
that is in direct line with it horizontally, 
vertically or diagonally. No detailed know- 
ledge of chess is required in order to under- 
stand 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 64!/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 dis- 
cover. If the 370 evaluated 10,000 posi- 
tions 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 Inc 



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 en- 
riching 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 



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: 

□ 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 atthe Personal 
Computing Festival. 

Name 

Company 

Street 

City 



_State_ 



_Zip_ 



I 

I 
I 

I 

J 



Circle 271 on inquiry card. 



BYTE October 1978 



123 



10 DIM A(8,8),A$(10),F(8) 

11 FORT=1 TO 10 

12 READ A$(T) 

13 NEXTT 

14 DATA "0" f "1 " f <'2" f "3" f "4","5","6","7" f "8","9" 

20 C=0 

30 C=C+1 

40 IF C=9THEN 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 f 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=0THEN 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>8 THEN 220 

190 IF B<1 THEN 220 

200 A(A f B)=A(A f B) + D 

210 NEXTZ 

220 NEXTY 

230 NEXTX 

240 RETURN 

250 FOR X = 8TO 1 STEP -1 

260 FOR Y=1 TO 8 

270 IF A(Y,X)=-1 THEN 290 

280 PRINT A$(A(Y f X)+1); 

281 GOTO 300 
290 PRINT "Q"; 
300 NEXTY 
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)=0THEN 440 

420 NEXTX 

430 GOTO 340 

440 A(C,X)=-1 

441 F(C)=X 

450 D=1 

451 E=X 

SS To^T listing 1: A BASIC pro- 

480 END gram for solving the eight 

Queens problem. 



positions to search, a far cry from 
1.7846289 x 1014 or eV en 8^. But a pro- 
gram 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 solu- 
tion just wasn't going to work. 

Final Method 

A determined human, after trying permu- 
tations 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 subse- 
quent Queens. A methodical procedure 
would be as follows (I have shown in paren- 
theses 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. Con- 
tinuing 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 com- 
prehend 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 ever 
wanted to know about 
microcomputers in 
ONE complete book 
for only $10.95 



Over 400 pages. Full 8I/2" x 11" size. 



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 any- 
where. This is the book 
that everyone who is into micro- 
computers needs for reference, 
for ideas, for clues to problem 
solving. It is a truly authorita- 
tive text, featuring easy-to-read, 
easy-to-understand articles by 
more than 50 recognized pro- 
fessional authors, who know and 
love microcomputers from the 
ground up. Logical and com- 
plete, it features many glos- 
saries, and is illuminated with 
profuse illustrations and photo- 
graphs. 

The Scelbi/BYTE Primer is 
divided into four logical sec- 
tions, that take you from point 
"0" through building and pro- 
gramming your own computer. . . 
step-by-step-by-step. 

What can you do with a micro- 
computer? Checkbook balanc- 
ing. Recipe converting and food 
inventory. Heating and air condi- 
tioning control. Home and busi- 
ness security and management. 
Playing the ponies. Analysis of 
the stock market. Maintaining 
massive data banks. Self-instruc- 
tion. Toys and games. Small 
business accounting and inven- 
tory. And lots, lots more. 



How does a microcomputer do 

it? Lots of "how to" theory. In- 
troducing you to microcomputer 
operation. 6800, 6502, Z80 CPU 
chip capabilities. RAM and ROM 
memories. Addressing methods. 

lit 

SSEIHEITE 

trnnts 

Over 400 pages. Selected articles 
from BYTE and SCELBI books. 
Profusely illustrated. Many 
photographs. $10.95, plus $7 
shipping and handling. 

How to control peripherals. 
Transmission of information to 
and from computers. Magnetic 
recording devices for bulk stor- 
age. Analog to digital conver- 
sion. How a computer can talk. 
Other I/O techniques. And more. 



Order your copy today! 


SCELBI COMPUTER 




CONSULTING INC. 


BITS 


Post Office Box 133 PP STN 


25 Route 101 West 


Dept. B 


P.O. Box 428 


Milford, CT 06460 


Peterborough, NH 03458 




1-800-258 5477 



Prices shown for North American customers. 
Master Charge. Postal and bank Money 
Orders preferred. Personal checks delay 
shipping up to 4 weeks. Pricing, specifica- 
tions, availability subject to change without 
notice. 



*S» 



All about building a micro- 
computer system. Over 12 com- 
plete construction articles. Flip- 
flops. 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. Mathe- 
matics functions. ROM program- 
mer. Plus much, much more. 

How to program a micro- 
computer. Programming for the 
beginner. Assembling programs 
by hand. Monitoring programs. 
Number conversions. Game of 
Hexpawn. Design your own as- 
sembler. Lots more. 

And that's only the beginning! 
Others have spent millions ac- 
quiring the type of microcom- 
puter 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. 




(he fflullen CB-I 

■ IMPWb ****** " m »««| 

(roller 
Board: 
uj only 188 

FTiTlifHfffT?! i i h t ^i i i fin l tiff! ! mli If miiiii^ 

People hove used our original model CB-0 Controller 
Doord for controlling audio systems, model railroads, time 
lapse photography, and dozens of other applications re- 
quiring intelligent, computer-controlled switching. 

Our improved model CD-1 has all 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-1 00 buss 
compatibility, address selection switch, quality com- 
ponents and board, and so on. 

But . . . the limited use (and expensive!) flat cable con- 
nector has been replaced with new connectors; these 
allow you to use pairs of wires of mixed gauges 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-isolotors. 

The best port 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 (mail orders shipped postpaid in USA,- Californians 
and sales tax). 

MULLEN COMPUTER R HAPIV; 

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 chal- 
lenge, 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 I'll 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 thatwecan 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. 



TOStOC**** 



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* FrL & Sat. 10:00-6:00 



126 



October 1978 © BYTE Publications Inc 



Circle 74 on inquiry card. 



Programm in g in FftSCftt 



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 sin- 
gle-user software system based on PASCAL 
has been developed at the University of Cali- 
fornia at San Diego, where the author is a 
professor in the Department of Applied Physics 
and Information Science. This system em- 
bodies 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 pro- 
gramming and problem solving process, 
including problem specification and 
organization, algorithms, coding, de- 
bugging, testing, documentation, and 
maintenance. 

(2) To teach good programming style and 
how to produce a high quality finished 
Product. This is brought out in numer- 
ous style examples throughout the text. 

(3) To teach the syntax of the PASCAL pro- 
gramming language. 

PASCAL is used as a vehicle to teach various as- 
pects of programming techniques. $12.95. 

r ASCAL User Manual and Report (Second Edition) by K Jensen 

and N Wirth consists of two parts: the User Manual and the Revised Re- 
port. The Manual is directed to those who have some familiarity with 
computer programming and who wish to get acquainted with the PAS- 
CAL 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. 

r rogramming in PASCAL by Peter Grogono. This book is an ex- 
cellent introduction to one of the fastest growing programming lan- 
guages. 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. 




Spmoe 



, 



KStfESl 



Speaking of 

PASCAL 




I he 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 sophis- 
ticated 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, al- 
though 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. 



mc 



Books to erase the impossible 



Name. 



POB428, 25 Route 101 West 
Peterborough NH, 03458 

My check enclosed: 

Check ** : 

Amount: 



Address. 
City 



-State- 



.Zip. 



Signature. 



Total 




Number of books . 



My card ~ 



Expires; 



Postage $. 75/book or 
$1.00 outside U.S. 



Prices subject to change without notice. 



Grand Total 
Dealer Inquiries Invited. 



You may photocopy this page. 



Circle 35 on inquiry card. 



BYTE October 1978 127 




COMPOTCRS 
JIIML - 
IMF 



$fc*°^ 



HOW TO REPAIR VIDEO GAMES by Robert Goodman. 

D 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 equip- 
ment. Some manufacturers covered are equipment manu- 
facturers 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 INFOR- 
MATION PROCESSING 2nd Edition by Martin H Weik. 

□ This is a very complete, fully cross-referenced diction- 
ary. It goes a step farther in that it includes full expla- 
nations, 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 compre- 
hensive 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 char- 
acteristics, numbering systems, and common "workhorse" 
types. An essential book for anyone involved in the design 
or construction of electronic equipment — home experi- 
menter, technician or design engineer. 309 pp. $6.95. 



AN INTRODUCTION TO PERSONAL AND BUSINESS COM- 
PUTING 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, peri- 
pherals, and techniques, this book serves well as an edu- 
cational text. 245 pp. Only $6.95. 

THE MIND APPLIANCE: HOME COMPUTER APPLICATIONS 
by T G Lewis. 

D If you are looking for household uses for your micro- 
computer, 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?" 1 38 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 process- 
ing, 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 tech- 
niques developed in this instructive text, you will produce 
clearer and more easily read programs. 1 51 pp. $5.95. 



BITS New Selections 



POB 428, 25 Route 101 West 
Peterborough NH, 03458 



128 



BYTE October 1978 



Computer Chess 



CKess and 
Manputers 




CHESS SKILL IN MAN AND 
MACHINE edited by Peter W 
Frey. 

□ A game of endless varia- 
tions, chess has challenged 
our skill for centuries. This 
book surveys our current 
understanding of human 
chess skill and covers the 
subtleties of coaxing a ma- 
chine to play chess. The ini- 
tial chapter and appen- 
dix present a brief history 
of the computer chess tour- 
naments. The next two 
chapters describe the essen- 
tials 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 program- 
ming. In the final chapter, a former cap- 
tain of the U.S. Olympic chess team asses- 
ses 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 pro- 
grams 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 thor- 
oughly enjoy this book, 
which is loaded with chess 
games played by computers. 
The first chapter describes 
the earliest chess "ma- 
chine," the famous Auto- 
maton chess player that 
toured Europe and America. 
There is a detailed account 
of Torres y Quevedo's in- 
vention that played the 
ending of King and Rook 
against King. There is also a 
description of how com- 
puters play chess, including 
an account of early Soviet 
attempts at chess program- 
ming that contains much 
nformation hitherto unpub- 
lished outside the Soviet Union. 
Many examples of computer play 
are given, which provide an excellent 
insight into the problems facing chess 
programmers. 145 pp. $8.95. 



f 



1976 U.S. COMPUTER CHESS CHAMPIONSHIP by 
David Levy. 

□ This book includes a detailed analysis and des- 
cription of all the tournament games played at the 
seventh annual U.S. Chess Championship held in Octo- 
ber 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 com- 
puter. 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. 



rr- 

XOTJRSE^F 
HANDBOOK: 






„* A 



jr 



» 



SP* 



For your convenience in ordering, please use these pages plus the order form on page 1 27. 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 ex- 
citing 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 char- 
acters 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 hori- 
zontal rows of null ("?") 
characters. 




130 



October 1978© BYTE Publications Inc 



I have just completed one of the more 
satisfying electronic experiences in my life. 
1 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 prefer- 
able, but Murphy's Law usually prevents 
it. I have just finished assembling the Heath- 
kit 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 equip- 
ment), 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 com- 
ponents by manufacturer's part number, 
Heathkit part number, and reference desig- 
nation 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 elec- 
trically 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 trouble- 
shooting 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. . . 

This series of pictures illustrates 
several aspects of the construction of 
the Heathkit H9 terminal. The pictures 
begin about midway through the con- 
struction 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 inte- 
grated circuits installed backwards. 

The entire building procedure took me 
about 1 8 hours [but reports from other 
builders, such as yours truly, indicate that it 
can take as long as 40 hours. . .CH/. Some- 
times 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- 




ERIKYBE 



KTOEC0RPOflAtK)N 

132 Olivary Street, WaHtem. Mass. 02154 
Tel. (617) 89S-GOI2: Telex SM-0179 
OH ices & representatives worldwide 



Circle 204 on inquiry card. 



October 1978 © BYTE Publications Inc 



131 



Photo 3: One of the most 
tedious tasks when as- 
sembling the H9 is manu- 
ally checking each switch 
of the keyboard. Here, 
two metal cake pans are 
used as input (back- 
ground) and output (fore- 
ground) of the process of 
checking each switch with 
an oh meter. 



Photo 4: After soldering 
the switches to the key- 
board 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 keytop. 



Photo 5: Eventually all the 
keys are marked properly 
and the completed key- 
board is ready for instal- 
lation. 






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 inter- 
face 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. Tem- 
porary 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 cir- 
cuit 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 ex- 
pected. 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 



tes^ 



lour 
BASIC Needs Are 

Filled By 
HAYDE& 
Books! 



Basic BASIC, Game Playing with BASIC, and 
The BASIC Workbook are just three of Hayderfs 
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 work — 
so you can get to work in BASIC quickly and with 
desired results. 



So, whatever your BASIC needs are, H AYDEN has jf *^ 
the answer. J^c^sT 

H AYDEN— The Best in BASIC! Jrj%\ s>\ 



«J> op 



vS\ 



# 



,^>° 












15-Day Money-back Guarantee !y>\^£> 

Hayden Book Company, Inc. ^r V 

50 Essex Street f 

Rochelle Park, NJ 07662 f 



tP*A 







Circle 159 on inquiry card. 



BYTE October 1978 



133 




Photo 6: After 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 sub- 
modules 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 inter- 
facing. 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 soft- 
ware 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 ad- 
justing 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 micro- 
processor system. And what's more, it 
worked the first time." 



Photo la: A good practice 
when assembling compli- 
cated kits is built into the 
Heathkit manuals: a parts 
check off. In this photo- 
graphy the parts for the 
"RAM and counter circuit 
board" have been un- 
packed from the paper 
bags, with loose parts 
placed in the baking pan at 
the left. 




Photo lb: 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 as- 
sembly. In this photo, the 
circuit board for the new 
module and a conductive 
foam pad with the inte- 
grated circuit parts are 
both placed at the back 
of the two pans. 



October 1978 © BYTE Publications Inc 



135 



Programming Oubkies 



! ! ! 

+ +-+ + +-+ +-+-+ + + +-+-+-+-+-+ +-+ + 

! ! ! ! ! I ! ! 

+ +-+-+-+-+-+ + +-+ +-+-+ + +-+ + + +-+ 

III I i 

+-+-+-+-+ + + + +-+ +-+ + +-+ +-+ +-+ + 



+ + + +-+-+-+ +-+ +-+ +-+ + +-+ + +-+ + 

r II! 

+-+-+ +-+ + +-+ + + +-+-+-+-+ + + + +-+ 



t \ 



i i 



+-+ +-+-+ + +-+-+-+-+ + +-+-+-+ + + + + 



? i 



! I 



+ +-+-+-+-+ +-+-+ + +-+ + +-+-+ + + + + 

! ! ! ! ! ! 

+-+-+ + + +-+ +-+-+ +-+-+-+ +-+ + +-+-+ 
ill i i i i i 

+ +-+ + +-+-+-+ +-+-+-+-+-+ + +-+-+ + + 

! ! ! ! ! ! ! 

+-+-+ + +-+ +-+-+ + + + +-+-+ + + + + + 
i i i i I 

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?" 



+-+ 

+ +■ 

+ -+ 

+ +■ 

+ + 
I i 

+ + 
j I 

+ +■ 

+ - + - 

+ +- 
i i 

+ +■ 

! I 

+ + 

+ - + - 



-+-+ +-+-+-+- 



+ - 
[ 

+ - 

+ - 
J 

+ 



- + 

+ 
J 

- + 

+ 
! 

+ - + - 

■ + - + 
I 

+ - + - 

+ - + 

+ - + - 

+ - + - 
I 

+ - + 



+ - + 
I 

+ + 
I 

+ - + - 

+ - + 
! I 



+ - + - 

+ - + - 
I 



+ + 
I I 

+ + 
I 

+ - + 
I 



+ +- 
J ! 

+ + 
I 

+ - + ■ 
- + - + - 



+ 
J 

+ 
I 

+ 
I 

+ 
1 

+ 
I 

+ 
[ 

+ -+- 
+ - + 
+ - + - 



+ - + 

+ - + 

+ - + 
I 

+ - + 

+ +" 
I I 

+ +" 

+ + 
I I 

+ +" 

+ - + - 
! t 

+ + 
+ - + - 
+ - + - 



-+-+-+-+- 



■ + - + - 
I 



+ - + 
I 



- + 

+ 
I 



+ 
I 

+ 

! 



+ - + 

I 

+ +" 
I 

+ - + 

+ + 
] 

+ - + 
1 

+ - + 

+ + 
! 

+ +■ 



+ +■ 
I I 

+ + 
+ - + - 

I 

+ +■ 
I 

+ +■ 
I 

+ - + 

I 



+ 

+ 
I 

+ - + ■ 



+ • 

! 

+ 



+-+ 
i 

+ + 
I 

■+-+ 

+-+ 
I 

+ + 
j 

+-+ 
i 

+ + 
I 

■+-+ 
I 

+-+ 
j 

•+ + 
I 

+ -+ 
I 

■+-+ 



i 

+ + 
I ; 

+ -+- 

■+-+ 
I 

+ +- 
I 

+ -+- 

i 



+- + 
i i 



+ + 
i i 

+ + 
i 

+ -+ 
i i 



+ + 
i | 

+ + 
i 

+ -+ 



-+ +- + 



+ 

I 



- + - + - 



+ 

+ 
I 

+ 

t 

+-+ 
I 

+ -+ 



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 pro- 
gram 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 per- 
formed 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 pro- 
cess continues until the queue becomes 
empty, at which point the maze is com- 
plete. 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 & Associates announces two new books. 



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 de- 
scribed — 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 subscrip- 
tion 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 AN 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 



• 6Vi%, 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 

Sales 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 



SHIPPING CHARGES: Shipping for large orders to be arranged. 

UPDATE SUBSCRIPTIONS: 

□ All foreign orders $4.00 per 6-issue subscription for airmail 

□ 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 O&A publications 

□ Becoming an O&A dealer 
D School discounts 

D List of foreign distributors 

□ 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 inter- 
active 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 Apple I BASIC listing of the 
maze program. This program should 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 
1 00 Q=768:G = 1 024: R=- 1 : F=-1 : M=0: L=2 
120 FOR K=1 TO 209: POKE G + K~1,0: NEXT K 
140 N(1)=3+RND (7):N(2)=205~ RND(7) 
160 POKE G+NID.2: POKE G + N(2),24 
180 P=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 

400 N(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 

540T=PEEK (G+19*(K-1)+L-1)/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 "I" 
720 NEXTK 

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#/19 THEN 3200 

3150S=1: GOSUB 4000 

3200 T=P-19: IF T<0 THEN 3300 

3250 S=2: GOSUB 4000 

3300 T=P"I: IF T/19#/19 THEN 3400 

3325 IF T<0THEN 3400 
3350 S=3: GOSUB 4000 
3400T=P+19: IF T>=209 THEN 3500 

3450 S=4: GOSUB 4000 

3500 IF K#0THEN 3600: P=~1: RETURN 

3600 K=1+ RND (K):T=C(K) 

3610 IF PEEK (G+T) *0THEN M = 1 

3620 IF M = 0THEN B(K) = B(K) + 16*(PEEK (G+Pl/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)=0 THEN 4300 

4050 IF M#0 THEN RETURN 

4100 IF PEEK (G+P)/16= PEEK (G+Tl/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 3W radius dome as touch sensor) 

Use your Turtle to map rooms, solve mazes, dance, ex- 
plore Artificial Intelligence, teach geometry or 
programming. 

A unique peripheral to keep you "in touch" with your 
computer. 

Computer not included (Batteries not needed). 




Kit $300 Assembled S500 



Terrapin, Inc. 



S-100 Bus Interface $40 • Shipping $5 

Mass. residents add 5% sales 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 



any two 



MICROCOMPUTER-BASED DESIGN 

by J. Peatman 

491/380 Pub. Pr., $24.50 Club Pr., $17.50 

COMPUTER ARCHITECTURE 

byC. C. Foster 

770/794 Pub. Pr., $17.95 Club Pr., $13.95 

THE 8080ABUGB00K— 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 

oyThe Diebold Group, Inc. 

1 68/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 1952 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. Wiederhold 

701 /30X Pub. Pr., $21.50 Club Pr., $15.95 




of these 
professional 



great 



books 



for 
only 



$095 



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 provid- 
ing 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 Profes- 
sionals' 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 en- 
closed 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 SE- 
LECTIONS. 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 intro- 
ductory 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 member- 
ship 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 four- 
book 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 pur- 
chases made through Individual Club memberships. All prices 
subject to change without notice. Offer good for 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 sophis- 
tication that was previously restricted to 
only the mini s . . . Multi-User, Multi -Tasking 
Time-Sharing, Memory Management, 
Disk-File Management, and yes, Periph- 
eral 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-100 16-bit CPU.Two board S-100 
bus compatible microprocessor set, com- 
plete 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 pro- 
grammable 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 soft- 
ware supported including the new com- 
pletely integrated, minicomputer class 
accounting system which consists of sev- 
eral 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. 



J" 



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 com- 
mands 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 10 
routines anyway, I incorporated a section to 
look for ESC and DEL input. When either is 
found, the byte is changed to the corre- 
sponding 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 charac- 
ters, at sign and arrow, can still be used." 



Alan R Miller 
New Mexico Tech 
Socorro NM 87801 



294D 


DBOO 


CHIN: 


IN 


STAT 


294F 


E601 




ANI 


MASK 


2951 


CA4D29 




JZ 


CHIN 


2954 


DB01 




IN 


DATA 


2956 


E67F 




ANI 


7FH 


2958 


FE1B 




CPI 


!BH 


295A 


CA6329 




JZ 


CESC 


295 D 


FE7F 




CPI 


7FH 


295F 


CA6629 




JZ 


CDEL 


2962 


C9 




RET 




2963 


3E40 


CESC: 


MVI 


A, "@' 


2965 


C9 




RET 




2966 


3E5F 


CDEL: 


MVI 


A, 5Fh 


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 DELTO BACK ARROW 



Listing 1: 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. 



^S alpha 



micro 



See the exciting 16-bit world of Alpha 
Micro at your local Alpha Micro dealer. 



ALABAMA 

HUNTSVILLE 

Computerland 

(205)539-1200 

ALASKA 

ANCHORAGE 

DalaCom 

Systems. Inc. 

(907)344-4536 

ARIZONA 

PHOENIX 

Byte Shopof 

(802)265-0065 

TEMPE 

ByteShopof 

(602)967-1421 

TUCSON 

Byte Shopof 

(602)327-4579 

CALIFORNIA 

BERKELEY 

ByteShopof 

(415) 645-6366 

CARSON 

Shaw Brothers 

{213)770-3688 

COSTA MESA 

Orange County 

Computer Center 

(714)646-0221 

FRESNO 

Electric Brain 

(209)227-8479 

GLENDALE 

Beaumarc 

(213) 244-9348 

LAJOLLA 

Tech-Marl 

(714)459-2797 

LAWNDALE 

Byte Shop ot 

(213)371-2421 

MANHATTAN 

BEACH 

De Marco-Shatz 

Computer Systems 

(213)545-4539 

MISSION VIEJO 

ComputerLand 

(714) 770-0131 

ORANGE 

ComPuterMart 

(714)633-1222 

OXNARD 

APR Systems 

(805)485-5488 

Prodata Systems 

(805)483-1188 

PALO Al.TO 

ByteShopof 

(415) 327-8080 

PASADENA 

Byte Shopof 

(213)684-3311 

SAN DIEGO 

Computer Center 

(714)292-5302 

Computerland of 

San Diego 

(714) 560-9912 

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 

Byte Shop of 

(80S) 966-2838 

SANTA MONICA 

Mission Control 

(213)829-5137 

TheComputerStore 

(213)451-0713 

SHERMAN OAKS 

People's 

CompUerCo 

TARZANA 

Tech Mart 

(213)344-0153 

VAN NUYS 

Computer 

Components 

(213) 344-0153 

WESTMINSTER 

Byte Shop of 

(714) 894-9131 

COLORADO 
BOULDER 
Byte Shopot 
(303)444-8550 
DENVER 
ByteShopof 
(303)399-8995 
Computer Hut 
(Prime Radix) 
(303) 573-4695 
Miti Mini 
Computer Co. 
ENGLEWOOD 
MitiMini 
ComputerCo. 
(303) 770-5005 



CONNECTICUT 

HAMDEN 

JRV Computer Store 

(203) 261-1453 

FLORIDA 
CORAL GABLES 
Sunny Computer 
Stores. Inc. 
(305)681-6042 
FORT LAUDERDALE 
Byte Shop of 
(305) 561-2983 
HIALEAH 
Metronix 
Computers, Inc. 
(305)885-4700 
MIAMI 
Byte Shopof 
[305) 264-2983 

HAWAII 

HONOLULU 
Pan Pacific 
Computer 
Company 
(808)737-5857 
Small Computer 
Systems 
(808)732-5246 

IDAHO 

BOISE 

Capitol O If ice 
Machines, Inc. 
Computer Division 
(208)342-8565 

ILLINOIS 

CHAMPAIGN 

Champaign 

ComputerCo 

(217)586-4131 

CICERO 

Digital Research 

(312)856-3353 

EVANSTON 

Itty Bitty 

Machine Co. 

(312)328-8800 

SCHAUMBURG 

Data Domain of 

(312)397-8700 

INDIANA 

BLOOMINGTON 

Data Domain 

(812)334-3607 

INDIANAPOLIS 

DataOomain 

(317) 251-3139 

Computers 

Unlimited 

(317)849-6505 

IOWA 

WATERLOO 

The Computer 

Center 

(319) 232-9504 

KANSAS 

OVERLAND PARK 
Personal Computer 
Center. Inc. 
(913) 64g-5942 

KENTUCKY 
LOUISVILLE 
Memory 
System Co. 
(502)895-4269 

MARYLAND 

ROCKVILLE 

ComputerWorkshop 

(301)468-0455 

MASSACHUSETTS 

WALTHAM 
Computer Mart 
of Boston 
(617) 899-4540 

MICHIGAN 
ANN ARBOR 
Computer Storeof 
(313)995-7616 
ROYAL OAK 
Computer Mart of 
(313)576-0900 

MINNESOTA 

MANKATO 
North Kato Supply 
(507)825-5475 
MINNEAPOLIS 
Computer Depot 
(812)927-5601 
MOOREHEAD 
PS. Inc. 
(218)233-6882 

MISSOURI 

PARKVILLE 
Computer 
Workshop 
(616) 741-5055 

MONTANA 

BILLINGS 

Big Sky Byte Shop 

(406! 252-2299 



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)826-8080 

NEW JERSEY 

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-3111 
CLEVELAND 
ByteShopof 
(216)333-3281 
COLUMBUS 
Midwestern Digital 
Electronics 
(614) 294-2991 

OREGON 

BEAVERTON 

ByteShopof 

(503)644-2686 

EUGENE 

Real Oregon 

Computer Co. 

(503)484-1040 

PORTLAND 

ByteShopof 

(503)223-3496 

PENNSYLVANIA 

BURGETTSTOWN 

Business Computer 

Concepts 

(412) 729-3510 

FRAZER 

Personal Computer 

Corporation 

(215)647-8460 

HUNTINGDON 

VALLEY 

Markettine Systems 

(215)947-6670 

TENNESSEE 

KNOXVILLE 

Byte Shops 

ofTennessee 

(615)584-0365 

TEXAS 

FORT WORTH 

Tandy Computers 

(817)335-7198 

HOUSTON 

Computercraft, Inc. 

(713)977-0684 

Computeitex 

(713)526-6934 

Electronic 

Specialty Co. 

1713)665-0477 

LUBBOCK 

Computer Marl of 

WestTexas 

(606) 785-7134 

RICHARDSON 

The Micro Store 

(214) 231-1096 

UTAH 

SALT LAKE CITY 

Byte Shopof 
(801)355-1041 
DataWortd 
(801)943-0033 

VIRGINIA 

ALEXANDRIA 
The Computer 
Hardware Store, 
Incorporated 
(703) 548-8065 
SPRINGFIELD 
The Computer 
Workshop of North 
Virginia. Inc. 
(703)321-9047 
VIRGINIA BEACH 
Home Computer 
Center. Inc. 
(804) 340-1977 



WASHINGTON 

BELLEVUE 

ByteShopof 

(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-8313 

ARGENTINA 
BUENAS AIRES 
MarketonS A 

AUSTRALIA 

GORDON 

Trudata Pacific 

498-6706 

WEST PERTH 

Australian Computer 

Products 

(09) 322-6497 

ALIC." SPRINGS 

Microcomputer 

Systems 

Alice Springs. NT 

NORTH 

FREMANTLE 

James McLarty 

*Son 

35-4877 

north Sydney 

Klngsway 
Computers 
929-9901 

BELGIUM 

BRUSSELS 
Computer 
Resources 
(02) 538-9093 

CANADA 

TORONTO 

The Computer 

Place 

(416) 598-0262 

QUEBEC 

Trois-Rivieres 

Selin Inc. 

819373-2367 

VANCOUVER 

Byte Shop of 

(604)736-7221 

Pacific Computer 

Store. Ltd. 

(604)438-3262 

Quill Computer 

Systems 

(604)684-5062 

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 88-89 
MUNICH 
Datameg KG 
(089)460-4993 

HOLLAND 

Romca 
Telex 50463 

HONG KONG 
CAUSEWAY BAY 
Teltec 
5-783-669 

JAPAN 
TOKYO 

NihonTerminal 
Computer 
Tokyo 170 

SPAIN 

BARCELONA 
fnfoiecnos 

(000) 235-7110 
SWEDEN 
BROMMA 
Mentor. AB 

SWITZERLAND 

ZURICH 

Comicro.A.G 

(01) 242-2603 

VENEZUELA 

CARACAS 
E.D.C. MEGA. CA. 
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 All 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 1: The author's tape recorder as modi- 
fied 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 build- 
ing from an old cassette deck. Bernie Hut- 
chins in the Electronotes Applications Note 
No 32, March 25 1977, published a short 
item on the 555 used as a window compara- 
tor. Putting the two ideas together results in 
the interface of figure 1, where the 555 per- 
forms 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 col- 
lector 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 fabri- 
cated 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 regu- 
lated power source, rather than depend on 
the centrifugal rotating regulator mech- 
anism. 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 10 indicators, as well as 
the circuit board wiringforthe 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 10 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 be- 
tween two oppositely polarized zones moves 
past the head. The 555 circuit (I 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. 



T 

r 



lOO^F 



i?? 



r: 



€) 



^klO^F J33K 



:=E>- 



=>- 



RESET 
R Q 



L 



>THRESHC 
ADJUST 



^ 2 2 M F +5V 



WRITE 

DATA O 4 

INPUT 



820 

-Wr- 



s[>4 



WRITE., ^ 
LED ft) 

470 

r 



IC2 
4049 



L^u 



70 
-VW— 



AT 






REA0 
-OOATA 

OUTPUT 



^fc 



^ 



°^ 



^ 



ICI 
.J 555 



-I- 



PDT SLIDE SWITCH) 



D, 




II RECORD/ 

PLAYBACK 
II HEAD 



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 

SOS $385.00 



OPUS/TWO $195.00 

TEMPOS $785.00 




□□ 



, ,, ., | 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 

5831 Hillside Dr 

Doraville GA 30340 




Photo la: Top view of the SwTPC 6800 processor clock speed modifier cir- 
cuit. 










^9*ftNWa>'* 



•O'3-S-S.-Z'i:' 




• •••••••••• •~» «*wl* 



ft # <• • 



ItC.CClfCC. l< i^T^' i 




PAoto 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 un- 
important, 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 fis period rather 
than on an even 1.0 /is period for the pro- 
cessor states. Therefore, I decided a little 
"souping up" was in order. 

The 1 Percent Solution 

The processing speed of the SwTPC 
6800 is governed by the data rate genera- 
tor clock, which is based on a 1.7971 MHz 
crystal timebase. A 7474 flip flop is used 
to divide the data rate generator timebase 
down to provide the processor clock with 
its 1.11 fis 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 1b). It provides a 
separate source for the processor clock with- 
out 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 in- 
creased 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 

D. 

One advantage of making this improve- 
ment 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 

Ml 



DIP 

PIN NUMBERS 




rh 



IC 
NUMBER 


TYPE 


5V 


GND 


ICI 


74LS04 


14 


7 


IC2 


7474 


14 


7 



£3> 8 (OPTIONAL) 



Figure 1 : Simple custom circuit that modifies the SwTPC 6800 *^ 

computer so the user can change the processor clock speed by j 

plugging in different crystal oscillators. The entire circuit can be gnd«0 i 
mounted on a small perforated circuit board (see photos 1 and 2) ! 

which plugs directly into the SwTPC 6800 board in place of the 
existing 7474 data rate generator time base divider. 



Memory 


Access 


Usable 


Number 


Time 


at 1 mHz? 


2102 


1000 ns 


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 1: Some commonly used memory 
integrated circuits (ICs) and their compati- 
bility with a 1 MH z processor speed . 



'» <2 



PIN 5, IC2 



Figure 2: Simple test rig to verify that the 
oscillator circuit (shown in figure 1) is work- 
ing. Both LEDs should light up when con- 
nected 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 inter- 
face for) memories not suited to the in- 
creased speed, and replacing the MIKBUG 
read only memory (not currently available 
in higher speed versions). But for some 
applications the increased speed is un- 
doubtedly 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 line 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 com- 
ponents 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 
/iF to 0.1 /iF 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 con- 
venient 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." 



SEND: 



" 1 to 150 WPM (set from 
terminal) 

" 32 character FIFO buffer 
with editing 

Auto Space on word boundries 

Grid/Cathode key output 

• LED Readout for WPM and 
Buffer space remaining 



$95 MORSE TRANSCEIVER 



COPY: 



1 to 150 WPM with 
Auto-Sync. 

. Continuously computes 
and displays Copy WPM 

80 HZ Bandpass filter 

Re-keyed Sidetone Osc. 
with on-board speaker 

Fully compensating to 
copy any 'fist style' 



SERIAL INTERFACE: 

_ ASCII (110, 300, 600, 1200) 
or Baudot (45, 50, 57, 74) compatible 

i Simplex HiV Loop or T-L 
electrical interface 

» Interfaces directly with theXITEX® 
SCT-100 Video Terminal Board; 
Teletypes® Models 15, 28, 33, etc.; 
or the equivalent 



■ MRS-100 CONFIGURATIONS: 

- $95 Partial Kit (includes Microcomputer components 
and circuit boards; less box and analog components) 

• $225 Complete Kit (includes box, power supply, 
and all other components) 

• $295 Assembled and tested unit (as shown) 

— Overseas Orders and dealer inquires welcome ^— 



See your local dealer or 
contact XITEX® direct. 

MC/Visa accepted 



P.O. Box 20887 
Dallas, Texas 75220 
(214) 386-3859 



146 



October 1978 © BYTE rublication* Inc 



Circle 400 on inquiry card. 



Circle 32 on inquiry card. 



why the last 




is the best 




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 tid- 
bits 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 indi- 
cated a preference on a scale of 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 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 accumu- 
lates 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 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 sys- 
tems, or who hove knowledge which 
will prove useful to our readers. For 
a more informal description of pro- 
cedures 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 pub- 
lished page, based on technical quality 
and suitability for the intended reader- 
ship. 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 $100 and $50. Unsolicited 
materials should be accompanied by 
full name and address, as well as return 
postage. ■ 




Circle 400 on inquiry card. 



October 1978 © 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 
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 awk- 
ward 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 avail- 
able 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 J uly 1 1 1 978 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 inter- 
preters 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 



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: 

• Onboard Dynamic Memory Controller for the S.D. Sales "Expando-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 



1 PET b a Commodore product 



Coburg Box 8066; Coburg, OR 97401 
(503) 485-8575 







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 (no interest) to 10 (high 
interest). If a particular field within 
this list is your professional or occu- 
pational 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 non trivial appli- 
cation in the field, please record a 
check mark in the "Have Imple- 
mented" 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 moti- 
vation 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 auto- 
mation 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 com- 
puters. But no pattern matching and recog- 
nition of sounds is possible without heavy 
emphasis on the art of programming, a topic 
which turned up as the sixth ranked item. 



DD 



& 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 tele- 
phone 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 ARE REQUIRED 

• Bell 103 standard frequencies 

• Automated dial (pulsed) and answer 

• Originate and answer mode 

• 1 10 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 1 58 on inquiry card. 



October 1978© BYTE Publications Inc 149 



Circle 363 on inquiry card. 



TRS-80 OWNERS, HAVE WE GOT SOFTWARE ON CASSETTES FO 

AARDVARK / CAPTURE"" hunt the ant with coordinates /capture an enemy spacecraft (§~i^ $, 3i95 

STARTREK-advanced version with verbal interaction between crew members (A- /) $. jj ,9d 

ROULETTE / ONE ARM BAND IT- two of the famous casino games in full graphics >8~f< f^'/P 

PATTERNS / PIN3ALL~8 ra P nic demonstration programs, see what your computer can do *ST^' ^1'^ 

ANNUITIES-*value at maturity, payment amount, no. of payments, interest rate, schedule. (8~5) $IQi95 

SPACESHIP / CANNON-land on venus /fight aggressive enemies £§-64 

DICE / HYPERBAGELS~play craps/guess the secret number using computer hints (8~Z< 

I CHING / BlORHYTHMS^ancient Chinese method for telling the future/plot biorhythms 

P0KER~draw poker in full graphics , using standard casino house rules (8~9) $. D • 95 

COMBUSTION / GROWTW-simulate hydrocarbon combustion/determine growth patterns (8 - ,.0) $16.95 

RALLY-a super rally with 4 different cars and 5 different tracks (8~.J) $,2i95 

NIM / HEXAPAWN-play nim with counters/heuristic hexapawn, both in full graphics (8~12) $19,95 

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ■ 1 1 ■ 1 1 1 * 1 1 1 1 1 1 1 1 1 1 1 1 1 < 1 1 1 1 

TAYLOR, (8-DD 

P.O. BOX 1180, check the programs with (8-2)D 

fWTSBURGH, N.Y, 12901 an x (8-3X3 

(8-4)0 
**CASHIER CHECKS and MONEY ORDERS . . . IMMEDIATE SHIPPING** (8-5)0 
PERSONAL CHECKS . . . PLEASE ALLOW 2 WEEKS FOR PROCESSING (8-6)Q 




R YOU !!!! 

WE ALSO PRODUCE 
CUSTOM SOFTWARE 
FOR BUSINESS OR 
SCIENTIFIC 
APPLICATIONS ,,. 
WE WILL EVALUATE 
YOUR REQUEST AND 
SEND YOU A QUOTE 
INDICATE IF YOU 
HAVE A LEVEL 1 OR 
A LEVEL 2 TRS-80 



1 1 1 1 1 1 1 1 1 1 1 i • » i 1 1 1 1 



(8-7)0 



NAME 

(8-8)D ADDRESS 

(8-9 )□ CITY STATE 

ZIP 

ADD $1 for POSTAGE and HANDLING 

N.Y. RES. ADD STATE SALES TAX T0TAL$ 



(8-10)D 
(8-11)0 
(8-12)D 



Once the "compleat" home computer 
experimenter has mastered the voice recog- 
nition 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 com- 
puters 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 com- 
puters 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 mech- 
anisms. 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 rela- 
tively abstract theory of knowledge and its 
representation is absolutely essential. Per- 
haps 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." 






SOROC IQ-120 $795 



T.I. 810 $1695 



TELETYPE 43 $999 



DIABLO 1620/3 $2999 



elKUCHQ KlflJL 



|| 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%; $750 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 Black- | 
jack, Hangman, 23 Matches, Tlc-Tac-Toe, 
Silly Sentence Maker, Poem Writer, Word I 
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) 



COOKS HELPER 

Two programs to help the cook. Menu pro- 
duces nutritious, within-calorie-limits 
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 
look for missed items. (Stock No. 103.1. 
Cassette. Requires Ext. B.H. Basic, Issue 
1001 or 10.02. $10) 



MAILING LIST 

Features programs for the creation, updat- 
ing, sorting, and printing of mailing lists I 
and labels. Highly flexible, with provision 
f orcoding 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) 



diskette ready for use with your Heathkit 
H8 computer. Each package comes com- 
plete with program listings and user in- 
structions. A discount of 10% is given if 
more than one item is ordered at once. 
Price includes shipping to U.S. destina- 
tions, items are in stock for immediate 
shipment. 



I J-frc Incorporated 



6580 Buckhurst Trail 
Atlanta, GA 30349 

Please send the following: 

Amount Enclosed 

GAMES @S10 . . 

PERSONAL FINANCE @ $10 

COOK'S HELPER @ $10 

MAILING LIST @ $20 

MAILING LIST-DISK @ $30 

TOTAL 
Less 10% Discount if Ordering 

Two or More Items 

AMOUNT ENCLOSED $ 

Name 

Street Addr 

City 

State ZIP ._ 



BYTE's 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 1." 



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 speci- 
fication languages; disciplined specifi- 
cation methods; verification of the 
consistency and completeness of speci- 
fications; quality, adequacy, and useful- 
ness of specifications; and future re- 
search 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 Con- 
gress (International Federation for Infor- 
mation Processing Congress 80) will be 
held jointly in Tokyo JAPAN from 
October 6 thru 9 1980 and in Mel- 
bourne AUSTRALIA from October 14 
thru 17 1980. The Congress will be 
a gathering of computer scientists, man- 
agers, 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-of- 
the-art developments in presentations 
on technology, equipment and appli- 
cations, 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 Under- 
wood Blvd, Delran NJ 08075." 



LEARN TO 
PROGRAM 

iMHIMMOMI'lTKItS 

And at an affordable price. The 
Modu-Learn™ home study course 
from Logical Services. 
Now you can learn microcomputer 
programming in ten comprehensible 
lessons. Athome. Inyourowntime. 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 sys- 
tematic software design techniques, 
structured program design, and prac- 
tical examples from real 8080A 
micro-computer applications. All in a 
modular sequence of 10 lessons . . . 
more than 500 pages, bound into one 
practical notebook for easy reference. 
You get diverse examples, problems, 
and solutions. With thorough back- 
ground material on micro-computer 
architecture, hardware/software trade- 
offs, and useful reference tables. All 
for only $49.95. 

For $49.95 you learn design tech- 
niques that make software work for 
you. Modu-Learn™ starts with the 
basics. Our problem-solution ap- 
proach enables you to "graduate" as 
a programmer. 

Circle the reader service number be- 
low 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 



SERVICES INCORPORATED 



Circle 1 1 2 on inquiry card. 



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 



TM 



C 



aVfPAB 



^r^rr-T*"' 1 



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 manufac- 
turer of data tablet digitizers. Bit Pad. The only words 
you need to say when considering digitizers. 

*Summariaphk4 

^ * corporation 

35 Brentwood Ave., Box 781, Fairfield, CT 06430 
Phone(203) 384-1344. TELEX 96-4348 




Clubs 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 Univer- 
sity, 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, self- 
addressed 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 appli- 
cation 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 Personal Computer News is a 
monthly newsletter dedicated to a 
variety of reader services. PCN features 
a regular news column detailing develop- 
ments 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 soft- 
ware sources listing culls the latest 
offerings from the microcomputer media 
and an index to computer related 
articles cross reference features in com- 
puter magazines. The subscription rate is 
$9 per year in the US. For more infor- 
mation, 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 news- 
letter is currently running about four 
to six pages and contains news of activi- 
ties 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 in- 
formed its readers of the status of the 
system including what is available and 
from whom, where parts of interest are 
available, basic knowledge about build- 
ing the system and additional hardware 
details. Frederick Holmes, editor of 
TIPS, has also mentioned that the up- 
coming issues of the newsletter will be 
expanded to support SC/MP based sys- 
tems. 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 \lCa is a monthly publication of 
the Utah Computer Association, an 
association dedicated to hobbyist inter- 
action 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 
KETRONICS 

As featured 
in POPULAR 
ELECTRONICS 



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 it you've never used a computer before! 

II featuring RCA COSMAC 
coprocessor, COMPUTER *99 95 

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. 

Shown with ^**1f¥- Mi* m Video output also makes ELF 11 unique among computers 

optional 4k Munry Boards, "*^L^ ' JbSf-w selling for such a low price. Attached to your TV set, ELF II 

GUUfT BOARD™ 1 KlifB Board, ^hj^y^^f^r 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 II's 5-card expansion bus (connectors not included) 
allows you to expand ELF II 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 11 Explodes Into A Giant! 

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 II's low price is 
backed by such an extensive research and development pro- 
gram. 

The ELF-BUG® Monitor is an extremely recent break- 
through 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 regis- 
ters 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 b e the first t o enjoy! 

Now BASIC Makes Programming ELF II Even Eaaierl 

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 n 
liny 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. 

"Aak Now What Your Computer Can Do... 
But What Can It Do For YOU!" 



Stop reading about computers 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 1 1 demonstrates all 91 
commands an RCA 1802 can execute and the Short Course 
quickly teaches you how to use each of the 1802's capabilities. 

ELF IPs 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 
ELFII. 

But that's not all. Once you've mastered computer funda- 
mentals, 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 per- 
sonnel 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 knowl- 
edge of computers, you are always at the mercy of others when 
it comes to solving highly complex business, engineering, in- 
dustrial and scientific problems. People who understand com- 
puters can command MONEY 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 program- 
ming 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 ELEC- 
TRONICS and PERSONAL COMPUTING and under- 
stand the articles. 

If you work with large computers, ELF II 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 funda- 
mental language of all computers. Higher level languages such 



Don't be trapped into buying a dinosaur simply because you 
can afford it and it's big. ELF 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 
II is the fastest way there is to get into computers. Order from 
the coupon below! 



r"wO W AVAILABLE FOR ELF II— 

ID Tom Pittman's Short Course On Mi- 
croprocessor & Computer Programm- 
Iing teaches you just about everything 
there is to know about ELF II or any 
| RCA 1802 computer. Written in non 



SEND TODAY! 

□ Deluxe metal cabinet for ASCII 
Keyboard, $19.95 plus $2.50 p&h. 
D ELF II liny BASIC on cassette 
tape. Commands include SAVE, 
LOAD, ± , x , + , ( ), 26 variables A-Z, 
LET, IF/THEN, INPUT PRINT, 



technical language, it's a learning GOTO, 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 mented 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 
D ELF II connects to the video input TV screen without additional hard- 
of 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 lis hex 
Modulator, $8.95 postpaid. heyboard as a joystick. 4k memory re- 

□ GIANT BOARD® kit with cassette W* ed - * 14 - 95 Postpaid. 



I/O, RS 232-C/ITY I/O, 8-bit P I/O, 
decoders for 14 separate I/O instruc- 
tions and a system monitor/editor, 
$39.95 plus $2 p&h. 
D Kluge (Prototype) Board accepts up 
to 36 IC's. $17.00 plus $1 p&h. 

□ 4k Static RAM kit. Addressable to 
any 4k page to 64k. $89.95 plus $3 p&h. 

□ Gold plated 86-pin connectors (one 
required for each plug-in board). $5.70 
postpaid. 

□ Professional ASCII Keyboard kit 
with 128 ASCII upper/lower case set, 
96 printable characters, onboard regu- 
lator, parity, logic selection and choice 
of 4 handshaking signals to mate with 
almost any computer. $64.95 plus $2 
p&h. 



□ Tom Pittman's Short Course on liny 
BASIC for ELF II, $5 postpaid. 

□ Expansion Power Supply (required 
when adding 4k RAM). $34.95 plus $2 
p&h. 

□ ELF-BUG® Deluxe System Monitor 
on cassette tape. Allows displaying the 
contents of all registers on your TV at 
any point in your program. Also dis- 
plays 24 bytes of memory with full ad- 
dresses, blinking cursor and auto scroll- 
ing. A must for the serious program- 
mer! $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! 



Netronics R&D Ltd., Dept. 0000 J 

333 Litchfield Road, Phone I 

New Milford, CT 06776 (203) 354-9375 ■ 



Y8$! I want to run programs at home and ■ 

have enclosed:!!) $99.95 plus $3 postage I 

& handling for RCA COSMAC ELF 11 kit, I 

□ $4.95 for power supply (required), I 

□ $5 for RCA 1802 User's Manual, □ $5 I 
for Short Course on Microprocessor & I 
Computer Programming . I 
D I want mine wired and tested with | 
power supply, RCA 1802 User's Manual I 
ant Short Course included for lust $149.95 I 
plus $3 p&h! 

□ I am also enclosing payment (including I 
postage & handling) for the items checked ' 
at the left. 

Total Enclosed (Conn. res. add tax) [ 

$ D Check here if | 

you are enclosing Money Order or Cashier's ! 

Checkto expedite shipment. 

USE YOUR D VISA □ Master Charge ■ 

(Interbank # ) j 

Account # 

Signature Exp. Date . 

PHONE ORDERS ACCEPTED (203) 354-9375 1 

Print 

Name _ 

Address 

City 

State _ 



I 



-Zip 



Circle 280 on inquiry card. 



,_ DEALER INQUIRIES INVITED . 
153 



October 1978 © BYTE Publications Inc 



Event Queue 



October 5, Minicomputer and Micro- 
computer 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 edu- 
cation, Bluefield State College, Bluefield 
WV 24701, (304) 325-7102. 

October 5-8, Midwest Personal Comput- 
ing Show, Apparel Center's Expocenter, 
Chicago IL. More than 200 displays fea- 
turing the full spectrum of the latest 
personal computing developments are 
expected to be presented by manufac- 
turers and distributors. The compre- 
hensive 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 Work- 
shop, Carnegie-Mellon University, Pitts- 
burgh 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 Tech- 
nology, 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 regis- 
tration 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 serv- 
icing . . . you'll wonder how 
you got along without this mod- 
estly 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. 

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 '18 
will highlight the small budget necessary 
for the independent business operator to 
be able to purchase an in-house com- 
puter 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 Com- 
puter 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 Com- 
puter Faire, Los Angeles Convention 
Center. This is a conference and expo- 
sition 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 com- 
puter applications in medical care is 
designed to inform physicians and health 
care professionals about current and 
potential applications of computer tech- 
nology 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 con- 
ference, sponsored by the IEEE Com- 
puter Society, will delve into areas such 
as circuit theory and design, communi- 
cation 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 con- 
ference. This conference will bring to- 
gether computer practitioners, users and 
researchers to share their ideas, experi- 
ences 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 Divi- 
sion, 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 inter- 
action between groups working in 
similar research and application environ- 
ments will highlight the topical session. 
For more information contact Dr Alice 
G Parker, Micro-11 program chairman, 
Dept Electrical Engineering, Carnegie- 
Mellon University, Pittsburgh PA 15213, 
(412) 578-2472. 

November 27-December 1, Micro Pro- 
gramming 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, peri- 
pheral hardware and software, keypunch 
services, consulting and contract pro- 
gramming 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 Asso- 
ciation for Computing Machinery will be 
the site of this chess championship. This 
will be a 4 round Swiss style tournament 
with participants restricted to com- 
puters. 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 Com- 
mittee on Computer Communications 
and the Institute for Computer Sciences 
and Technology of the National Bureau 
of Standards. This symposium will high- 
light 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 



"/ 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 nontechnical 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 en- 
vironment — capabilities, benefits, what to watch for, and much more of direct interest to the small 
businessman. 

COMPUTER PROFILES • IDEAS AND INNOVATIONS • INFORMATIVE ADS 



SPECIAL CHARTER SUBSCRIPTION 
12 issues @ 50% off 



Receive the next 12 issues of Small Business 
Computer Magazine lor just $9 . . . 50^. off the 
cover price 



Mail the coupon today to: SMALL BUSINESS COMPUTERS Magazine 

33 Watchung Plaza • Montctair, NJ 07042 

SMALL BUSINESS COMPUTERS Magazine • 33 Watchung Plaza • Montclair, NJ 07042 
D YES. Enter my charter subscription at the Vprice cost of $9 for 12 monthly issues. 
□ Check enclosed. □ 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. I am having trouble com- 
puting the reaction time, the interval of 
time lapsing between stimulus presen- 
tation 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 assis- 
tance 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 I 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 deter- 
mining 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 local 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, M1TS, 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 deter- 
mined 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 reso- 
lution 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 thisis of help. 

Charles H Parsons 

80 Longview Rd 

Monroe CT 06468 

ASwTPC6800FIX 

Here is a problem with the SwTPC 
6800 and a fix that I haven't seen pub- 
lished before: 

You can't reset the 6800 from a 
wait-for-interrupt statel 

On the SwTPC MP-A board, the reset 
signal is transmitted to the MCM6800 
chip via a DM8098 hexadecimal invert- 
ing three state buffer that is disabled 
when the processor enters a hold con- 
dition, 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 Communi- 
cations 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 communi- 
cations network as anything less than 
highly complex. However, I do believe 
that in principle these complexities can 
be solved with a combination of sophis- 
ticated 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 acknow- 
ledge the difficulties, but I would like to 
mention that Dr John deMercado, head 
of Canada's Telecommunication Regu- 
latory Service (analogous to the FCC) 
and an early developer of ARPA, char- 
acterized 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 hun- 
dreds, 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 state- 
ment 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 work- 
ing 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 market- 
place 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 instruc- 
tion and multimedia presentations. We also belong 
to that minority in education who actually test ma- 
terials to see that people can learn from them. 

Now Program Design brings this experience to the personal 
computer field. PDI is developing a line 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. 1 1 IDAR COURT GREENWICH, CONN 06630 



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 re- 
gional 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 Jrof 
St Louis MO. Mark Grundler, the advi- 
sor, 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 Al- 
brecht and McKelvey had strong per- 
mances 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 (redun- 
dant, but anything for a parallel con- 
struction) 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 scienti- 
fic 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 



EARCH 



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 i s 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 




Enter my subscription to COSMIC SEARCH, Box 293, Delaware, Ohio 43015 

At special pre-publication rate: $10 for 1 year D $18 for 2 years D and bill me later. 

At special PREPAID pre-publication rate: $8 for 1 year D $15 for 2 years □ 

□ Check or Money Order enclosed □ MASTERCHARGE □ VISA (BankAmericard) 



Account # . 

Name 

Address 

City 



MC Interbank #_ 



Exp. date. 



State . 



Zip. 



i. 



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 corres- 
ponding 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 tem- 
perature is possible. 

The outputs from our present moni- 
toring 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 pur- 
chased two processors, one being the 
Digital Group Z-80 and the other the 
OSI 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 de- 
signing 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 Stra/3e 1 

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 maga- 
zines. We can hardly tell you with what 
avid interest each issue of BYTE is per- 
used (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. 



3 



1976/1977 



BITE 



Cover Price * 
plus postage 
and handling 



Back Issues for sale 



= 


The following 


issues available: 




s 


'76 


'77 


'78 


i 


July- 


March 


January 


= 


August 


May 


February 


= 


October 


June 


March 


= 


November 


July 


April 




December 


August 


May 


= 




September 


June 


= 




October 


July 


s 




November 


August 


= 




December 


September 



E * Cover price for all issues thru August 1977 = 

■ is $1.50 plus $.25 postage and handling a 

5 ($3.50 total foreign). September '77 thru | 

j current '78 issues are $2.00 plus $.50 postage = 

S and handling ($4.00 total foreign). 

ITIiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiir 

Send requests with payment to: BYTE Magazine 

70 Main Street 
Peterborough, NH 03458 

Attn: Back Issues 



rTHE INCREDIBLE LEARNING MACHINE I 
WHATSIT. 

(Wow! riowd All Thal&uffsel InThere?) 

■ She's a Conversational Query System 1 

■ 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 



il to: Information Unlimited 

331 W. 75th Place, Suite 2-I 
Merrill vllle, Indiana 46410 
219- 769-9280 

□ Model CP-1 for C-Basic (requires 40K RAM) $125 
a Model NS3 for North Star Basic (requires 24K RAM) $75 
D WHATSIT Manual $25 
a Quantity discount schedule for Dealers. 

□ More information (I'm running disc BASIC 

on a computer) 

computer) 

A CREATION OF 

'OTOUTGR HCAOCft)ARG T M 




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/rvT 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 


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 N.Y. 10024 

(212) 5800082 






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 1 and up to read 

graphs. Includes games. 

1 1 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., 1 1 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 




COmiHITCR/ 

could /nvc 

VOU mON€V 








• 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-6543- 
or send this coupon! 



<&* 



<f+? 










for our postal code. 

2. WATS lines do not cross inter- 
national 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 soft- 
ware 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 1 1), 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 con- 
fusion by introducing the 2758, a 1 K 
by 8 EROM like the 2708, but single 

I suggest we use the Texas Instru- 
ments part number, 2516, when refer- 
ring to either the Tl part or the Intel 
2716. 



Al Anway 

Poly Micro Systems Inc 

2616 Lansing DrSW 

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 pur- 
chase. 

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: 

LIFEBOAT ASSOCIATES 

164 W. 83rd Street 

New York, N.Y. 10024 

(212) 580-0082 



Ar t-by-Computer lm is here! 




Fi le 



Fi le 3 



B I ack-on-wh i te, 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, California 94086, 



Also available at selected retail outlets. 
© LCS, 1978. 



ATTENTION SWTPC DISC SYSTEM USERS 
am Ed smiths M6800 SOFTWARE TOOLS 

are now available in mini-FLEX format as well as Smoke Signal Broadcasting format. See 
July BYTE for diskette media prices. Disc users specify SSB OR SWTPCO. 

M6800 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 MESSAGES- 
80 COLUMN LISTING USING PR 40-etc. 

M68AS . . cassette $50.00 

M68AS-D . .minifloppy $55.95 

M6800 RELOCATABLE DISASSEMBLER AND SEGMENTED SOURCE TEXT GEN- 
ERATOR. This software tool enables you to modify and adapt those large sized object pro- 
grams 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-assemb!y using the above Relocating Assembler. 

M68RS . .cassette $35.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 de- 
sired 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. 

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 ACIA as control port. Provides all the 
monitor commands (23) you could ever ask for, plus the convenience of a mnemonic dis- 
assembler and single stepping disassembler. trace display. Interactive use of single or dual 
breakpoint with trace pickup at breakpoint, plus many new monitor functions and sub- 
routines, makes this a super tool you will love to work with. Uses location SF800 to 
$FFFF. Furnished on two 2708's or one 2716. Includes Manual and commented assembly 
listing. Specify ACIA location and present monitor in order to keep $A0O0 RAM com- 

patibility SMITHBUG ON 2708's $60.00 

SMITHBUG ON 2716 $70.00 

Get under Ed Smith's Software RUG (Relocating assembler Users Group). All RUG mem- 
bers 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. 

Ed sm^ SOFTWARE WDRHS 

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 de- 
veloped 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 



1 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 Paper- 
byte tm bar code copy 
using a reading technique 
of their own design. Win- 
ning points for originality 
was this entry by Camp- 
bell Farnell and Glen 
Seeds. While the method 
described here is not the 
intended method of read- 
ing the codes, it shows 
what is perhaps the 
world's least expensive 
drum read only memory 
as a serendipitous side- 
light 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 vol- 
tage levels and sent to the computer's input port. 



Technical Description 

Our Paperbyte™ bar code reader con- 
sists 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 J uice Can 

A juice can with one end removed sup- 
ports 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. Center- 
ing the juice can on the turntable was no 
problem since the plastic record mat on the 
turntable platter has a series of raised con- 
centric 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. 



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 
sought--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 throughwT 
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! Hoorah! Hooray 
!"wHe chortled in hi 
s joy. ww' Twas brilli 
ant and the slimy to 
adswDid go and gande 
r in the wave:wAII m 
isty were the bluish 

groves. wAnd the mol 
e runs outraged.w 



Listing 1: Waiter Banks' 
"Blabberwacky." The out- 
put was produced on a 
printer that does not 
respond to ASCII control 
characters, so the fine 
feeds were printed as 
lower case 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 parti- 
cular 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 




*lf after using the unit you don't agree 
with our claims merely return the system 

postage pre-paid and insured, and we 
will promtly 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, phaseis, shotguns, ex- 

Closions, trains, bird calls, helicopters, race cars, airplanes, machine guns, 
arking dogs, and many thousands more. 

Now you can hear the sounds of 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 witl 
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: 



BOOTSTRAP ENTERPRISES INC. 
100 North Central Exprwy., 
Richardson, TX 75080 
(214) 238-9262 

Name 

Address 

City 



Add $4.95 for Postage & Handling 
□ Check or Money Order Enclosed 
D VISA # 



. State . 



-Zip 



Exp. Date 



□ 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 
OF NEW JERSEY 



141 Route 46 

Budd Lake, NJ 07828 

(201) 691-1984 



ALL PRODUCTS 10% OFF LIST! 
PLUS 5% ADDITIONAL FOR CASH! 

Mail and phone orders accepted, subject to available quan- 
tities. Prices and specifications subject to change without 
notice. Shipping charges extra. N J residents add 5% sales tax. 
Master Charge and BankAmericard/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 peek- 
ing 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 




LIGHTS 



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 experi- 
menting 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 per- 
formed flawlessly. We have had no difficul- 
ties 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, parti- 
cularly 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 reason- 
ably 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 some- 
thing 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" (Decem- 
ber 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 



h5V 



500K 



■4>-H>-o 



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. How- 
ever, 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." 




74C04 



+ 5V 



500 K 




74C04 




-O TO COMPUTER PORT 



2N3904 



Figure 2b: Two interface methods for computers that accept TTL logic. 



October 1978 © BYTE Publications Inc 1 65 



Product 
Description 



Micro-Scan Corp 
Bar Code Scanner 



LIGHT 
SOURCE 



BAR / 

CODES # 




AT 




ADAPTIVE 
THRESHOLD 




TTL 
-O COMPATIBLE 
OUTPUT 



VOLTAGE 
COMPARATOR 



PHOTODETECTOR 



Figure 1 : Functional diagram of the BCS-J hand he id barcode scanner. 



Frederick L Merkowitz 
Micro-Scan Corp 
POB 705 
Natick MA 01760 



The Data-Scan bar code scanner is de- 
signed 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 back- 
ground without adjustments. 





|r 








Hk 









Photo 1: 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 phototran- 
sistor. 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 com- 
parator. 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 adap- 
tive thresholding. 

As the line of bar coded data is scanned, 
a string of Is and Os is serially applied to the 
10 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 bar codes 
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 infor- 
mation on the bar code scanner write to 
Micro-Scan Corp, POB 705, Natick MA 
01760.- 



COMING TO ATLANTA IIM 



BizCoMP 78 



W October 27-29 

^L Marriott Motor Hotel, Atlanta, Georgia 



* 



*Crowds*Exposure*Sales* 

Atlanta, The Computer City Of The South — 
BizComp'78,The Reason For Being There! 
Plan TO Exhibit:: Reserve Space Now! 

BizComp 78 will highhghl the relatively small budget necessary for the independent business opera- 
tor to be able to purchase an in-house computer system All facets of the small business computer 
industry wtll 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 smnlf businessman the 
simplicity and dependability of microcomputer systems 



Plan To Attend: 



Daily Seminars! 



A1 the door registration will be $4 00 per day Register now for $2 00 per day Preregistration offer 
expires October 20th When ordering your tickets, please make certain to indicate dates you will be 
attending and number of tickets per day AM tickets are color coded All early registrants will receive 
a special copy of the Expo seminar schedule Tickets will be mailed immedialeiy upon receipt 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 
(301) 262-0305 

Seventeen Years Producing Quality Expositions 




P. O. BOX 2528 • ORANGE, CA. 92669 
(714) 774-1270 

BASIC SOI TWARE 
NORTH STAR TRS-80 APPLI. 

NORTH STAR BASIC on diskette, ready to run. North Star Tuiori.il I. I uturial II, 
Tutorial III (Release 4) leaches North Star Basic, Word Processing, Accts. Payable, 
Accts. Receivable, Payroll. General Ledger, Medic. il/Prof. Accis.. Rec. Billing, 
Inventory, Sales Analysis, Computer Chess, Mailing Labels. Personnel System, 
MANY MORL AVAILABLE. LACH INDIVIDUAL SYSTEM $35.00 

TOTALLY INTLGRATLD SYSTLM (A/R. A/P, GLN. LLDGLR. PAY, LLITLR 
GENLRATOR, BUS. STATISTICS) in Binder Complete Doc. $150.00 

Checkbook Bat., Budget Planner, Goll Hundic.ippcr, G.imc Disk, X-RATLD Slory 
Generator. MORL AVAILABLE. EACH INDIVIDUAL SYSTEM $25.00 

10 TEST. MEMORY Diagnostic. Pcrv Finance, Bus. Statistics, Crypto Encoder, 
Sign Maker. Menu Planner $1 50.00 EACH 

SINGLL or DUAL DRIVE. 8K Free Memory Required. 

TRS-80 on cassette (Level 1). Numerous G.imes, Examples. STARTREK, WUM- 
PUS, MORE only $3.95 EACH 

BASIC TUTORIAL (Lc.irn Basic 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-1 270. UPS COD. or Mail Order Today. 



Over 1000 Systems Sold, Order Now . 
SOFTWARE 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 com- 
puter (White) must evaluate a variety of possibilities: two good first moves for White include 
1 R-Bl and 1 BxN ch. 1 R-B7 threatens BxB. Therefore Black must either exchange Bishops 
or gain time by the counterattack 1. . .B-K4. If J. . .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 com- 
puter program, Northwestern University's 
Chess 4.5. This was a far better result than 
any program had previously achieved, con- 
sidering 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 Champion- 
ships" by Peter Jennings, January 1978 
BYTE, page 108). Professional chessplayers 
are beginning to worry about the compe- 
tition 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 concep- 
tual 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 

nalysis: the calculation of variations in order 
assess a position or find the best move. 

Backward pawn: a pawn that lags behind the 
pawns ontheadjoiningfiles.Whenthe opponent 
has no pawn on the file, a backward pawn is 
usually a serious weakness. 

eyelopment: the process of initially moving 
'pieces from their original squares. 

Diagonal: a diagonal row of squares on the 

chessboard. 

File; a vertical row of squares on the chess- 
board. 

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. 



II 



Passed pawn: a pawn not hindered by enemy 
pawns on its file or on adjoining files. 

Piece: a chess piece other than 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. 



168 



October 1978 © BYTE Publications Inc 



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 can- 
not be found, the expansion phase is 
ended.) Either mark it as final or select 
a set of legal moves in the position rep- 
resented 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 re- 
jected are not included. Most programs gen- 
erate 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 [ha If -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 in- 
cluded?), 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 alter- 
native because the Rook would have less 
mobility on R5 and it seemed unimportant 
to keep it on the fifth rank. 1 R-B7 threat- 
ens BxB and moving the Bishop to another 
diagonal allows B-K3, attacking Black's 
Rook. Therefore, Black must either ex- 
change bishops or gain time by the counter- 
attack 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 trium- 
phant 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 



Figure 2: A game tree 
developed from the posi- 
tion in figure 1. 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 evalu- 
ation 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 I 



Ply 2 



Ply 3 



Ply 4 



Ply 5 



Ply 6 



Ply 7 



Ply 8 





2 








15^ 












I BxNch 
+ I.4 






1 F 


- B7 
+ 1.8 






3 ^^ 




6 








16 y 






9^ 








I- ■ KxB 

+ I.4 




I- • Rx 
+ 2.4 


B 




1 ■ • -B-K4 
+ 2.0 




1- • • Bx 
+ 1.8 


B 




4 






7 y 




I 


K 






17 






20 








2R-B6ch 
+ 1. 4 




2RxPch 
+ 2.4 




2R-B7 

+ 0.6 




2 R-B6 
+ 2.0 




2 RxB 
+ 1.8 




5 






8 






13 






18 






21 








2- ■ -B-B3 
+ I.4 




2 ■ -K-NI 
+ 2.4 




2- • BxB 
+ 0.6 




2- • -B-B5 
+ 2.0 




2- ■ K- 

+ 1.8 


Ml 








9 






14 








22 


s 


/ 


23 s 






3 BxB 
+ 2.4 




3 RxB 
+ 0.6 




3 


R-N7 
+ 1.6 




3 R-R6 
+ 1.8 




10 
















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 



gyED S 100 MM 



i ELECTRONICS 



(MEMORY + PERIPHERALS ADAPTER) 



(FOTMERIT THE PETS 100) 



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™ 
. EXPAND THE PErS MEMORY & I/O 

> MEETS PROPOSED IEEE S-100 BUS SPECS 

• EASY TO ASSEMBLE-SOLDER MASK, LEGEND & SOCKETS 

> $199.95 Kill $279.95 ASSM. & TESTED + 5.00 SHIPPING. 

The S-100 MPA was the FIRST and is still theSf ST S-100 Bus Adapter on the market. This well thought out board adually meets 
the proposed IEEE specifications for the S-100 Bus which insures compatability for the widest range of S-100 Bus peripherals. Now you 
can easily expand your PEFs memory and I/O capabilities. 
THE S-100 MPA CAN ALSO BE A STAND ALONE 6502 CPU BOARD FOR THE S-100 BUS 




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 4 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 SUP'R'MOD II for standard TV's— $59.95 + 

2.00 shipping and handling. Assembled and tested. 

A Petunia and a Video Buffer all on one board. You save $10.00!! $49.95 + 2.00 shipping and 

handling— with SUP'R'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 VIDEO- 
BUFFER 



The COMBO- 



fiUH) 

I ELECTRONICS 



1429 MAPLE STREET 
SAN MATEO, CA 94402 
(415) 573-7359 



COMING SOON: TRS-80 to S-100 Bus Adaplerlll 
See us at the 3rd. Wasl Coast Computer Faire. LA 
—Booth #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 
Sof tSide 1 - M the 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 Appli- 
cations 



And Much More 

PREPUBLICATION OFFER 

Order now and receive the first 12 months 
of Sof tSide T N1 for $1 0.00 (re. subscription 
price, $15.00). To order, write: 
SoftSide™ 
POBox68 Mi I ford, 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, advanc- 
ing the passed pawn; or 3 R-R6, to force 
the exchange of Rooks. Somewhat arbitrar- 
ily, I included in the tree only the two 
moves that seemed best. 3 R-R6 forces the 
Knight to move. Obviously it should ap- 
proach the passed pawn, but it is not im- 
mediately clear which square is best. After 
3 . . . N-K2 4 RxR PxR the assessment is 
clear: having two passed pawns in a minor- 
piece ending, White should win easily. 
There is no need to consider other Knight 
moves, because the effect on the evalua- 
tion 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 defi- 
nite threat, it is necessary either to answer 
the threat directly or to make a counter- 
threat. 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 evalu- 
ated 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 mere- 
ly 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 posi- 
tion. 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. 



Circle 1 79 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 non- 
terminal nodes is based on the assumption 
that each player always makes the best 
move. The minimax algorithm will not al- 
ways 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 poor- 
ly. 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 refu- 
tation 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 



MOO 



iiiiui : \\\y 

woo mmnpRAmc 5200 



NOT A KIT 

8v<&15A, ±16v@3A power 

Rack mountable 

15 slot motherboard \ 

Card cage 

Fan, line cord, fuse, 

switch, EMI filter 

Desk top version option 

8v@30A, ±16v@10A option 

voltage monitor option 

100 pin connectors optional 



Rack 
mounted 
model From 
$200 



Desk 
top model 
From S235 

Write or call for a copy of our 

detailed brochure which includes 

our application note 

BUILDING CHEAP COMPUTERS. 

INTEGRAND 

8474 Ave 296 • Visalia. CA 93277 • (209) 733-9288 
We accept BankAmericard/Visa and Master Charge 




BUSINESS APPLl CAT! ON SOFTWARE 




*. ACCOUNTS 
. RECEIVABLE *. PAYABLE 

File Maintenance 
Sale & Cash Journals 
Customer Lists 
Mailing Labels 
Aged Trial Balance 
Monthly Statements 
Transaction Listings 
Customer Inquiry 



F ile 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 Littlefield Lane, Los Gatos, CA 95030 

ITEM A/R A/P Both 

General Information $ 3.00D$ 3.00 □ $ 5.00 □ 
System Manual 7.00 □ 6.00 □ 1 1 .00 D 

Program Listings 58.00 □ 51.00 D 93.00 D 

Programs on Disk* 89.00 □ 81.00D 140. 00 D 

*CP/M™-; CBASIC™- Source & Object Code 
Single DensityD Dual DensityD 

Name 




Address. 
►City 



.State. 



-Zip_ 



Circle 29 on inquiry card. 



October 1978 © BYTE Publications Inc 



171 





( ENTRY J 










i — 
E(OJ— "-oo" 

P— MOVE (P,M) 






^ 


[ 










L(i) — L1ST(P) 






















i 


\ 












<^EU) = 


+oX NO 




< / LM 


= n\YES 


? yS 






3 yf 


YES 






Tno 




E(i)«— VALUE i?) 






(M(i).L(i)) — FETCH (Lti )) 

P— MOVE (P.Mli)) 

i — i ♦ I 














1 


\ 


























YES yr 


o ^> 




P — MOVE(P.M) 






NO 
















perform BACKUP 




f 


QT 


it ; 


P — RESTORE (P.Mli)) 







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 VA L UE. 
Its additive inverse, — oo is used as the initial value of E(0). 



can be eliminated from the tree without 
expanding node 12. Although in this exam- 
ple 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: selec- 
tion, termination and evaluation. The 
handling of these functions by existing pro- 
grams 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 thou- 
sands of nodes. Even those programs that 
exercise some selection generate, in most 
cases, trees too large to store in program- 
mable memory. Fortunately our procedure 



can be reformulated so as to require only a 
small part of the tree to be retained in mem- 
ory 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 proc- 
essed; 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 posi- 
tion, 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 1978 ©BYTE Publications Inc 





( ENTRY J 








i i-l 




NO 


s^ i odd ^v 


YES 




^<X 






E(i) — E(j) 
E(j)~ " +ooH 



E(i)— E(j) 
E(j)— "-oo« 





YES 



L(i) 



C 6X,T ) 



YES 



M^M (0) 



C^D 



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 termi- 
nate 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 sub- 
routines 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 
— oofor even ply and +oo f or 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. When- 
ever 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 maxi- 
mum 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 alpha- 
beta algorithm is discussed in Slagle and 



Figure 4: The BACKUP 
routine. The lefthand side 
of the flowchart depicts 
the minimax algorithm, a 
method which is guaran- 
teed 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 in- 
ferior positions. Trimming 
the tree in this way re- 
duces the amount of infor- 
mation 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 UVP's growing 
family of quality EPROM Erasing Lamps. The UVS-11E 
Short Wave UVLamp 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 U V 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, an Gabriel, CA 91776 U.S.A. 



w 




RELIABILITY 

QUALITY 

DEPENDABILITY 



8K STATIC RAM 
ASSEMBLED 
S-100 



ADDRESSING 

PROTECT 

BUFFERING 

LOW POWER 

WAIT STATES 

QUALITY 

GUARANTEE 

DELIVERY 

PHANTOM 

TESTING 




TWO INDEPENDEIVT 4K BLOCKS SELECTED 
BY PLUGGABLE JUMPERS AT BOARD EDGE 



MEMORY DISABLE IS IMPLEMENTED VIA PHANTOM {PIN 67) 



SPECIAL 



INTRODUCTORY 

PRICE 

ASSEMBLED/TESTED 



$14995 $18995 

CALIFORNIA RESIDENTS ADD 6% TAX 



(714)992-5540 
2555 E. CHAPMAN AVE. 
SUITE 604 
FULLERTON, CA 92631 




DIGITAL/ JL 



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 evalua- 
tion 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-i 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: termina- 
tion 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 proce- 
dures 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 termina- 
tion 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. Con- 
sequently, 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 posi- 
tion can be accurately evaluated. The 



174 



October 1978 © BYTE Publications Inc 



Circle 294 on inquiry card. 



Newell-Shaw-Simon program used this philo- 
sophy. When the entire tree is maintained in 
programmable memory, termination de- 
cisions 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 pro- 
grams don't explicitly assign a rating; never- 
theless, 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 suf- 
fices that moves good enough to cause 
cutoffs often appear early in the list. Occa- 
sional 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 low enough to cause 
its rejection. Simple criteria that are ade- 
quate 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 main- 
tain 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 program- 
mers 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. 

• 5100-Diskette and Documentation. 

• $25-Documentation (Set of 6 manuals] only. 

MAC™ MACRO ASSEMBLER: 

• Compatible with new Intel macro standard. 

• Complete guide to macro applications. 

• $90-Diskette and Manual. 

SID™ SYMBOLIC DEBUGGER: 

• Symbolic memory reference. 

• Built-in assembler/disassembler. 

• $75-Diskette and Manual. 

TEX™ TEXT FORMATTER: 

• Powerful text formatting capabilities. 

• Text prepared using CP/M Editor. 

• $75 Diskette and Manual. 



1 DJGJTflL RESEARCH 

P.O. Box 579 • Pacific Grove, California 93950 
(408) 649-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 1 

S 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-NEXT-THEN 
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 
FOREIGNORDERS ADD S 2.00 PER ITEM 
POSTAGE PAYABLE IN U.S. FUNDS 
Distributed to dealers by MICROMEDIA MARKETING 



Circle 317 on inquiry card. 



October 1978 BYTE Publications Inc 



175 



Circle 184 on inquiry card. 



NOW! 



LOW PRICED EIA RS-232 

CABLES IN STANDARD 

LENGTHS 



IDS now supplies quality 
cables with male to male, 
maletofemale, or female 
to female connectors in 5, 
10, 15, 20, 25, 30, 40 & 50 
foot lengths. No minimum 



II 



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 
phone or mail in your 
orders, Special cable 
configurations also 
' available. Immediate 
delivery from stock. 



ON GSA SCHEDULE 



INTERNATIONAL 
DATA 

SCIENCES, INC. 





yOU DIDNT KNOW! 



OAE'S new PP-2708/16 
PROM Programmer is the 
only programmer with all 
these features: 

• Converts a PROM memory 
socket to a table top pro- 
grammer: No complex inter- 
facing to wire— just plug it 
into a 2708 memory socket* 

• A short subroutine sends 
data over the address lines 
to program the PROM 

• Programs 2 PROMS for less 
than the cost of a personal- 
ity module. (2708s and TMS 
2716s) 

• Connect 2 or more in paral- 
lel — super for production 
programming 

• Complete with DC to DC 
switching invertor and 10 



*Pat's Pending 



turn cermet trimmers (for 
precision pulse width and 
amplitude alignment) 

• All packaged in a handsome 
aluminum case 

PP-2708/16 ..A & T $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 selec- 
tion and termination. The books in the 
bibliography are particularly helpful. 

The evaluation of a position depends 
mainly on material, mobility and vulner- 
ability. The calculation of material is straight- 
forward, 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 
0=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 con- 
siderations are important, but I know of no 
program that takes them into account. 

The assessment of mobility is more diffi- 
cult. 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 cur- 
rent 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 evalu- 
ation 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 perfor- 
mance 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 com- 
puter'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 



CPflffla CP£ida CPflids CP tiids 



THE PROGRAMS FOR 

PROFESSIONALS! 

Microcomputer software developed by 
a CPA with ao M.S. io Accounting 
Orders teing accepted now for: 

■ AA ■ nUbnAM" includes federal and state; 

used successfully this past tax 
season on hundreds of returns 

■ A I HULL includes federal, state and city 
PROGRAM* withholdings — prepares payroll 

■ nuanilllli register — oven prints the checks! 

aCHCHAL LCUaCn r KUtinAM! includes inventory, accounts receivable, 
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 

more information 



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 COMPUTER TAX SERVICE 

DEALER INQUIRIES WELCOME 





16K RAM 

FULLY STATIC 

kit $350 

10 SLOT MAINFRAME 

TT-10 KITS325 

1 SLOT TABLE TOP 

MICROCOMPUTERS 

TT-8080. . .KIT $440 

SYSTEM WITH 1 6K & I/O 

TT-8080-S. . .KIT SI 050 

CARD CAGE & 

MOTHER BOARD 

ECT-100. . .KITS100 

CCMB-10. . .KITS75 

WITH CONNECTORS 

& GUIDES 

ECT-100-F. . KITS200 

CCMB-10-F. . KITS125 

CPU'S, MEMORY 

MOTHER BOARDS 

PROTOTYPING BOARDS 

EXTENDER CARDS 

POWER SUPPLIES 

SHIPPING EXTRA 
DEALER INQUIRIESINVITED 



ELECTRONS CONTROL TECHNQLQGV 



FACTORY ADDRESS: 
763 RAMSEY AVENUE 
HILLSIDE, N. J. 07205 



MAILING ADDRESS: 

P. O. BOX 6 

UNION, N. J. 07083 



I 
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 1: 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°I 2 -1 when D is even and B( D+1 H 2 
+B (°~ Vl 2 -! 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 alpha- 
beta algorithm reduces the effective branch- 
ing factor from B to B 2 / 3 . Then table 2 
gives the desired relationship. Although 
much guesswork went into this table, it 
seems safe to conclude that an Expert- 
level 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 repre- 
sents the depth of search, the tree has 
B D leaves; the tree grows exponentially 
with depth. A typical position might have 
30 legal moves, and if no selection is exer- 
cised, 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 reduc- 
tion 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 im- 
possible 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 B 2 ! 3 and that 10,000 terminal 
nodes can be processed. These assumptions 
yield the formula B=10 6 I D - 



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 fol- 
low 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 pro- 
grams. 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 posi- 
tions is based only on material. Hence there 
is no need for a VALUE routine; the evalua- 
tion is computed on the run whenever cap- 
tures 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 backed- 
up evaluation. 

Because TECH does very little proc- 
essing 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 notice- 
ably. 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 appro- 
priate for the position at hand. Goals are 
represented in the evaluation and rating 
procedures. Setting a specific goal is accom- 
plished by making changes in these proce- 
dures. 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. 



Spatial G^eft 



( 

Insurance 

Information 

Files 


Games 


LP-IOOF^ 
^499.00 


Information 
Retrieval 


How to Build and 

Interface Your Own 

Light Pen 

$9.95 


Patent 
Search 


LP-100F 

Light Pen Kit 

S69.95 


Controls 


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 



1 49 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 infor- 
mation write to: 

MPI 2099 West 
2200 South, Salt 
Lake City, Utah 
84119 or call (801) 
973-6053. 

Ampi 




Circle 265 on inquiry card. 



October 1978 © BYTE Publications Inc 



179 



Circle 298 on inquiry card. 




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 FREE CATALOG 



Send instruction manual for the TVT-6 Kit 
with full operational details. $1 enclosed. 



Address: . 



. Zip: . 



ELECTRONICS, INC. c «y state — 

DEPT. 10-B, 1020W.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 above 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 SA4 00 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 A K's or add to your Expansion Interface Unit $99 

TRS-80 SOFTWARE ON COMPATIBLE 
CASSETTES OR DISKETTES 

data-set control package . b y john domita ak $a 

Thit tubroulir* providei TRS-80 Level I BASIC with File OPEN, READ, WRITE, and CLOSE Function!. Aljo in- 
cludederetwoutility programs and full documentation. 

INVENTORY CONTROL PROGRAM - BY JERRY HICKS 4K $35 

Allow/j the small business to upgrade its present inventory system and provide timely reports to the management. 6 
programs with documentation UK). 

HOROSCOPE CASTING BY COMPUTER - BY D. L. PITMAN $10 

A fantastic program with grephics. Also available for Level II with output formatted lor printer 

PERSONAL FINANCE PACKAGE • BY JOHN OeMITA (3 Programsl $15 

MORTGAGE CALCULATIONS AND MATH TEST BY JOHN DeMITA $5 each 

LEVEL I RELOCATED IN LEVEL II RAM (16K REQUIRED) $15 

Runyour non-convertible Level I Drogremsor make Level I compatible tsPes in your L II machine. 

•DISASSEMBLED LEVEL II LISTING WITH COMMENTS $30 

OUBIC - BY ALVIN FILES (3D Tic-Tac-Toe with graphics - Level II only) $5 

CHECK RECONCILIATION PROGRAM - BY CLARENCE STINSON $5 

APARTMENT ANALYSIS . BY DICK MICHELS $4 



ADD $2 FOR PROGRAMS ON CASSETTE, $5 FOR DISKETTE 
f Includes Shipping and Handling} 

Colorado residents add 6% sales tax. s0F TWARE ROYALTY PLANS 

& PET PROGRAMS ALSO AVAILABLE 



A 

FM^PPARAT, INCORPORATED 
6000 E. Evans Av, Bldg 2 
Denver, CO 80222 
303/ 758-7275 



VEST TECHNOLOGY 

AFFILIATE 



that could be worth the cost. To safely re- 
ject 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 mean- 
time, it might be possible to devise an algo- 
rithm 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 algo- 
rithm 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 com- 
prehensive knowledge in order to avoid over- 
looking important differences. 

To summarize, a program to play Master- 
level 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 !nc 



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 ch^ss 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 indi- 
cate some new directions for experimenta- 
tion. 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 41 1 thru 427, July 1973. A program that 
uses a small game tree. 

5. Newborn, Monroe, Computer Chess, Academic 
Press, New York, 1975. Contains brief de- 
scriptions 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 Com- 
plexity," 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, "Experi- 
ments 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, 777e 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. 



Canada. 



systems, inc. ^^ 

Boards W© Something * 

If your system needs to know 
what time it is, our CL2400 is 
the board for you. The present 
time in hours, minutes, and sec- 
onds is always available for input, 
and is continuously updated by 
the highly accurate 60 Hz power 
line frequency. Need periodic in- 
terrups? The CL2400 can do 

that, too, at any of 6 rates. Reference manual with BASIC and 
assembly language software examples included. 




CL2400 Real Time Clock 
$98/ Kit $135/ Assembled 



If your system needs on/off con- 
trol of lights, motors, appli- 
ances, etc., our PC3200 System 
components are for you. Con- 
trol boards allow one 1/0 port to 
control 32 (PC3232) or 16 
(PC3216) external Power Con- 
trol Units, such as the PC3202 
which controls 1 20 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. 

PC32 1 6 $ 1 89/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 

INN0TR0NICS CORPORATION 0EPT D 

BROOKS ROAD 

LINCOLN. MASSACHUSETTS 01773 

Tel. (617) 259 0600 



Circle 178 on inquiry card. 



October 1978 © 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 currently 
at the Cresap Laboratory 
of Neuroscience and Be- 
havior 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 cham- 
pion computer chess pro- 
gram: 



In a recent Time essay (see references) 
Robert Jastrow, d i rector 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 de- 
fect" 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 com- 
pactness and reasoning power of an intelli- 
gence 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 improve- 
ments in machine intelligence. His expecta- 
tion that computers will rival humanity 
within 15 years seems optimistic to anyone 
who has watched half-a-dozen excited tech- 
nicians 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 ap- 
preciate 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. Psycholo- 
gists 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 continua- 
tions 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 indi- 
cated that the Grandmasters' general ap- 
proach 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 con- 
clusion is not very informative since it is 
obviously circular. The fact that de Groot's 
extensive study did not uncover any promi- 
nent differences in the move-selection strate- 
gies used by strong and average players im- 
plies that the analysis procedure itself is not 
the critical factor which determines chess 
skill. 

An important clue to the difference be- 
tween 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 be- 
cause they pick better 
moves. 



October 1978 © BYTE Publications Inc 1 83 



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 chess- 
board 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: 
*CP/M in CBASIC 
*CP/M in BASIC E 
ICOM FDOS-III 

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. Catalpa, Chicago, III. 60625 

•CP/M is a Trademark of Digital Research Corp. 
••AM-100 is a Trademark of Alpha Microsystems. 



also IMSAI IMDOS 

in Debbi (Source code included) 



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 continua- 
tions. 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 amaz- 
ingly 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 to- 
gether on the basis of their phonetic similar- 
ity (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 program- 
ming, 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 infor- 
mation 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 calcu- 
lations. 

The human brain evolved, in contrast, 
on its ability to identify important environ- 
mental 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 mag- 
nitude 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 com- 
puter 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 algo- 
rithm which was not modeled on human 
chess play. Shannon suggested a workable 
procedure for representing the board and 
piece locations, specified simple mathe- 
matical 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 



THE 

RECREATIONAL 
PROGRAMMER 



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 bi- 
monthly. 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. 1K x 4 
organization. 5V only/Standard 18-pin DIP. 
It draws only 300 mw, has all the speed you 
need for microprocessor applications. 



■®. 



SEMiriNC. 



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 chess- 
specific 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 poten- 
tial 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 (38 6 ) 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 all 
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 in- 
stead of all 38, a 6 ply look-ahead would 
involve only 15,625 (5 6 ) 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 addi- 
tional evidence which favors the adoption 
of this strategy. It is not surprising, there- 
fore, 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 sim- 
plify the problem. This approach was 
competently implemented in 1967 by 
Greenblatt at MIT. His program played 
reasonable, and at that time, fairly impres- 
sive 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 pro- 
gress in computer chess has come by aban- 
doning the type B strategy. Shannon's 
logical analysis was made in a "stone-age" 
hardware environment and without know- 
ledge of several important algorithms. 
Today, the type A strategy is not as ridic- 
ulous as it seemed in 1950. In addition, 
very few individuals anticipated the immense 
difficulty involved in constructing a com- 
petent 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 immedi- 
ately and suggest both short-term and long- 
term 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 all 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 impor- 
tant discovery was made independently by 
Slate and Atkin at Northwestern (the au- 
thors of the current world champion chess 
program, Chess 4.6) and by the Russian 
KAISSAteam. 

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 num- 
ber 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 neces- 
sary 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 con- 
sider 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 ex- 
amine 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 ana- 
lyze 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 eval- 
uating 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 |3. Thus the name alpha-beta 
(a-/3) 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 ap- 
proximately 2*d h / 2 terminal positions in- 
stead of d h (see references, Knuth and 
Moore). The potential magnitude of this 
saving can be appreciated by considering 
our previous example with a 6 ply search: 
38 6 is more than 3 billion while 2 X 38 3 is 
about 110,000. Shannon might have given 
more consideration to the type A strategy if 
he had been aware of the alpha-beta algo- 
rithm and some of the other technical im- 
provements which were to follow. 

General Strategy 

To maximize the benefit of the alpha- 
beta 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 captur- 
ing 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 J: Portion of a game tree for the opening game in chess. Square nodes 
indicate that White is to play; 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 1@ 



is! Kali* 



SPECIAL 
LIST CASH 

PRICE PRICE 



Cromemco Z-2D Kit 
w/4MHZ Z-80 Processor, 
30A Power Supply, 21 Slot 
Mother Board, Disc Con- 
troller, One Disk Drive, 
16K Memory Kit 

Percom Cassette 
Interface Kit C1-812 

IMSAI 8080 Kit 



IWO^IWO 00 



89 95 
699 00 



74 95 
569 95 



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 b Insurance Extra. 

Bus....S-IDD,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. 




All cables. 
Formatting diskette 
capability, available 
with or without con- 
troller. [Capable of 
formatting Diskettes] 

Wood cabinetry for 
improved appearance. 

Assembled and tested. 

90 day guarantee. 



Electro Analytic Systems, Inc. 



Eg 



P. O. Box 102 

Ledgewood, New Jersey 07852 

Phone: (201) 584-8284 



CP/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 posi- 
tion. 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 re- 
ported 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 pro- 
duced 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 reason- 
ably 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 alpha- 
beta search. For example, instead of con- 
ducting 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. Superf/c/a//y this 
might appear to be wasteful since the staged 
search requires the full 5 ply search eventu- 
ally 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 reason- 
able 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 proces- 
sor 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 tourn- 
aments, a move must be calculated within 
a fixed time limit such as 90 to 1 20 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 con- 
trol. The iterative search was first mentioned 
by Scott in 1969 and was apparently dis- 
covered 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 cus- 
tomary to generate all moves at each node 
and then invest time attempting to decide 
which ones are worthy of further consider- 
ation. 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. Pood 

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 modifi- 
cation to the P.E.T. Comes with two games and complete programming in- 
structions $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 M 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 V I SA/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 programs- 
2.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 







YouVe 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. 

PHOflEl 

P.O. Box 1522 

Rockford, Illinois 61 110 
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 com- 
plex 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 up- 
dating 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 eval- 
uation function. In order to assess the relative 
merit of a chess position, most programs 
place heavy emphasis on the material bal- 
ance (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 organ- 
ize the evaluation function in strict serial 
order such that influential (heavily weighted) 
terms are analyzed first and the result ex- 
amined 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 eval- 
uation process is to remember past evalua- 
tions. For instance, one should avoid re- 
assessing 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. Trans- 
positions 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- 



1 90 October 1978 © BYTE Publications Inc 



uation effort. In most middle game posi- 
tions, this technique will produce a 10 to 50 
percent saving. In certain end game posi- 
tions, 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 add- 
ition, 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 trans- 
position 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 sit- 
uations in which a specific and highly tech- 
nical strategy is require J. 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 other- 
wise. 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. Unfortu- 
nately our present day programs are obliv- 
ious 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 knowl- 
edge 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 approx- 
mately 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 1 2 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 detp 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 1 1 ; February 1 978 BYTE, page 84; May 1 978 
BYTE, page 74; and April 1978 BYTE, page 66. 

Knuth, D E and Moore, R, "An Analysis of Alpha- 
Beta 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, Springer- 
Verlag, 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 equip- 
ment (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-80. 

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-l. Hobby World Price: Only $30.00 

Send me a catalog! 

Name 



192 



BYTE October 1978 



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 




Circle 170 on inquiry card. 




A Chess Playing Program for the TRS-80 Microcomputer 



Match Your Chess Skills with Boris 






mm mm 

■ : ngn ■■ : ■■ 

™m tutu 

Wm KKKDQCSS U 



*mt- mm f 
™Wi ttlllt | 



•Stasias !*; 




Microchess 1.5 for the Radio Shack 
TRS-80 microcomputer has been an- 
nounced by Personal Software in con- 
junction with Peter Jennings of Micro- 
Ware 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 com- 
puter. Every move is verified for legality 



to prevent user error, and a simple com- 
mand 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 Master- 
charge 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 Struc- 
tured 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 profes- 
sionals 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 Illegal move, Congrat- 
ulations, 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, be- 
ginners 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 pro- 
grammed 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 mate- 
in-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 FirstSt, Rockville MD 20850." 

Circle 589on 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. Ac- 
cording 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 Mail- 
list, $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 imple- 
mented in each ship. Ships of the rebel 
forces must pass through Imperial de- 
fenses 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 genera- 
tor. 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 Ser- 
vices Ltd, POB 43, Brooklyn NY 11236. 
The package allows the calculation of 
the necessary capacity of an air condi- 
tioner 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 avail- 
able are North Star error messages and 
their meaning. 

Price of the ACSP package on dis- 
kette 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 rou- 
tines 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 direc- 
tory of a disk while in BASIC. Docu- 
mentation 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 Micro- 
computer Resources Inc, 3000 Medical 
Park Dr, Suite 107, Tampa FL 33612." 

Circle 610 on inquiry card. 



PDP-8 Simulator for 8080 

The Simul8tor issaid to be a complete 
PDP-8 simulator for the 8080. Simul8tor 
enables 8080 owners to utilize the 
thousands of PDP<-8 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 com- 
plete with a user's manual, PDP-8 pro- 
gramming 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 combina- 
tion. 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 1 1 5 on inquiry card. 



^Electrolabs- 



>|C Tl Sockets 1 cent per pin. All low profile solder tail 8 pin - 40 pin. 

The "Pro" fully encoded ASCII Keyboard by Cherry. Auto RE- 
PEAT feature, 5 special function keys. 300mA/5V. (Shown as 
mounted in The Case' , Below) $119.00, 3/99.00, 10+/89.00 



USED SYLVAN! A 
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 addressable 
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: 

SYSTEM" A" $649.00 10/$599.00 



■PO Box 6721 Stanford* 




THE FANTASTICI 

MEMOREX FIVE-FIFTY 





Ol. 94305 
415-321-5601 

* Hard and Soft Sectoring 

* Single and Dual Density 

* Double side configuration 
as a retrofit at any tune. 
*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$300 



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 



'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 br»wn, light yellow, or crim- 
son to accent or color code your installation. The only choice for 
hard-use institutional and educational applications. $69.00, 10/ 59.00 



CASSETTES 
R-300 Certified Phillips Type $5.25 4.99 
1-150 Certified for audio decks $4.60 4.30 
('Kansas City' & SWTP formats) 



4.35 
3.90 



; 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 multi- 
user applications utilizing paging feature. 



Shipping and Handling: Surface: $o.40/ib. Air: 
Cal. Tax: 6.5% Insurance: $0.50 per $100.00 



$0;75/lb., 1.00 minimum 




P.O. Box4430X Santa Clara, CA 95054 
For will call only:(408) 988-1640 



^^^For will call only:(408) 988-1640 
e ^^^^2322 Walsh Ave.^ 

Gtast- 

^^PK^ELECTRONICS 

-^^9 CRYSTALS 



CONNECTORS 




44 pin edge 


2.00 


100 pin edge 


4.50 


100 pin edge WW 5.25 


M0S/MEM0RY RAM 


2101-1 


3.95 


2102-1 


1.28 


2102AL-4 


1.60 


21F02 


1.85 


2104A-4 


4.95 


2107B 


4.95 


2111-1 


4.95 


2112-2 


395 


2114 


8.50 


4116 


24.95 


2513B 


6.30 


21L02-1 


1.49 


MM5262 


.40 


MM5280 


3.00 



MM5320 

MM5330 

PD411D-3 

PD411D-4 

P5101 

4200A 

82S25 

91L02A 

HD0165-5 

MM57100 

GIAY38500-1 

MCM6571A 

9368 

INTERFACE 

8T25 

8T26 

6T28 

8T97 

8T98 

8095 

8096 

8097 



9.95 
5.94 
4.00 
5.00 
13.95 
12.95 
2.90 
1.75 
6.95 
4.50 
9.95 
9.95 
3.50 

3.20 
1.69 
2.75 
1.69 
1.69 



1 MHz 


4.50 


2.0100 MHz 


1.95 


2 MHz 


4.5U 


2.097152 MHz 4.50 


4 MHz 


4 AS 


2.4576 MHz 


4.50 


5 MHz 


475 


3.2768 MHz 


4 50 


10 MHz 


4 25 


5.0688 MHz 


4 50 


18 MHz 


390 


5.185 MHz 


4 50 


20 MHz 


3.90 


5.7143 MHz 


4. SO 


32 MHz 


3.90 


6.5536 MHz 


4.50 


32768 Hz 


4 III) 


14.31816 MHz 4.25 


1.8432 MHz4. 50 


18.432 MHz 


4 50 


3.5795 MH 


21.20 


22.1184 MHz 


4.50 



30 MHz Frequency Counler Kil $47.75 
Prescaler Kit to 350 MHz $19.95 



COMPUTER BOARD KITS 

8K RAM Board Kit 
4K EPROM Kit 



I/D8 



d Kit 



$134.95 
114.95 
44.50 
12.50 
125.00 



ASCII KEYBOARDS 

53 keyklt $55.00 
56 key kit $62.00 
Enclosure $14.95 



Extender Board w/connector 

Video Interlace board kit 

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 

Paraaortics 100A 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 S106.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; 1802 
software club. 10-12 pg. monthly publication 

4K Elf Expansion Board Kit with Cassette l/F $79.95 12.00 per yr. 

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 s E|f t k 3Q0/ ff Object code listing or 

on ROM Monitor $38.00 bLJper tlT owners IaKe dU/o0Tr 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 selec- 
tion of all four CPU modes. LEO indicators of 
current CPU mode and four CPU states. Single 
step op. for program debug. Built in pwr. supply, 



Auto Clock Kit $15.95 

DC clock with 4-. 50" displays. Uses National 
MA-1012 module with alarm option. Includes 
light dimmer, crystal timebase PC boards. 
Fully regulated, comp. instructs. Add $3.95 
for 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 ref- 
erence 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 V/i Digit Multimeter $59.95 

Batt. oper. 1mV and 1NA resolution. Resis- 
tance to 20 meg. 1% accuracy. Small, portable, 
completely assem. in case. 1 yr. guarantee. 



PROM Eraser 

Ultraviolet, assembled 



$49.95 



TERMS: $5.00 min. order U.S. Funds. Calif residents add 6% tax. BankAmericard and Master Charge accepted. Shipping charges will be added on charge cards. 
FREE: Send for your copy of our NEW 1978 QUEST CATALOG. Include 28(2 stamp. 



Circle 31 1 on inquiry card. 



BYTE October 1978 



195 



Whal's New? 



SOFTWARE 






Personal So ;" 2 rmr* 




Personal Software Catalog Offers 
Large Selection of Software Packages 

This new catalog is filled with soft- 
ware 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 lan- 
guage for direct execution on the PET; 
and a word processing package available 
for PET owners who would like to com- 
pose and edit letters, articles and manu- 
scripts at the computer and obtain cor- 
rected output at high speed. For a 
catalog containing these and other soft- 
ware packages, PET and TRS-80 owners 
should write to Personal Software, POB 
136, Cambridge MA 02138, giving their 
serial numbers, memory size, and de- 
scribing 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 indi- 
viduals, 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 "new product" or 
''press release" copy sent by the 
promoters of new products. If in 
our judgment the neat new whiz- 
bang gizmo or save the world 
software package is of interest 
to the personal computing experi- 
menters and h omebr ewers who 
read B YTE, we p rint the infor- 
mation in some form. We openly 
solicit such information from 
manufacturers and suppliers to 
this marke tp/ace. The information 
is printed more or less as a first in 
first out queue, subject to oc- 
casional 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 con- 
ventions 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 type- 
writers and Teletypes. A level of diffi- 
culty 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 microinstruc- 
tions, writing and assembling programs, 
and generating paper tape output for 
read only memory programming. The 
assembler permits flexible editing for de- 
bugging and program alterations through 
iterated loops, updates, and replace- 
ments, and includes a built-in test pro- 
gram 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 Micropro- 
gram Control Unit, as well as other bi- 
polar 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 C A 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 conjunc- 
tion with a terminal or video display, it 
provides a means of examining and 
modifying memory locations and micro- 
processor registers at any point in an 
operating program through the imple- 
mentation of addressable traps. The 
operating program may be started or 
stopped at any location, or the program 
may be stepped one location at a time. 
The monitor provides a means of loading 
or punching a paper tape of memory 
data for microprocessor systems not con- 
taining 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 re- 
lease 3 of North Star BASIC and DOS 
with Northshare supervisor and documen- 
tation 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 


20.00 


Z80A 


?5.00 


1802 


17.95 


2650 


19.95 


AM29 01 


2 0.00 


6502 


11.95 


6800 


16.95 


6802 


24.95 


8008-1 


12.95 


8035 


20.00 


8080A 


9.95 


8085 


23.00 


8748 


60.00 


TMS9900 


50.00 


8080 A 




SUPPORT DEVICES 


8212 


3.90 


8214 


4.6 


8216 


2.75 


8224 


4.00 


8224-4 


9.95 


8226 


2.75 


8228 


6.40 


8238 


6.4 


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 


68B10P 


6.00 


6820P 


6.50 


682IP 


6.50 


6828P 


11.25 


6834P 


16.95 


6850P 


8.75 


6852P 


11.00 


6860P 


9.00 


6862P 


12.00 


6871P 


28.00 


6875P 


8.75 


6880 


2.50 


CHARACTER GEN. 


2513 U/L 


6.75 


2513(5v) U/C 
2513(5v) L/C 


9.75 
10.95 


6571 


10.95 


6571 A 


1-0.95 


6574 


13.25 


DYNAMIC RAMS 


416D (200ns) 


16.00 


4116 (200ns) 


16.00 


2104/4096 


4.00 


2 1 7 B-4 


3.9 5 


TMS4 027 


4.00 


TMS4050 


4.00 


TMS4060 


4.50 


4096 


4.00 


MM5270 


4.50 


PROMS 


1702A 


5.00 


2516 (5v) 


38.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 


.90 


2111-1 3.2 5 


2.65 


2112-1 2.75 


2.35 


2114 




(300ns) 10.00 


8.25 


2114 




(450ns) 9.00 


7.69 


2125L 7.69 


6.60 


TMS4044 




(250ns) 9.95 


8.00 


TMS4044 




(450ns) 8.95 


7.40 


4200A 10.00 


8.6 


TMS4045 




(250ns) 10.50 
TMS4045 


9.00 




(450ns) 9.00 


8.00 


FLOPPY DISC CHIPS 


17 71 B-0 1 


39.95 


KEYBOARD ENCODERS 


AY-5-2 376 


13.75 


AY-5-3600 


13.75 




EXPANDO-32 KIT 

Uses 4115 (8«X|) 
Dynamic RAMs, It can 
be expanded in 8K 
increments up to 32K 

8K $179 22 

I6K $255 22 

24K $325 22 

32 K $39922 



JADE 
8080A 



KIT 
A+T 
BARE 
BOARD 



$ 100.00 
$ 149.95 

$30.00 



EXPANDO-64 KIT 



can 



Uses 4116 (J6Kx|) 
Dynamic RAMs, It c 
be expanded in I6K 
increments up to 64K 



I6K- 
32K- 
48K- 
64K- 



• $260 QG 
$579 QQ 
$757QQ 
§92502 



STATIC RAM BOARDS 
ASSEMBLED & TESTED 
8K 

Ram 8 (250ns) $169.95 

Ram 8B (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$!2.95 



TU-l 



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 



Problem Sower 

SYSTEMS, JwC. 
16K STATIC BOARD 

with memory management can 
be used with Alpha Micro or 
Cromenco Systems. 

ASSEMBLED & TESTED 

RAM 65(250ns) $390.00 

RAM 65B (450ns) $350.00 



HITACHI 

VIDEO MONITORS - BLACK & WHITE 



VM-129 




12" Soltd-State Video Monitor 

700 lines horizontal resolution 

Includes black level clamping. DC restoration 

circuit (switchable), Ext sync provision (Optional) 

VM~909 9 Solid State Video Monitor 
500 lines horizontal resolution 
line lock sync 
High voltage 10KV 



$370 



$215 




JADE VIDEO INTERFACE KIT 

KIT $117.95 

Assembled & Tested $159.95 

S-100 Bus compatible 

32 or 64 Characters per line - 16 lines 

Graphics (128 x48 matrix) 

Parallel & compositive video 

On board low-power memory 

Powerful software included for cursor 
home, EOL, Scroll Graphics/Charactet 
Upper case, lower case and Greek. 
Black-on-white & White-on-black. 



SHUGART801R 

8" FLOPPY DISC DRIVE 



$495.00 




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 $?5() QQ 



FLOPPY DISC INTERFACE 

JADE Floppy Disc (Tarbell Board) 
KIT S175.00 ea. 

S.D. Computer Products 
Versa Floppy Kit Sl59.00ea. 

Assembled & Tested $189.00 ea. 



MOTHERBOARDS - S100 STYLE 

9 slot "Little Mother" $35.00 

Assembled and Tested $85.00 

13 slot with front panel slot 
Bare board $40.00 

Kit $95.00 

Assembled & Tested $110.00 

2^k3^ssembled&Tested$149^S 



E-PROM BOARDS 



$99.50 



MR-8 (8K uses 2708) KIT 

with 1K RAM 
MR-16T (16K uses 2716) KIT $99.50 

with 1K RAM 
EPM-1 (uses up to4K 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 touseeither 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 [16KX1-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 inter- 
interfaces or 1 Kansas City cassette 
interface. 

* Serial interfaces are crystal controlled 

* Selectable baud rates. 

* Cassette works up to 1200 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 all parts delivered in California Cards 

Discounts available at OEM quantities. Welcome 

The Piggy is coming! 




Circle 195 on inquiry card. 



BYTEOctobcr 1978 



197 



Whstfs 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-the- 
shelf 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 £2 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 con- 
figuration 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/10A gives the user up to 
twice the read only memory capability 
presently available on the 80/10, for the 
same price. The 80/1 0A 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 10. 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 fullv 
buffered data and address lines, DIP swifch 
addressing, solder mask and parts legend. 

Z-80 CPU Board Most powerful 8 bit central 
processor available. Featuring power-on- 
jump, provision for on-board 2708. Accepts 
most 8080 software. $35.00 

BK 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 EPROM Board Indispensable for stor- 
ing dedicated programs ana often used soft- 
ware. Accepts up to 16K of 2708's or 32K of 
2716's. $25.00 

Protoboard Universal wire-wrap board for de- 
veloping 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 



ZIL0G Z-80 


$19.00 


ZIL0G Z-80A 


23.00 


Intel 2708 


11.00 


FAIRCHILD 2102 LHPC 


1.60 


FAIRCHILD 2102 LIPC 


1.35 



RAM! 

32K for $319.00 

Ithaca Audio is now stocking the Mostek 4115 
for S.D.'s Expandoram. Buy their basic kit, 24K 
of add-on RAM from us and SAVE. 



IMSAI B080 Kit with 22 Slot M.B. 


$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. ElA 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 202: 

0-1200 Baud rate, half-duplex oper- 
ation over 2-wire lines; 0-1800 Baud 
full-duplex over 4-wire conditioned 
lines. 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 



Bell 103: 




0-300 Baud, full-duplex, 


asynchro- 


nous serial data transmission; includes 


Auto-Answer. 




Prices: 




Standard Features . 


. $149.95 


VADIC PCB only w/ i 


iterface 


instructions . 


. $ 89.95 


Acoustic Coupler. 


. $ 29.95 


DAA Kit (private line 




only) .... 


. $ 14.95 



CONVERT IBM OFFICE SELECTRIC to I/O Typewriter: solenoids, switches, 
wire harness, magnet driver PCB plus instructions *8080 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 W mag tape. 

Specs: 9-track, NRZ1 standard, 800 BPI, 12"/sec, 1200 ft. reels (11 mega- 
byte 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 ElA 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 type- 
writer, & 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) ... .$1 195.00 
Model 5560 (ASC ll 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 (I encoded keyboards, Selectric 
& Diablo Terminals, etc.) 

90 day warranty against defects in material or work- 
manship 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 with- 
out notice. 

AIL 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 * 



PRECUT WIRE 

WHY BUY WIRE ON ROLLS? 
PRECUT & STRIPPEO WIRE IS: 

F«t - No more cutting & stripping by hand 
Rtllable - Good, clean, uniform strip 
Economic*! - Cheaper than using bulk wire 



100 PCS of 3" at J 82 = 3v«e/lt. 50 tt roll at Si 99 «/M. 
100 pes of 6" at 1 06 ■ 2*/tl. 100 ft roll at 2 95 ' 3«/H. 

W.re K.I 1 at $6 95 = 2 1/3*/M. 



# 30 Kynar stripped I" on each end Lengths are overall 
Colors Red. Blue. Green. Yellow. Black. Orange. While 
Wire packaged in plastic bags Add 25«/length lor tubes 



500 

2 40 
2 60 
2 80 
300 


1000 
4 30/K 

4 71/K 

5 12/K 

5 52;k 


5000 

3B9/K 
4 22/K 
4 55/K 
4 88/K 


3 21 
3 42 
3 65 
3 85 


5 93/K 

6 34/K 

6 75/K 

7 16/K 


5 21/K 
5 52/K 

5 86/K 

6 19/K 


4 05 
4 25 
4 45 
4 65 


7 57/K 

7 9B/K 

8 39/K 
8 80/K 


6 52/K 

6 85/K 

7 18/K 
7 53/ K 


4 85 

5 05 
525 
5 51 


9 21/K 
9 62/K 
10 03/K 
10 44/K 


7 64/K 

8 17/K 
8 50 K 
8 83/K 



WIRE KITS 



-1 $6.95 



~2 $19.95 



3" 250 5" 100 6/ 

3V 100 5V 100 r 

4" i 250 it Roll Bulk 



2.2" x 6.5" 



SOLDERLESS 
BREADBOARDS 
SK 10 $16.50 

INCLUDING: 

Over 100 pieces of precut wire 
in assorted lengths — free! 
Choose 1 color: Red. Black. Blue. 
Yellow. Green. White. Orange 
Or Assortment 



INTERCONNECT CABLES 



DOUBLE ENDED 




SINGLE ENDED 



1 34 2 05 
1 44 2 24 

1 65 2 63 



2 24 
2 33 
2 52 



WIRE WRAP TOOLS 



■mr. 



$34.95 

With Free Wire Kit 1 Wk 
($6.95 Value) Wk 

HOBBY WRAP W 

Model BW 630 

Batteries & Charger $11.00 

WSU 30 Hand Wrap-Unwrap Strip Tool 6.25 

WSU 30M, for Modified Wrap 7.25 

BT 30 Extra Bit 2.95 



WIRE WRAP SOCKETS 

10-24 25-99 100 249 250-999 1K-5K 



W 



8 pin 


.35 


.33 


.31 


.29 


.25 


.23 


* 14 pin 


.35 


.33 


31 


.29 


.28 


.27 


* 16 pin 


.37 


.35 


.33 


.31 


.30 


.29 


* 18 pin 


.60 


.55 


.45 


.43 


.40 


.37 


20 pin 


.84 


.78 


.71 


.63 


.59 


.54 


* 22 pin 


.90 


.85 


.82 


.78 


.70 


.60 


24 pin 


.91 


.84 


.78 


.68 


.64 


59 


25 pin strip 


1.25 


1 05 


.95 


.80 


.70 


65 


28 pin 


.95 


.89 


.84 


.80 


76 


.74 



1 .50 1 .40 



1.30 



1.20 



1.05 



Gold 3-Level Closed Entry Design. 

*End & Side Stackable. AH prices include Gold. 

2 Level Sockets Also Available. 



EDGE CARD 

CONNECTOR 

SALE! 



44 Pin 
100 Pin 
100 Pin 



Solder Tail 
Solder Tail 
Wire Wrap 



S1.75 
3.50 
3.50 



$15/10 
S30/10 
S30/10 



All connectors include Gold. 



PAGE DIGITAL 
ELECTRONICS 



135 E. Chestnut Street 5 



Ordering Information: 

Orders under $25 and COD'S, add $2 
All others, shipped Ppd in U.S. via UPS 

For Blue Label (Air) or ist class, add $1 Monrovia, Calif ornia 9 1 1 6 

We accept Visa & Mastercharge . r-nnr- 

Most orders shipped same day Phone (213) 357-5005 

Dealer Inquiries Invited 



Circle 297 on inquiry card. 



BYTE October 1978 



199 



What's New? 



SYSTEMS 



Cromemco Features a Z-80 Based Microcomputer 




Cromemco's System Three is ideal 
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 R5-232 interface, a parallel printer 
interface, a video terminal with line 
editing and block mode transfer cap- 
abilities, and a fast line printer with 132 
columns. 

System Three is available with a 
number of options including a program- 
mable 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 protec- 
tion 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 avail- 
able on standard, IBM format, soft 
sectored diskettes. 

The System Three mainframe is avail- 
able for $5990. The additional video is 
available in two models for either $1595 
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 
TITMS9900 




The Compucolor II is a personal com- 
puter system available in five models, 



with its own 8 color, 13 inch (33.02 cm) 
diagonal display, a typewriter-like key- 
board with 3 key rollover, 8080A proc- 
essor, 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 famil- 
iar mathematical notations. 

Games like Star Trek, Blackjack, 
Chess, Checkers, Othello, and educa- 
tional games for youngsters are avail- 
able on diskettes. In addition, there are 
programs available for checkbook bal- 
ancing and income tax compilation. 

Prices for the Compucolor II range 
from $795 to $1995. Further infor- 
mation can be obtained from Compu- 
color 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 micro- 
computer 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 resi- 
dent monitor, on board programmable 
read only memory programmer, key- 
board interface and serial (RS232C/ 
TTY) input and output (10). 

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 avail- 
able with dual floppy or minifloppy 
disks. Expansion cards provide up to six 
RS-232 and 20 mA current loop inter- 
faces. 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 



CaMFornja DiqiTAl 

Post Office Box 3097 B • Torrance, California 90503 



CLAREPENDAR [HI 

General Instrument Corp. uJ 

KEYBOARD 

ASCII ENCODED 




k 6 E 3 y $ 64.95 



This is a one time purchase of 
NEW Surplus keyboards, re- 
cently aquired from the Tele- 
communications 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 re- 
pete functions. 

Sloped pannel and positive feel 
switches, makes this profes- 
sional quality keyboard an ex- 
cellent buy at only $64.95. 
L imited Quantities. 



1 IETBJENQIDC; 

; |wTe |~r 



6 7 



8 9 



2 IDC 4 I Em INAK I HT I 

T Y U III 



si Idle I 
OP 



■ I BS |FS , I BACH IhEReI 

— I ~ |\ ' IspaceI is 



CONNECTORS 



1 1 












*! 


MALE \*J 


Vf I'l-i'i'rrnrv 




km 


SH 



your choice 

DB25P 

male plug & hood 

or 

DB25S female 

*395 

Qty. fe. male lid. 
10 3.45 2.45 1.15 
25 3.15 2,25 1.05 
100 2,85 1.90 .95 
500 2.25 1.60 .85 
IK 1.97 1.37 .73 



Edge 

Connectors 




GOLD 
100 PIN 

IMSAI/ALTAIR 



Imsai solder. 125x. 250 
Imsai w/w.l25centers 
Altair soldertail.MOrow 
SPECIALS 
22/44 Kim eyelet. 156" 
25/50soldertab.l56" 
36/72 wide post w/w.156 



$4.95 3/M0.00 
$4.95 3/$13.00 
$5.95 3/$15.00 

$1.95 3/$5.00 
$1.09 3/$2.00 
$1.95 3/$5.00 



498 



m 



Scotch 



Diskettes 

8inch Soft (IBM) 
8 inch 32 sector 
Mini Soft sec. 
Mini 10 sector 
Mini 16 sector 



Certified Digital 

CASSETTES 

Won't drop a BIT! 
*5. 50 




CALIFORNIA 
INDUSTRIAL 

is an 

Authorized 

Dealer of 

Scotch Brand 

Dataproducts 



LOW POWER 

45QnS 



7496 
7497 
74100 
74107 
74109 
74110 
74116 
74120 
74121 
74122 
74123 
74125 
74126 
74128 
74132 
74136 
74141 
74145 
74147 
7414B 
74150 
74151 
74153 
74154 
74155 
74156 
74157 
74159 
74160 



:^3 

: 
■'.•v.: 

4041 

4042 

404 I 

4044 

4046 
-:;:■:/ 
■:;■■: 9 
■'...:,-: 



1702A * 4.95 

B2s23 2.95 

82s 123 2 95 

2102 1.79 

2102-1 1.89 

21L02 1.19 

250nS 1*9 



S-100 Mother Board 
Quiet 




HEXADECIMAL KEYBOARD 

$3495 






MaJciSwItch hexadec 

microcomputer syslei 

In slanrJard hex code. 

Each assembly consists o) 16hermeti 

cally sealed reed switches and TTL 

shol" debounce circuilry. 

Reliable low fticlion aceta! resin 

plungers are credited for the smooth 

operation and long lite ol this premrui 

keyboard. 

Requires single + 5 volt supply. 



TELETYPE MODEL 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. Key- 
board generates all 128 ASCII codecombir 
lions. RS-232 interface, same as the popul; 
Model 33. Data Sheet sent upon request. Manufac- 
turer suggested prico $1377.00, 

IMMEDIATE DELIVERY s 1219 

TTL model with NOVATION brand 
Acoustic Modem. *1419 




r M?\ 





DIGITAL 

ALARM CLOCK 

Completely S4JAQC 
Assembled ±«J. 




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 oft for an additional 9 
minutes ol sleep. Clock also (unctions as a ten-mlnule elapse timer. 
"Alarm Set" indicator, AM-PM display. 



1 24.8 8 



KEYBOARD 



JOVSTICK 



COLOR TELEVISION 
R.E MODULATOR 





The Alan RF Modulator 

displayed directly upon your 
existing lelevisiOn system 
This un t ! converts the sig 
nal from the Apple II and 

ion frequencies 



SPECIAL 



APPLE (I 

IBK MEMORY 

COLOR* GRAPHICS* SOUND 



$1024 



Mfg. Sug. 
Retail.... 



i (our 1O0K polonlio- 
ico prOporllondl lo 

d radio controlled 



-^ LED , DIGITAL 

Darkroom 
Timer- Kit 

As featured in the August 78 issue 
ol POPULAR ELECTRONICS. 
Time 1 second to 10 hours 

$OA95 lnformation 
<J^, upon request. 



Digital Cassette Drive 

COMPUTER CONTROLED 



»-7g.50 



SPECIAL SPECIAL SPECIAL 
Only 10,000 Available 

NE555H 



Ofor'aO 

2 5 (or -7.00- 100*19.50 



V*S* 



us** 



7 JDS 
7 J 09 
7410 



7-113 




741.1 


". 


7416 


jit 1 


7417 


39 


7420 


19 


7422 


49 


7423 


33 


7425 


23 


7426 


23 


7427 


39 


7428 


■Vi 


7429 


39 


7430 


25 


7433 


39 


7437 


y> 


7438 


:■■; 


7439 


^9 


7440 


39 






3S0N 99 

3SICN .65 

370H 1.29 

370N 1 29 

373N 3 19 

377N 3.99 

380N 1.39 

3B1N 1.79 

382N 1.79 

NE555V 49 

NE556 1.29 

NE56SH 1.49 

NE565N 1.79 

t NE566N 1.25 

703CN .45 
.39 
39 



$.69 

Conductor Ft. 

[RIBBON WIRE] 

TWISTED PAIR 



W>*S&>1 



mm^^z. 



iho» ^^- .a 1 ^v" i 1 
7491 \ 9 T A c^ c 'e ° 






>&&» 



v^; 






\of ■ 



>* 



39 



UART 

AY 5 -1013A 

*4.98 

SPECIAL 

GENERAL INSTRUMENT ASCII Keyboard Encoder 
AY 5-3600 Prime but house marked only S4.95 




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, mother- 
board 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 | 

GPlOO-Moximum design ver- cjqaq 
saiilily along win standard A".''© 

cddiess decoding and Dal- 
faring lor S100 systems 
Room for 32 uncommitted 16 
pin IC s. 5 bus butter & de- 
coding chips. 1 Dip oddiess 
seleci switch, o 5 volt tegu- 

WWlOO-Wire wrap bread- 
board, similar lo tne GP100 
Allows wire wrap ol oil sues 
ot sockets In any sizes ol 
sockels In any combination 
An extra regulaior position 
tor multiple voltage apptica- 



Thumbwheel 
switch 

Ten position 

BCD 

$ 139ea. 



o* c o 

7, F 



L 



§ 



10 50 

51.15 .89 



1ST 

W 



Transistors 

ea. 10 50 100 



2N2222A .20 .18 .16.15 
2N3055 .69.65.59.55 
.79 .75.69.65 
1.59 149 1.391? 9 
.15 .11 .09.07 
.15 .11 .09.07 

odes 

10 25 100 
1N4002 lOOv. .08 06.05 
1N4005 600 v. .10.08.07 
1N4148 signal .07.05.04 
jumbo red ea. 10 25 100 
LED'$ ^5.13.11.09 



M J 3055 
2N3772 

2N3904 
2N3906 

Di 



Power Adapter 



6 vdc, 140mA SU 9 
7vdc, 1.4 A. 5.50 
9vdc. 15mA. 1.19 
10vAc,300mA 



"B 




12v.ct. 175mA. 
TRANSFORMER 



TRIMMER 

POTENTIOMETERS 

2K 5K 10K50K . 



5. or 5.98 

20 50 100 



§r#i 



1 1 I 


^^^'1 


\ \ 1 


VISA 


master charge J 




^^■^»vj 



16< 14« 12< 



(213)679-9001 



Page Wire Wrap Kits 
precut & stripped 

KITNo.l *6. 9 5 

900 Assorted Lengths 

KITNo.2'19? 5 

2800 Assorted Lengths 
250' Bulk Wire 



CAPACITORS 



ELECTROLYTICS 

ea. 10 50 



80,0 00/ 10 v. 3.95 3.49 2.95 
4500/50v.$l49 135 1J9 

1000/15v $.55 49 .45 

axial 



Miniature J 
Switches J» 

it 

$.98 s.gg .81.73.66 | 
SPOT Miniature Toggles 

7101 C&K 0N-N0NE-0N 

7107 jot ONOFF(mnt.ON) I 

7108 CK ON(moment.ON) 

Rocker JBT DPDT 

Rotary 3P-4-Pos. 

Rotary 3P-6Pos. 

PushB(N.0.) $.39ea. 4/51 



your choice 

50 100 Ik 




DIP Switch 



$ 1 49 





Heavy 
duty'grounded 
power cord and mating 
chassis connectors. 



PANASONIC 

*98 




A A" 

450mA. 



DISCOUNT '\ 

UJire Wrap^enter 



IC SOCKETS 



wire wrap 
ea. 25 SO 


low profile 
ea. 25 50 




17<16 15 




37<36 35 


18 17 16 


38 37 36 


19 18 17 


99 93 85 


36 35 34 


169 155 139 


63 60 58 



529,95 



s .98 



KVNARS^ 

500 1,000 11,000 
$9. $15. $105. 



WffiflSMM 



mm 



Circle 39 on inquiry card. 



rcicn orders add 10'. 
rds accepted, J20 minimum 



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 S 195 
ASSEMBIED- TESTED S 249, 

WRITE FOR DETAILS TO 

X "Y ENTERPRISES P.O. BOX 796 

HUNTSVILLE ALA. 3s »OA 



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 



SURPLUS ELECTRONICS 



ASCII 




ASCII 



IBM SELECTRIC 

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-1 00 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 



MICRO-VERTER 

| A SPECIAL COLOR MODULATOR FOR APPLE II USERS!! 
lUHF Version. Operates above channel 14. Eliminates worms' 



Operates above the switching harmonics of the computer, 
thereby yielding a cleaner, worm-tree picture. Tunable 
over a minimum of 4 channels. Interfaces directly with 
the Apple II as well as most other micros. Comes witti 
video cable and RF output stub coupler, Two-toned cowl 
type decorator cabinet. Siie: 5.5cm x 8.5cm I II. 5cm. 
Power: + 5V, Current approx. 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 assembl y 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 — 535.00. 



" PIXE-PLEXER " An IC type video-to-RF modulator 
includes FM sound sub-carrier, color subcarrier and 
separate R-Y and B-Y inputs. Designed around the 
LM-I889 chip. A designers dream witit full data sheets. 
Model PXP-4500. Kit form. S24.50 postpaid. 

" PIXE-VERTER " The original computer video-to-RF 
i nterface module. Kit form: 58.50 Model PXV-2A 

|pHOH^rWRrT^^DAY^0IAL4T^»nnir 



-dVi 



13-B Broadway ATV Research Dakota City, Hebe. 
M^-^CN 1 6B73I 



Circle 22 on inquiry card. 




NEW SURPLUS PRINTER 

Okidata - CP 110 - Friction Feed 
Un Used, in O.E.M. Factory Cartons. 

• 5x7 Impact Dot Matrix 

• 80 Char/Line 

• 64 Char ASCII 
. 110 Char/Sec. 

• 66 Lines/Min. 

• Accepts 8 1 /?" 
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 157 on inquiry card. 



Circle 386 on inquiry card. 



Circle 177 on inquiry card. 



Xpce electronics"X " 



S-IOO KITS 

I6/4+I 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. 

prices subject to change 



$I30°° 
$I30°° 
$ 80°° 
$63l°° 
$ I55 °° 



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 



taster charge 



• phone orders 
(916)966-2208 

•COD requires 
50"7„ Deposit 



•5°7 e for shipping, 
excess refunded 

• calif residents 
a d d 6 7o sales 
tax 

• all products 
guaranteed 



JJ 



202 



BYTE October 1978 



Circle 288 on inquiry card. 



• "•• 



•••• 




KIT FEATURES: 



16K E-PROM CARD 

IMAGINE HAVING 16K OF SOFTWARE ON LINE AT ALL TIME! 
S-100 [Imsai/Altair] Buss Compatible! 



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 buf- 
fered! 

4. All sockets included. 

5. On card regulators. 

KIT INCLUDES ALL PARTS AND 
SOCKETS (except 2708's). Add $25. for 
assembled and tested. 




PRICE CUT! 



$57.50 kit 



SPECIAL OFFER: 



WAS $69.95 



Our 2703s (450NS) are 
when purchased with above kit. 



$8.95 



"0H 



Su& 



BK LOW POWER RAM KIT-$149.00 



KfT FEATURES: 



ADD 

$20 FOR 

250 NS 



S-100 (Imsai/Altair) Buss Compatible! 



Doubled sided PC Board with 

mask and silk screen layout. 

plated contact fingers. 

AH sockets included. 

Fully buffered on 

data lines. 

Phantom is jumper 



pin 67. 
FOUR 
on card. 



all address 
selectable 



7805 regulators are provided 
(450 NS) 




USES 21 L02 RAM'S! 



2 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 



MOTOROLA QUAD OP - AMP 

MC 3401. 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-1 702 A's in one package. 



$15.75 o a . $Q95 4 T OR $50 nn 

PRICE CUT ^ 



SALE! 16K DYNAMIC RAM CHIP 

16KX 1 Bits. 16 Pin Package. Same as MOSTEK 41 16-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! 



$ 17 



95 



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! 18 
pin DIP. 2 chips give 1 Kx8. 

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 



NATIONAL SEMICONDUCTOR 

JUMBO CLOCK MODULE 



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 




FEATURES 

• FOUR JUMBO Si INCH LED OISPLA 

• 12 HO REAL TIME FORMAT 

• 24 HR ALARM SIGNAL OUTPUT 

• 60 OR 60 Hz OPERATION 

• LEO BRIGHTNESS CONTROL 

• POWFR FAILURE INDICATOR 

• SLEEP A SNOOZE TIMERS 

• DIRECT LED DRIVE (LOW RFIJ 

• COMES WITH FULL DATA 



ASSEMBLED! NOT A KIT! 



ZULU VERSION! 



WMA1008D — $9.95 



PERFECT FOR USE 
WITH A TIMEBASE 



(AC XFMR $1.95! 

COMPARE AT UP TO TWICE 
OUR PRICE1 



MANUFACTURERS CLOSEOUT! 



Digital Research Corporation 

w (OF TEXAS) * 



V P. O. BOX 401 247 Y 



GARLAND, TEXAS 75040 • (214) 271-2461 



SALE! 

1N4148 DIODES. SILICON. 

Same as 1N914. New, 

factory prime, Full Leads. 

100 FOR $2 

1000 FOR $17.50 



New* REAL TIME 
Computer Clock Chip 

N.S. MM531 3. Features 
BOTH 7 segment and 
BCD outputs. 28 Pin 
DIP. $4.95 with Data 




MICRO-MINI TOGGLE SWITCH 



99$ 

EACH 



SPDT. By RAYTHEON. 
MADE IN USA! WITH HDWR. 



6 FOR $5 



TERMS: Add 30C postage, we pay balance. Orders under 
$15 add 75<E handling. No C.O.D. We accept Visa, Master- 
charge, 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. J 



H 



••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••I 



Circle 100 on inquiry card. 



BYTE October 1978 



203 



What's New? 



MEMORY 



S-100 10 Read Only Memory Board 




The Master 10 contains enough read 
only memory and 10 to allow a 2 board 
S-100 system and can be used to emulate 
the Intel SBC 10 functions. This board 
can replace a real time clock, a fre- 



quency and period counter, program- 
mable read only memory and program- 
mable memory, and parallel and serial 
10 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, handshak- 
ing 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 10 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 pro- 
grammed for various clock division 
ratios. All the usual UART functions are 
available plus synchronous serial 10 to 
56 bps. One of the 8253 counters is 
dedicated to the USART (8251). This 
allows complete software program- 
ability 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 mem- 
ory (PROM) board for the S-100 bus can 



be used with eight 2708 type E read 
only memories with provisions for using 



2716s or the pin compatible 8316 mem- 
ories. 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 mem- 
ory, the address decoding scheme pro- 
vides 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 ob- 
tained. For further information contact 
Mini Micro Mart, 1618 James St, Syra- 
cuse 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 select- 
able. 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 ob- 
tained from Electronic Solutions Inc, 
7969 Engineer Rd, San Diego CA 921 1 1 .■ 

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 compris- 
ing a small memory on an integrated 
circuit. It replaces the older 256 by 4 
programmable memories (2101 and 
2111) for many small memory applica- 
tions, since only one component is re- 
quired instead of two. For more infor- 
mation, contact EMM Semi Inc." 

Circle 554 on inquiry card. 



204 



October 1978 © BYTE Publications Inc 



COMPUTER INTERFACES & PERIPHERALS 

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 
fromO to30,000« Plugs into any periph- 
eral connector • Lowcurrent drain. RS- 
232 input and output • On board switch 
selectable 5 to 8 data bits, 1 or 2 stop 
bits, and parity or no parity either odd or 
even • Jumper selectable address • 
SOFTWARE • Input and Output routine 
from monitor or BASIC to teletype or other serial printer. 
• Program for using an Apple II for a video or an intelli- 
gent 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 Ans- 
wer • 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 re- 
corder • Works up to 1 200 
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 in- 
cluded • Parallel 
ASCII (TTL) input • 
Video output • 1K 
on board memory • 
Output for compu- 
ter controlled cur- 
ser • Auto scroll • 
Non-destructive curser • Curser inputs: up, down, left, 
right, home, EOL, EOS • Scroll up, down • Requires +5 
volts at 1 .5 amps, and -12 volts at 30 mA • All 7400, TTL 
chips • Char. gen. 2513 • Upper case only • Board only 
$39.00; 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 con- 
nections 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 com- 
patible • Board only $35.00; with parts $110.00 



UART & BAUD RATE 
GENERATOR* 

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 connec- 
tor • 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 • Mem- 
ory 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 1 



Part no. 107 

• Converts video to AM modu- 
lated RF, Channels 2 or 3. So 
powerful almost no tuning is re- 
quired. On board regulated 
power supply makes this ex- 
tremely 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 




RS232/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 




RS 232/TTL* 
INTERFACE 



**L1X»~* 






Part no. 232 

• Converts TTL to RS-232, 
and converts RS-232 to 
TTL • Two separate circuits ( 

• Requires -1 2 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 De p f * B < RQ Box 2163a - San ^^ CA - USA 95151 



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 C.O.D. orders. California residents add 6.5% 
for tax. Outside USA add 1 0% 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 G RE AT Bl G COMP UTE R WORLD JJ 

TT But You Only Need j£ 

x-THE COMPUTER CORNER^- 

~+*~~ • SOL - A New Dawn is Here! ~**~ 

-W- •COMMODORE PET fie KIM H4- 

"> H •NORTHSTAR HORIZON -W- 

"►*- • IMSAI VDP-80 -*4- 

-*♦- • Memories & I/O Boards -W- 

-H- -44- 

-X- • Computer Book Service ^ 

.>{_ • Magnetic Tapes fit Disks ^ 

^ • Full Line of Magazines -n_ 

_^4_ • Brain Games & Puzzles -44- 

_^_ •Workshops & Club Information _n_ 

~£~ Visit THE COMPUTER CORNER for j 4 /" 

. all your computer needs. Stop in and ,^ 

_ browse — you'll like our personal service. ^ 

THE COMPUTER CORNER __l- 
~ rr_ White Plains Mall - Upper Level 

-W— 200 Hamilton Avenue "t*~ 

H White Plains, New York 10601 -j<- 

fci Tel: <914) WHY - DATA -W- 






Ample Parking 
106 Daily & Saturday 



r v' , 10-9 Thursday v^W 







couplers ^ 
connect: always 

The Dotec 30 Originate Only and the 
Datec 32 Originate 'Answer acoustic couplers 
provide reliable Bell System 103 113 compatible 
Duplex or Hall-Duplex. 300 bps dalo 
communication over conventional telephones. 

Dotec acoustic couplers ore the only couplers 
on the market wilh CRYSTAL CONTROL 
lor both the receiver and the transmitter 

The Datec 30 and Dotec 32 acoustic 
couplers connect, time and time again 

P.O. Box 839 

Chapel Hill, North Carolina 27514 

phone: (919) 967-5605 



ttTtfS 



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. 

& SPECIALIZING IN BUSINESS «fe 
^ AND PERSONAL COMPUTERS "** 

DATA GENERAL microNOVA® 
XITAN GENERAL 
APPLE II 

S-100 Bus Products 

SOFTWARE currently available: 
AR, GL, AP, Inv., Payroll, 
Word Processing, and Dental 
Office Manager. 



□ 



170 Main Street 
Nashua, NH 03060 
603/883-2386 



m.croNOVA" is a registered 
irademark of Data General Cort 



□ 



We ship from stock 

TELETYPE MODEL 43 $985 

with RS232 $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. 

S 10 shipping charge. 



W$& OWE N S ASSOC I AT E S #$ 

■ ;;;■;;■;:!;. 1 47 n o r wood av e n u e %%# t 

#$$& STATEN ISLAND NEW YORK 1030* -fi^M': 



(212)448-6283 (212)448-6298 

We have no reader inquiry numlier. Please write or call. 
DA Y. EVENING. WEEKEND CALLS WELCOME! 



Dynamic RAM Breakthrough 
16K Bits For $15.95 

Tha best currant pnc»s and baiter than you can expect to 
beat for qute some time: 

MC4II6L20 PRIME MOTOROLA DYNAMIC RAM tW pin, 
20Ona access, 375ns cycle time, 70C, cewnc package, 
gold pna, fully guaminteecf) SIS.95 per chip. Thaaa plug 
diraclly into your TR5-B0 or APPLE compxjtar. Del* 
sheet included with your order. For mora than IOO unite 
cell for quantity oncing. 

S 100 64K MEMORY BOARD KIT (for 1BK lo 84K of 
above chipe) marvels, and all comjxrents except neiu y 
chips $125, 

S-100 CONNECTORS, (used in excellent condlion, soma 
with wire wrap wire) 3 (aval wire wrap, Imeel Spacing, 
$2.95 pi. 10 ror $27 00. 90 Tor $7S 00. 

CARD GUIDES Wierd (but vary race) wilh reteming clips 
$ J0i pair. 

MinifTvm order 5IO.OO. Mestarcherge and Vise sccaptad 
For quaettona and cherge orders (no CDOJ carl R*« ApJay 
or David Louria el (B17) 242-3350. 

Plense add S1.DO for- sf ipping wxl handling on aft orders. 

Pemil to: 

The Memory Coop 

144 MIT Branch 
Cambridge MA 02139 



CV» to ih« 



ttpiac* p^ick* 



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 di rectly into LSI 
11, LSI 11/2, H11 & PDP 1103. Address- 
able in 2K increments up to 128K. 8K x 1 6 
$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 eval- 
uation modules. Addressable in 4K in- 
crements 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. 

_^ Tested and burned-in. Full year warranty. 

■ j Chrislin Industries, Inc. 

^2s Computer Products Division 

31312 Via Colinas • Westlake Village. CA 91361 
213-991-2254 



From the wonderful 
folks who brought 

'/VYlaT /in/in 

you iCOM-C 



MICR0P0LIS-CP/M* 

Computer Mart now brings CP/M software to 
MICROPOLIS users, giving the MICROPOLIS 
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! 



ta 



Dealer inquires invited. The Microcomputer 

Computer Mart of New Jersey Peop,e " 

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 

•CP/M is a registered trademark of Digital Research Corp. i z 



Circle 228 on inquiry card. 



Circle 46 on inquiry card. 



Circle 74 on inquiry card. 



F 



rA / T , rw OAA1 A "Smart" VIDEO BOARD 
M The EW-2001 KIT At A "Dumb" Price! 

^T A VIDEO BOARD + A MEMORY BOARD + AN I/O BOARD - ALL IN ONE! 



■ STATE OF THE ART TECHNOLOGY USING DEDICATED MICROPROCESSOR I.C. <& II QQ O^ 

■ NUMBER OF I.C.s REDUCED BY 50% FOR HIGHER RELIABILITY ■ MASTER PIECE «fl> J- ->7 ^•S*J 
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 S10.00 

■ Parallel keyboard port ■ Cursor controls: up, down, left, 2K Static Memory 

■ On board 4K screen memory ri g ht > home, carriage return (with Sockets) S45.00 

(optional)* relocatable to main ■ Composite video 4K Static Memory 

Computer memory * Min> 2 K required for operation of this board. (with Sockets) S90.00 

■ Text editing capabilities (soft- DISPLAY FEATURES* Complete unit, assembled 
ware optional) and tested with 

■ Scrolling- up and down through " 128 /isplayable ASCII charact- 4K Memory S335.00 

ouuuuig. up dim uuwn uiiuugii ers ( upper an j i ower case alpha- _ . _,_ _ ^„ „„ 

video memory numeric, controls) Basic software on ROM . S20.00 

■ Blinking characters m 64 or 32 characters per line Te *t edit o r ° n R0M ■ ■ ■ • $75.00 

■ Reversed video O'umper selectable) 

■ Provision for on board ROM ■ 32 or 16 lines DEALER 
^t^ i-i , r „ O'umper selectable) 

■ CRT and video controls fully . 

programmable (European TV) " Screen capacity 2048 or 5 1 2 INQUIRIES WELCOMED 

■ Character generation: 
7x11 dot matrix 



8080 SUPPORT 
8212 $3.00 



8214 
8216 
8228 
8251 
8255 



7.95 
3.50 
5.95 
7.95 
8.50 



GROUNDED 
A.C. CORDS 

6 Ft. -$1.19 



80*0* 



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. ICs 

I DM8810 3/$l 
DM8210 $2ea. 
N8TI5 $lea. 
9024 2/S1.50 
93L08 $1.50 ea. 
93L09 2/S1.50 

| 93L24 $1 ea. 



CMOS 



4011 
4022 
4023 
4071 



6/S1.00 
2/$1.70 
4/S1.00 
5/S1.00 



LINEAR 
I.C.'s 

LM320K-5 .99 
LM320-12 .99 
LM709N 11/$1 
LM710H 6/$l 
LM711H 6/$l 
LM741M 7/$l 



Transistors 
& Diodes 



2N3906 

2N4400 

2N4403 

2N2222A 

1N4003 

1N4005 

1N4148 

SCR 400V 

4A,TO220 $ .80 



7/$l 

9/$l 

9/1 

4/J1 

12 $1 
10/$1 
14/$1 



SHIPPING: Keyboard and Video Board: $3.50; ormits i;>5 
California residents add 6% sales tax 



ELECTRONICS WAREHOUSE Inc. 

1603 AVIATION BLVD. 
^gf REDONDO BEACH, CA. 90278 
JS** TEL. (21 3) 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 



$27.50 
$ 2.00 
$ 4.00 



■ 18 Pin Edge Con. 

■ I.C. Sockets 

■ Serial Output Provision 

(Shift Register). $ 2.00 

■ Upper Case Lock Switch for 
Capital Letters and Nos. $ 2.00 

Assembled (on Sockets) 

and Tested $90.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 

15 mA 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 



Circle 130 on inquiry card. 



BYTE October 1978 



What's New? 



A Low Cost Minifloppy System 



MASS STORAGE 



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 disk- 
ette drive interfaces to microcomputers 
using the 8080, 6800, or Z-80 pro- 
cessors, 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 for- 
mats on IBM diskette I, II, IID or equiva- 
lent 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 
10 9 soft errors and 1 in 1012 hard 
errors. 

The Model 299 features electric auto- 
load 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 sys- 
tem, 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 micro- 
computer based systems. The unit incor- 
porates 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 ran- 
dom 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 expan- 
sion. 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 sys- 
tem. 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 capa- 
ble 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) alumi- 
num 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 approxi- 
mately 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 assem- 
bled). The unit weighs approximately 
45 lbs (20.4 kg) and sells for $2095 as- 
sembled 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 © BYTE Publications Inc 



DIODES/ZENERS 


SOCKETS/BRIDGES 


TRANSISTORS, L EDS, etc. 




1N914 


100v 


10mA .05 


8-pin pcb .20 ww .35 


2N2222 


NPN (2N2222 Plastic .10) 


.15 


1N4n05 


600v 




1A .08 


14-pin pcb .20 ww .40 


2N2907 


PNP 


.15 


1N4007 


1000v 




1A .15 


16-pin pcb .20 ww .40 


2N3906 
2N3904 


PNP (Plastic - Unmarked) 
NPN (Plastic - Unmarked) 


.10 
.10 


1N4148 


75v 


10m- 


18-pin pcb .25 ww .75 


2N3054 


NPN 


.35 


1N4733 


5.1v 


1 W 


Zener .25 


22-pin pcb .35 ww .95 


2N3055 


NPN 15A 60v 


.50 


1N753A 
1N758A 


6.2v 
10v 


500 mW Zener .25 
.25 


24-pin pcb .35 ww .95 
28-pin pcb .45 ww 1.25 


T1P125 
LED Green, 
D.L.747 


PNP Darlington 
Red, Clear, Yellow 
7 seg 5/8" High com-anode 


.95 

.15 

1.95 


1N759A 


12v 




.25 


40-pin pcb .50 ww 1.25 


MAN72 


7 seg com-anode (Red) 


1.25 


1N5243 
1N5244B 


13v 
14v 




.25 
.25 


Molex pins .01 To-3 Sockets .25 


MAN3610 
MAN82A 


7 seg com-anode (Orange) 
7 seg com-anode (Yellow) 


1.25 

1.25 


1N5245B 


15v 




.25 


2 Amp Bridge 100-prv .95 
25 Amp Bridge 200-prv 1.95 


MAN74A 
FND359 


7segcom-cathode (Red) 
7 segcom-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 


74S1 94 


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 


751 08A .35 


74L73 


.40 


74LS10 


.25 


4019 
4020 


.35 


7420 


.15 


74100 1.15 


75491 .50 


74L74 


.45 


74LS1 1 


.25 


.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 


741 75 .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 


LM741 (8-1 4) .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 
LM311D(Mini) .75 


LM340T12 .95 
LM340T15 .95 


78M05 
LM373 


.75 
2.95 


LM1458 
LM3900 


.65 
.50 


9000 SERIES 




9301 .85 


95H03 


1.10 


LM318(Mini) 1.75 


LM340T18 .95 


LM380(8-i4PiN).95 


LM75451 


.65 


9309 .35 


9601 


.20 


1_M320K5(7905)1.65 


LM340T24 .95 


LM709(8,i4pin).25 


NE555 


.35 


9322 .65 


9602 


.45 


LM320K12 1.65 


LM340K12 1.25 


LM711 


.45 


NE556 
NE565 
NE566 
NE567 


.85 

.95 

1.25 

.95 


MICRO'S, RAMS. C 


PITS, 






E-PRC 

74S188 3.00 
1702A 4.50 


)MS 

8214 
8224 


8.95 
3.25 


INTEGRATED CIRCUITS UNLIMIT 


ED 








MM5314 3.00 


8228 


6.00 


7889 Clairemont Mesa Boulevard, San Diego, California 92111 




MM5316 3.50 
2102-1 1.45 


8251 
8255 


8.50 

8.50 


(714) 278-4394 (Calif. Res.) 


SPECIAL 
DISCOUNTS 


2102L-1 1.75 


8T13 


1.50 


All orders shipped prepaid No minimum 


Total Order 


Deduct 


2114 9.50 
TR1602B 3.95 


8T23 
8T24 


1.50 
2.00 


Open accounts invited COD orders accepted $35 -$99 


10% 


TMS 4044- 9.95 


8T97 


1.00 


Discounts available at OEM Quantities California Residents add 6% Sales Tax jl?9 " ??™ 


15% 




2107 


3-4 4.95 


All IC's Prime/Guaranteed. All orders shipped same day received. 


$jui - $iuuu 


20% 


8080 8.95 
8212 2.95 


2708 
Z80P 


9.50 
10 8.50 


24 Hour Toll Free Phone 1-800-854-2211 American Express / BankAmericard / Visa / MasterCharge 



Circle 180 on inquiry card. 



BYTE October 1978 



209 



The Incredible 
"Pennywhistle 103' 




ELPAC 

POWER 

SUPPLIES 



Completely Assembled 
SPECIFICATIONS: 

105- 125/210-250 Vac. 47-440 Hz input: 



±0.1% 
r0.1%no-!oad to rated -load 
±0.1%p-p,<Jcto 10 MHz 
100 megohm dc, 900 Vac 
35% rated current 
RATINGS 



Line Regulation 
Load Regulation 
Output Ripple and Noise 
Input/Output Isolation 
Short Circuit Current 
PART NO. RATINGS PRICE 

WATTS VOLTS AMPS 

S0LV15-5* 15 5 3 $36.95 

S0LV15-12* 15 12 1.5 36.95 

SOLV30-5 30 5 6 59.95 

SOLV30-12 30 12 3 59.95 

0VP1 aver voltage protection lor SOLV30-5.-12 9.95 
'S0LV15-5. 12 includes OVP installed 



SUP 'R' MOD II 

UHF Channel 33 TV Interface Unit Kit 

* Wide Band 8/W or Color System 

* Converts TV to Video Display for 
home computers, CCTV camera, 
Apple II, works with Cromeco Daz- 
zler. SOL-20. IRS-80. Challenger. 

* MOD II is pretuned to Channel 33 
(UHF). 

♦includes coaxial cable and antenna 
transformer. 




MOD II 



$29.95 Kit 



^CRYSTALS or- 

•-H&A. THESE FREQUENCIES ONLY '^-iT", — 



CY1A 

CY1.84 

CY2A 

CY2.01 

CY2 50 

CY3 27 

CY3.57 

CY3A 

CY4 91 

CY7A 

CY5.18 

CY6 14 

CY640 

CY6.55 

CY12A 

CY14A 

CY19A 

CY18 43 

CY22A 

CY30A 



THESE FREQUENCIES ONLY 
FREQUENCY CASE 



1.000MHz 
1.8432MHz 
2 000MHz 

2 010MHz 
2.500MHz 

3 2768MHz 

3 579545MHz 
4.000MHz 

4 916MHz 
5000MHz 

5 185MHz 

6 144MHz 
6400MHz 
65536MHz 
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 



5 95 
5 95 
5 95 
1.95 
4.95 
4 95 
4,95 
4 95 
4 95 
4 95 
4 95 
4 95 
4 95 
4 95 
4.95 
4 95 
4.95 
4 95 
4 95 
4 95 



AUTO-TEL KITS 

As Featured in August - Popular Electronics 




and Oil Failure 



AUTOTEL — An audible alarm kit indicating polential en 
gine damage. An audible signal (70 db pulsing) im 
mediately forewarns a malfunction or failure. There is no 
sound during normal operation. Features CMOS circuitry. 
Complete kit with all g a qj- / fla 

components, hardware. \J)H . JU/Cd 



1/16 VECTOR BOARD 



Pan no 

64P44 062XXXP 
169P44 062XXXP 
64P44 062WE 
84P44 062WE 
I69P44 062WE 
169P84 062WE 
169P44 062WEC! 



P8085 


CPU 


eoeoA 


CPU 


8212 


6-Bit Input/Output 


8214 


Priority Interrupt Control 


a?ifi 


Bi-Directional Bus Driver 


8??4 


Clock Generator/Driver 


8228 


System Controller/Bus Driver 


9251 


Prog. Comm. Interface 


8255 


Prog. Periph. Interface 



MICROPROCESSOR COMPONENTS 



$29.95 COP 1802 CPU 

10.95 Z80 CPU 

4.95 2650 MPU 

7.95 MC6800 MPU 

4.95 MC6810API 128 x 8 Static Ram 

5.95 MC6820 Periph. Interface Adapter 

5.95 MC6821 Periph. Interface Adapter 

9 95 MC6830L8 1024 x 8 Bit ROM 

10 95 MC6850 Asychronous Comm. Adapter 



519.95 
24.95 
26 50 
19.95 

595 
7.95 
11.50 
14 95 
14.95 



2111 

2112 

2114 

2114L 

2J14-3 

21141-3 

7489 

8101 



2i! n- 

742011 
93421 



: '. . ■ - 



RAM'S 

i 1 Static 

x t Dynamic 
I 4 Sialic 

x 1 Static 
I x 1 Dynamic 
k4 Sialic 
x4 Static 

1 Static 450ns 

1 Static 450ns Low 

4 Sialic 300ris 
4 Sialic 300'is Low 

4 Slant 
x 4 Sialic 
x 4 Static 

4 Sialic 

I x 1 Static 

x t Sialic 

Sialic 



Power 10 95 

10.95 

Powef 1195 



1702A 

5203 

82S23 

82S115 

82S123 

74S287 

TWS2532 32K 

2708 8K 

2716 T.1 16K 

2716 Intel (2516 1 I I 

6301-1 1024 x 1 

6330-1 256 x 1 



2048 x 1 
2048 x 1 
32x8 
4096 x 1 
32x8 
1024 x 1 



PROMS 

Famous 

Famous 

Open C 

Bipolar 

Tfislate 

Static 

EPROM 

EPROM 

EPROM 

EPROM 

Tn-State Bipolar 

Open C Bipolar 



16K 



10 95 
29 95 
59 95 



CONNECTORS 

25 Pin-D Subminiature 



DB25P(as pictured) PLUG S3 25 

DB25S SOCKET 4.95 

DB51226-1 Cover for DB25 P or S 1 .75 



MOLEX CONNECTOR PINS 



Pre-packaged in strips 



S1. 95/100 pins 
M-530-1 (minimum order) 

$16.00/1000 pins 



INSTRUMENT/ 
CLOCK CASE 

Injection molded unit. 
Complete with red bezel. 



$3.49 




MK4027 (UPD414 
MK411C IUPD1 16 

TMS4044-45NL 



2K x 1 Dynamic 



DYNAMIC 16 PIN 
DYNAMIC 16 PIN 
STATIC 



3/1 1.ODt 



ROM'S 
2513(2140) CHaracter Generalor (opper case) 
251313021) Character Generator (lower Case) 
?5i6 Character Generalor 

MM5230N 2048 Bil Read Only Memory 

USER MANUALS 

1B02M COPI802 Manual 

Z80M ZSO Manual 

2650M 2650 Manual 



MM5013N 

MM5016H 

MM5017N 

2504T 

2518 

2519 

2522 

2524 

2525 

2527 

2528 

2529 

2532 

2533 



SHIFT REGISTERS 

1024 BitAccumulator Oynamic 

500/512 Bit Dynamic 

Dual 500/512 Bit Oynamic 

1024 Oynamic 

Hex 32 Bit Static 

Hex 40 Bit Static 

Dual 132 Bit Sialic 

512 Dynamic 

1024 Oynamic 

Oual 256 Bit Static 

Oual 250 Static 

Ouai240 Bn Sialic 

Ouad 80 Bit Sialic 

1024 Staitic 

Fito 

4 X J Reaisrei 

UART'S 
30K BAUO 



TELEPHONE 
KEYBOARO CHIPS 

AY-5 9100 $14 95 
AY-5-9200 14 95 
AY-5 9500 4 95 
AY-5 2376 14 95 
HD0165 
7-1C922 



SPECIAL REQUESTED ITEMS 



ICM7045 
ICM7205 
ICM7207 
I CM 7208 
ICM7209 



HMOS READ ONLY 
MEMORIES 

MCM6571 $13 50 
MCM6574 13.50 
MCM6575 13 50 



9 95 



MISCELLANEOUS 

11C90 S19 95 MK40240 5 

MC3061P 11.95 OS0026CH 

MC1408L7 4.95 TIL308 

MC140BL8 5 75 95H90 
L0110/111 $25.00/se1 

MC4016(744I6) 7 50 

4N33 3 95 




The Sinclair PDM35. 

A personal digital 

multimeter foronly $59 95 



tut «p»dllcoHan 



.«:V„li,,40 1fi.jkHjj 
Kjnirr IVwSOOV 



Kjnpti- lnAi«Ji*lm.-\ 



PART NO. DESCRIPTION PRICE 

PDM35 Digital Multimeter .c-*-**— > $59.95 

PDM-AC N7volt AC Adapter 6.95 

PDM-DP Deluxe padded carrying case 6.95 



SUMMS3 3V '' DiBit Portable DMM 




i Piotecleo 
. .1 ini|h tEI) Display 

■ [I.Hlery ui AC OPcr.ilitin 

■ Anio 2eii)ni(| 

■ inn 1Va t ohm lesolulion 

■ Overange reading 

« !0 men Win nmwritlence 
• DC acchucv I - lyn'cai 

Ranges: DC VolLnje ■ ■ 1010V 
AC VCJlldQc 0- 1000V 
Frerj Response 50 400 HZ 
ODAC Cuirent 0-lOOmA 
Resistance 1(1 meg ohm 
Si?e o 4 » 4 a » 2 

Accessories: 



AC Adapter BC-28 
Rechargeable 
Batteries BP-26 



$9.00 
20.00 



Carrying Case LC-28 7.50 



100 MHz 8-Digit Counter 

• 20 Hz-100 MH/ Range . Four power souces. i e 
. .6" LEO Display batteries. 1 1 or 220Vwith 

■ Oysial-controlled timetase char get 12V with auto 

• Fully Automatic lighter adapter and external 

■ Portable — compleieiy 7.2-ioV power supply 
sellcontaned ^ MAX-100 $134.95 



x 5 63 



y 



ACCESSORIES FOR MAX 100: 
Mobita Charger Eliminator 

use power Irom carbafieiy Model 100— CLA S3 95 

Charger/Eliminator 

use 110 VAC Model 100 — CAI $9.95 



63-Key Unencoded I KEYBOARDS] Hexadecimal Key Pad 




This is a 63-key. terminal keyboard newly 
manufactured by a large computer manufac- 
turer. It is unencoded with SPST keys, unat- 
tached to any kind of PC board. A very solid 
molded plastic 13 x 4" base suits most applica- 
tion, in stock $29.95/each 




19-key pad includes 1-10 keys, 
ABCDEF and 2 optional keys and a 
shift key. $10.95/each 



S5. 00 Minimum Order- U.S. Funds Only 
California Residents - Add 6% Sales Tax 



Spec Sheets - 2bi 

1978 A Catalog Available— Send 41c stamp 




nnsnsssm 



PHONE 

ORDERS 

WELCOME 

(415) 592-8097 



MAIL ORDER ELECTRONICS- WORLDWIDE 
1021 HOWARD AVENUE. SAN CARLOS. CA 94070 

Advertised Prices Good thru October 



$139.95 



Kit Only 




The Pennywhistle 103 is capable ol recording data to and from audio tape without 
critical speed requirements for the recorder and it is able to communicate directly 
with another modem and terminal lor telephone 'hamming" and communications 
lor the deal. In addition, n 15 Ireeol critical adjuslmenis and is built with non-precision, 
readily available parts 
Data Transmission Method . Frequency-Stiitt Keying, full-duplex (half-duplex 

selectable) 

Maximum Data Rale 300 Baud. 

Data Format AsynchronousSenal (retumto mark level required 

between each character) 
Receive Channel Frequencies . . .2025 Hz for space: 2225 Hz for mark 
Transmit Channel Frequencies . .Switch selectable Low (normal) 1070 space. 

1270 mark: High 025 space. 2225 mark 

Receive Sensitivity 46 dbm accousl caity coupled 

Transmll Level 15 dbm nominal. Adjustable from 6 dbm 

to -20 dbm. 
Receive Frequency Tolerance . , .Frequency reference automatically ad|usts to 

allow! or operationbetween 1 SOOHzand 2400 Hz 
Digital Data Interlace 6JA RS-232C or 20 mA current loop (receiver Is 

optoisoiated and non-polar) 

Power Requirements 120 VAC. single phase. 10 Walts 

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 




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 



• Brignl 6 Digit L£0 Display 

■ Times to 59 minute s 5 9 5 9 seconds 

• Crystal Controlled Time Base 

• Three Stopwatches in One 

limes Single Event — Split & Taylor 
« Size-1 5 x 2 15 x 90 bounces) 

■ Uses 3 Penhte Cells 

Kit — $39.95 

Assembled — $49.95 
Heavy Duty Carry Case $5.95 



Slop Watch Chip Only (7205) S19.95 



m i m 



3 1 / 2 DIGITDPMKIT 




• 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 

The Jf. ."00 is a low cosi dtgn.il clock but 
is a very high quality unti The unit lea 
lures a simulated w.thuf case with di 
mensions nl 6 \?': »l It utilizes i 
MAN?? high bnghlness iiMCtou! arid tin 
MM5J1J clock ci 



KIT ONLY 



$16.95 



JE803 PROBE 



Trie Logic Probe »s a unit wtucrnsio' memos! part -" *" / 

indesoensibie in trouble snooting logic tamiks 

TTi OIL fUL CMOS 11 derives We oower «l «.^^»» t tpjtM*} * 

needs to ope'ale rj'-eciiy on or itie circuit unco * - :!i - 

test drawing a scani 10 mA max it uses a MAN3 

leadoui lo indicate any gi me lonowmg states by 

mese symbols .Hi i aOWi o i^ULSEt P Trie c - - „. 

Probewnrieiecrnign Ireguency pu'ses icJSMH; 3>y.yj r6| MI 

it can 1 be used at MOS levels or cucjit damage 

Wl " ,esu " grimed circuit board 




T a L5V1 A Supply 

This is a standard TTL power supply usmgthe well known 
LM309K regulator :C1o provifle a solid 1 AMPotcuirenlatS 
voits We tr/ to make tmngs easy tor you by provdrng 
eveiyinmg youneeciinone package including I tie hardware 

,0 ' ^ JE225 $9.95 Per Kit 



PROTO BOARD 6 
S15.95 

' long X 4" wide) 




wtmmmmni mmumi 



PROTO BOARDS 



PB100 -4.5"x6" S 1995 

PB101 - 5.8" x 4.5" 22.95 

PB102 - 7" x 4.5" 26.95 

PB103-9"x6" 44.95 

PB104 -9.5"x8" 54.95 

PB203 • 9.75 x6Vzx2V4 75.00 

PB203A - 9.75 x 6Vz x 2^4 124.95 

(includes power supply) 

PROTO CLIPS 

L 14 PIN $4.50 

% 16 PIN 4 75 

24 PIN 8 50 

40 PIN 13.75^ 



210 BYTE October 1978 



Circle 200 on inquiry card. 



7400 TTL 



SN7400N .16 

SN7401N .18 

SN7402N .18 

SN7403N .18 

SN7404N .18 

SN7405N .20 

SN7406N .29 

SN7407N .29 

SN7408N 20 

SN7409N .20 

SN7410N 18 

SN7411N .25 

SN7412N 25 

SN7413N 40 

SN7414N .70 

SN74T6N .25 

SN7417N 25 

SN7420N 20 

SN7421N 29 

SN7422N 39 

SN7423N .25 

SN7425N .29 

SN7426N .29 

SN7427N 25 

SN7429N 39 

SN7430N 20 

SN7432N 25 

SN7437N 25 

SN7438N 25 

SN7439N 25 

SN7440N 20 

SN7441N 89 

SN7442N 49 

SN7443N 75 

SN7444N 75 

SN7445N 75 

SN7446N 69 

SN7447N 59 

SN744BN 79 

SN7450N 20 

SN7451N 20 

SN7453N 20 

SN7454N 20 

SN7459A 25 

SN7460N 20 
20% Discount 100 



SN7470N 
SN7472N 
SN7473N 
SN7474N 
SN7475N 
SN7476N 
SN7479N 
SN74B0N 
SN7482N 
SN7483N 
SN74B5N 
SN7486N 
SN7489N 
SN7490N 
SN7491N 
SN7492N 
SN7493N 
SN7494N 
SN7495N 
SN7496N 
SN7497N 
SN74100N 
SN74107N 
SN74109N 
SN74116N 
SN74121N 
SN74122N 
SN74123N 
SN74125N 
SN74126N 
SN74132N 
SN74136N 
SN74141N 
SN74142N 
SN74143N 
SN74144N 
SN74145N 
SN74147N 
SN74148N 
SN74150N 
SN74151N 
SN74152N 
SN74153N 
SN74154N 
SN74155N 
SN74t56N 
SN74157N 



SN74160N 
SN74161N 
SN74162N 
SN74163N 
5N74164N 
SN74165N 
SN74166N 
SN74167N 
SN74170N 
SN74172N 
SN74173N 
SN74174N 
SN74175N 
SN74176N 
SN74177N 
SN74179N 
SN74180N 
SN74181N 
SN74182N 
SN74184N 
SN74185N 
SN74186N 
SN74188N 
SN74190N 
SN74191N 
SN74192N 
SN74193N 
SN74194N 
SN74195N 
SN74196N 
SN74197N 
SN74198N 
SN74199N 
SN74200N 
SN74251N 
SN74279N 
SN74283N 
SN74284N 
SN74285N 
SN74365N 
5N74366N 
SN74367N 
SN74368N 
SN74390N 
SN74393N 



pes combined order 25% -1000 pes combined order. 



CD4000 
CD4001 
C04002 
CD4006 
CO4007 
CD4009 
CD4010 
C04011 
CD4012 
CO4013 
CD4014 
CD4015 
CD4016 
C04017 
C04018 
CD4019 
CD4020 
CD4021 
CD4022 
CD4023 
CD4024 
C04025 
CD4026 
CP4Q27 



23 



C/MOS 



74C02 
74C04 

74CJ0S 
~~C1D 
74C14 
74C20 
"--C30 
74C42 

7-SC73 
74C74 



C04028 
CO4029 
CD4030 
CD4035 
CD4040 
C04041 
CD 404 2 
CD4043 
C04044 
CD4046 
CD4047 
CD4048 
C04049 
CD4050 
CD4051 
CD4053 
CD4056 
CO4059 
CO4060 
CD4066 
C04068 
CD4069 



CD407O 

CD4071 

C04072 

C04076 

CD4081 

CD40B2 

CD4093 

CD4098 

MCI4409 

MC14410 

MC14411 

MC14419 

MC14433 

MC14506 

MC14507 

MC14562 

MC14583 

CD4508 

CD4510 

C04511 

C04515 

CD4518 

CU4520 

CD4566 



74C00 



78MG' 

LM300H 

LM301H 

LM301CN 

LM302H 

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-12 

LM320M5 

LM320T-18 

LM320T-24 

LM323K-5 

LM324N 

LM339N 

LM340K-5 

LM340K-6 

LM340K-S 

LM340K-12 

LM340K-15 

LM340K-18 

LM340K-24 

LM340T-5 

LM340T-6 



74C89 
74C90 
:-:C9:i 
74C95 
74C1Q7 
74C1S1 
74C154 
74C15? 
74C160 
74C161 



2 15 

3 25 



.'4C163 
74C164 
7-IC173 
MCI 9? 
7JC193 
MCI 95 
74C92? 
74C923 
74C925 
74CC26 
80C95 
80C97 



3 .19 
3 75 

? 75 



LINEAR 



LM340T-8 1 25 
LM340T-12 1 25 
LM340M5 1.25 
LM340M8 1 25 
LM340T-24 1 25 
LM350N 1 00 

LM351CM 65 

LM370N 
LM373N 
LM377N 
LM3B0N 
LM380CN 
LM381N 



3.25 



LM382N 

NE50JN 

NE510A 

NE529A 

NE531H 

NE536T 

NE540L 

NE550N 

NE555V 

NE556N 

NE560B 

NE561B 

NE562B 

NE565H 

NE565N 

NE566CN 

NE567H 

NE567V 

NE570N 

LM703CN/H 

LM709H 

LM709N 

LM710N 

LM711N 

LM723H 

LM723N 



5 00 
500 
5 00 
1.75 



LM733N 1 00 

LM739N 1 19 

LM74ICH 35 

LM741CN 35 

LM741-14N 39 

LM747H 79 

LM747N 79 

LM748H 39 

LM748N 39 
LMI303N 
LM1304N 
LM1305N 
LM1307N 
LM1310N 
LM1351N 
LM1414N 
LM145BCN/H 

MC1488N 1 95 

MC1489N 1 95 

LM1496N 95 

LM1556V 1 75 

MC1741SCP 3 00 

LM2901N 2 95 
LM3053N 
LM3065N 
LM3900NI3401] 49 

LM3905N 89 

LM3909N 1 25 

MC5558V 1 00 

LM7525N 90 

LM7534N 75 



85 



1 75 



1 50 



LM75450N 

75451CN 

75452CN 

75453CN 

75454CN 

75491CN 

75492CN 

75494CN 

RC4151 

RC4194 

RC4T95 



74LS00 

74LS01 
74LS02 
74LS03 
74LS04 
74LS05 
74LS08 
74LS09 

74LS13 
74LS14 
74LS15 
74LS20 

■ 

74LS26 
74LS27 
74LS2B 
74LS30 

: 

74LS40 

74LS42 

W 74LS47 



74LS00 TTL 



74LS51 
74LS54 
74LS55 
74LS73 
74LS74 
74LS75 
74LS76 
74LS83 
74LS85 
74LS86 
74LS90 
74LS92 
74LS93 
74LS95 
74LS96 
74LS107 
74LS109 
74LS112 
74LS123 
74LS132 
74LS136 
74LS13B 



74LS139 

74LS155 
74LS157 
74LS160 
74LS161 
74LS162 
74LS163 
74LS164 
74LS175 
74LS181 
74LS190 
74LS191 
74LS192 
74 LSI 93 
74LS194 
74LS195 
74LS253 
74LS257 
74LS260 
74LS279 
74LS367 
74LS368 
74LS670 



BUGBOOK 

Continuing Education S eries 
the 





□ 



BUGBOOKS 1 and II s'17.00 per set 

fry Ptlir H Kerry, Didd C Lirm. WMHTJ 

Stffl J5 i ser Ihese two fcMfti auinre owr 90 experiment! aesiflnM la IMCfl 

tw renter J« he win neea to know atmui nL K>«>c emps lo uie Ihem m con- 

lunciion mih mie/o processor systems rou n lesm about ine eksic concern of 

< ' " ii 'Hi <>■■ i iciw butet, a«tod«rs. 

plueis (hmulnmtien. lEDdrspljys. RAMs. ROMs. Mrjll I 



BUGBOOK lla $5.00 

by fllir R Rony. Quid Llfttn, WI4HYJ 
Ih>s volum« will mlroduc* you lo llu laoulous UiRf cliio — that all importinl 
interface t»tw«n Oali terminals tic . anr) your microcomputer It also covets 
current loops, and Irve RS !3?C mterljcs slandara Particularly recammenaefl 
tor any RTTY enthuiiast 



THE 555 TIMER APPLICATIONS S6.95 

SOURCEBOOK WITH EXPERIMENTS 
by Howard M. Berlin W3HB 

T^s Book Stiows you what Ihe bii timer is and riow Id use il Includes are over 
100 ilrious BMign ttchrncjues eQuatons ana grapns to create rtidy-ro-Bo 
timers, gcnenlors potrer supplies raeasuremeni ma control Circuits parry 
games, circuits lot the home and automobile pnolDgrapriy music ana 
Amateur Radio 



BUGBOOK 111 515.00 

by Pllir R Rrxiy. Omd G Limn. W84HYJ. Jon.lnm * Tllui 



80B0 Chip p.n Du pin and introduc 
unique easiry mtrrfactd system tt 
around on the BUGBOOKS I & It to 



re prrjcwamg wrth BUGBOOK 1(1 



INSTRUCTOR'S MANUAL S3.D0 

Necessary lor instruction oi Bugbook I and ii Answers questions regarding 
tipenmenls. suggestions (or lurther reading pniinsophy ol authors approach lo 
digital electronics A must lor sell teaching miliviBuals 



by David 0. Limn, Pllir H. Rony, Jomlian A. niui 

Eipenmenls in digital electronics S06OA microcompulei prDgtamming ai 



OP AMP MANUAL by Howard M. Berlin W3HB 



Rug boo* VI integrates the digital concepts ot Bugbook V into a treatment ot 
8030A microcomputer programming and interfacing. Detail & laboratory 
enpenmeni5 included with each booii 



OBUG 

6060 interprets debugger A prognm tor entering ( 

assema^ language programs 



CMOS-M- DESIGNERS PfllMER Ji 

AND HANDBOOK New eipanded version 

Starts at basic structure at CMOS deuces INrouon integrator! ,nto MSI 



COMPLETE MANUAL FOR DIGITAL CLOCKS by John Weiss and John Brooks 

Familiarizes technician ot hoDbyisI with Ojsic theories behind digital clocks Includes liouble shoolmg guides basic 

CjtaraetcratjCS oi clocks somennq lechmques. clock componeni data sheels and consliuction tips 



XC209 
XC209 
XC209 



XC22 
XC22 
XC22 



DISCRETE LEDS 



XC526 
XC526 
XC526 
XC526 
XC526 



XC556 
XC556 
XC556 
XC556 
XC556 
XC556 



Green 
Yellow 
Drange 
Clear 



.190" dia. 
Red 5/S' 

Gieen 4^s 

Yellow 4/Si 

085" dia 
MV50 Red 6 S 

170' dia. 
MVtO Red 4/S 
INFRA RED LED 
.1 16 



hA_ 



S.S1.00 



DISPLAY LEOS 



TYPE 

MAN 1 
MAN 2 
MAN 3 
MAN 4 
MAN 52 
MAN 71 
MAN 72 
MAN 74 
MAN 81 
MAN 62 
MAN84 
MAN 3620 
MAN 3630 
MAN 3640 
MAN 4610 
MAN 4640 
MAN 4710 
MAN 4730 
MAN 4740 
MAN 4810 
MAN 6610 
MAN 6630 
MAN 6640 
MAN 6650 
MAN 6660 



POLARIH 

Common Anode-ted 
5 x 7 Dol Matrix-red 
Common Calrtode-red 
Common CaiDode-red 
Common Anode-green 
Common Anode-red 
Common Anode-red 
Common Calhode-red 
Common Anode-yellow 
Common Anode-yellow 
Common Calhodeyellow 
Common Anode-orange 
Common Anode-orange • 
Common Calhode-orange 
Common Anode-orange 
Common Catnode-oiange 
Common Anode-red - 1 
Common Anode-ied 
Common Cathode-red 
Common Anode-yellow 
Common Anode-orange-D 
Common Anode-orange 
Common Cathode-orange- 
Common Calhode-orange 
Common Anode -orange 



D 560 99 



TYPE 

MAN 6680 

MAN 6710 

MAN 6730 

MAN 6740 

MAN 6750 

MAN 6760 

MAN 6780 

DL701 

DL702 

DL704 

Di.707 

DL741 

DL746 

DL747 

D1749 

DL750 

DL33B 

FND70 

FND359 

FN0503 

FND507 

5082-7300 

5082-7302 

5082-7304 

5082-7340 



POLARIU 

Common Cathode-orange 
Common Anodered-D D 
Common Anode-red • 1 
Common Calhode-red-D 
Common Calhode-red • 1 
Common Anode-red 
Common Calhode-red 
Common Anode-red ■ 1 
Common Cathode-red 
Common Calhode-red 
Common Anode-red 
Common Anode-red 
Common Anode-red ■ 1 
Common Anode-red 
Common Camode-red • 1 
Common Cathode-red 
Common Calhode-red 
Common Cathode 
Co-ivnon A:iocte 
Common Cathode IFND500) 
Common Anode IFNO5101 
4 k 7 Sgi Digil-RHDP 
4 x 7 S(jl Digit-LHDP 
Dverrange characler ( • 1| 
4 x 7 Sgl Dtgjt-Heudecmul 



RCA LINEAR 

CA3013 2.15 CA3082 2 00 

CA2023 2.56 CA3083 1 60 

CA3035 2,48 CA3086 85 

CA3039 1.35 CA3089 3 75 

CA3Q46 130 CA3130 1.39 

CA3059 3.25 CA3140 1.25 

CA3060 3.25 CA3160 1.25 

85 CA3401 



CA3080 
CA3081 



49 
2.00 CA3600 3.50 



CALCULATOR CHIPS 
AND DRIVER 



FCM3817 


S5 00 


MM5725 


?95 


M MS 736 


195 


MM5738 


2 95 


0M8664 


2 00 


DM8865 


i 00 


DM8887 


75 


DM8889 


75 


5030 


?95 



CLOCK CHIPS 



UM 53 11 

\1M53i; 
MM531-1 

V.M53ifi 

MM5318 

MM5B-I1 
7001 



2 95 
9 95 

5 ^5 



8 pin LP 

14 pin LP .20 

1 6 pin LP 22 

18 pin LP .29 

20 pin LP .34 

14 pin ST $.27 

16 pin ST .30 

18 pin ST .35 

24 pin ST .49 

8 pin SG $.30 

14 pinSG .35 

1 6 pinSG .38 

1 8 pin SG .52 

8 pin WW S.40 

10 pin WW .45 

14 pin WW .39 

16 pin WW .43 

1fl pin WW .75 



ICSOLDERTAIL- 

25-49 50-100 

15 M 

.19 .18 

,21 .20 M 



LOW PROFILE (TIN) SOCKETS 



9374 - 7-scgtneni LED driver 
rnrnmnn m ^ [^ § ,99 



1-24 
22 pin LP J -37 

24 pin LP -38 
28pin LP 45 
36 pin LP 80 

3° S0L0ERTA1L STA NDARD (T IN) 4 °Pi"LP 63 

28 pin ST S .99 

36 pin ST 1 39 

40pinST 1.59 

SOLDERTAIL STANDARO (GOLD) 

24 pin SG J -70 
28 pin SG 1.10 
36 pinSG 1-75 
40plnSG 1.75 

22 pin WW J .95 

24 pin WW 1.0S 
28 pin WW 1.40 
36 pin WW 1.59 
40 pin WW 1.75 



27 



.29 



WIRE WRAP SOCKETS 
(GOLD) LEVEL #3 



1.30 
1.40 



50 PCS. RESISTOR ASSORTMENTS 

10 OHM IPfiHM 16 OHM 18 OHM 



$1.75 PERASST. 



ASST. 2 
ASST. 3 
ASST. 4 
ASST. 5 
ASST. 6 
ASST. 7 



?7 OHM j3 OHM 39 OHM 17 OHM % OHM 

68 OHM 8? OHM 10OOHM t?0 OMM 150 OHM 

180 IHM 220 OHM } 70 OHM 310 OHM ;i!>0 OHM 

470 OHM 560 OHM 680 OHM «?D()HM IK 



180k 
470K 



330k 
820k 

??M 
5 6M 



ASST. 8R Includes Resistor Assortments 1 -7 (350 PCS.) 



1/4 WATT 5% 50PCS. 



1/4 WATT 5°= 50 PCS 
1/4 WATT 5°o 50 PCS 
1/4 WATT 5°/. 50PCS. 

$9.95 ea. 



$5.00 Minimum Order- U.S. Funds Only 
California Residents - Add 6% Sales Tax 



Spec Sheels— 25C 

1976 A Catalog Available— Send 41C stamp 




J 



ameco 



PHONE 

ORDERS 

WELCOME 

(415)592-8097 



MAIL ORDICR liUXTRONICS - WORLDWIDE 

1021 HOWARD AVENUE. SAN CARLOS. CA 94070 

Advertised Prices Good thru October 



WIRE-WRAP KIT — WK-2-W 
WRAP • STRIP • UNWRAP \^n 

• Tool for 30AWGWire '■£ 

• Roll of 50 Ft. White or Blue 30 AWG Wire™ 

• 50 pes. each 1". 2". 3" & 4" lengths — 
pre-stripped 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 100(1. $2.95 1000ft. $15.00 
SPECIFY COLOR — White - Yellow - Red - Green - Blue • Black 



WIRE DISPENSER — WD-30 

• 50 ft. roil 30 AWG KYNAfl wire wrap wire $3.95 ea. 

• Cuts wire to desired length 

. Strips 1" of insulation Specify — Blue-Yellow-White-Red 



REPLACEMENT DISPENSER SPOOLS FOR WO 30 

Specify blue, yellow, white or red $1.9B/spool 



XR2206KA $14.95 XR22D6KB 519.95 

Function Generator Kit CYAD Function Generator Kit 

[includes chip. P.C. t#\rilT (includes all components. 

P.C. Board and instructions) 



Board and instructions) 



XR-L555 S1.50 

Micro-Power version of the 
popular 555 Timer and directly 
interchangeable. Dissipates 
1/15th the power and operates 
down to 2.7 volts. Perfect for 
Dattery operation and CMOS cir- 
cuits. 



XR2242CP $1.50 

Precision timing circuit for 
generating timing pulses in mi- 
nutes, hours and days or up to 
1 year by using two. Reduces 
cost of time delaycircuits. Basic 
555 Timer with built-in 8-bit 
Counter. 



■'. 40 



XR205 S 8 40 

XR210 

KR320 

XR555 

XR556 

XF15G7CP 

XR5G7CT 

XR1310P 

XR1468CN 

XR14B8 



XR14B9 
XR1800 
XR2306 
XR2207 
XR2208 
XR22G9 
XR2211 
XR22J2 
XR224Q 
XR22G4 



1 39 



3.45 

■»25 



XR2556 
XR2567 
XR34D3 
XR4136 
XR415t 
XR4194 
XR4202 
XR4212 
XR455B 
XR4739 
XR4741 



TYPE 

1N746 
1N751A 
1N752 
1N753 
IN 754 
1N959 
1N965B 
1N5232 
1N5234 
1NS235 
1N5236 
1N456 
1N458 
1 N485A 
1N4001 
1N4002 
1N4003 
IN4004 



ZENERS - 

VOLTS W 

3 3 400in 

5 1 400m 

5 6 400m 

6 2 400<n 
6 8 400m 
8 2 400m 
15 400m 

5 6 500m 

6 2 500m 

6 8 500m 

7 5 500m 



50 PIV 1 AMP 

100 PIV 1 AMP 

200 PIV 1 AMP 

400 PIV 1 AMP 



■ DIODES — 

PRICE TYPE 

4 1 00 1N4005 

4 1 00 1N4006 

4 1 00 1N4007 

4 1 00 1N3600 

4 1 00 1N4148 

4 1 00 1N4154 

4 1 00 1N4305 

28 1N4714 

28 1N4735 

28 1N4736 

28 1N4738 

6 1 00 1N4742 

6 1 00 1N4744 

5 100 1N1183 
12 100 1N1184 
12 100 1N1185 
12 100 1N1186 
12 1 00 1N1188 



RECTIFIERS 

VOLTS W 

600 PIV 1 AMP 
800 PIV 1 AMP 
1000 PIV 1 AMP 
50 200m 



10m 
10m 



PRICE 
10/1 00 

10/1 00 
10/1 00 
6/100 
15/1 00 
12/1.00 
20/100 
28 
28 



Iw 



12 
15 

50 PIV 35 AMP 

100 PIV 3SAMP 

150 PIV 35 AMP 

200 PIV 35AMP 

400 PIV 35 AMP 



SCR AND FW BRIDGE RECTIFIERS 

C36D 15A @ 400V SCfl:2Nl849l 

C38M 35A @ 600V SCR 

2N2328 1 6A @ 300V SCR 

MDA 980-1 12A @ 50V FW BRIDGE REC 

MDA 980-3 12A(g, 2PQV FW BRIDGE REC 



C106B1 

MPSA05 

MPSA06 

TIS97 

TIS98 

HS133 

HS135 

40409 

40410 

40573 

2N918 

2N2219A 

2N2221A 

2N2222A 

2N2369 

2N2369A 

MPS2369 

2N2484 

2N2906 

2N2907 

2N2925 

MJE2955 

2N3053 



50 



TRANSISTORS 



2N3055 

MJE3055 

2N3392 

2N3398 

PN3567 

PH3568 

PN3569 

MPS3638A 

MPS3702 

2N3704 

MPS3704 

2N3705 

MPS3705 

2N3706 

MPS3706 

2N3707 

2N3711 

2N3724A 

2N3725A 

2N3/72 

2N3823 

2N3903 



1 00 
5 1 00 
5 t 00 

3 1 00 

4 1 00 

4 1 00 

5 1 00 



5 1 00 
5 1 00 
5 1 00 
5 1 00 
5 1 00 
5 1 00 



2N3904 
2N39D5 
2N3906 
2N4013 
2N4123 
PN4249 
PN4250 
2N440O 
2N4401 
2N4402 
2N4403 
2N4409 
2N5086 
2N5087 
2N5088 
2N5089 
2N5129 
PN5134 
PN5138 
2N5139 
2N5210 
2N5449 
2N5951 



5/1 00 
4/1 00 
4/1 00 



CAPACITOR: 



CORNER 



10 pt 

22 pl 

47 pi 
lOOpt 
220 pl 
470pl 

001m) 
0022 
0047mf 
01ml 

1 35V 
15.35V 
22 35V 
33/35V 
47/35V 
68/35V 
1 0/35V 



1-9 10-99 100 



05 04 03 OOVF 05 04 

05 04 03 O047 M F 05 .04 

05 04 03 OVF 05 04 

OS 04 03 022fiF 06 05 

05 04 03 047,iF 06 05 

05 04 035 1,iF .12 .09 

100 VOLT MYLAR FILM CAPACITORS 

12 10 07 022mf 13 11 

12 10 07 047ml 21 17 

12 10 07 Iml 27 .23 

12 10 07 22ml 33 .27 
4-20% DIPPED TANTALUMS (SOLID) CAPACITORS 

28 23 .17 1 5/35V 30 26 

28 23 17 2 2/25V 31 27 

28 23 17 3 3/25V 31 27 

28 23 17 4 7/25V 32 28 

.28 23 17 6.8/25V 36 31 

28 23 17 10/25V .40 .35 

28 23 17 15/25V .63 .50 
MINIATURE ALUMINUM ELECTROLYTIC CAPACITORS 
Radial Lead 



1 0/50V 

3 3/50V 

4 7/25V 
10/25V 
1O/S0V 
22/25V 
22/50V 
47/25V 
47/50V 

100/25V 

100/50V 

220/25V 

220/50V 

470/25V ' 
1000/16V 
2200/16V 



13 



10 



47/25V 
47/SOV 
1 0/16V 
10/25V 
1 0/50V 
47/16V 
4 7/25 V 
4 7/50V 
10/16V 
10/25V 
10/50V 
47/50V 
100/16V 
100/25V 
100/50V 
220/16V 
470/25Vf 



15 



.13 



Circle 200 on inquiry card. 



BYTE October 1978 



211 



What's New? 



PERIPHERALS 



LRC Improved Series of Matrix Impact Printers 





■<£ 



\y^ 



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 rollpaper 
models. Prices range from $66.50 
to $282 depending upon model, op- 
tions and quantity." 

Circle 564 on inquiry card. 



Data Communications Adapter 




This 80-1 03A 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 
10 board and an external modem. The 
80-1 03A combines these features on a 
single board. 

A 5-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 uni- 
versal asynchronous transceiver (UART) 
with high clock frequencies, low power 
requirements and independent program- 
ming capabilities, has been introduced 
by Standard Microsystems Corp. Com- 
patible with industry standard UARTs, 
the COM6402 is a pin for pin replace- 
ment for Harris HD-6402 and Intersil 
IM6402. 

CMOS/LSI technology permits oper- 
ator 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 con- 
trols. 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 re- 
quires only a single ±5 V power supply. 
It is fully double buffered to eliminate 
the need for external timing and pro- 
vides 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 mod- 
ulation (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 con- 
troller 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 com- 
patible connector on the other end. 
The cable meets all IEEE-488 specifica- 
tions 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, 
Goleta CA 93017." 

Circle 567 on inquiry card. 



212 



October 1978 © BYTE Publications Inc 



Circle 388 on inquiry card. 




CO 




IT WILL TELL YOU WHERE TO GO - 

CPU-1 TM 8080A CPU BOARD WITH 

8 LEVEL VECTOR INTERRUPT. 

$30. BARE $185. KIT 

$220. ASSEMBLED AND TESTED 



DEALER INQUIRIES INVITED 



UNIVERSITY DISCOUNTS AVAILABLE 



wmc 



™ WAMECO INC. 
inC. 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 tm 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 

f"W 7T7C ji„ c . WAMECO INC. 3107 LANEVIEW DRIVE SAN JOSE CA 95132 



RONDURE COMPANY 



2522 BUTLER ST. 

DALLAS, TEXAS 75235 

214-630-4621 



the computer room 




SPECIAL SALE 
$875.00 



TESTED WITH 

NEW 

ASCII 
ELECTRONICS 



ASCII Selectric with ASCII parallel electronics. 
Immediate Delivery— Shipped from inventory. 



ASCII SELECTRIC 

Printer Mechanism: Heavy 
duty input/output, Series 
745. 

Weight: 120 lbs. Dimen- 
sions: 29 M Hx35 ,, Wx33 ,, D. 
Print Speed: (14.8 charac- 
ters per second) 
Platen: 15" wide, pin feed 
or form feed device option- 
al (132 print positions). 
Parallel output only— 15 
characters per second ac- 
cepts 7 bit ASCII parallel 
w/strobe & prints on Selec- 
tric. The unit still works as 
a typewriter in off-line 
mode. 



DATEL SELECTRIC (IBM Selectric Mechanism) 



Specifications: 

• Size: 21"Wx21 ,, Dx8"H. 

• Power Input 115 Volt 
Hz 

• Inferface: 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 



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 



$435QQ 



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 Digital Voltmeter, Non-Linear Systems comes the MS-215 Mini scope. It 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 Axil 
Verticle Input: 



CH1 . CH2, CHI & CH2 (Chopped) & CH1 & CH2 (Alt.) 
The Following Specifications apply to each channel 

1 0mV/div to 50V in 1 2 Calibrated ranges, as follows: 
x1 -10mV/div to lOV/div in four ranges, each contin- 
uously variable. 

x2-20mV/divto20mV/divinfourranges,eachcontin- 
uously variable. 

x5-50mV/div to 50mV/div in four ranges, each contin- 
uously vairiable. 
Accuracy is 3% 
Input Impedence: 1 M ohm shunted by 50 pF. 



Bandwidth: 

Riae Time: 
Input Voltage: 
Horizontal 
Mode: 



DC/DC to 1 5 Mhz ±6 db(DC to8 Mhz ±3 db). AC, same 
as DC down to 3Hz. 

Approximately 23 nS @ 1 division deflection. 

250 maximum (DC and Peak AC). 



Sweep triggered from internal trigger source (In the 

dual trace modes, the internal trigger source is CH1 ). 

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 impedance). 

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 Levelcontrol permitscontinuous adjustment of 

trigger point in all modes except Auto. 
Internal Calibrator: A square-wave signal of 1 volt p-p 1 5% is provided. 

Frequency is approximately 1 KHz. 
Display 
Giaticule: 



Automatic: 



Line: 

External: 

Slope: 

Coupling: 

Senartrvity: 

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 USA. 



CRT: 



Internal Time Base or External Horizontal, switch 
selectable. In the XY mode, vertical input is through 
CH1 and horizontal input is through CH2 

Bandwidth: DC to 200 KHz (13 db). 

Coupling: AC. DC or ground, switch selectable. Low frequency 

point on AC is 3 Hz. 

Input Impedance: 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 Base: 0.1uS/drv to 0.6 Sec/drvin 21' calibrated ranges, 

as follows: 

xl, uS-0.1 uS/divto 100 uS/div. x2, uS-0.2uS/div to 
200 uS/div. 

x5, uS-0.5uS/div to 500 uS/div. x 1 . mS-0.1 mS/divto 
100 mS/div 

x2, mS-0.2mS/div to 200 mS/div. x5. mS-0.5mS/div 
to 500 mS/div. 

all in four ranges, each continuously variable. (Range 
incrementsar .1. 1 . 10. l00.)With vernier in full clock- 
wise position, calibrated time measurements are 
possible. Accuracy is 3%. 



MS-1 5 Single Trace version of MS-21 5 



4x5 div, each division is 0.25 inch. Viewing area 

1.1"Hx1.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 
OperatingTime: Typically 4 hours. 
Charging Time Scope Operating: Will run indefinitely but notreachf ull 

charge. 
Non-operating: Sixteen hours. 
External Power: Battery charger 1 1 5 vac (220 vac on request). 50- 

400Hz, less than 1 5 warts. 
Dimensions: 3.1 "Hx6.4"Wx8.0"D. 

Weight: Three pounds. 

Environment 
Operating Temperature: 0° to 40°C 
Shock and Vibration: Designedto with stand normal shock and vibration 

encountered in commercial shipping and handling. 



MS-2 1 5 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 letitbepulledoffyour 
belt. 

41 -140 S45.00 

Probes 

10 to 1 probe with 10 megohm input. 

Probe uses spring hook tip /or 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 10 to 1 /1 to1 probe with an assortment of probe 

tips to suit any situation. 

41-3495 536.00 



$318.00 



PRIORITY 




$50.00 OFF 

On Any Accessories Purchased 

with MS-215 MINISCOPE, Just 

Send or Mention the COUPON and 

B Y te - Magazine 



ELECTRONICS 



%tf 49 1 16 West Rosecrens, Hawthorne, Cfl 90250 

Terms VISA. MC. BAC. check. Money Order COO US Funds Only CA residents add 6% sales tax Mini- 
mum 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 ever the counter sales" Good thruNovi978 

(213)973-4876 




Send tor our laiesl brochure 



phone orders welcome 



OEM and Inslilulional inqumesinvited 



214 



BYTL October 1978 



Circle 306 on inquiry card. 



SALE S 100 BUS EDGE CONNECTORS SALE 



* 9.7 W | 




l 

SALE 

|LM3A 3 dig 1% DC $134.00 

JLM3.5A 3V2 dig .5% DC ... $ 158.50 

1LMA0A 4 dig .1% DC $209.00 

|LM4A 4 dig .03% DC $250.00 

Rechargeable batteries and charger in- 
cluded 

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 
| • Automatic polarity, decimal and overload 

Indication 

!• No zero adjustment and no full-scale ohms 
I adjust 

I • Battery-operated — NICad batteries; also AC 
I line operation. 

I • Large LED display tor easy reading without 
I Interpolation 
| • Size: 1.8"H x 2.7"W x 4"D 

Parts & labor guaranteed 1 year 

Hit stand option t 

» Leather case S20.M 

Purchase any of the LM series 

Meters and buy the LEA THER CASE 

for 10 






MS-IS MINtSCOPE*~ 

With Rachargaable BafMrtes A Cfiarptf Unit 

» 15 megahertz bandwidth. 

• External and internal trigger. PROBE K 

► Time base — .1 microsec. to0.5Sec/div- 21 PROBE it with the 
settings .i3%. /^fex purchase of SCOPE 

• Battery or line operation. ffJlR land, the MENTION el 
•Auto malic & Una sync modes. ^UW this MAGAZINE 

» Power consumpllon < 15 watts. N§aV^ 

■ Vortical Gain - .01 to 50 V/dlv . 1 2 sailings 1 3 % 



x 7.5"D, 3 pounds. 



i MS -2 15 Dual Trace Version of MS-15 $435. 



v e S-100 BUS EDGE CONNECTORS 



SIOO-VWvG 50/100 Corn 125ct.s S10OSTG 50/100Conl 125 ctrs 

3 LEVEL WIRE WRAP 025" sq posts DIP SOLDER TAIL on 250 spaced 

on 250 spaced rows GOLD plaled rows lor VECTOR and MAS) 

1-4 6-9 10-Z4 motherboards GOLD plaled 

B4.00 83.76 83.60 -| ; 4 6 . 9 10 . 2 4 

S4 00 J375 S3 50 

RG81G 50/100 Cont 125 cus DIP R681-3 50/100 Com 125 cirs 

SOLDERTAILon 140spacedrowslof PIERCED SOLDER EYELET (ails 

ALTAIR motherboards GOLD plaled GOLD 

S6.00 87.35 

Other Popular Edge Connectors 

H644-G 22/44 Corn 156 c 
PIERCED SOLOER EYELES la 
GOLDplsied 

1-4 6-9 10-24 

•3.00 S2 76 S2 60 



ATTN: OEMS ind Dealer*. I 



iy other conneclor* available call or quotation. 









1-24 


25-49 


50-99 


100-249 


250-999 


1K-5K 


8 pin* 


.41 


.38 


.35 


.31 


.27 


.23 


14 pin* 


39 


.38 


.36 


.32 


.29 


.27 


16 pin* 


.43 


.42 


.39 


.35 


.32 


.30 


18 pin 


.63 


.58 


.54 


.47 


.42 


.36 


20 pin 


.80 


.75 


70 


.63 


.58 


.53 


22 pin' 


90 


.85 


.80 


.70 


.61 


.57 


24 pin 


.90 


.84 


.78 


.68 


.63 


58 


28 pin 


1.10 


1.00 


.90 


.84 


76 


.71 


40 pin 


1.50 


1.40 


1.30 


1.20 


1 04 


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 



• Multilists 12 
unulumeiptti 
lorslor +5. ♦ 



8803 

MOTHER 

-i2buMsaadiu- BOARD FM 

WW mounl.ng io*t«rs - Q0 ... 

Wtfinssi(»jhcw.n Com- alUU HUi 

ponenlndebjreeoojy MiCRO- 

gUiS«iin*hi18 mariongslor COMPUTERS 



• S*W«rrrijsiiwithsol(Jer»inc<iwson 
etchtaeifcuilstoivoifljccioenlii short 
circuits 

• Mounts 11 rKBpiacHiswith 100conlacls(2 
rows)on iJS centers with 250rowspacing, 
Veclor paimumberR681-2.ormounlst0recep- 
lacles plus interconnections to smaller mother boon 

• Includes etc "edcucu it* and in si ruchons tor option 





'eetol 



Plugboards 



Price 
$29.50 



8800V 

Universal Microcomputer/processor 
plugboard, use with S-100 bus Com- 
plete with heat sink & hardware. 5.3" x 
10* x 1/16" 

1-4 5-9 10-24 

519.95 517.95 515.96 

8801-1 

Same as 8800V except plain: less power 
buses & heat sink. 

1-4 5-9 10-24 

514.95 $13.46 51196 



r 
i 



3682 9.6" x 4.5" 

$10.97 
3682-2 6.5" x 4.5" 
$9.81 
Hi-Density Dual-ln-Line 
Plugboard for Wire Wrap 
with Power & Grd. Bus 
Epoxy Glass 1/16" 44 
pin con. spaced .156 




3677 9.6" x4. 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/16" 44 
pin con, spaced .156 



3690-12 
CARD EXTENDER 

Card Extender has 100 
contacts-50 per side on .125 
centers-Attached connector-is 
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 



3662 6.5" x 4.5" 

$7.65 

3662-2 9.6" x 4.5" 

$11.45 



1/16 jkffifl BOARD 

.042dia holes on 

0.1 spacing for IC's 

PRICE 

PART NO. SIZE 1-9 10-19 

64P44XXXP 4.5x6.5" $1.49 1-3 4 
169P44XXXP 4.5x17" S3. 51 3.16 




Epoxy Glass 
64P44 
84P44 
169P44 
169P84 



4.5x6.5" 
4.5x8.5" 
4.5x17" 
8.5x17" 



$1.70 
$2.10 
$4.30 
$7.65 



1.53 
1.89 
3.87 
6.89 



Wraps insulated wire on 025" square posts 
FOUR TIMES FASTER 



/to© 

NO PRE-STRIPPING" 

NOPRE-CUTTING' 

SPOOLFEOWIRE- 

•Trie spooled wire jmss« Inrouyfl (he toot past 

neil to thewrjp oosl A narrow longitudinal cut 

insuUlwn wftere il presses (he square post 



£> 



with two 

100' spools 

of28o» 



$24.50 




PtKMT 

Includes 

charger, wire 

$75.00 



WlftdMiyro 



l 2" Packsgo 



SUTNWRAP 

WIRE 

NO. 28 GAQE INSULATED 

WIRE, 100' SPOOLS 

WJB ? * P>9 J, Grttn W2B 2 C P*g 3 Cien 
WJBP-BPug 1 KM W?S;UPvg 1 Hn* 



2708 

8K 450 ns 

EPROM 

FACTORY PRIME 

$ 9.00 EA. 

25 + Call For 



LIQUID CRYSTAL DIGITAL 
CLOCK-CALENDAR 

• For Auto, Home, Office 

• Small in size (2x2*ixtt> 

• Push button for seconds release for date. 

• Clocks mounl anywhere with either 3M double- 
sided tape or VELCRO. Included. 

• 2 MODELS AVAILABLE: 

LCD 101. portable model runs on self-contained 
batteries for belter than a year. 
LCD-102. runs on 12 Volt system 
lighted. 

■ LCDtOlorLCOKH 



$34.95 
$2.00 




MICRO-KLIP 

for .042 dia. holes 
(all boards on this page) 
T42-1 pkg. 100 S 1.50 
T42-1 pkg. 

1000 $11.00 

P-U9 hand installing 
tool S 2.03 



jfe^ 7 



WRAP POST 

for .042 dia. holes 
(all boards on this page) 
T-44 pkg. 100 . .5 2.28 
T-44 pkg. 

1000 $14.00 

A-1 3 hand installing 
tool $ 2.80 




LED ALARM CLOCK 

12 hr LEO Alarm Clock uses V/2 
digit .8" LED Display with AM/PM 
indicators and colons. Direct drive, 
PIN !o PIN interlace with 91998A 
I.C. Just add switches. AC Supply 
Alarm. Display and I.C. only 

$7.95 or 2/S15.00 



$44 
SPECIAL 




Perfectly balanced, fluorescent 
lighting with precision magnifier 
lens. For prod, techn'l & hobbist. 

die cast protfclivs Shade, n 
3 dioDtof lens 42" reach «*am 

*44 9! 



95 




PRIORITY 




14 & 16 PIN 

i^L^GOLD3 LEVEL 

<4jftWIREWRAP 

SOCKETS 

j 14-G3 100 for 

$30.00 

16-G3 100 for 

$30.00 

50 of each for $32.00 

Sockets are End & Side stackable, 
closed entry 

FM-7 
With 

Rechargeable 
a atterles * 
n Chargtr 

wuh «^ J^mm umt $2i5 1 

Rechargeable 

Batteries ft Features Include: • By using the new NLS SC-5 Prescaler. the range of 
rhmmmt "» FM " 7 Frequency Meier, which is 10 Hz to 60 MHz, may be extend*) 

Y, ii 1 '° 512 MHz (the upper VHF & UHF trettueflcy bands). • The FM-7 uh- 

Unil #> qq | iles an LED fMdOTJ | providiriB 7-dieit resolulion. • The FM-7 can be 
^ caltbralw) to an accuracy ol 0.00001%. • The SC-5 is accurate to one 

x^ei^x part per million. • Each unil has 30 millivolts sensitivity, is battery 

/JM Hba powered and has i charger unit included. • Dimensions ot each are 1 9" 
(I V I ami H»27"W» 3.9" • The units may be obtained separately or as a 
V|^^bW< "Frequency Duo."' Paris S Labor guaranteed 1 year. 

vJaB^ Ti,t sland °P ,iorl s 3M 

case $20.00 




Price Breakthrough! 




$ 17 50 

MA1003 
CAR CLOCK 



Bright Green Fluorescent Display Crys- 
tal Time Base Assembled, just add 
switches and 12 VOC. 



T SPECIAL 

ai4CS21O0forM4" 

T ,16CS2100for*16" 

14 pin CS2 10 for •2" 



IWOTW 1«P'"CS2 «(or«2" 
These low cost DIP sockets will accept 
both standard width plugs and chips. 
For use with chips, the sockets offer a iow 
profile height of only .125" above the board. 
These sockets are end stackable. 



flp 491 1 B West Rosecrons, Hawthorne, Cfl 90250' 

Terms: VISA, MC, BAC. check, Money Order, C.O.D., U.S. Funds Only. CA residents add 6% sales tax. Mini- 
mum 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, ms 

send tor our latest brochure. phone orders welcome (2 1 3) 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? 



PUBLICATIONS 



New 1978-79 General Semiconductor 
Industries Product Catalog 



New Electronic Test Equipment Catalog 




The new 1978-79 General Semi- 
conductor Industries Product Catalog 
contains a complete listing of the com- 
pany'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 Indus- 
tries Inc, 2001 W 10th PI, Tempe AZ 
85281." 

Circle 622 on inquiry card. 



Surge, Hash and Transient Protection 

A new flyer from Electronic Special- 
ists, POB 122, Natick MA 01 760, discus- 
ses AC power line surges and hash. Sug- 
gestions 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-ad- 
dressed envelope." 

Circle 623 on inquiry card. 




This new 76 page 1978 catalog fea- 
tures electronic test equipment from 
major manufacturers including B & K 
Precision, Continental Specialties, Hic- 
kok 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 




A compilation of metric system 
standardized precision mechanical com- 
ponents and assemblies has been pro- 
duced by PIC Design, POB 335, Benrus 
Center, Ridgcfield CT 06877. 

The 208 page edition contains over 
25,000 components covering 24 dif- 
ferent product categories. Also included 
in the catalog arc working prints, tech- 
nical reference data tables, gear data, 
metric terms and formulas, and many 
other design and production aids. a 

Circle 625 on inquiry card. 



Radio Shack Microcomputer Catalog 



W^ Radio /haeK 
TRS-M Microcomputer 
System Products 

The Low-Cost Leader Goes Farther Out Front 




Oder Nntr M YiMJt Vciixsf **f#t> $hjtk llwf <v pMth ipM'r>$ Dwlft 

Now available from Radio Shack is 
the 8 page TRS-80 Microcomputer Sys- 
tem Products catalog. The catalog 
features Radio Shack's $599 TRS-80 
microcomputer system and provides 
information on upgraded systems, pe- 
ripherals and ready to use software de- 
veloped 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 Micro- 
computer 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 educa- 
tional products catalog contains a broad 
range of books (including foreign ver- 
sions), self-study courses and video cas- 
settes 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 
Periodica/ 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 
IBM® SelectrkT-Based 
I/O Writers 

Excellent Hobby Printers 

•Series 72/731 

• Heavy Duty 
•8 1 / 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 alpha- 
numeric 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 1 A forthe 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 2671 B 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 IH/OUT 4096*1 H-M0S RAM 



GENERAL 
DESCRIPTION 

Part Number 4801 
isa4K semicon- 
ductor random 
access memory 
organized as 4096 1-bit words. It is fully static and 
needsnoclock or refresh pulses. Itrequiresa 
single +5 volt power supply and is fullyTTL com- 
patible on input and output lines. The 4801 is 
packaged in a convenient 1 8 pin dual-in-line 
package. 

■ Single +5V Power Supply FEATURES 

■ 4Kx1 Organization 

■ Replaces 4 1024x1 Static RAMs 

■ Completely Static— No Clocks or Refresh 

■ 18 Pin Package 

■ Access/Cycle Times 600nsec 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 




4*04 STATIC, TTL IH/OUT 1024x4 N-MOS RAM 

GENERAL 
DESCRIPTION 

Part Number 4804 
is a 4K semicon- 
ductor random 
access memory 
organized as 1024 4-bit words. It is lully static and 
needs no clock or refresh pulses. It requires a 
single ■ 5 volt power supply and is fully TTL com- 
patible on input and output lines. The 4804 is 
packaged in a convenient 18 pin dual-in-line 
package. 

FEATURES 

■ Single ^-5VPowerSupply 

■ 1Kx4 Organization 

■ Replaces4 1024x1 Static RAMs 

■ Completely Static— NoClocks 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 



$8.95 



4801 or 4804 4K RAM's 

8/$60.00 16/S100.00 



ir TBI-TBI 



7808 North 27 1 h Avenue 
r«j» Phoenix. Aruona 85021 

, (6021 9959352 

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 main- 
frame and buffer memories and peripheral storage. Organized as 16,384 
one-bit words and fabricated using highly reliable N-channel double- 
polysiticon technology, this device optimizes speed, power, and density 
tradeoffs. By multiplexing row and column address inputs, Hie MCM41 16 
requires only seven address lines and permits packaging in standard 16-pin 
dual in-line packages. This packaging technique allows high system den- 
sity and is compatible with widely available automated test and insertion 
equipment. Complete address decoding is done on chip with address lat- 
ches incorporated. All inputs ore TTL compatible, and the output is 3- 
state TTL compatible. The data output of the MCM41 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 MCM41 16 incorporates a one- 
transistor cell design and dynamic storage techniques, with each of the 
128 row addresses requiring a refresh cycle every 2 milliseconds. 
.Flexible timing with reod-madify-write, RAS-Only refresh, and Page- 
Mode capobitiry. 
.Industry standard 16 pin package 
.16,384 X 1 organization 
.+10% tolerance on all power supplies 
.All inputs ore 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 
.Law power dissipatian-462mW active, 20mW standby(Max) 
.Fast access time: 200nS 
.Easy upgrade from 16-pin 4K RAMs 
.Pin compatible with 21 17, 21 16, 6616, uPD416 and 41 16 

MCM41 16 $24.95 

Specs $ . 60 



Term.. Ch.cU. 



DATA CONNECTORS 
Popular 25 pin subminiature "D" connector 
os used in RS232 interfaces. 
Special sole prices! 

1-9 10-99 100-up 

DBC-25P (mole $2.19 19.80 173.00 
DBC-25S (female) 53.19 30.50 266.00 

DATA PHONE HOODS 
"Clam Shell" type junction shell for 25 

pin data connectors. ^^^ 

DB-51226, *~^M ^^■.•$1-39 

<£&*' NrtHunibir 

KS^F^ Dunn 

SCREW LOCK ASSEMBLY 
Set of 2 Male/Female screw lock adapters 
far joining socket ond plug connectors. 
D20418. .....51.19 



» 



a 



New 3-7/2 Digit Portable DMM 




Circle 376 on inquiry card. 



BYTE October 1978 



217 



\\\\, 



GATCH-A PULSE II 

% ^ LOGIC PROBE^ 

^Vv- ' ^^^^S^, * 10 Nsec pulse response JtBm 
/Yfff^^^L* Open circuit detection ^J 
\^_^^^^ ^^^^^T Replaceable tipS cord 
^^^^ ^^r*§t>* iiigh input impedance 

&&,* PlI " s,re,chin B 

TONsecSPEEDAT 4 to '^fev. Mult , famjlv 
15U LEUELS 0NLY $4495^^> 




i-H«EWPftICE£l 

W-W TAPE RECORDER! 

V * 1a 5 TRACK, 4 CASSETTE EASY TO 
*ift9.0° MODIFY TO PLAY ONE, RECORD ON 
V-"* ANOTHER! ALL CONTROL SIGNALS 

ON EDGE CONNECTORS! 2000FT 1/4" TAPE/ 
CASSETTE, PRINTED CIRCUIT MOTORS Q TACH 
GENERATOR; I5/I6"/SEC: 12V 5A REQ'D. DATA 
ft I CASSETTE FURNISHED; WT85LBS SHIPTJ 
COD. BOOK $25REFUNDED V CASSETTE $25 

CIRCUIT BOARDSIwirewrap, 

GOLD, 8-I6PJN, 3E-I4PIN, B-2GPIN .025SQMALE 
RIBBON CONNECTORS, YOU STRIP, EACH $10.00 

NEW KLUGE BOARDS! EPOXY-GLASS 

2 SIDE COPPER, 1/16 "X 7 l/2"X 10 1/2" DRILLED FDR 
7-l6PIN,,28-l4PJN L l-24PIN,a4-28PIN SOCKETS 
MANY THRU HOLES, If/4 CLEAR 3 EDGES, YOU ETCH. EACH $5.00 
N0.2 SAME EXCEPT I/I6"XBI/2"X 10 1/2" DRILLED FOR I3-I6PIN, 
a 36-I4PIN SOCKETS, MATCH YOUR SYSTEM! YOU ETCHi EA.$750 

PC CUT CAPACITORS NOW30/$JJO^ 

SEE JUNE BYTE FOR LISTj ALL SIX 0NLY$5.*2 

DC MOTORS,SMALLI5/B"DIA2 

7/(6"L0NG, SHAFT l/8"DIA l/2"L0NG, PM 

FIELD, BALL BEARING, 28V0LT EA$6.00 

HI TORQUE. 3/l6"DIA 33/4"LG., PM FIELD, 

2 l/B"DIA 2 7/8"L0NG,B.B., 2BV0LT, DC, 

HAS MU-METAL SHIELD, PUSH-ON TERMINALS, EACH $7.50 

TACTOMETER GEN, PM FIELD, 1/8" Dl A 3/8 u L0NG SHAFT, l"DIA 

I 3/4*10^ FIELD, EACH $5.00, LARGE MOTOR a TACH $II.OC 

ALLOW $3.00 P8HBAL REFUNDED; MIN ORDER $10.00 

J SE ELECTRONICS SALES 
PO BOX 4504, FT WORTH, TX 76106 



*-'te 



ummii oiter tins uoxt/l 

W1111M Si PPLY LASTS' 



ALL NEW! 

Mini Discs $3.70 ea. in boxes of 1 

Two-tier walnut formica enclosure 
for S. A. 400 Shugart $39.95 

A Horizon — 2 

R Centronic 779 

C Hazeltine 1500 

D. Hazeltine 1400 



A,B&C 
$4,150 



A,B&D: 

$3,852 



Circle 24 on inquiry card. 



Circle 193 on inquiry card. 



\ We also stock Imsai, Seals, Okidata, 
; ADM-3A, Xitan and Cromemco. 
; Mail order only. 

TORA SYSTEM 
29-02 23rd Avenue 
Astoria, NY 1L 105 

(212) 932-3533 

Circle 373 on inquiry card. 



LSI -11/2 
USERS 

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. Selecta- 
ble 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 




16K RAM MEMORY CARD 

#iiIlllM»t 

% PI! «"» 

t>'mijuuu 

SWTPC MSI DSD 

16K RAM card using TMS 4045 or SY 2114 1024 
x 4 Memories. Selectable to any two BK blocks of 
memory. Single 5V supply. Compatible to all 
SS-50BUS Computers. 

Other Cards Available 

DSD 1802-4K-8K CPU card $27.00 
DSDS6011 Serialcard $12.00 
DSDP8212 Parallel card $12.00 
DSD C I/0-2M Cassette card $12.00 
DSD l/O-N I/O Network $29.00 
DSDSS-50-5 Motherboard $29.00 
_^ All cards with connectors only. 

JAPIGITAL SERVICE & DESIGN 

ilHI p - °- Box 741 

T^f Newark, Ohio 43055 

Order direct by check, VISA or Master Charge. 
Ohio residents add 4 16% sales tax. 


iNiorCek 

The LSI-11 specialists. 

2432 NW Johnson • Portland, OR 97210 

503-226-3515 



'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 CHALLENGINGOPPORTUNITIES 



U 



n n 



u 



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- ihll HI IS MICK<)-< ( 1MPUTKR I IEAVY CUKHKNT 

POWER SUPPLY KITS 



3 Hour Assembly Time-Complete Instructions Included 
Dimensions of kit 13" (I) x 5" (W) x AW' (H) 
TTTm A CJ; r;|. n 4 Unregulated Voltages Avail able 
1V11 A: q»D/.OU +8.5V/25A, -85V/3A.+17V/3A 
Includes TRANSFORMER T 2 [25A. size 3AV (1) x 4Vb" (w) x 
3',V (h)]. CAPACITOR C, (100.000 UF. 15V), BRIDGE RECTI- 
FIERS: D1 (30A. 50V) & D 2 (4A, 50V), FUSE HOLDER, 
BARRIER STRIP, ALUMINUM PLATE [13" (I) x 5" (w) x 3/16" 
(I)]. 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 C^ 
(52,000 UF. 15V) and TRANSFORMER 7-\ [15A. Size 3¥' (I) x 
4"(w)x2 13/16" (h)]. 

You May Buy Transformers Alone: 

T 2 (25 A) & Ti (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 



SUNNY INTERNATIONAL 
Mail Order Store 

P.O. Bux I29<i 7245 E. Alondm Blvd. 

Ttirnimv. (*A Wi 10 Paramount, CA. 90723 

<2l:l> 5:H)-:J7:J2 Mon.-Sat.: H am-li »m 



KITB: $47.50 



RADIO SHACK 
COMPUTER OWNERS 

TD6-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 • IN- 
COME TAX PROGRAM - LONG AND SHORT FORMS 
• INVENTORY CONTROL • EXTENSIVE MAILING 
LIST AND FILE PROGRAM • PAYROLL • STOCK 
SELECTION • PICKING WINNING HORSES • RE- 
NUMBER PROGRAM LINES • CHESS • CHECKERS • 
FINANCIAL APPLICATIONS PACKAGE • PERSONAL 
FINANCE PACKAGE • GRAPHICS • STATISTICS • 
MATHEMATICS • EDUCATION . . . AND MORE 

$24 Par Year— Sample luua S4 
VISA Mattorchorp* 

MATHEMATICAL APPLICATIONS SERVICE 

Box 149 RB 

NEW CITY, NY 10956 

(914)425-1535 

(Send for our FREE Software Catalog) 



1 




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 Digi- 
tal Design, Data Communi- 
cations, Graphics, Radar, 
Distributed Processing, Minis 
and Micros, PDP-11, RSX- 
11, GCOS, CAD, CAM, As- 
sembly, PL-1, Algo and 
Pascal. 

Call us collect 
(603) 889-01 12 
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. 



BECKIAN ENTERPRISES 



Vbeckian^ni 

I 
I 
I 
I 
I 
I 
I 
I 
I 
I 
I 
I 
I 



+ 



Circle 30 on inquiry card. 



All Prime Quality — New Parts Only 

Satisfaction Guaranteed 



EDGE CARD CONNECTORS: GOLD PLATED. 

BODY: Non brittle, solvent resistant, high temp, G.E. 
CONTACTS: Bifurcated Phos./Bronze; Gold/Nickel. 

ALTAIR S-100: Cont./Ctrs. .125" Row Spacing, .140 
50/100 Dip Sold. $3.95 ea. 

50/100 Sold. Eye. 6.95 ea. 



Valox. The finest you can buy. 



IMSAI S 100: Cont./Ctrs. .125 
50/100 Dip Sold. 
50/100 W/Wrap 3 
IMSAI CARD GUIDES: 



CROMEMCO S-100: 

50/100 Dip Sold. 
(Or short W/Wrap) 



Cont./Ctrs. 



Row Spacing, .250 

$4.20 ea. 

3.75 ea. 

0.19 ea. 

125 Row Spacing, 
$6.50 ea. 



5 pes, 
5 pes. 



5 pes. 
5 pes. 
5 pes. 



.250 



5 pes. 



OTHER CONNECTORS AVAILABLE 



100 Contact Ctrs. f .140 Row Spacing. 



22/44 Dip Sold. 
25/50 Sold. Eye. 
40/80 Sold. Eye. 
43/86 Dip Sold. 
43/86 Sold. Eye. 



.156 Contact Ctrs., .140 

6/-Sgle. Row (PET) 
22/44 Sold. Eye. (KIM) 
22/44 Dip Sold. (KIM) 
43/86 Dip Sold. 



$2.30 ea. 
2.95 ea. 
4.80 ea. 
4.90 ea. 
4.90 ea. 



Row Spacing. 

$1.00ea. 
1.90 ea. 
1.90 ea. 
4.90 ea. 



156 Contact Ctrs., .200 Row Spacing. 



1 5/30 W/Wrap 3 
22/44 W/Wrap 3 
36/72 Sold. Eye. 
36/72 W/Wrap 3 
43/86 W/Wrap 3 



$1.05 ea. 
2.30 ea. 
3.45 ea. 
3.85 ea. 
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 ea. 
3.50 ea. 
0.16 ea. 



$6.00 ea. 



$2.10 ea. 

2.75 ea. 

4.50 ea. 

4.70 ea. 

4.70 ea. 



$0.90 ea. 

1.80 ea. 

1.80 ea. 

4.70 ea. 



$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.1 ea. 50 pcs./Up $0.08 ea. 

SP£CIAL 

12/24 Pin .156" Cont./Ctrs. .20o" Row Spacing. 

TIN PLATED CONTACTS. 
IDEAL FOR PET INTERFACE & PARALLEL USER PORT. 
$1.25 ea. 5 pes. $1.10 ea. 



SUBMINIATURE CONNECTORS: (DB 25 SERIES, RS 232.) 

DB 25P Male Plug $2.50 ea. 5 pes. 

DB 25S Female Socket 3.60 ea. 5 pes. 

DB 51212-1 Grey Hood 1 .20 ea. 5 pes. 

DB 51 226-1 A Black Hood 1 .30 ea. 5 pes. 

D 20418-2 Hardware Set 0.75 ea. 5 pes. 

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 



$2.20 
3.40 
1.10 
1.20 
0.70 



Excellent for computer cabinet cooling. This is the most quiet fan you will find. Only 
measures 4 3/4 square by V/i deep. U. L. Listed. 

$21.00ea. 5 pes. $19.00 ea. 



I. C. SOCKETS. GOLD- 
WIRE WRAP 3 TURN. 



14 pin 
16 pin 



$0.36 ea. 
0.38 ea. 



2708 EPROMS PRIME 

$14.00 ea. 



I.C. SOCKETS- 
DIP Solder. 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 
REPLY. 

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% safes tax. 

NO C.O.D. SHIPMENTS OR ORDERS ACCEPTED. 



MAIL ORDERS TO 



Beckian Enterprises 

P.O. Box 3089 

Simi Valley, CA 93063 



cybercLTTi 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 U P410 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, % 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, 11x1iy2X 1 /a". 
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 

4N26 

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 



/WWC/ / nc _ W AM ECO 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 in- 
terrupts. Software programmable. PCBD $25.95 

EPM-1 1702A 4K Eprom card PCBD $25.95 

EPM-2 2708/2716 16K/32K 

EPROM CARD PCBD $25.95 

QM-9 MOTHER BOARD. Short Version of QM-12. 

9 Slots PCBD S27.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 1.25 

2504 1.50 MC4044 2.25 

2507V 1.50 8038 3.90 

251 0A 1.50 5320 5.95 

2517V 1.50 5554 1.90 

251 8B 1.50 5555 2.50 

251 9B 1.50 5556 2.50 

2521 1.50 5055 1.25 

2522 1.50 5312 4.00 
2525 1.50 MH0025 150 
2527 1.50 MH0026 1.75 
2532V 1.50 MH0028 1.90 
2529 2.75 5262 .50 
2533V 1.95 2101 3.50 



mwB 



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 FAC- 
TORY 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 mo- 
ney 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 fiber- 
glass, 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 mount- 
ing 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 pack- 
age (DIP) sockets. Plugs feature United 
Laboratories recognized glass filled 
thermo plastic bodies, and solder lugs on 
the top side are slotted for easy attach- 
ment 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 to 1 5 VDC 
voltmeter to a solderless breadboard ter- 
minal and bus strips. 

The output of the DM-1 variable reg- 
ulated power supply is 5 to 15 VDC at 
up to 600 mA for 9 W maximum of 
electronic drive. The to 15 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 1 1 7 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 micro- 
computer programming, Form 78Cl's 
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 opera- 
tion. Clamped to the edge of the work- 
bench it holds the board at a convenient 
angle for placing parts and then is flip- 
ped 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, 
UNDER WATER, 
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 3 2 A" X6V2" 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. 



$ 




349 00 kit 

Add $75. 00 to assemble and test 
Add $2.00 Postage and Handling 



UNIVERSAL 4Kx8 MEMORY BOARD KIT 
S69.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 static 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) 



.18 4019 

.18 4020 ■ 

.95 4021 ■ 

.IB 4022 - 

.37 4023 • 

.37 4024 ■ 

.18 4025 ■ 

.18 4027 • 

.29 4028 ■ 

.75 4029 • 

.75 4030 ■ 

.29 4035 - 

.90 4042 - 

.90 4046 ■ 



.37 4049 

.90 4050 - 

.90 4053 - 

.90 4055 - 

.18 4066 - 

.75 4071 - 

.18 4076 - 

.37 4520 - 

.80 74C00- 

.95 74C02- 

.33 74C04- 

.97 74 COS - 

.65 74C10- 

1.35 74C42- 



.35 74C73- .65 

.35 74C74- .45 

1.10 74C83- 1.15 

1.25 74C86- .40 

.70 74C93- .75 

.18 74C151 1.40 

.97 74C160 1,05 

.70 74C161 1.05 

.22 74C174 1.05 

.22 74C175 1.05 

.24 74C193 1.20 

.22 74C901 .48 

.27 74C902 .48 

85 74C914 1.70 



270B BK EPROM(450n>) 

2522 STATIC SHIFT RE6 

25)3 CHARACTER GEN 

2S18 HEX 32 BITSF1 

3102 1 <4S0n») 

2IL02 1 (450ml 

MMS270 4K XI DVN 

MK 4008P 

2101 1 254 x 4 STATIC 

2111 1 256 x 4STAT1C 

2112 1 255 x 4 STATIC 

2114 4K STATIC RAM (450nl) ...... 

5280/2107B4K DYNAMIC RAM... 

TMS40SOL 

5204 4K PROM 

B2S23 

82S129 

AY.S1013UART 

TR1602B 

B703C TELEDYNE 

8 BIT A/D CONVERT 

B0B0A 

B224 

8228 



CRYSTALS $3.45 ea. 
4,000 MHZ 
6,000 MHZ 
6,144 MHZ 
8,000 MHZ 
10,000 MHZ 



J 9 75 
$ 1.95 



S 1-25 

$3 45 

S 1.95 

S 2,45 

S 3.4 5 

S 2 75 

S 6,50 

S 3.40 

S 3.95 

S 4,95 

S 1.95 

S 3.25 

S 5.25 

S 4 95 



S 3 95 
1 4.95 



PRINTED CIRCUIT BOARD 



7 WATT LD-65 LASER DIODE I R $a95 



2N 3820 P FET ..... . S 45 

2N 5457 NFET S 45 

2N2646 UJT S .45 

ER 900 TRIGGER DIODES 4 SI 00 

2N 6028 PROG UJT S 65 

MINIATURE MULTI-TURN TRIM POTS 
100, 1 K, 2K, 5K, 10K, 20K, 50K, 100K, 
2Q0r<C, 5Q0K, IMeq, 2Meg, $.75 cadi 3/S2.00 

CHARGED COUPLE DEVICES 
CCD 321 AH2-512 audio analog S.R. - ■ ■ ■ S95.00 

CCD 201C 100x100 ImageSensor $95.00 

CCD 202C 100x100 Image Sensor $145.00 

VERIPAX PC BOARD $4.00 

This board is a 1/16"single sided Paper epoxv 
board, 4y»"x6'/i" 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 

LARGELED's.2" 6/S1.00 

TIL-118 0PTO-ISOLATOR $ -75 

MOLEX PINS 100/S1.00 

1 00O/S8.00 

I WATT ZENERS: 3.3. 4.7. 5.6. 9 t,10, 

12. 15, 18. or 22V 6/$1.00 

MC6860 MODEM CHIP S9.95 

MCM 6571 A 7 x 9 character gen ... $10.75 



Silicon Power Rectifiers 



RIBBON CABLE 
FLAT (COLOR CODED) 
#30WIRE 
26 cond. • .50/per foot 
40 cond. - .75/per foot 
50 cond. - .90/per foot 



CTS 206-8 eight position dip switch .... $1.60 
C TS-206-'1 four position dip switch . . . .$1.45 
LIGHT ACTIVATED SCR's 
TO 18. 200V 1 A, . $ .70 



$1LIC0N SOLAR CELLS 
2'/4" diameter .4V at 500 ma S4.00 



FND 359 C.C. .4" $ .50 LED READOUTS 

FCS 8024. 4 digit 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 803C.C. .8" $1 .95 

FND 510 C.A. .5" $ .85 FND 810 C.A. .8" $1.95 
DL-704/3" C.C. $ .85 



Terms: FOB Cambridge, Mass. Simrf 254 f < 

Send Check or Money Order. Transis 

Include Postage, Minimum ld c u imntlll 

Order $5.00, COO'S J20.00 ^ 5 Hampsh ' 



HHV 1A J A UA bUM \JbA 2. 4 QA_ 

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 1.80 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 REDICON 1024 stage analog "Bucket 
Brigade" shift register. $16.95 

IN 4148 (IN9 141 15.. Si 00 

RS232 DB25Pmale. . . . 52.95 

CONNECTORS DB 25S female ... S3.50 

HOODS $1.00 

REGULATORS 

309K 5 .95 340K-12.15 

723 S .50 or 24V. .... $ .95 

LM376 .... $ .60 340T-5. 6. B. 12 
320T-12, 15 15,18 or 24VS .95 

or 24V $1.25 78 MG $1.35 

79 MG . . . . .$1.35 



TRANSISTOR SPECIALS 

2N6233-NPN SWITCHING POWER S 1.95 
MRF-8004 a CB RF Transistor NPN $ 1-50 

2N3772 NPN S< TO-3 $1.00 

2N1546 PNP GE TO-3 $ .75 

2N4908 PNP S. TO 3 S 1 00 

2N6056 NPN S. TO-3 D,M.n<|i»n S 1 70 
2N5086 PNP S. TO 92 A S 1 .00 

2N3137 NPN Si RF $ .85 

2N3919 NPN S. T» 3 RF , . . . S 1 .50 

2N1420 NPN Si TO 5 3/$ 1.00 

2N3767 NPN Si TO-66 . S .70 

2N2222 NPN SiTO-18 . . . 5'S 1 .00 

2N3055 NPN S. TO 3 . . S .50 

2N3904 NPN S. T0 92 - . 6/S 1 .00 

2N3906 PNP S. T0 92 . 6/S 1 .00 

2N5296 NPN Si TO 220 . . S .50 

2N6109 PNPS. TO 220 S .55 

;'N3638 PNI 1 Si TO 5 5'S 1 ,00 

MPSA 13 NPN Si 4/$ 1 .00 

TTLICSERIES 7445 _ 65 7415 i- .61 

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- B5 

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 GO 
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 
OATA CASSETTES 1/2 HR S.95 

22/44 Pin Solder Tail .1 56" Conn. $1 .95 



TEW 



1.20 



sis 



4.00 



DIP SOCKETS 

8 PIN .17 24 PIN .35 

14 PIN .20 28 PIN -40 

16 PIN .22 40 PIN .60 
la 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.5Q 



TANTULUM CAPACITORS 



MM 5387AA new clock chip which will directly 
drive LED's 12/24 hrs., 1 supply & alarm $5,95 

NO. 30 WIRE WRAP WIRE SINGLE 

STRAND 100' $1.40 

ALCO MINIATURE TOGGLE SWITCHES 

MTA 106 SPOT S .95 

MTA206DPDT S 1.70 

MTA 206 P-OPDT CENTER OFF « 1,85 
MSD 206 P-OPOT CENTER OFF 
LEVER SWITCH 



22UF 35V 5/S1 00 
47UF 35V 5 SI 00 
68UF 35V 5 SI 00 
1UF 35V 5 Si 00 
2.2 UF 20V5S1 00 
3 3UF 20V 4 Si 00 
4.7UF 15V 5/S1.00 



74LS SERIES^ 



6 8UF 
10UF 
22UF 
15UF 
30UF 
47UF 
68 UF 
100 UF 



35V 4. SI 00 

10V S .25 

25V S 40 

35V 3751.00 

6V 5/51.00 

20V S .35 

15V S .50 

10V S . 



I4LSU 


M 




r«LSi« 


S:i 


MLs'lM 






74LS168 


74LS21 - 


l\ 


74LSI70 


74LS26 






74LS27 






74LS2B 


26 


74LS175 


ES ■ 


n 


74LS1B1 
74LS190 
74LS191 






74L5191 


74L542 


60 
73 


74LS195 




19 




74LS73 " 


l\ 


i 


74LS71 


34 




™£H 


so 


74LS279 


74LSD5 


75 


74LSJ9* 




35 


74LS291 




50 


74LS365 




SO 


74LSJ6G 




SO 


74LS367 


74LS109 


35 


74LS368 


74LSH2 - 


35 


74LS37S 


74LSH3 - 






74LS1M - 




74LS390 


74LS125 - 


45 


74LS670 



7$ 



LINEAR GIF 

LM 101 
LM 301/746 

LM307 - .30 

LM 308 - 75 

LM311 - .75 

LM31B -1.20 

LM324 - .70 

LM339 -1.10 

LM 358 - .70 

LM370 - 1.15 

LM377 - 1.60 

LM380 - .95 

LM 381 -1.25 

LM 382 -1.25 

LM387 t.25 

LM537 -2.50 

LM553 -2.50 

LM555 - 39 

LM 556 - 85 
NE540L 



-2.25 

-2 00 
- .95 



741Cor V 

747 

LM 1310 

1456 

14S8 

3900 

8038CC 

791 

LF356H 



-3 90 
-1.95 
- 1.20 



SOLID STATE SALES 

P.O. BOX 74 B 

SOMERVILLE, MASS. 02143 TEL. (617) 547-7053 



WESHIP OVER 95% 

OF OUR ORDERS THE 

DAY WE RECEIVE THEM 



Circle 340 on inquiry card. 



BYTE October 1978 



221 



Unclassified Ads 



WANTED: For Microdata 1600 processor (Reality) 
magnetic tape controller, disc controllerand 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, pro- 
visions for on board regulation and standby power 
utilization, $18. Industrial quality G-10 glass 
epoxy boards with gold plated 44 pin edge con- 
nector, 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 Altair 88-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 new TI-58 pro- 
grammable 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 Cen- 
tronics printer. Would consider trading for Tele- 
type 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 

Readers who have equipment, software or other itgms 
to buy, sell or swap should send in a clearly typed notice 
to that effect. To be considered for publication, an adver- 
tisement must be clearly noncommercial, typed double 
spaced on plain white paper, contain 75 words or less, and 
include complete name and address information. 

These notices are free of charge and will be printed one 
time only on a space available basis. Notices can be ac- 
cepted from individuals or bona fide computer users clubs 
only. We can engage in no correspondence on these and 
your confirmation of placement is appearance 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 '/j inch magnetic tape 
drive minideck and solid state electronic control 
circuits. Requires parallel interface. $75 plus ship- 
ping (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, Para- 
chutist, 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 pro- 
grammable 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 -41 53. 

FOR SALE: Five computer memory and IO boards 
(all 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 1 2 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 
G109C. 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 Bio- 
chemistry, I U Medical School, Indianapolis IN 
46202, (317) 264-7544. 

FOR SALE: OSM00 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/iCOM/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 Roths- 
child, 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 de- 
scribed 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 metro- 
plitan 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 equip- 
ment. B Rabinowicz, 1061 54 St, Brooklyn NY 
11219. 

MUST SELL: 3P+S Processor Technology IO card. 
Two parallel lOs and one serial IO. $100, as- 
sembled 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: 1 702A ($5), 2708 ($16). You 
supply the read only memory. Quantity discounts 
for multiple copies. 48 hour turnaround. David 
Corbin. 11704 Ibsen Dr. Rockville MD 20B52. 
(301) 881-7571 after 6 PM. 

FOR SALE: First 16 issues of BYTE except num- 
ber 11 (July 1976 BYTE). Also February, March 
and April 1977 Data Communications for free. No 
reasonable offer refused. L R Chauvenet, 1 1 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 peri- 
pheral. Includes power supply and transistor- 
transistor logic (TTL) compatible outputs, as- 
sembly 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 
10 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 Dr. 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, 1 71 7 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 inter- 
ested in specific applications of your SDK-80 (ie: 
distributive processing). Dave Fashenpour, 541 1 
Cerro Vista, San Antonio TX 78233. 

FOR SALE: TI-59, PC-100A, two libraries (master 
and statistics), 40 magnetic cards, 22 thermal 
paper rolls, three card holders, one battery charger, 
one carrying case, all 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 still 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 micro- 
computer with 40 K memory, '/« 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, 8rattleboro 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 1 1 706, 
(516) 666-8342. 

PROM PROGRAMMING: From binary paper 
tape: 1702A ($4), 2708 ($8). From hexadecimal 
or octal listing: 1 702A ($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, Sunny- 
mead CA 92388. 



WANTED: Floppy disc drives (any condition), 
line printer (100+CPS), OSI boards, S-100 boards, 
6502 hardware and software, C-MOD (MMM/Cele- 
tron) boards and software. I R Peterson, 669-23 
Av NW, St Paul MN 551 1 2, (612) 633-1 599. 

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) 1 2 by 80 
video display with built-in modem and much 8080/ 
Z-80 Software. Complete documentation on every- 
thing. Worth much more than the $2,000 I'm 
asking. Judd Ellmers, (201) 967-2645, 9 AM to 
5 PM. (Congratulations from BYTE D\NH] 

FOR SALE: Complete microcomputer system. 
IMSAI 8080 mainframe with Wunderbuss, 4 MHz 
Z-80 processor, 56 K bytes of fully static pro- 
grammable 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 $9800 in kit form. Asking price is $8900 
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 Dealer. 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 Men2ies, 7106 Colgate Dr, Alexandria VA 
22307. 

FOR SALE: Two Innovex floppy drives (com- 
patible with Tarbell and Peripheral Vision inter- 
faces), three 8 K memory boards (4 MHz), one 
Alpha Video 1 1 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 Com- 
puter Warehouse ad). John Whiffen, 443-6324 or 
279-1496, Toronto CANADA. 

FOR SALE: Must sell ASAP an IBM 6420 com- 
puter 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. (21 5) 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-Tac- 
Toe, Mortar Battlefield. Battle the Dive Bomber 
and others. $2 each or trade. Jerry Hansen, 420 
West 800 South number 1, Richfield UT 84701, 
(801) 896-6110. 

FOR SALE: Fully assembled and fully operational 
Morrow Micro Stuff/Thinker Toys front panel 
processor board. All documentation included. First 
certified funds for $300 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) 
7564052. 

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; Heath- 
kit 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 PDP-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 



Fesdep Service 



To gel further information on the products advertised in B Y TE, fill out the reader service card with your name and address. Then circle the 
appropriate numbers for the advertisers you select from the list. Add a 15 cent stamp to the card, then drop it in the mail. Not only do you 
gain information, but our advertisers are encouraged to use the marketplace provided by B YTE. This helps us bring you a bigger B YTE. 



Inquiry No. 



Page No. 



Inquiry No. 



Page No. 



Inquiry No. 



Page No. 



2 
3 
4 
7 
10 
12 
14 
15 

20 
22 
24 
26 
30 
35 
27 
28 
29 
32 



39 
40 
45 
46 
47 
65 
70 
72 
75 
73 
74 
76 
77 
78 

80 
81 
83 
87 
89 
95 
100 
103 
110 
112 
114 
115 
120 
125 
130 
132 
134 
137 
140 
142 
144 



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 1 5 

Art-by-Computer 161 

Artec Electronics 69 

ATV Research 202 

AVR Electronics 218 

Base 2 Inc 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 

Computer Age 206 

Computer Corner 206 

Computer Enterprises 92 

Computer Labof NJ 163 

Computerland 10, 1 1 

Computer Mart of NH 206 

Computer Mart of NJ & PA 126, 206 

Contemporary Marketing 109 

Cosmic Search 1 58 

CPAids 177 

Creative Software 189 

Cromemco 1, 2 

Datafacs 184 

Datec 206 

Digital Marketing 91 

Digital Pathways 97 

Digital Research (CA) 175 

Digital Research (TX) 203 

Digital Service & Design 218 

Dynabyte 32, 33 

Ed-Pro 151 

Electro Analytic Systems 188 

Electrolabs 195 

Electronic Control Technology 177 

Electronic Systems 205 

Electronics Warehouse 207 

EMM/CMP 156 

EMM Semi Inc 185 

Exidy Inc 81 

Forethought Products 148 

Fuller Eng & Mfg 179 

General Electric 103 



GOMe- 

BYTE's Ongoing Menitop 8cx 



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 IMSAI 13 

176 Information Terminals 35 

* Information Unlimited 159 
1 78 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 

217 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 NCC79 123 

280 Netronics153 

281 NE Electronics 82 

283 Newman Computer Exchange 1 1 1 

284 Nortek Inc 218 

285 North Star 7, 27 

286 Northwest Microcomputing Systems 59 

290 Ohio Scientific Instrument 18, 19, 20, 21 

291 OK Machine &T00I 31 

293 Oliver Advanced Engineering 176 

292 Osborne & Associates 137 

* Owens Associates 206 

294 Pacific Digital 174 

296 Pacific Office Systems 199 

297 Page Digital 199 

298 PAI A Electronics 180 

299 PanaVise 1 54 



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 1 75 

Scientific Research 54, 55, 160 

Seattle Computer Products 101 

Michael Shrayer Software 1 1 3 

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 CM 

Stirling Bekdorf 65 

Structured Systems Group 29 

Summagraphics 152 

Sunny Trading Company 218 

Sybex39 

Synchro Sound 66, 67 

Talos Systems Inc 43 

Tarbell Electronics 105 

Taylor & Associates 1 50 

Technical Systems Consultants 1 19 

Terrapin 138 

3 S Sales Inc 21 7 

Tora Systems 218 

TransNet 60 

Tri Tek217 

Ultra Violet Products 174 

University Microfilms International 83 

US Robotics 97 

Vamp 202 

Wameco213 

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 

TheSpracklens: 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 Dy- 
namic 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 



EVTE 



READER 
SERVICE 



October 1978 

41A8 



For fastest service transfer mailer label from wrapper 
to coupon provided at the right. Requests cannot be 
honored unless zip code is given. This card valid for 
90 days only. 

NOTE— If label is missing ordefaced fill out coupon carefully 
—PLEASE PRINT— this is only way to get requested material 
to you. 



Name 
(Title) 



(Company) 

Address 

City 



_State . 



_Zip. 



1 21 41 61 81 


101 121 141 161 1 


2 22 42 62 82 


102 122 142 162 1 


3 23 43 63 83 


103 123 143 163 1 


4 24 44 64 84 


104 124 144 164 1 


5 25 45 65 85 105 125 145 165 1 


6 26 46 66 86 


106 126 146 166 1 


7 27 47 67 87 


107 127 147 167 1 


8 28 48 68 88 108 128 148 168 1 


9 29 49 69 89 


109 129 149 169 1 


10 30 50 70 90 110 130 150 170 1 


11 31 51 71 91 


111 131 151 171 1 


12 32 52 72 92 112 132 152 172 1 


13 33 53 73 93 


113 133 153 173 1 


14 34 54 74 94 


114 134 154 174 1 


1 5 35 55 75 95 


115 135 155 175 1 


16 36 56 76 96 


116 136 156 176 1 


17 37 57 77 97 


117 137 157 177 1 


18 38 58 78 98 118 138 158 178 1 


19 39 59 79 99 119 139 159 179 1 


20 40 60 80 100 120 140 160 180 




MENTION 



81 201 221 241 261 281 301 321 341 361 381 401 421 441 461 481 501 521 541 561 

82 202 222 242 262 282 302 322 342 362 382 402 422 442 462 482 502 522 542 562 

83 203 223 243 263 283 303 323 343 363 383 403 423 443 463 483 503 523 543 563 

84 204 224 244 264 284 304 324 344 364 384 404 424 444 464 484 504 524 544 564 

85 205 225 245 265 285 305 325 345 365 385 405 425 445 465 485 505 525 545 565 

86 206 226 246 266 286 306 326 346 366 386 406 426 446 466 486 506 526 546 566 

87 207 227 247 267 287 307 327 347 367 387 407 427 447 467 487 507 527 547 567 

88 208 228 248 268 288 308 328 348 368 388 408 428 448 468 488 508 528 548 568 

89 209 229 249 269 289 309 329 349 369 389 409 429 449 469 489 509 529 549 569 

90 210 230 250 270 290 310 330 350 370 390 410 430 450 470 490 510 530 550 570 

91 211 231 251 271 291 311 331 351 371 391 411 431 451 471 491 511 531 551 571 

92 212 232 252 272 292 312 332 352 372 392 412 432 452 472 492 512 532 552 572 

93 213 233 253 273 293 313 333 353 373 393 413 433 453 473 493 513 533 553 573 

94 214 234 254 274 294 314 334 354 374 394 414 434 454 474 494 514 534 554 574 

95 215 235 255 275 295 315 335 355 375 395 415 435 455 475 495 515 535 555 575 

96 216 236 256 276 296 316 336 356 376 396 416 436 456 476 496 516 536 556 576 

97 217 237 257 277 297 317 337 357 377 397 417 437 557 577 497 517 537 557 577 

98 218 238 258 278 298 318 338 358 378 398 418 438 458 478 498 518 538 558 578 

99 219 239 259 279 299 319 339 359 379 399 419 439 459 479 499 519 539 559 579 
200 220 240 260 280 300 320 340 360 380 400 420 440 460 480 500 520 540 560 580 



581 601 

582 602 

583 603 

584 604 

585 605 

586 606 

587 607 

588 608 

589 609 

590 610 

591 611 
592612 

593 613 

594 614 

595 615 

596 616 

597 617 
598618 

599 619 

600 620 



621 641 

622 642 

623 643 

624 644 

625 645 

626 646 

627 647 

628 648 

629 649 

630 650 

631 651 

632 652 

633 653 

634 654 

635 655 

636 656 

637 657 

638 658 

639 659 

640 660 



ElTf 



WHEN WRITING TO ADVERTISERS 



BTE 



SUBSCRIPTIONS 



41A8 



For a subscription to BYTE, please complete this ca 



Name = 



Address . 



BOI\/l B ! BYTE's Ongoing Monitor Box 

BYTE's BOMB is your direct line to the editor's desk. Each month, 
the two top rated authors receive bonuses based on your votes. To 
use this card, refer to the list of authors, titles, and corresponding 
BOMB article numbers on the opposite page. Then rate each article on 
a scale from to 10 below by circling the appropriate rating number 
to the right of each BOMB article number. Your feedback helps us 
produce the best possible magazine each month. 



41A8 



City- 



State. 



.Zip. 



.Country. 



BOMB 
Article 
Number Poor 



Fair 



. . Rating 

Good Very Good Excellent Wow! 



□ 1 year 

□ 2 years 

□ 3 years 



USA 



D $15 
D $27 
□ $39 



Canada 
Mexico 

□ $17.50 
D $32.00 
D $46.50 



D $25 Europe (air freight) payment enclosed 
□ $25 Elsewhere (surface mail) payment enclosed 
(Air mail rates available upon request) 

Please remit in US funds— Thank you. 

D Check enclosed (Bonus: one EXTRA issue 

— receive 1 3 issues for the price of 1 2) 



□ 
Card No 



D Bill me (US only) 



1 





2 





3 





4 





5 





6 





7 





8 





9 





10 





11 





12 





13 





14 





15 





16 





17 





18 





19 





20 






4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 



6 
6 
6 
6 
6 
6 
6 
6 
6 
6 
6 
6 
6 
6 
6 
6 
6 
6 
6 
6 



7 
7 
7 
7 
7 
7 
7 
7 
7 
7 
7 
7 
7 
7 
7 
7 
7 
7 
7 
7 



8 



9 


10 


9 


10 


9 


10 


9 


10 


9 


10 


9 


10 


9 


10 


9 


10 


9 


10 


9 


10 


9 


10 


9 


10 


9 


10 


9 


10 


9 


10 


9 


10 


9 


10 


9 


10 


9 


10 


9 


10 



Comments. 



Expiration date- 



Four digits above name — Master Charge only 

Signature Date_ 



Please allow eight weeks for processing. 



Thank you 



PLACE 

STAMP 

HERE 



BITI 



READER SERVICE 



PO Box 319 
Dover NJ 07801 
USA 




c 


-o 


VI 


■ ■ 




LO 


<T> 


o 


DO 




> 


O" 

o 

— 1 


CD 








o 

c 

00 




m 






D" 










z 




-a 






X 




c 

cr 






O 




n' 






4^ 

CD 




cr. 
o 

U 
o 












i^ 










5 > > 










5 ^ n 










m -u m 



c 

> 



O 

CXI 

o 

X 

Ln 



CD 

a 

< 



O 
00 
00 



C 

00 

n 

-o 

H 

o 

z 



X 


— 1 [— 


m 


> > 


•0 
m 


s: n 



I haven't stopped laughing since I read Steve Ciarcia'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. 



■;''!" 1 -* : ' h~. 



Take my computer 






%W0 v 



...please! 



by STEVEN CIARCIA 



\n outrageously funny 
book about a creative 
eager beaver and his 
uncooperative personal 
computer. 128 fun-filled 
pages. Hilarious illustra- 
tions. Hard cover. 
Order your copy now. 
Only $5.95 + S/H. 
Another SCELBI 
hardcore software book! 




S 



ICELEI COrHPUfER 
CONSULTING INC. 

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 isrft niiiiiflopin. 



J, . V. ;'■,,-_ if 



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 trans- 
fer 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.