Byte Magazine Volume 02 Number 11 - Memory Mapped IO (THIRD SCAN)

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

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

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

Created with abbyy2epub (v.1.7.2)

SWTPC announces first dual minifloppy kit under $1 ,<

• II

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

$995 MF-68 Dual Minifloppy

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

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

$500 Terminal/Monitor

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

Enclosed is:

$1,990 for the full system shown above

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

$995 lor the Dual Minifloppy

$325 for the CT-64 Terminal

$175 for the CT-VM Monitor

$395 for the 4K 6800 Computer

Name_ City

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

Or BAG # Exp. Date_

_ OrMC# Exp. Date_

, Address. . State

_Zip_

$395 4K 6800 Computer

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

^3

Southwest Tecfinical Products Corp.

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

Circle 136 on inquiry card.

You can now have the industry's finest microcomputer with that all-important disk drive

YOU CAN GET THAT

ALL-IMPORTANT SOFTWARE,

TOO

Loading your programs and files will take you only a few seconds with the new Cromemco Z-2D computer.

You can load fast because the Z-2D comes equipped with a 5" floppy disk drive and controller. Each diskette will store up to 92 kilobytes.

Diskettes will also store your programs inexpensively—much more so than with ROMs. And ever so much more conveniently than with cassettes or paper tape.

The Z-2D itself is our fast, rugged, professional-grade Z-2 computer equipped with disk drive and controller. You can get the Z-2D with either single or dual drives (dual shown in photo).

CROMEMCO HAS THE SOFTWARE

You can rely on this: Cromemco is committed to supplying quality software support.

For example, here's what's now available for our Z-2D users: CROMEMCO FORTRAN IV COMPILER: a well-developed and powerful FORTRAN that's ideal for scientific use. Produces optimized, relocatable Z-80 object code. CROMEMCO 16K DISK BASIC: a powerful pre-compiling interpreter with 14-digit precision and powerful I/O handling capabilities. Particularly suited to business applications. CROMEMCO Z-80 ASSEMBLER; a macro-assembler that produces relocatable object code. Uses standard Z-80 mnemonics.

The professionalgrade microcomputer for professionals

ADVANCED CONTROLLER CARD

The new Z-2D is a professional system that gives you professional performance.

In the Z-2D you get our wellknown 4-MHz CPU card, the proven Z-2 chassis with 21-slot motherboard and 30-amp power supply that can handle 21 cards and dual floppy drives with ease.

Then there's our new disk controller card with special features:

• Capability to handle up to 4 disk drives

• A disk bootstrap Monitor in a IK 2708 PROM

• An RS-232 serial interface for interfacing your CRT terminal or teletype

• LSI disk controller circuitry

Z-2 USERS:

Your Z-2 was designed with the future in mind. It can be easily retrofitted with everything needed to convert to a Z-2D. Only $935 kit; or $1135 for assembled retrofit package.

Q

Crontetnco

Shown with optional bench cabinet

We're able to put all of this including a UART for the CRT interface on just one card because we've taken the forward step of using LSI controller circuitry.

STORE/FACTORY

Contact your computer store or Cromemco factory now about the Z-2D. It's a real workhorse that you can put to professional or OEM use now. Kit: Z-2D with 1 disk drive

(Model Z2D-K) $1495.

Assembled: Z-2D fully assembled

and tested (Model Z2D-W) $2095.

Additional disk drive

(Model Z2D-FDD) $495.

SOFTWARE

(On standard IBM-format soft-sectored mini diskettes)

16K BASIC (Model FDB-S) $95

FORTRAN IV (Model FDF-S) $95

Z-80 Assembler (Model FDA-S) $95

incorporated Specialists in computers and peripherals 2400 CHARLESTON RD., MOUNTAIN VIEW, CA 94043 • (415) 964-7400 Circle 40 on inquiry card.

TV DAZZLER

To make your computer

more useful

a wide choice of

memory, I/O, CPU

Your computer's usefulness depends on the capability of its CPU, memories, and I/O interfaces, right?

So here's a broad line of truly useful computer products that lets you do interesting things with your Cromemco Z-1 and Z-2 computers. And with your S-100-compatible Altairs and IMSAIs, too.

CPU

• Z-80 MICROPROCESSOR CARD. The most advanced fiP card available. Forms the heart of our Z-1 and Z-2 systems. Also a direct replacement for Altair/IMSAI CPUs. Has 4-MHz clock rate and the power of the Z-80 ^P chip. Kit (Model ZPUK): $295. Assembled (Model ZPUW): $395.

MEMORIES

• 16K RAM. The fastest available. Also has bank-select feature. Kit (Model 16KZ-K): $495. Assembled (Model 16KZ-W): $795.

• 4K RAM. Bank-select allows expansion to 8 banks of 64K bytes each. Kit (Model 4KZ-K): $195. Assembled (Model 4KZ-W): $295.

• THE BYTESAVER —an 8K capacity PROM card with integral pro

grammer. Uses high-speed 2708 erasable PROMs. A must for all computers. Will load 8K BASIC into RAM in less than a second. Kit (Model BSK-0): $145. Assembled (Model BSW-0): $245.

• 16K CAPACITY PROM CARD. Capacity for up to 15K of high-speed 2708 erasable PROM. Kit (Model 16KPR-K): $145. Assembled (Model 16KPR-W): $245.

I/O INTERFACES

• FAST 7-CHANNEL DIGITALANALOG I/O. Extremely useful board with 7 A/D channels and 7 D/A channels. Also one 8-bit parallel I/O channel. Kit (Model D + 7A-K): $145. Assembled (Model D + 7A-W): $245.

• TV DAZZLER. Color graphics interface. Lets you use color TV as fullcolor graphics terminal. Kit (Model CCI-K): $215. Assembled (Model CGI-W): $350.

• DIGITAL INTERFACE (OUR NEW TU-ART). Interfaces with teletype, CRT terminals, line printers, etc. Has not one but two serial I/O ports and two 8-bit parallel I/O ports as well as 10 on-board interval timers. Kit

(Model TRT-K): $195. Assembled (Model TRT-W): $295. • JOYSTICK. A console that lets you input physical position data with above Model D + 7 A/D card. For games, process control, etc. Contains speaker for sound effects. Kit (Model JS-1-K): $65. Assembled (Model JS-1-W): $95.

PROFESSIONAL QUALITY

You get first-class quality with Cromemco.

Here are actual quotes from articles by independent experts: "The Cromemco boards are absolutely beautiful" . . . "The BYTESAVER is tremendous" . . . "Construction of Cromemco I/O and joystick are outstanding" . . . "Cromemco peripherals ran with no trouble whatsoever."

Everyone agrees. Cromemco is tops.

STORES/MAIL

So count on Cromemco. Look into these Cromemco products at your store. Or order by mail from the factory.

We wish you pleasure and success with your computer.

r^ Crotnemco

Specialists in computers and peripherals

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

Circle 40 on inquiry card.

In the Queue

,„„..„ J

10

50

68

72

76

80

94

146

150

166

18

26

54

172

4 6

30

37

38

46

60, 197, 2U

66 145 160 162

170, 198 190, 220 206 211 226 228 256 256

MEMORY MAPPED 10

Hardware—Ciarcia USING INTERRUPTS FOR REALTIME CLOCKS

Real Time Techniques—M F Smith DOES ANYBODY KNOW WHAT TIME IT IS?

Peripherals—Grappel ADDING AN INTERRUPT DRIVEN REAL TIME CLOCK

Real Time Systems—Sneed FLOATING POINT ARITHMETIC

Software—Hashizume BUILDING A COMPUTER FROM SCRATCH

Hardware—Jones A 6502 PERSONAL SYSTEM DESIGN: KOMPUUTAR

Hardware—Brader IMPLEMENTING AN LSI FREQUENCY COUNTER

Hardware—Lynne SWEET16: THE 6502 DREAM MACHINE

Software—Wozniak DO YOU NEED THE REAL TIME?

Real Time Systems—Trollope

Background

SIMULATION OF MOTION: An Improved Lunar Lander Algorithm

f\/lodelling-S P Smith A MINICOMPUTER FAIR: TINY AND PERSONAL

Compu ter Fairs—Piele SPIKES: Pesky Voltage Transients and How to Minimize Their Effects

Hardware—IVIcCain NIMBLE: THE ULTIMATE NIM?

Software—Doll ner

Nucleus

in This BYTE

The Compleat Robotics Experimenter

Letters

BYTE's Bugs

BOMB Lands on APL

The TRS-80: Radio Shack's New Entry

Programming Quickies

My Experiences with the 2650

Ask BYTE

Switching ROMs in the Fairchild F8 Evaluation Kit

BYTE's Bits

Technical Forum

Languages Forum

Book Reviews

Clubs and Newsletters

Classified Ads

What's New?

BOMB

Reader Service

Cover by Bruce Holloway

BYTE IS pubrished monthlv by BYTE Publications Inc, 70 Main Si, Peierborough MH 03458. Address Gil mail Gxcepi subscriptions to above address; phone (6031 924-7217. Address all editorial correspondence to the editor at the above address. Unacceptable manuscripts will be returned if accompanied bv sufticiont first class postage. Not responsible for lost manuscripts or photos Opinions expressed bv the authors are not necessarilv those of BYTE. Address all subscriptions, change of address. Form 3579, and fulfillment complaints to BYTE Subscriptions. PC Box 361, Arlington MA 02174, phone (617) 646-4329. Second class postage paid at Peterborough MH 03458 and al additional mailing offices-USPS Publicalion No. 102410. Subscriptions are SI 2 for one year, S22 for two years, and S32 for three years in the USA and its possessions. Add S5.50 per year for subscriptions to Canada and Mexico. S25 for a one year subscription bv surface mail worldwide. Air delivery ro selected areas at additional rates available upon request. S25 for a one year subscription by air delivery to Europe. Single copy price is S2.00 in the USA and its possessions, 82.40 in Canada and Mexico, and S3.50 in Europe, and S4.00 elsewhere. Foreign subscriptions and sales should be remitted in Uniletl States funds. Printed in United States of America. Entire contents copyright ^1977 by BYTE Publications Inc. All rights reserved.

El^TE NOVEMBER 1977 Volume 2 Number 11

PUBLISHERS

Virginia Pcschke

Manfred Pcschke

EDITOR IN CHIEF

Carl T Holmers |r

PRODUCTION MANAGER

Jitdith Havey

CIRCULATION MANAGER

Gresjory Spit/.laden

ASSISTANT PUBLISHER

Dcbra Boudiicau

EDITOR

Christopher P Morgan

CO-OP EDITOR

Scott Morrow

PRODUCTION EDITORS

Karen Grcj^ory

N.-incy Salmon

ADVERTISING

Dcbra Boudricau, Director

Noreen Bardslcy

Virginia Pcschke

EDITORIAL ASSISTANT

Ingrid Kyland

PRODUCTION ASSISTANT

Cheryl Hurd

CIRCULATION ASSISTANT

Pamela R Hclslit)

CONVENTION SUPERVISOR

Eli/abcth -Mpauiih

DEALER SALES

Ginnie F Boudrieau

CLUBS AND NEWSLETTERS

David Wo/mak

TRAFFIC MANAGER

Edmund D Kelly |r

ART

Wai Chiu Li

Ellen Shiimunsky

Doiolhy Sllanionsky

SPECIAL PRODUCTS

Floyd W RchliiiB

Medellin Stephens

EXECUTIVE SECRETARIES

|ill Callihan

Patricia Clark

BOOKS

Christopher L Smith

RECEPTIONIST

Jacriticliiie Lanishaw

DRAFTING

DoUi^Ias Glen

Slepllen Kruse

Lynn Malo

Bill Monllo

Doitithy Slianionsky

TYPOGRAPHY

Custom Marketing Resources liic

Goodway Cirapliics

PHOTOGRAPHY

Rd Crablree

PRINTING

Rumlord Press

NEW PRODUCTS EDITOR

D.iniel Fylstra

ASSOCIATES

Waller Banks

Steve Ciarcia

David Fylslra

Portia Isaacson

ADVERTISING SALES

Southern California:

Buckley/Boris Associates Inc

912 South B.trringlon

Suite 202

Los Angeles CA 90049

(213)82.5-4(12 I

Northern California:

Jules E Thompson Inc

Hearst Building

Suite nil

San Francisco CA 94103

(415) 362-8547

BYTE November 1977

In This

page 94

eiiii

In this issue, autiior Steve Ciaixia begins what we expect to become a regular feature in BYTE: Ciarcia's Circuit Cellar. Steve, a senior engineering consultant to the aerospace industry by profession, is a rare combination of writer and tinkerer. The conceptual model he brings to his interactive column format is that of the late C L Stong's stewardship of "The Amateur Scientist" in Scientific American, but with an emphasis on hardware and software combinations to accomplish interesting applications of personal computing systems. Steve welcomes feedback from readers.. .CH

Games and models which employ moving objects require some attention to details of motion as simulated by a computer program. Beginning a series of articles on the subject of moving objects, Stephen P Smith's Simulation of Motion: An Improved Lunar Lander Algorithm shows how a real time game can incorporate models of motion in more than one dimension.

Donald T Piele shows that a computer fair doesn't have to be big to be good. A IVlinicomputer Fair: Tiny and Personal describes the University of Wisconsin's efforts to produce their own micro extravaganza, which drew over 700 attendees. Readers may get some ideas about putting on shows of their own based on Professor Piele's experiences.

What might not be appreciated by the neophyte is the fact that an interrupt driven clock suggests other uses besides keeping time. In M F Smith's article on Using Interrupts for Real Time Clocks you'll find a simple timekeeping algorithm, and a sketch of how it can be extended to share processor time between two different processes.

i

nm MM ii-mm wiiWi 10*0

,#ti»1»f»6t*'*«t«>**«»*

Do you occasionally find incorrect data in your computer when you know you entered the correct information and processed it with a reliable program? Does your computer do strange things every time the washing machine or furnace turns on? Perhaps your problem is voltage transients. John McCain writes about Spikes: Pesky Voltage Transients and How to Minimize Their Effects.

If you want to post a calendar of events in your computer's memory with a resolution of 1 second, a mere three integrated circuits added to an existing LSI digital clock can turn it into a source of time information for your computer. Use Robert Grappel's article in this issue to Find an answer to the metaphorical question: "Does Anybody Know What Time It Is?"

Any regular source of interrupts can be used as the key element in a simple real time clock for the typical personal computer. James R Sneed shows how to create such an interrupt source, then program a 6502 to generate internal variables for hours, minutes, seconds and 1/15th seconds of the day in his article on Adding an Interrupt Driven Real Time Clock.

If you do a lot of mathematical calculations on your microcomputer, you'll enjoy reading Floating Point Arithmetic by Burt Hashizume. Find out how to add an economical floating point package to your system and improve your number crunching facilities.

An excellent way to learn about computers is to build one yourself. Hilary D Jones shows that this is not such a terrifying task. Read Building a Computer From Scratch and find out how to construct a working (albeit limited) computer for under $70 (plus the price of a power supply).

Occasionally readers ask for detail plans of computer systems. David Brader, a BYTE reader from Electric City WA, has implemented an excellent piece of homebrew craftsmanship in his Kompuutar system based on the MOS Technology 6502 processor. In this issue, we provide David's complete design for the central processor, control panel interface, and serial terminal interface of a general purpose computer.

Frequency counters are useful tools for a variety of applications. Perry Lynne shows you how to add one to your microcomputer in Implementing an LSI Frequency Counter. His design takes advantage of the Intel 8253 programmable interval timer (as well as the power of the microprocessor) to produce a design that is both accurate and economical.

How do you make an 8 bit machine emulate a more comprehensive design? In his article, SWEET16: The 6502 Dream Machine, Stephen Wozniak details the design and functions of a low level interpreter for 16 bit operations which extend the functions of the more limited 8 bit 6502 processor.

Continuing the theme of real time and how to keep track of it, G A R Trollope provides an example of the interrupt driven approach, implemented through the IRQ interrupt line of a 6800 processor with a PI A port. Do You Need Real Time? If so, turn to this article.

The game of NIM is well-known in the annals of computer lore, but many people have had no contact with it. Irwin Doliner presents us with a version of the game and supplies us with the design theory behind it in his article, NIMBLE: The Ultimate NIM?

BYTE November 1977

\fertefiin

You want to record your message verbatim—word for word—whether it's bits, bytes or "Dear Folks" translated into word processor language.

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

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

W^1.1.(JJLC^ Now, Verbatim media. It's a new formulation of ferric

oxides, an advanced macromolecular binder system to adhere it to the tough polyester film, and a process control system that demands over 200 separate quality checks before the material is cut, packaged, and certified to be 100% error-free.

message is quality.

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

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

Mdiskettes

^ vferbatim

Circle 68 on inquiry card.

Information Terminals Corp

Sunnyvale, California

5i

Edifopisl

The

Compleat Robotics Experimenter

By Carl Heimers On August 16 1977 I received one of

those refreshing and intoxicating articles (or rather group of articles) which makes the combined intellectual and emotional joys of creating a magazine once a month rise to new heights. This group of articles is a basic background tutorial on biological inputs to the field of robotics and artificial intelligence, written for the personal computing experimenter by Ernest W Kent, a professor in the department of psychology of the University of Illinois at Chicago Circle. It is one of those articles, like Ralph Hollis' article on NEWT in the June 1977 BYTE, which gets instant high priority due to the subject matter and style of presentation. (Readers should sec the beginning of the series in early 1978.)

I call the twin subjects of robotics and artificial intelligence "hot" ideas for BYTE based on reader interest as expressed in the BOMB poll's responses to Ralph Hollis' article on NEWT and Mike Wimble's articles (among others) on various artificial intelligence concepts. Inspired by receipt of Dr Kent's articles, the theme of this editorial is the concept of smart machines and related robotic mechanisms as a fertile field for experimentation with design and implementation. What are the categories and classes of experimentation which are relevant to artificial intelligence and robot design? Why are we (experimenters all) so fascinated by the simulation of life? What are the topics of study needed to become "the complete robotics experimenter?" What will we see over the course of the next decade or so, as personal computers become the refined personal software development systems needed to support private robotics research?

It often helps to draw inspiration from fiction, an element of our culture which has been present from its beginnings in the allegorical tales of primitive religions to the sophisticated and future oriented technological fiction tales of contemporary film, television and printed media. Fictional

representations of plots, scenarios and tales are a sort of logical game practiced by creators, logical games with very real emotional and value orientations which stimulate thought about real problems while providing an interesting and enjoyable diversion for users of the art. Technological fiction, of which science fiction is a proper subset, is the appropriate contemporary place to turn for inspiration regarding the very comtemporary possibility of ingenious and useful automatons guided by artificial intelligence.

A particular science fiction tale which has been one of my greatest emotional inputs regarding the positive values of technology in human culture is a tale entitled Door Into Summer, by Robert Heinlein. First published in the 1950s, this now outdated tale of the near future (1970 is the year when the action commences with flashbacks to the fictional 1960s) is perhaps the one science fiction story which maps most closely to the current technological milieu of the smart machines made possible by microprocessor technology. Anyone who is seriously interested in practical use of robotic technology and smart machines should read this book as a source of background information and ideas about what is or might be possible. (The actual plot is a well constructed romantic tale in spite of its use of that logical trap which is the time travel deus ex machina.)

The inspiration to be drawn from the story of Door Into Summer is that of an exciting time when technology has advanced to the threshold of intelligent robotic mechanisms mass-produced for use in mundane tasks. It is the era of Drafting Dan (automated intelligent drafting machine). Hired Girl (automated housekeeping robot), and numerous similar specialized devices. Some of these fictional concepts have already been implemented in practice, especially in the area of automated aids to the production of capital goods. The idea of Drafting Dan, the intelligent drafting device, is actually in use on a small scale today but with a far higher degree of refinement and intelligence: I refer to the various computer aided design techniques utilizing graphic displays and computational support in fields as diverse as airplane design, computer design, and architecture. Others among the concepts in Robert Heinlein's story have yet to be implemented with any degree of perfection or widespread use.

The parallels between Door Into Summer and the current era are many. In the fictional account, technology has developed

Continued on page 138

BYTE November 1977

The complete $655 line printer.

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

format, a remarkable MTBF and is

14 times faster than a teletype!

Breaking the hardcopy barrier

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

When we say complete we mean it

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

Our only option

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

Built-in LSI microprocessor

The heart

of the EX-8001

is a printed

circuit card, , ^i i ■ m I I 1

containing a < ' ^ < ' i i i i i i

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

mm5\

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

the paper is inexpensive and readily available, costing about 10 for an 8y2 x 11" equivalent.

Light, small, quiet, reliable, and versatile

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

The advantages of electrosensitive printing

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

AXIOM CORPORATION

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

Just unbox and plug it in

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

r

I

I

I

I

I

I

I

I

I

I

L

BYTE November 1977

Send to:

5932 San Fernando Rd.,

Glendale, CA 91202

□ Urgent. Please phone me at ext

□ Have rep contact me

□ I'd like to have a demonstration

□ Send lit including sample of printout

Name

Company . Dept

Address

City

Zip Telephone _

-State .

Chedc out TI^ new 4K static R AMs

ThQT've got

everything

you ever liked

about the 2102.

And more.

SIMPLE TO USE

NO CLOCKS. NO TIMING STROBES.

jana

2102 IK Static RAM

V

V

Like the popular 2102, Tl's new 4K static RAMs are easy to use. IVIinimize system overhead; no refresh; simple addressing. It's easy!

No clocking needed for Tl's fully static 4K RAMs. No edges. Just present an address to the selected device and data can be read at access time. That's it.

8 BYTE November 1977

Circle 152 on inquiry card.

FULLY STATIC. ACCESS TIME = CYCLE TIME.

DATA VALIDNO TIME LIMIT.

21021K Static RAM

Tl's New 4K Ms

V

■~:zzz:zj rj E □

Wm

:P=.

rzDGDa

NO TIME ■* LIMIT

V

Fully static RAMs are totally asynchronous. Require no precharge or recovery time. Access and cycle times are always the same.

Fully static RAMs offer output data that are valid as long as the address is valid. Makes designing straightforward. No limit on output valid time. No extra circuitry.

SINGLE +5 V SUPPLY. FULLY TTL COMPATIBLE.

V

Just one +5 V supply needed. Full TTL compatibility on all inputs and outputs with full 400 mV guaranteed dc noise immunity.

±10% TOLERANCE SUPPLY.

Improved power supply tolerance means less stringent regulation. Less cost.

HIGH SPEED.

700 600 500 400 300 ACCESS/CYCLE TIME (ns)

Max Access

4Kx 1

1Kx4

150 ns 200 ns 250 ns 300 ns «Ons

TMS 4044-20 TMS 4044-25 TMS 4044-30 TMS 4044-45

TMS 4045-15 TMS 4045-20 TMS 4045-25 TMS 4045-30 TMS 4045-45

Tl's new 4K static RAMs take up where the 2102 left off. Offering a wide choice of speeds from 150 ns to 450 ns maximum access/minimum cycle. Plenty of performance to match today's and tomorrow's CPUs.

LOW POWER.

Parameter

Four Low Power IK

One TMK Static

Sialic RAMs (2102AL-2)

RAM ITMS 4044-25)

Max. Access

250 ns

250 ns

Mm. Cycle

Operaling

1368mW

500 mW

Power (Max.)

Package(sl

4x 16 pin

1 X 18 pm

Board Area

3.7

1 0

Ratio

Compare the power savings of the new 4K statics to the low power 21L02. For equivalent speed, the new TMS 4044 uses 63% less power.

For super low standby-power/batterybackup operation, use the pin-compatible 20-pin TMS 4046/47 Series. Data is retained down to 10 mW.

HIGH DENSITY 18-PIN PACKAGE.

The new 4K statics come in industrystandard, 18-pin packages, plastic or ceramic. A density improvement of almost four-to-one over 2102s.

FOR DATA SHEETS, application reports, price and delivery, call your nearest authorized Tl distributor or Tl field sales office.

Texas Instruments

I 1977 T,;w5 Inslruircnls IncotooraieO

I NCOR POR ATED

Circle 152 on inquiry card.

BYTE November 1977 9

Qi9pcis*8 Qipcuil Qellsp

Memory Mapped lO

Steve Ciarcia

Box 582

Glastonbury CT 06033

I don't want to get into a fight over wfnich microprocessor cliip is better. They all have their favorable and unfavorable features. But, if you look a little closer, you may find that some of these extra features can be added with very little expense.

I was speaking with a fellow computer nut recently, and he was arguing about the merits of the 6800 versus the 8080. I really didn't care to continue the conversation nor to justify why 1 had an 8080 and Z-80. But, when he said that one reason was that the 6800 had memory mapped 10 and the 8080 didn't, I knew he didn't know what it was.

This of course made me curious, and I approached a number of 8080 users to ask if they knew what memory mapped 10 was. They assured me that they did, and that it was in fact one of the main features of the 6800. But such a feature is hardly exclusive to the 6800!

First of all, memory mapped 10 means simply that a portion of memory address space has been reserved for interfacing with external devices. A byte of data is stored into a memory location, as always, but this storage unit, rather than being made up of 1024 bit programmable memory chips, is an

Power Wiring Table

OUTPUT DATA BUS (FROM CPU)

Number

Type

+5VDC

Gnd

Pin

Pin

IC1

7420

14

7

IC2

74154

24

12

IC3

7407

14

7

IC4

7407

14

7

IC5

74100

24

7

IC3 7407

(._m-m-^=,-(^-m-m

+ 5VDC

V

V

V.

V

inY

V

V

02 D3

05 06 07 08

I C5 74100

02 03 04 05 06 07 08

10 ADDRESS BUS

(10 CARD CONNECTOR-22 PIN)

104 7407

V

-0>D5' i

~l ^P'''! BUFFERED

I /OUTPUT

-[;i>D3' BUS

I

-£:>02'

o-o-O'O-o-o-o-o

8 BIT LATCHED PARALLEL OUTPUT

Figure 1: A schematic diagram for a direct addressed output port decoding circuit. Tlie port assignments as diagrammed are from octal codes 360 to 377. Tfie bus pin assignments are for tfie Digital Group bus system, but the Altair (S-IOO) bus is logically equivalent.

10 BYTE Novcmher 1977

Intel delivers SDK-85. It's the quickest way to sink your teeth into 8085 design.

Intel wants you to prove to yourself why the 8085 has become the new industry standard microcomputer To make it easy for you to do that, our System Design Kit for the 8085 is available now for only $250.

SDK-85 is the best way we know for you to evaluate MCS-85™ and develop prototypes of 8085-based designs, because it gives you a hands-on look at this important new microcomputer's capabilities.

And to simplify your evaluation, we've designed SDK-85 as a stand-alone kit. It comes complete with an integral keyboard for system control and data/program entry, and LED display output. To simplify programming, debugging and operation we've incorporated an onboard, ROM-resident software monitor.

The 8085 family of components provides you with unprecedented design flexibility. The basic three-chip, high level integration MCS-85 system is included in SDK-85. It includes the 8085 CPU, 8155 256-byte RAM with I/O and timer and 8355 2K-byte ROM with I/O. And there's an on-board single-chip keyboard/display interface, the 8279. Sockets are provided for easy RAM and ROM/EPROM expansion. And there's ample free space layed out for easy wire wrap expansion using Intel's

complete family of programmable peripheral controllers and your own prototype logic and special circuitry.

SDK-85 makes an excellent teaching aid for both microprocessor design and programming courses, for microcomputer design seminars and as a project for the progressive hobbyist. Because the 8085 is the most advanced microcomputer, SDK-85 is the key to state-of-the-art knowledge. SDK-85 can be assembled in just a few hours with a soldering iron and a few basic tools. Hook it up to your 5V power supply and it's operational the same day you receive it. You can get your SDK-85 from any of Intel's distributors for $250 in single unit "^ quantities.

To order SDK-85 or any of the MCS-85 components, contact: Almac/Stroum, Components Specialties, Cramer, Hamilton/Avenet, Harvey Electronics, Industrial Components, Pioneer, Sheridan, L.A. Varah, Wyle Liberty/Elmar or Zentronics. Or, for more information, use the reader service card or write: Intel Corporation, 3065 Bowers Avenue, Santa Clara, CA 95051. Telephone: (408) 246-7501.

Intel delivers.

Circle 71 on inquiry card.

BYTE November 1977

11

Photo 1: A realization of the hardware circuit shown in figure 1 with the addition of eight lights connected to the outputs of IC5. The connector attaches to bus lines for the author's other front end projects.

Photo 2: A prototype for the circuit shown In figure 2.

8 bit storage register such as a 74100. This type of procedure provides access to the data byte through the "back door," or output lines of the 74100. If you have followed me to this point, you can see that the concept of memory mapped 10 is applicable to any microprocessor that directly addresses memory! I don't know of too many processors which operate without this ability, so we'll just have to conclude that any microprocessor can be wired to provide memory mapped 10, including the 8080.

Look no further! It's a bird. . .it's a plane. . .no, it's Superchip! It looks like an 8080, acts like an 8080 and, while not trying to steal Motorola's thunder, has memory mapped 10! The name of this new chip? Well, it's the plain old 8080 with an Intelligent user.

Why should I consider memory mapped 10?

The 8080 directly addresses 64 K bytes of memory and 512 10 ports (256 in and 256 out). The only way data can arrive at an output port is by being passed through the accumulator and routed to a particular port by a 2 byte output instruction. Similarly, a 2 byte instruction directs input data to the accumulator. Additional programming is necessary to store this input byte in memory.

12 BYTE November 1977

Now! Giveyourself a working knowledge of microprocessing for job or

All-new self-study program from Bell & Howell Schools provides engineers, technicians and advanced hobbyists with applicable knowledge of basic programming concepts and trouble-shooting techniques for use in microprocessing systems.

Now, without getting boxed-in to classroom schedules, you can learn the basics of microprocessing and programming and apply them to actual problem-solving applications in your job or your hobby. In addition, if you happen to have a strong electronics background, you'll be able to apply your specialized knowledge to trouble-shooting techniques and hardware configurations of microprocessors and systems. It's all made possible with Bell & Howell Schools' all-new, self-study program designed specifically for professionals (engineers, technicians, programmers) and advanced hobbyists.

Once you complete this program, you will be able to:

1. Write simple programs in both assembly and machine language, given the programming manual and instruction set for a particular microprocessor unit.

2. Describe the basic operation of the microprocessor, including the means of internal data transfer, instruction decoding, memory access and I/O.

3. Convert numbers between the decimal, binary, octal and hexadecimal systems.

4. Follow the execution of a simple program, including arithmetic and logic statements.

5. Identify and describe the circuits necessary to interface a microprocessor system with the outside world.

6. Deschbe the data transfer between the microprocessor, memory and peripheral equipment.

7. Understand the techniques of troubleshooting micro-computer-based systems.

8. Observe the proper servicing procedures for MOS circuits.

9. Understand the basic operation of a microprocessor in both a computing and control application.

10. Understand the techniques of connecting the proper test equipment to a microprocessor system, observing wave forms and other data to diagnose a system fault.

11. Explain the operation of bidirectional data bus systems.

12. Describe the operation and use of semiconductory memory systems, i.e. EROM, ROM, RAM.

The emphasis Is on the practical. This introductory program concentrates on the practical operations of microprocessing, providing you with ready knowledge you can apply to products you are now marketing and, particularly, to those you have on stream. Every word, every segment, every graph is presented in a way to communicate practical, usable facts ... and in the most effective way possible.

That's why each segment is followed by selfgrading questions. This way, you're able to reinforce the major points you've learned and apply them more effectively to the subject matter in the next segment.

You work at your own pace.

There are no classes or seminars to attend. No pressures or deadlines. You progress as fast or as slow as you like. Once you complete the program, you will have a valuable reference tool you may return to for reviewing and refreshing your memory.

And because the program is designed by Bell & Howell Schools, you know you'll have the most up-to-date information offered anywhere.

Try it for 10 days at no risk. We are so confident that this extraordinary program will meet your standards and expectations in every way that we invite you to accept this program at no risk whatever. Simply do this. Order your Microprocessing Program today for $89.50. Examine the materials closely and complete as many segments as you like. If, within ten days, you do not agree that this program can help you learn the basics of microprocessing in the fastest, most practical way, just return the materials and your money will be refunded promptly.

So, right now, return the coupon below. Remember: there's no risk. No obligation whatever. You must be completely convinced that this Microprocessing Program can do the job for you—or your money back.

[§1 Bell bHdiuell Schools

2201 West Howard Street Evanston, Illinois 60202

Send to: Bell & Howell Schools, 2201 W. Howard, Evanston, Illinois 60202

D Enclosed is my check or money order for

$89.50. Please send postpaid the Bell & Howell

Schools Microprocessing Program. If not com

pletely satisfied, all materials will be returned Name

within 10 days for prompt refund. □ Charge to credit card below: BankAmericard #

Address

fulaster Charge #

For Master Charge card, include 4-digit number above name

City

Expiration date _ Signature

state

Zip

Circle 10 on inquiry card.

BYTE November 1977

13

Obviously, if the data path went to a memory location instead of an output port, a broader range of instructions would be available. The 8080 (like most computers) has some very powerful instructions when it comes to memory operations. For the 8080 these include MOV, MVI, STAX and STA instructions which, by definition, are added to the output data manipulation repertoire with memory mapped 10.

Often the best way to approach a new subject is to analyze the present method. Figure 1 illustrates the basic design of an

Power Wiring Table

MEMORY ADDRESS BUS (MEMORY BOARD CONNECTOR) I

Number

Type

+5VDC

Gnd

Pin

Pin

IC1

7420

14

7

IC2

74154

24

12

IC3

7407

14

7

IC4

7407

14

7

IC5

74100

24

7

IC6

7402

14

7

IC7

7420

14

7

8080 output "port." To emphasize simplicity I've used 74100 latches for this example rather than the more complex ports such as the Motorola 6820 peripheral interface adapter. This configuration provides 16 output strobes, starting with the octal output port address 360 and ending with octal 377. Integrated circuits 1 and 2 decode the address bus and, when provided with an output strobe during an output instruction, load the present contents of the data bus into an 8 bit storage register (IC5). ICs 3 and 4 provide buffering and allow more 74100s to be attached to the buffered ouput bus lines for multiple ports. The pin designations are for the Digital Group bus system, but the Altair (S-100) bus is logically equivalent.

Converting an output system to memory mapped 10 (illustrated in figure 2) requires the addition of two more integrated circuits, ICs 6 and 7, to decode the additional eight lines associated with memory addressing. With the decoding arrangement illustrated in figure 2, the 16 output (memory) loca

MEMORY DATA BUS (FROM CPU) MSB I

— c|-|

M.m_n-u.nj_M_^.

C4 7407

g-g-g-g-g-Q-Q-Q^

8 BIT LATCHED PARALLEL OUTPUT

Figure 2: A schematic diagram for a memory addressed output port decoding circuit. Tfie port assignments in tiiis case are from split field octal memory addresses 377/360 to 377/377. Here again, ttie bus pin assignments are for the Digital Group bus.

14

BYTE November 1977

When you put it together, it's really together.

Some people build personal computers for the love of building. The Equinox System^" is for people who build for the love of computing.

You put it together. And it's really together.

The Equinox 100™ mainframe combines the 8080A CPU with a front panel programming station featuring ultra-convenient octal keyboard and digital LED readout. ^Ef4>

There are low-cost 4K and 8K memories. All your interfacing comes in one kit. Even EQU/ATE™and BASIC-EQ™ languages on easy-loading cassettes.

It's all together now. It's all S-100 compatible. And it's upward-compatible with new Equinox™equipment, software and systems coming in the months ahead.

See the Equinox System™ at your local computer shop. Call toll-free to 800-648-5311 (BAC/MC accepted). Or write Equinox Division, Parasitic Engineering, P.Q. Box 6314, Albany, California 94708. THE EQUINOX SYSTEM'" All together now. ,

Example 1: Output the contents of the B register to port r.

8080 Direct lO

iviov a, A

OUTr

Move the contents of the B register to the accumulator Output the accumulator to port #r Total bytes 3

Total states 15

Memory Mapped ID

LXI HL MOV M,

Set memory pointer HL

Move B register to memory location HL

Total bytes 4

Total states 17

For simple data manipulations like this, the direct lO technique, which is familiar to all 8080 users, occupies less memory space.

Example 2: With two 8 bit digital to analog convertors attached to output registers, generate two sawtooth waveforms 180"out of phase.

• 8080 Direct lO

CONTINUE

LXI BC INC B MOV B, OUT 1 INCC MOV C, OUT 2

Load initial values into B and C (000, 200 octal)

Increment the B value

Move the contents of the B register to the accumulator

Output the accumulator to port 1 (1st sawtooth)

Increment the C value

Move the contents of the C register to the accumulator

Output the accumulator to port 2 (2nd sawtooth)

CONTINUE

JMP CONTINUE

Total bytes 14

Total states 60 (one pass)

Memory Mapped lO

LXI HL ; Load initial values into H and L (000, 200 octal)

INC H ; Increment the H value

INC L ; Increment the Lvalue

SHLD ADDR; Store H and L in two consecutive memory locations wired

as output registers. JMP CONTINUE

Total bytes 11

Total states 46 (one pass)

tions will be from split octai addresses 377/ 360 to 377/377.

Now let's compare a couple of simple programs written using each method (see examples 1 and 2). It can be easily seen that the extra instuctions which operate on memory can greatly improve the output speed of the 8080. This extra speed, though not necessary when driving a 110 bps Teletype, can be a saving grace in a computer music or graphics application. In fact, many video display drivers utilize this technique.

Summary

There are certain advantages to converting 8080 peripherals to mapped versus direct 10. Among the major points to consider are the following:

• More 10 ports are available. The full 64 K bytes of addressable memory space can be set up for lO. It is not inconceivable that a video graphics display will use 8 K bytes of memory. This, of course, means

that the 8 K bytes are decoded to provide 8192 10 port assignments.

• Once the H and L registers have been loaded and provide a memory pointer, memory output is by 1 byte instructions (such as MOV and STAX).

• By not always having to pass through the accumulator, outputs are faster.

• 16 bit 10 capability through the use of the LHLD and SHLD instructions.

Now, should you consider changing your 8080 system to memory 10? Frankly, if you are the type of person who will never write an assembly language program and is content to stick with high level languages such as extended BASIC, don't even consider it. If the software packages supplied by the computer manufacturers have worked consistently for you to this point, don't tempt fate. The majority of the systems sold, including Altair, IMSAl, DCS and so on, use 8080 10 instructions to all their peripherals. But many video systems bought as plug-in boards for the Altair (S-100) bus have memory mapped 10 designs.

Delving into memory mapped 10 should be reserved for people willing to use assembly language and prepared to modify standard software if required. In future editions I intend to investigate computer music applications where fast memory mapped 8080 (Z-80) 10 will become a necessity. But, for the meantime, you should at least know what it is."

Author's Note

/ hope you've enjoyed the first installment of Ciarcia's Circuit Cellar. I'd lil^e to have your comments and criticisms as well as any Ideas you may have for future editions of this feature. I'm always Interested in hearing from readers who have such brainstorms. Send all correspondence to Steve Ciarcia, POB 582, Glastonbury CT 06033, and please enclose a stamped, selfaddressed envelope.

1

16

BYTE Novemljcr 1977

Pi

^5i

s

J

RDBLEin aQLUER UVSTEIVIS, IMC.

Manufacturers of QuanTronics Computer Products Space Age Memory...

... at Down to Earth Prices

MM8 Static RAM

• Available in 250nS and 450nS versions

• S-100 Bus Computer Systems

• Memory capacity of 8K-bytes x 8 bits maximum

• Addressing selectable by DIP Switch

• Wait cycles selectable by DIP Switch

• Memory protect from Va K to 8K by DIP Switchi

• Data output, address input lines fully buffered

• Provision for SOL "Phantom" line

MM16 EPROM

utilizing up to 16 2708 EPROMS

S-100 Bus Computer Systems

Memory capacity of 8K or 16K bytes by DIP Switch

8K boundary addressing by DIP Switch

0 to 4 wait cycles by DIP Switch

Data output, address input lines fully buffered

Hi-grade glass-epoxy with plated-thru holes

Epoxy solder masked

Find Out For Yourself — See Your Local Dealer Today!

Manufacturers of QuanTronics Computer Products

Qa4a DEEHJDIG fllJE„ SLIJTE ID Cfll>iaGfl PflHl^, Cfl.

'ai3a4

Circle 119 on inquiry card.

BYTE November 1977 17

Simulation of Motion:

Stephen P Smith

POB 841

Parksley VA 23421

Part 1: An Improved Lunar Lander Algorithm

About the Author

Stephen P Smith's pet project as an amateur Is a PASCAL compiler for a personal computer. Professionally, he leads the Computer Sciences Corporation support team attached to the range safety office at NASA Wallops Flight Center, where he and his team of analysts develop analytical methods and construct digital simulations of flight paths, flow fields and structural responses of rockets and aircraft The BASIC programs which are part of this article and the remaining parts to come in several Installments were developed and run on a Tektronix 4051, which uses a 6800 microprocessor and includes a BASIC Interpreter.

One of the most delightful applications for personal computers is games, not just playing them, but creating them. If you are like most enthusiasts, you will have begun with random number games like blackjack, but sooner or later you will want to work with games involving moving objects. To describe that motion using a microcomputer you will need to use a form of simulation. The simulation could involve detailed mathematical models solved with elegant numerical techniques.

More likely, the novice will begin by following the pattern of the simple lunar lander games which have appeared often in BYTE (see "Kim Goes to the Moon," by Butterfield in April 1977 BYTE, or "Controlling Small DC Motors with Analog Signals" by Dwyer, Critchfield and Swear in September 1977 BYTE). The truly advanced simulations are best left to professionals with mainframe computer power, but the home user can progress well beyond the simple lunar lander game. By picking up the basic physics and simple numerical

methods presented in this article and the following ones, you will learn to simulate a wide variety of motion. Whether you use these simulations to create games, like the real time LEM simulator presented here, or to develop new applications for your personal computer system, you will acquire some valuable additions to your applications software toolbox.

For any application involving motion, your simulation will be required to predict the speed and position of an object at some time in the future. The predictions can be made using a microcomputer if you first limit the type of motions considered at any point in the program. In the lunar lander game, for example, the excursion module (LEM) is only allowed to move up and down. The simulation is said to have one degree of freedom. Other degrees are possible, but the separation into different degrees of freedom is an important first step.

Let's see how a one degree of freedom simulation is performed. Thanks to Sir Isaac Newton and his apple (that was a fruit, not a computer), we know that an object will continue to move in any degree of freedom without changing speed until a force acts on it. To predict how the LEM will move, we need only to examine the forces which might be present and determine how they effect the up and down motion.

Because the moon has no atmosphere to involve us in aerodynamics, only two forces need be considered, gravity and thrust. Gravity makes the LEM fall faster. Thrust

18

BYTE November 1977

¥AND ilNTO

ARD

MB3 2K/4K EPROM Board Kit less EPROM $ 64.95

Kitwllhe 1702AM iia) 104.95 Kit with 16-1702A(1 ;is) 144.95

SB1 Music Synthesizer Board Kit With paper tape o( MUS-X1

And, we build just

about any board you'll

want for S-100 bus expansion.

When you're thinking about expansion look to the Solid State Music "blue boardsr You'll find quality and user versatility built into every one allowing you to expand your system in whatever direction you choose . . . and, we've been doing it for years.

Right from the start we design our boards with our customers in mind. Extra features are added that will aid in expansion, not hinder progrann design and development. All first class parts are used and they're checked to make sure you have years of trouble free operation. Plus, every kit comes complete with assembly instructions and user information to make assembly a snap and operation a pleasure.

Talk to your dealer today to get more facts about the "blue boards"

or write direct. Compare prices, quality and features. You'll find out

why more and more people are using Solid State Music "blue boards"

for their S-100 bus expansion.

Id 2-ParBliel and 2-Serial Input/Output Board

assembled boards also available il sligmly higher puces

SPECIAL BONUS OFFER An 8080 Monitor for

1/2 price!!!

If you buy any of the Solid State Music kits or assembled boards you'll receive a SSM8080 Monitor complete with either eight 1702's or two 2708's and over 50 pages of software information. A $49.95 retail value . .. just $25.00. Hurry!

Circle 133 on inquiry card.

CLjbBTCDrn

Solid State Music 2102A Walsh Avenue Santa Clara, CA 95050 (408) 246-2707

We're the blue boards

Generic Unit

Metric

Length Velocity

1 meter

1 meter per second

Acceleration Mass

1 meter per second per second 1 l<ilogram

Force

1 newton

3.2808 feet

3.2808 feet per second

2.2369 miles per hour

3.2808 feet per scond per second

2.2046 pounds (mass)

0.0685 slugs (mass)

0.2248 pounds (force)

Table 1: This article was written using the metric system of units. As the front runners in an exciting new technical hobby, we should be more ready than most to accept the coming metric conversion in this country, but if you haven't been converted yet, the above table will be useful.

makes it fall more slowly. The exact effect of each can be calculated with only a few operations.

Gravity is the simpler of the two. It has exactly the same effect on every object. During each second of a lunar landing near the moon's surface, the moon's gravity will make a LEM fall 1.62 meters per second faster. (Those of you who wish to land on more exotic heavenly bodies are referred to table 2.) In most simulations, speed and position are considered positive if they are directed upward, in this case away from the lunar surface. To simulate 1 second of fall through lunar gravity we must subtract 1.62 meters per second from the present speed. If the LEM is moving at -100 meters per second now (100 m/sec downward), 1 second later it will be moving at -101.62 meters per second.

In many games, the effect of thrust is also simulated by a constant change in speed. Often it is given in multiples of gravity called "g"s. One "g" of thrust adds 1.62 meters per second to the speed, just as gravity subtracts that amount. Two "g"s add twice that, and so on. This assumption reduces the complexity of the

Surface

Surface

Heavenly

Gravity

Heavenly

Gravity

Body

(m/sec2)

Body

(m/sec2)

Moon

1.62

Asteroids

Earth

9.80

Ceres

0.85

Mercury

3.95

Pallas

0.54

Venus

8.72

Juno

0.21

Mars

3.84

Vesta

0.43

Jupiter

23.16

Jupiter's moons

Saturn

8.77

Ganymede

3.43

Uranus

9.46

lo

2.26

Neptune

13.66

Europa

1.98

Pluto

4.89

Callisto

3.20

Note that the gravitational accelerations shown in this table are surface accelerations, valid during the final stages of a landing when a spacecraft is relatively near the heavenly body. A more complicated simulation is required if movement far away from the heavenly body is contemplated.

Table 2: Players who grow adept at lunar landings may wish to try landing on some other heavenly bodies. The above table of accelerations due to gravity is provided for them.

simulation, but it fails to demonstrate the way in which forces actually cause changes in speed.

Unlike gravity, forces such as thrust do not have the same effect on every object. They have a larger effect on light objects than they have on heavier ones. It is important to consider this fact in accurate simulations, because weights can change. The LEM becomes lighter as it burns fuel to create thrust. A given value of thrust will have a larger effect toward the end of the flight than it will at the beginning.

Weight is not really the correct term to use when calculating that effect. We should talk instead of mass. The difference is subtle, but important. Mass is a basic property of matter. Weight is the result of gravity pulling on the mass. A man on the moon weighs only 1/5 as much as he does on earth, but his mass is the same. This is true because the moon's gravity pulls only 1/5 as strongly on his mass. The effect of a force is determined by the mass of an object, not by its weight. A given thrust will have the same effect on a LEM whether the LEM is landing on the moon, on earth, or is floating "weightless" in space.

In the metric system, the unit of mass is the kilogram. The unit of force is the newton. These units are very convenient for calculating the effect of a force on the motion of an object. The force (in newtons) divided by the mass (in kilograms) is exactly equal to the rate of change in speed ("acceleration" in meters per second per second). No additional constants are needed as they are when units of feet and pounds are used. For example, let our LEM have a mass of 1000 kg and let its engine produce a thrust of 10,000 newtons. To simulate 1 second of thrust, a program would add 10 meters per second to the speed (10000/ 1000) to account for 1 second's worth of acceleration.

Remember though that during the same second 1.62 meters per second must be subtracted to simulate the effect of gravitational acceleration. The actual change in speed will be 10.-1.62=8.38 meters per second. In two seconds, the change will be twice that or 16.76 meters per second. In half a second, the change will be one half as much and so on. While this may seem obvious, it illustrates an important point. The change that each force makes in the speed in 1 second may be determined separately. The separate effects are added up and then multiplied by the length of time we are simulating to find the actual value the simulation program will add to the speed.

Now that we can predict speed, let's apply the same technique to predict the

20

BYTE November 1977

LV/3:i

[cT«M •];! I AVliKmU :?'Til

The good news is that you can now add any S-100 bus compatible component to The VERSATILE CRT.

The bad news is you'll have to decide for yourself what components will combine to make the best system for you.

Just by looking you can see it's a rugged, professional unit with a 9" video monitor covered with smoked plexiglass, and a 53-key ASCII keyboard.

But there's more than meets the eye. What you can't see is the mainframe which is a 10-slot plexiglass card rack. Or its fully shielded motherboard with 10 spaces provided for sockets (2

sockets are already included for you). Or the heavy duty filtered power supply and 75 CFM cooling fan. Or the power switch and cord on the rear panel. Or the space available for a floppy disk system. Or the expansion capabilities on the back panel for the addition of sockets.

You'll receive The

VERSATILE CRT fully

assembled with a 90-day warranty, about 20 days after we get your order. Or you can buy one at your nearest dealer. Dealers can have super fast delivery from stock to 20 days. You'll also receive complete documentation and operating manual. Total price for The VERSATILE CRT is $699.95. Dealer inquiries are welcomed.

Compact and Expandable, The VERSATILE CRT lets you do it your own way.

COMPUTER DATA SYSTEMS

5460 Fairmont Drive •Wilmington DE 19808 (302) 738 - 0933

rrcle 27 on inquiry car

BYTE Novehilwr 1977

Photo 7: A scene from the "lunar lander" program which is the Digital Equipment Corportation's graphics equipment demonstration program. This simulation is a real time model of a lunar landing in which a light pen is used to input control information and displays track the landing. The object of the game is to land near (but not on) the only MacDonalds' hamburger stand on the moon. This simulation, like the one discussed in the article, has two degrees of freedom; superficially it differs from the program of this article largely in its incorporation of real time graphic display light pen control Inputs and a model of the lunar terrain.

position. We have shown that if the LEM is moving downward at 100 meters per second now, (speed=-100) then in 2 seconds the speed will be -100.+2.x(THRUST/MASS -1.62). Similarly, if the LEM is 10000 meters above the moon now, in 2 seconds it will be 10000.+2.x(speed) meters up. Just as we multiply the forces by time and add the product to the speed, we multiply the speed by time, and add the product to the position.

What we have just done is to predict the speed and position at a "step" of 2 seconds into the future. In the jargon of simulation, 2 seconds is the step size. The step size can take any value you choose. Returning to the 1000 kg LEM, let the step size be 0.1 seconds. For a present speed of-100 meters per second, the speed predicted for 0.1 seconds in the future is-100.+0.1x(10000./ 1000.-1.62)=-99.16 meters per second. If the position now is 10000 meters, then the position predicted for 0.1 seconds in the future is 10000.+0.1x(-99.16)=9990.08 meters above the moon.

Using these values of speed and position we can find new values for the forces and mass. We can then step the simulation into the future once again. The process can continue indefinitely, but usually one or more variables is tested for an end condition at each step. The test might be on position (Are you still above the moon?), on mass (Is there fuel remaining?), or on some other variable. Should any of the tests fail, the program will branch and end the simulation.

Adding a New Degree of Freedom

You now know the basic procedure for simulating motion in one degree of freedom. The LEM simulation has been in one degree because we have only predicted the up and down movements. These are called vertical motions. Suppose that we also predict the way the LEM moves horizontally, in other words, from side to side. The pilot must not

only reach the surface of the moon successfully, but also land close to his target. While the pilot's task has become more complicated, our simulation fortunately has not. Just as we are able to calculate the effects of each force separately, we are able to make calculations for speed and position separately in each degree of freedom.

To make those calculations for the second degree of freedom, first determine what forces are acting. Gravity, by definition, acts only up and down. It does not enter into the horizontal calculations. So far, thrust has also been limited to vertical action, but we can easily add a second thrust acting to the side. Positive horizontal thrust should cause the LEM to move left, while negative thrust moves it right.

Since there are no other forces to consider, the change in horizontal velocity (in meters per second) will be exactly equal to the horizontal thrust (in newtons) divided by the mass (in kilograms). This is, of course, the same equation used in the first or vertical degree of freedom. Similarly, the same equations used to calculate vertical speed and position will be used to calculate horizontal speed and position.

Return to the example used earlier, but also consider the horizontal motion. Let the LEM start 100 meters to the left of its target moving at 10 meters per second to the right. Generally motion to the left will be considered positive and to the right negative, so the horizontal speed is -10 meters per second. We found that during a step of 0.1 seconds the vertical speed changed from -100 to -99.16, and the position changed from 10000 to 9990.08. Quite apart from those calculations, we may set a horizontal thrust, say 5000 newtons, and find that during the same step the horizontal speed will become -10+0.1 x (5000/1000) or -9.5 meters per second. The horizontal position will become 100.-H0.1x(-9.5)=99.05 meters. After making these calculations, the simulation

Continued on page 216

22

BYTE November 1977

THE AJ 841 l/O-A COMPLETELY REFURBISHED IBM SELECTRIC TERMINAL WITH BUILT IN ASCII INTERFACE-JUST $995

Features:

■ ASCII code

■ 14.9 characters per second printout

■ Special introductory price —$995 (regularly $1195). 75% discount over original price of new unit.

■ Choice of RS 232 Serial Interface or Parallel Interface (requires 3P + S)

■ Order direct from factory '

■ 30 day warranty—parts and labor

■ Nationwide service locations

AJ 841 WARRANTY AND SERVICE IS AVAILABLE IN THE FOLLOWING CITIES:

High quality selectric printing

Reliable, heavy duty selectric mechanism

Off line use as typewriter

Los Angeles

Cincinnati

Philadelphia

Detroit

Hackensack

Dallas

Columbus

Houston

Cleveland

Atlanta

San Jose

Chicago

Boston

New York

Washington,

D.C.

ANOERSON JACOBSON

Anderson Jacobson, Inc., 521 Charcot Avenue San Jose, Cahfomia 95131, (408) 263-8520

HOW TO ORDER AN AJ 841 I/O TERMINAL

1. Make cashier's check or money order payable to: ANDERSON JACOBSON, INC.

Address your request to:

Personal Computer Terminal ANDERSONJACOBSON, INC. 521 Charcot Avenue San Jose, CA 95131

2. Upon written notification, pick up your terminal at the AJ service office located in one of the above cities. Allow six to eight weeks for delivery

3. Afinalcheckofyourunitwillbemadeatthe local AJ service office at time of pick up.

4. For warranty or repair service, return unit to designated service location.

CLIP AND MAIL WITH ORDER

SELECT EITHER:

n RS 232 Serial Interface

D Parallel Interface (requires 3P + S)

Number of units .

-@ $995.each!

Local Sales Tax

Shipping and handling $35.00 each (excluding San Jose)

TOTAL

NAME

ADDRESS CITY

-STATE.

.ZIP

PHONE (

Circle 3 on inquiry card.

BYTE November 1977

23

here!

the new HEATHKIT low-cost personal computing systems

The new VALUE-STANDARD in personal computing systems! Heathkit computers give you the power and performance to go wherever your imagination and programming prowess take you. They're designed to get you up and running fast, interface with I/O devices easily and quickly, accept additional memory and I/O devices, store and retrieve data with speed and accuracy, respond to your requests with lightning speed. They offer complete mass storage capabilities, power and reliability for any programming application, and they're priced low enough to give you real VALUE for your computer dollar! We've told you they're the ones you've been waiting for—here's why!

These Heathkit computer products are

"total system" designs with powerful system software already included in the purchase price. They're the ones you need to get up and running fast. And they're backed by superior documentation Including easy-to-follow step-by-step assembly and operations manuals, and service support from the Heath Company, the world's largest and most experienced manufacturer of electronic kits.

NEW H8 8-Bit Digital Computer. This 8blt computer based on the famous 8080A microprocessor features a Heathkit exclusive "intelligent" front panel with octal data entry and control, 9-diglt readout, a built-in bootstrap for one-button program loading, and a heavy-duty power supply with power enough for plenty of memory and Interface expansion capability. It's easier and faster to use than other personal computers and it's priced low enough for any budget.

NEW H11 16-bit Digital Computer. The

most sophisticated and versatile personal

computer available today — brought to you by Heath Company and Digital Equipment Corporation, the world leader in minicomputer systems. Powerful features include DEC's 16-blt LSI-11 CPU, 4096 x 16 read/write MOS memory expandable to 20K (32K potential), priority interrupt, DMA operation and more. PDP-11 systems software for fast and efficient operation is Included!

NEW H9 Video Terminal. A full ASCII terminal featuring a bright 12" CRT, long and short-form display, full 80-character lines, all standard serial interfacing, plus a fully wired and tested control board. Has autoscrolling, full-page or line-erase modes, a transmit page function and a plot mode for simple curves and graphs.

NEW H10 Paper Tape Reader/Punch.

Complete mass storage peripheral uses low-cost paper tape. Features solid-state reader with stepper motor drive, totally independent punch and reader and a copy mode for fast, easy tape duplication. Reads up to 50 characters per second, punches up to 10 characters per second.

Other Heathkit computer products include a cassette recorder/player and tape for mass storage, LA36 DEC Writer II keyboard printer terminal, serial and parallel interfaces, software, memory expansion and I/O cards, and a complete library of the latest computer books. The Heath User's Group (HUG) provides a newsletter, software library and lots more to help you get the greatest potential from your Heathkit computer products. We've got everything you need to make Heath your personal computing headquarters, send for your FREE catalog today!

24

BYTE November 1977

8-Bit Computer

$375 Kit

$530 Kit

IflEE!

HEATH KIT CATALOG

Read all about our exciting computer systems and nearly 400 other fun-to-build, money-saving electronic products in kit form.

Prices are mail-order FOB, Benton Harbor, Michigan. Prices and specifications subject to change without notice. Heath Company, Dept. 334-350 Benton Harbor, Mi 49022

Circle 63 on inquiry card.

BYTE November 1977

25

A Minicomputer Fair: Tiny and Personal

Donald T Piele

Assoc Professor of Mathematics University of Wisconsin—Parkside Kenosha Wl 53140

If you start planning in April for a computer fair in June, you are probably either a novice, mini-minded, crazy, or all of the above. But sometimes a bit of insanity is just what is needed to make one jump in and do something new. Uncertain of what would happen, we plowed ahead with our fair, and we're glad we did.

The "us" I am referring to is the Center for the Application of Computers, a small group of faculty members at the University of Wisconsin-Parkside who share a common interest in computers and their many uses. We decided, rather late in the year, that an

Photo 1: Students from the Kenosha area enjoy a computer display at the 1977 University of Wisconsin-Parkside Computer Fair.

excellent way to proselytize our colleagues and generate interest among students and the general public would be to sponsor a computer fair. Our broad objective was to provide a forum for the rapidly developing field of personal computing with all its associated implications and applications.

Exhibits

A viable computer fair needs hardware exhibits. Unfortunately, Kenosha Wl is not located in Silicon Gulch, and manufacturers cannot afford the time and money to attend every computer fair that springs up around the country. However, local computer stores, or those within a day's drive, are very interested in the exposure that such a fair brings. Despite the fact that Saturday is the busiest day of the week for them, we were able to line up six different computer stores for the fair, one as far away as Madison

26

BYTE November 1977

The Computer for the Professional

Whether you are a manager, scientist, educator, lawyer,

accountant or medical professional, the System 8813 will

make you more productive in your profession. It can keep

track of your receivables, project future sales, evaluate

investment opportunities, or collect data in the laboratory.

Use the System 8813 to develop reports, analyze and store

lists and schedules, or to teach others about computers.

It is easily used by novices and experts alike.

Reliable hardware and sophisticated software make this system a useful tool. Several software packages are included with the machine: an advanced disk operating system supporting a powerful BASIC language interpreter, easy to use text editor, assembler and other system utilities. Prices for complete systems start at $3250.

See it at your local computer store or contact us at 460 Ward Dr., Santa Barbara, CA 93111, (805) 967-0468.

PolyMorphic Systems

BYTE November 1977

27

Photo 2: Third graders Esther Marianyi (left) and Lisa Hanson from Southport and Roosevelt schools in Kenosha Wl deep in thought as they program one of the computers at the Wisconsin Computer Fair.

(120 miles). Many manufacturers who were contacted but could not come helped out by encouraging the stores in our area to attend and display their products.

Other sources of hardware were hobbyists and computer clubs within driving range. Two Chicago area clubs and the Wisconsin Computer Society (an amateur computer club) were invited, and they responded with a number of excellent displays. Two $25 cash prizes were donated by BYTE magazine for the best "homecooking."

The support we received from the computer stores, clubs and a few local manufacturers made the hardware component of our fair very successful.

Manufacturers who could not come usually sent the all-important free brochures that everyone enjoys collecting at a fair whether they ever read them or not. A few generous manufacturers such as Vector, OK Tool and Hexadaisy included samples of their products which we could use as valuable door prizes.

Speakers

Another important component of every fair is the speakers. Throughout the day, a number of "small talks" (one half hour in length) were given by members of the Center

for the Application of Computers, faculty members from other schools, hobbyists and students. Topics ranged from an introduction to personal computing, cryptography, microcomputers in the laboratory, and computer graphics, to optical character recognition and speech conversion. The featured speaker for the day was Ted Nelson, the writer, showman and computer guru who came armed with his talk, "The End of the Dinosaurs."

Programming Contest

The final component of our fair (and the one that made it very special) was the First Annual Interactive Computer Problem Solving Contest. The glitter of computer hardware with all its razzlers and dazzlers soon fades without an understanding of how one controls them through programming. Despite the fact that kids will sit for hours at a terminal playing a canned computer game, nothing can compare with the excitement that radiates from their faces when they successfully write their own programs to solve a problem.

The programming contest was divided into four categories: 1st thru 6th grade, 7th thru 10th grade, 11th thru 12th grade, and college. The contestants entered as teams of up to three members each and were assigned one terminal per team. Five problems of varying difficulty were handed out with a 2 hour time limit for solution. The 11th thru 12th category proved to be the most popular, and one 2 hour session with 19 teams was devoted exclusively to this category. After two hours each team turned in their solutions which consisted of a listing of the program and a sample run. The programs were quickly graded using the criterion of accuracy first and cleverness second.

The winners in the 11th thru 12th class were three seniors from Eau Claire Wl (Tim Sirianni, Ellery Chan and Jeff Teeters) who traveled 300 miles that day to enter the contest. They did an outstanding job writing successful programs for all five problems within the 2 hour time limit—an exceptional performance surpassing even the college division that took the same exam. Prizes for first, second and third were awarded in all divisions, including trophies, books and complimentary subscriptions to publications.

Finally, the kids in the 1st thru 6th grade category deserve special attention. Earlier in the year, the special education class of K thru 4th graders from Kenosha Unified

28

BYTE November 1977

Circle 73 on inquiry card.

Turn 3>otu* small ^^^stems interest

intoabig career

o|)portunity!

INTERDATA, a world leader in the computer industry, is looking for ambitious state of f/ie art personnel to join us in shaping tomorrow's computer technology.

How do you qualify?

Your strong interest in small computer systems proves that you are ambitious, and your work is in state of the art technology.

What do we have to offer?

We're offering you the opportunity to join our growing company, worl<ing with top professionals in the industry, in an environment where you'll be recognized and handsomely rewarded"for your technical contribution in creating hardware and software tools.

Why are we offering you this opportunity?

Because we feel that your innovative ideas would be an advantage to our company. Since you would be working at something you are truly interested in, we think you'll be eager to learn and dedicated to the advancement of our technology.

Wouldn't it be great?

We offer you virtually unlimited advancement potential, an excellent salary, and outstanding benefits for just doing what you like best!

Look into the exciting world of INTERDATA...

call Bill Beattie at

(201) 747-7300; or

write for more information.

®

A UNIT OF

PERKIN ELMER DATA SYSTEMS

106 Apple St., Tinton Falls, New Jersey 07724

Equal Opporlunity Employer M/F

schools, taught by Iris Helman and Sally Greenwood, had visited the computer center and played games on the terminals. This of course only Vk'hetted their appetites for more computer time, and arrangements were later made to return for four 1 hour lessons on programming in the BASIC language. Besides the mechanics of coding a computer, the elementary ideas of programming logic were emphasized through flowcharting. These ideas were discussed every day without a computer. The class enjoyed transforming its own scenario into a flowchart format using simple statements and branching conditions. We were pleasantly surprised at how entertaining and creative a flowchart can be when written by young children. The results were posted on a bulletin board at the fair and they proved to be a very popular attraction.

Future Plans

By starting earlier next year we hope to make the 2nd Annual UW-Parkside Computer Fair even more exciting. But quality, not quantity, will remain our long suit. About 700 attended the first fair and 1000 is our upper limit for a comfortable fair. Hardware exhibits will again be sought from local stores and vendors, but they will not play the dominant role that they do at larger

fairs; talks and workshops exploring the expanding list of minicomputer applications will be just as important.

The 2nd Annual Interactive Computer Problem Solving Contest will be expanded and announced much earlier so that junior high and high schools throughout Wisconsin and Northern Illinois will have time to get ready. This year's exams will be freely handed out to schools along with instructions on how to run a computer problem solving contest locally. Through these contests we hope to lend encouragement to the growing number of teachers and young students who are eager to learn more about problem solving with the computer. In the process, we will be learning a great deal about this subject ourselves.

Finally, colleges and universities should take the lead in introducing the community they serve to the coming revolution of cheap computer power. They already have the physical resources to do the job with a minimum of cost. The return in public relations alone is worth much more than the investment. The local newspapers and Racine and Milwaukee television stations carried stories about the fair. Our fair represents one way of bringing computer awareness to the general public, and we highly recommend it."

BYTE November 1977

29

SPACE WAR DEFINITIONS

I have seen repeated mention, both in BYTE and in other sources, of the original computer game of Space War developed at MIT. What I have failed to see is any type of description or explanation pertaining to this classic king of computer games. What exactly does the original Space War entail in the way of display and participation? I am deeply interested in computer games, and I wonder just what was offered by this "oldie-goldie" to have rated such continued interest.

Again, in reference to MIT's Space War, are there currently any manufacturers' software or hardware products which are comparable? With thrillers like MiniTerm's Deluxe Space War and ECD's Animated Spacewar, I wonder if the current state of the art in computer games doesn't exceed that of the original MIT game.

Rick Craig 2609 E Wood lyn Way Greensboro NC 27407

See the article by Dave Kruglinski on page 86 of the October 7977 BYTE for the answer to your question about what a classic Space War game does, illustrated by a practical example, which will probably not be the last such example seen in BYTE.

SAMPLING BIAS?

After reading your editorial in May 1977 BYTE I still find it hard to believe that only 1% of your readers are female. Did you by any chance look at marital status in the questionnaire? I would guess that in many cases both husband and wife are computer hobbyists. In most cases I would guess that married women interested in computers would share that interest with their husbands. The reverse however would not be as common. If my husband and I received your questionnaire he would most likely fill it out, thus skewing the results toward the 99% male figure. I'll bet what your survey really shows is the very small number of single women interested in computers and married women who are more interested than their husbands.

Next survey how about asking how many other people — other than the subscriber — read the magazine, and

their age, relationship, level of interest, education, etc.

Looking at that 1% figure makes me feel very lonely. I'm sure there must be more women like myself who are interested in computers. I would enjoy hearing from other women hobbyists. Write and let me know who you are and what your interests are. I'll pass the information back to BYTE. It won't be an official survey, but I'll bet I'll get swamped with letters and postcards. Come on girls, let's show them that we exist!

Leah R O'Connor 6315 W Raven St Chicago IL 60646

AN INVITATION TO ALL 1802 USERS: THE 1802 EXCHANGE

Very little software for the RCA CDP1802 is currently in the public domain. To remedy this situation I am going to publish a 10 page booklet listing available software. If you desire to sell or even give away your software please send me a listing for my review. My booklet will provide a complete description and cost information with a reference number corresponding to a number on an ordering coupon.

I plan to charge $1 for the booklet. This amount will also cover the costs associated with processing the coupons. The use of the coupon will reduce the costs to the person ordering from more than one source.

The publication date is set for early December 1977. Advance orders may be made at $1 per copy. Send all orders, software listings, and other correspondence to:

Ross Wirth

1636 S 108 East Av

Tulsa OK 74128

SELF-PROPAGATION MONSTERS

I discovered a real "bug" in the Z-80. If the registers are set up correctly, and the user has 64 K of programmable memory, a "living" creature can be created, similar to the interrupt driven monsters that pop up unexpectedly. Its only purpose in "life" is to procreate and eat food, namely time. If you object to my use of the term "life," go back and reread the definition. The "crea

30

BYTE November 1977

Rated [G

Great Locations ComputerLcincI

Now Open:

3020 Universily Drive N,W. Huntsville, AL (205)539-1200

11074 San Pablo Ave. El Cerrito.CA 94530 (415)233-5010 22634 Foothill Blvd. Hayword, CA 94542 (415)538-8080 6840 La Cienega Blvd. inglevi/ood.CA 90302 (213) 776-8080

24001 Via Fabricante Mission Viejo.CA 92675 (714)770-0131 4233 Convoy Street San Diego, CA 92111 (714)560-9912

121 Fremont Street

San Francisco, CA 94105

(415)546-1592

42 42nd Ave.

Son Mateo, CA 94403

(415)572-8080

171 E. Thousand Oaks Blvd. Thousand Oaks, CA 91360 (805)495-3554

104 W. First Street

Tustin, CA 92680

(714)544-0542

Astro Shopping Center

Kirl<vv'ood Highwoy

Nevi/ork, DE 19711

(302)738-9656

50 East Pond Pood

Arlington Heights, IL 60004

(312) 255-6488

9511 No, Milwaukee Ave.

Niles, IL 60648

(312) 967-1714

10935 S, Cicero Ave, Oak Low/n, IL 60453 (312)422-8080

813-B Lyndon Lone Louisville, KY 40222 (502)425-8308 16065 Frederick Road Rockville, MD 20855 (301)948-7676 419 Amherst Nashua. NH 03060 (603) 889-5238

2 De Hart Street Morristown, NJ 07960 (201) 539-4077 1612 Niagara Foils Blvd. Buffalo, NY 14150 (716) 836-6511

225 Elmira Rood

Ithaca, NY 14850

(607) 277-4888

1304 SOM Center Road

Moyfield Heights, OH 44124

Phone; Inquire Locally

3300 Anderson Lane Austin, TX 78757 Phone: Inquire Locolly 6439 Westheimer Rood Houston, TX 77057 (713) 977-0909

Franchises Available: Computerland Corp.

1922 Republic Ave SanleandroCA 94577 (415) 895-9363

Circle 30 on inquiry card.

Rated 1^

The Best Game in Town.

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

Each ComputerLand store presents everything you ever wanted to know about computers. And then some.

Take our Gome Room, for starters. You'll find excitement for the whole family in our endless variety of challenging computer games. You can battle the Klingons in an out-of-this-world game of StarTrek. Create on electronic work of art with a computer controlled TV. Test your skill in a gdme of computerized hangman.

You can even plot your biorhythm.

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

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

Right now!

Great Selection.

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

ComputerLand offers the finest quality and

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

Read on.

Genuine Service.

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

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

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

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

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

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

Plus a complete inventory of tools, books and dccessories.

Whot's more, at ComputerLand, we deal in product. Not promises. Our inventory is on our own shelves. Rather than the manufacturer's. So you can take delivery on tomorrow's components todoy. __^^__^__»»«__________—«—i.^_

Which means, simply put, that at ComputerLand, you get exactly what you want.

Exactly when you want it.

Be Our Guest.

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

Then tell us your needs. We'll sit down and talk about the system that's right for you. It's as easy as that at ComputerLand.

The great computer store. RATED G.

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

ComputerlciAcI

1922 Republic Avenue, San Leandro, CA 94577 (415] 895-9363

ture" is an ED BO instruction, the blocl< transfer LDIR.

To put it simply, it turns into a memory eater, copying itself everywinere into memory, prepetuating its existence. Externally, it looks like an ED BO running loose. Here it is:

OHG QQOOH

01 00 00

LD

BC.OOOOH

;D0 ftSK rnA-JSFEr(

11 OB 00

LD

DEjQOOBH

jUP p. LOCITIONS

21 09 00

LD

HL^0009H

;T0 PFrti'ETUATE

ED HO

LDI<i

JHKHE'S THE ANlKftL

;rhfir GOES i^J^J^Jl^JG OFF

Try it, it's fun.

Also in this category, there's the 14747 instruction in DEC PDP-lls. It copies itself lower in memory (even though DEC manuals say the instruction shouldn't work), and then executes the moved instruction! This one doesn't perpetuate, but it's neat to kill memory when you don't want someone to screw with some secret software.

Fred Beckhusen

MS 23

Mostek Corp

1215 W Crosby Rd

Carrollton TX 75006

Then of course there is the famous MVC instruction of the IBM 360 and 370 series, key to the famous OS 360 "time bomb" technique wherein a propagating IVIVC in supervisor mode mysteriously clears a 360's memory, crashing the machine hours after the joker who scheduled it has signed off TSO. Since the MVC moves 256 byte chunks and, once started, it always completes, the last M VC of the program goes one step further by clearing the program itself! (Reputedly, later than the mid 1970s, releases of IBM's TSO closed the holes by which clever programmers could get into supervisor mode from a TSO terminal.). . .CH

MOTOROLA EVALUATION KIT ARTICLES NEEDED

As an owner and user of an MEK6800D2 kit from Motorola, I would like to see Sonne software espscially for this system with its J-BUG monitor. A somewhat similar but older system, the KIM-1, has a devoted following and many articles concerning this system have appeared in past BYTEs. I believe the D2 system, with a little encouragement, could also become |*opular. I know you are a 6800 fan, CH, so how about encouraging someone to write about this Motorola kit?

David Beach

POB 360

Frankford Ontario

CANADA KOK 2C0

PS: The MEK6800D2 appears fairly well thought out. Mine went together without any problems (I used sockets for all the chips, however.) and ran perfectly on the first power up.

MORE ON COMMERCIAL RADIO AUTOMATION

Joe Alwin's request in the February 1977 BYTE for information on microprocessor based radio automation systems is easily answered. McCurdy Radio of 108 Carnforth Rd, Toronto CANADA, has an 8080 based system that will do just what he wants. Data input is via keyboard or standard audio cartridges or cassettes for compatibility with other radio station equipment. Logging may be on Teletype, or the data may be recirculated in memory and used again for another day's programs. Data is displayed on a CRT.

And now perhaps one of your readers can help me. I am looking for

a "Universal Alarm Annunciator." If any one of, say, 100 terminals is grounded, I want to display a one line alarm message on a CRT, eg: "-^4: XMTR OFF AIR." The messages must be previously entered from a keyboard and must of course be protected against power failure. An additional "HELP" routine could be used to call up (off disk) a whole page of previously entered text describing what to do to solve the ^4 alarm problem. As you will appreciate, the difficulty lies in solving the sorting problem economically. Including the CRT, keyboard and microprocessor, the whole thing should come in at less than $15,000. Has anyone such an item up their sleeve?

M Barlow

5052 Chestnut Av

Pierrefonds

Montreal CANADA

LORAN-C CLARIFIED

In the July 1977 BYTE, there was a letter from Ian McNicol in which there occurred a sort of throw-away line: "... why use OMEGA when there are satellite systems like LORAN-C?" Well, perhaps this is a pertinent question, but it displays a little misinformation. LORAN-C is not a satellite system. LORAN-C is a system consisting of a master station and two to four slave stations which broadcast a series of pulses which modulate a 100 kHz carrier. The master sends a signal which is received by the slave stations and the navigation receiver. The slave stations delay the master signal and rebroadcast it to the navigator. The LORAN-C receiver measures the time difference between arrival of the master and slave

Continued on page 145

MULTIPLE DATA RATE INTERFACING FOR YOUR CASSETTE AND RS-232 TERMINAL

the CI-812

The Only S-100 Interface You May Ever Need

On one card, you get dependable "KCstandard"/biphase encoded cassette interfacing at 30, 60, 120, or 240 bytes per second, and full-duplex RS-232 data exchange at 300- to 9600-baud. Kit, including instruction manual, only $89.95*.

PERCOM DATA COMPANY, INC.

4021 WJNDSOR • GARLAND, TEXAS 75042

(214) 276-1968

♦Assembled and tested, $119.95. Add 5% for shipping. Texas residents add 5% sales tax. BAC/MC available.

'^wuiKmrnoiT

PerCom 'peripherals for personal computing'

32

BYTE November 1977

UP AND RUNNING

TDL EQUIPMENT USED BY NEW JERSEY PUBLIC TELEVISION TO PROCESS NEW JERSEY GUBERNATORIAL PRIMARY ELECTION RETURNS

John Montagna, computer engineer (above left), lead this successful network team in generating election results speedily, efficiently and reliably using predominantly TDL hardware and software. Montagna created three programs to get the job done. The text for a SWAPPER program was written and assembled using the TDL TEXT EDITOR and Z80 RELOCATING MACRO ASSEMBLER. The SWAPPER text and all debugging was run through TDL's ZAPPLE MONITOR. The relocatable object code was punched onto paper tape. A MAIN USERS program updated votes and controlled air display. An ALTERNATE USERS program got hard copy out and votes in. The latter two programs were written in BASIC. Montagna modified the ZAPPLE BASIC to permit timesharing between the two USERS programs.

Four screens were incorporated, two terminals entered votes as they came in and were used to call back votes to check accuracy. Montagna called on the power and flexibility offered by TDL's ZPU board and three Z-16 Memory boards.

Montagna's setup worked constantly for over four hours updating and displaying state-wide and county-widfr results without flaw.

"I chose TDL because they have all the software to support their hardware, and it's good; it has the flexibility to do the job."

John Montagna

We salute John Montagna and NEW JERSEY PUBLIC BROADCASTING for spearheading the micro-computer revolution.

TDL's XITAN SYSTEMS have the capacity to do similar tasks for you. Write to us for XITAN information and the name of your nearest TDL dealer.

TECHNICAL

DESIGN

LABS

RESEARCH PARK BLDG. H 1101 STATE ROAD PRINCETON, NEW JERSEY 08540 (609) 921 -0321

Circle 145 on inquiry card.

■ '•■41

Introducing Appfe I|.

'•*^;

i""*^ ..• ' »»i

fjft.

*

t

■n

llf--8KmHf.*l«'«?*i

Iff

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

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

Only Apple 11 makes it that

easy. It's a

%

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

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

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

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

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

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

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

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

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

;-in iii.ii MM m fHUBrttr'-r p»"in

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

SPECIFICATIONS

• Microprocessor: 6502 (1 MHz).

• Video Display: Memory mapped, 5

modes—all Software-selectable:

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

• Color graphics—40hx48v, 15 colors

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

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

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

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

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

• Up to 12K ROM (8K supplied)

• Software

• Fast extended integer BASIC in ROM with color graphics commands

■ Extensive monitor in ROM •I/O

• 1500 bps cassette interface

• 8-slot motherboard

• Apple game I/O connector

• ASCII keyboard port_

• Speaker

• Composite video output

Apple II is also

available in board-only

form for the do-it-yourself hobbyist. Has

all of the features of the Apple II system,

but does not include case, keyboard,

power supply or game paddles. $598.

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

_^

pppkz Gomputar inc.

BYTE NovemlH

35

Order your Apple II now.

from any one of the following authorized dealers:

ALABAMA

Computeiland 3020 University Dr. N.W. Huntsville 539-1200 The Computer Center 303 B. Poplar Place Birmingham 942-8567

ALASKA

Team Electronics Country Village Shopping Center 700 E. Benson Blvd. Anchorage 276-2923 Team Electronics 404 E. Fireweed Lane Anchorage 272-4823 Team Electronics 1698 Airport Way Fairbanks 456-4157

ARIZONA

Byte Shop

813 N. Scoltsdale Road

Tempe 894-1193

CALIFORNIA

Computer Components

5848 Sepulveda Blvd.

Van Nuys 786-7411

Computerland

11074 San Pablo Ave.

El Cerrito 233-5010

Computerland

22634 Foothill Blvd.

Hayward 538-8080

Computerland

6840 La Cienega Blvd.

Inglewood 776-8080

Computerland

24001 Via Fabiicante

Mission Vieio 770-0131

Computerland

4233 Convoy Street

San Diego 560-9912

Computerland

117 Fremont St.

San Francisco 546-1592

Computerland

104 W. First Street

Tustin 544-0542

Byte Shop

6041 Greenback Lane

Citrus Heights 961-2983

Byte Shop

2233 El Camino Real

Palo Alto 327-8080

Byte Shop

496 S. Lake Ave.

Pasadena

Byte Shop

2626 Union Avenue

San Jose 377-4685

Byte Shop

1200 W. Hdlsdale Blvd.

San Mateo 341-4200

Byte Shop

3400 El Camino Real

Santa Clara 249-4221

Byte Shop

2989 «. Main Street

Walnut Creek 933-6262

A-VIOD Electronics

2210 Bellllower Road

Long Beach 598-0444

Computet Country

2232 Salt Air Drive

Santa Ana 832-9681

Computer Playground

6789 Westminster Avenue

Westminster 838-8330

Computer Store

1093 Mission St.

San Francisco 431-0640

Electric Brain

3038 N. Cedar A»e.

Fresno 227-8479

Rainbow Computing. Inc.

10723 White Oak '

Granada Hills 360-2171

Strawberry Electronics

71 Glenn Way !t9

Belmont 596-0231

COLORADO

Byte Shop

3464 S. Acoma SI.

Englewood 761-6232

Team Electronics

3275 28th Streel

Boulder 447-2368

Team Electronics

The Citadel

Colorado Sorings 596-5666

Team Electronics

107 S. College

Fort Collins 484-7500

Team Electronics

Teller Arms Shopping Center

2401 i\loith Avenue

Grand Junction 245-4455

Team Electronics

2046 Greeley Mall

Greeley 356-3800

COLORADO (continued! Team Electronics 1450 Main Street Longmont 772-7800

Team Electronics 1022 Constitution Road Belmont Plaza Pueblo 646-0703

FLORIDA

Byte Shoo

1044 E. Oakland Park Blvd.

Ft. Lauderdale 561-2983

Byte Shop

7825 Bird Road

Miami 264-2983

GEORGIA

Data Mart, Inc. 3001 W. Fulton Drive Atlanta 233-0532

HAWAII

Real Share

190 S. King Street #890

Honolulir 636-1041

ILLINOIS

Team Electronics

Meadowdale Drive, Space lA

Carpentersville 428-6474

Team Electronics

Northgale Mall Shopping Center

Decalur 877-2774

Team Electronics

Sandburg Mall

1150 W. Carl Sandburg Drive

Galesburg 344-1300

Team Electronics

Southpark Shopping Center

4200 16th Street

Moline 797-8261

Team Electronics

4700 Block - W. University Ave.

Peoria 692-2720

Team Electronics

1714 Filth Avenue

Rock Island 788-9696

Team Electronics

321 N. Alpine Road

Rocklord 399-2577

Team Electronics

Woodlield MallF-119

Schaumhurg 882-5864

Team Electronics

2716 S. MacArthur Blvd.

Sprrnglield 526-8637

Computerland

50 I. Rand Road

Artinoton Heights 256-6488

Cnmnuterland

9511 W. Milwaukee Ave.

Uliles 967-1714

Itty Bitty Machine Company

1316 Chicago Avenue

Evanston 328-6800

INDIANA

The Data Domain 2805 E. State Blvd. Fort Wayne 484-7611 The Data Domain 7027 Michigan Road Indianapolis 251-3139

IOWA

Team Electronics 202 Main Street Ames 232-7706 Team Electronics Ouck Creek Plaza BettendnrI 355-7013 Team Electronics 4444 First Avenue N.E. Lindale Plaza Cedar Rapids 393-8966 Team Electronics 320 Kimberly Road Norlhpark Shopping Center Davenport 386-2588 Team Electronics 2300 Kenireily Road Ouhuoue 583-9195 Team Electronics Room 120-Space 18 The Mall

Iowa City 338-3681 Team Electronics 2016 E. Fourth Street Sioux City 252-4507 Team Electronics K-D Stockyards Station 2001 Leech Avenue Sioux City 277-2019 Team Electronics 2750 University Avenue Walerloo 236-6607

KANSAS

Team Electronics 215 W. Kansas Avenue Garden City 276-2911 Team Electronics 14 S. Main Street Hutchinsnn 662-0632

KANSAS Icontinuedl

Team Electronics 2319 Louisiana Street Lawrence 841-3776 Team Eleclrortics 1132 Westloop Shopping Center Manhattan 539-4636 Team Electronics Space 81-A Mid-State Mall Saliiia 827-9361 Team Electronics 907 W. 27th Street Terrace Topeka 267-2200 Team Electronics Towne East Sguare 7700 E. Kellogg Wichita 686-8826 Team Electronics 791 II. West Street Wichita 942-1415 Team Electronics "The Mall" on Harry Street Wichita 682-7559 Barney & Associates 426 HI. Broadway Pittsburri 231-1970

KENTUCKY

Computerland 813 B Lyndon Lane Louisvdle 425-8308 The Data Domain 506!'? Euclid Avenue Lexinrjion 233-3346 The Data Dnmain 3028 Hunsinger Lane Louisville 466-5242

MARYLAND

Computerland

16085 Frederick Road

Rockville 948-7676

MASSACHUSETTS

The Cnrrrnuter Store, Inc. 120 Cambritlge Street Burlington 272-8770

MICHIGAN

Team Electronics

Delta Plaza Shopping Center

Escanaba 786-3911

Team Electronics

M8M Plaza

Menominee 864-2213

MINNESOTA

Team Electronics

Rirlgedale Mall

12503 Wayznta Blvd.

Minnetonka 544-7412

Team Electronics

204 Soulhdale Center

Edina 320-4817

Team Electronics

1248-60 Eden Prairie Center

Eden Prairie 941-6901

Team Electronics

207 Third Street

Bemidii 751-7880

Team Electronics

Kandi Mall South Hwy 71

Willmar 235-2120

Team Electronics

Crossroads Shopping Center

SI. Cloud 253-8326

Team Electronics

Cedar Mall

Owatnnna 451-7248

Team Electronics

Mesabi Mall

Hibbing 263-8200

Team Electronics

TIrunderbird Mali

Virginia 741-6919

Team Electronics

Apache Plaza

Silver Lake Road

St. Anlliony 789-4368

Team Electronics

1733 S. Robert Street

West St. Paul 461-1765

Team Electronics

2640 Hennepin Avenue S.

Minneapolis 377-9840

MINNESOTA Icontinuedl

Team Electronics

455 Rice Street

SI. Paul 227-7223

Team Electronics

110 Sixth Avenue S.

St. Cloud 251-1335

Team Electronics

6413 Lyndale Avenue S.

Minneapolis 869-3288

Team Electronics

1311 Fourth St. S.E.

Minneapolis 378-1185

Team Electronics

MaplewDod Plaza

3000 White Bear Avenue

Maolewood 777-3737

Team Electronics

Madison East

Mankato 387-7937

Team Electronics

310 Grant Avenue

Eveleth 749-6140

Team Electronics

Mar Mar Mall

2100 N Snellinn Avenue

SI. Paul 636-5147

Computer Depot

3515 W. 70th Street

Minneapolis 927-5601

MISSOURI

Team Electronics Biscayne Mall 301 Stadium Blvd. Cnlumbia 446-4496 Electronic Components Intl. 1306-B Snuth Hwy 63 Columbia 443-5225

MONTANA

Team Electronics 613 Central Avenue Great Falls 852-3281 Team Electronics 1208 W. Kent Missoula 649-4119 Compuleis Made Easy 415 Morrow Bozeman 686-3065

NEBRASKA

Team Electronics

148 Conestoga Mall

Highway 281 8 13th Street

Grand Island 381-0569

Team Electronics

2056 "0" Street

Lincoln 435-2969

Team Electronics

304 S. 72nd Street

Cedarnole Shopping Center

Omaha 397-1665

Team Electronics

Bel Air Plaza

12100 W. Center Road

Omaha 333-3100

Team Electronics

Sunset Plaza Shopping Center

Wnrlnlk 379-1161

Team Electronics

The Mall

1000 S. Dewey

North Platte 634-4645

NEW HAIVIPSHIRE

Compuletmart 170 Main Street Nashua 883-2386

NEW JERSEY

Computerland 2 Dc Hart Street Morristown 539-4077 Computermart 501 Rpute 27 Iselin 283-0600

NEW YORK

Computerland 1612 Niagara Falls Blvd. Bullalo 836-6511 Computerland 225 Elmira Rnad Ithaca 277-4888 Co-op Eiectronics 9148 Main Street Clarence 634-2193

NORTH CAROLINA

Byte Shop

1213 Hillsliorough St.

Raleigh 833-0210

NORTH DAKOTA

Team Electronics 2304 E. Broadway Bismarck 223-4546 Team Electronics West Acres Shopping Center Fargn 262-4562 Team Electronics 1603 nth Avenue N. Grand Forks 746-4474 Team Electronics 209 11th Avenue S.W. Minot 852-3281 Team Electronics 109 Main Street Williston 572-7631

OHIO

The Data Dnmain 1932 Brown Street Dnyton 223-2348

OKLAHOMA

Team Electronics

1105 Elm Street

Stubbeman Village

Morroan 329-3456

Team Electronics

Crossroads Mall

7000 Crossroads Space 2010

Oklahoma City 634-3357

Team Electronics

Penn Square Shopping Center

Penn Square

Oklahoma City 848-5573

Team Electronics

1134 Hall of Fame Avenue

Stillwater 377-2050

Team Electrnnics

5305 E. 41st

Southroads Mall

Tulsa 633-4676

Team Electronics

Woodland Hills Mall

7021 Memorial

Tulsa 262-6751

Team Electronics

Surrey Hills

Yukon 373-1994

Bits, Bytes & Micros

1186 N. MacArthur Blvd.

Oklahoma City 947-5646

Hirib Technology

1020 W. Wilshire Blvd.

Oklahoma City 842-2021

OREGON

Team Electronics

1913 N.E. Third Street

Bend 389-8525

Team Electronics

1023 SW. Isl

Canby 266-2539

Teanr Electronics

2230 Fairground Bead N.E.

Salem 364-3278

SOUTH DAKOTA

Team Electronics

402 W. Sioux Avenue

Pierre 224-1881

Team Electronics

1101 Omaha Street

Rapid City 343-6363

Team Electronics

613 W. 41st Street

Sioux Falls 336-3730

Team Electronics

41st Street & Western Avenue

Western Mall

Sioux Falls 339-1421

Team Electrnnics Sioux Emnire Mall 4001 West 41st Street Sioux Falls 339-2237 Team Electronics 223 Ninth Avenue S.E. Watertown 886-4725

TEXAS

Byle Shoo 3211 Fondren Houston 977-0664 Computerland 6439 Westheimer Houston 997-0909 Computer Shops, Inc. 13933 North Central Dallas 234-3412 The Computer Shop 6812 San Pedro San Antonio 828-0553 Computer Terminal 2101 Myrtle St. El Paso 632-1777 The KA Computet Slote 1200 Majesty Drive Dallas

VIRGINIA

Home Computer Center 2927 Virginia Beach Blvd. Virginia Beach 486-1700 TimbervillB Electronics PD. Box 202 Timbetville 896-8926

WASHINGTON

Team Electronics 423 W. Yakima Yakima 463-0313

WISCONSIN

Team Electronics 3209 Rudolph Road Eau Claire 834-0328 Team Electronics

3365 E. Clairmont Parkway Eau Claire 834-1288 Team Electronics

3366 E. Washington Avenue Madison 244-1339

Team Electronics

7512 W. Appleton Avenue

Milwaukee 461-7800

Team Electronics

3701 Durand Avenue

ElmwDod Plaza Shopping Center

Racine 554-8505

Team Electronics

3347 Knhler Avenue

Memorial Mall, Space H-4

Sheboygan 468-8791

Team Electronics

5300 S. 76th

Southridge Center

Greendale 421-4300

Team Electronics

Sunrise Plaza

Highway 8 East

Rhinelander 369-3900

Team Electronics

1505 LosevBlvd. S.

Village Shopping Center

LaCrosse 788-2260

Team Electronics

2207 Grand Avenue

Wausau 842-3364

Team Electronics

3301-3500 S. 27th Street

Soutbgate Shoppinri Center

Milwaukee 672-7600

Team Electronics

2619 Milton Avenue

Janesville 756-3150

Team Electronics

1801 Marshall Street

Manitowoc 684-3393

Team Electronics

7700 W. Browndeer Road

Nottbridge Center

Milwaukee 354-4880

Team Electronics

396 Park Avenue

Oshkosh 233-7050

WYOMING

Team Electronics Hilltop Shopping Center 207 S. Montana Casper 236-6691

CANADA

Future Byte

2274 Rnckland

Montreal, Que. 731-4638

If you would like to be an Apple dealer, call Gene Carter, Director of Dealer Marketing, 408-996-1010.

jCipplG computer inc.

20863 Stevens Creek Boulevard, B3-C Cupertino, California 95014 (408) 996-1010

Circle 4 on inquiry cartd.

Figure 1.

Some Comments on "An APL Interpreter for Microcomputers, Part 1'

I received my August 1977 BYTE yesterday, and was quite impressed by Mr Wimble's APL implementation article and the fact that he is giving r hardware independent description of a significant software system. This article is of value regardless of what type of microprocessor one uses. Furthermore, one would expect the article to be of value as long as there is interest in APL, which will probably be long after the current crop of microprocessors become historical curiosities.

Despite my enthusiam, I regret to inform you that I found the following errors by doing a hand simulation of the program on page 55.

1. Some arrays are dimensioned starting at 0, others at 1. In particular TVAL starts at 0, and all others seem to start at 1. This is not explained anywhere.

2. FUNC, NOMBRE, OTHERS, NILAD, MONAD, DYAD, EOL, GARRET are called subroutines, but they are in fact extensions of the main routine given on page 56.

3. The labels IP, IPGET, IP_GET, and IPINIT are nowhere defined. Apparently IP = IPGET = IP_GET and the flowchart on page 56 should appear as shown in figure 1.

4. Why is DA initialized to 3? Also, the scanner initialization box on page 56 should appear as in figure 1.

5. "No" and "yes" on page 56 should also appear as in figure 1.

6. The call to IDEN on page 56 should say CALL IDEN (Q, B). Otherwise 0 and B are undefined.

7. The flowchart on page 62 should appear as in figure 2.

8. On page 64, it should be made clear that F and Q are local parameters of subroutine FN_VAR,ADD. F and Q have different meanings external to this routine.

9. On page 64, "routine" carret references STMT. STMT must be in ROM. What is its value?

W. The flowcharts do a good job of trapping errors. How do you recover?

11. Let " " mean blank. On the

example of page 55, you state that

12.

13.

GD

"FT&a(n.F7-^VAL LENG-*-VflL VFUNC(LENG1*0 VaL--VfiL*-l

G™E3

The following letter from Fred] Dicliey contains corrections to "An APL Interpreter for Microcomputers, Part 1" by Mil^e Wimble, which appeared on page 50 of the August 1977 B YTE. We thank Fred for his efforts.

you are going to scan 37" 25, but apparently 3_7~ 2_5 is scanned instead.

On page 55, SP(19). C = 6. 1 don't see how this can be. Also, SP(9). C = 4 not 6, and SP(2). P = 0. Mal<e the following change on page 64;

Fred J Dickey

3420 Granville Rd

Westerville OH 43081

Mike Wimble replies:

iVIr Dickey is correct on most points; however, I would like to clarify the following:

Point 3: IPINIT is of course the beginning of the statement interpreter as defined in part 2 of the article published in September. Point 4: / inadvertently included DA in this portion of the article. It is used in a later version of the interpreter to handle threaded lists.

Point 9: STMT, again, is part of the later version of my interpreter, and should be ignored. Point 10: This version of the interpreter has no provisions for error recovery.

Point 12: SP(I9).C was incorrectly set equal to 6; it should equal 8. SP(2J.P is correct as it stands. Although I did not state it explicitly, the case for SP(I}.C=I is used in the later version of my interpreter. It indicates that P is not to be used at that time (This

Continued on page 164

FLAG-»-FALS£ [.•-2

SPl!).C-^9 SP( ).P-^0 VAR, VAL,

GET AN INPUT STATEMENT J J-^J /

CJJ

GET IDENTIFIER

(Q.VTAB.VI.Z)

^^^ FUNC )

VAR-i-VAR

H

VTAB(VaR)

VI-►'Q

VTABiVARl

V2—0

VTAB (VAR)

V3-^0

Figure 2.

0-.-S(J)l|3 (J+l)

1

LOOKUP

(0,REDTAB,N)

SP(I), C--5 SP!I). P-^N ]-^I + 1

SPlI),C-.-4

spm.p —Z

I-^ I + l J-^J + 1

GiJ

BYTE Novemhcr 1977

37

BOMB Lands on APL

Readers of the August 1977 BYTE voted for APL all the way. The BOMB first prize of $100 goes to Mike Wimble for his article, An APL Interpreter for Microcomputers, Part 1, on page 50. The $50 second prize goes to Dr Kenneth Iverson for Understanding APL, page 36. The distribution of points for August's articles was relatively even in the voting (The standard deviation

was only 10% of the mean of all article votes.), indicating a diversity of interests on the part of BYTE readers. Mike Wimble's article was 1.7 standard deviations above the mean, and Dr Iverson's article was 1.3 standard deviations above the mean. Readers are encouraged to express their opinions about this month's articles by filling out and sending in the BOMB card between page 256 and the inside back cover."

Kilobyte

TM

Readings for Your Next Squantum

By Manuel D Juan

"How do you multiply MDCXII and L VI on this thing?"

3.

By Duane Bibby

"Maybe I'm biased, but he seems a little saturated to me. "

38 BYTE November 1977

Ohio Scientific advances the state-of-the-art of small computers.

• Challenger II with our ultra-fast 8K BASIC In ROM.

Now you can own a computer with full BASIC and plenty of user workspace for as little as $298.00. And the BASIC is there the instant you turn the machine on!

• Challenger III is the remarkable computer which has 6502A, 6800, and Z-80 processors. This computer system allows

you to run all software published in the small computer journals, yet, it costs only about 10% more than comparable single processor computers.

• Challenger Single and Dual Drive Floppy Disks. These full size floppy disks are available in kit form or assembled at about the same prices as our competitors' mini floppies. Yet, they store three times as much data as the minies.

• Ohio Scientific's new 9 digit precision business BASIC is only slightly slower than our ultra-fast 8K BASIC. Still faster

and more powerful than anyone else's 6 digit precision BASIC.

• Our incredible new 74 million byte disk drive. That's right, 74 million bytes is available for as little as $6,000.00 complete with interface for any Ohio Scientific computer. This new disk is quite possibly the world's highest performance data storage device. It features an unbelievable 34 millisecond average access time and an ultra-fast data transfer rate.

• Now is the time for you to dump your 1974 design vintage S-100 computer and move up to the state-of-the-art!

For more specifics, send $1.00 for our new Fall Catalog.

11679 Hayden Hiram, Ohio 44234

BASIC in ROM Com|Hiters by Ohio Scientific

If you're just getting into personal computing and are buying your first machine, you're probably confused by the myriad of companies and products available.

However, there is one simple guideline you should follow when choosing your first computer. Be sure that it is capable of giving you full floating-point BASIC the instant you turn it on. Machines with full 8K BASIC in ROM cost as little as $298.00. Why should you settle for anything less?

ChaflengerUP

The Challenger IIP from Ohio Scientific is the ideal personal computer complete with BASIC in ROM and plenty of RAM (4K) for programs in BASIC.

Complete with an audio cassette interface, the Challenger IIP uses a full computer keyboard, not a calculator keyboard.

In addition, the Challenger IIP comes complete with a full 64 character-wide video display, not a 40 character display. The user simply connects a video monitor or home TV set via an RF converter (not supplied) and optionally, a cassette recorder for program storage.

The Challenger IIP comes complete with a 4 slot backplane and case for only $598.00. Fully Assembled.

Model 500

The Model 500 is a fully populated 8 x 10 P.C. Board with 8K BASIC in ROM, 4K RAM, serial port and Ohio Scientific Bus connpatibility for instant expansion. All you need is a snnall power supply (+5 at 2 amps and -9 at 500 MA) and an ASCII terminal to be up and running in BASIC. And all for only $298.00.

Super Kit

11679 Hayden • Hiram, Ohio 44234

The Super Kit is a 3 board set with a 500 board (like the Model 500 )without the serial interface.

The ROMs are configured for use with the included, fully assembled 440 video board to provide a full BASIC computer and terminal.

The Super Kit also includes a fully assembled 8 slot backplane board which gives you 6 open slots for expansion.

To be up and running in BASIC simply plug the boards together, supply power (-1-5 at 3 amps and -9 at 600 MA), add an ASCII parallel keyboard plus a video monitor or TV set via an RF converter (not supplied).

Total price for the "kit" $398.00.

40

BYTE November ^9^^

Meet Qiallenger IIP from Ohio Scientific.

Unlike any other personal computer available today

Complete with BASIC in ROM and 4K RAM, Challenger IIP is the ideal computer for programs in BASIC.

BASIC is there the instant you turn the computer on with a full 32 x 64 character video display. Challenger IIP also comes with an Audio Cassette Interface for program storage. The user simply connects a Video Monitor or a TV via an RF Converter (not supplied) and the machine is ready to use.

Challenger IIP is ideal for both the home user who is new to computing or the experienced user who wants expansion capabilities. Challenger IIP comes with a four slot backplane and is expandable via the full Ohio Scientific product line, which includes 15 system boards offered in over 40 different versions.

Ohio Scientific has always maintained upward

expandability from old models to new models, which is nice to know considering the rate at which technology is constantly improving. For example, Ohio Scientific's original 400 series products can be plugged right into the new Challenger IIP. And Ohio Scientific has 2 years of experience in building personal computers, so we're not new to this business unlike some of our competitors.

Complete with a full computer keyboard Challenger IIP comes fully assembled for $598 from Ohio Scientific.

Check the chart below and compare Challenger IIP with other BASIC in ROM computers. Unlike other personal computers, Challenger IIP has a much greater capacity for expansion and the capability to perform big computer functions with all of its big computer features.

Ohio Scientific

Other BASIC in ROM

Processor

Challenger IIP

Computers

6502A

6502 or Z-80

Clock

1 or 2 MHz

slower

Display (Lines/Characters)

32/64

25/40 or 16/64

Keyboard

Full Computer

4 Function

(Capacitive Contact)

Calculator Type or Full Computer (Mechanical Contact)

Display Characters

256

128 or 64

Lower Case

Yes

No

Plotting

Yes

Yes

Audio Cassette Interface

Yes

Yes

BASIC

8K By Microsoft

some have only 4K BASIC

String Functions PEEK, POKE, User

Yes

Not Always

Machine Language Accessible

Yes

Not Always

Optional Assembler/Editor

Yes

No

Disk Option Available Now

Yes

No

In Case Memory Expansion Ability

36 K

Less

Expansion Boards Available Now

15

None

BYTE November 1977 41

Disk Based Co

by Ohio

Any serious application of a computer demands a Floppy disk or hard disk because a disk allows the computer to access programs and data almost instantly instead of the seconds or minutes required with cassette systems. In real-world application of computers, such as small business accounting, a cassette based computer simply takes too long to do the job.

Ohio Scientific offers a full line of disk based computers utilizing full size floppy disks with 250,000 bytes of formatted user work space per disk. That's 3 to 4 times the work space of mini-floppies.

Challenger n

Challenger II is available with a single or dual floppy disk and a minimum of 16K of RAM instead of ROM BASIC. The disk BASIC is automatically loaded into the computer so there is no need for ROMs. Ohio Scientific's powerful disk operating systems allow the computer to function like a big system with features like random access, sequential, and index sequential files in BASIC and I/O distributors which support multiple terminals and industry-standard line printers. Challenger M's with disks can have the following optional features:

• 16 to 192K of RAM memory • Single or dual drive floppys • Serial and/or video I/O ports • Up to 4 independent users simultaneously

• Two standard line printer options • Optional 74 Megabyte Hard disk

• Much more

Challenger II disk systems are very economical. For example a 16K Challenger II computer with serial interface, single drive floppy disk, BASIC and DOS costs only $1964.00 fully assembled.

mputer Systems Scientific

Challenger m

Ohio Scientific proudly announces tlie ultimate in small computer systems, the Challenger III. This computer has a 3 processor cpu board equipped with a 6502A, 6800, and Z-80.

This system allows you to run virtually all software published in the small computer magazines!

The Challenger III is fully software and hardware compatible with Ohio Scientific products and can run virtually all software for the 6800, 8080 and Z-80 including Mikbug® dependent 6800 programs!

Incredible as this is. Challenger III costs only about 10% more than conventional single processor microcomputers. For example a 32K Challenger III with a serial interface and a dual drive floppy disk (500,000 bytes of storage) costs only $3481.00. Fully Assembled, complete with software. Terminal not included.

I 1

im Send me the Fall '77 Catalog. I enclose $1.

□ I would like to order directly from this advertisement. (Please allow up to 60 days for delivery)

NAME

ADDRESS

CITY STATE ZIP

To order: Payment by: BAG (Visa)_

MC_

Money Order_

Credit Card Account #

Interbank # (Master Charge)^ Model 500 Boards @ $298.00

Challenger IIP @ $598.00

Super Kit @ $398.00

16K Challenger II complete with serial interface,

single drive floppy disk, BASIC and DOS

@ $1964.00

32K Challenger III with serial interface, a dual drive floppy disk (500,000 bytes of storage)

@ $3481.00

Ohio Residents add 4% sales tax

TOTAL CHARGED OR ENCLOSED

Order directly from: Ohio Scientific, 11679 Hayden St.,

Hiram, Ohio 44234 or your local OSI dealer

All orders shipped insured UPS unless otherwise requested

I I

11679 Hayden •Hiram, Ohio 44234

BYTE November 1977

43

Introducing three boards only Ohio Scientific could build.

Ohio Scientific provides 15 system boards offered in over 40 different versions for Ohio Scientific Computer users. All of the boards are compatible with Ohio Scientific systems and many of them are by far technologically superior to any other microcomputer products on the market. And Ohio Scientific has the technology that made them possible.

500 CPU Board

This board gives you our ultra-fast 8K BASIC in ROM with plenty of user workspace (4K RAM) for as little as $298.00. Use it as a standalone or as the CPU in a large system. BASIC is there the instant you turn it on. And in the October issue of Kilobaud Magazine, our version of 8K BASIC came out the winner in a BASIC timing comparison test of all of our competitors. The 500 is the fastest around!

510 Systems CPU Board

This is our unbelievable triple processor board! Complete with the 6502A, 6800, and Z-80 processors, this board allows you to run virtually all programs published for small computers. Available in the Challenger III, the 510 board is ideal for industrial development and research applications. There isn't another triple processor board like the 510 anywhere, except at Ohio Scientific!

560Z CPU Expander Board

The 560Z board is our multiprocessing board with a Z-80 and 6100 chip. This board allows you to run several processors simultaneously and the 6100 chip lets you run powerful PDP8 software with the 560Z. The 560Z board is the only multiprocessing board available for small computers, and Ohio Scientific makes it!

These three state-of-the-art CPUs are only a small part of the picture. Ohio Scientific's advanced technology offers you other unique features such as Multiport Memories, Distributed Processing, Big Disks with up to 300 megabytes on line, and Advanced Software.

11679 Hayden • Hiram, Ohio 44234

44

BYTE Novemhcr 1977

Announcing the most advanced disk anywhere for ^6,000

The 74 megabyte disk from Ohio Scientific

C-D74 from Ohio Scientific is the ultimate storage device for small computers.

The C-D74 is the first Winchester technology disk for small computers making big system technology affordable and reliable for the small system not under maintenance contract.

The disk uses a non-removable sealed chamber drive with a unique rotary positioner to provide the highest performance disk available today.

The Ohio Scientific G-D74 can store all the records of a medium size company for instant access. And the Winchester technology of the C-D74 means that the drive can run 24 hours a day without worry of disk wear.

There are other important G-D74 applications in business computing and research in computing itself. The disk makes small computers practical for much larger jobs than formerly thought feasible, particularly since most business computing is disk bound and not computer bound.

C-D74 provides an unbelievable 35 millisecond average access time to any of 74 million bytes of information. With a 10 millisecond single track seek, the drive has an incredible data transfer rate of 7.3 megabits persecond.

Recommended minimum hardware for the C-D74 is a Challenger with 32K RAM and at least 8K on a Dual Port 525 board, and a single or dual-drive floppy disk.

The drive , cable, interface for an Ohio Scientific Challenger and OS-74 operating system software is $6,000 FOB Hiram, OH. Equipment rack shown not included.

OHIO SCIENTIFIC DEALERS

Abacu2 Stores Limiteil

55 Erb St. East Waterloo, Ontario Canada N2C 3E0 1519) 885-1211 American Microproceiiors

Equipmant S Supply Corp. 20 N. Milwaukee Ave, Prarieview, IL 60069 (312) 634-0076 Century 23

4566 Spring Mountain Rd, Las Vegas, NV 89102 Computer Mart of New York 118 Madison Ave. New York, NY 10010 1212) 686-7923 Computer Power P.O. Box 28193 San Oiego, CA 92128 (712) 746-0064 Delaware Mlcrusyitems 92 E, Main St. #1 Newark. DE 19711 (302) 738-3700 Deiert Data Microcomputer Sales P.O. Box 1334 Tucson, AZ 85702 (602) 623-6502 Tlie Home Computer Co. P.O. Box 1891 University Station Ctiarlottesville, VA 22903 (804) 295-1975 Microcomp P.O. Box 1221 Fond-Ou-Lac, Wl 54935 (414) 921-4669 Microcomputer Workihop 234 Tennyson Terr. Williamsville, NY 14221 (716) 634-6844 Omaha Computer Store 4540 S. 84ttl St. Omaha, NE 68127 (402) 592-3590

REPRESENTATIVES

Abacuz Dita

P.O. Box 276

Oil City, PA 16301

Associates Consultanti

33 Ogden Ave.

East Williston, NY 11596

(516) 746-1079

BRAG Microcomputers

19 CamCridoe St.

Rochester, NY 14607

(716) 442-5861

Computer Business

P.O. Box 171

LaPorte, IN 46350

(219) 362-5812

Johnson Computer

P.O. Box 523

Medina, OH 44256

(216) 725-4560

Omega Computing, Ltd.

Box 220, Station P

Toronto, Ont. M5S 2S7

(416) 424-2174

Pan Atlantic Computer Systems, GmbH

61 Darmstadt

Frankfurterstrasse 78

West Germany

(08102) 3205

Science Education Extension

11516 LeHavre Dr.

Potomac, MD 20854

(301) 299-9506

Spectrum Technology Services

P.O. Box 942

Pales Verdes Estates, CA 90274

Tek-Alds, Inc.

1513 Grain St.

Evanston, IL 60202

(312)328-0110

The state of the art in small computers.

To order direct call 1-216-569-3241

BYTE November 1977

45

The TRS-8OI Radio Shack's New Entry into the Personal Computer Market

Photo 1: The New Radio Shack TRS-80 home computer system. Shown are the keyboard, video display monitor, instruction manual and prototypes of the upcoming memory expansion module and disk drive.

Photo 2: The single board Z-80 processor which forms the heart of the TRS-80. Note the 40 pin 10 connector at upper right.

Text and Photos by Chris Morgan, Editor

Announced in August, the new Radio Siiacl< TRS-80 is a major entry into the personal computer marl<et. The $599 single board Z-80 based unit comes complete with a full ASCII character set keyboard, cassette recorder and video display monitor. Also included for the price is 4 K bytes of programmable memory and 4 K bytes of read only memory; the latter features a built-in BASIC package. An additional 12 K bytes of programmable memory can be added for $289.

The computer is being marketed in selected Radio Shack stores across the country; peripherals planned for release in December include a disk drive, printer and memory expansion hardware. An interesting feature of the TRS-80 is the convenient hinged door on back for easy access to the 40 pin printed circuit card 10 connector.

Software will be available in a variety of packages, including a blackjack program (which comes free with the computer); a payroll program for up to 15 people, priced at $19.95; a kitchen menu program for $4.95; and so on.

The unit is priced competitively with some other computers on the market, and it will be interesting to see what develops in this low priced appliance computer market."

Photo 3: Rear view of the Radio Shack computer showing the 40 pin 10 connector.

Photo 4: A closeup of the forthcoming microcomputer expansion module and disk drive.

46

BYTE November 1977

You don't have to be a million dollar corporation to profit by distributing this Data General nnicro-connputer system with our BASIC business application packages for:

• Invoicing with Inventory Control

• Accounts Receivable • Sales Analysis

• Accounts Payable • Payroll • General Ledger

mIcroNOVA® CPU 48KB memory dual floppies 24 X 80 CRT 30-60 CPS printer integrated cabinet Diskette Operating System Extended BASIC

List price with three application pacl<ages

$17,460

We are seeking data processing oriented individuals and companies to sell and install these systenns in their areas. Liberal distributor discounts start at quantity one. Hardware installation and nnaintenance is available directly from your local Data General office.

For more information, use the coupon.

Gfl

Mini-Computer Business Applications

4929 Wilshire Blvd., #940

Los Angeles, CA 90010

Phone:(213)936-7131

NOVA® is a registered trademark of Data General Corp,

Please send me information about distributing MCBA/Data General systems.

Name

L

Company Address _

City

Zip

SL

Phone_

BY1

Circle 82 on inquiry card.

BYTE November 1977

47

■■-'^

^\';li>.

.V "4*1

*^P:/

■r^ra

A. VDP-80 Computer wilh 300 Ipm printer.

B. PCS-80 with CRT, dual floppy disk 8> Intelligent Keyboard options.

C. Peripherals—(clockwise Ironi left) ^Tj C[)s daisywheel printer terminal, 24x80 CRT terminal.

45 cps daisy-wheel printer, Intelligent Breadboard 44 col. alphanuiTieric line printer.

D. Processor. Memory & Interface boards—shown Ml RAM. and floppy disk, line printer and serial I C's

E. PCS-80 System—sample component configuration

Microcomputers:

lust Ask IMSAL

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

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

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

If you wonder how microcomputing can fit your specific needs, ask IMSAI. Because when it comes to microcomputers, we have the answers.

An IMSAI Product to Answer Every Microcomputing Need:

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

Single Board Central Processors:

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

• MPU-B (8085 based)-50% faster 8080.

• 8048~Programmable control computer.

Interfaces:

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

• Serial 1/0—2 port I/O. allstd. protocols.

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

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

1 serial & 1 control I/O.

• DMA—For floppies & line printers. Peripherals:

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

• Video displays—Large a.s.sortment.

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

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

• 4K RAM—Programmable memory protect.

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

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

Self-Contained Systems:

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

• PCS-80—Integrated component system. Software:

• DOS-Enhanced CP/M.

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

Circle 67 on inquiry card.

• FORTRAN IV-Level 2 ANSI compiler.

• Self-contained Systems:

SCS 1 & 2/TCOS-Assembler/line

editor/debugger.

4 & 8K BASlC-Optional cassette

support.

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

A wide selection of components is only the beginning. IMSAI offers much inore. .lust ask.

Answers For Businessmen:

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

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

Answers For The Personal User & Educators:

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

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

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

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

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

Since the MPU-B is 8085 based, you can run all programs previously developed for the 8080. 50% faster. 'Without requiring faster memory.

Answers For Industry:

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

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

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

Answers For Current IMSAI Users:

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

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

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

The Answer For Everyone:

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

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

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

Just ask IMSAI.

l^

The Standard of Excellence In Microcomputer Systems.

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

Fciiliires and specifications siihjeci iti ch;mgc widniLit nolicc.

BYTE November 1977

49

M F Smith Research Assistant Department of Oceanography University College Galway IRELAND

Using Interrupts for Real Time Clocks

i^^:

We have developed several software timekeeping routines for oceanographic data systems which may be of more general interest. These routines are based upon the Motorola IV16800 and have been tested on SwTPC 6800, MITS 680b and Motorola MEK6800D1 evaluation kit systems. The routines require little memory or hardware and do not slow program execution appreciably. Features of the routines are:

• packed BCD storage of time values: days, hours, minutes and seconds.

• little interference with user routines through use of interrupts.

• usable with a wide range of clock frequencies.

• minimal hardware complexity.

• possibility of event scheduling.

TAil I

At =; Z^iS

PULL UP RESISTOR (MAY ALREADY EXIST IN YOUR SYSTEM)

CLOCK SOURCE 1-99 Hz

ONESHOT (MONOSTABLE)

? 2^ SEC PULSE WIDTH

-H>i

J -^ TO

NMI

OPEN COLLECTOR TYPICAL INTEGRATED CIRCUITS; BUFFER

74121, 74123, 9601

TYPICAL CIRCUITS 7401, 7406

Figure 1: The hardware configuration required for a real time clock implemented with an interrupt line. For the 6800 processor, the negative going pulse of the monostable (oneshot) should be at least two processor cycles in length. The switch SI, or Its logic circuitry equivalent, is essential In order to disable the interrupts If user programmable volatile memory contains the interrupt routines. If this switch or its equivalent is not present, receiving interrupts from NMI In absence of an Interrupt routine (following power on) leads to quite unpredictable results In the behavior of the system.

Hardware

The routines are driven by direct nonmaskable interrupts of the processor by a clock pulse source as shown by figure 1. Use of the NMI in this fashion precludes use for other functions but minimizes hardware. Also, such use of interrupts can cause problems when timing loop software is interrupted: constants which are valid without interrupts can be incorrect when interrupts are in operation. With these caveats in mind, however, use of interrupts proves quite convenient.

The clock source may be in the range 1 to 99 Hz (10 Hz is used here) and drives a monostable (74121, 9601, etc). The Motorola literature describing the 6800's nonmaskable interrupt function is just a trifle confusing. Using the information in the M6800 Microprocessor Applications Manual, one could conclude that the NMI line requires a low level input to initiate an interrupt. This conclusion results from the terse description of NMI and reference to the fact that NMI is supposed to work similar to IRQ. However, the hardware specification sheets for the processor explicitly state that NMI is sensitive to the negative going edge of the digital signal on its input. This detail is easily confirmed by experiment. [It is also the only sensible way to handle this interrupt, in view of the fact that it cannot be masked In the processor to inhibit further Interrupt while the interrupt routine is in operation . . .CM/ The oneshot in figure 1 should be interpreted as a way of transforming an arbitrary signal into a welldefined TTL pulse of a minimum 2 microseconds in length, or slightly greater, which provides the required negative edge.

Unless the time routine is stored in ROM with "hard" NMI vectors, means of disabling NMI pulses must also be provided until the interrupt routine and vector are estab

50

BYTE Novcrnhcr 1577

^J

SANTA

andSCELBI

Seem Softuwtf

0„DEBNOW,«VE^BErORE

FOR THE BEGINNER

BaJcs

FOR THE INTERMEDIATE

Understanding Microcomputers and Small Computer Systems. A profusely illustrated, easy-reading "must" bool< explaining fundamental concepts behind operation of microcomputers. Simple English. Gives extra knowledge to read and understand computer magazines and

manufacturers' literature. Makes you feel "at home" around computers. Accepted as the standard for the neophyte, you must own this 300-page no-nonsense, easy-reading text. Includes easy-to-use glossary of key microcomputer oriented words. Order now. Save! $9.95 each ppd

Scelbi's Software Gourmet Guides and Cookbool(s for

'8080'or'6800'lets you cook up mouthwatering programs. Delectable "how to" facts, including '8080' or ■6800' instruction sets. How to manipulate stacks. Flow charts. Source listings. General pur

pose routines for multiple precision operation. Pro gramming time delays for real time. And lots more Even floating point arithmetic rou tines! Order your copies today Bon appetite! Specify: 8080 or'6800. $9.95 each ppd

FOR THE ADVANCED...

GALAXY Microcomputer Outer Space War Games

for'6800'. Captain your own starship on intergallactic journeys filled with battles, refueling problems, weaponry, warp factors, and more — all against your '6800'. A complete book, written in machine language for 4K memory. Ever-changing Interstellar adventure, includes source listings, flow charts, routines, more. Ordertoday. Blast off tomorrow! $9.95 ppd.

SCELBAL. Higher Level Language for '8008'/'8080' Systems. Complete, illustrated program book. Routines. Techniques. Source listings. Flowcharts. More. Includes5commands, 14 statements, 7 functions, and it runs in 8K and more. All you need to customize a high level language for your system at a fraction of the cost. Order today! $49 ppd.

'4

The '80B0' Programmer's Pocket Guide; '8080' Octal Code Card and/or '8080' Hexadecimal Code Card. Compact pocket guide for instant reference to either code card. Cards are instant slide rule aids for programming/debugging '8080' software. Standard mnemonics witfi corresponding codes. Color coded instructions indicate wtiicti flags are affected during instruction execution. Quick, logical reference formats. ASCII code chart for 128 characters. '8080 status words. Register pair codes. More. Order all

three now. . only $2.95 per Item

Prices shown for North American customers. Master

Charge. Postal and bank Money Orders preferred.

Personal checks delay shipping up to 4 weeks.

Pricing, specifications, availability subjectto change

without notice.

S

ICELBI COMPUIEII CONIULflNO INC.

Post Office Box 133 PP STN lUlllford, CT 06460 Dept. B

Circle 124 on inquiry card.

BYTE Novcmher 1977

51

Iresponsej

i SHOULD i

I TASK BE I

I DEACTIVATED? |

' iT^IoZ' _ J

Entered following NMI interrupt pulse.

Update clock variables (ie: count interrupts modulo E4:60:60:N where N = number of interrupts per second).

Location of "return from interrupt" in simple clock routines of listings 1, 2 and 3.

SHOULD n

TASK BE I

I ACTIVATED? I

Note: T. = time of next background task event.

To=To + ATp

RESTORE OLD

PROCESS STATE

TO STACK

"Old process state" is content of top seven levels of stack.

Manipulations of process state can be accomplished by maintaining two stacks and switching stack pointers.

/

(T>To?)

I

TO=To+ATb

SAVE OLD

PROCESS STATE

FROM STACK

SET UP

"BACKGROUND

PROCESS STATE"

ON STACK

n

PROCESS TIMING DIAGRAM: ATf = 4, ATb=2

BACKGROUND

INACTIVE

ACTIVE II FOREGROUND INACTIVE n

CLOCK ROUTINE ftjACTpVE (OVERHEAD) INA^-HVt^

INTERRUPTS

CONSERVATION OF TIME : BACKGROUND + FOREGROUND + CLOCKROUTINE = 100% OF AVAILABLE TIME

Figure 2: A suggested algorithm for implementing two simultaneous tasks using the interrupt input to keep track of times ^Tq and ^TfT allocated to each process. It is assumed here that the "foreground" task is the principle task, and that the presence or absence of a hidden "background" task is governed by a flag.

52 DYit Ncvcmlici- l<J77

lished in programmable memory. We use a mechanical switch (SI), but more elegant methods are possible with increased hardware complexity.

Software

A minimal timekeeping routine called RAMTIME is shown as listing 1. This routine performs the function of a real time clock when it responds to the interrupts from NMI. It has two counters. A counter 1 byte long called WATCH continually cycles with a binary integer count. A second 5 byte count field provides the usual day, hour, minutes and seconds counts using the "overflow" constants 99, 99, 24, 60, 60 and the number of interrupts per second to determine when a carry has occurred. All the counting in this field is done in BCD. If at any time it is desired to output the BCD numbers in the various count fields, the MIKBUG subroutines 0UT2HS and 0UT4HS can be used to convert to external ASCII decimal values on a terminal.

The program includes a binary "stopwatch" function. The location WATCH is incremented with every NMI pulse, thus providing a convenient means of timing short events. This function can be eliminated with a small saving of memory, if desired.

Clock rates different from the 10 Hz rate are accommodated by changing the RATE variable (RAMTIME) to the packed BCD value of the clock rate, eg: the present rate of hexadecimal 10 (BCD for 10 Hz) is changed to hexadecimal 60 for a 60 Hz clock source.

Scheduling

The nature of the NMI-driven clocks make them ideal for the inclusion of task scheduling routines. Scheduling, using these routines as vehicles, is transparent to the user program, ie: scheduling is performed without "knowledge" of the program that scheduling is going on. Timetables are accurate because the schedule is checked every NMI. A very simple scheduler is suggested in the flowchart of figure 2. This algorithm implements a timing diagram (like that in the figure) which switches between two tasks arbitrarily called "foreground" and "background." This is the

PACE

001

RAMTIME

00001

NAM

RAMTIME

00002

A04A

ORC

SA04A

00003

A04A

00

FCB

0

DUMMY LOCATION

00004

A04B

00

DAY

FCB

0

TIME IB PACKED BCD FORMAT

00005

A04C

00

HOUR

FCB

0

00006

A04D

DO

HIN

FCB

0

00007

A04E

00

SEC

FCB

0

00008

AO/tF

00

SECl

FCB

0

00009

A0 50

00

FCB

0

DUMMY LOCATION

00010

A051

00

UATCII

FCB

0

BINARY •STOPWATCH' LOCATION

0001 1

*

00012

A052 A053

A054 A055 A056

99 99

24 60 60

FCB

S99.S99,

S24.S60,$60

00013

*

00014

A057

10

RATE

FCB

510

*CLOCK RATE

00015

*

00016

»F0R

DIFFERENT CLOCK RATES, CHANCE RATE

00017

•E.G.

, FOR

60

HZ CLOCK

CHANCE TO S60

00018

*l-99

HZ ALLOWABLE CLOCIC RATES

00019

*

00020

A058

CE

A051

TIME

LDX

*WATCH

TIME PROCRAM BEGINS HEP.E

00021

A05H

6C

00

INC

o,x

INCREMENT THE STOPWATCH

00022

A05D

09

DEX

DECREMENT TIME ADDRESSES

00023

A05E

6F

00

niNC

CLR

o,x

CLEAR ON CARRY

00024

A060

09

DEX

NEXT ADDRESS

00025

A061

86

01

LDA

A

SI

DECIMAL INCREMENTATION/CARRY

00026

A063

AB

00

ADD

A

o,x

00027

A065

19

DAA

HALF CARRY

00028

A066

A7

00

STA

A

o,x

COMPLETE DECIMAL INC

00029

A068

Al

07

CUP

A

7,X

CARRY?

00030

A06A

27

F2

BEg

DINC

YES, CARRY

00031

*

00032

***SCI1EDULER (S ) INSERTED HERE***

00033

*

00034

A06C

3B

RTI

RETURN TO PROGRAM

00035

*

00036

END

TOTAL ERRORS 00000

Listing 1: RAMTIME. This routine is a minimum "clocl^" and "stopwatch" function to be used at interrupt service of an NMI (nominally 10 Hz rate). The "stopwatch" maintained at hexadecimal location A05I Is Incremented as a binary number every Interrupt for short term timing by counts. After Incrementing stopwatch, the routine treats the bytes at locations A04A to A04F as a 12 digit BCD field with sub fie Ids for days (2 bytes), hours (I byte), minutes (I byte) and seconds (I byte) and parts of a second (I byte). The overflow values for each field are coded as BCD numbers stored at locations A052 to A057.

simplest form of "timesharing" or "multiprogramming."

Operation

Startup of the routines is not automatic if routines and vectors are held in programmable memory. The source of NMI pulses must be disabled until the routine and vector are loaded. Once they have been installed, enable the NMI source and the routine begins working. Time can be set using memory alter functions or with special setting routines. Once the timekeeper is running, normal operation may proceed as usual, subject again to the caveat of checking the effects of interrupts on any timing loops in other programs."

BYTE November 1977

53

Spikes: Pesky Voltage Transients and

How to Minimize Their Effects

John McCain 3523 Hardy St Shreveport LA 71109

Figure 1: Typical shape of a voltage transient waveform. The voltage transient is superimposed on the normal voltage in a circuit, and is characterized by an exponentially damped envelope around an oscillatory waveform.

You're sitting at your computer playing a game of Super Universe War, about to defeat King Computer, when suddenly, instead of his spaceship disappearing from the display, you see smoke rings drifting from the top of your mainframe. While you curse the expert technician that built the system (you), you dissect the power supply and find a shorted rectifier diode or a bad regulator integrated circuit. Although the uninformed would blame the component manufacturer, you know that it was Spike that did you in; possibly the voltage spike your brother made when he started the washing machine. The roughest environment you can put that fragile MOS circuit in is probably the one you find most comfortable, your house. The way voltage transients run around the power wiring in your home, you'd think they made the mortgage payment. Let's look at just what these beasts are, where they come from, what they do, and how to protect your microcomputer from them.

The beast I'm talking about is the voltage impulse that enters your computer through the wall plug and tries to eat power supply

TIME

components and fragile chips. These spikes originate everywhere. You can't turn on the television or turn off the coffee pot without making one. Many are small enough to pass by unnoticed, but often they dump their energy where you least want it. Voltage spikes of 1700 V have been recorded on the 120 V wiring in common houses. Multiple spikes of over 1200 V can be expected in 2 to 4% of all houses. These are usually due to changes in an electrical circuit, ie: opening or closing a switch. Remember, the wiring in your house obeys the same laws of nature that govern other circuits with resistance, inductance and capacitance. If you try to rapidly change the current through an inductor, for example, opening or closing a switch, the voltage across it rises rapidly. Guess what? Most power wiring just happens to be predominately inductive. Researchers have shown that residential areas often exhibit more transients, and more severe transients, than commercial and even some industrial areas. What does the spike look like on an oscilloscope? it is usually a damped sine wave such as the one in figure 1. It has extremely sharp rise characteristics (steep leading edge) and it normally dies out after 5 or 10 cycles. It may be only 5 p.% long, but may last for 50 jus or longer. A typical wave shape is shown in figure 1. Another source of surges that I will quickly mention is lightning. Although we can't prevent it, we can divert it. I have a lightning arrester at the power entrance to my house. If you don't, I strongly suggest that you look into getting one. It's a good insurance policy for about $10. I've never seen an electric utility that didn't install lightning arresters like they were going out of style, and those people know what they are doing. Now, let's look at what a well-placed spike can do. It might find a low impedance

54

BYTE November 1977

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 11 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, i

and one or two trusty screw- . I ,\ I 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, Inr, E.I.D./Data Products, 714 N. Brooktiurst St, Anaheim, CA 92803, (800) 854-3805. In California (714) 774-1010

Circle 80 on inquiry card.

.. _ for an offiaal Dumb Terminal T-shirt(s)

Please mako all checks and money orders payable to LeAnce & Reiser, OK?

Quantity and Rize(s) of shirt(s) required S M L ^ XL

Rush this application to Dumb Terminal Fan Club Headquartersc/o LeAucf- & Reiser, PO Box 17123, Irvme, CA 92714

POWER SWITCH

REGULATOR

=D=^

.^

BRIDGE RECTIFIER

FILTER CAPACITOR

DESPIKING CAPACITOR

t:

Figure 2: The combined isolation and shunting method is the best way to protect your system from voltage transients. The varistor shunts large transients In the AC source of power. Small high frequency "despiking" capacitors provide a low impedance path for any components of the external spike which mal^e it through the transformer and rectifier. (The inductance of the regular filter capacitor tends to limit its usefulness at high frequencies.)

path to ground and pass by unnoticed. But more than Hkcly it will enter some dandy appliance, or your computer, and do all the damage it can. Remember that 1 that mysteriously appeared in memory shortly after you wrote a 0? Have you ever wondered how that bad data got into your system? It could have been put there by your next door neighbor turning on a vacuum cleaner. You have seen rectifier diodes fail when they were carrying only a tenth of their rated current, voltage regulator integrated circuits die when they weren't even running warm, and transistors stop working when the hermetic seal broke, letting out the smoke. (I've always wondered how they work with all that smoke in there.) If you have mysterious errors in your system, transient and random, chances are a spike might have been involved.

Now let's get to the good part: how to get rid of the little monsters. There are two basic techniques available. First, you can attempt to isolate the equipment from the source of the spikes by running it on batteries or an uninterruptible power supply. Isolation transformers show up at the surplus dealers occasionally, but are usually expensive. The second method is usually cheaper, but is somewhat less effective. Use the voltage divider principle and shunt the spike to ground through a low impedance at the power supply. A common example of this principle is the 0.01 /uF capacitor placed between the power buses and ground of a digital circuit, to suppress the low level switching transients of digital integrated circuits. Since we are talking about transients that come in over AC lines, we need to put the low impedance on either the AC line or the power supply bus. On the DC side, hefty filter capacitors do this for the spikes with low frequency characteristics, but they often exhibit stray inductance which looks like a high impedance to a fast pulse. Putting

a 0.01 mF capacitor in parallel with the filter capacitor will take care of many of these. Nonlinear devices such as spark gaps and varistors may be placed on the AC line. The last part of the shunt method is the most important. Put a good ground on the machine! If your house doesn't have three wire outlets, tie the case ground to a water pipe; if you have to, drive a ground rod. Be aware of the grounding system in all your electronic equipment. Poor grounding practice can cause shocks, ground loops, and erratic operation. [When I took my system away from its usual solid grounding arrangements for a demonstration at the ACGNJ meeting IVIay 20 of this year, the lack of a good ground became painfully obvious: programs which have never before committed suicide became quite distressed and recalcitrant .. . CHj

We can expect to adequately protect the hardware without much trouble (or cash). The best procedure is to use a combination of the above methods as shown in figure 2.

I've tried to explain a little about voltage transients without getting into the physics of semiconductor failure or transient generation analysis. If you want to become better versed in this field, read several of the references. They all offer good background material and references 2 and 3 give detailed information. Hopefully, you are among the many who haven't had any problem with spikes. The best time to prepare for them is before they give you trouble."

REFERENCES

1. Westinghouse Electric Corporation, Electrical Transmission and Distribution Book, East Pittsburgh PA.

2. G J Hahn and F D IVlartzloff, July 1970, "Surge Voltages in Residental Power Circuits," IEEE Transactions on Power Apparatus and Systems, 89 (6) 1049-1056.

3. General Electric Company, Transient Voltage Suppression Manual, Syracuse NY.

56

BYTE Niivemlier 1977

the Processor Terminal.

A logical forward step in Microcomputer design

the Processor Terminal. A new design by TEI and look at what you get... a complete, self contained microcomputer system with display and mass storage, a full keyboard and plenty of slot space for additional boards. And that famous TEI CVT power supply that makes brownouts a thing of the past.

Display — A15" high-resolution black and white video display with an optical filter face plate to reduce glare and improve type visability . .. Keyboard — Full upper and lower case ASCII detached keyboard with 8 programmable special function keys. Keyboard status indicators show computer BUSY or READY And a 16-key numeric cluster pad set up calculator style ... Disk Drive & Controller — A Shugart SA-400 mini-floppy disk drive. Soft sectored

with a capacity of about 90 KB. IBM compatible format Controller will tiandle 3 drives.. . CPU — 8080 based with a flexible design that allows you to implement a start up "jump to" operation to any dip switch selected byte address you choose, Merely turn on power or press RESET and you are off and running. Excellent for power failure automatic restart.. . Memory — 16K of static RAM memory Low power chips. Selectable address assignment and memory protect features ... I/O — 3P-I-3S input/output board. 3 parallel ports and 3 serial ports with selectable baud rates of 75 to 19,200. RS-232C and TTL outputs .. . Video — A video board provides the support for the video display functions ... AAalnframe — A 12 slot mainframe with a 17-amp CVT power supply motherboard assembly heavy duty aluminum cabinet, fan and washable filter All edge connectors and card guides provided ... Software — CP/M disk operating system and BASIC provided on disk.

the Processor Terminal (Model MCS-PT) fully assembled and tested is priced at $3495.00.

the Processor Terminal partially assembled (We build the cabinet, keyboard, monitor, power supply disk drive and motherboard and you build the CPU, RAM, I/O, Video and Controller boards which we supply as kits). This partially assembled unit is priced at $2995.00.

c

MCS

SPECIAL SYSTEMS GROUP

MICROCOMPUTER SYSTEM

Contact your local TEI Dealer or if you dre not near one of our dealers, write or call CMC Marketing Corp direct for more information.

CMC MARKETING CORP 7231 Fondren Rd, Houston, TX 77036 Telephone (713) 774-9526

See you atPers. Comp. 10/27-29 Chicago Booth #53

Circle 23 on inquiry card.

BYTE November 1977 57

SYNCHRO-SOUND

ENTERPRISES, INC.I

One-Stop shopping for Hardware and Software

Everything you need in small computer systems with special emphasis

on TERMINALS! Look at these units...compare price, quality, delivery,

service...and you'll see why you don't have to look anyplace else!

LEAR SIEGLER ADM 3A TERMINAL

ADM1A TERMINAL

• Full addressable cursor

• Display format—24 lines of 80 characters per line

• Communications rates—75 to 19,200 Baud

• Computer interfaces — EIA standard

• Display Format —80 characters per line by 24 lines • Full cursor control Edit operations: clear screen, clear unprotected character type-over. (Options are Character Insert/Delete, Line Insert/Delete, Erase to end ^«c^5 - of page. Erase Line/Field) and much more

$739.95

ADM3A Kit

ADM3A QA.Q OR

Assembled . . 04«7b90 Lowercase en f\f\

option OSfal/li

bled

$1398.00

ADM 2A TERMINAL

• 1920 character display (24 x 80)

• 16 function keys for 32 commands

• Separate keyboard—119 keys

• 10 key numeric pad ahmoa

• Single key edit operations iSse^^^ed ...

• Page, field or Ime edit ^40ttC/\/\

• Security, protected fields $ 1090.UQ and much more

OKIDATA MODEL 110 LINE PRINTER

• 110 CPS dot matrix

Fee?"" $1149.00

S" 1279.00

RS 232C

Interface .. . 260.00

OKIDATA MODEL 22 LINE PRINTER

125 lines per minute 132-column print line

• Upper/lowercase

• 8 different character sizes

• 12 IPS paper slew

Tractor Feed $2249.00

2320 Serial Interface. . . 379.00

DECWRITER II

• 132 column printing

• 10-30 CPS

• Full keyboard

• Tractor feed

$1695.00

BYTE Novcmhor 1977

SYNCHR050UND

ENTERPRISES, INC.I

CENTRONICS 703 SERIAL PRINTER

• Low cost of ownership

• Bidirectional logic seeking printing

• Microprocessor electronics ^aaae f\f\

• Excellent print quality $2o90aOU

IMSAI 8080 MICROCOMPUTER • Powerful • Low cost • Easy to use

With 22 Slot Mother Board

$619.95

With Z-80 CPU

849.95

HAZELTINE 1500 VIDEO TERMINAL

• Reverse video

• 24 X 80 display

• Programmable brightness levels

• RS232 and current loop and much more'

Assembled

$1149.00

Kit also available

HAZELTINE MODULAR 1 INTELLIGENT TERMINAL

• 1920 character display

• 8 different video levels

• Full editing capability

• Removable keyboard and much more

Assembled ....

$1659.00

We carry a full line of the following: TDL, Centronics, Seals, Hazeltine, MIcropolis, Hayden, IMSAI, Cromemco, Compucolor, Icom, LearSiegler, Okidata, DEC, Javelin, North Star, Peripheral Vision. Same day delivery and shipping on most items. Full modern repair facilities on premises for complete servicing of everything we sell.

CENTRONICS 761 PRINTER

• 300 Baud serial transmission

• Bidirectional and incremental printing

• RS232, CCITT-V24, or current loop interface

• Baud selection (110/150/300)

$1695.001

KSR with Keyboard.

Receive only version

1595.001

Fully IBM 3740 media and format compatible Full formatter

FLOPPY DISK SYSTEM

and control built-in

er

ICOM Model FD3712 Dual Drive System

$2795.001

SPECIAL BUYS

SoraclQ 120 Video Terminal Kit $959.00

DEC LA 180 Printer 2769.00

CompucolorBOOl ColorComputer 2595.00

ICOM Microfloppy System 989.00

North Star Microfloppy Disk Kit 599.00

2708 Eproms 27.95

Javeiin9" VideoMonltor 159.95

Livermore Modem Model 76 299.00

Sol 20 with Solos Kit (limited supply) 999.00

Micropolis Model 1053MOD 2 . 1799.00

IMSAI AP44-44 Col. Printer Kit 329.00

TDL Xitan Alpha 1 Computer Kit 699.00

SYNCHRO-SOUND enterprises inc

The Computer People

193-25 Jamaica Avenue,

Jamaica, New York 11423

212/468-7067 TWX: 710-582-5886

Hours 9-4 daily Visit our new showroom

and Saturday Working units on display

Depi.BB BankAmericard* Master Charge

Circle 141 on inquiry card.

Ppogpsniming OuicMes

Simple Math Lessons

h

lere is a program 1 wrote using Tom

230

PR" ";X

Pittman's Tiny BASIC. It originally appeared

235

GOTO 260

in KIM-1 User's Notes. This program allows

240

PR " ";X

my

two children to play with the computer

260

IF Y<=10 GOTO 280

and

also learn math. The output of the

270

GOTO 290

prog

;ram looks like this:

280 285

PR" X ";Y GOTO 300

THIS IS A MATH TEST

290

PR"X ";Y

r /

300

PR" ",

X D

310

LET Q=X*Y

7

320

INPUT D

If the correct answer is input, the com

330

GOTO 120

puter replies with YOU'RE RIGHT and a

350

LETX=(RND(50)+1)

new

problem is set up. For a wrong answer

355

LET Y=(RND (50)+l)

the reply is ??WRONG??, TRY AGAIN and

360

IF X<=10 GOTO 380

the

same problem is repeated. If you answer

370

GOTO 390

incorrectly three times THE RIGHT AN

380

PR" ";X

SWER IS 72 appears and a new example is

385

GOTO 410

set L

jp.

390

PR" ";X

The actual problems are randomly chosen.

410IF Y<=10GOTO430

The

number limits for multiplication are set

420

GOTO 440

Robert G Lloyd

at 1

ine 200 for the multiplicand and 205

430

PR" + ";Y

7554 Southgate Rd

for the multiplier. Lines 305 and 355 define

435

GOTO 450

Fayetteville NC 28304

the 1

:wo addends for addition."

440

PR " + "; Y

10

PR "THIS IS A MATH TEST"

450 460

PR " ",

LET Q=X-fY

15

PR

470

INPUT D

20

LET V=0

480

GOTO 120

30

LET 1=0

500

PR "YOU'RE RIGHT"

35

LET Z=0

505

PR

40

PR "TYPE 1 FOR MULTIPLICATION"

508

LET Z=Z-H

50

PR

509

IF Z<3 GOTO 512

60

PR "TYPE 2 FOR ADDITION"

510

GOTO 10

70

PR

512

IF 1=1 GOTO 200

80

INPUT I

514

IF 1=2 GOTO 350

90

PR

600

PR " WRONG , TRY AGAIN

100

IF 1=1 GOTO 200

610

PR

110

IF 1=2 GOTO 350

620

LET V=V+1

120

IF D=Q GOTO 500

630

IF V=3 GOTO 650

130

GOTO 600

640

IF 1=1 GOTO 210

190

END

645

IF 1=2 GOTO 360

200

LET X=(RND (12)4-1)

650

PR "THE RIGHT ANSWER IS

205

LET Y=(RND(12)-H)

655

PRQ

210

IFX<=10GOTO230

660

PR

220

GOTO 240

670

GOTO 10

60 BYTE Novemhci-1977

THE COMPLETE COMPUTER

LookToThe North Star HORIZON Computer.

HORIZON™— a complete, high-performance microprocessor system with integrated floppy disk memory. HORIZON is attractive, professionally engineered, and ideal for business, educational and personal applications.

To begin programming in extended BASIC, merely add a CRT or hard-copy terminal. HORIZON-1 includes a Z80A processor, 16K RAM, minifloppy™ disk and 12-slot S-100 motherboard with serial terminal interface — all standard equipment.

WHAT ABOUT PERFORMANCE?

The Z80A processor operates at 4MHZ — double the power of the 8080. And our 16K RAM board lets the Z80A execute at full speed. HORIZON can load or save a 10K byte disk program in less than 2 seconds. Each diskette can store 90K bytes.

AND SOFTWARE, TOO

HORIZON includes the North Star Disk Operating System and full extended BASIC on diskette ready at power-on. Our BASIC, now in widespread use, has everything desired in a BASIC, including sequential and random disk files, formatted output, a powerful line editor, strings, machine language CALL and more.

EXPAND YOUR HORIZON

Also available —Hardware floating point board (FPB); additional 16K memory boards with parity option. Add a second disk drive and you have HORIZON-2. Economical serial and parallel I/O ports may be installed on the motherboard. Many widely available S-100 bus peripheral boards can be added to HORIZON.

QUALITY AT THE RIGHT PRICE

HORIZON processor board, RAM, FPB and MICRO DISK SYSTEM can be bought separately for either Z80 or 8080 S-100 bus systems.

HORIZON-1 $1599 kit; $1899 assembled.

HORIZON-2 $1999 kit; $2349 assembled.

16K RAM—$399 kit; $459 assembled; Parity option $39 kit; $59 assembled. FPB $259 kit; $359 assembled. Z80 board $199 kit; $259 assembled. Prices subject to change. HORIZON offered in choice of wood or blue metal cover at no extra charge.

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

North Star * Computers

2465 Fourth Street • Berkeley, California 94710 • (415) 549-0858

Circle 105 on inquiry card.

BYTE November 1977

61

--£

::'=:ej»» -«/

LTTT777;

m'c

'-T-'-'nilii I

1 ^^'^'*

ii

E

•s^

■1 * i TO\a*.

it\

The end of bad solder joints, heat damaged components and sick IC's. Introducing the Semilcit. Item V a 16KRA Memory Board, ^369.

Let's face it. Loading and soldering PC Boards is not much fun for the kit builder. Even more important, it's the place where most of the trouble gets introduced. The real fun and education comes in running and testing boards.

Now the Semikit with fully tested IC's.

At the price of a kit, Processor Technology Coiporation introduces the Semikit. It's a fully stuffed, assembled and wave soldered PC Board loaded with IC's that have gone through Q.C. and final checkout (a first in the industry).

We leave you the fun of testing with our fully documented set of instructions. We do the production tasks of loading, wave soldering and inspecting the boards. You do the more interesting and time consuming chore of testing and burning-in the boards.

The result is one sweet deal

for both of us. You get a board where the primaiy causes of damage (poor solder joints, excess solder and bad IC's) are virtually eliminated. You get a board of highest professional quality. And we get the business!

The 16KRA Memory Board's at your dealer now.

Your Processor Technology dealer has the first Semikit, a 16KRA Memoi7 Board, in stock and ready to go right now. You can take it home tonight for S369 as a Semikit or for S399 fully assembled, tested and bumed-in.

Youll have a 16,384 byte memory with a better price perfomiance ratio than anything on the market today. Now you can afford to add quality, high density memoiy to your system for remarkably little. And you can add enough to solve complex computing problems right in the main frame.

The memoi7 features invisible

refresh. There's no waiting while the CPU is running. Worst case access time is 400 nsec. Each 4,096 word block is independently addressable for maximum system flexibility. Power is typically 5 watts, the same as most single 4K memory modules. Back-up power connection is built-in.

Other Semi's are coming your way.

The 16KRA Memory is Processor's first step in adding more fun, capability and reliability to your computer system at lower cost. Other modules are on the way to your dealer now. Come on down today.

Or you may contact us directly. Please address Processor Technology Corporation, Box B, 7100 Johnson Industrial Drive, Pleasanton, California 94566. Phone (415) 829-2600.

Processor

Circle 11 7 on inquiry card.

BYTE November 1977

63

rf'^m^i

-->'?».«-:T'rJfA'Vrtl'>y^'g T^

The Small Computer

Twenty-five years ago a computer as powerful as the new Processor Technology SOL-20/8 priced out at a cool million.

Now for only $1350 in kit form or $1850 fully assembled and tested you can have your own small computer with perhaps even more power. It comes in a package about the size of a typewriter. And there's nothing like it on the market today. Not from IBM, Burroughs, DEC, HP or anybody else!

It fills a new role

If you're an engineer, scientist or businessman, the Sol-20 can help you solve many or all of your design problems, help you quantify research, and handle the books too. For not much more than the price of a good calculator, you can have high level computer power.

Use it in the office, lab, plant or home

Sol-20 is a smart terminal for distributed processing. Sol-20 is a stand alone computer for data collection, handling and analysis. Sol-20 is a text editor. In fact, Sol-20 is the key element of a full fledged computer system including hardware, software and peripheral gear. It's a computer system with a keyboard, extra memory, I/O interfaces, factory backup, service notes, users group.

It's a computer you can take home after hours to play or create sophisticated games, do your personal books and taxes, and a whole host of other tasks.

Those of you who are familiar with small computers will recognize what an advance the Sol-20 is.

Sol-20 offers all these features as standard:

8080 microprocessor—1024 character video display circuitry — control PROM memory — 9216 words of static lowpower RAM— 2048 words of preprogrammed PROM—built-in cassette interface capable of controlling two recorders at 1200 bits per second — both parallel and serial standardized interface connectors — a complete power supply including ultra quiet fan — a beautiful case with solid walnut sides — software which includes a preprogrammed PROM personality module and a data cassette with BASIC-5 language plus two sophisticated computer video games — the ability to work with all S-100 bus products.

Full expansion capability

Tailor the Sol-20 system to your applications with our complete line of peripheral products. These include the video monitor, audio cassette and digital tape systems, dual floppy disc system, expansion memories, and interfaces.

Write for our new 22 page catalog. Get all the details.

Processor Technology, Box B, 7100 Johnson Industrial Drive, Pleasanton, California 94566. Phone (415) 829-2600.

ProcessorTechnology

See Sol here

ALABAMA

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

ARIZONA

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

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

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

CALIFORNIA

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

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

DCI Computer Systems 4670 N. El Capitan Fresno, CA 93711 (209) 266-9566

Bits 'N Bytes

679 S. State College Blvd.

Fullerton,CA 92631

(714) 879-8386

The Byte Shop

16508 Hawthorne Blvd.

Lawndale, CA 90260

(213)371-2421

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

The Computer Mart 624 West Katella^lO Orange, CA 92667 (714)633-1222

Byte Shop

496 South Lake Ave. Pasadena, CA 91101 (213) 684-3311

Micro-Computer Application Systems 2322 Capitol Avenue Sacramento, CA95816 (916) 443-4944

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

Byte Shop

321 Pacific Ave.

San Francisco, CA 94111

(415) 421-8686

The Byte Shop 2626 Union Avenue San Jose, CA 95124 (408) 377-4685

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

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

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

Recreational Computer

Centers

1324 South Mary Ave.

Sunnyvale, CA 94087

(408) 735-7480

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

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

Byte Shop

14300 Beach Blvd.

Westminster, CA 92683

(714)894-9131

COLORADO

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

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

FLORIDA

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

Microcomputer

Systems Inc.

144 So. Dale Mabry Hwy.

Tampa, FL 33609

(813)879-4301

GEORGIA

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

ILLINOIS

Champaign Computer

Company

318 N. Neil Street

Champaign, IL 61820

(217)359-5883

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

itty bitty machine co. 42 West Roosevelt Lombard, IL 60148

(312) 620-5808

INDIANA

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

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

Computers Unlimited 7724 East 89th Street Indianapolis, IN 46256 (317) 849-6505

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

IOWA

The Computer Store of Davenport 616 West 35th Street Davenport, lA 52806 (319) 386-3334

KENTUCKY

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

MICHIGAN

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

(313) 995-7616

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

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

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

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

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

NEW YORK

The Computer Mart

of Long Island

2072 Front Street

East Meadow, L.l. NY 11554

(516)794-0510

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

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

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

OHIO

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

OREGON

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

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

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

PENNSYLVANIA

Byte Shop of Delaware Valley 1045 Lancaster Pike Bryn Mawr, PA 19010 (215) 525-7712

RHODE ISLAND

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

TEXAS

Computer World 926 N. Collins Arlington, TX 76011 (817)469-1502

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

Computertex 2300 Richmond Ave. Houston, TX 77006 (713)526-3456

Interactive Computers

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

Neighborhood Computer

Store

#20 Terrace Shopping Center

4902 - 34th Street

Lubbock, TX 79410

(806)743-2787

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

VIRGINIA

The Computer Systems

Store

1984 Chain Bridge Rd.

McLean, VA 22101

(703)821-8333

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

The Home Computer Center 2927 Virginia Beach Blvd. Virginia Beach, VA 23452 (804)340-1977

WASHINGTON

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

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

WISCONSIN

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

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

CANADA

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

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

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

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

ProcessorTechfiofogy

Circle 117 on inquiry card.

liYTE rjnvcmlHT l'J77

65

My Experiences with the 2650

A Report from Our 14 Year Old Correspondent

Brian K Moran 7335 N Manning Dr Peoria IL 61614

About the Author

i

Brian K Moran has the honor of being the youngest B YTE autlior to date. Brian is a 14 year old student at Richwoods hiigh School in Peoria IL His achievements include winning first place in science fairs on the school, regional and state levels with a project concerning computers. Brian presently has a working AMT-2650, and is designing his own computer based on the 2650processor.

you can puirit-thrdugh (0-5:000 cpri Each unit includes a custom opticalJ sensor array, high speed data buffers, and all required handshal<e logic to interface with any microprocessor parallel I/O port. Check our specs. AT OAE WE MAKE QUALITY AFFORDABLE!

Available at quality computer stores everywhere. (Or, add $2.50 for domestic shipping and handling — CA res. add 6%.)

$QCOO

^*' A&T

OAE

Oliver Audio Engineering, Inc.

7330 Laurel Canyon Blvd. North Hollyv;/ood, CA. 91605 (213) 765-8080

When I saw an ad in Electronics magazine for the Signetics 2650, I had a "sixth sense" that this was the processor I wanted. After contacting Signetics Corporation I received the 2650 manual. I had only started to learn about computers two months before, so I did not understand everything in the manual. I had no one to ask; my mom and dad are not familiar with computer technology. I began to write to Signetics, asking about various things, and they wrote back expressing much enthusiasm about my being interested in computers at such a young age. (I was 13 years old).

Signetics made available to me a 3 day seminar about the 2650 and about microcomputers in general. Needless to say, 1 was ecstatic. Even my parents were excited! When I arrived at the sales office where the seminar was to be held, I found I was the only person under 20 years of age. There was one person from a well-known megacomputer company, three men from a wellknown amusement device company, two instructors, and myself. These adults were surprised that a "kid" would be learning about computers, and they asked me many questions.

The first day of the seminar went well, considering that my specialty is hardware, and I actually began to understand software. I had many chances to discuss certain aspects of personal computers with the man from the megacomputer company, and over lunch we discussed many problems of systems going berserk, dropping bits, breaking down, etc.

The second day we studied the problem of programming 10 ports, and tested our programs on a timeshare computer service provided by the seminar. My program (the first I had written) had one bug in it. The problem was to read in data from a certain port into a specified register and output it to

66

UYTE November 1977

Circle 108 on inquiry card.

a certain port containing an LED for each data line. The program was to do this continually, but when I loaded the data in from the port I forgot to clear it first.

I wanted to keep the program to an absolute minimum because the Teletype I was using kept losing contact with the timeshare computer. After fighting a battle of trying to write and save programs before the modem "crashed," the final score was: modem 4, me 1. I finally finished it. At this point the instructor said I could use another Teletype. No way!

Now came my turn to load my program into the demonstration computer. The 2650 must have liked me because it worked right after I loaded the program and pressed reset.

The third and last day at the seminar we learned about hardware usage and interfaces. I was sad to be leaving when it came time to bid everyone goodbye. I had become good friends with all the people and they had all helped me in one way or another.

The seminar was in March, and until late May 1 programmed on paper since I had no computer, nor access to one. I decided to purchase an AMT-2650 from Applied Microtechnology so I could learn more about it before I designed and built my own processor board. It was two months and five days from the date of my order that my computer was delivered. It arrived the day before school reopened. This was a great disappointment because I was planning to work on it during summer vacation.

After programming the diagnostics to check out the computer, I discovered that bit 0 in output port C remained lit when the compLiter was in the run state, and when a true bit was in position 0 in output port C, the bit in the data load byte would come on, making things more confusing.

Despite all the bugs, I developed many short programs on this computer including one that rotates left one bit in output port C until it gets to bit 7, while another bit in output port D rotates right at the same speed; then both would repeat. One row of LEDs is on top of anther, so that, when this program is run, the lights seem to chase each other in circles. There is one catch: the lights go very fast at first and get slower and slower until they come to a full stop and the machine halts. Upon reset, the whole process is started again.

I'm still listing features I want for my processor board and front panel. If anyone is interested in the 2650 please contact me, since no one I know uses this processor, and I would like to possibly start a users' group."

COMPLETE

FLOPPY DISK SYSTEM

FOR YOUR ALTAIR/IMSAI

$699

That's right, complete.

The North Star MICRO-DISK SYSTEM^wi uses the Shugart minifloppy^'^ disk drive. The controller is an S-100 compatible PC board with on-board PROM for bootstrap load. It can control up to three drives, either with or without interrupts. No DMA is required.

No system is complete without software: we provide the PROM bootstrap, a file-oriented disk operating system (2k bytes), and our powerful extended BASIC with sequential and random disk file accessing (10k bytes).

Each 5" diameter diskette has 90k data byte capacity. BASIC loads in less than 2 seconds. The drive itself can be mounted inside your computer, and use your existing power supply (.9 amp at 5V and 1.6 amp at 12V max). Or, if you prefer, we offer a power supply ($39) and enclosure ($39).

Sound unbelievable? See the North Star MICRO-DISK SYSTEM at your local computer store. For a high-performance BASIC computing system, all you need is an 8080 or Z80 computer, 16k of memory, a terminal, and the North Star MICRO-DISK SYSTEM. For additional performance, obtain up to a factor of ten increase in BASIC execution speed by also ordering the North Star hardware Floating Point Board (FPB-A), Use of the FPB-Aalso saves about Ik of memory by eliminating software arithmetic routines.

Included: North Star controller kit (highest quality PC board and components, sockets for all IC's, and power regulation for one drive), SA-400 drive (assembled and tested), cabling and connectors, 2 diskettes (one containing file DOS and BASIC), complete hardware and software documentation, and U.S. shipping.

MICRO-DISK SYSTEM . . . $699 To place order, send

(ASSEMBLED) $799 check, money order or

ADDITIONAL DRIVES. . . $425 ea. ba or MC card #with exp.

<I-/i 1-n date and signature. Uncer

DISKETTES $4.50 ea. ,|fjed checks require 6

FPB-A $359 weeks processing. Calif.

(ASSEMBLED) $499 residents add sales tax.

NORTH STAR COMPUTERS, INC. 2465 Fourth Street Berkeley, CA 94710

Circle 105 on inquiry card.

BYTE Novemhcr 1977

67

Does Anybody Know What Time It Is?

Robert Grappel 148 Wood St Lexington MA 02173

One of the earliest products of LSI technology that filtered down to the hobbyist was the "clock chip." This little "beauty" divided the 60 Hz line signal down to seconds, minutes and hours.. .and displayed the results on 7 segment LED or other displays. Today these "clocks" come in a great variety of types, sizes and functions. They come tiny for watches. Some have extra timers and alarm capabilities. They are inexpensive, and require little in the way of external circuitry. For long term timing applications, they form an ideal solution for computer experimenters.

For many personal computer applications, it would be useful for the computer to have a knowledge of the time. The computer can certainly count interrupts from a crystal time standard, but why not use external hardware optimized for the timekeeping function, ie: a "clock chip?" This article describes an approach to such a linking of computer and clock. The clock I used had a National Semiconductor MM5314, but other clock chips using multiplexed 7 segment displays will also work. The circuit attaches to the display lines, does not disable the clock functions or the display, and is easily added inside the clock's case. It simply lets the computer read the clock digits (with the appropriate software) at the same time that the ordinary electronic display is produced.

The hardware interface is shown in figure 1. It consists of three integrated circuits at a total cost of less than $5. Two CD4010 buffers are used to convert the MOS voltage levels of the clock to TTL levels. These buffers are CMOS, so they form almost no load on the clock circuits. The pins labelled Vqq are tied to the clock supply. The pins labelled \/qq are tied to the computer TTL power supply of 5 V. The common ground line for clock and interface and computer is V55. The only criteria assumed here are that V55=GND<

Vcc=+5V<Vdd.

The clock uses a multiplexed 7 segment

display format. This means that each digit is formed from seven data bits, and the digits are sequenced one at a time. The lower buffer works on the segment signals. Although seven bits are used for the display, only five are needed to uniquely decode digits. This circuit sends the a, b, e, f and g signals to the computer. These five bits are used in a software table lookup to convert to the digit code. The buffer IC2 handles the digit signals. The six digits are scanned right to left, from seconds digit to tens of hours digit. These six signals are converted to a 3 bit binary number by a 74147 priority encoder. Since both the clock and the 74147 utilize inverted logic, the connections have been manipulated to provide a normal logic output. (Seconds digit is 1, tens of seconds is 2, etc). Thus each digit is converted to eight data bits: three which describe its place in the display and five when uniquely map to its value.

The subroutine of listing 1 illustrates how to read the clock interface. It is written for a Motorola 6800, but should be readily convertible to other processors. The location CLKIO is the interface input (which is assumed to be previously initialized if it is a PIA data location). The subroutine reads the digits from right to left and stores the ASCII code for each digit in a 6 byte storage area. This area is pointed to by the X register contents when the subroutine is called.

The code between WAITD and CLK2 continuously samples the interface waiting for the low order 3 bit digit code pointed to by the B register. When data for that digit is presented, its segment data is separated from the input value and those five bits (shifted right three positions) are used in a table lookup in SEGTAB. This returns the ASCII digit. If no digit corresponds to the bit pattern (hardware error), the letter E is returned. This ASCII character is stored in the storage area. The routine loops through all 6 digit locations and then returns.

Figure 1: Schematic of the clock Interface, and a partial schematic of the clock chip and display circuitry. The interface circuitry is intended to convert the signals from an existing electronic cloc/^ using MOS integrated circuits and LED displays (left) into TTL compatible levels usable by the microprocessor port at right. Some analysis of the particular clock used is required to attach the interface wires to the appropriate digit and segment output lines. Since the CMOS DC4010 level shifting buffers employed have high impedance inputs, the loading of the clock chip's output lines will not affect operation of the clock itself when the computer is attached.

68

BYTE Ndvemher 1977

cc a. 2?

0--0—0

o

m

1- ~

_

t5

rn

Q _

CSJ

m

fO

m

^

Q

m

O

o —

H

Z

m

LU

S

ID

o

m

UJ

in —

N

m

—0—0—0

- > o : UJ q:

- Q u.

UJl/1 *

f\J ^ ID

0—0

tji

0|

oo.

to in N

02

gli.3

I- I- o t/1 tx o

=> < _l u a. o

r^

5!

2^ 0.

<0 1

L.3 S

<2

Q-O

NOTES:

VDD IS TAKEN FROM

EXISTING CLOCK

SUPPLY, AND MUST BE

GREATER THAN

VCC=5V

_J m

z 3

UJ

o

Q.

CD

^

*

in o

03

CO

00

*

u > > +

S

*

UJ

Q.

O O

Q U

o o

Q

o

#

o o

-J o

UJ

CO

5

3 Z

o

BYTE Novemher 1977

69

PBOSBAM TO BEAD CLOCK PERIPHERAL HARDWARE

CALL SUBROUTINE KITH ADDRESS OF 6-BYTE STORAOE

AREA POINTED TO IN X-REOISTER

ASCII DIGITS WILL BE STORED THERE

ORDER ISl

SECONDS* 10'S or SECONDS

MINUTES. 10"S OF MINUTES

HOURS. lO'S OF HOURS

HARDWARE EHHORS WILL STORE CHAR. 'E'

• WRITTEN BY R.

• JANUARY 1977 » FOB MOTOROLA

CLOCK WAITD

LDA LDA PSH AND CBA BES PUL BRA PUL LSR LSR LSR STX LDX STA LDA LDX STA I NX INC CMP BNE RTS

D. GRAPPEL

6800 PROCESSOR

B »1 START WITH SECONDS DIGIT A CLKIO READ CLOCK PORT A SAVE DATA A «7 GET SEGMENT VALUES

CLKS CORRECT DIGIT

A

WAITD WAIT FOR DIGIT

A QET SEGMENT VALUES

A

SAVE SAVE H-BEOISTER

fSEQTAB POINT TO CONVERSION TABLE

A INDEXH MODIFY NEXT INSTH.

A O.X GET ASCII CODE

SAVE RESTORE X-REGISTER

A O.X STORE CHARACTER

B HOVE POINTERS

B (7 DONE WITH 6 DIGITS?

WAITD LOOP UNTIL DONE

RMB e

FCC 'EEEE'

FCC -EEie"

FCC 'lEEA'

FCC 'EEEE'

FCC "EEES"

FCC 'EEEE

FCC ■73E9'

FCC 'EBOS'

TEMPORARY SAVE AREA

7-SESHENT TO ASCII CONVERSION TABLE •E" MEANS NO DIGIT HAS THIS PATTERN 5-BIT INDEX INTO TABLE FORMED FROM SEGMENTS A.B.E.F.G (A SEG. IS HIGH ORDER)

HANDLES ALL FORMS OF DIGITS

Listing 1: A program written for tlie 6800 which will translate the outputs of the clock chip at the input port CLKIO into a 6 byte string of ASCII digits. Due to the typical scanning times of clock displays, the execution of this routine will complete in 6 to II milliseconds, so use in time-dependent portions of a program may require careful thinking.

The table lookup is done with the ti"icl< of instruction modification at INDEX. If this offends your sense of "proper programming practice," then try the code used in the MORSER article (BYTE, October 1976, page 34).

The clock steps through digits at a roughly 1 kHz rate. Since the clock and the computer are not synchronized, it might take up to ^\ digit times for the program to run to completion. The subroutine thus executes in between 6 and 11 ms. It requires about 80 bytes of memory.

Now there is no excuse for your computer not to know the time unless its clock stops."

ACT IV

Standard features: Full screen display oF24 lines by 80 characters. Professioi\al, highly leliablc keyboard with 2

key rollover. Auto repeating cursor ko\s. 'space' and 'period.

Full ASCII display of upper and true lower case characters .plus a unic|ue set I'oi- the display of cont rol charactei's.

Console selectable 'Page' mode with true editing; insei-lion and deletion of characters or lines with automatic

display rearrangement. Data rates to IS)2(I() bauil.

Absolute cursor positioning, report of cursoi' position. I'i.xed tabs, home up, bell, erase to end of line and erase

to end of file are all standard. A 'smart' page transmit ignores trailing spaces aiKl blank lines.

The AC'I"-1V comes in two configurations; In a compact cabinet without monitor for %5M (.ACT-IVA) oi" complete

with 12" data monitor and numeric keypad for $800 (ACT-IVB). All units are fully assembled and tested. More

detailed information concei-ning the ACT-iV can be obtained from any discriniinating computer store.

Micro-Term Inc.

ZZIZIP.O. Box 9387 St. Louis, MO 63117 (314) 645-3656 •=1=^

70

BYTE Ndvemhci 1077

Ci'cle 39 oti inciuiiy card.

What you should know

about our "workhorse micro"

The Peripheral Universal Processor

PJP4

CJS

i^miJ:i.Hmi:i

We have done it again - yes, Seal's has designed and engineered the only truly continuous-duty micro computer.

We are proud to announce the arrival of the newest member to the Seals' family of performance products... the PUP-1 Peripheral Universal Processor. The PUP-1 was designed with the same reliability and attention to detail that has enabled Seals' products to set the quality standards for the industry. The PUP-1 was designed from the ground up to meet all the needs and demands placed on a continuous-duty micro computer by OEM applications.

The standard software package for the PUP-1 includes DOS, EXTENDED BASIC, SAMPLE BUSINESS, and DISC OPERATING ROUTINES. To make repairs more simple, should a malfunction occur, the PUP-1 comes with a diagnostic program that will locate the exact area of dysfunction.

The PUP-1 is fully operational in temperatures from 0-55° C and can run on AC line voltages available anywhere in the world.

Designed to deliver reliability, performance and maintenance-free operation, the PUP-1 makes optimum cost effectiveness available for you.

PUP-1 SPECIFICATIONS PROCESSOR

B-bit Z-80 CPU 2.5 MHz standard 4MHz option/other CPUs available.

STANDARD SOFTWARE

EXTENDED BASIC, DOS. diagnostics, sample business and disc

operating routine.

BUS

Completely S-100 Compatible. All accepted signals including 'P-sync'

and 'Refresh', Plug-in terminators on 16 address lines, 8 data in, and

8 data out lines,

MEMORY

32K standard. Expandable to 0.5 Megabyte without additional power

or extended mother-board.

DUAL MINI FLOPPIES

DISK DRIVE

Built-in dual 'Shugart' mini-floppy standard. 86K per disk. Also available

without disk or with one drive only (Double Density Coming).

I/O

Standard ports: 2 serial, 2 parallel. Each completely independent (any

port may be run at any address). Addresses switch-selectable with

software override. 50 to 19,200 baud.

POWER SUPPLY

Full-load rating + 8V (S) 23A, + 18V (S) 6A, -18V @ 6A

Input 95 - 125V ac and 195 - 250V ac, 50-60Hz,

Oversize rectifiers 50A + 8V, 25A ± 16V

FRONT PANEL

Push Buttons: 'INITIALIZE', 'RESET', 'STOP'

Indicators: 'RUN', 'WAIT', 'SINP', 'SOUT'.

Security Lock: 'OFF', 'INITIALIZE', 'RUN', 'PROTECT'.

REAR PANEL

9 cutouts for standard 25 pin EIA connector. 2 cutouts for standard 37

pin EIA connector, 2 cutouts for standard 15 pin EIA connector. 2 D holes

for BNC connectors. Off-On Switch (main power}. Fused main power.

MECHANICAL

Free-standing (rack mounting optional)

11 -connector mother-board. Rigid main chassis.

Removable front panel.

Card-cage containing all components, except power supply and listed

front and rear panel controls and connectors, removable for servicing.

OPERATING TEMPERATURE

Full specification at ambient 0-55''C.

ATTENTION SYSTEMS DESIGNERS:

Seals Electronics Inc., has developed a hybrid BASIC which

combines the best features of both compiler and interpreter

languages. Call factory direct or write Seals today for information

explaining how our fundamental software program will assist you

in your systems construction.

.SEflLS]^. ELECTRONICS, INC.

10728 DUTCHTOWN RD., CONCORD, TN. 37922 (615) 966-8771 TELEX NO. 55-7444

■ 8V AND ± 16V BUS LINES INDEPENDENTLY FUSED

OVERSIZE RECTIFIERS

115 CFM FAN

OVERSIZE CAPACITORS 280,000 u( FILTER CAPACITANCE -SV 43 000uf FILTER CAPACITANCE ON EACH : 16V dc

11 SLOT ONE PIECE REMOVABLE CARD CAGE

ALL DATA AND ADDRESS LINES TERMINATED TO

PROVIDE VERY HIGH ■ NOISE IMMUNITY

RUGGED MECHANICAL CONSTRUCTION

TRANSFORMER WILL RUN ON AC LINE VOLTAGE AVAILABLE AROUND THE WORLD 9010 135V ac 190 lo 260V ac 50/60 Hz INPUT

DISC OPERATING SYSTEM EXTENDED BASIC DIAGNOSTICS SAMPLE BUSINESS PROGRAM

JUMP TO ANY OF TWO 16 BIT ADDRESS (SWITCH SELECTABLE)

PROTECT POSITION

STANDARD COLORS: GOLD WITH BLACK TRIM OTHER COLORS AVAILABLE

Circle 127 on inquiry card.

Figure 7; A simple circuit which processes a 6.3 VA C reference signal derived from the power companies' 60 Hz grid to produce a digital logic level square wave at 15 Hz which can drive an interrupt line of a typical processor. The disable switch is optional and can be left out if the interrupt handlers are permanently loaded in ROIVI; otherwise, interrupts must be manually disabled while the systems software is bootstrapped into volatile memory.

IIOVAC 60Hz

LINE ISOLATION

60Hz TIMING f" REFERENCE lOOK vw—

~?7

USE THE SMALLEST LIGHTEST 6.3VAC FILAMENT TRANSFORMER AVAILABLE

5V A

i[DI

ICI

^

Ai.02

R2

IM

-VJ^r

60Hz T 4 = l5Hz

D 0

t2

C Q

R S

Tl

2 I 9

IC2 I II

D Q

t2

C 0

R S

l%j

POWER WIRING 1

NUMBER

TYPE

+5V

GND

ICI

CD 4050

1

8

IC2

CD40I3

14

7

note: unused pins 7,9,11 a 14 of ici are grounded

DISABLE SWITCH

l5Hz TO NMI INPUT

o

Adding an Interrupt Driven Real Time Clock

James R Sneed 13831 NE 8th, Apt 86 Bellevue WA 98005

Whenever a computer is interacting with the real world, either through sensors or actuators, a real time clock can be valuable. Using a real time clock, the computer can run programs at specified times or intervals, or the computer may record the times at which events are sensed.

There are two basic types of real time clocks used in computing systems: the external (hardware) clock and the internal (software) clock. An external clock uses hardware to keep track of time, and periodically or on command transmits the time to the computer. [Robert Grappel's article on page 68 of this issue shows one approach to such a clock .. .CHj An internal software clock has hardware which interrupts the computer at regular intervals, and software which keeps track of time by incrementing a register whenever the computer receives a timing interrupt.

The hardware clock imposes a small software burden on the computer, and being separate from the computer, it need not be reset whenever the computer is shut off. The software clock imposes a larger software burden on the computer, and the clock must

be initialized if the computer has been completely halted or had its power shut off. In applications where the computer operates continuously, the advantages of the software clock due to hardware simplicity outweigh its disadvantages due to increased software burden, and the software clock is the logical choice for a real time clock.

There are two key considerations involved in selecting the interrupt rate for the software clock. First, where the interrupt clock is derived by dividing a higher frequency clock, such as a 1 MHz computer clock, hardware simplicity favors as high an interrupt rate as possible, but the computational overhead of interrupt response increases with increasing interrupt rate. Second, a low interrupt rate produces a low computational burden but decreases timekeeping resolution and programming flexibility. Since my system requires no routines to be performed more often than 15 times per second, 1 decided that a 15 Hz interrupt derived by dividing the 60 Hz power line frequency by 4 would be an adequate interrupt rate. This gives a minimum event to event resolution of 67 ms.

72

BYTE November 1977

Listing 1: Interrupt hiandler. Tliis routine contains thie overhiead needed to field an NIVII interrupt on a 6502 processor, save the state of the processor, call an interrupt processing subroutine, restore the state of the processor, and return from the interrupt event. If the jump at location 206 is replaced by NOP operations, this program will spin its wheels 15 times a second, doing nothing in response to the 15 Hz signal produced by the circuit of figure 1. With the exception of the JSR at location 206, this routine is independent of the location in memory of the software discussed in this article.

Hexadecimal

Hexadecimal

Address

Code

Op

0200

48

PHA

0201

8A

TXA

0202

48

PHA

0203

98

TYA

0204

48

PHA

0206

20 00

00

JSR

0209

68

PLA

020A

A8

TAY

020G

68

PLA

020C

AA

TAX

020 D

68

PLA

020 E

40

RTI

FFFA

00 02

Commentary

Push accumulator onto stack Transfer X register to accumulator Push X register onto stack Transfer Y register to accumulator Push Y register onto stack Call CLOCK

Pull Y register from stack Transfer accumulator to Y register Pull X register from stack Transfer accumulator to X register Pull accumulator from stack Return from interrupt

Interrupt address vector

The circuit in figure 1 produces tlie 15 Hz interrupts. Tine 60 Hz signal is taken from the secondary of a 6.3 V filament type transformer. (The term is a hangover from vacuum tube days when many tubes had 6.3 V filaments somewhat like incandescent light bulbs). The input to IC1A, a CMOS buffer, is clamped between 5 V and ground by diodes D1 and D2, which can be any silicon small signal diodes at hand. Resistor R2 provides positive feedback to produce about a half a volt of hysteresis in the switching of the buffer. This hysteresis reduces false interrupts due to line voltage fluctuations and transients. The two D type flip flops in IC2 are used as cascaded divideby-two circuits. The 15 Hz output from IC2 is buffered to drive TTL loads by IC1B. To prevent runaway power consumption and the resulting chip destruction, the unused inputs of the CMOS integrated circuits are grounded.

The nonmaskable interrupt of the 6502 is edge triggered; that is, the processor receives an interrupt whenever the voltage on the nonmaskable interrupt line goes from high (>2.4 V) to low (<2.4 V). The nonmaskable interrupt line can then stay low without generating another interrupt. When the processor receives a nonmaskable interrupt it jumps to the memory address stored at FFFA and FFFB, and pushes the address from which it was interrupted and

the processor status onto the stack so that it can return to the preinterrupt computation as soon as it has processed the interrupt. A switch is shown between the 15 Hz interrupt and the NMI line so that interrupts can be disabled after power is applied until the interrerupt handler for NMI has been loaded in volatile memory. If the interrupt handler is in read only memory, this switch can be omitted.

The contents of the accumulator and the X and Y registers should be saved by software when the interrupt is received and control switches to the interrupt handler program. This is done by pushing them onto the stack using appropriate instructions. Once the preinterrupt state has been safely preserved, the processing done as a result of the interrupt is performed. After the interrupt program has been completed, the preinterrupt contents of the Y and X registers and the accumulator are restored by pulling them off the stack. The processor then pulls the preinterrupt processor status and program address from the stack and returns to the previous computation. Listing 1 is a sample interrupt handler.

Listing 2 is a 24 hour clock generated in software by accumulating 15 Hz interrupts. This jrogram contains only relative jumps and so is easily relocatable, either in volatile memory, FROM or PROM.

The operation of the program real time

BYTE November 1977

73

Listing 2: Time of day clocl^. If tlie jump at line 206 in the interrupt handler of listing I references the CLOCK routine, locations C4 to C7 in memory address space are continously updated with hours, minutes, seconds and 1115 seconds respectively as the 15 Hz interrupts invoke its action. The 6502 code of this routine has been constructed to use relative branches only, so that it can be relocated anywhere in memory address space at the convenience of its user without modification of the object code.

CLOCK (Real Time Clock)

Hexadecimal

Hexadecimal

Address

Code

Label

Op

Operand

Commentary

0000

F8

CLOCK

SED

Set decimal mode

0001

18

OLO

Clear carry

0002

A5

C7

LDA

FSEC

Load seconds fraction

0004

69

01

ADC

1

Incr seconds fraction

0006

85

C7

STA

FSEC

Store seconds fraction

0008

38

SEC

Set carry

0009

E9

15

SBC

15

Subtract 15

000 B

DO

20

BNE

END

If not 15, go to end

OOOD

85

07

STA

FSEC

Reset seconds fraction

000 F

A5

06

LDA

SEC

Load seconds

0011

18

OLO

Clear carry

0012

69

01

ADO

1

Incr seconds

0014

85

06

STA

SEC

Store seconds

0016

38

SEC

Set carry

0017

E9

60

SBC

60

Subtract 60

0019

DO

IE

BNE

END

If not 60, go to end

001 B

85

06

STA

SEC

Reset seconds

001 D

A5

05

LDA

MIN

Load minutes

001 F

18

CLO

Clear carry

0020

69

01

ADO

1

Incr minutes

0022

85

05

STA

MIN

Store minutes

0024

38

•SEC

Set carry

0025

E9

60

SBC

60

Subtract 60

0027

DO

10

BNE

END

If not 60, go to end

0029

85

05

STA

MIN

Reset minutes

002B

A5

04

LDA

HOURS

Load hours

002D

18

OLC

Clear carry

002E

69

01

ADC

1

Increment hours

0030

85

04

STA

HOURS

Store hours

0032

38

SEC

Set carry

0033

E9

24

SBC

24

Subtract 24

0035

DO

02

BNE

END

If not 24, go to end

0037

85

04

STA

HOURS

Reset hours

0039

D8

END

CLD

Clear decimal mode

003 A

60

RTS

Return

00C4

HOURS

Storage for hours

00C5

MIIM

Storage for minutes

0006

SEC

Storage for seconds

00C7

FSEC

Storage for seconds/15

CLOCK is straightforward. Time is stored in BCD in the first page of memory: hours in 00C4, minutes in 00C5, seconds in 00C6, and 1/15 seconds in 00C7. When an interrupt is received and the preinterrupt state saved, the interrupt handler will call the real time CLOCK at 0000 (location 0206 in listing 1). The second's fraction is incremented and compared to 1 5. If it is less than 15 the processor will jump to the end of the clock program for return, but if it equals 15 the second's fraction is reset to zero and the seconds are incremented. Seconds, minutes and hours are handled similarly, counting modulo 60, 60 and 24 respectively. At the end of the program the processor returns to the interrupt handler. The clock can be set simply by loading the desired time into the time memory locations.

By comparing desired program times with the time of the real time CLOCK program, the processor may perform programs at any desired interval, up to one day, which is expressable as a multiple of 1/15 second. As an example, a program to be performed once per second would be executed only at those times when CLOCK has counted the second's fraction equal to zero.

It is important that the real time CLOCK should not impose an unreasonable computational burden on the computer. Using a 15 Hz interrupt and the program shown here, this criterion is satisfied. When run in a computer using a 6502 processor with a 1 MHz clock, the interrupt service requires about 1100 /is per second. This 0.1 % cannot be called an excessive burden on the computer."

74

BYTE November 1977

OSBORNE ^ ASSOCIATES, INC.

^Tm The World Leaders In Microprocessor Books ^M~»

Many books on microprocessors and their use are now on the market, and most of them have names that sound alike. But Osborne & Associates' books have dominated this market since 1975, when our first book appeared. With rave reviews from all over the world — with more than five hundred university text adoptions, our books are all best sellers. In fact, "An Introduction To Microcomputers: Volume I — Basic Concepts" now holds the world's record in sales volume for any textbook sold for a profit.

If you want information on microprocessors, begin with the Osborne books.

An Introduction To Microcomputers

E3

Volume 0 The Beginner's Book

By Adam Osborne,

"An Introduction To Microcomputers: Volume 0 — The Beginner's Book" By /^''am Osborne.

This is the bool< for the absolute beginner. Assuming that you Itnow nothing about computers, math or science of any Icind, this bool< explains what computers are all about — and it takes you to the point where you can read Volume I. 300 pages. Book No: 6001 $7.50

"An Introduction To Microcomputers: Volume I — Basic Concepts" By Adam Osborne.

The world's best selling textbook. This book

explains, clearly, concepts common to all

microcomputers, yet specific to none. 350

pages.

Book No.: 2001 $7.50

f

For the microcomputer user, a series of books provide complete programs, written in BASIC. All those txx}ks are

by Lon Poole and Marv Borchers.

"Some Common Basic Programs" 200 pages.

m^f' "■*'^^H|

Book No: 21002 $7.50

"Payroll With Cost Accounting — In Basic". 400

pages Book No,: 22ID02 $12,50

I^Ej^^^^HI

"Accounts Payable and Accounts Receivable"

Book No,: 23002 $12,50 Available November 30,

1977

"General Ledger System"

Book No.: 24002 S12.50 Available December 31.

^HBBHI^Hib' 1977

»

8080A AND 8085

ASSEMBLY

LANGUAGE

PROGRAMMING

BY LANCE LEVENTHAL

"8080A and 8085 Assembly Language Programming" By Lance Leventhal.

This book is for the assembly language programmer or student; it explains assembly language programming for the 8080A and 8085 microcomputers. The book contains numerous examples. 400 pages. Book No.: 31003 $7.50 Available October 31, 1977

"An Introduction To Microcomputers: Volume II — Some Real Products" (Revised June 1977) By Adam Osborne, Susanna Jacobson and Jerry Kane.

This book describes every common microprocessor and all of their support devices. Information is new and clearly written. Only data sheets are copied from manufacturers. 1200 pages. Book No.: 3001 $15.00

The "Programming For Logic Design" series of books show how to use microprocessors in a digital logic environment.

"8080 Programming For Logic Design" By Adam Osborne. 300 pages. Book No.: 4001 $7.50

"6800 Programming For Logic Design" By Adam Osborne. 300 pages. Book No.: 5001 $7.50

"Z80 Programming For Logic Design" By Adam

Osborne and Susanna Jacobson.

Book No; 7001 $7.50 (Available November 30.

1977)

OSBORNE & ASSOCIATES, INC. P.O. BOX 2036 BERKELEY, CA 94702 DEPT. 1

Q TITLE

UNIT PRICE

QUANTITY ]

NAME/COMPANY

'"volume 0 —The Beginner's Book (#6001)

$7.50 ea.

Volume 1 — Basic Concepts (#2001)

$7.50 ea.

ADDRESS

CITY, STATE AND ZIP

Volume II — Some Real Products (#3001) revised 1977

$15.00 ea.

8080 Programming For Logic Design (#4001)

$7.50 ea.

6800 Programming For Logic Design (#5001)

$7.50 ea.

TELEPHONE

Please check one space below:

O 4th Class Mail Delivery (3-4 weeks within the U.S.A.)

n i have included $.50 per book for U.P.S. (allow 10 days)

8080A/8085 Assembly Language Programming (#31003)

$7.50 ea.

Some Common BASIC Programs (#21002)

$7.50 ea.

^Payroll With Cost Accounting (#22002)

$12.50 ea.

,

We will only invoice for purchase orders of over 10 books. Shipping charges for bulk orders to be arranged.

[J Check or Money Order enclosed (Calif, residents include sales tax)

1 i^ill hp i(.5inr] thpcp hnn|(s fnr

Q 1 have included $1.50 per book for special rush shipment by air.

Q 1 have included $.50 per book foreign surface mail.

y 1 have included $3.00 per book for foreign airmail.

Q 1 require information on consignments, discounts and distributors

^

outside the U.S.A.

Circle 109 on inquiry card.

BYTE Ncivcmhcr 1977

75

Floating Point Arithmetic

Burt Hashizume

POB 447

Maynard MA 01754

T

at

1

ANSI

STANDARD

FORTRAN

SINGLE PRECISION

f"- '

SIGN 7 BIT

BIT EXPONENT

24 BIT MANTISSA

Figure 7; The American National Standards Institute (ANSI) floating point format for FORTRAN. It consists of a 24 bit mantissa, a 7 bit exponent and a sign bit.

Many computer hobbyists are finding 8 bit integer arithmetic inadequate for a variety of mathematical applications. 1 6 and even 32 bit fixed point calculations are being used with increasing frequency because of their greater accuracy. However, these techniques are still inherently inadequate for calculations performed over a wide range of numbers.

Using a 16 bit integer format, only numbers from 0 to 65,535 can be represented. Larger or smaller numbers can be represented by moving the implicit radix point, but the range of discrete values still remains constant. The fractional part of the quotient in a division of one large number by another could be lost.

If one could dynamically slide the radix point, the number range would be dramatically increased. Using the same format, very small fractions and very large integers can be represented as floating point numbers. This is made possible by keeping track of the radix point's position separately with an exponent.

Floating Point Formats

There are many ways to represent floating point numbers, but there are only three basic formats; the others are variations. Two of these (the dominant ones in the traditional computer industry) use different

binary representations. The third format, the one with the most variations, uses a binary coded decimal (BCD) representation, and is widely used in the electronic calculator and home computer industry.

The first format, shown in figure 1, is used in American National Standards Institute (ANSI) FORTRAN. It consists of a 24 bit mantissa, a 7 bit exponent and a sign bit.

The mantissa represents a fraction with the radix point assumed to be to the left of the most significant digit. The exponent is in excess-64 notat[on, which is a 7 bit two's complement notation with the sign bit inverted, eg: a zero exponent (160) J5 100 0000, the minimum exponent (16-64) is 000 0000, and the maximum exponent (16-63) is 111 1111. The algebraic sign bit of the value is associated with the mantissa, and the exponent's sign is inherent in its format; a one sign bit indicates the number is negative, and a zero sign bit indicates a positive number.

This is the data storage format of floating point numbers. All such data is assumed to be normalized (ie: the most significant digit in the mantissa is nonzero unless the number itself is zero, in which case all 32 bits are zero). Before a calculation, the numbers are assumed normalized; after a calculation they are normalized in the floating point accumulator before being stored.

The actual calculations take place in the floating point accumulator and other floating point registers. These registers can be in the hardware or in memory (software). Hardware floating point registers (expensive, but much faster than software) are used by large computers and many minicomputers, whereas most small computers implement floating point in software to keep costs down.

76

BYTE Nrivciiihcr 1977

With the ANSI format a "guard byte" is used in the floating point registers to maintain accuracy in performing the calculations. The guard byte (see figure 2) is an 8 bit extension to the least significant end of the 24 bit mantissa, temporarily creating a 32 bit mantissa during calculations. By l<eeping tracl< of 32 bits of accuracy throughout the operation, significance will not be lost when storing numbers because the 32 bits can be rounded off to 24 bits. If a guard byte is not used, no rounding off is possible, and the effect would be the same as truncation (which can result in loss of accuracy very quickly, as will be shown later).

Numbers from 1.00 X 16^65 ^ F.FFFFF X 16'*'^2 can bg represented by this format, resulting in an approximate

range of from 10-"'^ to 10-^^^ with an accuracy of six or seven decimal digits. Table 1 lists several decimal numbers along with their hexadecimal ANSI FORTRAN format equivalents.

The next format, shown in figure 3, is also a binary format and is implemented by Digital Equipment Corporation (DEC) and Hewlett-Packard in their BASIC interpreters. It consists of a 23 bit mantissa plusa"hidden bit," an 8 bit exponent and a sign bit.

This format assumes that the number is always normalized. Therefore, the most significant bit (MSB) of the mantissa is always one unless the entire number is zero. If the number is zero, (indicated by the special case of a 0 exponent) then the hidden bit is also zero. The sign bit is zero for a positive number and one for negative. Because all nonzero numbers have an MSB of one, it need not be explicitly represented in the format; hence only 23 bits in the mantissa.

The exponent represents a power of two in excess-128 notation, which is similar to excess-64 notation. The largest exponent, 2+127 15 represented by the largest number, im nil, and the smallest exponent, 2^'27^ |-,y i^Q smallest nonzero number, 0000 0001. An exponent of zero (20) is represented by 1000 000, while the number zero is reserved to indicate a zero mantissa.

As in the case of the first binary format, a guard byte must be used during calculations so that round off is possible before returning from the floating point accumulator for storage in memory. In this format it is also necessary to explicitly represent the hidden bit during calculations. This is accomplished by expanding the 4 byte format

3IT EXPONENT

24 BIT MANTISSA

GUARD BYTE

Figure 2: The ANSI FORTRAN floating point format showing the location of the "guard byte." The guard byte is an extra field which holds portions of intermediate calculations so that the final calculated value can be rounded off rather than truncated prior to further use.

f^

SIGN BIT

8 BIT EXPONENT

23 BIT MANTISSA

Figure 3: A binary floating point format used by Digital Equipment Corporation and Hewlett-Pacl^ard in their BASIC interpreters. It consists of a 23 bit mantissa with a "hidden" bit, an 8 bit exponent and a sign bit. The format assumes that the number to be represented is always normalized: the most significant bit of the number is always understood to be 7 unless the entire number is equal to 0. This assumed "I" bit is the so-called "hidden" bit.

Decimal Number

1.00

6.00 -1.00

0.50 -0.50 100

216 (=65,536)

2-16 _2-32

0 16-65 16+62

Hexadecimal Floating Point Number (Hexadecimal Digits)

41 100000

41 600000 CI 100000 40 800000 CO 800000

42 640000 45 100000 3D 100000 B9 100000 00 000000 00 100000 7F 100000

Table I: Several decimal numbers along with their ANSI FORTRAN floating point hexadecimal format equivalents (see figures I and 2),

Binary Floating Point Number

Decimal N

umber

(Hexad

ecimal Di

1.00

40

800000

6.00

41

COOOOO

-1.00

CO

800000

0.50

40

000000

-0.50

CO

000000

100

43

C80000

216=65,536

48

800000

2-16

38

800000

-2-32

BO

800000

0

00

000000

2-128

00

800000

2+126

7F

800000

Table 2: Examples of decimal numbers and their equivalents as encoded in the binary floating point format used in several BASIC interpreters (see figure 3).

BYTL NovcililiLT l'J77

77

8 BIT EXPONENT (2 DIGITS)

32 BIT MANTISSA (8 DIGITS)

Figure 4: A BCD floating point format consisting of an 8 bit sign, an 8 bit exponent and a 32 bit (8 digit) mantissa.

Table 3: Several decimal numbers along with their equivalent floating point representations as encoded in BCD hexadecimal digits.

into six bytes: one byte for tire sign, one byte for the exponent, and four bytes for the mantissa (including the guard byte). As a result there is a fair amount of processing necessary to load and store the floating point registers.

This format has a range of from 2'^^^" to 2—128 or from approximately '10"''-'° to 10~3° with a 7 decimal digit accuracy (several examples are represented in table 2).

There are numerous BCD floating point formats currently in use. (Mantissas range from as few as four digits to as many as 16 digits of accuracy, and exponents can typically range from lO"''^^ to 10'"99^ or even 10"*"127 iq iq—127^ ji-i^ most popular format (see figure 4) has an 8 digit mantissa (four bytes of two digits per byte) with the decimal point assumed to be to the left of the most significant digit.

The mantissa sign is typically represented by a whole byte: 00 for positive and OFF for negative. A variety of formats use one byte to represent the exponent.

One of the more frequently used formats is binary in the form of excess-128 notation. The exponent format itself is identical to the

Decimal Number

1.00

6.00 -1.00

0.50 -0.50 100

216=65,536

2-16 -2-32

0 10+126 10-128

BCD Representation (Hexadecinnal Digits)

00

81

10000000

00

81

60000000

FF

81

10000000

00

80

50000000

FF

80

50000000

00

83

10000000

00

85

65536000

00

7C

15258789

FF

77

23283064

00

00

00000000

00

FF

10000000

00

01

10000000

Digital Equipment Corporation format discussed earlier, but represents a power of ten instead of a power of two. Thus, an exponent of 84 base 16, using DEC's format, signifies two to the fourth power, and using the BCD format, ten to the fourth. The exponent represents the same power in both cases, but of different bases.

Eight digits are packed into four bytes in what is known as packed BCD (four bits represent one BCD digit).

The same format is usually used for both storage of data and actual calculations. This means neither a guard byte nor round off is used. The need for a guard byte is circumvented by using more significant digits than are actually necessary, eg: calculating to eight digits for 6 digit results, or calculating to nine digits for 8 digit results. This of course makes it necessary to use more memory per number for storage.

Some examples of numbers in this format are found in table 3.

Format Pros and Cons

Each of these basic floating point formats has its own particular advantages and disadvantages. Which format is best is dependent upon the requirements of the particular application: speed, small memory size, variable mantissa length, ease of coding in a given computer architecture, ease of interfacing to other software routines, etc.

The BCD format with its variations is by far the most popular in the personal computing field, probably because it is the easiest to program. The relative ease in converting from an ASCII representation of a number to the BCD format and back is a key factor, as is the ease with which the

Continued on page 180

78

BYTE November 1977

.^e

\

tf!5

o.<^-#'

^6^'

O^^

^oWN-p^o'

^co'

c\o^7 e^e

,^p^:>^^

;^^

^op°r

o.e;;.*.

^(^'

s\oo^

A^e

o»P°

,r.\e'.

><5-S5i^"

Circle 137 on in(|uiiy card.

UYTE Novcmhcr 1977 79

Photo 7: The author's computer, seen from the component side, was assembled using two sections of perforated board (0.1 inch grid) and socl^ets for all integrated circuits. The arithmetic unit is in the lower right hand section in this photograph, the eight memory circuits are in the lower left hand region, and the control section is implemented by the parts on the board at the top of this photograph.

Building a Computer from Scratch

Hilary D Jones 364 Princeton La Danville CA 94526

With so many excellent microprocessors available today, the experimenter needs a good reason to design and build a personal computer from scratch. That reason will certainly not be one of economy. The best available microprocessors offer so much capability at such a low price that one cannot hope to save money by building a computer from scratch. For many, the reason will simply be the challenge of doing it. For others, the reason will be more practical (perhaps to gain some capability not readily available from an off-the-shelf microprocessor). And for still others, the reason will be to learn more about the techniques of computer design.

While any of these reasons is certainly valid, the design of a computer from the ground plane up is still generally regarded as an art that only the foolhardy would undertake. In reality, though, the job is not nearly as mysterious as it seems. For proof I offer the fact that when I began this project I had no design experience with TTL (or experience with any form of electronics design for that matter). Indeed, I chose this

project to learn how to use TTL parts, on the assumption that the microprocessor 1 planned to buy would eventually become bored talking to my TV set.

Because of my inexperience with TTL circuitry, i chose to simplify the design as much as possible at every step. As a result, the major strengths of this computer are its low cost and its simplicity. With judicious shopping, it should be possible to construct the computer for around $65, including everything but the power supply. With only four instructions, the computer offers an instruction set that is guaranteed not to overwhelm the novice. At the same time, the signals that drive the various modules of the computer are readily accessible so that the electronics can be seen to work "as advertised."

Despite the simplicity of the computer, its microprogrammed bus oriented architecture conforms to the design principles in the most modern of minicomputers.

This article gives the groundwork from which a serious student or hacker can design and build his/her own personal computer.

80

BYTE NoVL-mlicr 1977

IIMTHE L.A. AREA

-fECH-MAftr

■ 19590 VENTURA BOULEVARD •

TARZANA, CALIFORNIA 91356

(213) 344-0153

IMSAI COMPUTER

MODEL 8080 MICROPROCESSOR SYSTEM

$875

ASSEMBLED AND TESTED

INCLUDES CPU, MAINFRAME WITH 22 CARD SLOTS, FRONT PANEL, AND POWER SUPPLY. COMES ASSEMBLED AND READY TO PLUG IN AND ENJOY!

8K RAM BOARD

$225

250 nS ACCESS

LOW POWER

NOT A KIT

ASSEMBLED AND TESTED

• S100 BUS: PLUGS RIGHT INTO ALTAIR/IMSAI, OR ANY COMPUTER USING THE "ALTAIR" BUS

• CONVENIENT DIP SWITCH SELECTION OF ADDRESS ASSIGNMENT AND WAIT CYCLES

• MEMORY PROTECTION DIP SWITCH SELECTABLE IN INCREMENTS OF 256, 512 IK, 2K, 4K, or 8K BYTES

• FULLY BUFFERED ADDRESS LINES ALLOW USE IN LARGE COMPUTER SYSTEMS

18K 2708 EPROM BOARD

INCLUDESALLSUPPORTCIRCUITRYAND SOCKETS READYTO PLUG-IN 16 2708 IC'S

$99

2708'S NOT INCLUDED

ALLOWS CONVENIENT STORAGE AND ALTERATION OF YOUR OWN CUSTOMIZED COMPUTER PROGRAMS S100 BUS: PLUGS RIGHT INTO ALTAIR/IMSAI, OR ANY COMPUTER USING THE "ALTAIR" BUS DIP SWITCH SELECTION OF MEMORY ADDRESS ASSIGNMENT DIP SWITCH SELECTION OF MEMORY WAIT CYCLES ASSEMBLED AND TESTED, NOT A KIT

8K 2708 EPROM PROGRAMMER BOARD

$145

COMPLETE SYSTEM FOR "BURNING IN" PROGRAMS INTO THE ELECTRICALLY ALTERABLE 2708 MEMORY

2708'S NOT INCLUDED

• S100BUS ALTAIR/IMSAI COMPATIBLE

• COMPLETE 2708 PROGRAMMING SYSTEM

• DOUBLES AS 8KN0N VOLATILE PROGRAM STORAGE

• ASSEMBLED AND TESTED, NOT A KIT

2708 EPROMS $18''' 21L02 250 nS $1'''

TOP QUALITY PARTS - NOT SECONDS

74 SERIES IC's 74LS SERIES IC's LINEARS

COMPLETE LISTINGS IN OUR CATALOG

SOROC IQ-120 TERMINAL

$995

• RS-232 COMPATIBLE 24 LINES X 80 CHARACTERS INCLUDING BLOCK MODE OPTION

8080 A $14 POWER SUPPLY 12 VOLT $9«5

PER SCI DUAL DRIVE

$1400

8-INCH FLOPPY WITH IMS CABINET AND POWER SUPPLY

Many other parts available—Just call or write for free catalog

NEW PRODUCTS COMING - WATCH FOR OUR ADS - INFORMATION AVAILABLE

WE WELCOME INQUIRIES

Circle 144 on inquiry card.

BYTE November 1977

81

Mnemonic

Object Code

WIO N

OOnnnnnn

ADD N

01nnnnnn

STN N

lOnnnnnn

JGE N

11nnnnnn

Operation Performed

Wait for input to location N.

Display current contents of Location N while

waiting.

Add data in location N to accumulator.

Store negative of accumulator in location N.

Jump to location N if accumulator is greater than or equal to zero.

Table 1: The instruction set for tlie computer. N is any 6 bit integer. Ttie bits of N are denoted by nnnnnn.

At the same time it also describes a very simple computer, one that can be built by a student as a science project, by a teacher for a laboratory demonstration, or by a novice hacker who just wants to learn about computers without a large investment.

The Instruction Set

The most important task facing the computer designer is choosing the instruction set. In the case of this computer, every effort was made to choose the simplest possible instruction set. Therefore, multiple word instructions, stacks, register files, interrupts and elaborate 10 facilities were not permitted. An 8 bit word length was chosen because it is the smallest size that can be reasonably expected to use one word per instruction. This constrained me to an instruction set of four op codes and a directly addressed memory space of 64 bytes. The instruction set is summarized in table 1.

The ADD instruction is included for obvious reasons. The STN instruction was chosen to store the negative value of the accumulator's contents so that both subtraction and addition could be done. (In particular, by executing STN N and ADD N in sequence, the accumulator can be cleared.)

The JGE instruction is an all purpose test or branch instruction. By clearing the accumulator before executing a JGE, an unconditional branch results. Alternatively, by placing a number in the accumulator, the JGE tests whether the number is positive or negative.

The WIO instruction provides the only means for loading and examining memory. There are no front panel switches for this function, so everything must be done under the control of a suitable program (including the loading of that program itself). Therefore, the WIO instruction requires special attention. When executed, WIO N brings the computer to a halt with the contents of location N displayed in the LED display. At this point, the user will enter data into a

switch register. When the continue button is pressed, the data will be written into memory location N, thus destroying the data just displayed. In effect, the instruction combines the wait, input and output instructions of the conventional computer. A particularly useful application of this instruction occurs when the instruction at location N is a WIO N+1 instruction. At that point the data entered by the user becomes the next instruction to be executed!

The most important program for this computer is the bootstrap program. Other programs are left to the reader to devise. The bootstrap program, which provides the simplest practical way to load data into the computer, is loaded as follows. When the reset button is pressed, the computer will wait to accept data into location 0. The data will be stored, then executed when the continue button is pressed. Needless to say, the data loaded must be chosen carefully if the user is to be able to keep control of the computer. The data that permits this is the WIO 1 instruction. When this instruction is loaded into location 0 and executed, the computer will halt, ready to accept data into location 1. When the continue button is again pressed, the new data is stored. The computer resumes execution with the next instruction in memory, namely, the instruction just entered into location 1. Again, that instruction must be carefully chosen: a WIO 2 is a good choice. The computer will again halt, at which time a JGE 0 should be entered. After JGE 0 is loaded into location 2 and executed, we will have completed entering the bootstrap program. The JGE 0 will unconditionally jump to the start of the bootstrap program (location 0) because the accumulator is cleared at restart time.

To use the bootstrap program, enter pairs of bytes as follows: a 6 bit address followed by eight bits of data to be placed at that address. For example, if, in response to the first two halts in the bootstrap program, we enter an octal 003 followed by an octal 010, then the value 10 will be placed in location 3. In this case, the bootstrap program returns to location zero, where it is ready to accept another pair of bytes. Once a program is loaded, we can execute it by entering the appropriate JGE instruction in response to the next halt instead of the address data pairs.

Hardware for the Computational Unit

The computer is shown in block diagram form in figure 1. The control unit, to be discussed later, interprets the instruction

82

BYTE November 1977

Figure 1: Block diagram of tlie author's computer, wliich is organized around an 8 bit bidirectional bus.

0

CONTROL

STORE

ADDRESS

16 BIT BY 32 WORD CONTROL STORE

H

CONTROL UNIT

CONTROL FEEDBACK

CONTROL COMMANDS

L

L

ARITHMETIC LOGIC UNIT (ALU)

?^

LED DISPLAY

'FS

ACCUMULATOR

c

<J.

7^

7^

<^

ALU-BUFFER

PROGRAM COUNTER

<^

set and generates the control signals which tell the computational unit how to execute instructions. This is a true microprogrammed computer with a 32 word by 16 bit control store. (For control store contents see table 2.) The system is organized around an 8 bit bidirectional bus. Because of this, each module that uses the bus may be built as an independent unit without regard to how the other modules work, an obvious advantage.

When two modules need to exchange data, one will put the data on the bus while the other will read it from the bus. The arrows in figure 1 show the directions in which such data transfers can be made. The only restriction is that no two modules are permitted to put data on the bus at the same time. The use of the bus system allowed me to build the entire computational unit before giving detailed thought to how the control unit would be implemented (the algorithm for successful computer design being "divide and conquer").

The arithmetic logic unit buffer register deserves comment. During an ADD opera

tion, data from memory is placed on the bus. The arithmetic logic unit reads the data from the bus and adds it to the accumulator. The output of the arithmetic logic unit must eventually find its way back to the accumulator. This is done by putting the data on the bus, an action permitted only after the memory is no longer using the bus. The arithmetic logic unit buffer is provided to give a temporary holding place for the sum until the memory can release the bus.

Note that there is no instruction register or memory data register. This represents a departure from conventional computer design made possible by the simplicity of the instruction set. The conventional memory address register and program counter are present, however, and serve their usual purpose.

For even this simple computer, there are some 30-odd signals between the control and computational units. Therefore, I found it essential to establish a system for naming the signals. Names are best chosen to suggest what the signal does as well as the voltage

BYTE November 1977

83

mem-enabl-l| ^

BUS 5 I ^>BUS 4 I ^ BUS 3 I ^ BUS 2 [~^>BUS I I y>BUS 0 I ^ MAR-CLR-L I ^ MAR-CLK r^>

WRITE-MEM-L | ^

^

4D

5D

6D

3D

2D

ID

CLR

CLK

40 5Q SO 30 20 I 0

2Y2

2YI 2Y0

~1 ^ TO THREE OTHER PAIRS OF J ~>l7489'S SIMILARLY WIRED

-o

(IC'S 5 THRU 10)

SEL

A

B

C

D

WRITE

IC3 7489

INI OUTI

IN2 0UT2

IN 3 OUT 3

IN 4 OUT 4

IC4 7489

A

SEL

WRITE

IN I OUT I

IN2 OUT 2

IN3 0UT3

IN4 OUT 4

5V DC

^ PULLUP RESISTOR I (TYPICAL FOR 8) S2.2K

I

T^

-f^>BUS 7 -r~^BUS 6 -f^>BUS 5

-["^>BUS 4

-| ^BUS 3

-| ^BUS 2

-Q^BUS I

-[~^>BUS 0 I

I

Figure 2: The memory address register and tiie memory. Data is addressed by six bits of ttie 74174 memory address register and stored in tine 7489 memories, eacii of wliicli lias 16 4 bit registers. A total of eigfit 7489s are required to malie up ttie 64 byte memory.

required to achieve tire effect. For example, AC-CLR-L is a signal thai, when brought low, clears the accumulator. Conversely, when PC-INCR-H is brought high, the program counter is incremented. The eight bus lines are named BUSO thru BUS7 (in order of arithmetic significance). The master clock is named MCLK; its complement is called CCLK.

The memory and memory address register are shown in figure 2. I chose to base my system around the 7489 64 bit memory integrated circuit largely because I happened to have them. In a redesign, a 2101-based memory might be a slightly better choice, but the present design does have the advantage of showing how multiple chip memories are controlled. Each 7489 contains sixteen 4 bit registers; eight 7489s are required for a 64 byte memory. Data is addiessed by a 6 bit memory address register (a 74174).

The memory address register is loaded with data on the bus by MAR-CLK. Alternatively, it can be cleared by MAR-CLR-L (eg: when the reset button is pressed). The two high bits of the memory address register are decoded together with MEM-ENABL-L by a 74155 decoder. If MEM-ENABL-L is low, the high two bits select one of four pairs of 7489s, and the low four bits select one of the 16 registers in the selected pair. (If MEM-ENABL-L is high, the memory is disabled.) In this way, a byte of memory is addressed. Now, if WRITE-MEM-L is low.

that byte will be written using data from the bus. But when WRITE-MEM-L is high, the complement of the data at the addressed byte will be placed on the bus. The fact that the 7489 complements data stored in it is used to advantage by the STN instruction, as we will see later.

The accumulator (AC), arithmetic logic unit, and arithmetic logic unit buffer are shown in figure 3. The accumulator is constructed from a pair of 74175 integrated circuits. It is cleared by AC-CLR-L (eg: at restart time), and it is loaded by AC-CLK. The sign bit of the accumulator is sent (as AC-GE-L) to the control hardware, where it is used for the JGE instruction. The arithmetic logic unit, in the form of a pair of 74181s, is used in two ways. When executing an ADD instruction, ALU-ADD-L will be brought low, so that the arithmetic logic unit computes AC plus memory. This sum is then latched into the arithmetic logic unit buffer (a pair of 74173s). Once memory is no longer using the bus, BUS-BUF-L can be brought low to place the sum on the bus. The sum can then be latched back into the accumulator to complete the add cycle. Alternatively, to execute the STN instruction, ALU-ADD-L will be brought high. Now the 74181s will compute "accumulator minus one," which is latched into the buffer and eventually written into memory. The convenience of a complementing memory can now be appreciated, since in two's

84

AC-GEL-L

BUS BUS BUS BUS

W^V

BUS 7 I ^

BUS e I ^>

BUS 5 I ^

BUS 1 I ^

iC-CLR-L I ^ AC-CLK I ^

ICIl 74175

3D 40

20 30 40

10

CLR CLK

o

ALU-ADD-L I ^

BUS 3 I ^

BUS 2 I ^

BUS I I ^

BUS 0 I ]>

ICI2 74175

CLK CLR

2D 3D 4D ID

20 30 40 10

complement arithmetic tiie complement of AC-1 is -AC. (With a 2101-based memory, the inversion would have to be done with extra hardware.)

The last part of the computational unit, shown in figure 4, consists of a program counter, LED display, and switch register. The program counter consists of two 74LS161 counters and two three state buffers. (The 74161 is not an acceptable substitute for the 74LS161 because of differences in the way their clocks behave, a fact I learned the hard way. The program counter is cleared by PC-CLR-L. It can be loaded (incremented) on the next clock transition after PC-LOAD-L (PC-INCR-H) becomes low (high). The output of the program counter is enabled onto the bus by PC-BUS-L.

The LEDs are driven by ordinary inverters. The inverters insure that the LEDs are lighted for the high bus lines rather than the low ones. The switch register (a DIP switch) is wired so that a closed switch drives the associated bus line low. This is because the memory complements data. The switch outputs are enabled onto the bus by a pair of 74125 three state buffers under the control of BUS-SWI-L.

33 B2 Bl IC 13

BO

F3 F2 Fl

SI S2

On

SO S3 M

+ 5VDC

^

+ 5V DC

Cn+4

ICI4

SO

74181

S3

A3 A2 Al AO

M F3 F2 F I FO

B3 B2 Bl BO

—m

UF-LOAD-L

BUS-BUF-L

+ 5V A

|,/77

ICI5 74 173

4D 3D 2D ID

CLK N

G2 Gl

40 30 20

CLR M

-| ^BUS 7

I -| ^BUS 6

-[~^>BUS 5 -|"^>BUS4

/77

ICI6 74173

G2

Gl IM CLK

4D 3D 2D I D

CLRlJ^

40 3Q 20 I 0

-| ^BUS 3

-| ^BUS 2 -|~^>BUS I -["^>BUS 0

BUS BUS BUS BUS 3 2 10

Hardware for the Control Unit

The control unit, shown in figure 5, is responsible for providing the various signals in the proper sequence to drive the computational unit. To simplify the design, a microprogrammed architecture was chosen. In this design, the control logic is held in a pair of 74288 programmable read only memories in the form of a 12 word (16 bits per word) microprogram. When one or another word is selected from the programmable read only memory, the individual bits of the selected word are delivered more or less directly to the computational unit as individual signals. For example, the PC-INCR-H bit of the microprogram directly drives the PC-INCR-H line to the program counter. Similarly, the BUF-LOAD-L bit directly drives the BUF-LOAD-L line to the arithmetic logic unit buffer.

Several other lines can be readily identified that are directly driven by the programmable read only memory. From this it is clear that the problem of designing a control unit reduces to deciding which

Figure 3: The accumulator, arithmetic logic unit and arithmetic logic unit buffer. The accumulator Is made up of two 74175 quad D flip flops, while the arithmetic logic unit consists of two 74181 arithmetic units. Two 74173 integrated circuits form the arithmetic logic unit buffer.

85

Figure 4: Program counter circuitry.

BUS 5 I ^ BUS 4 I ^

mclk| ^

pc-clr-l| ^ pc-load-l i ^

BUS 3 I ^

BUS 2 I ^

BUS I I "y

BUS 0 I ^

PC-INCR-H I ^

IC 17 74LSI6I

CLK

CLR LOAD

T

QB OA

BUS-PC-L I ^

LOAD

CLR

CLK

^

ICI8 74LSI6I

OD QC OB QA

2C IC

IC20 AC 74125

3C

2C

I C

3A 2A 4A lA

TYPICAL SWITCH (ONE OF 8)

■| ^BUS 5 I ^BUS4

^5V DC

-470n

TYPICAL LED (ONE OF 8)

IC2I OR IC22 (1/6 7404)

-\ ^BUS3

-| ^BUS 2

-| ^BUS I

-| ]>BUS 0

signals are to be high or low at what time, programming a programmable read only memory to contain this information, an(d devising a way to select the proper word from the programmable read only memory at the proper time so that the appropriate signals can be generated.

Occasionally, microprogram bits do not drive signal lines directly but must first undergo some transformation. For example, in figure 5 we see that the AC-LOAD-L bit of the microprogram is gated with CCLK to create the clock that loads the accumulator. (It would not be permissible to drive the accumulator directly from AC-LOAD-L, because the signal has to be delayed by a half clock cycle.) Similarly, MAR-CLK is derived by gating MAR-LOAD-L together with CCLK, and PC-LOAD-L is created by gating together AC-TEST-L and AC-GE-L, so that the program counter is loaded only when the microprogram allows it and the accumulator is not negative.

The BUSDATO and BUSDATl lines are another case in which a transformation is required. In this case the two lines are

decoded by a 74155 decoder to select one of four possible sources of data for the bus, namely, the switch register, program counter, ALU-BUFFER and memory. These are selected by BUSDATl, BUSDATO values of (L, L), (L, H), (H, L) and (H, H), respectively. This arrangement saves bits in the microprogram as well as insuring that only one device can put data on the bus at any one time. Note that the open collector memory used is logically connected to the bus by enabling an appropriate memory chip. (The memory chips must also be enabled before writing memory.)

In order for the microprogram to deliver its control signals to the computational unit in the appropriate order, some means must be provided for sequencing thru the words in the programmable read only memory. In this computer, we have allocated six bits (BASEO thru BASE4, and OPJMP-H) to accomplish this. First, assume that OPJMP-H is low. "BASE" then determines a microprogram address (the base address) which is fed forward directly to the 74174 microprogram address register. When CCLK goes high, the

86

BYTE N.nTiiiher l'J77

i < *

VV

< *

Talk to your computer for *299 with SpeechLaB.

Use SpeechLab to directly control any S-100 Bus Computer such as Sol, IMSAI, Altair and so on. SpeechLab can teach you almost as much as the Bell Laboratories know about voice recognition, voice control and computer input.

SpeechLab digitizes and extracts data from speech wave form and applies pattern matching techniques to recognize the vocal input. Response is real time. The system features 64 bytes of storage per spoken word and can handle up to a 64 word vocabulary. And recognition after very little practice is 95 percent or better.

$299* assembled and tested

When we talk price everybody's skeptical. And why not? We give you a complete hardware/software system, a 275 page laboratory manual, 95 page hardware manual and high fidelity microphone.

The lab manual includes 35 graded experiments with over 100 tables and graphs. In fact, it's the only introductory volume on speech recognition currently available.

Software includes SpeechBasic Basic programming language in source and

*Available in kit form for slightly less.

paper tape, assembly language speech recognition program in source and paper tape, hardware self-test program in source and paper tape. SpeechBasic plot, correlation, recognition and advanced recognition programs are offered in source.

Hard to believe, you bet. True? A Los Angeles customer says, "I love your kit!!! I have 40 boards and 2 IMSAFs and your kit was the best documented of them all. I love the way you integrated the software and hardware together. I love your lab manual'.'

We loved those comments. They tell the story better than we ever could. The LA customer did ask who the founders of the firm were so he could relate better. They're a couple of

gifted young engineers who got tired of the big firm, big technology trip and decided to take a chance with a better idea.

You can't get better quality You can't get more performance

Sure, more complex, higher price equipment is available for about 50 times more money. It won't do much more than you can do with SpeechLab. And the quality and state-of-the-art engineering can't be any better. We use CMOS design for low power and ultimate reliability.

See SpeechLab at your nearby computer store

Selected computer stores have SpeechLab on display. Visit your nearest. If he doesn't have it, ask him to contact us or simply write us directly.

Heuristics, Inc. D Master Charge

Box B, 900 N. San Antonio Rd. D BankAmericard (Visa)

Los Altos, CA 94022, Phone (415) 948-2542 Acct. No

n Send me SpeechLab. I enclose $299. Date Card Expires

California residents add sales tax. Interbank No

D Send me more information. ( I^a^ter Charge only )

Name Street . City

State

Zip_

In Canada: Trintronics Ltd. 186 Queen St. W. Toronto, Canada M5V IZl Telex 06-22634

Hetaristics

INC.

Circle 65 on inquiry card.

BYTE November 1977

87

Figure 5: The microprogrammed controi unit of tfiis computer

C>MCLK

■OaC-CLR-L {i>PC-CLR-L

{i> BUS-SWI-L 0> BUS-PC-L CZ> BUS-BUF- L {Z> MEM-ENABL-L

'^~^yT%D C>AC-CLK

* IC32 I

C>PC-LOAD-L

88 BYTE November 1977

SOFTWARE = TSC

TEXT EDITING SYSTEM: This 6800 editor is unlike any other micro editor. As well as the usual features, it also includes; content oriented commands, local and global commands, block move and copy, append and overlay features, as well as very comprehensive string manipulators. 5K

SL68-24 MANUALS SOURCE USTING $23.50 CT68-7 OPTIONAL CASSETTE $6.95

PT68-6 OPTIONAL PAPER TAPE $8.00

TEXT PROCESSING SYSTEM: A great companion to the TSC editor. The processor will allow convenient paragraphing, right hand justification, paging, titling, and general text formating. 4K

SL68-29 MANUAL & SOURCE USTING $32.00 CT68-9 OPTIONAL CASSETTE $6.95

TSC 6800 ARITHMETIC ROUTINES

SOAP: A very fast, 4 byte binary, floating point package. Includes

integer and conversion routines as well.

TSC MNEMONIC ASSEMBLER: Another 5800 resident assembler? Yes! But this one is many times faster than others due to a very efficient symbol handler. All the standard motorola options included as well as psuedo ops. It is very modular making it quite easy to adapt to most systems. 5K

SL68-26 MANUAL & SOURCE USTING - $23.50

CT68-8 OPTIONAL CASSETTE $6.95

PT68-9 OPTIONAL PAPER TAPE $8.00

DISASSEMBLER FOR 6800: Now one that is reasonably priced and includes the source listing!

SL68-27 MANUAL & SOURCE USTING $9.00

PT68-7 OPTIONAL PAPER TAPE $4.00

$10.00

A BCD math package with 9

SL68-25

FLOATING POINT PACKAGE

digits of precision.

SL68-4 $6.50

SCIENTinC FUNCTIONS: Requires SL68-4 and provides all scientific functions including SIN, TAN, LOG, LN, HYPSIN, and others. SL68-20 $10.00

DIAGNOSTICS FOR 6800:

No system is complete without a set of

diagnostic programs. Includes 5 memory

tests, serial I/O tests, parallel I/O tests, plus

others.

SL68-23 SOURCE USTING $10.00

MICRO BASIC PLUS: The best small BASIC available for 6800. In just 3'/4 K, a complete interpreter including GOSUB, IF THEM, FOR NEXT, DIM, ON GOTO and GOSGB, READ DATA, plus the functions RND, SPC, TAB, EXP, and ABS. Rve full digit integer math is supported.

SL68-19 MANUAL & SOURCE

USTING $15.95

CT68-5 OPTIONAL

CASSETTE $6.95

PT68-5 OPTIONAL PAPER

TAPE $6.00

SPACE VOYAGE: A full blown Star Trek program written in 8080 and 6800 assembler language. Runs much faster than similar BASIC versions and requires about 1/5 of the memory! Each game is different as you try to save the federation using your phasers, photon torpedoes, and shields. Searching out the menacing Klingons is accomplished using the short and long range scanners as well as moving about by firing the warp engines. Beware of sudden attacks, space storms, supernovas, and other unexpected events. This game is very addicting! 4K

SL68-5 6800 SOURCE

LISTING $12.00

CT68-1 OPTIONAL

CASSETTE $6.95

SL80-9 8080 SOURCE

LISTING $12.00

PT80-1 OPTIONAL PAPER

TAPE $7.00

6800 MULTIUSER SYSTEM!

Now you can have 4 simultaneous users, all running BASIC, and independently! Give your micro the power of a large mainframe. Applica tions include: a great educational tool, small business applications such as multi station inventory system, industrial computer power expanding the personal computer system,.. . etc. The system is presently available only for the SWTPC 6800 computer system and will support cassettes, floppy discs, and a printer. For complete details of the multi-user system, write for our 4 page brochure. MUB-68 $129.95

ALL SOFTWARE CONTAINS: Complete commented source listing, users manual with

complete instructions, printed hex dump, sorted symbol table, and sample output

PROGRAM-OF-THE-MONTH CLUB.''" $2.00 for a one year membership. No obligations!

HOW TO ORDER: All orders should include check or money order. Add 3% for postage and $1.00 for handling for orders under $10.00. Send 25C for complete TSC software catalog.

TECHNICAL SYSTEMS CONSULTANTS, INC.

Box 2574 W. Lafayette, IN. 47906

Circle 146 on inquiry card.

BYTE November 1977

89

Figure 6: A finite state grapii representation of the microcode shown in table 2. The five digit binary numbers shown in each state are the control memory addresses when the computer is in that state. Note that a 4 way branch occurs at state 00010 (left side of the graph), indicating the four different op codes implemented for this computer. The resulting initial states for the four op codes are shown in contrasting color.

base address becomes the new microprogram address, thus defining the next microprogram word to supply control signals. Continued clocking of the 74174 thus causes the microprogram to sequence thru whatever steps it has chosen for itself, and at the same time, to deliver control signals to the computational unit.

To this next address scheme we must add some means of varying the microprogram flow based on the op codes encountered. This is the reason for having the OPJMP-H bit. When it is high, the base address is no longer the next address. The latter is formed by performing a logical OR of the base address with the op code (assuming that the bus holds the instruction to be executed). Ordinarily OPJMP-H will be set

high in a microinstruction that has the two lowest bits in BASE set to zero. In that case, each op code will produce a different next address.

To see the next address scheme in action, consider table 2 and figure 6 in which the microcode for the computer is shown. If we start at microcode address 00000, which is the case when the restart button is pressed, then we find that OPJMP-H is low, so the next address will be at BASE=01000. Subsequent addresses are 01001, 00001, and finally 00010. At this point, OPJMP-H goes high. Let us assume for sal<e of example that an ADD instruction has been placed on the bus (op code = 01). Then the next address will be 00100 V 01 = 00101. The subsequent addresses are then 01010, 01011, 00001,

90

BYTE November 1977

111

CO

<

00

<

CO

LU

in

< oa

Ol

1

o

Ul CO

< m

I s

a. O

D Q <

<

_l

< g

I

o

z

6

Q.

-I □ < o -J

Li.

D CO

-J h

CO

LU

16 <

1<

Q

U3

Z! 00

o 1<

D

(/3

D CO

_l d < o

_J oi: <

_l Q

< o

_1

u <

_1

LU

uj

\s

Control Source Address (Binary)

Programmable Read Only Memory A

Programmable Read Only Memory B

0 0 0 0 0 0 0 0 0 1 0 0 0 10 0 0 10 0 0 0 10 1 0 0 110 0 0 111 0 10 0 0 0 10 0 1 0 10 10 0 10 11 0 110 0 0 110 1

0 0 0 0 0 0 0 0 0 0 0 0 0

1 0 0 1

1 1 0

1

0

1

0

1

0

0 0 1 0

0

1

0 0 0 0 0

1

0

0

1

0 0

1

0 0 0 0

1

0 0 0

0 0 0 0 0 0

0 0

1

0 0 0 0 0 0 0 0 0 0

0

1

0

0 0 1 0 0 0 0 0 0 0 0 0 0

1 1 1 1 1 1 1 1 1

0

1

0

1

0

0

0

1

0

1

0 0

1

0

1

0 0 0

0

0 0

JEnat laddr

ess modification.

Note:

*" Indicates a "don't care" bit.

I Low order address of next program step

i(modified by instruction code of user program tlirough IC33 and IC34).

_)High order address of next program step.

Table 2: Standard microcode to implement the instruction set listed in table I. Six bits of each word (BASE 0 thru BASE 4 and OPJMP-H) have been reserved to tell the computer where the next word in the program sequence is located. For Instance, upon startup, the computer Is at control source address 00000. BASE 0 thru BASE 4 (BASE 4 is the most significant bit) have the values 01000, Indicating that the computer is to go next to control source address 01000, and so on. When control source address 00010 Is reached, OPJMP-H is set equal to I. At this point one of the four possible Instructions will be executed depending on the values of the op code on bus lines 6 and 7 (see figures 5 and 6).

and so on. Note that address 00001 marks the beginning of an infinite microprogram loop that fetches, interprets and executes the instruction set.

One more microprogram bit (WAIT-L) remains to be described. It provides a way to halt our computer at the WIO instruction. As long as this bit remains high, the rather involved network of NAND gates conspires to pass clock pulses so that the microprogram executes freely. But when the WAIT-L bit goes low, a flip flop changes state and permits the clock synchronization network to turn off the clock at the end of the current clock cycle. This stops the computer, but it can still be single stepped by hand so that we can study the microprogram. Clock pulses will remain disabled until the continue button is pressed; then the flip flop reverts to its original state, enabling the clock synchronization network to pass pulses at the start of the next clock cycle. This restarts the microprogram, and hence the computer. The edge trigger on the

continue button prevents the computer from continuing right thru several WIO instructions, (a properly debounced continue button is essential here for the same reason.)

The restart button shown in figure 5 allows us to prime the computer or to abort a malfunctioning program. Pressing it causes the accumulator, program counter, memory address register and microprogram address register to be cleared and paves the way for the bootstrap program to be reloaded.

In table 2 I have listed the version of microcode that implements the instruction set laid out earlier. The various fields are identified at the top of the table, with additional explanatory notes at the bottom. Figure 6 uses the information in table 2 to show a complete state diagram of the instruction set. Each state (a colored circle) is one address in the control memory represented by one line in table 2.

One point worth keeping in mind concerns timing. At the beginning of each cycle.

BYTE November 1977

91

Table 3: Power wiring table for the circuits in figures 2 thru 5.

Number

Type

+5 VDC

Gnd

IC1

74174

16

8

IC2

74155

16

8

IC3

7489

16

8

IC4

7489

16

8

IC5

7489

16

8

IC6

7489

16

8

IC7

7489

16

8

IC8

7489

16

8

IC9

7489

16

8

IC10

7489

16

8

IC11

74175

16

8

IC12

74175

16

8

IC13

74181

24

12

IC14

74181

24

12

IC15

74173

16

8

IC16

74173

16

8

IC17

74LS161

16

8

IC18

74LS161

16

8

IC19

74125

14

7

IC20

74125

14

7

IC21

7404

14

7

IC22

7404

14

7

IC23

74125

14

7

IC24

74125

14

7

IC25

74288

16

8

IC26

74288

16

8

IC27

74174

16

8

IC28

74155

16

8

IC29

555

8

1

IC30

7400

14

7

IC31

7400

14

7

IC32

7402

14

7

IC33

7432

14

7

IC34

7408

14

7

IC35

7410

14

7

DJGJTflL I^JCRQ SVSTE^S

PRESENTS:

A 16K STATIC RAM sm

FORTHES-lOOBUS

Uses the new Intel 2114 4K Static RAM (which will also be built by Motorola, Signelics, Fairchild, National, T.I., Synertek. NEC, Intersil, and Fujitsu, elc). Features complete static operation (No refresh) or clocked ctiip select), soltwaro protect, paging, individually addressable 4K blocks, completely buffered address and daly lines, fully socketed. Available with 8K or 16K of memory, Prices:8K kit-$295; 16K kit ■ $52f>; 8K expansion kit ■ S250 16K assernbled and tested - S595

S-100 BUS TERMINATING CARD =25.

Absorbs noise, owerstioot, ringing, reflection. Plated thru holes, gold plated fingers.

EXTENDER CARD

FOR EASY TROUBLESHOOTING

=16.

With jumpers in power supply lines for cufreni measutemenl. Low profile so card can remain in the machine with the cover on. With edge connector, gold fingers.

PLASTIC KEYBOARD ENCLOSURE

Blank molded ABS plastic enclosure lor use with keyboard, controls, modem, etc. Size ■ 133/^ X 11 y? x2V?, PRICES: Blank enclosure - S20. With cutout for keyboard available from Radio Shack, etc.-S27.

Prices shown include U.S. shipping. Cashiers check or tvl.O. prefered. Personal check may delay shipping 3 weeks. Add S3 lor C,0,D; Purchase Orders add 4% - nel 30 Utah residents add 4.75%.

DJGITRI. fljCRD SvSTEmS BOX 1212, OREfVl. UTAH 84057

Tofl (rce 24 hour Order Dfik (BOO) 453-1444; In Utah coll (801) 324-2102

as CCLK goes high, a new microinstruction will appear at the output of the programmable read only memories. This might cause data to be placed on the bus, or a sum to be formed by the arithmetic logic unit, etc. In any case, by the middle of the clock cycle, when CCLK goes low, it is assumed that all such data has settled. Therefore it will be safe to latch the data set up during the first half of the cycle into some appropriate device. By the end of the cycle, the latched data will also be stable, so that a new microinstruction can be safely executed. In this way we have avoided timing problems without going to a two phase clock. I estimate that the cycle time of the computer could approach 300 ns, although I have not pushed the computer to its limit.

Summing Up

The design of this simple computer will certainly not appeal to everybody. Expanding the design to a 1 2 bit word length would permit much more flexibility in the instruction set, perhaps enough to even make the computer practical. For example, indirect addressing might be thrown in, or a subroutine calling mechanism. The WIO instruction could be broken down into separate wait, input and output instructions, allowing the computer to do things like flash its lights. (The present design comes to a grinding halt with each flash.) A more elaborate bus structure, and some sort of flexible 10 facility are other obvious improvements that one could try. Alternatively, a 12 bit word length could be used to increase the address space. Each of these changes would add to the cost and complexity of the design, but could lead to a more useful computer.

Although the requirements of the bootstrap loader do impose some severe constraints on the instruction sets that can be implemented with this architecture, you will probably want to try a few variations. It might be possible to implement two instruction sets: one defined by the lower 16 words of the programmable read only memory for loading programs, and the other in the upper 16 words for experimentation. A switch would be used to select between the instruction sets.

Once you have mastered the ideas behind the design of this computer, you'll be well on your way to building a serious computer. All you need to do is sit down and write out an instruction set that best fits your personal needs and then implement it in hardware. Bit slice microprocessors such as the AM2900 series offer a very attractive way of doing this."

92

BYTE Nnvemher l')77

Circle 46 on inciuiry curd.

SEE DEALER LIST ON PAGE 165.

t>

corporation

I

i

I

i

•

The most cost effective

products for your

microcomputer*

RM64 64 K bytes

THE EXTENSYS

RM64 MEMORY

BOARD provides

the most cost

effective system

memory found in tine

industry. The Rl\/164 provides this

because of our low cost per byte when

compared to our competition plus the increased reliability of a

single board over multiple boards containing less memory. The

board is S-100 bus compatible making it usable in over a dozen

different microcomputer systems including ALTAI R and IMSAI.

The RM64 is available in three configurations: 32K, 48K or 64K

bytes of memory all on ONE board. The board is completely

assembled, checked out and burned in for at least 50 hours prior

to shipment. This complete testing procedure allows Extensys

to provide a one year warranty on parts, labor and materials

(assuming no misuse of the board occurs).

On board hardware is provided for: - Individual memory bank address selection in 8K byte

increments;

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

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

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

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

Write protection in 16K blocks; and

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

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

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

Circle 58 on inquiry card. Contact your local computer store

or order directly from EXTENSYS I

Please place my order lor the following: QTY DESCRIPTION

RM64.32K byie board ^ S 895 ea.

RM64-48K byle board @Sn95ea.

RMB4-64K byte board (SSUgSea,

louNT ^^^ii^^»corp

B-5

Sublolal

California residents add 6Vi% tax

TOTAL

continental United States

Shipping and handlini] prepaid NAME

ADDRESSCITY

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

Please check method of payment:

Check Enclosed

BankAmericard No

expiraiion date

— Master Charge No,

— expiration date

PHONEdNCLUDE AREA CODE).

A 6502 Personal System Design:

Documenting Kompuutar — A Guide to the Details

The design information inciuded witli tliis article, togettier witti the excelient documentation

provided by MOS Technology on the 6502 design, should be complete enough to enable the

advanced experimenter to build a similar Kompuutar. The details provided here cover a basic

processor, but do not include a detail design of a programmable memory board which is a

necessary part of a usable system. David Brader is currently working on an 8 K dynamic mem

David Brader ory board, With invisible refresh, to be used in Kompuutar. The details of the wiring and con

POB 483 struction of Kompuutar are shown in the several figures, tables and photographs, as well as

Electric City WA 99123 listing J. As a short guide to these materials here is a detailed table of contents to the article.

Front Panel Assembly: This is the circuit with various displays and switches, which is mounted on the front panel, and talks to the front panel interface module via a multiconductor cable from P2 to ]2.

Photo I: User's view of the front panel. page 95

Figure I: Front panel block diagram. page 104

Figures I.I to 1.8: Show circuit details. pages 106 to 114

Photo 2: Rear of the front panel. page 100 Figure 1.9: Physical layout drawing affront panel

(same view as photo 2). page 116

Front Panel interface Module: This is the logical interface between the processor's backplane bus and the front panel. It is the home of address decoding and the read only memory with the front panel service programs.

Photo 2: Shows the cables from the front panel interface module

to the front panel assembly (at the left). page 100

Figures 2.1 to 2.4: Show circuit details. pages 118 to 124

Figure 2.5: Shows the physical layout on a Vector #3677-2

prototyping board. page 126

Table 4: Shows the wiring definitions of the J2-P2 cable from

this board to the front panel assembly. page 102

Central Processing Module: This is the heart of the Kompuutar system, a board which contains the 6502 processor, and associated buffering and clocking circuitry which defines the backplane bus structure of the system.

Photo 3: Shows the component side of the central processing

module, the second card from the left. page 102

Figure 3.1: Shows the logic diagram of the processor card. page 127

Figure 3.2: Shows the physical layout of the processor module

on a Vector #3662 prototyping card. page 128

Table 2: Details the backplane pin definitions (PI of each card)

for the bus of Kompuutar. page 98

TIM Interface Module: This card is provided so that the MOS Technology "Terminal Interface Monitor, " or TIM program, can be used with Kompuutar.

Figure 4.1: Shows the logic diagram of the TIM Interface Module, page 130 Figure 4.2: Shows the physical layout of the TIM module on a

Vector #3662 card. page 132

Miscellaneous Items:

Table 5: Shows a master list of all integrated circuits, where they appear by figure, wiring, map locations for the physical layouts shown, and power wiring connections. page 134

Table I: Shows the allocations of memory for Kompuutar, as implemented here. page 96

Listing 1: Shows the front panel control program which can be used to manipulate Kompuutar without any other monitor program. pages 136-137

94 BYTE Novemhcr 1977

Kompuutar

Kaveat Kompuutar

It is with some trepidation tliat we present tiie details of the Kompuutar design. The design is complete and comprehensive, but Murphy is addicted to complete and comprehensive designs. Thus we'd like readers to be aware that there is a nonzero probability that errors exist in this magazine representation of author David Brader's design. We suggest that serious homebrewers of Kompuutar treat these pages as a detailed design guide, to be used with the standard design documentation of the chips involved. But as with any road map, do not be afraid to question and verify what you see with your own knowledge and experience.

David Brader reports that a local friend of his has built a second Kompuutar from the same set of blueprints which were the source of the circuit in this article. The experiences of the second builder were reflected in his corrections and changes to the drawings which are part of the normal "author proof" cycle applied to articles. Based on our own experiences with microprocessors, this report from David, and a tremendous amount of "desk debugging" of the article, we believe the information presented here is complete and buildable. However we highly recommend that readers who attempt to duplicate the design have sufficient experience with digital hardware and logic so that detailed understanding of its operation is possible. This is not a novice's project.

It all started at WESCON 1975, in San Francisco. It was there that I discovered what a "hospitality suite" is. hi a hotel not far from the convention site, MOS Technology Inc had set up their WESCON hospitality suite. A hospitality suite is a bit like Las Vegas: some refreshments, a couple of elegantly decorative ladies, flashing lights and shiny gizmos, and the age old desire to persuade you and your money to part company.

I decided to stop and at least get a free drink. A man by the bar said, "Help yourself," so, being afraid of a one drink limit, I poured a double. As I left the bar area, I spotted a friend. We struck up a conversation about common friends and assignments, which lasted through half my drink and all of my clearheadedness. As our conversation ended, I noted some blinking LEDs and shiny new printed circuit boards. These boards were surrounded by several professional looking guests, giving the hardware an illusion of significance. So I went over to investigate.

I listened, wide eyed, to the saga of the MCS6502 as I slowly finished my drink. After the story ended, everyone seemed to be forming a line in a different part of the suite. Feeling part of the group now, I moved to the line. A little bit later, I remember being at the head of the line and the last thing I recall was handing two 20 dollar bills to a very pretty lady.

That evening, after sobering up, I discovered what I had done. There on my bed, stark naked, was a bright new MOS Technology Inc MCS6502 microprocessor chip and its manuals. Well, now the only

Photo 1: The completed Kompuutar, viewed towards its front panel. The controls of the front panel are chosen with the Data General NOVA's front panel as a mental model. In addition to the binary data display, there is a 4 digit hexadecimal address display (black rectangle) and an 8 bit binary flag display. The control panel is serviced by a read only memory routine.

BYTE November 1977

95

Backplane |P1|

Pin

Logic Diagram

Designation

iVInemonics

Description

A

+ 5 V

voltage supply

B

IRQ1

interrupt 1

C

AO

\

D

A2

I

E

A4

(

F

A6

V address bus lines

H

A8

/ (even)

J

A 10

\

K

A12

)

L

A 14

/

M

IRQ2

interrupt 2

N

IRQ3

interrupt 3

P

DO

\

R

D2

f data bus lines

S

D4

} (even)

T

D6

j

U

SO

set overflow flag

V

PHICLK

*1 clock

w

MASRST

master reset

X

R/W

read and write

Y

IRQ4

interrupt 4

z

GND

ground

Backplane

Pin Designation

1 2 3 4

5 6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

Logic Diagram

IVInemonics

Description

GND

ground

IRQ5

interrupt 5

A1

\

A3

1

A5

1

A7

\ address bus lines

AS

/ (odd)

A11

\

A13

)

A 15

/

IRQ6

interrupt 6

IRQX

any interrupt pending

D 1

)

D3

f data bus lines

D5

? (odd)

D7

)

SYNC

synchronize

PH2CLK

*2 clock

RDY

ready

PANRST

panel reset

NMI

nonmaskable interrupt

+ 5 V

voltage supply

Table J: Kompuutar bus list. This table gives the backplane socket pin identifications, mnemonics used in the logic diagrams, and a short description of the line's use. The pin designations are the standard ones printed on the Vector prototyping cards and embossed in the typical 44 pin sockets.

thing to do was to build a computer witli tlie cliip. After several days reading, I realized that building a computer Vi/as not going to be all that easy. I also realized that the initial $36.75 investment was but a drop in the proverbial bucket of costs.

Designing the Kompuutar System

Since my $36.75 investment was going to need considerable financial and design support, it was clear that making a project out of the computer would require planning. The first thing I had to accomplish was a specification of the features I wanted in my machine. I had had a good deal of experience with the Data General NOVA 1200 minicomputer, which led me to favor its functional front panel switch setup. With this input, I decided that the new machine would have the front panel functions of master reset, halt, program run, single instruction step, memory examine, examine the next memory location, deposit, desposit to the next memory location, load processor register, and enter data or address information from switches. I also knew that I wanted to be able to display the information on the data lines and address lines. I decided to use hexadecimal LED displays for the address bus information, but not for the data bus. My reasoning was that the address bus is always considered to be a numerical value, whereas the data bus is sometimes considered to be numeric data, but is sometimes viewed as a combination of individual bits. (If the data bus was showing hexadecimal E6 and you wanted to know if bit 5 was on or off.

you would probably have to think for a while to make sure.) Another argument in favor of discrete LED indicators for each bit is the fact that hexadecimal displays are a bit more expensive.

After reading more about the MCS6502, a trait common to the other single chip processors revealed itself. The status register, accumulator, index register X, index register Y and stack pointer register do not come out of the chip on their own sets of pins. All that information was going to be hidden from the operator (me) sitting in front of the machine. I knew I would have to design digital logic to get that information out of the chip and displayed upon some sort of front panel. I even decided to go one step further and build in the capability to set or reset the status flags from the front panel. Being able to throw a switch and set the carry flag, for example, is a very handy capability when debugging a conditional branch in some program.

I decided to use toggle switches for the 16 data inputs because the state of individual switches could then be tested in software and used to control options in a program. This complicates the entry of an address (which is displayed in hexadecimal) but gains an ability to write applications programs which can be modified by the state of these input switches.

With these considerations in mind, the front panel design was firmed up as a starting point for the processor. I then started to work on the detailed logic design of what came to be called Kompuutar in my lexicon. After a month's work, I realized that the

96

BYTE November 1977

organization

ao

The Basic Box (left) and the Peripheral Plate

With no-nonsense organizers from the Digital Group.

Not so long ago, the microcomputer domain belonged to a special group of creative, inventive folks — the inveterate hardware hackers who delighted in making a thing work and didn't really care all that much about how it looked.

The Digital Group was a part of it. Our original microprocessor systems were designed not to require any cabinets at all — they simply worked well.

Of course, along the line we couldn't resist making a good thing look good too . . . and we added our complete line of custom, deluxe cabinets to cover up.

Well, we haven't forgotten those no-nonsense computer builders who just want a way to organize their systems. So the Digital Group has taken a step back to come up with a basic answer: The Organizers — the Basic Box and the Peripheral Plate.

Beautifully simple. No paint. No anodizing. No frills. Just exactly what you need.

The Basic Box houses your CPU, power supplies, fan, switches and I/O connectors in one tight little 16" by 17" package. It's available completely naked — a metal box with a card rack so you can add to it from your own parts supply; or we'll spiff it up for you with optional equipment.

The Peripheral Plate is a piece of bent metal with room for your keyboard, video monitor, two Phi

decks or an audio cassette recorder. All at your fingertips. For organization.

Card rack swings out for service.

Naturally, our basics have down-to-earth prices, too. The Peripheral Plate is a mere $19.50 . . . the basic Basic Box goes for $45 (a little more depending on options).

Want to up your organization? It's simple. Just call or write the Digital Group for details.

Circle 45 on inquiry card.

P.O. Box 6528 • Denver, Colorado 80206 (303) 777-7133

BYTE November 1977

97

front panel logic was going to contain nearly 220 TTL integrated circuits if I implemented it with a conventional logic design. After that false start, I thought about a simplification made possible by a read only memory program, or "firmware" as it is sometimes called. I could replace most of the front panel logic with a program burned into a single read only memory integrated circuit. With a PROM program and 16 bytes of volatile programmable memory, the 6502 processor itself would operate the front panel of the system. The integrated circuit count for the front panel including the programmable read only memory and 16 bytes of volatile solid state memory was now reduced to just over 50 packages.

System Design Philosophy

During the process of designing the front panel, I worked out a total system

Address Range Type of Hardware

0000to3FFF Volatile programmable memory

4000to6FFF Unimplemented

TIM read only memory

Unimplemented

Scratch pad memory with

external visibility Scratch pad memory with

external visibility Scratch pad memory with

external visibility Scratch pad memory with

external visibility Scratch pad memory Scratch pad memory with

external visibility Scratch pad program

begins here Scratch pad

Scratch pad program area Scratch pad memory with

external visibility Scratch pad Read only data input Read only data input Read only data input Write only display Write only display Write only display Idle command address Peripherals Unimplemented Programmable read only

memory allocations for

systems programs

Read only memory

7000 to 73 FF

7400 to 7FFF

8000

8001

8002

8003

8004

8005

8006

8007 to 8008

8009 to 800C

800D

800 E-800 F

8010

8011

8012

8013

8014

8015

801 F

8020 to 80FF

8100 to EFFF

FOOD to FDFF

FEOOto FFFF

Usage of Region

This is the general programmable memory region for user applications programs. Locations 0000 to 01 FF are dedicated to scratch pad and stack use by the architecture of the 6502 processor.

This region is reserved for 12 K of general user memory expansion.

When the TIM monitor interface card is in the system, this area is reserved.

Current accumulator value maintained by

front panel service program Current X register value

Current Y register value

Current processor flag values

Current stack pointer value

Current address register value, displayed through locations 8014 and 8015

Current data at memory location in address register locations 8007 to 8008

Front panel request register (see table 3) Low order address and data switch register High order address switch register Flag data latch and binary display Low order address display latch High order address display latch References cause processor to idle Unimplemented hardware device addresses

This area is expected to be used by interrupt service routines, utility subroutines and the like, programmed into read only memory parts.

This region is allocated to the firmware which controls the front panel. The 6502's interrupt vectors are programmed into the last portion (see listing 1).

Table 2: A memory allocation map for Kompuutar. When interfacing both peripherals and programming to a single memory address space, it helps to make a memory map to keep track of allocations.

design philosophy which goes like this:

• There would be a central processing unit and peripherals. The peripherals would be interfaced to the processor with a minimum of hardware by using memory address interfaces wherever possible.

• The system would be modular. A common backplane would be defined. Each module would be connected to the other modules through this backplane. Each socket on the backplane would be wired pin by pin to every other socket on the backplane.

• An address allocation map for the system would be defined. This would define addresses for hardware (peripherals), firmware (read only memory programs) and main programmable memory use.

The front panel design I had already created follows the first point of this philosophy quite well. It has several separate peripherals. Some are input devices, some are output devices, and some are a combination of both functions. Each is interfaced as a memory address and operated by firmware with a minimum of supporting hardware. Details of front panel operation will be discussed a little later in this article.

The physical arrangement of the design implements the details of the second point in the philosophy. The front panel assembly is connected to the top of a Vector prototyping card which contains the programmable read only memory with the front panel servicing routines. This card in turn plugs into the backplane bus which is implemented with a Vector card cage and edge connectors. By pulling the front panel card out of the backplane, the Kompuutar system can be isolated from the front panel completely. Similarly, the rest of the Kompuutar system is fabricated on Vector 3662 cards. Each card module contains one complete section of the system. These modules include the central processing unit card with the 6502 and bus interfacing chips, and a terminal interface card. Eventually 8 K byte programmable (volatile) memory cards will be part of the system. The cage I used has room for eight memory cards for a total of 64 K bytes. Since the backplane is wired from pin to corresponding pin of each socket, the cards can be placed in any available socket in the card cage. Table 1 shows the definitions of all the bus pins. In developing the system, I used an extender card plugged into the backplane so that I could have access to the various modules with an oscilloscope probe.

The third part of the design philosophy

98

BYTE November 1977

Dynal^te builds the Great Memory

We cut up a Dynabyte 16k dynamic. RAM board and constructed this pyramid to illustrate an important point; Dynabyte designs and builds memory boards, with the same unrtiatched engineering ability and technical skill that went into Egypt's Great P'yramid.

One of the seven wonders of the ancient world, the Great Pyramid has been standing on the des'ert for an^lncredible 4,400 years. Althdugh its enormous base coVjers 13.acres, it is perfectly square. Rising 450 feet, it is as tall as a 37 story building. Over 2.3 million blocks of stone vi^ere used, each averaging 2Va tons. Some weigh 16 tons. Despite their size, they fit together with a tolefance that is less than half the width of a hurnan hair,

Dynabyte builds its 16k dynamic RAM iioards with the same exceptional precision and care. Their reliability is as solid as a rock.

Dynabyte's design meets rigid industrial grade standards. The design is so good, in fact, that one of the largest, most experienced electronics manufacturers has tried to imitate it. (We were

flattered but not surprised; we know how good it is.)

More than 14Q0 microcompu-, ter owners also know how good it is. Dynabyte's 16k dynamic is running in more systeitiis th(pin any other dyriamic memory onthe market. \,

We sdect the best components we can biiy to build the 16k dynamic, because Solid parts rhalke 9 solid memory. Our memory chips, for example, arefactory.prime from . National Semiconductor..

Dyhabyt^'Was the.flrst to deliver 16k dynamic RAlvi's assembled, tested and burned in. And at a price competitive with kits! Each board's complete function is confirmed by three stages of testing and a burn in cycle that runs 72 hours at 70° C (158°).

When we build them that solid we can guarantee them for a full year.

If a Dynabyte board ever needs repair, we provide factory service with a 24 hour turnaround for both warranty and non-warranty work.

The Dynabyte 16k dynamic has the widest compatibility of any dynamic memory. So it will work in your system.

■ The Great Meihoiy by Dynabyte is a solid b)uy. And an economical one.^ Effective October • 1, the new Manufacturer's Suggested Price is reduced from $465 to $399.

Ask for the Great Memory by Dynabyte at your local computer store. If it isn't in stock, tell the owner that he missed another Dynabyte sale, anjj order direct. Telephone (415)494-7817. Cable DYNABYTE. Or mail to Dynabyte, Inc., 4020 Fabian, Palo Alto, CA 94303.

Specifications: 16,384 bytes, National Semiconductor MM5271 chips, S-100 compatible, 350 nsec. access time, 550 nsec. cycle time, transparent refresh, no wait states for 2 MHz 8080 processor, on board clock, 5 watts power consumption, 1 MHz direct memory access, l6k addressing, solder masked, assembled with sockets, tested, burned in, guaranteed one year.

Dynabyte

Builders of the Great Memory

Circle 51 on inquiry card.

BYTE November 1977

99

Photo 2: The reverse side of the front panel assembly for Kompuutar. The various switches, indicators and the front panel electronics board are seen in this picture. The P2-J2 cables run to the front panel interface module at right.

was implemented by picking address allocations. (See table 2 for a detailed list of the allocations.) I decided early in the project that 16 K bytes of memory would be a good start for general programming uses. I had to allocate this volatile user oriented programmable memory, as well as all the addresses for peripheral hardware and "firmware" read only memory programs. The address range of the 6502 is from 0 to 65,535 (0000 to FFFF in hexadecimal). Since the architecture of the chip itself uses addresses

0000 to 01 FF for dedicated functions which must be in programmable memory, I assigned the 16 K byte block of main memory to the lowest part of the addressing range, from hexadecimal 0000 to 3FFF. I was interested in the possibility of occasionally using the MOS Technology TIM monitor, so I reserved locations 7000 to 73FF for use by that program's read only memory. I allocated the control panel scratch memory and peripheral ports starting at address 8000 hexadecimal, with the addresses starting at 8020 reserved for general peripheral use as

1 expand the system. At the end of the address range, I reserved the 4096 bytes from addresses FOOO to FFFF for read only memory containing various systems routines. The high end of this range is reserved for the control panel support program and the interrupt vectors of the MOS Technology 6502 design.

Backplane

The backplane of the card cage (see table 1) carries the address bus, the bidirectional data bus, six vectored interrupt lines, and other functional signals as detailed in table 1. All signals that pass through the backplane are interpreted to be logical 1 or "true" in a low voltage (TTL 0) state. A high voltage (TTL 1) state is interpreted as a logical 0 or "false" state. Each module which connects to the backplane uses TTL inverting buffer circuits for signals sent or received. The +5 V (VCC) and ground (GND) connections are arranged on the card edge connectors such that by plugging a module into the backplane upside down, polarity to the card will not be reversed. This simple arrangement eliminates the need for keying the cards; while it prevents physical destruction of the card due to inadvertent reversal of orientation, 'the system should not, of course, be expected to work with one or more cards reversed relative to the balance of the cards in the system.

The vectored interrupt lines of the backplane are defined by some logic implemented on the central processing unit card (see figures 3). This card contains logic necessary to cause hardware vectoring of interrupt levels to one of the six possible interrupt service routines. The vectoring

Table 3: Control request word layout. The control request word, located at address 8010 in memory address space, is an input to the processor with this format. It is used by the front panel service program of listing I to govern the operation of the panel based on settings of various switches.

Bit?

Bit 6

Bits

Bit 4

Bit 3

Bit 2

Bit 1

BitO

n n

I I Flag I I Flag Select Bits • . Control i i Control Request Functions

0 = CARRY flag

"1"

= setfl

ag

0 = Null command (pass NMI

1 = ZERO flag

"0"

= reset

flag

1 = FLAG MODIFICATION

2 = IRGDIS flag

2 = DEPOSIT NEXT

3 = DECIMAL flag

3 = DEPOSIT

4 = BRK CMD flag

4 = EXAMINE NEXT

5 = Not used

5 = EXAMINE

6 = OVRFLWflag

6 = STEP

7 = NEG flag

7 = HALT

8 = REG LOAD

9 to 15 = Unused

100

BYTE November 1977

p ^\im [L^^aa^ M ^^i^ ^mmm ^

MODEL CC-8 $175.00

4800 BAUD CASSETTE RECORDER

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

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

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

AVAILABILITY - Off the shelf.

6800 CONTROLLER for SWTP

PROVIDES MONITOR AND TAPE SOFTWARE in EPROM. EXPANDS MIKBUG with 1 K of ADDITIONAL ROM PROGRAM.

This is a complete tape controller for the SWTP 6800 system. Has 3 K of EPROM space for your own programs. A 1 K ROM (2708) is provided with all tape and monitor functions. The ROM program is identical to our extensive 8080 ROM program.

Has one ACIA for one or two tape drives, one USART for an additional Serial port and a 4 bit parallel port for motor control. Will control one or two CC-8 or 3M3A drives with the software provided. Can be used with other tape drives controllable with 4 TTL bits if appropriate software changes are made.

Extra serial port is provided for your use with a second terminal or printer. (RS232, TTL or 20 ma)

The ROM program supplements the MIKBUG program and is entered automatically on reset.

AVAiLABiLiTY-off the Shelf. $190.00, Testcd & Assmb. ($160.00, Kit)

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

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

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

Fits all SlOO bus computers using 8080 or Z80 MPU's. Requires 2 MHz clock from bus. Cannot be used with audio cassettes without an interface. Cassette or cartridge inputs are RS232 level.

AVAILABILITY - Off the shelf.

2SIO (R) CONTROLLER $190.00 ($160.00 Kit)

Z 80 BOARD for SWTP COMPUTER: Now you can use the 8080/Z80 software programs in your SWTP 6800 machine. Replaces your MPU board with a Z80 and ROM so that you are up and running with your present SWTP memory and MPC card. $200 assembled and tested. ($160 kit)

AVAILABLE-November '77.

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

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

Naticnal Multiplex Cerpcraticn

U^-^-~

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

-.»-.—»-w.j

Circle 102 on inquiry card.

BYTE NijVL-mlu-r 1977

101

Photo 3: The front side of the backplane framework with card guides. This picture shows the front panel interface module at the left, the central processor module, a gap of several card slots, then the TIM interface module's edge with cables dangling.

is accomplished by using the selected service routine address for the interrupt vector requested by the 6502 processor during its interrupt sequence. The service routines are assumed to reside in programmable read only memory chips located in a separate module ejsevv'here on the backplane bus. The processor hardware also incorporates a priority arrangement of these six interrupts. Thus when two interrupts occur simultaneously the system has no problem: the higher priority one is serviced first. This becomes important when several interrupt driven peripherals are used with the system. An automatic reset function initializes the system when power is turned on, a separate interrupt for the 6502 which is supported on the processor board.

As an alternative to the front panel logic, the memory map of table 2 shows allocations for the MOS Technology TIM monitor integrated circuit, MCS6530-004. This "Terminal Interface Monitor" allows the user

to use an ASCII serial device such as a Teletype or other terminal. In making a board to support TIM, I also included an 8 bit parallel interface to allow the possibility of using a high speed paper tape reader with Kompuutar. Details of the TIM module are shown in figures 4.

Front Panel Logic

Getting into more of the details of the system, I'll concentrate mainly on the place where I started my design, the front panel. The front panel logic is composed of input devices, output devices, 16 bytes of scratch pad memory, logic of the ready and nonmaskable interrupt timing, address decoders, switch debouncers, a data bus multiplexer, command encoder, line buffers and the control program in a programmable read only memory. The overall design of the front panel is found in figure 1, with details spread out in figures 1.1 thru 1.9. Photos 1 and 2 give further details.

There are four input sources of data in the front panel design. Each source is selected by the address decoding logic, which in turn allows the proper source to be input through the data bus multiplexer. The first source of input is the control request register. This source carries data from the command encoder, the flag selection switch, the flag modification switch and the register load switch. Table 3 shows the bit assignments of this source, which is located at hexadecimal address 8010 in memory address space.

The second source of input is the low

Text continued on page 112

Logic Diagram

Logic Diagram

Wire

IVlnemonic

Description

Wire

IVlnemonic

Description

1 to 4

4-5 V

voltage source

21

X800X

)

5

DO

\

22

X800F

\ address selection

6

7

D1 D2

\ data bus lines

23 24

X8013 X8014

j lines

8

D3

)

25

SEL1

1 multiplexer select lines

g

<I>1 CLK

phase 1 clocl<

26

SEL2

10

1>2 CLK

phase 2 clock

27

BSOUT

multiplexer disable

11

IRQX

any interrupt pending

28

—

_

12

A3

address bus line

29

X8015

)

13

D4

1

30

XFEEA

I address selection ( lines

14 15

D5 D6

\ data bus lines

31 32

X801F

16

D7

I

33

—

_

17

A2

)

34

REST

front panel reset

18

A1

> address bus lines

35

ROY

. ready

19

AG

/

36

NMI

nonmasl<able interrupt

20

R/W

read/write

37 to 40

GND

ground

Table 4: Wiring list for the J2-P2 cable. This cable runs from the front panel interface board in the card cage to the front panel assembly, as seen in photos 2 and 3. /In the author's version of Kompuutar, the wiring was direct without use of a plug and jack; in order to simplify nomenclature in presenting the article, we've used a numerical indentification of signal paths as if a 40 wire cable and connectors had been used . . .CH/

102

BYTE Novemlier 1977

Our prices arefantastic Ourservice...is better!

Specialization is the only way of doing a job well. S-100, Inc. is committed strictly to the needs of S-100 based minicomputer systems. We don't sell books. Teletypes, video terminals, or products that do not directly plug into an S-100 bus.

ABSOLUTELY NO BACK ORDERS! If we can't ship from stock, we will return your check. We deliver "off the shelf" — and we intend to inventory not only the best of the S-100 products, but also the items that are the best values as well. We don't plan to inventory everything made for the S-100 bus, but we intend to inventory anything you should have.

We stock mainframes but will concentrate on a variety of memory and interface boards, offering the most popular and the obscure.

If it's made for the S-100 bus, call or write us first... second... or last — but be sure to get our prices before you buy! Write for our complete catalog.

— TYPICAL PRICES ON SOIVIE OF OUR ITEMS —

OUR PRICE

IMSAI 22-SLOT MOTHERBOARD, KIT (List $ 751.00) $ 589.95

Z-80CPU BOARDS—

Our Kit 144.95

Digital Innovations (Similar to TDL) <List $ 169.95) 149.95

TDL ZPU (List $ 269.95) 239.95

S-100 SYSTEM, complete, all self-contained and partially assembled, includes keyboard, power supply, IQ-slot motherboard, Z-80 CPU, 16K of RAM, I/O board with audio cassette, monitor in PROM,

andSK BASIC—all for ONLY 1,495.00

4K S-100 MEMORY BOARD, low-power, 450ns 89.95

8K S-100 MEMORY BOARD, low-power 450ns 144.95

16K S-100 STATIC MEMORY BOARD 439.95

16K S-100 DYNAMIC MEMORY BOARD (assembled and tested) 299.95

CYBERCOM VIDEO BOARD VB1A (List $ 189.00) 149.95

NORTH STAR MICRO DISK, Kit (List $ 699.00) 594.95

All Processor Technology and Cromenco items and TDL Software — LESS 10%

We distribute S-100 Items from all major manufacturers and from many smaller ones.

Unless otherwise specified, all boards or kits are fully socketed (sockets are extra for IMSAI boards or kits).

An organization dedicated to the users of the S-100 bus_

_S-10Q Inc

Circle 118 on inquiry card. m 7WHITE PLACE

CLARK, NEW JERSEY 07066 (201) 382-1318

_j UVl

q_jou.(/iD:

-J m <i

7

I 1- O

St;

C/l

LU

<

Q:

o

o>»

<

IU<J C

tr

a_,

£-g

IQ U-O 1

I

LU

-I

m <

-l5

CD _r

D<H<

i/i

1- I/)

li

</)

Ki

o

n

n

U

(D

CD

CD

<0

LU

in III

in tn

LU

cr

rr

Q

n

n

t

Q

n

o

<

<

<

\

Minors LU

o <QQa:iu(/)(/i tn

^

1 .

\

EAST GNIFICAN YTE DATA WITCHES

z^

o<iu

1

z|^t

_i VI mm

'

inoDtn

zujp ozt rr<iS

o oi^ [r q:=> Li. a. m

Figure 1: Block diagram of Kompuutar's front panel logic. The Kompuutar design uses a read only memory program to manipulate the contents of memory interactively using function switch inputs and solid state display outputs. This diagram serves as a functional road map to the various components of the display and its interface board.

104

BYTE November 1<J77

16384 BYTES for $485.00

assembled (with sockets) : tested - bumed-in - guaranteed

A new higli in SI00 bus memory cost effectiveness. Fully assembled (with sockets), tested, burned-in and guaranteed. 4Kxl dynamic memory chips (the same ones used by the ton in IBM compatible memory systems) combined with self contained contro logic, yield a memory system with these features:

• Low power consumption, total board 5 watts.

• Transparent refresh, which means the memory looks static to the outside world.

• No waiting, hi fact, XRDY is not even connected to the memory.

• Full DMA capability.

• Reliable, low level clock and control signals.

• Three full days testing at 10° C (185° F).

SPECIFICATIONS

Capacity: Addressing: Bus structure:

16384 bytes

16K boundaries • ,,,..,,,,.,,

SI00 - Plug compatible with IMSAI 8080, POLY 88, ALTAIR 8800, BYTE-8, SOL

Address and Data Buffering: <;200 uA, special high impedance buffers - less than one low power Schottky load

Access time: Memory chips:

350 nSec

MM 5271 (National Semiconductor and others) 4K dynamic

Dynaby te Inc.

4020 Fabian Way, Palo Alto Ca. 94303

for more informarion call or write to:

R.H.S, MARKETING dealer inquires invited

2233 El Camino Real B of A & Mastercharge accepted

Palo Alto, California 94306 (415) 321-6639

Dynabyte

® brings to the S100 Bus a state of the art, industrial quality memory system. 16K on a single board for $485.00, Guaranteed for 1 year.

^

Circle 122 on inquiry card.

BYTE NiivciiilK-r l'J77 105

TO FP INTERFACE BOARD

TO FP INTERFACE BOARD I _,ADDRESS OF

XSOIF-*^ SOFTWARE IDLE

^O

I CLEAR

IC40b 74279

IC49b TO 0

STEP

'<y

mS2B 06 *\

lOK L

iZ>

-o

EXAMINE NEXT

-o

P2

TCFP INTERFACE BOARD

-P-XSOOF

i

"ij^Agj—>^l. FP-DPST^-^

C44e 13

-o

NOTE: ALL PULLUP RESISTORS ARE PHYSICALLY

MOUNTED ON THEIR ASSOCIATED SWITCHES.

Figure 7.7; Switch debouncing iogic. Tiiis is a detail iogic diagram suitable for construction of Kompuutar. As in all tlie logic of this design, all resistors are 114 W unless otherwise noted, and standard TTL Integrated circuits are used for miscellaneous functions. Debouncing is done with set-reset flip flops contained In the 74279 part, which we have noted in the discrete logic form internal to dotted lines. The flip flops can be wired out of gates (7400, 7410) if desired, should the 74279 be unavailable in the builder's parts bin. Integrated circuit power wiring for the entire design is summarized by IC number in table 5.

106 BYTE November 1977

MSD

We Beat the Systems!

Now, Everyone Can Afford a Computer System.

Introducing:

MSDD-100

Floppy Disc System software:

The user is provided with two diskettes. One is available for user programs and files, the other contains an array of programs for the system.

An 8080 monitor is provided that permits the user to format diskettes and perform diagnostic checks on the system. In addition, the user is provided with a short Bootstrap loader and a short memory-to-disc routines for dumping existing data onto a diskette. A complete set of disc input-output routines are provided to speed program development around the MSDD-100 system.

A Unk is provided which permits a user to run MITS basic software with the MSDD-100 system. This hnk, provided for MITS basic versions 8K 3.2, 8K 4.0, and Extended basic (4.0/4.1), permits the user to save and load programs on the disc. The Basic link system is quite flexible, supporting three disc drives and cassette I/O. In addition, number matrices may be saved and loaded as named files (versions 4.0 and later only). The link also supports sector level I/O, permitting fast random file operation. 630 128 byte records may be stored on one diskette.

The MSDD-100 Floppy Disc System is a significant advance in low cost, high density mass storage systems. Utilizing the industry standard Shugart SA400 minifloppy^" drive and a highly reUabie LSI controller, the single card MSDD-100 Floppy Disc System represents a major cost/performance breakthrough for the hobbyist and businessman.

Many feamres not provided on the larger disc systems are standard on the MSDD-100 Disc system. The controller will support up to three drives. The controller provides all disc timing fijnctions, therefore no software timing loops are required. The controller also supports three modes of programmed I/O (no DMA). First, there is simple command I/O. Second, diere is a standard interrupt with all command completion and data request conditions interrupting to Restart 7. Third, the controUer has the switch selectable facifity to vector die processor to any of die Restart locations upon generation of an interrupt. This allows data requests and command completion interrupts to be vectored separately. This type of interrupt strucmre is ideal for multi-user / multi-tasking applications.

The controller design is totally synchronous, requiring no "one shots". Ease of maintenance is evidenced by die fact diat diere are no adjustments required for operation.

The controller is a single board design, widi very low power consumption.

For ease of construction, the kit version provides:

1) Preassembled cables

2) Quality IC sockets

3) Silk Screen legend

4) Solder mask

Circle 100 on inquiry card.

MSDD-100 Floppy Disc System speciflcations:

Drive: 89,600 byte maximum data capacity

(formatted)

35 tracks

Variable format: 128 - 1024 byles/ record

User Definable format: 16-2560 bytes / record

Track to track step time: 40 mdliseconds

Average access time: 600 mdhseconds (Random

read/write) Latency: 200 miUiseconds Power requirement: -HI2 V regulated .9A typ,

I.IA max, 1.8 A surge. -1-5 V regulated .5A typ,

.7A max. Controller commands: Read/Write record. Seek, Step in/Step out, Read

track. Write track (format), Read ID field,

Force interrupt (conditional or immediate) Interfacing: Controller to drive: 34 conductor ribbon cable

(provided) Interrupts: standard, internal vectors (switch

selectable) or external vectors I/O: Programmed byte Input and Output Addressing: User selectable port definitions,

occupies six contiguous ports addresses. Controller power requirements: -1-8 Volts unregulated, 200 milliamperes

maximum -1-15 Volts unregulated, 20 milliamperes

maximum -15 Volts unregulated, 10 mUliamperes

maximum

Introducing:

MSDV-100

Video Display Systems:

The Video Display System is a high quaMty 80 character, 24 fine video output device for die S-100 bus. Many advanced features have been incorporated which are normally not found on units costing many times the price.

The character set includes upper and lower case characters as well as ftiU punctuation. Any character can be underUned, a feamre usefiil in work processing. A character can also be made to bhnk at a user selectable rate, often used for alarm or warning situations. Additionally, a character can be made to appear brighter dian normal or to appear in a reverse field (black on white), usefid in order entry or odier appUcations to highhght text.

Also included in the MSDV-100 is die abUity to generate high quaUty forms overlays. Margins can be eidier single or double wide widi continuous

intersections. Charts, graphs, or order entry forms are easy to produce on die video screen.

A diird significant feature of the MSDV-100 Video Display System is the abdity to display continuous grey scale elements in any of nine levels in any of 1920 positions on the screen. This is especially usefid for bar graphs and for grey scale graphics or animations, as well as in forms appUcations.

Though diese capabiUties are standard and provided widi every unit, MSD has the capabUity to generate and deUver MSDV-100 Video Systems widi custom character sets as defined by the user. This could include madiematical symbols, APL characters, or Boolean logic symbols to name a few.

Internally, the MSDV-100 is a two board S-100 based system which occupies 2K of RAM address space and two Input/Output ports. Being a bus device, die microcomputer can write to die screen as fast as it can to any memory. For diagnostic purposes a memory test can be performed on the screen.

Software support for die MSDV-100 is complete wid) both machine language code, including fully commented source listings, and a comprehensive Basic software package implementing all MSDV-100 feamres.

The assembly langu^e drivers allow die sophisticated user to easily customize the system for speciahzed applications.

Programs are provided that permit die user to link the video system to high level programming languages such as Basic. A Unk program, provided in Basic, permits the user widi no knowledge of assembly language programming to immediately obtain video output from diat software. The hnk hiUy implements the forms capabiUty of the MSDV-100, provides direct cursor addressing, and is hilly upwards compatible widi the LSI ADM-3A video terminal.

svsiims ■ ■ ■ MW^,

DEVEiopmEhir ■ ■ M^FHI^/

2765 So Colorado Blvd.Suite 110 Denver.CO 80222 (303)758-74^lX

^ "Beat the System" Introductory Price.

Micro-Floppy Disc System $499

(Assembled) $599

Video Display System $285

(Assembled) $385

Additional Drivers $350 ea.

Diskettes $4.25 ea.

To place Order, send check, money order or BA or IVIC Card # with exp. date and signature. Uncertified checl<s require 6 weeks processing. Phone orders accepted. Please Send me the following: AMOUNT

TOTAL:

Name

Address

City, State, Zip

D Send me more information

BYTE N()veml)er 1<J77

107

Figure 1.2: Flag selection switch. The control panel service program of Kompuutar uses the binary encoded 3 bit value on the output of this switch to determine which processor flag is to be set or reset using an appropriate function selection. This switch is a rotary switch which has three poles and eight positions.

m

Figure 1.3: Front panel data entry switches. The entry of static data is accomplished by 16 toggle switches. These switches are connected to either logical 1 (+5 V through a 1 K resistor) or logical 0 (ground).

S7

I

' TO

I FIG 1,6

;iOK I

FP-REQ5pl^

"A®©®©®©©© /77

D®®®©0

Figure 1.4: Display data selection switch. The control pane! service program uses the binary encoded 4 bit value on the output of five possible words for default display from the control panel scratch pad located at addresses 8000 to 800F. The five addresses selected are for the accumulator (0), X Index (1), Y index (2), stack register (5) or data register (D).

?

FIG 1,7

;iOK I

FP-DSBC

S24A © © © ® © ^r

o©®

oC —i— I'O'^ I

'^ Pi j FP-DSBI A-^

♦ I

I

S24B ®0®©®-5V '" ~ ^ FP-DSB2 1-1-^

S24C ® © © ® ®

AT

O©®®^^

V>

S24D @ ©

^

^W5>

4 4 4 4

■ STACK

■ Y REG

- X REG

- ACCUMULATOR

- DATA

108 BYTE November 1977

% »".*4f m *

DO IT BETTER

With the language that is best suited for your application: Business programming in COBOU Scientific and Engineering in FORTRAN IV, Educational in BASIC, and Systems Implementation in our MACRO ASSEMBLER. |

With hardware that will grow with your application, and protect your software investment.

DO IT FASTER

With extensive support and utility programs to speed development of your applications software. These include a Diskette Operating System, Kelocatable Linking Loader, Load Module Library Editor, Symbolic Debugger, and Text Elditors. ■

With a 16 bit processor that includes hardware multijjly and divide, real-time clock, and peripherals like single or dual chskette subsystems vvitli intc^gral DMA controller. „

DO IT WITH A MicroNOVA

't^ I

lip' . "■•, ,,|i,l''i

If you are serious about computing, call or write today. BPI Inc., 2205 East Broadway. Suite ti. Tucson, Arizona 85719 (602) 326-6975

wm ,.■§

® NOVA i! a registered trademark of Data General Corporation, Southboro, Massachusetts Circle 15 on inquiry card.

^A A A 1^-4

->

o

in 1^

inO

I <

<r

O LlO - ttCQ

—-d

6

-0

"'A

-^

ro OJ —

rC

A

— ^ 11—I q a.

ri

n

._l

UA

m u o o

in a)|

< o

h-ti hmhm

CD U)

Q Q

p. ccq:

S< A

' o ^ o _ 121 . I- ?m I12J

-1-6

i-^

110

BYTE November 1977

Figure 1.5: Control logic for front panel functions. This logic generates the function request code (read from address 8010 bits 0 to 2), and controls the NMI line of the 6502 to implement single step execution of the processor.

P2

TO FP INTERFACE BOARD

FROM FIGURE:

FP-LBO

IZ>

oooo

1.7 C>

FP-HBO

1.7 1.5

FP-RAMO

FP-REQI

FP-LBI

FROM figure:

1.5 n>

FP-REQ2

1.2

1.7 I.I

FP-LB2

o

oo

FP-HB2

FP-REQ3

o

1.7 \Z>

FP-HB3

FROM FIGURE:

I.I

1.2

1.7 1.3

1.2

oo

iz>i:>o

FP-REQ5

1.7 C>

IC69 74153 SI

7

1070 74153 SI

7

IC7I 74153 SI SO

FROM FIGURE

TO FP INTERFACE BOARD

IC74

DM8835 TRISTATE

BUFFER

INTERFACE

-Cm

P2

TO FP INTERFACE BOARD

FP-DO

FP-D2

7 /77

IC74

DM8835 TRISTATE

BUFFER

INTERFACE

-Cm

P2

TO FP INTERFACE BOARD

FP-D4

FP-D6

/77

-wwww

TO FIGURES " 1.7, 1.8a - 1.8c

IC4a 7404

Figure 1.6: Data source multiplexer and bus interface. The sources of data read from the front panel logic are four: the two 8 bit data entry switch registers of figure 1.3, the 8 bit control request word from figure 1.5, and the output of the scratch pad programmable memory (lines labeled "RAM") from figure 1. 7. These are selected by a 2 bit addressing code generated on the front panel interface board of figures 2.

BYTE NovcmlMi- 1977

111

Text continued from page 102

order byte of the data entry switches. The eight toggle switches of this switch register are used to enter a byte into the data bus or into the least significant byte of the address register which is maintained by the control panel program in its scratch pad. These toggle switches are located at address 8011 in memory address space.

The third source of data for the control panel program is the set of toggle switches which define the most significant byte of an address. These eight switches are located at address 8012, and are only used for address inputs.

The last source of data is the output of the 16 byte scratch pad memory in the control panel. The scratch pad responds to addresses 8000 thru 800F.

The address decoding logic is found in figure 2.1. The outputs of this decoding logic include miscellaneous individual ad

dress selections, plus the selection signals which are used to control the data input multiplexer found in figure 1.6. The selection signals are generated by the priority encoder IC35, and are used to pick one of the four sources for routing to the bus interface gates IC73 and IC74. These gates connect to the backplane data bus from the front panel via P2's connecting cable between the front panel and the front panel interface board.

The front panel also includes several possible outputs for data. In addition to the input possible from the scratch pad, the processor can address and write data to the scratch pad in any one of the locations 8000 to 800F. The actual contents of the data in the scratch pad can be displayed for addresses 8000, 8001, 8002, 8003, and 800D by moving the rotary switch S24. This switch (see figure 1.4)

Text continued on page 116

P2

TO FP ASSEMBLY BOARD t

FP-R/W

FROM FIGURE

i.e

FROM FIGURE I.I

TO FP , ^ FP-RDY

INTERFACE ^1>'^^ ""^ BOARD

FROM FIGURE

r-l-v^FP-DSBO

+ 5V +5V +5V +5V 4 <k ^ A

P2

TO FP ASSEMBLY BOARD

FROM FIGURE 1.6

Figure 1.7: Front panel scratch pad programmable memory. The front panel Implements a 16 byte scratch pad programmable memory at addresses 8000 to 800F. This memory is used for data storage and for storage of a scratch pad program segment which is modified during execution of the front panel service routines.

112

BYTE Novemlier 1977

I^JCHDTECh SOFTWARE

Microtech, Incorporated continues to provide a number of sophisticated software packages for microcomputer users. Our software is created expressly for microprocessors, making it fast and memory-efficient. Our higher level language, MICROTECH BASIC, provides features never before offered for microcomputers, and our applications and documentation allow even first-time users to be up-and-running quickly and effortlessly.

MICROTECH BASIC is designed with great flexibility. The structure easily accommodates driving a wide range of peripheral devices through BASIC commands. The language is constructed expressly for Z-80 based microcomputers, affording a truly sophisticated higher level language with a small (under 7 K without I/O drivers) memory requirement. Briefly, MICROTECH BASIC has all of these features:

• FULL FLOATING POINT ARITHMETIC PACKAGE (Integer version also available, see below)

• COMPLETE STRING VARIABLE PACKAGE.

• TABLE DRIVEN VARIABLE STORAGE - reduced memory overhead for variable storage.

• MASS STORAGE DATA FILE HANDLING - allows data to be read or written to mass storage devices either sequentially or randomly.

• MASS STORAGE PROGRAM FILE HANDLING - a full directory based program file capability has been implemented. Commands available include PGRM (used to create a directory entry), SAVE, ERASE, LOAD, and RUN (load and go).

• COMPLETE PROGRAM OVERLAY CAPABILITY - a powerful programming technique that allows an executing program to load and execute any other program currently in the directory with all variable values passed to the new program.

MICROTECH BASIC is currently available in audio cassette form for Digital Group Z-80 systems. We have hooked MICROTECH BASIC to our own Phi-Deck driver software to create TOS (Tape Operating System) BASIC. Up to four Phi-Decks may be used for mass data and program storage. All tape control is provided through BASIC commands. This package, with all audio, video, and mass storage drivers, requires roughly 9.5 K. A minimum 18 K system is recommended

MICROTECH BASIC will soon be available for many Z-80 based microcomputers and will include a variety of drivers for tape and disc mass storage systems. Write for complete details.

APPLICATIONS APPLICATIONS APPLICATIONS

MICROTECH has an extensive library of applications written in MICROTECH BASIC. As examples, we have:

• BASIC GAMES — a collection of 10 programs on tape (to be used with our Phi-Deck BASIC). This is a comprehensive package including Casino Games, Educational Games, Space Battle, and Tic-Tac-Toe.

• PERSONAL CHECKBOOK MANAGEMENT SYSTEM - a group of programs that allows checkbook management, bank reconciliation, and tracking of deductibles for tax purposes. It uses a single tape drive for programs and data storage.

You may purchase our products through computer retailers or directly by mail.

PRICING

TOS BASIC (for Digital Group Systems) - includes BASIC (with Floating Point), data tape formatting routine, and deck-to-deck copying

routine — 28 page user's manual and free updating service $64.95

TOS BASIC (for Digital Group Systems) — Integer Version (arithmetic range -h2, 147,483,647) — includes

all of the features listed above $59.95

(specify 32 or 64 character video when ordering)

BASIC GAMES - Program tape and documentation $20.00

PERSONAL CHECKBOOK MANAGEMENT SYSTEM

Program tape and documentation $30.00

Dealer and Manufacturer Inquiries Invited

£ BRUNSWICK, N. J. 08816

INCORPORATED

Circle 88 on inquiry card.

BYTE November 1977 113

(a)

+5V

FROM FIGURE

p^ FP-DTINO

P2

TO FP ASSEMBLY BOARD

FROM FIGURE .6

(b)

FROM FIGURE

FP-DTINO

FP-DTIN I

P2 [|5>

TO FR INTERFACE I

BOARD I

I

r^ FP-DTIN 2 p-^ FP-DTIN3

FROM FIGURE 1.6

FROM FIGURE 1,6

o

i2>

[io>

FP-*2CLK

o

FP-DTINO

FP-DTIN I

FP-DTIN3

FP-DTIN4

o

I

TO FP INTERFACE BOARD

I 0 65 5082

2 H.P. 4

ENABLE BLANK

10 66 50827340

2 H.P. 4

ENABLE BLANK

IC67

5082

7340

H.P

ENABLE BLANK

IC68

5082

7340

H.P.

ENABLE BLANK

Figure 1.8: Displays. The front panel displays are detailed here: (a) is the output latch used to drive LED indicators for the eight flag bits, located at hexadecimal address 8013. At (b) are the four digits of hexadecimal address lamp display, addressed at locations 8014 and 8015. These displays incorporate latching logic as well as the needed decoding of 4 bit hexadecimal patterns into an array of LED dots. And at (c) are two miscellaneous indicators for the front panel.

(c)

P2

TO FP ASSEMBLY BOARD

I

IC60

7416

I

f H I O ^ /

|>o§ ^

ID

(INTERRUPT)

iS>

FP-RDY 9'

^

RD

(RUN)

114

BYTE November 1977

Applicotion Software!

""■^"M. ,„

so

fc-- ■ ■•'•*..,, r 1 )

fVWA^^ V

,i«K^^^^

vol""' 1

—' '' -a

i HASK

'%*'TWARK

LIBRARY

tCa V O L O M t II

v.^"

You can buy software from anybody

but ours works in your system.

We only sell one product, Quality.

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

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

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

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

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

• Virtually Machine Independent — these programs are written in a subset of Dartmouth Basic but are not oriented for any one particular system. Just in case your Basic might not use one of our functions we have included an appendix in Volume V which gives conversion algorithms for 19 different Basic's; thats right, just look it up and make the substitution for your particular version. If you would like to convert your favorite program in to Fortran or APL or any other language, the appendix in Volume II will define the statements and their parameters as used in our programs.

Over 85% of our programs in the first five volumes will execute in most 8K Basic's with 16K of free user RAM. If you only have 4K Basic, because of its' lack of string functions only about 60% of our programs in Volumes I thru V would be useable, however they should execute in only 8K of user RAM.

All of our programs are available on machine readable media. 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. 1 — $24.95

Vol. Ill — $39.95

Bookkeeping

Advanced Business

Games

Billing, Inventory

Pictures

Investments

Payroll

Vol. II - $24.95

Vol. IV - $9.95

Math/Engineering

General Purpose

Plotting/Statistics

Basic Statement

Vol. V - $9.95

Def.

Experimenter's

Program

SCIENTIFIC RESEARCH

1712-B Farmington Court, Crofton, MD 21114

Phone orders call (800)638-9194

Information and Maryland residents call (301)721-1148

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

AVAILABLE AT MOST COMPUTER STORES

Master Charge and Bank Amerlcard accepted.

Our Software is copyrighted an(j may not be reproduced or sold.

BYTE Novcmher 1977

115

so

IO so

,;

t\j

iO v^

S

Ul

gO '

"T

aO

iO

ID

i©

CO

cn

CO

ft O <

5^©

CO

r

1^

in

^

5

s?©

3:

to o

si©

5:

i©

r-\ (^^

'^

v^

(Jl

OCD -O O^ ^ CMO GlD X '^O Oif) ^O OCO -o O^- to ^O

i©

CD

(0

U3 CD

"s|©

01

's|©

o

1

Oin -^-O Oro _o or- rg <^0 0(fl X mo Ou^ rt O

g|®

si©

CD

Si©

^

OiD ^ rOQ CMn_ ^^O

o

incD /"T^

Gi©

5:

OU) ^—N,

?5

ry 1

' 5?©

:2

5?©

(S)

i©

"gi©

y Q CO

(S)

5 in

g©

in

DDO DDI DD2 DD3 DD4 DO!

O O O O O c

0

r^

5

o

o

^

frt

™

£0 --0

ID t/1

Text continued from page 112

defines an address value which is presented to the 7489 scratch pad memories IC6I and iC63 by 74157 multipelexer IC62 when the scratch pads are not being referenced by the processor. Since the control panel program references the scratch pad only occasionally, the normal state is an address selected by S24 determining which of the five scratch pad locations is seen in the display lamps for scratch pad data. Thus the scratch pad memory has several potentially visible bytes of memory address space and acts as an output device.

A second output device is an 8 bit data latch whose outputs activate eight discrete LED devices. This device, located at address

8013 in memory address space, is used to display the processor's status register bits. The front panel control program is responsible for maintaining current information in this display (as is the case with all the display outputs).

Address display information is latched into four digits of hexadecimal display provided by Hewlett-Packard HP5082-7340 parts, IC65, IC66, IC67 and IC68 in figure 1.8b. Each of these displays has a built-in 4 bit data latch which retains information defined by writing to the memory locations

8014 (low order) and 8015 (high order). Two miscellaneous indicators are also

included in the design. These single bit LED displays are connected to the processor's ready (RDY) and main interrupt (IRQ) lines. The RUN indicator lights

Text continued on page 119

Figure 7.9: Front panel mechanical layout. This is a detail drawing to scale of the physical layout of the front panel as seen in the photographs, along with the front panel electronics board which is mounted on standoffs behind the panel.

NOTES:

1. All ICs except locations El and E2 are Texas Instruments SN74XXX series TTL logic. El and E2 are three-state bidirectional bus drivers made by National.

2. Switches SI thru S6 are AIco model MTF-206SA.

3. Switches S8 thru S23 are AIco model IV1TF-106D.

4. Switch 87 is a Centralab model PA-2009 rotary.

5. Switch S24 is a Centralab model PA-2011 rotary.

6. RD, ID, DDO to DD7 and SDO to SD7 are discrete LED displays. HP model 5082-4860.

7. X1-X4 are dot matrix hexadecimal LED displays. HP model 5082-7340.

8. All pull up resistors shown on schematics in conjunction with front panel switches are mounted on those switches.

116

BYTE November 1977

^^>5''^^^«

FUNCTION:

HARDWARE REQUIRED:

OPTIONAL HARDWARE:

SOFTWARE REQUIRED:

MEMORY UTILIZED:

MNEMONICS UTILIZED:

PSEUDO-OPERATORS: PROGRAM OPERATION:

SOURCE FORMAT:

DOCUMENTATION:

SPECIAL FEATURES:

OPTIONS:

Assembles programs written in symbolic language for an 8080 CPU on an 8080 based system.

8080 computer with minimum of 4K memory (of which at least IK should be RAM); a source listing input device; an object code output deyice.

A system console device such as a keyboard/CRT or keyboard/printer will allow convenient control of the program using executive commands; additional memory beyond 4K will allow expanded symbol table length, or capability to assemble directly into memory.

User provided I/O driver routines for whatever I/O devices will be utilized. Each I/O device is linked to the program by a single vector for ease in adapting the program to individual systems.

The assembled listing provided in the manual resides in pages 01 through OA (hexadecimal - 001 through 012 octal). Pages 00, part of OA, all of OB and OC (hexadecimal — 000, part of 012, 013 and 014 octal) are left available for user provided I/O routines. Pages OD (hexadecimal — 015 octal) on up used for symbol table storage (or as direct assembly areas in systems with sufficient memory).

This program is written in, and accepts for assembly purposes, standard industry accepted mnemonics for the 8080 CPU (such as MOV A,B; INX H: CALL; etc.) |Note: SCELBI is discontinuing its use of special 8008 compatible mnemonics which have characterized its 8080 programs in the past.]

Accepts the ORG (originate), END (stop assembly), SET (define a name), DB (data byte), DS (data string) and DW (data word or double byte) pseudo-operators.

The program processes a source listing in two passes to produce assembled object code. An optional third pass allows an assembled listing to be obtained. Listings may be obtained in hexadecimal or octal format. The program will also display the contents of the symbol table at the operators request. The program can process source listings as single or multiple files. Program operation may be controlled from a console device using executive commands or through computer panel switches by jumping to appropriate locations within the program.

Convenient, easy to use, variable length fields permitted. Labels may be 1 to 6 characters in length, accepts both hexadecimal and octal numbers with or without leading zeros, has "literal" capability (can accept ASCII characters directly as data), allows use of letters of numbers as CPU register operands.

Thorough - in the SCELBI tradition! The program manual describes the operation of the assembler, presents detailed discussions of all major routines, and contains two completely assembled listings (one provided in hexadecimal and one in octal notation). Of course it includes operating instructions and even provides a routine that may be used for loading programs produced by the assembler!

Because the program has been carefully organized and written with all memory references assigned labels, it may be readily reassembled to reside in any general area in memory. It may even be reassembled to reside in ROM provided that some RAM area is available for scratch pad and symbol table use!

A punched paper tape of the object code for this assembler (as described in the documentation) is available. The object code tape is provided in the widely accepted "hexadecimal format." Also, the complete, commented source listing of the program as presented in the documentation is available in straight ASCII format on punched paper tape. Fan-fold paper tapes arc provided for ease in handling. Additionally, opaque paper tape is supplied to facilitate the use of low cost optical paper tape readers now in widespread use. NOTE: Paper tapes are sold only as optional supplements to the documentation.

OPTIONAL PAPER TAPE NOW AVAILABLE

8080SA-SPT: $39.00

Circle 124 on inquiry card.

mcoNiumMG wc.

^^ M°f °"'ceBox133PPSTN Milford.CT 06406 Dept.B

UYTE N.)

n-iiil,cr 1977 117

118

BYTE November 1977

Text continued from page 116

up when the machine is in the run mode, and the interrupt indicator remains lit while an interrupt is pending. Interrupt control logic is contained in the devices requesting an interrupt, with the processor's priority encoder defining the backplane signal IRQX (backplane pin 12) which indicates that some interrupt is pending (and also signals the processor through its IRQ input, pin 4.) Thus when interrupt driven 10 is used, the interrupt indicator lamp will flicker if appreciable interrupt processing wait states occur as various devices request attention.

Other Front Panel Functions

The front panel logic includes logic of the ready (RDY) and nonmaskable interrupt (NMI) timing, shown in detail in figure 1.5. These lines are used to generate signals which affect the processor in a manner very similar to interrupts. The HALT and single STEP switch are used to generate signals for these lines. This timing logic causes the 6502 processor and its control program to implement fairly conventional single stepping and program halt or restart functions. HALT or STEP switches are used to cause the processor to complete the present instruction, then execute one more instruction. Any other switch activated on the front panel causes this logic to allow the processor to complete only its present instruction. The hardware protocol of this logic locks out all front panel functions when the processor is running, except for the HALT switch.

The front panel's interfaces to human fingers are through various function switches. These switches are debounced using set-reset flip flops which come four to a package in the 74279 part. The debouncing logic guarantees that only one pulse is received for each activation of a switch.

Getting Kompuutar Into Operation

The operation of the front panel's control logic with respect to the actual processor

Figure 2.2: Buffering of processor control signals at the front panel interface module.

J2

TO FRONT PANEL

I I

[l5>

FP-RESET

I

I I I I

I I

IC22 7414

FP-RDY ir^\2

—-^y^

BACK PLANE PROCESSOR CARD (-5V

I

I I

I I

I

> R20

BP-SYNC ® S ' '^

J2

TO FRONT PANEL

BP-IRQX

IC 22 7414

^

FP-IROX

I I

I 1 I

I ,

[je>J

BP-OCLK

©

tRI4 ;560

X^>^^[J>J^^

<il>

6 FP-*CLKI I

E>

-iI>CLK2Cj)

LRI5 ■ 560

^

FP-<I>CLK2

I I

o

. Rl • 560

llJ>OPl3r>S.L2

{lO>

-^2fi>

IC20 7414

Figure 2.1: Front panel interface module address decode logic. This logic decodes the several addresses in the 8000 to 801F range which are used by the front panel design of Kompuutar. Since 3 bit decoders are used, octal intermediate terms are used to symbolize the outputs of the 74138s prior to logical sums performed by the 74260 OR gates. Outputs of the circuit are discrete select lines for several addresses, plus two source selection lines for the data bus input multiplexer of figure 1.6.

BYTE November 1977

119

Our Dealers

ARIZONA

Personal Computer Place, Mesa (602) 833-8949; Bits & Bvtes Computer Shop, Phoenix (6021 242-2507; Byte Shop West, Phoenix (602) 942-7300; Byte Shop, Tempo (6021 894-1129

ARKANSAS

Computer Products Unlimited, Little Rock (501) 371

0449

CALIFORNIA

Microcomputer Center, Anaheim (714) 527-5261; Byte Shop, Berkeley 1415) 845-6366; Byte Shop, Burbank (213) 843-3633; Sunshine Computer, Carson (213) 327-2118; Computer Center, Costa Mesa (714) 646-0221; Micro Computers, Fountain Valley (714) 963-5551; Byte Shop, Fresno (209) 485-2417; Bits n Bytes, Fullerton (714) 879-8386; Computerland, Hayward (415) 842-2983; Computerland, Inglewood (213) 776-8080; Byte Shop, Lawndale (213) 371-2421; A-VIDD Electronics, Long Beach (213) 598-0444; Byte Shop, Long Beach (213) 597-7771; Computerland, Mission Viejo (714) 770-0131; Computer Emporium, Newport Beach (714) 540-8445; Computer Mart, Orange (714) 633-1222; Byte Shop, Palo Alio (415) 327-8080; Byte Shop, Pasadena 1213) 6843311; Executive Office Equipment, Pasadena (213} 449-1776; Byte Shop, Placentia (714) 524-6380; Dunston Enterprises, Redding (916) 246-1170; Byte Shop, San Diego (714) 565-8008; Computer Center, San Diego (714) 292-6302; Computerland, San Diego (714) 560-9912; Byte Shop, San Francisco (415) 4310640;Ximedia, San Francisco (415) 566-7472; Sunny Sounds, San Gabriel (213) 2871811; Byte Shop, San Jose (408) 377-4685; Computer Room, San Jose (408) 220-8383; Computerland, San Leandro (415) 8959363; Byte Shop, San Rafael (415) 457-9311; Computer Electronics, Santa Barbara (805) 965-7984; Pete's Electronics, Santa Barbara (805) 965-8551; Affordable Computer Store, Santa Clara (408) 2495834; Byte Shop, Santa Clara (408) 249-4221; Computer Power and Light, Studio City (213) 760-0405; Byte Shop, Tarzana (213) 343-3919; Byte Shop, Thousand Oaks (805) 497-9596; Computerland, Tustin (714) 644-0542; Upland Computer Labs, Upland (714) 981-1603; Byte Shop of Diablo Valley, Walnut Creek (415) 933-6252; Byte Shop, Westminster (714) 894-9131; Computer Playground, Westminster (714) 898-8330; Computer Components, Van Nuys (213) 786-7411

COLORADO

Byte Shop, Boulder (303) 449-6233; Mighty Mini Company, Denver (303) 674-5753; Byte Shop, Englewood (303) 761-5232

CONNECTICUT

J R V Computer Store, Hamden (203) 281 1453; Office Services of Hamden, Hartiden (203) 624-9917; Computer Store, Windsor Locks (203) 527-0188

FLORIDA

Byte Shop, Fort Lauderdale (305) 561-2983; Microtech Services, Gainesville (904) 376-2371; Computer Hut, Hialeah (305) 558-8080; Computer Store, Jacksonville (904) 725-8158; Delta Electronics, Lcosburg (904) 728-2478; Electronic Shop, Melbourne (306) 259-4025; Byte Shop, [Vliami (305) 264-2983; Economy Computing Systems, Orlando (306) 678-4225; Marsh Data Systems, Tampa (813) 886-9890; Microcomputer Systems, Inc., Tampa (81 3) 879-4301

GEORGIA

Computer Systems Center, Atlanta (404) 231-1691

HAWAII

Microcoinputer Systems, Honolulu (808) 536-5288;

Small Computer Systems, Honolulu (808) 946-3859

ILLINOIS

Computerland, Arlington Heights (312) 256-6488; Champaign Computer Co., Champaign (217) 3695883; Numbers Racket, Champaign (217) 352-5435; itty bitty machine company, Evanston (312) 3286800; Nabih's, Evanston (312) 869-6140; Bits and Bytes, Posen (312) 389-71 12; American Microprocessors, Prairie View (312) 634-0076; Lillipute Computer Mart, Skokie (312) 674-1383

INDIANA

Data Domain, Bloomington (812) 334-3607; Data Domain, Fort Wayne (219) 484-7611; Byte Shop, Indianapolis (317) 842-2983; Computers Unlimited, Indianapolis (317)849-6505; Data Domain, Indianapolis (317) 251-3139; Home Computer Center, Indianapolis (317) 251-S800; Audio Specialists, South Bend 1219) 234-5001

IOWA

Micro Bus Inc., Cedar Rapids (319) 364-5076

KENTUCKY

Data Domain, Lexington (606) 233-3346; Computerland, Louisville (502) 425-8308; Data Domain, Louisville (502) 456-6242

LOUISIANA

Computer Electronics, Baton Rouge (504) 926-6169;

Computer Shoppe Inc., Metairie (504) 454-6600

MARYLAND

Computerland, Rockville (301) 948-7676; Computer

Workshop, Rockville (301) 468-0455

MASSACHUSETTS

Computer Warehouse Store, Boston (617) 261-1100;

Computer Mart, Waltham 1617) 899-4640

MICHIGAN

Computer Mart, Royal Oak (607) 273-3271; Computer Systems, St. Clair Shores (313) 779-8700; General Computer, Troy (313) 362-0022

MINNESOTA

Microprogramming Inc., Burnsville (612) 894-3510; Computer Room Inc., Egan (612) 452-2567; Computer Depot, (Vlinneapolis (612) 927-5601

MISSOURI

Compu Systems, Rockporl (

!16) 744-2602

NEW JERSEY

Hoboken Computer Works, Hoboken (201) 420-1644; Computer Mart, Iselin (201) 283-0600; Computerland, Morristown (201) 539-4077; Mini Computer Suppliers, Inc., Summit (201) 277-6100

NEW YORK

Computerland, Buffalo (716) 836-6511; Computer Enterprises, Fayetteville (315) 637-6208; Computerland, Ithaca (607) 277-4888; Ithaca Audio, Ithaca (607) 273-3271; Byte Shop East, Levittown (516) 731-8116; Computer Microsystems, Manliasset (516) 627-3640; Computer Shoppe, IVliddle Island (516) 732-4446; Audio Design Electronics, New York City (212) 226-2038; Computer Mart of New York, New York City (212) 686-7923; Computer House, Inc., Rochester (7161 654-9238; Computer Corner, While Plains (914) 949-3282; Microcomputer Workshop, Williamsville (716) 634-6844

OHIO

Cincinnati Computer Shop, Cincinnati (513) 7335706; Cybershop, Columbus (614) 239-8081; Data Domain, Dayton (513) 223-2348; Dayton Computer Mart, Dayton (513) 296-1248; Byte Shop, Rocky River (216) 333-3261

OKLAHOMA

Bits, Bytes and Micros, Oklahoma City (405) 947

5546; High Technology, Oklahoma City (405) 842

2021

OREGON

Computek, Beaverton (5031 285-0658; Real Oregon Computer Co., Eugene (503) 484-1040; Byte Shop, Portland (603) 223-3496

PENNSYLVANIA

Byte Shop, Bryn Mawr (216) 525-771 2; Personal Computer Corp., Frazer (215) 647-8460; Electronics Place, Pittsburgh (412) 821-2223

SOUTH CAROLINA

Byte Shop, Columbia (803) 771-7824

TEXAS

Young Electronics, College Station (713) 845-7015; K A Electronic Sales, Dallas (2141 634-7870; Personal Computing Place, Dallas (214) 620 2776; Computer Terminal, El Paso (915) 532-1777; Electronic Specialty, Houston (713) 665-0477; Houston Computer Mart, Houston (713) 649-9224; The M O S, Houston (713) 527-8008; Microtex Inc., Houston (7131 7807477; Computer Mart of West Texas, Lubbock (806) 765 7134; Neighborhood Computer Store, Lubbock (806) 797-1468; Micro Store, Richardson (214) 2311096; Computer Shop, San Antonio (612) 828-0563

UTAH

Byte Shop of Salt Lake, Salt Lake City (801) 365

1041

VIRGINIA

Computer Systems Store, McLean (301) 460-0666;

Media Reactions, Inc., Reston (703) 471-9330; The

Computer Shop, Virginia Beach (804) 428-6420;

Home Computer Center, Virginia Beach (804) 340

1977

WEST VIRGINIA

Computer Corner, Morgantown (304) 292-9700

WISCONSIN

Madison Computer Store, Madison (608) 255-5562;

Milwaukee Computer Store, Milwaukee (414) 259

9140; Electronic Industries, Oshkosh (414) 235

8930

CANADA

Orthon Computers, Edmonton. Albeita; Microtech

Computers, Winnipeg, ManitolDa

ENGLAND

Haywood Electronic Associates, Northwood,

Middlesex

SWITZERLAND Instrumattc, Geneva

WEST GERMANY Digitronic, Wedel (Holstein)

CO? G^API-iC inc.

© " *B^fc%^ ■ ^« lAAl I 1^ ■■ l^- Not affiliated witiT Vector General, Inc. 790 Hampshire Rd., A + B, Westlake Village, CA 91361 Telephone: (805) 497-073;

Circle 157 on inquiry card.

You Asked For It!

You asked for the Intel 8080A CPU

You asked for a real-time clock

You asked for eight level

vectored priority interrupts

You asked for a jump-on-reset

and resident monitor

You asked for the S-100 bus

You asked for an 18 slot

fully shielded motherboard .

You asked for a

rugged, reliable chassis

Then.. . You asked for the compactness and

convenience of installing your mini-floppy

disk directly in the front panel NOW

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

We gave you the VECUO^ 1

We gave you the VEClO^ 1 We gave you the VEClO^ 1

We gave you the VeClO^ 1

We gave you the VEClO? 1

We give you the

can be illustrated by walking verbally through a typical sequence of operations. First, let's assume that the machine is in RUN mode, which is indicated by a low level on the output of the execution state flip flop, IC49b pin 9. This is the normal situation for a fully executing 6502 program contained in the system's main program

mable memory region. Next, press the front panel's HALT switch, SI. Upon release of the HALT switch the debounce logic completes one HALT pulse which is processed by the command encoding logic of figure 1.5. When the HALT line makes

Text continued on page 128

PULL UPS

BUFFERS a ADDRESS

44 PIN EDGE CONNECTOR I BACKPLANE

+ 5V A

J2

TO FRONT PANEL

I

1 PROCESSOR CARD

I +5V

■ ®

„l C 20 7414 V^

i^Oo^ '"'yP-A3 p.

FP-AO r-L.^

[iaj-riel-riTj-liz]— TO FRONT

COMPONENT CARRIERS V V V V PANEL

_ 560 _ _ _ _

/77

>< IK

-^

-CO

-4>

I

I I

-m> -4s>

I

Figure 2.3: Pull up resistors for backplane address lines, and inverting receivers for local use in the front panel interface.

122

BYTE November 1977

ANY NUMBER OF FILES MAY BE OPEN (IN USE) AT ONE TIME

THE NUMBER OF FILES AND SIZE OF FILES IS LIMITED ONLY BY THE SIZE OF THE DISC

MERGING FILES REQUIRES NO EXTRA DISC SPACE

NO WAITING FOR THE DISC TO RE-PACK

LONGER DISC LIFE - MORE EVEN DISC WEAR

Our Basic Floppy Disc System (BFD-68) must, in all modesty be called superb. It comes completely assembled with a disc controller that is plug compatible with the SWTPC 6800. In fact all our products use the 6800 standard SS-50 (Smoke Signal 50) bus used by SWTPC. The cabinet and power supply are capable of handling up to 3 Shugart Mini-Floppy Drives. One drive is included in the price of the BFD-68 and others may be added easily at any time. Or you may save money by ordering the dual-drive BFD-68-2 or triple drive BFD-68-3 (pictured). Price: BFD-68 $795, BFD-68-2 $1139, BFD-68-3 $1479, SA-400 Drive $360.

The BFD-68 includes our Disc Operating System Software. Our software provides for a soft-sectored disc format consisting of 128 bytes per sector, 18 sectors per track and 35 tracks per disc, The software provides direct commands to name and rename files, transfer memory to disc and disc to memory and to automatically jump to the starting location of any program loaded from disc to memory. The direct command names are: RUN, GET, GETHEX, CLOSE, SAVE, DELETE, APPEND, RENAME, COPY, LIST, FIND, LINK and PRINT. In addition, the Disc File Management subroutines are available to create files under your program control.

A bootstrap PROM is included on the controller board to initiate the Disc Operating System which loads into a 4K memory board located at 7000 or optionally at DOOO. Thus, you can be up and running from a cold start in just a few seconds.

SUPER SOFTWARE

Free patches are provided for SWTPC BASIC version 2.0 and Co-Resident Editor/Assembler. These patches allow the SAVE and LOAD commands to work with the disc or the cassette at your option.

SUPER EDITOR: Smoke Signal Broadcasting now has its own editor. It is a content oriented editor with string search and block move capability. Changes may be made by referring either to line number or string content or a combination of references. Naturally, it is designed for file transfer to and from the BFD-68. Price: SE-1 $29 on diskette or cassette.

ALL OUR PRODUCTS EXCEPT THE PS-1 ARE COMPLETELY ASSEMBLED.

SUPER ASSEMBLER: Inputs source code from file on the BFD-68 disc system and outputs object code to disc file. Assembly listings include alphabetized and tabulated symbol table. Price: SA-1 $29 on diskette or cassette.

Complete source listing included for both editor and assembler. Order both for $53 and save $5.

SMARTBUG-A CURE FOR MIKBUGITIS: A super smart Motorola-Mikbug replacement that preserves almost all Mikbug entry locations so your present programs will run without modification. Uses ACIA instead of PIA and includes many additional features including a software single-step trace command. A SMARTBUG listing is included and object code is provided on a 2708 free with each P-38 series board purchased. Source listing available separately for $19.50.

NEED A FULL SIZE FLOPPY? Our P-38-FF is a plug-in interface card to the ICOM Frugal FloppyTM. |t includes all the features of the P-38-1 plus one 2708 EPROM containing the ICOM bootstrap software. Just plug the P-38-FF into your SWTPC 6800 and your ICOM into the P-38-FF and you're ready to use the Frugal Floppy and iCOM's 6800 software package. Price $299.

Our P-38 is an 8K EPROM board containing room for 8 2708's. Or, you may use it to hold up to 7 2708's plus your Motorola Mikbug or Minibug II ROM. The P-38 addressing is switch selectable to any 8K location. Price $179.

The P-38-1 contains all the features of the P-38 plus an interface to the Oliver Paper Tape Reader and our EPROM Programmer. Price $229.

The PS-1 Power Supply Kit provides plus and minus 16 volts required for the P-38 series boards. Also, it allows a wiring modification to be made to the 8 volt supply that will increase its output by one volt. Price $24.95.

Our M-16-A is a 16K single power supply STATIC RAM memory system. The M-16-A is fully buffered and requires only half the power of a similar size system using low-power 2102's. With the M-16-A, you can expand your system to 48K and still have room left for one of our EPROM boards. The M-16-A is switch selectable to any 4K starting address and hardware write protect is included. Quick delivery. Price. $529.

BANKAMERICARD, VISA AND MASTER CHARGE WELCOME.

P.O. Box 2017, Hollywood, CA 90028' (213) 462-5652 Circle 128 on inquiry card.

BYTE Novcmher 1977

123

<

;--!

o '^ t- e

■" r h "> 2

„ <5

--mm

o o

(C <

fO "J" uo IP N

O — c*jr0^mU)hQDQOQQOQ

O — OJ fO 'd- to to <<<<<<<

|C\J rO ^

\in m in

— MMM6M

toy '''C)

A I A

Figure 2.4: A continuation of the front panel interface module address decode logic. This is a 512 by 8 bit fusible link programmable read only memory module with decode logic. This Intel 3624-4 PROM contains the front panel monitor program of listing I and responds to addresses FEOO thru FFFF in memory address space using decoding in the figure. Output is directly to the data bus, which is also connected to the backplane and to the front panel assembly.

—m-t\-—6—hmh-M-h-h---hhmM-- r\i

124

BYTE November 1977

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

Features

— 24 channels with 256 samples each.

— Display of disassembled program flow.

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

— Selectable trigger point anywhere in the 256 samples.

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

— lOMHz sample rate (50ns min. pulse width)

— Synchronous clock sample with coincident or delayed clock mode.

— User defined reference memory.

— Displays and system control through keyboard entry.

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

— Includes annotated source listing.

SI! r. tGi: ey 'a

Display of disassembled program flow.

Databyte, Inc

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

Circle 43 on inquiry card.

24 channel Logic Analyzer plugs into

your S-100 Bus

The DATALYZER

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

Designed to plug easily into your S-100 Bus, the DATALYZER is a complete system — for only $495. Display of disassembled program flow is a standard feature, not an extra. And the low price includes 30 logic probes, so you can hook up immediately, without additional expense.

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

9r VKB! ttttSS E9 MR? VSSf^

5 :«KF.' .\w^

KIWI iii«i:i :ie«ii!iMu«Kiiiiii ^

tuiua mimnniiiMiiia

miM Bttinwiiiijutii

inum mnjiueiKniiB

mmn iiiiB:iiiii»if.M«»

:iui» iweKKi:ni:eii

:!::i:il :»;!R»KCiKi:r.K

Displays in Hex

Displays in Binary

I

Ppiease send me the 24 Channel LOGIC ANALYZER n Kit - (manual included) $495.00 (Wis. res. add 4%) im Assembled and Tested (manual included) $595.00 CU Operators' manual only $7.50

I Delivery of all items in four weeks to: Name

I Address

City State Zip

I Telephone

Payment Enclosed: CH Check CH Money Order

I im BankAmericard CH Master Charge Exp. Date

I Number

I Signature ^ ^ ^ ^ ^

BYTE Novcmher 1977

125

Figure 2.5: Mechanical layout of tlie front panel interface module. This board is built on a standard Vector Electronic Co prototyping card, and plugs into the 44 pin baci^piane connector (two sides with 22 pins each).

VECTOR BOARD 3677-2

HARDWARE MAP COORDINATES

f

A

J2 CONNECTIONS TO FRONT PANEL

A!

14 8

IC36

74260

I 7

1 2

• •

3

•

4

•

5 6 7 6 9 10 II 12

21 22 23

• • •

24 25 26

• • •

27 28

• •

13 14 15 16 17 18 19 20 • •••••••

29 30 31

• • •

32 33 34

• ■ •

35 36

• •

A2

37 38

IC 18 INTEL

3624-4 TRI-STATE PROM 512X8 BITS

A5

IC35 74148

IC23 7404

IC38 74279

3 SPARES

B2

IC25 74138

IC26 74138

IC27 74138

IC28 74138

IC24 7420

39 40

IC37 74260

IC39 7400

IC29 74260

IC30 74260

IC3I 74260

IC32 74260

IC33 74260

IC22 7414

Dl

D3

D5

PULL UP RES.

D2

PULL UP RES.

D4

PULL UP RES.

D6

ICI9 7414

IC20 7414

IC2I 7438

A7

IC34 74260

I SPARE

Figure 3.1: Processor module diagram. The 6502 processor module contains the 6502, its data bus and address bus buffering logic, and logic of the priority interrupt structure which substitutes one of six interrupt vector addresses on the low order address lines based on the priority of an interrupt. This overrides the processor generated address of FFFE or FFFF for an interrupt via the IRQ input. IRQ interrupt vectors are located at addresses FFE4 to FFEE in memory address space, with six priority levels. Note that the BRK instruction maps to vector FFEO (see listing 1).

126

BYTE November 1977

a g IS le. k 11 11 IS I5 is li IS l§ IS IS IS IS Is b

J--i—^$0--MAAA AA^AAAAAA

0- LiJ

(JO <q: mo.

:A

r^

©

©

A

A

©

©

o^

^

A A

A

tSJ ID

I

A

AgI

^

■3 < -3 < < <I

IJi CO f- ID O li^

< < <i < < <:

©u i

©J

tn^ CD

A

00 mcL

i\^^^-glg:^

A

1

:H ^Tg] ■"P ~ N

©©©(=

J)©(=

)©©

ol

* lD ■

0,

ID <

"1

1 1

G

yl

^

>©>€

)0©

1

D(S

)®

)©©©©©

0,

ID,

(D <

0 ^

G

xi

yi

Kj>®®©©

©(|

oi 0 ,

)©©©©©©

Gxi

)0©@00®

®®®©^®@

^

to [^ (T)

P

5 © o

UJ m ^ ro CO — o

^

s^__M^A—A-A-A-A ^—A-A-A-A AMAAA—

BYTE November 1977

127

Text continued from page 122

its rising transition at the end of the pulse, the state of the execution state flip flop changes, causing the halt mode to be entered.

The logic which drives the RDY and NMI lines is responsible for assuring that the processor runs one extra instruction before dropping off into a halt. The process of going into a halt is accomplished through the nonmaskable interrupt. A halting of the

user program really means return to the front panel control program through the NMI signal generated here, so that the front panel control program can use the register information stacked up during the interrupt to update the external displays.

After such a halt, the front panel address display shows the location of the next instruction which can be executed in the program just halted. By setting the data display

Text continued on page 134

HARDWARE

MAP

COORDINATES

PULL UP RESISTORS FOR PROCESSOR BOARD ASSEMBLY

COMPONENT CARRIER MAP LOCATION

+ 5V A

E3 I

E^<

O 560 @

-[b> IROI

© 560 ©

VW [^> IRQ5

© 560 © ,-^ ^AA E> IRQ2

© 560 ®

WV [F> IRQ3

@ 560 @

-{r[> IRQ6

o

-{T> IRQ4

© 560 ©

-[Tl> IRQX

© 3K @

^wv -=^ |lp> NMI

© 560 @

-[T|> RDY

© 3K ©

W^ \Z6> PANRST

© 560 ©

-[T> SO

Note: To reduce possible noise problems, small 0.01 mF bypass capacitors should be added to board assembly. They can be wire wrap installed from -^5 V pin to ground pin of every other IC socket.

VECTOR

3662

A4

ICI MOS TECHNOLOGY MCS 6502 ^PROCESSOR (40 PIN SOCKET) 8

B4

14 IC 12 7416

7

14 ICIO 7416

7

C4

C5

02

D4

16

ICI5 74157

D3

16

IC9 74148

14 ICI4 7410

8

7

8

IC8 7416

El

E3

C 16

E2

C 16

0 C

14

0 c

M A

M A

P R

ICI6

P R

0 R

7417

0 R

N 1

N 1

E E

E E

N R

N R

T

T

8

7

8

E6

B5

86

B7

14

C 14

14

ICI7

0 C M A P R

IC2

7404

74121

0 R

N 1

E E

N R

7

7T

7

CI

C2

C3

16

ice

DM8835

16

IC5 DM8835

C6

C7

14 IC7 7404

14 IC 13 74260

14 IC 1 1 74260

14 IC4 7414

14 IC3 7402

7

7

7

8

8

7

7

D7

E7

c.

16

0

C

M

A

H

H

0

H

N

1

E

E

N

R

T

8

Figure 3.2: Processor module mechanical layout. This map shows placement of the processor integrated circuits on a Vector prototyping card.

128 BYTE Novemher 1977

Peripheral Vision is a young, fast-moving company that's dedicated to selling reasonably priced peripherals for various manufacturers' CPU's.

So now, when you build your microcomputer system, you'll know where to look for all the peripherals that will make your system do what it's supposed to do.

Peripheral Vision may be young, but we have some old-fashioned ideas about how to run our business.

We know there are serious incompatibilities among the various manufacturers' peripherals and CPU's. We want to get them together. And we want to bring significant new products to market—products consisting of everything from adaptation instructions/kits for hardware and software to major new designs.

Most important to our customers. Peripheral Vision is committed to helping you get along with your computer. We'll do all we can to make it easy.

Our first product is a real reflection of this philosophy. It's a full-size floppy disk for the AltairImsai plug-in compatible S-100 BUS. And it's available for as low as $750.00.

Our floppy disk has many exciting features: •1 interface card supports 4 or more drives •Stores over 300,000 bytes per floppy •Bootstrap EPROM included—no more toggling or paper tape

•Completely S-100 plug-in compatible

•Drive is from Innovex (the originator of the floppy

concept)—assembled and tested

•Disk operating system with file management

system included on floppy

•Cabinet and power supply optional

Also in the works are many new products we'll be letting you know about soon, if you'd like to take a closer look. Like I/O cards, tape drives, an impact printer—all for the S-100 BUS—and we're designing peripherals for a lot of other CPU's too.

We've given you a little glimpse of who we are and what we're doing. If you want to see more, just fill in the coupon below.

RQ Box 6267/Denver, Colorado 80206 303/777-4292

N.inie

Aiklrt'ss

Cily/Stiilo/Zip .

Circle 114 on inquiry card.

BYTE November ]977

129

Figure 4.1: TIM interface module details. The MOS Technology TIM monitor program resides In a single MCS6530 ROM and peripheral interface circuit. The TIM interface module allows Kompuutar to be used with any serial terminal.

130

BYTE November 1977

NOW! Every Business

Can Own One

''fitWM

A secretary, accountant, and financial advisor all rolled into one for less than $1.50 per hour. Sound too good to be true? Let the ADMINISTRATOR do it for you.

Our "General Ledger Program" is a complete comprehensive business system designed to keep all of your company's records without the need for updating from other programs and there is no need to keep monthly tear sheets to be added together for the end of the year reports as our system will provide you with year end account totals for cash, accural, hybrid and chart of accounts systems. This program generates over 30 major reports. Including: 941's, P/L's, Balance Sheets, and year end account totals for filing Federal Income Tax Schedule C's and/or 1120's plus a lease purchase plan and 24-hour field service in most areas. Hard to believe! For less than $250/month you can lease your very own, nothing else to purchase. ADMINISTRATOR I includes a miniature micro computer; S-100 Buss, with over 65K of user RAM. No switches to set, Power-on operation, multiple I/O interfaces, line printer. Video Terminal, Double-Density Disk, Disk Extended Basic and applications Software diskettes complete with full documentation (includes General Ledger, Payroll, Word Processing, Medical A/R, A/P, Engineering, Statistics, more) includes "Help" and Tutorial Software.

ADMINISTRATOR I $8999.00*

Additional 600K disks optional.

Compare at $30,000 for other micros or $70,000 for mini's

•Add $100 for Express shipping and handling • No Purchase Orders — include 50% deposit with all COD orders.

Business Software Too!

includes over $75,000.00 of business programs free and that's only part of what we're giving away. We built our reputation providing quality software at affordable prices. Now we are going to do the same with our Administrator I

©

SCIENTIFIC RESEARCH

1712-B Farmington Court • Crofton, MD 21114 (301)721-1148

Dealer Inquiries invited

BYTE November 1977 131

MAP COORDINATES .

J4: Parallel Interface

Pin

Mnemonic Description

1

DO

2

D1

/

3

D2

I

4

D3

/ data bus lines

5

D4

1

6

D5

)

7

—

/_

8

GND

ground

9 10

D6 D7

data bus lines

11

DRDY

data ready

12

DAKN

data acknowledge

13

_

—

14

—

_

15

_

—

16

GND

ground

CI

1 40

IC77

MOS

TECHNOLOGY

MCS6530

-004

TIM

20 21

El

1

4

IC83

7417

7

8

IC84 DM8835

3662

' c

16

0 c

M A

P R

0 R

N 1

E E

N R

T

8

9

' C

16

0 c

M A

P R

0 R

N 1

E E

N R

T

8

9

IC85 DM8835

1 14

IC 75

LM 1489

7 8

D4

1 14

IC80

74260

7 8

E4

1

4

IC82

7414

7

8

1 C

16

0 c

MA

P R

0 R

N 1

E E

N R

T

8

9

C5

1 14

IC76

LMI488

7 8

D5

1 14

IC8I

7400

7 8

1 14

IC79

7414

7 8

IC78 7414

•Jacks 2, 3 and 4 are standard IC wire wrap sockets. They are used as cable connectors by mating with special "Augat" plugs.

J2: RS-232 Interface

Pin Mnemonic Description

1

2

3

4

5

6

7

8

9

10

11

12

13

14

RS-232 OUT +10 V -10 V RS-232 IN

GND

RS-232 OUT ■HO V -10 V RS-232 IN

GND

seal data standard (out) voltage source to peripherals voltage source to peripherals seal data standard (in)

ground

seal data standard lout) voltage source to peripherals voltage source to peripherals seal data standard (in)

ground

J3: Teletype Interface

Pin Mnemonic Description

1

-10 V

2

TTYOT

3

-HO V

4

-HO V

5

TTYIN

6

BIASIN

7

GND

8

-10 V

9

TTYOT

10

+ 10 V

11

-10 V

12

TTYIN

13

BIASIN

14

GND

voltage source to peripherals

Teletype (out)

voltage source to peripherals

voltage source to peripherals

Teletype (in)

pull up voltage source

ground

voltage source to peripherals

Teletype (out)

voltage source to peripherals

voltage source to perjpherals

Teletype (in)

pull up voltage source

ground

Figure 4.2: TIM interface module mechanical layout. This shows the physical arrangement of the wire sockets used to implement the TIM terminal interface for Kompuutar.

132

BYTE November 1977

Building a better computer wasn't easy. But we did it.

Introducing the MSI 6800 Computer System

When we set out to build the new MSI 6800 Computer System, we knew we had our work cut out for us. It had to be at least as good as the now famous MSI FD-8 Floppy Disk Memory System which is also pictured below. So, the first thing we did was analyze all the problems and drawbacks we had encountered with other 6800 systems, and then put our engineers to work on solutions. The objective: Build a better computer.

We started with power supply. We had big ideas, so we used a hefty 18 amp power supply. You can run full memory and several peripherals without the worry of running out of juice. We also put it in the front of the cabinet so it's out of the way.

The next step was the CPU Board. A separate baud rate generator with strappable clock outputs allows any combination of baud rates up to 9600. A separate strappable system clock is available and allows CPU speeds of up to 2 MHz. The new MSI monitor is MIKBUG software compatible, so you will never have a problem with programs. Additional PROM sockets are available for your own special routines and to expand the monitor. The CPU also contains a single step capability for debugging software.

To complete the system, we used an MSI 8K Memory Board which employs low power 2102 RAM memory chips and is configured to allow battery back-up power capability. A DIP switch unit allows quick selection of a starting address of the board at any 8K increment of memory.

If you're one of those people who understands the technical stuff, by now you'll agree the MSI 6800 is a better computer. If you're one who does not understand it yet, you'll be more interested in what the system can do . . . play games, conduct research and educational projects, control lab instruments, business applications, or just about anything else you might dream up that a microcomputer can do. The point is . . . the MSI 6800 will do it better.

The MSI 6800 Computer System is available in either kit form or wired and tested. Either way, you get a cabinet, power supply, CPU board. Mother board. Interface board, Memory board, documentation, instructions, schematics, and a programming manual. Everything you need.

There is more to say about the MSI 6800 than space permits. We suggest you send for more information which includes our free catalog of microcomputer products.

When we got to the Mother Board, we really made progress. It has 14 slots to give you plenty of room to expand your system to full memory capability, and is compatible with SS-50 bus architecture. Heavy duty bus lines are low impedance, low noise, and provide trouble-free operation.

With all this power and potential, the interface had to be something special. So instead of an interface address in the middle of memory, we put it at the top . . . which gives you a full 56K of continuous memory. Interfaces are strappable so they may be placed at any address. An interface adapter board is compatible with all existing SS-50 circuit boards and interface cards. All MSI interface cards communicate with the rear panel via a short ribbon cable which terminates with a DB-25 connector. All baud rate selection and other strappable options are brought to the connector so they may be automatically selected by whatever plug is inserted into the appropriate interface connector. Straps may also be installed on the circuit board.

Building a better computer was not easy. Becoming the number one seller will be.

220 West Cedar • Olathe, Kansas 66061 • 913/764-3273 TWX 910 749 6403 (MSI OLAT) • Telex 42525 (MSI A OLAT)

DDnnnDnnDDDDDnnnnDDDnnnn

Midwest Scientific Instruments 220 W. Cedar, Olathe, Kansas 66061

NAME

ADDRESS

CITY

STATE

.ZIP

Circle 92 on inctuiry card.

BYTE November 1977 133

Text continued from page 128

selection switch to point to the DATA position, the contents of memory at this location are displayed, having been transferred to the front panel scratch pad location 800D by the service program during the halt operation. At other positions of the sv/itch, it is possible to view copies of the X register, Y register, accumulator A or the stack pointer register. The current contents of the processor status register are shown in the eight

discrete LED outputs at location 8013 in memory address space.

If it is desired to modify a status flag, the flag select switch can be rotated to the desired bit, and the flag set or flag reset function be used to alter the flag state. If desired, memory can be examined or altered using the deposit, deposit next, examine or examine next routines activated by appropriate panel switches. Pressing RUN conText continued on page 137

Front Panel Assembly Circuits

Central Processor Module Integrated Circuits

IC

Type

1

IV1SC6502

2

74121

3

7402

4

7414

5

DIV18835

6

DM8835

7

7404

8

7416

g

74148

10

7416

11

74260

12

7416

13

74260

14

7410

15

74157

16

7417

17

7404

Map Location in

-V5 V

GND

Figure 3.2

8

1,

21

A3,4,5

14

7

B7

14

7

07

14

7

C6

16

8

05

16

8

04

14

7

01

14

7

D6

16

8

D4

14

7

B2

14

7

03

14

7

B1

14

7

02

14

7

D3

16

8

D2

14

7

E2

14

7

B5

Front Panel Interface Module Circuits

Map Location in

IC

Type

+5 V

GND

Figure 2.3

18

lntel3624-4

22,24

12

A2

19

7414

14

7

D2

20

7414

14

7

D4

21

7438

14

7

D6

22

7414

14

7

06

23

7404

14

7

A4

24

7420

14

7

05

25

74138

16

8

01

26

74138

16

8

02

27

74138

16

8

03

28

74138

16

8

04

29

74260

14

7

82

30

74260

14

7

B3

31

74260

14

7

B4

32

74260

14

7

B5

33

74260

14

7

B6

34

74260

14

7

A7

35

74148

16

8

A3

36

74260

14

7

A1

37

74260

14

7

A6

38

74279

16

8

A5

39

7400

14

7

B1

Map Location

in

IC

Type

+5V

GND

Figure 1.9

40

74279

16

8

05

41

74279

16

8

E5

42

74279

16

8

E6

43

74279

16

8

F8

44

7400

14

7

E3

45

74197

14

7

D1

46

7400

14

7

F9

47

7400

14

7

F1

48

7404

14

7

01

49

7474

14

7

F4

50

74148

16

8

F7

51

7474

14

7

F5

52

7400

14

7

F6

53

7410

14

7

F3

54

7400

14

7

05

55

7474

14

7

F2

56

74197

14

7

A4

57

7416

14

7

B5

58

7400

14

7

04

59

74197

14

7

B4

60

7416

14

7

B1

61

7489

16

8

A3

62

74157

J6

8

03

63

7489

16

8

83

64

7416

14

7

A1

65

HP-5082-7340

7

6

XI

66

HP-5082-7340

7

6

X2

67

HP-5082-7340

7

6

X3

68

HP-5082-7340

7

6

X4

69

74153

16

8

A2

70

74153

16

8

B2

71

74153

16

8

02

72

74153

16

8

E4

73

DM8835

16

8

E2

74

DM8835

16

8

El

TIM Interface Module Circuits

IC

Type

75

LM1489

14

76

LM1488

_

77

MCS6530

20

78

7414

14

79

7404

14

80

74S260

14

81

7400

14

82

7404

14

83

7417

14

84

DM8835

16

85

DM8835

16

+5\/ +10 V -1DV

14

Map Location in

GND

Figure 4.2

7

04

7

05

1

01

7

E6

7

E5

7

D4

7

D5

7

E4

7

El

8

E2

8

E3

Table 5: Integrated circuit summary for Kompuutar. Tills table summarizes the 85 integrated circuits used in Kompuutar, arranged in groupings by the circuit modules of the system. The column labelled "IVIap Location " identifies the physical position of the circuits on the various boards of the system, as shown in the physical layout diagrams in the figures. Note that the physical layouts represent a good workable arrangement of sockets. There is no logical requirement that the particular map positions used in these diagrams be followed to the letter in another implementation of the system.

134

BYTE Novemlicr 1977

International /lAiaoAmpuhts /klinicompurers /iAiaopiocQSsots

NOW PREPARING

FOR ITS

SECOND SHOWING

20, 21,22 JUNE, 1978

Palais des

Expositions

Geneva,

Switzerland

ANOTHER PRIME OPPORTUNITY TO SELL TO THE EUROPEAN MARKET

Microcomputers, Minicomputers, Microprocessors, Peripherals, Components and Services

A 50% LARGER EXHIBITION IS PLANNED

The sales results IMMM obtained

for its 1977 exhibitors is clearly

indicative that in 1978 more and

more producers will be displaying

products for use in every type of

industrial, commercial, consumer

and military application. Their

enthusiasm has prompted many

additional manufacturers of small computers (firms

which attended and observed in 1977) to make serious

commitments regarding participation in the next show.

With these new exhibitors and the increased space

already requested by 1977 participants, IMMM '78 will

be a much larger show!

In 1978, the kind of people you want to meet — executives, engineers, designers, manufacturing and support supervisors, and others •—■ will be out in force ... to see, to learn, to BUY. And you will want to be there with YOUR products and services.

PROGRAMME DESIGNED

TO ATTRACT MANY

MORE VISITORS

.-^- ■■.-•, it i

The remarkably large audience of highly qualified and seriously interested visitors who attended the first IMMM exposition was obviously pleased with the technical programme. Comments indicate that the programme, as well as the exhibition, will be a key factor in attracting an even larger group of attendees to the next show.

The 1978 programme, chaired and presented by internationally recognised experts, again will be designed to offer the kind of practical solutions to dayto-day problems that attendees seek. A special session on "Tips for Hobby Microcomputers" is being planned.

SPONSORED BY DISTINGUISHED PUBLICATIONS

Mini-Micro Systems (U.S.A.) Polyscope (Switzerland)

Micomp (Switzerland) Markt Und Technik (West Germany)

Additional Information:

IN EUROPE:

Mr. Bert Saunders Kiver Communications S.A. (U.K. Branch Office) 171/185.Ewell Road Surbiton,

Surrey KT6 6AX England Telephone: 01-390-0281 Telex: 929837 ^^—

Mr. Ernest Jungmann Promotion Marches

Exterieurs Residence Mexico 65, rue du Javelot 75645 Paris CEDEX 13,

France Telephone: (1) 583-96-62 Telex: 210500F

IN THE UNITED STATES:

Mr. Joseph Maurer Industrial & Scientific Conference Management, Incorporated 222 West Adams Street Chicago, Illinois 60606 Telephone: (312) 263-4866 Telex: 256148

IN JAPAN: '

Mr. K. Yamada ISCM Japan Kokado Building 1-3-18 Akasaka Minato-ku, Tokyo 107, Japan

Telephone: 03-585-8321 Telex: 28887

Circle 66 on inquiry card.

BYTE November 1977

135

Listing 1: The front panel service program. Tliis program is resident in a programmable read only memory part wired for addresses FEOO to FFFF, as shown in figure 2.4. The listing is a symbolic assembly language version of the program combined with the hand assembled object code provided by author Brader. The information at the end of the PROM area includes the interrupt vectors which are implemented in the Kompuutar system.

Hexadecimal

Hexi

sdecimal

Address

Code

Label Op Operand Commentarv

■ PANEL DRIVER NONMASKABLE INTERRUPT

ENTRY

FEOO

8D

00

80

PNMI STA SVACC [Save state

FE03

BE

01

80

STX SVX of processor registers

FE06

8C

02

80

STY SVY at interrupt! ;

FE09

• RECOVER PROCESSOR STATUS & RETURN ADDRESS AT INTERRUPT

FE09

68

UNSTK PLA

FEOA

AA

TAX

FEOB

68

PLA

FEOC

AS

TAY

FEOD

68

PLA

FEOE

• SAVE STATUS, RETURN ADDR ESS & STACK IN SCRATCH PAD

FEOE

8E

03

80

SAVERET STX SVPFLG

FE11

8C

07

80

STY SVADDR

FE14

8D

08

80

STA SVADDR + 1

FE17

BA

TSX

FE18

8E

05

80

STX SVSTK

FE1B

* INTERROGATE CONTROL FUNCTION REQUEST REGISTER

FE1B

AD

10

80

LDA REQST

FE1E

OA

ASL

FE1F

OA

ASL

FE20

OA

ASL

FE21

OA

ASL • ENTER PROGRAM TREE TO DECODE & EXECUTE REQUEST

FE22

8D

04

80

STA SVAAA

FE25

A9

20

LDA #$20

FE27

2C

04

80

BIT SVAAA

FE2A

10

03

BPL * + 5 If request greater than 7

FE2C

4C

7F

FF

JMP REGLD then go do register load

FE4D

FE4D

FE4F FE51 FEB4 FE56

FE59

FESC FEBE FE61

FE63 FE63 FE65 FE68 FE6A FE6D FE6F FE72 FE74 FE77 FE77 FE79

FE7C

FE7F FE82 FE85

FE87 FES A FE8A FE8D FE90

routine; BVS XHSEE Else if 4 < request ■ 7

then halt, step, examine

or exam next: BNE XDDN Else if 2 < request < 3

then deposit or deposit

next; • CONCLUDE REQUEST IS 0 OR 1

LDA #$10

FE3S

2C

04

80

BIT

SVAAA

FE38

DO

03

BNE

•+5

FE3A

4C

99

FE

JMP

EXITCP

[Sei up mask for bit

Is request 0?

If request = 0 then leave control program via normal NMI;

If request = 1 then go do FLAG function service; CONCLUDE REQUEST IS 2 OR 3

JMP FLAG

FE40

A9

10

XDDN

LDA

#$10

FE42

2C

04

80

BIT

SVAAA

FE45

DO

03

BNE

■+6

Is request 2?

FE47

4C

29

FF

JMP

DPSNXT

If request = 2 then go do DEPOSIT NEXT service;

FE4A

4C

IE

FF

JMP

DEPOSIT

If request ^ 3 then go do

DEPOSIT service;

• CONCLUDE REQUEST IS 4 TO 7

XHSEE Br>JE XHLSS If request = 6 or request =

7 then go do H A LT or STEP;

• CONCLUDE REQUEST IS 4 OR 5

LDA #$10

2C

04

80

. BIT SVAAA

DO

03

BNE '+5 Is request 4?

4C

FD

FE

JMP EXMNXT If request-4 then go do EXAMINE NEXT;

4C

EE

FE

JMP EXAMINE II request = then go do EXAMINE; • CONCLUDE REQUEST IS 6 OR 7

A9

10

XHLSS LDA #$10 [Set up mask for bit

2C

04

80

lestl ; BIT SVAAA [Test for odd or even number) ;

FO

14

BNE SETTRAP If request = 7 than skip setup logic;

• CONCLUDE REQUEST IS 6

• SET UP SCRATCH PAD INSTRUCTION SEQUENCE

A9

SD

LDA =S8D

BD

09

80

STA DUMMY2

A9

OD

LDA #$0D

8D

OA

80

STA DUMMY3

A9

80

LDA #S80

8D

OB

SO,

STA DUMMY4

A9

60

LDA a$60

8D

OC

80

STA DUMMY5 • SET UP SCRATCH PAD INSTRUCTION SEQUENCE

A9

AD

SETTRAP LDA #$AD [Dummy in an LDA

8D

06

80

STA DATATRAP instruction using current address field as its address] ; • ROUTINE TO EXECUTE SCRATCH PAD PROGRAM TO SET UP LATEST SVDATA VALUE

20

06

80

SETUP JSR DATATRAP [Call scratch pad resident subroutine] ;

AD

03

80

LDA SVPLFG

8D

13

80

STA STATUS

A9

OD

LDA #$0D [Patch the scratch pad

8D

OA

80

STA DUMMY3 program]; • DISPLAY THE CURRENT ADDRESS

AD

07

80

LDA SVADDR

8D

14

80

STA LADDR

AD

08

80

LDA SVADDR+1

FE93 FE96 FE99 FE99

FE9A FE9D

FE9E

FE9E

FEA1 FEA2 FEA5 FEA6 FEA9

FEAA FEAD FEAE FEAF FEBO

FEB1 FEB4 FEB7 FEBA FEBD

FEBF

FEBF FECI

FEC4 FEC7 FEC9 FECC FECF FED1 FED4 FED7 FED9

FEDC FEDF FEE1

FEE4 FEE7

FEEB FEEE

FEEE FEEE FEEE FEFl FEF4 FEF7 FEFA

FEFD FEFD

FEFF FF02 FF03 FF06 FF06 FF08

FFOA FFOA FFOC FFOE

FF14

FF14 FF17 FF18 FFIB FF1E FF1E FF1E FF20

FF23 FF26 FF29 FF29 FF29 FF2B

FF2E FF31

8D 15 4C 9D

4C 9E 18

AD 08 48

AD 07 48

AD 03 48

AE 05

CA

CA

CA

9A

AE 01

AC 02

AD 00

8D OE

80 3C

A9 FF

4D 00

8D 00

A9 FF

4D 01

SD 01

A9 FF

4D 02

80 02

A9 FF

4D 05

8D 05

A9 FF

4D OD

8D CD

AD OE

STA HADDR JMP CONTINUE ■ CONTROL PANEL MONITOR EXIT POINT

AD 11

8D 07

AD 12

8D 08

4C 77

AE 07

E8

8E 07

EO 00

FO OA

CO 00 FO 03 4C 7C

AE 08 E8

8E 08

4C OA

A9 8D 8D 06

EXITCP SEC

JMP CONTINUE CLC

[Set carry to indicate end of monitor \ ; SETSTAK

[Clear carry to continue monitor] ; • BEGIN ROUTINE TO SET UP STACK AND

TEMPORARILY LEAVE MONITOR SETSTAK LDA SVADDR + 1 PHA

SVADDR

LDA PHA LDA PHA

SVPFLG

LDX SVSTK DEX DEX DEX TXS ' RESTORE REGISTERS LDX SVX LDX LDA STA BCS

[Push processor status

onto stack! ; [Subtract 3

from

old

stack pointer

to compensate pushes]

SVY SVACC LSTACC LEAVE

If carry set, then leave monitor now; MANIPULATIONS FOR SINGLE STEP CASE FOLLOW

LDA EOR

STA LDA EOR STA LDA EOR STA LDA EOR

STA LDA EOR

STA LDA

#$FF SVACC

SVACC

=$FF

SVX

SVX

#$FF

SVY

SVY

=SFF

SVSTK

SVSTK

#$FF

SVDATA

SVDATA LSTACC

[Invert old accumulator value] ;

[Invert old X value] ;

[Invert old Y value! ;

[Invert old stack register value];

[Invert old data register value] ;

lator

Restore old accu value] ; RTI [Return from interrupt,

exiting panel service program!; ■ LEAVE PANEL SERVICE FOR USER NMI SERVICE CASE F6 LEAVE JMP USRNMI

"NOTE: USRNMI IS A READ ONLY MEMORY ROUTINE AT F600, NOT DEFINED HERE

80 80 80 80 FE

EXAMINE SERVICE ROUTINE

LDA DSWLOW

STA SVADDR

LDA DSWHIGH

STA SVADDR + 1

JMP SETTRAP

[Go back to display routine and exit] ; EXAMINE NEXT SERVICE ROUTINE EXMNXT LDY #0

• INCREMENT TO NEXT ADDRESS 80 ADVANCE LDX SVADDR

INX 80 STX SVADDR

■ CHECK FOR OVERFLOW CPX #0

BEQ RAISHI If low order = 0 then

increment high order:

• CHECK TO SEE IF INITIALIZATION NEEDED QNEEDINI CPY =0

BEQ -+5

FE

JMP SETUP

If Y = 0 then simply execute scratch pad program:

FE

JMP SETTRAP

If Y = 0 then set up prior to executing again;

• INCREMENT HIGH ORDER

BYTE OF CURRENT

ADDRESS

80

RAISHI LDX SVADDR + 1 INX

80

STX SVADDR + 1

FF

JMP QNEEDINI

• DEPOSIT SERVICE ROUTINE

DEPOSIT LDA #S8D (Change scratch pad pro

80 STA DATATRAP gram to store accumu

lator (STAl as its first operation ] ; 80 LDA DSWLOW

FE JMP SETUP

• DEPOSIT NEXT SERVICE ROUTINE

A9

8D

DPSNXT

LDA

#$8D

[Change scratch pad pro

8D

06 80

STA

DATATRAP

gram to store accumulator (STA) as its first operation] ;

AD

11 80

LDA

DSWLOW

AO

AA

LDY

=SAA

[ Load Y with any nonzero value, AA in particular]:

136

BYTE November 1977

Listing J, continued:

Text continued from page 134

tinues execution of the program at the currently displayed address.

After building the design, I found a couple of subtle points in the operation of the control panel. The first point to note is that when using the RESET switch, the processor must be in the RUN mode of the RUN versus STEP switch. Second, bit 5 of the status display is useless and unimplemented in the 6502 hardware. The register load switch (REG LOAD) is best used for modifying the contents of the accumulator, index registers, but not the stack pointer. Using the register load switch to modify the stack pointer can result in problems when resuming execution of a program. Once whatever memory loading or register alteration chores required by a program have been accomplished, execution can be resumed using the RUN switch to cause the control panel program to return from interrupt using the register contents stored in the control panel scratch area.

A Versatile Configuration

Tiie design of Kompuutar is quite readiiy adaptable to ttie 6800 processor as a substitute for tlie 6502 if personal programming preferences or availability of chips dictates such a switch. The similarities between the two processors are quite extensive, and in fact were the bone of contention of a lawsuit (since settled) shortly after the 6502 came out. At the system level, here are the major differences to be aware of:

• The pinouts of the 40 pin package used for each processor are different, but the signal definitions of NMI, data bus lines, IRQ, reset, address bus, etc, are equivalent.

• The 6800 uses four read only memory interrupt vectors at addresses FFF8 to FFFF in memory address space, whereas the 6502 uses only three interrupt vectors; the definitions of the interrupt vectors for reset, nonmaskable interrupt and maskable interrupts are similar.

• The instruction sets differ, so the front panel service programs shown with this article would need to be recoded if a 6800 is used.

• 7776 definition of the clock used by the processor differs in the details of its drive circuit.

The major features of either a 6502 or 6800 system at the level of the backplane bus defined here would be nearly identical. ■

Hexadecimal Hex

adecimal

Address

Code

Label Op Operand

Commentary

FF33

4C

FF

FE

JMP ADVANCE

FF36

FF36

■ FLAG REGISTER CHANGE SERVICE ROUTINE

FF36

AD

10

80

FLAG LDA REQST

FF39

■ ALIGN THE FLAG SELECTION BITSWITH FOUR

RIGHTSHIFTS

FF39

4A

LSR

FF3A

4A

LSR

FF3B

4A

LSR

FF3C

4A

LSR

FF3D

8D

04

80

STA SVAAA

FF40

A9

01

LDA «S1

FF42

2C

04

80

BIT SVAAA

Is flag data bit on?

FF46

FO

05

BEQ SETY2ER

If flag data = 0 then

Y:=0; Else Y:=SFF;

FF47

AO

FF

LDY !i$FF

FF49

4C

4E

FF

JMP PROOF LAG

FF4C

AO

00

SETY2ER LDY #$00

FF4E

4E

04

80

PROCFLAGLSR SVAAA

[Final right shift aligns the 3 bit flag code] ;

FF51

A2

07

LDX o$07 • LOOP SETS X

[Load loop count] ;

FF53

EC

04

80

FLGLOOP OPX SVAAA

If SVAAA = X then

FF56

FO

04

BEQ FCHANGE

go change this flag;

FF58

CA

CYCLE DEX

FF59

4C

53

FF

JMP FLGLOOP

FF5C

A9

01

FCHANGE LDA #$01

• LOOP ALIGNS MASK ON PROPER FLAG BIT

FF5E

EO

00

FLOOK OPX #S00

FF60

FO

05

BEG '+7

FF62

OA

ASL

FF63

CA

DEX

FF64

40

5E

FF

JMP FLOOK

FF67

• AT END OF LOOPWITH MASK IN PLACE, CHANGE

FLAG BIT

FF67

CO

00

CPY #$0

Is data 0?

FF69

DO

OB

BNE SETFLG

If not then go set flag;

FF6B

49

FF

EOR #$FF

FF6D

2D

03

80

AND SVPFLG

[Turn off the flag bit with inverted mask] ;

FF70

8D

03

80

STA SVPFLG

FF73

4C

77

FE

JMP SETTRAP

FF76

OD

03

80

SETFLG ORA SVPFLG

[Turn on the selected bit from mask] ;

FF79

8D

03

80

STA SVPFLG

FF7C

4C

77

FE

JMP SETTRAP

FF7F

• REGISTER LOAD SERVICE ROUTINE

FF7F

• REGISTER LQADSERVICE ROUTINE

FF7F

A9

OF

REGLD LDA #$0F

FFS1

SD

OA

SO

STA DUMMY3

FF84

A9

AE

LDA #$AE

[Define LDX as first operation of scratch pad program] ;

FF86

80

06

80

STA DATATRAP

FF89

A9

FF

LDA #$FF

FF8B

4D

OD

80

EOR SVDATA

[Invert data] ;

FF8E

8D

OD

80

STA SVDATA

FF91

AD

11

80

LDA DSWLOW

FF94

4C

7C

FE

JMP SETUP

iiniicorJ cnar'o

- — — unuseu space — — — ■

FFAO

A2

FF

RESET LDX #SFF

[Initialize stack

FFA2

9A

TXS

pointer] ;

FFA3

4C

06

70

JMP TIM — — unused space

[Jump to TIM monitor on system RESET] ;

FFEO

00

FO

BRK Instruction vector

FFE2

XX

XX

Not used

FFE4

00

FC

IRQ6 Lowest priority

FFE6

00

FB

IRQ5

FFEB

00

FA

IRQ4

FFEA

00

F9

IRQ3 Interrupt vectors

FFEC

00

F8

IRQ2

FFEE

00

F7

unus

IRQl Highest prtoritv

FFFA

00

FE

NMI interrupt vector location

FFFC

AO

FF

RESET interrupt vector location

FFFE

XX

XX

Kompuutar

Peripheral and Scratch Pad Data ;

Symbols:

Address

Symbol

D

escription

8000

SVACC

Saved accumulator value, scratch pad

8001

SVX

Saved X index register value, scratch pad

8002

SVY

Saved Y index register value, scratch pad

8003

SVPFLG

Saved processor flag register value.

scratch pad

8004

SVAAA

Scratch value

8005

SVSTK

Saved stack register value

8006

DATATRAP

' F

irst operation of scratch pad prog

ram (absolute addressing

through SVADDR)

8007

SVADDR

Low order saved address value, scratch pad program absolute

address for DATATRAP

8008

SVADDR + 1

H

igh order saved address value

8009

DUMMY2

800A 800B

DUMMY3 DUMMY4

Balance of scratch pad program

800C

DUMMY5

800D

SVDATA

D

ata value at current SVADDR

8ooe

LSTACC

Accumulator storage temporary

800F

SVAAA

Scratch value

8010

REQST

Front panel request input word

8011

DSWLOW

Li

3w order data switch register inpi

It (data or address

i

nformation)

8012

DSWHIGH

H

igh order data switch register input (address information

8013

STATUS

Status lamps output

8014

LADDR

L(

Dw order address display output

8015

HADDR

H

igh order address display output

BYTE November 1977

137

VECTOR PACKAGING MATERIALS SAVE TIME & MONEY

S100 CARDS-100 PLUG CONTACTS-Convenient universal tinned pads and bus lines. For interface, memory expansion, breadboarding. Mount almost anything anywhere on card.

S100 CONNECTORS for WIRE WRAPPING or SOLDERING

BEAUTIFUL ""-^ ^°del VP2

NEW VECTOR-PAK

CASES for micro-computer

circuitry, assembled. Constructed

of aluminum, finished in vinyl. Slide out covers for easy

access. Includes card guides, heavy chassis plate, perforated

bottom cover for cooler operation.

Card guides perpendicular to front panel, Model VP1, $128.30.

Card guides parallel to front panel. Model VP2, $134.30.

S100 MOTHER BOARD, $29.50. 11 positions ready for connectors. Glass epoxy, plated thru holes, circuitry for active termination, 12 tantalum capacitors and instructions.

PLUS revolutionary Slit-N-Wrap wiring tools, Micro-Vectorbord,® printed circuit kits, I.C. sockets, extenders.

Send for new catalog.

jlNVECTOR electronic company. Inc.

.▼/ 1 12460 Gladstone Avenue, Sylmar, CA 91342 phone (213) 365-9661, twx 910-496-1539

Continued from page 6

the "Thorsen Memory Tube," a magical device which can be programmed with the data necessary for controlling an interactive mechanism. In the real world, technology has developed the semiconductor memory and microprocessors, charge coupled devices and magnetic bubble memories.

In the fictional account, various societal conditions have led to a predilection for garage shop and cottage industry experimentation represented by the efforts of the hero of the story, Dan Davis. In the real world, the technological and economic conditions of today have made the same sort of individualized experimentation with the high technology of computers an everyday occurrence practiced by large numbers of people.

In the story, the protagonists face a world in which mass-produced robotic mechanisms for domestic use have yet to be produced. In the real world, we face a similar situation in which the first mass-produced intelligent robotic mechanisms for domestic use are on the threshold of invention and possibility.

With this possibility of innovation and invention in robotics growing out of the computer experimenter's natural inclination towards artificial intelligence and robotics work, I can begin to build the concept of an ideal type, "The Compleat Robotics Experimenter" and what it takes to become one. Perhaps we'll see a few examples in real life as the next few years roll by.

Categories of Experimentation

In order to put a finger on the categories of experimentation in the general field of robotics, we need a definition of just what is meant by the concept of a robot. I propose the following definition as a working concept for purposes of discussion. This is not necessarily the ultimate definition of what a robot is, but it serves as a standard of measurement useful in this context.

A robotic system is an intelligent mechanism which is mechanically mobile and which operates with feedback from sensors In a specific environment with general but well defined behavioral goals.

With this definition and given our current levels of technology, I am explicitly attempting to eliminate the classical general purpose robot of science fiction from the discussion. The characters C3P0 and R2D2 of George Lucas' film Star Wars may be usc

138

BYTE November 1977

Circle 156 on inquiry card.

Circle 110 on inquiry card.

ful as long term developmental goals, but current technology just does not support practical implementation of such delightful pseudo-persons. The kind of robotic mechanism which is likely to be realizable in the near future by real world personal computing experimenters will be more specialized.

The "intelligent" of intelligent mechanism in the definition might be better expressed as "intelligently designed," for it is the crystallization of the designer's intelligence and creativity in the control algorithms of the machine which enables the robotic mechanism to act "intelligently." "Mechanically mobile" in the definition could be as simple as the mobility of the end of a simple arm mechanism, as complicated as the three-dimensional mobility of a remote flying and hovering mechanism, or as conventional as the rolling mobility of Ralph Mollis' robot NEWT. Sensory feedback is essential to the definition, for I wish to exclude from discussion such conventional mechanisms as plotters, printers, and mass storage devices which use limited forms of mechanical mobility.

A "specific environment" is essential to the practicality of the concept if it is to be accomplished at current levels of understanding of artificial intelligence research and engineering.

A quite practical system for the personal computing experimenter with a mechanical flair is the construction of an "arm" mechanism to act as an output device for a chess program. But the practicality of the possibility comes from the limitation of the environment to a three-dimensional region of space above a well defined chess board, with chess pieces designed to fit the design of the arm's grasping mechanisms and object sensors.

Similarly, the person designing the robotic vacuum cleaner appliance can initially implement a practical design only by limiting its environment, requiring that it:

• Avoid precipices (as at the top of stairs).

• Roll on a plane surface of normal gravity.

• Bounce off walls and furniture.

• Only swallow items smaller than a critical size, while sorting and classifying loose objects above that size but below a maximum size.

• Sense presence of animals, children and adults as a cue to enter standby mode of operation.

The environment of the first such practical

Don Lancaster's ingenius design provides software controllable options Including:

• Scrolling • Full performance cursor

• Over 2K rai-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; _

Oily:

State:.

. 7.ip:

ELECTRONICS, INC.

DEPT. 10-B. 1020 W.WILSHIREBLVD., OKLAHOMA CITY, OK 73116

BUILD YOUR OWN VIDEO TERMINAL FOR $85 "plus"

5ViJ:t^,^L^r^l^ 'MUMf!

?niM£MORY

I lO ]ii^L<-ONNL Tor

Serial ASCII or BAUDOT

Full X-Y Cursor control

128 Characters, including upper and lower case

16 lines X 64 characters

SlOO Compatability

Operates on 7VDC unregulated, 6.3 VAC @ 0.75 A

The SCT-100 Single Card Terminal interfaces directly to any computer or modem having serial ASCII or BAUDOT capability It requires only the addition of a standard ASCII keyboard, and a TV monitor. It is available as a partial kit for $85.00 including the PC board, character generator ROM, and' the 3870 microcomputer. The complete SCT-100 kit is $155.00 ($185.00 prewired & tested). To order, call or write today. MC, BAG Accepted.

VECTRON P.O.Box #20887, Dallas, Texas, 75220 Phone (21'*) 350-5291

Circle 158 on inquiry card.

liYTE Niivemhci 1<)77

139

KIM MEETS S-100

Escape the single source blues. The Kimsiis Iheeasy was to expand your KIM-1 system with readily available S-100 boards. Forethought Products has interlaced the 6502 to Ihe S-100 bus by decoding the top 4K for IN and OUT instructions. Full capacity interfacing allows complete control of the 6502 and DMA from Ihe S-fOO bus.

iuUdilkAili

UW*

If^^^^'. L Tiw* **

Item

Kit Assembled Price Price

Kimsi Backplane/S-lOO Ailapler 8 slols lot S-100 available S125

Kimsi Power Supply UiHeg i 8@10A, i lecaiA. 16@1A 6B

KIM-1 incl. documenlallon Send lof more inloimalion N/A

KIM to Kimsi Connector Sel Includes recnidei cables 8

8-100 Edge Connector Kinisi accepts 8 1 is supplied 5

Casselle Recorder lor KIM-1 Hundreds sold loi KIM use N/A

4K Seals ROM Board Accepts up to 16 1702A oi 5203 s 119

4K Imsal RAM Board Bare miniinum lo run Tiny BASIC 139

8K Cromcmco ROM Board Accepts up 10 8 2708 EPROMs H5

8K Seals RAM Board Enough space tor programs below 269 Poly Video Terminal Interlace 16 t 64 Connects to a Monitor and KeyOoaid 210

Matrox ALT-2480 Alptia-Humeric VRAM 2-1 lines ot 80 cnai meeds P39l N/A

Matroi ALT-256''2 Video Graptiics Board Displays 256 x 256 array N/A

Illy Biltv Tiny BASIC 2 5K kit is a paper tape 5

Focal |3 DEC trademarlr) Includes tloating peints N/A

6502 Assembler with Source This is NOT Ihe MOS vtision N/A

7

55

179

239

245

369

280

295

395

10

40

30

SPECIAL! 10% off S-100 Boards when ordered witti Kimsi.

(^

MATROX VIDEO RAMS

NCE/Compumart otters you the leader in CRT display controllers. Matrox Video Rams are complete with memory and require no processor time lor screen refresh Whether your application is alphanumeric, graphic or both, Matrox can provide a system lo meet your needs

MIX B16 Module (Upper Case only) Comiiosile video oolpul in 8 lines ot 16 cnars 179

MTX 1632 Module (Upper and Lower Case) 16 n 32 display includes blink option 225

MIX 1632SL Module (Great with 256"2) Slave sync allows lexl superposition 225

MTX 2480 Circuit Board 24 x 80 icquiies High-persistence phosphor (P39) MTX 256"'2 Circuit Board 256 x 256 array qraphrcs imultiples provide color)

395 63Q

ORDER FORM

Name

Address

City State Zip

Charge my BAC/VISA M/C Interbank #

Card # Exp. Date

Signature

□ Please send me info on the new Commodore PET 2001 computer

Limned 90-day Warranty

Return non-working inerchandise within 90 days tor replacement or relund Kits are w.ii

ranted to be completi; willi working components All items subieci to prior sale

^ty

Item

Price Amount

Total for goods +4% lylichigan Residents -1-4% Shipping and Handling +$1^if order's under $20 Total Amount

NCE/CompuMart

1250 N. Main St. Ann Arbor, Mi. 48104

Dept.BYl (313)994-4445

household robot would specifically exclude any attention to global details such as what to do when it gets wet, what to do in case of fire, how to wash dishes, how to teach children symbolic logic, etc. (Incidentally, the vacuum cleaner just described is one of the robotic mechanisms designed by the hero of Robert Heinlein's Door Into Summer.)

The behavioral design of the robot is a part of this process of limiting the environment. By deciding what the robot is to do, as in the vacuum cleaner case or the chess playing arm case, we impart constraints on its behavior.

The strongest theme of research and experimentation with robotic mechanisms for the near future, then, is that of picking and choosing a particular flavor of environment in which the system is to operate, using this environment definition as the evaluation standard for the design. The environment chosen is what drives the design of mechanisms to interact with that environment; image and sensor processing needs of the system in that environment; software requirements of the computers which implement the processing; and possible avenues of exploration for application concepts.

Defining the Compleat Robotics Experimenter

The personal computer experimenter is well on the way to becoming a robotics experimenter. The intellectual challenge of the robot is a step up in abstraction and difficulty, as well as a step up in fascination and unknowns. What are the requirements of a person who expects to achieve measurable results from experimentation with robotics?

First and foremost, the compleat robotics experimenter is well rounded and virtually the classical Renaissance man. A narrow specialization in one particular aspect of computer science, machine design, etc, may be a useful attribute to possess, but to implement comprehensive systems, comprehensive knowledge is required. For the person just beginning formal education at a college level, a combination of liberal arts and philosophy with computer science, physics, biology and engineering is what 1 would consider a necessary groundwork for later work in robotics. Getting to more specific details, here are some areas of study with reasons for their usefulness to the aspiring robotics experimenter:

Philosophy, particularly epistemology, is crucial. Epistemology is the philosophical discipline concerned with the question "how do we know what we know?" A

140

BYTE Novemher 1977

Circle 104 on inquiry card.

practical understanding of cpistemology is a necessary starting point for anyone who would design a knowledge oriented or "artificially intelligent" system.

Related to epistemology is the necessity for a thorough and practical understanding of the mathematical basis for programming and computer science: concepts of logic, proof of theorems, organization of knowledge, etc, form a background for much work with computers.

Progressing to more specific technical areas, the aspiring roboticist must obtain a mastery of computer science, natural and artificial languages, information theory, electrical engineering (at the level of utilizing "black boxes" of function), mechanical engineering and biology or physiology. The knowledge of computer science is a must, for no robot is possible without a computer to implement its intelligence. Natural and artificial language understanding is a requirement for any form of high level command and control structures to be built into the software of the robotic system. Information theory and its attendant discussions of the possibility of error and strategies for coping with error is essential. Electrical engineering and mechanical engineering are obvious for design of interactive real world mechanisms. Biology, particularly the physiology of natural mechanisms, is essential background information to this process of robotic mechanism design: not necessarily for its value as a direct model, but certainly for its inspirational value and value as a source of detail ideas about possible approaches which might work out in robotic mechanisms. Thorough familiarity with current technologies is a must as well.

A final requisite is a thorough familiarity with science fiction literature, for its imagination inputs. The science fiction writer is at once a frustrated engineer and a daring source of imagination. The frustrated engineer aspect comes from the lack of a technological context to fullfill the imaginations; the imagination side is the reason why science fiction is a necessary input for the compleat robotics experimenter. IVIany design ideas can be found in the writings of science fiction thinkers.

Summing it all up, the personal experimentation with technological concepts which so characterizes the amateur computer person finds a natural extension in the application area of robotics. The challenges and problems of building "smart" machines at once provides a form of an answer to the traditional "what do you do with your computer?" question and a fascinating area for exploration."

READY FOR IMMEDIATE DELIVERY

SOROCIQ120

VIDEO TERMINAL

$995

Fully Assembled

Price includes 24x80 characters, upper & lower case and RS-232 auxiliary port.

^OROC

•nscsnciH

Terminals as above with block mode & screen printer interface

X^^^ V -nECMMOuaarr, INC

TermuiaUs-shippedFREE to U.S. (destination

BVTE SHDP mfiH ORDER

803 N. Scotfsdale Rd. Tempe, Arizona 85281 602-894-1193

SEND ME

D

■ ^ t>'

SOROC IQ 120 TERMINAL(S)

QTY

Standard Model G w/Option Package

: ENCLOSE $ CHECK OR

MONEY ORDER.

J CHARGES

Name _ Phone (_ Address City

Visa Card

TO Mastercharge

Card No.

Interbank No..

^Exp. Date

State

-Zip^

VISIT OUR BYTESHOP RETAIL STORES: 813N.Scoltsdale Rd. 12654 N. 28th Drive Tempe, Az. 85281 Phoenix, Az. 85029

(602)894-1129 (602)942-7300

Call us collect for credit card orders. 15 day delay on personal ctiecks. Arizona residence add 4% sales tax.

2612 E. Broadway Tucson, Az. 85716 (602)327-4579

SEND $2.50 FOR THE 40 PAGE BYTE SHOPPER CATALOG

Circle 18 on inquiry card.

BYTE Novemlier 1977

141

What's Cooking?

The Lancaster Series!

I'ftiXot.

TYPEHRITER COOKBOOK

ACTIVEL^^ FILTER cookbook

TV Typewriter Cookbook by Don

Lancaster. A complete guide to low cost television display of alphianumeric data, several chapters of winicfi were published ahead of the book in early issues of BYTE magazine. $9.95.

Active Filter Cookbook by Don Lancaster. The chief chef of electronics Cookbooks concocts another gourmet appetizer. Run to this book when you need to find a starting point for the design of a filter for use in an electronic application. $14.95.

The TTL Cookbook by Don Lancas

ter. Start here with Don's tutorial explanations of what makes TTL logic design tick. 335 pages, $8.95.

CMOS Cookbook. Don Lancaster has

taken his highly successful TTL Cookbook formula and done it again. This bigger than ever (414 pages!) book tells you how to use CMOS, the exciting new power logic family. $9.95.

JVIodern Operational Circuit Design by

John L Smith. An absolutely essential introduction to the use and application of operational amplifier systems. The book contains both theoretical background information and practical circuit suggestions which can be used to advantage by the experimenter. $23.25 (hardbound).

^Linear IC Principles, Experiments, and

Projects by Edward M Noll. From basic principles to complicated systems, from simple amplifier experiments to applications in radio, TV and control systems, this book can improve your knowledge of the way circuitry of the analog world really works. $8.95.

Practical Solid-State Circuit Design by

Jerome E Oleksy. A self study course in the design of semiconductor circuits from the simple transistor to the complex operational amplifier. $5.95.

Fundamentals and Applications of

Digital Logic Circuits by Sol Libes. An invaluable tutorial background volume on digital logic, arithmetic, 10 concepts and interfacing to analog devices; written by one of the founders of the Amateur Computer Group of NJ. This book acquaints the reader with much of the terminology and background concepts of digital hardware. $6.95.

Send to:

BITS, Inc.

70 Main Street

Peterborough NH 03458

Check Payment method: My check is enclosed Bill my MC No. Bill my BAC No.

Exp. date -Exp. date

Name

Address

Total for all books checked Postage 50 cents per book for Grand Total

books $ $

City

State

Zip Code

Signature

You may photocopy this page if you wish to leave your BYTE intact.

Prices shown are subject to change without notice.

All orders must be prepaid.

In unusual cases, processing may exceed 30 days.

142

BYTE November 1977

Circle 1 2 on inquiry card.

A BIT More

When you build a project, you need information. All you find in the advertisements for parts are mysterious numbers identifying the little beasties . .. hardly the sort of information which can be used to design a custom logic circuit. You can find out about many of the numbers by using the information found in these books. No laborator)' bench is complete without an accompanying librar}' shelf filled with references.

Order these absolutely essential references from Texas Instruments today:

The TTL Data Book for Design Engineers, $4.95, new second edition.

The Linear and Interface Circuits Data Bool< for Design Engineers, $3.95.

The Semiconductor IVlemory Data Bool< for Design Engineers, $2.95.

The Transistor and Diode Data Bool< for Design Engineers, $8.50.

The Power Semiconductor Handbook for Design Engineers, $7.50.

Understanding Solid State Electronics, $2.95.

The Optoelectronics Data Book for Design Engineers, $2.95.

^Designing with TTL Integrated Circuits, edited by Robert L Morris

and John R Miller, published by McGraw-Hill, $26.

—The TTL Cookbook by Don Lancaster, published by Howard W Sams. Start your quest for data here with Don's tutorial explanations of what makes a TTL logic design tick. 335 pages, $8.95.

—Microcomputer Design by Donald P Martin, Edited and published by Kerry S Berland, Martin Research. Purchase your copy of the definitive source for circuitry and hardware design information on the 8008 and 8080 computers. $14.95.

—Texas Instruments has just come out with the updated version of the TTL Data Book for Design Engineers, a new 832 page book which includes information formerly in the previous edition and its supplement, as well as new circuits which have arrived on the scene since publication of the earlier versions of this book. The second edition of the TTL Data Book for Design Engineers is your most up to date and current source of information on, the design specifications and characteristics of the Texas Instruments 7400 series of devices. In it you'll find a complete section of 7400 series pinout diagrams at the front, plus the usual detailed descriptive information on the more complicated circuits. Only $4.95.

Send to:

BITS, Inc 70 Main St Peterborough NH 03458

Check payment method:

My check is enclosed

Bill my MC No.

Bill my VISA No.

Name

Exp. date Exp. date

Total for all books checked Postage, 50 cents per book

for books

Grand Total

Address

City

State

_Zi£_

$ $

Signature

You may photocopy this page if you wish to leave your BYTE intact. Please allow six weeks for delivery.

J

Circle 12 on inquiry card.

BYTE November 1977

143

Problems for Computer Solution by

Steve Rogowski, Teacher Edition. A collection of mathematical problems designed to stimulate thought and encourage research by students towards the goal of a final solution. The subjects range from arithmetic through calculus and on to problems that have yet to be resolved. An analysis of each problem provides ideas on logical approaches to a solution, and a sample program demonstrates one possible final solution. $9.95.

Chemistry with a Computer by Paul A

Cauchon. People are always looking for details of applications for the computer. It is one thing to say "gee whiz wouldn't it be nice if. . ." but such thoughts are but the stimulus to action. One result of a "gee whiz" idea is a series of educational and tutorial BASIC programs for use by teachers of chemistry, invented by Paul A Cauchon and published by Educomp Corporation. This book contains a collection of tutorial, simulation and problem generation programs which can be employed to advantage by teachers in high schools or colleges wherever a BASIC facility is available. If you're a chemistry professor or teacher by trade, or just a hobbyist interested in chemistry, this book will prove to be an invaluable tutorial aid. $9.95.

Take a Byte of APL

APL—An Interactive Approach Second

Edition, Revised, by Oilman and Rose. Here's an excellent way to introduce yourself to the APL language. APL is rapidly becoming one of the most popular high level languages in the computer field because of its clarity and conciseness. Oilman and Rose have extensively updated their popular book to include the latest information about the language and the various forms of it which are now in use. Since the examples are all carefully spelled out, APL—An Interactive Approach is particularly recommended for those who do not have access to an APL terminal. Answers to all problems are included. $11.95.

AH.

The Underground Buying Guide, by

Dennis A King. Here at last is a source book for all those hard to find suppliers! It's designed especially for computer hobbyists, experimenters, hams and CB'ers, and can tell you where to buy items like connectors, discrete components, electronic music supplies, instrumentation, analog to digital and digital to analog converters, and synthesizers. The list goes on to include Teletypes, speakers, microcomputer software, cassette units, floppy disks and many other items. It will be an invaluable addition to your reference library. $5.95.

Hi*

UiSw^oimi 8ui|in«(iiiide

for HaiBi, CUeis,

and tmmasi I liobl»ii$C

PCC'S Reference Book of Personal and

Home Computing. Ever try to find the addresses of some manufacturers of, say, tape cassette or floppy disk interfaces for micros? Frustrating, isn't it? Well PCC has done something about it. This book lists hundreds of companies and stores selling hardware, software, and services. Survey articles on software, hardware, kits, applications and the future for the experienced and the not-so-experienced user of micros. Also included in this edition are bibliographies for further reference, book reviews, and an index of the articles from the major hobbyist magazines. $5.95

Send to:

Bits, Inc.

70 Main Street

Peterborough NH 03458

Name

Address

Check Payment method:

My check is enclosed

Bill my MC No

-Bill my BAG No.

. Exp. date . Exp. date .

. books

City

State Zip Code

Signature

You may photocopy this page if you wish to leave your BYTE intact.

Total for all books checked Postage, 50 cents per book for_ Grand Total

Prices shown are subject to change without notice.

All orders must be prepaid.

In unusual cases, processing may exceed 30 days.

144 BYTE Novemlier 1 977

Circle 12 on inquiry card.

Continued from page 32

stations. Most receivers track a master and two slave stations. Tliis produces two lines of position on a hyberbolic grid; the intersection is the position of tile receiver. LORAN-C is a fairly accurate system giving fixes good to from 300 feet to 'A mile, but it is limited in range. The range is up to 1200 to 1500 miles. Accuracy is degraded at night due to skywave interference. At present LORAN-C coverage is far from worldwide. Since it is principally a system for ship navigation, it is useful mainly in coastal areas. There are lots of receivers on the market, none of which is really inexpensive.

I am familiar with one satellite navigation system in current usage (others are in the developmental stage). This is the Navy Navigational Satellite System. It is a high accuracy system (100 feet for stationary receivers) which measures Doppler frequency of a ISO MHz and a 400 MHz carrier. The use of two frequencies allows for correction for ionospheric refraction. The satellite also transmits digital data which includes time of day and a description of the satellite's orbit. This is usually fed from a receiver into a minicomputer which processes the data and produces a fix in terms of latitude and longitude. This system does not produce continuous navigation since fixes can only be obtained when a satellite passes over the receiver. Since the satellites are in polar orbits the lime between fixes normally ranges from 15 minutes to 4 hours with more frequent fixes as the receiver nears either pole. Again a number of companies manufacture receivers, but again they are expensive. A cheap SATNAV receiver and a set of microcomputer programs to produce a fix would certainly be an interesting, though formidable, project.

J Dean Clamons

Systems Analyst

Shipboard Computing Group

Naval Research Laboratory

Washington DC 20375

Ask BYTE

SHIMMY?

What causes the shimmy on my video monitor? Sometimes it looks like it's doing a hula.

John C Ford

9724 Tweedy Ln

Downy CA 90240

The problem superficially sounds like a beat between two frequencies. If the shimmy of which you speak is an amplitude modulation on an otherwise solid picture, you may have some form of cross talk with 60 Hz and some submultiple of your video interface's internal timing references, m

Circle 69 on inquiry card.

Introducing a new order of professional printing performance—tfie Integral Impact... withi features normally found only in big, fiigherpriced units..

• Microprocessor based controller

• Serial RS-232, current loop and parallel TTL interfaces are standard

• Built-in self-test mode

• Plainpaper—8V2" wide—roller fanfold

• Standard 64 character ASCII set using 5x7dot matrix

• Multiple copies without adjustments

• Line length to 132 columns

• Instantaneous print rate to 165 cps, throughput to 80 cps .

• Attractive table top console with front panel controls

'n^v<^eo

Now= Big Printer Performance

Mini-Printer Price "

Only ^745 complete

i^lntegral Data Systems

5 Bridge street-Watertown, MA 02172 ■ (617)926-1011

BYTE Novemlicr 1977 145

Implementing an LSI Frequency Counter

Perry Lynne 990 Arques Av Sunnyvale CA 94086

RD • WR ■

AO .

READ/ WRITE LOGIC

The new generation of programmable large scale integration (LSI) 10 devices is proving to be as exciting as the microprocessors to which they are connected. With the aid of these LSI devices, complete functions can be added to a microprocessor system with only a few integrated circuits. One example of an LSI device with this kind of capability is the 8253 programmable interval timer which can be easily interfaced to almost any microprocessor. Using this device, a complete frequency counter can be constructed with just a couple of integrated circuits.

CONTROL

WORD

REGISTER

c

CO

CO

COUNTER

NO 0

• CLK O ■ GATE 0

■♦ OUT O

COUNTER NO. I

CLK I

GATE I

o

COUNTER NO. 2

CLK 2 GATE 2

What's on This Chip?

The 8253 contains three independent 16 bit down counters (see figure 1). Each counter has a separate count input, gate input for gating the count and count output. Each can count in binary or binary coded decinnal (BCD). Also, each counter can operate in one of four separate modes determined by storing a "mode" word in the device for each of the counters, usually on power up initialization. These mode words stay stored in the 8253 until they are changed by the microprocessor under software control.

In table 2 the format for loading the mode word and reading or loading the count in each counter is shown. The configuration of the mode word is shown in table 3.

The mode word for each counter on the 8253 determines whether the upper or lower half of the counter will be read or written, or whether the counter expects two sequential reads or writes to move 16 bits of data in or out of the device. The type of output the counters will produce is also determined by the mode word. See the shaded box on mode definitions for a discussion of each mode.

Programming the 8253

Each counter is individually programmed by writing a control word to location A1, AO = 11. The control word format is as follows;

D7 SCI

D3

0

D6 SCO

D2 Ml

D5 RL1

D1

MO

D4 RLO

DO BCD

Figure 7: A block diagram of ttie 8253 programmable interval timer, which is made up of three independent down counters serviced by an internal bus. Software commands from the external processor are used to put the circuit in any one of the four different "modes" of operation. The modes, which are discussed in the mode definition box, include a mode which causes an interrupt on terminal count, a programmable oneshot, a rate generator and a square wave rate generator.

Where DO - D7 is the contents of the data bus when the mode word is written to the 8253.

In this application the 8253 will be used as a single chip frequency counter. Figure 3 shows the functions of each counter. To determine the frequency of an unknown

146

BYTE November 1977

The Two Modes of Operation of the 8253 Used in the Programmable Frequency Counter

Mode 1: Programmable Oneshot

The output will go low on the count following the rising edge of the gate/trigger input.

The output will go high on the terminal count. If a new count value is loaded while the output is low it will not affect the duration of the oneshot pulse until the succeeding trigger. The current count can be read at any time without affecting the oneshot pulse.

Mode 2: Rate Generator

Divide by N counter. The output will be low for one period of the input clock. The period from one output pulse to the next equals the number of input counts in the count register. If the count register is reloaded between output pulses the present period will not be affected, but the subsequent period will reflect the new value.

The gate/reset input, when low, will force the output high. When the gate/reset input goes high, the counter will start from the initial count. Thus, the gate/reset input can be used to synchronize the counter.

When this mode is set, the output will remain high until after the count register is loaded. The output then can also be synchronized by software.

MODE 1

<='-°™ JTJTJTJXnJlJTJTJTJTJTJrLrL

WRr~

J

TRIGGER

1

4 3 2 10

OUTPUT

1 1

(n

1 1

4 3 2 4 3 2 10

OUTPUT

1 1

MODE 2

cLocK_jxixruxruTJiJTJijaruTxu-Ln_

Wi?n 1""*

4 3 2 1 014) 3 2 1 013) 2 1 0

0(3)

l—j LJ l_l

3 2 1 0(3) 2 1 0(31 2 1

l_l LJ

RFSFT 1 1

Figures 2a and 2b: Two possible modes of operation for the 8253 programmable interval timer. (There are six in all.)

"""^-.^^

Signal

Low

^~^

--flatus

Or Going

Modes

^^'^^^

Low

Rising

High

1) initiates counting

2) Resets output after next ciock

2

1) Disables

counting

Initiates

Enables

2) Sets output

counling

counting

immediately

high

Table I: Gate pin operations summary.

Table 2: The configuration of the mode word, which determines whether the upper or lower half of the counter will be read or written, or whether the counter expects two sequential reads or writes to move 16 bits of data in or out of the device.

CS RD WR Ai Aq

0

1

0

0

0

Load counter 0

0

1

0

0

1

Load counter 1

0

1

0

1

0

Load counter 2

0

1

0

1

1

Write mode word

0

0

1

0

0

Read counter 0

0

0

1

0

1

Read counter 1

0

0

1

1

0

Read counter 2

0

0

1

1

1

No-operation 3-state

1

X

X

X

X

Disable 3-state

0

1

1

X

X

No-operation 3-state

Where

QL = RD = WR = AiAq

Chip select

Control signal to read data from the 8253

Control signal to write data to the 8253

= Address lines to select various sections of 8253

Table 3: The format for loading the mode word and reading or loading the count in each counter:

SCI

0 0

1

RLI

1 0

1

Ml

0 0

1

1

BCD

0

1

SCO

0

1

0 RLO

0

1 1

MO

0

1

0

1

Select counter 0 Select counter 1 Select counter 2

Read/Load most significant byte only Read/Load least significant byte only Read/Load least significant byte first, then most significant byte.

(M=Mode)

Set Mode 0 Set Mode 1 Set Mode 2 Set Mode 3

(BCD^Binary Coded Decimal)

Binary counter (16 bits) BCD counter (4 decades)

BYTE Novemher 1977

147

2.048 MHz SIGNAL FROM 80B0 <J>2 TTL CLOCK

+ 5V

~LJ

k.

START CONVERSION FROM PROCESSOR ►■

INTERRUPT

TO PROCESSOR

4>

UNKNOWN FREQUENCY —►

Integrated Circuit Power Pin Table

Integrated Circuit

Type

+5V Power

Ground

IC1 102

8253 7476

24 5

12 13

/^

+ 5V t 1

C^"

ICI 8253

IC2 7476

CLEAR

UNDERFLOW—>INTERRUPT

TO PROCESSOR

INTERRUPT ■ FOR UNDERFLOW DETECTION

Figure 3: A two chip frequency counter. An un/^nown frequency is counted by counter number 1 during a precise time interval. Tliis precise time interval is generated by counters 0 and 2. Counter 0 is programmed by the software to count the 8080 TTL clock input and divide it by 20,480. This creates a series of output pulses at a rate of one every 10 ms. These pulses are counted by counter 2 to produce a oneshot of programmable length. The oneshot is used to enable counter 1, which then counts the unknown frequency. Finally, the processor reads out the value of counter 7 and calculates the unknown frequency. IC2 is used to signal an underflow. This allows the circuit to count up to values beyond the normal maximum of 65,535 (for a 16 bit counter).

THE HIGH-LEVEL APPROACH: A/BASIC® COMPILER

MICROWARE'S new A/BASIC® compiler can break the software bottleneck in your M6800 system. A/BASIC® compiles BASIC source programs to fast, memory-efficient machine language programs. A/BASIC® is a cost-effective alternative to slow interpreters or complex assemblers at a price you can afford.

• GENERATES PURE M6800 CODE — NO RUN-TIME PACKAGE REQUIRED

• COMPILED PROGRAMS RUN MUCH FASTER THAN INTERPRETERS

• LOW OVERHEAD — WILL RUN IN 8K SYSTEM WITHOUT DISK

• PROGRAMMER HAS COMPLETE CONTROL OF MEMORY ALLOCATION

• MANY POWERFUL EXTENSIONS TO BASIC SYNTAX

We'd like to tell you more about A/BASIC® and other advanced M6800 hardware and software products. Write or call today for complete information.

MICROWVRE SYSTEMS CORPORATION

P.O. BOX 954 . DES MOINES, IOWA 50304 • (515) 279-9856

:x.

148

liYTE Ni)vembcil977

Circle 91 on inquiry card.

incoming signal we must count the number of cycles of tlie signal during a precise predetermined interval called the timebase.

in figure 3 we generate this timebase using counters 2 and 0. The 8080 *2 TTL clock, which is crystal controlled at 2.048 MHz, is input to counter 0 operating mode 2. The output of this counter, which divides the count by 20,480, is a precise 10 ms signal. The output of counter 0 is then input to counter 2 which is operating in mode 1. in this mode counter 2 counts the 10 ms pulses and produces a oneshot output which serves as a precise interval for counting the unknown frequency.

This timebase interval is programmable by the microprocessor and can be varied from 100 ms to 100 seconds by storing the appropriate divider ratio in counter 2. This oneshot action is initiated under software control by strobing the gate input of counter 2. Note that after the strobe the oneshot action does not start until the next falling clock edge, so the interval is precise.

Next the output of counter 2 goes to the gate input of counter 1 which is operating in mode 2. This counter is allowed to count the unknown frequency of the incoming signal during the period that the gate input is high. The rising edge of the oneshot output of counter 2 is used to interrupt the microprocessor and signal that the frequency to digital conversion is complete. The processor then reads the resultant count in counter 1.

The software for servicing this progammable frequency counter is shown in listing 1. Note that, since these are down counters, the software initializes counter 1 with all Is and the value stored in this counter at any particular time is the complement of the number of counts received from the unknown frequency. For example, if one count has been received, counter 1 will contain 1111 1111 1111 1110; the complement is 0000 0000 0000 0001.

The maximum count with a 16 bit counter is 65,535. (Note: with time base constants in listing set up for a 1 second count period, this 16 bit range measures frequencies from 1 Hz to 65,535 Hz). If the rising edge of the output of counter 1 (which signals an underflow) is used to interrupt the microprocessor, then the processor can count the number of interrupts in software. The processor can therefore keep a running total of the number of times the counter has passed through 65,535 counts and can therefore adjust the final count appropriately. This will enable counts much larger than 65,535 to be accumulated without having to use additional integrated circuits."

INITIALIZING THE 8253 COUNTERS FOR THEIR VARIOUS MODES THE 8253 IS CONNECTED IN A MEMORY MAPPED 10 CONFIGURATION IN THIS APPLICATION AND THEREFORE IS ADDRESSED THROUGH MEMORY REFERENCE INSTRUCTIONS

Listing 1: Software for servicing the programmable frequency counter.

LXI H,P3253 MVI M,COUNT 0

MVI M,COUNT 1 MVI M,COUNT 2

INITIALIZE MEMORY POINTER TO 8253 MODE WORD INITIALIZE COUNTER 0 TO MODE 2

INITIALIZE COUNTER 1 TO MODE 2 INITIALIZE COUNTER 2 TO MODE 1

INITIALIZE COUNTER 2 WITH DIVIDER RATIO TO PRODUCE APPROPRIATE TIMEBASE

DCX H

LXI B.TIMEBASE

MOV M,C

MOV M,B

POINT TO COUNTER 2 TIMEBASE = 3E8H FOR lOSEC = 64H FOR ISEC = OAH FOR lOOMS

INITIALIZE COUNTER 1 WITH ALL Is SINCE THIS COUNTER WILL BE COUNTING DOWN

DCX H ; POINT TO COUNTER 1

MVI M.OFFH

MVI M.OFFH

INITIALIZE COUNTER 0 WITH A DIVIDE BY 20480.

DCX H ; POINT TO COUNTER 0

MVI M.OOH MVI M,50H

THIS SUBROUTINE SERVICES THE FREQUENCY COUNTER INTERRUPT BY READING THE FREQUENCY IN COUNTER 0 AND STARTING A NEW CYCLE

: PUSH

A

PUSH

H

LXI

H,P8253-2

MOV

A,M

CMA

STA

COUNTRSLT

MOV

A,M

CMA

STA

COUNTRSLT+1

MVI

M.OFFH

MVI

M,OFFH

OUT

START

POP

H

POP

A

EI

RET

SAVE REGISTERS WHICH ARE MODIFIED BY THIS ROUTINE POINT TO COUNTER 1 GET LSB OF RESULT COMPLEMENT THE DATA STORE IN COUNT RESULT GET MSB OF RESULT COMPLEMENT DATA STORE AWAY STORE ALL Is IN COUNTER 1

CLEAR INTERRUPT AND START NEW CYCLE RESTORE STATUS AND RETURN

THIS ROUTINE SERVICES AN OVERFLOW INTERRUPT FROM COUNTER 1 AND KEEPS A RUNNING TOTAL OF THE NUMBER OF OVERFLOWS FOR THIS CYCLE. OTHER SOFTWARE IN THE SYSTEM SHOULD CLEAR THIS QUANTITY WHEN A NEW CYCLE IS STARTED.

OVERFLOW:

PUSH

A

; SAVE SYSTEM STATUS

PUSH

H

LXI

H,OVFLO

; INCREMENT OVFLO

INC

M

OUT

CLINT

; CLEAR THE INTERRUPT

POP

H

POP

A .

EI

RET

BYTE Novemhcr 1977

149

Stephen Wozniak

Apple Computer

20863 Stevens Creek Blvd. B3C

Cupertino CA 95014

SWEET16: The 6502 Dream Machine

While writing Apple BASIC for a 6502 microprocessor I repeatedly encountered a variant of IVIurphy's Law. Briefly stated, any routine operating on 16 bit data will require at least twice the code that it should. Programs making extensive use of 16 bit pointers (such as compilers, editors and assemblers) are included in this category. In my case, even the addition of a few double byte instructions to the 6502 would have only slightly alleviated the problem. What I really needed was a hybrid of the MOS Technology 6502 and RCA 1800 architectures, a powerful 8 bit data handler complemented by an easy to use processor with an abundance of 16 bit registers and excellent pointer capability. My solution was to implement a nonexistent 16 bit "metaprocessor" in software, interpreter style, which I call SWEET16. This metaprocessor was sketched at the end of my article in May 1977 BYTE, and the purpose of this article is to fill in the details of SWEET16.

SWEET16 is based around sixteen 16 bit

300 B9 00

02

LDA

m, Y

Get a char.

303 09 CD

CMP

"M"

"M" for move?

305 DO 09

BNE

NOMOVE

No, skip move.

CD

307 20 00

08

JSR

SW16

Yes, call SWEET16. R1 holds source address.

30A41

MLOOP

LD

@R1

1—

308 52

ST

@R2

R2 holds dest. address.

LU /

300 F3

DOR

R3

Decrement length.

LU

SOD 07 FB

BNZ

MLOOP

Loop until done.

t/D

30 F 00

RTN

Return to 6502 mode. ■■E"char?

310 09 05

NOMOVE

OMP

"E"

312 DO 13

BEQ

EXIT

Yes, exit.

314 08

INY

No, continue.

Note: Registers A, X, Y, P and S are not disturbed by SWEET16.

Listing 1: Use of SWEET16 witliin an assembly language program is accomplished by executing a subroutine call to the SWEET!6 entry point (address 307 here). This call preserves the processor registers at the time of entry and begins interpretive execution. End of interpretive execution is signaled by a RTN operation code of SWEETI6, at which point all the processor registers will be restored.

registers called RO to R15, actually implemented as 32 memory locations. RO doubles as the SWEET16 accumulator (ACC), R15 as the program counter (PC), and R14 as the status register. R13 holds compare instruction results and R12 is the subroutine return stack pointer if SWEET16 subroutines are used. All other SWEET16 registers are at the user's unrestricted disposal.

SWEET16 instructions fall into register and nonregister categories. The register operations specify one of the 16 registers to be used as either a data element or a pointer to data in memory depending on the specific instruction. For example, the instruction INR R5 uses R5 as data and ST @R7 uses R7 as a pointer to data in memory. Except for the SET instruction, register operations only require one byte. The nonregister operations are primarily 6502 style branches with the second byte specifying a ±127 byte displacement relative to the address of the following instruction. If a prior register operation result meets a specified branch condition, the displacement is added to SWEET16's program counter, effecting a branch.

SWEET! 6 is intended as a 6502 enhancement package, not a stand alone processor. A 6502 program switches to SWEET16 mode with a subroutine call, and subsequent code is interpreted as SWEET16 instructions. The nonregister operation RTN returns the user program to the 6502's direct execution mode after restoring the internal register contents (A, X, Y, P and S). The example of listing 1 illustrates how to use SWEET16 in some program segment.

Instruction Descriptions

The SWEET16 op code list is short and uncomplicated. Excepting relative branch displacements, hand assembly is trivial. All register op codes are formed by combining two hexadecimal digits, one for the op code and one to specify a register. For example,

150

BYTE November 1977

op codes 15 and 45 both specify register R5 wiiile codes 23, 27 and 29 are all ST (store) operations. Most register operations of SWEET16 are assigned to numerically adjacent pairs to facilitate remembering them. Thus LD and ST are op codes 2n and 3n respectively, while LD @ and ST @ are codes 4n and 5n.

Operation codes 00 to OC (hexadecimal) are assigned to the 13 nonregister operations. Except for RTN (op code 0), BK (OA), and RS (B), the nonregister operations are 6502 style relative branches. The second byte of a branch instruction contains a ±127 byte displacement value (in two's complement form) relative to the address of the instruction immediately following the branch. If a specified branch condition is met by the prior register operation result, the displacement is added to the program counter effecting a branch. Except for BR (Branch always) and BS (Branch to Subroutine), the branch operation codes are assigned in complementary pairs, rendering them easily remembered for hand coding. For example. Branch if Plus and Branch if Minus are op codes 04 and 05, while Branch if Zero and Branch if NonZero are op codes 06 and 07.

Theory of Operation

SWEET16 execution mode begins with a subroutine call to SW16 (see listing 2, an assembly of SWEET16). The user must insure that the 6502 is in hexadecimal mode upon entry. [For those unfamiliar with the 6502, arithmetic is either decimal or hexadecimal (binary) depending on a programmable flag. . .CH] All 6502 registers are saved at this time, to be restored when a SWEET16 RTN instruction returns control to the 6502. If you can tolerate indefinite 6502 register contents upon exit, approximately 30 jus may be saved by entering SWEET!6 at location SW16 + 3. Because this might cause an inadvertent switch from hexadecimal to decimal mode, it is advisable to enter at SW16 the first time through.

After saving the 6502 registers, SWEET16 initializes its program counter (R15) with the subroutine return address off the 6502 stack. SWEET16's program counter points to the location preceding the next instruction to be executed. Following the subroutine call are 1 byte, 2 byte, or 3 byte long SWEET16 instructions, stored in ascending

Listing 2: SWEETI6 assembly. The SWEETI6 program, assembled to reside at location 800 hexadecimal, is presented by this listing. The primary entry point is at the beginning, location SWIG. An alternate entry point if there is no need to save processor registers is at location 803 in this assembly, SWI6-1-3.

SUEET16 INTERPRETER

II: le

A.^

.* THI1

J MAY

2> i9n

00^01

«***««««

«««««*

*«**«««

00e02

*

00003

* AOPLE-II P5EUD0

00004

• MACHINE INTERPRETER

00005

*

00006

» 5

'JOtNIAK

00007

. APPLE

COMPUTER INC

00003

*

00009

»»

00010

TITLE

SWEET 16 INTERPRETER"

000 1 I

R0L

EPZ

10

00012

"OH

EP»

11

00013

R 14H

EP'.

ilD

00014

R15L

ZPZ

HE

000 15

R151I

EPJ

IIF

00016

S16PAG

EOU

tF7

00017

ORG

1800

esez:

20

74 09

00018

SUI6

J5R

SAVE

PRESERVE 6502 REG CONTENTS

B8B3:

68

00019

PLA

0BO4:

85

IE

00020

STA

R15L

INIT SUEET16 PC

0806:

68

00021

PLA

FROM RETl'RN

0807:

85

IF

00022

STA

RI5H

ADDRESS

0809:

20

0F 06

00823

S'J16B

JSR

SU 16C

INTERPRET AND EXECUTE

0800:

4C

09 08

00024

JMP

SUI6B

ONE SWEET16 INETR.

080F:

E6

IE

00025

5V 1 6C

INC

RI5L

081 1:

D0

02

00026

BNE

SU16D

INCR SUEET16 PC FOR FETCH

08 13:

E6

IF

00027

INC

RISK

08 15:

A9

F7

00028

SW16D

LDA

»S16PAG

0817:

48

00029

PHA

PUSH ON STACK FOR RTS

0818:

A0

00

00030

LDY

#10

08 1 A:

Bl

IE

00031

LDA

(RI5L)

>Y

FETCH INSTR

08 IC;

29

0F

00032

AND

*tF

MASK REG SPECIFICATION

08 IE;

0A

00033

ASL

A

DOUBLE FOR 2-BYTE REG'S

08 IF;

AA

00034

TAX

TO X-REG FOR INDEXING

0820:

4A

00035

LSR

A

0821:

51

IE

00036

EOP

CR15L)

/Y

NOW HAVE OPCODE

0823:

F0

0B

00037

BEO

TOBR

IF '. ERO THEW NON-REG OP

0825;

86

ID

00038

STX

R14H

INDlCATE'PRIOR RESULT PEG'

0827:

4A

00039

LSR

A

0826:

4A

00040

LSR

A

OPCODE-2 TO LSB'S

0B29:

4A

00041

LSR

A

08 2 A:

A8

00042

TAY

TO Y-PEG FOR INDEXING

0S2B:

B9

58 06

00043

LDA

OPTBL

a/Y LOy-ORDER ADR BYTE

032E:

48

00044

PHA

ONTO STACK

082F:

60

00045

RT5

GOTO REG-OP ROUTINE

0830:

E6

IE

00046

TOBR

INC

R15L

0632:

D0

02

00047

BNE

T0BR2

INCR OC

063^11

E6

IF

00048

INC

R15H

0836;

BD

5B 08

00049

T0BR2

LDA

BRTBL,

X

LOU-ORDER ADP BYTE

0639;

48

00050

PHA

ONTO STACK FOR NON-REG OP

08 3A:

A5

ID

00051

LDA

R14H

•PRIOR RESULT REG' INDEX

083C:

4A

00052

LSR

A

PREPARE CARRY FOR BC. BNC.

083D1

60

00053

RTS

GOTO NON-REG OP ROUTINE

e83£:

68

00054

RTN!

PLA

POP RETURN ADDRESS

e83Fl

68

00055

PLA

03101

20

7F 09

00056

JSR

RESTORE

RESTORE 6502 REG CONTENTS

08431

6C

IE 00

00057

JMP

<R15L)

RETURN TO 6502 CODE VIA PC

0S16I

Bl

IE

00058

SETZ

LDA

(R15L)

*Y

HIGH-ORDER BYTE OF CONST

0848;

95

01

00059

STA

RBH.X

084AI

68

00060

DEY

084BI

Bl

IE

00061

LDA

<R 15L)

jY

LOW-ORDER BYTE OF CONSTANT

esiDi

95

00

00062

STA

R0L,X

08J1F1

98

00063

TYA

Y-REQ CONTAINS 1

08501

38

00064

SEC

0851:

65

IE

00065

ADC

R15L

ADD 2 TO PC

0853!

65

IE

00066

STA

RI5L

08551

90

02

00067

BCC

SET2

0857:

E6

IF

00066

INC

R15H

08 591

60

00069

SET2

RTS

08 5A;

79

00070

OPTBL

DFB

SET- 1

( 1X>

06 5E:

70

00071

BRTBL

DFB

RTN- 1

(01

085C:

7B

00072

DFB

LD-1

<2X)

065D:

14

00073

DFB

BR- 1

( 1)

085E:

84

00074

DFB

ST-1

<3X)

085F:

15

00075

DFB

BNC- 1

(2)

0860!

9C

00076

DFB

LDAT-1

C4X)

086 1:

26

00077

DFB

BC- 1

<3)

0862!

8D

00078

DFB

STAT- 1

(5X)

08631

29

00079

DFB

BP-1

C4)

08641

BE

00080

DFB

LDDAT

1

<6X)

0865!

30

0008 1

DFB

BM-1

C5)

08661

ce

00082

DFB

STDAT

1

(7X)

0867!

37

00063

DFB

BZ-1

(6)

08681

A6

00084

DFB

POP- 1

(8X)

0869:

40

00085

DFB

BN2- 1

<7)

086A1

D2

00086

DFB

STPAT

1

<9X>

086B1

49

00087

DFB

BMl- 1

(6)

086C1

FC

00088

DFB

ADD- 1

(AX)

086 Di

54

00089

DFB

BNM1- 1

(9)

086 E:

E5

00090

DFB

SUB- 1

<BX)

086FI

7C

0009 1

DFB

BK-1

(A>

08701

AA

00092

DFB

POPD- 1

<CX>

067 ll

5F

00093

DFB

RS-1

<B)

087 21

E7

00094

DFB

CPR- 1

<DX>

08731

0A

00095

DFB

BS-1

<C)

087 4:

95

00096

DFB

INR- 1

(EX)

087 5:

5E

00097

DFB

NUL- 1

(D)

BYTE Novcmher 1977

151

Listing 2, continued:

087 6!

DC

00098

DFB

DCR- 1

(FX>

06771

5E

00099

DFB

NUL- 1

CE)

087 8:

5E

00100

DFB

NHL- 1

(WUSED)

08791

5E

00101

DFB

NUL- 1

(F)

037 A:

10

CA

00102

SET

BPL

SETt

ALWAYS TAKEN

087CI

B5

00

B01B3

LD

LDA

P0L*X

00101

SK

ECU

• - 1

087 E:

85

00

00105

STA

RBL

0680:

B5

01

B0106

LDA

R0H/X

MOVE RX TO R0

0882:

85

01

00107

STA

R0H

08SJ1:

60

00108

P.TS

0885:

A5

00

00109

ST

LDA

R0L

0B67:

95

00

001 IB

STA

RBL#X

HOVE RO TO RX

0889:

AS

01

001 1 1

LDA

P0H

088B:

95

01

001 12

STA

POHjX

0880:

60

001 13

RTS

066 E:

A5

00

001 11

STAT

LDA

RBL

0690:

81

00

B01 15

STAT2

STA

(RBL<X>

STORE BYTE INDIRECT

0892:

A0

00

001 16

LDY

lia

0891:

81

ID

001 17

STAT3

STY

HUH

INDICATE R0 IS RESULT PEG

0896:

F6

00

B0I 13

INn

INC

RBL-X

0898:

D0

02

B01 19

BNE

INn2

I NCR RX

089A:

F6

Bl

00120

INC

PBH/X

089 C>

60

00121

INR2

"iTS

089 D:

Al

00

00122

LDAT

LDA

(RBL.X)

LOAD INDIRECT (RX)

089F:

85

BB

00123

STA

POL

TO RB

08AI:

A0

00

00121

LDY

»SB

08A3:

61

Bl

0012S

STY

RBH

ZERO HIGH-ORDER R0 BYTE

eSAS:

F0

ED

00126

BEO

5TAT3

ALWAYS TAKEN

0BA7:

A0

00

00 127

POP

LDY

«I0

HIGH ORDER BYTE = 0

08A9:

F0

06

00123

BEQ

P0P2

ALWAYS TAKEN

06 AB:

20

DD 06

00129

POPD

JSP

DCP

DECR RX

08AE:

Al

00

B013B

LDA

(PBL^X)

POP HIGH-ORDER BYTE iRX

08B0:

A8

B0131

TAY

SAVE IN Y-REG

06BI:

20

DD 08

00 132

P0P2

JSP

DCP

DECR RX

08B/J:

Al

00

00133

LDA

(PBL^X)

LOW-OPDER BYTE

08B6:

85

00

B0 131

STA

R0L

TO R0

06 B8:

81

01

00135

STY

ROM

a6SA:

A0

BB

00 136

P0P3

LDY

»i0

INDICATE R0 AS LAST

a6BC:

61

ID

00 137

STY

R11H

RESULT REG

08BE:

60

00 136

RTS

06 BF:

20

9D B8

B0 139

LDDAT

JSR

LDAT

LOU BYTE TO R0/ I NCR RX

0eC2:

Al

BB

00 110

LDA

<RBL,X)

HIGH-ORDER BYTE TO R0

aeca:

85

Bl

B011I

STA

RBH

08 C6:

IC

96 08

B0112

JMP

INR

INCR RX

06C9:

20

6E 06

00113

ST DAT

JSR

STAT

STORE INDIRECT LOW-OPDER

08CC:

A5

Bl

00111

LDA

RBH

BYTE AND INCP RX. THEN

06CE:

81

B0

B0115

STA

(RBL-X)

STORE HIGH-ORDER BYTE.

08D0:

IC

96 B6

00116

JMP

INR

INCR RX AND RETURN

08D31

20

DD B6

00117

STPAT

JSR

DCR

DECR RX

08D6:

AS

00

00118

LDA

POL

06 DS:

81

0B

B0119

STA

(R0L<X)

STORE R0 LOU BYTE 8RX

08 DA:

IC

BA 08

00150

JMP

P0P3

INDICATE R0 AS LAST

08DD:

B5

00

00151

DCn

LDA

H0L,X

RESULT REG

06DFt

D0

02

B0152

BNE

DCR2

DECR PX

06EI:

D6

Bl

001 S3

DEC

RBHjX

06 E3:

D6

BB

00 1 SI

Dcn2

DEC

R0L. X

06ES:

60

00 155

RTS

06 E6:

A0

B0

00156

SUB

LDY

<S0

RESULT TO RB

08E61

33

00 157

CPR

SEC

NOTE Y-REG = 13*2 FOR CPR

08 E9:

A5

00

00 158

LDA

RBL

0eEB:

F5

BB

00 1S9

SBC

RBL/X

06 ED:

99

0B BB

00 160

STA

RBL,Y

RO-RX TO PY

06F0:

AS

01

00161

LDA

ROH

08F2:

F5

Bl

00162

SBC

R0H,X

06Fil:

99

0 1 00

00163

SUB2

STA

P0H.Y

05F7:

98

00161

TYA

LAST RESULT PEG»2

03FS:

69

00

0016S

ADC

lie

CARRY TO LSB

08FA:

85

ID

00166

STA

R11H

a8FC:

60

00167

RTS

08 FD:

A5

00

B0168

ADD

LDA

R0L

0eFF:

75

B0

B0169

ADC

R0L*y

090 1:

85

00

00170

STA

R0L

R0*PX TO R0

0903:

AS

01

00171

LDA

P0H

090 5:

75

01

00172

ADC

R0H^X

0907;

A0

00

00173

LDY

»10

RB FOR RESULT

0909:

FB

E9

B0171

BEC

SUB2

FINISH ADD

090D:

A5

IE

00175

BS

LDA

RI5L

NOTE X-PEG IS 12*2 !

09 0D:

20

90 08

00176

JSP

STAT2

PUSH LOU PC DYTE VIA R12

09 10:

AS

IF

00177

LDA

P 1 5H

09 12:

20

9B 06

B0176

JSR

STAT2

PUSH HIGH-ORDER "C BYTE

09 15:

18

B0179

BP

CLC

0916:

B0

BE

00160

BNC

BCS

BNC2

NO CARPY TEST

09 18:

Bl

IE

00161

BPl

LDA

CP15L)-Y

DISPLACEMENT BYTE

09 1 A:

10

01

00162

BPL

BR2

09 IC:

86

00183

DEY

09 ID:

6S

IE

00181

BP2

ADC

P15L

ADD TO PC

09 IF:

6S

IE

00185

STA

P15L

092 1:

98

00166

TYA

0922:

65

IF

B0187

ADC

ni5H

0924:

65

IF

00186

STA

PI 5H

0926:

60

00169

BNC2

PTS

0927:

SB

EC

B019B

BC

BCS

BP

0929:

60

0019 1

RTS

09 2 A:

0A

B0192

BP

ASL

A

DOUBLE RESULT-REG INDEX

092B:

AA

B0193

TAX

TO X-REG FOP INDEXING

092C:

B5

Bl

00191

LDA

R0H-X

TEST FOP PLUS

09 2 E:

10

E8

00195

BPL

BRl

BRANCH IF SO

0930:

66

00196

RTS

09 3 1:

0A

00197

BM

ASL

A

DOUBLE RESULT-REG INDEX

09 32:

AA

B0196

TAX

0933:

B5

01

00199

LDA

P0HjX

TEST FOR MINUS

0935:

30

El

B0200

BMI

BP 1

09 37:

60

B020 1

PTS

09 38:

BA

00202

BZ

ASL

A

DOUBLE RESULT-PEG INDEX

09 39:

AA

002B3

TAX

09 3A:

B5

0B

00201

LDA

POL.X

TEST FOR 7.ER0

093C:

15

01

B0205

ORA

P0H/X

(BOTH BYTES)

09 3 E:

F0

DB

BB206

DEO

BPl

BRANCH IF SO

0940:

60

00207

PTS

0941:

0A

00206

BN'.

ASL

A

DOUBLE RESULT-PEG INDEX

0912:

AA

00209

TAX

0913:

BS

00

00210

LDA

PBL^v

TEST FOR NON'.E''0

B915:

15

01

002 1 1

OP.A

ROH^x

(BOTH BYTES)

0917:

D0

CF

002 12

BNE

B-^l

BRANCH IF SO

0919:

60

002 13

PTS

091 A:

0A

00211

BMl

ASL

A

DOUBLE PESULT-"EG INDEX

09 IB:

AA

0B2I5

TAX

091C:

B5

00

00216

LUA

R0L^X

CHECK BOTH GYTES

091E:

35

01

00217

AND

R0H-X

FOR iFF (MINUS 1)

memory locations like 6502 instructions. The main loop at SW16B repeatedly calls the "execute instruction" routine atSW16C which examines one op code for type and branches to the appropriate subroutine to execute it.

Subroutine SW16C increments the program counter (R1 5) and fetches the next op code which is either a register operation of the form OP REG (2 hexadecimal digits) with OP between hexadecimal 1 and F, or a nonregister operation of the form 0 OP with OP between hexadecimal 0 and D. Assuming a register operation, the register specification is doubled to account for the 2 byte SWEET16 registers and placed in the X register for indexing. Then the instruction type is determined. Register operations place the doubled register specification in the high order byte of R14 indicating the "prior result register" to subsequent branch instructions. Nonregister operations treat the register specification (right-hand half-byte) as their op code, increment the SWEET!6 PC to point at the displacement byte of branch instructions, load the A-Reg with the "prior result register" index for branch condition testing, and clear the Y-Reg.

When Is an RTS Really a JSR?

Each instruction type has a corresponding subroutine. The subroutine entry points arc stored in a table which is directly indexed by the op code. By assigning all the entries to a common page, only a single byte of address need be stored per routine. The 6502 indirect jump might have been used as follows to transfer control to the appropriate subroutine:

LDA #ADRH STA IND+1 LDA OPTBL,X STA IND JMP (IND)

High order address byte Low order byte

To save code the subroutine entry address (minus 1) is pushed onto the stack, high order byte first. A 6502 RTS (ReTurn from Subroutine) is used to pop the address off the stack and into the 6502 program counter (after incrementing by 1). The net result is that the desired subroutine is reached by executing a subroutine return instruction! [ This ironic situation is an example of what is commonly referred to as "cleverness. "\

Op Code Subroutines

The register operation routines make use of the 6502 "zero page indexed by X" and "indexed by X indirect" addressing modes to access the specified registers and indirect data. The "result" of most register ops is left

152

BYTE Ncivemhcr 1977

The Art of Computer Programming

Praised by many critics as the best books in their field, The Art of Computer Programming, Volumes I, II and III, are part of a projected seven volume omnibus survey of computer science now being completed by Donald E Knuth.

Volume I, Fundamental Algorithms, begins with a thorough discussion of the

mathematics used in computer programming, followed by a treatment of information structures, stacks, arrays, linked lists, dynamic storage allocation, and trees. 634 pp; $20.95.

Volume II, Seminumerical Algorithms, is concerned with random numbers, statistical tests, random sequences, as well as arithmetic (floating point and multiple precision), polynomials, and rational arithmetic. 624 pp; $20.95.

Volume III deals with Searching and Sorting, and as the name implies, the emphasis

is on algorithms for sorting, including combinatorial properties of permutations, internal sorting, optimum sorting, and external sorting. Also included is a section on sequential searching, hashing, digital searching, and more. 722 pp; $20.95.

A hypothetical assembly language called MIX has been developed by the author to illustrate programming examples throughout the series. MIX is easily convertible to other assembly languages.

Prof Knuth writes with style and wit (among many memorable quotes is one from McCall's Cookbook!). This classic work belongs on the reference shelf of everyone seriously interested in computer science.

. . . and Some of the Best for Beginners

j^<^^

4<MU«»tK> WM.

Computer Science — A First Course.

The title of this book belies its thoroughness and rigor. Computer Science: A First Course is one of the most complete and well laid out computer science books we've seen in quite a while. This 760-^ page book is for the serious experimenter who wants a definitive treatment of every aspect of software design and development. Chapters deal with algorithms, flowcharts, looping structures, stepwise decomposition, trees, storage concepts, interpreting and compiling, data processing, numerical processing, character strings, and a discussion of SAMOS, a special hypothetical computer system used throughout the book to illustrate computer science principles. Computer Science: A First Course makes an excellent source book. $16.95, Hardcover.

Understanding Microcomputers and

Small Computer Systems by Nat

Wadsworth. What does "hexadecimal" mean? What is Boolean Logic? What's the difference between a PROM and an EROM? These questions and more are answered in Nat Wadsworth's Understanding Microcomputers and Small Computer Systems. You'll learn about the basic operation of a microcomputer, the types of instructions that microcomputers are able to carry out, machine language and higher level language programming, input and output devices, etc. The book concludes with a discussion of system considerations. The combined index and glossary is a useful bonus. If you're a beginner in the personal computing field, get a copy today I This 300 page book is only $9.95.

.si:.i//.vr.«i;ni(:.u.

soiiriN'i Avn

i 'in

The Acoustical Foundations of Music,

subtitled Musical Sound: a lucid account of its properties, production, behavior, and reproduction, by John Backus. One of the problems involved in trying to produce music by computer is the scarcity of useful reference material on the basic theory of sound generation and musical acoustics. John Backus has filled this gap with The Acoustical Foundations of Music, a readable and informative guide that covers the physiological properties of sound, the ear and its perception of sounds, the effect of acoustic environment, the acoustical behavior of musical instruments, and the various applications of electronics and computers to the production, reproduction and composition of music.

The book assumes some slight knowledge of music on the part of the reader, but covers enough elementary physics and acoustics to orient the reader who has no knowledge of physics.

This clear and lively exposition of music's physical basis will be invaluable to all those experimenters interested in creating music by computer. 312 pages, and only $9.95 in hardcover.

Your Home Computer, by James

White, is a clearly written nontechnical description of personal computers that requires no prior knowledge of computers or electronics. The emphasis is on understanding; over 100 illustrations are included. Topics include: computing and you; communication inside a computer; computer thought processes; fixed memory; inputs and outputs; peripherals; systems components; how to choose a microcomputer; and so on. Your Personal Computer is the ideal book for readers who thought they could never understand how computers work. And the best part is that it's easy and fun to read. Yours for $6.

Send to:

BITS, Inc

70 Main Street

Peterborough NH 03458

Name

Check Payment method:

My check is enclosed

Bill my MC No..

-Bill my BAC No._

. Exp. date . Exp. date .

Address

. books

CiliL

State

Zip Code

Signature

You may photocopy this page if you wish to leave your BYTE intact.

Total for all books checked Postage, 50 cents per book for_ Grand Total

Prices shown are subject to change without notice.

All orders must be prepaid.

In unusual cases, processing may exceed 30 days.

Circle 1 2 on inquiry card.

BYTE Novemher 1977 153

Listing 2, continued:

19 FF

Fa ca

0950: B952!

09 51! 60

0955: 0A

09 561 AA

0957: B5 00

0959: 35 01

J5B: 19 FF

09 5 D: 095F1 0960: 0962: 0965: 0967: 0969: 096C: 09 6 E:

D0 B9 60

20 DD 08

Al 00 85 IF

20 DD 08

Al 00

85 IE

0970: 60

0971: aC 3E 08

0971: 85 15

0976: 66 16

0978: 81 17

097A: 08

097B: 68

B97C: 85 16

097 E: 60

097 F: A5 16

0981: 18

0982: A5 15

0961: A6 16

0966: Al 17

0958: 28

00218 00219 00220 00221 00222 00223 00221 00225 00226 00227 00228 00229 00230 00231 00232 00233 00231 00235 00236 00237 00238 00239 00210 00211 00212 00213 00211 00215 00216 00217 00216 00219 00250 00251 00252 00253 00251 00255 00256 00257 00258

EOP. BEO nT5 ASL TAX LDA AND tOH BNE RTS LDX JSR LDA STA JSR LDA STA RTS JMP

»1FF BP 1

R0L/X R0H-X *SFF BRl

#118

DCS

(R0L<X1

R15H

OCR

(R0L.X)

R15L

RTN2

BRANCH IF SO

DOUBLE RESULT-REG INDEX

CHK BOTH BYTES FOR NO SFF

BRANCH IF NOT MINUS 1

12«2 FOR P12 AS STK PNTR

DECR STACK POINTER

POO HIGH RETURN ADR TO PC

SAHE FOR LOU-ORDER BYTE

REG SAVE/RESTORE ROUTINES FOR NON-APPLE-II SYSTEMS

ASAU XSAU Y5AU PSAV SAVE

EP2 EPZ EPZ EPI STA STX STY PHP PLA STA RTS LDA PHA LDA LDX LDY PLP RTS

S15

S16

$17

S16

ASAV

XSAV

YSAV

ASAV XSAU YSAV

SAVE 6502 REG CONTENTS.

RESTORE 6502 REG CONTENTS.

Tab/e J:

SWEET16 OP CODE SUMMARY

Nonregister Ops

(Return to 6502 mode) (Branch always) (Branch if No Carry) (Branch if Carry) (Branch if Plus) (Branch if Minus) (Branch if Zero) (Branch if NonZero) (Branch if Minus 1) (Branch if Not Minus 1) (Break)

(Return from Subroutine) (Branch to Subroutine) (Unassigned) (Unassigned) (Unassigned)

SWEET16 Operation Code Summary: Table 1 summarizes the list of SWEET16 operation codes, which are explained in further detail one by one in the descriptions which follow the table. The program of listing 2 implements the execution of these interpretive codes after a call to the entry point SW16. Return to the calling program and normal noninterpretive operation is accomplished with the RTN mnemonic of SWEETIB.

SWEET16 - REGISTER OPERATIONS

Register Ops

No

00

RTN

In

SET

Rn

Constant (Set)

01

BR ea

2n

LD

Rn

(Load)

02

BNCea

3n

ST

Rn

(Store)

03

BCea

4n

LD

@Rn

(Load indirect)

04

BPea

5n

ST

(SiRn

(Store indirect)

05

BMea

6n

LDD

©Rn

(Load double indirect)

06

BZea

7n

STD

@Rn

(Store double indirect)

07

BNZea

8n

POP

(siRn

(Pop indirect)

08

BM1 ea

9n

STP

@Rn

(Store pop indirect)

09

BNM1 ea

An

ADD

Rn

(Add)

OA

BK ea

Bn

SUB

Rn

(Sub)

OB

RS

Cn

POPD

(SiRn

(Pop double indirect)

OC

BSea

Dn

CPR

Rn

(Compare)

OD

En

INR

Rn

(Increment)

OE

Fn

DCR

Rn

(Decrement)

OF

SET Rn, Constant

1 n 1

low

high

(Set)

constant The 2 byte constant is loaded into Rn (n = 0 to F, hexadecimal) and branch conditions set accordingly. The carry is cleared.

Example:

15 34 AO SET R5, A034 R5 now contains A034

LD Rn

(Load)

The ACC (RO) is loaded from Rn and branch conditions set according to the data transferred. The carry is cleared and the contents of Rn are not disturbed.

Example:

15 34 AO SET R5, A034

25 LD R5 ACC now contains A034

in the specified register and can be sensed by subsequent brancli instructions since tlie register specification is saved in the high order byte of RI4. This specification is changed to indicate RO (ACC) for ADD and SUB instructions and R13 for the CPR (compare) instruction.

Normally the high order R14 byte holds the "prior result register" index times 2 to account for the 2 byte SWEET16 registers, and thus the least significant bit is zero. If ADD, SUB or CPR instructions generate carries, then this index is incremented, setting the least significant bit, which becomes a carry flag.

The SET instruction increments the program counter twice, picking up data bytes for the specified register. In accordance with 6502 convention, the low order data byte precedes the high order byte.

Most SWEET16 nonregister operations are relative branches. The corresponding subroutines determine whether or not the "prior result" meets the specified branch condition and if so update the SWEET 16 program counter by adding the displacement value (-128 to+127 bytes).

The RTN operation restores the 6502 register contents, pops the subroutine return stack and jumps indirect through the SWEET16 program counter register. This transfers control to the 6502 at the instruction immediately following the RTN instruction.

The BK operation actually executes a 6502 break instruction (BRK), transferring control to the interrupt handler.

Any number of subroutine levels may be implemented within SWEET16 code via the BS (Branch to Subroutine) and RS (Return from Subroutine) instructions. The user must initialize and otherwise not disturb R12 if the SWEET16 subroutine capability is used since it is utilized as the automatic subroutine return stack pointer.

Memory Allocation and User IVIodifications

The only storage that must be allocated for SWEET16 variables are 32 consecutive locations in page zero for the SWEET16 registers, four locations to save the 6502 register contents, and a few levels of the 6502 subroutine return address stack. If you don't need to preserve the 6502 register contents, delete the SAVE and RESTORE subroutines and the corresponding subroutine calls. This will free the four page zero locations ASAV, XSAV, YSAV and PSAV.

You may wish to add some of your own

Text continued on page 159

154

BYTE November 1977

Circle 81 on inquiry card.

STRn

3 n

1

(Store)

The ACC (RO) is stored into Rn and branch conditions set according to the data transferred. The carry is cleared and the ACC contents are not disturbed.

Example:

25 LD R5 Copy the contents 36 ST R6 of R5 to R6.

(Load indirect) nory location whose address resides

LD@Rn

4 n

1

The low order ACC byte is loaded fr

om the n

er

in Rn, and the high order ACC byte is cleared.

Branch conditions reflect the final

ACC contents which will always be positive and

never minus 1. The carry is cleared.

After the transfer, Rn is incremented by 1.

Example:

15 34 AO SET R5, A034

45 LD @R5

ACC is loaded from

memory location A034

and R5 is incremented

to A035.

ST@Rn

_!_

(Store indirect)

The low order ACC byte is stored into the memory location whose address resides in Rn. Branch conditions reflect the 2 byte ACC contents. The carry is cleared. After the transfer, Rn is incremented by 1.

Load pointers R5 and R6 with A034 and 9022. Move a byte from location A034 to location 9022. Both pointers are incremented.

Example:

15 34 AO

SET

R5,

A034

16 22 90

SET

R6,

9022

45

LD

@R5

56

ST

(aR6

LDD(aRn

6 n

(Load double byte indirect)

The low order ACC byte is loaded fr

om the m

emory location whose address resides

in Rn, and Rn is then incremented by 1. The high order ACC byte is loaded from the

memory location whose address resides in the (incremented) Rn and Rn is again

incremented by 1. Branch conditions reflect the final ACC contents. The carry is

cleared.

Example:

15 34 AO SET R5, A034

65 LDD @R5 The low order ACC byte is

loaded from location A034,

the high order byte from

location A035. R5 is incre

mented to A036.

STD(aRn

The low order ACC byte is store

7 n

(Store double byte indirect)

d in

to the mer

nory location whose address resides in

Rn, and Rn is then incremented by 1. The high order ACC byte is stored into the |

memory location whose address

resides in (the incremented) Rn and Rn is again

incremented by 1. Branch conditions reflect the ACC contents which are not dis- |

turbed. The carry is cleared.

Example:

15 34 AO SET

R5, A034 Load pointers R5 and R6

16 22 90 SET

R6, 9022 with A034 and 9022. Move

65 LDD

@R5 double byte from locations

76 STD

@R6 A034 and A035 to locations

9022 and 9023. Both pointers

are incremented by 2.

A State-of-tlie-Art IGool For Learaing Softurare Design.

And at an affordable price. The Modu-Learn™ home study course from Logical Services. Now you can learn microcomputer programming in ten comprehensible lessons. At home. In your own time. At your own pace.

You learn to solve complex problems by breaking them down into easily programmed modules. Prepared by professional design engineers, the Modu-Learn^" course presents systematic software design techniques, structured program design, and practical examples from real 8080A micro-computer applications. All in a modular sequence of 10 lessons . . . more than 500 pages, bound into one practical notebook for easy reference. You get diverse examples, problems, and solutions. With thorough background material on micro-computer architecture, hardware/software tradeoffs, and useful reference tables. All for only $49,95,

For $49,95 you learn design techniques that make software work for you. Modu-Learn™ starts with the basics. Our problem-solution approach enables you to "graduate" as a programmer.

See Modu-Learn™ at your local computer store or order now using the coupon below.

Please send the Modu-Learn™course for me to examine. Enclosed is $49.95 (plus $2,00 postage and handling) or my Mastercharge/Bankamericard authorization.

Name:,

Address:. City:

_State:.

Card #

Expiration date:. Signature:

711 Stierlin Road Mountain View, CA 94043 (415) 965-8365

SERVICES INCORPORATED

BYTE November 1977

155

Circle 9o on inquiry card.

IT ALL ADDS UP TO EDUCATIONAL

Tiie creators of cne ongin.ii Pocket Caicuinmr came Book now present two fun-fiiieci new game booi<s for use with tn.it incredible mncnme that lias found a place in almost everv home

THE KIDS' POCKET CALCULATOR CAME BOOK

Dv Edwin Schlossberg and John Brockman

A quicl< tnp through elementary mathematics - fun and games with real purpose The f I rst hook of its kind for kids from kindergarten through college illustrated with line drawings and cartoons $6 95 hardcover 15 95 paperbouhd

THE POCKET CALCULATOR CAME BOOK #2

bv Edwih Schlossberg and

John Brockman

Even more popular ih approach than its

famous predecessor, this book is

simpler, more accessible, and its games

are more mathematicaiiv basic

Illustrated with line drawings and

cartoons

$5,95 hardcover $3 95 paperbouhd

miLLIAM MORROW

POP(a)Rn

The low order ACC byte

is load

(Pop indirect) ory location whose address resides

8 n

ed f

om the mem

in Rn after Rn is

decremented by 1 an

d the high

order ACC byte is cleared. Branch

conditions reflect

the final 2 byte ACC contents

which will always be positive and

never minus 1. Th

e carry

is clea

red. Because Rn i

decremented prior to loading the

ACC, single byte

tacks may be

implemented with the ST @Rn and POP @iRn opera- |

tions (Rn is the stack pointer).

Example:

15 34 AO

SET

R5,

A034

Init stack pointer.

10 04 00

SET

RO,

4

Load 4 into ACC.

35

ST

@R5

Push 4 onto stack.

10 05 00

SET

RO,

5

Load 5 into ACC.

35

ST

@R5

Push 5 onto stack.

10 06 00

SET

RO,

6

Load 6 into ACC.

35

ST

@R5

Push 6 onto stack.

85

POP

(s)R5

Pop 6 off stack into ACC.

85

POP

@R5

Pop 5 off stack.

85

POP

(SIRS

Pop 4 off stack.

STPcaiRn

The low order ACC byte is store

(Store pop indirect) nory location whose address resides in

9 n

1

d in

to the mer

Rn after Rn is decremented by

1. Then the h

gh order ACC byte is stored into the

memory location

whose address

resides in Rr

after Rn is again decremented by 1.

Branch conditions

will reflect th

e 2 byte ACC contents which are not modified. STP 1

©Rn and PLA (5)R

n are used together to move

data blocks beginning at the greatest

address and work

ng down. Additionally, sin

gle byte stacks may be implemented

with the STPgiRn

and LDA(3)Rn

ops.

Example;

14 34 AO

SET

R4, A034

Init pointers.

15 22 90

SET

R5, 9022

84

POP

@)R4

Move byte from A033

95

STP

@R5

to 9021.

84

POP

(aR4

Move byte from A032

95

STP

@R5

to 9020.

ADDRn

The contents of Rn are added to 16 bits of the sum restored in AC branch conditions reflect the final

(Add)

of the ACC (RO) and the low order sum bit becomes the carry and other s.

A n

1

th C. AC

e content The 17th C content

Example:

10 34 76

11 27 42 A1

SET SET ADD

RO, 7634 Rl, 4227

Rl

Init RO (ACC)

and Rl. Add Rl (sum = B85B,

AO

ADD

RO

carry clear) Double ACC (RO) to 7086 with carry set.

SUB Rn

(Subtract)

The contents of Rn are subtracted from the ACC contents by performing a two's complement addition:

ACC ACC+ Rn + 1

The low order 16 bits of the subtraction are restored in the ACC. The 17th sum bit becomes the carry and other branch conditions reflect the final ACC contents. If the 16 bit unsigned ACC contents are greater than or equal to the 16 bit unsigned Rn contents then the carry is set, otherwise it is cleared. Rn is not disturbed.

Example:

10 34 76

11 27 42 A1

AO

SET

RO,

7634

Init RO (ACC)

SET

Rl,

4227

and Rl.

SUB

Rl

Subtract Rl (diff = 340D with carry set)

SUB

RO

Clears ACC (RO)

156

BYTE Novemlicr 1977

POPD@R Rn is dec

n

remented by 1

and th

(POP Double byte indirect) \CC byte is loaded from the memory

C n

1

e high

order /■

location wtnose address now resi

des in

Rn. Th

=n Rn is again decremented by 1 and

tlie low 0

-der

ACC byte

is loaded from the corresponding memory location. Branch

conditions

reflect the final ACC

contents. The

carry is cleared. Because Rn is decre

mented prior

to loading

each of the ACC halves, double byte stacks may be imple

nnented w

th the STD @ Rn and POPD @ Rn operations. (Rn is the stack pointer).

Exam

pie:

15

34

AO

SET

R5,

A034

Init stack pointer.

10

12

AA

SET

RO,

AA12

Load AA12 into ACC.

75

STD

@R5

Push AA12 onto stack.

10

34

BB

SET

RO,

BB34

Load BB34 into ACC.

75

STD

(aR5

Push BB34 onto stack.

10

56

CC

SET

RO,

CC56

Load CC56 into ACC.

75

STD

(3)85

C5

POPD @R5

Pop CC56 off stack.

C5

POPD (5)R5

Pop BB34 off stack.

C5

POPD @Hb

Pop AA12 off stack.

CPR Rn

D

J_

(Compare)

The ACC (RO) contents are compared to Rn by performing the 16 bit binary subtraction ACC-Rn and storing the low order 16 difference bits in R13 for subsequent branch tests. If the 16 bit unsigned ACC contents are greater than or equal to the 16 bit unsigned Rn contents then the carry is set, otherwise it is cleared. No other registers, including ACC and fSn, are disturbed.

Pointer to memory,

Limit address.

Zero data.

Clear 2 Iocs, incr R5 by 2.

Compare pointer R5

to limit R6. Loop if carry clear.

Example:

15 34 AO

SET

R5,

A034

16 BF AO

SET

R6,

AOBF

10 00 00 LOOP

SET

RO,

0

75

STD

(aR5

25

LD

R5

D6

CPR

R6

02 FB

BNC

LOOP

INR Rn

The contents of Rn

are

increm

(Increment) carry is cleared and other branch

E n

1

snted

by 1. T

he

conditions reflect the

incremented value.

Example:

15 34 AO

SET

R5, A034

Init R5 (pointer)

10 00 00

SET

RO, 0

Zero to RO.

55

ST

(3)85

Clears loc A034 and incrs R5 to A035.

E5

INR

R5

Incr R5 to A036

55

ST

(3)R5

Clears loc A036 (not A035)

DCR Rn

(Decrement)

The contents of Rn are decremented by 1. The carry is cleared and other branch conditions reflect the decremented value.

Example: (Clear nine bytes beginning at loc A034)

15

34 AO

SET

R5, A034

Init pointer.

14

09 00

SET

R4, 9

Init count.

10

00 00

SET

RO, 0

Zero ACC.

55

LOOP ST

(3)R5

Clear a mem byte

F4

DCR

R4

Deer count.

07

FC

BNZ

LOOP

Loop until zero.

SWEET16N

onregister

Instructions

RTN

0 0 1

(Return to 6502 mode)

Control is returned to the 6502 and immediately following the RTN instr are restored to their original contents

program jction. Th (prior ent

execution continues at the location e 6502 registers and status conditions aringSWEET16 mode).

Circle 16 on inquiry care).

Shopping for a computer

at the By teShop

is almost as

much fun as building one.

Computers are fun. And nFfordahlc. Thousands of people are ali-eady using personal conipulers for TVKiimes, video color graphics, digital music and lots of things nobody ever dreamed of — till now.

Until we came along the toughest part about getting started with computers was shopping for one. Now you can visit a Byte Shop and put your hands on a wide variety of personal, hobby and business computers.

Ari/(in;i

I'liiiciiis r.jsi

813 N.StMllsiLik' Kil. l-lioL'ni\ WVsl I2(i.'i4 N. 2Klli 1)1 ivi

2612 I , llMiiHlu,» Calirnrnia

1.^14 LInivi'isitj Avo.

Ikjilxink

IS12 W. lluib.mk Ulvd.

2626 Uni.iii Avi'.

Diiihl.. Viilk\

2'-)«9 N. M:iin Si.

I .m\'\M

I 19 Oiik Slrivl

I rL-snn

.1139 I-.. MiKinlcy Avi-.

ll;i)«Lml

1 122 "U" Siii'fl

\Mi Anpi-k's

303(1 W. Olyiiipif Blvd.

Iiiwmkilu

I6.SIJ8 Ihmllu.riK- Ulvd.

Luna lioiKh

5433 r. Slv:inisSl.

Marina Del Kcv

4658 I!

Adniirally Way

Mouiilain Vimv

HI63 W. l:l Camiiui Kcal

I'jIiiAllu

2233 I ICaiiiinii Hoal

Pasadena

496 W. lake Ave.

I'laeinlia

123 \ . V.irba l.hula

Saeramenlii

6041 (iR'i-nliaik lane

San Diep.i

825(1 Viekers-ll

San lernamli. Valley

18424 Venliua Blvd.

San Iraneiseu

321 I'aeilie Ave.

Sanla Barbara

4 West Missiini

Shieklnn

7910 N.MdnradnSl.

Thousand Oaks

2707 Tlliius:ind Oaks Blvd.

Vcnlura

1555 Mi>rse Ave.

Westminster

143(10 lleaell Blvd.

Colorado

Arapalliie ("lUmtv

3464 S. Aeonia Si.

B.uililer

20411 3lllli St.

Ilorida

(nena Beaell

13 2.". N. Atlanlie Ave.. Suite 4

I 1. I.audeidale

1044 1 . Oakland I'ark Miami

782.S Bird Road

Indiana

indianapulis North

5947 I .82nd St.

Kan.sus

Mission

5815 Johnson Drive

Minne.sola

laL'all

1434 ^ankee l)..odle Kd.

Montana

BillinL's

1201 l.rand Ave-.Snile 3

New York

I.eviitowii

2721 llenipslead riiriipike

lioeliestei

264 I'ark Avenue

Ohio

H..eky River

19524 Center Ridue Rd.

Oregon

Beavertini

.3482 SW Cedar Mills Blvd.

I'ortland

2033SW4lh

I'ennsylvania

Bivn Maur

1045 W. I.aneasler Ave. North Carcjlina Kaleich

1213 IlilMior.niehSoeel

South Carolina

Colutnliia

2018 Cieen St.

tllah

.Salt LakeCitv

261 S. State St.

Washinglon

Bellevue

14701 Nl 20tli Ave.

Canada

Vaneouver

2151 Butrard St.

Wiiruipee

665 Century St.

.lapan

T.ikv..

Tmva Hide,. I •5-9

Solokanda

BVTE SHOP

the affordable computer store

BYTE Novcirrher 1977

157

Circle 135 on inciuiry card.

WARBLE ALARM CAR-VAN CLOCK

WITH HEADLIGHT ALARM

ELAPSED TIMER SECONDS DISPLAY SWITCH 9MINUTE SNOOZE ALAItM SIMPLE 4 WIFIEIIDDK UP

JUMBO y," LED DISPLAY

1 TO 59 MINUTE COUNTDOWN TIME'' "MNSSIMULTANEOUSLY WITHLLQCK!

RUGGED AflS CASE

COMPLETE KIT $35.95 ASSEMBLED $45.95

DIGITAL AUTO INSTRUMENTS -1 TACHOMETER SEVEN MODELS'

-2 WATER TEMP.

.3 FUEL LEVEL

-4 SPEEDOMETER*

•5 OIL PRESSURE ^

-6 OIL TEMP,

»7 BATTERY MONITOR

KIT INCLUDES:

CASE f All IIAHmvAHE PRESSURE K TEMP SENREKS ASSfriHLEOMAirjPt BOARD

FEATURES

-1 oHAfirr lEirs

1 1 J'AftSCflSf

■ADD SIO FOR REQUIRED SPEED SENDER . S15 FOB SPEED SENDER ALONE

KIT: $49.95 ASSEMBLED: $59.95

ELECTRONIC 'PEIMDULUWl' CLOCK

SWING PENDULUM ?■■ HOURS AND MINUTES DISPLAY TIME SET PUSH BUTTONS ALARM FEATURE

KIT-UNFINISHED CASE $59.95

ASSEMBLEDSTAINED CASE $69.95

QUARTZ DIGITAL AUTO CLOCK OR ELAPSED TIMER!

ELAPSED TIMER: HRS. WINS S SEES SIMPLE PUSHBUTTON RESETS HOLD TOGGLE SWITCH

KIT INCLUDES fVEfiVTHir^G NOTHWG £LS£ TO Hun j-LFOSi INTERNAL BA TTEflV BACIiUPI NON POLAR INPUTi

12 OR 24 HR MODE OIMENSIONS .1' ■■ . 4 ■ « ;?■■

KIT: $27.95 ASSEMBLED: $37.95

NOW WITH ELAPSED

^™^' G'/zOIGITAL CLOCK

• 4 DIGIT KIT S49.95 . ^ DIGIT ASSEMbLKD $59.95 . 6DIGITKIT 369.95 • 6DIGIT ASSEMBLED. $79^95

117 VAC 12 OR 24 HR MOOE G DIGIT VEHSIIIN ?;■ . 'j" x V

KIT COMES COMPLETE'

. 4 DIGIT VERSION: ie"«5"x l'.'/'

TV-WALL CLOCK

. 25'VIEWING DISTANCE

. .6" HOURS* MINUTES

. .3" SECONDS

. COMPLETE WITH WOOD CASE

*!?:«*«?*•

KIT: $34.95. .

.ASSEMBLED: $39.95

ECGNOMV CAR CLOCK

• '//'LED MODULE!

. COMPLETE WITH CASE. BRACKETS TIME SET PUSHBUTTONS

. ALARM OPTION

KIT: $19.95 ASSEMBLED: $26.95

PENDULUM""

$14.95

VDliFf DIGITAL LLOCK A PENDULUM SWING 9 ro 12V DC 60 11/ INI'LII SIMPLE HOOK UP ID ANY (:i.Ui:\

CASE WITH BRACKET $3.75

MARKFOSKETS'

SOLID STATE TIME

P.O. 80X2159 DUBLIN, CALIF. 94866

ORDERS (415)828-1923

24 HR PHONE

E^^g

158

CALIFORNIA RESIDENTS - ADD 6% SALES TAX BYTE November 1977

BR ea

0 1 1

d d

1

(Branch Always)

An effective address (ea) is calculated by adding the signed displacement byte (dd) to the program counter. The program counter contains the address of the instruction immediately following the BR, or the address of the BR operation plus 2. The displacement is a signed two's complement value from —128 to -H27. Branch conditions are not changed. Note that effective address calculation is identical to that for 6502 relative branches.

Some examples;

dd = $80 ea = PC + 2-128 dd = $81 ea = PC-l-2 - 127

dd = $FF ea = PC-l-2-1 dd = $00 ea = PC H- 2 4- 0 dd = $01 ea = PC -1- 2 -1- 1

dd = $7E ea = PC-1-2-1-126 dd = $7F ea = PC-F2-H27

Example:

$300; 01 50 BR $352

BNC ea

d d

I

(Branch if No Carry)

A branch to the effective address is taken only if the carry is clear, otherwise execution resumes as normal with the next instruction. Branch conditions are not changed.

BC ea

0 3 _ 1

d d 1

(Branch if Carry set)

A branch is effected only if the carry is set. Branch conditions are not changed.

BP ea

A branch is effected only if thE

0 4

1

d d

1

(Branch if Plus)

prior "result

' (or most recently transferred data) was

positive. Branch conditions are

not changed.

Example:

(Clear mem

rom loc A034 to A03F)

15 34 AO

SET

R5, A034 Init pointer.

14 3F AO

SET

R4, A03F Init limit.

10 00 00

LOOP SET

RO, 0

55

ST

@R5

Clear mem byte, incr R5.

24

LD

R4

Compare limit to

D5

CPF

1 R5

pointer.

04 F8

BP

LOOP

Loop until done.

BMea

0 5

1

d d

1

(Branch if Minus)

A branch is effected only if thi conditions are not changed.

= prior "r

esult

' was mir

us (negative, MSB = 1). Branch

BZea

0 6

1

d d

(Branch if Zero)

A branch is effected only if t changed.

le prior '

resu

t" was zero. Branch conditions are not

BNZ ea

A branch is effected only not changed.

0 7

d d

(Branch if NonZero)

if t

he prior

'resu

It" was n

onzero. Branch conditions are

BM1 ea

0 8

1

d d

(Branch if Minus 1)

A branch is effected only if t Branch conditions are not chan

he prior ged.

'resu

It" was n

linus 1 ($FFFF hexadecimal).

BNM1 ea

0 9

1

d

d

(Branch if Not Minus 1)

A branch is effected only if decimal). Branch conditions ar;

the prio ; not char

r "r ged

3Sult'

wa

s not minus 1 (SFFFF hexa

Text continued from page 154

instructions to this implementation of SWEETI6. If you use tlie unassigned op codes $0E and $0F, remember that SWEET16 treats these as 2 byte instructions. You may wish to handle the break instruction as a SWEET16 call, saving two bytes of code each time you transfer into SWEET 16 mode. Or you may wish to use the SWEET 16 BK (Break) operation as a "CHAROUT" call in the interrupt handler. You can perform absolute jumps within SWEET! 6 by loading the ACC (RO) with the address you wish to jump to (minus 1) and executing a ST R15 instruction.

And as a final thought, the ultimate modification for those who do not use the 6502 processor would be to implement a version of SWEET! 6 for some other microprocessor design. The idea of a low level interpretive processor can be fruitfully implemented for a number of purposes, and achieves a limited sort of machine independence for the interpretive execution strings. I found this technique most useful for the implementation of much of the software of the Apple II computer; I leave it to readers to explore further possibilities for SWEET! 6."

BRK

0 A

1

(Break)

A 6502 BRK (break) instruction is executed. SWEET16 may be reentered nondestructively at SW16D after correcting the stack pointer to its value prior to executing the BRK.

RS

0 B

1

SWEET16 Subroutine)

RS terminates execution of a SWEET16 subroutine and returns to the SWEET16 calling program which resumes execution (in SWEET16 mode). R12, which is the SWEET16 subroutine return stack pointer, is decremented twice. Branch conditions are not changed.

BS ea

0 C d d

Branch to SWEET16 Subroutine

A branch to the effective address (PC -^ 2 -r d) is taken and execution is resumed in SWEET16 mode. The current PC is pushed onto a "SWEET16 subroutine return address" stack whose pointer is R12, and R12 is incremented by 2. The carry is cleared and branch conditions set to indicate the current ACC contents.

Example:

(Ca

lling

a "memory move

' subroutine to move A034—A03B

to 3000

-3007)

300

15

34

AO

SET

R5, A034

Init pointer 1.

303

14

3B

AO

SET

R4, A03B

Init limit 1.

306

16

00

30

SET

R6, 3000

Init pointer 2.

309

OC

15

BS

MOVE

Call move subroutine

320

45

MOVE

LD

(aR5

Move one

321

56

ST

@R6

byte.

322

24

LD

R4

373

D5

CPR

R5

Test if done.

324

04

FA

BP

MOVE

326

OB

RS

Return.

The Best of BYTE, Volume I

Send now to:

BYTE Interface Technical Services, Inc. 70 Main St Peterborough NH 03458

The volume we have all been waiting for! The answer to those unavailable early issues of BYTE. Best of BYTE, edited by Carl Helmers Jr and David Ahl. This 384 page book is packed with a majority of material from the first 12 issues. Included are 146 pages devoted to "Hardware" and how-to articles ranging from TV displays to joysticks to cassette interfaces, along with a section devoted to kit building which describes seven major kits. "Software and Applications" is the other side of the coin: on-line debuggers to games to a complete small business accounting system is included in this 125 page section. A section on "Theory" examines the how and why behind the circuits and programs. "Opinion" closes the book with a look ahead, as to where this new hobby is heading. It is now available through BITS Inc for only $11.95 and 50 cents postage.

1 Name

1 Address

1 City

State

Zip

St{

Q D D

sua

3f BYTE, Volume 1

Check enclosed Bill MC # Bill BA # Signature

Price of Book Postage, 50 ceni Total

Exp. Exp.

$

1 The Be

s$

$

Date_ Date_

1 m

[■IBli

1 In unu

1 cases, processing may

exceed 30 days.

All orders must be prepaid

LI

You may photocopy this page if you wish to leave your BYTE Intact.

Circle 12 on inquiry card.

BYTE November 1977

159

Switching ROMs

in the Fairchild F8 Evaluation Kit

John C Polonchak

GTE Sylvanja

Electronic Components Group

114 S Oregon St

El Paso TX 79901

Many people who use the Fairchild F8 Evaluation Kit supplied with the Fairbug Monitor would like to try the Mostek DDT Monitor. Unfortunately, the read only mennory chip containing the DDT Monitor cannot be directly substituted into the available socket as wired for the Fairbug read only memory chip. The scheme shown below permits the use of either chip without modifications to the printed circuit board. The DDT monitor chip is plugged into a wire wrap socket. This socket is wired to a printed circuit socket that plugs into the

Table 1: These are the pin interconnections for the DDT monitor memory to the Fairbug socket. Of the 40 pins that need connecting, 23 of them can be plugged directly into the socket; 14 of them have their pins cut off and aren 't used, leaving three pins that need to be rewired.

DDT READ ONLY MEMORY 3851

Top wire wrap

socl<et containing DDT

Top wire wrap

socl<et containing DDT

1 23 456

7 •

8 ■

9 loll ■ 1213 ■ 1415 16 17 • 18 19 20

2

■ NC •3

4 2

■ 6

■ 7 8

■ 9 10 11

■ 12

• 13

• 14

■ 15

• 16

■ 17

■ 18

■ NC - NC

Bottom printed circuit socket.

21

22

23

24

25

26

27

28

29

30

31 •

32

33

34

35

36

37

38

39

40

21

22

NC

NC

NC

■ NC 27

■ 28

■ NC NC NC NC 33 34 NC NC NC 19 39

• 40 Bottom printed circuit socl<et.

Fairbug socket. Most of the wire wrap pins can be plugged directly into the socket in piggyback style. The pins marked NC arc not connected and can be cut off of the wire wrap socket.

This same type of rewiring scheme must also be performed on Q5 which is a 7406, since the Mostek and Fairchild boards use mutually inverted signals. Although both chips use the same instructions they seem to be complements of each other to the outside world. Tables 1 and 2 show the interconnections for the two ICs. Note that this scheme of simulating one memory or processor integrated circuit with another similar, but pinout-incompatible, chip can be used quite generally."

Q5 7406

Top wire wrap

socl<et containing 7406.

1 1

2 4

3 NC

4 NC

5 5

6 8

7 7

8 NC

9 NC

10 10

11 11

12 12

13 13

14 14

Bottom printed circuit socket.

Table 2: This is the rewiring diagram for the 7406 hexadecimal inverters. This chip must be rewired since the signals coming from the Fairbug monitor are complements of the signals from the Mostek DDT monitor.

160

HY IE Novcnihei 1977

A Bit of the BASIC

Computer Resource Book-Algebra by

Thomas A Dwyer and Margot Critchfield is an exciting new way to learn about algebra and the interesting things you can do with it using a computer. The book uses the BASIC language, and flowcharts are used throughout to show the structure of programs. There are 60 applications programs including straight line graphs, polynomial equations, a space probe navigator, temperature profiles, computer generated animation, the ultramatic root finder, random number generation and many more. Although it is particularly suitable for students, just about everyone will find some intriguing and easy to use applications in this entertaining book. $4.80.

Basic BASIC by James S Coan. If

you're not already familiar with BASIC, James Coan's Basic BASIC is one of the best ways to learn about this popular computer language. BASIC (which stands for Beginner's All-purpose Symbolic Instruction Code) is easy to learn and easy to apply to many problems. Basic BASIC gives you step-by-step instructions for using a terminal, writing programs, using loops and lists, solving mathematical problems, understanding matrices and more. The book contains a wealth of illustrations and example programs, and is suitable for beginners at many different levels. It makes a fine reference for the experienced programmer, too. $7.95.

A Guided Tour of Computer Programming in BASIC by Thomas A Dwyer and Michael S Kaufman. Colorful graphics abound in this lively introduction to the BASIC language. The authors have tried to present a rigorous, yet entertaining approach to the subject. Written for the novice, A Guided Tour begins with a section on how to recognize a computer, followed by some tips on working at a terminal. By the end of the book readers are writing their own programs and solving elementary problems in finance and business. The emphasis throughout is on learning by doing. Anyone interested in computer programming should benefit from A Guided Tour of Computer Programming in BASIC. $4.80.

Introduction to Computer Programming by Rudd A Crawford Jr and David H Copp. Here is an excellent way to learn about the general aspects of computer programming. Introduction to Computer Programming makes use of a hypothetical computer model and set of assembly language instructions designed to help the beginner see what goes on in computer programs. The emphasis throughout is on general principles; such concepts as loops, decisions, flowcharts and 10 routines are covered in detail. The book also provides many example problems and prompts the reader by posing several quiz questions. Anyone who masters its contents will have a solid foundation for the study of practical assembly and high level languages. It is especially recommended for students, but just about everyone new to the subject should profit from it. $4.35.

advanced

SiSisS"

Advanced BASIC by James S Coan.

Advanced BASIC is the companion volume to James Coan's Basic BASIC. In this book you'll learn about some of the more advanced techniques for programming in BASIC, including string manipulation, the use of files, plotting on a terminal, simulation and games, advanced mathematical applications and more. Many useful algorithms are covered, including some clever sorting techniques designed to reduce program execution time. As with Basic BASIC, there are many illustrative example programs included. BASIC doesn't have to be basic with Advanced BASIC! $6.95.

\ t-«iif.f lift'

t ^

Some Common BASIC Programs by

Lon Poole and Mary Borchers, published by Adam Osborne and Associates. At last, a single source for all those hard to find mathematics programs! Some Common BASIC Programs combines a diversity of practical algorithms in one book: matrix multiplication, regression analysis, principal on a loan, integration by Simpson's rule, roots of equations, operations on two vectors, chi-square test, check writer, geometric mean and variation, coordinate conversion and a function plotting algorithm. These are just some of the many programs included. For only $7.50 you can buy the kind of programs previously available only as part of software math package systems for large scale computers. All the programs are written in a restricted BASIC suitable for most microcomputer BASIC packages, and have been tested and debugged by the authors. $7.50.

Send to:

Bits, Inc.

70 Main Street

Peterborough NH 03458

Name

Check Payment method:

My check is enclosed

Bill my MC No

-Bill my BAC No.,

. Exp. date . Exp. date .

Address

CiiiL

Siate

Zip Code

Total for all books checked Postage, 50 cents per book for_ Grand Total

. books

Signature

I You may photocopy this page if you wish to leave your BYTE mtact.

Prices shown are subject to change without notice.

All orders must be prepaid.

In unusual cases, processing may exceed 30 days.

Circle 12 on inquiry card.

BYTE Nnvemhcr 1977

161

Fun and Games £rom BITS

101 BASIC Computer Games by

David Ahl. A treasure store of games and simulations, 101 all written in BASIC. It contains both a complete listing and a sample run, along with a descriptive write-up. 256 pages, $7.50.

What to Do After You Hit Return or PCC's First Book of Computer Games. This is PCC's first book of computer games, a compendium which includes descriptions of numerous games, and listings of 37 selected BASIC games. New second edition, $8.

BITS Inc 70 Main St Peterborough NH 03458

For ease in ordering, use the coupon on the opposite page, writing in the name(s) of the book(s) you want.

Please note that processing may exceed 30 days in unusual cases.

Circle 12 on inquiry card.

BYTE's eits

An IEEE Microcomputer Course

The IEEE's PHP Group in the San Francisco area is sponsoring a scries of talks entitled "Microcomputers: Practical Applications." This Thursday evening series, beginning November 3, will be tutorial In nature, focusing on such "how to" topics as: which microcomputer to use (from the user's viewpoint); architecture and memory; getting started, at work and at home. The series will run for five weeks, with registration set at $35 ($25 for IEEE members; $10 students), and will be in the Palo Alto and San )ose area. Contact David Guidici at Siltec, 3717 Haven Av, Menio Park CA 94025, (415) 365-8600."

Attention Canadian Readers. . . A First (Ever) Canadian Personal Computing Show

Personal Computing Showplace is the name of a show to be held in Toronto at the International Center of Commerce on November 8, 9 and 10 of this year. The show will feature the first (ever) exhibition of personal computing products in Canada.

The exhibit hall is located at 6900 Airport Rd in Toronto. Admission will be $5 at the door. Hours are 12 noon to 9 PM each day. This exhibition runs concurrently with the eighth annual Canadian Computer Show. For more information contact Betty Gray, at (416) 595-1811."

An Opinion: SOFTWARE AND PATENTABILITY, 1977

While perusing some of the electronic data processing (EDP) literature of the past few years, it struck me that the subject of software patentability had been completely exhausted, and that another article on the subject would cause readers to shy away in revulsion. However, the ebullient EDP industry, in its constant state of change, has preferred a new development which makes all of the irrelevant jabberings of the past (some of them my own) now of considerable importance.

Why have I dismissed the plethora of past writings as irrelevant jabbering? Because the simple and direct answer to the question of whether software is patentable is "no!" Volumes have been filled discussing the point, yet it should have been apparent from the beginning that one insurmountable obstacle stood in the way: namely, that a patentable invention must have a physical existence and not be merely a methodology or mental process.

Hence we see the illogical result of hard wired programming being patentable but pure software not. But all of this really didn't make a great deal of difference because the industry was able to protect its investment in software development through other legal avenues such as trade secrecy and was therefore spared the labyrinthine procedures of the patent law.

All o\ this is soon to change. As microprogramming state of the art brings us closer to the point where a programmer can sit down with a few integrated circuit chips and a soldering iron rather than a pencil and coding sheet, his/her product (now a black box

rather than a source listing) very clearly becomes a candidate for patentability because it is not just a mental process or algorithm any longer, but rather is a physical object.

This means that the arcane and convoluted laws of patents, together with those who administer them, suddenly become relevant in much the same way that a bull in a china shop is relevant. Let us examine a few of the more salient features of patent law and see how they might apply to microprogamming situations.

Novelty

An invention, both in Canada and the United States, must be a "new and useful art, process, machine, manufacture or composition of matter" to qualify for patent protection (emphasis mine). A new way of achieving a known result, or simply creating a new result, would permit an invention to qualify if the patent officer could be convinced of its novelty.

The reader can appreciate the Alice in Wonderland world which would soon be created by disputed claims revolving around the definition of "new."

Expense

Because all of this jousting is done by high priced lawyers, the cost of obtaining a patent and prosecuting infringement quickly becomes prohibitive for all but the largest corporations; so docs defending against an accusation of infringement.

This means that a belligerent patent holder is armed with a big legal stick, the

162

BYTE November 1977

Gourmet Reading Sroiii BITS

Security Electronics by John E Cunningham. To catch a thief, apply liberal doses of ingenuity and a modicum of cleverness. Find out what's been tried in conventional alarm systems before you go off computerizing your home security system, though. New 2nd edition $5.95

Introduction to Biomedical Electronics by Edward J Bukstein. What's been done in robot doctors? Nothing so far. But in terms of electronic aids to physicians and practices of health researchers, consult this background review of the field of biomedical electronics S5.95

-Sceibi "6800" Software Gourmet

Guide & Cookbook

Sceibi

"8080" Software Gourmet Guide & Cookbook, both by Robert Findley. Have you tried cooking up a program lately on your 6800 or 8080 processor? Have you needed a dash of ideas on how to add spice to a program? Then the Sceibi "6800" Software Gourmet Guide & Cookbook and the Sceibi "8080" Software Gourmet Guide & Cookbook may prove to be quite useful additions to your library.

Both books contain a wealth of information on the 6800 and 8080 instruction sets, plus general programming techniques applied to the 8080 and 6800, conversion routines, floating point routines, decimal arithmetic routines, and much more. Order yours today and get a taste of what your processor can do. Both books are priced at $9.95 each.

Practical Microcomputer Programming: The Intel 8080 by W J Weller, AV Shatzel, and H Y Nice. Here is a comprehensive source of programming information for the present or prospective user of the 8080 microcomputer, an architecture which appears in the MITS Altair, 8800, Processor Technology SOL, IMSAI 8080, Polymorphics POLY-88, and other popular microcomputer system products.

After several preliminary chapters, the authors get down to practical details with topics such as moving data, binary arithmetic operations, multiplication and division, use of the stack pointer, subroutines, arrays and tables, conversions, decimal arithmetic, various 10 options, real time clocks and interrupt driven processes, and debugging techniques. Most examples are given in symbolic assembly form, with occasional listings of assembled code using a Computer Automation software development system.

This 306 page hardcover book is well worth its $21.95 price and should be in every 8080 or Z-80 user's library.

Send to;

BITS, Inc 70 Main St Peterborough NH 03458

Total for all books checked Postage, 50 cents per book

for books

Grand Total

Check payment method;

My check is enclosed

Bill my MC No.

Bill my BAC No.

Exp. date Exp. date

Name

$ $

Address

City

State

Zip

Signature

You may photocopy this page if you wish to leave your BYTE intact. In unusual cases, processing may exceed 30 days

Circle 12 on inquiry card.

BYTE November 1977 163

use of which need only be threatened in order to put financially limited black box developers onto the ropes: either they fight a protracted and expensive legal battle or pull their product off the market.

In my own law practice, clients have sought advice and expressed their concern that software packages which they proposed to develop might tread on someone else's rights. I have advised thenri that there need be no such fear so long as misuse of trade secrets or breach of a confidentiality agreement is not involved. If black box patents begin to appear I, for one, will not continue to give the same advice in the future because inadvertent duplication through independent invention is no excuse in a patent matter.

By contrast, if the system architecture of a piece of software is a trade secret, anyone who independently develops a like product is free to market it. However, the same piece of software, if embodied in a black box and protected by a patent, is the exclusive preserve of the patent holder, and anyone independently developing a like black

box would risk infringement unless a costly and time consuming search of the patent records was made beforehand.

A Hands-Off Policy

in 1971 I prepared a report for the Canadian Federal Government in which software patentability was examined and recommendation made. At that time I recommended that no changes need be made to the Patent Act so as to extend Its application to computer software because the Act would prove inadequate and also because the EDP industry had found trade secrecy laws to meet its needs reasonably well.

I also recommended that no further study in the area would be required until the nature of programming underwent a fundamental change. Although I cannot claim to have foreseen the advent of microprogramming (much less the astonishing speed of its arrival) one can now say that such a fundamental change has occurred. I would now therefore recommend that a review be undertaken immediately for the purpose of amending the Patent Act so as to

exclude black box microprogramming from its operation.

Such heresy will probably be rejected by bureaucrats who see a golden opportunity to expand their little kingdoms and also by the many patent law firms which would stand to do a land office business.

However, it is accepted that the Patent Act has had serious limitations even in those traditional areas of industry for which it was originally designed. How much less useful it would be in the world of EDP is made plain by that industry's general avoidance of patent law wherever possible. That being so, it is this writer's view that the industry should not be dragged kicking and screaming into a morass which it has until now successfully sidestepped.

Daniel A Mersich, Attorney

1262 Don Mills Rd, Suite 17

Don Mills, Ontario

CAWADA

[Daniel Mersich is a Toronto lawyer whose practice is restricted to EDP matters. . .CM/ ■

Continued from page 37

is part of a feature that allows statements numbers to be interpreted.). Readers are welcome to contact me for further information on this interpreter.

I found one additional error: In the right center section of figure 5 on page 611 the second line in the box above the ERROR 2 terminal should read "+S(J) riO COUNT".

My thanks to Mr Dickey and to the many other eagle-eyed readers who wrote in to report these errors.*

A Revision to "Using a Keyboard ROM"

The article on using a KR2376 keyboard encoder ROM in the May 1977 BYTE, page 76, would have been a great help rather than a hindrance had the author supplied the connections for the standard version of this device (as was claimed) in his figure 2. I offer a revised figure which agrees with the code assignment charts suppled in both the Gl and SMC data sheets and, I belatedly discovered, Don Lancaster's TVT Cookbook. There is very little in common between the two charts. The author was obviously working with a nonstandard unit.

Dr Samuel I Green

13052 Ferntrails Ln

Creve Coeur MO 63141

This is confirmed by a communication from Gl, who informs us that the unit by Mr Brehm was indeed a surplus part obtained from a manufacturer of custom encoded keyboards.*

xo

Xl

X2

X3

X4

X5

xe

X7

NUL

OLE

_

*

1

0

9

NUL

DLE

=

NUL

+

L

0

)

NUL

DLE

^NUL

^ NUL

^NUL

Vff

^81

^NUL

v

\

\

\

N,

\,

\

Yq

SCH

K

FS

/

k

i

8

SON

[

FS

*

7

K

1

(

SCH

VT

FS '

\- NUL

VNUL

V VT

vht

^NUL

V- —

N,

\

N,

\

\

Yl

STX

L

GS

P

j

u

7

STX

\

GS

^ P

^ >

J

U

/

STX

FF

GS

V DLE

VlMUL

vlf

"^-NAK

'vNUL

v —

\

\

\

"^

\

"2

ETX

^

RS

—

'

h

y

6

ETX

A

RS

DELI

<

H

Y

&

ETX

SO

RS

V US 1

VNUL

VBS

VEM

Vnul

V-..

\

\

\

\

\

'3

EOT

M

US

@

m

g

t

5

EOT

]

US

\

M

G

T

%

EOT

CR

US

V NUL

V.CR

Vbel

VdC4 '

"v.NUL

V -

N,

N,

\

\

'4

ENQ

NAK

<

BS

n

f

r

4

ENQ

NAK

<

BS

N

F

, R

$

ENQ

NAK

NUL

BS

V SO

^-ACK

^DC2

^NUL

V,

\

\

\

\

Yg

ACK

SYN

>

[

b

d

e

3

ACK

SYN

>

( .

B

D

. E

#

ACK

SYN

NUL

ESC

\-STX

VEOT

VENQ

VWUL

Ye "

BEL

ETB

,

I

v

S

w

2

BEL

ETB

)

V

S

W

V—

BEL

ETB

NUL

GS

^SYN

'\pC3

\ETB

^NUL

'7

DC1

CAN

SP

CR

C

a

9

1

DC1

CAN

SP

CR

C

A

Q

!

DC1

CAN

^ SP

\- CR

^ETX

V-SOH

Vdci

"^NUL

v„

\

\

\

\

\

\

Ys

P

EM

LF

X

FF

HT

A

@

EM

LF

X

FF

HT

~

V<-» —

OLE

EM

NUL

^ LF

\-CAN

FF

HT '

Vrs

Y9

0

SUB

—

DEL

z

ESC

VT

\

_

SUB

_

DEL

Z

ESC

VT

SI

SUB

US

DEL

VSUB

ESC

VT

V.FS

YinJ

\

^^

N S C

N S C

N S C

N S

c

N S

c

N

s c

N

s c

N S C

N S C

N S C

N S C

N = Normal S = Shift C = Control

164

HYrC N.ivomhgr l')77

liiB

corporation

64KforSI495

Available now at these leading dealers

ALABAMA

COMPUTER CENTER

433 Valley Ave Pin^a

Birm.nghan At 35209

(2051 W2-eM7

COMPUTERLAND OF HUNTSVILLE

3020 Universily Drive N W

Hunisville. AL 35605

1205) 539-1200

ARIZONA

BYTE SHOP OF ARIZONA

813 N Scoitsdale Road

Tempe, A2 95282

16021 aM-n29

BYTE SHOP OF PHOENIX N.W.

12654 N 2Bth Drive

Phoenix, AZ 85019

1602) 942-7300

BYTE SHOP OF PHOENIX

28 W C.imelbac(< Rd

Phaeni». AZ 85013

16021 942-7300

BYTE SHOP OF TUCSON

2612 E Broadway

Tucson AZ 85716

(602) 327-4579

MICRO AGE

803 N Scottsdale Blvrl

Tempe AZ 85281

(602) 894-1193

CALIFORNIA

BYTE SHOP OF CITRUS HEIGHTS

6041 Greenback Lane

Gurus Heights. CA 95610

(916) 961-2983

BYTE SHOP OF DIABLO VALLEY

2989 N Main Street Walnut Creek, CA 94596 (4151 933-6252 BYTE SHOP OF FRESNO 3139 E McKinley Avonue Frosnrj, CA 93703 1209) 485-2417

BYTE SHOP OF HAYWARD

1122 B Street

Hay ward, CA 94541

(415) 537-2983

BYTE SHOP OF LAWNDALE

16508 Hawthorne BWd

Lawndale CA 90260

(213) 371-2421

BYTE SHOP OF SAN JOSE

2626 Union Avenue

San Jose, CA 95124

(408) 377-4685

BYTE SHOP OF SAN RAFAEL

509 Francisco Blvd

San Rafael, CA 94901

(415) 457-9311

BYTE SHOP OF SANTA CLARA

3400 El Cammo Riral

Sanin Clara, CA 95050

(408) 249-4221

CALIFORNIA MICROCOMPUTERS

329 Flume

Chicfj. CA 95927

(9161 891-1730

COMPUTER ELECTRONICS

905 Delavina

Santa Barbara, CA 93101

(805) 962-4198

COMPUTER POWER A LIGHT

12321 Ventura Blvd

SludiO City, CA 91604

12131 760-0405

COMPUTER ROOM

124H Blossom Hilt Road

San Jose CA 95123

(408) 226-8383

COMPUTER STORE

620 Broadway

Santa Monica, CA 90401

(2131 451-0713

COMPUTER STORE OF S.F.

1093 Mission Street

San Francisco, CA 94103

(4151 431-0640

COMPUTERLAND CORPORATION

1922 Republic Avenue

San Leardro, CA 94577

1415) 895-9363

COMPUTERLAND OF EL CERRITO

11074 San Pablo Avenue

El Cerrito. CA 94530

(415) 233-5010

COMPUTERLAND OF HAYWARD

22634 Foolhiil Blvd

Hayward, CA 94542

(415) 538-8080

COMPUTERLAND OF SADDLEBACK VALLEY

24001 Via Fabricante »904

Mission Vieio. CA 92675

(714) 770-0131

COMPUTERLAND OF S.F.

117 Fremont Slreoi

San Ffancisco. CA 94105

(415) 546-1592

COMPUTERLAND OF SAN DIEGO

4233 Convoy Street

San Diogo. CA 92111

1714) 560-9912

COMPUTERLAND OF THOUSAND OAKS

El Old Plaza

171 E Thousand Onks Blvd

Suite 105

Tfiousand Oahs CA 91360

1605) 497-9595

COMPUTERLAND OF TUSTIN

104 W Fifsi Street

Tustm, CA 92680

(714) 544-0542

COMPUTERLAND OF WEST LA.

Compuiers Unlimited. Inc

6840 La Cienega Blvd

Inglewood. CA 90302

(213) 776-8080

DIGITAL DELt

BO W El Caniino Real

Ml View. CA 94040

14151 961-2670

PEOPLE'S COMPUTER SHOP

13452 Ventura Blvd

Sherman Oaks, CA 91423

(213) 789-7514

POLYMORPHIC, INC.

460 Ward Drive

Santa Barbara. CA 93111

(805) %7-235l

PROKOTRONICS

439 MarsM Street

San Luis Obispo, CA 93401

(805) 544-5441

RECREATIONAL COMPUTER CENTER

1324 S Mary Avenue

Sunnyvale CA 94087

(408) 735-7480

SUNSHINE COMPUTER COMPANY

20710 S Leapwood

Carson, CA 90746

(213) 327-2118

XIMEDIA

1290 24lh Avenue

San Francisco, CA 94122

(415) 566-7472

COLORADO

BYTE SHOP OF BOULDER

Palmer Gardens Shopping Cenier

3101 Walnut Street

Boulder. CO B0301

1303) 444-6550

FLORIDA

BYTE SHOP OF FT, LAUDERDALE

1044 E Oakland Park Blvd

Fl Lauderdale, FL 33334

(305) 561-2963

BYTE SHOP OF MIAMI

7825 Bird Road

Miami, FL 33155

(3051 264-2983

DELTA ELECTRONICS

2000 Highway 441 E

Leesburg FL 32748

(9041 728-2478

ECONOMY COMPUTING SYSTEMS

2200 Forsyth Road

Orlando. FL 32807

(305) 678-4225

MICROCOMPUTER SYSTEMS. INC.

144 S Dale Mabry Highway

Tampa, FL 33609

(813) 879-4301 or 879-4225

COMPUTER AGE

999 S W 401h Avenue

Planiaiion, FL 33317

i305) 791-8080

GEORGI^A

ATLANTA COMPUTER MART

5091 Buford Highway Atlanta, GA 30340 |404| 455-0647

ILLINOIS

ASPEN COMPUTERS. INC.

7521 W Irving Park Road

Chicago, IL 60634

(312) 589-1212

(312) 625-3555/6

COMPUTERLAND OF ARLINGTON HEIGHTS

50 East Rand Road

Arlington Heights, IL 60004

(312) 255-6486

COMPUTERLAND OF NILES

9511 N Milwaukee Avenue

Niles, IL 60648

(312) 967-1714

ITTY-BITTY MACHINE CO.

1322 Chicago Avenue

Evanslon. IL 60201

(312) 328-6800

THE NUMBERS RACKET

623-1/2 5 Wright Street

Champaign. IL 61820

(217) 352-5435

DATA DOMAIN OF SCHAUMBURG

1612 E Algonquin Road

Schaumburg. IL 60)95 •

(312) 397-8700

INDIANA

AUDIO SPECIALISTS

415 N Michigan

South Bend. IN 46601

(219) 234-5001

DATA DOMAIN OF BLOOMINGTON

(HOME OFFICE)

406 S College Ave

Bloomington, IN 47401

(812) 334-3607

DATA DOMAIN OF INDIANAPOLIS

7027 Northwestern Avenue

Indianapolis. IN 46268

(317) 251-3139

DATA DOMAIN OF FORT WAYNE

2805 East Slate Blvd

Fort Wayne. IN 46805

(2191 484-7611

HOME COMPUTER CENTER

2115 E 62nd Street

Indianapolis IN 45220

(317| 251-6800

DATA DOMAIN OF WEST LAFAYETTE

219 W Columbia

Wesi Lalayelle IN 47906

(317) 943-3951

KENTUCKY

COMPUTERLAND OF LOUISVILLE

813 B Lyndon Lane

Louisville. KY 40222

(502) 425-8306

DATA DOMAIN OF LOUISVILLE

302B Hunsingor Lane

Louisville. KY 40220

(502) 456-5242

DATA DOMAIN OF LEXINGTON

506'; Euclid Avenue

Lexington KY 40501

(606) 233-3346

MARYLAND

COMPUTER WORKSHOP

1775 E JcHerson Street

Rockv.lle MD 20852

(30-1 468-0455

COMPUTERLAND OF GAITHERSBURG

16065 Frederick Road (HI 355)

Rockville. MD 20855

(301) 948-7676

MASSACHUSETTS

THE CPU SHOP

39 Pleasant Street Charieslown, MA D2109 (617) 241-9556 MINNESOTA

COMPUTER DEPOT, INC.

3515 W 70 Street

Minneapolis, MM 55435

(612) 927-5601

MINNESOTA COMPUTERS INC.

7710 Compuler Avenue

Suiie 132

Edira. MN 55435

(612) 835-3850

MISSOURI

K & K COMPANY 15 East 31 Street Kansas dly MO 64108 (716) 561-1776 NEBRASKA

OMAHA COMPUTER STORE

4540 South 84th Slreei Omaha, NB 68127 I402i 592-3590 NEW JERSEY

COMPUTER MART OF NEW JERSEY

501 Highway 27

iselin, NJ 08830

(201. 283-0600

COMPUTERLAND OF MORRISTOWN

2 DeHarl Street

Mornstown, NJ 07960

(2011 539-4077

HOBOKEN COMPUTER WORKS

20 Hudson Place

Hoboken, NJ 07030

12011 420-1644

NEW YORK

COMPUTER CORNER

200 Hamilton Ave

While Plains. NY 10601

(9141 949-3282

COMPUTERLAND OF BUFFALO

1612 Niagara Falls Blvd

Buffalo, NY 14150

(7161 836-6511

COMPUTERLAND OF ITHACA

225 Elmtra Road

Ithaca, NY 14B50

(607) 277-4888

NORTH CAROLINA

COMPUTER ROOM

1729 Garden Terrace Chatlotle, NO 26203 (704)377-9821 OHIO

BYTE SHOP OF OHIO

19524 Center Ridge Road Rocky River. OH 44116 (216) 333-3261

DATA DOMAIN OF DAYTON

1932 Brown Street

Dayion OH 45409

(513) 223-2348

DATA DOMAIN OF CINCINNATI

7694 Camargo fload

Cincmnali, OH 45243

'513( 561-6733

OKLAHOMA

HIGH TECHNOLOGY

1020 W Wilstiire Blvd Oklahoma City, OK 74116 (405) 842-2021 OREGON

ALTAIR COMPUTER CENTER

8105 Nimbus Avenue N W Beaverton, OR 97005 (503) 644-2314

BYTE SHOP OF PORTLAND

2033 SW 4ih Avenue

Portland, OB 97201

(503) 223-3496

REAL OREGON COMPUTER CO.

205 W 10th Street

Eugene, OR 97401

(503) 484-1040

PENNSYLVANIA

PERSONAL COMPUTER CORP. Frazer Malt Malvern PA 19355 (215t 647-6463 RHODE ISLAND

COMPUTER POWER. INC, M24 Airport Mall 1800 Post Road Warwick, Rl 028B5 (401) 738-4477 SOUTH CAROLINA

COMPUTER COMPANY

73 State Streel Charleston, SC 29401 TEXAS

COMPUTER SHOPS, INC.

211 Keystone Park

13933 N Onttal Expwy

Dallas, TX 75243

(214) 234-3412

c6mPUTERLAND of AUSTIN

Shoal Creek Plaza

3300 Anderson Lane

Austin, TX 78757

COMPUTERLAND OF S.W. HOUSTON

6439 Westheimer

Houston, TX 77057

(713} 977-09090910

KA. ELECTRONICS

1220 Majesty Drive

Dallas, TX 75247

(214) 634-7870

THE MOS

1853 Richmond Avenue

Houston. TX 77098

(713) 527-B008

YOUNG ELECTRONIC SERVICE

PO Box DO

College Station, TX 77840

(713) 693-3462

UJAH

MtCRODATA SYSTEMS

796 E Uzon Drive Sandy, UT 64070 (801) 561-4665 WASHINGTON

KBC COMPUTER SHOP P O Box 169

Redmond. WA 98052 (206) 885-1694

RETAIL COMPUTER STORE

410 N E 72nd Seattle, WA 98115 (206) 524-4101 WEST VIRGINIA

ALLEGHANY COMPUTER SERVICES

P 0 Box 767 Elkins, WV 26241 (304) 636-6600 WISCONSIN

MILWAUKEE COMPUTER STORE

6916 W North Ave Milwaukee, Wl 53213 (414) 259-9140

estfensys

'corporation

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

SEE FULL PAGE AD ON PAGE 93 FOR DETAILS.

Circle 58 on inquiry card.

Do You Need the Real Time?

Gregory A R Trollope 433 Cherry Ln Lewiston NY M092

There are a number of ways of implementing a real time clock for a microcomputer system. With the many different clock chips available on the market, it would seem natural to try to interface to one of these. If the requirements set for a real time clock

HtAL TIME CLUCK H0R MIKBUG SYSTHMS

U0030 00040 00U5U 00060 00070 0008U

000 90

ooiou uoi lu U0I20 JO I 30 00I4U

001 5u

001 60 00170 0018U 00190 U0200

002 I u O022U 002 3 U 00240 00250 00260 00270 00280

002 90 J0300

003 I U 00320 U0330 00340 00350 00360 00363 0037U 00380 00390 U040U

004 I u 00420 00430 00440 004 50 00460 O047o 0048O 00490 00500 O0510 o0520 00530

***GENERAL INSTRUCTIONS*** *

* AFTER L0ADING THIS REAL TIME CL0CK PACKAGE,

* EXIT MIKBUG WITH THE G COMMAND, THEREBY

* ENTERING THE CL0CK INITIALISAiTHN ROUTINE.

* THE H0UTINE WILL RETURN Tfc) MIKBUGl TO GO T»

* THE DEMONSTRATI0N, TYPE G AGAIN. THIS WILL

* PRINT THE TIME EVERY 1 OR 2 SEC0NUS.

* T0 EXIT, nn THE BREAK KEt (OH ANY 0THER KEY,

* SEVERAL TIMES). TYPING G WILL RETURN T0 IHE

* DEM0NSTRA1I0N.

KRG A 5 700

0700 00

0701 00

0702 00

0703 00

***CLBCK COUNTERS HR FOB A 0 MIN rCB A 0 SEC FCB A 0 SPLIT FCB A 0

CONTAINS (2 4-H0URS) (60-MINS) (60-SECS) (lO-DECISECS)

0704 OF

0705 86 07 0707 B7 80 IF

070A 80 19 G70C 86 18 070E lu 0 70F B7 0700 0712 8b 11 0714 86 3C 0716 BV 0702 0719 10 071 A B7 0701 07ID 86 OA 07 IF B7 0703

0722 OE

0723 20 68

0725 BO EOAA

0728 48

0729 16

*«*CL0CK INITIALISATION RwUlIHE*** *

* BRANCH HERE MANUALLY TO SEl CLOCK *

* ENTER THE TIME IN THE FoRMAl

* HHMM

*E.G. 1803 E0R 3 MINS PASl 6Prf

*ENTER THE LAST DIGIT ON THE TIME SIGNAL

*

CL0CK SEI STOP CLOCK

LDA A .'/ 7 CONFIGURE SWTPC PORT 7 5TA A E S801F AS THE CLOCK INTEHFACE

BSR R IN2

LDA A II 24

SBA

STA A E HR

BSR R IN2

LDA A * 60

STA A E SEC

SbA

STA A E MIN

LDA h II 10

STA A E SPLIT

CLI

BRA R U2

SET HOURS GET MM

SET SECS TO 0 SET MIHS

SET SPLI IS FREE CLOCK

JSR E SEOAA 'INHEX' ASL A H*2

fAB

Listing la: Tiie real time clock software for a 6800 system which uses an IRQ interrupt input from a PI A port This routine is intended to be used with the Motorola MIKBUG software, and includes provision for setting time of day in hours, minutes and seconds.

Note: This assembler uses a format in which explicit indication of address type is indicated where one mnemonic has several possibilities. Thus, for example, LDA A #7 means use immediate (#) addressing of the operand 7, while LDA A E 7 means use extended addressing (E) of the operand at memory location 7. Other abbreviations seen in this listing are R for relative addressing (branches only), I for immediate 2 byte operand; and A designates an assembler directive.

design are: the computer should be able to read the clock when necessary, the clock should keep time while other programs are executing, and one should be able to set the clock by computer commands, then use of external hardware can be a most difficult challenge. Taking a software approach using minimal hardware can be a most attractive alternative. In the implementation described here, the computer itself counts 1/10 second pulses, derived from the 50/60 Hz line, in four memory bytes, one each for hours, minutes, seconds and deciseconds. Setting the time becomes a process of writing the correct time to memory; reading the time, one of reading memory.

To enable other programs to execute while the clock is being maintained, the computer is forced into the clock counting routine only on the arrival of each 1/10 second pulse, and stays in the routine for only as long as necessary to perform the rather simple calculations before returning to the program that was executing. In my version this is achieved by using the interrupt request line of the 6800 processor, although it is conceivable that the NM! (nonmaskable interrupt) of the 6800 could be used as well.

Pin 4 of the 6800 processor is designated the IRQ line. When this line has a transition from logic 1 (~ +5 V) to logic 0 (ground), the processor finishes its current instruction, stacks all the registers and the address of the next instruction, then branches to the memory location contained in the memory bytes that respond to hexadecimal addresses FFF8 and FFF9. In systems using Motorola's MIKBUG monitor, such as the SwTPC 6800 computer, the interrupt vector addresses are in MIKBUG and point to another address in MIKBUG so that control of the processor is passed to MIKBUG after the interrupt has happened. MIKBUG dutifully passes control on by branching to the address contained in its volatile user memory at hexadecimal locations AOOO and A001. If this address happens to be that of clock counting routine, it will receive control. Since all the registers and machine states have been saved, we can use them to do the

166

BYTE NiivL-mhcr 1977

counting without worrying. When we have done all that needs to be done, the RTI instruction restores the registers and branches bacl< to the program that was interrupted.

But how do we interface a signal to IRQ? The simplest way might be to connect it directly, but if one wishes to preserve the option of finding out what caused the interrupt, some additional logic is necessary. While there are probably all sorts of clever ways of doing this, a convenient way to implement it is by using a peripheral interface adapter (PIA). The SwTPC 6800 computer which I use has a parallel interface card which has a PIA. This has 16 data lines and four control lines. We will use one of the control lines, CB1, to latch the clock pulses and provide input conditioning of the interrupt signal. Part of the clock setting routine must be to configure the PIA properly, and part of the interrupt routine to acknowledge the interrupt, which is achieved by reading the PIA B data register, but more of the details later.

A self-supporting real time clock package is given in listing 1 b. The package is assembled at hexadecimal location 0700 so as to

The more astute students of MIKBUG will notice that the control line CA1 of the MIKBUG serial control PIA is configured by MIKBUG to cause an interrupt on its transition; CA1 is left free in the SwTPC serial

control interface^ and interrupts can be

passed to the IRQ line. It is possible to implement the clock, then, by routing the clock pulses to this MIKBUG oriented PIA, with one proviso: that the interface not be used for lO! It is an idiosyncrasy of the PIA that if you happen to be reading the data register when the interrupt occurs, the IRQ bit in the control register will not be set, even though the interrupt routine will be entered ~ 99.99...% of the time. Thus if MIKBUG is doing its 10 at the same time as the clock pulse occurs, there is a small, but nonzero chance, that some interrupts will be lost, causing long term timing inaccuracies for a continuously running real time clock.

ol)u6u000-ti44:;2ia

i I 1 5u7uUOOU00001Wrti6u7B7BO I FdO I 9861 8 I OHTOYOOUr

b I 13o/l2-ini lo63Cij7iJ7J2IOL)7070la6UAb7U703y3

i I I 3u /22Uc20t)aoDuUAA4UI 6^ti481 h) I ftllUhOAA 1 H65

.jlo5ij732163y72

bn5U734tiotiOIH2A2viri6o01t:VAU703262H)60AH7()703>/7

bll5u7'.o7A07o22<il7H6JCU707u27A07012(iunH70 7nll;7

c I I 3j7oB7AO700260'jy6 I ob70/uOjLiC6 I dt-Ou70U7b

J I 1 3a /obSj2HLo3Crd07u I bu2dC63CI-0u7O2aD2 I 6s"

o M -lu 7 /tCEfc I vLihiUcO7Eu60702H6tiO0-12A(.7ii I 0702t: I

D I I 3j/dy27H62U|]6ui:U7o3i-HAU4d/rA'M37EcOI;3t;7

o I I4u /yv4FCl 0A2HU6db I UC00A20;-6 III j630bUt"OCAyD

olu5d7AAJI3ybF

blu5,vJU0vT7341H

jlu4AJ43001d

jlU5AJ4da7a4U7

Listing lb: Object code listing in /\1IKBUG format for the real time clock program of figure la.

Listing la, continued:

U0:34u

o /2A

4d

ASL

A

H*4

oO-j5u

072u

4d

ASL

A

H*8

vj0a6u

0 72C

Id

AoA

H*H+i;*2 = tl*IO

oU=7u

w72u

Ic

lAB

SAVl

UU'jHu

072e

ul;

LOAA

j:)R

li ibO/,A

SECi„li, UIGIl

wU-jUU

U73I

Id

AuA

r;iR,., :,U,:.

u06nu

u/32

lo

lAb

SAVc

uOo! u

o(3j

39

,(ib

uUo2u

*

uUo3u

A

J0o4u

***CLl)OK U/)UIIlIi)G i;'!'IJl Ilib-A-x*

UU05J

*

U06CU

*

IliO BlfAi

i.CilES iitl

.'

uUo7u

*

UOdOu

U/J4

I iio Hj.iB

A u

U069U

*

U0 70U

*(iiibhm I

■.ILLS "iP a;

't OTMbR 1 lERKOpr;)

uO 7 1 u

*

u0/2u

0734

He

«U 1 r

LIJA

A

F SbOlF

IRO l-RU,l CLacK InTERl-ACb.-'

j073u

0737

2 A

29

BFL

d ICII

iiPAIiCh IF M01

1.0740

0739

Bo

dOlc

LUA

A

F S.801E

CLEAR IwTERRUpr

u0/5j

o73C

7A

0/u3

DEC

F SPl.Il

l)ECRE;.iEnr C0U,llkR

jO I6d

073f

20

21

dhE

1( RTI

BRANCH Ir NOT ZtR«)

uO 77u

074 1

80

OA

LUA

A

II 10

RtSFF

U078U

0743

U7

0 703

SI A

A

E SPLIT

a079u

0746

7A

0702

UbC

E SEC

UECPbrtEHl' NEXi CHUIUcR

OObOU

07 49

26

17

BNE

R RTI

...ETC

UOdlU

u7 4B

80

3C

LUA

A

II 60

uOd2u

074U

UV

0 702

SIA

A

E SEC

U0d3o

0750

7 A

0701

DEC

K MIH

jUd4u

0753

20

on

dllE

R RTI

J0d5u

0755

U7

o7ol

SlA

A

F MIN

L/0d6U

0758

7A

o/uu

OdC

F HR

d0d70

07dB

20

05

BilE

P RTT

uOdSU

075D

do

18

LUA

A

D 24

00d9u

oy5h

B7

0 700

olA

A

E HR

U090U

07 62

3b

Rll HII

ooylu

*

uuy2U

*

joy3u

*«*CL«CK obi

■.IHHS'inAlTBtl***

u0y4u

*

joysu

*

bl'A.vC,

1 1

:IERb /'ANUALLY

uoy6u

*

juy7u

0763

Co

18

OekW lda

d

// 24 CyMPLEi'.EN 1"

ooy8u

0V6D

1-0

0 7uU

SUB

b

E HR HOURS

u0y9u

0768

8u

2f

dSR

n OUT

PR IN r

u luoo

u76A

Co

30

LUA

d

» 60 1

•UIIS

ul ul u

076C

ho

0 7ul

SUB

d

F KIN

UIU2U

0761

80

28

JSH

P 0UT

PR HIT

0 103U

0 771

Co

30

LDA

d

II 60

St 05

U 104U

u7 73

f-U

0 7O2

SOU

d

F ScC

UIU50

0 770

au

21

bSH

P OUT

I'F INT

ul U6u

*

ulu7o

0 77d

Cb

I- 1 yij

LUX

I 5bl9D

'MCL' ... SF.fU CR/Lr

UlOSU

0 77B

BL

EU7t

JSR

F SEO/E

'PDAIAI'

ulU9j

*

0 1100

077E

B6

0702

LUA

A

E SEC

SAVE TIME

OHIO

0781

F6

8004

Dl

LDA

B

E 58004

TEST F0H BREAK

01 120

0784

2A

07

BFL

R D2

0 1130

ic

ul 140

0786

Bl

0702

CMP

A

E SEC

TIME CHANGED?

01150

0789

27

F6

BED

R Ul

L00P TILL IT D0ES

ol 160

078B

20

D6

BRA

R DEMO

PRINT TIME AGAIN

01 170

*

ul 180

078D

Ck

0763

D2

LDX

I DEM0

TRANSFER DEM0 STARTING

01 190

0790

FH

A048

SIX

E SA048

ADDRESS T0 STACK

01200

0793

7F

A043

CLR

E SA043

CLEAR INTERRUPT MASK

01210

0796

7t

E0E3

JMP

E SE0E3

T0 'C0NTH0L'

01220

*

BCD C0NVERSI0N

01230

0799

4F

0UT CLR

A

A H0LDS HIGH ORDER DIGIT

01240

079A

CI

OA

01

CMP

B

# 10

B>9 ?

01250

079C

2B

06

BMI

R 02

D0NE IF UiiT

01260

079E

8B

10

ADD

A

# SIO

A=A+SIO

01270

07A0

CO

OA

SUB

B

# 10

B=B-IO

01280

a7A2

20

F6

BRA

R 01

L00P

0 1290

07A4

IB

02

ABA

0NLY H0RKS F0R N0S <80

01300

*

O1310

07A5

36

PSH

A

VALUE TO STACK

01320

07A6

30

rsx

X POINTS T0 VALUE

0 1330

07A7

BO

EOCA

JSR

E SEOCA

'0UT2HS'...T0 PRINT VALUE + SPy

01340

07AA

31

INS

CLEAN UP STACK

0 1350

07AB

39

RTS

01360

*

01370

*

01380

*

SET INTERRUPT REQUEST PIV0T IN MIKBUG

UI390

it

0 1400

A 000

0RG

A SAOOO

01410

A 000

0734

FOB

A IRO

0 1420

*

OI430

*

CLEAR

INTERRUPT

MASK

0 1 440

*

*

.MUST ALl NG MIKdUi

r^AYS REMEMBER T0 D0 THIS BEF0RE

0 1450

'leavi'

S, OR THE CLOCK MAY BE ST0PPED

Ol 460

*

By MIKBUG'S

'RTI'.

0 1 470

A043

0HG

A SA043

0 1480

A043

00

FCB

A 0

Ul 490

*

U1500

*

SET CL0CK SET ADDRESS

01510

A048

0RO

A SA048

Ulb2o

A048

0704

FDB

A CL0CK

0 1530

*

ol 540

AG4A

END

A

dYHBOL TABLE

HR

0 700

MIN

0701

SEC 0702 SPLIT 0703 CL0CK 0704

1N2

0725

I HO

0734

RTI 0762 DEMO 0763 Dl 0781

02

078D

MUr

0799

01 079A 02 07A4 tfL0AD EOOA

(JBADD

E047

(tkJUTL

E067

(10UTR E06B yPDAT E07E L'aU2 EOBF

ri0U2b

EUCA

■(0U4S

E0C8

(JKUS EOCC rilNEE El AC «I0UTE EIDI

BYTE November 1977

167

be at the top end of the 2 K supplied with the SwTPC machine, as it was originally sold before 4 K became standard. Modifications to load at other locations are only minor. The package consists of a number of separate segments as follows.

The Clock Counters

Four bytes are reserved for the hours, minutes, seconds and deciseconds clock counters. Each actually contains the natural complement of the value, eg: (24-hours) or (60-minutes).

The Clock Initialization Routine.

On entering this routine, two pairs of two digits must be entered. These are read using the MIKBUG INHEX routine at hexadecimal EOAA. The first of the pair is multiplied by 10, by shifting and adding, and added to the second. The first sum is used to set the hours, the second, minutes. Seconds and split seconds are set to zero. The fourth digit is entered only on the time signal, generated by WWV, for example. To prevent the time from being changed while waiting for the time signal, the clock is inhibited by the SEl instruction and freed when the clock is set by the CLl instruction.

The Clock Counting Routine

This routine is entered when the processor is interrupted, provided the entry point is placed in the MIKBUG programmable memory at hexadecimal AOOO and A001. The routine first checks that the

LOCAL REGULATOR

clock PIA did in fact cause the interrupt, and acknowledges it by reading the PIA data register. The decisecond counter is decremented and tested. If it has not reached zero, the routine returns to the interrupted program, via the RTI. If it has, the counter is reset to 10 and the minutes counter decremented and tested, and so on. While it may seem that the computer has a lot to do to keep up with the clock, it utilizes only a tenth of a percent of real time during the worst case midnight rollover, and about half that normally.

A Clock Demonstration Routine

A clock demonstration routine has been included in the package and need only be loaded for testing purposes, as ordinarily the clock would be accessed by the main program. The routine prints the time, in hours, minutes and seconds at 1 or 2 second intervals depending on the printer speed. A short routine is used to convert the binary complement of the clock to binary coded decimal (BCD) so that it can be printed in hexadecimal by the 0UT2HS routine in MIKBUG at hexadecimal EOCA. After sending CR/LF/* using the MIKBUG PDATA1 to send the MIKBUG MCL string, the seconds timer is read. The program waits in a loop comparing this value with the seconds timer and when a difference is found, the routine loops to print the time again. Also in the loop the routine tests the high order bit of the A data register of the control interface. If this is not 1, it means the operator pressed a key, so the routine

lOHz

o

TO CBI INPUT OF PIA AT HEX LOCATION 801 C-80IF

o

(OPTIONAL RATE LISTING I. SOFTWARE MUST BE MODIFIED )

*50-60Hz (FROM SWTPC 6800 POWER SUPPLY TRANSFORMER SECONDARY)

♦SET JUMPER FOR OR ^6 IF 60H2

DIODES; IN4I48, ETC.

IF 50 Hz

ftJ

Figure V. A way to derive the power line base of 60 cycles per second (North America) or 50 cycles per second (Europe). The low voltage secondary of the transformer in the power supply drives the Motorola MCI4566, a programmable divider with ratios of 5 or 6. A second stage can optionally create I Hz as well as the 10 Hz signal assumed by the software of listings 1.

168

BYTE November 1977

branches back to the MIKBUG CONTROL. This kind of approach should always be used to return to IVIIKBUG, for the RESET button will stop the clock by setting the interrupt mask. Also if bit 4 of condition codes on the stack (hexadecimal A043) is 1, the mask will be set upon execution of the G command, which should be avoided.

The timing pulses themselves are derived from the 50 or 60 Hz line using the circuit given in figure 1. The components can be mounted on a small piece of Micro-Vector board, supported at right angles to the base plate of the SwTPC 6800's box, near the +12 V supply board. Three short wires can then be run to one of the 12 VAC transformer leads, to the unregulated 7-8 VDC, and to ground. The output pulses can be strung directly to the CI pin of a PIA board. The heart of the circuit is the Motorola MC14566 Industrial Time Base Generator. This MOS device contains a divide by 10 ripple counter and a divide by 5 or divide by 6 ripple counter for counting from a 50 or 60 Hz line. Pulse shapers on the inputs accept slow rise time inputs, but it is necessary to filter the line signal with Rl and CI to remove noise. The two diodes and R2 convert the signal approximately to a square wave for the counters. -^6 is achieved by strapping pin n to ground, to +5 V for -^5.

Programming Considerations

A potentially dangerous way of moving a string of bytes from one location to another is to use the stack pointer as an index register. It is only dangerous in a case where interrupts are continuously allowed, as with this clock. For example, one might use the routine of listing 2 to move the 100 bytes starting at OLD to 100 bytes starting at NEW.

If an interrupt occurs during the execution of this segment, those bytes just before the stack pointer will be zapped with the register information, which is probably undesirable! In general, when such a technique is used to coordinate multibyte operations, it would be desirable to inhibit the interrupt. This can be done with the instruction SEI which sets the interrupt mask, thereby preventing the interrupts. The companion instruction CLI clears the mask, enabling the interrupt. Thus the segment given would be preceeded by an SEI and followed by a CLI. All is fine, provided we do not set the mask for so long that the next interrupt is lost. This is a perfect example of why at least two full index registers should be incorporated in each microprocessor's design. With the routine given, one can

OLD

RMB

100

NEW

RMB

100

SAVSP

FDB

•

STS

SAVSP

Save stack pointer

LDS

i'i'tOLD-l)

First byte pulled will be at OLD

LDX

#MEW

First byte deposited at NEW

LOOP

PUL A

Get byte

STA AX

Store

INX

Advance X

CPX

^¥<NEW+100)

(NEW+99) was last to move

BNE

LOOP

Loop till done

LDS

SAVSP

Reload stack pointer

Listing 2.

move about 4 K bytes in 1/10 second, which is probably adequate for most purposes. When used with other software, you'll thus need to check carefully to make sure that any such manipulations of the stack pointer are consistent with the existence of a steady interrupt source. But once you've got a steady clock program going, a number of new possibilities will be open: time tagging files, extending the counters to keep track of days, weeks and years for scheduling personal events to be signalled when the time is ripe, etc."

Special 8K RAM assembled and tested $185.00

Get the Best in

Business Data

Processing Systems

Accounting, Inventory, General Ledger, Timesharing Applications

Also a complete line of personal computers and peripherals, including: • Processor Technology

• IMSAI

• Digital Group

• Compucolor

• TDL

•CROMEMCO

• North Star

• TEI

• DTC

• Books/Magazines

HARDWARE/SOFTWARE SUPPORT

Our experienced staff is ready to help you

configure the best system to suit your needs

MAIL ORDERS WELCOME

(We accept MasterCharge/BankAmericard)

THE CQIViPUTEfl RQQ^

124 H Blossom Hill Road • San Jose, CA 95123 (408) 226-8383

Circle 36 on inquiry card.

BYTE November 1977

169

Circle 140 on inquiry card.

microprocessors:

from chips to systems Rodnay Zaks $9.95

Ref C201,400p, 150 illustrations

This book is based on the author's experience in teaching microprocessors to more than 2000 persons. It takes you step by step from the basic concepts to the actual interfacing techniques.

CONTENTS: Fundamental concepts; Internal operation of an MPU, System chips; Comparative Microprocessors Evaluation; Assembling a System; Applications; Interfacing; System Development; The Future.

2161 Shattuck Ave., Berkeley, Ca 94704 tel: (415) 848-8233 IN EUROPE: 313 rue Lecourbe 75015-Paris, France

Name.

Position Company Address

Amount enclosed:

(in California add tax) DBankamericard

Number

Signature.

DMasterctiarge Expires

Fast Shipping: add $1.00 (UPS)

BYTE

—A Collection of Programming Problems and Techniques, by H A

Maurer & M R Williams. Here's a book that presents you with problennsl Nearly 400 of them, in fact: problems in games like chess, bridge, and NIM; practical problems such as applications of the law of sines, Cramer's rule for solving simultaneous equations, and applications of Latin squares to problems in probability; and more advanced computer science topics such as the use of Backus-Naur form. One quarter of the book is devoted to an appendix that gives stymied readers hints on how to proceed with solutions to the problems. The most valuable feature of the book, though, is its careful and thorough explanation of the use of algorithms to solve problems. No dyed-in-the-wool programmer or experimenter will be able to read this book for very long before trying to solve the tantalizing and well-presented problems. $13.50.

COLLECTION

OF

PROGRAMMING

PROBLEMS

AND

TECHNIQUES

BITS Inc 70 Main St Peterborough NH 03458

For ease in ordering, use coupons on pages 142-144 or 153. Make sure you write in this book's name. In unusual cases, processing may exceed 30 days.

Circle 1 2 on inquiry card.

Technical Fopum

Comments on Live Board Removal and Insertion

S A Stough

24802 Olive Tree Ln

Los Altos CA 94022

In reference to the Technical Forum item in the July 1977 BYTE on page 150, "is this a valid hot board placement procedure?" I have the following comments:

The suggested procedure in the reference has a near certain probability of causing catastrophic overstress of parts because of the virtual impossibility of maintaining sufficient alignment accuracy during board removal or installation.

The close intercard spacing on most systems makes it very difficult to visually check alignment during installation. Even a rigid card frame will allow sufficient misalignment in the plane of the board to cause a momentary short between two or more pins.

Once installed, the board misalignment can typically be as much as one third of the pin to pin spacing. This reduces the margin for error to a misalignment angle of only about ten degrees. Even with card ejectors working against a rigid metal card frame, a momentary misalignment approaching this magnitude is still possible.

The procedure could be especially disastrous with the most popular 100 pin bus where logic signals and high voltage supply lines use adjacent pins.

Certain boards in high priced integrated systems use special buffering to allow poweron removal and installation where system down time is especially costly. Such would not seem to be true of personal computer systems. It would seem to be an unacceptable risk to use any live board removal or installation procedure considering the large number of damaged, degraded, and potentially degraded parts that would have to be replaced should a momentary pin to pin short occur. The parts replacement time and effort would far outweigh the time saved in not reinitializing the system for each board replacement."

170

BYTE November 1977

XililEDiA P^E^ERl^

The SOROC10120

CURSOR CONTROL. Forespace, backspace, up, down, new line, return, home, tab, PLUS ABSOLUTE CURSOR ADDRESSING.

TRANSMISSION MODES. Conversation (half and full Duplex) PLUS BLOCK MODE — transmit a page at a time.

FIELD PROTECTION. Any part of the display can be "protected" to prevent overtyping. Protected fields are displayed at reduced intensity.

EDITING. Clear screen, typeover, absolute cursor addressing, erase to end of page, erase to end of line, erase to end of field.

DISPLAY FORMAT. 24 lines by 80 characters (1,920 characters).

CHARACTER SET. 96 characters total. Upper and lower case ASC11.

KEYBOARD. 73 keys including numeric key pad.

REPEAT KEY. 15 cps repeat action.

DATA RATES. Thumbwheel selectable from 75 to 19,200 baud.

SCREEN. 12 inch rectangular CRT - P4 phosphor.

NEW LOW PRICE Assembled $975.00

Specials of the Month

North Star Micro Disk

with power supply and cabinet

Kit

Assembled

-$699 -$799

IMSAI 1-8080 with TDL ZPU

Kit

Assembled

-$825 -$975

Digital Systems FDS Disk Drive with CP/M Software (assembled only) . Single —

Dual

$1,750 $2,350

Mountain Hardware PROROM

Kit

Assembled

-$145 -$210

Vector Graphic 8K RAM . . .

Kit

-$235 -$285

Assembled

NOW WE'RE TOLL FREE

800-227-4440

(In California, Hawaii, and Alaska, call collect: 415/566-7472)

X/MEDIA OFFERS A FULL RANGE OF PRODUCTS FOR THE PERSONAL COMPUTER ENTHUSIAST AND THE SMALL SYSTEM DESIGNER. LET US QUOTE ON ALL YOUR HARDWARE AND SOFTWARE NEEDS.

OUR RETAIL STORE -THE COMPUTE RIST'^"' - IS NOW OPEN IN SAN FRANCISCO. CALL US FOR DIRECTIONS.

XililEDiA

1290 24th Avenue, San Francisco, CA 94122 (415) 566-7472

COD orders freight collect. Orders with payment shipped prepaid. California residents add 6% sales tax. Please allow 3 weeks for delivery.

Circle 161 on inquiry card.

BYTE November 1977 171

NIMBLE: The ultimate NIM?

Irwin Doliner

POB 290

Owings Mills MD 21117

NIM is a 2 player game in which the players alternately rennove counters from a pile according to some rule. The player removing the last counter Is either the winner or loser depending upon the variation. One important characteristic of NIM is that exactly one player has a winning strategy available to him at the start of the game. That is to say, if the game is played "perfectly," the winner will be determined before the game begins.

Two examples will better illustrate these points. Suppose that there are 100 counters and that each player in his turn must take at least one, but no more than ten, counters. In case 1 consider the player taking the last counter as the winner and in case 2 the loser.

The winning strategy in case 1 belongs to player 1. He must take one counter on his first move, and in each successive turn take enough counters so that both players together will remove 11 counters. After player

Game 1

Game 2

Pile 1 Pile 2

Pile 1

Pile 2

Piles

3 1

1

2

3

Game 3

Game 4

Pile 1 Pile 2 Pile 3

Pile 1

Pile 2

Piles

9 6 4

6

5

3

Figure 1: These are the starting positions of four simple NIIVI type games. If the game is played so that the player removing the last counter wins, player I has the advantage in game I, and player 2 has an advantage in game 2. Player I should win game 3, and player 2 should win game 4 if a perfect game is played.

1 has taken his turns the number of counters remaining will be 99, 88, 77, ...,11, and finally 0.

Player 2 has the winning strategy in case 2. In each successive turn he must take enough counters so that both players together will remove 11 counters. After player

2 has taken his turns, the number of counters remaining after each round will be 89, 78, 67, and so on down to 12 and finally 1. On his last turn, player 1 will be obliged to take the last counter and therefore lose the game.

With either of these games you will doubtless beat an unsuspecting opponent several times, even if you let him play in the favored position. But eventually, even the most casual observer will notice the invariance of your line of play regardless of what he does. Once he catches on you must find yourself another victim.

NIMBLE is the extension of NIM to a game with several piles and a slightly different rule for removing counters. It, too, has a winning strategy for exactly one of the players. This strategy is slightly more difficult to explain than the earlier ones, but much more difficult to spot. In fact, trying to learn the correct line of play from watching a knowledgeable player is like trying to catch a housefly in your hand: very often you will think you have him but when you open your hand, he's gone. It is for this reason that the game described here was called NIMBLE. It is similar to NIM but requires greater mental agility.

The rules of NIMBLE may be stated very simply. It is played with any number of piles, each of which may contain any number of counters; these numbers are fixed at the start of each game. Each player in turn

172

BYTE November 1977

Jack play NIMBLE Jack be quick, Jack must learn The computer's trick.

removes a quantity of counters from a single pile. He must remove at least one counter, but he may remove the entire pile. The player removing the last counter wins the game. For illustration, consider games 1 and 2 in figure 1. Player 1 has the favored position in game 1. If he is to win, he must remove two counters from pile 1 at his first play. Then player 2 must remove one of the two remaining counters and player 1 takes the other. In game 2 the advantage is not so obvious, but it belongs to player 2. No matter what player 1 does, player 2 will reduce the game to two equal piles. Then player 2 must remove from one pile whatever player 1 removed from the other.

It is not always so obvious which player has the advantage or, in fact, how to use it; for example, consider the two slightly more difficult examples in games 3 and 4. Unless you know the game strategy, it is not obvious that player 1 should win game 3, and player 2 should win game 4, assuming they play correctly. Before reading on, assume that you are player 1 in game 3 and make your first play. Did you say "Take one from pile 3?" You lose! In fact, you lose unless you said "Take 7 from pile 1." This tactic will become obvious once the winning strategy is explained.

After becoming an expert at NIMBLE, you will get greater enjoyment from the game if you can empathize with your uninitiated friends' feelings of frustration, feelings which can better be appreciated if you have been in the same situation yourself. So, if you enjoy making your own discoveries, put this program on your computer (without going too deeply into the logic) and play against it for a while as a novice.

Before typing in the program, there arc some statements that may have to be changed to make them more digestible to your computer.

1. The BASIC package I used does not have a RANDOMIZE statement. Statements 300 to 350 serve that purpose.

2. Colons (:) were used in statements 10 to 70 to signify remarks in place of REM.

Listing 1: A BASIC language source listing for NIMBLE.

1 10

ise

1 30

lie

1 50 160

1 70 180 190

a00

210 S20

2 30 2^0

2 50 260 270 260 290 300 310 320 330 3«0

3 50 360 370 380 390 400 410 420

4 30 440

4 50 460 470 480 490 500 510 520

5 30

5 40 550 560 570 560 590 600 610

6 20 6 30 6 40

6 50 660 670 680 690 700 710 720

7 30 7 40 7 50 7 60 770

WHITTEW BY IRWIN DOLINEh AUGUST. 1976

PRINT 'NEED INSTRUCTIONS';

GOSUB 1900 IF Ai='N' GOTO 290 PRINT

IN THIS GAME OF NIMBLE TWO PLAYERS ARE CONFRONTED WITH P

<2<P<7) PILES OF OBJECTS WITH N(I> (C0<I<=P>,(0<=N(I)<64))■

OBJECTS IN PILE I. EACH PLAYER IN TURN MUST SELECT ONE'

PILE AND TAKE ANY flUANTIlY FROM THAT PILE fhOM 1 TO ALL.'

THE PLAYER TO TAKE THE LAST OBJECT IS THE IINNER.

THE GAME IS BEGUN WITH A COIN TOSS-THE WINNER OF THAT TOSS"

HAS THE RIGHT TO INDICATE A PREFERENCE FOR GOING FIRST

OR SECOND.'

YOU INDICATE YOUR MOVE BY P.Q WHERE P=THE PILE NUMBEn. '

AND 0=THE QUANTITY.'

ONCE YOU LEARN THE PROPER STRATEGY YOU SHOULD BEAT THE'

MACHINE ABOUT 50J OF THE TIME-THERE IS A WINNING STRATEGY"

WHICH THE PROGRAM USES.'

LUC

I I I I '

PRINT

PRINT

PRINT

PRINT

PRINT

PRINT

PRINT

PRINT

PRINT

PRINT

PRINT

PRINT

PRINT

PRINT

PRINT 'G 0

PRINT

PRINT

DIM GC6.6),V(6).N(6),P(6).W(S)

PRINT 'PICK A NUMBER')

INPUT X

PRINT "THANK YOUl ";

FOR 1=1 TO X

T = RND

NEXT I

19 = 6

J9 = 6

FOR 1=1 TO 19

UtI)=2»*<I-1>

NEXT I

MAT G=ZER

MAT N=ZER

MAT P=ZER

19=6

PRINT "SHOULD 1 SET UP GAME";

GOSUB 1900

IF Al='N' GOTO 590

PRINT 'INDICATE DIFFICULTY LEUEL(l-5)'

INPUT 19

IF I9>63 GOTO 460

IF I9<I GOTO 480

19=19*1

N=INT<RND»<J9-2))*3

FOR J=l TO N

NCJ)=INTCRND*<2*y<I9)-lJ)+l

GOSUB 1700

NEXT J

GOTO 7 30

PRINT 'HOW MANY PILES';

PRINT '(3-';J9;')';

INPUT N

IF N<3 GOTO 606

IF N>J9 GOTO 600

PRINT 'HOW MANY IN PILE NO."

FOR J=1 TO N

PRINT j;

INPUT N(J)

IF NCJ)<2*V(I9) GOTO 710

PRINT 'SELECT NUMBERS LESS THAN 'J2*U(

GOTO 660

GOSUB 1700

NEXT J

S-1

PRINT 'I AM ABOUT TO TOSS

TI=INT(2*RND>

INPUT AS

IF AI="H' GOTO 810

IF AS="T' GOTO 810

CALL H OH T

790

PRINT 'DON'"T BE A WISEGUY - CALL H OR

600

GOTO 760

8 10

IF Tl -0 GOTO 840

8 20

CS='H'

8 30

GOTO 650

640

CJ='T'

8 50

PRINT "THE TOSS WAS ■;C$

860

GOSUB 1780

870

IF CS=AI GOTO 900

680

PRINT 'MY CHOICE - PONDER PONDER PONDEl

BYTE Novomhci 1977

173

Listing 1, continued:

890 GOTO 940

900 PRINT 'YOUh CHOICE - DO YOU WANT TO GO FIR51'

910 GOSUB 1900

920 IF flI='Y' GOTO 970

930 GOTO 990

940 FOR 1=1 TO 19

9 50 IF P(I>=1 GOTO 990

960 NEXT I

970 PRINT 'YOU GO FIRST - ';

980 GOTO 1010

990 PRINT 'I GO FIRST - ';

1000 S'CS-DitS

1010 IF S=l GOTO 1100

1020 FOR I = I9T0 1 STEP - 1

1030 IF P(I> = 1 GOTO 1100

1010 NEXT I

1050 J=INT(N*RND)+1

1060 IF N(J)=0 GOTO 1050

1070 T=INT(NtJ)*RND)+1

1080 PRINT USING 1230,J,T

1090 GOTO 1560

1100 T=y<I)

1110 FOR J=1 TO N

1120 IF GCI,Ji=l GOTO 1140

1130 NEXT J

1140 GfI,J>=0

1150 PCI)=0

I 160 FOR K=l TO I

1170 IF P<K)=0 GOTO 1210

1180 T=T+(2*G<K,J>-1>*VCK)

1190 G(K,J)=<G(K,J)-l)«*2

1200 P(K)=0

1210 NEXT K

1220 PRINT USING 1230,J,T

1230 IMY MOVE IS ###,##«

1240 NCJ)=NCJ)-T

1250 FOR J=l TO N

1260 IF N<J)<>0 GOTO 1370

1270 NEXT J

1280 IF S=l GOTO 1310

1290 PRINT M WIN 11 I 1 I I 'J

1300 GOTO 1320

1310 PRINT 'YOU WIN M I I I I 'J

1320 WCS-H ) = WtS+I)-H

1330 PRINT 'PLAY AGAIN";

1340 GOSUB 1900

1350 IF AS='N' GOTO 1970

1360 GOTO 410

1370 IF S=l GOTO 1000

1380 GOSUB 1600

139B GOTO 1000

1400 PRINT 'YOUR MOUE'I

1410 INPUT J,T

1420 IF J>=1 GOlO 1460

1430 PRINT 'PICK A PILE FROM 1 TO ';n;

1440 INPUT J

1450 GOTO 1420

1460 IF J>N GOTO 1430

1470 IF N<J)>0 GOTO 1510

1480 PRINT 'THAT PILE IS EMPTY'

1490 GOSUB 1600

1500 GOTO 1400

1510 IF T>=1 GOTO 1550

1520 PRINT 'PICK A QUANTITY FROM 1 TO ';N(J);

1530 INPUT T

1540 GOTO 1510

1550 IF T>NCJ) GOTO 1520

I 560 N(J)=NCJ>-T

1570 T»N(J)

1580 FOR 1=19 TO I STEP -1

1590 IF V(I)>T GOTO 1650

1600 T-T-VCI )

1610 IF GCI,J)=1 GOTO 1660

1620 G(I,J)=1

1630 P(I>=<PCI)-I)++2

1640 GOTO 1680

1650 IF G(I,J)=0 GOTO 1660

1660 GCI,J)=0

1670 P(I)=<P(I>-l)*»2

1680 NEXT I

1690 GOTO 1250

1700 T=N(J)

1710 FOR 1=19 TO 1 STEP -1

1720 IF «(I)>T GOTO 1760

I 730 GCI,J>=1

1740 T=T-U(I)

1750 PC I) = CPCI)-l)**2

1760 NEXT I

17 70 RETURN

1780 PRINT USING 1790,N

17901 THERE ARE I* PILES

1800 PRINT

1810 FOR X=l TO N

1620 PRINT X;

1630 NEXT X

1640 PRINT

1850 FOR X=l TO N

1660 PRINT NCX);

1870 NEXT X

1660 PRINT

1890 RETURN

1900 INPUT At

1910 IF AIo'N' GOTO 1930

1920 RETURN

1930 IF ASo'Y' GOTO 1950

1940 RETURN

1950 PRINT 'ANSWER ONLY Y OR N';

1960 GOTO 1900

1970 PRINT USING 1980,WC1),WCS)

1980 I FINAL SCORE - ME ##* YOU il/

1990 END

Figure 2: Three example moves from a typical NIMBLE game. Figure 2a illustrates the board set up before the first move. Notice that all the rows have an even number of Is. Figure 2b shows the board after the first move. The first column now has an odd number of Is. The second player restores the binary balance by removing four counters from the third pile and leaves an even number of Is in each column.

(2a)

Pile

Qu

antity

Number

Decimal

Binary

1 2 3

3 6

5

0 1 1

1 1 0 1 0 1

(2b)

Pile

Quantity

Number

Decimal

Binary

1 2 3

3 2

5

0 1 1

0 1 0

1 0 1

(2c)

Pile

Quantity

Number

Decimal

Binary

1 2 3

3 2

1

0 1 1 0 1 0 0 0 1

3. PRINT USING uses a format statement rather than a format variable (see 1080, 1220, 1230, 1780, 1970, and 1980). This may not be acceptable to your BASIC.

Looking at the sample run, you will see that you have a choice of setting up the game yourself and determining the number of piles and the quantity in each pile, or letting the computer do it. If the computer sets up the game, you must select a difficulty level which determines the maximum number in each pile.

When the game is set up, the computer will simulate a coin toss; the winner will have the privilege of determining who should play first. (If the computer ever wins the toss and loses the game, look for an error in copying the program.) Once you learn the strategy, the game will be decided on the coin toss (unless you win the toss and make an error). You should begin your play by letting the computer set up the games at difficulty levels 1 and 2. When you think that you have discovered the winning strategy, test your theory at the higher levels.

If you discover the strategy for beating

174

BYTE November 1977

A CALL FOR SPEAKERS

You read about the FIRST West Coast Computer Faire

in

Byte, Interface Age, Kilobaud, Personal Computing, etc.

held in San Francisco last April

■ 13,000 People ■ 200 Exhibitors ■ 100 Speakers

over 320 pages of published Conference Proceedings.

Well. . .

WE'RE DOIN' IT AGAIN

The SECOND West Coast Computer Faire

will be held in The Brand New Convention Center in San Jose

in the middle of "Silicon Valley" — the south end of the San Francisco Peninsula

expecting ■ 10,000-15,000 People ■ 50-100 Speakers ■ 1 50-190 Exhibitors

March 3-4-5 1978

9a m - (if) in 9 a ni -6{) m No a fi -5/; m

(That's right after Compcon concludes in San Francisco)

YOUCanBeAPartOf It:

■Talk about your latest project "Exhibit homebrewed system ■Organize & chair Conference Section

Write ?iOU) for speaker's instructions Prizes for best "lnomecool<ing" Help gather speakers you want to hear

Conference talks will be published (just like an old county fair) Assure the Conference has topics that interest you

Talks to be included in the published Conference Proceedings must arrive by January 2, 1978, in the required format.

Some of the Conference Sections being planned:

• Tutorials for computer novices • Personal computers for education •Speech synthesis & speech recognition "Business systems using "home" computers

• Computer-driven & computer-assisted music systems • Computers & amateur radio

• Computer graphics & video art •Hardware & software design & implementation

• Persona] computers for the physicaUy disabled • Standards for hardware, interfaces & software

• Manufacturer tutorials on explicit systems •Workshops for club leaders, retailers, NL editors, etc.

Quick! Write for more details:

Computer Faire, Box 1579, Palo Alto CA 94302

SPEAKERS' PAPERS' DEADLINE: IAN. 2

Circle 159 on inquiry card. ' byte November 1977 175

N(1)

N(2)

N(3)

N(4)

N(5)

N(6)

V

2°

21

22

23

2^

25

G

P

Figure 3: These tables represent the manner in which the information for this game is stored in memory. The matrices are defined as follows:

V The binary value vector V(l) = 2''.

N The pile quantity vector. N(J) = the number of counters in pile j.

G The binary value matrix. G(l, J) = lorO depending on whether or not V(l) is in the binary representation of N(J).

P The parity vector. P(l) = 0 if row i of the G matrix has an even number of Is; otherwise P(l) = 7.

Figure 4: A typical NIMBLE game showing the contents of G matrix and P table for each move in the game.

HOW MANY PILESO- 6 HOW MANY IN PILE NO.

I AM ABOUT TO TOSS A COIN THE TOSS WAS H THEhE AKE 3 PILES

CALL H OH T 7T

1

0

0

I

0

I

0

1

e

1

I

0

1

0

0

1

0

0

0

0

0

a

0

0

MY CHOICE - PONDER PONDEH MY MOVE IS 1,7

I GO FlhSl

H

0

0

0

1

1

0

0

0

1

1

0

0

a

0

0

B

0

0

0

0

0

0

0

YOUR

M0UE7 2

5

0

1

0

I

1

1

0

0

0

0

1

1

0

0

0

0

0

0

0

0

0

0

0

0

MY MOVE IS

the computer, short of doctoring the program: congratulations! If not, you have probably come to the conclusion, after watching the computer's strategy for a while, that it attempts to maintain a certain kind of balance. That is absolutely correct; though not in the way you probably think.

If we lived in a binary world, this game would be very uninteresting because the strategy would be too obvious. But unfortunately man learned to count on his fingers and not his ears. We just normally think in decimal.

The following demonstration should clarify the strategy. Suppose we have 3 piles with 3, 6 and 5 in piles 1, 2 and 3 respectively. If we represent these quantities in binary, the system would look like figure 2a.

There is an even number of Is in each column; no matter what player 1 does, this statement will no longer be true after his movei Suppose that player 1 removes 4 from pile 2: the system now looks like figure 2b. Player 2 can now restore binary balance by removing 4 from pile 3, leaving a system

176

BYTE Novciiiher 1977

Figure 4, continued:

Figure 5: A typicai NilVIBLE game series.

0 1

1 1

1

a

8

0

0

a

a

0

G

a

0

0

0

0

0

0

0

0

0

0

0

YOUR MOyE?S* 3

H

0

1

1

I

0

H

1

0

fl

0

0

0

0

0

0

0

0

0

0

B

U

0

0

MY MOVE IS

NEED INSTRUCTI0NS7Y

IN THIS GAME OF NIMBLE TWO PLAYERS ARE CONFRONTED WITH P

(2<P<7) PILES OF OBJECTS WITH NCI) ( C 0< I < = P> > C 0< = NC I Xfi-^ ) )

OBJECTS IN PILE I. EACH PLAYER IN TURN MUST SELECT ONE

PILE AND TAKE ANY QUANTITY FROM THAT PILE FROM 1 TO ALL.

THE PLAYER TO TAKE THE LAST OBJECT IS THE WINNER.

THE GAME IS BEGUN UITH A COIN TOSS-THE WINNER OF THAT TOSS

HAS THE RIGHT TO INDICATE A PREFERENCE FOR GOING FIRST

OR SECOND.

YOU INDICATE YOUR MOVE BY P*Q WHERE P-^THE PILE NUMBER*

AND Q=THE QUANTITY.

ONCE YOU LEARN THE PROPER STRATEGY YOU SHOULD BEAT THE

MACHINE ABOUT 50% OF THE TIME-THERE IS A WINNING STRATEGY

WHICH THE PROGRAM USES.

GOOD

L U C K I I ! I

1

8

1

0

0

0

0

0

e

0

0

0

G 0

B

0

0

0

0

0

0

0

0

0

0

YOUR MOVE?1J 1

PICK A VHMBZmit

THANK your SHOULD I SET UP GAME7Y

INDICATE DIFFICULTY LEUEL(I-5)71 I AM ABOUT TO TOSS A COIN - CALL H OH T THE TOSS WAS T THERE ARE 5 PILES

1

MY CHOICE - PONDER PONDER PONDER - I GO FIRST MY MOUE IS I. S

a

0

1

1

0

0

0

0

0

0

0

0

0

0

a

a

0

0

0

0

0

0

0

a

MY MOVE IS I WIN

PLAY AGAtN7Y

that looks like figure 2c. The game will continue this way, with player 1 disrupting the balance and player 2 restoring it. Player 1 must ultimately leave a single pile which player 2 will remove. Therefore, if the initial system is in binary balance it is preferable to go second; otherwise, it is preferable to go first. The strategy is simply to restore binary balance each time your opponent disrupts it. Now that you know the winning strategy, you will want to learn how the program knows to play it. First we must think of writing binary numbers vertically from bottom up rather than horizontally from left to right. For example, the numbers 3, 5, 7 and 8 would be represented as:

3

5

7

8

1

1

1

0

1

0

1

0

0

1

1

0

0

0

0

1

This method is used to represent the pile quantities in the G table (matrix).

Figure 3 demonstrates the relationships between the major program tables and how they are used to find the optimal move.

When it is the computer's turn to play, it looks at the P vector, statements 1020 to 1040 of listing 1. If it is not equal to 0 there is no optimal move and the computer plays at random as shown in statements 1050 to

1 S 3

a

5

a 1 3

1

3

YOUR MOVE? 5^ 3

MY MOVE IS 3^

3

1 2 3

A

5

a 1 8

1

0

YOUR MOVE? 2, 1

MY MOVE IS A,

1

I WIN Mill!

PLAY

AGAIN7Y

SHOULD I SET UP

GAME7Y

INDICATE DIFFICULTY LEVEL(l-5)?5

I AM ABOUT TO TOSS A COIN - CALL H OR

THE TOSS WAS T

THERE ARE 3 PILES

MY CHOICE - PONDER PONDER PONDER - I GO FIRST MY MOVE IS 1, 29

1 2 1 ] 55 YOUR M0VE73, MY MOVE IS

3

60 18 I,

6

1 2 5 55 YOUR MOVE72j MY MOVE IS

3

50 37 3,

27

1 2 5 18

YOUR MOVE?3.

MY MOVE IS

3

23 22 2,

14

1 2

5 1 YOUR MOVE?1J MY MOVE IS

3 1

2 2.

2

1 2

3 2 YOUR MOVE?1J MY MOVE IS

3 1 1 3,

1

1 2

2 2 YOUR MOVE? I MY MOVE IS

3 0 1 2,

1

1 Z

1 1 YOUH MOVE? 1 MY MOVE IS I WIN Mill

3 0 1 2.

1 FLAY

AGAIN7Y

SHOULD I SET UP GAME7N HOW MANY PILESC3- 6 HOW MANY IN PILE NO

I AM ABOUT TO TOSS A THE TOSS WAS H THERE ARE 3 PILES

CALL H OR T ?T

MY CHOICE ■ MY MOVE IS

PONDER PONDER PONDER - I GO FIRST 1> 7

UYTt Ni.vi-mlu-r l<)77

177

Figure 5, continued:

YOUR M0V1;?2j3

MY MOUt IS 3^ 3

1 2 3

2 3 1

YOUR MOVE? 2, 3

MY MOVE IS 1> 1

1 2 3

1 a 1

YOUR M0VE?2.I

THAT IJILE IS EMPTY

I 2 3

1 0 1

YOUR MOVE?1>I

MY MOVE IS 3, 1

I WIN mill PLAY flGAIN7Y

SHOULD I SET UP GflME7N

HOU MANY PILES(3- 6 )7 3

HOW MANY IN PILE NO.

1 76

2 75

3 73

I AM ABOUT TO TOSS A COIN - CALL H OR T 7H

THE TOSS WAS T

THERE ARE 3 PILES

1 2 3

6 5 3

MY CHOICE - PONDER PONDER PONDER - YOU GO FIRST

YOUR M0VE7 1

MY MOVE IS 3. 2

1 2 3

It 5 1

YOUR HOVE? 2, 2

MY MOVE IS 1. 2

1 2 3

2 3 1

YOUR M0VE72,3

MY MOVE IS 1, 1

1 2 3

10 1

YOUR M0VE7 1, I

MY MOVE IS 3, 1

1 WIN 1111ri PLAY AGAIN7N

FINAL SCORE - ME « YOU 0

1080. If P equals 0 the computer determines the largest I for which P(l) = 1 and then selects the smallest j for which G (I,J) = 1, ie: It picks the first pile which contains V(l). The computer then concentrates on column J and takes the 1's complement of G(l,)) whenever P(l) = 1, statements 1100 to 1220. Figure 4 demonstrates this process by showing the contents of tables G and P after each move In the playing of game 3. If you work this through carefully, you will see how the computer uses these tables to find an optimal move when one is possible. Figure 5 shows a sample run of NIMBLE.

Even though you now know the secret of NIMBLE, you can still have fun with the game. You can test your ability to rapidly convert numbers to binary at difficulty levels 4 and 5. You can make the game more difficult by increasing the sizes of the arrays (also 19 and J9) to allow larger values and more piles; or you can merely impress your friends by beating the computer when they can't. However you use NIMBLE, I hope that you have as much fun playing It as I had writing it."

PAPERBYTES Design and Implementation of a

Tiny Assembler 6800 — Microprocessor Self Assembler

$7

Plfiliffli Tiny Assembler 6800

Design and Impiementation

of a Microprocessor Self Assembler

by Jack Emmerichs

Send today to:

BYTE Interface Technical Services, Inc. 70 Main St Peterborough NH 03458

Dealer Inquiries invited

All orders must be prepaid.

Originally described In the April and May 1977 BYTE, PAPERBYTES is now offering Jack Emmerichs' Tiny Assembler 6800. This book contains the complete Tiny Assembler source listing plus object code in cross assembly format (space restrictions prevented printing of this material in BYTE). A bar code version of Tiny Assembler is included for convenience, as well as reprints of Jack's two articles and additional user manual materials. Tiny Assembler will run on any machine with MIKBUG and 4K of memory starting at address 0000, and is an excellent tool for the interactive development of functional blocks for a large structured program. Add it to your 6800 system and you'll have a valuable programming aid which can free you from the drudgery of machine language. The best part is the price: only $7. Order yours today!

Name

Address

City

State

_Zip_

PAPERBYTES

Tiny Assembler 6800

Q Check enclosed

□ Bill MC #

a Bill BA #

Price of Book $

Postage, 35 cents $

Total $

Exp. Date Exp. Date

Signature

In unusual cases, processing may exceed 30 days.

You may photocopy this page if you wish to leave your BYTE intact.

No. 700

178

BYTE November 1977

Circle 12 on inquiry card.

by Rodnay Zaks. Ref. C201 $6.95

TH E B00 K (MICROPROCESSORS : from chips to systems )

^ -9

This book is based on the author's experience in teaching microprocessors to more than 2000 persons during the past 5 years, both in a professional, and in a university environment. The seminars have received the highest ratings for their educational and technical value, and have been taught worldwide. This step by step book stresses:

1. How to assemble a complete system

2. Design trade-offs: advantages, disadvantages, problems, costs. About 250 pages, over 70 illustrations. Available August 1977

CONTENTS

A comprehensive introduction to all the essential aspects of microprocessors and microcomputers:

Technical Introduction / LSI Technologies / Internal Architecture of a Microprocessor / System Components / The Microprocessor Families / Microprocessor Programming / Applications of Microprocessors / Building a System I Product Development / Design Aids / Microprocessor Selection / Evolution and Perspectives.

THE AUTHOR

Dr. Rodnay Zaks has been responsible for the design of industrial microprocessor systems since their inception in 1972. He is the author of 11 educational books in the field and more than 20 scientific publications.

CASSETTES

The 2 basic microprocessor courses are now available on cassettes. Each course includes 2 cassettes (2V'2 hours) and a special book:

51 — An Introduction to Microprocessors $29.95

52 — Programming Microprocessors $29.95

OTHER BOOKS

• MICROPROCESSOR ENCYCLOPEDIA

2 complete reference books, containing manufacturers' data and description of operation for every microprocessor. A necessary tool for any comparative evaluation.

E8 - 8 BITS MICROPROCESSORS: Am 9080, AMI 6800, EA 9002, Fairchild F8, Gl LP 8000, Intel 8080 A, Intersil 6100, Mos Tech 650 X, Mostek 3880, 3850, M 6800, NS 8080 A, SC/MP, RCA CDP 1802, PPS-8, Signetics 2650, TMS 8080,

Western Digital MCP 1600, Zilog Z-80 $29.95

E5 - BIT SLICES: AMD 2901, Fairchild Macrologic, Intel 3000, MMI 5701, Motorola M 2900, M 10800, NS IMP, Signetics 8X02, 3000, Tl SBP 0400 $18.00

• IMD — International Microprocessor Dictionary

10 Languages: English — German — French — Spanish — Italian — Swedish — Norwegian — Danish — Hungarian — Polish. 30 Pages ; $1.95

• ACR-Microcomputer Acronyms — 4-Page guide to abbreviations $1.00

• SEMINAR BOOKS (condensed notes)

B2 - Microcomputer programming $39.95

B3 - Military microprocessor systems $39.95

85 - Bit Slice $39.95

86 - Industrial microprocessor systems $39.95

87 ■ Microprocessor interfacing techniques $39.95

IN-HOUSE TRAINING

SYBEX is independent from manufacturers and provides in-house training and education on all the above topics, as well as on specialized microprocessor techniques.

AVAILABLE SOON:

Microprocessor programming techniques (with 8080 and 6800 examples) $7.95

ORDER FORM

Name Position Company Address

D Send me

copies of =;

copies of = .

copies of =.

Subtotal _

In California, add tax +.

Postage and Handling ...

TOTAL _

Payment included: D check D P.O. D money order D other.

TO ORDER

Handling (fourth-class rate): no charge. Faster delivery: $1.40 one book, $0.90 each additional one. (S2.50 overseas)

1. Fill attached coupon, or send P.O.

2. Enclose payment (prices are for U.S. only). In California, add tax.

3. Mail to SYBEX Inc, Publications Dept, 2161 Shattuck Ave, Berkeley, Ca 94704. Tel: (415) 848-8233. Telex: 336311

In Europe: SYBEX ■ Europe, 313 rue Lecourbe, 75015 Paris, France Tel: (1)8282502, Telex: 200858

Circle 140 on inquiry card.

BYTE Novcmlicr 1977

179

Continued from page 78

Figure 5: A flowchart of the floating point addition or subtraction routine.

r~\

/~\

<

to

c/>

pi

h

ZiD

|s

»- K

kO

^^s

ccq:

o

<

_)

U

/• N^

5

Z

o

cc

_J

D

(r

>

q:

o

V y

h

^^—^

UJ

in

^~^

vy

<

X

^y_

1

S^

1—

ZK UJZ

2

Lij2

t'

cro

UQ

UJX

tfl_J

o

-z. m

r^

<

q:

U U_

<

3 1

a:

UJ

o<

or UJ

UJ _)

V ^

M O

<

CO

en

HZ

ZO

sn

>-2

mi

1 m

0JZ3

[O CO

o

z

1

_l

=)

\

(/)

- S

u

T \

q:

T •■

UJ

- n..

\^

X

/

c

/

1

^ /

UI

1 /

1—

/

<

•/

O

UJ

z

^~^

v^

r^

t^UJ

Z) UJO

z<

<

en

K

to

Z

k!=

UJ

S^

1°

SX

UJ

uji^

Hl

■^uj

2^

?^

CC ir

cn

UJ

CD

h

?

Z

^H

u ceZ

■s:

UJ Ul

_JZ

dO

?x

COUJ

o

a: u

UJ <

^^

^o

°£

cc

3

u

f_

^_ u

1- S

V^

Q- Z

180

BYTE Novemher 1977

BYTE FLOWCHART CONVENTIONS

( XXXX j

H

-V.

ENTRY POINT, LABEL, OR SUBROUTINE RETURN

GENERALIZED PROGRAM FUNCTION

INTERNAL LABEL

REFERENCE

(FLOW INTO CIRCLE)

INTERNAL LABEL

DEFINITION

(FLOW FROM CIRCLE)

DECISION

(ENTRANCE UNIVIARKED, EXIT OPTIONS MARKED)

FLOW JUNCTION (ARROWS ON INPUTS)

TLOty RULE:

ALL FLOW IS ASSUMED DOWN OR TO THE RIGHT-, EXCEPTIONS TO THIS RULE ARE INDICATED BY ARROWS. ARROWS GENFRALIY OMITTED OTHERWISE.

number of digits can be expanded.

This format has its list of disadvantages, though; but for these the commercial computer industry might have adopted it long ago. The program size required for performing just the basic operations and the conversion routines is about the same as for the other formats, but execution times are significantly slower. IVlany hobbyists are not as concerned with the number of milliseconds as with the number of bytes, but another disadvantage is the larger memory required to store the floating point numbers. For most assembly language applications the impact is negligible. It does become noticeable, however, when the floating point package is part of higher level language programs such as interpreters or compilers. One major disadvantage is more subtle. Many of the transcendental functions are best implemented using algorithms which are binary based. Using these algorithms, the BCD format is awkward at best and at worst consumes large quantities of time and memory.

The binary floating point format provides the fastest execution times, despite the fact

that its format allows representation of 7 digit numbers at all times. Because the entire format is in binary, implementing the basic operations and all of the transcendental functions is easier than when using either of the other two formats.

The major drawback is the small range of numbers representable, relative to the other formats (10+38 ^ 10-38). This is because its exponent is only a power of two compared with bases of 10 and 16 respectively. Two other minor drawbacks are the need for routines to convert floating point numbers from a decimal base to a binary base (and vice versa), and the need to expand the binary format to perform actual calculations.

The hexadecimal floating point format permits a much larger number range (10+76 to 10-76) than the binary format, and the conversion routines are similar for both. Although slightly slower than the binary format, the hexadecimal format is still much faster than any BCD format of comparable capability.

It is somewhat more difficult to implement scientific functions such as square root, exponential and logarithm with this format than with the binary format, and its precision is not as great as the binary format's precision because it is digit rather than bit oriented. Even though the most significant digit is nonzero, the most significant three bits of the digit itself may be zeroes, resulting in only 21 bits of accuracy. This translates to only six digits of accuracy.

In describing the four basic floating point operations and the format conversions, the hexadecimal format will be used to illustrate examples.

Floating Point Operations

The software uses three floating point registers, an accumulator, argument register and scratch register. The floating point accumulator contains one of the operands prior to a calculation, and the result after the calculation is performed. The argument register contains the other operand, which is loaded by the routine, and the scratch register is used to hold temporary results.

In each of the basic operations there are two parts: exponent calculation and mantissa calculation. Fixed point operations require only the mantissa calculation, which turns out to be the easier of the two.

Add and Subtract Routine

Figure 5 is a flowchart of the add and subtract routine. The two operations are described together because the algorithms

UYTL November 1977

181

A B

.100000 X .FFFFFF X

16' 16^

Figure 6a: Two numbers A and B, which differ from one another by less than one part in 2^^, but which were represented as two different numbers.

A B

Mantissa

.Tooooo

.OFFFFF

Guard Byte

00 FO

16'

161

Figure 6b: The same numbers as figure 6a, but with B shifted to the right one digit, and the extra digit stored in the guard byte in preparation for the subtraction shown in figure 6c. This shifting aiigns mantissa radix points (maizes exponents equai).

Mantissa

G

jard Byte

A = -B =

.100000 -.OFFFFF

00 FO

X X

16' 161

c =

.000000

10 X

161

.100000

16

Figure 6c: The subtraction of B from A to give C. There is only one significant digit in the result, which is entirely located within the guard byte.

A =

-B =

.100000 X -.OFFFFF X

16' 16^

.000001

16'

.100000

16

Figure 6d: If the guard byte is omitted, as in this example, the apparent result is off by a factor of 16 due to truncation prior to the mantissa addition (or subtraction).

are identical except for a sign cliange before executing a subtract.

Tlie add and subtract routine consists of three functionally separate sections. The first prepares the numbers for the operation by aligning the radix points. This is analogous to aligning the decimal points for an addition or subtraction of decimal numbers. The addition or subtraction is then performed and the result normalized.

The radix points are aligned by shifting the mantissa of the smaller number right one digit and incrementing its exponent until the exponents are equal. When shifting right, the last eight bits shifted out are saved in the guard byte in order to maintain accuracy. During the shifting and incrementing loop, the 32 bit mantissa, including the guard byte, should be checked for all zeroes (a situation which implies that one operand is too small to affect the other). This is to avoid shifting insignificart zeroes. For

example, 0.0001 added to 100000 will give 100000 because only six significant digits are retained.

In the second section the signs of the two operands are compared. If they are the same, addition is performed, and if they are different, subtraction is performed. Addition is a straightforward 32 bit fixed point add; the only normalization is a right rotate one digit and exponent increment when there is a carry out. An overflow can only occur if, on the right rotate, the exponent exceeds the maximum value when incremented. When this occurs, the current routine is exited, the overflow flag is set, and program control is returned to the caller.

If the mantissa signs are opposite, the argument mantissa is subtracted from the accumulator mantissa in a 32 bit fixed point operation. If the absolute value of the argument mantissa is greater than that of the accumulator mantissa, a carry out occurs and the result must be negated and the result sign complemented. The effect is the same as subtracting the smaller mantissa from the larger and using the sign of the larger.

The last section normalizes and rounds off the result and checks for exponent overflow and underflow. Normalization consists of shifting the mantissa digits left until the most significant digit is nonzero. For each shift, the exponent must be incremented and checked for overflow. Only 24 bits of mantissa are saved. Therefore, the 25th bit of the temporary result determines whether the mantissa is to be rounded up or not. For example, if the hexadecimal result were 10000094, it would be rounded up to 100001, whereas a result of 10000048 would not.

If the guard byte and a round off operation are not used in an addition, one bit of significance could be lost. By comparison, subtraction without a guard byte could mean a difference of an order of magnitude. Two numbers can be different by less than one part in 2^4 and yet be represented as two different numbers (A and B in figure 6a). When one is subtracted from the other, the smaller must be shifted right in order to align the radix points. The guard byte stores the shifted out digit (figure 6b) and retains the only significant digit of the result (figure 6c). Without a guard byte the significant digit may be off by a factor of 16 (figure 6d).

182

BYTE Novemlier 1977

IF YOU'RE NOT SUBSCRIBIN6T0 CREATIVE COMPUTING, YOU'RE NOT GETTINGTHE MOST OUT OF YOUR COMPUTER.

No computer magazine gives you more applications than we do! Games. Puzzles. Sports simulations. CAI. Computer art. Artificial intelligence. Needlepoint. Music and speech synthesis. Investment analysis. You name it. We've got it. And that's just the beginning!

Whatever your access tocomputer power—home computer kit, mini, time-sharing terminal—Creative Computing is on your wavelength, whatever your computer application—recreation, education, business, household management, even building control—Creative Computing speaks your language.

Read through pages of thoroughly documented programs with complete listings and sample runs. All made easy for you to use. Learn about everything from new software to microprocessors to new uses for home computers. And all in simple, understandable terms. And there's still more Creative Computing discusses creative prpgramming techniques like sort

I want to get tlie most out of my compuler. Please enter my subscription to:

creative GoittpntiRg

Foreign Foreign Term USA Surface Air

O1-year D 2-year D 3-year

□ Lifetime

□ Vol. 1 Bound

□ Vol. 2 Bound

D$ B D $ 12 D S 20

D$ 15 a$ 23 D$' 39

as 21 n$ 33 □$ 57

D$300 n$400 n$600

nS 10 D$ 12 □$ 15

D$ 10 as 12 D$ 15

D Payment Enclosed

D Visa/Bank Americard D Master Charge

Card No.

D Please bill me ($1.00 billing fee will be

added; foreign orders must be prepaid)

Name

Address Citv

_Slale_

„Zip .

Send to Creative Computing Atten' Inez P O Box 789 M Mornstown N ) 07960

l4 5.

/^

'.^ -.f

f^

#=:

A"^

algorithms, shuffling and string manipulation to make your own programming easier and more efficient.

We can even save you time and money. Our extensive resource section is filled with all kinds of facts plus evaluations of hundreds of items. Including microcomputers, terminals, peripherals, software packages, periodicals, booklets and dealers. We also give you no-nonsense equipmentprofilesto help you decide wnich computer is best for you—before you spend money on one that isn't.

We've got fiction too. From the best authors in the field, like Asimov, Pohl and Clarke. Plus timely reviews of computer books, vendor manuals and government pamphlets. And so much more! Isn't it about time you subscribed to Creative Computing? It's the smart way to get the most out of your computer. Complete this coupon and ^^ _ mailittoday.Orforfast

''^ response, call our toll

free hot line. (800) 631-8112. (In New Jersey call 'k (201) 540-0445).

:i

r#'

'M

^^,^<^-f'^ , ^y'"

-f

Circle 39 on inquiry card.

BYTE November 1977

183

Figure 7: A flowchart for the floating point multiplication routine.

( MULTIPLY j

EXCLUSIVE-OR SIGNS TO GET RESULT SIGN

ADD EXPONENTS TO GET RESULT EXPN

OVF

NITIALIZE RESULT TO ZERO AND SET COUNT TO 24

ROTATE MULTIPLIER RIGHT I BIT

NC

/"^ CARRY \^

"\_^OUT= 1 y'

YES

ADD

MULTIPLICAND TO RESULT

SHIFT RESULT RIGHT 1 BIT

DECREMENT THE COUNT

Multiplication

Figure 7 Is a flowchart of the multiplication routine. Calculation of the exponent for the multiplication and division routines is achieved by adding or subtracting the operand exponents respectively. Since the exponents are in excess-64 notation, the offset (64) will have to be subtracted from or added to the result. If the resultant exponent is less than the smallest exponent or greater than the largest, an underflow or overflow condition exists and the appropriate action is taken (for example, displaying an error message or setting the result to a fixed value). Sign calculation for both multiply and divide is a simple exclusive or of the two operand signs.

The partial product method is the most widely used in fixed point multiplications, decimal or binary based. Using binary numbers, this algorithm rotates the multiplier right one bit and tests the bit rotated out. The multiplicand is conditionally added to

the accumulated result if the bit is a one. The result is then rotated right one bit, retaining 32 bits, and the whole procedure repeated for all 24 bits of the multiplier. [An example of this algorithm implemented in hardware was found in the article "This Circuit Multiplies" by Tom Hall, page 36 in July 1977 BYTE . . . CHj

Though the fixed point calculation is straightforward and uncomplicated, it is extremely time consuming because the loop is repeated 24 times. One method of reducing the execution time is to cut out all subroutines within the loop and use only in line code. A complete multiplication routine can then have a worst case multiply time of about 2.5 ms using an 8080 processor with 2 MHz clock.

Division

Figure 8 is a flowchart of the division routine. The fixed point divide algorithm is analogous to the partial product method and is also commonly used. It compares the absolute value of the divisor to that of the dividend. If it is equal to or less than the dividend's absolute value, it is subtracted from the dividend, and a one is rotated into the least significant bit of the quotient. Otherwise there is no subtraction and a zero is rotated in. The dividend is then shifted left one bit and the loop repeated for a total of 32 times, generating a 32 bit quotient. Long division by hand goes through the identical procedure, but it operates on digits instead of bits.

Since more processing is done in each loop cycle than in the multiply routine, division execution times are longer than multiplication times. The worst case times are still around 5 ms for an 8080 with 2 MHz clock.

In both the multiply and divide routines, the normalization procedure is identical to the one in the subtract routine. Therefore it usually turns out to be shared code.

These routines are the core for other floating point functions such as format conversions and scientific mathematical functions. Because of this it is important that these routines execute as fast as possible so that the other functions' execution times are not increased to several seconds instead of fractions of seconds.

BCD to Binary and Binary to BCD conversions are probably the most difficult to implement in a binary floating point package. There are several simple methods of converting integers from one format to the other, but I haven't seen any published literature to date on either floating point arithmetic or number base conversions.

184

BYTE November 1977

The methods described here were chosen because of their simplicity rather than their speed. The slow base conversions are still relatively fast compared to the character oriented input and output operations in which they are used, so for most purposes the conversion speed is not noticeable.

Decimal to Binary Conversion

The Decimal to Binary (DB) routine (figure 9) converts a free format floating point BCD number in ASCII to binary floating point format, converting from ASCII BCD floating point to formatted BCD floating point, and then to binary floating point in one operation.

After initialization the DB routine first checks for a plus or minus sign, which is optional. It ignores a plus sign and sets a flag if there is a minus sign. It then reads in one or more digits (and possibly a decimal point). When it encounters a decimal point, it tests a flag to see if another decimal point has already occurred and sets the flag if not. If a decimal point has already occurred, the routine jumps to the last section. For each decimal digit input, the routine multiplies the accumulated result by ten in floating point format, creates a floating point number from the digit, and adds the number to the accumulated result. If a decimal point has previously occurred, a decimal exponent count is decremented, keeping track of the number of digits in the fractional part. This process is repeated until a character which is neither a digit nor decimal point has occurred, at which point control passes on to the exponent evaluation routine.

Here the decimal exponent of the number, if any, is processed. The routine first searches for the presence of an E character. If none is present, control jumps to the last section. If the character is present, one or two BCD digits are inputted with an optional plus or minus sign. The BCD digits are converted to an 8 bit binary, two's complement number and added to the decimal exponent count.

Finally, the mantissa is normalized by either repeatedly multiplying or dividing by ten, depending upon the decimal exponent count. Multiplication is performed if the count is greater than zero, and division is performed if it is less than zero. The count is either decremented or incremented respectively toward zero for every multiplication or division. When the count reaches zero, the sign is corrected if the number is negative, and the routine returns.

The Binary to Decimal (BD) routine shown in figure 10 converts a binary floating point number to packed BCD floating point.

Figure 8: A flowchart for the floating point division routine.

( DIVIDE J

EXCLUSIVE-OR SIGNS TO GET RESULT SIGN

SUBTRACT DIVISOR EXPONENT FROM DIVIDEND EXPONENT

YES^

(OVF^

^^—y

FIGURE 5

^-\

YES

V—/

FIGURE 5

f^\__

YES

V—/

FIGURE 5

^^

YES^

^ ^

FIGURE 5

OVERFLOW

JNDERFLOW,

DIVIS0R = 0

3IVIDEND=0

SET COUNT TO 32

The number is left in packed BCD notation so the user can define his or her own format for the decimal point and exponent.

Initially, the binary number is normalized so that it is in the range of 0.1 to 1.0, with a decimal exponent kept separate. This is done by repeatedly multiplying or dividing by 10 until the number is equal to or greater than 1.0 and less than 10.0, and then dividing it by 10.0. During this operation, each multiplication or division by 10 is tabulated in a count. Next, a round off of 0.0000005 is added and a correction, if necessary, is made to make sure the number remains between 0.1 and 1.0.

The number is then converted to a binary fixed point fraction, and finally to a BCD fixed point fraction of eight digits, but accurate to only six digits because of the added round off.

After completing mantissa conversion, the binary count of the decimal exponent is converted to a signed BCD pair and stored with the BCD fraction.

32-BIT COMPARE DIVIDEND MINUS DIVISOR

32-BIT SUBTRACT DIVIDEND MINUS DIVISOR

COMPLEMENT CARRY

ROTATE CARRY INTO LSB OF QUOTIENT

SHIFT DIVIDEND LEFT I BIT

DECREMENT THE COUNT

BYTE November 1977 185

^

o

l-\

u

UJ \

ifi \

LjJ

< 1

<

\^

\

►" *{

/

1 /

o

. /

/

<

< X

CD

<lJ

Ly

oil.

tr

\

A^

<I

<

X

s

/ \

, s

/ C/5 \

CO

\

/ti ^

— a..

LU

■z.

UJ

z

/

/

if)

*]

^

/

w

1

X

u

o

trt

UJ

U

\

1

s

o

if)

- \

UJ

+ Q

C3

N^

-X- o

J -'

"1

o m

7

X 2

0

F

CD

o

*R

< O

<

i.V

U

CJ

Hi

<f Q

Figure 9: Flowchart of a decimal to binary routine used to convert a free format floating point BCD number in ASCII format to binary floating point format.

186

BYTE November 1977

1

!.#

♦y

subscribers oncl uiould-be subscribers

SAVE MONEY! As of January 1, 1978, we are raising our subscription rates to meet the increased costs of producing and mailing BYTE to our more than 110,000 monthly readers. The new domestic subscription rates, effective January 1, 1978:

Current Rates One year U.S. — $12

Two years U.S. — $22

Three years U.S. — $32

Rates Effective January 1, 1978 One year U.S. — $15

Two years U.S. — $27

Three years U.S. — $39

If you already subscribe to BYTE and still have several months to go before expiration of your subscription, you can still take advantage of current rates for renewal (even up to three years). Use coupon below. When your present subscription expires, your renewal order commences.

If you are not yet a subscriber to BYTE, the leading magazine for the creative home computer experimenter, don't delay . . . mail this coupon and start getting your own copies of this invaluable magazine, before new rates become effective.

USE THIS MONEY-SAVING COUPON TODAY

To new subscribers: Read your first copy of BYTE, if it's everything you expected, honor our invoice. If it isn't, just write "CANCEL" across the invoice and mail it back. You won't be billed, and the first issue is yours.

Allow 6 to 8 weeks jar processing.

© Byte Publications, Inc. 1977

Circle 20 on inquiry card.

BYTE Subscription Dept

• P.O. Box 361 • Arlington, Mass. 02174

PLEASE ENTER MY SUBSCRIPTION FOR:

O One year $12 (12 issues) □ Two years $22 D Three years $32

n Ctieck enclosed (entitles you to bonus of one extra issue)

n Bill me D Bill BankAmericard/Visa D Bill Master Charge

Card Number I I I II I I ITTT

Signature;

Address: —— —

City:

Expiration Date;

Name (please print)

State/Countiy.

Code:

Offer expires December 31, 1977 FOREIGN RATES FOR ONE YEAR: (Please remit in U.S. Funds) D Canada or Mexico $17.50 (Air delivered) D Europe $25 (Air delivered)

D All other countries except above: $25 (Surface deliver]))

Air delivery available on request

These two algorithms for conversion of bases between BCD (base 10) and binary (base 2) are valid for any binary floating point format, not just the one used here.

Concluding Remarks

It is hoped that this discussion along with the flowchart specifications of the algorithms can be used by readers as a basis for coding a floating point arithmetic package for any general purpose microprocessor system. I have used this information in particular to

code an 8080 version of the routines for the basic arithmetic functions, as well as extensions for functions such as square root, exponential, natural logarithm, sine and cosine, and arc tangent. The extensions all use the basic multiplication, division, addition and subtraction operations to evaluate the more complex functions involved. Readers interested in a detailed copy of this 8080 mathematical function software documentation can purchase it for $10 by writing to me at POB 447, Maynard MA 01754. ■

Figure 10: Flowchart of a binary to decimal conversion routine used to convert a binary floating point number to packed BCD floating point format.

BINARY /' \ TO ( BD J

DECIMAL V , '

CLEAR BCD BUFFER CLEAR FLAGS

ACC-^ACC*IO DECR DEXP

ACC-^ACC/IO INCR DEXP

YES

ACC-^ACC+0.0000005

BCD SIGN-^ACC SIGN C0UNT=32

DIVIDE 8 BCD DIGIT MANTISSA BY 2

DEXP-" DEXP

BCD EXPN SIGN = MINUS

ROTATE ACC RIGHT I BIT

CONVERT DEXP FROM BINARY TO BCD

ADD 0.5 TO BCD MANTISSA WITH DAA

STORE RESULT IN BCD EXPN

( RETURN j

DECR COUNT

-©

ACC<-ACC/10 INCR DEXP

188

BYTE November 1977

SWTPC Business Programs

Math Package. 5 byte mantissa, 1 byte exponpni 1 ^Vi digit acairscy. Fortran-type (orniatiing [Integer, Floating Point and Free Formatting on both read and writel S25.00

Letter Writing Editor. No line numbers needed. Subset of Honeyweirs 1648 Time Sharing Editor. $25,00

Payroll. Phone for details.

Accounts Receivable. Phone for details.

Stock Club - Marketing Evaluation. This is the same prograrr used by Custom Computer Services to provide accounting for clubs belonging to the National Association of Investment Clubs.

Disk Based SWTPC Business Systems. Phone for details.

Dealer for SWTPC, Smoke Signal Broadcasting, Percom, Teletype®, GE, Tl, Centronics, Motorola, etc.

To Order; tnclude 3% postage. Illinois residents add 5% sales tax.

AAA Chicago Computer Center

300714 W. Waveland Avenue

Chicago, IL 60618

(312) 539-5833 (3 PM - 6 PM)

Circle 1 on inquiry card.

COMPUTER MART

OF NEW HAMPSHIRE

DEALERS FOR

TDL ICOM IMSAI

DIGITAL GROUP

KiM-1

SOFTWARE INCLUDES:

APPLE II

8K BASIC EXT. BASIC

TEXT EDITOR DISK BASIC

WORD PROCESSOR

MACRO-ASSEMBLER

170 MAIN STREET NASHUA (603) 883-2386

Circle 33 on inquiry card.

cmSfi\iE You 'Tjm 0i> //oi'fX Jf Kf/oPJ/Vfr BOirA'f^-s S/STeAI-^.

tE^ifiLS -TncAs /\/B'/EK ^£-foKB Pi Uj:I-)^^LE To YoO- ftSSOLOTBl/

?5"9^DEfco)ts -FT \lW;/^MrA,6V>3o3i8

SUPPLIES

• FLOPPY DISKS, MINI OR STANDARD MEMOREX OR 3M

• 3M DATA CARTRIDGES DC300A, DCIOOA

• 3M DIGITAL CASSETTES

■ 3M ORMEMOREX AUOlO CASSETTES, C-GO

■ 3M DISK CARTRIDGES

WE OFFER: •COMPETITIVE PRICING •IMMEDIATE DELIVERIES

(Any Quanlily) • UNCONDITIONAL GUARANTEE

BETA BUSINESS SYSTEMS

83G9 VICKERS ST., .*G

SAN DIEGO, CA 921

(714) 565-4D05

s

Circle 11 on inquiry card.

If you can program a mini and own one, you may have almost everything lo start your own software house. Find out how, from this 200-page, detailed manual by an EDP professional who successfully did it.

HOWTOSTAT

SYSTEMS HOUSE

Send S24.95 to

ESSEX PUBLISHING CO. 285 Bloomtield Ave. Caldwell, N.J. 07006

Circle 57 on inquiry card.

CHEAP TALK modems

103 Type Full Duplex 0-300 Baud

RS 232 Interface, Manual or Lease Line

4 1/2x5 PCB Construction

One Year Warranty

$115.00

p

PHOflE 1

Send Check or C.O.D. Shipping, Handling and Sales Tax Included

Phone 1

1330 East State St.

Rockford, Illinois 61108

Phone (815) 962-8927

comput:er depot inc:'

351 5 W. 70th Street

Minneapolis WIN 55435

612-927-5601

Upper Midwest

Headquarters

for

PROCESSOR TECHNOLOGY, IMSAI, POLYMORPHIC SYSTEMS, DIGITAL GROUP, CROMEMCO, VECTOR GRAPHICS, TDL, SEALS, TARBELL, MICRO DESIGNS, NORTH STAR, NATIONAL SEMI-CONDUCTOR, FAIRCHILD SEMI-CONDUCTOR, MOSTEK, E & L INSTRUMENTS, SAMS, TAB, HAYDEN, WILEY, MC-GRAW HILL

Catalog Free

C40

Circle 28 on inquiry card.

"

SIX PORT I/O CONTROLLER

•

Program Control of Ports

•

8100 Buss Compatible

•

Parallel I/O

•

Single Printed Circuit Board

$149.00

VIDEO SYSTEM

30 X 64 Display - 1920 Char.

128 Character Buffer

1 fjsec Read/Write Time

Extensive Software Provided

Programmable Display Attribute

Characters

$349.00

Available in Kits or Assembled

BankAmericard and Master Charge ||

Accepted 11

Dealer or Club Discounts Available 11

lOR 1

Box 28823 Dallas, Texas 75228 11

Circle 76 on inquiry card.

$

TTY 395.

KSR-33

W/0 COVER, USED

SEND CERTIFIED CHECK

$395+$10 SHIPPING TO:

OSS 888 SPINNING RD.

J)AYTON, OHIO 45431

Circle 52 on inquiry card.

Circle 115 on inquiry card.

BYTE Noveiiihei 1977 189

The notes supplied by Peter Skye in IVIay 1977 BYTE (page 68) created a flurry of correspondence activity from numerous sources. One of the best proposals we've seen is that provided by Glen A Taylor In his letter titled "Language Development: A Proposal. " The main theme of his ideas Is proposal of what might be called a personal computers language development society. For our part, to help foster such efforts, we will provide a "Languages Forum" platform for individuals wishing to participate in print with ideas on personal computing languages. This forum Is open to all who have technical contributions or suggestions to make In the field of language design for personal computing systems.

A fundamental ground rule is that persons submitting letters should supply a complete address and be willing to correspond with other readers. Telephone numbers will be printed if authors of letters to this forum supply them and indicate a willingness to get together via that medium.

Language Development: A Proposal

Glen A Taylor

The Wisconsin Research and Development

Center for Cognitive Learning

University of Wisconsin

1025 W Johnson St

Madison Wl 53706

After reading Peter Skye's note in May 1977 BYTE and exchanging correspondence with him on the subject of a high level language for personal computing, I am moved to offer the following comments and suggestion. I have two fears. My first is that BASIC may become for home computing what FORTRAN is for large computers, an anachronism which is the defacto programming language. My quarrel with both these languages derives from the following. They are vast improvements over the tedium of programming in assembly language. They are sufficiently powerful to allow most problems to be solved. They are almost universally available. Herein lies their insidious threat. For all these apparent benefits, the programmer still pays an invisibly high cost in their lack of well-structured syntax. Programs cannot be given good clear logical structure as an automatic consequence of the language; only rudimentary mnemonic naming and labelling are permitted; and large amounts of fairly tedious detail must still be attended to in coding reasonably complex programs. Of course, I'm simply restating the often heard arguments for structured programming, but it is a concept gaining rapid widespread acceptance in mainstream computing.

My second fear is that people who feel as I do, that BASIC is simply not good enough to be enshrined for the next 25 years, will endeavor to supplant it with

their favorite programming language. I'm not denying the propriety or utility of efforts to implement APL or PL/I or even good structured programming languages such as PASCAL. There is room for several languages in home computing, but I cannot see any of these "large computer" languages as the best choice for a standard home computing language. None of these languages is without flaws. More importantly, none was written with the needs and limitations of home systems and hobbyist programmers in mind. We must not allow our preferences and prejudices to influence our thinking about what is appropriate and necessary for this new computing field.

My suggestion is that a group be formed for the purpose of defining a suitable personal computing language. I see this as a unique opportunity and high moral responsibility. We are actively engaged in developing a technology that promises to touch the lives of millions of people who are as yet naive to computing. What finer ambition than to develop a language that is human oriented, powerful, flexible, and that is well-suited to the capabilities of home systems for the forseeable future. We are fortunate that there are years of research into programming languages and a vast store of programming concepts at our disposal. We need not fashion a language of dated language concepts and practices. We absorb state of the art hardware technology as soon as it is marketed. We should lead the computing field in readily utilizing state of the art software technology.

Therefore, I challenge readers of BYTE to take the lead and place their support behind such an effort. Here too there are valuable lessons to be learned from the successes and failures of similar ventures

190

BYTE November 1977

in the mainstream computing field. Tlie development of such a language must not be delayed until there is little chance of displacing a firmly entrenched BASIC. The effort must enlist the support and assistance of several of the major manufacturers who are committed to offering the language as part of their major software line and providing continuing support for it. Finally, the services of a group of people who have experience with present home systems, a clear vision of where the field is most likely to go, and an expert know

ledge of modern language design must be enlisted.

I hope you will consider this suggestion. I hope the readers of BYTE will provide vocal support for this idea, thereby encouraging you to support such a project and demonstrating its ultimate economic feasibility to those who would have to support its cost. I am almost certain that you will find the persons with the necessary technical qualifications to serve on the language designing group among your readership. I challenge these persons to step forward. ■

Comments on Peter Skye's Language Proposal

Peter Skye's proposal to develop a higher level language for microcomputer use is a fine idea, but it seems to be going astray, if the project goes forward as described in the May 1977 Technical Forum it will be an expanded PL/I with added features from APL and SNOBOL and an apparently huge character set. It appears it was planned to be all things to all people (a replacement for all general purpose languages), and I think it will fail for that reason.

Programming languages have been developed to meet particular needs, and they can best be judged on the power and appropriateness of their constructs for dealing with the intended class of problems. SNOBOL, TRAC and LISP do arithmetic poorly but are quite powerful when dealing with strings and natural languages (English, for example). RPG, despite its somewhat primitive nature, is widely used because

it is simple and oriented specifically towards producing business reports. (The business world would be far more interested in RPG running on a micro than anything else I can think of!)

The proposed PL/Skye will make no one happy. The comment that nothing a particular language can do can't be done in PL/I misses the point. BASIC is simple and interactive; APL is powerful and elegant; PL/I is a poor substitute for either. PL/I is fine in large EDP shops which want to convert all their FORTRAN and COBOL programmers to a single, powerful language. It doesn't need APL as a subset. Furthermore, it might pay to remember early experience with PL/I. The first compilers produced atrocious object code, and some of the features never did work. It took compiler writers quite a while before they learned to produce accurate, optimized

Jeffrey L Kenton Consultant One Bacon St Wellesley MA 02182

INTERNATIONAL DATA SYSTEMS, INC.

400 Nonh Washington Street, Suite 200 Fails Churcii, Virginia 22045 USA Telephone (703) 536-7373

S100 Bus Cards (ALTAIR/IMSAI Compatible)

USES

KIT PRICE

88-SPM Clocl< Module

88-UFC Frequency Counter IVIodule

88-lv10DEM Originate/Answer MODEM

GENERAL PURPOSE PERIPHERALS

MCTK Morse Code Trainer/Keyer

TSM

DAC8

Temperature Sensing Module

Your computer keeps lime ol day regardless of what program it is executing. $96.00

Applications include event logging, data entry, ham radio, etc. Provision lor battery backup is included.

Measure frequencies up to 600 MHz or period vKilh 1/10 microsecond resolu- $179.00

tion. Computer can monitor lour separate inputs under software control.

Use your computer to call other computer systems such as large timesharing $245.00

systems Also allows other computer terminals to "dial-up" your computer. Auto-dialer is included so your computer can call other computers under software control. Operates at 110. 134.5, 150, 300, and 600 band.

Hard/Software package which allows your computer to teach Ivlorse Code, key your $29.00

transmitter, and send prestored messages. Uses "NEW CODE METHOD" for training

Use it to measure inside and/or outside temperature for computerized climate $24 00

control systems, etc.

Requires one eight bit TTL level latched parallel output porl. Use it to produce computer music or to drive voltage controlled devices.

Eight Bil Digital to Analog Converter

Terms: Payment with order. Shipment prepaid. Delivery is stock to 30 days. Write or call lor detailed product brochures.

$19.00

Circle 75 on inquiry card.

BYTE November 1977

191

code; it will be far worse on a microcomputer. Nor is writing the PL/Skye compiler in PL/Skye a practical idea. Intel has written an 8080 resident PL/M compiler in PL/M which requires well over 100 K bytes of code to run (and a disk operating system which supports overlays). An equivalent assembly language version fits in 12 K.

The first question to ask when beginning a large project is, "What am I trying to do, and what is it going to be good for?". If you haven't answered this question you can never tell when your program is finished, nor whether it works. I'm afraid that's the case with PL/Skye, and we may shortly see a programmer jump on his horse and go riding madly off in all directions."

Notes on Floating Point and Critique of PL/Skye

Stephen R Alpert

Assoc Prof of CS, WPI

Vice Chairman, SIGMINI (ACM)

11 Ridgewood Dr

Auburn MA 01501

I would like to add a few comments on the articles that appear in May 77 BYTE.

1. In Sheldon Linker's article "What's in a Floating Point Package?", page 62, there are a few items that should be mentioned.

a. Usually one tries to keep all floating point information normalized. Let's consider an example: let the exponent be base 10 and assume we have four decimal digits of storage. Then

0.0025x105 = 0.2500x103 = 250

Clearly I have a choice of storage. But what about 2576? Then I can only use 0.2576x10^. Chances are if my operands aren't normalized then the result may not be also.

b. In conjunction with normalized data, a hexadecimal base will yield a larger range than a binary base, but it will not carry the significance of a binary base. Hexadecimal base means that a a leading hexadecimal digit of 1 will waste three binary bits!

c. In all my years of computing (14) I have never had a need for numbers greater than 10-^° except for the legendary $24 Manhattan Purchase at 6% for 300+ years. I would suggest the following compromise.

1

32 bits =

= 4 bytes ►!

EXP

|s|

IVIANTISSA

8 bit t 23 bit mantissa

exponent algebraic sign

The exponent is a two's complement (excess 200) binary exponent. The dynamic range is 10'". The sign bit is stored in place of the normalized most significant bit of the mantissa. Simple shifts or tests will determine the sign (and hence insertion of the MSB is easy).

2. Is Peter Skye serious? I just finished an 8 month project (on the side) writing a compiler for a pseudo-subset of PASCAL. It was a real job. He will require the user to have 32 K bytes just to load the compiler.

Introducing—New, Low-cost, Fixed Vocabulary

Speech Synthesizers

for Computer Hobbyists or OEI' FEATURES

use

Two 64-word vocabularies available: —Full spoken numerics plus a variety of —ASCII characters: numerics, alphabet, Clear, highly intelligible male voice All MOS-LSI circuitry 6-bit parallel strobed input No external clocks required Inputs are TTL compatible Analog Speech output signal Custom vocabularies can be produced

measurement words luinctuation

179

00

Boards with numbers & calculator functions. .. only $95.00 *

t Invented by Forrest Mozer

" Plus stiite sales taxes where applicable

TELESEIMSORY SYSTEMS, INC.

3408 Hillview Ave., P.O. Box 10099, Palo Alto, CA 94304 Telephone (415) 493-2626, Attention: Paul Obester

192 BYTE November 1977

Circle 149 on inquiry card.

ENTER THE2WORLD-QF HOME AND ^; ;^JNWALL BUSINESS

COMPUTING

ri.

. l'St™S!(S!SS

^>fc

II

rbk

ns

/

■ ■

00^'

'V

EXPLORE

INTERFACE AGE

MAGAZINE

MONTH AFTER MONTH LOOK TO INTERFACE AGE MAGAZINE FOR THE LATEST INFORMATION ON THE DYNAMIC WORLD OF PERSONAL COMPUTING.

• Use your personal computer for auto repair, work bench controller, teaching machine, central information bank and design test center.

• Control your small business with your own realtime accounting and inventory control system.

• Set your computer to turn sprinklers on and off, manage a household security system, feed your dog.

• Establish a recipe bank to plan daily meals and generate its own shopping list. ^ _

• Evaluate the stock market, set up T gambling and probability programs. Evaluate odds on sporting events and horse racing.

■':Xy

TOBFtOl

•PYROW \

if.i

" W

y-K-'\

M- i

» # 1

I \ MM4K

»i^H

^^Hrt

W.0^

ARTICLES RANGE FROM THE FUNDAMENTALS OF COMPUTERS TO LANGUAGES AND SYSTEM DESIGN. APPLICATIONS INCLUDE BOTH PROFESSIONAL AND NON-TECHNICAL.

Circle 74 on inciuiiy card.

READ INTERFACE AGE FOR THE LATEST ON NEW

PRODUCT INFORMATION AND TECHNICAL

BREAKTHROUGHS.

• May's issue included inside the FLOPPY ROM™ — a vinyl record which is played on a conventional phonograph to enter this month's program in your computer.

• ORDER YOUR SUBSCRIPTION NOW!

12 Monthly Issues: $14 U.S., $16 Canada/Mexico, $24 International

Name

Address City

_ state.

-Zip_

D Check or M.O. (U.S. Funds drawn on U.S. Bank) Acct No.

□ Visa Card □ Master Charge Exp. Date

Signature

Make checks payable to: INTERFACE AGE MAGAZINE, P.O. Box 1234, Cerritos, CA 90701

3. A suggestion: following the example of the Communications of tlie ACM, unless programs are for specific hardware tasks, they should be written in a single "standard" language. My current choice would be PASCAL for the following reasons:

a. It has a very strong (precise) standard. Anyone can purchase a user's manual and report from Springer-Verlay for about $6.

b. There is a strong user's group that is international in scope.

c. The language permits definition of user defined data types. One could add bytes, bits, etc. Pointers are standard constructs in PASCAL.

d. If a standard were expounded, I'm sure that in short order actual compilers would soon appear.

e. A top down (or recursive descent) compiler for PASCAL is made easier if the output is, in fact, an assembly language source. This output can then be fed to your favorite assembler. Additionally, by using PASCAL type switches one could imbed assembler code directly into the higher level code.

f. PASCAL programs would then be highly portable, enhancing the standard even more.

Lest you think PASCAL is my only language, 1 have also used and taught most of FORTRAN, ALGOL, APL, LISP, FOCAL, BASIC, BLISS and SNOBOL (and a little PL/I).

I hope this letter stirs the pot a bit.

The only problem with making a highly desirable standard representation for published programs is the problem of actually achieving the representations in that form. Documentation of an adequate "representation language" Is a necessary first step to a highly desirable end. A syntax and semantic

checking program (a compiler minus code generation) would also be most useful from a publication's point of view to verify and correct superficial details of programs. But such a standardization also requires authors and designers literate in the language as well. Would anyone care to make further comments on this subject of adopting a representation standard for programs in print?m

What's Wrong with PASCAL, Mr Skye?

David A Mundie

104B Oakhurst Cir

Charlottesville VA 22903

I am writing in response to the ongoing dialogue in your pages over the choice of a high level language for microcomputers.

Mr Crone's analogy with English (May 1977 BYTE, page 112) is misguided. English, though archaic, is both beautiful and well-suited to its purpose; FORTRAN is neither. His letter conjures up visions of our grandchildren using dream computers, yet still struggling with format statements and amorphous programs simply because we lacked the courage to junk our outdated languages as readily as we junk our outdated machines. They will curse us for it.

I do not design computers, so perhaps I am missing something, but Mr Skye's comment on PASCAL (May 1977 BYTE, page 68) puzzled me. The point is not that PASCAL does nothing other languages can't do; the point is rather that PASCAL does virtually everything the other languages do, but starts from a much simpler set of basic constructs. I should have thought that sort of efficiency was just what was needed for microprocessors."

Questioning APL

Rich Snodgrass 229 Llano Dr Portland TX 78374

I greatly enjoyed the August 1977 issue of BYTE on APL. The articles were welldone and contained much useful information.

I do wish, however, to take issue with some of the views expressed by E H

Anthony in the Technical Forum. 1 became weary with superlatives such as "one of the greatest intellectual achievements of this century," "the teacher of the century," and "computer languages scarcely bear close comparison with APL." I hear similar comparisons every year when Detroit comes out with a new model.

Such statements are subjective by nature and hence a total matter of opinion. However Mr Anthony's statement that APL is the most "general-purpose mental tool"

194

BYTE November 1977

in comparison witin otiier computer languages is just too sweeping to let pass witliout comment.

Generality is an important criterion in judging programming languages and, to a limited extent, APL is blessed in this regard. However, when all the features of APL are examined, it is rather specific.

For example, only homogeneous multidimensional arrays, programming of numbers, and single characters are allowed as data structures; COBOL's heterogeneous arrays and the list structures available in LISP and SNOBOL are completely lacking. Formatted 10 and external data files are not specified in the language definition, features found even in lowly FORTRAN. Structured programming is very difficult in APL, and even the most basic control structures are missing [except, of course, for the computed (GOTO)].

Ironically, that "regrettable language" mentioned in the article, PL/I, has all the features listed above. PL/l also excels in readability and run time efficiency, especially in comparison with APL. Now PL/I is not even close to the "perfect computer language," although it does have more generality than many other languages, including APL.

It will now hopefully be evident that no computer language is best at everything, even APL. The incredible variety of tasks that the computer is now given makes it impossible for one language to be proficient at them all. System programmers should keep an open mind when deciding which languages to implement: LISP, SNOBOL and ALGOL, as well as several other important languages, can be implemented on microcomputers with reasonable memory requirements. All it takes is someone to do it."

Suggestions for APL Optimization

Jon D Roland

Micro Mart

1015 Navarro

San Antonio TX 78205

There seem to me to be three important difficulties with APL that are unnecessary, and that might be corrected in the development of APL for microcomputer systems.

The attractiveness of APL arises not only from the efficient coding and powerful primitives it provides, but from the ways it facilitates interactive programming, so that the computer user can write programs

Introducing Bit Pad.

The new,

low-cost digitizer for

small computer systems.

Bit Pad is the newest product from SLimmagrapliics, the leading producer of professional digitizers. 11 has a small 11-inch active area and a small $555 price tag. But the list of applications is as big as your imagination.

Better than a joystick or l<eyboard for entering graphic information, it converts any point on a page, any vector, any distance into its digital equivalents. I t'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. 11 comes compatible with an S-100 bus, but you can add a power supply, stand-alone display, cross-hair cursor and many other options.

$1,000.00 creativity prize. You can also add $1,000.00 to your ban[< account as a reward for your inventiveness. Just write an article on an original Bit Pad application and submit it to any national small-computer periodical. I f the editors publish it — and the decision is solely theirs - Summagraphics will pay you $1,000.00. Contact Summagraphics for rules concerning this offer.

Aumnaduxphici'

^ ' corporation

35 Brentwood Ave., Box 781, Fairfield, CT 06430 Phone 203/384-1344. TELEX 96-4348

Circle 138 on inquiry card.

BYTE November 1977

195

Circle 155 on inquiry card.

16K Static RAM

IMSAI/Altair/Poly 88/Sol 20

'ses^KiT

^450 Assembled

• Very low power—650 ma +5V; 90 ma +12V; 16 ma -BV

• Uses 4K Static RAMS-No refresh

• Low-profile sockets for all chips

• Each 4K addressable to any 4K boundary

• Solder mask; silk-screen; plated-through holes

• Low-power Schottky TTL's—Tested IC's

• Fully buffered S-100 bus-Gold-plated contacts

• Designed for 500ns system-S.D. Sales and TDL Z-80 tested

Delivery: Stock to 4 weeks. MC and BA accepted. Orders shipped prepaid. California residents add 6% sales tax.

M

ANDENBERG DATA PRODUCTS

PO BOX 2507

SANTA-^MRIA, CALIFORNIA 93454

805-937-7951

CONTROL the WORLD OUTSIDE YOUR COMPUTER...

The OPTO-ISOLATOR/RELAY BOARD ($117) is

a natural for controlling audio systems, model trains, robot devices ... more uses are discovered daily, as described in our applications notes. 8 reed relays respond to an 8 bit word from your computer; 8 opto-isolators accept an 8 bit word from the outside world and send it back to your machine for handshaking or further control purposes.

All kits are S-100 buss Altair/IMSAI compatible. Available by mail (shipped postpaid in the USA from stock) or at many fine computer stores. California mail orders add tax.

...OR THE WORLD '. INSIDE IT!

CAVE

9rati)<

Whether for troubleshooting or analysis, at some point you will need our EXTENDER BOARD W/ LOGIC PROBE ($35).

Ours offers a built-in logic probe (hi, lo, and pulse), special edge connector that allows clip lead probing, jumper links in all supply lines, a non-skid needlepoint probe ... plus quality parts and a realistic price.

MULLEN COMPUTER RnARn<;

BOX 6214, HAYWARD, CA 94545

on the terminal with a minimum of preparation on paper.

Interaction

The first difficulty arises from the fact that APL is entered from left to right, but executes from right to left. I, like many users, do not always know when I begin a line of program how ! am going to finish it, which means that if I am at the terminal, I must either make frequent corrections to what i have already entered, or prepare the statement on paper before 1 key it into the terminal. I see no fundamental reason why APL could not be reversed, or a reverse APL made an option for the convenience of programmers who think in RPN. There would be no need to change the character set; just make execution from left to right.

Character Displays

The APL character set is not ideal for use with 5 by 7 dot matrix printers or video displays. Some overstruck combinations are not readily distinguishable. Could we not choose characters that are optimal for legibility and aesthetic appeal, even when overstruck?

Keyboard Layout

The arrangement of APL characters on the keyboard is not convenient for rapid, error-avoiding typing. Why could not the APL characters be arranged in some pattern that is optimal for the user who wants to touch-type his input, as the Dvorak keyboard is for ASCII characters (except the special command keys).

If APL, in some form, is destined to become a kind of universal high level computer language, then let us avoid features that are unnecessarily cumbersome for interactive usage, and resolve now to develop a language that is optimal in practical terminal interaction. Let's not make a mistake like the QWERTY keyboard!"

Some Comments on "An APL Bigot Speaks"

Henry Brandt Ithaca NY 14850

In reference to the letter from Gary Luther in the August 1977 BYTE, page 12 ("An APL Bigot Speaks"), I would like to offer a few points of clarification.

First, the European APL implementation that he speaks of is described in the IBM

196

BYTE November l')77

Circle 101 on inquiry card.

Systems Journal, volume 16, number 1, and is entitled "An APL Interpreter and System for a Small Computer." The authors of this paper took a full APLSV interpreter and broke it up into 289 128 word modules which are paged into main memory of a System/7. This technique should still prove popular among hobbyists for whom processor costs are overshadowed by the cost of large amounts of main memory.

Second, the IBM 5100 doesn't really put the full APL language in 16 K, as Mr Luther indicated. The 16 K to which he refers is the user workspace, which is available in 16 K increments up to a maximum of 64 K. The APL interpreter is resident in 108 K bytes of read only storage. I suspect a commercially available ROM offering of this nature is still a number of years away.

Lastly, unless we see dramatic changes in the cost of memory, we are most likely doomed to implementing a subset of APL in either ROM or a complete version of it in an overlay fashion for those who possess secondary storage devices such as floppy disks.*

Ppcgp9(nming [Jui(^U6s

A 6800 Program Relocator

Andrew A Carpenter

POB 841

Gordonsville VA 22942

Here is a short program relocator that may be of interest and use to readers of BYTE. The program to be relocated must presently reside in memory. Hexadecimal addresses A002 and A003 are set to the address of the program. Addresses A004 thru A007 are set to the beginning and ending addresses of the new location for the program. This program was written for a SwTPC 6800 system.

LOCN Bl B2 B3

>

1000

>

lOOOFE A0 02

>

LDX

A002

1003 A6 00

>

LDA AGO, X

1005 08

>

INX

1006 FF A0 02

>

STX

A002

1009FE A0 04

>

LDX

A004

lOOC A7 00

>

STA AOO, X

lOOE BC A0 06

>

CPX

A006

1011 27 00

>

BEQ

1019

1013 08

>

INX

1014 FF A0 04

>

STX

A004

1017 20 E7

>

BRA

1000

1019 3F

SWI

1012 06

>

lOlA

*** UNRESOLVED ITEMS:

*** SYMBOLS

SORT?"

Circle 62 on inquiry card.

HAMBRECHT & QUIST

INVESTMENT BANKERS

PROVIDING INVESTMENT BANKING,

BROKERAGE AND RESEARCH COVERAGE

OF EMERGING

TECHNOLOGICAL COMPANIES

WALL STREET is beginning to recognize tiie coming boom in personal computers. Our Research Department believes that PERTEC COMPUTER CORPORATION,

a leading micro computer supplier (MITS ALTAIR, iCOM) has an exceptionally bright future.

Call or send for our Research Report on PERTEC

IIA.MBKKC'HT ^t UL'IST

Please send me your Research Report on PERTEC: Name.

Company.

Address

City

Phone

.State.

.Zip_

now open

New Jersey's most complete store with microprocessor and NOVA* compatible minicomputer systems and peripherals, classroom courses, demonstrations, software packages, and expert services.

For hobbyists, computer professionals, and business users. Look for more details in the December issue of Byte magazine.

'NOVA is a registered trademark of Data General Corp.

tjupet/onii connDUte

ic 'hnputjer stjore

806 Route 17, Ramsey, N.J. 07446.

Circle 49 on inquiry card.

BYTE November 1977

197

Tecbnbsl

Relocatable Object Code

Formats

In the July 1977 issue we published a document handed out into the public domain by Peter Formaniak and David Leitch of Mostek. (See "A Proposed Microprocessor Software Standard," page 34, July 1977 BYTE.) Our purpose for publishing the document was to get some interchange started on the issue of relocatable object code formats.

In this continuation of the discussion of the subject of relocatable formats, we have three items. One is a letter reacting to the published information and making some

suggestions. The second item is a format used by Technical Design Labs, originated by Neil Colvin. This text was given to us at the TDL booth at the National Computer Conference in Dallas last June, and offered as documentation of a standard which is in use by that firm, and is reportedly being examined for adoption by two other major software vendors in the personal computing marketplace. The third item is a letter from Tom Pittman critiquing the TDL standard, an item which resulted from a recent phone conversation.

As an addition to the discussion, the note following Tom's critique was received from Philip Tubb, and has a bearing on the process of compiling and making available standards documentation for this field.

A Response to "A Proposed Microprocessor Software Standard"

Carol Anne Ogdin 100 Pommander Walk Alexandria VA 22314 (703) 549-0646

The proposal put forth by Formaniak and Leitch is certainly a step in the right direction, but it also sets unreasonable limits on the lengths of symbols permitted. By imposing a limit of six bytes on symbol length, the authors propose to throw back programming techniques to the 1960s. A simple analysis of their standard shows a clear and obvious format that permits symbols of virtually unlimited length, although

an imposition of a length limit of (say) 64 bytes would not be unreasonable.

In record types 02 and 03, I propose the following modification of their conventions:

Byte Number Description

1 Dollar sign ($) delimiter

2, 3 Length of the symbol (or zero.

ALPHA Z-80 $ 495

ASSEMBLED

• 12 SLOT MOTHER BOARD

• 12 CONNECTORS (S-100 BUS)

• 17 AMP POWER SUPPLY

• HEAVY DUTY CABINET WITH FAN

• Z-80 CPU BOARD: All Sockets Included, Gold Contact Fingers, High Quality Glass Epoxy PC Board, Double-Sided, Plated Through Holes, Requires Only + 8 VDC / 800 MA.

NOTE: 22 SLOTS/30 AMP POWER SUPPLY - $595.

ADS also sells IMSAI and NORTH STAR Assembled at Kit Prices + LEAR SIEGLER ADM 3A Assembled at $888.00. TERMS: Cash with Order. Prices include Freight. (N.C. Residents add 4% Sales Tax.)

ADS

ALPHA DIGITAL SYSTEMS

Data Acquisition, Computation and Control

ROUTE 4 BOX 171A BOONE, NORTH CAROLINA 28607

198 BYTE November 1977

Circle 2 on inquiry card.

4,5

6.7

Last 2 bytes

CRLF

implying the symbol is terminated by carriage return or other control code)

Most significant byte of the address (definition for record type 02, address of chain for type 03)

Least significant address

byte of the

8,9 Record type (02 or 03)

10... Symbol text

Checksum

Carriage return, line feed (Delimiter of end of record and end of symbol text)

The advantage of this format is that it permits (but does not require) longer symbols. If the particular assembler author needs

to impose some arbitrary restriction on mnemonic and symbolic names, so be it. But, to impose such arbitrary restrictions in a proposed standard assures that the standard will not be adhered to in practice.

Finally, a note about proposed standards themselves. Unless and until the personal computing movement gains a coherent voice through a single forum, standards will remain nonstandard. It behooves the users to get behind the standards movement. Unfortunately, the ANSI mechanism is too burdensome for our needs. If some enterprising publisher (hint, hint) were to dedicate a half a page to listing the currently accepted user standards and the references where the final definition can be found, it might begin to serve as that needed central forum. Could such a list be published every couple of months or so? I should point out that without such a single point of reference, proposed amendments (and general acceptance of the original or amended proposal) will never get properly promulgated to the necessary readers.*

Technical Design Labs Relocatable Object Module Format

DEFINITIONS

Object Module: The output from a language processor. Object modules may be loaded into memory for execution at fixed addresses.

Relocatable Object Module: An object module containing information which allows the loader to place it anywhere in memory address space.

Internal Symbol: A symbol whose location is

Neil Colvin

Technical Design Labs Research Park BIdg H 1101 State Rd Princeton NJ 08540

available to other modules besides the one in which it is defined.

External Symbol; A symbol which is used in a module but is defined as an internal symbol in some other module.

Entry Point: An internal symbol in a module which is used to select the module for loading as a

Get on the Right Track for Christinas

With the Computer Engineering Poster. .

. . .If you like it in black and white, you (and your friends) will love the full color limited edition poster.

It's 16'/2 by 21'/2 inches (41,9 by 54.6 cm) with a white border; the colors are the same as the original by Robert Tinney, which graced our July 1977 cover (minus BYTE logo). At $3, plus $.50 postage, it is shipped unfolded, in a mailing tube.

m\

1 Pnitpri $.? nn parh

□ Bill BankAmericard

□ Check Enclosed

1 plus $ .50 mailing

□ Bill Master Charge

$

Mn

Fxp. Date

Name

1 Send to:

" BITS Inc

Address

1 70 Main Street

1 Peterborough NH 03458

City

<?tatP

7ip

BYTE November 1977

199

Circle 162 on inquiry card.

>—'-«-«-000r-0«-0i-»-00000<

\Wl t R f 4 f^

TO THE

IF IT MOVES •'UUUXP' DIGITIZE IT!

SHAFT ENCODERS

FOR DIRECT MECHANICAL TO DIGITAL CONVERSION ONLY $49.95

A/D CONVERTER

LETS YOUR COMPUTER USE ANALOG VOLTAGES

COUNTERS

MANY TYPES — MP. COMPATABLE

SOCKET BOARDS

COMPLETE WITH WIRE WRAP SOCKETS BUSSES AND BYPASSING. LOW AS $1.00 PER LOC

c-Drr INFORMATIVE APPLICATIONS rr\i.i. BULLETIN AND CATALOG

TECHo'cal

erP

enterpRIZE

P.O. BOX A109 BOERNE TEXAS 78006

0«-«-«-<-«-Oi-00»-0000<-«-«-000000«-r-.

01

1 1

0

0

0

0

0

0

0

0

0

0

0

1

1

1

1

0

1

0

1

0

1

0

1

0

1

1

1

1

0

0

0

0

0

0

1

1

0

0

result of its being referenced in another module as an external symbol.

Linkable Object Module: An object module containing information identifying external, internal, and entry point symbols which can be "linked" to other similar modules by the loader.

Relocation Base: The external symbol whose address is the base for the relocation of an object module. The external symbol may represent a program, data, or common area of memory.

Object Module Format Definition

The object module format is an extension of the Intel "hex file" format, but is not compatible with that format. The module consists of a sequential file of ASCII characters representing the binary data, symbol and control information required to construct a final program from the module. All binary bytes within this structure are represented as two ASCII characters corresponding to the hexadecimal value of the byte (eg: 11001001 ^ C9). All ASCII values are represented by the corresponding ASCII character (eg: A -> A).

Each of the different records within the module is indicated by the use of a prompt character as the first character of the record (in the Intel format, this is the ":"). The valid prompt characters are:

Character

Meaning

!

module identification record

(a

entry point record

#

internal symbol record

\

external symbol and relocation base

record

&

symbol table record

;

data or program or end of file record

Every record in the module is terminated by a one byte binary checksum of all of the preceding bytes in the record except for the prompt character. The checksum is the two's complement of the sum of the preceding bytes. Either output format (two character binary or one character ASCII) still counts as only one byte in the checksum (ie: before conversion for output).

In addition, each record is preceded by a carriage return and line feed sequence to facilitate listing the module on an external device.

• Module Identification Record ("!")

Byte Number

1-2

3

4-9

10-11

Description

CR/LF

Exclamation point (!) prompt.

ASCII module name. [See comments on length in letter by C A Ogdin.]

Checksum.

200

BYTE November 1977

Circle 147 on inquiry card.

Circle 77 on inquiry card.

• Entry Point Record ("la")

Byte Number Description

1-2 CR/LF

3 At sign {@)) prompt.

4-5 Number of entry points in this record.

6-?? ASCII names of entry points, six bytes

per name. The names are left justified and blank filled.

??

Checl<sum.

• Internal Symbol Record ("#')

Byte Number Description

1-2 CR/LF

3 Pound sign (#) prompt.

4-5 Number of internal symbols in this

record.

6-11 ASCII name of internal symbol, left

justified and blank filled.

12-13 Relocation base for symbol. The value

of this symbol is relative to the relocation base specified.

14-17 Symbol value (16 bit).

**** The above three fields are repeated for

each internal symbol in the record.

77

Checksum.

* External Symbol and Relocation Base Record

Byte Number Description

1-2 CR/LF

3 Backslash (\) prompt.

4-5 Number of external or relocation sym

bols in this record.

6-11 ASCII name of the symbol, left justi

fied and blank filled.

12-13 Relocation number assigned to this

symbol in this module. This number is unique for each symbol. It starts vuith one and increases sequentially for each subsequent external or relocation base symbol.

14-17 Relocation segment size or external

reference flag. If this value is zero, it represents a reference to a symbol defined externally to this module (usually a subroutine or global data item). If it is nonzero, then the value is the size of the relocation segment as

\^

IMSAI8080 C CTCOO

With 22 slot MB ^47 O / 0«

8k STATIC RAM KIT^^ ^ ^ OO

ocn r.«. Complete, Includina ^J |4-^%A^^-^ ^DU nS, sockets for all IC's. ^ -^^-'w

CHIPS

2708 EPROM

650ns $14.00

450ns $18.00

Z-80 CPU $25.00

Z-80 A $35.00

(607) 273-3271

3

PO BOX 91

ITHACA, N.Y. 14850

/

^\er Hobbyist from dilitfi/£^.

a>

E

o

a>

o *♦

(/>

o o

(A

HOME COMPUTERS: 2'° QUESTIONS & ANSWERS

by Rich Didday

Volume 1: Hardware $7.95

Volume 2: Software $6.95

STEP BY STEP INTRODUCTIONS TO 8080 MICROPROCESSOR SYSTEMS.

by James Melsa & David Cohn $7.95

HOME COMPUTERS: A BEGINNER'S GLOSSARY AND GUIDE

byMerl Millers, Charles SippI $6.95

8080 MICROPROCESSOR EXPERIMENTS

by Howard Boyet $9.95

>0

M

O

O <

(S

o

a> BEGINNING BASIC

^ by Paul Chirlian

$6.95

dllithlum Press books ore ovailoble from your local computer store.

Circle 47 on inquiry card.

BYTE Niivember 1977 201

Circle 163 on inquiiy card.

EXPANDOR'S BLACK BOX PRINTER

$396.

Cover & Base Optional

$29.95

Shipped ready to connect to most any microprocessor NEW (Not Used) COMPLETE (Not a Kit) 90 DAY GUARANTEE

CHECK THESE OUTSTANDING FEATURES

•RELIABLE 'LOW COST

< Parallel Interface Included

' Lightweight (1l'/i lbs.)

' Prints 80 columns wide

' 64 Character print set lASCIII

' Easily maintained by user

' Parts to you - or return for service

•Small, portable 14.5" X13" X10")

• Complete documentation

• Prints 10 characters per second

• Tractor & pressure feed included

• Uses standard SV paper

• Regular typewriter/teletype ribbon

EVERYTHING SUPPLIED - JUST CONNECT TO YOUR PARALLEL PORT

HUNDREDS IN USE

Master Charge — VISA — Check — Money Order

EXPANDOR, INC.

612 Beatty Road, Box BY, Monroeville, Pa. 15146 (412) 373-0300 {Dealer Inquiries Invited)

Perhaps you've used software we've helped produce. Many people have. You may not even have seen our name when we've helped produce them, but we were there.

Maybe you've heard our Music System. How often have you been delighted with a software product? Many people are with our Music System.

We're working on a variety of new and interesting projects which will enable you to use your computer for some of the things you know it can do for you —with the right software. We'll let you know about our products as they're ready. We know you'll like them.

Look for us —we'll be there.

(J5| Sof twarelechnology

^r Corporation

P.O. Box 5260 San Mateo, CA 94402

defined in this object module. This segment can contain either code or data, and may be located anywhere in memory by the loader, independent of any other segment.

The above three fields are repeated for each symbol contained in this record.

?? Checksum.

• Symbol Table Record ("Si")

Byte Number

1-2

3

4-??

Description

CR/LF

Ampersand (&) prompt.

The remainder of this record is identical to the internal symbol record. All symbols defined in this module are contained in these records.

• Data/Program Record (";")

Byte Number

1-2

3

4-5

6-9

10-11

12-13

Description

CR/LF

Semicolon (;) prompt

Number of binary data bytes in this record. The maximum is 32 binary bytes (64 bytes of ASCII representation). If this value is zero, this record is a end of file record, described below.

Load address of the data relative to the specified relocation base.

Relocation base for all relocation in this record. All relocatable values in this record are added to the current value of the specified relocation base before being put into memory.

Relocation control byte. This byte controls the relocation of the next eight bytes in the record (if that many remain according to the count field). The bits are used from left to right. The bits have the following meanings:

0: a single absolute byte implies load unmodified.

10: a two byte relocatable value, least significant byte first implies add the 16 bit value to the current relocation base, and load the result least significant byte first.

110: a three byte reference to a different relocation base. The first byte is the relocation base number, and the two after that are the 16 bit value, least significant byte first. This implies add the specified relocation base to the 16 bit value, and load the result least significant byte first.

202

BYTE November 1977

Circle 132 on inquiry card.

Circle 24 on inquiry card.

Note that a two or three byte combination is never brol<en across a record boundary.

14-29 Data bytes controlled as above.

30-?? The above control and data byte com

binations are repeated as specified by the count.

??

Checksum.

• End of File Record (";")

Byte Number Description

1-2 CR/LF

3 Semicolon (;) prompt.

4-5 Zero to indicate end of file record.

6-9 Starting address for module relative to

the specified relocation base. This address is optionally generated by the language processor, and may be zero.

10-11 Relocation base for starting address.

12-13 Checksum.

Relocation Bases

One of the important capabilites of this object module format is the ability to specify multiple relocation bases for the module contents. These relocation bases may represent ROM versus user programmable memory shared common areas, special memory areas such as video refresh areas, etc. Within a module, each of these relocation bases is assigned a name, and implicitly, a sequentially generated number. The relocation bases are actually assigned values at load time, but all memory references within the module are made relative to one of these bases.

Four of the relocation bases (0 to 3) have predefined names and meanings, and are treated differently at load time than the remainder of the bases. Base 0 represents absolute memory locations (ie: It always has the value 0), Base 1 has the name ".PROG." and represents the program area (may be ROM or PROM). Most program code is generated relative to this relocation base. Base 2 has the name ".DATA." and represents the local data areas for each module. Most local data is defined relative to this base. Base 3 has the name ".BLNK." and represents the global "blank common." This relocation base is always assigned the value of the first free address in memory after the local data storage (.DATA.) and other data relocation segments. Because it is

SPEAK "KAAMPYUTAOLKER"

MODEL CT-1 SYNTHESIZER CSR1 SOFTWARE SYSTEM DEMONSTRATION CASSETTE

395.00

35.00

2.95

CALIF RESIDENTS ADD6% SALES TAX

WRITE FOR INFORMATIVE LITERATURE

COMPUTALKER CONSULTANTS

P.O. BOX 1951, DEPT. B, SANTA MONICA, CA 90406

21 START-AT-HOME COMPUTER BUSINESSES

in the shoestring, start-at-home

computer business handboolt

CONSULT I NG •PROGRAMM I NG •SOFTWARE PACKAGES* COM FREELANCE WRITING • SEM INARS • TAPE/DISC CLEANING FIELD SERVICE • SYSTEMS HOUSES • LEASING»5UPPL I ES PUBL I SHING • TIME BROKERS • HARDWARE DISTRIBUTORS SALES AGENC I ES • HEADHUNT I NG •TEMPORARY SERVICES USED COMPUTERS • F I NDER ' S FEES^SCRAP COMPONENTS COMPUTER PRODUCTS AND SERVICES FOR THE HOME

START AT H(J«."

Plus - - hundreds of ideas on moonlighting, going full-time, image building, revenue building, bidding, contracts, marketing, professionalism, and much more. No career planning tool like It ever published. Order now and if you're not completely satisfied, send It back within 30 days for a full and immediate refund.

3i X II ringbound 9113 PP. ^$12.00 Call 312-945-2940 or mail coupon

730 WAUKEGAN ROAD • SUITE 108 DEERFIELD, ILLINOIS 60015

DRTRSERRCH

incorporated

Rush copies of "The Shoestring Start-At- Home

Computer Business Handbook to me right away

NAME/COMPANY

ADDRESS

C I TY/STATE/Z I P^

□ check ENCLOSEDQBANKAMERI CARDQMASTERCHARGE

Circle 44 on inquiry card.

BYTE Nuvcmhcr 1977

203

always the last allocated, modules referencing this area can be loaded in any order, regardless of the amount of the area they use.

Relocation segments relative to bases 1 and 2 (.PROG, and .DATA.) are always

loaded additively. (ie: After each module is loaded, the value of the relocation base is increased by the size of the segment.) All other relocation bases are assumed to have constant values during the load process and may be allocated by the loader."

Comments on the TDL Relocatable Loader Format

Tom Pittman

Itty Bitty Computers

POB 23189

San Jose CA 95153

It begins to look like we are going to see the same diversity in design of software in the personal computer industry that we have seen in the hardware design. This remark is prompted by a document describing Technical Design Labs' "Relocatable Object Module Format" which I recently had a chance to examine.

TDL is not the first to promote a relocatable format, and you may be sure they will not be the last. Let me suggest some reasons. But first I should remark that the people at TDL have obviously put a lot of thinking and work into their format. It will serve them for much software, some of which is clearly still in the future. My personal impression is that the format tries so hard to be "efficient" that it has acquired the distinct flavor of a kluge, but I will admit that to be a matter of taste and not a matter of substance.

The problem with the TDL format, and also with the other formats which have come before, is that it is limited to the relocation of 16 bit addresses. This may be satisfactory for relocating jumps and subroutine calls, but it is quite unworkable for data references where the actual address of the reference must be computed from a relocated base address plus some computed offset. It is

true that you can use an LXl instruction in the 8080 or Z80 and do the arithmetic through the register accumulator ADD instructions, but in the 6800 there is no convenient way to do arithmetic from an address loaded into the index register with an immediate mode. Even worse, the 6502 has no 16 bit register which may be loaded immediate, and the programmer would be forced to such subterfuges as defining an address constant containing the relocated address, then using extended addressing to refer to it. Another hazard which does not affect the 8080 and Z80 is the problem of relocating base page addresses. So far I have seen nobody address this problem, and yet the 6502 is effectively inoperable without reference to page 00. Are we to continue to force users to laboriously allocate page 00 even after relieving them of the same drudgery with respect to the rest of memory?

I should also like to mention two other problems which have not been addressed, but which are considerably less severe. One has to do with the problem of the difference between two relocated addresses. Most assemblers do not allow constructs of the form (LXl B, ALPHA-BETA), where ALPHA and BETA are both externals. The

SWTP 6800 OWNERS-WE HAVE A CASSETTE I/O FOR YOU!

The CIS-3CH- allows you to record and playback data using an ordinary cassette recorder at 30, 60 or 120 Bytes/Sec! No Hassle! Your terminal connects to the CIS-30+ which plugs into either the Control (MP-C) or Serial (MP-S) Interface of your SWTP 6800 Computer. The CIS-30+ uses the self clocking 'Kansas City'/Biphase Standard. The CIS-30f is the FASTEST, MOST RELIABLE CASSETTE I/O you can buy for your SWTP 6800 Computer.

PerCom has a Cassette I/O for your computer! Call or Write for complete specifications

RATE TtRMINAt

TAPE

300 lOCAl

AUTO

V'°° V •

'V

1200 UNE

PtfiGCM

ON CIS-30 +

Kit - $69.95*

Assembled - $89.95*

(manual included)

* plus 5% f/shipping

PERQOM

PerCom Data Co.

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

PerCom - 'peripherals for personal computing'

BMKtMERICMO TEXAS RESIDENTS ADD 5% SALES TAX

204

BYTE November 7977

construct is not allowed because there is no way to pass expressions to the loader. It is a useful construct, and at present the only way to accomplish the same effect with a relocatable code costs seven extra instructions. But as I said, this is less important. More important is the problem of error checking. For reliable media, who cares? But if we are going to bother to put checksums in the format, we should be sure that everything important is checked. As far as I know, only the hex absolute format defined by MOS Technology does this, unless the TDL loader insists on the presence of the carriage return linefeed and requires the next character to be either a colon or dollar. Most loaders simply ignore all text until the header character is recognized, which gives rise to the possibility that lines may be dropped, an occurrence I know to have happened. I think the loader should ignore control characters (CRLF should be optional) but have some safety against dropped lines.

I said we would be seeing several relocatable formats. Like the hardware designers, no software designer is completely satisfied with what someone else has designed, so he/she wants to do her/his own. But more than that, when a proposed standard has serious deficiencies, it will not be widely accepted. As you no doubt have suggested by now, I think I can do better. Time alone can tell whether we actually achieve any standards in this area."

Announcing the Central Standards Library

To help solve some of the standards problems in the small computer and microcomputer field, A LF Products is sponsoring a Central Standards Library (CSL). After discussions with several manufacturers in this field at the West Coast Computer Faire, ALF has set up the CSL as a means of standards information exchange for manufacturers, consumers, hobbyists, and others Interested in standards. The Library will collect submitted standards and distribute them on a nonprofit basis. For more information on available standards, on how to submit standards, and on the Library's services, send $1 (to cover printing and mailing costs) to The Central Standards Library, c/o ALF Products Inc, 128 S Taft, Denver CO 80228. You will receive a copy of the first CSL newsletter and the first submitted standard (a parallel interface standard). Manufacturers currently participating include: ALF Products, IIVISAI Manufacturing, PolyMorphIc Systems, Proko Electronics, Vector Graphic, and Video Terminal Technology. ■

®^^®©am(ol(§ffs

iFan©

Preserve those precious back issues with a handsome but rugged library file—or a binder—in flag blue Kivar library fabric stamped in gold leaf.

Files: Made to hold the first 16 issues of BYTE. Price per file $4.95; three for $14;six for $24, postpaid.

Binders: Made to hold the first 16 issues of BYTE. Price per binder $6.50; three for $18.75; six for $36, postpaid.

V_

(Add $1 each outside USA.)

Send to: BYTE, POB 5120, Philadelphia PA 19141

I enclose check or money order for $ Please send me BYTE Files

Name

Address

tPiease print)

City

State

Zip

Satisfaction guaranteed V four weeks for delivery.

or money refunded. Allow at

least

BYTE November 1977 205

BccR Fevlews

A Collection of Programming Problems and Techniques fay y^/I Maurer and M fi Williams, Prentice-Hall Inc, Englewood Cliffs NJ, 1972, 256pages, 6 by 9paperback. $6.95.

Among the things I like about the computer field is that it inspires a new style of solitaire: It's me against the computer, and, if I'm persistent, I can always win. A frequent problem, however, is finding a game which will both bring satisfaction and sharpen my skills. Many beginning programming books give only modest examples and problems which do not challenge the intermediate student. Since the trip from apprentice to journeyman is paid for only with experience, a good selection of programming problems is a must.

For the enthusiast seeking a challenge, or the novice wishing to become a pro, Messrs Maurer and Williams have filled this need with nearly 400 problems of varying degrees of difficulty. These exercises provide experience in most of the common problems encountered by programmers. Working your way through the book will provide an insight into the mysteries of applied higher mathematics, even though no knowledge of mathematics above the high school level is required. You'll find sections on number theory, random numbers and equations in one variable. The chapter on games discusses chess and checkers, and there are number games throughout the book. The 10 section

COLLECTION

OF

PROGRAMMING

PROBLEiy|S

AND

TECHNIQUES

challenges you to print bridge hands, or perhaps a calendar. You can make maps, circles and family trees. Some of the great problems and legends of history are also described; perhaps you can solve them.

The problems are couched in general terms so that any of the common programming languages may be used. Introductory problems range from the reading and printing of data to the calculation of a bowling score. More difficult problems address satellite orbits and language translation. There is an excellent advanced section dealing with simple compilers and threedimensional plotting, as well as the sorting and merging of data. In working out these problems the programmer will gain a facility in common applications.

An appendix of partial answers to prob

$9.00

THE FIRST

BOOK

OF

KIM

ORB

The First Book of KIM

BITS, Inc 70 Main St Peterborough NH 03458

Attention KIIVl users! Here is the bool< you've been waiting for: The First Book of KIM. In it you'll find a beginner's guide to the MOS Technology KIM-1 microcomputer as well as an assortment of games including Card Dealer, Chess Clock, Horse Race, Lunar Lander and Music Box. Also featured are diagnostic and utility programs for testing both the computer and external equipment (such as cassette recorders), and chapters on expanding memory and controlling analog devices. This 1 76 page volume should prove an essential addition to any KIM user's library. $9.00.

Please add 50 cents for postage and handling.

BankAmericard/VISA and Master Charge welcome.

For convenience, use any of the coupons on pages 142-144 or 153. Be sure to write The First Book of KIM on the coupon.

Processing may exceed 30 days in unusual cases.

206

BYTE November 1977

Circle 12 on inquiry card.

Circle 34 on inquiry card.

lems is provided. Since there arc many ways to program a given tasl<, sample programs are not given. A well thought out index provides a reference to any particular problem or concept.

The excellence of this book lies not only in its graduated problems, but also in the truly great variety of the exercises. It is not an introductory text, but of course there are many of those. It does promise to make the reader a "tackle anything" programmer, which is the very best kind.

Noel K Julkowski

18755 Van Buren St

Salinas CA 93901"

The Thinking Computer: Mind Inside Matter by Bertram Raphael, W H Freeman and Company, San Francisco, 1976. Softbound $6.95.

This excellent book is perfectly suited for the technically inclined reader who wants to know more about artificial intelligence (Al) and robotics. Written by one of the pioneers in Al research, it provides comprehensive, up-to-date coverage of the field in a style that adroitly balances technical depth against readability and understandability. Raphael is especially effective in illustrating abstract ideas with memorable examples, like a "cryptarithmetic" puzzle which is explored via a tree search, and a butler and maid mystery which is solved by theorem proving techniques.

The book's introduction, which provides a basic orientation to computers for the uninitiated, also discusses special Al peripherals and software, and deals, albeit briefly, with two common misconceptions about computers: that they are just giant arithmetic calculators, and that they are dumb

Computer Mart of New Jersey speaks your language ^^

Whether you're just get- ^—.^ /rtL*" / 7

ting involved witli com- ^' ^^ A^^.J \

puters or an old pro, you'll find everything you need at Computer Mart of Nev» Jersey Hardware and software from major manufacturers, curtent lileralure, and the latest educational material. In tfiese respects, we're like most other computer stores. With one important extra - a personal concern for you and your computer. Our experts w^ant (0 help you utilize your computer's maximum potential. So there's no hard sell: come in and browse, ask questions, see a demonstration. When you're ready to buy, we'll help you select the system that will meet your needs and budget best. And if you ever need a service call, we're as close as your telephone. When you're into computers, you'll find that no one speaks the language as well as we do.

Be sure to visi our booth 1414 and 416) at Itie Personal Computing Expo at ttie New Yorii Coliseum on October 28-30. See there and then that we're something special.

E3

Store l-Hours

The Microcomputer People™

COMPUTER MART

OF NEW JERSEY, INC.

501 Route #27 • Iselin, New Jersey 08830

201-283-0600

Tues. thru Sat. 10 a.m. —6 p.m.

Tues. and Thurs. 'til 9 p.m.

7HE BETTER BUG TRAP

AND CONGIUER

Altair/IMSAI compatible board catches program bugs and provides tinning for real-tinne applications.

Four hardware breakpoint addresses. Software breakpoints only possible at instructions in RAM. Better Bug Trap breakpoints can be in ROM or RAM, and at data or instructions in memory, input/output channels, or stack locations.

Board can stop CPU or interrupt CPU at a breakpoint.'

Real-time functions: watchdog tinier, real-time clock (for time of day clock), interval timer.

Sophisticated timesharing made possible!

Unique interrupt structure: generates a CALL instruction to your subroutine anywhere in memory, not a RST!

Addressed as memory. All parameters set easily by software.

All this and more for about the price of a real-time clock board, but nothing else does the iob of the Better Bug Trap.

$160, assembled and tested. 2 manuals plus software. 90 day warranty. Shipped UPS. Delivery from stock.

^^^^^^^ Dz-i V OC1 A 1 oo i«ii-o-r oi-» i-\ r"

inr.

BOX 3514, 123 WEST 3RD ST., SUITE 8 GREENVILLE, NC 27834 • (919)758-7757

Circle 87 on inquiry card.

liYTE November 1977

207

Circle 22 on inquiry card.

cari^rLa. Boards DO Something

systems, mc.

VK

)| I f f I I I

I I I 1 I i I

CL2400

Real Time Clock

$98—Kit

$135—Assembled

If your system needs to know what time it is, our CL2400 is the board for you. The present time in hours, minutes, and seconds is always available tor input, and is continuously updated by the highly accurate 60 Hz power line frequency. Need periodic interrupts? The CL2400 can do that, too, at any of 6 rates. Reference manual with BASIC and assembly language software examples included.

PC3200

Power Control System

PC3232 $299—Kit PC3216 $189—Kit PC3202 $39.50—Kit

$360—Assm,

S240—Assm.

$52—Assm.

If your system needs on/off control of lights, motors, appliances, etc., our PC3200 System components are for you. Control boards allow one I/O port to control 32 (PC3232) or 16 (PC3216) external Power Control Units, such as the PC3202 which controls 120 VAC loads to 400 Watts. Optically isolated, low voltage, current-limited control lines are standard in this growing product line.

oanariR

systems, inc.

(formerly comptek)

P.O. Box 516

La Canada, CA 91011

(213) 790-7957

^^fWANTED: K

1 ^EXPERT VI

PROGRAMMERS

We are tine leading manufacturer of industrial programmable controllers - minicomputers and microprocessor-based systems used for industrial automation.

Our Software Engineering Operation has doubled in the last year and we need good people badly. We want experience in the assembly language, microprogramming microprocessors, real-time control applications, and some familiarity with hardware at all levels of experience.

We offer excellent wages, generous fringe benefits, and a pleasant atmosphere for advancement and growth.

Please send resume with salary requirements to the Personnel Department.

THE PROGRAMMABLE CONTROLLER COMPANY P.O. Box 83 Shawsheen Village Station Andover, MA 01810

An Equal Opporiunity Employer

mechanical servants that can do only what they have been explicitly told how to do. Raphael's refutation doesn't anticipate possible further objections, but these issues have been discussed elsewhere.

The first technical topic is the representation of information about problems, which has proven crucial in Al application software. Strings and list structures are described and applied to the representation of board games, symbolic algebraic formulas, English sentences and pictures.

The next topic is search. Breadthfirst, depthfirst and progressive deepening strategies are applied to the problem of searching trees, and techniques for adding l<nowledge to the search are described. The problein of finding the shortest route between Paris and Vienna is used to illustrate the search for a path through a general graph structure. Techniques for searching game trees, including evaluation functions, minimaxing, and alpha-beta pruning, are briefly described.

A major chapter deals with pattern recognition and theorem proving techniques. The latter discussion presents Wang's algorithm for the propositional calculus, the undecidability of the predicate calculus and its implications, resolution theorem proving and answer extraction (with a beautiful example, "Dr Coleman's wife"), and other formal systems such as modal, probabilistic, multivalued and fuzzy logics. While it is sometimes cursory and far from rigorous, this is easily the most readable approach to a sometimes forbidding topic that I have ever seen; every reader will appreciate it.

The presentation of formal problem solving methods is followed up by a discussion of informal approaches. The paradigm used in Newell and Simon's General Problem Solver is presented and applied to the "frame problem," that of updating a description of the current situation as actions are tal<en, with an illustration of a robot moving through a room. The possibility of applying theorem proving techniques to the frame problem leads to a description of STRIPS, the problem solving system used in the robot "Shakey" at Stanford Research Institute. The chapter concludes with a discussion of the question, "Can a computer learn?", with illustrations taken from Samuel's checkers playing program and Winston's concept learning program at MIT.

Raphael then turns to computer understanding of natural language, and again provides a technical discussion of the methods without sacrificing reader understanding. Phrase structure grammars, transformational grammars, and the difficulties

208

BYTE Novemher 1977

Circle 96 on inquiry card.

Circle 143 on inquiry card.

with these approaches are described, leading ■to a consideration of the interplay between syntax and semantics, and more recent approaches such as case grammars and conceptual dependency theory. Actual systems which understand English are reviewed, with a special emphasis on Winograd's very successful program, SHRDLU. The chapter concludes with comments on the promise of current research into speech understanding systems.

Succeeding chapters deal with perception and picture processing, and robot systems. Techniques such as smoothing and sharpening, finding edges and lines, and dealing with light and shadow are described in enough detail to give the reader an idea of how these things are done, with illustrations from the work of Guzman, Huffman and Waltz. The history of robots is reviewed, with examples from Ross Ashby's Homeostat, Grey Waller's tortoises, the Johns Hopkins "beast," the MIT robot arm, and Meredith Thring's inventions. Then a case study is presented of Shakey, the SRI robot.

The final chapter comments on "frontier applications" in which the fruits of Al research can be used to better our world. Examples are drawn from work in education, psychology and medicine, as well as other fields. The book concludes with an eloquent commentary on the potential for dehumanization and the promise of enrichment of our society posed by intelligent machines. The key, of course, is understanding, and Raphael has made a real contribution to popular understanding of artificial intelligence research by writing this book.

Dan Fylstra

Hamilton Hall C-23

Harvard Business School

Boston MA 02163*

The Anatomy of a Compiler by John A N Lee, D Van Nostrand Company, New York, jg74^ 470pages. Paperbound, $11.95.

John A N Lee, a professor of computer science at Virginia Polytechnic hnstitute and State University, has written a book that bridges the information gap between the elementary explanations of compilers which are usually found in the last chapters of introductory textbooks, and the very abstract theoretical explanations, ie: those that speak in terms of "given a set S." Dr Lee's clear, precise prose possesses a great deal of flair leading the motivated reader from first principles to complex operations.

This book is a "how to" book, abundant

Tarbell Floppy Disc Interface

Designed for Hobbyists and Systems Developers

Plugs directly into your IMSAI or ALTAIR* and handles up to 4 standard single drives in daisy-chain. Operates at standard 250K bits per second on normal disc format capacity of 243K bytes.

Works with modified CP/M Operating System and BASIC-E Compiler.

Hardware includes 4 extra IC slots, built-in phantom bootstrap and on-board crystal clock. Uses WD 1771 LSI Chip. 6-month warranty and extensive documentation. PRICE: Kit $190 Assembled $265

' ALTAIR is a trademark/tradename of MITS, INC.

A^ " A fi///// . 20620 Soutti Leapwood Avenue, Suite P '"Sar^J/f VitvW' Carson, Calltomla 90746

Eleclionics (213) 539-4251

That's right, if we don't sell a bunch of our BASIC SOFTWARE VOLUME 1 albums quick, we'll get fired! Included are lots 'n' lots of your favorite Basic programs such as LUNAR LANDER and BLASTOFF!, plus new ones like MAILING LIST, FOURIER FIT and AMPLE ANNIE. Plays through your Tarbell, Kansas City or AI fair cassette interface (we coded all three ways). Or make cassette copies. Only 6 bucks. Don't be a dummy, order today! Satisfaction guaranteed or money back.

t°: SOFTWARE RECORDS

PO BOX 8401-B UNIVERSAL CITY, CA 91508

(CALIFORNIA RESIDENTS: PLEASE ADD 6% SALES TAX)

$6

Circle 130 on inquiry card.

BYTE Novemhci 1977

209

Circle 86 on inquiry card.

MICRODESIGIM

croconiputer products

8K 16K

2708 TMS2716 EPROM/RAM

VERSATILITY • Individual Addressing • Shadow alternates ROM with RAM • External RAM disable • Optional IK on-board RAM • S100 compatible • Power-on jump or bootstrap capability • All sockets included

MR 8 KIT For 2708 99.50

MR 16 T KIT FOR TMS 2716 99.50

EPROM (shown) not included

FIRMWARE • 2K Monilor/Ulilily • Supports Tarbell cassette, paper tape • Now available lor SIO, MIO, 3P + S, SIC 2

MM 2K (tvKO 2708 type EPROMS) 79.50

MM2T (one TMS 2716 EPROM) 74.50

EPROMS • Prime, full specification • programming available

2708 type 1024x8 30.00

TMS 2716 2048x8 55.00

MICRODESIGN

679-1 S. State CoUege Blvd., Fullerton CA 92631 (714) 870-9860

Trj ^; FINALLY, A

^N^^? tWIIHBYTE!

6800 AUTOMATIC TELEPHONE DIALER PROGRAM $9.95 postpaid

Have your 6800 system (dial your phone • Uses only 5 external components • Stores 650 variable lengthi phone numbers • Operates in less than IK bytes of memory

Includes: Paper tape in Mikbug'- format and object code • Circuit diagram and instructions • Instructions for adapting to other 6800 systems

6800 TELEPHONE ANSWERING DEVICE PROGRAM $4.95 postpaid

Have your 6800 system answer your phone and record messages automatically. Compatible with any 6800 system.

Includes: Assembly listing and object code • Circuit diagram and instructions

Write to: SOFTWARE EXCHANGE 2681 PETERBORO W. BLOOMFIELD, MICH. 48033

Mikbug" is a registered trademark of Motorola Inc.

in explanation, striving to impress upon the reader the hov/s and whys of current day symbolic language definition and execution. Dr Lee places a great deal of emphasis upon the differences between compilers and interpreters by emphasizing that compilers produce separate code (object code) that is executed after the compilation phase of execution is finished; but interpreters execute the source code on a line by line basis which may not be optimal in terms of processor time. Compilers, as contrasted with interpreters, output object code to some intermediate storage medium for later execution. This means that execution of compiled programs is often more efficient, in terms of processor time, than interpretive execution each time the program is run. However, source code errors are more difficult to correct in compilers than similar errors in interpreters because there may not be a clear relationship between compiled object code and the original source code. Interpreters, on the other hand, by virtue of their line by line execution characteristic, retain a definite relationship between object code and source code. This simplifies the debugging of source code. As a result of these considerations, we may find an increasing interest in compilers among coinputer hobbyists as high speed mass storage devices become less expensive.

Dr Lee also discusses, in great detail, lexical analysis and syntactical analysis. He explains that lexical analysis serves to remove redundancy, condense statements and delimit phrases from the source code. Syntactical analysis serves to recognize phrases, parse statements and generate parsed text. After discussing symbol tables which are used by the compiler to reference symbols from the source code, he covers string manipulation and Polish string conversions in great depth. Program control also receives thorough treatment.

Throughout the book Dr Lee draws profusely upon examples of actual implementations of the techniques he describes. Examples are taken from ALGOL, APL, BASIC, FORTRAN, PL/I, and other languages, thereby avoiding the trap of producing a one language book. Also, much to the author's credit, the book is profusely illustrated with flowcharts illustrating the algorithms described. In summary, Dr Lee's book is clear, readable and certainly useful to the serious home computerist. Its wealth of practical information should be welcome to any computerist's bookshelf.

Michael E Sullivan

OZ Division USS Saratoga (CV-60)

FPOMY 09501"

210

BYTE November 1977

Circle 129 on inquiry card.

Qlubssnc) Newsletters

SPC-12 Users'Group

Anyone who would like to form an SPC-12 users' group in the Chicago area should contact Manuel C Martinez, 7706 W Gregory St, Chicago IL 60656, or call (312) 631-6623.

HP-65 Users'Club

LICA

This club was started to support the HP-65 programmable calculator, but now all modes are supported (HP-25, HP-25C, HP-55, HP-67, HP-97 and HP-65). The newsletter, called 65 Notes, is an excellent publication in which members (and even nonmembers) share programs, ideas, frustrations, etc. Even if you are not a programmable calculator devotee (timesharers take note. . .) you'll find something here. For more information contact Richard J Nelson, editor, HP-65 Users' Club, 2541 W Camden PI, Santa Ana CA 92704.

The Long Island Computer Association is a group of hackers, amateurs and even some pros in the Commack, Long Island area. The monthly meetings feature good speakers, fun and refreshments. The group publishes a newsletter called The Stack. Nonmembers are welcome to all meetings; bring the whole family! Write to Long Island Computer Association, c/o Dave Metal, editor, 28 Splitrail PI, Commack NY 11725.

Washington Amateur Computer Society

(WACS)

Stock Market Anyone?

An association of persons who have a serious personal interest in using a microcomputer for stock and commodity market investment purposes is being formed. If covariance is more than just another word to you, send a brief note listing your desires, qualifications and market experience/involvement to J Williams, 2415 Ansdel Ct, RcstonVA 22091.

PACC

Those of you in the Pittsburgh area should definitely consider getting involved with the Pittsburgh Area Computer Club. There are users' groups, displays, activities and socializing at the monthly meetings. Plan to be there to brag about your system or look at others' systems. Membership is $12 per year. Contact Ed Dehart, president, Pittsburgh Area Computer Club, 400 Smithfield St, Pittsburgh PA 15222, or call Kenn Marks at (412) 352-3412.

Alamo Computer Enthusiasts

This nearly brand new club in San Antonio TX meets on the fourth Friday of every month in room 104, Chapman Graduate Center, Trinity University. Call (512) 532-2340 or 342-3874 for more information. Also, the ACE newsletter needs your input. If you are a brave soul with something mtcresting on your mind, send your idea to John Stanton, 7517 Jonquill, San Antonio TX 78233, or phone (512) 657-3069.

Every two months or so WACS sends us a rather impressive computer newspaper with items of interest to club members and non

Conducted by David Wozmak

HOBBYISTS! ENGINEERS! TECHNICIANS! STUDENTS!

Write and run machine language programs at home, display video graphics on your TV set and design microprocessor circuits — the very first night — even if you've never used a computer before!

RCA COSMAC microprocessor/minicomputer

SPECIFICATIONS

ELF II features ;in RCA COSMAC COS MOS 8-bit microprocessor addressable to 64k byie.s with DMA. interrupt. 16 registers. ALU. 256 byte RAM. full hex keyboard, two digit hex output display. 5 slot plug-in expansion bus. stable crystal clock for timing purposes and a double-sided platedihrough PC board plus RCA 1861 video IC to display any segment of memory on a video monitor or TV screen.

USE ELF II FOR... GAMES

Play interactive keyboart) games, games with analog inputs, games utilizing your TV set for a video display! GRAPHICS

Create pictures, designs, alphanumerics and fabulous animated effects on your TV screen for hour after hour of family fun! CIRCUIT DESIGN Design circuits using a microprocessor. Use ELF II as a counter, alarm system, lock, controller, thermostat, timer, telephone dialer, etc. The possibilities are infinite! Coming Soon! Exclusive Netronjcs Plug-In Program Debugger and monitor allows visual display of any program on a clock pulse by clock pulse basis to help you learn programming f-a-s-tl • 4k memory • Cassette I/O • D to A, A to D • Controller plug-ins.

|1A\

A THOUGHTFUL GIFT

FOR.ANYONE WHO MUST

STAY UP TO DATE IN

COMPUTERS AND

ELECTRONICS'

ELF

II

$0095

'99

B ^ ^ ^ av ^ ■■ SEND TODAY «■ < NETRONICS R&D LTD., Dept. BYll

333 Litchfield Road. New Milford. CT 06776 Phone (203) 354-9375

I Yes! / want to run prognnus at

Ih o in e a n d h a v e end o s e d: D $99.95 plus $3 p&h for RCA I COSMAC ELF II kit. Featured in POPULAR ELECTRONICS. (Includes all components plus everything you need to write I and run machine language programs plus the new Pixie chip I that lets you display video graphics on your TV screen. DeI signed to give engineers practice in computer programming and ■ microprocessor circuit design. ELF II is also perfect for college I and college-bound students (who must understand computers for any engineering, scientific or ■ business career). Easy instructions get you started right away, I even if you've never used a computer before!

I As your need for computing power grows, five card expanIsion bus (less connectors) allows memory expansion, program deI bugger/monitor, cassette I/O, A to D and D to A converters, ■ PROM, ASCII keyboard inputs.

be

controllers, etc. (soon to available as kits). Manual dudes instructions for assembly, testing, programming, video graphics and games plus how you can get ELF II User's Club bulletins. Kit can be assembled in a single evening and you'll still have time to run programs, including games, video graphics, controllers, etc., before going to bed! D $4.95 for 1.5 amp 6.3 VAC power supply, required for ELF II kit. D $5.00 for RCA 1802 User's Manual. D I want mine wired and tested with the power transformer and RCA 1802 User's Manual for $149.95 plus $3 p&h. Conn. res. add sales tax.

NAME

ADDRESS

CITY

D Send info on other kits! Dealer Inquiries Invited

Circle 103 on inquiry card.

BYTE November 1977

211

Circle 55 on inquiry card.

16K RAM

FULLY STATIC

INTRODUCTORY $450 KIT PRICE

10SLOTTABLETOP

IVIICROCOIVIPUTERS

TT-8080... KIT $475

SYSTEM WITH 16K&I/0 TT-8080-S...KIT$1125

m US

CARD CAGE

& MOTHER BOARD

ECT-100... KIT $100

WITH CONNECTORS

& GUIDES

ECT-100-F... KIT $200

I itii

CPU'S , MEMORY

MOTHER BOARDS

PROTOTYPING BOARDS

EXTENDER CARDS

POWER SUPPLIES

.1 I I I I I I I I I

DEALER IIMQUIRIES INVITED SHIPPING EXTRA

ELECTHDMJC CQMTHQL TEChMQ^QGV I

P.O. BOX 6, UNION, NEW JERSEY 07083 ^

(201) 686-8080

OTHER SURPLUS STOCK

KEYBOARDS - ASCI ENCODED S40.00-S60.00 CRT TERMINALS TAPE DRIVES S650.00 EQUIPMENT CABINETS POWER SUPPLIES

**We've Got It!!''

A NEW ADDITION TO OUR STOCK OF SURPLUS ELECTRONIC EQUIPMENT /

The IBM Selectric® Based f I/O Terminal $695.00

• INTEGRAL MODEM

• BCD OR CORRESPONDENCE CODE

• TABLETOP MOUNTING

• 22"W, 22"D X 8"H, 58 LBS

• ASCII CONVERSION AVAILABLE

• DOCUMENTATION INCLUDED

PRINTERS TRANSFORMERS WIRE CABLE

iSKV ^^rid for a free catalog or call Bill Blaney ^1^ toll free 800-256-1036. In N.H. 603.885-3705

V/QFLaiA/IQE ELECTFQnCSjrC.

10 FlaijstoiU'Drive. Hudson, Nuw Hnmpshiri} 03051

Many Other Items

Visit Our Store

members alike. It is printed in the form of a computer printout by a DECsystem-10. The club meets monthly; for specifics, write to Washington Amateur Computer Society, 4201 Massachusetts Av, Washington DC 20016.

6800 Users in San Jose

Anything and everything to do with 6800 microcomputers is of interest. Hardware and software are always on display by area hobbyists, and everyone is welcome. Meetings are on the first or second Tuesdays of each month. Contact the 6800 Computer Club at POB 18081, San Jose CA 95118 lor more information.

The Chicago Area Computer Hobbyist's Exchange

The montly publication of the Chicago Area Computer Hobbyist's Exchange is 777e Cache Register. This impressive newsletter has all the necessary club information, some great programs, convention news, editorials and so on. If you want club information, or would like to receive this newsletter, simply write Chicago Area Computer Hobbyist's Exchange, POB 36, Vernon Hills IL 60061, or call (312)849-1132.

KIM-1

The KIM-1 users' group has introduced 77?e First Booli of KIM, designed to help beginning KIM users. Introductions to programming, interfacing to KIM, games and utility programs are all covered.

If you are a KIM-1 user/owner/soon to be owner, then the KIM-1 I650X User Notes is For you. All kinds of helpful software and stuff is packed into this bimonthly. For more information, write KIM-1/650X User Notes, 109 Centre Av, W Norriton PA 19401.

South Florida Computer Group

In the Fl Lnuderdak'/Miami area, meeting times vary. These people put out a newsletter with page numbers in binary. For information on joining the club or receiving the newsletter write to South Florida Computer Group, 1155 NW 14th St, POB 236188, Miami FL 33123, or phone (305) 324-5572, cxt 45.

RAMS

The Rochester Area Microcomputer Society is a group ol individuals with the

212

DYTC Nuvemlicr 1977

Circle 160 on inquiry card.

Circle 99 on inquiry card.

aim of advancing tine spread of interest and knowledge in home computing. By bringing together professionals and amateurs, businessmen and women, students, and just plain interested novices, the society acts as a focal point for the distribution of information and help in the field of microcomputing.

RAMS meets on the second Thursday of every month at Rochester Institute of Technology, building 9, room 1030, at 7:30 PM. Meetings usually include a guest lecture on some general interest topic relating to computers, and discussions by members of their own experiences. The "random access" sessions allow anyone with a question to draw upon the help of the entire group. Membership to RAMS costs $5 per year and includes a subscription to the club magazine, Memory Pages. For more information, or a free copy o^ Memory Pages, write to RAMS, POB D, Rochester NY 14609, or call Glenn Alexander, president, at (716) 377-0697.

Tulsa Computer Society

The TCS had an exhibit at the Woodland Hills CA Personal Computing Expo, and from the lool< of the photos in the TCS newsletter, it was a success.

Mike McNatt, editor of 7776 10 Port (the newsletter of the TCS) has informed us that they would like to trade the 10 Port with other newsletters from other clubs. Write to Mike McNatt, c/o TCS, POB 1133, Tulsa OK 74101.

1802 Users' Group in Ontario

Here is another group of hackers who are building their own systems from the ground up using 1802 chips with a kit similar to the Cosmac Elf. The club, numbering approximately 300, is currently working on more memory and 10 hardware, and is soon to start on monitor programs and BASIC interpreters for the 1802. Write Tom Crawford, 50 Brentwood Dr, Stony Creek, Ontario CANADA L8G 2W8.

A Compucolor Users' Group

The Compucolor Users' Group is dedicated to the exchange of programs and technical data for the Compucolor color display system. They anticipate issuing a news bulletin periodically. Subjects such as how to concatenate tapes and disks will be covered. For each accepted program a member will receive a number of other programs in return. The initial membership fee of $10 covers the duplication and mailing of materials. Those wishing to join the group may

Need Hard Copy?

T PR|i

MP-40

Interfacfis to your micro computer paraMei oulpulpor! for ASCif data transfer

KP-40KIT

Contains mechanism, PC board,, all components, .transformer.and complete assembly instructions for parallel data transfer.

AN of out 40 series pfintRrs use ihe same reltaMc 6* 7 impact do! m " ijp to 40 columns pec iine on ordinary paper with a pnnt spe^cf

^ SEND FOR FREE LITERATURE

«575

425 H79

Box 22101

Salt Lake City, Utah 84122

(801)566-0201

'WHAT EVERY CP/M" USER NEEDS'

BASIC-E MANUAL

A 200-page User's Guide which provides detailed explanations of all BASIC-E capabilities.

A comprehensive treatment of BASIC programming techniques. Includes a Glossary, Index, Vocabulary Summary, and Grammar Summary.

CP/M SOFTWARE

A disk containing over 40 programs, including:

• BASIC-E compiler and two run-time monitors

• Processor to transfer INT files

• Disk track-to-track copier

• IMSAI memory check program

• ASCII to EBCDIC converters

• Letter writer, including name embedding and name-file management

■ Routine to control number formatting, e.g., total and decimal field width, floating $ and commas, etc.

• Many improved games

Phone; (415) 673 8962 Write: John K. Jacobs

JEM COMPANY

Suite 301

2555 Leavenworth St.

San Francisco, Ca. 94133

" A Praduct of Ditjital Resuiircti

Manual Software Only Only S25 S60

Manual 8i

Software

375

Terms: Ciish with ortler. Californiii [esidenis add 6"o. $2 for immediate first class mail dolivory.

Circle 60 on inquiry card.

BYTE November 1977

213

Circle 151 on inquiry card.

ADM-3A

send the fee to S P Electronics, 5250 Van Nuys Blvd, Van Nuys CA 91401. Further information may be obtained by sending a large self-addressed, stamped envelope to the above address.

Among the present programs are an illustrated version of blackjack, an excellent version of Star Trek, a slot machine, and more. For the most part the group tries to exchange recorded media rather than program listings. Anyone interested is welcome to write.

Central Pennsylvania Computer Club

The Central Pennsylvania Computer Club is now forming for people who are interested in all aspects of computers, both large and

and

$830

• Display: 24 Lines, 1920 Characiers

• Addressable Cursor

• Keyboard may be cleared remofely

• Ma Bell Compatible

T'erminal Systems Znc

del 4.S

I 10 — 30 cps. 132 CHARACTERS Upper — Lower Case RS232C Compatible 9x6 Dot Matrix

Height 5'A", Width 18", Depth 21'A", Weight 30 lb. Sales — Service — Rentals

2rJ l(,ilGlf2 ■

'" """' For further information call John Storm

For All your Mini Computer and Tele-Communicafion Needs

small. People in the Philadelphia, Pittsburgh, Baltimore or New York area are invited to contact either Joseph Pallas, 1979 Crooked Oak, Lancaster PA 17601, (717) 569-3137, or David M Ciemiewicz, 533 N Holly St, Elizabethtown PA 17022, (717) 367-6512. They are seeking material for their Newsletter, the Data Dump.

IVlontreal Area Computer Society

Over the past year, the Montreal Computer Society has grown from 12 members to over 90! The club meets once a month, usually on second Tuesday evenings at Vauiev College, 5160 Decarie Blvd. For further information, contact )ohn Erikiev, president, at (514) 932-2344, or write IVlontreal Area Computer Society, POB 613, Stock Exchange Tower, Montreal, Quebec CANADA.

Space Coast Microcomputer Club

The second edition of the Space Coast Microcomputer Club ■ Newsletter has an interesting feature by Paul Rainosek: a tabulated comparison of some of the different microprocessor chips available. The various advantages and disadvantages are clearly listed. Included are the Intel 8080, Motorola M6800, MOS Technology 6502, Fairchild F8, Signetics 2650, and Cosmac 1802. To find out more about the Space Coast Microcomputer Club, contact Ray Lockwood, 1825 Canal St, Merritt Island FL 32952.

Officially LACC

The Louisville Area Computer Club (LACC), formerly Louisville Users of Microprocessors (LUMP), hereby mentions the fact that the club has a new name. So, those

DAJEN Electronics

7214 Springleaf Ct.

Citrus Heights, Ca. 95610

(916) 723-1050

HIGH-SPEED CASSETTE INTERFACES (The Stringy Disk)

CRI-B

m 'lilt

lilllhlill! ',il,i(i||liii' l,,ir I

600 to 12,000 baud status controls, IK monitor with cassette routines provided on tape.

All I Need!!! Universal I/O Interface

High-speed cassette, two relays for control of two recorders; space for three 2708's, one provided, with monitor software, 2708 programmer; reset-jump; ram for stack; RS-232, 20 ma, 60 ma, serial; 3 parallel ports; speeds from 20 to 19,200 baud.

Kit $285. Assembled, tested $345. Mastercharge, BankAmericard, Visa

UCRI

i -Cill 1^ |i

Relay control of two recorders, latched input port for keyboard, tape reader, etc. File-search capabilities.

Biphase, Kansas-City, Altair, IMSAI, Poly, Tarbell compatible

Kit $120, Assembled $165 Kit $135, Assembled $175

Manual $3.50 Manual $4.50

214

BYTE Novcmhcr 1977

Circle 42 on inquiry card.

Circle 106 on inquiry card.

of you who have been looking for "LUMP" meetings should now go to "LACC" meetings. These are held on the first Saturday of each month at 1 PIVl (usually). Check with this address for the locations: LACC, 115 Edgemont Dr, New Albany IN 47150.

An F8 Users' Club

A group of Fairchild F8 users has started in the Hartford CT area. They have three F8s built and running with two systems having 5 K and 16 K memory, and are interested in contacting other F8 users who would be interested in exchanging information and programs. Contact G W Hemphill, 132 Scott Swamp Rd, Farmington CT 06032."

The First Annual Micro-Chess Tournament

The first annual Micro-Chess tourney will be held in Louisville KY in August of 1978, sponsored by the Louisville Area Computer Club. To put on a really fair tournament the club is in the process of drawing up the rules and regulations. The preliminary rules are:

• Competition limited to approved 8 bit microprocessors; no bit slice machines will be allowed. Other microprocessors will be considered. Send request with stamped, self-addressed envelope to address below.

• Programs can be in either machine language or a higher level language.

• 16 K 8 bit words memory maximum. (9 bits if parity is used.)

• Homebrew machines and commercial machines allowed.

• Machines may be loaded from any media but after the program is operating the loading device must be detached.

• A panel of judges will rule promptly on program crashes or other unexpected problems.

• Competition will be timed.

The 1979 Micro-competition will allow up to 32 K bytes of memory; the 1980 will allow 64 K bytes (65,536 bytes) of memory. The sponsoring committee reserves the right to alter the rules to meet unforeseen situations. First, second and third place prizes will be awarded. For further information write: Louisville Area Computer Club, 3028 Hunsinger Ln, Louisville, KY 40220."

ADD EXCITEMENT TO YOUR VIDEODISPLAY WITH A...

PROGRAMMABLE CHARACTER GENERATOR

INNOVATIVE S-100 CARD PROVIDES THE CAPABILITY OF DYNAMICALLY CREATING CHARACTERS GENERATED BY YOUR VIDEO DISPLAY, PROGRAM SPECIAL MATH OR SCIENTIFIC SYMBOLS, APL CHARACTERS, SUB- AND SUPER-SCRIPTS, HIGH DENSITY BAR GRAPHS, SPACE SHIPS, ETC. YOUR ORIGINAL CHARACTER SET REMAINS INTACT AND AVAILABLE AT ANY TIME.

KEYBOARD INTERFACE AND DUAL JOYSTICK INTERFACES PROVIDED ON BOARD. IDEAL ADDITION TO SOL ^M TERMINALS, POLYMORPHIC ™ VTI, PROCESSOR TECHNOLOGY TM vDM-1, SOLID STATE MUSIC TM VIDEO BOARD AND OTHERS USING THE MOTOROLA ™9X7 MATRIX CHARACTER GENERATOR.

mamSKi

1

msNHaiowciDiaisms - apl zi

0 llll»«««I",.fi,, J .

1 HI I 1 ' ■

£ jmj'i.-: .11 5 :

: §9m3--' ;

: ^3:]E";-(;;<.i'n

L 1

■- •4|-.i- i;

1 mr '0 1

^^M

UNRETOUCHED PHOTOS

FOR FURTHER INFORMATION AND PRICING, CONTACT:

OBJECTIVE DESIGN, INC.

P.O. BOX 20325 TALLAHASSEE, FL 32304 (904) 224-5545

THE PROM SETTER

WRITE and READ

EPROM .^--^^

1702A and 2708 .'--^'^

• Plugs Directly into your ALTAIR/IMSAI Computer

• Includes Main Module Bqa,r4,and External EPROM Socket Unit ' , , ■ ;

• Software included; £. ^•''^^ ' ' ' 'j,!^

• No External Power Supplies, Ypur Corriputer does

it all . ,^,,-j ov^-^ri-i-^-""'''^"

• Programs and Reads Both'1702Aand 2708 EPROMS

• Doubles as an Eight Bit P-arallel I/O

• Manual included

KIT COMPLETE — $210 ASSEMBLED — $375

Delivery Le.s.s Than 60 Day a

SZERLIP ENTERPRISES

1414 W, 259th SI. — Harbor City California 90710

C.'n/ifornin /■(.'.sidcnLs [»/(;fKS(; add (i% sn)(!.s tux.

Circle 142 on inquiry card.

BYTE November 1977

215

Continued from page 22

Listing 7; IVlost of tiie lunar landing games I have seen are not flexible enough to run a two degree of freedom real time simulation as described in this article, so I have included this listing. At each initialization, this program finds a random set of starting conditions (speed, position, mass, etc) that is consistent with a safe landing. It then keeps track of speed, position and fuel consumption, printing them as required, and indicating when the surface has been reached. The following adjustments will have to be made by each user:

7. Function USR(X) must be provided to return the current desired thrust settings, 0 to 100% in the vertical direction, and -100 to +100% in the horizontal direction. These inputs are best achieved by analog to digital conversion from joysticks or slide pots.

2. The step size and print inteival must be adjusted for your system clock and peripheral speed in order to simulate real time operation accurately.

3. Function RND(l.) is assumed by the program to return values between 0. and I. Alterations may be necessary to suit your version of BASIC.

4. The comments printed by the program have deliberately been kept short. A better game could be fashioned by adding instructions, comments on performance, low fuel warning, etc. In other words, customize the simulation to suit your own tastes.

program should check for end conditions and, if none are found, begin another step.

The speed of a computer mal<es it possible to find results quickly for times far into the future, even if the step size is quite small. This is fortunate, because as our simulation stands now, an error is introduced at each step that becomes worse as the step size becomes larger. The error occurs because in a real LEM the mass and speed are changing all the time, but in our simulation they can be changed only between steps. A variety of numerical methods have been developed to cope with this problem. In our example, simply using the average of the beginning and ending values in each step would be quite effective. Actually, if the step size is small, say 0.01 seconds, even this is not necessary. It is true that by using the average values the program could be made to run faster, but it would also need to store several extra variables, require more lines of code, and use more memory. Obviously, there are trade-offs to

010 REM LUNAR LANDING SIMULATION

020 REM SET FUEL SAFETY FACTOR

025 REM ADJUST TO CONTROL DIFFICULTY

030 LET S= 1.3

040 REM SET STEP SIZE AND PRINT INTERVAL

050 LET D=0.01

060 LET K= 1.0

070 REM SET GRAVITY ACCELLERATION

080 LET G= 1.62

090 RANDOMIZE

100 REM SET NEW STARTING CONDITIONS

110 LET M=1024.+1024.*RND(I.)

115 PRINT "LEM MASS =",M

120 LET F=G*M*(4.+4.*RND(1.))

130 PRINT "MAX THRUST =".F

140 LET A=1.333*F/[V1-G

150 LET V=F/M*64.*RND(1.)

160 LET U=0.

170 LET Y=V**2./(2.*A)*(1.+RND(1.))

180 LETX=V

182 REM V IS VERTICAL SPEED

184 REM U IS HORIZONTAL SPEED

186 REM Y IS VERTICAL POSITION

188 REM X IS HORIZONTAL POSITION

190 REM HALF OF MASS IF FUEL

192 REM M-P IS FUEL REMAINING

200 LETP=M/2.

210 REM FIND FUEL BURN RATE, I

220 LET I=(2.*Y+V**2./G)/(1.+A/G)

230 LET I=P/(SQR(I/A)*F*S)

240 PRINT "ALTITUDE, SPEED, FUEL, RANGE"

250 REM BEGIN DECENT CALCULATIONS

260 PRINT Y, V, M-P, X

270 LETT=0.

280 IF M=P THEN 360

285 REM GET VERTICAL THRUST

290 LET A=USR(1.)*F/100.

300 REM GET HORIZONTAL THRUST

305 LET B=USR{2.)*F/100.

310 LETM=M-(A+B)*I*D

320 IF M>P THEN 360

330 PRINT "FUEL EXHAUSTED"

340 LET A=0.

342 LETB=0.

350 LETM=P

358 REM PREDICT NEW U, V, X, Y

360 LET V=V+D*(G-A/M)

370 LETU=U+D*B/M

380 LETY=Y-V*D

390 LETX=X-U*D

395 REM TEST FOR END CONDITIONS

400 IF Y<4. THEN 440

410 T=T+D

420 IF T>K THEN 260

430 GOTO 290

440 PRINT "MODULE HAS LANDED"

450 PRINT "SPEED =",V

460 PRINT "RANGE =",X

470 IF V<8. THEN 500

480 PRINT "BETTER LUCK NEXT TIME"

490 GOTO 110

500 IFX<I28. THEN530

510 PRINT"ITS ALONG WALK TO BASE"

520 GOTO 110

530 PRINT "CONGRATULATIONS, GOOD LANDING"

540 GOTO 110

550 END

be made among speed, accuracy, complexity and size, in each simulation, the programmer must decide which combination is best.

For our games application, the combination is not critical. A high degree of accuracy is not required, and the program is short enough that memory requirements should not be a problem. The selection of speed, however, presents an opportunity that is unique to the user of a dedicated system. With a little trial and error, it should be possible to find the step size which causes your system to take exactly 1 second to calculate and display the speed and position

216 liYTE Navenllicr 1977

Circle 131 on inquiry card.

BUSINESS APPLICATION SOFTWARE

MINI WORD PROCESSING (MWP) enables the user to prepare letters, text and mailing labels or envelopes. When used for correspondence processing, MWP allows each entry in the name/ address file to be described by a number of group codes and document codes For example, an entry could be group coded by date and inquiry type. Phrases, paragraphs or pages can be specified as document codes to produce an individualized letter for each name/address. MWP provides in-line editing and page or phrase insertions during text generation. The letter and text output modules provide text insert or replacement, margin control and page numbering.

DISK SORT supports fixed or variable length sequential files of any size and will sort or merge on any number of keys anywhere in the record.

An interactive generator allows the user to define <i customized sort/merge t)rogram for each task. Multiple sort/merge tasks can run unattended with user defined lob-stream links (eg sort 12 files, merge them with another sorted file and link to your report program) Memory and disk space are managed by the system to minimize processing time

UNIVERSAL DATA ENTRY (UDE) system interacts with the 0[)erator to generate custom keyto-disk modules User defined displays provide "fill in the blanks" simplicity Validation procedures such as check digits, value tables, range tests, batch totals and record counts improve data quality. Selectable field duplicate or increment eliminate repetitive entries. UDE supports fixed or variable length disk files. Specialized Master Charge

UDb modules can be generated for any application that requires keyed input

The above systems are extremely easy to use and include carefully created prompts and error recovery, well written user manuals with varied exam|)les and extensively documented programs with detailed remarks. Each of these systems is priced at $195. The programs are supplied on diskette and run under MITS Disk Extended BASIC. See your computer dealer or contact us.

THE SOFTWARE STORE

706 Chippewa Square Marquette, Ml •)')85.'')

906/228-7622

VISA

1 second into the future. One machine might do 100 steps of 0.01 seconds and then print the speed, etc. Another might do 64 steps of 0.015625 seconds before displaying new results. Still another, with slow peripherals, might output speed and position only once every 2 or 3 seconds. In any case, as long as the simulated data appears at the same time that real data would, your system will be said to be running a real time simulation. A real time lunar lander game gives you exactly the same time to react as would be given a real excursion module pilot.

To help you impleinent this idea on your own system, a BASIC language program has been included with this article as listing 1. It should be easy to follow, but a few points are worth explaining. At each step the program will need to obtain the thrust settings. This is done through a function called USR. Because systems differ widely, the content of USR is left to you. Some systems will be able to use a register to hold the thrust; others will access memory location; and some may have to query an input port. Also left to the user is the manner in which the thrust settings are updated. Obviously, they cannot be entered at the keyboard for each

0.01 second step. The keyboard could be used via an interrupt routine however. Ideally, you could implement Thomas Buschbach's joystick interface (March 1977 BYTE, page 88) to allow continuous control of thrust in both degrees of freedom. What began as a simple game will now have become a real time lunar landing simulator requiring quick thinking and a good bit of practice to master.

If you use this idea then my article will have succeeded in its purpose of introducing some of the basic concepts of simulation. Techniques like separating the problem into degrees of freedom, determining the effect of each force separately, and stepping the simulation into the future are all fundamental to any prediction of motion. The differences between this lunar lander game and the complex simulations used in the space program lie in the way forces are determined and in the numerical methods used to calculate speed and position. In future articles, other applications for simulation on microcomputers will be discussed as a means for demonstrating some of those advanced techniques. For now, try applying the ideas presented here to create a game of your own."

6800 REFERENCE GUIDE

FOR PROFESSIONAL AND HOBBYIST The TOOL you have been waiting for. A 6800 Reference Data Guide (simi lar to the IBM green card) containing just about every piece of pertinent information that you are currently spending valuable time searching for. The guide saves TIME, EFFORT and WORK SPACE when programming, debugging and utilizing the 6800 system.

Included are INSTRUCTIONS, SPECIAL OPERATIONS, HEXADECIMAL/DECIMAL CONVERSION TABLES, code translation tables for MACHINE CODES/MNEMONICS/ASCII/HOLLERITH/BINARY, 6800 MPU, 6820 PIA, 6850 ACIA and almost everything else that will increase your productivity. TRY IT, YOU'LL LOVE IT.

Send $4.95 plus 35(t shipping and handling to: MICRO AIDS, P.O. Box 1672, St. Louis, Missouri 63011

Circle 84 on inquiry card.

BYTE November 1977

217

Pseudorandom Number Generator

Daniel Grieser 4326 Kenny Rd Columbus OH 43220

The following algorithm for generating a pseudorandom number is based on the "power residue" method described in an IBM Data Processing Techniques bulletin. The modification presented here preserves the brevity of the power residue approach and yields 255 8 bit numbers before repeating. Any seed, including zero, can be used prior to initializing the sequence. The algorithm is simply stated: to obtain the next random number, multiply the previous number by 13 and retain only the least significant 8 bits of the product, then add 1 to the product yielding the new random number. In an 8 bit microprocessor this is accomplished by a scries of shifts and additions.

Listings 1 and 2 give an 8080 and a 6800 version of this algorithm, requiring 16 and 15 bytes of storage, respectively. Both are simple subprograms which execute straight through without any loops. ■

Listing 1: An 8080 version of tfie random number routine. This routine uses registers of the processor as temporaries, and places its result in memory location RND. Multiplying by the number 13 Is accomplished with shifts and additions without any looping by noting the identity:

13xN = /Vx2-3 + Nx2^ + N The power-of-two factors are generated by left shifts.

Address Hexadecimal Code Label Op Code

Commentary

Point to RNDM # storage.

Retrieve last random #.

Shift left once.

Shift left again.

Store briefly.

Add unshifted number.

Store the sum.

Retrieve the temporary number.

Shift left.

Add the sum again.

Increment the sum.

Store the new random number.

Return to calling program.

Random number storage.

Listing 2.-The equivalent routine specified for a 6800 processor. Note that for both the 8080 and 6800 versions, the code is completely position independent so the absolute object code shown can be used without any modifications.

Address Hexadecimal Code Label Op Code Commentary

ENTRY LDABRND Load B with last RND #.

00 00

21 OF 00

ENTRY

LXI H.RND

00 03

7E

MOV A,M

00 04

87

ADD A

00 05

87

ADD A

00 06

4F

MOV C,A

00 07

86

ADD M

00 08

77

MOV M,A

00 09

79

MOV A,C

00 OA

87

ADDA

00 OB

86

ADD M

00 OC

30

INR A

00 OD

77

MOV M,A

00 OE

C9

RET

00 OF

XX

RND

BS

00 00

F6 00 OE

00 03

17

00 04

58

00 05

58

00 06

IB

00 07

58

00 08

IB

00 09

4C

00 OA

B7 00 OE

00 OD

39

00 OE

XX

RND

TBA

Copy B into A.

ASL B

Shift B left.

ASLB

Twice.

ABA

Add to A.

ASL B

Shift again.

ABA

Add to A.

INC A

Increment A.

STAA RND

Store result as new

RTS

RNDM #and return

RMB1

Random # storage.

DISKETTE CASE

Attractive

Durable Plastic

Easy Handling & Safe Storage

FREE with every 10 Diskettes.

DISKETTES: Shugart 800, Altair,

Helios, OSI, Digital Systems,

IMSAI, Innovex Ov $5.50

MINI-DISKETTES: Northstar, Fortrans IV, Smokey Signal, Metropolis, Shugart SA400 (■</ $4.25

Immediate Delivery from Stock Bani< Americard / Master Charge

MANCHESTER EQUIPMENT CO.

120 Bethpage Road

HIcksville, N.Y. 11801

Call Collect: (516) 433-0613

Circle 13 on inquiry card.

218 BYTE November 1977

••INTRODUCING NEMESIS !■• THE GAME WITH THE BRAIN

«

liw elei

of Nlm. 1'fibl.lcs wi,r.- .irr-itiHcd into 1 column!. o( 7, 5, ^ 1 ptilitilt.'i each. I'lay .it LL-rn'il.c(l with an opponciiL, Kach could

only one column per movi'. I lie loser took tlic Ijisl. p^bblit. Vnur rpHpectablc opponent In *>cmesis7 is n fixpil proarJira

□ r circuit. To win lit extremely difficult but possiiblc.

Hum.in opponents (ire also permitted.

K.r.y lo .niScnMc- kit inch.cU-. -ill parts tcxcepl battery)

B

Sl'..':'5

cvada res

lents

,idd IH PST

il.fiC ^.)iL(,plnK

Computer Creations Inc.

118 West 2nd Street; Reno, Nevada; 89501

Circle 26 on inquiry card.

SURPLUS

BARGAIN

+ 5V@8.5A - 12V @2A

+ 12V(a2,5A *180V@150ma

+30V @ 200ma (unregulated) -6.2V @ 25ma (no adj. pot)

Brand new, made by CDC tor microprocessor terminals. 110 VAC in, regulated and adjustable DC outputs. Overvoltage protected +5. -12. Power status signal. Fan. Schematic. Original list $600+. From stock, UPS paid, custom (oam box, guaranteed. $50.00

ELECTRAVALUE INDUSTRIAL

BOX 464

Cedar Knolls, NJ 07927

(201) 267-1117

Circle 53 on inquiry card.

^^^^CATCH-A-PULSEII

^ LOGIC PROBE ^ 9

';^^ • 10 Nsec pulse response • Qpen circuit detection

• Replaceable tip S card . «. * High input impedance ■* >.V4^0 • Pulse stretching Multi-family

scb iirccu HI o.a to ^^Pj^

""^^^ oNLv S39.95 ^

10 Nsec SPEED AT 3.5 15U

RTL. DTL, TTL, CMOS. MOS, and Microprocessors using a 3.5 to 15V power supply. Thresholds automatically proOfammed. Automatrc resetting memory. No ad|ustment required. Visual indication o( logic levels, using LEDs to show high, low, bad level or open circuit logic and pulses. Highly sophisticated, shirt-pocket poitablG Iproieciive up cap and removable coil cord). Eliminates need for heavy test equipment. 5En[JS39.95 A definite savings in time and money

[Calif residents add 'o' engineer and technician.

B% sales tax) 10. •^■^-m \^.y Pal ^-A Dea-r ,n,m,r,« .e^inme

>Vyi^ELECTROIMICS

Box 19299, San Dicpo.CA 92119, (714) 447-1770

GENERAL LEDGER

for 8080

Compatible with: MITS Basic

& I MSA I 8080

Price $300.00

Send to:

Arrow Computer Service

P.O. Box 271 West Jordan, Utah 84084

Or call: 801-268-0130

WANTED:

Adventuresome

Souls

For New Horizons.

Horizon 1 Kit $1439 Horizon 2 Kit $1799

Cash Discount Prices

We also sell IMSAI, Cromemco, TDL, Vector Graphic, Polymorphic, Seals George Risk Industries and others. CaU for Catalog Now. (315)637-6208

cofnputcf

P.O. Box 71 • Fayetleville, New York 13066

Circle 6 on inquiry card.

Circle 14 on inquiry card.

Circle 29 on inquiry card.

The

Computer

Place

Alpha Micro

Processor Technology

Hueristics

KIM

North Star

TDL

Industrial MicrdsYstems

We service-what we sell.

186 Queen St. W

Toronto, Canada M5V 1Z1

(416) 598-0262 Telex 06-22634

Circle 35 on inquiry card.

ITS A GREAT BIG COMPUTER WORLD

^'^ But You Only Need

+f^THE COMPUTER CORNER

"^^ "SOL - A New Dawn Is Here!

"^•" 'IMSAI 8080

*" •POLY -88

-*^ •TDLZ-BO

"^*~ •Memories & I/O Boards

.»— •Computer Book Service

^ •Magnetic Tapes a Disks

^ • Full Line of Magazines

■^ • Brain Games & Puzzles

^. •Workshops & Club Information

"f!~ Visit THE COMPUTER CORNER for "

^. all your computer needs. Stop in and

^ browse - you'll like our personal service.

_w. THE COMPUTER CORNER

'"' Whue Plains Mall - Upper Level

-W- 200 Hamilton Avenue

.^f- While Plains, New York 10601

Tel: (9141 WHY ■ DATA

Ample Parking

10-6 Daily & Saturday

10-9 Thursday

J. , lu-y I nursaay \ ^

-^ .^^

New... a breadboard for your

Altair/lmsai.

HTC 88P kit $138

write today for specs Homestead Technologies Corp.

891 Briarcliff Rd. NE Suite B-11 Atlanta, Georgia 30306

dealers please inquire

Circle 64 on inquiry card.

CANADIANS!

Eliminate the Customs Hassles. Save Money and get Canadian Warranties on IMSAI and S-100 compatible products.

IMSAI 8080 KIT $ 838.00 ASS. $1163.00 (Can. Duty & Fed. Tax Included). AUTHORIZED DEALER Send $1.00 for complete IMSAI Catalog.

We will develop complete application systems. Contact us for further information.

Rotundra Cybernetics

Box 1448, Calgary, Alta. T2P 2H9 Phone (403) 283-8076

1^

Digital Group

System owners now have available the finest Z-80 software ever produced. By an exclusive agreement with TDL we are able to release all their fabulous software ready to run in your DG System.

Here's what you've been waiting forcomplete. user-oriented software! The following programs are available now!

Zapple Basic $40

Super Basic $79

Macro Assembler $40

Text Editor $30

Word Processor $40

System Monitor $20

And soon, a Fortran IV Compiler.

You owe it to youfself to find out. Don't let your hardware be underutilized. Order now or send tor our complete cata'OQ Bye fvlaxi ■ Hello Super

[■.(rJicRD-min

P.O. Box 4069 Pompano Beach, Fla. 33063 Circle 85 on inquiry card.

South Florida

unnyUomputer Stores, Inc.

South Florida's First Computer Store WE CARRY:

• ALPHA MICRO SYSTEMS, MICRO FILE, IMSAI

• BOOKS, MAGAZINES, NEWSPAPERS

• FULL SERVICE

• SOFTWARE

• WRITE OR PHONE US FOR PRICES

MORE THAN JUST TOYS

Monday 1 2 noon — 9 pm

Tues.-Fri. 10-6

UNIVERSITY SHOPPING CENTER 1238AS0UTH DIXIE HIGHWAY CORAL GABLES, FLA. 33146

(305)661-6042

Circle 25 on inquiry card.

Circle 123 on inquiry card.

Circle 139 on inquiry card.

BYTE November 1977

219

GRAPLing with APL

William Leier Visual Comforts Etc Box 2671 Houston TX 77001.

William LeIer sent us the following letter detailing his thoughts about APL and GRAPL. The latter is a new language Mr LeIer is currently helping to develop.

I have used APL professionally for many years, implementing such things as Jay Forrester's simulation of the world and a graphics animation package with which I have produced several movies. But there are many severe limitations to APL, some of which become critical on small systems like the typical microcomputer. A few of these are:

• All arrays in APL must be homogeneous, ie: all elements must be of the same type. Since APL does not allow data structures (like PL/I or COBOL), it is sometimes difficult to define variables that are convenient to manipulate. This results in more computer time being spent getting the data into an array for a simple APL matrix multiply than the time required to actually perform the multiply.

• APL simulates operations in parallel so well that there are no constructs for operations serially (such as a looping construct). This leads to much wasted computation (ie: testing all elements of a character vector to see if they are equal to a space when all you really want to do is find the first nonblank character). This may not mean much on, say, the IBM 370, but it slows a microcomputer down.

• APL is terrible for dataset management.

• APL has no interrupt action other than the ability to break to the terminal user. This requires explicit tests to be included for such things as zero divides, etc. There have been patches for this, but they are hard to use.

• Since APL creates and destroys large arrays frequently and at random, storage management must be done with some sort of free space list (which eats up storage) and a garbage collector with full compaction of free space (which really eats up time). This means that, while on a large system most FORTRAN or PL/I programs will completely fit in 128 K, an APL program is given (normally) 64 K bytes just for data and a symbol table, not to mention the space occupied by the APL system.

• Almost no translation can be performed on APL code. Every time a variable name is encountered, it must be looked up in the symbol table. A lot of wasteful data checking must be done before the simplest operation can be performed.

• Character handling in APL is clumsy and difficult to code. Only with great effort can APL code be made self-documenting. Trying to decipher old code (even my own) quickly leads to the funny farm.

But APL has many great features, several of which I wish would be available on a microcomputer. I have found many of these features in a language called GRAPL. GRAPL at first looks similar to APL, but there are changes and improvements, far too many to list here. But just to begin:

• GRAPL uses symbolic operators (like APL), but GRAPL uses the standard ASCII character set with no overstrikes. The large set of operators is derived by allowing two character operators.

• APL execution is from right to left; GRAPL is from left to right. No operators have precedence over others.

• GRAPL is block structured like ALGOL,

220

BYTE Novcmhor 1977

REMEMBER

16K

A S 5. e M H L 1 1) AND I f S I t D

S520

Features;

STATIC OPfHAIION ACCESS TtM! ^'.Om s S 100 BUS C UMPA lllill LOW POWtP TVPICAl.LV

lOSm.i Ibv BATTtRV BACKUP

AVATAFi SYSTEMS

.iB30 SWENSON BOX ? ^ 3

LAS VEGAS NEV 89 lO'i 1/031 733 B 3 0 -1

BVTESHDP

the affordable computer store 7825 BIRD ROAD qF

(305)264-2983 DIAL 264-BYTE

MIAMI

WE HELP YOU GET YOUR SYSTEM UP AND RUNNING.

MEMORY EXPANSION COLOR TV GRAPHICS LEAR SIEGLER ADM 3 PAPER TAPE READER

IMSAI8080

BYTE-8

SWTP MP68

CROMEMCO

PROCESSOR TECH

INTERFACES (KITS or ASSEMBLED UNITS)

IN FORT LAUDERDALE

1044 E Oakland Pl< Blvd (305) 561-2983

Disc/3

DISC/3 COMPANY

COMPLETE MICRO BUSINESS SYSTEMS

Soroc IQ 120 (assembled $899.95)

Lear Siegler $ 799.95

ADM-3A kit IMSAI 8080 kit $ 599.95

Centronics Business $1145.00

Printer (132 columns)

Disc/3

DISC/3 COMPANY

1840 LINCOLN BLVD.

SANTA MONICA, CALIF. 90404

(213)451-8911

Circle 7 on inquiry card.

Circle 19 on inquiry card.

Circle 48 on inquiry card.

TYSONS CORNER, VIRGINIA (WASHINGTON. DC AREA)

THE

COMPUTER SYSTEMS

STORE "Specializing in Systems"

FEATURING:

ProcessoF Technology

Lear Sieglef

Poly Morpluc

DEC

Diablo

SWTPC

i: A L

Seals

Vt^[;lar Graphics

Digital Group

A[!ple

TDL

CROMEMCO

Books — Magazines

COMPUTERS FOR HOME, SCHOOL, & SMALL BUSINESS Oui staff will help you soled liom ihe bes! ol each manulaciiirot 10 ccniplete Ihe sysiom besi suiied lo yoi.t needs

SPECIAL: LEAR-SIEGLER ADM 3A

. t-J *—••—■ y COmPUTEP SVSTEtnS STORE

1984 CHAIN BRIDGE ROAD, McLEAN, VA 22101 TELEPHONE (703) 821-8333

OPENING SOON All XANDRI'^ VA •NORFOIK VA • BAl llMORE MD •ORLANDO ft A

Washington D.C.'s

Newest Computer Store

301-565-2711

Intelligent Business

Machines, Inc.

Cromemco, IMSAI, TDL, Administrator I, SEALS, DIP Chips, etc.

Come see us at

938 Ellsworth Dr.

Silver Spring, MD 20910

301-565-2711

Microcomputer

systems, peripherals, custom programs for business, service, sound counsel on equipment selection.

We stock IMSAI, ICOM, Technical Design Labs, Vector Graphics, Heuristics, and other lines, and provide business packages and engineering design.

Microtex, Inc.

Microcomputer specialists

(713) 780-7477/9305-D Harwin Houston, Texas 77036

Circle 37 on inquiry card.

Circle 72 on inquiry card.

Circle 90 on inquiry card.

CHESS

IN BASIC

HERE IT IS!

A FANTASTIC CHESS GAME TO CHALLENGE BEGINNER OR EXPERT — IN STANDARD BASIC — RUNS IN 16K OF FREE MEMORY — FOR TELETYPES OR CRT'S — COMPLETE DOCUMENTATION AND A PAPER TAPE INCLUDED IN THIS SPECIAL INTRODUCTORY OFFER.

$20.00 pp

- MD RFSI0ENTSADD5%

TENBERG SOFTWARE SYSTEMS

10311-J MALCOLM CIRCLE COCKEYSVILLE. MARYLAND 21030

Circle 150 on inquiry card.

SAVE 5 tc 15%

LIST SALE PRICE IMSAI 8080 W/22 SLOTS S751 $649

POL YMORPHICSSYSTEM 2 S735 S675

SHUGGART MODEL 800 S650 S595

SIMILAR DISCOUNTS ON:

IMSAI 4K. 1GK. 32K RAM. MIO '-tc.

POL YMORPHICS VIDEO

DYNABYTE J6K (ACM) RAM

MICRODESIGN 2708/2716 EPROM BOARD

QUANTR0NICS8K {ASM} RAM

IfJS 8K (ASM) RAM

PROCESSOR APPLICATIONS DMA FLOPPY

DISC CONTROLLER (ASM) TARBELL FLOPPY DISC CONTROLLER TARBELL CASSETTE INTERFACE SHUGGART MODEL 850 TWO SIDED FLOPPY

DISC DRIVE ALL SWTP PRODUCTS APPLE II

MODEL 43 TELEPRINTER (OCTOBER) ADM 3A TERMINAL SOROC IQ720 TERMINAL REPAIRS IN-HOUSE AT LOWCOST CUSTOM SOFTWARE & FIRMWARE

In Snnta Bnrliara, CA Opening Soon In

C.nll (805) 968-0302 Sanin Ann. CA

CQflPJTERi-flOlD

T.M.

16919A Hawthorne Blvd Lawndale CA 90260 (213) 371-4010

II 30lo7:30Tue-Fn ; 1 to 6 Sill Cinsfjcl SuruJ.iv/MoiKli

Circle 31 on inquii-y card.

y^

PRODUCTION LINE

TIME

AVAILABLE IN

JAPAN

AND THE FAR EAST

To manufacture your electronic components or complete units in quantity.

Will call on you anywhere in the U.S. to discuss your requirements.

Write:

TOYO International

898 Chestnut St

Redwood City Calif. 94063 }

(415) 369-5226

V

Circle 153 on inquiry card.

BYTE November 1977

221

which allows a simple and efficient stacked storage management scheme. GRAPL programs are just character strings, so, like LISP, code can be written by other programs and executed. This technique is extremely powerful in GRAPL, because much of the GRAPL system is written in GRAPL to allow user modification. For example, in APL, all function editing is done by special function editing routines in a special function definition mode. Editing must be done a line at a time. Thus, simple tasks, such as changing all occurrences of the name A to the name B, are made very time-consuming. In GRAPL, the function editing routines are written in GRAPL so that they are easily modified or rewritten to suit the user's tastes.

GRAPL has some pattern matching similar to SN0B0L4, which makes tasks such as program editing a lot simpler. GRAPL has a nice set of data types ranging from bit strings to integers to real numbers to three-dimensional points and lines. Needless to say, GRAPL is very good at computer graphics. As well as looping construct, there is a construct similar to a KEIL structure

useful for computer aided instruction and other dialog.

• GRAPL programs are completely free form and, as in the case of FORTRAN, spaces are ignored. This allows programs to be formatted to make reading easier, or allows code to be compressed for efficient storage.

• When a program is executed, it is partially compiled and then executed interpretively. This is one of the fastest methods of execution.

• Errors are handled either by the user or by interrupt routines. Interrupts can be signaled in code or with a timer to allow for such things as concurrent processing and 10, or a limited form of multitasking.

• GRAPL retains the interactiveness of APL.

I have been involved in the formal definition of GRAPL and its implementation on an IBM 370 for a year now, and am beginning a Z-80 version which I hope will fit in 24 K bytes of memory (including some space for user's programs). GRAPL should prove to be not just a pacifier for people who want APL, but a distinct improvement with more general applications. ■

All Prime Quality — New Parts Only

Lowest Prices — Satisfaction Guaranteed

EDGE CARD CONNECTORS: 25 PIN SUBMINIATURE CONNECTORS:

Bifurcated Contacts, Not tin. Gold over nickel. 50/100 Pin (.100 Gold Plated Contacts. Pin spacing). Double Read out.

DB25P Plug $3.10 ea 5 pes $2.95

50/100 Altair Type - Dip Solder Pins $4.25 ea 5 pes $4.00 ea DB25S Socket $3.90 ea 5 pes $3.75

50/100 Imsai Type - Dip Solder Pins $4.25 ea 5 pes $4.00 ea DB51212-1 Hood (grey) $1.50ea 5 pes $1.30

50/100 Imsai Type with Guides $4.50 ea 5 pes $4.25 ea DB51226-1A Hood (black) $1.80ea 5 pes $1.60

Imsai Guides only $ .30/pr 5 pr $ .25/pr

All other contacts available; Solder Eyelet, Wire Wrap, etc. All gold. Buy a complete set: Many other types available: 10/20, 15/30, 18/36, etc. 1 Plug, 1 Socket, 1 Hood (any) $8.00/set When ordering: i-pec/^/fype of co/7f3cf. 5 sets $7.50/set

ea ea ea ea

2708 1 KX8 PROM

$22.95 ea

5 pes or more $21.50 ea

8080A -PRIME

$18.00ea 6 pes $17.00 ea

Write for larger quantity discounts. Dealers welcome.

Minimum order $10.00: Add $1.00 for shipping and handling. Orders over $25.00: We pay the shipping: Calif, residents add 6% tax. No COD's: For immediate shipment send money order or cashier's check.

When ordering:

State method of shipment:

Mail or UPS.

ORDER FROM:

Beckian Enterprises

P.O. Box 3089 Simi, Calif. 93063

222

BYTE Niivembcr 1977

Circle 9 on inquiry card.

< A <

-< M

•4

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

NOT INCLUD ED

ELECTRONIC TOUCH ORGAN KIT

Fantastic new design uses CMOS I.e. and a total of 39 semi-conductors to give a touch control keyboard, all the electronic parts in one PC Board, This organ is easy to build, yet has fea tures like a full two-octave range touch keyboard, variable tremolo; two voices; built-in I.C. amplifier with volume control, complete with speaker and a specially designed plexi-glass case. * Ideal kit for beginner or gift for children $24*50 GO*

Model 250-30A

30MHZ FREQUENCY COUNTER KIT

Take advantage of this new staie-of-lhe-art courtier featuring the many benefits of custom LSI circuitry. This new technology approach to instrumentation yields enhanced performance, smaller physical size, drastically reduced power consumption (portable battery operation is now practical), dependability, easy assembly and revolutionary lower pricing!

• 0.5" red LE D 6 digits display SO * Resolution: 1 Hz at 1 sec. 10 Hz at 1/10 sec.

• Sensitivity: 10 Mv RMS to 30 Hz I * Internal power supply: 5.2V at 1 amp regulated

Includes all parts, * Input corinector: BNC type

PC Board and Transformer * Input power required: 117V AC 50/60 Hz

' Diode protected for over voltage input

onia $59.

CALCULATOR

with STOPWATCH

6 Functions with % and memory

8 Digits big green display

•Built-in X'tal controlled stop

watch count to V10 of a second.

Special Price Only

$16.50 Ea.

IWoll AUDIO AMP

All parts are pre assembled

on a mini PC Board

Supply Voltage 6— 9V D.C.

SPECIAL PRICE $1.95 ea.

2W+ 2W STEREO AMP

2 LM380 I.e., volurno.

Supply vollaga- 9 15V D.C.

Sensiliuity: 1 OQMv for full oulpu

Total harmonic distortion:

1"^ (HJ 1 KHz & 1.5 wati

ONLY $5.75 ea.

SW AUDIO AMP KIT

2 l_M 380 with Volumu Con Power Supply 6'-iav DC

only *5.00eo.

TIMER KIT

Time Controlled from l-100sec.

Iileal to he used as time delay unit for burglar alarm, photo service, and other purposes. Max, loading 110V, 2 AMP. Supply voltage 12-18V D.C.

- T.MEB $11.50 each

ELECTRONIC ALARM SIREN

COMPLETE UNIT

Ideal for use as an Alarm Unii

or hookup lo your car back u|

to make a reverse indicator

Light Output up to 130 dS.

VoliagpSiipply 6'~12V *_ g^

19 KEY HEXADECIMAL KEY PAD

• 1 —0 . Homekev

•ABCDEF •■S'-^Key

SPECIAL $10.50 ea.

^ovT^ost Hexadecimal 16 Key Pad

r Digital Lock ik ■.A/ith super ) S0.95 ea.

DIGITAL ELECTRONIC LOCK KIT

%,!«,■?»■ ■ $6.50 ea. r,oo,.b.„u,.,<,.„..

l,-*Jfc»».f» CMOS I.e. '■ °.?,''v'':°»'?";?''';

IN CI RCU1T V '-U

■lOOn. RELAY ArjD KEY PAD NOTir^CLUDED

POWER SUPPLY KIT

0-30V D.C. REGULATED

Uses UA723 and 2N3055 Power TR output can be adjusted from 0-30V, 2 AMP. Complete with PC board and all electronic parts. ,'30 POWER SUPPLY $9.50 eBch

MA1003. 12V DC CLOCK MODULE

Built in X'TAL controlled time base. Protected against automotive volt transients. Automatic brightness control with 0.3" green color display. Display turnof'f $19 50 with ignition "OFF".

1

'•' ^

'mms

{■:

't' 9''

J

LCD DICITAL THERMOMETER

Desk Top Model 66° - 86° F

Only $3.75 each

QUARTZ CRYSTALS

r\

10 MHZ 3.579 rvlHZ Color TV Tvi

S5.25 SI 2b

<fi'

(^ CB MICROPHONE

J

500 MIC for CB Unit

Talk Switch with

Connector and Cord

$2.50 each/3 for $5.00

CLOSE OUT SALE

TV CAME MODULATOR UNIT

FCC Approved

Ni-CD

RECHARGEABLE

BATTERIES

AA SIZE. 1.2V C SIZE, 1.2V SUB C SIZE F SIZE, 1.2V

SI.25 ea $1.50 ea SI ,50 ea $2.50 ea.

5 SUB C 6V PACK $4.90 ea.

BATTERY HOLDERS

lor 9V 006P (Clir>s)0,25 on.

tor 4 AA size 0.40 ea.

for 6 AA siri; 0.50 i;a

for 2 C size 0.35 o.i,

for 4 C size 0.50 ua.

for 6 D size 0.50 ea.

ON-SCREEN TV CLOCK KIT

Same one as in July Radio Electronics. Kit Includes PC Board, MM531S and MM5841 chip. All other electronic parts with transformer.

ONLY $21.00

BIPOLAR LED

Jumbo Size red/green change color when reverse polarity of voltage.

Ideal for go/nogo indicato Two for SI .00

0 "Cwlh

I.C. TEST CLIPS

Same as the E Z cli[:

Wilh 20" Long Learl

Hack and Red Coh

$2.75 per pair

ELECTRONIC SWITCH KIT

CONDENSER TYPE

Touch on Touch Off

use 7473 LC.

and 12V relay

$5.50 each

SOUND ACTIVATED SWITCH

Sub-Mini Size

Condenser Microphone

$2.50 each

FET Transistor Built-in

SIGIMA 78REI, 12DC RELAY

400n COIL SPOT $1.30 ea. or 10 for $10.00 ALL BRAND NEW UNITS

►

COMPUTER GRADE CAPACITORS

0

5,600 MFD 60V S2.20 e

10.000 MFD 50V 53.25 e

n,500 MFD7!5V S3.95 e

34,800 MFD iSOV S4.25 e

39,000 MFD 12V S2.00e

100,000 MFD 6V S3.50e

TV Comes

nATtMKi

. 4 Games-Tonnls. Hockev. Racquet Handball and Sin

WIRE

WRAPPING

TOOL

$29.50

Wire Wrapping

In Bulk 100' $2.00

500' $8.50

Sub Mini Size ^ PANEL METER

500 UA

ONLY $1.20 ea

'=^.

10

MATCHED PAIR

POWER TRANSISTORS

flOTOBOLA WJE2955 PNP MJE30G5 NPN ilP 60 VOLT 90 WATTS

$2.25 PER PAIR

TRANSFORMERS

ALL 1 17 VOLT INPUT

p S30.00 ea. p S 4 GO aa. n S 4.50 ea. |) S 4.50 oa. up S 3,90 ea.

AC POWER SUPPLY

^ Adapter Typa Tranjtormar 12V AC Output 200 MA $2.75 each 6V DC Output 130MA $1.90ea. 8.7VDC Output 130MA $1.90 8a. 12V DC Output 100MA $1.90 ea.

150UAIVIETER only $1.50 ea. ' Pi?!*-«

50 UA PANEL METER

j^^^B J

CLOCK KIT

MOST POPULAR

MM53iq KIT

A N [ W C A 1? ?d Ho,,F lO 60 HI lM,,ur 6 IJigiii

Speciol Only 314.95 ea.

MINI-SIZED LC. AM RADIO

Size sn-ialler than a box of matches!!

Receives all AM stations

Batteries and ear phone included

Only $8.50

.^

TOGGLE SWITCH

(uH-sizc 1)1 siibmini locjcjly s^Mich r.ilecJG limp 135V AC coniucl

19 10 99

/IS 2432P SPST 0 90 0 80

HT, 244 SPOT I 00 0 90

<1S 24'-3 DPDT 1 20 1 10

LARGE QUANTITY AVAIL

SUBMINIATURES TOGGLE SWITCHES

/ / SWIK

^ -: J -i DPIIT On OH

'Jlinli

JOY STICK

only $5.50 ','°',7:

PUSH-BUTTON SWITCH

N/Open Cont^cl 5^^ Color: Red, White, Blue, Gteen, Black. 4/$1.00

. ;^^k N/Clnsc also

^HP Available SOu ea.

\^ LARGE QTV AVAILABLE

SOLID STATE ELECTRONIC BUZZER

UM DFIDE R $10 00 California rosirlents aitd 6"

age tor out o' state Overseas coiintnos and 15^

SQND CHECK OR MONEY ORDER TO

#^ FORMULA INTERNATIONAL INC.

12603 CRFNSHAWBOULEVARD • HAWTHORN[.CALI[ORNIA 902')0

For n,o'<- ,nfo'mjt:on ph'ase call I? 131 679-5162

STORE HOURS !0 7 Mand.iy S^^wrday

► ►

►

► ►

►

▼TTTTTTTTTTTTTTTTfyTTTTTTTTTTTTTTTTfTTTf▼▼??▼▼▼?▼?▼▼▼?▼▼?▼

Circle 59 Ofi inquiiy card.

liYTE November 1977

223

Mark Dahmke

1393 8th St

David City NE 68632

Virtual Memory and VSAM for Micros

Concerning the APL articles in tine August 1977 BYTE, I have not yet seen any mention of direct access file handling for APL. Since many small systems users are processing text, mailing lists, medical records, and scientific data, file searching on a floppy disk would seem to be of great importance.

In the past, the disk or tape access method software was generally cumbersome (and still is in languages like FORTRAN). Unfortunately, I am seeing the same mistakes made in the software development on microcomputers. I suggest taking a look at the virtual storage techniques used on systems like the IBM 370. A special access method called VSAM has been developed that allows data on disk or tape to be treated as if it were in programmable memory. Instead of giving a file record number, or track and cylinder address, one simply gives the address of the particular byte or block to be retrieved, and VSAM does the conversion to physical address. This also makes VSAM device independent!

My suggestion is this: instead of adding features to the interpictcr (in the form of READ and WRITE commands as in FORTRAN) to handle direct access files, why not make the entire disk surface part of virtual memory. The available space will be the same as if the older direct access methods are used, but this gives the user the opportunity to store large files and data as arrays in memory. Thus one storage method is used and each disk surface can be treated as one large APL (or other language) workspace.

Since reference was made in one article to the difficulties of handling large arrays in user programmable memory, and the need for more than 20 K of memory to hold the interpreter and workspace, the use of a floppy disk as virtual memory could alleviate most of the problem. In fact, 1 used to work with APL on an IBM 1130 with one disk and only 8 K of core memory and almost all of the workspace was kept on disk. Most of the 8 K not used by the interpreter was used as temporary storage.

I hope that those who write the new APL interpreters will consider what the new technology has to offer before following the old designs."

New 8080 and 8085 REFERENCE GUIDE

A TOTALLY NEW CONCEPT!

SAVES TIME AND MONEY!

MAKES YOUR JOB EASIER!

A powerful new tool for every serious 8080 user — professional and novice alike. Priceless timesaver for engineers, technicians, and programmers. Saves time and money in the lab, on the production line, or in the field.

Convenient pocket size — 3% by 7% inches — gives quick and easy access to all vital reference data. No more searching here and there for codes, instructions, or definitions. It's all there — at your finger tips — everything you need to successfully use the 8080A and — Intel's new 8085 microprocessor.

Features cross listing, for rapid assembly and disassembly, of MACHINE CODES and

MNEMONICS • Concise description of 8080 and 8085 OPERATIONS, SIGNALS,

PINOUTS, and INSTRUCTIONS • Convenient cross conversion of OCTAL,

HEXIDECIMAL, DECIMAL, ASCII, and EBCDIC codes • Easy-to-read tables of powers

of two, eight, and sixteen ... and much more...

Sturdy • Handsome • Easy-to-use • Data Packed

Your timesaver will give many years of professional service.

$12.95 each (plus postage & California sales tax) — 25% discount for 4 or more.

MoneyBack Guarantee: You must be fully satisfied or simply return the guide within 15 days forfull and prompt refund.

URBAN INSTRUMENTS

4014 CODY ROAD • DEPARTMENT C1 • SHERMAN OAKS • CALIFORNIA 91403

PLEASE SEND.

NAME

STREET

CITY

STATE

. 8080 timesavers to:

CHECK/M.O. ENCLOSED n BANKAMERICARDD MASTER CHARGED

CARD NUMBER

GOOD THRU 4 DIGITS ABOVE NAME

.ZIP SIGNATURE

(MASTER CHARGE)

224 BYTE Ni.veiiilicr 1977

Circle 154 on inquiry card.

Circle 111 on inquiry card.

Page Digital Electronics

m

1701 East Orange Grove Blvd Pasadena. California 91104

Orders under S25 and COD Orders add S2 All oihurs shipped UPS Ppd. We accept Visa and Maslercharqe

Orders under $25 and COD's add $2 All others shipped UPS Ppd. Visa and Mastercharge accepted

(213) 797-4002 or 797-4007

Lowest Prices on Wire Wrap Supplies!

Precut W

ireW

rap Wire

i?30 Kynar w

re

100

500

1000

5000

3 "

3'a" 1

.82 .86 90

2.60 2.80 3.00

4.71 5.12 6.62

4.22 4.55 4.88

rl'.i 5

5'.'." 6

.98 1.02 1.06

3.21 3.42 3.65 3.85

5.93 6.34 6.75 7.16

5.21 6.52 5.86 6.19

6'/.." 7

7'/." 8

1.16 1.20 1.25 1.29

4.05 4.25 4.45 4.65

7.57 7.98 8.39 880

6.52 6.85 7.IS 7.53

8Vi" 9

gv;"

10 1

1.32 1.30 l.slQ 1.15

4.85 5.05 5.35 5.51

9.21 9.62 10.03 10.44

784 S.I 7 8.50 8.83

Arld^

.10

.41

.82

.60

Color Block end.

: Red, Blue, White, Ye All lenyihs are overall

low vilh

Orange, 1 strip o

Green, n each

J

Wire Wrap Tools

BW360

Baiiery Operated

Hobby Wrap Tool

Auto-lndexing

Exlra Bil S2.75

C Batteries 2/S5

26-28 AWG Bii S7.50

WSU30iooi Hand Wrap/Ufiwrap/Strip S5.50 WSU30M SnrTiL' but wraps IK turns insulation S6.50

BulkWI

re

Wrap Wire

1 roll

5 rolls 10 rolls

50(1 100 11 250 h 1000 ft

1,25 2.00 4.O0 12.00

1.15 1.00 180 1.75 3.60 3.00 10.00 8.00

J

Wire Wrap Starter Kits

Kit 1 S5.95

250

3" 100

4'/;"

Kit 2

250

3'/, 100

5

S19.95

100

4 100

6

500

3"

Kit 3

500

3V. 100 5'.1

$8.95

500

4 100 6

500

4 7, 100 6',,

50

3 1 WSU30 1

250

5 100 7

50

4 1 soft

roll

1 Ro

1 250 wire

50

5 wire

J

Interconnect Cables

Riblioii cable connectors foi connectinti boards 10 Ironi panfils, 01 hoard to board.

Single Ended Double Ended

H pm 16 pm 24 pm 14 pin 16 pin 24 pin

6" li24 1.34 2.05 2.24 2.45 3,73

12" 1.33 1.44 2,24 2.33 2.55 3,92

24" 1.52 1.65 2.63 2.52 2.76 4,31

48" 1.91 2.06 3.40 2-91 3.17 5.08

Wire

Wrap Sockets

Gotti 3-Lci/el Closed Entry Design

V9

10.24

25.99 100.249

250999

IKSK

* 8 pin ■ 14 pin

• 16 pin

.41 .42 .46

.38 .39 .43

.35 .31 .36 .32 .39 .35

.29 .29 .32

.27 .27 .30

' IBpin

20 pin

• 22 pm

.63 .84 1.30

.58 .78 1.20

,54 .47 .71 .63

1.10 .95

.44

. .59

.90

.41 .54 .84

24 pm

28 pm 40 pjn

.91 1,25 1.65

.84 1.15 1.55

.78 .68 1.08 .95 1.42 1.25

.64 .89

1.15

.59 .82

1.09

•End and

ide stackabk

sockets

'

Wire Wrap Boards

WW

H

^

10.24

Connector

HPCBl 4x4%

44

Buses on both sides

4.75

4.50

4.00

3.00

3662 4x6

44

Blank

6.25

5.85

5.50

3.00

3682 4x10

44

Buses on one side

10,50

10.00

9.60

3.00

36822 4x6

44

Buses on one side

9.50

9.00

8.25

3,00

40664 4x6

72

Buses on both sides

13.50

13.00

12.50

4,00

37191 4x6

72

Blank

9.00

8.50

8.00

4 00

3719.4 4x10

72

Blank

11.00

10.50

10.00

4,00

4350 7x9'/,

80

Buses on both sides

17.50

16.50

16.00

7,00

8800V 10x5.3

100

Buses on both sides

19.50

17.96

16.95

5,00

169PS4 8'/..xl7

_

Blank

6,25

5.75

5.25

_

4K RAM BOARD

Assembled and tested

$89.95

See kit below. 4K RAM BOARD KIT

450ns Access RAMs Fully Buffered Low Power Static 5V only

$79.95

4y2 X 6 inch board

Buy 4 RAM Board kits at $79.95 each and an 8 slot Mother Board is yours Includes 8 connectors and card guides, FREE.

MOTHER BOARD

8 SLOT 44 PIN BUS

50 Pin Edge Connector

80 LINE DIGITAL I/O BOARD

-Bus Fully Buffered — -I/O Includes 4-6820 PIA's -Compatible With Our Bus -5V Only

KIT $59.95

Mother Board $20.00 ea Connectors 2.50 ea

Card guides for above $10.00 per set.

2102 — $1.30 Multiples of 25 only. Low power, 450 n.s. Access and cycle.

MAKE CHECK OR MONEY ORDER PAYABLE TO:

Kathryn Atwood Enterprises P.O. Box 5203, Orange, CA 92667

Discounts available at OEM quantities. For orders less than $25.00 total, add $1.25 for shipping. California residents add 6% sales tax. Estimated shipping time 2 days ARO with money order. For checks allows 7 days for check to clear.

Circle 5 on inquiry card.

BYTE November 1977

225

(jlsseined Ade

FOR SALE: Two Vtatron 21s, one with robot printer. Also, SwTPC 6800 with Ct 1024 factory tested. Two credit card readers. One Univac typewriter terminal. Best offer. Greg Ludwig, POB 408. Rice Lake Wl 54868. (715) 234-2680.

SWAP: YASEU FTDX570 amateur transceiver in mint condition for Altair or IMSAI Microcomputer. Specify cash differential and write Tom Harmon, R4 Magnolia Dr, Salisbury MD 21801. (3011 742-4742.

WANTED: Software for the Fairchild F8 microcomputer. Lloyd Lawrey, 8926 N Sammy Ln. Kansas City MO 64155.

EDITOR ASSEMBLER: Enhancements for the IMSAI SCS-1. Have package which will add resequencing of the current file on command; printing of the symbol table on command; a new op code, ASC, which will allow an ASCII string constant of up to 30 characters to be defined per line of source code. Package is stored in memory locations 0E50 — OFFF. No additional memory required. An INTEL checksum paper tape containing object code, a complete source listing, and complete documentation for $7.50 postpaid. James E Bell Jr, 491 Johannah PI, Lilburn GA 30247.

FOR SALE: A dozen bidirectional 1.8" stepping motors, new, unused. Computer Devices Model 23H-02, $35 each. Requires 0.5, 1A/15, 25 V power supply. Driving (stepping) circuit can be assembled for less than $10. Easily controlled via a parallel 10 port on a microcomputer. Ray Wilhelm, 40 Bear Mountain Rd, Ringwood NJ 07456.

WANTED: BYTE issues 2, 3, 8 and 9. Contact Larry F Tonar, PFC 547969268, B Co 1st Br USAISDSB, POB 921, Fort Devens MA 01433.

COSMAC: Does anyone in the San Francisco CA area have a COSMAC system? If so would you tike to start a COSMAC users group or club? Write or call Don Heiden, 1361 Kansas St, San Francisco CA 94107, (415) 285-6966.

FOR SALE: SwTPC 6800 computer with 16 K memory $600; AC-30 cassette interface $60; and a Lear Siegler ADM-3 dumb terminal $700. All components of this system are burned in and working. I will also include 4 K and 8 K BASIC, Star Trek, and other software free. John Victor, 11 Idar Ct, Greenwich CT 06830, (203) 869-4479.

FOR SALE: New SwTPC CT-1024 video terminal, KBD-5 keyboard option, CT-CA cursor option, CT-S serial option, CT-P power supply, in custom black metal case, running and ready to plug into your SwTPC 6800, S450. Reason for selling, using HAL DS-3000 for both ham station and computer. K Slobb, W9BT, 1605 Oakwood Rd, Northbrook IL 60062, (312) 272-1223.

FOR SALE, HP9815A programmable calculator with extended memory, carry case, four cartridges, thermal paper, manuals; excellent condition, over S3600 new. Asking S2600. Walt Goldys 200 S Glenn Dr, =530. Camartllo CA 93010. (805) 482-4674,

FOR SALE: 113 pomt EDP physical security checklist with risk management briefing and bibliography. S5 postpaid. D J Scherer, 29 Reymont Av, Rye NY 10580.

FOR SALE: ASCHSCOPE 12 by 80 $550 with documentation; Solid State Music MB3 with 4 K 1702A $125; MITS 4 K Dynamic £125; Proc Tech VDM $170; 3P and S $135; Pennywhistle MODEM $80; OAE Tape Reader $65; IMSAI 4 K STATIC $120. All assembled fully socketed and factory checked out. K R Roberts, 10560 Main St, Suite 515, Fairfax VA 22030.

FOR SALE: One IBM Model 735 10 Seleciric typewriter. Correspondence wiring. 15 1/2 inch platten and prints 132 columns. Good documentation. Good condition. $650. Sam Weiman, 9396 Fernbury, Cypress CA 90630. (714) 827-7432.

FOR SALE: New Sphere computer system, still in unopened boxes from factory. System contains: 24 by 80 chr CRT, 36 K programmable memory, 2 serial interface ports {one cassette), 4 parallel interface ports, keyboard, power supply, dual Orbis floppy disk drive, and an Okidata line printer with tractor feed. Price $6850. T W Reeves, 290 Almak Ct NW, Issaquah WA 98027. (206) 392-1447 or (206) 655-5308.

FOR SALE: Complete set BYTEs, 1 to present, $75. John Wagner, 2175 Wagner Dr, Caro Ml 48723.

WILL SELL: 15 cps Selectric 10 printer, 1621 paper tape punch and reader, IBM console keyboard printer, for best offers; IBM 1311-3 2M drive with two disk packs, $400 or best offer. All stuff with full documentation. Henry Birdseye, 316 Jefferson NE, Albuquerque NM 87108. (505) 268-4727 10 PM to 11 AM.

FOR SALE: IMSAI PI04-4 parallel and SI02-2 serial interface boards. $155 each, cables also available, Various 4 K programnnable memory boards, $125 each, all assembled and tested. BYTE numbers 1 thru A, $10. Trade any boards toward floppy disk? Dieter Kaetel, 7201-87 SE, Mercer Island WA 98040. (206) 232-1513.

FOR SALE: Pertec 7850 9 track magnetic tape drives with elec, $275 with manual; ±12 V 3A and ±5 V 5A supplies, $25; Superior Elec TRP125 120 bps optical reader, $200; iVC 600 color video recorders with manual S300 (originally $2700) with tape; MSI FD8 disk case and power supply $85. Gary Gaugler, 2276 Beaver Valy Rd, Fairborn OH 45324. (513) 878-0288.

FOR SALE: Teletype Model ASR-33 with MITS call-control unit Model 88-TYA, stand and one case of roll paper, brand new, never used, S995 or best offer. Bob Majdanski. 214 Coolidge Av, Hasbrouck Heights NJ 07604. (2011 288-3742 after 7 PM.

FOR SALE OR TRADE: Texas Instruments LCM-1001 Microprogrammer trainer with manual and book. Software Design for Microprocessors,

all m excellent condition. $100 or in trade towards HP-25, 55, 65 or amateur radio gear. Also have complete file of BYTE in mint condition for sale or trade. David J Lowenstein, 235 E 15th St, Tempe AZ B5281. (602) 966-0140.

FOR SALE: New (three months oldl) IMSAI 8080 microcomputer system. This complete and functional system includes: Seals 8 K memory. Polymorphic video display board connected to GBC monitor and SwTPC keyboard. Tarbell cassette interface attached to GE cassette recorder, assembler and BASIC on tape, all manuals, monitor, keyboard, and recorder disconnect at back panel for greater mobility. Perfect for hobbyist, $2350. Joel Schwartz, 5 The Maples, Roslyn Estates NY 11576. (516) 484-5732.

FOR SALE: 3M DC300A data cartridges which work in the IBM 5100, TEKRONIX, DEC and similar equipment at a club price of $18 per data cartridge plus the cost of postage. IBM 5100 Users Group, c/o HITS !nc, 5541 Parliament Dr, Suite 104, Virginia Beach VA 23462. (804) 490-0154.

FOR SALE: Complete NCR 315-100 data processing system. Includes 31S~100 mainframe, console with 1933 Teleprinter and power supplies, 10 K by 12 bit core memory, five 334 7 track Vi inch magnetic tape drives, 340-503 high speed printer (120 characters per line, 800 lines per minute) and an IBM 1442 card reader/card punch. All units are intact and in perfect operating condition. Complete schematics, service and operating manuals are included. Looking for offers on all or any part. Gary Boehm, 1671 Timmy Dr, Hamilton OH 45011.

FOR SALE: HP9810A computer system including 10 by 15 inch plotter; audio cassette data storage unit; ROMs for plotter, cassette, math functions, alphanumeric printing, definable functions; plus lots of general-purpose software written by HP and me. This system is ideal for a scientist or engineer doing independent research who cannot afford a full-scale computer system, but who needs good quality plots for publication in journals. West Los Angeles area. Call Gary Bedrosian weekdays at (213) 478-3035.

FOR SALE: BYTE #1, 2 and 3, $25; ^ and 10, $15; all five, $30. Wanted: Used, working microcomputer system under $1000. Donald Erickson, 6059 Essex St, Riverside CA 92504, (714) 6875910 2 PM to 9 PM any day.

FOR SALE: Viatron Print Robot and plans for interface, $60. Converts Selectric and other typewriters to printers without internal mods, via keyboard. Like new, G Lyons, 280 Henderson St, Jersey City NJ 07302, (201) 451-2905.

Readers who have eQuipment, software or other items to buy, sell or swap should send in a deariy typed notice to that effect. To be considered for publication, an advertisement should be clearly noncommercial^ typed double spaced on plain white paper, and include complete name and address information. These notices are free of charge and will be printed one time only on a space available basis. Insertions should be limited to 100 words or less. Notices can be accepted from individuals or bona fide computer users clubs only. We can engage in no correspondence on these and your confirmation of placement is appearance in an issue of BYTE.

Please note that it may take three or four months for an ad to appear in the magazine. ■

FOR SALE: Altair 8800a processor $600, 88 4MCS 4 K static memory card $200, 88-16MCS 16 K static memory card $800, 88-DCDD disk drive and controller $1500, 88-2SIO serial Teletype interface $150, 88-ACR audio cassette interface $150. All units factory assembled, tested, brand new. Factory new ASR-33 Teletype $1000. Michael Clark, RD 3, Nazareth PA 18064. (215) 759-6873.

TRADE: First 24 issues BYTE magazine for RO/ASR 33 in good condition. Alvin L Hooper, 207 Self St, Warner Robins GA 31093. (912) 923-5235.

FOR SALE: Card reader, 100 cpm optical NCR EM-D2, also with spare parts, $75. Arthur Okun, 1803 N Mulligan Av, Chicago IL 60639. (312) 637-0938.

FOR SALE: Six 4 K dynamic memory boards (MITS), $150 each, and two 4 K static boards, $150 each. Robert K Snider MD, Medical Arts Center, 1230 N 30th St, Billings MT 59101.

FOR SALE: 6800 microcomputer system: CPU board with 1 K EPROM (monitor, debug, assembler, editor), 4 K RAM, '/2PIA; 16 K RAM memory board; video interface (16 by 32); serial 10 with two ACIA ports (audio KC standard and baud select RS232), EPROM (load and dump), and PC wiring for TTY/TTL/modem; 9 inch TV monitor; cassette recorder; manuals, schematics, documentation; software on cassettes includes Tiny BASIC, games, and more. Price: $1800. Contact David Oomorest, 12697 Graton Rd, Sebastopol CA 95472, (707) 823-1698. Factory assembled and tested.

226

BYTE November 1977

FOR SALE: Sphere 330 Computer System. Includes: 68CX) CPU, 20 K memory. 32 :< 16 video interface, ASCII keyboard and interface, dual cassette interface, case less cover, power supply, manuals, monitor, editor, and debugger routines in ROM including cassette 10, 16 bit math, etc. Will also supply Tiny BASIC and 16 K BASIC. Complete system as a kit originally cost over $1700. This is an assembled, tested, burned-in system for only S1500. First check to clear takes it all. Write Richard H Rae, POB 791, Emporia VA 23847.

WANTED: Listing or source of listing of assembler program for 8080 (home-brewed RM-8080). for reasonable price. T P Douglas, POB 1012-C, La Junta CO 81050.

FOR SALE: VIATRON microprocessor system. Includes keyboard, two cassette transports, video monitor, and power supply. Only $400. Write or call Mike Vitale, POB 22, Suncook NH 03275. (603) 485-4006.

FOR SALE; Frieden Selectradata paper tape reader and card reader S50 each. R Rodgers, 11 Skip Rd, Norristown PA 19403. (215) 279-5761.

WANTED: Medical software, also artificial intelligence and robotics. Send description and price or trade. Rob Lufkin, UVA School of Medicine, Charlottesville VA 22901.

FOR SALE: Altair 8800, 4 K static, 4 K dynamic. Serial 10 (RS232 compatiblel, Tarbell cassette interface, complete documentation, new cost $1576, barely used and totally functional, $1375 or best offer. Norm, 8508 Lurline Av, Canoga Park CA 91306. (213) 341-1275.

FOR SALE: First 24 BYTEs, all like new. Best offer. J L Cutright, 1417 N Hoyt, Chillicothe IL 61523.

F-8 USERS: Have designed a 4-1/2 inch by 6-1/2 inch double sided PC card with plated thru holes for an F-8 system consisting of a 3850, 3853, up to two 3851 or 3861 chips as well as space for two 2708 or 2716 EPROMS. For dedicated applications where no programmable memory is needed. Need to sell ten at $250 each to recover costs of development and prototypes. Homer S White, 3314 Pickett Rd, Durham NC 27705.

FOR SALE: QUME Sprint 55 printer, equivalent to Diablo printer but better and faster. Has been modified by factory to use Xerox print wheels, including proportional spacing wheels, new. I paid $2950. Please bid. Puran, POB 135, Jamaica Plain MA 02130.

FOR SALE: Video checkers on Tarbell compatible cassette. Plays under MITS 8 K BASIC. Total of 16 K memory and Poly Video board required. Send $10 postpaid for cassette and complete documentation to Marv Mallon, 6914 Berquist Av, Canoga Park CA 91307.

FOR SALE: IMSAI 8080 with 22 slot mother board S649, Polymorphics video board VTI-64 $199, Vector Graphics 8 K memory board $235, Solid State Music 8 K memory board $225, Radio Shack keyboard with custom case $49, and a Tarbell cassette interface $109, assembled, tested, in excellent condition. B Marr, 1800 Brea Blvd, Box 18, Fullerton CA 92635. (714) 870-1387.

FOR SALE: Line printer, 300 cpm 132 column drum printer. Operational Mohawk Data Sciences series 4000 has full documentation and 63 printable character set. Best offer over $800, FOB Madison Wl. Richard Whitnable, 425 Sidney St, Madison Wl 53703. (608) 256-3789.

WILL TRADE: November 1975 BYTE for December 1975 BYTE. My November issue is in very good condition. Elliot S Wheeler, 101 Volney St, So Houston TX 77587.

WANTED: Two 1 K memory boards for Mark 8 microcomputer (from July 1975 Radio-Electronics) as produced by Techniques Inc, prefer unpopulated boards. Jeff Lesinski, 1241 Staley Rd, Grand Island NY 14072. (716) 773-3783.

WANTED: Old PDS 1020E paper tape software. Can copy and return. Also need any circuit board for connectors. Dave Overton, 1709 W 30, Austin TX 78703.

FOR SALE: QUAY 80A1 do everything processor, a complete Z80 stand alone computer. Add Teletype or RS 232 terminal and you're up and running with 1 K static programmable memory (low power), 512 byte (ROM) monitor, 4 UVEPROM sockets (2708), UVEPROM programmer, and more, assembled and tested $425. Also TDL ZPU with software (8 K BASIC, 2K monitor, text editor, macro assembler) all on original paper tape with documentation, assembled and tested $225. MFE Model 250 super cassette, high speed drive (40 ips) new with case, connector and much documentation. Cost $510, your cost $225. Paul Lamar, 1024 17th St, Hermosa Beach CA 90254. (213) 374-1673.

FOR SALE: Altair 8800 Computer, with 20 K of fast (no wait state) programmable memory, 1 K of slow (1 wait state) programmable memory, 2 K of ROM, Processor Technology video display module, and 3 parallel and serial interface cards. MITS audio cassette interface card. Price: $1500 firm. I will pay shipping. M Harris, POB 1053, New Britain CT 06050. (203) 225-0504.

FOR SALE: Two MITS 88-S4K (4 K synchronous) memory boards, $110 each. Two MITS 88-4MCD (4 K dynamic) memory boards, $90 each. All boards assembled with sockets for each integrated circuit. Every bit OK. A spare 4 K memory chip is included if you buy all four boards. Harold Corbin, 11704 Ibsen Dr, Rockville MD 20852. (301) 881-7571.

100% GUARANTEE!!

rantee the products we sell, refund or replacement for any tisfactory product returned with5 days of purchase. Our magnetic Tiedia is certified 100% error-free, and shipped fresh from refrigerated storage, and our ICs work properly!

Free catalogue of ICs, Components, Word Processing Supplies, Useful Devices, and Equipment sent in response to each inquiry and order. Call for quantity and special group discount programs.

Electrolabs

TRICK OR TREAT!!

POB 6721, Stanford, CA 94305

415-321-5601

LS 7031 8 decade counter & 7seg. driver all on one 40 pin chip. Uses +5 only 15.95 {includes schematic and app. note) MArM6640 dual .6" orange hi-intensity 2.95 Gould 2 AMP-HOUR ■'C'^' size NICADS 3.95 MM74C926N 4decade counter/driver 5 95 MM5058N/2533V 1024 Static S:r: 10/9 95

^

TANTALUM CAPACITOR SPECIAL: 22uFd/3SVDC 10/3.99

These are CS R13 type and offer excellent bypass, filter and coupling performance out to GHz. frequencies. Perfect for memory and digital.

Vl" VIDEO TAPE By major US Manufacturer, but NOT 12.99

Memo rex . Absolutely guaranteed to cause neither head in/I TO QC

clogging nor excessive wear. 2400 ft.XVi inch for one hour '"/' '-'--'-> play on Sony, g:E!, Panasonic and all other Monochrome and color EIAJ standard machines. Call for prices on sizes lo fit Sony Portapack, and for other lengths. Our bulk purchase makes this offer possible. Splice-Free, and shipped in an attractive permanent black plastic storage box. Vl" format is the highest performance per dollar. Normally S22.95.

APL Programming language selectric printer balls 29.00

VADIC Modem Cards. Complete, requiring only +_12V, +5V, and 22 pin connectors .for Bell 103 Grig./Answer service: 79.95

SMOKE DETECTORS save your life, your lab, your computer. Mfg. by BRK. We think that this is the most reliable unit on the market. Same as the one demonstrated on TV for Pittway by William Conrad. In addition, this unit will function for more than a year on an .

inexpensive 9V cell, in contrast to many others requiring a 5- 29.95

7 dollar battery. Nationally advertised at S39.95. Specify battery or 1 lOV.

LINEAR

LM323K

5.95

CPUs, Support, & PROMs

LM309K

0.99

Z-80 39,00

LM31 7K

2.95

SOaOA 11.95

LM375rM Xtal Osc. Ck

. 2.75

8X3001 55 00

MEMORY

8228 7.29

MCM6S10L-1

2.95

8216 2.39

21L02 1

1.25

AY5 1013 4 95

9341 1 DC

1.00

8223 PROM SPECIAL 10/9 95

C21 14

UPD41ID4 135nS.

1 .00

19.00

3.95

UPD371D Cassette Cntr:. 49.00 UPD372D Floppy Cntrl. 52.00 82S2708 70nS. Pin for P. 29.95

For each C2716, or TMS2716 purchased before 1, Jan. 1978 we will donate S2.00 to UNICEF tn your name, and issue you an equal amount in credit towards your 1978 purchases.

UVEPROMS

C2716

5V Only

59.00

TMS2716

3 Supplies

49.00

C2708

Indus. Std.

18.95

C2708

(650nSec.)

14.95

C1702A

2K

4.95

CI 702

2.25

MIV15203Q

2K

. 2.95

MM5204Q

4K

9.95

\ferbatim

Removable Magnetic Storage Media

manufactured by

Information Terminals Corp.

MinlDisks

5 Per Box. Ea. Box

10 Boxes, Ea: 50 Boxes, Ea:

MD525-1 (Soft Sector) MD525.10 (Hard Secto: MD525-16 (Hard Secto

Flexible Disks

29.95 10 Holes! 29.95 16 Holes) 29.95

26.95 26.95 26.95

10.49 11.29 11.29

2 Per Pkg.

FD34.1000 (Soft Sector ISM Std.) 11.95 FD32.1000 (Hard Sector, Inner) 12.49

FD65 1000 (Hard Sector, Outer) 12.49

Flippy Disks 10 Per Box:

FD34.2000 (Soft, IBM) 89.30 80.30

FD32-2000 (Hard, Inner) 93.80 84.40

FD65 2000 (Hard. Outer) 93.80 84.40

Digital Cassettes 2 Per Pkg.

1-150 For all "Kansas City" and other digital recording wil

8.90 8.50

R-300 Digital Direct 11.99 10.99

24.25 24.95 24.95

9.49

10.19

10.19

72.30 75.90 J 75.90 Ji

audio decks. ^^ 7.49 9.99

Circle 54 on inquiry card.

BYTE November 1977

227

Whsl's New?

A New Bar Code Scanner

Micro-Scan Corporation lias announced a new bar code scanner designed to read bar code programs as featured in BYTE. Tlie unit, called the Micro Scan, is capable of scanning varying contrast ratios (photostatic copies can be read) at rates of 1 0 to 36 inches {25 to 91 cm) per second. Documentation of loader programs for the 6800, 6502, 8080 and Z-80 processors are provided with each scanner. Power supply requirements are 11.5 to 18 V, unregulated. The Micro Scan Is available for $97.50 from Micro Scan Corporation, POB 705, Natick MA 01760, (617) 655-5406."

Circle 51 7 on inquiry card.

Shield and Seal for Real

A new conductive material with excellent sealing properties has been announced by Radeon Corporation, 246 Columbus Av, Roselle NJ 07203, (201) 241-5550. Free samples as well as a data sheet giving compression and electrical characteristics are available upon request. The material, called Multi-Con 2, is priced based on customers' applications."

Circle 518 on inquiry card.

An Unregulated DC Power Supply for Microproccssor(s)

A new DC power supply which provides unregulated power to microprocessors and peripheral equipment has been announced by Standard Power Inc.

Designated the SMP-30B, the unit provides three voltages of 9 VDC at 1 A and ±18 VDC at 0.5 A. It may be operated at 115 or 230 VAC, 50 or 60 Hz input.

Priced at $27.50 (single quantity), the unit measures 3 3/8 by 3 3/8 by 4 3/4 inches (8.57 by 8.57 by 12.1 cm) and weighs 2.1 pounds (0.95 kg).

Details are contained in Standard's Catalog C477, available on request from local distributors, or from Standard Power Inc, 1400 S Village Way, Santa AnaCA 92705, (714) 558-1172.

Circle 519 on inquiry card.

Attention APL Lovers. . .

MCM Computers is a Canadian firm which has been marketing small desk top APL machines for about five years. As this issue was going to press, we received word that the company is making available a $5000 package consisting of a complete self-contained computer with APL interpreter and dual cassette tape drives for work space. Contact the US office, 2125 Center Av, Fort Lee NJ 07048,(201) 944-2737."

Circle 520 on inquiry card.

r^^

^ CLjbercDm boards

MB-1 MK-8 Computer RAM, (not S-100), 4KX8, uses 2102

type RAMs. PCBD only $22

MB-3 1702A EROM^oard, 4KX8, S-100, switchable address and wait cycles, kit less PROMS $65

MB-4 Basic 4KX8 ram. uses 2102 type rams, may be expanded to 8KX8 with piggybacking, S-100 buss. PC

board $30

MB-6 Basic 8KX8 ram uses 2102 type rams, memory protect in 256 to 8K switchable S-100 buss. PCBD $35

MB-8 2708 EROM board. S-100, 8KX8 or 16KX8 kit without

PROMS $85

10-2 S-100,8 bit parallel l/Oport, % of lx)ard is for kludging.

Kit $55 PCBD $30

VB-1 64X 16 video board, upper lower case Greek, composite and parallel video vi/ith software, S-100.

Kit $189.00 PCBD $35

SP-1 Music synttiesizer board, S-100, computer controller wave forms, 9 octaves, IV rms '/2% distonion, includes

software kit $250

Altair Compatible Mother Board, 11 x 11'/2 x Ve".

Board only... $45 With 15 connectors $105

Extender Board full size. Board only $9

With connector $13.50

Solid state music Cybercom txiards are high quality glass board with gold finger contacts. All txjards are check for shorts. Kits only have solder mask..90 day guarantee on Cybercom kits.

r\

Wmc?i

inc. WAMECO INC.

MEM-1 8KX8 fully buffered, S-100, uses 2102 type rams.

PCBC $30

klothar Board 12 slot, terminated, S-100, board only$35 10% discount on 10 or more of WAMECO PCBD in any combination.

NEWI All IC's, sockets & hardware for WAMECO MEM-1 includes prime 2102AL-4's $144

Order PCBD separately below.

SpecM 2102AL-4 IK x 1 ram Vz less power than 21L02 type rams, with power down, prime from NEC. Ea. 2.00; 32 ea. 1.80: 64 ea. 1.70; 128 ea. 1.60; 256 ea. 1.50.

9080A AMD 8080A (Prime)

B212/74S412 Prime

8214 Prime

8216 Prime

8224 Prime

8228 Prime

8251 Prime

8255 Prime

1702A-6 AMD 4702A Prime

TMS-6011 UART Prime

2513 Char Gen Upper Prime

2513 Char Gen Lower Prime

1702A Intel Not Prime

8T10 8T13 8T16 8120 8T24 8T26 8T34 8T37 8T38 8T80

2.00 2.50 2.00 2.50 2.50 2.50 2.50 2.50 2.50 2.50

8T97

8T110

5309

5312

5313

5320

5554

5556

5055

MC4044

2-00 2.00 8.00 4.00 4.00 5.95 1.90 2.50 1.60 2.25

80L97 81L22 82L23 85L51 85L52 85L63 86L70 86L75 86L99 88L12

RflDCC©

419 Portofino Drive San Carlos, California 94070

Please send for IC, Xistor and Computer parts list.

20.00 4.00 8.30 4.95 5.00 8.90 14.50 14.50 6.00 6.95 11.00 11.00 4.00

1.50 1.50 1.90 2.50 2.50 1.25 1-50 1.90 3.50 .80

74L00

74L01

74L02

74L03

74L04

74L05

74L06

74L08

74L09

74L10

74L20

74L26

74L30

74L32

74L42

74L51

74L54

74L55

74L71

74L73

74L74

74L75

74L78

74L85

74L86

74L89

74L90

74L91

74L93

74L95

74L98

74L123

74L164

74L165

74L192

74L193

MH0026

MC1488

.25

.25

.25

.25

.30

.40

.30

.40

.40

.30

.35

.40

.40

.45

1.50

.35

.45

.35

.30

.55

.55

1.20

.90

1.40

.75

3.50

1.50

1.50

1.70

1.70

2.80

1.50

2.50

2.50

1.25

1.20

2.95

1.50

74LS00

74LS01

74LS02

74LS03

74LS04

74LS05

74LS08

74LS10

74LS12

74LS20

74LS22

74LS27

74LS30

74LS37

74LS38

74LS42

74LS51

74LS54

74LS55

74LS73

74LS74

74LS76

74LS151

74LS174

74LS175

74LS192

2501B

2502 B

2507 V

2510A

2517V

2519B

2532B

2533V

DM8131

N8263

MC1489

DM8837

.40

.50

.40

.40

.45

.45

.40

.40

.55

.40

.45

.45

.40

.60

.60

1.50

.40

.45

.40

.65

.65

.65

1.55

2.20

1.95

2.85

1.25

3.00

1.25

2.00

1.25

2.80

2-80

2.80

2.50

3.50

1.50

1.50

1101

1103

2101

2111-1

2112

2602

4002-1

4002-2

MM5262

7489

74200

74C89

82S06

82S07

82S17

8223

82S23

82S123

82S126

82S129

82S130

82S131

IM5600

IM5610

IM5603

IM5604

IM5623

IM5624

MMI6330

DM8573

DM8574

DM8575

DM8576

DM8577

DM8578

2.4576 MHZ

XTAL 7.20

1.25 1.25 450 3.75 4-50 1,60 7.50 7.50 1.00 2.00 4.95 3.00 2.00 2.00 2.00 2.50 3.00 3.00 3.50 350 3.95 3.95 2.50 2.50 3.00 3.50 3.00 3.50 2.50 4.50 5.50 4.50 4.50 3.50 4.00

Check or money order only. H you are not a regular customer and your order is large please send either a cashiers check or a postal money order, othenwise there will be a delay of two weeks lor trie check to clear. All items post paid in ttie U.S. Caiif. residents add 6°o lax. f^oney back 30 day guarantee. We cannot accept returned ICsthat have been soldered to. Prices subject to change without notice. $10 minimum order. $1.00 service charge on orders leas than $10.

228

BYTE November 1977

Circle 93 on inquiry care

New Bargains

2708 PROM BOARD (10K)

5^59

95

Illustrated above is our 1 OK 2708 Board (2708)

Kit w/basic IC sockets. Any PROM addressable anywhere In memory map. ORDER AS C80-2708-2.

PROTOTYPE BOARDS

,„fl8»5

Prototype boards for the S-IOObus are available from many others— but ony MINI MICRO MART supplies four different types. Two are wire-wrap versions and two are general-purpose DIP, for either ww or point-to-point wiring. All boards come with a 5V regulator and a heat sink. The two "bus" versions are unique and have circuitry etched on for buffering and address decoding, and include the decoders and necessary Tri-State buffers. (Illustrated below is the general-purpose DIP version, MODEL 01-2115.)

Surplus Bargains

TELETYPES fr^395

MINI MICRO MART has one of the largest selections of used, reconditioned, and rebuilt Teletypes in the U.S. —

RO-33's (printar only) $395 to $595

KSR-33's (keyboard & printer) $495 to $695

ASR-33's(prntr.,keYbd., reader & punch) $695 to $895

Model 35 RO's, KSR's and ASR's also available.

SURPLUS PERIPHERALS

MINI MICRO MART has a variety of surplus (new and used)

items of interest to the hobbyist and commercial minicomputer

user.

Our equipment list changes daily as we sell out of one item and

add others. Among the items we currently have in stock are —

HIGH-SPEED PAPER TAPE PUNCHES: FACIT, BRPE, Digi

tronics, and others. PRINTERS: Univac and others

HIGH-SPEED PAPER TAPE READERS: EECO, Digitronics PERTECTAPE UNITS COGAR TAPE UNITS

We also have in inventory an item of interest to the homebrew builder — an electronic desk wired with line cord, line filter, circuit breaker, boxer fan, and card cage for 40 PC boards, new and used, from $49.95—up.

Write and get on our mailing list for these and other interesting surplus items.

01-2115 GENERAL-PURPOSE DIP PROTOTYPE BOARD $18.95

01-2116 WIRE-WRAP PROTOTYPE BOARD 19.95

01-2136 GEN-PURPOSE DIP BUS INTERFACE

BOARD, incl. IC's for address decoding

and buffers 29.95

01-2112 WIRE-WRAP BUS INTERFACE BOARD

incl. IC's for address decoding and buffers 30.95

BARE BOARDS

Bare boards for 8080 and Z-80 systems, as well as for 4K, 8K, and 16K static and dynamic memory boards —

BARE 4KS-100 MEMORY BOARDS ONLY $14.95

PRIME COMPONENTS

2708 IK X 8 EPROM $ 19.95

2716(T1) 2K X 8 EPROM 39.95

Z-80's (Zilog) 29.95

8080A/AMD 9080A 29.95

1702A's (Intal/AMD) 4.95

2102*$ low power 450ns 1.49

4K X 1 STATIC CHIPS (5V) 450ns for Heathkitand

other boards $ 8.49

Add $2 for handling, shipping and insurance for each order (exception: Teletypes are shipped freight collect).

Send stamped, self-addressed envelope for details on any advertised items or for a copy of our catalog.

MmMicroMiirt

1618 James Street, Syracuse, N.Y. 13203, Phone: (315) 422-4467

Circle 94 on inquiry card.

BYTE November 1977 229

What's Hew?

Altair Offers Microcomputer Timesharing

Anyone who has an Altair 8800 series computer can now convert It to serve as the control center for a timesharing system. A special version of BASIC, called Timesharing BASIC, has been developed along with Altair Timesharing Disl< BASIC. Both are extensions of Altair extended BASIC and allow up to eight independent programs to be run simultaneously.

A memory partition technique is used to keep each program job in a unique area of memory. Each program area contains the BASIC program text, variable and string space, a wori<space, plus approximately 300 bytes of the timesharing system. The system can be used with a variety of 10 devices including video displays and printers.

Control of a specific job may be transferred from one terminal to another with a single command. Various control characters allow suspension and resumption of each job without loss of data. Diagnostics are provided for program debugging and automatic line numbering is available during program entry. Both versions of Altair Timesharing BASIC furnish line oriented text editor with line and character manipulation capabilities.

Extensive hardware is needed (in addition to the 8800 series mainframe and processor) to support both versions of Altair Timesharing BASIC. This includes a minimum of 32 K bytes of programmable memory, a vectored interrupt real time clock card, up to four 2SI0 serial interface boards for terminals and an optional line printer for the disk BASIC version. The disk version, of course, requires a floppy disk peripheral.

Contact MITS, 2450 Alamo SE, Albuquerque NM 87106."

Circle 451 on inquiry card.

Attention Toronto Readers

Computer Mart in Toronto has been in operation since January 1977 and maintains at least three systems up and running for demonstration purposes. The store offers complete service facilities as well as programming services for microprocessor based systems. This includes operating system enhancements and accommodating unusual interface situations, both software and hardware. The store's product line includes Processor Technology, Polymorphic, The Digital Group, Peripheral Vision, Cromemco, IMSAI, iCOM, lASIS, LearSiegler, North Star, TSC Software, Hitachi and Sanyo, Volker-Craig, Scientific Research, Sams, Hayden and AP Products, etc. Computer Mart's policy is to provide the most effective guidance and general advice to our customers and continue this policy after the system is plugged in at the customer's home. The store address is 1543 Bayview Av, Toronto, Ontario M4G 3B5 CANADA, (416) 484-9708.■

Circle 452 on inquiry card.

A Small Shank Electric Drill from Wahl

A New General Purpose PC Board

Here is a device that should prove useful for the fabrication of printed circuit boards, as well as other applications involving the drilling and cleaning of small holes. The Wahl ISO-TIP electric drill is less than 5 inches (12.7 cm) long with drill bit removed and is designed to fit into tight corners. The on-off switch provides both intermittent and locked modes of operation, and the power cord is 10 feet (3.04 meters) long.

Operating at 9000 rpm, the drill is supplied with a collet chuck, three collets and two drill bits (#56 and #71). The unit is available in either 110 VAC or 12 VDC versions.

Contact the Wahl Clipper Corporation, 2902 Locust St, Sterling IL 61081 (815)625-6525.■

Circle 453 on inquiry card.

Model H-PCB-1 is the first in a series of PC boards. The 4 by 4.5 by 1/16 inch (10.16 by 11.43 by .19 cm) board is made of glass coated epoxy laminate and features solder coated 1 oz copper pads and has a 22/22 two sided edge connector.

The board contains a matrix of .040 inch (.1 cm) diameter holes on .1 00 inch (.25 cm) centers. Two independent bus systems are provided for voltage and ground on both sides of the board. In addition, the component side contains 14 individual buses running the full length of the board which enable direct access from edge contacts to distant components.

Priced at $4.99 from OK Machine and Tool Corporation, 3455 Conner St, Bronx NY 10475, (212) 994-6600."

circle 454 on inquiry card.

Data On the Cable?

OK Machine and Tool Corporation, 3455 Conner St, Bronx NY 10475, (212) 994-6600, has sent a picture of the new dual in line package cable termination assemblies, retailing at $3.75 to $4.35. Variations on this theme include double ended cables in lengths of 2, 4 and 8 inches (5, 10 and 20 cm) and single ended cables in lengths of 12 and 24 inches (30 and 61 cm); either 14 or 16 pin cables are available."

Circle 455 on inquiry card.

230

BYTE November 1977

CAliFoRNiA iNduSTRlAl

Post Office Box 3097 B • Torrance, California 90503

e2r^

3.1415921

»1495o

CALCULATOR

\A/RI5T W/ATCH

Designed for the on the go executive, that individual who has to make those on the spot decisions.

Handsome gold tone stainless steel watch features space age micro-circuitry. The t\10S Inte grat'Bd circuit contains the equivalent of more than 10,000 transistors.

This LED wrist watch disptays date, time, elapse seconds and also functions as an eight digit calculator with memory. Information stored in memory can be recalled at any later date, even weel<s or months. Use this memory feature to store phone numbers, parking stall location or flight departure time.

Manufactured by one of California's leading aerospace contractors. Because of the discount price we have agreed not to publish the manufacturer's name. Includes batteries, jewelry case and 18-month factory warranty.

CONNECTORS

RS-232

DB25P male plug&hood

'3.95

^r, DB25S female

»3.95

100 PIN

IMSAI/ALTAIR Edge Connector

Altair, Imsai compatible gold plated, dual 50 (.125 centers) three tier wire wrap edge connector. 3 for $13.50

'498 Cl«._Ai«.l£ Certified Digital

,Tsis SCOtCn CASSETTES

10forS4S

B

Diskettes

Please specify

IBM3740 series or 32 sector.

Won't drop a BIT!

$4.98

Electronic Entertainment Center

TenniS'Handball Hockey*Smash

Acllon-pached color enlertalnmenl (or trie whole family. Adjustable skill IgvgI conlrols allow players ol all ages to compete in lonnis, hockey and handball. This four oamo enlerlalnmen! center turns your lolevlslon Into a video play' ground.

On screen scoring, live action sound and tfue component color makes th'is video

center an excellent buy at only S24.B8.

Complete wllh antenna box and AC adapter.

Color $24.88

HEXADECIMAL KEYBOARD

■Maxl-Swilch hoxariocimal ksr'boards are designed for $^^Ck9S

microcompula'systems that require 4-blt output ^ ^ ^m^.

In standard hex code. Each assembly consists ol 16 hermeti cally sealed reed switches ana TTL "onej shot" debouncB circulljy. Reliable low friction acelal resin plungers are credited lor the smooth operation and long lileol this premium keyboard. Requires single + 5 volt supply.

>24.88

:<N^ ;; UNIVAC KEYBOARD

^o

VSTI

TELETYPfllH)nEL43

New from Teletype, the Model 43 Is capable of printing 132 ASCII characiers per line. Send and receive data at 10 or 30 words per second. Keyboard generates all 128 ASCII code combinations. RS-232 interlace, same as Ihe popular Model 33. Data sheet sent upon request. Manulacturer suggested price S1377,00.

IMMEDIATE DELIVERY ^1199

We a

Tab

DIGITAL

ALARM CLOCK

Completely $4Aqc Asseinbled LU,

Walnut-grained decorator clock features large .7* LEO display which is driven by the new National MM5385 alarm clock chip. Preset 24-houf alami lunction allows you to awaken at the same lime each morning without reselling. Upon reaching the wake-up time, the clock's loudspea'^er emits a gentle tone. Touch the snooze button and doze olf lor an additional 9 minutes of sleep. Clock also functions as a len-mlnuie elapse timer. "Alarm Set" Indicator, AM-PM display.

S-100 MOTHER

The Quiet Buss from Calilornia Industrial is quality engineered. No short cuts have been taken to produce this mother board. Active termination circuitry prevents noise and crosstalk. Manufactured Irom extra heavy FR-d epoxy glass. Features 2 ounce double Ihlcknesa copper traces. Purchase this board along with the power supply kit below and you have the atari ol a super Micro-System.

311

mfinUftL GRfiPHiTE DiSPLftV CEflERRTDR

Modern lechnolog/ has pionno'oii "io devGlopmenl ol imique characler punlnr. Our Manual GraphilR Displjy Gcne'aiof has Ihc capaOillly o' pfoducing Itie full unper ai

case ASCII Ecl. Sdl'Cunlalned cursor assembly allows llio oporalor lo etjminaie erroneously entereQ miorm.illon. Ltch unit IS msnulaciiircil la sine) lolRranco; as prcscri By slandafds sel louh Oy Caliloinirt InduaUia Ono f'ee i

Thii loyalicli lealute lour 100K molc's, thai vary resisiance proporiicnal 10 Ihe angiD ol Ihe stick. Perfect lor television games, quad Jloreo and radio cpnlroKod

2U02

LOW POWER

45a IMS

W^

-1

T^'

^^

1^

IS

Price here

c BAMs

Ki

[airrrr.™

on

Jt'iili!.! 1

:b:.;iii^

conduciotmf

T3MM

Ace

ess tim

ranieed

er than '

50nS Minimum

purchase 32 p

eces.

Sorry, credit c

ardscan

<ccepledon2

L02'i,

.13

74«

59

7443

,79

im

,19

7445

.89

74111

74«

.99

7403

,19

.99

7404

19

74«

99

?40fi

7450

25

7406

.19

7451

25

/40/

.25

7453

.25

7408

.25

7-154

.25

um

.25

7460

25

74 to

,19

7470

25

7411

25

7472

.39

7-112

,35

7473

.39

/4i:t

49

7474

.35

7417

39

3.99

7420

,19

.79

/4??

7482

,99

.99

7425

.39

7485

99

im

7466

.49

7468

340

7428

49

7489

2,79

74?q

7490

.49

7430

25

.99

7433

,39

7492

49

7437

39

7493

49

743B

39

7494

.79

7495

.79

7440

,39

k.

7496 7497 74100 74107 74109 74110 74116 74120 74121 74122 74123 74125 74126 74128 74132 74136 74141 74145 74147 74148 74150 74151 74153 74154 74155 74156 74157 74159 74160 74161 74162 74163 74166 74167 74170 74173 74174 74175 74176 74177 74192 74t93 CMI

4001 4002 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4027 4028 4029 4030 4032

300H

7=1

301H

.39

350N

301CN

351CN

302H

304H

129

370N

305H

*W

373N

307H

307CN

.39

360N

308H

19

381N

308CN

.99

382N

309H

109

NE555V

309K

.99

NE556

310H

NE565H

310CN

1.19

NE565N

311H

,99

NE566N

311N

703CN

312H

1.99

709H

318H

709N

318CN

1.49

710N

319C(4

711H

320K-5

7I1N

320K-12

1.39

723H

320K-1S

723N

320T-5

320T-8

1.75

733H

320T-12

17S

733N

320T-Ifl

1.75

739N

320 -24

1.75

74IN

324 N

179

747N

339N

340K-8

,95

1414N

340K-t2

.95

1458

340K-15

95

340K-24

t.95

290tN

340T-5

1,79

3065N

340T-12

179

3401-15

1./9

3909N

$.59

Conductor Ft.

[RIBBON WIRE)

SPECTRA-STRIP

Microcomputer Power Supply Kit

Ideal supply tor S-100 systems. Contains all the necessary components to produce 5 volts ® 10 A., ± 12 iff 2.5 A. (voltage actually higher). New surplus Irom Memoren Corporation. Kit Inctudoa 117 ac. transformer, diodes, six computer grade electrolytlcs. chassis, circuit breaker and grounded power cord. Transformer has Soutoul windings. Include S9-00 shipping East of the Mississippi; S4,00 lor CalK.; all other States S7.00,

$24.88

Plus Shipping

Transistors

ea, 10 SO 100

2N2222A ,20 ,18 ,16.15 .89 .84 .77 .65 .99 .94 .87 .75

219 195 175 159

.15 .11 .09.07 .15 .11 .09.07

odes

10 25 100 1N4002 100>. .08 06.05 1N4005 600v. .10.08.07 lN4148tl,nal .07 J)5.04 Jumbo red ei. 10 25 100 LED'S h5.13.11.09

2N3055 Ml 3055 2N3772 2N3904 2N3906

D

COMPUCORP

Power Adapter

SOLID-STATE

'.98 /^

1.5T0 3VDC

MICRO BUZZER

T^mbwheel s^g^ switch

t

Ten position

BCD

«139ea. 10 50

^1715.89

SPOT

MINIATURE TOGGLE SWITCH

$.98.a

10 50 100 U S.88 .81.73 .66

i

TRIMIVIER

POTENTIOMETERS

output

7vdc 1.4a

Output: 12v. 175ma. TRANSFORMER

Solar Cells

'1.19

10 100

S.98 >.8S

RELAYS

SPOT IHINIATURE „,q '° " '°°

l^ea. 1115 104 .89

Coil 5 or 12 Volt dc. 3 Amp Contacts P. C. Board Mount

CAPACITORS

ELECTROLYTICS

■a. 10 50

4500/50v.J»9 135 U9

lOOO/lSv. V55 49 .45

axial

».98

DPDT

ROCKER SWITCH

.Idisc .01 disc

S.12 .09 .07 .06 .05 .04

DIP Switch

$175

10 25 100 I

DISCOUNT

Heavy dutygrounded power cord and mating chassis connectors.

IC SOCKETS

pin

Wire wrap ea. 25 50

solder •a. 25 SO

8

17< 16 15

14

37<36 35

20 19 18

16

38 37 36

21 20 19

24

99 93 85

36 35 34

40

169 155 139

63 60 58

5o.t KYNARSiSP

.98 SOO 1,000 11,000

S9 $15. 5105.

SS3.95 i

S5.45

VISA

<2I3)772 0800

)iicle 21 on inquirv card. UYTE N.jvcMilH'i l')77 231

A Single Chip Stepper IMotor Drive

Whafs New?

New Additions to UPS Uninterruptible Power Supply Family

National Upgrades SC/MP Electronics

Semiconductor Circuits Inc, 306 River St, Haverliill MA 01830, has announced the addition of 27 new models to its line of uninterruptible power supply systems. The UPS family float charges either a 12 or 24 V backup battery and offers the choice of a ±12 or ±15 VDC output for powering analog circuits. The third output, +S VDC for powering logic, remains unchanged. IVITBF (mean time between failures) is said to be in excess of 50,000 hours at 25°C.

The UPS series conserves battery charge by employing both a DC/DC converter, which delivers either analog power outputs of ±12 or ±15 VDC at ±100, ±200 or ±300 mA, and a switching regulator, which delivers a logic power output of +5 VDC at 1, 2 or 3 A.

Under normal line conditions, series pass power supply serves as the power input to the DC/DC converters and as a float charge output for either 1 2 or 24V backup batteries.

All models are packaged in a black anodized aluminum U-type open frame that is drilled for mounting and which measures 3 by 6 by 9 inches (7.62 by 15.24 by 22.86 cm). Prices range from $155 to $225 for a single unit, and $148 to $205 in quantities of ten and more. Availability is stock to two weeks."

Circle 470 on inquiry card.

Faster, lower power n channel metal oxide semiconductor versions of National Semiconductor Corp's SC/MP micropi'ocessor arc now available as retrofits for SC/MP kits.

Called the SC/MP-II, the new 8 bit single chip device has all the features of the original p channel MOS version but will operate at twice the speed and will dissipate less than 200 milliwatts oi^ power, about 25% of the power dissipated by the fii'st SC/MPs introduced last year.

SC/JV1P-II requires only a -1-5 V supply, compared with the +5 and —7 V supplies required on earlier versions. Because of the +5 V only operation, the SC/MP-II can be interfaced with TTL and NMOS devices, and (by using pull up resistors) with CMOS devices.

The SC/MP-II microprocessor retrofit kit is available for $18.50. It includes the new SC/MP-II central processing unit (CPU), a 2 MHz crystal, a retrofit kit user's manual, an applications handbook and a SC/MP-II datasheet. No software changes are required as long as the retrofitted SC/MP-II runs at the same speed as its predecessor. Contact National Semiconductor at 2900 Semiconductor Dr, Santa Clara CA 95051."

circle! 471 on inqLliry card.

No Transients Allowed

Circle 472 on inquiry card.

The Dyma AC Line Surge Protector is a suppressor and filter combination which is designed to protect equipment such as microprocessors and peripheral units from voltage transients on incoming power lines. The unit plugs directly into any standard AC outlet; equipment to be protected is plugged directly into the surge protector.

The 20 A load model is priced at $14.95. Other ratings are available on special order. Contact Dyma Engineering, 213 Pueblo Del Sur, POB 1697, TaosNM 87571.■

North American Philips Controls Corporation, Cheshire Industrial Park, Cheshire CT 06410, (203) 272-0301, has introduced this integrated circuit stepper motor driver in a 16 pin dual in line package. The chip is intended to be used with 4 phase stepper motors which use 12 VDC and have 350 mA coils for each phase. This drive circuit includes the necessary logic to create motor motion in forward or reverse direction at rates determined by a clock input. The motors which North American Philips manufactures are listed in the brochure describing this part, and can typically provide working torque values in the .16 oz-in to 6 oz-in range with maximum stepping rates from 700 steps per second (lower torque motors) to about 200 steps per second (higher torque motors.) Typical step sizes for the motors mentioned in the engineering notes on the driver are 7.5°and 15°. With gearing, this type of motor should prove quite useful for robotic mechanisms experiments. Price for the SAA1027 driver circuit is $4.75 in lots of 100. ■

Circle 473 on inquiry card.

A New Music System Program

Software Technology Corporation has announced the Music System, a hardware and software package designed to generate music by producing three simultaneous tones of fixed amplitude using a complex waveform which approximates the sound of a reed organ. Tones are generated using square waves, which are actually produced by a highly controlled pulsing of one of the Altair (S-100) bus status lines.

The Music System comes complete with a program on cassette tape, six sample selections, a user's manual and a circuit board with components.

Running in close to 2 K bytes of programmable memory, the program includes a monitor, text editor compatible with Processor Technology's ALS-8 file structure, and a high level music composing language compiler. Language capabilites include dotted notes, 4 octave range and staccato.

With the addition of amplifier, speaker, cable and any Altair (S-100) bus computer, the Music System is ready to play. The price is $24.50. Contact Software Technology Corporation, POB 5260, San Mateo CA 94402, (415) 349-8080."

Circle 47-4 on inquiry card.

232 BYTE November 1977

COMPUTER MfAREHOUSE

584 COMMONWEALTH AVE., BOSTON, MA. 02215

OLIVETTI P6060

4 BRAND NEW ^

CALL US NOW! (617) 261-2700'

1. FAST EFFICIENT COMPLIER BASIC!

2. TWIN FULL-SIZE FLOPPY DISKS!

3. 80 CHAR./SEC. PRINTER! A. FULL FUNCTION 96-KEY KEYBOARD!

5. HASSLE-FREE MAINTENANCE (OLIVETT

6. i|8K EXPANDABLE TO 8OK!

7. PROGRAM CHAINING, STRINGS VARIABLES

8. MATRIX OPERATIONS, PLOTTING!

9. OUTPUT FORMATS SELECTED BY PROGRAM!

10. COMPLETE INTEGRATED SYSTEM

ORDER OUR

NEW CATALOG

SYSTEM BUILDERS 11

• DISCOUNTS UP TO

• WIDE RANGE OF M

• SUPER SELECTION AND COST SAVING

• OVER 250 BOOKS READY TO SHIP!

• IN-DETAIL DESCR HARDWARE, KITS,

I SPECIAL SELECT! SIONAL-GRADE CO

• MICROCOMPUTER C

20/^!

CROCOMPUTERS

OF GOOD USED

PERIPHERALS!

DESCRIBED AND

PTIONS OF PERIPHERALS! ON OF PROFESMPUTER SYSTEMS! OMPARISON CHART!

SEND $1 TODAYH

$8950 complete! PLUG IN and USE

»WARRANTEED COST-SAVING USED PERIPHERALS

OUR GREEN PHOSPHOR ilDEO MONITOR

ALL an ASR33 ls...and MORE!!

OLIVETTI 318 <fOTC '^5232, QUIET OPERATION, 10CPS PRINTER, $875 PAPER TAPE READER/PUNCH, ELECTRIC TYPE65 lb. WRITER KEYBOARD AND 10-KEY NUMERIC PAD, shipping STANDARD PAPER/TAPE,OLIVETTI MAINTENANCE

DATAPOINT 2200-200 CONSOLE

"THIS IS A BEAUTIFUL COMBINATION OF A UNIVAC 0769 PRINTER, CABINET, AND ENOUGH SIDE SPACE FOR AN ENTIRE MICRO SYSTEM. !T COMES COMPLETE WITH POWER SUPPLY AND PARALLEL I NTERFACE , <495'132 COL, 285 lb. shipping.

30 CPS

DATAPOINT 3300-200

IDEAL SMALL THERMAL 30CPS PRINTER (NCR), PARALLEL ASCII, 80 COL, CRT COMPATIBLE 5X7 DOT MATRIX, SOLIDSTATE, LESS THAN 25 MOVING PARTS, 96 CHARACTERS, llOV. ^^7^ $25 shipping <♦»»»' J

RIXON DATA SET

MODEM GIVES YOU 1200 BAUD ON STANDARD LINE, FULL/HALF DUPLEX $250 +S25 ship/hand

$150

POWER bUrPL'Y

+ $25 SHIPPING/ HANDLING

IV P TO P COMPOSITE VIDEO, 16MHZ BANDW., RASTER SCAN, 7x9 IN. 2Ax80 DISPLAY POSSIBLE VIP AMP, ANTIGLARE

IBM SELECTRIC PRINTER

BASED ON AN IBM SELECTRIC, THIS COPE 1030/10^0 EBCDIC TERMINAL MAKES A GREAT PRINTER WITH OUR RS232 (808O) CONVERSION PROGRAM, 15 IN. CARRIAGE, USE ALSO AS A SELECTRIC TYPEWRITER. Add $35 for shipping

$795

I YOU CAN RELY ON ■COMPUTER WAREHOUSE

1 "YOUR MONITOR ARRIVED TODAY AND IT

■ REALLY ADDS TO MY SY5TEM--N0 MORE

2 TIRED EYES!"

I B.C., PHILADELPHIA, PA.

■"I DIDN'T EXPECT YOUR CENTRONICS I PRINTER WOULD LOOK AND WORK SO

■ WELL...THANKS FOR A GREAT DEAL!" J G.M., COLUMBUS, OHIO

I COMPUTER WAREHOUSE STORE WILL M AT NO COST TO THE CUSTOMER FOR

HERE ARE VENDORS, RELIABIL

101A..41500

102A..

THE CHOICE PRINTERS THAT SYSTEMS HOUSES, MINICOMPUTER

AND TOP SYSTEMS BUILDERS RELY ON FOR PERFORMANCE AND

TY! WITH THOUSANDS OF THESE PRINTERS INSTALLED IN THE U.S

165 CHAR/SEC, 132 COL,

60 LPM, 2 CHANNEL VFU, i

TTL, 8-BIT PARALLEL

$2000 ]ll

PARTS OR LABOR. REPAIR ANY COM PUTER WAREHOUSE STORE PRODUCT FOUND DEFECTIVE IN MATERIAL OR WORKMANSHIP OR AT ITS OPTION nEPLACt THE UNIT OR REFUND THE PURCHASE PRICE

THIS WARRANTY 1$ EFFECTIVE FOR A FULL 90 DAYS FHOM SHIPMENT THE ONLY EXCEPTIONS ARE CASES INVOLVING EQUIPMENT MAINTAINED UNDER A MAiN TENANCE AGREEMENT BY A MAINTE NANCE SUPPLIER ABUSE. MISUSE, ALTER ATIGN. NErtLECT OR SHIPPING DAMAGE

90 DAY

USED GEAR WARRANTEE

103....$2000

CHAR/SEC, 132 COL, LPM, 2 CHANNEL VFU, TTL. 8-BIT PARALLEL 165 CHAR/SEC, 132 COL, 70 LPM, LSI, BOLDFACE, BIDIRECTION PRINTING

INTERFACES FOR DEC, DG, AND RS232 AVAILABLE

LOOKING FOR RELIABLE SMALL BUSINESS SYSTEM?

IBM SYSTEM/3 AND 1130 SYSTEMS...AVAILABLE NOW FROM OUR PARENT FIRM!

AMERICAN USED COMPUTER (617) 261-1100

Circie'38 on inquiry card.

BYTE November 1977

233

What's New?

Robot and Mechanism "Hackers

Game Theory

So You Want to Automate Your House?

S

>^m^[

w

M

3

,Ji wr

g3k

^p

W:

^^

m

w4

1

^^sp

fW

iisds^^sstxssii'^

M^

u^

■Wkiiifc-jl

|CDmPLJTEP>-P,fiEE

|.s

BS^rf

Tired of Monopoly, Aggravation and Sorry? Lool<ing for a game that teaches something about computers as well as being fun? Then try Computer Rage for a change. First of all it uses three dice, but they're binary dice, so you can move from zero to seven spaces per turn. There are priority interrupts, input and output channels with finite capacity, power failures, program bugs and branch points. Your objective is to get your three programs (shaped like miniature disk packs) from the Input to the output weaving through a maze of program steps, checkpoints, lO queues, interrupts and decision points.

Computer Rage comes with a large (19 by 19 inch) game board, 12 playing pieces, three binary dice, 38 Interrupt cards, rules and a booklet describing how to use the game as an educational tool. Recommended for ages 9 to adult, two to four players. Several playing variations are possible. Computer Rage is available for $8.95 postpaid from Creative Computing, attn: Pamela, POB 789-M, Morristown N] 07960."

Circle 490 on inquiry card.

A Slick Dress for KlM-1

The Enclosures Group, 55 Stevenson St, San Francisco CA 94105, (415)4956925, has Introduced this interesting enclosure for the KIM-1 product of MOS Technology. It should help to protect the circuit board of the KIM, especially during transit. The SKE 1-1 is available from stock In a variety of colors for $23.50.■

Circle 491 on inquiry card.

'ysXi,,:^ WSS

If you want to control things with a microprocessor system, boards like this product from Wintek, 902 N 9th St, Lafayette IN 47904, (317)742-6802, will prove useful when applied with other products in the firm's line of modules. This photo shows the same board populated In two different ways to emphasize the fact that combinations of up to 16 output driver circuits or eight sensor inputs can be built on the same board, when ordered at a price of $69 plus $3 per driver and $12 per sensor. Drivers will handle up to 28 volts at 250 mA for use with relays, and sensors are optically isolated inputs for AC or DC voltages up to 240 V."

Circle 492 on inquiry card.

Here's an unusual item: Artisan Electronics has announced a new miniature solenoid designed with body dimensions equivalent to that of the TO-5 transistor case. Most applications for this TO-5 are for impulse duty, ie: the generation of relatively high forces for short times or pulsed operations on Intermittent duty. On such impulse duty, the average power should not exceed % W. Instantaneous power may be as high as 200 W, provided that the on time does not exceed 25 ms. At this duty, forces up to 50 grams may be generated at gaps of 0.100 inches (0.254 cm). For applications of continuous duty, the TO-5 solenoid will develop forces of from 1 to 10 grams with plunger travels up to .050 inches (0.025 cm). At this duty the solenoid is rated at Vt W. A typical coil for operation on 12 VDC impulses would have a resistance of 1.5 n, pulsed at 12 VDC with a maximum on time of 25 ms and a minimum off time equal to 130 times the on time.

Contact Alan Seman, Artisan Electronics, 5 Eastmans Rd, Parsippany N|, 07054,(201) 575-7684.»

Circle 493 on inquiry card.

3000 Hole General Purpose Prototyping Board

Electronic Product Associates Inc, 1157 Vega St, San Diego CA 92110, (714)276-8911, announces the availability of a new general purpose prototyping board for use in the Mlcro-68 microprocessor systems. The 8 by 14.8 Inch (20.3 by 37.6 cm) GP-2 board is Motorola Exorcisor bus compatible and has complete bus buffering already established using 8833 driver/receiver Integrated circuits. The GP-2 board contains +5 V power and ground busing, 3000 holes worth of blank DIP patterns which allow for up to 35 large (24, 40 or 42 pin) DIP packages, or up to 107 small (14 or 16 pin) DIP packages. Price is $1 70, and they are said to be available from stock."

Circle 494 on inquiry card.

234

BYTE November 1977

D.R.C. ELECTRONICS

16K E-PROM CARD

S-100 (IMSAl/ALTAIR) BUSS COMPATIBLE

$69.95 (KIT)

IMAGINE HAVING 16K OF SOFTWARE ON LINE AT ALL TIME! KIT FEATURES:

1. Double sided PC Board with solder mask and silk screen and Gold plated contact fingers.

2. Selectable wait states. / USES

3. All address lines and data lines buffered!

4. All sockets included.

5. On card regulators.

KIT INCLUDES ALL PARTS AND SOCKETS! (EXCEPT 2708's)

ADD $25 FOR SPECIAL OFFER: Our 2708's (650 NS) are $12.95 when purchased with above kit. ASSEMBLED AND TESTED

DEALER INQUIRES INVITED

$149.00 KIT

ADD $30 FOR ASSEMBLED AND TESTED. KIT FEATURES:

1. Double sided PC Board with solder mask and silk screen layout. Gold plated contact fingers.

2. All sockets included! S-1 00 (IMSAI/ALTAIR)

3. FuUy buffered on all address and data lines. BUSS COMPATIBLE

4. Phantom is jumper selectable to pin 67.

5. FOUR 7805 regulators are provided on card.

8K LOW POWER RAM KIT!

USES 21L02-1 RAM'S.

S-100

REVERSING

EXTENDER BOARD

$24.95 Turns the board under test around so that the foil side is facing you.

with connector Makes trouble shooting and debugging a SNAP! P.C. Layout designed to

minimize noise and stray capacitance.

COMPUTER GRADE CAP.

48,000 MFD 25WVDC Mallory

$3.95 NEW!

IC SOCKETS

For the newer RAM chips.

18 PIN — 4 FOR $1

22 PIN — 3 FOR $1

RCA HOUSE #2N3772

NPN Power Transistor. 30 AMP.

150 W. VCEO-60. TO-3. Vastly out

performs 2N3055. Reg. List $3.04

2 FOR $1

T. I. ASCII CHARACTER GENERATOR

IMS 4103 JC. 28 PIN CER DIP. Has

seven bit COLUMN Output for use with

Matrix hard copy devices. With specs.

$3.50

^t"^' 4K STATIC RAM'S ^^W:

2114. The industry standard. 18 PIN DIP. Arranged as IK X 4. Equivalent to FOUR 21L02's in ONE package! TWO chips give IK X 8, with data.

2™««^^ 450N.S.!

MOTOROLA 7805R VOLTAGE REGULATOR

Same as standard 7805 except 750 MA

OUTPUT. TO-220. 5VDC OUTPUT.

$ .44 each 10 FOR $3.95

NATIONAL SEMI. MA1003 CAR CLOCK

Not a kit. Complete tested module. Works on 12 VDC, has on board time base. Sold by others at $24.95. Big .30" Bright Green Digits. Same as used by Detroit in new cards.

$19.95

EDGE CONNECTOR — $1.50

Z - 80 PROGRAMMING MANUAL

By MOSTEK, the major Z - 80 second source. The most detailed explanation ever on the workings of the Z - 80 CPU CHIPS. At least one full page on each of the 158 Z - 80 instructions. A IMUST reference manual for any user of the Z - 80. 300 pages. Just off the press! A D.R.C. exclusive! $12.95

1KX8 2708 EPROMS 2708

Prime new units from a major U.S. mfg. 650 N.S. access time. Equivalent to four 1702A's in one package! $15.75 each

TERMS: ORDERS UNDER $15 ADD $ .75. NO C.O.D. WE ACCEPT VISA, MASTER CHARGE AND AMERICAN EXPRESS CARDS. MONEY BACK GUARANTEE ON ALL ITEMS. TEXAS RESIDENTS ADD 5% SALES TAX.

K[L

WE PAY POSTAGE! ELECTRONICS p. O. box 401247 • garland, TEXas 75040 • (214) 27 l -2461

Circle 50 on inquiry card.

BYTE November 1977 235

North Star's New Computer

What's N6W?

SYSTEMS

A Finished Product Concept

Vector Graphic Inc, 790 Hampshire Rd A-B, Westlake Village CA 91361, (805) 497-0733, has sent along this photo of the latest output of its design and production facility. This Vector 1 + is an Altair (S-100) bus computer product in an attractive cabinet, with provisions for the user to add a Shugart minifloppyTM (□,- equivalent) disk drive (not included), thus providing an integrated processor and mass storage combination rarely seen so far in the personal computing marketplace. Prices start at $659."

Circle 475 on inquiry card.

An LSI-11 Based Computer in a Suitcase

From RDA Inc comes news of the PRDll,an LSI-11 based microcomputer with the capacity foi'SS K bytes of programmable memory and provisions for multiple terminal interfaces, a mass memory interface and a data acquisition subsystem. The entire unit weighs 23 pounds (10.43 kg) and is housed in an aluminum suitcase, a useful feature for the traveller.

Pictured with the PRDIl is a Computer Operations portable LINC tape mass memory compatible with the Digital Equipment Corporation's RT11 operating system. Software available includes a macroassembler, FORTRAN IV, multiuser BASIC, FOCAL and APL.

The PRD11 complete with 32 K bytes of programmable memory and a serial line interface is priced at $4,950. Contact RDA Inc, 5012 Hcrzel PI, Beltsville iVID 20705, (301 )937-2215."

Circle 476 on inquiry card.

Andromeda's New Computer

Andromeda Systems has announced the Model 11/B, an LSI-11 based turnkey computer. The dual floppy system features 20 K by 16 bits of programmable memory and a 24 line video terminal with 80 characters per line. The terminal communicates with the computer via an RS232 interface at 9600 bps.

The 11/B uses the RT-11 operating system, the same system used by the Digital Equipment Corporation PDP-11 computer. It is designed for the single interactive user, although it can support up to eight users under multiuser BASIC (optional). System programs include a text editor, macroassembler, file manager and batch monitor. The user can choose from a variety of high level language options, including FORTRAN and FOCAL. The processor has a built-in floating point package.

The floppy disk system provides 512 K bytes of on line mass storage. A bootstrap loader program is built into the disk controller.

Contact Andromeda Systems, 14701 Arminta St #), Panorama City CA 91402, (213) 781-6000."

Circlf" 477 on inquiry card.

North Star Computers Inc has announced the new North Star

Horizon

TM

computer, which uses a

full speed (4 MHz) Z-80 microprocessor and includes 16 K bytes of memory, a disk controller with one or two Shugart minifloppy'^'^ disk drives, and full extended disk BASIC. A serial lO port is also provided.

Options include additional disk drives, hardware floating point arithmetic board, 24 line by 80 character upper and lower case video display controller board, and 16 K memory board with parity check. The video display board, when used in conjunction with the 16 K memory board, will display high resolution (480 by 250 point) graphics on a video monitor. The Horizon computer uses the Altair (S-100) bus.

The single drive is $1599 in kit form and $1899 assembled. The dual drive is $1999 in kit form and $2349 assembled. Contact North Star Computers Inc, 2465 Fourth St, Berkeley CA 94710, (415) 549-0858."

Circle 478 on inquiry card.

Attention London Computer Hackers

London's Computer Workshop has announced a new 4 terminal multiuser computer system including a printer and a BASIC compiler for under£3000. To obtain more information about this system, contact either Gordon Ashbee or John Burnett at the Computer Workshop, 174 Ifield Rd, London SWIO 9AG ENGLAND, phone 01 373 8571.■

Circle 479 on inquiry card.

EPA's Microcomputer and Floppy Disk

Electronic Product Associates Inc, 1157 Vega St, San Diego CA 92110, have announced a combined microcomputer and floppy disk system which uses

the 6800 processor. The microcomputer is designated the Micro-68b and comes complete with 8 K bytes of programmable memory plus the Motorola MIKBUG monitor system, 20 mA current loop and RS-232 interfaces, and cassette interface. In addition, there is a built-in hexadecimal keyboard and LED display.

The Micro-68 floppy disk system is compatible with IBM standards and is available in either single or dual configurations. Both versions come complete with power supply and interface electronics.

The Micro-68b costs $1878; the single floppy disk system is $2595, and the dual version is $3295. Software available includes FORTRAN IV, BASIC, assembler language, an editor, and a floppy disk operating system."

Circle 480 on inquiry card.

236

BYTi; Niivenihi-r l'J77

APPLE II I/O BOARD KIT

Plugs Into Slot of Apple II Mother Board

FEATURES:

18 Bit Parallel Output Port (Expandable to 3 Ports)

1 Input Port

15mA Output Current Sink or Source

TTL or CMOS Compatible

Addressable anywhere in memory output area

Can be used for peripheral equipment such as printers, floppy discs, cassettes, paper tapes, etc.

KIT INCLUDES:

P.C. Board, I.C.'s Sockets and

Assembly Manual.

PRICE:

1 Input and 1 Output Port

fo>^ S49.00

1 Input and 3 Output Ports

fo>^ $64.00

DEALER INQUIRIES INVITED

UNGAR SOLDERING IRONS

27W SOLDERING

IRON KIT

Includes iron, 2 tips,

roll of solder and

iron stand

$6.72

I.e.

DESOLDERING KIT

Includes iron and 3

desolder tips for dual

in lines, cams, etc.

$24.70

lOW

ASSEMBLED

SOLDERING IRON mi $14.97 gti

LD-130

3 DIGITS

A/D CONVERTER

S11.95

PUSH BUTTON

SWITCH

Red

or Green

3 for $1.00 / 7

3RD GENERATION ONLY $63.00

ASCH KEYBOARD KIT

FURTHER IMPROVEMENTS, MORE FEATURES

• TTL Logic Circuits OPTIONS:

• Power: +5V, 275mA • Metal Enclosure (Paint,, . , „ ed IBM Blue and White

• Upper and Lower Case ^75 no

• Full ASCII Set (Alpha ion- cj r> ei nn

Numeric, Symbols, ^ * ISPmEdgeCon. $2.00

Control) • I.e. Sockets . . . $4.00

• 7 ot 8 Bits Parallel Data • Serial Output (Shift

• Optional Serial Output Register) $2.00

• Selectable Positive or • Upper Case Lock Negative Strobe, and Switch (for Capital Strobe Pulse Width Letters and Numbers)

. 'N' Key Roll-Over *2.00

. Full Debounced PT NUMBERS: Key

„ . „ . „ board, P.C. Board, all re

• Carriage Return Key ^^.^^^ components and as

• Repeat Function Key sembly manual.

. Shift Lock, 2 Shift Keys j^qj^. jf y^^ j^^^^ ^his

• 4 User Defmeable Keys 53 Key Teletype Key

• P.C. Board Size: board you can buy the 17-3/16" X 5" Kit without it for $44.95.

A FULLY PROGRAMMABLE SLIDE RULE

the MATHEMATICIAN with 100 STEPS

• RPN logic with buill-in hierarchy for rncreased speed and accuracy in calculating sequences involving arithmetic, trigonometric, logarithmic, power or exponential functions

• A three-level stack plusseperale accumulating memory for quick, accurate solutions to complex calculations. • Eight-digit LED display with full-floating decimal system • Common and natural logarithms and antiloganthms • Sine, cosine, tangent and inverse trigonometric functions ■ Instant automatic calculation of powers and roots

• Instant conversions of radians to degrees or vice versa • Square, square root, and reciprocal calculations • Pi. change sign, and register exchange keys • Automatic reciprocals

• Ability to automatically sum squares • Storage memory •

Roll-down clear • fwlOS/LSl solid-state circuitry 'Engineered and manulactured by National Semiconductor Corp . a world leader m solid-state technology

• Simplified programming You simply engage a learn switch and perform a problem in normal manner The 4615 records the formula and lets you debug the program as its written • The learn-mode capacity total 100 separate steps • Several different programs can be contained at the same time • Constant factors can be entered as program steps * Delete feature lets you correct programs while youare writing them, • Skip key permits skipping over entire programs to access additional programs withm 100-stepcapacity

• Programs remain intact until new programs are written over or until your 461 5 is turned off.

• You have total freedom to select keyboard entries as variables or constants •Automatic warning signal in display lets you know when you exceed programmmgcapacity • The,46i5 is rechargeable and comes complete with nickel cadmium batteries

10 DAY MONEY BACK GUARANTEE

4615 @ 29.95_

AC charger @ 4.95 _

_ Carryir^g case '^- 2.95_ Gale, stand @ 1.95_

ooi^frord,.

FROM CONCORD

the first full featurel lsiDMMkit

INTRODUCTORY PRICE:

Reg. Suggested Retail. $149.00

AUTO RANGING

AUTO POLARITY

AUTO ZERO

3 Large Digits (1/2")

Rechargable

MEASUREMENT RANGES:

Voltage IAC& DC) 1 N/IV- lOOOV Current (ACS DCl lOjJA- 1A

RESISTANCE: 1 0 - 10 MQ Basic DC Accuracy, better ttian 0 1% =: 1 Digit Power 4 AA batteries I Rechargable batteries optional)

NI-CAD BATTERIES: $6.00 • AC CHARGER: $4.95 • ENCLOSURE: S12.95 • TEST LEADS: $2.95 • SHUNT KIT FOR 3 CURRENT RANGES: $4.75 Minimum Order: $10.00

SHIPPING AND HANDLING

KEYBOARD. DMM and CALCULATOR: S3.50.

ALL OTHERS - SI.00.

California residents add 6% sales tax

ELECTRONICS WAREHOUSE Inc.

1603 AVIATION BLVD. REDONDO BEACH, CA. 90278

TEL. (213)376-8005 WRITE FOR FREE CATALOG

You are invited to visit our store at ttie above address

Circle 56 on inquiry card.

BYTE November 1977

237

Z80 Microcomputer Boards

Wtisfs New?

SYSTEMS

Gnat Leaps into Dual Minifloppy System

A "Puzzling" New Development from Europe

Tlie dual GNAT-PAC System 8 microcomputer is now available with dual minifloppy disk drive from Gnat Computers Inc, 7895 Convoy Ct, Unit 6, San Diego CA 92111. Eacin minifloppy has storage capacity of 80 K bytes; operations include on board data buffering, automatic seeking and disk initialization.

The system is called the extended System 8, and it comes equipped with the following features:

• 16 K bytes of programmable memory.

• 2 K bytes of programmable read only memory (PROM) with space for an additional 14 K bytes.

• Serial and parallel 10.

• Disk interface and controller.

• Hexadecimal front panel. Software for the System 8 includes a

monitor, bootstrap loader, and disk operating system. The monitor and loader are PROM resident. The disk operating system features an assembler, editor and debugger with trace, test and debug capability. PL/M, BASIC, FORTRAN and other high level languages are available. Single unit price is $3690."

Circle 462 on inquiry card.

What's happening in Europe? One answer to the question is ES's new "Puzzle" microprocessor system. Puzzle is a 6502 based system which uses European style printed circuit boards and connectors. It consists of a processor card (with 500 bytes of programmable memory and 2 K bytes of programmable read only memory), a 4 K byte programmable memory extension card, a 6 to 12 K byte programmable memory extension card, and an lO card.

A software development and test system is also available which features serial and parallel interfaces.

For more information, contact Ing Ernst Steiner, 1130 Wein Geylinggasse 16 AUSTRIA, phone 82 26 74.■

Circle 463 on inquiry card.

Wintek Module Line

Circle 464 on inquiry card.

Here is the beauty contest photo of the Wintek line of modules for microprocessor systems use. This unique line of "Wince Micro Modules" includes backplanes, card racks, power supplies and associated items. The intent is to allow the user to quickly and cheaply assemble a customized microcomputer system using the standard 4.5 by 6,5 inch (11.4 by 16,5 cm) 44 pin connector cards available from the firm. Options available include modules for control, volatile user memory, ROM and EROM programmer, analog interfaces, data acquisition, relay drivers and sense inputs, cassette interfaces, floppy disk interface, console, CMOS volatile memory with battery backup, and a touch tone transmit/receive modem. Wintek is located at 902 N 9th St, Lafayette IN 47904, (317)742-6802.■

Zilog Inc has introduced a family of Z80 based microcomputer boards to offer users a modular approach for building their own computing and processing systems.

The new MCB board series is designed with Zilog's Z80 circuit. Each of the present boards is bus compatible and directly interfaces with all other boards in the series. All boards currently offered are available for delivery 30 days ARO.

Leading off the series is the Z80-MCB microcomputer board, designed to operate as a single board computer, including its own self-contained memory, plus serial and parallel lO ports. The Z80MCB has capacity of 4 K bytes, of dynamic programmable memory, plus up to 4K bytes of programmable read only memory, erasable read only memory, or read only memory.

The Z80-MCB can be expanded to include more 10 and memory by adding other boards in the series. A strapping option allows users to put 1 6 K by 1 bit dynamic programmable memory modules in place of 4 K by 1 bit programmable memory modules. Single unit price of the Z80-MCB is $495.

The Z80-MDC memory/disk controller board provides users with 12 K bytes of dynamic programmable memory, plus a floppy disk controller capable of handling up to eight floppy disk drives. The Z80-MDC has a strapping option for setting start address of each 4 K byte page. Another feature is a 16 bit cyclic redundancy check. Single quantity price of the Z80-MDC is $795.

The Z80-PMB/PROM memory board provides up to 32 K bytes of memory. Jumper options allow each 16 K bytes of memory to reside in any segment of the 64 K address space. The price is $395 for single units, excluding the cost of programmable read only memory chips.

Also included in the MCB series are three programmer boards and three interface boards. Standard card cages, extender boards, edge connectors and wire wrap boards are available as options.

For more information contact Dave West at Zilog, 10460 Bubb Rd, Cupertino CA 95014, (408) 446-4666."

Circle 465 on inquiry card.

238 BYTE November 1977

|.|.om Pa«'*s to Pcpipftcpa/,.

a one stop, mail-order computer store, serving computer enthusiasts since 1973.

Low power Schottky

This adjustable packaging system for S-100 buss microcomputers is compatible with Altair 8800 and IMSAI 8080 size cards. Outside, it is beautiful...with a dark blue textured vinyl finish and lines unmarred by external screws or fasteners. Inside, there is space for 21 cards total (on 0.75" centers) with a fully adjustable interior card mounting system (card guides and hardware provided for 12 cards). The interior is instantly accessible, the rear and front panels are removable and recessed. If you want a classy home for your micro, check this out...it is the best we have seen. VP2 ASSEMBLED MICROCGMPUTER CASE $134.30

STATEK 3 TERMINAL CRYSTALS $4.95 each

tall frequencies in KHz)

10.000 12.800 15.360 16.000 16.384

18.641 19.200 20.480 24.576 30.720

31.500 32.768 36.864 38.400 40.960

60.000 76.800 100.00 153.60 240.00

SENTRY CRYSTALS: SERIES MODE, FUNDAMENTAL,

WIRE LEADS, HC18 PACKAGE $4.95 each

[all frequencies in MHz)

4.0 4.5315 5.0 8,0 9.0

10.0 12.0 15.0 18.0 20.0

MISCELLANEOUS CRYSTALS

500 HIz, series mode, fundamental, HC6/U

package, wire leads $4.95 each

1 MHz, series mode, fundamental, wire leads in HC6/U package $5. 95 each

2 MHz, series mode, fundamental, wire leads in HC6/U package $5.90 each

8Kx8 Econoram 11

single Kit $163.84 3kits-24K!-$450

Those who know memory recognize the Godbout board not just an exceptional value (It's no secret we know how to keep costs down), but as an example of how to pack extra options into a basic memory board. Extras like, a vector interrupt provision f you try to write into protected memory. Configuration as two independent ^K blocks {both protectable separately). A selectable write strobe for either PWR or MWRITE. An all static design,

■free of timing and refresh problems. Guaranteed speed under ^50 ns (with on-board wait state logic for use with ^ MHz Z-80) and guaranteed current

under 1.5A (1250 mA typ). And of course...sockets for all ICs, legended board with solder mask, one r warranty on parts...we've got it all. ALSO AVAILABLE: 8K ASSEMBLED, TESTED, WARRAN TED I YEAR...$188.50; "iK KIT. ..$100.

74LS00

74LS01

74LS02

74LS04

74LS08

74LS10

74LS11

74LS12

74LS14

74LS15

74LS20

74LS21

74LS22

74LS26

74LS27

74LS30

74LS32

74LS37

74LS38

74LS42

74LS47

74LS48

74LS74

74LS75

74LS76

74LS86

74LS109

74LS125

74LS126

74LS132

74LS138

74LS139

'-M

$0.30 0.30 0.30 0.33 0.36 0.30 0.36 0.33 1.38 0.30 0,30 0.33 0.33 0.43 0.36 0.30 0.38 0.45 0.45 0.98 1.00 0.98 0.50

74LS151 74LS155 74LS157 74LS160 74LS161 74LS162 74LS163 74LS168 74LS169 74LS173 74LS174 74LS175 74LS195 74LS240 74LS257 74LS258 74LS266 74LS283 74LS365/

80LS95 74LS366/

80LS96 74LS367/

80LS97 74LS368/

80LS98 74LS386 81LS95 81LS96 81LS97 81LS98

$0.95 1.38 0.95 1.40 1.40 1.40 1.40 1.87 1.87 1.65 1.25 1.15 1.30 1.88 1.25 1.25 0.53 1.20

0.75

0.75

0.75

0.75 0.55 1.13 1.13 1.13 1.13

r

25 PIN RS-232 CONNECTORS: submini D type.

Male plug with plastic hood, part #DB25P

$3.95

Female jack, part #DB25S 53.95

Sedge connectors: •S-100-140ST Gold plated soldertail edge con

Jnector, 0.140" spacing for Altair Motherboards l/*6, S/$27.S0

! IS.IOOST same but .250" row spacing for IMSAI l/*5, S/$22.00

5 VS-IOOHN same but gold plated, 3 level wrap posts..l/$5, S/J22.O0

j AcTivE Terminator $29.50 j ^6ThERBOARB\

■ Plugs into any S-IDO Motherboard whose buss lacks active terminations. ■ 1-^.1. ^1 /h/^^N 1 ^^ r* I /hl/^ A '

I Cleans up noise, crosstalk, overshoot, and other buss problems that can I H If j ^lot<i nTrf J IK Nl^fc Sil xA

^cramble data unpredictably. Kit form only. "^ M '^ OIUI^ »P7U lO OlOrb y^\A^

ITtWspclicr "f ere''"'"""

Many of you are into making music with your computer; some people generate sounds within the machine itself, others use them to control synthesizer hardware. Where do we come in? One of our lines is the series of MusiKits'^") designed by Craig Anderton, writer for Guitar Player, Popular Electronics, Contemporary Keyboard, and a bunch of others. MusiKitstm contain a circuit board, electronic components, and pots; user supplies case and hardware. There are 24 in all...some you might like are the 8 In, 1 Out Mixer (#18, $20) which can mix up to 8 audio inputs to a common output; the Super Tone Control (#17, $10.50], a low noise, state variable filter that gives high, low, and bandpass outputs; a Reverb Unit (122, $13.00 less springs) for adding concert hall sound and acoustic depth. Want to know more? Check our flyer.

THkMS: Please allow up to S% for shipping, more for Vector #VP2; excess refunded. Prices good through end of magazine cover month. Californians add tax.

cons acce]ited with street address. For BankAniericard®/VISA®/Mastercharge®orders ($15 min) call 415-562-0636, 24 hours.

10000 uF at 10U!

Building a 5V power supply? Need to beef up an existing supply that lacks sufficient capacitance? Here is the answer.

Includes all edge connectors, plus active terminations minimize crosstalk, noise, overshoot, and ringing

may be present with unterminated busses. Excel lent for stand alone system, or add to existing systems. Kit form only.

S to m I that

V.

iging ! ccel- H

BILL GODBOUT ELECTRONICS BOX 2355, OAKLAND AIRPORT CA 94614

SEVERAL GOOD REASONS HHY YOU SHOULD HAVE OUR FLYER: 1) CMOS 2) LINEARS 3) MICROPROCESSORS 4) POKER SUPPLIES 5) RESISTORS 6) CAPACITORS 7) DISPLAYS 8) SOCKETS 9) VECTOR PRODUCTS 10) ENCLOSURES 11) ALL THE OTHER THINGS WE CAN'T FIT INTO THIS SPACE.

Circle 61 on infi'uiry card.

BYTE November 1977

239

What's New?

MEMORY

Will Memory Megalomania Never Stop?

Technico Inc, 9130 Red Branch Rd, Columbia MD 21045, (800) 638-2893, iias just sent along an exciting new development for tliose readers interested in opting for the Texas Instruments TMS-9900 architecture. The firm manufactures a TMS-9900 based processor board, shown at the top in this photo. The new development is the board at the bottom, the TEC-9900-MA dynamic memory board which has a capacity of up to 32 K bytes (16 K 16 bit words) and plugs directly into the previous TEC-9900-SS product. The new board measures 7 by 16 inches (17.8 by 40.6 cm) and includes all the necessary refresh and control circuitry. Address selection logic allows DIP switches to specify any starting address for the 32 K byte region in 1 K address increments. The board uses Texas Instruments TMS4051 dynamic memory chips which are organized 4 K by 1 bit. As a result, the board can be populated with any in

crement of 4K 16 bit words. These memory parts have a sufficiently fast response time to allow the 9900 to run at its maximum speed of 3.3 MHz clock. A fully populated 32 K byte version of the board sells under part number TEC9900-MA-32KB for $799 assembled and tested. (At the price of 3 cents/bit installed, who can haggle?) This is a very desirable item for the homebrewer willing to supply the finishing touches to a 16 bit minicomputer with 32 K bytes of memory. The economics can be summarized as follows:

TEC-9900-SS Processor $399

TI-9900 + ancilliaries TEC-9900-MA-32KB Memory $799 32,768 bytes memory TEC-9900-PP Power supply $149 $1347

To these assembled and tested module prices one should add the cost of a serial ASCII terminal, a cabinet or chassis in which to mount the equipment (homebrew style), and any mass storage required to complete the system.

A phone conversation with the firm at the time this note was being written (July 5 1977) brought out the fact that forthcoming additions to the line are a video and audio cassette interface board (TEC-9900-VA), and a floppy disk controller, both of which were expected to be available in the fourth quarter of 1977.«

Circle 466 on inciuiry card.

Attention Microprogrammed Computer Designers

Motorola has sent along this photo and block diagram of a new addition to their Ml 0800 family of high speed MECL 10,000 current mode logic. (This family of logic is used in the highest speed contemporary processors, and due to the difficulties of designing with transmission line interconnections, tends to be ignored by experimenters favoring

slower TTL logic.) Illustrating the way future packaging trends are going, this MCI 0803 memory interface processor is mounted in a so-called "quad in line" (QUIL) package with four rows of 12 pins for 48 pins total.

Its internal logic, shown in the background, includes six 4 bit registers, an arithmetic logic unit (with encoded selections of function and operands) and data transfer circuitry. Its intended use is as a node in a large machine, dedicated to memory and peripheral operations. An example is performing the tasks of direct memory access control where intelligent programming Is useful, but the versatility of a main processor is not needed.

The high speed nature of this device and its price ($40 in 100 quantity) say that this chip will be of most interest to those individuals designing new products subject to high performance specifications. For more information contact Jerry Tonn at Motorola Semiconductor Products, POB 20912, Phoenix AZ 85036, (602)962-2515.■

Circle 468 on inquiry card.

Memory Module from MITS

r^^^^^ ^^^^^^ ^^^^^ "^^fl^P—

The new Altair memory module provides 16 K bytes of dynamic random access memory. The unit runs at a maximum power dissipation of 3 W and a maximum cycle time of 350 ns.

Crystal controlled logic timing eliminates the need for on board oneshot multivibrator circuitry to allow continuous operation svithout wait states.

Bus strips provide isolation between power and signal lines for maximum noise suppression. Address selection is switch selectable in 4 K blocks. Each board requires one slot on the .Mtair (S-100) 8800 bus. Contact MITS at 2450 Alamo SE, Albuquerque NM 87106.*

Circle 467 on inquiry card.

An LSI-11 EROM Board

(

RDA Inc, 5012 Herzel PI, Beltsville MD 20705, (301) 937-2215, has sent along this picture of an LSI-11 option (Digital Equipment Corporation) which requires two slots of an LSI-ll's backplane and provides 8 K bytes of storage using 2708s as memory elements. The memory is set up for selectable addressing. Power requirements are 1 A on each of three voltages: +5 V, —5 V and —12 V when all sixteen 2708 memories are plugged into the circuit in the empty sockets shown in the photo. (A separate programming device is required since this board does not include a builtin programmer.) Exclusive of the 16 memory chips, the price of this board is $285. Assuming a current mail order price of $35 for each 2708, fully stuffing the board will cost $560. ■

Circle 469 on inrtuiry card.

240

BYTE Niivcmljcr 1977

DIODES/ZENERS

SOCKETS/BRIDGES

TRANSISTORS, LEDS, etc.

1N914

lOOv lOmA .05

8-pin pcb .25 ww .45

2N2222

NPN (Plastic .10

) .15

1N4005

600v

1A .08

14-pin pcb .25 ww .40

2N2907

PNP

.15

1N4007

lOOOv

1A .15

16-pin pcb .25 ww .40

2N3906

PNP

.10

1N4148

75v 10mA .05

18-pin pcb .25 ww .75

2N3054

NPN

.35

1N753A

6.2v

z .25

22-pin pcb .45 ww 1.25

2N3055

NPN 15A 60v

.50

1N758A

lOv

z .25

24-pin pcb .35 ww 1.10

T1P125

PNP Darlington

.35

1N759A

12v

z .25

28-pin pcb .35 ww 1.45

LED Greer

, Red, Clear

.15

1N4733

5.1v

z .25

40-pin pcb .50 ww 1.25

D.L.747

7 seg 5/8" high corn-anode 1.95 |

IN5243

13v

z .25

Molex pins .01 To-3 Sockets .45

XAN72

7 seg com-anode

1.50

1N5244B 1N5245B

14v 15v

z .25 z .25

2 Amp Bridge 100-prv 1.20 25 Amp Bridge 200-prv 1.95

END 359

Red 7 seg corn-cathode

1.25

CMOS

- T T L

4000

.15

7400

.15

7473 .25

74176 1.25

74H72

.55

748133

.45

4001

.20

7401

.15

7474 .35

74180 .85

74H101

.75

74S140

.75

4002

.20

7402

.20

7475 .35

74181 2.25

74H103

.75

74S151

.35

4004

3.95

7403

.20

7476 .30

74182 .95

74H106

.95

74S153

.35

4006

1.20

7404

.15

7480 .55

74190 1.75

74S157

.80

4007

.35

7405

.25

7481 .75

74191 1.35

74 LOO

.35

74S158

.35

4008

.95

7406

.35

7483 .95

74192 1.65

74L02

.35

74S194

1.05

4009

.30

7407

.55

7485 .95

74193 .85

74 LOS

.30

745257(8123)

.25

4010

.45

7408

.25

7486 .30

74194 1.25

74L04

.35

4011

.20

7409

.15

7489 1.35

74195 .95

74L10

.35

74LS00

.35

4012

.20

7410

.10

7490 .55

74196 1.25

74L20

.35

74LS01

.35

4013

.40

7411

.25

7491 .95

74197 1.25

74L30

.45

74LS02

.35

4014

1.10

7412

.30

7492 .95

74198 2.35

74L47

1.95

74LS04

.35

4015

.95

7413

.45

7493 .40

74221 1.00

74L51

.45

74LS05

.45

4016

.35

7414

1.10

7494 1.25

74367 .85

74L55

.65

74LS08

.35

4017

1.10

7416

.25

7495 .60

74L72

.45

74LS09

.35

4018

1.10

7417

.40

7496 .80

75108A .35

74L73

.40

74 LSI 0

.35

4019

.60

7420

.15

74100 1.85

75110 .35

74L74

.45

74 LS11

.35

4020

.85

7426

.30

74107 .35

75491 .50

74L75

.55,

74LS20

.35

4021

1.35

7427

.45

74121 .35

75492 .50

74L93

.55

74LS21

.25

4022

.95

7430

.15

74122 .55

74L123

.55

74LS22

.25

4023

.25

7432

.30

74123 .55

74H00 .25

74LS32

.40

4024

.75

7437

.35

74125 .45

74H01 .25

74S00

.55

74LS37

.35

4025

.35

7438

.35

74126 .35

74H04 .25

74S02

.55

74LS40

.45

4026

1.95

7440

.25

74132 1.35

74H05 .25

74S03

.30

74LS42

1.10

4027

.50

7441

1.15

74141 1.00

74H08 .36

74S04

,35

74LS51

.50

4028

.95

7442

.45

74150 .85

74H10 .35

74S05

.35

74LS74

.65

4030

.35

7443

.85

74151 .75

74H11 .25

74S08

.35

74LS86

.65

4033

1.50

7444

.45

74153 .95

74H15 .30

74S10

.35

74LS90

.95

4034

2.45

7445

.65

74154 1.05

74H20 .30

74S11

.35

74LS93

.95

4035

1.25

7446

.95

74156 .95

74H21 .25

74S20

.35

74LS107

.85

4040

1.35

7447

.95

74157 .65

74H22 .40

74S40

.25

74LS123

1.00

4041

.69

7448

.70

74161 .85

74H30 .25

74S50

.25

74LS151

.95

4042

.95

7450

.25

74163 .95

74H40 .25

74S51

.45

74LSI 53

1.20

4043

.95

7451

.25

74164 .60

74H50 .25

74S64

.25

74LSI 57

.85

4044

.95

7453

.20

74165 1.50

74H51 .25

74S74

.40

74 LSI 64

1.90

4046

1.75

7454

.25

74166 1.35

74H52 .15

74S112

.90

74LS367

.85

4049

.70

7460

.40

74175 .80

74H53J .25

74S114

1.30

74LS368

.85

4050

.50

7470

.45

74H55 .25

4066

.95 .40

7472

.40

4069

4071

.35

LIIMEARS, REGULATORS, etc.

4081

.70

8266 .35

LIV1320K5 (7905) 1.65

LM340T24

.96

LIVI723

.50

4082

.45

MCT2 .95

LIVI320K12 1.65

LIV1340K12

2.15

LM725

1.75

8038 3.95 LM201 .75

1 M320T5 1 65

LM340K15

1.25

LM739

1 Rn

9000 SERIES

LM320T12 1.65

LM340K18

l!25

LM741(8-14).25

9301

.85

LM301 .25

LM320T15 1.65

LIV1340K24

.95

LIV1747

1.10

9309

.35

LM308(Mini) .75

LM339 .95

LIV1373

2.95

LIVI1307

1.25

9322

.85

LM309H .65

7805 (340T5) .95

LIVI380

.95

LM1458

.95

95H03

.55

LM309K (340K-5) .85

LM340T12 1.00

LIVI709 (8,14 PIN) .25

LM3900

.50

9601

.75

LIV1310 1.15

LM340T15 1.00

LM711

.45

LM75451

.65

9602

.50

LM311D(Minil .75 LM318 (Mini) .65

LM340T18 1.00

NE555 NE556 NE565

.50 .95 .95

tY CLOCKS

MEMOF

745188(8223) 3.00 1702A 6.95 MM5314 3.00 MM5316 3.50

INTEGRATED CIRCUITS UNLIMIT

ED

NE566 NE567

1.75 1.35

2102-1

1.75

7889 Clairemont Mesa Boulevard, San Diego, California 92111

2102L-1 1.95 TR 1602B/

(714) 278-4394 (Calif. Res.)

SPECIAL DISCOUNTS

lit 1 \J\J£. U;

TMS6011 6.95 8080AD 15.00

OTIT 1 en

All orders shipped prepaid No minimum Total Order Deduct Open accounts invited COD orders accepted Si00-$300 10°/

Olio

8T23

1 .uyj 1.50

Discountsavailableat OEM Quantities California Residents add 6% Sales Tax $301 -$1000 15%

8T24

2^00

All IC's Prime/Guaranteed. All orders shipped same day received.

$1000- Up

20%

2107B-4

4.95

24 Hour Toll Free Phone 1-800-854-2211 MasterCharge / BankAmericard / AE Cide 70 on inc

uiiy card.

A 16 K Bit EROM

What's New?

MEMORY

An EROM Programmer

MicroPeripherals, 24 Matford Close, Westbury on Trym, Bristol BSIO 6LR ENGLAND, has announced this programmer for the popular erasable read only memories with pari numbers 2704, 2708 and 2716. The product will program a 1 K chip in 2.5 minutes, a process which includes setting up the programmed pattern and verifying the pattern. The programmer is intended to be used with the user's processor as a peripheral, and comes in several models. The basic model is intended for use with 2704 (1/2 K bytes) and 2708 (1 K bytes) parts, borrowing power from the user's system. This model is priced at $199. The larger models feature built-in power supplies and manual operations via switches and LED readouts."

Circle 486 on inquiry carci.

Nonvolatile to the Core

For the first time, to our knowledge, a product has been designed for the Altair (S-100) bus which provides core memory for a personal computer system. The product is Micro Memory Inc's MM-S100 8 K by 8 bit programmable memory card. Of what use is a magnetic core memory in an age of semiconductor circuits? Nonvolatility is the answer. With a core memory, magnetic storage of data is involved, a technology which is not dependent upon continuous application of power. Turn off the power on a core memory, and it will retain its pattern unaltered "forever." Turn on the power and the active circuits, and it is functionally like any semiconductor programmable memory. This core memory card thus combines the nonvolatility of a read only memory with the programmability of dynamic or static semiconductor memories.

The MM-S100 unit plugs diiectly into the Altair (S-100) bus, and has all the circuitry needed: timing, control logic, decode logic, drive circuits, address and data latches, power regulators, etc. It runs with a 1.0 ms cycle time so that no wait states are needed with a standard 8080 clock rate. The price is $650 from Micro Memory Inc, 9438 irondale Av, Chatsworth CA 91311, (213) 9980070."

Circle 487 on inquiry card.

IB

EPROM

If your 2708 erasable programmable read only memories (EROMS) are filling up fast, here's one answer to the problem: Texas Instruments' 2716, a direct plug-in replacement for the 2708. Each chip contains 16,384 bits of memory and features low power consumption (375 milliwatts typical) and DC noise immunity in both high and low states so that all inputs can be driven by TTL logic without the use of pullup resistors.

The memory circuit is organized as 2048 words of 8 bit length. It is designed for high density, fixed memory applications where low power dissipation, fast turnarounds or program changes are required. Maximum access and minimum cycle times are 450 ns. The data outputs of the TMS2716 are three state to allow connecting of multiple devices on common bus. The EROM can be erased by exposing the chip through the transparent quartz lid to high intensity ultraviolet light. The TMS2716IL is supplied in a standard 24 pin dual in line ceramic package.

Contact Texas Instruments Inc, Inquiry Fulfillment Service, POB 1443, M/S 669 (attn: TMS2716) Houston TX 77001,(214) 238-2011."

Circle 488 on inquiry card.

At the Frontiers of Silicon Technology

This electron microscope image shows a new American Microsystems Inc VMOS process memory device with a human hair juxtaposed on top of it. The magnification factor is on the order of 10,000 times the actual size. The V in VMOS is emphasized by the V-shaped slots in the structure of the devices. The part design from which this enlargement was made (the S4015-3 integrated circuit) is a new commercial volatile memory product which has an extremely fast access time (45 ns) and 1 K by 1 bit static operation. The product is intended for use with fast random access scratch pads, buffers, cache memories, etc. For those implementing microprogrammed machines on an experimental basis, this memory will prove ideal in a control store matched to the characteristics of the TTL bit slice parts such as the 2900 and the Texas Instruments' 74S481 family. American Microsystems Inc is located at 3800 Homestead Rd, Santa Clara CA 95051, (408) 246-0330."

Circle 489 on inquiry card.

242

BYTE November 1977

master charge

MICROCOMPUTER

SUPPORT DEVICES

8212 8214 8216 8224 8228 8238 8251 8253 8255 8257 8259

6800 SUPPORT

681 OP 6820P 6828P ■6834P 6850P 6852 P 6860P 6862 P 6880P Z80

4.00

12.95

5.25

6.00

9.25

8.20

12.00

28.00

12.00

22.00

22.00

6.00

8.00

9.60

21.95

12.00

17.00

15.00

18.00

2.70

SUPPORT DEVICES

3881 15.95

3882 15.95

F-8 SUPPORT DEVICES

3851 3852

•14.95 14.95

FLOPPY

DISC CONTROLLER

PD372D 1771

65.00 69.95

DYNAMIC RAMS

414D (16P) 1103 (16P) 2104 (16P) 2107B (22P) 2107B-4 (22P) TMS4050 (18P) TIV1S4060 (22P) 4096 (16P) MM5262 (22P) MM5270 (18P) MM5280 (22P)

STATIC RAMS

5.50 1.50 6.50 4.50 4.00 4.50 4.50 5.50 3.00 5.00 6.00

31L01

2.00

91L11A

4.25

91L12A

4.25

1101A

1.00

2101

3.00

2102 (10S)

1.25

2102-1 (5.00NS)

1.50

2M1A-4

4.45

2112A-4

3.00

2501B

1.45

3107

2.95

'4200A (250IMS)

13.75

410D(200NS)

11.95

4804

20.00

5101

20.00

74C89

3.00

74S201

4.75

91L02A

2.00

7489

2.25

8225

1.50

8599

1.50

82S09

9.00

Limited supply.

MISC OTHER COMPONENTS

NH0025CN

NH0026CN

N8T20

N826

N8T97

74367

DM8098

1488

1489

3205

D-3207A

C-3404

P-3408A

P-4201

MM-5320

IVlM-5369

DM-8130

DM-8131

DM-8831

DIVl-8833

DM-8835

SN74LS367

SN74LS368

1.75 3.00 4.00 3.25 1.45 1.00 1.00 1.95 1.95 6.20 2.50 3.95 6.75 4.95 7.50 2.00 3.00 2.50 2.50 2.50 2.50 1.00 1.00

MICROPROCESSOR'S

F-8

Z-80

Z-80A

CDP1802DC

AIVI2901

6502

6800

8008-1

8080A

8080B

19.95 36.95 49.95 29.50 22.95 24.95 24.95 8.75 15.95 16.95

SHIFT REGISTERS DYNAMIC

1404AN 3.00

2405 4.95

2505K 3.00

SHIFT REGISTERS

STATIC

MM 506

2509 K

2518B

2533V

TMS3002

TMS3112

MIVI5058

.89 1.00 3.95 2.00 1.00 3.95 2.00

FIFO

3341A 2812-D

6.75 11.95

KEYBOARD CHIPS

AY5-2376 14.95

AY5-3600 14.95

TV GAME CHIPS IMS 1955 (6 Games)

10.95 AYSS-8500(6Games)

10.95

USRT

S-2350 IM-6403 TMS-6011 (Tl TR-1602A (WD)

UARTS

AY5-1013 AY5-1014A

6.75 9.95

CHARACTER GENERATORS

2513

2513

3257

MCM6571

MCM6571A

MCM6572

MCM6581

WAVEFORM GENERATOR

8038

MC4024

566

6.75 6.75 18.00 10.80 10.80 10.80 8.75

4.50 2.75 2.00

PROM'S

1702A

1702AL

2704

2708

2716

3601

5203AQ

5.00

7.00

20.00

24.00

75.00

4.50

7.00

5204AQ

6834

6834-1

82S23B

82S129B

8223B

10.00 21.95 16.95 4.00 4.25 4.00

IMSAI/ALTAIR

S-100

COMPATIBLE

JADE Z 80

KIT

-With PROVISIONS for

ONBOARD 2708 and POWER ON JUMP

$135.00 EA.

Electronics for the Hobbyist and Experimenter

5351 WEST 144th STREET

LAWNDALE, CALIFORNIA 90260

(213) 679-3313

Discounts available at OEM quantities. Add $1.25 for shipping. California residents add 6% sales tax.

Assembled & Tested

8K STATIC RAM BOARD

250ns. $209.95

350ns. \^ 99.95

450ns. $189.95

* WILL WORK WITH NO FRONT PANEL

* FULL DOCUMENTATION

* FULLY BUFFERED

* S100 DESIGN ADEQUATELY BYPASSED LOW POWER SCHOTTKY SUPPORT ICS

* *

KIT

250ns. 350ns. 450ns.

$169.95

149.95 ;139.95

Circle 78 on inquiry card.

BYTE November 1977

243

What's New?

PUBLICATIONS

Motorola's New HEP Catalog

Motorola has announced its new cross reference guide and catalog describing the HEP line of semiconductor products. HEP products are designed primarily for hobbyists, experimenters, professional service technicians and dealers and consist of replacements for a large number of transistors, thyristors, diodes and FETs, as well as RTL, HTL, DTL, TTL and CMOS integrated circuits and linear devices. The catalog costs $2 and is available from the Motorola Technical Center, Motorola Semiconductor Products Inc, POB 20294, Phoenix AZ 85036, (602)244-6900.■

Circle 456 on inquiry card.

Is the Dragon a Phoenix?

The theme of rebirth and renewal is a very real one, as exemplified by Phyllis Cole's transformation of People's Computers from a newspaper format tabloid (hard to keep track of) into the 64 page (including covers) saddle stitched publication shown in its May-June 1977 form in this photo. People's Computers is published bimonthly by People's Computer Company, 1263 El Camino Real, Box E, Menio Park CA 94025, PCC is a tax-exempt, nonprofit corporation

and donations are said to be tax-deductible. Subscriptions are $8 per year in the US. Single copy price is $1.50.

The editorial flavor which Phyllis brings to this publication is that of commentary on what's happening, light software, background information on computing and related peripheral issues. It is a magazine intended to be readable and enjoyable for the neophyte. (Our resident noncomputer people at BYTE grabbed the first issue so quickly that it became difficult to find a copy from which to abstract this short review.) Some titles from the first issue received here in the new format include:

Home Computing: An Introduction for Novices

Once Upon a Faire

Computers and Copyright Law

Women and Computers: A Dialogue

The Dot and the Line

Stock Market Simulations

BASIC Mortgages

Exagon

Women and Math Projects: Lawrence Hall of Science

Space Colony: Living In a Garden of Illusions

Fortran Man

More Tiny BASIC

Make Believe Computers

Pilot

The Data Handlers Users Manual, Parts

Announcements

Letters

It is an interesting and positive transformation which should be sampled to be believed. . .CH»

Circle 458 on inquiry card.

IEEE Offers Microprocessor Talks on Cassette

A recording of three talks given at a tutorial "How to Use Microprocessors" held at Stanford University in the Spring of 1976 is available on standard magnetic tape cassettes for $5 from the IEEE. The talks are by Dr Robert Noyce, chairman of the board, Intel Corporation, Floyd Kvamme, vice president. National Semiconductor, and Dr Adam Osborne, president, Osborne Associates.

Topics covered include future developments in microprocessors, the business aspects of producing them, and which of the current microprocessors is most suited to particular hardware requirements. The tutorial was sponsored by the IEEE Computer Society, the Electron Devices and the Reliability Groups, Santa Clara (Silicon) Valley Section.

To obtain your copy of the cassette tape, send a check for $5 to the IEEE Section Office, 701 Welch Rd, Palo Alto CA 94304. Notes on the blackboard presentations and view graphs of the speakers will be included."

A Special Free Offer from Radio Shack

Radio Shack is offering five free copies of their new Archer Semiconductor Reference Handbook to any interested organization.

The 128 page handbook, which normally sells lor $1.95, lists over 36,000 replacement transistors, diodes and other devices, and includes a cross-reference guide, sections on the care and handling of transistors, soldering precautions, how to test transistors, and a glossary.

To get five free copies of the handbook, write on your club's stationery to Radio Shack, Dept SRH, 2617 W 7th St, Fort Worth TX 76107.

Home Computer Books Available

Dilithium Press has a new brochure detailing their computer books, all of which are slanted toward the home computer hacker. Beginner's books as well as more advanced books are included in the list, available for free from Dilithium Press, POB 92, Forest Grove OR 97116.

Fenwal Offers a New Thermistor Manual

THERMISTOR MAIMUAL

Many people who read BYTE are interested in microcomputer applications involving temperature measurement. One way to monitor temperatures is with a thermistor. Fenwal Electronics is making available a free 34 page thermistor manual containing a variety of temperature coefficient tables, resistance temperature tables and so on. Contact Fenwal 'Electronics, 63 Fountain St, Framingham MA 01701, (617) 872-8841."

Circle 457 on inquiry card.

Circif! 460 on inquiry card.

Circle 461 on inquiry card.

244

BVTE November 1977

7400N TTL

SN7400N SN740tN SN7403N SN7«03N SN74(MN SN74aSN SH74KN SN7407N SN7408N SN74IBN SN7410N SN74t1N SN7412N SN7413N SN7414N SN74IBN SN7417N SN7420N SN742m SN7422N SN;423N SN7425N SN7426N SN7427N SN7429N SN7430H SN7432N SN7437N SN743eN SN7439N SK7440N 5N7441N SK7442N SK7443M SN7M4N SN7445N SN7446N SN7447N SN744BN SN74MN SN7451N SN7453N SN7454N SN7459A SN7460N SN7470N

t:o4ooo

C04Q01

C0400? CD4006 CD4M7 CD4009

CD4010 CD4011 CD4012 C04013 CD40M CD4015 C04016 004017 CD40ie CD4019 CD4020 CD4Q21 CO4022 C04023 004024 CD4025 CD402G CD4027 C04028 C04029 00-5030 CD4035 004040 004 041 CD4042 004043

SN7472N

39

SN7473N

.39

SN7474N

.35

SN7475N'

.M

SN7476N

3b

SN747gN

aoo

SN7480N

bO

SN74B2N

w

SN7de3N

./o

SN74a5N

m

SN;486N

39

SN748flN

3.50

SN74e9fJ

2 49

SN7490N

.45

SN7491N

.!b

SNr492N

,49

SN7493N

.49

SN7494N

./9

SN7495N

.79

SN7496N

79

SN7497N

3.D0

SN74100N

1.25

SN74107N

39

SN74I09N

95

SM74lt6f<

191

SN74121N

,19

SN74122N

39

SN74123N

50

SN74125N

fin

5N74126N

W

SN74132H

1 25

SN74136N

.95

SN74141N

I 15

SN74142N

7 95

SN74143N

3 25

SN74144}J

3 00

SN74145N

1.15

SN74147N

?35

SN74148N

?no

SN74150M

SN741SIN

79

SN74153N

m

SN74I54N

1 ?5

SN74155N

m

SN74I56N

m

SN74157fV

.89

SN74160N StJ7416tN SN74162N SN74163N SN74164N SN74I65N SN74166N SN74157N SN74170N SN74172N SN74173N SN74174N SN7417SN SN74176N SN74177(J SfJ74179N SN741B0N SN741B1N SN74ia3N SN74184N SM74ie5N 5N74iaM SN74187N SN74l8eN 5N74190N SN74191N SN74192N SN74I93N SN74I94M SN74195N SN74I96N SN74t97N SN74198N SN74199N SN74200N SN74251N SN74279N SN74283fJ SN74284N SN74285N SM74355N SN74356N SN74367N SN74368N SN74390N SN74393N

20% Discount for 100 Combined 7400's

CMOS

CD4044

0D4046

CD4047

004048

C040J9

004050

CD4051

004053

004056

C04059

004060

CD4066

CD4068

004069

CD4070

CO4071

004076

CO4081

OD40S2

M014409

UCH410

UCI4419

MC14506

MC14507

CO4508

CO45t0

004511

CD45IS

C045I8

004520

M014562 14.50 CD4556 3.25

M014563 3 50

74C02 74C0J 74010 74C14 74020 74030 74C42 74073 74C74 74089 74C90 74093 74C95 74C107 74C151 740154 740157 74C1S0 74C161 740163 74 CI 64 74C173 74C193 74C195 a0095 eOC97

290 3.00 2.15

LM3U0H

LM301H

LM30tCN

LM302H

LM304H

LM305H

LM307CN

LM308H

LM303CrJ

LM309H

LU309K

LM310CN

LM3nH

LMSUN

LM317K

LM3ieCN

LM3igN

LM320K-5

ti4320K-5 2

LM320t{-12

LM320K.15

LM320I-5

LM320T-5 2

LM320T-a

LM320I-12

LM320T-I5

IM320T-1B

LM320T-24

LM323K-5

LM324N

LM339N

LM340K-5

LU340K-6

LM340K-8

LM340K-t2

LM340K-15

LM340K-I8

LM340K-34

LM340T-;

LM340I-6

LINEAR

LM340T-8 '.JS t.M340T-12 '25

LM340T-15 125

LM340r-18 ^-25

LM340T-24 1-25

LM350N 1.00

LW351CN .55

78MG 1,75

LM370N

LM373N

LM377N

LU380N

LM3800N

LM381N

LU382N

NE501K

tJ£510A

NE529A

Ne53tH

NE536T

NE540L

NES50N

NE555V

NE560B

NE561B

NE562B

NE565H

NE565N

NE566CN

NE567H

NE567V

LM7030N

LM709H

LM709N

LM710N

LM711N

LM723M

1,15 3,25

3.00 E-00 6.00

LM723N

LM733N

LM739N

LM741CH

LM741CN

LM745-14N

LM747H

LM747N

LM74BH

LM74BN

LM1j03N

LM1304N

LMI305N

LM1307N

LM1310N

LM1351N

LM1414N

LM1458CN

LMI-lSeN

LM1556V

LM2111N

LM2901N

LM3053

LM3065N .69

LM3900N(3401).49

LM3905N ,89

LM3909 1.25

LU5556N IBS

MC5558V 1.00

LM7525N ,90

LM7534N .75

B038B 4.95

LM75450 -49

75451CN .39

75452CN .39

7S453CN 39

75454CN .39

75491CN .79

754920N .89

75494CN .89

2,95

2.95

74LS0O 741502 74LS03 74LSW 74LS35 74LS0a 74LSI0 74LS13 74LS14 741S20 74LS26 74LS27 74LS28 74LS30 74LS32 74LS40 74LS42 74LS47 74LS51 74LS55 74LS73 74LS74 74LS75

174LS00 TTL

74LS76 74LSB3 74LSe5 74LSe6 74LS90 74LS92 74LS93 74LS95 74LS96 74LS107 74LS109 74LSt12 74LS123 74LSI33 74LS136 74LS138 74LS139 74LS1S1

74LS153 74LSI55 74LS157 74LSt60 74LSt61 74LS162 74LS163 74LS164 74LS175 74LSiai 74LS190 74LSI91 74LS192 74LSI93 74LS194 74LS195 74LS253 74LS257 74LS260 74LS279 74LS367 74LS368 74LS670

Grab Bag Specials

GB100 GBIOI GB102 GB103

08104 GBI05

CAPACITORS

tOOea. Ceramic Oisc 60 ea. My!ar 60 ei ElGdtolytics 40 ea Tantalum (lubulat) 20 ea. Ceramic Tnmmars lmart;ed) 20 ea. Ceramic Tnmmets (house ' or unmaiKed)

DIODES

S2.00/kiI 4.00M 4.00/101 4.00/IOL 6.00/kiI

3 00/lat

GB110

Gam

GB112

INTEGRATED CIRCUITS

50 OS, Market! TTL Senes 4.00/lol

30 B3 UaiXed Uneat 4.00/lal

LEDS LAMPS - Readouts

10U en ASST LEDS 6.00;lol

40 ea NE3 Type Lamps 3.00/lo1 20 ea Multiple Readouts. Calculators, Waicnes, Timers, Le<!5 lo Panaplex

New — Used — Rerects 6.00/iot

RESISTORS

GG116 200 ea. •.'• wait Assortment 52.00

GBn7 200 ea ',^ wall Assoitment 2.00

GSnS 40ea Wirewound 3-10 wati 1-100 ohm 5.50

GBl 19 40 ea. Wirewound 3-tO watt 100u-2SK 5.00

SWITCHES

GB120 25 ea. Miniature Slide 3.00

GBI21 12 ea. Rocker 3.00

GB122 20 ea. Reed-Coil & Magnetic 5.00

MISC.

GBi23 30 ea. Ksat Sinks Assl. Sizes 2.50

GB124 Gea. CalculalorTypeKeytMatds 5-00

GB>25 300 ea. Molex Pins (8,9,14 seclions) 3.00

GB126 50 ea Opto Isolalors IL-1 Series {unleslej) 2.00

GB127 100 ea. Transistors Plastic a Power 3.00

GB12a 30 ca. Toioids Cores Iron & Tape 4.00

08129 50 ea Pfiolo Transistors 4.00 GQ130 1 ca Tape Oxve - 6 volt Motor witt) Erase Head &

2 Cassetle Tapes {no amplifier) 5.00

GB131 30 ea 6' ShrinktubinQ Assl. Siies & Colors 4.00

GB132 Wire Assi. Slics a Colors —lib. 2.95

POTENTIOMHERS

30 ea Minature Trimmen lOOi-lmeo 4.00 GBl 15 10 ea. 10 Turn PC. Mouni (rectangular

10 ea. 10 Turn P.O. MounI (cectanQulai mismarked) 2.00

marhedl 4 00 GB133 15 ea. V sqaure SinQle Turn PC. Mount

(mismarked) 3.00

XC209 XC209 )(0209 XC209

125" d>i.

Red 1

Green Orange Yellow .ZDO" die

Red

.190" dia.

lO.'^l

DISCRETE LEDS

K22

Red

XC22

Green

!(C22

Yellow

XC22

Orange

SSL-22

RT

XC526 XC526 XC526 XC526 XC526

Green Yellow Orange

XC556

XC556 XC556 XC55B KCSSB

Green Yellow Orange Clear

Green

Yellow 4/S1

Orange 4i^<

.089" itla.

MV50 ■ Red - 6S'

7;Si

INFRA-RED LED

DISPLAY LEDS

TYPE

MAN 1 MAN 2 MAN 3 MAN 4 MAN 7 MAN 7G MAN 7Y MAN 52 MAN 71 MAN 72 MAN 74 MAN 81 MANB2 MAN 84 MAN 3620 MAN 3640 MAN 4610 MAN 4640 MAN 4710 MAN 4730 MAN 4740 MAN 4830 MAN 6610

MAN 6630

POIAFUTY

Corrmon Anode 5 X 7 Ool Matrix Con'mon Cathode Oorrmon Catliode Common Aiiode Conrnon Anode-green Common Anode-yellow Common tViode-green Corrmon Anode Corrmon Anode Common Cathode Con'mon Anode-yellow Common Anode-yellow Common Cathode-yellow Commmon Anode-orange Common Cathode-orange Corrmon Anode-orange Common Cathode-orange Common Ai-.ofle-red Common Arode-reil Common OalttodD-red CommonAnode-yellow Common Anode-Double Digitorange Common Anode-orange

MAN 6650 PMN 6660 MAN 6680 MAN G710

POLAHin

Common Calhode-DouOle Digit-orange Common Cathode Common Anode Common Caitiode Common Anode-Double Digitred MAN 6730 Common Anode-Double Digitred

Common Cathode-Double Digtt-red

Common Cathode Common Anode-red Common Oaltiode-red Common Anode-red • 1 Common Cathode-red Common Cathode Common Anode Common Cathode Common Anode Oominon Anode Common Anode Common Cathode Common Cathode Common Cathode Common Cathode 1FND359) Common Cathode (FN0500) Common Anode (FND510)

MAN 6740

MAN 6750

MAN 6760

MAN 6780

DL701

OL702

0L7O4

0L707

DL728

DL741

□L74e

0L747

□L749

□1750

DL33B

FNO70

FND503

rND507

.560 1.25 -560 1.25

RCA LINEAR

CA3013 CA3023 CA3035 CA303g CA304e CA3053 CA3059 ■ CA3060 CA3080 CA30B1 CA30a2

2.15

z.se

2.«

CA30B3

1.60

OA30BG

CA3089

3.75

CA3091

10.20

CA3102

2.95

CA3123

215

CA3130

1.39

CA3140

125

CA3401

.49

CA3600

1,75

RC4194

595

RC4t95

3 25

HP 5082-7400 Series — Multi-Digit

• Ve" ht. • Common Cathode Red

• 3-5volts((i'5mils/sBCond . ,„ -, .., ,.,.. 2 Digit S .79

• 7 segment Monolittiic gjjj"^ gg

• Dip Package 4 ^-^^^ g^

SDiQll 1.19

10 or nwr*

.79

TV GAIME CHiP SET — $9.95

Includes AY-3-8500-1 Chip and 2.010 mhz crystal (2.010 crystal — $1.95 ea/AY-3-6500-1 chip — $8.95 ea.)

IC SOLDERTAIL — LOW PROFILE (TIN) SOCKETS

3^ SOLDERTAIL STANDARD (TIN)

24 pin 28 pin 36 pin

40 orn

1-24

25-49

16 iim 24 pin

10 pin 14 pin

■"^ SOLDERTAIL STANDARD (GOLD)

24 pin 2B pm

40 pin

WIRE WRAP SOCKETS (GOLD) LEVEL #3

28 [im

40 Hi

50 PCS. RESISTOR ASSORTMENTS $1.75 PER ASST.

10 OHM 12 OHM 15 OHM IB OHM 22 OHM

27 OHM 33 DHM 39 OHM 47 OHM 56 OHM

68 OHM 82 OHM 100 OHM 123 OHM 150 OHM

160 OHM 220 OHM 270 OHM 333 OHM 390 OHM

470 OHM 560 OHM 680 OHM B23 OHM IK

1 2K 1 5K 1 BK 2 2K 2 7K

3 3K 3 9K 4 7K 5 6K 6 8K

-170K 1 2M 3 3M

220K 560K

270K G80K

120K 330K 820K 2 2M 5 6M

1/4 WATT 5% = SO PCS.

1/4 WAH 5% =■ 50 PCS.

1/4 WAn 5% SB PCS.

1/4 WAH 5%_= 50PCS.

ASST. 8R lncludesResistorAssortments1-7{350PCS.) $10,95 ea.

S5.00 Minimum Ofdsr — U.S. Fyndi Onty Cailtomla nttJrfsntt — Add S% Silts Ttz

Spec Sheets - 25« — Sand 35c Stamp lor 197S Catalog Dealer Information Available

1021-A HOWARD AVE., SAN CARLOS. CA. 94070 PHONE ORDERS WELCOME — (415) 592-8097 All Adv«ftl»*d Pt1c*8 Gkwd Thru KovamtMr

WIRE WRAP CENTER >

HOBBY-WRAP TOOL-BW-630

Battecy Operated (Size C) Weighs ONLY 11 Ounces • Wraps 30 AWG Wire onto Standard DIP Sockets (.025 inch) Complete with built-in bit and sleeve

WIRE-WRAP KIT — WK-2-W

WRAP . STRIP . UNWRAP

• Tool lor 30 AWG Wire

• Roll of 50 Ft. White or Blue 30 AWG Wire

• 50 pes. each I". 2". 3" 5 4" lengths pre-stripped wire.

$11.95

WIRE WRAP TOOL WSU-30 WRAP . STflIP . UNWRAP-55.95

WIRE WRAP WIRE — 30 AWG

25ft.min.$1.25 50ft.Sl.95 100ft.$2.95 100011.115.00 SPECW COLOR — While - Yellow - Red - Green - Blue - Black

WIRE DISPENSER — WD-30

. 50 ft. roll 30 AWG KYNAR wire wrap wire $3.45 ea

• Cuts wire to desired length

« Strips 1" of insulation Specify — Blue-Vellow-While-Red

RfUJmul New

aVz-Dlgit Portable DMM

Comes Willi test leads, operating manua! and spare (use^

0«tload Protectee • .3" hign LEO Dlsolay

• Battery or AC Dperalior • Auto Zeroing

• irrv, IVa. 0 1 ohm resolulion • Owtange reading

• 10 meg Input impendence

• DC Accuiacy 1% typical

flangM: OCVolIaga.rO-lOOOVyACVoltageO-lDOOV Freq. Response: 50-400 HZ/OC-AC Cunen'.: 0-1000niA Resistance: 0-10 meg ohm Size: 6.^- x 4.4" x 2"

Model 2800 $99.95

AC Adapter BC-28 8.00

Roctiargeable Batteries BP-28 20.00

Carrylno Casfl LC-28 6.00

DATA^HANDBOOKS

7400 Pin out a Description of 5d00/7400 ICS S2.95

CMOS Pinout a Description of 4000 Sories ICS $2.95

Linoar Pmout a Functional Doscripiion S2.95

ALL THREE HANDBOOKS S6.95

TTP£

m746 1N751A 1N752 1N753 1N754 1N959 1N9658 1N5232 1N5234 1NS235 1N5236 1N456 1N45a 1N485A 1N4D01 1N4002 t(J4003 1N400'1

ZENERS

VOLTS W

3.3 400mm

5.1 400m 5,6 400m

6.2 400m 6.6 400ni 8.2 400m 15 400m 5.6 500m 6,2 500m 6,8 500m 7.5 500m 25 40m 150 7m 180 IDm

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 1N414B

8/1.00 1N4154

4/1,00 ltJ4305

28 1N4734

28 1N4735

28 1N4736

28 1N4736

6/1.00 1N4742

6/1.00 1N4744

6/1.00 lNlie3

12/1.00 1N11B4

12/1.00 )N1185

12/1.00 1N11B5

12/1.00 1N11B8

RECTIFIERS

VOLTS W

600 PIV 1 AMP 800 PIV 1 AMP 1000 PIV 1 AMP 50 200ni

10m 10m

PRICE

10/1.00 10/1 00 lOM.OO 6/1.00 15/1,00 12/1.00 20/1,00 26 28

12 Iw

50 PIV 35 AMP 100 PIV 35 AMP 150 PW 35 AMP 200 PIV 35 AMP 400 PIV 35 AMP

SCR AND FW BRIDGE RECTIFIERS

C360

C38M

2N2328

MOA 9a(

MOA9flO-3 12Aig200V

15A @ 400V 35A @ 200'/ 1.6A@200V

FW BRIDGE flEC. FW BRIDGE HEC

MPSA05

MPSA06

2N22igA

2N2321

?N22!2A

2U23B9

2N2369A

2P124B4

2N2WCA

2N2907A

2N2935

2N3053

2N3055

MJE305S

MJE2955

2N3392

2111398

d/$100 4/SlOO S/Sl 00

f

TRANSISTORS

PN35B7

PN35EB

PN356g

2N37IW

2H37Q5

2N3706

2N37Q7

2N3711

2tl3724

2HJ'25

2N3903

2N3904

2H3905

2N3906

2N4D13 ii\ DO

2lf40u 3^1.00

2N4123 lO/Sl.OO

:n5209 5.-I1 C

2N5951 511 t

C10ES1SCR 2.V {

2NS432 S2!

CAPACITOR

10 pf 22 pi

47 pi 100 pi 220 pt 470 p(

.001 m! .0022 .0047mf .01 ml

.1/35V t5/35V .22/35V .33/35V ,47/35V .68/35V 1.0/35V

50 VOLT CERAMIC DISC CAPACnORS

■49 50-100

.oovf

CORNER

1-9 10-49 50-tOC

.47/50V

1.0/50V

3.3/50V

4.7/25V

I0/25V

tO/50V

22/25V

22/50V

47/25V

47/50V

I00/2SV

100/50V

220/25V

220/50V

■i70/25V

1000/16V

2200/16V

.05 .04 .03 .0G47mF 05 .04

.05 .04 .03 .Ol/iF .05 .04

.05 04 -03 022pF .06 .05

.05 .04 .03 .W^f .05 .05

.05 .04 035 VF .12 .09

100 VOLT MYLAR FILM CAPACITORS

,12 .10 .07 .022mf .13 .11

.12 .10 ,07 .047ml .21 ,17

,12 .10 .07 .tml .27 .23

.12 .10 .07 .22mf .33 .27

-(■20S DIPPED TANTALUMS (SOLID) CAPACITORS

.28 .23 .17 I.5/35V .30 .26

.23 .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 1D/25V .40 .35

,28 .23 .17 15/25V .63 ,50

MINIATURE ALUMINUM ELECTROLYHC CAPACITDRS Radlil LHd

Ailtl LMd .13

10

.47/25V .47/50V 1.0/16V 1.0/25V 1.0/50V 4.7/16V 4.7/2SV 4.7/50V 10/16V 10/25V tO/50V 47/SOV 100/lEV 100/25V 100/50V 220/16V 470/25V

.15

.13

Circle 79 on inquiry card.

BYTE November 1977

245

What's Sew?

SOFTWARE

PDP-11 Software Information Available

"Real-Time Systems," a new brochure available from Digital Equipment Corporation, describes the hardware and software components of Digital's real time computing systems based around the PDP-11 family of computers. The publication covers the RT-11, RSX and IAS operating systems, FORTRAN IV, FORTRAN IV-Plus and IAS COBOL high level languages. Also covered is special application oriented software for real time data acquisition, analysis and reporting in biological and physical science laboratories and process monitor/control situations. The

brochure also lists sample configurations ranging from PDP-11 V03 to PDP-n/70 systems, laboratory and industrial real time interfaces, and available supporting services. To obtain a copy, contact Communication Services, Digital Equipment Corporation, 444 Whitney St, Northboro MA 01532."

Circle 500 on inciuiry card.

New Information for Sphere Owners

If you've been looking for information about the Sphere computer, contact Programma Consultants, 3400 Wilshire Blvd, Los Angeles CA 9001 0. They offer a free catalog of new software and hardware, plus user group news pertaining to the Sphere. The catalog is arranged in question and answer format, and deals with such topics as the availability of FOCAL, FORTH, APL and cross compilers for the unit."

Circle 501 on inquiry card.

An Assembler/Text Editor for the KIM

Micro Software Specialists have announced their new assembler/text editor package for KIM and TIM computers. Documentation and a hexadecimal object code listing are included. The price Is $19.95 for the program in either cassette or paper tape form. Contact Micro Software Specialists, POB 3292, E T Station, Commerce TX 75428."

Circle 502 on inquiry card.

A High Level Programming Language for the Motorola Microcomputer

Intermetrics Inc has announced PL/ M6800, the first high level programming language for the Motorola M6800 (or AMI S6800) microcomputer. The language is syntactically identical to Intel's PLM.

PL/M6800 has a 1 pass compiler which produces directly loadable object code and listings. The new compiler features a user controlled switch to determine whether the emitted code will be in the AMI or Motorola loader format. Other user controlled features include listings of source code, object code, and assembler code, as well as symbol table dumps.

The new compiler is accessible via the NCSS timesharing network, or can be purchased directly from Intermetrics for installation on IBM 360 or 370 computers. The purchase price of $1000 includes a tape containing the cross compiler and all library routines, a user's manual, a language reference manual, and product maintenance for one year.

The PL/M6800 compiler is compatible with the PL/M language developed by Intel to program their line of microprocessors. Intermetrics claims to offer "true software portability" in that PL/M6800 is not only "PL/M-like," but is syntactically identical to PL/M.

Information on PL/M6800 is available from PL/M6800 Product Support, Intermetrics Inc, 701 Concord Av, Cambridge MA 02138, (617) 661-1840.

Circle 503 on inquiry card.

A Mini Word Processing System

The Software Store has announced its Mini Word Processing system designed to run on Altair equipment under disk extended BASIC, for $150. Mini Word Processing is designed to help the operator generate letters, text, and mailing labels or envelopes. The system consists of seven programs which are driven by a menu select routine. Each program interacts with the operator to establish file names and drive numbers. The options are selected by the yes or no responses to the detailed program prompts. After each function is completed, the system reloads the menu routine.

A user's manual consisting of 51 pages is provided with the system. The manual includes detailed instructions concerning all operator prompts and system error messages, plus a number of examples with test data and programming considerations for custom applications.

Contact The Software Store at 706 Chippewa Sq, Marquette Ml 49855, (906)228-7622."

Circle 504 on inquiry card.

Computerized Plotting

Sylvanhills Lab has announced the availability of 8080 software to control its series of plotters. Approximately 2 K bytes of memory are required. The software may be used in conjunction with application routines available from Micro-Visions Inc, 4926 Travis, Houston TX 77002.

Plotters are shipped completely assembled and tested. The user mounts them on the drawing surface and completes the interconnection between the control boards and the computer. An 8 bit parallel lO port, and 5 and 24 V power sources are also supplied by the user.

Applications include architectural, mechanical and schematic drawing; printed circuit board artwork; positioning of small objects; computer generated art; games. Sizes available are 11 by 17 inches (27.94 by 43.18 cm) for $750, 17 by 22 inches (43.18 by 55.88 cm) for $895, and 22 by 34 inches (55.88 by 86.36 cm) for $1200.

Contact Sylvanhills Lab Inc at 1 Sylvanway, POB 239, Strafford MO 65757,(417)736-2664."

Circle 505 on inquiry card.

TEMPOS, a Multitasking Operating System for MITS Computers

Administrative Systems Inc (ASI) has announced its memory resident, multiuser, multitasking operating system, the TEMPOS Operating System for MITS computers with MITS floppy disks. Up to seven on line users may access the system concurrently, using shared (reentrant) or different tasks. In addition, background tasks are supported as queued processes.

The TEMPOS system supports shared access to data files with a file "lock" feature under program control. Extensive file handling capabilities, including user defined logical record length and random access to file, as well as logical record number, are featured.

A command macro feature may be invoked under the TEMPOS system, allowing an unlimited number of macros to be defined and recalled at the system and user program levels. Also, to facilitate debugging, a single step trace feature is included for assembly language programs.

The minimum recommended

memory requirement for the TEMPOS multiuser, multitasking operating system, using two disks and three terminals, is 48 K bytes. The price of the TEMPOS system is $1000. For further information contact Administrative Systems Inc, 222 Milwaukee, Suite 102, Denver CO 80206,(303) 321-2473."

Circle 506 on inquiry card.

246

BYTE Nuvcmhcr 1977

'"">(>; CRYSTALS ^^

- C _ ™"E FREQUEKCIES ONLY .^ziCiT"

CV1A 1 000 MHI HC33'U S5 95

CV?» 2000 MHi HC33 U S5.95

Icy? 01

20LOMHI

CV3A CY7A CY12A CY14A CY19A CV22A CV30B

■! 000 MH;

5 000 MH; 10 000 MHz 14 31B18 MHi 18 000 MH! 20 000 MHi 32 000 MH;

HC33/U

SI .951

HC18"U HC18U HCI8U HC18U HC18U HC18U

Hcieu

SA95 34 95 54 95 S4 95 54 95 54 95 S4 95

XR'22a6KB Kll $19.95 WAVEFORM GENEfUTORS

XR205 S8-0

Xfi■^^06CP 4 43

XR-230rCP 3 83

XR-2206KA Kil $14.9

EXAR

STEREO DECODERS

Xfi-UlOCP S3?]

xfl i3iaEP 3 2a

Xfl-IBOOP 3 20

Xfl.2S67 2 99

XR ai36 XR1468 XH-14fi8 xfl-1469 xfi 2208

TIMERS

XR-555CP S .49

xn-320P 1 55

XR-556CP 1 B5

XR-2556CP 3.20

XR 22400? 3 25 PHASE LOCKED LOOPS

XH-210 5 20

XR-215 6 60

XR-567CP 1 95

XR-567CI 1 70

CONNECTORS

PRINTED CIRCUIT EDGE-CARD

, 156 Spacing-Tin-Double Read-Out Bilurcatcd Contacts — Fits .054 to .070 P.C. Cards

15/30 PINS (Soldet Eyelet) $1.95

18/36 PINS (Solder Eyelel) S2.49

22/44 PINS (Solder Eyelet) $2.95

50/100 PINS (Wire Wrap) $6.95

50/100Ai.ioosiiadnq) PINS (Wire Wrap) $6.95

25 PIN-D SUBMINATURE

DB25P PLUG $3.25

DB25S SOCKET S4.95

20S-CB

HEAT SINKS ^

205-CB Beryllium Copper w-black finish lor TO-6 291-,36H Aluminum lor TO-220 Transistors S

Regulators 680-.75A Black AnoOized Aluminum lor TO-3 401-A Black Anodized Aluminum — predrilled

mounting holes for TO-3 — 4i'4 x 1V* x 2"

i .25

$ .25

$1.G0

J1.75

DIP SWITCHES SI>STSIIil.*ctlan #206-4 ( 8 pin dip) 4 switch unit 11.75 Bl. #206-7 (14 pin dip) 7 switch unit II.«S ». #206-8 (16 pin dip) 8 switch unit (2.25 B8.

EtChina KIIS Icannal he siiipptd via air)

32 X A-1 P C Eicii Materials Kit

enough lor 5 circurt boards

27 XA-1 — Plugboards 3662

22/44

8800V

®/te

Eicnefl Ciicuii Kit

Camoleie M - only ado waier

65 X46 X I'leEpoxy glass

P-PiHein-4< PC Tabs-spac«) 156"

Malmg cannBclot lor plugboard —

22 pm double readout

Univefsal MiCfocompuiet'Processoi

plugOoara — Epu^ Glass — complete

With ri eats ink and mounlino hardware

5 313 X 10 X 1/16 copper clad

$29.95 ea. $ 9.95 ea. S 6.95 ea. $ 2.95 ea.

$19.95 ea.

1/16 VECTOR BOARD

rnppfHciAC

Part No

ti.lF'.lJ0G2XXXC 169PJ.102XXX(' bJP44 062 aJP4J 062 169P4J062 169PB4 062 iri?P.M062Ci

17 00 fi BO 6i:?

/JA ,,;_^ ISLIT-N-WRAP WIRE WRAP TOOL

kjy yCCKu « slits and opens insulation exposing

bare wire

* No pre-cutting or pre-stripplng.

• Comes complete with two - 100 ft spools #28 AWG wire

Mod>l P1B0 $24.50

HEXADECIMAL ENCODER 19-KEY PAD

^JC>^3h*^ . ABCOEF

■^■^B^^H^ . Return Key ^^H^^H^^^^^T • Key

$10.95 each

63 KEY KEYBOARD

$24.95

This lieytxiard leaii.res 63 unencadeO SPST keys, unaiiactieil to ,iny iiifitl oJ P C B A very solid moldeO plasiic 13 « 4 Dase suits mosl aoplications

HD0165 16 LINE TO FOUR B(T PARALLEL KEYBOARD ENCODER CHIP

S7.9S

TOOLS

A97MS — Diagonal Cufier ■ 4" semi-flush cut S8.50ea.

MIOMS — Cham Nose Pliers - 4^4" long 750 ea.

T-6 — Wire SUippet - #16 to #26 gauge 3,75 ea.

55B — Wire Stripper ■ #10 to #20 gauge 2.50 ea,

CS-8 — CuHer-Crimper Tool - 8V/' long 8.50 ea, WibOinfl Tool — Culs, Trims or Notches Metal

up to #1S gauge 6.95 ea.

Nitjbling Tool Replacement Punch 3.75 ea.

. PERMACEL-' P-29 PLUS Electrical Tape - All Weather

L ■ v," wide X 66 ft • SlacK vinyl

XLJ Rolls $.79 Mch IQ-up Rolls $6.95/10 roll packagB

8080A

8212

8214

8216

8224

CDP1802

BO BOA 2650

psoas

25J9 2532 2533

MICROPROCESSOR COMPONENTS

CPU

8 Bit Input/Output Priority Interrupt Control Bi-Directional Bus Driver Clock Generator/Driver .

CPUS

Suwr 8003 Suce- 3003

s m MPu

CPU

Sfl'S

102-! Dynamic He« 32 BIT Hei 40 BIT 512 Dynamic 1024 Dynamic Dual 256 BIT Dual 512 BIT Ouaa 30 BIT 102J Static filo 16 > i Reg

UART'S 30K Baud

516.00 4.95 15.95 6.95 10,95 19.95

8228 System ConlioUei MC6800 8 Bit MPU MC6820 Penph. Interface Adapter MC6810AP1 128 X 8 Static RAM MC6830L8 1024 x 8 Bit ROM

Z80

CPU

510.95 22.50 10.00 7.95 15.00 39.95

2.195

26.50 29.»

UOO ' 3 95

5 95

6 95

2'0' :i02 Z107.'52B0

Slatit

Stj[«c

Static

Dynamic

Siai'C

Sialic

Sialic

Static

3599

|Q> i

Sialic

,1 -19

9U02

1024. t

SMlir

2 25

:-!200

J56. 1

fit.ihC

\, yb

93421

.'5^1 . 1

■^1,11.1

?95

lUMSje?

2Ki 1

Pyn.imir

5203 fl2S?3 635123

OoenC TfistJti

RUMS

2513(21-101 Ctiat Gen-uDper case 2513(3021) Guar Gen-lowei case 2516 Chat Gen

S 9 95 9.95 10.95

f?7ii5~

2716

6301-1

6330't

Eoroni

In'Slate Ripolat

Open Colleclm Sipolai

1^951

34,95 3 49 2.95

FCM3ai7 S 5-00

AY-a-8500-1 8.95

MC30C1P 3.50 MC4016P (74416) 7.50

MCM6571 17,50

MCM6574 17,50

AY-5-2376 14.95

SPECIAL REQUESTED ITEMS

4N33

6T20

ST97

S374

325)45

MCM6575

ICM7045

25.00 17.50 24,95

5841

MK50240 17 50

11C90 19.95

DS0026CH 3,75

TIL30a 10.50

ICM720B 22.00

ICM7207 7,50

9368

S 3 95

MCHOflL?

9-95

LDIIO/LDll

25,00/sot

AV-5-9100

17,50 ea.

9SH90

11.95

ICM7209

7,50

HD0165

7.95

CLOCK CHIPS

UI^S309 S9,9S

MM5311 4.95

MM5312 4.95

MM5314 4.95

II^M5316 6.95

MM531B 9 95

\mhZ<a<A 2.95

CT7001 5-95

NOW IN STOCK

PARATRONICS

Featured on February's Front Cover o1 Popular Electronics

Logic Analyzer Kit

Analyzes any type of digital system^

• Checks data rates in excess of f million words per second

• Trouble shoot HL. CMOS. OIL, RTL,

Scholtky and MOS families

• Displays 16 logtc stales up to 8 digits wide

• See ones and zeros displayed on your — CRT, octal or hexadecimal format

■ Tests circuits under actual operating —

conditions —

• Easy to assemble — comes with step-by-step construction manual which includes 80 pages on logic analyzer operation.

MODEL

100A

$229.00/Kit

Some applications are: Tfoubleshooting microprocessor address, instruction, and data flow Examine contents o( ROMS Tracing operation of control logic Checking counter and shift register operalion Monitoring I/O sequences Verilymg propersystemoperalions during tesling

PARATRONICS TRIGGER EXPANDER - Model 10

Adds 16 additional bits. Provides digital delay and qualification of Input clock Model 10

and 24-t)it trigger word. —Connects direct to Model tOOA for inlegraled unit).

$229.00

Biiaplilg —te.9S

BUGBOOK

Continuing Education Series

BUGBOOK I A II ■

experiments

BUGBOOK Ma - Introduces UART

■ Basic concepts of TTL logic — over 90

$17.00/Sfll - recommended for RTTY enttiusiasl SS.Ofl/book

BUGBOOK III - Explores 6060 chip — Introduces Mark 60

Microcomputer 515.00/book

BUGBOOK V a VI - Intrcdudory experiments in digital electronics, eoSOA Microcomputer Interlacing and programming $19,0D/iel

555 TIMER APPUCAT10NS SOURCEBOOK WITH EXPERIMENTS

over 100 design techniques CMOS-M-DESIGNERS PRIMER AND HANDBOOK —

a complete CMOS instruction manual OP AMP MANUAL — over 25 CKperlmenls on all ptiases

of OP AMPS

DBUG — a program for entering, debugging and storing assembly programs. INSTRUCTORS MANUAL — Necessary for instruction on BUGBOOKS I and II

S6.9S/l>oofc

S9.Q0/book SS.OO/tHiok S3.D0/book

CONTINENTAL SPECIALTIES

PROTO BOARD 6 ^^o

other CS Prolo Boards

2935

MAX-100 mEOUENCY COUHTIR

20 MHl-100 MHz — 8 digit —" .6- LED »134.85

Logic Monitor

'o: DTL MTL TiL nr

PROTO CLIPS

M PIN 54,50

16 PIN 4.75

24 PIN 8.50

DESIGN MATES

0M1 - Circuit Designer

$69.95 Function Generator

S74.95 RC Bridge

S74.95

DM2

DII/13 ■

QT PROTO STRIPS

, 01-595 ■ OT-598

'iBHiMiBiiiiiiiiiiiiiiianiiiBaii

{]T-^7g QT-35S

QT-35B

ur ivps

0T-47Q QT-35S OT-SSB

OT-ies

QT-12S 0T-8S 0T-7S

590

1250

3 75 3.25 3,Q0

Expeiimenlor 300 Experimenloi 600

S 9-95 S10.95

S5.00 Minimum Ordsr — U.S. Fundi Only CalllomU Reildenli — Add 6% Silai Tai

Spec Stieati - 2S« — Send 3S« Stamp tor 1978 Catalog Dealar Ifltormatlon Avallablo

1021-A HOWARD AVE., SAN CARLOS. CA. 94070

PHONE ORDERS WELCOME — (415) 592-8097

All Advertlted Prfcti Good TTiru Novamber

CD Timeband Digital Alarm Clocks

• 24'noui alarm

• Doze Button

■ lOO^s Sohd Si3l(

• Large Red Lea Display 1 B tiigtii

• Ar^ PM Indicator

■ Secor^dE display i Ql Dutlon

• Powei failure inCi

• One year taclory ■

Timeband" lamp clock

i

24 hour alarm

• Doze button

• Alarm-on intJicator

• .8" high Red LED Display

• AM/PM Indicator

• High intensity lamp

• Lamp shuts off when collapsed Model C-590 (Ivory) $29.95

|0r AM/FM 8-Track Stereo Receiver With BSR Changer

• PLL System

• BSR Record Changer

• Slide Controls

• Automatic AFC Control

• 4 Speaker Output

• Walnut finish vinyl covered wood veneer with smoke dust cover

Size:20"Wx9%"Hx15V4"D

Model S365 $149.95

DIGITAL STOPWATCH

• Bnghl 6 Digri LEO Display

• Times lo 59 tnmuies 59 59 secorMs

• Cryslsl Conliolled lime Base

• Thiee Stopwatches m One

Times Single Eyenl — Splil & Taylot

• Si;e 4 5x2 15 ■ 90 \i^> ounces) > Uses 3 Penhie Cells

Kit — $39.95

Assembled — $49.95

HBavy Duty Carry Case$5.95

Slop Walch Chip Only (72051 S19.9S

3V2DIGIT DPM KIT

Wl

New Bipolar Unit • Auto Polarity

• Auto Zeroing • Low Power

• .5" LED • Single IC Unit Model KB500 DPM Kit $49.00 Model 311D-5C-5V Power Kit $17.50

JE700 CLOCK

riieJE700isaiQivcosr£tigiiBlcit)ck nm IS a «ery liigti qjality un;l The unil leatuies a simulated walnut case wiiri a\meiisions o( 6 «?'; it II uiiliies a Mfl\73 hi(]h brigrnness readoiJi ami (tic MM53t.lclociicl

KIT ONLY

$17.95

Rejected ATARI GAME BOARDS

Over 60 Reus^le iC's, misc. I Iransistors, resistors, diodes, j caps, crystals, switch, etc, (8Vi"x 16"). LimttBd Quantity,

$4.95 ea.

INSTRUMENT/CLOCK CASE

Injection molded unit. Complete wlthredbeial. 4S4-X4-X1-9/16'

$3.95 ea

JE803 PROBE

The Logic PioDe is a unit wfiicn is lo' the most nari inOespensible m trouble snooting logic lamiiie.s nL OIL flTL CMOS It Oejives tlie powft d rteeds to operate dcectiy all ol Ihe citcuil urrOer lest drawrng a scant to rnA max il uses a MAN3 readout lo indicate any ol the lollowtng slates by Itiesc symbols iH) t (LOWt ■ o (PULSEl ■ P The Probe can detect hign treguency pulses Id J5 MHr It can I be used at MOS levels or ciicmt Oamaqe will result

mm*

$9.95 Per Kit

DrinterJ circuit boarii

PL 5V 1A Supply

This IS a standard TTL power supply using the well km LM309K regulator IC to BtoviUe a solid t AMP of currenl volts We I17 10 make inings easy lor you by proiiii,,,..j ejerything you rteeO in one package, including itieh,irdwrtrei

$9.95 Per Kit _y

Circle 79 on inciuiry card.

BYTE November 1977

247

Floppy Disk Drive

What's New?

MASS STORAGE

A 5100 System Mass Storage Device

A New Cassette Recorder Interface

Users of the IBM 5100 personal computer product will appreciate this new addition from an independent vendor. Sykes Datatronics of 375 Orchard St, Rochester NY 14606, (716) 458-8000, showed off this IBM 5100 compatible dual floppy disk subsystem at the NCC show in Dallas TX in June of this year. What it does is give the user a truly random access 3740 compatible diskette hardware subsystem and file management software on 3M cartridges for the 5100. No changes to the 5100 are required, and this subsystem plugs directly into the 5100's serial 10 port. The software provided with this system Includes ten BASIC files and 14 APL functions, and allows BASIC programs to communicate with APL programs using files on disk as an intermediary. The price is under $3000 for a single drive system, and under $4000 for dual drive." circle 481 on inquiry card.

Dajen Electronics has announced a new cassette recorder interface with data transmission rates selectable from 800 to 12,000 bps. 12 K bytes of memory can be loaded in approximately 8 seconds. A 1 K byte monitor program is included to provide basic system operations and allow the saving of files. The unit is compatible with the Altair, IMSAI, Kansas City, Polymorphic Systems and Tarbell formats. Kit price is $120; the assembled unit costs $165. The price of the manual is $3.50.

Contact DaJen Electronics at 7214 Springleaf Ct, Citrus Heights CA 95610, (916)723-1050."

circle 482 on inquiry card.

A Dual Floppy Subsystem

This photo shows the new Sykes Datatronics Series 9000 floppy disk system which is a complete mass storage subsystem with two drives and a built-in 6502 microprocessor controller. The

system is offered in the dual drive version illustrated here ($3900) and a single drive version ($2800). All search, blocking, CRC verification and mechanical controls are handled asynchronously by the "smart" 6502-based controller of this device, and data is buffered using FIFO memories. The physical dimensions are table top compatible: 9.7 by 17 by 19 inches (25 by 43 by 48 cm). Hardware interfaces include an optional programmed ID parallel interface, which will be of interest to homebreweis, as well as detailed interfaces for a variety of microprocessors and minicomputers. Typical interface costs are $300 above the base prices; using the non-IBM format "dual and a half" density recording format, approximately 630,000 bytes can be recorded on each cartridge, making the dual drive on line capacity approximately 1.26 million bytes. Sykes is located at 375 Orchard St, Rochester NY 14606, (716) 458-8000.

■ Circle 483 on inquiry card.

\ I. lU' J ' the manufacturer. General Systems International Inc, 1440 Allec St, Anaheim, CA 92805, (213) 378-9385, this drive uses both sides of the floppy disk recording medium for data as opposed to just one. We can expect to see personal computing systems with on line floppy disk storage capacities on the order of 1.5 million bytes per drive growing out of this type of drive technology. Price of this drive to manufacturers is "in the low $400 range.""

Circle 484 on inquiry card.

Attention Floppy Disk Correspondents. ..

A new lightweight mailing envelope for floppy disks which saves 44 to 50 cents per disk in first class postage-compared with older corrugated mailers is available from Curtis 1000.

The new envelope accommodates one to five floppy disks with filing sleeves in a lint and dust free environment.

Made of DuPont's Tyvek® fiber, the new Curtis 1000 "Disk-O-Mailer" mailing envelope is extremely resistant to tearing and puncturing forces, as well as such dangers to floppy disks as chemicals and wetness. It features fast, dry sealing closure. Its glossy whiteness and green triangles printed along all edges on both sides assure first class handling in the post office just like regular business letters. Retailers and floppy disk software distribution outlets should contact the firm at 1000 Curtis Dr, Smyrna GA 30080, (404) 436-6155."

Circle 485 on inquiry card.

248

BYTE November 1977

MITE COMPUTER PRINTER

Mite 123P Impact printer. Designed for small keyboard printer terminals. 64 characters per line on 8'/2 inch paper. 75 characters per line, 10 CPS. Printer only, no electronics. With 30 pages documentation. Used, good shape. Shipping wgt. 18 lbs. $63.00

VIATRON CASSETTE DECKS The computer cassette deck alone $35.00

CONRAC VIDEO MONITOR

Used, checked out. Operates on 115 volts 60 cycle AC. In cabinets as shown. 128 x 40 with bandwidth of 8 Mc. Ideal for computer or TV monitor. Green phosphor display, 9" tube. With data & schematic. Shipping wgt. 16 lbs. ' $62.00

SPECTRA FLAT TWIST

50 conductor, 28 gauge, 7 strands/ conductor made by Spectra. Two conductors are paired & twisted and the flat ribbon made up of 25 pairs to give total of 50 conductor. May be peeled off in pairs if desired. Made twisted to cut down on "cross talk." Ideal for sandwiching PC boards allowing flexibility and working on both sides of the boards. Cost originally $13.00/ft SP-324-A $1.00/ft. 10 ft/$9.00

SP-234-A $1.00 ft 50 cond. 10 ft/$9.00 SP-234-B .90 ft 32 cond. 10 ft/$8.00

WIRE WRAP WIRE

TEFZEL blue #30 Reg. price $13.28/100 ft. Our price 100 ft $2.00; 500 ft $7.50.

MULTI COLORED SPECTRA WIRE

Footage 8 Cond. #24

12 14 24 29

Great

22

22

" #24

22

savings as

10' 50'

$2.50 9.00

3.00 11.00

3.50 13.00

5.00 20.00 30.00

7.50 28.00 45.00

these are about 1/4

100' 15.00 18.00 21.00

book prices. All fresh & new.

TOUCHTONE ENCODER CHIP

Compatible with Bell system, no crystal required. Ideal for repeaters & w/specs. $6.00

CHARACTER GENERATOR CHIP

Memory is 512x5 produces 64 five by seven ASCII characters. New material w/data S6.00

XAtem^HQ^

Please add shipping cost on above. Minimum order $10

FREE CATALOG NOW READY

P.O. Box 62, E. Lynn, Massachusetts 01904

Circle 83 on inquiry card.

BYTE November 1977

249

What's New?

PERIPHERALS

Do You Want to Draw Pictures on Your Display?

Users of personal computers wlio are interested in grapliics input will find this new peripheral of great interest, and at a price which mal<es it attractive for personal use. Scientific Accessories Corporation, 970 Kings Highway W, Southport CT 06490, (203) 255-1526, has introduced the Model GP-1 01 sonic digitizer for a single unit price of $800. What you get is a stylus with or without ink or a cursor, an electronics package, and the Lframe sensor seen in this photo. It is intended to be used in any situation where input of XY position data is required. Typically, a computer oriented artist might make a rough sketch of graphic display information on paper and then trace the outline of the figure with the stylus after positioning the rough within range of the sensors. The artistic digitization could also be done interactively with the display in a freehand mode.

To use this device, some additional logic and timing circuitry will be required since the basic electronics simply produces TTL level signals which have a known start edge time and a variable delay time representing the X and Y distances to the stylus or cursor unit. The user must also provide power supplies and custom software to analyze the signals for particular purposes."

Circle 507 on inquiry card.

Sargent's New Aitair (S-100) Prototype Board

Sargent's Distributing Company, 4209 Knoxville, Lakewood CA 90713, has introduced this new Aitair (S-100) bus prototype board. The board is constructed of epoxy G-10 material. There is space for four 7805 type voltage regulators. It accommodates 14, 16, 18 24 and 40 pin wire wrap sockets with room for a maximum of forty-eight 14 or 16 pin sockets. Also available is a complete set of plans for a S-100 bus compatible front panel and bootstrap system which it features direct parallel ASCII keyboard input, one additional parallel input port, and two parallel output ports. This design uses PROMs for instant turn on and reset. Start cassette tape and your system is fully loaded and running in about 30 seconds, and can be wire wrapped using the prototyping board. Price of the prototype card is only $25 postpaid; the plan set is $7.50 postpaid; and a complete kit of all parts for the front panel design is $79.95 postpaid."

Circle 509 on inquiry card.

A New Model Self-Scan from Burroughs

Centronics Introduces High Speed Microprinter

Hi

■

[

The Electronic Components Division of Burroughs Corporation, FOB 1226, Plainfield NJ 07061, has introduced this new single line 40 character version of Self-Scan II technology, intended for use in any product where a limited size alphanumeric display is required. Special effects include left or right data entry, moving message effects, blinking subfields within the 40 character line, etc. Self-Scan is a registered trademark of Burroughs Corporation."

Circle 510 on inquiry card.

ft.

1

I

A 60 Character per Second Printer

^^•■fl'*'^

m

1

^HiW^> ^^-^

^tf

gpl

^^r''-- JjkK

^.o^Mdfll^l

^^g

^^^^^^^^pi

P-'- "^

^5^

^^^

^^^^^^ ^^S

■

1^^

^^

^

The Aitair C700 from MITS is a 60 character per second serial printer using a 5 by 7 dot matrix and the 64 character ASCII subset. The unit is designed to be interfaced to the Aitair 8800 computer and features automatic motor control, paper runaway inhibitor and automatic line feed after carriage return. The printer is bidirectional and can print 26 132 column lines per minute. It can accommodate 15 inch wide forms.

Dimensions are 7 by 28 by 24.5 inches (17.8 by 45.7 by 62.2 cm). Contact MITS, 2450 Alamo SE, Albuquei-que NM 87106."

Circle 508 on inquiry card.

Centronics Data Computer Corporation has announced a high speed compact microprinter called the Micro-1 for $595. Aimed at the home, hobby and microprocessor markets, the 240 character per second Micro-1 is offered as a complete unit including case, power supply, 96 character ASCII generator and interface, paper roll holder, low paper detector, bell, and multiline asynchronous input buffer.

The microprinter produces copy on aluminum coated paper by discharging an electric arc to penetrate the coating, which is less than one micron thick. Toners and ribbons are not required.

The printed characters are said to be impervious to light, temperature and humidity. The machine prints 180 lines per minute on 4 3/4 inch roll paper in 20, 40 or 80 column widths, selectable by the user. The special aluminized paper used by the unit costs nominally more than standard paper.

This is an excellent way to get acceptably high speed listings at relatively low prices. Contact Centronics Data Computer Corporation, Hudson NH 03051, (603) 883-0111."

Circle 51 1 on inquiry card.

250

BYTE November 1977

Now low-cost memory stacks w^^^f^Ilt^ reliability!

Introducing a new generation of ECONORAiW' dgnamics witli SgnciiroFresli "reiiabiiity

Meet ECONORAM* III with SynchroFresh™, the 8Kx8 dynamic memory for S-100 bus computers that really works. And uses less than half the power of static designs. And costs just $149 for an assembled 8K.

Unlike previous attempts at building a low-cost dynamic memory, ECONORAM* III is entirely reliable ... because of SynchroFresh™ a new approach to memory refresh that is simple, elegant and totally effective.

SynchroFresh^'^was invented by George Morrow, designer of the original ECONORAM*. Instead of arbitrarily interrupting your CPU to perform memory refresh cycles. Morrow designed SynchroFresh^*^ to weave refresh invisibly into the natural timing of the S-100 bus. SynchroFresh^"^ circuitry simply monitors your computer's machine states, utilizing all of the normal opportunities for memory refresh. It's that simple.

And simplicity means reliability and dramatically lower cost. That's why a SynchroFresh^*^ design was chosen for the first ECONORAM* dynamic, to follow in the footsteps of the largest-selling static memories for personal computers.

ECONORAM* III with SynchroFresh™ is an BKxB dynamic board, configured as two individually addressable 4K blocks for flexibility. It is available assembled, tested and warranteed for one full year for just $149. This unprecedented warrantee offers a full refund of purchase price if ECONORAM* III does not run reliably with your S-100 CPU—evidence of our confidence in its performance.

It is also available as a kit with complete assembly instructions and documentation for $159.

ECONORAM* III with SynchroFresh™, in assembled or kit form, may be ordered directly from ThinkerToys'^". Write 1201 10th Street, Berkeley CA 94710 or call (415) 527-7548. Call BAC/MC orders toll-free to 800-648-5311. Or ask your computer store to order it for you.

NEW LOW PRICE

$149

8K assembled,.tested, warranteed 1 year

9"

product of Morrow's Micro-Stuff for

Thinker Tdvs

•ECONORAM is a trademark of Godbout Electronics. ■■

Circle 97 on inquiry card.

BYTE Novcinher 1977

251

A Pair of New Terminals

WhafsNsw?

PERIPHERALS

Apple 11 Features Built-in Color Capability

The Apple II is Apple Computer Inc's entry in tlie home computer marl<et. The unit uses the IVIOS Technology 6502 processor and can display alphanumeric characters and video graphics in IS colors using any standard color television set.

A BASIC language package is permanently stored in 6 K bytes of read only memory; execution speed is fast enough to run many video games. The

integer BASIC language includes special functions related to color video display programming.

In both the color graphics mode and in the high resolution graphics mode, four lines of text may be optionally displayed at the bottom of the screen to annotate displays. The Apple II also features a built-in cassette interface.

Minimum memory configuration available includes 4 K bytes of programmable memory and 8 K bytes of read only memory. A 2 K byte monitor provides debug commands, a miniassembler, disassembler, floating point pacl<age and softvifare-simulated 16 bit arithmetic capability.

The unit comes complete with a switching power supply which requires no fan. The computer is housed in a plastic case with dimensions of 18 by 15.25 by 4.5 inches (45.72 by 38.74 by 11.42 cm). It comes with two game paddles and a demonstration cassette for $1298. It is also available in board only form, without case, keyboard, power supply or accessories for $598.

Contact Apple Computer Inc, 20863 Stevens Creek Blvd, BIdg B3-C, Cupertino CA 95014."

Circle 51 2 on inquiry card.

An Altair Bus Compatible Music Board

Newtech Computer Systems' Model 6 Music Board is designed to enable experimenters having Altair (S-100) bus computers to produce music and sound effects. Applications include generating melodies, rhythms, sound effects, Morse code and touch tone synthesis.

The Music Board comes assembled and tested. Features include selectable output port address decoding, a latched 6 bit digital to analog converter, audio amplifier, speaker, volume control and RCA phono jack for connection to external audio systems. It employs a glass epoxy printed circuit board with plated through holes and gold plated fingers.

A users manual, which is supplied with the board, includes a BASIC language program for writing musical scores and an 8080 assembly language routine for playing them. The price is $59.95. Contact Newtech Computer Systems Inc, 131 Joralemon St, Brooklyn NY 11201, (212) 625-6220."

Circle 513 on inquiry card.

A CT-1024 Scroll Mod

Lenwood Computer Systems, POB 67, Hiawatha lA 52233, has announced a modification to Southwest Technical Products Corporation's CT-1024 terminal product. The Model SM-2 scrolling modification board is available at $19 plus $1.50 postage and handling, and converts the CT-1 024 style display from a page oriented display to a scrolling display. The photo shows the board mounted on the CT-1024 main board using a stand off stud."

circle 514 on inquiry card.

Infoton, Second Av, Burlington MA 01803, (617)272-6660, has introduced this pair of video terminal products. The Model 200 is the low end version, a Teletype replacement with multiple additional features and 80 character by 24 line display. The Model 400 is a model with more features, including upper and lower case display, additional keyboard functions, etc. Both models feature RS-232, 20 mA current loop and 60 mA current loop serial interfaces at 16 switch selected data rates to 19,200 bits per second. No price was given in the documentation from which this note was abstracted."

Circle 51 5 on inquiry card.

Several Gimix for the SwTPC 6800 Bus

We received a sales brochure for three products available from Gimix Inc, 1337 W 37th PI, Chicago IL 60609, (312)9275510, which plug directly into the Southwest Technical Products Corporation's 6800 bus. One of these products is a $119 read only memory board which holds up to 8 K of 2708 FROM parts (not supplied), and can be placed on any ev.en 8 K memory address boundary (ie: 0000, 2000, 4000, 6000, 8000, AOOO, COOO, or EOOO) using switches. A second product is a $25 extender board for use when troubleshooting or debugging a prototype card. The third product is a video output board which contains a 1 K by 8 bit volatile programmable memory region which can be connected at any 1 K boundary in memory address space using jumpers. This $249 generator can be set up for 16 lines of 32 characters or 16 lines of 64 characters; output is El A video with adjustable "density"(?) and left-hand margin. These products are fully assembled."

circle 516 on inquiry card.

252

SD SALES COMPANY

P.O. BOX 28810-1

DALLAS, TEXAS 75228

NOW-THE ULTIMATE RAM BOARD 32K FDR $427.

Memory Capacity

Memory Addressing

Memory Write Protection

8K, )6K, 24K, 32K USING MOSTEK MK4115

WITH 8K BOUNDARIES & PROTECTION.

Utilizes DIP switches.

PC board comes with sockets for 32K operation

THE ABOVE NOW AVAILABLE

■AVAILABLE THE 1st QUARTER OF 1978:* 16K, 32K, 48K, 64K USING MOSTEK 4116 WITH 16K BOUNDARIES & PROTECTION,

BUY AN SlOO COMPATIBLE BK RAM BOARD AND UPGRADE THE SAME BOARD TO A MAXIMUM OF 32K* IN STEPS OF BK AT YOUR OPTION BY MERELY PURCHASING MORE RAM CHIPS FROM S.D. SALES! AT A GUARANTEED PRICELOOK AT THE FEATURES WE HAVE BUILT INTO THE BOARD.

PRICES START AT $139.00 FOR 8K RAM KIT. ADD S96.00 FOR EACH ADDITIONAL BK RAM DESIRED

Board fully assembled and tested for $50.00 extra.

8K FOR $139.

Interface Capabiiity

CONTROL, DATA AND ADDRESS INPUTS UTILIZE LOW POWER SCHOTTKY DEVICES.

Power Requirements

+8VDC 400 MA DC + 18VDC 400MA DC -18VDC 30MA DC on board regulation is provided. ON BOARD (INVISIBLE) REFRESH IS PROVIDED WITH NO WAIT STATES OR CYCLE STEALING REQUIRED.

MEMORY ACCESS TIME IS 375ns. Memory Cycle Time is 500ns.

80 CPU BOARD KIT Complete Kit

$139.

CHECK THE ADVANCED FEATURES OF OUR Z-80 CPU BOARD Expanded set of 158 instructions, 8080A software capability, operation from a single 5VDC power supply, always stops on an Ml state, true sync generated on card {a real Plus feature), dynamic refresh and NMI available, either 2MHZ or 4MHZ operation, quality double sided plated through PC board, standard kit shipped with Z-80 technical manual and all parts plus sockets provided for all IC's. Z-80 Chip & Manual Sep. — 39.95 •Add S10.00 extra for Z-80A chip which allows 4MHZ operation.

1^^^

4K LOW POWER RAM

Fully Buffered — on board regulated - reduced power consumtion utilizing low power 21L02-1 500ns RAMS — Sockets provided for all IC's. Quality plated through PC board. 'Add S10.00 for 250ns RAM operation.

The Whole Works - $79.95

NEW PRICE!

ALL OF ABOVE ARE S100, IMSAI & ALTAIR "A' COMPATIBLE. .We can supply modifications needed for many other systems!

SIX DIGIT ALARM CLOCK KIT

FEATURES: Litronix dual 1/2" displays, Mostek 50250 super clock chip, single I.C. segment driver, SCR digit drivers. Greatly simplified construction. More reliable and easier to build. Kit cincludes all necessary parts (except case). P.C. Board and Xfmr optional.Eliminate the hassle - avoid the 5314! Do not confuse with Non-Alarm kits sold by our competition!

P.C.B.

-S3.00;ACXFMR-S1.50 $9.95 KIT

MUSICAL HORN

ONE TUNE SUPPLIED WITH EACH KIT. ADDITIONAL TUNES - S6.95 EACH. SPECIAL TUNES AVAILABLE - YOU SUPPLY THE SHEET MUSIC WE SUPPLY PROGRAMMED PROM TO YOU.

STANDARD TUNES NOW AVAILABLE: - DIXIE - EVES OF TEXAS - ON WISCONSIN - YANKEE DOODLE DANDY - NOTRE DAME FIGHT SONG - PINK PANTHER - AGGIE WAR SONG - ANCHORS AWAY NEVER ON SUNDAY - BRIDGE OVER RIVER KWAI CAR & BOAT KIT HOME KIT

$34.95

$26.90

JUMBO LED CLOCK KIT

GOOD

FEATURES:

A. Bowmar Jumbo .5 inch LED array.

B. MOSTEK-50250-Super Clock Chip

C. On board precision crystal time base.

D. 12 or 24 hour Real Time Format.

E. Perfect for cars, boars, vans, etc.

F. P.C. Board and all parts (less case) included.

Alarm option - SI.50 AC XFMR -SI .50

VA

LliE'

$16.95 KIT

RAMS

CPUS

PROMS

21L02-500NS 8/11.50

21 L02 - 250 NS 8/15.95

2114 -4K 14.95

1101A-256 8/4.00

1103 - IK 99

Z—80 includes manual 39.95

Z—BOA includes manual 44.95

8080ACPU8BIT 11.95

8008 CPU 8 BIT 6.95

1702A - 1 K - 1.5us 3.95 or 10/35.00

2708-8K Intel -450ns 14.95

5204 -4K 7.95

82S129 - IK 2 50

2708S - BK signetics 650ns 9.95

CESSOR CHIPS-MICROPROCESSOR CHIPS-MICROPROCESSOR CHIPS-MICROPROCE

8212 - I/O PORT 3.50

8214-P.I.C 12.95

8216 - NON INVERT BUS 4.95

8224 - CLOCK GEN 4.95

8226 - INVERT BUS 3.95

PIO for Z-80 14.95

CTC for Z-80 14.95

8228 SYS CONTROLLER 8.20

8251 PROG. COMM. INTERFACE 10.95

8255 PROG. PERP. INTERFACE 13.50

8820 DUAL LINE RECR 1.75

8830 DUAL LINE DR 1.75

2513 CHAR. GEN 7.50

8838 QUAD BUS. RECR 2.00

74LS138N - 1/8 DECODER 99

8T97 - HEX TRI STATE BUFFER 1.25

1488/1489- RS232 1.50

TR1602B UART 3.95

NTER CHIPS-COUNTER CHIPS-COUNTER CHIPS-COUNTER CHIPS- COUNTER CHI

MK50397 6 digit elapsed timer 8.95

MK50250 Alarm Clock 4.99

MK50380 Alarm chip 2.95

MK50396 - 6 digit up/down counter 12.95

MK5002 MK5021

4 digit counter 8.95

Gal. Chip w/sq. rt 2.50

ITT DUAL SENSE AMPLIFIER. 75234 AND 75235. 49c each

SPRAGUE DUAL AMP. TD101

DIFFERENTIAL 49c each

GENERAL INSTRUMENT DIODE. 1N82AG 19c each

FLAT PACK 5400 SERIES. SPECIAL BUY FROM ITT. 20 Assorted Devices for $1.00

blSC CAP ASST. P.C. leads. At least 10 different values. Includes .001, .01, .05 + other standard values.

60/$1.

1000 MFD FILTER CAPS Rated 35 WVDC. Upright style with PC leads. Many popular values.

4/$1.00

39 MFD 16V Mallory Electrolytic

15/$1.

THERMISTORS

MEPCO - NEW!

1.5K0HM

5/$1.00

7500 Mallory 30WDVC Computer Grade Caps $3.00 each

RESISTOR ASSORTMENT PC leads A good mix of values. SPECIAL!

200/$2.

IC s from XEROX

IC's Removed from PC boards. All tested; full spec.

POWE R

RESISTOR

15 OHM

25Wbv

CLAROSTAT

75<P ea.

7400 - 9c 7402 - 9c 7404 - 9c 7410- 9c 7416 -13c 7420 - 9c 1402A-50C GREAT BUY!!

7430- 9c 7440 - 9c

7437 -10c

7438 -10c 7451 - 9c 7474-16c 7475-24c

LIMITF.D QUANTITY!

7493 - 26c 74121-22c 74123-32c 74155-22c 74193 -35c 8233 - 3Sc Intel 1302 45 c

MICRO-DIP by EECO $1.95

NEWSERIES2300! WORLD'S SMALLEST BCD CODED DIP SWITCH! P.C, Mount! 2300-02G-1248;230D-12G-1248 compliment

JOYSTICKS 4-1OOK POTS

$3.95 ea,

ITT Part # SAJ 101

IDEAL FOR ELECTRONIC MUSIC CIRCUITS - 7 STAGE FREO. DIVIDERS.

GOOD

BVJV

49$ ea.

P.C. LEAD

DIODES

1N4148/1N914

100/$2.

IC SOCKETS 14 pin - 5/Sl.OO 16 pin- 5/$1.25 28 pin ■3/$1.00

TRIM POTS

lOK, 20K,

25K

10/$1.00

Slide Switch Asst. Our best seller. Indues miniature & standard values.

12/1.00

1N4002

1A 100 PIV

40/$1.

CALL IN YOUR BANKAMER/CARD (VISA) OR MASTER CHARGE ORDER IN ON OUR CONTINENTAL . TOLL FREE WATTS LINE:

Texas Residents Call Collect:

214/271-0022 1-600-527-3460

DEALER INQUIRIES INVITED!

Zems - 60 Day Money Uack Quarantee!

NO COD'S. TEXAS RESIDENTS ADD 5% SALES TAX. ADD 5% OF ORDER FOR POSTAGE & HANDLING . ORDERS UNDER $10. ADD 75c HANDLING.FOREIGN ORDERS - U. S. FUNDS ONLY!

0T6ers over $15. - Choose $1. FREE MERCHANDISE!

Circle 126 on inquiry card.

BYTE Novcnilicr 1977

253

What's New?

PERIPHERALS

Video Display Memory Board for LSI-11 Systems

New Terminal from TEI

TEI Inc of Houston TX has announced a new processor terminal. Designated the Model MCS-PT, the unit is a self-contained computer system with display and disk storage, keyboard, and a 12 slot motherboard. It may be used either as a stand alone processor or as a processor terminal in a larger system.

Features include a 15 inch (38.1 cm) high resolution video monitor with a full upper and lower case ASCII character set

keyboard, eight user designated special function keys, and a 16 key numeric cluster pad. A Shugart SA-400 minifloppy disk drive is standard.

The 12 slot mainframe contains a processor board featuring an 8080 processor and a special circuit that implements a start up "jump to" routine to any user selected memory address. 16 K bytes of programmable memory is provided with additional capacity available as an option. The disk controller (which can handle up to four drives) and the video board are also standard. The 10 board provides three parallel and three serial ports with selectable data rates of 75 to 19,200 bps. RS-232C or TTL interfaces are provided. Power is provided by a constant voltage transformer (CVT) power supply.

Software provided includes a CP/M disk operating system and BASIC on disk. The processor terminal is $3495, fully assembled and tested. The kit is $2995. The unit without the disk drive and controller is $2495 assembled, or $2195 in kit form.

Contact Bill R Tatroe, CMC Marketing Corp, 7231 Fondren Rd, Houston TX 77036, or call (713) 774-9526."

Circle 495 on inquiry corcj.

NEC "Spinwriter" Technology

A Selectric Interface for Microcomputers

The latest in a series of low inertia spinning plastic font impact printers to come to our attention is this NEC Information Systems "Spinwriter" terminal, intended for commercial markets. This terminal comes with a choice of five standard interfaces, 10 or 12 character per inch spacing (4 or 4.7 characters per cm), ASCII character codes, and a variety of plastic "thimble print mechanism" fonts for different type faces. The typing elements are rated at over three million impressions per character. No pricing information was given in the press release, other than the vague comment "10% below most competitive printers." If past experience is any guide this means a price above $3000 in unit quantities. Deliveries of this printer begin in October 1977 and are expected to be 60 days after receipt of orders thereafter. NEC Information Systems is located in Lexington MA."

Circle 496 on inquiry carcJ.

■

. ,..uiWl'.«

1

i

; GtttrTar.'

1

"1

fi'

I

^l^^m«mm

m

K^T^^iP"!^^'fl

|H

El^'ll'^,'' 'itljyit'p- iH

[Sj

iiiiiiiiiii !!.r'4 — -■»- -

i

The Center for the Study of the Future has announced an electronic Selectric interface kit designed to work with most Selectric terminals and typewriters using the Tycom adapter. It includes 14 solenoid drivers rated for 24 V (solenoids and power supply are not included in the kit). The price of the kit plus manual is $325, available from the Center for the Study of the Future, 4110 NE Alameda, Portland OR 97212, (503)282-5835.■

Circle 497 on inquiry card.

Computer Technology, 6043 Lawton Av, Oakland CA 96418, (415) 451-7145, has introduced a board which plugs into the LSI-11 bus of Digital Equipment Corporation, and creates a video display peripheral which features 16 lines of 64 ASCII characters accessed as a 1 K byte region of memory address space. According to the information received here, the board fits into one dual width half slot segment of the LSI-11 backplane and requires only -H5 V and -^12V power supplies. Output is El A RS-170 composite video (2 volts peak to peak, negative sync) mA matched to 75 ohm coaxial cable. The photo shows a typical display on a video monitor. Individuals using LSI-11 systems may find this to be quite a useful addition to memory address space."

Circle 498 on inquiry card.

A New Desktop Teleprinter Terminal for APL Users

Designed to meet the special character set requirements of APL users, the newly announced Anderson Jacobson AJ 860/A desktop Teleprinter terminal produces both an APL character set and a high resolution ASCII character set. Using a 9 wire dot matrix printer mechanism, the AJ 860/A prints each 9 by 5 character in a 9 by 12 character cell. The APL character set includes all of the standard APL overstrike characters, while the ASCII character set includes lower case, underscore and selectable double wide characters. Alternate selection of either the 128 code APL character set or the 128 code ASCII character set is done from the keyboard or remotely by code selection.

Standard features include operator selectable speeds of 1 0, 30, 45 or 60 cps, horizontal and vertical tabulation, reverse line feed, autopagination, dual gate forms tractor, self-test diagnostics, and a 350 character receive-only buffer with buffer overflow protection. Single unit purchase price is $3285 from Anderson Jacobson, 521 Charcot Av, San Jose CA 95131,(408)263-8520."

Circle 499 on inquiry card.

254

BYTE November 1977

NEW COMPUTER INTERFACE BOARD KIT

Our new computer kit allows you to interface serial TTL to RS 232 and RS 232 to TTL. There are four of these supplied with the kit, so you can run up to four devices on one TTL or four separate TTL to RS 232 devices.

Typical use: You can use your computer ports to run an RS 232 printer, video terminal and two other RS 232 devices at once, without

constantly connecting and disconnecting your terminals.

Example: Out store to printer — Voltage ^OQ requirement +5Vand ±5V or ± 12 V depending on your RS 232 device.

We supply — board, connectors, documentation and components. Sorry, we do not supply case or power supply.

WHERE IT MAKES SENSE, MAY BE USED WITH ANY ^080, 6800, Z80 or F8 COMPUTER

GENERAL PURPOSE COMPUTER POWER SUPPLY KIT

This power supply kit features a high frequency torroid transformer with switching transistors in order to save space and weight. 115V 60 cycle primary. The outputs with local regulators are 5V to 10A, in one amp increments, - 5V at 1A, ± 12V at 1A regulators supplied 6 340T-5 supplied.

$79

00

UNIVERSAL 4K MEMORY BOARD KIT

$69

95

This memory board may be used with the

F8 and with minor modifications may be used

with KIM-1MP.

32-2102-1 static RAM's, 16 address lines, 8 data lines in, 8 data lines out, all buffered. Onboard decoding for any 4 of 64 pages, standard 44 pin, .156" buss.

F8 EVALUATION WITH EXPANSION

A fantastic bargain for only with the following features:

• 20 ma or RS 232 interface

• 64K addressing range

• Program control timers

• 1K of on-board static memory

• Built in clock generator

BOARD KIT CAPABILITIES

$99

00

64 Byte register

Built-in priority interrupts

Documentation

Uses Fairbug PSU

FOR FAIRBUG 4K F8 BASIC ON PAPER TAPE $25*

;?7U8aKEfROM S20.95

2522SlATICSIHrT FIEG S 195

2513CHARACTER GEN . S 9 95

2518 HEX J2BITSn $ 3 50

21U2 I 1024 BT RAM S .99

b?H<) AK DYNAMIC IIAM . S 4.75

5202A UV PROM ... S G 95

1101A-25S BIT RAM S

PRINTED CIRCUIT BOARD

TANTULUM CAPACITORS

Full Wave Bridges

2107B . . . ;

MK4008P- .... 170?A UV PROM 52O0.'lr; PROM 82S23 .

3.75 S 1.95 S 4,95 S10 95 S 1.95

AY-5-1013 UART. 5 6.95

MINIATURE MULTI TURN TRIM POTS 100. 500, 1K,2K,5K,)0K,25K.50K,1Q0K,

200K,500K 1 Met). S.75 each 3/S2.00

MULTI TU^IN TRIM POTS Sitniliii lo Bourns 3010 siyie 3'16" xB/8'xl 1 '4 ■, 50. 100. 1 K, lQtC_. 50K ohms' $1 50 ea 3'S4.00^

LlGHTACTIVATEO'SCPi "

TO 18.200V lA S 1.10

TRANSISTOR SPECIALS

2M35a5 NPN Si TO G6 . . S 95

2N377? NPM Si TO 3 . . . S l GO

:'Nd56A PNP GE S 75

2N4903 PNP Si TO 3 S

2N6056 MPN Si TO 3 Dii-lmiiton S

2N508G PNP Si TO-92 4/S

2N.1898 PNP TO 66 S

2N404 PNP (iE TO-5 .... 5.'S

2N3919 NPN Si TO-3 HE S

MP5A 13 NPN Si TO 92 3/S

2N3767 NPN S. TO 66 . . . . S

2N2223 NPN Si TO-18 . . . 5'5 2N3055 NPN Si TO-3 . . . S

2N3904 NPN Si TO-92 S'S

2N3906 PNPSi T0 92 . - . 5.'S 2N529G NPN Si TO-220 . . S

2N6109 PNP Si TO-220. . . S

2N3638 PNP Si TO-5 , . . . 5.'S 2N65I ' NPN TO 92 Si 3 S'

1 00 1 70

1.00 60 1.00 1,50 1 00

1,00

1.00

50

C/MOS (DIODE CLAMPED)

74C?0 - .22 4012- .22 4023- ,22 4042- .78

74C193-1.50 4013- .40 4024- .75 4046-2.25

4001- .22 4015- .95 4025- .22 4049- ,40,

4002- .22 4016- .40 4027- 40 4050- .40| 4006-1.20 4017-1.05 4028- -88 4055-1.5 4007- 22 4018-100 4029-1,10 4066- ,84009- ,42 4019- .25 4030- ,22 4071- ,27 -1010- .42 4020-1,05 4033-1.50 4076-1,05 •1011- .22 4022- .95 4035-1.10

r: -iM:i

MCA lil OPI

I r SVMTCH SI 50

LED READOUTS

FND359C.C. A- S .50 DL704-.3" C.C. $ .95

FND70C.C. .4" S -55 MAN-7-.3" C.A. $ .95

FND503C.C, .5" S 85 NS 33-3 clitj. array $ .75

_ s: FOB Cambridge, Mass. Send 25i

Send Check or Money Order. T^ai

.Minimum ,^r ,,

7WATTLD 65 LASER DIODE IR $a95

2N 3820 P FET .... 2N G457 N FET , . 2N2646. .

ER 900 TRIGGER DIODES 2N 6028 PROG. UJT

S .45

. SI OC

S 65

CCD202-100X 100 ctiarcit! coupled deviCR

imatio s(?nsor S145.00

MCM6571A 7x9 upper & lower case churacierijnnijraior $15,95

VERIPAX PC BOARD

This lH)ii'ii IS it 1 '16" sinqle snleil paper t'pDxy boiifd, 4'yx6'.-'' DRILLED ,inil ETCHED which will hold up tc 21 siiujio 14 pin IC's or 8, 16. or LSI DIP IC's wiih IJUSSOS (01 power supply connecior. . . . $4 00

MV5691 YELLOVV-GREEN

BIPOLAR LED S ,90

FP 100 PHOTO TRAi-JS S .50

RED, YELLOW, GREEN or AMBER

LARGE LED's 6/$1.00

lL-5 (MCT-2) $ ,76

MOLEX PINS lOO/Sl.OO

1000/58,00 10 WATT ZENERS 3.9, 4,7, 5,6, 8.2,

12.15,18,22,100.150 or 200V . e,i. S .60 1 WATT ZENERS 4.7. 5.6.10, 12. 15

18 or 22V ea. S .25

MC6860 MODEM CHIP S9.95

PR\^ 3A__ UA

100 .06 J4 3D ,80 3 /O

200 ^07 ^20 .35 1.15 ^4.25

400 !09 .25_ _b6 1.40 6.50

600" .1 r ^ .30 70 ' 'l .80_ " 8.50

800 ,15 .35 90 2.30 10.50

1000 20 .45 1 10 2 75 12.50

SILICON SOLAR CELLS

2Vi" diameter .4Vat 500ma. $4,00

309K $ .95 340K-5,12.15

723 S .50 or 24V. . . . .S .85

LM 376 .... S .60 340T-5, 6. 8. 12

320K-5orl5V Sl.40 1 5.18 or 24VS1.10

320T-5, 15 78 MG Sl.35

or 24V . . $ .85 79 MG $1.35

RS232 DB 25P male $2.95

CONNECTORS DB 25S romale $3,50

S icon Power Rectifiers

22UF 35V 5'Sl 00

47UF 35V 5 SI 00

68UF 35V 5 SI 00

lUF 35V b SI 00

2 2UF ,J0V5 SI 00

3 3UF 35V 4 SI 00 4.7UF 15V 5/S1.QQ 5 8UF JSV 4-SI 00

lOUF lOV S .25

23UF 25V S 40

15UF 35V 3;S1.00

30UF 6V 5;S1.00

i?.ijy '.b\' S -10

47UK 20V S ,35

68 UF 15V S .50

■.wool ALARM CLOCK t>

NATIONAL MOS DEVICES

MM1402 MM 1403 MM1404 MIVI5013 MM5016-MM50t7 MM 50 55 MM 5056

2.25

MM5057 2.35 MM5053- 2,75 ■V)M50G0- 2,75 MM5061- 2,50 MM5555- 4,75 MM5556- 4,75 MM5210 - 1 95 MM52G0 1 75

74007401740274037404 74057406740774087^09741074 n 741274137414741574177420742574267427743074327437743874407441 7442

TTLIC

74457446744 774487450747274 7374 7474 7574 76 74807483748574867489 749074917492749374947495 74967410774121 7412371125 74 1 26 74150

SERIES

74151

74153

74154

74155

74157

74161

74163

74164

74165

74173

741 74

74.1 75

74 i 76

74177

74180

74181

74190

74 5 91

74 192

74193

74194

74195

74196

74257

74279

75324

754Ui

75492

,65

1.85 ,42 .58

.95 1.20 .95

1,00 1.00

.52 .86

1.25 .87

MINIATURE DIP

CTS 200 4 r-our SPST

in tine inimdtp p.ii:k

CTS 2UG-8 Ei,|hi SPST pin DIP packa.ie

SWITCHES

will-lies

11)0. SI.75

5witLhns in .1 10

£2.20

5-SV SPST Ml, open. 330 Ohn

.sijn.;e. S,75. 3/S2-00

^LCU MINIATURE TOGGLE SWITCHES MTA 106 SPDT SI .20

SOLID STATE SALES

P.O. BOX 74B

SOMERVILLE, MASS. 02143 TEL. (617) 547-4005

100

1,30

200 .75

1,35 2.00

400 95

1.50 3.00

600 1.20

1.75 4 00

Si 1010 G 10 WATTS, Si 1020 G 20 WATTS, Sr 1050 G 50 WATTS,

POWER AMPS

. . . . S 7.95

S15.95

. . S27 9b

PRV

1 A .40 .70

1.10 1.70

JIOA .70 1.10

1.60 2.30

25A

1.5A .40 .60

6A 35A

100

1.30 1.75

-50 1 20

300

.70 1.60

400 600

2.60 3.00

1,00

1.20 2-30 1.50 3.00

WE SHIP OVER 95%

OF OUR ORDERS THE

DAY WE RECEIVE THEM

Cii'cle 134 on inquiry card.

BYTE NDvemlier 1977

255

fieadep Service

Inquiry No.

Page No.

1 AAA Chicago Computer Center 189

2 Alpha Digital 198

3 Anderson Jacobson 23

4 Apple Computer 34, 35, 36

14 Arrow 219

5 Atwood Enterprises 225

6 AVR Electronics 219

7 AVATAR Systems 221

8 Axiom 7

9 Beckian Enterprises 222

10 Bell & Howell Schools 13

11 Beta Business Systems 189

12 BITS 142-144, 153, 159, 161, 163, 178

15 BPI 109

16 Byte Inc 157

* BYTE Binders 205

18 Byte Shop Mail Order 141

19 Byte Shop of Miami 221

20 BYTE Subscription 187

21 California Industrial 231

22 Canada Systems 208

23 CMC Marketing 57

24 Computalker 203

25 Computer Corner 219

26 Computer Creations 218

27 Computer Data Systems 21

28 Computer Depot 189

29 Computer Enterprises 219

30 Computerland 30, 31

31 Computerland, Lawndale 221

33 Computer Mart of NH 189

34 Computer Mart of NJ 207

35 The Computer Place 219

36 Computer Room 169

37 Computer Systems Store 221

38 Computer Warehouse 233

39 Creative Computing 183

40 Cromemco 1,2

42 DaJen 214

43 Databyte125

44 Data Search 203

45 Digital Group 97

46 Digital Micro Systems 92

47 Dilithium Press 201

Inquiry No. Page No.

48

Disc 3 221

50

DRC Engineering 235

51

Dynabyte 99

52

EDP Professionals 189

53

Electravalue Industrial 218

54

Electro Labs 227

55

Electronic Control Technology 212

56

Electronic Warehouse 237

57

Essex Data 189

163

Expandor 202

58

Extensys 93, 165

59

Formula International 223

61

Godbout 239

62

Hambrecht & Quist 197

63

Heath 24, 25

64

Homestead Technologies 219

65

Heuristics 87

66

IMMM78 135

67

IMSAI 48,49

68

Information Terminals 5

69

Integral Data Systems 145

70

Integrated Circuits Unlimited 241

71

Intel 11

72

Intelligent Business Machines 221

73

Interdata Systems 29

74

Interface Age 193

75

International Data Systems 191

76

lOR 189

77

Ithaca Audio 201

78

Jade 243

79

James Electronics 245, 247, CI II

60

Jem 213

80

Lear Siegler 55

81

Logical Services 155

13

Manchester Equipment 218

82

MCBA47

83

Meshna 249

84

Micro Aids 217

85

Micro Com 219

86

Micro Design 210

87

Micronics 207

88

Micro Tech 113

89

Micro Term 70

90

Microtex Inc 221

91

Microware 148

92

MSI 133

93

Mikos 228

94

Mini Micro Mart 229

96

Modicon 208

97

Morrow's Micro Stuff 251

98

Morrow, William & Co, Inc 1 56

Inquiry No.

Page No.

(<Y I [ ';^ (itifoidf Mtailcp Eltix

On BOMB Card, Article No.

August J977 BOMB results appear on page 38.

ARTICLE

1 Ciarcia: Memory Mapped lO

2 S P Smith: Simulation of Motion, Part 1

3 Piele: A Minicomputer Fair: Tiny and Personal

4 M F Smith: Using Interrupts for Real Time Clocks

5 McCain: Spikes: Pesky Voltage Transients

6 Grappel: Does Anybody Know What Time It Is?

7 Sneed: Adding an Interrupt Driven Real Time Clock

8 Hashizume: Floating Point Arithmetic

9 Jones: Building a Computer From Scratch

10 Brader: A 6502 Personal System Design: Kompuutar

11 Lynne: Implementing an LSI Frequency Counter

12 Wozniak: SWEET16; The 6502 Dream Machine

13 TroMope: Do You Need the Real Time?

14 Doliner: NIMBLE: The Ultimate NIM?

PAGE

10 18 26 50

54

68

72

76

80

94

146

150

166

172

99 mpi213

100 MSD Inc 107

101 Mullen 196

102 National Multiplex 101

103 Netronics Research 211

104 Newman Computer Exchange 140

105 North Star Computer 61, 67

106 Objective Design Inc 215

* Ohio Scientific Instrument 39-45

108 Oliver Audio Engineering 66

109 Osborne & Associates 75

110 PAIA139

111 Page Digital 225

112 Parasitic 15

* Percom Data 32, 204

114 Peripheral Vision 129

115 Phone I 189

* Polymorphic 27

117 Processor Technology 62-65

119 Quantronics 17

120 Radio Shack CIV

122 RHS Marketing 105

123 Rotundra Cybernetics 219

118 S-100lnc103

124 Sceibi 51, 117

* Scientific Research 115, 131

126 SD Sales 253

127 Seals 71

128 Smoke Signal Broadcasting 123

129 Software Exchange 210

130 Software Records 209

131 The Software Store 217

132 Software Tech 202 ,133 Solid State Music 19

134 Solid State Sales 255

135 Solid State Time 158

136 SwTPCCII

137 Space Byte 79

138 Summagraphics 195

139 Sunny Computer Stores 219

140 Sybex170, 179

141 Synchro Sound 58, 59

142 Szerlip215

143 Tarbell 209

144 Tech Mart 81

145 Technical Design Labs 33

146 Technical Systems Consultants 89

147 Tech Prize 200 23 TEI 57

149 Telesensory Systems 192

1 50 Tenberg Software Systems 221

151 Terminal Systems 214

152 Texas Instruments 8, 9

153 Toyo International 221

49 Typetronic Computer Store 197

154 Urban Instruments 224

155 Vandenberg Data Products 196 1 56 Vector Electronics 138

157 Vector Graphic 120,121

1 58 Vectron 139

1 59 West Coast Com outer Faire 1 75

160 Worldwide 21 2

161 Ximedia171

162 Xybek200

To yd further information on the products, udvcrtised in BYTI., fill out the reader service card with your nunw and address. Then circle the appropriate numbers for rhe odvertisers you select from this list. Add a 9 cent stamp lo the card, ihen drop it in the mail. Nui only do you gain information, but our advertisers are encouraged lo use the marfietplace provided by BYTT. This helps us bring you a bigger BYTl^.

'Reader Service inquiries not solicited. Correspond directly

with f ompany.

256

BYTE November 1977

Announcing

^

m.

electronic components

One-Siop Component Center

*Over 200 quality items including integrated circuits, resistors, diodes, transistors, capacitors, connectors, switches, socicets, LEDs and Data Books

^jBovering all JIM-PAK® items.

* Immediate delivery on all orders

* Store display racks available

•Stock rotation and return policy

* Direct mail program available from list of active electronic buyers in dealers' area.

* National advertising campaign in leading electronics magazines to include list of qualifying dealers

* Nationally known manu■* facturers'products at prices

every dealer can afford

* Guaranteed products

* Standard industry part

J

Inn^pak

Esassssa

Component Center

.---^"Cj

.li^q

A ^

litlittu

numbers

A component line of proven sellers developed for the independent dealer. Ideal for computer shops, school stores, electronic dealers, hobby shops, or any location where there is a potential market for electronic sales.

A product line which supplies most of your needs from one distributor with a reputation for fast and efficient service. Attractive and compact display racks make initial installation of the JIM-PAK® line easy.

Your customers deserve the best. Now you can profitably retail name brand components at competitive prices. Be the first in your area to announce and sell the JIMPAK® line. Write or call today.

Btecfrorec component |

® FOR MORE INFORMATION AND PRICING SCHEDULE CONTACT:

, a division of James Electronics, 1021 Howard Avenue, San Carlos, California 94070, (415) 592-8097

Circle 79 on inquiry card.

The first complete, lovir-cost microcomputer system for business, home or education

Radio Shack TRS-80

Includes

CPU,

memory,

keyboard,

display,

power

supply,

cassette

recorder

The computer that helps a small business think big — and grow bigger. The TRS-80 can greatly reduce the time you spend on payroll, accounting, inventory control and other clerical tasks. So you have more time for clients or customers. You don't have to be an expert in programming or electronics, because the TRS-80 is not a kit — it's wired, tested, U.L. listed, ready to use. The Z80-based system comes with 4K read/write memory and Radio Shack Level-I BASIC'-' stored in read-only memory Memory expandable to 62K bytes. With programming instructions and ready for an expanding selection of prepared programs on cassettes. Designed and built in the USA by Radio Shack. Just 599.95!

Clip and Mail Coupon Today!

Mali to: Radio Shack, Dept. TRS-80 <

205 N.W. 7th St., Ft. Worth, TX 76101 Send me more data on the TRS-80 microcomputer

• Description of applications, software and peripherals available through Radio Shack • Owners' newsletter

• Price list • List of stocking stores and dealers

NAME APT. NO

ADDRESS CITY

. STATE ^

.ZIP.

SOLD ONLY WHERE YOU SEE THIS SIGN:

Radio /haeK

A TANDY COMPANY • FORT WORTH, TEXAS 76102 OVER 6000 LOCATIONS IN NINE COUNTRIES

Circle 120 on inquiry card.

Price may vary at individual stores and dealers